From 9a18ca3e742ec1dbcc5e012d0deb585363b00bec Mon Sep 17 00:00:00 2001 From: Stone Filipczak Date: Wed, 10 Jul 2024 09:10:05 -0400 Subject: [PATCH 01/14] working sass with uswds installed --- .gitignore | 9 + .tool-versions | 1 + Gemfile | 5 + Gemfile.lock | 17 + Procfile.dev | 2 + app/assets/builds/.keep | 0 app/assets/config/manifest.js | 4 +- app/assets/stylesheets/application.sass.scss | 13 + app/controllers/sandbox_controller.rb | 4 + app/views/sandbox/index.html.erb | 304 + assets/css/styles.css | 4 + assets/css/styles.css.map | 1 + assets/stylesheets/styles.css | 5 + assets/stylesheets/styles.css.map | 1 + bin/dev | 11 + config/initializers/assets.rb | 7 +- config/routes.rb | 1 + gulpfile.js | 29 + package-lock.json | 5981 ++++++++++++++++++ package.json | 23 + sass/uswds/_uswds-theme-custom-styles.scss | 23 + sass/uswds/_uswds-theme.scss | 15 + sass/uswds/styles.scss | 10 + yarn.lock | 3239 ++++++++++ 24 files changed, 9707 insertions(+), 2 deletions(-) create mode 100644 .tool-versions create mode 100644 Procfile.dev create mode 100644 app/assets/builds/.keep create mode 100644 app/assets/stylesheets/application.sass.scss create mode 100644 app/controllers/sandbox_controller.rb create mode 100644 app/views/sandbox/index.html.erb create mode 100644 assets/css/styles.css create mode 100644 assets/css/styles.css.map create mode 100644 assets/stylesheets/styles.css create mode 100644 assets/stylesheets/styles.css.map create mode 100755 bin/dev create mode 100644 gulpfile.js create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 sass/uswds/_uswds-theme-custom-styles.scss create mode 100644 sass/uswds/_uswds-theme.scss create mode 100644 sass/uswds/styles.scss create mode 100644 yarn.lock diff --git a/.gitignore b/.gitignore index 74197ddc..76bd511d 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,12 @@ # Ignore master key for decrypting credentials and more. /config/master.key + +node_modules + +/app/assets/builds/* +!/app/assets/builds/.keep + +/node_modules + +/assets/uswds diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 00000000..f2a971aa --- /dev/null +++ b/.tool-versions @@ -0,0 +1 @@ +ruby 3.2.2 diff --git a/Gemfile b/Gemfile index e5e2fc56..7cccf492 100644 --- a/Gemfile +++ b/Gemfile @@ -65,3 +65,8 @@ group :test do gem "capybara" gem "selenium-webdriver" end + +gem "cssbundling-rails", "~> 1.4" + +# Use Sass to process CSS +gem "sassc-rails" diff --git a/Gemfile.lock b/Gemfile.lock index 38142e6c..4753c36a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -95,12 +95,17 @@ GEM concurrent-ruby (1.3.3) connection_pool (2.4.1) crass (1.0.6) + cssbundling-rails (1.4.0) + railties (>= 6.0.0) date (3.3.4) debug (1.9.2) irb (~> 1.10) reline (>= 0.3.8) drb (2.2.1) erubi (1.13.0) + ffi (1.17.0-aarch64-linux-gnu) + ffi (1.17.0-arm64-darwin) + ffi (1.17.0-x86_64-linux-gnu) globalid (1.2.1) activesupport (>= 6.1) i18n (1.14.5) @@ -198,6 +203,14 @@ GEM rexml (3.3.0) strscan rubyzip (2.3.2) + sassc (2.4.0) + ffi (~> 1.9) + sassc-rails (2.1.2) + railties (>= 4.0.0) + sassc (>= 2.0) + sprockets (> 3.0) + sprockets-rails + tilt selenium-webdriver (4.21.1) base64 (~> 0.2) rexml (~> 3.2, >= 3.2.5) @@ -218,6 +231,7 @@ GEM stringio (3.1.1) strscan (3.1.0) thor (1.3.1) + tilt (2.3.0) timeout (0.4.1) turbo-rails (2.0.5) actionpack (>= 6.0.0) @@ -241,17 +255,20 @@ GEM PLATFORMS aarch64-linux + arm64-darwin-21 arm64-darwin-22 x86_64-linux DEPENDENCIES bootsnap capybara + cssbundling-rails (~> 1.4) debug importmap-rails jbuilder puma (>= 5.0) rails (~> 7.1.3, >= 7.1.3.4) + sassc-rails selenium-webdriver sprockets-rails sqlite3 (~> 1.4) diff --git a/Procfile.dev b/Procfile.dev new file mode 100644 index 00000000..34c16939 --- /dev/null +++ b/Procfile.dev @@ -0,0 +1,2 @@ +web: env RUBY_DEBUG_OPEN=true bin/rails server +css: yarn build:css --watch diff --git a/app/assets/builds/.keep b/app/assets/builds/.keep new file mode 100644 index 00000000..e69de29b diff --git a/app/assets/config/manifest.js b/app/assets/config/manifest.js index 59181933..f52343f7 100644 --- a/app/assets/config/manifest.js +++ b/app/assets/config/manifest.js @@ -1,2 +1,4 @@ //= link_tree ../images -//= link_directory ../stylesheets .css +//= link_tree ../builds +//= link application.sass.scss +//= link application.css diff --git a/app/assets/stylesheets/application.sass.scss b/app/assets/stylesheets/application.sass.scss new file mode 100644 index 00000000..77fbda41 --- /dev/null +++ b/app/assets/stylesheets/application.sass.scss @@ -0,0 +1,13 @@ +// @use "uswds-core" as *; + +// Entry point for your Sass build +// 1. Load your project's USWDS settings configuration +@forward "../sass/uswds/_uswds-theme.scss"; + + +// // 2. Load USWDS source code +@forward "/node_modules/@uswds/uswds/packages/uswds/_index.scss"; + +body { + background-color: green; +} \ No newline at end of file diff --git a/app/controllers/sandbox_controller.rb b/app/controllers/sandbox_controller.rb new file mode 100644 index 00000000..73648b60 --- /dev/null +++ b/app/controllers/sandbox_controller.rb @@ -0,0 +1,4 @@ +class SandboxController < ApplicationController + def index + end +end \ No newline at end of file diff --git a/app/views/sandbox/index.html.erb b/app/views/sandbox/index.html.erb new file mode 100644 index 00000000..c5462e91 --- /dev/null +++ b/app/views/sandbox/index.html.erb @@ -0,0 +1,304 @@ +

Borderless

+
+

+ +

+
+

+ Congress shall make no law respecting an establishment of religion, or + prohibiting the free exercise thereof; or abridging the freedom of speech, + or of the press; or the right of the people peaceably to assemble, and to + petition the Government for a redress of grievances. +

+
+

+ +

+
+

+ A well regulated Militia, being necessary to the security of a free State, + the right of the people to keep and bear Arms, shall not be infringed. +

+
    +
  • This is a list item
  • +
  • Another list item
  • +
+
+

+ +

+
+

+ No Soldier shall, in time of peace be quartered in any house, without the + consent of the Owner, nor in time of war, but in a manner to be prescribed + by law. +

+
+

+ +

+
+

+ The right of the people to be secure in their persons, houses, papers, and + effects, against unreasonable searches and seizures, shall not be + violated, and no Warrants shall issue, but upon probable cause, supported + by Oath or affirmation, and particularly describing the place to be + searched, and the persons or things to be seized. +

+
+

+ +

+
+

+ No person shall be held to answer for a capital, or otherwise infamous + crime, unless on a presentment or indictment of a Grand Jury, except in + cases arising in the land or naval forces, or in the Militia, when in + actual service in time of War or public danger; nor shall any person be + subject for the same offence to be twice put in jeopardy of life or limb; + nor shall be compelled in any criminal case to be a witness against + himself, nor be deprived of life, liberty, or property, without due + process of law; nor shall private property be taken for public use, + without just compensation. +

+
+
+ +

Bordered

+ +
+

+ +

+
+

+ Congress shall make no law respecting an establishment of religion, or + prohibiting the free exercise thereof; or abridging the freedom of speech, + or of the press; or the right of the people peaceably to assemble, and to + petition the Government for a redress of grievances. +

+
+

+ +

+
+

+ A well regulated Militia, being necessary to the security of a free State, + the right of the people to keep and bear Arms, shall not be infringed. +

+
    +
  • This is a list item
  • +
  • Another list item
  • +
+
+

+ +

+
+

+ No Soldier shall, in time of peace be quartered in any house, without the + consent of the Owner, nor in time of war, but in a manner to be prescribed + by law. +

+
+

+ +

+
+

+ The right of the people to be secure in their persons, houses, papers, and + effects, against unreasonable searches and seizures, shall not be + violated, and no Warrants shall issue, but upon probable cause, supported + by Oath or affirmation, and particularly describing the place to be + searched, and the persons or things to be seized. +

+
+

+ +

+
+

+ No person shall be held to answer for a capital, or otherwise infamous + crime, unless on a presentment or indictment of a Grand Jury, except in + cases arising in the land or naval forces, or in the Militia, when in + actual service in time of War or public danger; nor shall any person be + subject for the same offence to be twice put in jeopardy of life or limb; + nor shall be compelled in any criminal case to be a witness against + himself, nor be deprived of life, liberty, or property, without due + process of law; nor shall private property be taken for public use, + without just compensation. +

+
+
+ +

Multiselectable

+ +
+

+ +

+
+

+ Congress shall make no law respecting an establishment of religion, or + prohibiting the free exercise thereof; or abridging the freedom of speech, + or of the press; or the right of the people peaceably to assemble, and to + petition the Government for a redress of grievances. +

+
+

+ +

+
+

+ A well regulated Militia, being necessary to the security of a free State, + the right of the people to keep and bear Arms, shall not be infringed. +

+
    +
  • This is a list item
  • +
  • Another list item
  • +
+
+

+ +

+
+

+ No Soldier shall, in time of peace be quartered in any house, without the + consent of the Owner, nor in time of war, but in a manner to be prescribed + by law. +

+
+

+ +

+
+

+ The right of the people to be secure in their persons, houses, papers, and + effects, against unreasonable searches and seizures, shall not be + violated, and no Warrants shall issue, but upon probable cause, supported + by Oath or affirmation, and particularly describing the place to be + searched, and the persons or things to be seized. +

+
+

+ +

+
+

+ No person shall be held to answer for a capital, or otherwise infamous + crime, unless on a presentment or indictment of a Grand Jury, except in + cases arising in the land or naval forces, or in the Militia, when in + actual service in time of War or public danger; nor shall any person be + subject for the same offence to be twice put in jeopardy of life or limb; + nor shall be compelled in any criminal case to be a witness against + himself, nor be deprived of life, liberty, or property, without due + process of law; nor shall private property be taken for public use, + without just compensation. +

+
+
\ No newline at end of file diff --git a/assets/css/styles.css b/assets/css/styles.css new file mode 100644 index 00000000..9d8b6428 --- /dev/null +++ b/assets/css/styles.css @@ -0,0 +1,4 @@ +/*! based on uswds v3.8.1 */ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ +@keyframes slidein-left{0%{transform:translateX(15rem)}to{transform:translateX(0)}}html{line-height:1.15;-webkit-text-size-adjust:100%;box-sizing:border-box;font-feature-settings:"kern"1;font-kerning:normal;font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:100%}body{margin:0;color:#1b1b1b;background-color:#fff;overflow-x:hidden}details,main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none;max-width:100%}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{color:inherit;display:table;max-width:100%;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio],legend{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}.usa-prose>.width-mobile .usa-table--stacked thead,.usa-prose>.width-mobile .usa-table--stacked-header thead,[hidden],template{display:none}.usa-checkbox__label,.usa-combo-box__input,.usa-combo-box__list,.usa-fieldset,.usa-hint,.usa-input,.usa-input-group,.usa-radio__label,.usa-range,.usa-select,.usa-textarea{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.3}.usa-range,.usa-textarea{border-radius:0;color:#1b1b1b;display:block;margin-top:.5rem;max-width:30rem;padding:.5rem}.usa-textarea{border-width:1px;border-color:#565c65;border-style:solid;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%}.usa-range{height:2.5rem}.usa-input-group{-webkit-appearance:none;-moz-appearance:none;appearance:none}.usa-combo-box__input,.usa-input,.usa-input-group,.usa-select{border-width:1px;border-color:#565c65;border-style:solid;border-radius:0;color:#1b1b1b;display:block;height:2.5rem;margin-top:.5rem;max-width:30rem;padding:.5rem;width:100%}.usa-input{-webkit-appearance:none;-moz-appearance:none;appearance:none}@font-face{font-family:"Roboto Mono Web";font-style:normal;font-weight:300;font-display:fallback;src:url(../fonts/roboto-mono/roboto-mono-v5-latin-300.woff2)format("woff2")}@font-face{font-family:"Roboto Mono Web";font-style:normal;font-weight:400;font-display:fallback;src:url(../fonts/roboto-mono/roboto-mono-v5-latin-regular.woff2)format("woff2")}@font-face{font-family:"Roboto Mono Web";font-style:normal;font-weight:700;font-display:fallback;src:url(../fonts/roboto-mono/roboto-mono-v5-latin-700.woff2)format("woff2")}@font-face{font-family:"Roboto Mono Web";font-style:italic;font-weight:300;font-display:fallback;src:url(../fonts/roboto-mono/roboto-mono-v5-latin-300italic.woff2)format("woff2")}@font-face{font-family:"Roboto Mono Web";font-style:italic;font-weight:400;font-display:fallback;src:url(../fonts/roboto-mono/roboto-mono-v5-latin-italic.woff2)format("woff2")}@font-face{font-family:"Roboto Mono Web";font-style:italic;font-weight:700;font-display:fallback;src:url(../fonts/roboto-mono/roboto-mono-v5-latin-700italic.woff2)format("woff2")}@font-face{font-family:"Source Sans Pro Web";font-style:normal;font-weight:300;font-display:fallback;src:url(../fonts/source-sans-pro/sourcesanspro-light-webfont.woff2)format("woff2")}@font-face{font-family:"Source Sans Pro Web";font-style:normal;font-weight:400;font-display:fallback;src:url(../fonts/source-sans-pro/sourcesanspro-regular-webfont.woff2)format("woff2")}@font-face{font-family:"Source Sans Pro Web";font-style:normal;font-weight:700;font-display:fallback;src:url(../fonts/source-sans-pro/sourcesanspro-bold-webfont.woff2)format("woff2")}@font-face{font-family:"Source Sans Pro Web";font-style:italic;font-weight:300;font-display:fallback;src:url(../fonts/source-sans-pro/sourcesanspro-lightitalic-webfont.woff2)format("woff2")}@font-face{font-family:"Source Sans Pro Web";font-style:italic;font-weight:400;font-display:fallback;src:url(../fonts/source-sans-pro/sourcesanspro-italic-webfont.woff2)format("woff2")}@font-face{font-family:"Source Sans Pro Web";font-style:italic;font-weight:700;font-display:fallback;src:url(../fonts/source-sans-pro/sourcesanspro-bolditalic-webfont.woff2)format("woff2")}@font-face{font-family:"Merriweather Web";font-style:normal;font-weight:300;font-display:fallback;src:url(../fonts/merriweather/Latin-Merriweather-Light.woff2)format("woff2")}@font-face{font-family:"Merriweather Web";font-style:normal;font-weight:400;font-display:fallback;src:url(../fonts/merriweather/Latin-Merriweather-Regular.woff2)format("woff2")}@font-face{font-family:"Merriweather Web";font-style:normal;font-weight:700;font-display:fallback;src:url(../fonts/merriweather/Latin-Merriweather-Bold.woff2)format("woff2")}@font-face{font-family:"Merriweather Web";font-style:italic;font-weight:300;font-display:fallback;src:url(../fonts/merriweather/Latin-Merriweather-LightItalic.woff2)format("woff2")}@font-face{font-family:"Merriweather Web";font-style:italic;font-weight:400;font-display:fallback;src:url(../fonts/merriweather/Latin-Merriweather-Italic.woff2)format("woff2")}@font-face{font-family:"Merriweather Web";font-style:italic;font-weight:700;font-display:fallback;src:url(../fonts/merriweather/Latin-Merriweather-BoldItalic.woff2)format("woff2")}button:not([disabled]):focus,input:not([disabled]):focus,select:not([disabled]):focus,textarea:not([disabled]):focus{outline:.25rem solid #2491ff;outline-offset:0}[contentEditable=true]:focus,[href]:focus,[tabindex]:focus,iframe:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-media-link{display:inline-block;line-height:0}*,::after,::before{box-sizing:inherit}address,cite,dfn,var{font-style:normal}.usa-focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-sr-only{position:absolute;left:-999em;right:auto}.usa-content ol:not(.usa-accordion):not(.usa-accordion--bordered),.usa-content p,.usa-content ul:not(.usa-accordion):not(.usa-accordion--bordered){max-width:68ex}.usa-dark-background{background-color:#3d4551}.usa-dark-background p,.usa-dark-background span{color:#fff}.usa-dark-background a,.usa-dark-background a:visited{color:#dfe1e2}.usa-dark-background a:active,.usa-dark-background a:hover{color:#f0f0f0}.usa-display{margin-top:0;clear:both;font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.34rem;line-height:1.2;font-weight:700;margin-bottom:0}*+.usa-display{margin-top:1.5em}.usa-display+*{margin-top:1em}@media all and (min-width:30em){.usa-display{margin-bottom:0;margin-top:0;clear:both;font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.44rem;line-height:1.2;font-weight:700}*+.usa-display{margin-top:1.5em}.usa-display+*{margin-top:1em}}@media all and (min-width:40em){.usa-display{margin-bottom:0;margin-top:0;clear:both;font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.93rem;line-height:1.2;font-weight:700}*+.usa-display{margin-top:1.5em}.usa-display+*{margin-top:1em}}.usa-intro{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.34rem;line-height:1.8;font-weight:400;max-width:88ex}.usa-icon{display:inline-block;fill:currentColor;height:1em;position:relative;width:1em}.usa-icon--size-3{height:1.5rem;width:1.5rem}.usa-icon--size-4{height:2rem;width:2rem}.usa-icon--size-5{height:2.5rem;width:2.5rem}.usa-icon--size-6{height:3rem;width:3rem}.usa-icon--size-7{height:3.5rem;width:3.5rem}.usa-icon--size-8{height:4rem;width:4rem}.usa-icon--size-9{height:4.5rem;width:4.5rem}.usa-footer__return-to-top a,.usa-footer__secondary-link a,.usa-link{color:#005ea2;text-decoration:underline}.usa-link:visited{color:#54278f}.usa-link:hover{color:#1a4480}.usa-link:active{color:#162e51}.usa-link:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-link--external,.usa-link--external.usa-link--alt{display:inline}.usa-link--external::before{position:absolute;left:-999em;right:auto;content:"External."}.usa-link--external.usa-link--alt[target=_blank]::before,.usa-link--external[target=_blank]::before{position:absolute;left:-999em;right:auto;content:"External, opens in a new tab."}.usa-link--external::after{background-image:url(../img/usa-icons/launch.svg);background-repeat:no-repeat;background-position:center center;background-size:1.75ex 1.75ex;height:1.75ex;width:1.75ex;content:"";display:inline;margin-top:.7ex;margin-left:2px;padding-left:1.75ex;vertical-align:middle}@supports ((-webkit-mask:url()) or (mask:url())){.usa-link--external::after{background:0 0;background-color:currentColor;-webkit-mask-image:url(../img/usa-icons/launch.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/launch.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1.75ex 1.75ex;mask-size:1.75ex 1.75ex}}.usa-link--external.usa-link--alt::before{position:absolute;left:-999em;right:auto;content:"External."}.usa-link--external.usa-link--alt::after{background-image:url(../img/usa-icons-bg/launch--white.svg);background-repeat:no-repeat;background-position:center center;background-size:1.75ex 1.75ex;height:1.75ex;width:1.75ex;content:"";display:inline;margin-top:.7ex;margin-left:2px;padding-left:1.75ex;vertical-align:middle}@supports ((-webkit-mask:url()) or (mask:url())){.usa-link--external.usa-link--alt::after{background:0 0;background-color:currentColor;-webkit-mask-image:url(../img/usa-icons/launch.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/launch.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1.75ex 1.75ex;mask-size:1.75ex 1.75ex}}.usa-list{margin-bottom:1em;margin-top:1em;line-height:1.5;padding-left:3ch}.usa-list li:last-child,.usa-list:last-child,.usa-prose>ol li:last-child,.usa-prose>ol:last-child,.usa-prose>ul li:last-child,.usa-prose>ul:last-child{margin-bottom:0}.usa-list ol,.usa-list ul,.usa-prose>ol ol,.usa-prose>ol ul,.usa-prose>ul ol,.usa-prose>ul ul{margin-top:.25em}.usa-list li,.usa-prose>ol li,.usa-prose>ul li{margin-bottom:.25em;max-width:68ex}.usa-list--unstyled,.usa-prose .usa-list--unstyled{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-accordion>li,.usa-breadcrumb__list>li,.usa-collection__item>li,.usa-collection__meta>li,.usa-icon-list>li,.usa-in-page-nav__list>li,.usa-language__submenu-list>li,.usa-language__submenu>li,.usa-list--unstyled>li,.usa-paragraph,.usa-prose .usa-collection__item>li,.usa-prose .usa-icon-list>li,.usa-prose .usa-list--unstyled>li{margin-bottom:0;max-width:unset}.usa-paragraph{line-height:1.5;max-width:68ex;margin-top:0}*+.usa-paragraph,.usa-paragraph+*{margin-top:1em}.usa-prose,.usa-prose>table,.usa-prose>table caption,.usa-table caption{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif}.usa-prose>ol,.usa-prose>ul{margin-bottom:1em;margin-top:1em;line-height:1.5;padding-left:3ch}.usa-prose>table,.usa-prose>table caption,.usa-table caption{text-align:left}.usa-prose,.usa-prose>table{font-size:1.06rem;line-height:1.5}.usa-prose>table{border-collapse:collapse;border-spacing:0;color:#1b1b1b;margin:1.25rem 0}.usa-prose>table thead th{background-clip:padding-box;font-weight:700;line-height:1.3}.usa-prose>table thead td,.usa-prose>table thead th{background-color:#dfe1e2;color:#1b1b1b}.usa-prose>table tbody th{text-align:left}.usa-prose>table td,.usa-prose>table th,.usa-table td,.usa-table th{background-color:#fff;border:1px solid #1b1b1b;font-weight:400;padding:.5rem 1rem}.usa-prose>table caption,.usa-table caption{font-size:1rem;font-weight:700;margin-bottom:.75rem}.usa-prose>table th[data-sortable]{padding-right:2.5rem;position:relative}.usa-prose>table th[data-sortable]::after{border-bottom-color:transparent;border-bottom-style:solid;border-bottom-width:1px;bottom:0;content:"";height:0;left:0;position:absolute;width:100%}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button{background-color:transparent;border:0;border-radius:0;box-shadow:none;font-weight:400;justify-content:normal;padding:0;height:2rem;width:2rem;background-position:center center;background-size:1.5rem;color:#71767a;cursor:pointer;display:inline-block;margin:0;position:absolute;right:.25rem;text-align:center;text-decoration:none;top:50%;transform:translate(0,-50%)}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:visited,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:visited{color:#54278f}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:hover{color:#1a4480}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:active{color:#162e51}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:focus,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--active,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--disabled,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:active,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled.usa-button--active,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled.usa-button--hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled.usa-focus,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:active,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:focus,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true].usa-focus,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:active,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--disabled,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled.usa-button--active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled.usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled.usa-focus,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:focus,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true].usa-focus,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:hover{background-color:transparent;box-shadow:none;text-decoration:underline}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--hover{color:#1a4480}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--active{color:#162e51}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:hover{color:#757575}@media (forced-colors:active){.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:hover{color:GrayText}}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button .usa-icon{height:1.5rem;width:1.5rem;vertical-align:middle}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon>g,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button .usa-icon>g,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon>g,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button .usa-icon>g{fill:transparent}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon>g.unsorted,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button .usa-icon>g.unsorted{fill:#1b1b1b}.usa-prose>.usa-table--borderless thead th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover .usa-icon>g.unsorted,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover .usa-icon>g.unsorted,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:hover .usa-icon>g.unsorted,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover .usa-icon>g.unsorted,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:hover .usa-icon>g.unsorted{fill:#000}.usa-prose>table th[data-sortable][aria-sort=ascending],.usa-prose>table th[data-sortable][aria-sort=descending]{background-color:#97d4ea}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button{background-color:transparent;border:0;border-radius:0;box-shadow:none;font-weight:400;justify-content:normal;padding:0;height:2rem;width:2rem;background-position:center center;background-size:1.5rem;color:#71767a;cursor:pointer;display:inline-block;margin:0;position:absolute;right:.25rem;text-align:center;text-decoration:none;top:50%;transform:translate(0,-50%)}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:visited{color:#54278f}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:hover{color:#1a4480}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:active{color:#162e51}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--active,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--disabled,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:active,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled.usa-button--active,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled.usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled.usa-focus,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:active,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:focus,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true].usa-focus,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:active,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:hover{background-color:transparent;box-shadow:none;text-decoration:underline}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--hover{color:#1a4480}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--active{color:#162e51}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:hover{color:#757575}@media (forced-colors:active){.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:hover{color:GrayText}}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button .usa-icon{height:1.5rem;width:1.5rem;vertical-align:middle}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button .usa-icon>g,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button .usa-icon>g,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button .usa-icon>g,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button .usa-icon>g{fill:transparent}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button .usa-icon>g.ascending,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button .usa-icon>g.descending{fill:#1b1b1b}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:visited{color:#54278f}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:hover{color:#1a4480}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:active{color:#162e51}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--active,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--disabled,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:active,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled.usa-button--active,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled.usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled.usa-focus,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:active,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:focus,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true].usa-focus,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:active,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:hover{background-color:transparent;box-shadow:none;text-decoration:underline}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--hover{color:#1a4480}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--active{color:#162e51}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:hover{color:#757575}@media (forced-colors:active){.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:hover{color:GrayText}}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button .usa-icon{height:1.5rem;width:1.5rem;vertical-align:middle}.usa-prose>table thead th[aria-sort]{background-color:#97d4ea;color:#1b1b1b}.usa-prose>table td[data-sort-active],.usa-prose>table th[data-sort-active]{background-color:#e1f3f8;color:#1b1b1b}.usa-prose>.usa-table--borderless thead th{background-color:#fff;border-top:0;color:#1b1b1b}.usa-prose>.usa-table--borderless thead th[aria-sort]{color:#1b1b1b}.usa-prose>.usa-table--borderless thead th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon>g.unsorted,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon>g.unsorted,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button .usa-icon>g.unsorted,.usa-table--borderless thead th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon>g.unsorted{fill:#1b1b1b}.usa-prose>.usa-table--borderless td,.usa-prose>.usa-table--borderless th,.usa-table--borderless td,.usa-table--borderless th{border-left:0;border-right:0}.usa-prose>.usa-table--compact td,.usa-prose>.usa-table--compact th,.usa-table--compact td,.usa-table--compact th{padding:.25rem .75rem}.usa-prose>.usa-table--striped tbody tr:nth-child(odd) td,.usa-prose>.usa-table--striped tbody tr:nth-child(odd) th,.usa-table--striped tbody tr:nth-child(odd) td,.usa-table--striped tbody tr:nth-child(odd) th{background-color:#f0f0f0;color:#1b1b1b}.usa-prose>.usa-table--striped tbody tr:nth-child(odd) td[data-sort-active],.usa-prose>.usa-table--striped tbody tr:nth-child(odd) th[data-sort-active]{background-color:#c3ebfa;color:#1b1b1b}@media all and (max-width:29.99em){.usa-prose>.usa-table--stacked thead,.usa-prose>.usa-table--stacked-header thead{display:none}.usa-prose>.usa-table--stacked td,.usa-prose>.usa-table--stacked th,.usa-prose>.usa-table--stacked-header td,.usa-prose>.usa-table--stacked-header th{border-bottom-width:0;display:block;width:100%}.usa-prose>.usa-table--stacked tr,.usa-prose>.usa-table--stacked-header tr{border-bottom:.25rem solid #1b1b1b;border-top-width:0;width:100%}.usa-prose>.usa-table--stacked tr td:first-child,.usa-prose>.usa-table--stacked tr th:first-child{border-top-width:0}.usa-prose>.usa-table--stacked tr:nth-child(odd) td,.usa-prose>.usa-table--stacked tr:nth-child(odd) th{background-color:inherit}.usa-prose>.usa-table--stacked tr:first-child td:first-child,.usa-prose>.usa-table--stacked tr:first-child th:first-child,.usa-prose>.usa-table--stacked-header tr:first-child td:first-child,.usa-prose>.usa-table--stacked-header tr:first-child th:first-child{border-top:.25rem solid #1b1b1b}.usa-prose>.usa-table--stacked td[data-label],.usa-prose>.usa-table--stacked th[data-label],.usa-prose>.usa-table--stacked-header td[data-label],.usa-prose>.usa-table--stacked-header th[data-label]{padding-bottom:.75rem}.usa-prose>.usa-table--stacked td[data-label]:before,.usa-prose>.usa-table--stacked th[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-.5rem -1rem 0;padding:.75rem 1rem .25rem}.usa-prose>.usa-table--stacked-header tr td:first-child,.usa-prose>.usa-table--stacked-header tr th:first-child{border-top-width:0}.usa-prose>.usa-table--stacked-header tr:nth-child(odd) td,.usa-prose>.usa-table--stacked-header tr:nth-child(odd) th{background-color:inherit}.usa-prose>.usa-table--stacked-header td[data-label]:before,.usa-prose>.usa-table--stacked-header th[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-.5rem -1rem 0;padding:.75rem 1rem .25rem}.usa-prose>.usa-table--stacked-header tr td:first-child,.usa-prose>.usa-table--stacked-header tr th:first-child{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.1;background-color:#dfe1e2;color:#1b1b1b;font-weight:700;padding:.75rem 1rem}.usa-prose>.usa-table--stacked-header tr td:first-child:before,.usa-prose>.usa-table--stacked-header tr th:first-child:before{display:none}}.usa-prose>.width-mobile .usa-table--stacked td,.usa-prose>.width-mobile .usa-table--stacked th,.usa-prose>.width-mobile .usa-table--stacked-header td,.usa-prose>.width-mobile .usa-table--stacked-header th{border-bottom-width:0;display:block;width:100%}.usa-prose>.width-mobile .usa-table--stacked tr,.usa-prose>.width-mobile .usa-table--stacked-header tr,.width-mobile .usa-table--stacked tr,.width-mobile .usa-table--stacked-header tr{border-bottom:.25rem solid #1b1b1b;border-top-width:0;width:100%}.usa-prose>.width-mobile .usa-table--stacked tr td:first-child,.usa-prose>.width-mobile .usa-table--stacked tr th:first-child{border-top-width:0}.usa-prose>.width-mobile .usa-table--stacked tr:nth-child(odd) td,.usa-prose>.width-mobile .usa-table--stacked tr:nth-child(odd) th{background-color:inherit}.usa-prose>.width-mobile .usa-table--stacked tr:first-child td:first-child,.usa-prose>.width-mobile .usa-table--stacked tr:first-child th:first-child,.usa-prose>.width-mobile .usa-table--stacked-header tr:first-child td:first-child,.usa-prose>.width-mobile .usa-table--stacked-header tr:first-child th:first-child{border-top:.25rem solid #1b1b1b}.usa-prose>.width-mobile .usa-table--stacked td[data-label],.usa-prose>.width-mobile .usa-table--stacked th[data-label],.usa-prose>.width-mobile .usa-table--stacked-header td[data-label],.usa-prose>.width-mobile .usa-table--stacked-header th[data-label]{padding-bottom:.75rem}.usa-prose>.width-mobile .usa-table--stacked td[data-label]:before,.usa-prose>.width-mobile .usa-table--stacked th[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-.5rem -1rem 0;padding:.75rem 1rem .25rem}.usa-prose>.width-mobile .usa-table--stacked-header tr td:first-child,.usa-prose>.width-mobile .usa-table--stacked-header tr th:first-child{border-top-width:0}.usa-prose>.width-mobile .usa-table--stacked-header tr:nth-child(odd) td,.usa-prose>.width-mobile .usa-table--stacked-header tr:nth-child(odd) th{background-color:inherit}.usa-prose>.width-mobile .usa-table--stacked-header td[data-label]:before,.usa-prose>.width-mobile .usa-table--stacked-header th[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-.5rem -1rem 0;padding:.75rem 1rem .25rem}.usa-prose>.width-mobile .usa-table--stacked-header tr td:first-child,.usa-prose>.width-mobile .usa-table--stacked-header tr th:first-child{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.1;background-color:#dfe1e2;color:#1b1b1b;font-weight:700;padding:.75rem 1rem}.usa-prose>.width-mobile .usa-table--stacked-header tr td:first-child:before,.usa-prose>.width-mobile .usa-table--stacked-header tr th:first-child:before{display:none}.usa-prose>.usa-table-container--scrollable{margin:1.25rem 0;overflow-y:hidden}.usa-prose>.usa-table-container--scrollable .usa-table{margin:0}.usa-prose>.usa-table-container--scrollable td{white-space:nowrap}.usa-prose>p{line-height:1.5;max-width:68ex}.usa-prose>h1,.usa-prose>h2,.usa-prose>h3,.usa-prose>h4,.usa-prose>h5,.usa-prose>h6{margin-bottom:0;margin-top:0;clear:both}.usa-prose>*+*{margin-top:1em;margin-bottom:0}.usa-prose>*+h1,.usa-prose>*+h2,.usa-prose>*+h3,.usa-prose>*+h4,.usa-prose>*+h5,.usa-prose>*+h6{margin-top:1.5em}.usa-prose>h1,.usa-prose>h2,.usa-prose>h3,.usa-prose>h4,.usa-prose>h5{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.44rem;line-height:1.2;font-weight:700}.usa-prose>h2,.usa-prose>h3,.usa-prose>h4,.usa-prose>h5{font-size:1.95rem}.usa-prose>h3,.usa-prose>h4,.usa-prose>h5{font-size:1.34rem}.usa-prose>h4,.usa-prose>h5{font-size:.98rem}.usa-prose>h5{font-size:.91rem}.usa-accordion,.usa-prose>h6{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif}.usa-prose>h6{font-size:.87rem;line-height:1.1;font-weight:400;letter-spacing:.025em;text-transform:uppercase}.usa-accordion{list-style-type:none;color:#1b1b1b;margin:0;padding:0;width:100%;font-size:1.06rem;line-height:1.5}.usa-accordion>ul li ul{list-style:disc}.usa-accordion>ul li ul>li>ul{list-style:circle}.usa-accordion>ul li ul>li>ul>li>ul{list-style:square}.usa-accordion+.usa-accordion,.usa-accordion+.usa-accordion--bordered{margin-top:.5rem}.usa-accordion--bordered .usa-accordion__content{border-bottom:.25rem solid #f0f0f0;border-left:.25rem solid #f0f0f0;border-right:.25rem solid #f0f0f0;padding-bottom:1rem}.usa-accordion--bordered .usa-accordion__heading{margin-bottom:0}.usa-accordion__heading,.usa-prose .usa-accordion__heading{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:.9;margin:0}.usa-accordion__heading:not(:first-child),.usa-prose .usa-accordion__heading:not(:first-child){margin-top:.5rem}.usa-accordion__content{color:#1b1b1b;background-color:#fff;margin-top:0;overflow:auto;padding:1rem 1.25rem calc(1rem - .25rem)}.usa-accordion__content>:first-child{margin-top:0}.usa-accordion__content>:last-child{margin-bottom:0}.usa-accordion__button{border:0;border-radius:0;box-shadow:none;justify-content:normal;text-align:left;padding:0;color:#1b1b1b;background-color:#f0f0f0;background-image:url(../img/usa-icons/remove.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat;background-position:right 1.25rem center;background-size:1.5rem;cursor:pointer;display:inline-block;font-weight:700;margin:0;padding:1rem 3.5rem 1rem 1.25rem;text-decoration:none;width:100%}.usa-accordion__button:visited{color:#54278f}.usa-accordion__button:active{color:#162e51}.usa-accordion__button:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-accordion__button.usa-button--active,.usa-accordion__button.usa-button--disabled,.usa-accordion__button.usa-button--hover,.usa-accordion__button:active,.usa-accordion__button:disabled,.usa-accordion__button:disabled.usa-button--active,.usa-accordion__button:disabled.usa-button--hover,.usa-accordion__button:disabled.usa-focus,.usa-accordion__button:disabled:active,.usa-accordion__button:disabled:focus,.usa-accordion__button:disabled:hover,.usa-accordion__button:hover,.usa-accordion__button[aria-disabled=true],.usa-accordion__button[aria-disabled=true].usa-button--active,.usa-accordion__button[aria-disabled=true].usa-button--hover,.usa-accordion__button[aria-disabled=true].usa-focus,.usa-accordion__button[aria-disabled=true]:active,.usa-accordion__button[aria-disabled=true]:focus,.usa-accordion__button[aria-disabled=true]:hover{background-color:transparent;box-shadow:none;text-decoration:underline}.usa-accordion__button.usa-button--hover{color:#1a4480}.usa-accordion__button.usa-button--active{color:#162e51}.usa-accordion__button:disabled,.usa-accordion__button:disabled:hover,.usa-accordion__button[aria-disabled=true],.usa-accordion__button[aria-disabled=true]:focus,.usa-accordion__button[aria-disabled=true]:hover{color:#757575}@media (forced-colors:active){.usa-accordion__button:disabled,.usa-accordion__button:disabled:hover,.usa-accordion__button[aria-disabled=true],.usa-accordion__button[aria-disabled=true]:focus,.usa-accordion__button[aria-disabled=true]:hover{color:GrayText}}.usa-accordion__button:hover{color:#1b1b1b;background-color:#dfe1e2;background-image:url(../img/usa-icons/remove.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat;text-decoration:none}@media (forced-colors:active){.usa-accordion__button{border:2px solid transparent;position:relative}.usa-accordion__button::before{background-image:url(../img/usa-icons/remove.svg);background-repeat:no-repeat;background-position:center center;background-size:1.5rem 1.5rem;display:inline-block;height:1.5rem;width:1.5rem;height:100%;position:absolute;right:1.25rem;top:0;content:""}@supports ((-webkit-mask:url()) or (mask:url())){.usa-accordion__button::before{background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/remove.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/remove.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1.5rem 1.5rem;mask-size:1.5rem 1.5rem}}}.usa-accordion__button[aria-expanded=false]{background-size:1.5rem}.usa-accordion__button[aria-expanded=false],.usa-accordion__button[aria-expanded=false]:hover{background-image:url(../img/usa-icons/add.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat}@media (forced-colors:active){.usa-accordion__button[aria-expanded=false]::before{background-image:url(../img/usa-icons/add.svg);background-repeat:no-repeat;background-position:center center;background-size:1.5rem 1.5rem;display:inline-block;height:1.5rem;width:1.5rem;height:100%;position:absolute;right:1.25rem;top:0}@supports ((-webkit-mask:url()) or (mask:url())){.usa-accordion__button[aria-expanded=false]::before{background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/add.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/add.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1.5rem 1.5rem;mask-size:1.5rem 1.5rem}}}.usa-alert{background-color:#f0f0f0;border-left:.5rem solid #a9aeb1;color:#1b1b1b}.usa-alert .usa-alert__body{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5;margin-left:auto;margin-right:auto;max-width:64rem;padding:1rem;position:relative}@media all and (min-width:64em){.usa-alert .usa-alert__body{padding-left:1.8333333333rem}}.usa-alert .usa-alert__text{margin-bottom:0;margin-top:0}.usa-alert .usa-alert__text:only-child{padding-bottom:0;padding-top:0}.usa-alert .usa-alert__heading{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.46rem;line-height:.9;margin-top:0;margin-bottom:.5rem}.usa-alert .usa-alert__body>.usa-list,.usa-alert>.usa-list{padding-left:2ch}.usa-alert .usa-alert__body>.usa-list:last-child,.usa-alert>.usa-list:last-child{margin-bottom:0}*+.usa-alert{margin-top:1rem}.usa-alert--success{background-color:#ecf3ec;border-left-color:#00a91c}.usa-alert--success .usa-alert__body{color:#1b1b1b;background-color:#ecf3ec;padding-left:2.9166666667rem}.usa-alert--success .usa-alert__body::before{background-image:url(../img/usa-icons/check_circle.svg);background-repeat:no-repeat;background-position:center center;background-size:2rem 2rem;height:2rem;width:2rem;content:"";display:block;left:.5rem;position:absolute;top:.75rem}@supports ((-webkit-mask:url()) or (mask:url())){.usa-alert--success .usa-alert__body::before{background:0 0;background-color:#1b1b1b;-webkit-mask-image:url(../img/usa-icons/check_circle.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/check_circle.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2rem 2rem;mask-size:2rem 2rem}}@media all and (min-width:64em){.usa-alert--success .usa-alert__body::before{left:1.5rem}.usa-alert--success .usa-alert__body{padding-left:4rem;padding-right:4rem}}.usa-alert--error .usa-alert__body .usa-link,.usa-alert--info .usa-alert__body .usa-link,.usa-alert--success .usa-alert__body .usa-link,.usa-alert--warning .usa-alert__body .usa-link{color:#005ea2}.usa-alert--success .usa-alert__body .usa-link:visited{color:#54278f}.usa-alert--success .usa-alert__body .usa-link:active,.usa-alert--success .usa-alert__body .usa-link:hover{color:#1a4480}.usa-alert--warning{background-color:#faf3d1;border-left-color:#ffbe2e}.usa-alert--warning .usa-alert__body{color:#1b1b1b;background-color:#faf3d1;padding-left:2.9166666667rem}.usa-alert--warning .usa-alert__body::before{background-image:url(../img/usa-icons/warning.svg);background-repeat:no-repeat;background-position:center center;background-size:2rem 2rem;height:2rem;width:2rem;content:"";display:block;left:.5rem;position:absolute;top:.75rem}@supports ((-webkit-mask:url()) or (mask:url())){.usa-alert--warning .usa-alert__body::before{background:0 0;background-color:#1b1b1b;-webkit-mask-image:url(../img/usa-icons/warning.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/warning.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2rem 2rem;mask-size:2rem 2rem}}@media all and (min-width:64em){.usa-alert--warning .usa-alert__body::before{left:1.5rem}.usa-alert--warning .usa-alert__body{padding-left:4rem;padding-right:4rem}}.usa-alert--warning .usa-alert__body .usa-link:visited{color:#54278f}.usa-alert--warning .usa-alert__body .usa-link:active,.usa-alert--warning .usa-alert__body .usa-link:hover{color:#1a4480}.usa-alert--error{background-color:#f4e3db;border-left-color:#d54309}.usa-alert--error .usa-alert__body{color:#1b1b1b;background-color:#f4e3db;padding-left:2.9166666667rem}.usa-alert--error .usa-alert__body::before{background-image:url(../img/usa-icons/error.svg);background-repeat:no-repeat;background-position:center center;background-size:2rem 2rem;height:2rem;width:2rem;content:"";display:block;left:.5rem;position:absolute;top:.75rem}@supports ((-webkit-mask:url()) or (mask:url())){.usa-alert--error .usa-alert__body::before{background:0 0;background-color:#1b1b1b;-webkit-mask-image:url(../img/usa-icons/error.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/error.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2rem 2rem;mask-size:2rem 2rem}}@media all and (min-width:64em){.usa-alert--error .usa-alert__body::before{left:1.5rem}.usa-alert--error .usa-alert__body{padding-left:4rem;padding-right:4rem}}.usa-alert--error .usa-alert__body .usa-link:visited{color:#54278f}.usa-alert--error .usa-alert__body .usa-link:active,.usa-alert--error .usa-alert__body .usa-link:hover{color:#1a4480}.usa-alert--info{background-color:#e7f6f8;border-left-color:#00bde3}.usa-alert--info .usa-alert__body{color:#1b1b1b;background-color:#e7f6f8;padding-left:2.9166666667rem}.usa-alert--info .usa-alert__body::before{background-image:url(../img/usa-icons/info.svg);background-repeat:no-repeat;background-position:center center;background-size:2rem 2rem;height:2rem;width:2rem;content:"";display:block;left:.5rem;position:absolute;top:.75rem}@supports ((-webkit-mask:url()) or (mask:url())){.usa-alert--info .usa-alert__body::before{background:0 0;background-color:#1b1b1b;-webkit-mask-image:url(../img/usa-icons/info.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/info.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2rem 2rem;mask-size:2rem 2rem}}@media all and (min-width:64em){.usa-alert--info .usa-alert__body::before{left:1.5rem}.usa-alert--info .usa-alert__body{padding-left:4rem;padding-right:4rem}}.usa-alert--info .usa-alert__body .usa-link:visited{color:#54278f}.usa-alert--info .usa-alert__body .usa-link:active,.usa-alert--info .usa-alert__body .usa-link:hover{color:#1a4480}.usa-alert--emergency{background-color:#9c3d10;border-left-color:#9c3d10}.usa-alert--emergency .usa-alert__body{color:#fff;background-color:#9c3d10;padding-left:2.9166666667rem}.usa-alert--emergency .usa-alert__body::before{background-image:url(../img/usa-icons-bg/error--white.svg);background-repeat:no-repeat;background-position:center center;background-size:2rem 2rem;height:2rem;width:2rem;content:"";display:block;left:.5rem;position:absolute;top:.75rem}@supports ((-webkit-mask:url()) or (mask:url())){.usa-alert--emergency .usa-alert__body::before{background:0 0;background-color:#fff;-webkit-mask-image:url(../img/usa-icons/error.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/error.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2rem 2rem;mask-size:2rem 2rem}}@media all and (min-width:64em){.usa-alert--emergency .usa-alert__body::before{left:1.5rem}.usa-alert--emergency .usa-alert__body{padding-left:4rem;padding-right:4rem}}.usa-alert--emergency .usa-alert__body .usa-link,.usa-alert--emergency .usa-alert__body .usa-link:visited{color:#dfe1e2}.usa-alert--emergency .usa-alert__body .usa-link:active,.usa-alert--emergency .usa-alert__body .usa-link:hover{color:#f0f0f0}.usa-alert--slim .usa-alert__body{padding-bottom:.5rem;padding-top:.5rem;padding-left:2.4166666667rem}.usa-alert--slim .usa-alert__body:before{background-size:1.5rem;height:1.5rem;top:.5rem;width:1.5rem}@supports ((-webkit-mask:url()) or (mask:url())){.usa-alert--slim .usa-alert__body:before{-webkit-mask-size:1.5rem;mask-size:1.5rem}}@media all and (min-width:64em){.usa-alert--slim .usa-alert__body{padding-left:3.5rem}}.usa-alert--no-icon .usa-alert__body{padding-left:.5rem}.usa-alert--no-icon .usa-alert__body:before{display:none}@media all and (min-width:64em){.usa-alert--no-icon .usa-alert__body{padding-left:1.8333333333rem}}.usa-alert--validation .usa-checklist{margin-top:1rem}.usa-banner{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5;background-color:#f0f0f0}@media all and (min-width:40em){.usa-banner{font-size:.87rem;padding-bottom:0}}.usa-banner .usa-accordion{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5}.usa-banner .grid-row{display:flex;flex-wrap:wrap}.usa-banner .grid-row.grid-gap-lg{margin-left:-.75rem;margin-right:-.75rem}.usa-banner .grid-row.grid-gap-lg>*{padding-left:.75rem;padding-right:.75rem}@media all and (min-width:40em){.usa-banner .grid-row .tablet\:grid-col-6{flex:0 1 auto;width:50%}}.usa-banner__content,.usa-banner__header,.usa-footer__contact-info a,.usa-footer__secondary-section a{color:#1b1b1b}.usa-banner__content{margin-left:auto;margin-right:auto;max-width:64rem;background-color:transparent;font-size:1rem;overflow:hidden;padding:.25rem 1rem 1rem .5rem;width:100%}@media all and (min-width:64em){.usa-banner__content{padding-left:2rem;padding-right:2rem}}@media all and (min-width:40em){.usa-banner__content{padding-bottom:1.5rem;padding-top:1.5rem}}.usa-banner__content p:first-child{margin:0}.usa-banner__guidance{display:flex;align-items:flex-start;max-width:64ex;padding-top:1rem}@media all and (min-width:40em){.usa-banner__guidance{padding-top:0}}.usa-banner__lock-image{height:1.5ex;width:1.21875ex}.usa-banner__lock-image path{fill:currentColor}@media (forced-colors:active){.usa-banner__lock-image path{fill:CanvasText}}.usa-banner__inner{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem;display:flex;flex-wrap:wrap;align-items:flex-start;padding-right:0}@media all and (min-width:64em){.usa-banner__inner{padding-left:2rem;padding-right:2rem}}@media all and (min-width:40em){.usa-banner__inner{align-items:center}}.usa-banner__header{padding-bottom:.5rem;padding-top:.5rem;font-size:.8rem;font-weight:400;min-height:3rem;position:relative}@media all and (min-width:40em){.usa-banner__header{padding-bottom:.25rem;padding-top:.25rem;min-height:0}}.usa-banner__header-text{margin-bottom:0;margin-top:0;font-size:.8rem;line-height:1.1}.usa-banner__header-action{color:#005ea2;line-height:1.1;margin-bottom:0;margin-top:2px;text-decoration:underline}.usa-banner__header-action::after{background-image:url(../img/usa-icons/expand_more.svg);background-repeat:no-repeat;background-position:center center;background-size:1rem 1rem;display:inline-block;height:1rem;width:1rem;content:"";vertical-align:middle;margin-left:auto}@supports ((-webkit-mask:url()) or (mask:url())){.usa-banner__header-action::after{background:0 0;background-color:#005ea2;-webkit-mask-image:url(../img/usa-icons/expand_more.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/expand_more.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1rem 1rem;mask-size:1rem 1rem}.usa-banner__header-action::after:hover{background-color:#1a4480}}.usa-banner__header-action:hover::after{content:"";background-color:#1a4480}.usa-banner__header-action:visited{color:#54278f}.usa-banner__header-action:active,.usa-banner__header-action:hover{color:#1a4480}@media all and (min-width:40em){.usa-banner__header-action{display:none}}@media (forced-colors:active){.usa-banner__header-action{color:LinkText}.usa-banner__header-action::after{background-color:ButtonText}}.usa-banner__header-flag{float:left;margin-right:.5rem;width:1rem}@media all and (min-width:40em){.usa-banner__header-flag{margin-right:.5rem;padding-top:0}}.usa-banner__header--expanded{padding-right:3.5rem}@media all and (min-width:40em){.usa-banner__header--expanded{background-color:transparent;display:block;font-size:.8rem;font-weight:400;min-height:0;padding-right:0}}.usa-banner__header--expanded .usa-banner__inner{margin-left:0}@media all and (min-width:40em){.usa-banner__header--expanded .usa-banner__inner{margin-left:auto}}.usa-banner__header--expanded .usa-banner__header-action{display:none}.usa-banner__button{background-color:transparent;border:0;border-radius:0;box-shadow:none;font-weight:400;justify-content:normal;text-align:left;margin:0;left:0;position:absolute;bottom:0;top:0;color:#005ea2;display:block;font-size:.8rem;height:auto;line-height:1.1;padding:0;text-decoration:none;width:auto}.usa-banner__button:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-banner__button.usa-button--active,.usa-banner__button.usa-button--disabled,.usa-banner__button.usa-button--hover,.usa-banner__button:active,.usa-banner__button:disabled,.usa-banner__button:disabled.usa-button--active,.usa-banner__button:disabled.usa-button--hover,.usa-banner__button:disabled.usa-focus,.usa-banner__button:disabled:active,.usa-banner__button:disabled:focus,.usa-banner__button:disabled:hover,.usa-banner__button:hover,.usa-banner__button[aria-disabled=true],.usa-banner__button[aria-disabled=true].usa-button--active,.usa-banner__button[aria-disabled=true].usa-button--hover,.usa-banner__button[aria-disabled=true].usa-focus,.usa-banner__button[aria-disabled=true]:active,.usa-banner__button[aria-disabled=true]:focus,.usa-banner__button[aria-disabled=true]:hover{background-color:transparent;box-shadow:none;text-decoration:underline}.usa-banner__button.usa-button--hover{color:#1a4480}.usa-banner__button.usa-button--active{color:#162e51}.usa-banner__button:disabled,.usa-banner__button:disabled:hover,.usa-banner__button[aria-disabled=true],.usa-banner__button[aria-disabled=true]:focus,.usa-banner__button[aria-disabled=true]:hover{color:#757575}@media (forced-colors:active){.usa-banner__button:disabled,.usa-banner__button:disabled:hover,.usa-banner__button[aria-disabled=true],.usa-banner__button[aria-disabled=true]:focus,.usa-banner__button[aria-disabled=true]:hover{color:GrayText}}.usa-banner__button:visited{color:#54278f}.usa-banner__button:active,.usa-banner__button:hover{color:#1a4480}@media all and (max-width:39.99em){.usa-banner__button{width:100%}.usa-banner__button:enabled:focus{outline-offset:-.25rem}}@media all and (min-width:40em){.usa-banner__button{color:#005ea2;bottom:auto;left:auto;right:auto;top:auto;display:inline;margin-left:.5rem;position:relative}.usa-banner__button::after{background-image:url(../img/usa-icons/expand_more.svg);background-repeat:no-repeat;background-position:center center;background-size:1rem 1rem;display:inline-block;height:1rem;width:1rem;content:"";vertical-align:middle;margin-left:2px}@supports ((-webkit-mask:url()) or (mask:url())){.usa-banner__button::after{background:0 0;background-color:#005ea2;-webkit-mask-image:url(../img/usa-icons/expand_more.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/expand_more.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1rem 1rem;mask-size:1rem 1rem}.usa-banner__button::after:hover{background-color:#1a4480}}.usa-banner__button:hover::after{content:"";background-color:#1a4480}.usa-banner__button:visited{color:#54278f}.usa-banner__button:active,.usa-banner__button:hover{color:#1a4480}.usa-banner__button::after,.usa-banner__button:hover::after{position:absolute}}@media (min-width:40em) and (forced-colors:active){.usa-banner__button::after,.usa-banner__button:hover::after{background-color:ButtonText}}@media all and (min-width:40em){.usa-banner__button:hover{text-decoration:none}}.usa-banner__button[aria-expanded=false],.usa-banner__button[aria-expanded=false]:hover,.usa-banner__button[aria-expanded=true],.usa-banner__button[aria-expanded=true]:hover{background-image:none}@media (forced-colors:active){.usa-banner__button[aria-expanded=false]::before,.usa-banner__button[aria-expanded=false]:hover::before,.usa-banner__button[aria-expanded=true]::before,.usa-banner__button[aria-expanded=true]:hover::before{content:none}}@media all and (max-width:39.99em){.usa-banner__button[aria-expanded=true]::after{background-image:url(../img/usa-icons/close.svg);background-repeat:no-repeat;background-position:center center;background-size:1.5rem 1.5rem;display:inline-block;height:3rem;width:3rem;content:"";vertical-align:middle;margin-left:0}@supports ((-webkit-mask:url()) or (mask:url())){.usa-banner__button[aria-expanded=true]::after{background:0 0;background-color:#005ea2;-webkit-mask-image:url(../img/usa-icons/close.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/close.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1.5rem 1.5rem;mask-size:1.5rem 1.5rem}}.usa-banner__button[aria-expanded=true]::before{bottom:0;top:0;position:absolute;right:0;background-color:#dfe1e2;content:"";display:block;height:3rem;width:3rem}.usa-banner__button[aria-expanded=true]::after{bottom:0;top:0;position:absolute;right:0}}@media all and (min-width:40em){.usa-banner__button[aria-expanded=true]{height:auto;padding:0;position:relative}.usa-banner__button[aria-expanded=true]::after{background-image:url(../img/usa-icons/expand_less.svg);background-repeat:no-repeat;background-position:center center;background-size:1rem 1rem;display:inline-block;height:1rem;width:1rem;content:"";vertical-align:middle;margin-left:2px}@supports ((-webkit-mask:url()) or (mask:url())){.usa-banner__button[aria-expanded=true]::after{background:0 0;background-color:#005ea2;-webkit-mask-image:url(../img/usa-icons/expand_less.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/expand_less.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1rem 1rem;mask-size:1rem 1rem}.usa-banner__button[aria-expanded=true]::after:hover{background-color:#1a4480}}.usa-banner__button[aria-expanded=true]:hover::after{content:"";background-color:#1a4480;position:absolute}.usa-banner__button[aria-expanded=true]::after{position:absolute}}@media (min-width:40em) and (forced-colors:active){.usa-banner__button[aria-expanded=true]::after,.usa-banner__button[aria-expanded=true]:hover::after{background-color:ButtonText}}.usa-banner__button-text{position:absolute;left:-999em;right:auto;text-decoration:underline}@media all and (min-width:40em){.usa-banner__button-text{position:static;display:inline}}@media (forced-colors:active){.usa-banner__button-text{color:LinkText}}.usa-banner__icon{width:2.5rem}.usa-js-loading .usa-banner__content{position:absolute;left:-999em;right:auto}.usa-breadcrumb{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.3;color:#1b1b1b;background-color:#fff;padding-left:0;padding-right:0}@media all and (min-width:30em){.usa-breadcrumb{padding-bottom:1rem;padding-top:1rem}.usa-breadcrumb:not(.usa-breadcrumb--wrap) .usa-breadcrumb__list{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}}.usa-breadcrumb__list{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;display:block;padding:.25rem;margin-left:-.25rem;margin-right:-.25rem}.usa-breadcrumb__list-item{position:absolute;left:-999em;right:auto;display:inline}@media all and (max-width:29.99em){.usa-breadcrumb__list-item{white-space:normal}.usa-breadcrumb__list-item:nth-last-child(2){position:static}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link{text-decoration:underline;background-color:transparent;border:0;border-radius:0;box-shadow:none;font-weight:400;justify-content:normal;text-align:left;margin:0;padding:0;padding-left:calc(2ex + 0px);text-indent:calc((2ex + 0px)*-1);color:#005ea2;display:inline-block;padding-bottom:1rem;padding-top:1rem}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:visited{color:#54278f}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:hover{color:#1a4480}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:active{color:#162e51}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link.usa-button--active,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link.usa-button--disabled,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link.usa-button--hover,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:active,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:disabled,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:disabled.usa-button--active,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:disabled.usa-button--hover,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:disabled.usa-focus,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:disabled:active,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:disabled:focus,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:disabled:hover,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:hover,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link[aria-disabled=true],.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link[aria-disabled=true].usa-button--active,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link[aria-disabled=true].usa-button--hover,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link[aria-disabled=true].usa-focus,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link[aria-disabled=true]:active,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link[aria-disabled=true]:focus,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link[aria-disabled=true]:hover{background-color:transparent;box-shadow:none;text-decoration:underline}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link.usa-button--hover{color:#1a4480}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link.usa-button--active{color:#162e51}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:disabled,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:disabled:hover,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link[aria-disabled=true],.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link[aria-disabled=true]:focus,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link[aria-disabled=true]:hover{color:#757575}}@media (max-width:29.99em) and (forced-colors:active){.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:disabled,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:disabled:hover,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link[aria-disabled=true],.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link[aria-disabled=true]:focus,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link[aria-disabled=true]:hover{color:GrayText}}@media all and (max-width:29.99em){.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link::before{background-image:url(../img/usa-icons/arrow_back.svg);background-repeat:no-repeat;background-position:center center;background-size:2ex 2ex;display:inline-block;height:2ex;width:2ex;content:"";vertical-align:baseline}@supports ((-webkit-mask:url()) or (mask:url())){.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link::before{background:0 0;background-color:#71767a;-webkit-mask-image:url(../img/usa-icons/arrow_back.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/arrow_back.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2ex 2ex;mask-size:2ex 2ex}}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:visited{color:#54278f}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:active,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:hover{color:#1a4480}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:before{bottom:-.2em;height:2ex;position:relative}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:active,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:hover{text-decoration:none}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link span{text-decoration:underline}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link::before{margin-right:0}}@media all and (min-width:30em){.usa-breadcrumb__list-item{position:static}.usa-breadcrumb__list-item:not(:last-child)::after{background-image:url(../img/usa-icons/navigate_next.svg);background-repeat:no-repeat;background-position:center center;background-size:2ex 2ex;display:inline-block;width:2ex;content:"";vertical-align:baseline}@supports ((-webkit-mask:url()) or (mask:url())){.usa-breadcrumb__list-item:not(:last-child)::after{background:0 0;background-color:#71767a;-webkit-mask-image:url(../img/usa-icons/navigate_next.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/navigate_next.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2ex 2ex;mask-size:2ex 2ex}}.usa-breadcrumb__list-item:not(:last-child)::after{bottom:-.2em;margin-left:0;margin-right:0;height:2ex;position:relative}}.usa-breadcrumb__link{color:#005ea2;display:inline;text-decoration:none}.usa-breadcrumb__link:visited{color:#54278f}.usa-breadcrumb__link:active,.usa-breadcrumb__link:hover{color:#1a4480}.usa-breadcrumb__link span{text-decoration:underline}@media all and (min-width:30em){.usa-breadcrumb--wrap{line-height:1.4}}.usa-breadcrumb--wrap .usa-breadcrumb__list-item{display:inline-block}.usa-button-group{margin-bottom:0;margin-top:0;display:flex;flex-direction:column;flex-wrap:wrap;list-style-type:none;margin-left:-.25rem;margin-right:-.25rem;padding-left:0}@media all and (min-width:30em){.usa-button-group{flex-wrap:nowrap;align-items:stretch;flex-direction:row}}.usa-button-group .usa-button-group{height:100%}@media all and (min-width:30em){.usa-button-group .usa-button-group .usa-button-group__item{margin-top:0;margin-bottom:0}}.usa-button-group .usa-button-group--segmented .usa-button-group__item{margin-top:0;margin-bottom:0}.usa-button-group__item{margin:.25rem}@media all and (min-width:30em){.usa-button-group__item:last-child{margin-right:0}}.usa-button-group__item .usa-button{height:100%;margin-left:0;margin-right:0}.usa-button-group--segmented{flex-direction:row;flex-wrap:nowrap;justify-content:space-between;margin-left:0;margin-right:0}@media all and (min-width:30em){.usa-button-group--segmented{justify-content:flex-start}}.usa-button-group--segmented .usa-button{position:relative;width:calc(100% + 2px)}@media all and (min-width:30em){.usa-button-group--segmented .usa-button{width:auto}}.usa-button-group--segmented .usa-button:active,.usa-button-group--segmented .usa-button:hover{z-index:2}.usa-button-group--segmented .usa-button:focus{z-index:3}.usa-button-group--segmented .usa-button-group__item{margin-left:0;margin-right:0;width:100%}@media all and (min-width:30em){.usa-button-group--segmented .usa-button-group__item{width:auto}}.usa-button-group--segmented .usa-button-group__item:first-child>.usa-button{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:-1px}.usa-button-group--segmented .usa-button-group__item:last-child>.usa-button{border-top-left-radius:0;border-bottom-left-radius:0;margin-right:0;margin-left:-2px;width:calc(100% + 2px)}@media all and (min-width:30em){.usa-button-group--segmented .usa-button-group__item:last-child>.usa-button{margin-left:-1px;width:auto}}.usa-button-group--segmented .usa-button-group__item:where(:not(:first-child):not(:last-child))>.usa-button{border-radius:0;margin-right:-1px;margin-left:-1px}.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) .usa-button::before{border-right:1px solid #1a4480;bottom:0;content:"";display:block;height:100%;position:absolute;right:1px;top:0;width:1px;z-index:3}.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) .usa-button--secondary::before{border-right-color:#b50909}.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) .usa-button--accent-cool::before{border-right-color:#28a0cb}.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) .usa-button--base::before{border-right-color:#565c65}.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) [class*=usa-button]:disabled::before,.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) [class*=usa-button][aria-disabled=true]::before{border-right-color:#fff}.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) .usa-button--outline::before,.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) .usa-button:active::before{display:none}.usa-button{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:.9;color:#fff;background-color:#005ea2;-webkit-appearance:none;-moz-appearance:none;appearance:none;align-items:center;border:0;border-radius:.25rem;cursor:pointer;-moz-column-gap:.5rem;column-gap:.5rem;display:inline-flex;font-weight:700;justify-content:center;margin-right:.5rem;padding:.75rem 1.25rem;text-align:center;text-decoration:none;width:100%}@media all and (min-width:30em){.usa-button{width:auto}}.usa-button:visited{color:#fff}.usa-button.usa-button--hover,.usa-button:hover{color:#fff;background-color:#1a4480;border-bottom:0;text-decoration:none}.usa-button.usa-button--active,.usa-button:active{color:#fff;background-color:#162e51}.usa-button:not([disabled]).usa-focus,.usa-button:not([disabled]):focus{outline-offset:.25rem}.usa-button:disabled,.usa-button[aria-disabled=true]{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-button:disabled.usa-button--active.usa-focus,.usa-button:disabled.usa-button--active:active,.usa-button:disabled.usa-button--active:focus,.usa-button:disabled.usa-button--active:hover,.usa-button:disabled.usa-button--hover.usa-focus,.usa-button:disabled.usa-button--hover:active,.usa-button:disabled.usa-button--hover:focus,.usa-button:disabled.usa-button--hover:hover,.usa-button:disabled.usa-focus,.usa-button:disabled:active,.usa-button:disabled:focus,.usa-button:disabled:hover,.usa-button[aria-disabled=true].usa-button--active.usa-focus,.usa-button[aria-disabled=true].usa-button--active:active,.usa-button[aria-disabled=true].usa-button--active:focus,.usa-button[aria-disabled=true].usa-button--active:hover,.usa-button[aria-disabled=true].usa-button--hover.usa-focus,.usa-button[aria-disabled=true].usa-button--hover:active,.usa-button[aria-disabled=true].usa-button--hover:focus,.usa-button[aria-disabled=true].usa-button--hover:hover,.usa-button[aria-disabled=true].usa-focus,.usa-button[aria-disabled=true]:active,.usa-button[aria-disabled=true]:focus,.usa-button[aria-disabled=true]:hover{color:#454545;background-color:#c9c9c9}@media (forced-colors:active){.usa-button:disabled,.usa-button[aria-disabled=true]{border:0;color:GrayText}.usa-button:disabled.usa-focus,.usa-button:disabled:active,.usa-button:disabled:focus,.usa-button:disabled:hover,.usa-button[aria-disabled=true].usa-focus,.usa-button[aria-disabled=true]:active,.usa-button[aria-disabled=true]:focus,.usa-button[aria-disabled=true]:hover{color:GrayText}}.usa-button:disabled.usa-button--active,.usa-button:disabled.usa-button--hover,.usa-button[aria-disabled=true].usa-button--active,.usa-button[aria-disabled=true].usa-button--hover{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}@media (forced-colors:active){.usa-button:disabled.usa-button--active,.usa-button:disabled.usa-button--hover,.usa-button[aria-disabled=true].usa-button--active,.usa-button[aria-disabled=true].usa-button--hover{border:0;color:GrayText}.usa-button:disabled.usa-button--active.usa-focus,.usa-button:disabled.usa-button--active:active,.usa-button:disabled.usa-button--active:focus,.usa-button:disabled.usa-button--active:hover,.usa-button:disabled.usa-button--hover.usa-focus,.usa-button:disabled.usa-button--hover:active,.usa-button:disabled.usa-button--hover:focus,.usa-button:disabled.usa-button--hover:hover,.usa-button[aria-disabled=true].usa-button--active.usa-focus,.usa-button[aria-disabled=true].usa-button--active:active,.usa-button[aria-disabled=true].usa-button--active:focus,.usa-button[aria-disabled=true].usa-button--active:hover,.usa-button[aria-disabled=true].usa-button--hover.usa-focus,.usa-button[aria-disabled=true].usa-button--hover:active,.usa-button[aria-disabled=true].usa-button--hover:focus,.usa-button[aria-disabled=true].usa-button--hover:hover{color:GrayText}.usa-button:disabled:not(.usa-button--unstyled),.usa-button[aria-disabled=true]:not(.usa-button--unstyled){border:2px solid GrayText}}.usa-button .usa-icon{flex-shrink:0}@media (forced-colors:active){.usa-button:not(.usa-button--unstyled){border:2px solid transparent}}.usa-button--accent-cool,.usa-button--accent-cool:visited{color:#1b1b1b;background-color:#00bde3}.usa-button--accent-cool.usa-button--hover,.usa-button--accent-cool:hover{color:#1b1b1b;background-color:#28a0cb}.usa-button--accent-cool.usa-button--active,.usa-button--accent-cool:active{color:#fff;background-color:#07648d}.usa-button--accent-warm,.usa-button--accent-warm:visited{color:#1b1b1b;background-color:#fa9441}.usa-button--accent-warm.usa-button--hover,.usa-button--accent-warm:hover{color:#fff;background-color:#c05600}.usa-button--accent-warm.usa-button--active,.usa-button--accent-warm:active{color:#fff;background-color:#775540}.usa-button--outline{background-color:transparent;box-shadow:inset 0 0 0 2px #005ea2;color:#005ea2}.usa-button--outline:visited{color:#005ea2}.usa-button--outline.usa-button--hover,.usa-button--outline:hover{background-color:transparent;box-shadow:inset 0 0 0 2px #1a4480;color:#1a4480}.usa-button--outline.usa-button--active,.usa-button--outline:active{background-color:transparent;box-shadow:inset 0 0 0 2px #162e51;color:#162e51}.usa-button--outline.usa-button--inverse{box-shadow:inset 0 0 0 2px #dfe1e2;color:#dfe1e2}.usa-button--outline.usa-button--inverse:visited{color:#dfe1e2}.usa-button--outline.usa-button--inverse.usa-button--hover,.usa-button--outline.usa-button--inverse:hover{box-shadow:inset 0 0 0 2px #f0f0f0;color:#f0f0f0}.usa-button--outline.usa-button--inverse.usa-button--active,.usa-button--outline.usa-button--inverse:active{background-color:transparent;box-shadow:inset 0 0 0 2px #fff;color:#fff}.usa-button--outline.usa-button--inverse.usa-button--unstyled{text-decoration:underline;background-color:transparent;border:0;border-radius:0;box-shadow:none;font-weight:400;justify-content:normal;text-align:left;margin:0;padding:0;color:#dfe1e2}.usa-button--outline.usa-button--inverse.usa-button--unstyled:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-button--outline.usa-button--inverse.usa-button--unstyled.usa-button--active,.usa-button--outline.usa-button--inverse.usa-button--unstyled.usa-button--disabled,.usa-button--outline.usa-button--inverse.usa-button--unstyled.usa-button--hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled:active,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled.usa-button--active,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled.usa-button--hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled.usa-focus,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled:active,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled:focus,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled:hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled:hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true],.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true].usa-button--active,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true].usa-button--hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true].usa-focus,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true]:active,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true]:focus,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true]:hover{background-color:transparent;box-shadow:none;text-decoration:underline}.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled:hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true],.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true]:focus,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true]:hover{color:#757575}@media (forced-colors:active){.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled:hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true],.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true]:focus,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true]:hover{color:GrayText}}.usa-button--outline.usa-button--inverse.usa-button--unstyled:visited{color:#dfe1e2}.usa-button--outline.usa-button--inverse.usa-button--unstyled.usa-button--hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled:hover{color:#f0f0f0}.usa-button--outline.usa-button--inverse.usa-button--unstyled.usa-button--active,.usa-button--outline.usa-button--inverse.usa-button--unstyled:active{color:#fff}.usa-button--base{color:#fff;background-color:#71767a}.usa-button--base.usa-button--hover,.usa-button--base:hover{color:#fff;background-color:#565c65}.usa-button--base.usa-button--active,.usa-button--base:active{color:#fff;background-color:#3d4551}.usa-button--secondary{color:#fff;background-color:#d83933}.usa-button--secondary.usa-button--hover,.usa-button--secondary:hover{color:#fff;background-color:#b50909}.usa-button--secondary.usa-button--active,.usa-button--secondary:active{color:#fff;background-color:#8b0a03}.usa-button--big{border-radius:.25rem;font-size:1.46rem;padding:1rem 1.5rem}.usa-button--outline-inverse:disabled,.usa-button--outline-inverse:disabled:active,.usa-button--outline-inverse:disabled:focus,.usa-button--outline-inverse:disabled:hover,.usa-button--outline-inverse[aria-disabled=true],.usa-button--outline-inverse[aria-disabled=true]:active,.usa-button--outline-inverse[aria-disabled=true]:focus,.usa-button--outline-inverse[aria-disabled=true]:hover,.usa-button--outline:disabled,.usa-button--outline:disabled:active,.usa-button--outline:disabled:focus,.usa-button--outline:disabled:hover,.usa-button--outline[aria-disabled=true],.usa-button--outline[aria-disabled=true]:active,.usa-button--outline[aria-disabled=true]:focus,.usa-button--outline[aria-disabled=true]:hover{background-color:transparent;color:#757575}.usa-button--outline:disabled,.usa-button--outline[aria-disabled=true]{box-shadow:inset 0 0 0 2px #c9c9c9}.usa-button--outline:disabled.usa-button--inverse,.usa-button--outline[aria-disabled=true].usa-button--inverse{box-shadow:inset 0 0 0 2px #919191;color:#919191}@media (forced-colors:active){.usa-button--outline:disabled.usa-button--inverse,.usa-button--outline[aria-disabled=true].usa-button--inverse{color:GrayText}}.usa-button--unstyled{color:#005ea2;text-decoration:underline;background-color:transparent;border:0;border-radius:0;box-shadow:none;font-weight:400;justify-content:normal;text-align:left;margin:0;padding:0}.usa-button--unstyled:visited,.usa-footer__return-to-top a:visited{color:#54278f}.usa-button--unstyled:hover{color:#1a4480}.usa-button--unstyled:active{color:#162e51}.usa-button--unstyled:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-button--unstyled.usa-button--active,.usa-button--unstyled.usa-button--disabled,.usa-button--unstyled.usa-button--hover,.usa-button--unstyled:active,.usa-button--unstyled:disabled,.usa-button--unstyled:disabled.usa-button--active,.usa-button--unstyled:disabled.usa-button--hover,.usa-button--unstyled:disabled.usa-focus,.usa-button--unstyled:disabled:active,.usa-button--unstyled:disabled:focus,.usa-button--unstyled:disabled:hover,.usa-button--unstyled:hover,.usa-button--unstyled[aria-disabled=true],.usa-button--unstyled[aria-disabled=true].usa-button--active,.usa-button--unstyled[aria-disabled=true].usa-button--hover,.usa-button--unstyled[aria-disabled=true].usa-focus,.usa-button--unstyled[aria-disabled=true]:active,.usa-button--unstyled[aria-disabled=true]:focus,.usa-button--unstyled[aria-disabled=true]:hover{background-color:transparent;box-shadow:none;text-decoration:underline}.usa-button--unstyled.usa-button--hover,.usa-footer__return-to-top a:hover{color:#1a4480}.usa-button--unstyled.usa-button--active,.usa-footer__return-to-top a:active{color:#162e51}.usa-button--unstyled:disabled,.usa-button--unstyled:disabled:hover,.usa-button--unstyled[aria-disabled=true],.usa-button--unstyled[aria-disabled=true]:focus,.usa-button--unstyled[aria-disabled=true]:hover{color:#757575}@media (forced-colors:active){.usa-button--unstyled:disabled,.usa-button--unstyled:disabled:hover,.usa-button--unstyled[aria-disabled=true],.usa-button--unstyled[aria-disabled=true]:focus,.usa-button--unstyled[aria-disabled=true]:hover{color:GrayText}}.usa-card-group,.usa-prose .usa-card-group{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-card-group{display:flex;flex-direction:column;flex-wrap:wrap;align-items:stretch;margin-left:-.5rem;margin-right:-.5rem}@media all and (min-width:40em){.usa-card-group{flex-direction:row}}.usa-card{margin-bottom:2.5rem;max-width:none}.usa-card:last-child,.usa-prose .usa-card:last-child{margin-bottom:2.5rem}@media all and (min-width:40em){.usa-card{margin-bottom:2rem}.usa-card:last-child{margin-bottom:2rem}}.usa-prose .usa-card{margin-bottom:2.5rem;max-width:none}@media all and (min-width:40em){.usa-prose .usa-card{margin-bottom:2rem}.usa-prose .usa-card:last-child{margin-bottom:2rem}}.usa-card__container{color:#1b1b1b;background-color:#fff;font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5;border-width:2px;border-color:#dfe1e2;border-style:solid;display:flex;height:100%;flex-direction:column;margin-left:.5rem;margin-right:.5rem;position:relative;border-radius:.5rem}.usa-card:not(.usa-card--flag) .usa-card__container>:only-child{padding:1.5rem}.usa-card .usa-card__img{display:block}.usa-card__header{padding:1.5rem 1.5rem .5rem}.usa-card__header:last-child{padding-bottom:1.5rem}.usa-card__heading{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.34rem;line-height:1.2;margin:0}.usa-card__media{order:-1;min-height:1px}.usa-card__img{border-top-left-radius:calc(.5rem - 2px);border-top-right-radius:calc(.5rem - 2px);background-color:#f0f0f0;position:relative;overflow:hidden}.usa-card__img img{display:block;height:100%;width:100%;-o-object-fit:cover;object-fit:cover}.usa-card__media--inset{padding-top:1.5rem;padding-left:1.5rem;padding-right:1.5rem}.usa-card__media--inset .usa-card__img{border-radius:0}.usa-card__body{flex:1 1 0%;padding:.5rem 1.5rem;flex-basis:auto}.usa-card__body:last-child{padding-bottom:1.5rem}.usa-card__body:first-child{padding-top:1.5rem}.usa-card__body:only-child{padding-bottom:1.5rem;padding-top:1.5rem}.usa-card__footer{padding:.5rem 1.5rem 1.5rem}.usa-card__footer .usa-button:only-of-type{margin-right:0}.usa-card__body>:last-child,.usa-card__header>:last-child{padding-bottom:0;margin-bottom:0}.usa-card__body>:first-child,.usa-card__header>:first-child{margin-top:0;padding-top:0}.usa-card__body>:only-child,.usa-card__header>:only-child{margin-bottom:0;margin-top:0;padding-bottom:0;padding-top:0}.usa-card__body--exdent,.usa-card__footer--exdent,.usa-card__header--exdent,.usa-card__media--exdent{margin-inline:-2px}.usa-card__body--exdent>*,.usa-card__footer--exdent>*,.usa-card__header--exdent>*{padding-left:2px;padding-right:2px}.usa-card__media--exdent{margin-top:-2px}.usa-card__media--exdent .usa-card__img{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.usa-card--header-first .usa-card__header{border-top-left-radius:calc(.5rem - 2px);border-top-right-radius:calc(.5rem - 2px);padding-bottom:1rem}.usa-card--header-first .usa-card__header--exdent{border-top-left-radius:.5rem;border-top-right-radius:.5rem;margin-top:-2px}.usa-card--header-first .usa-card__media--inset{padding-top:0}.usa-card--header-first .usa-card__media{order:0}.usa-card--header-first .usa-card__media--exdent{margin-top:0}.usa-card--header-first .usa-card__img{border-radius:0}.usa-card--header-first .usa-card__body{padding-top:1rem}@media all and (min-width:40em){.usa-card--flag .usa-card__media{display:flex;overflow:hidden;bottom:0;top:0;left:0;position:absolute;width:15rem}.usa-card--flag .usa-card__img{border-radius:0;border-top-left-radius:calc(.5rem - 2px);border-bottom-left-radius:calc(.5rem - 2px)}.usa-card--flag .usa-card__body,.usa-card--flag .usa-card__footer,.usa-card--flag .usa-card__header{margin-left:15rem}.usa-card--flag .usa-card__media--exdent{margin:-2px}.usa-card--flag .usa-card__media--exdent .usa-card__img{border-bottom-left-radius:.5rem;border-top-left-radius:.5rem}.usa-card--flag .usa-card__media--inset{padding-right:0;padding-bottom:1.5rem}.usa-card--flag .usa-card__media--inset .usa-card__img,.usa-card--flag.usa-card--media-right .usa-card__media--inset .usa-card__img{border-radius:0}.usa-card--flag.usa-card--header-first .usa-card__header{padding-bottom:.5rem}.usa-card--flag.usa-card--header-first .usa-card__body{padding-top:.5rem}.usa-card--flag.usa-card--header-first .usa-card__media--inset{padding-top:1.5rem}.usa-card--flag.usa-card--media-right .usa-card__media{left:auto;right:0}.usa-card--flag.usa-card--media-right .usa-card__media--inset{padding-left:0;padding-right:1.5rem}.usa-card--flag.usa-card--media-right .usa-card__img{border-top-right-radius:calc(.5rem - 2px);border-bottom-right-radius:calc(.5rem - 2px)}.usa-card--flag.usa-card--media-right .usa-card__body,.usa-card--flag.usa-card--media-right .usa-card__footer,.usa-card--flag.usa-card--media-right .usa-card__header{margin-left:0;margin-right:15rem}.usa-card--flag.usa-card--media-right .usa-card__img{border-radius:0;border-bottom-right-radius:.5rem;border-top-right-radius:.5rem}}.usa-card:not(.usa-card--flag).usa-card__media--set-aspect{box-sizing:border-box;height:0;overflow:hidden;padding-bottom:56.25%;position:relative}@supports (aspect-ratio:1){.usa-card:not(.usa-card--flag).usa-card__media--set-aspect{height:inherit;padding:inherit;aspect-ratio:1.7777777778;max-width:100%}.usa-card:not(.usa-card--flag).usa-card__media--set-aspect>*{position:absolute;top:0;left:0;width:100%;height:100%}.usa-card:not(.usa-card--flag).usa-card__media--set-aspect>img,img.usa-card:not(.usa-card--flag).usa-card__media--set-aspect{-o-object-fit:cover;object-fit:cover}}.usa-card:not(.usa-card--flag).usa-card__media--set-aspect .usa-card__img{position:absolute;bottom:0;left:0;right:0;top:0}.usa-checklist{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5}.usa-checklist__item{text-indent:-2.5rem;margin-top:0;margin-bottom:0;margin-top:.5rem}.usa-checklist__item::before{content:" ";display:inline-block;height:1rem;margin-left:-.25rem;margin-right:.75rem;width:2rem}.usa-checklist__item.usa-checklist__item--checked::before{background-image:url(../img/usa-icons-bg/check--blue-60v.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat;background-position:center;background-size:1.5rem}.usa-collection{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;margin-bottom:1em;margin-top:1em;line-height:1.5;padding-left:0}.usa-collection:last-child,.usa-collection__item:last-child,.usa-graphic-list .usa-graphic-list__row:last-child .usa-media-block:last-child,.usa-prose .usa-collection:last-child,.usa-prose .usa-collection__item:last-child{margin-bottom:0}.usa-collection ol,.usa-collection ul,.usa-prose .usa-collection ol,.usa-prose .usa-collection ul{margin-top:.25em}.usa-prose .usa-collection{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;margin-bottom:1em;margin-top:1em;line-height:1.5;padding-left:0}.usa-collection__item,.usa-prose .usa-collection__item{max-width:68ex;margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;align-items:flex-start;border-top-width:1px;border-top-style:solid;display:flex;margin-bottom:1rem;margin-top:1rem;padding-top:1rem}.usa-collection__calendar-date,.usa-collection__img{flex-shrink:0;width:4rem;margin-right:1rem}@media all and (min-width:40em){.usa-collection__calendar-date,.usa-collection__img{width:5rem}}.usa-collection__body{flex:1 1 0%}.usa-collection__heading{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.13rem;line-height:1.3;margin-bottom:0;margin-top:0}.usa-collection__description{margin-bottom:.5rem;margin-top:.5rem}.usa-collection__meta{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;margin-top:.25rem}.usa-collection__meta-item{margin-top:.25rem;font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:.93rem;line-height:1.3;display:block;margin-right:.5rem}.usa-collection__meta-item.usa-tag{background-color:#dfe1e2;line-height:.9;padding-bottom:.25rem;padding-top:.25rem;color:#1b1b1b;display:inline-block;margin-top:.25rem}.usa-collection__meta-item.usa-tag--new{background-color:#c05600;color:#fff}.usa-collection__calendar-date,.usa-footer__social-links a,.usa-form abbr[title=required]{text-decoration:none}.usa-collection__calendar-date-day,.usa-collection__calendar-date-month{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.13rem;display:block;font-weight:700;padding:.25rem;text-align:center}@media all and (min-width:40em){.usa-collection__calendar-date-day,.usa-collection__calendar-date-month{padding:.5rem}}.usa-collection__calendar-date-month{border-top-left-radius:2px;border-top-right-radius:2px;background-color:#005ea2;color:#fff}.usa-collection__calendar-date-day{border-bottom-left-radius:2px;border-bottom-right-radius:2px;border:1px solid #005ea2;color:#005ea2}.usa-collection--condensed .usa-collection__item{margin-bottom:.5rem;margin-top:.5rem;padding-top:.5rem}.usa-embed-container embed,.usa-embed-container iframe,.usa-embed-container object{position:absolute;top:0;left:0;width:100%;height:100%}.usa-embed-container{box-sizing:border-box;height:0;overflow:hidden;padding-bottom:56.25%;position:relative;max-width:100%}@supports (aspect-ratio:1){.usa-embed-container{height:inherit;padding:inherit;aspect-ratio:1.7777777778;max-width:100%}.usa-embed-container>*{position:absolute;top:0;left:0;width:100%;height:100%}.usa-embed-container>img,img.usa-embed-container{-o-object-fit:cover;object-fit:cover}}.usa-footer{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5;overflow:hidden}.usa-footer>.grid-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}@media all and (min-width:64em){.usa-footer>.grid-container{padding-left:2rem;padding-right:2rem}}.usa-footer__return-to-top{padding-bottom:1.25rem;padding-top:1.25rem;line-height:.9}.usa-footer__return-to-top a:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-footer__nav{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem;padding-left:0;padding-right:0;border-bottom:1px solid #a9aeb1}@media all and (min-width:64em){.usa-footer__nav{padding-left:2rem;padding-right:2rem}}@media all and (min-width:30em){.usa-footer__nav{padding-left:1rem;padding-right:1rem;border-bottom:none}}@media all and (min-width:30em) and (min-width:64em){.usa-footer__nav{padding-left:2rem;padding-right:2rem}}.usa-footer__nav>ul{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-footer__primary-section{background-color:#f0f0f0}.usa-footer__primary-container,.usa-footer__primary-section>.grid-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}@media all and (min-width:64em){.usa-footer__primary-section>.grid-container{padding-left:2rem;padding-right:2rem}}@media all and (min-width:64em){.usa-footer__primary-container{padding-left:2rem;padding-right:2rem}}.usa-footer__primary-content{line-height:1.1}.usa-footer__primary-link{padding:1rem;color:#1b1b1b;font-weight:700;display:block}@media all and (min-width:30em){.usa-footer__primary-link{padding-left:0;padding-right:0}}.usa-footer__primary-link--button{width:100%;border:0;cursor:pointer}.usa-footer__primary-link--button::before{background-image:url(../img/usa-icons/expand_more.svg);background-repeat:no-repeat;background-position:center center;background-size:1.25rem 1.25rem;display:inline-block;vertical-align:middle}@supports ((-webkit-mask:url()) or (mask:url())){.usa-footer__primary-link--button::before{background:0 0;background-color:currentColor;-webkit-mask-image:url(../img/usa-icons/expand_more.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/expand_more.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1.25rem 1.25rem;mask-size:1.25rem 1.25rem}}.usa-footer__primary-link--button:not([disabled]):focus{outline:.25rem solid #2491ff;outline-offset:-.25rem}.usa-footer__primary-link--button::before{height:1.25rem;width:1.25rem;align-items:center;background-size:contain;content:"";display:inline-flex;justify-content:center;margin-right:.25rem;margin-left:-.25rem}@media (forced-colors:active){.usa-footer__primary-link--button::before{background-color:buttonText!important}}.usa-footer__primary-link--button+.usa-list--unstyled{margin-top:.5rem;margin-bottom:.5rem}.usa-footer__primary-link--button[aria-expanded=false]::before{background-image:url(../img/usa-icons/navigate_next.svg);background-repeat:no-repeat;background-position:center center;background-size:1.25rem 1.25rem;display:inline-block;height:1.25rem;width:1.25rem;content:"";vertical-align:middle;margin-right:.25rem}@supports ((-webkit-mask:url()) or (mask:url())){.usa-footer__primary-link--button[aria-expanded=false]::before{background:0 0;background-color:currentColor;-webkit-mask-image:url(../img/usa-icons/navigate_next.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/navigate_next.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1.25rem 1.25rem;mask-size:1.25rem 1.25rem}}.usa-footer__primary-link--button[aria-expanded=false]+.usa-list--unstyled{display:none}.usa-footer__secondary-link{line-height:1.1;margin-left:1rem;padding:0}.usa-footer__secondary-link a:visited{color:#54278f}.usa-footer__secondary-link a:hover{color:#1a4480}.usa-footer__secondary-link a:active{color:#162e51}.usa-footer__secondary-link a:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-footer__secondary-link+.usa-footer__secondary-link{padding-top:1rem}@media all and (min-width:30em){.usa-footer__secondary-link{margin-left:0}}.usa-footer__contact-info{line-height:1.1}@media all and (min-width:30em){.usa-footer__contact-info{justify-content:flex-end;margin-top:.5rem}}.usa-footer__primary-content{border-top:1px solid #a9aeb1}@media all and (min-width:30em){.usa-footer__primary-content{border:0}}.usa-sign-up{padding-bottom:2rem;padding-top:1.5rem}.usa-sign-up .usa-button,.usa-sign-up .usa-label{margin-top:.75rem}.usa-sign-up__heading{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.34rem;line-height:1.2;font-weight:700;margin:0}.usa-footer__secondary-section{padding-bottom:1.25rem;padding-top:1.25rem;color:#1b1b1b;background-color:#dfe1e2}.usa-footer__secondary-section>.grid-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}@media all and (min-width:64em){.usa-footer__secondary-section>.grid-container{padding-left:2rem;padding-right:2rem}}.usa-footer__secondary-section>.grid-container>.grid-row{justify-content:space-between}.usa-footer__logo{margin-bottom:.5rem;margin-top:.5rem}@media all and (min-width:30em){.usa-footer__logo{margin-bottom:0;margin-top:0;align-items:center}}.usa-footer__logo-img{max-width:5rem}.usa-footer__logo-heading{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.46rem;line-height:.9;font-weight:700;margin-bottom:.5rem;margin-top:.5rem}.usa-footer__contact-links{margin-top:1.5rem}@media all and (min-width:30em){.usa-footer__contact-links{margin-top:0;text-align:right}}.usa-footer__contact-heading{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.46rem;line-height:1.1;font-weight:700;margin-top:0}@media all and (min-width:30em){.usa-footer__contact-heading{margin-bottom:.25rem;margin-top:.25rem}}.usa-footer__social-links{line-height:.9;padding-bottom:.5rem}@media all and (min-width:30em){.usa-footer__social-links{justify-content:flex-end}}.usa-social-link{height:3rem;width:3rem;background-color:rgba(0,0,0,.1);display:inline-block;padding:.25rem}.usa-social-link:hover{background-color:#fff}@media (forced-colors:active){.usa-social-link{background-color:#d3d3d3;forced-color-adjust:none}}.usa-social-link__icon{display:block;height:auto;width:100%}@media all and (min-width:30em){.usa-footer__address{justify-content:flex-end}}@media all and (min-width:64em){.usa-footer--slim .usa-footer__nav{padding-left:0;padding-right:0}}.usa-footer--slim .usa-footer__address{padding:1rem}@media all and (min-width:30em){.usa-footer--slim .usa-footer__address{padding:0}}.usa-footer--slim .usa-footer__logo{align-items:center}.usa-footer--slim .usa-footer__logo-img{max-width:3rem}.usa-footer--slim .usa-footer__contact-info{display:inline-block}@media all and (min-width:30em){.usa-footer--slim .usa-footer__contact-info{padding-bottom:1rem;padding-top:1rem;margin-top:0}}.usa-footer--big .usa-footer__nav{margin-left:-1rem;margin-right:-1rem}@media all and (min-width:30em){.usa-footer--big .usa-footer__nav{border-bottom:1px solid #a9aeb1;padding-top:2rem}}@media all and (min-width:40em){.usa-footer--big .usa-footer__nav{margin-left:0;margin-right:0;padding-left:0;padding-right:0;border-bottom:none}}.usa-footer--big .usa-footer__primary-link{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.98rem;font-weight:700;line-height:1.2;margin:0}@media all and (min-width:30em){.usa-footer--big .usa-footer__primary-link{padding-bottom:0;padding-top:0;margin-bottom:.5rem}.usa-footer--big .usa-footer__primary-link:hover{cursor:auto;text-decoration:none}}.usa-footer--big .usa-footer__primary-content--collapsible .usa-footer__primary-link{align-items:center;display:flex;justify-content:flex-start}.usa-footer--big .usa-footer__primary-content--collapsible .usa-list--unstyled{padding-left:1rem;padding-right:1rem;padding-bottom:1.25rem}@media all and (min-width:30em){.usa-footer--big .usa-footer__primary-content--collapsible .usa-list--unstyled{padding-left:0;padding-right:0;padding-bottom:2rem;padding-top:.75rem}}.usa-form{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.3}@media all and (min-width:30em){.usa-form{max-width:20rem}}.usa-form .usa-input,.usa-form .usa-range,.usa-form .usa-select,.usa-form .usa-textarea{max-width:none}.usa-form .usa-input--2xs,.usa-form .usa-input-group--2xs{max-width:5ex}.usa-form .usa-input--xs,.usa-form .usa-input-group--xs{max-width:9ex}.usa-form .usa-input--sm,.usa-form .usa-input--small,.usa-form .usa-input-group--sm,.usa-form .usa-input-group--small{max-width:13ex}.usa-form .usa-input--md,.usa-form .usa-input--medium,.usa-form .usa-input-group--md,.usa-form .usa-input-group--medium{max-width:20ex}.usa-form .usa-input--lg,.usa-form .usa-input-group--lg{max-width:30ex}.usa-form .usa-input--xl,.usa-form .usa-input-group--xl{max-width:40ex}.usa-form .usa-input--2xl,.usa-form .usa-input-group--2xl{max-width:50ex}.usa-form .usa-button{margin-top:.5rem}@media all and (min-width:30em){.usa-form .usa-button{margin-top:1.5rem}}.usa-form a:where(:not(.usa-button)){color:#005ea2;text-decoration:underline}.usa-form a:where(:not(.usa-button)):visited{color:#54278f}.usa-form a:where(:not(.usa-button)):hover{color:#1a4480}.usa-form a:where(:not(.usa-button)):active{color:#162e51}.usa-form a:where(:not(.usa-button)):focus{outline:.25rem solid #2491ff;outline-offset:0}@media all and (min-width:30em){.usa-form--large{max-width:30rem}}.usa-show-password{color:#005ea2;text-decoration:underline;background-color:transparent;border:0;border-radius:0;box-shadow:none;font-weight:400;justify-content:normal;text-align:left;margin:0;padding:0;cursor:pointer}.usa-show-password:visited{color:#54278f}.usa-show-password:hover{color:#1a4480}.usa-show-password:active{color:#162e51}.usa-show-password:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-show-password.usa-button--active,.usa-show-password.usa-button--disabled,.usa-show-password.usa-button--hover,.usa-show-password:active,.usa-show-password:disabled,.usa-show-password:disabled.usa-button--active,.usa-show-password:disabled.usa-button--hover,.usa-show-password:disabled.usa-focus,.usa-show-password:disabled:active,.usa-show-password:disabled:focus,.usa-show-password:disabled:hover,.usa-show-password:hover,.usa-show-password[aria-disabled=true],.usa-show-password[aria-disabled=true].usa-button--active,.usa-show-password[aria-disabled=true].usa-button--hover,.usa-show-password[aria-disabled=true].usa-focus,.usa-show-password[aria-disabled=true]:active,.usa-show-password[aria-disabled=true]:focus,.usa-show-password[aria-disabled=true]:hover{background-color:transparent;box-shadow:none;text-decoration:underline}.usa-show-password.usa-button--hover{color:#1a4480}.usa-show-password.usa-button--active{color:#162e51}.usa-show-password:disabled,.usa-show-password:disabled:hover,.usa-show-password[aria-disabled=true],.usa-show-password[aria-disabled=true]:focus,.usa-show-password[aria-disabled=true]:hover{color:#757575}@media (forced-colors:active){.usa-show-password:disabled,.usa-show-password:disabled:hover,.usa-show-password[aria-disabled=true],.usa-show-password[aria-disabled=true]:focus,.usa-show-password[aria-disabled=true]:hover{color:GrayText}}.usa-form__note,.usa-graphic-list,.usa-show-password{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif}.usa-form__note,.usa-show-password{font-size:.93rem;line-height:1.3;float:right;margin:.25rem 0 1rem}.usa-graphic-list{font-size:1.06rem;line-height:1.5}.usa-graphic-list .usa-graphic-list__row .usa-media-block{margin-bottom:2rem}@media all and (min-width:40em){.usa-graphic-list .usa-graphic-list__row .usa-media-block{margin-bottom:4rem}.usa-graphic-list .usa-graphic-list__row:last-child .usa-media-block{margin-bottom:0}}.usa-graphic-list .usa-media-block__img{margin-right:1.5rem}.usa-graphic-list .usa-media-block__body>:first-child{margin-top:0}.usa-graphic-list__heading{margin-bottom:0;margin-top:0;clear:both;font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.34rem;line-height:1.2;font-weight:700}*+.usa-graphic-list__heading{margin-top:1.5em}.usa-graphic-list__heading+*{margin-top:1em}.usa-header{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5}.usa-header::after{clear:both;content:"";display:block}.usa-header a{border-bottom:none}@media all and (min-width:64em){.usa-header .usa-search{float:right}.usa-header [role=search]{float:right;max-width:calc(27ch + 3rem);width:100%}}.usa-header [type=search]{min-width:0}@media all and (min-width:64em){.usa-header+.usa-hero{border-top:1px solid #fff}.usa-header+.usa-section,.usa-header+main{border-top:1px solid #dfe1e2}}@media all and (max-width:63.99em){.usa-logo{flex:1 1 0%;font-size:.93rem;line-height:.9;margin-left:1rem}}@media all and (min-width:64em){.usa-logo{margin-top:2rem;margin-bottom:1rem;font-size:1.46rem;line-height:1.1}}.usa-logo a{color:#1b1b1b;text-decoration:none}.usa-logo__text{display:block;font-style:normal;font-weight:700;margin:0}.usa-menu-btn{border:0;border-radius:0;box-shadow:none;font-weight:400;justify-content:normal;margin:0;padding:0;flex:0 1 auto;padding-left:.75rem;padding-right:.75rem;background-color:#005ea2;color:#fff;font-size:.87rem;height:3rem;text-align:center;text-decoration:none;text-transform:uppercase}.usa-menu-btn:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-menu-btn.usa-button--active,.usa-menu-btn.usa-button--disabled,.usa-menu-btn.usa-button--hover,.usa-menu-btn:active,.usa-menu-btn:disabled,.usa-menu-btn:disabled.usa-button--active,.usa-menu-btn:disabled.usa-button--hover,.usa-menu-btn:disabled.usa-focus,.usa-menu-btn:disabled:active,.usa-menu-btn:disabled:focus,.usa-menu-btn:disabled:hover,.usa-menu-btn:hover,.usa-menu-btn[aria-disabled=true],.usa-menu-btn[aria-disabled=true].usa-button--active,.usa-menu-btn[aria-disabled=true].usa-button--hover,.usa-menu-btn[aria-disabled=true].usa-focus,.usa-menu-btn[aria-disabled=true]:active,.usa-menu-btn[aria-disabled=true]:focus,.usa-menu-btn[aria-disabled=true]:hover{background-color:transparent;box-shadow:none;text-decoration:underline}.usa-menu-btn.usa-button--hover{color:#1a4480}.usa-menu-btn.usa-button--active{color:#162e51}.usa-menu-btn:disabled,.usa-menu-btn:disabled:hover,.usa-menu-btn[aria-disabled=true],.usa-menu-btn[aria-disabled=true]:focus,.usa-menu-btn[aria-disabled=true]:hover{color:#757575}@media (forced-colors:active){.usa-menu-btn:disabled,.usa-menu-btn:disabled:hover,.usa-menu-btn[aria-disabled=true],.usa-menu-btn[aria-disabled=true]:focus,.usa-menu-btn[aria-disabled=true]:hover{color:GrayText}}@media all and (min-width:64em){.usa-menu-btn{display:none}}.usa-menu-btn:hover{background-color:#1a4480;color:#fff;text-decoration:none}.usa-menu-btn:active,.usa-menu-btn:visited{color:#fff}.usa-overlay{bottom:0;left:0;right:0;top:0;position:fixed;background:rgba(0,0,0,.7);opacity:0;transition:opacity .15s ease-in-out;visibility:hidden;z-index:400}.usa-overlay.is-visible{opacity:1;visibility:visible}@media all and (min-width:64em){.usa-header--basic .usa-navbar{position:relative;width:33%}.usa-header--basic .usa-nav{flex-direction:row;align-items:center;justify-content:flex-end;display:flex;padding:0 0 .25rem .5rem;width:100%}.usa-header--basic .usa-nav-container{align-items:flex-end;justify-content:space-between;display:flex}.usa-header--basic .usa-nav__link:hover,.usa-header--basic .usa-nav__primary-item>.usa-current{position:relative}.usa-header--basic .usa-nav__link:hover::after,.usa-header--basic .usa-nav__primary-item>.usa-current::after{background-color:#005ea2;border-radius:0;content:"";display:block;position:absolute;height:.25rem;left:1rem;right:1rem;bottom:-.25rem}}@media (min-width:64em) and (forced-colors:active){.usa-header--basic .usa-nav__link:hover::after,.usa-header--basic .usa-nav__primary-item>.usa-current::after{background-color:ButtonText}}@media all and (min-width:64em){.usa-header--basic .usa-nav__link[aria-expanded=true]::after,.usa-header--basic .usa-nav__link[aria-expanded=true]:hover::after{display:none}.usa-header--basic .usa-nav__primary{width:auto}.usa-header--basic .usa-nav__primary-item:last-of-type{position:relative}.usa-header--basic .usa-nav__primary-item:last-of-type .usa-nav__submenu{position:absolute;right:0}.usa-header--basic .usa-search{top:0}}.usa-header--basic.usa-header--megamenu .usa-nav__inner{display:flex;flex-direction:column}@media all and (min-width:64em){.usa-header--basic.usa-header--megamenu .usa-nav__inner{display:block;float:right;margin-top:-2.5rem}.usa-header--basic.usa-header--megamenu .usa-nav__primary-item:last-of-type{position:static}.usa-header--extended{padding-top:0}.usa-header--extended .usa-nav__primary-item>.usa-current,.usa-header--extended .usa-nav__primary-item>.usa-nav__link:hover{position:relative}.usa-header--extended .usa-nav__primary-item>.usa-current::after,.usa-header--extended .usa-nav__primary-item>.usa-nav__link:hover::after{background-color:#005ea2;border-radius:0;content:"";display:block;position:absolute;height:.25rem;left:1rem;right:1rem;bottom:0}}@media (min-width:64em) and (forced-colors:active){.usa-header--extended .usa-nav__primary-item>.usa-current::after,.usa-header--extended .usa-nav__primary-item>.usa-nav__link:hover::after{background-color:ButtonText}}@media all and (min-width:64em){.usa-header--extended .usa-nav__link[aria-expanded=true]::after,.usa-header--extended .usa-nav__link[aria-expanded=true]:hover::after{display:none}.usa-header--extended .usa-logo{font-size:2.13rem;margin:2rem 0 1.5rem;max-width:33%}.usa-header--extended .usa-navbar{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem;display:block;height:auto;overflow:auto}}@media all and (min-width:64em) and (min-width:64em){.usa-header--extended .usa-navbar{padding-left:2rem;padding-right:2rem}}@media all and (min-width:64em){.usa-header--extended .usa-nav{border-top:1px solid #dfe1e2;padding:0;width:100%}.usa-header--extended .usa-nav__inner{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem;position:relative}}@media all and (min-width:64em) and (min-width:64em){.usa-header--extended .usa-nav__inner{padding-left:2rem;padding-right:2rem}}@media all and (min-width:64em){.usa-header--extended .usa-nav__primary{margin-left:-1rem}.usa-header--extended .usa-nav__primary::after{clear:both;content:"";display:block}.usa-header--extended .usa-nav__link{padding-bottom:1rem;padding-top:1rem}.usa-header--extended .usa-nav__submenu .usa-grid-full{padding-left:.75rem}.usa-header--extended .usa-nav__submenu.usa-megamenu{left:0;padding-left:2rem;padding-right:2rem}}html.usa-js-loading .usa-nav__submenu,html.usa-js-loading .usa-nav__submenu.usa-megamenu{position:absolute;left:-999em;right:auto}.usa-megamenu .usa-col{flex:1 1 auto}@media all and (min-width:64em){.usa-megamenu .usa-col{flex:4 1 0%}.usa-megamenu .usa-col .usa-nav__submenu-item a{padding-left:.5rem;padding-right:.5rem}.usa-megamenu .usa-col:first-child .usa-nav__submenu-item a{padding-left:0}.usa-megamenu .usa-col:last-child .usa-nav__submenu-item a{padding-right:0}.usa-megamenu.usa-nav__submenu{padding-left:0;padding-right:0;padding-bottom:2rem;padding-top:2rem;left:-33%;right:0;width:auto}.usa-megamenu.usa-nav__submenu::after,.usa-megamenu.usa-nav__submenu::before{bottom:0;top:0;background-color:#162e51;content:"";display:block;position:absolute;width:calc(50vw - 32rem + 2rem)}.usa-megamenu.usa-nav__submenu::before{right:100%}.usa-megamenu.usa-nav__submenu::after{left:100%}.usa-header--extended .usa-megamenu.usa-nav__submenu::after,.usa-header--extended .usa-megamenu.usa-nav__submenu::before{bottom:0;top:0;background-color:#162e51;content:"";display:block;position:absolute;width:calc(50vw - 32rem)}.usa-nav-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:2rem;padding-right:2rem}.usa-nav-container::after{clear:both;content:"";display:block}}@media all and (min-width:64em) and (min-width:64em){.usa-nav-container{padding-left:2rem;padding-right:2rem}}.usa-navbar{height:3rem}@media all and (max-width:63.99em){.usa-navbar{align-items:center;border-bottom:1px solid #dfe1e2;display:flex}}@media all and (min-width:64em){.usa-navbar{border-bottom:none;display:inline-block;height:auto}}.usa-hero,.usa-icon-list__content>ol,.usa-icon-list__content>p,.usa-icon-list__content>ul{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem}.usa-hero{line-height:1.5;background-image:url(../img/hero.jpg);background-position:center;background-size:cover;color:#fff}.usa-hero>.grid-container{position:relative;padding-bottom:2rem;padding-top:2rem}.usa-hero__callout{background-color:#162e51;padding:2rem}@media all and (min-width:40em){.usa-hero__callout{max-width:20rem}}.usa-hero__heading{margin-bottom:0;margin-top:0;clear:both;font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.95rem;font-weight:700;color:#00bde3;line-height:1.2}*+.usa-hero__heading{margin-top:1.5em}.usa-hero__heading+*{margin-top:1em}.usa-hero__heading--alt{color:#fff;display:block}.usa-icon-list{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5;margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;max-width:72ex}.usa-icon-list__item{display:flex;position:relative}.usa-icon-list__item+.usa-icon-list__item,.usa-prose .usa-icon-list__item+.usa-icon-list__item{padding-top:.75rem}.usa-prose .usa-icon-list{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5;margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;max-width:72ex}.usa-prose .usa-icon-list__item{display:flex;position:relative}.usa-icon-list--base-lightest .usa-icon-list__icon{color:#f0f0f0}.usa-icon-list--base-lighter .usa-icon-list__icon,.usa-identifier__identity-disclaimer a,.usa-identifier__identity-disclaimer a:visited{color:#dfe1e2}.usa-icon-list--base-light .usa-icon-list__icon{color:#a9aeb1}.usa-icon-list--base .usa-icon-list__icon{color:#71767a}.usa-icon-list--base-dark .usa-icon-list__icon{color:#565c65}.usa-icon-list--base-darker .usa-icon-list__icon{color:#3d4551}.usa-icon-list--base-darkest .usa-icon-list__icon{color:#1b1b1b}.usa-icon-list--primary-lighter .usa-icon-list__icon{color:#d9e8f6}.usa-icon-list--primary-light .usa-icon-list__icon{color:#73b3e7}.usa-icon-list--primary .usa-icon-list__icon{color:#005ea2}.usa-icon-list--primary-vivid .usa-icon-list__icon{color:#0050d8}.usa-icon-list--primary-dark .usa-icon-list__icon{color:#1a4480}.usa-icon-list--primary-darker .usa-icon-list__icon{color:#162e51}.usa-icon-list--secondary-lighter .usa-icon-list__icon{color:#f3e1e4}.usa-icon-list--secondary-light .usa-icon-list__icon{color:#f2938c}.usa-icon-list--secondary .usa-icon-list__icon{color:#d83933}.usa-icon-list--secondary-vivid .usa-icon-list__icon{color:#e41d3d}.usa-icon-list--secondary-dark .usa-icon-list__icon{color:#b50909}.usa-icon-list--secondary-darker .usa-icon-list__icon{color:#8b0a03}.usa-icon-list--accent-warm-lighter .usa-icon-list__icon{color:#f2e4d4}.usa-icon-list--accent-warm-light .usa-icon-list__icon{color:#ffbc78}.usa-icon-list--accent-warm .usa-icon-list__icon{color:#fa9441}.usa-icon-list--accent-warm-dark .usa-icon-list__icon{color:#c05600}.usa-icon-list--accent-warm-darker .usa-icon-list__icon{color:#775540}.usa-icon-list--accent-cool-lighter .usa-icon-list__icon{color:#e1f3f8}.usa-icon-list--accent-cool-light .usa-icon-list__icon{color:#97d4ea}.usa-icon-list--accent-cool .usa-icon-list__icon{color:#00bde3}.usa-icon-list--accent-cool-dark .usa-icon-list__icon{color:#28a0cb}.usa-icon-list--accent-cool-darker .usa-icon-list__icon{color:#07648d}.usa-icon-list--error-lighter .usa-icon-list__icon{color:#f4e3db}.usa-icon-list--error-light .usa-icon-list__icon{color:#f39268}.usa-icon-list--error .usa-icon-list__icon{color:#d54309}.usa-icon-list--error-dark .usa-icon-list__icon{color:#b50909}.usa-icon-list--error-darker .usa-icon-list__icon{color:#6f3331}.usa-icon-list--warning-lighter .usa-icon-list__icon{color:#faf3d1}.usa-icon-list--warning-light .usa-icon-list__icon{color:#fee685}.usa-icon-list--warning .usa-icon-list__icon{color:#ffbe2e}.usa-icon-list--warning-dark .usa-icon-list__icon{color:#e5a000}.usa-icon-list--warning-darker .usa-icon-list__icon{color:#936f38}.usa-icon-list--success-lighter .usa-icon-list__icon{color:#ecf3ec}.usa-icon-list--success-light .usa-icon-list__icon{color:#70e17b}.usa-icon-list--success .usa-icon-list__icon{color:#00a91c}.usa-icon-list--success-dark .usa-icon-list__icon{color:#008817}.usa-icon-list--success-darker .usa-icon-list__icon{color:#216e1f}.usa-icon-list--info-lighter .usa-icon-list__icon{color:#e7f6f8}.usa-icon-list--info-light .usa-icon-list__icon{color:#99deea}.usa-icon-list--info .usa-icon-list__icon,.usa-section--dark h1,.usa-section--dark h2,.usa-section--dark h3,.usa-section--dark h4,.usa-section--dark h5,.usa-section--dark h6{color:#00bde3}.usa-icon-list--info-dark .usa-icon-list__icon{color:#009ec1}.usa-icon-list--info-darker .usa-icon-list__icon{color:#2e6276}.usa-icon-list--disabled-lighter .usa-icon-list__icon{color:#c9c9c9}.usa-icon-list--disabled-light .usa-icon-list__icon{color:#919191}.usa-icon-list--disabled .usa-icon-list__icon{color:#757575}.usa-icon-list--disabled-dark .usa-icon-list__icon{color:#454545}.usa-icon-list--disabled-darker .usa-icon-list__icon{color:#1b1b1b}.usa-icon-list--emergency .usa-icon-list__icon{color:#9c3d10}.usa-icon-list--emergency-dark .usa-icon-list__icon{color:#332d29}.usa-icon-list__icon .usa-icon{display:block;height:1.5rem;position:relative;width:1.5rem}.usa-icon-list__content>ol,.usa-icon-list__content>p,.usa-icon-list__content>ul{max-width:72ex}.usa-icon-list[class*=usa-icon-list--size-]{max-width:none}.usa-icon-list--size-micro .usa-icon-list__icon .usa-icon{height:1.005rem;width:1.005rem}.usa-icon-list--size-micro .usa-icon-list__content{max-width:72ex;font-size:.67rem;padding-left:.268rem}.usa-icon-list--size-micro .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.61rem}.usa-icon-list--size-1 .usa-icon-list__icon .usa-icon{height:1.2rem;width:1.2rem}.usa-icon-list--size-1 .usa-icon-list__content{max-width:72ex;font-size:.8rem;padding-left:.32rem}.usa-icon-list--size-1 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.73rem}.usa-icon-list--size-2 .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.usa-icon-list--size-2 .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.usa-icon-list--size-2 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.79rem}.usa-icon-list--size-3 .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.usa-icon-list--size-3 .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.usa-icon-list--size-3 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.85rem}.usa-icon-list--size-4 .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.usa-icon-list--size-4 .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.usa-icon-list--size-4 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.91rem}.usa-icon-list--size-5 .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.usa-icon-list--size-5 .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.usa-icon-list--size-5 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.98rem}.usa-icon-list--size-6 .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.usa-icon-list--size-6 .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.usa-icon-list--size-6 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.04rem}.usa-icon-list--size-7 .usa-icon-list__icon .usa-icon{height:1.8rem;width:1.8rem}.usa-icon-list--size-7 .usa-icon-list__content{max-width:72ex;font-size:1.2rem;padding-left:.48rem}.usa-icon-list--size-7 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.1rem}.usa-icon-list--size-8 .usa-icon-list__icon .usa-icon{height:1.995rem;width:1.995rem}.usa-icon-list--size-8 .usa-icon-list__content{max-width:72ex;font-size:1.33rem;padding-left:.532rem}.usa-icon-list--size-8 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.22rem}.usa-icon-list--size-9 .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.usa-icon-list--size-9 .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.usa-icon-list--size-9 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.34rem}.usa-icon-list--size-10 .usa-icon-list__icon .usa-icon{height:2.4rem;width:2.4rem}.usa-icon-list--size-10 .usa-icon-list__content{max-width:72ex;font-size:1.6rem;padding-left:.64rem}.usa-icon-list--size-10 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.46rem}.usa-icon-list--size-11 .usa-icon-list__icon .usa-icon{height:2.79rem;width:2.79rem}.usa-icon-list--size-11 .usa-icon-list__content{max-width:72ex;font-size:1.86rem;padding-left:.744rem}.usa-icon-list--size-11 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.71rem}.usa-icon-list--size-12 .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.usa-icon-list--size-12 .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.usa-icon-list--size-12 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.95rem}.usa-icon-list--size-13 .usa-icon-list__icon .usa-icon{height:3.6rem;width:3.6rem}.usa-icon-list--size-13 .usa-icon-list__content{max-width:72ex;font-size:2.4rem;padding-left:.96rem}.usa-icon-list--size-13 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.2rem}.usa-icon-list--size-14 .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.usa-icon-list--size-14 .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.usa-icon-list--size-14 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.44rem}.usa-icon-list--size-15 .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.usa-icon-list--size-15 .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.usa-icon-list--size-15 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.93rem}.usa-icon-list--size-16 .usa-icon-list__icon .usa-icon{height:5.595rem;width:5.595rem}.usa-icon-list--size-16 .usa-icon-list__content{max-width:72ex;font-size:3.73rem;padding-left:1.492rem}.usa-icon-list--size-16 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:3.42rem}.usa-icon-list--size-17 .usa-icon-list__icon .usa-icon{height:6.39rem;width:6.39rem}.usa-icon-list--size-17 .usa-icon-list__content{max-width:72ex;font-size:4.26rem;padding-left:1.704rem}.usa-icon-list--size-17 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:3.9rem}.usa-icon-list--size-18 .usa-icon-list__icon .usa-icon{height:7.98rem;width:7.98rem}.usa-icon-list--size-18 .usa-icon-list__content{max-width:72ex;font-size:5.32rem;padding-left:2.128rem}.usa-icon-list--size-18 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:4.88rem}.usa-icon-list--size-19 .usa-icon-list__icon .usa-icon{height:11.985rem;width:11.985rem}.usa-icon-list--size-19 .usa-icon-list__content{max-width:72ex;font-size:7.99rem;padding-left:3.196rem}.usa-icon-list--size-19 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:7.32rem}.usa-icon-list--size-20 .usa-icon-list__icon .usa-icon{height:13.98rem;width:13.98rem}.usa-icon-list--size-20 .usa-icon-list__content{max-width:72ex;font-size:9.32rem;padding-left:3.728rem}.usa-icon-list--size-20 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:8.54rem}.usa-icon-list--size-3xs .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.usa-icon-list--size-3xs .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.usa-icon-list--size-3xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.79rem}.usa-icon-list--size-2xs .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.usa-icon-list--size-2xs .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.usa-icon-list--size-2xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.85rem}.usa-icon-list--size-xs .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.usa-icon-list--size-xs .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.usa-icon-list--size-xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.91rem}.usa-icon-list--size-sm .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.usa-icon-list--size-sm .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.usa-icon-list--size-sm .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.98rem}.usa-icon-list--size-md .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.usa-icon-list--size-md .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.usa-icon-list--size-md .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.04rem}.usa-icon-list--size-lg .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.usa-icon-list--size-lg .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.usa-icon-list--size-lg .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.34rem}.usa-icon-list--size-xl .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.usa-icon-list--size-xl .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.usa-icon-list--size-xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.95rem}.usa-icon-list--size-2xl .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.usa-icon-list--size-2xl .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.usa-icon-list--size-2xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.44rem}.usa-icon-list--size-3xl .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.usa-icon-list--size-3xl .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.usa-icon-list--size-3xl .usa-icon-list__content .usa-icon-list__title,.usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.93rem}@media all and (min-width:30em){.mobile-lg\:usa-icon-list--size-micro .usa-icon-list__icon .usa-icon{height:1.005rem;width:1.005rem}.mobile-lg\:usa-icon-list--size-micro .usa-icon-list__content{max-width:72ex;font-size:.67rem;padding-left:.268rem}.mobile-lg\:usa-icon-list--size-micro .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.61rem}.mobile-lg\:usa-icon-list--size-1 .usa-icon-list__icon .usa-icon{height:1.2rem;width:1.2rem}.mobile-lg\:usa-icon-list--size-1 .usa-icon-list__content{max-width:72ex;font-size:.8rem;padding-left:.32rem}.mobile-lg\:usa-icon-list--size-1 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.73rem}.mobile-lg\:usa-icon-list--size-2 .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.mobile-lg\:usa-icon-list--size-2 .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.mobile-lg\:usa-icon-list--size-2 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.79rem}.mobile-lg\:usa-icon-list--size-3 .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.mobile-lg\:usa-icon-list--size-3 .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.mobile-lg\:usa-icon-list--size-3 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.85rem}.mobile-lg\:usa-icon-list--size-4 .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.mobile-lg\:usa-icon-list--size-4 .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.mobile-lg\:usa-icon-list--size-4 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.91rem}.mobile-lg\:usa-icon-list--size-5 .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.mobile-lg\:usa-icon-list--size-5 .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.mobile-lg\:usa-icon-list--size-5 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.98rem}.mobile-lg\:usa-icon-list--size-6 .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.mobile-lg\:usa-icon-list--size-6 .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.mobile-lg\:usa-icon-list--size-6 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.04rem}.mobile-lg\:usa-icon-list--size-7 .usa-icon-list__icon .usa-icon{height:1.8rem;width:1.8rem}.mobile-lg\:usa-icon-list--size-7 .usa-icon-list__content{max-width:72ex;font-size:1.2rem;padding-left:.48rem}.mobile-lg\:usa-icon-list--size-7 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.1rem}.mobile-lg\:usa-icon-list--size-8 .usa-icon-list__icon .usa-icon{height:1.995rem;width:1.995rem}.mobile-lg\:usa-icon-list--size-8 .usa-icon-list__content{max-width:72ex;font-size:1.33rem;padding-left:.532rem}.mobile-lg\:usa-icon-list--size-8 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.22rem}.mobile-lg\:usa-icon-list--size-9 .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.mobile-lg\:usa-icon-list--size-9 .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.mobile-lg\:usa-icon-list--size-9 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.34rem}.mobile-lg\:usa-icon-list--size-10 .usa-icon-list__icon .usa-icon{height:2.4rem;width:2.4rem}.mobile-lg\:usa-icon-list--size-10 .usa-icon-list__content{max-width:72ex;font-size:1.6rem;padding-left:.64rem}.mobile-lg\:usa-icon-list--size-10 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.46rem}.mobile-lg\:usa-icon-list--size-11 .usa-icon-list__icon .usa-icon{height:2.79rem;width:2.79rem}.mobile-lg\:usa-icon-list--size-11 .usa-icon-list__content{max-width:72ex;font-size:1.86rem;padding-left:.744rem}.mobile-lg\:usa-icon-list--size-11 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.71rem}.mobile-lg\:usa-icon-list--size-12 .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.mobile-lg\:usa-icon-list--size-12 .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.mobile-lg\:usa-icon-list--size-12 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.95rem}.mobile-lg\:usa-icon-list--size-13 .usa-icon-list__icon .usa-icon{height:3.6rem;width:3.6rem}.mobile-lg\:usa-icon-list--size-13 .usa-icon-list__content{max-width:72ex;font-size:2.4rem;padding-left:.96rem}.mobile-lg\:usa-icon-list--size-13 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.2rem}.mobile-lg\:usa-icon-list--size-14 .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.mobile-lg\:usa-icon-list--size-14 .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.mobile-lg\:usa-icon-list--size-14 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.44rem}.mobile-lg\:usa-icon-list--size-15 .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.mobile-lg\:usa-icon-list--size-15 .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.mobile-lg\:usa-icon-list--size-15 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.93rem}.mobile-lg\:usa-icon-list--size-16 .usa-icon-list__icon .usa-icon{height:5.595rem;width:5.595rem}.mobile-lg\:usa-icon-list--size-16 .usa-icon-list__content{max-width:72ex;font-size:3.73rem;padding-left:1.492rem}.mobile-lg\:usa-icon-list--size-16 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:3.42rem}.mobile-lg\:usa-icon-list--size-17 .usa-icon-list__icon .usa-icon{height:6.39rem;width:6.39rem}.mobile-lg\:usa-icon-list--size-17 .usa-icon-list__content{max-width:72ex;font-size:4.26rem;padding-left:1.704rem}.mobile-lg\:usa-icon-list--size-17 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:3.9rem}.mobile-lg\:usa-icon-list--size-18 .usa-icon-list__icon .usa-icon{height:7.98rem;width:7.98rem}.mobile-lg\:usa-icon-list--size-18 .usa-icon-list__content{max-width:72ex;font-size:5.32rem;padding-left:2.128rem}.mobile-lg\:usa-icon-list--size-18 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:4.88rem}.mobile-lg\:usa-icon-list--size-19 .usa-icon-list__icon .usa-icon{height:11.985rem;width:11.985rem}.mobile-lg\:usa-icon-list--size-19 .usa-icon-list__content{max-width:72ex;font-size:7.99rem;padding-left:3.196rem}.mobile-lg\:usa-icon-list--size-19 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:7.32rem}.mobile-lg\:usa-icon-list--size-20 .usa-icon-list__icon .usa-icon{height:13.98rem;width:13.98rem}.mobile-lg\:usa-icon-list--size-20 .usa-icon-list__content{max-width:72ex;font-size:9.32rem;padding-left:3.728rem}.mobile-lg\:usa-icon-list--size-20 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:8.54rem}.mobile-lg\:usa-icon-list--size-3xs .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.mobile-lg\:usa-icon-list--size-3xs .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.mobile-lg\:usa-icon-list--size-3xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.79rem}.mobile-lg\:usa-icon-list--size-2xs .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.mobile-lg\:usa-icon-list--size-2xs .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.mobile-lg\:usa-icon-list--size-2xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.85rem}.mobile-lg\:usa-icon-list--size-xs .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.mobile-lg\:usa-icon-list--size-xs .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.mobile-lg\:usa-icon-list--size-xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.91rem}.mobile-lg\:usa-icon-list--size-sm .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.mobile-lg\:usa-icon-list--size-sm .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.mobile-lg\:usa-icon-list--size-sm .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.98rem}.mobile-lg\:usa-icon-list--size-md .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.mobile-lg\:usa-icon-list--size-md .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.mobile-lg\:usa-icon-list--size-md .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.04rem}.mobile-lg\:usa-icon-list--size-lg .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.mobile-lg\:usa-icon-list--size-lg .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.mobile-lg\:usa-icon-list--size-lg .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.34rem}.mobile-lg\:usa-icon-list--size-xl .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.mobile-lg\:usa-icon-list--size-xl .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.mobile-lg\:usa-icon-list--size-xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.95rem}.mobile-lg\:usa-icon-list--size-2xl .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.mobile-lg\:usa-icon-list--size-2xl .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.mobile-lg\:usa-icon-list--size-2xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.44rem}.mobile-lg\:usa-icon-list--size-3xl .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.mobile-lg\:usa-icon-list--size-3xl .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.mobile-lg\:usa-icon-list--size-3xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.93rem}}@media all and (min-width:40em){.tablet\:usa-icon-list--size-micro .usa-icon-list__icon .usa-icon{height:1.005rem;width:1.005rem}.tablet\:usa-icon-list--size-micro .usa-icon-list__content{max-width:72ex;font-size:.67rem;padding-left:.268rem}.tablet\:usa-icon-list--size-micro .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.61rem}.tablet\:usa-icon-list--size-1 .usa-icon-list__icon .usa-icon{height:1.2rem;width:1.2rem}.tablet\:usa-icon-list--size-1 .usa-icon-list__content{max-width:72ex;font-size:.8rem;padding-left:.32rem}.tablet\:usa-icon-list--size-1 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.73rem}.tablet\:usa-icon-list--size-2 .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.tablet\:usa-icon-list--size-2 .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.tablet\:usa-icon-list--size-2 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.79rem}.tablet\:usa-icon-list--size-3 .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.tablet\:usa-icon-list--size-3 .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.tablet\:usa-icon-list--size-3 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.85rem}.tablet\:usa-icon-list--size-4 .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.tablet\:usa-icon-list--size-4 .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.tablet\:usa-icon-list--size-4 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.91rem}.tablet\:usa-icon-list--size-5 .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.tablet\:usa-icon-list--size-5 .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.tablet\:usa-icon-list--size-5 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.98rem}.tablet\:usa-icon-list--size-6 .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.tablet\:usa-icon-list--size-6 .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.tablet\:usa-icon-list--size-6 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.04rem}.tablet\:usa-icon-list--size-7 .usa-icon-list__icon .usa-icon{height:1.8rem;width:1.8rem}.tablet\:usa-icon-list--size-7 .usa-icon-list__content{max-width:72ex;font-size:1.2rem;padding-left:.48rem}.tablet\:usa-icon-list--size-7 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.1rem}.tablet\:usa-icon-list--size-8 .usa-icon-list__icon .usa-icon{height:1.995rem;width:1.995rem}.tablet\:usa-icon-list--size-8 .usa-icon-list__content{max-width:72ex;font-size:1.33rem;padding-left:.532rem}.tablet\:usa-icon-list--size-8 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.22rem}.tablet\:usa-icon-list--size-9 .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.tablet\:usa-icon-list--size-9 .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.tablet\:usa-icon-list--size-9 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.34rem}.tablet\:usa-icon-list--size-10 .usa-icon-list__icon .usa-icon{height:2.4rem;width:2.4rem}.tablet\:usa-icon-list--size-10 .usa-icon-list__content{max-width:72ex;font-size:1.6rem;padding-left:.64rem}.tablet\:usa-icon-list--size-10 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.46rem}.tablet\:usa-icon-list--size-11 .usa-icon-list__icon .usa-icon{height:2.79rem;width:2.79rem}.tablet\:usa-icon-list--size-11 .usa-icon-list__content{max-width:72ex;font-size:1.86rem;padding-left:.744rem}.tablet\:usa-icon-list--size-11 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.71rem}.tablet\:usa-icon-list--size-12 .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.tablet\:usa-icon-list--size-12 .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.tablet\:usa-icon-list--size-12 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.95rem}.tablet\:usa-icon-list--size-13 .usa-icon-list__icon .usa-icon{height:3.6rem;width:3.6rem}.tablet\:usa-icon-list--size-13 .usa-icon-list__content{max-width:72ex;font-size:2.4rem;padding-left:.96rem}.tablet\:usa-icon-list--size-13 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.2rem}.tablet\:usa-icon-list--size-14 .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.tablet\:usa-icon-list--size-14 .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.tablet\:usa-icon-list--size-14 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.44rem}.tablet\:usa-icon-list--size-15 .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.tablet\:usa-icon-list--size-15 .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.tablet\:usa-icon-list--size-15 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.93rem}.tablet\:usa-icon-list--size-16 .usa-icon-list__icon .usa-icon{height:5.595rem;width:5.595rem}.tablet\:usa-icon-list--size-16 .usa-icon-list__content{max-width:72ex;font-size:3.73rem;padding-left:1.492rem}.tablet\:usa-icon-list--size-16 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:3.42rem}.tablet\:usa-icon-list--size-17 .usa-icon-list__icon .usa-icon{height:6.39rem;width:6.39rem}.tablet\:usa-icon-list--size-17 .usa-icon-list__content{max-width:72ex;font-size:4.26rem;padding-left:1.704rem}.tablet\:usa-icon-list--size-17 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:3.9rem}.tablet\:usa-icon-list--size-18 .usa-icon-list__icon .usa-icon{height:7.98rem;width:7.98rem}.tablet\:usa-icon-list--size-18 .usa-icon-list__content{max-width:72ex;font-size:5.32rem;padding-left:2.128rem}.tablet\:usa-icon-list--size-18 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:4.88rem}.tablet\:usa-icon-list--size-19 .usa-icon-list__icon .usa-icon{height:11.985rem;width:11.985rem}.tablet\:usa-icon-list--size-19 .usa-icon-list__content{max-width:72ex;font-size:7.99rem;padding-left:3.196rem}.tablet\:usa-icon-list--size-19 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:7.32rem}.tablet\:usa-icon-list--size-20 .usa-icon-list__icon .usa-icon{height:13.98rem;width:13.98rem}.tablet\:usa-icon-list--size-20 .usa-icon-list__content{max-width:72ex;font-size:9.32rem;padding-left:3.728rem}.tablet\:usa-icon-list--size-20 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:8.54rem}.tablet\:usa-icon-list--size-3xs .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.tablet\:usa-icon-list--size-3xs .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.tablet\:usa-icon-list--size-3xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.79rem}.tablet\:usa-icon-list--size-2xs .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.tablet\:usa-icon-list--size-2xs .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.tablet\:usa-icon-list--size-2xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.85rem}.tablet\:usa-icon-list--size-xs .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.tablet\:usa-icon-list--size-xs .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.tablet\:usa-icon-list--size-xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.91rem}.tablet\:usa-icon-list--size-sm .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.tablet\:usa-icon-list--size-sm .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.tablet\:usa-icon-list--size-sm .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.98rem}.tablet\:usa-icon-list--size-md .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.tablet\:usa-icon-list--size-md .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.tablet\:usa-icon-list--size-md .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.04rem}.tablet\:usa-icon-list--size-lg .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.tablet\:usa-icon-list--size-lg .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.tablet\:usa-icon-list--size-lg .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.34rem}.tablet\:usa-icon-list--size-xl .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.tablet\:usa-icon-list--size-xl .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.tablet\:usa-icon-list--size-xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.95rem}.tablet\:usa-icon-list--size-2xl .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.tablet\:usa-icon-list--size-2xl .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.tablet\:usa-icon-list--size-2xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.44rem}.tablet\:usa-icon-list--size-3xl .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.tablet\:usa-icon-list--size-3xl .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.tablet\:usa-icon-list--size-3xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.93rem}}@media all and (min-width:64em){.desktop\:usa-icon-list--size-micro .usa-icon-list__icon .usa-icon{height:1.005rem;width:1.005rem}.desktop\:usa-icon-list--size-micro .usa-icon-list__content{max-width:72ex;font-size:.67rem;padding-left:.268rem}.desktop\:usa-icon-list--size-micro .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.61rem}.desktop\:usa-icon-list--size-1 .usa-icon-list__icon .usa-icon{height:1.2rem;width:1.2rem}.desktop\:usa-icon-list--size-1 .usa-icon-list__content{max-width:72ex;font-size:.8rem;padding-left:.32rem}.desktop\:usa-icon-list--size-1 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.73rem}.desktop\:usa-icon-list--size-2 .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.desktop\:usa-icon-list--size-2 .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.desktop\:usa-icon-list--size-2 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.79rem}.desktop\:usa-icon-list--size-3 .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.desktop\:usa-icon-list--size-3 .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.desktop\:usa-icon-list--size-3 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.85rem}.desktop\:usa-icon-list--size-4 .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.desktop\:usa-icon-list--size-4 .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.desktop\:usa-icon-list--size-4 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.91rem}.desktop\:usa-icon-list--size-5 .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.desktop\:usa-icon-list--size-5 .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.desktop\:usa-icon-list--size-5 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.98rem}.desktop\:usa-icon-list--size-6 .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.desktop\:usa-icon-list--size-6 .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.desktop\:usa-icon-list--size-6 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.04rem}.desktop\:usa-icon-list--size-7 .usa-icon-list__icon .usa-icon{height:1.8rem;width:1.8rem}.desktop\:usa-icon-list--size-7 .usa-icon-list__content{max-width:72ex;font-size:1.2rem;padding-left:.48rem}.desktop\:usa-icon-list--size-7 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.1rem}.desktop\:usa-icon-list--size-8 .usa-icon-list__icon .usa-icon{height:1.995rem;width:1.995rem}.desktop\:usa-icon-list--size-8 .usa-icon-list__content{max-width:72ex;font-size:1.33rem;padding-left:.532rem}.desktop\:usa-icon-list--size-8 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.22rem}.desktop\:usa-icon-list--size-9 .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.desktop\:usa-icon-list--size-9 .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.desktop\:usa-icon-list--size-9 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.34rem}.desktop\:usa-icon-list--size-10 .usa-icon-list__icon .usa-icon{height:2.4rem;width:2.4rem}.desktop\:usa-icon-list--size-10 .usa-icon-list__content{max-width:72ex;font-size:1.6rem;padding-left:.64rem}.desktop\:usa-icon-list--size-10 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.46rem}.desktop\:usa-icon-list--size-11 .usa-icon-list__icon .usa-icon{height:2.79rem;width:2.79rem}.desktop\:usa-icon-list--size-11 .usa-icon-list__content{max-width:72ex;font-size:1.86rem;padding-left:.744rem}.desktop\:usa-icon-list--size-11 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.71rem}.desktop\:usa-icon-list--size-12 .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.desktop\:usa-icon-list--size-12 .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.desktop\:usa-icon-list--size-12 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.95rem}.desktop\:usa-icon-list--size-13 .usa-icon-list__icon .usa-icon{height:3.6rem;width:3.6rem}.desktop\:usa-icon-list--size-13 .usa-icon-list__content{max-width:72ex;font-size:2.4rem;padding-left:.96rem}.desktop\:usa-icon-list--size-13 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.2rem}.desktop\:usa-icon-list--size-14 .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.desktop\:usa-icon-list--size-14 .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.desktop\:usa-icon-list--size-14 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.44rem}.desktop\:usa-icon-list--size-15 .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.desktop\:usa-icon-list--size-15 .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.desktop\:usa-icon-list--size-15 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.93rem}.desktop\:usa-icon-list--size-16 .usa-icon-list__icon .usa-icon{height:5.595rem;width:5.595rem}.desktop\:usa-icon-list--size-16 .usa-icon-list__content{max-width:72ex;font-size:3.73rem;padding-left:1.492rem}.desktop\:usa-icon-list--size-16 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:3.42rem}.desktop\:usa-icon-list--size-17 .usa-icon-list__icon .usa-icon{height:6.39rem;width:6.39rem}.desktop\:usa-icon-list--size-17 .usa-icon-list__content{max-width:72ex;font-size:4.26rem;padding-left:1.704rem}.desktop\:usa-icon-list--size-17 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:3.9rem}.desktop\:usa-icon-list--size-18 .usa-icon-list__icon .usa-icon{height:7.98rem;width:7.98rem}.desktop\:usa-icon-list--size-18 .usa-icon-list__content{max-width:72ex;font-size:5.32rem;padding-left:2.128rem}.desktop\:usa-icon-list--size-18 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:4.88rem}.desktop\:usa-icon-list--size-19 .usa-icon-list__icon .usa-icon{height:11.985rem;width:11.985rem}.desktop\:usa-icon-list--size-19 .usa-icon-list__content{max-width:72ex;font-size:7.99rem;padding-left:3.196rem}.desktop\:usa-icon-list--size-19 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:7.32rem}.desktop\:usa-icon-list--size-20 .usa-icon-list__icon .usa-icon{height:13.98rem;width:13.98rem}.desktop\:usa-icon-list--size-20 .usa-icon-list__content{max-width:72ex;font-size:9.32rem;padding-left:3.728rem}.desktop\:usa-icon-list--size-20 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:8.54rem}.desktop\:usa-icon-list--size-3xs .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.desktop\:usa-icon-list--size-3xs .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.desktop\:usa-icon-list--size-3xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.79rem}.desktop\:usa-icon-list--size-2xs .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.desktop\:usa-icon-list--size-2xs .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.desktop\:usa-icon-list--size-2xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.85rem}.desktop\:usa-icon-list--size-xs .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.desktop\:usa-icon-list--size-xs .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.desktop\:usa-icon-list--size-xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.91rem}.desktop\:usa-icon-list--size-sm .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.desktop\:usa-icon-list--size-sm .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.desktop\:usa-icon-list--size-sm .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.98rem}.desktop\:usa-icon-list--size-md .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.desktop\:usa-icon-list--size-md .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.desktop\:usa-icon-list--size-md .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.04rem}.desktop\:usa-icon-list--size-lg .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.desktop\:usa-icon-list--size-lg .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.desktop\:usa-icon-list--size-lg .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.34rem}.desktop\:usa-icon-list--size-xl .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.desktop\:usa-icon-list--size-xl .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.desktop\:usa-icon-list--size-xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.95rem}.desktop\:usa-icon-list--size-2xl .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.desktop\:usa-icon-list--size-2xl .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.desktop\:usa-icon-list--size-2xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.44rem}.desktop\:usa-icon-list--size-3xl .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.desktop\:usa-icon-list--size-3xl .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.desktop\:usa-icon-list--size-3xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.93rem}}.usa-icon-list__title{font-size:.98rem;line-height:1.2;margin-bottom:0;padding-top:.425ex}.usa-icon-list__title+*{margin-top:.5rem}.usa-icon-list__content{font-size:1.06rem;padding-left:.424rem}.usa-icon-list__content>:first-child{margin-top:0}.usa-icon-list__content>:last-child{margin-bottom:0}.usa-icon-list__content ul li,.usa-process-list__item ul{list-style-type:disc}.usa-identifier{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.3;color:#fff;background-color:#1b1b1b;padding-bottom:1rem}.usa-identifier__container{margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem;max-width:64rem}@media all and (min-width:64em){.usa-identifier__container{padding-left:2rem;padding-right:2rem}}.usa-identifier__section{padding-bottom:1rem;padding-top:1rem}@media all and (min-width:40em){.usa-identifier__section--masthead .usa-identifier__container{align-items:center;display:flex}}.usa-identifier__logos{display:flex;margin-right:1rem}.usa-identifier__logo{text-decoration:none;height:3rem;display:block}.usa-identifier__logo+.usa-identifier__logo{margin-left:.5rem}.usa-identifier__logo-img{height:100%;width:auto}.usa-identifier__identity{flex:1 1 0%;margin-top:1rem}@media all and (min-width:40em){.usa-identifier__identity{margin-top:0}}.usa-identifier__identity-disclaimer,.usa-identifier__identity-domain{margin:0;padding:0}.usa-identifier__identity-domain{color:#a9aeb1}.usa-identifier__identity-disclaimer{font-weight:700}.usa-identifier__identity-disclaimer a:active,.usa-identifier__identity-disclaimer a:hover{color:#f0f0f0}@media all and (min-width:40em){.usa-identifier__section--required-links{padding-bottom:.5rem;padding-top:.5rem}}@media all and (min-width:64em){.usa-identifier__section--required-links{font-size:1rem}}.usa-identifier__required-links-list{list-style-type:none;padding-left:0;margin-bottom:0;margin-top:0}@media all and (min-width:40em){.usa-identifier__required-links-list{-moz-column-count:2;column-count:2;-moz-column-gap:2rem;column-gap:2rem;-moz-column-fill:balance;column-fill:balance}}@media all and (min-width:64em){.usa-identifier__required-links-list{-moz-column-count:4;column-count:4}}.usa-identifier__required-links-item{-moz-column-break-inside:avoid;break-inside:avoid;margin-bottom:.75rem}.usa-identifier__required-links-item:last-child,.usa-process-list__item ul li:last-child{margin-bottom:0}@media all and (min-width:64em){.usa-identifier__required-links-item{margin-bottom:.5rem}}.usa-identifier__required-link,.usa-identifier__required-link.usa-link{color:#a9aeb1;display:inline-block}.usa-identifier__required-link.usa-link:visited,.usa-identifier__required-link:visited{color:#a9aeb1}.usa-identifier__required-link.usa-link:active,.usa-identifier__required-link.usa-link:hover,.usa-identifier__required-link:active,.usa-identifier__required-link:hover,.usa-identifier__section--usagov a:visited{color:#dfe1e2}.usa-identifier__section--usagov a{color:#dfe1e2;font-weight:700;display:inline-block;margin-top:.5rem}.usa-identifier__section--usagov a:active,.usa-identifier__section--usagov a:hover{color:#f0f0f0}@media all and (min-width:40em){.usa-identifier__section--usagov a{margin-top:0}.usa-identifier__usagov-description{display:inline-flex}}.usa-in-page-nav-container{align-items:flex-start;display:flex}.usa-in-page-nav-container main{max-width:64rem;width:100%}.usa-in-page-nav{color:#1b1b1b;display:none;margin-left:2rem;margin-top:1.25rem;max-width:15rem;order:2;position:sticky;top:2rem;width:100%}@media all and (min-width:40em){.usa-in-page-nav{display:block}}.usa-in-page-nav__nav{color:#1b1b1b;background-color:#fff;border-radius:.5rem;padding:1rem}.usa-in-page-nav__heading{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:.93rem;line-height:1.3;font-weight:700;margin-bottom:1rem;margin-top:0;padding:0}.usa-in-page-nav__list{margin-bottom:0;margin-top:0;list-style-type:none;border-left:1px solid rgba(27,27,27,.25);padding:0}.usa-in-page-nav__list__item{border-top:1px solid #dfe1e2}.usa-in-page-nav__list a:not(.usa-button){display:block;padding:.5rem 1rem;text-decoration:none}.usa-in-page-nav__list a:not(.usa-button):not(.usa-current){color:#005ea2}.usa-in-page-nav__list a:not(.usa-button):not(.usa-current):focus{outline-offset:0}.usa-in-page-nav__list .usa-current{position:relative;color:#005ea2;font-weight:700}.usa-in-page-nav__list .usa-current::after{background-color:#005ea2;border-radius:99rem;content:"";display:block;position:absolute;bottom:.25rem;top:.25rem;width:.25rem;left:.25rem}@media all and (min-width:40em){.usa-in-page-nav__list .usa-current{position:relative}.usa-in-page-nav__list .usa-current::after{background-color:#005ea2;border-radius:99rem;content:"";display:block;position:absolute;bottom:.25rem;top:.25rem;width:.25rem;left:0}}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:visited,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:visited{color:#54278f}.usa-in-page-nav__list a:not(.usa-button):not(.usa-current):active,.usa-in-page-nav__list a:not(.usa-button):not(.usa-current):hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:hover{color:#1a4480}.usa-in-page-nav__list a:not(.usa-button):not(.usa-current):visited{color:#005ea2}.usa-in-page-nav__list a:not(.usa-button).usa-current{color:#1b1b1b;font-weight:inherit}.usa-in-page-nav__list a:not(.usa-button):hover{text-decoration:underline;background-color:none}.usa-in-page-nav__list a:not(.usa-button).usa-current{position:static}.usa-in-page-nav__list a:not(.usa-button).usa-current::after{background-color:#1b1b1b;border-radius:0;bottom:-1px;left:0;top:0;width:.25rem;z-index:100}.usa-in-page-nav__item{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:.93rem;line-height:1.1;border:0;position:relative}.usa-in-page-nav__item--primary{font-weight:700}.usa-language{flex-direction:row;padding:0 0 .25rem .5rem;width:100%}.usa-language--small .usa-button{padding-left:.75rem;padding-right:.75rem;padding-bottom:0;padding-top:0;font-size:.87rem;height:2rem;margin-top:.3rem;min-width:3rem}.usa-language,.usa-language-container{align-items:center;justify-content:flex-end;display:flex}.usa-nav-container .usa-language-container{align-self:center;margin-left:0;position:absolute;right:5rem;top:1rem}@media all and (min-width:64em){.usa-nav-container .usa-language-container{align-self:flex-end;margin-left:.75rem;margin-bottom:.5rem;position:relative;right:inherit;top:-2px}}.usa-language__link{margin-right:0}.usa-language__primary{width:auto}.usa-language__primary-item:last-of-type{position:relative}.usa-language__primary-item:last-of-type .usa-language__submenu{position:absolute;right:0}.usa-language__submenu{list-style-type:none;padding-left:0;margin:0;background-color:#162e51;position:absolute;width:15rem;z-index:400}.usa-language__submenu-item{border-top:1px solid #dfe1e2;font-size:.93rem}.usa-language__submenu .usa-current::after,.usa-language__submenu[aria-hidden=true]{display:none}@media all and (min-width:40em){.usa-language__submenu .usa-current::after{display:none}}.usa-language__submenu a:not(.usa-button){padding-left:2rem}.usa-language__submenu .usa-language__submenu a:not(.usa-button){padding-left:3rem}.usa-language__submenu .usa-language__submenu .usa-language__submenu a:not(.usa-button){padding-left:4rem}.usa-language__submenu .usa-language__submenu-item a{color:#fff;display:block;line-height:1.3;padding:0;padding:.5rem;text-decoration:none}.usa-language__submenu .usa-language__submenu-item a:focus{outline-offset:-.25rem}.usa-language__submenu .usa-language__submenu-item a:hover{color:#fff;text-decoration:underline}.usa-language__submenu-list{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-language__submenu-list .usa-language__submenu-list-item{margin:0;font-size:.93rem}.usa-language__submenu-list .usa-language__submenu-list-item a{line-height:1.3}.usa-layout-docs__sidenav{padding-top:2rem}@media all and (min-width:64em){.usa-layout-docs__sidenav{padding-top:0}}.grid-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}@media all and (min-width:64em){.grid-container{padding-left:2rem;padding-right:2rem}}.grid-container-card{margin-left:auto;margin-right:auto;max-width:10rem;padding-left:1rem;padding-right:1rem}@media all and (min-width:64em){.grid-container-card{padding-left:2rem;padding-right:2rem}}.grid-container-card-lg{margin-left:auto;margin-right:auto;max-width:15rem;padding-left:1rem;padding-right:1rem}@media all and (min-width:64em){.grid-container-card-lg{padding-left:2rem;padding-right:2rem}}.grid-container-mobile{margin-left:auto;margin-right:auto;max-width:20rem;padding-left:1rem;padding-right:1rem}@media all and (min-width:64em){.grid-container-mobile{padding-left:2rem;padding-right:2rem}}.grid-container-mobile-lg{margin-left:auto;margin-right:auto;max-width:30rem;padding-left:1rem;padding-right:1rem}@media all and (min-width:64em){.grid-container-mobile-lg{padding-left:2rem;padding-right:2rem}}.grid-container-tablet{margin-left:auto;margin-right:auto;max-width:40rem;padding-left:1rem;padding-right:1rem}@media all and (min-width:64em){.grid-container-tablet{padding-left:2rem;padding-right:2rem}}.grid-container-tablet-lg{margin-left:auto;margin-right:auto;max-width:55rem;padding-left:1rem;padding-right:1rem}@media all and (min-width:64em){.grid-container-tablet-lg{padding-left:2rem;padding-right:2rem}}.grid-container-desktop{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}@media all and (min-width:64em){.grid-container-desktop{padding-left:2rem;padding-right:2rem}}.grid-container-desktop-lg{margin-left:auto;margin-right:auto;max-width:75rem;padding-left:1rem;padding-right:1rem}@media all and (min-width:64em){.grid-container-desktop-lg{padding-left:2rem;padding-right:2rem}}.grid-container-widescreen{margin-left:auto;margin-right:auto;max-width:87.5rem;padding-left:1rem;padding-right:1rem}@media all and (min-width:64em){.grid-container-widescreen{padding-left:2rem;padding-right:2rem}}@media all and (min-width:30em){.mobile-lg\:grid-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:30em) and (min-width:64em){.mobile-lg\:grid-container{padding-left:2rem;padding-right:2rem}}@media all and (min-width:30em){.mobile-lg\:grid-container-card{margin-left:auto;margin-right:auto;max-width:10rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:30em) and (min-width:64em){.mobile-lg\:grid-container-card{padding-left:2rem;padding-right:2rem}}@media all and (min-width:30em){.mobile-lg\:grid-container-card-lg{margin-left:auto;margin-right:auto;max-width:15rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:30em) and (min-width:64em){.mobile-lg\:grid-container-card-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width:30em){.mobile-lg\:grid-container-mobile{margin-left:auto;margin-right:auto;max-width:20rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:30em) and (min-width:64em){.mobile-lg\:grid-container-mobile{padding-left:2rem;padding-right:2rem}}@media all and (min-width:30em){.mobile-lg\:grid-container-mobile-lg{margin-left:auto;margin-right:auto;max-width:30rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:30em) and (min-width:64em){.mobile-lg\:grid-container-mobile-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width:30em){.mobile-lg\:grid-container-tablet{margin-left:auto;margin-right:auto;max-width:40rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:30em) and (min-width:64em){.mobile-lg\:grid-container-tablet{padding-left:2rem;padding-right:2rem}}@media all and (min-width:30em){.mobile-lg\:grid-container-tablet-lg{margin-left:auto;margin-right:auto;max-width:55rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:30em) and (min-width:64em){.mobile-lg\:grid-container-tablet-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width:30em){.mobile-lg\:grid-container-desktop{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:30em) and (min-width:64em){.mobile-lg\:grid-container-desktop{padding-left:2rem;padding-right:2rem}}@media all and (min-width:30em){.mobile-lg\:grid-container-desktop-lg{margin-left:auto;margin-right:auto;max-width:75rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:30em) and (min-width:64em){.mobile-lg\:grid-container-desktop-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width:30em){.mobile-lg\:grid-container-widescreen{margin-left:auto;margin-right:auto;max-width:87.5rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:30em) and (min-width:64em){.mobile-lg\:grid-container-widescreen{padding-left:2rem;padding-right:2rem}}@media all and (min-width:40em){.tablet\:grid-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:40em) and (min-width:64em){.tablet\:grid-container{padding-left:2rem;padding-right:2rem}}@media all and (min-width:40em){.tablet\:grid-container-card{margin-left:auto;margin-right:auto;max-width:10rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:40em) and (min-width:64em){.tablet\:grid-container-card{padding-left:2rem;padding-right:2rem}}@media all and (min-width:40em){.tablet\:grid-container-card-lg{margin-left:auto;margin-right:auto;max-width:15rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:40em) and (min-width:64em){.tablet\:grid-container-card-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width:40em){.tablet\:grid-container-mobile{margin-left:auto;margin-right:auto;max-width:20rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:40em) and (min-width:64em){.tablet\:grid-container-mobile{padding-left:2rem;padding-right:2rem}}@media all and (min-width:40em){.tablet\:grid-container-mobile-lg{margin-left:auto;margin-right:auto;max-width:30rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:40em) and (min-width:64em){.tablet\:grid-container-mobile-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width:40em){.tablet\:grid-container-tablet{margin-left:auto;margin-right:auto;max-width:40rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:40em) and (min-width:64em){.tablet\:grid-container-tablet{padding-left:2rem;padding-right:2rem}}@media all and (min-width:40em){.tablet\:grid-container-tablet-lg{margin-left:auto;margin-right:auto;max-width:55rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:40em) and (min-width:64em){.tablet\:grid-container-tablet-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width:40em){.tablet\:grid-container-desktop{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:40em) and (min-width:64em){.tablet\:grid-container-desktop{padding-left:2rem;padding-right:2rem}}@media all and (min-width:40em){.tablet\:grid-container-desktop-lg{margin-left:auto;margin-right:auto;max-width:75rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:40em) and (min-width:64em){.tablet\:grid-container-desktop-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width:40em){.tablet\:grid-container-widescreen{margin-left:auto;margin-right:auto;max-width:87.5rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:40em) and (min-width:64em){.tablet\:grid-container-widescreen{padding-left:2rem;padding-right:2rem}}@media all and (min-width:64em){.desktop\:grid-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:64em) and (min-width:64em){.desktop\:grid-container{padding-left:2rem;padding-right:2rem}}@media all and (min-width:64em){.desktop\:grid-container-card{margin-left:auto;margin-right:auto;max-width:10rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:64em) and (min-width:64em){.desktop\:grid-container-card{padding-left:2rem;padding-right:2rem}}@media all and (min-width:64em){.desktop\:grid-container-card-lg{margin-left:auto;margin-right:auto;max-width:15rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:64em) and (min-width:64em){.desktop\:grid-container-card-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width:64em){.desktop\:grid-container-mobile{margin-left:auto;margin-right:auto;max-width:20rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:64em) and (min-width:64em){.desktop\:grid-container-mobile{padding-left:2rem;padding-right:2rem}}@media all and (min-width:64em){.desktop\:grid-container-mobile-lg{margin-left:auto;margin-right:auto;max-width:30rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:64em) and (min-width:64em){.desktop\:grid-container-mobile-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width:64em){.desktop\:grid-container-tablet{margin-left:auto;margin-right:auto;max-width:40rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:64em) and (min-width:64em){.desktop\:grid-container-tablet{padding-left:2rem;padding-right:2rem}}@media all and (min-width:64em){.desktop\:grid-container-tablet-lg{margin-left:auto;margin-right:auto;max-width:55rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:64em) and (min-width:64em){.desktop\:grid-container-tablet-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width:64em){.desktop\:grid-container-desktop{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:64em) and (min-width:64em){.desktop\:grid-container-desktop{padding-left:2rem;padding-right:2rem}}@media all and (min-width:64em){.desktop\:grid-container-desktop-lg{margin-left:auto;margin-right:auto;max-width:75rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:64em) and (min-width:64em){.desktop\:grid-container-desktop-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width:64em){.desktop\:grid-container-widescreen{margin-left:auto;margin-right:auto;max-width:87.5rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:64em) and (min-width:64em){.desktop\:grid-container-widescreen{padding-left:2rem;padding-right:2rem}}.grid-row{display:flex;flex-wrap:wrap}.grid-row.grid-gap{margin-left:-.5rem;margin-right:-.5rem}.grid-row.grid-gap>*{padding-left:.5rem;padding-right:.5rem}@media all and (min-width:64em){.grid-row.grid-gap{margin-left:-1rem;margin-right:-1rem}.grid-row.grid-gap>*{padding-left:1rem;padding-right:1rem}}.grid-row.grid-gap-0{margin-left:0;margin-right:0}.grid-row.grid-gap-0>*{padding-left:0;padding-right:0}.grid-row.grid-gap-2px{margin-left:-1px;margin-right:-1px}.grid-row.grid-gap-2px>*{padding-left:1px;padding-right:1px}.grid-row.grid-gap-05{margin-left:-2px;margin-right:-2px}.grid-row.grid-gap-05>*{padding-left:2px;padding-right:2px}.grid-row.grid-gap-1{margin-left:-.25rem;margin-right:-.25rem}.grid-row.grid-gap-1>*{padding-left:.25rem;padding-right:.25rem}.grid-row.grid-gap-2{margin-left:-.5rem;margin-right:-.5rem}.grid-row.grid-gap-2>*{padding-left:.5rem;padding-right:.5rem}.grid-row.grid-gap-3{margin-left:-.75rem;margin-right:-.75rem}.grid-row.grid-gap-3>*{padding-left:.75rem;padding-right:.75rem}.grid-row.grid-gap-4{margin-left:-1rem;margin-right:-1rem}.grid-row.grid-gap-4>*{padding-left:1rem;padding-right:1rem}.grid-row.grid-gap-5{margin-left:-1.25rem;margin-right:-1.25rem}.grid-row.grid-gap-5>*{padding-left:1.25rem;padding-right:1.25rem}.grid-row.grid-gap-6{margin-left:-1.5rem;margin-right:-1.5rem}.grid-row.grid-gap-6>*{padding-left:1.5rem;padding-right:1.5rem}.grid-row.grid-gap-sm{margin-left:-1px;margin-right:-1px}.grid-row.grid-gap-sm>*{padding-left:1px;padding-right:1px}.grid-row.grid-gap-md{margin-left:-.5rem;margin-right:-.5rem}.grid-row.grid-gap-md>*{padding-left:.5rem;padding-right:.5rem}.grid-row.grid-gap-lg{margin-left:-.75rem;margin-right:-.75rem}.grid-row.grid-gap-lg>*{padding-left:.75rem;padding-right:.75rem}@media all and (min-width:30em){.grid-row.mobile-lg\:grid-gap-0{margin-left:0;margin-right:0}.grid-row.mobile-lg\:grid-gap-0>*{padding-left:0;padding-right:0}.grid-row.mobile-lg\:grid-gap-2px{margin-left:-1px;margin-right:-1px}.grid-row.mobile-lg\:grid-gap-2px>*{padding-left:1px;padding-right:1px}.grid-row.mobile-lg\:grid-gap-05{margin-left:-2px;margin-right:-2px}.grid-row.mobile-lg\:grid-gap-05>*{padding-left:2px;padding-right:2px}.grid-row.mobile-lg\:grid-gap-1{margin-left:-.25rem;margin-right:-.25rem}.grid-row.mobile-lg\:grid-gap-1>*{padding-left:.25rem;padding-right:.25rem}.grid-row.mobile-lg\:grid-gap-2{margin-left:-.5rem;margin-right:-.5rem}.grid-row.mobile-lg\:grid-gap-2>*{padding-left:.5rem;padding-right:.5rem}.grid-row.mobile-lg\:grid-gap-3{margin-left:-.75rem;margin-right:-.75rem}.grid-row.mobile-lg\:grid-gap-3>*{padding-left:.75rem;padding-right:.75rem}.grid-row.mobile-lg\:grid-gap-4{margin-left:-1rem;margin-right:-1rem}.grid-row.mobile-lg\:grid-gap-4>*{padding-left:1rem;padding-right:1rem}.grid-row.mobile-lg\:grid-gap-5{margin-left:-1.25rem;margin-right:-1.25rem}.grid-row.mobile-lg\:grid-gap-5>*{padding-left:1.25rem;padding-right:1.25rem}.grid-row.mobile-lg\:grid-gap-6{margin-left:-1.5rem;margin-right:-1.5rem}.grid-row.mobile-lg\:grid-gap-6>*{padding-left:1.5rem;padding-right:1.5rem}.grid-row.mobile-lg\:grid-gap-sm{margin-left:-1px;margin-right:-1px}.grid-row.mobile-lg\:grid-gap-sm>*{padding-left:1px;padding-right:1px}.grid-row.mobile-lg\:grid-gap-md{margin-left:-.5rem;margin-right:-.5rem}.grid-row.mobile-lg\:grid-gap-md>*{padding-left:.5rem;padding-right:.5rem}.grid-row.mobile-lg\:grid-gap-lg{margin-left:-.75rem;margin-right:-.75rem}.grid-row.mobile-lg\:grid-gap-lg>*{padding-left:.75rem;padding-right:.75rem}}@media all and (min-width:40em){.grid-row.tablet\:grid-gap-0{margin-left:0;margin-right:0}.grid-row.tablet\:grid-gap-0>*{padding-left:0;padding-right:0}.grid-row.tablet\:grid-gap-2px{margin-left:-1px;margin-right:-1px}.grid-row.tablet\:grid-gap-2px>*{padding-left:1px;padding-right:1px}.grid-row.tablet\:grid-gap-05{margin-left:-2px;margin-right:-2px}.grid-row.tablet\:grid-gap-05>*{padding-left:2px;padding-right:2px}.grid-row.tablet\:grid-gap-1{margin-left:-.25rem;margin-right:-.25rem}.grid-row.tablet\:grid-gap-1>*{padding-left:.25rem;padding-right:.25rem}.grid-row.tablet\:grid-gap-2{margin-left:-.5rem;margin-right:-.5rem}.grid-row.tablet\:grid-gap-2>*{padding-left:.5rem;padding-right:.5rem}.grid-row.tablet\:grid-gap-3{margin-left:-.75rem;margin-right:-.75rem}.grid-row.tablet\:grid-gap-3>*{padding-left:.75rem;padding-right:.75rem}.grid-row.tablet\:grid-gap-4{margin-left:-1rem;margin-right:-1rem}.grid-row.tablet\:grid-gap-4>*{padding-left:1rem;padding-right:1rem}.grid-row.tablet\:grid-gap-5{margin-left:-1.25rem;margin-right:-1.25rem}.grid-row.tablet\:grid-gap-5>*{padding-left:1.25rem;padding-right:1.25rem}.grid-row.tablet\:grid-gap-6{margin-left:-1.5rem;margin-right:-1.5rem}.grid-row.tablet\:grid-gap-6>*{padding-left:1.5rem;padding-right:1.5rem}.grid-row.tablet\:grid-gap-sm{margin-left:-1px;margin-right:-1px}.grid-row.tablet\:grid-gap-sm>*{padding-left:1px;padding-right:1px}.grid-row.tablet\:grid-gap-md{margin-left:-.5rem;margin-right:-.5rem}.grid-row.tablet\:grid-gap-md>*{padding-left:.5rem;padding-right:.5rem}.grid-row.tablet\:grid-gap-lg{margin-left:-.75rem;margin-right:-.75rem}.grid-row.tablet\:grid-gap-lg>*{padding-left:.75rem;padding-right:.75rem}}@media all and (min-width:64em){.grid-row.desktop\:grid-gap-0{margin-left:0;margin-right:0}.grid-row.desktop\:grid-gap-0>*{padding-left:0;padding-right:0}.grid-row.desktop\:grid-gap-2px{margin-left:-1px;margin-right:-1px}.grid-row.desktop\:grid-gap-2px>*{padding-left:1px;padding-right:1px}.grid-row.desktop\:grid-gap-05{margin-left:-2px;margin-right:-2px}.grid-row.desktop\:grid-gap-05>*{padding-left:2px;padding-right:2px}.grid-row.desktop\:grid-gap-1{margin-left:-.25rem;margin-right:-.25rem}.grid-row.desktop\:grid-gap-1>*{padding-left:.25rem;padding-right:.25rem}.grid-row.desktop\:grid-gap-2{margin-left:-.5rem;margin-right:-.5rem}.grid-row.desktop\:grid-gap-2>*{padding-left:.5rem;padding-right:.5rem}.grid-row.desktop\:grid-gap-3{margin-left:-.75rem;margin-right:-.75rem}.grid-row.desktop\:grid-gap-3>*{padding-left:.75rem;padding-right:.75rem}.grid-row.desktop\:grid-gap-4{margin-left:-1rem;margin-right:-1rem}.grid-row.desktop\:grid-gap-4>*{padding-left:1rem;padding-right:1rem}.grid-row.desktop\:grid-gap-5{margin-left:-1.25rem;margin-right:-1.25rem}.grid-row.desktop\:grid-gap-5>*{padding-left:1.25rem;padding-right:1.25rem}.grid-row.desktop\:grid-gap-6{margin-left:-1.5rem;margin-right:-1.5rem}.grid-row.desktop\:grid-gap-6>*{padding-left:1.5rem;padding-right:1.5rem}.grid-row.desktop\:grid-gap-sm{margin-left:-1px;margin-right:-1px}.grid-row.desktop\:grid-gap-sm>*{padding-left:1px;padding-right:1px}.grid-row.desktop\:grid-gap-md{margin-left:-.5rem;margin-right:-.5rem}.grid-row.desktop\:grid-gap-md>*{padding-left:.5rem;padding-right:.5rem}.grid-row.desktop\:grid-gap-lg{margin-left:-.75rem;margin-right:-.75rem}.grid-row.desktop\:grid-gap-lg>*{padding-left:.75rem;padding-right:.75rem}}[class*=grid-col]{position:relative;width:100%;box-sizing:border-box}.grid-col{flex:1 1 0%;width:auto;max-width:100%;min-width:1px}.grid-col-auto,.grid-col-fill{flex:0 1 auto;width:auto;max-width:100%}.grid-col-fill{flex:1 1 0%;min-width:1px}.grid-col-1,.grid-col-2{flex:0 1 auto;width:8.3333333333%}.grid-col-2{width:16.6666666667%}.grid-col-3,.grid-col-4{flex:0 1 auto;width:25%}.grid-col-4{width:33.3333333333%}.grid-col-5,.grid-col-6{flex:0 1 auto;width:41.6666666667%}.grid-col-6{width:50%}.grid-col-7,.grid-col-8{flex:0 1 auto;width:58.3333333333%}.grid-col-8{width:66.6666666667%}.grid-col-10,.grid-col-9{flex:0 1 auto;width:75%}.grid-col-10{width:83.3333333333%}.grid-col-11,.grid-col-12{flex:0 1 auto;width:91.6666666667%}.grid-col-12{width:100%}@media all and (min-width:30em){.mobile-lg\:grid-col,.mobile-lg\:grid-col-fill{flex:1 1 0%;width:auto;max-width:100%;min-width:1px}.mobile-lg\:grid-col-auto{flex:0 1 auto;width:auto;max-width:100%}.mobile-lg\:grid-col-1{flex:0 1 auto;width:8.3333333333%}.mobile-lg\:grid-col-2{flex:0 1 auto;width:16.6666666667%}.mobile-lg\:grid-col-3{flex:0 1 auto;width:25%}.mobile-lg\:grid-col-4{flex:0 1 auto;width:33.3333333333%}.mobile-lg\:grid-col-5{flex:0 1 auto;width:41.6666666667%}.mobile-lg\:grid-col-6{flex:0 1 auto;width:50%}.mobile-lg\:grid-col-7{flex:0 1 auto;width:58.3333333333%}.mobile-lg\:grid-col-8{flex:0 1 auto;width:66.6666666667%}.mobile-lg\:grid-col-9{flex:0 1 auto;width:75%}.mobile-lg\:grid-col-10{flex:0 1 auto;width:83.3333333333%}.mobile-lg\:grid-col-11{flex:0 1 auto;width:91.6666666667%}.mobile-lg\:grid-col-12{flex:0 1 auto;width:100%}}@media all and (min-width:40em){.tablet\:grid-col,.tablet\:grid-col-fill{flex:1 1 0%;width:auto;max-width:100%;min-width:1px}.tablet\:grid-col-auto{flex:0 1 auto;width:auto;max-width:100%}.tablet\:grid-col-1{flex:0 1 auto;width:8.3333333333%}.tablet\:grid-col-2{flex:0 1 auto;width:16.6666666667%}.tablet\:grid-col-3{flex:0 1 auto;width:25%}.tablet\:grid-col-4{flex:0 1 auto;width:33.3333333333%}.tablet\:grid-col-5{flex:0 1 auto;width:41.6666666667%}.tablet\:grid-col-6{flex:0 1 auto;width:50%}.tablet\:grid-col-7{flex:0 1 auto;width:58.3333333333%}.tablet\:grid-col-8{flex:0 1 auto;width:66.6666666667%}.tablet\:grid-col-9{flex:0 1 auto;width:75%}.tablet\:grid-col-10{flex:0 1 auto;width:83.3333333333%}.tablet\:grid-col-11{flex:0 1 auto;width:91.6666666667%}.tablet\:grid-col-12{flex:0 1 auto;width:100%}}@media all and (min-width:64em){.desktop\:grid-col,.desktop\:grid-col-fill{flex:1 1 0%;width:auto;max-width:100%;min-width:1px}.desktop\:grid-col-auto{flex:0 1 auto;width:auto;max-width:100%}.desktop\:grid-col-1{flex:0 1 auto;width:8.3333333333%}.desktop\:grid-col-2{flex:0 1 auto;width:16.6666666667%}.desktop\:grid-col-3{flex:0 1 auto;width:25%}.desktop\:grid-col-4{flex:0 1 auto;width:33.3333333333%}.desktop\:grid-col-5{flex:0 1 auto;width:41.6666666667%}.desktop\:grid-col-6{flex:0 1 auto;width:50%}.desktop\:grid-col-7{flex:0 1 auto;width:58.3333333333%}.desktop\:grid-col-8{flex:0 1 auto;width:66.6666666667%}.desktop\:grid-col-9{flex:0 1 auto;width:75%}.desktop\:grid-col-10{flex:0 1 auto;width:83.3333333333%}.desktop\:grid-col-11{flex:0 1 auto;width:91.6666666667%}.desktop\:grid-col-12{flex:0 1 auto;width:100%}}.grid-offset-1{margin-left:8.3333333333%}.grid-offset-2{margin-left:16.6666666667%}.grid-offset-3{margin-left:25%}.grid-offset-4{margin-left:33.3333333333%}.grid-offset-5{margin-left:41.6666666667%}.grid-offset-6{margin-left:50%}.grid-offset-7{margin-left:58.3333333333%}.grid-offset-8{margin-left:66.6666666667%}.grid-offset-9{margin-left:75%}.grid-offset-10{margin-left:83.3333333333%}.grid-offset-11{margin-left:91.6666666667%}.grid-offset-12{margin-left:100%}.grid-offset-none{margin-left:0}@media all and (min-width:30em){.mobile-lg\:grid-offset-1{margin-left:8.3333333333%}.mobile-lg\:grid-offset-2{margin-left:16.6666666667%}.mobile-lg\:grid-offset-3{margin-left:25%}.mobile-lg\:grid-offset-4{margin-left:33.3333333333%}.mobile-lg\:grid-offset-5{margin-left:41.6666666667%}.mobile-lg\:grid-offset-6{margin-left:50%}.mobile-lg\:grid-offset-7{margin-left:58.3333333333%}.mobile-lg\:grid-offset-8{margin-left:66.6666666667%}.mobile-lg\:grid-offset-9{margin-left:75%}.mobile-lg\:grid-offset-10{margin-left:83.3333333333%}.mobile-lg\:grid-offset-11{margin-left:91.6666666667%}.mobile-lg\:grid-offset-12{margin-left:100%}.mobile-lg\:grid-offset-none{margin-left:0}}@media all and (min-width:40em){.tablet\:grid-offset-1{margin-left:8.3333333333%}.tablet\:grid-offset-2{margin-left:16.6666666667%}.tablet\:grid-offset-3{margin-left:25%}.tablet\:grid-offset-4{margin-left:33.3333333333%}.tablet\:grid-offset-5{margin-left:41.6666666667%}.tablet\:grid-offset-6{margin-left:50%}.tablet\:grid-offset-7{margin-left:58.3333333333%}.tablet\:grid-offset-8{margin-left:66.6666666667%}.tablet\:grid-offset-9{margin-left:75%}.tablet\:grid-offset-10{margin-left:83.3333333333%}.tablet\:grid-offset-11{margin-left:91.6666666667%}.tablet\:grid-offset-12{margin-left:100%}.tablet\:grid-offset-none{margin-left:0}}@media all and (min-width:64em){.desktop\:grid-offset-1{margin-left:8.3333333333%}.desktop\:grid-offset-2{margin-left:16.6666666667%}.desktop\:grid-offset-3{margin-left:25%}.desktop\:grid-offset-4{margin-left:33.3333333333%}.desktop\:grid-offset-5{margin-left:41.6666666667%}.desktop\:grid-offset-6{margin-left:50%}.desktop\:grid-offset-7{margin-left:58.3333333333%}.desktop\:grid-offset-8{margin-left:66.6666666667%}.desktop\:grid-offset-9{margin-left:75%}.desktop\:grid-offset-10{margin-left:83.3333333333%}.desktop\:grid-offset-11{margin-left:91.6666666667%}.desktop\:grid-offset-12{margin-left:100%}.desktop\:grid-offset-none{margin-left:0}}.usa-media-block{align-items:flex-start;display:flex}.usa-media-block__img{flex-shrink:0;margin-right:.5rem}.usa-media-block__body{flex:1 1 0%}.usa-js-no-click{-webkit-user-select:none;-moz-user-select:none;user-select:none}.usa-js-no-click .usa-modal,.usa-js-no-click .usa-modal *{pointer-events:auto;-webkit-user-select:text;-moz-user-select:text;user-select:text}.usa-js-no-click,[data-open-modal] *{pointer-events:none}.usa-modal-wrapper{text-align:center;transition:opacity .15s ease-in-out}.usa-modal-wrapper.is-hidden{visibility:hidden;opacity:0;position:fixed}.usa-modal-wrapper.is-visible{visibility:visible;opacity:1;position:fixed;z-index:99999}.usa-modal-overlay{background:rgba(0,0,0,.7);bottom:0;height:100%;left:0;overflow:scroll;overflow-x:hidden;padding:1.5rem;position:fixed;scroll-behavior:smooth;top:0;width:100%}.usa-modal-overlay:before{content:"";display:inline-block;height:100%;vertical-align:middle}.usa-modal-overlay[data-force-action=true]{pointer-events:none}.usa-modal-overlay[data-force-action=true] *{pointer-events:auto}.usa-js-loading .usa-modal-wrapper{position:absolute;left:-999em;right:auto}.usa-js-loading .usa-modal-wrapper:target{position:static}.usa-modal{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5;border-radius:.5rem;background:#fff;color:#1b1b1b;display:inline-block;margin:1.25rem auto;max-width:30rem;position:relative;text-align:left;vertical-align:middle;width:100%}.usa-modal:focus{outline:0}.usa-modal__content{display:flex;flex-direction:column-reverse;padding-top:2rem;width:100%}.usa-modal__main{margin:0 auto;padding:.5rem 2rem 2rem}.usa-modal-wrapper [data-close-modal]>.usa-icon,.usa-modal-wrapper [data-close-modal]>.usa-icon use{pointer-events:none!important}.usa-modal__close{align-items:center;align-self:flex-end;background-color:transparent;color:#71767a;display:flex;flex-shrink:0;font-size:.93rem;margin:-2rem 0 0 auto;padding:.25rem;width:auto}.usa-modal__close:active,.usa-modal__close:hover{background-color:transparent;color:#1b1b1b}.usa-modal__close:focus{outline-offset:0}.usa-modal__close .usa-icon{height:2rem;margin:2px 2px 0 0;width:2rem}.usa-modal__heading{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.34rem;line-height:1.4;margin-top:0}.usa-modal__footer{margin-top:1.5rem}.usa-modal--lg{max-width:55rem;width:100%}.usa-modal--lg .usa-modal__main{padding-bottom:4rem;padding-top:1.25rem;width:100%;max-width:40rem}@media all and (min-width:40em){.usa-modal--lg .usa-modal__heading{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.95rem}}.usa-js-modal--active{overflow:hidden}.usa-nav{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:.9}@media all and (max-width:63.99em){.usa-nav{right:0;bottom:0;top:0;position:fixed;background:#fff;border-right:0;display:none;flex-direction:column;overflow-y:auto;padding:1rem;width:15rem;z-index:500}.usa-nav.is-visible{animation:slidein-left .3s ease-in-out;display:flex}}@media all and (min-width:64em){.usa-nav{float:right;position:relative}.usa-nav .usa-search{margin-left:1rem}}.usa-nav .usa-accordion{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:.9}@media all and (max-width:63.99em){.usa-nav__primary{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;margin-top:1.5rem;order:2}.usa-nav__primary>li{margin-bottom:0;max-width:unset}.usa-nav__primary-item{border-top:1px solid #dfe1e2}.usa-nav__primary a:not(.usa-button){display:block;padding:.5rem 1rem;text-decoration:none}.usa-nav__primary a:not(.usa-button):hover{background-color:#f0f0f0;text-decoration:none}.usa-nav__primary a:not(.usa-button):not(.usa-current){color:#565c65}.usa-nav__primary a:not(.usa-button):not(.usa-current):hover{color:#005ea2}.usa-nav__primary a:not(.usa-button):not(.usa-current):focus{outline-offset:0}.usa-nav__primary .usa-current{position:relative;color:#005ea2;font-weight:700}.usa-nav__primary .usa-current::after{background-color:#005ea2;border-radius:99rem;content:"";display:block;position:absolute;bottom:.25rem;top:.25rem;width:.25rem;left:.25rem}}@media all and (max-width:63.99em) and (min-width:40em){.usa-nav__primary .usa-current{position:relative}.usa-nav__primary .usa-current::after{background-color:#005ea2;border-radius:99rem;content:"";display:block;position:absolute;bottom:.25rem;top:.25rem;width:.25rem;left:0}}@media all and (max-width:63.99em){.usa-nav__primary a{padding-bottom:.75rem;padding-top:.75rem}}@media all and (min-width:64em){.usa-nav__primary{display:flex;align-items:stretch}}.usa-nav__primary .usa-nav__primary-item a{text-decoration:none}.usa-nav__primary>.usa-nav__primary-item{line-height:1.1}@media all and (min-width:64em){.usa-nav__primary>.usa-nav__primary-item{font-size:.93rem;line-height:.9}.usa-nav__primary>.usa-nav__primary-item>a{line-height:.9;padding:1rem;align-items:center;color:#565c65;display:flex;font-weight:700;height:100%}.usa-nav__primary>.usa-nav__primary-item>a:hover{color:#005ea2}.usa-nav__primary>.usa-nav__primary-item>button{height:100%}.usa-nav__primary a{padding-bottom:.5rem;padding-top:.5rem}}.usa-nav__primary button{background-color:transparent;border:0;border-radius:0;box-shadow:none;justify-content:normal;text-align:left;margin:0;padding:0;position:relative;color:#565c65;font-weight:400;line-height:1.1;padding:.75rem 1rem;text-decoration:none}.usa-nav__primary button:visited{color:#54278f}.usa-nav__primary button:active{color:#162e51}.usa-nav__primary button:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-nav__primary button.usa-button--active,.usa-nav__primary button.usa-button--disabled,.usa-nav__primary button.usa-button--hover,.usa-nav__primary button:active,.usa-nav__primary button:disabled,.usa-nav__primary button:disabled.usa-button--active,.usa-nav__primary button:disabled.usa-button--hover,.usa-nav__primary button:disabled.usa-focus,.usa-nav__primary button:disabled:active,.usa-nav__primary button:disabled:focus,.usa-nav__primary button:disabled:hover,.usa-nav__primary button:hover,.usa-nav__primary button[aria-disabled=true],.usa-nav__primary button[aria-disabled=true].usa-button--active,.usa-nav__primary button[aria-disabled=true].usa-button--hover,.usa-nav__primary button[aria-disabled=true].usa-focus,.usa-nav__primary button[aria-disabled=true]:active,.usa-nav__primary button[aria-disabled=true]:focus,.usa-nav__primary button[aria-disabled=true]:hover{background-color:transparent;box-shadow:none;text-decoration:underline}.usa-nav__primary button.usa-button--hover{color:#1a4480}.usa-nav__primary button.usa-button--active{color:#162e51}.usa-nav__primary button:disabled,.usa-nav__primary button:disabled:hover,.usa-nav__primary button[aria-disabled=true],.usa-nav__primary button[aria-disabled=true]:focus,.usa-nav__primary button[aria-disabled=true]:hover{color:#757575}@media (forced-colors:active){.usa-nav__primary button:disabled,.usa-nav__primary button:disabled:hover,.usa-nav__primary button[aria-disabled=true],.usa-nav__primary button[aria-disabled=true]:focus,.usa-nav__primary button[aria-disabled=true]:hover{color:GrayText}}@media all and (min-width:64em){.usa-nav__primary button{line-height:.9;padding:1rem;font-size:.93rem;font-weight:700}}@media (forced-colors:active){.usa-nav__primary button{forced-color-adjust:auto}}.usa-nav__primary button:hover{color:#005ea2;background-color:#f0f0f0;text-decoration:none}@media all and (min-width:64em){.usa-nav__primary button:hover{background-color:transparent}}.usa-nav__primary button[aria-expanded],.usa-nav__primary button[aria-expanded]:hover{background-image:none}@media (forced-colors:active){.usa-nav__primary button[aria-expanded]::before,.usa-nav__primary button[aria-expanded]:hover::before{content:none}}.usa-nav__primary button[aria-expanded] span::after{position:absolute;top:50%;right:0;transform:translateY(-50%)}.usa-nav__primary button[aria-expanded=false] span::after{background-image:url(../img/usa-icons/add.svg);background-repeat:no-repeat;background-position:center center;background-size:1.25rem 1.25rem;display:inline-block;height:1.25rem;width:1.25rem;content:"";vertical-align:middle;margin-left:auto}@supports ((-webkit-mask:url()) or (mask:url())){.usa-nav__primary button[aria-expanded=false] span::after{background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/add.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/add.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1.25rem 1.25rem;mask-size:1.25rem 1.25rem}}.usa-nav__primary button[aria-expanded=false] span::after:hover{background-color:buttonText}@media all and (min-width:64em){.usa-nav__primary button[aria-expanded=false] span::after{background-image:url(../img/usa-icons/expand_more.svg);background-repeat:no-repeat;background-position:center center;background-size:1rem 1rem;display:inline-block;height:1rem;width:1rem;content:"";vertical-align:middle;margin-left:auto}@supports ((-webkit-mask:url()) or (mask:url())){.usa-nav__primary button[aria-expanded=false] span::after{background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/expand_more.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/expand_more.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1rem 1rem;mask-size:1rem 1rem}}.usa-nav__primary button[aria-expanded=false] span::after{right:.75rem}.usa-nav__primary button[aria-expanded=false]:hover span::after{background-color:#1a4480}}@media (min-width:64em) and (forced-colors:active){.usa-nav__primary button[aria-expanded=false]:hover span::after{background-color:ButtonText}}.usa-nav__primary button[aria-expanded=true] span::after{background-image:url(../img/usa-icons/remove.svg);background-repeat:no-repeat;background-position:center center;background-size:1.25rem 1.25rem;display:inline-block;height:1.25rem;width:1.25rem;content:"";vertical-align:middle;margin-left:auto}@supports ((-webkit-mask:url()) or (mask:url())){.usa-nav__primary button[aria-expanded=true] span::after{background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/remove.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/remove.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1.25rem 1.25rem;mask-size:1.25rem 1.25rem}}.usa-nav__primary button[aria-expanded=true] span::after{position:absolute;right:0}@media (forced-colors:active){.usa-nav__primary button[aria-expanded=true] span::after{background-color:ButtonText}}@media all and (min-width:64em){.usa-nav__primary button[aria-expanded=true]{background-image:none;background-color:#162e51;color:#fff}}@media all and (min-width:64em) and (min-width:64em){.usa-nav__primary button[aria-expanded=true] span::after{background-image:url(../img/usa-icons/expand_less.svg);background-repeat:no-repeat;background-position:center center;background-size:1rem 1rem;display:inline-block;height:1rem;width:1rem;content:"";vertical-align:middle;margin-left:auto}@supports ((-webkit-mask:url()) or (mask:url())){.usa-nav__primary button[aria-expanded=true] span::after{background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/expand_less.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/expand_less.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1rem 1rem;mask-size:1rem 1rem}}.usa-nav__primary button[aria-expanded=true] span::after{right:.75rem;background-color:#fff}}@media (min-width:64em) and (min-width:64em) and (forced-colors:active){.usa-nav__primary button[aria-expanded=true] span::after{background-color:ButtonText}}@media all and (min-width:64em){.usa-nav__primary .usa-accordion__button span{display:inline-block;margin-right:0;padding-right:1rem}}.usa-nav__secondary{margin-top:1rem}@media all and (min-width:64em){.usa-nav__secondary{flex-direction:column;align-items:flex-end;bottom:4rem;display:flex;font-size:.93rem;margin-top:.5rem;min-width:calc(27ch + 3rem);position:absolute;right:2rem}}.usa-nav__secondary .usa-search{margin-top:1rem;width:100%}@media all and (min-width:64em){.usa-nav__secondary .usa-search{margin-left:0;margin-top:.5rem}}.usa-nav__secondary-links{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;line-height:1.3;margin-top:1.5rem}@media all and (min-width:64em){.usa-nav__secondary-links{-moz-column-gap:.5rem;column-gap:.5rem;display:flex;flex-flow:row nowrap;line-height:.9;margin-bottom:.25rem;margin-top:0}.usa-nav__secondary-links .usa-nav__secondary-item{padding-left:.25rem}.usa-nav__secondary-links .usa-nav__secondary-item+.usa-nav__secondary-item{border-left:1px solid #dfe1e2;padding-left:.5rem}}.usa-nav__secondary-links a{color:#71767a;display:inline-block;font-size:.93rem;text-decoration:none}.usa-nav__secondary-links a:hover{color:#005ea2;text-decoration:underline}@media all and (max-width:63.99em){.usa-nav__submenu{list-style-type:none;padding-left:0;margin:0}.usa-nav__submenu>li{margin-bottom:0;max-width:unset}.usa-nav__submenu-item{border-top:1px solid #dfe1e2;font-size:.93rem}.usa-nav__submenu .usa-current::after{display:none}}@media all and (max-width:63.99em) and (min-width:40em){.usa-nav__submenu .usa-current::after{display:none}}@media all and (max-width:63.99em){.usa-nav__submenu a:not(.usa-button){padding-left:2rem}.usa-nav__submenu .usa-nav__submenu a:not(.usa-button){padding-left:3rem}.usa-nav__submenu .usa-nav__submenu .usa-nav__submenu a:not(.usa-button){padding-left:4rem}}@media all and (min-width:64em){.usa-nav__submenu{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;padding-bottom:.5rem;padding-top:.5rem;background-color:#162e51;width:15rem;position:absolute;z-index:400}}.usa-nav__submenu[aria-hidden=true]{display:none}@media all and (min-width:64em){.usa-nav__submenu .usa-nav__submenu-item a{padding-left:1rem;padding-right:1rem;color:#fff;line-height:1.3;display:block}.usa-nav__submenu .usa-nav__submenu-item a:focus{outline-offset:-.25rem}.usa-nav__submenu .usa-nav__submenu-item a:hover{color:#fff;text-decoration:underline}}.usa-nav__submenu-list{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-nav__submenu-list>li,.usa-process-list>li,.usa-prose .usa-process-list>li,.usa-sidenav>li,.usa-sidenav__sublist>li{margin-bottom:0;max-width:unset}.usa-nav__submenu-list .usa-nav__submenu-list-item{margin:0;font-size:.93rem}.usa-input-list li,.usa-nav__submenu-list .usa-nav__submenu-list-item a,.usa-prose .usa-input-list li{line-height:1.3}.usa-nav__close{text-decoration:underline;background-color:transparent;border:0;border-radius:0;box-shadow:none;font-weight:400;justify-content:normal;margin:0;padding:0;height:3rem;width:3rem;background-image:none;color:currentColor;flex:none;float:right;margin:-.75rem -1rem 1rem auto;text-align:center}.usa-nav__close:visited{color:#54278f}.usa-nav__close:active{color:#162e51}.usa-nav__close:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-nav__close.usa-button--active,.usa-nav__close.usa-button--disabled,.usa-nav__close.usa-button--hover,.usa-nav__close:active,.usa-nav__close:disabled,.usa-nav__close:disabled.usa-button--active,.usa-nav__close:disabled.usa-button--hover,.usa-nav__close:disabled.usa-focus,.usa-nav__close:disabled:active,.usa-nav__close:disabled:focus,.usa-nav__close:disabled:hover,.usa-nav__close:hover,.usa-nav__close[aria-disabled=true],.usa-nav__close[aria-disabled=true].usa-button--active,.usa-nav__close[aria-disabled=true].usa-button--hover,.usa-nav__close[aria-disabled=true].usa-focus,.usa-nav__close[aria-disabled=true]:active,.usa-nav__close[aria-disabled=true]:focus,.usa-nav__close[aria-disabled=true]:hover{background-color:transparent;box-shadow:none;text-decoration:underline}.usa-nav__close.usa-button--hover{color:#1a4480}.usa-nav__close.usa-button--active{color:#162e51}.usa-nav__close:disabled,.usa-nav__close:disabled:hover,.usa-nav__close[aria-disabled=true],.usa-nav__close[aria-disabled=true]:focus,.usa-nav__close[aria-disabled=true]:hover{color:#757575}@media (forced-colors:active){.usa-nav__close:disabled,.usa-nav__close:disabled:hover,.usa-nav__close[aria-disabled=true],.usa-nav__close[aria-disabled=true]:focus,.usa-nav__close[aria-disabled=true]:hover{color:GrayText}.usa-nav__close::before{background-image:url(../img/usa-icons/close.svg);background-repeat:no-repeat;background-position:center center;background-size:1.25rem 1.25rem;display:inline-block;height:1.25rem;width:1.25rem;content:"";vertical-align:middle;margin-right:auto}@supports ((-webkit-mask:url()) or (mask:url())){.usa-nav__close::before{background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/close.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/close.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1.25rem 1.25rem;mask-size:1.25rem 1.25rem}}.usa-nav__close::before{background-color:buttonText}}.usa-nav__close:hover{color:currentColor;text-decoration:none}@media all and (min-width:64em){.usa-nav__close{display:none}}.usa-nav__close img{width:1.5rem}@media (forced-colors:active){.usa-nav__close img{display:none}}.usa-nav__close+*{clear:both}.usa-js-mobile-nav--active{overflow:hidden}@media (min-width:63.06rem){.usa-js-mobile-nav--active.is-safari{overflow-y:scroll;position:fixed;top:var(--scrolltop, 0)}}.usa-pagination{margin-bottom:1rem;margin-top:1rem;font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5;color:#1b1b1b;background-color:#fff;display:flex;justify-content:center}.usa-pagination .usa-icon{height:1.13rem;width:1.13rem}.usa-pagination__list{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;align-items:center;display:flex;flex-flow:row nowrap;justify-content:center;width:auto}.usa-pagination__item{display:inline-flex;height:2.5rem;justify-content:center;line-height:1;margin-left:.25rem;margin-right:.25rem;min-width:2.5rem}@media all and (min-width:40em){.usa-pagination__item{flex:1 0 auto}}.usa-pagination__arrow{display:none}@media all and (min-width:40em){.usa-pagination__arrow{display:inherit}.usa-pagination__previous-page{margin-right:1.25rem}.usa-pagination__next-page{margin-left:1.25rem}}.usa-pagination__link{align-items:center;color:#005ea2;display:inline-flex;text-decoration:none}.usa-pagination__link[disabled]{opacity:.4!important;pointer-events:none}.usa-pagination__link:active,.usa-pagination__link:focus,.usa-pagination__link:hover{color:#1a4480;text-decoration:underline}.usa-pagination__link:visited{color:#005ea2}.usa-pagination__button{align-items:center;border-color:rgba(27,27,27,.2);border-radius:.25rem;border-style:solid;border-width:1px;color:#005ea2;display:inline-flex;justify-content:center;padding:.5rem;text-decoration:none;width:100%}.usa-pagination__button:active,.usa-pagination__button:focus,.usa-pagination__button:hover{color:#1a4480;border-color:#1a4480}@media (forced-colors:active){.usa-pagination__button:active,.usa-pagination__button:focus,.usa-pagination__button:hover{border:2px solid transparent}}.usa-pagination .usa-current{background-color:#1b1b1b;border-color:transparent;color:#fff}@media (forced-colors:active){.usa-pagination .usa-current{border:2px solid transparent;color:buttonText}}.usa-pagination .usa-current:active,.usa-pagination .usa-current:focus,.usa-pagination .usa-current:hover{background-color:#1b1b1b;color:#fff;text-decoration:none}@media (forced-colors:active){.usa-pagination .usa-current:active,.usa-pagination .usa-current:focus,.usa-pagination .usa-current:hover{color:buttontext}}.usa-pagination__overflow{align-items:center;align-self:stretch;display:inherit;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:.5rem}.usa-process-list>.usa-process-list__item,.usa-prose .usa-process-list>.usa-process-list__item{max-width:72ex}.usa-process-list,.usa-prose .usa-process-list{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5;margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;counter-reset:usa-numbered-list;padding:20px 0 0 calc(2.5rem/2 - .5rem/2);position:relative}.usa-process-list__item,.usa-prose .usa-process-list__item{border-left:.5rem solid #d9e8f6;font-size:1.06rem;margin-bottom:0;padding-bottom:2rem;padding-left:calc(calc(2.5rem/2 - .25rem)*2)}.usa-process-list__item:last-child{border-left:.5rem solid transparent}.usa-process-list__item::before{flex-direction:row;align-items:center;justify-content:center;border-radius:99rem;background-color:#fff;border:.25rem solid #1b1b1b;box-shadow:0 0 0 .25rem #fff;color:#1b1b1b;content:counter(usa-numbered-list,decimal);counter-increment:usa-numbered-list;display:flex;font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.46rem;font-weight:700;height:2.5rem;left:0;line-height:.9;margin-top:-.4rem;position:absolute;width:2.5rem}.usa-process-list__item ul li{margin-bottom:.25rem}.usa-process-list__item>:first-child{margin-top:0}.usa-process-list__item>:last-child{margin-bottom:0}.usa-process-list__heading{font-size:1.46rem;line-height:1.1;color:#1b1b1b;font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-weight:700;margin:0}.usa-process-list__heading+*{margin-top:.25rem}.usa-search{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5;position:relative}.usa-search::after{clear:both;content:"";display:block}.usa-search [role=search],.usa-search[role=search],.usa-search[role=search]>div{display:flex}.usa-search [type=submit]{border-bottom-left-radius:0;border-top-left-radius:0;height:2rem;margin:0;padding:0;width:3rem}@media all and (min-width:30em){.usa-search [type=submit]{padding-left:1rem;padding-right:1rem;width:auto}}@media (forced-colors:active){.usa-search [type=submit]::before{background-image:url(../img/usa-icons/search.svg);background-repeat:no-repeat;background-position:center center;background-size:1.5rem 1.5rem;display:inline-block;height:1.5rem;width:1.5rem;content:"";vertical-align:middle;margin-right:auto}@supports ((-webkit-mask:url()) or (mask:url())){.usa-search [type=submit]::before{background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/search.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/search.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1.5rem 1.5rem;mask-size:1.5rem 1.5rem}}.usa-search [type=submit]:focus{outline-offset:0}}@media (forced-colors:active) and (min-width:30em){.usa-search [type=submit]::before{content:none}}@media all and (min-width:30em){.usa-search__submit-icon{display:none}}@media (forced-colors:active){.usa-search__submit-icon{display:none}}@media all and (min-width:30em){.usa-search--big .usa-search__input,.usa-search--big [type=search]{font-size:1.06rem;height:3rem}.usa-search--big .usa-search__submit,.usa-search--big [type=submit]{padding-left:2rem;padding-right:2rem;font-size:1.46rem;height:3rem;width:auto}}.usa-search--small .usa-search__submit,.usa-search--small [type=submit]{padding-left:.75rem;padding-right:.75rem;min-width:3rem}@media (forced-colors:active) and (min-width:30em){.usa-search--small [type=submit]::before{content:""}}.usa-search--small .usa-search__submit-icon{height:1.5rem;width:1.5rem;display:block}@media (forced-colors:active){.usa-search--small .usa-search__submit-icon{display:none}}input[type=search]{box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.usa-search__input,[type=search]{padding-bottom:0;padding-top:0;border-bottom-right-radius:0;border-right:none;border-top-right-radius:0;box-sizing:border-box;float:left;font-size:1rem;height:2rem;margin:0}.usa-search__submit-text{display:none}@media all and (min-width:30em){.usa-search__submit-text{display:block}}.usa-section{padding-bottom:2rem;padding-top:2rem}@media all and (min-width:40em){.usa-section{padding-bottom:4rem;padding-top:4rem}}.usa-section--light{background-color:#f0f0f0}.usa-section--dark{background-color:#162e51;color:#fff}.usa-section--dark p{color:#fff}.usa-section--dark a,.usa-section--dark a:visited{color:#dfe1e2}.usa-section--dark a:active,.usa-section--dark a:hover{color:#f0f0f0}.usa-sidenav{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.3;border-bottom:1px solid #dfe1e2}.usa-sidenav__item{border-top:1px solid #dfe1e2}.usa-sidenav a:not(.usa-button){display:block;padding:.5rem 1rem;text-decoration:none}.usa-sidenav a:not(.usa-button):hover{background-color:#f0f0f0;text-decoration:none}.usa-sidenav a:not(.usa-button):not(.usa-current){color:#565c65}.usa-sidenav a:not(.usa-button):not(.usa-current):hover{color:#005ea2}.usa-sidenav a:not(.usa-button):not(.usa-current):focus{outline-offset:0}.usa-sidenav .usa-current{position:relative;color:#005ea2;font-weight:700}.usa-sidenav .usa-current::after{background-color:#005ea2;border-radius:99rem;content:"";display:block;position:absolute;bottom:.25rem;top:.25rem;width:.25rem;left:.25rem}@media all and (min-width:40em){.usa-sidenav .usa-current{position:relative}.usa-sidenav .usa-current::after{background-color:#005ea2;border-radius:99rem;content:"";display:block;position:absolute;bottom:.25rem;top:.25rem;width:.25rem;left:0}}.grid-container .usa-sidenav{margin-left:-1rem;margin-right:-1rem}@media all and (min-width:40em){.grid-container .usa-sidenav{margin-left:0;margin-right:0}}.usa-sidenav__sublist{list-style-type:none;padding-left:0;margin:0;font-size:1rem}.usa-sidenav__sublist-item{border-top:1px solid #dfe1e2;font-size:.93rem}.usa-sidenav__sublist .usa-current::after{display:none}@media all and (min-width:40em){.usa-sidenav__sublist .usa-current::after{display:none}}.usa-sidenav__sublist a:not(.usa-button){padding-left:2rem}.usa-sidenav__sublist .usa-sidenav__sublist a:not(.usa-button){padding-left:3rem}.usa-sidenav__sublist .usa-sidenav__sublist .usa-sidenav__sublist a:not(.usa-button){padding-left:4rem}.usa-site-alert .usa-alert{background-color:#f0f0f0;border-left:.5rem solid #a9aeb1;color:#1b1b1b}.usa-site-alert .usa-alert .usa-alert__body{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5;margin-left:auto;margin-right:auto;max-width:64rem;padding:1rem;position:relative}@media all and (min-width:64em){.usa-site-alert .usa-alert .usa-alert__body{padding-left:1.8333333333rem}}.usa-site-alert .usa-alert .usa-alert__text{margin-bottom:0;margin-top:0}.usa-site-alert .usa-alert .usa-alert__text:only-child{padding-bottom:0;padding-top:0}.usa-site-alert .usa-alert .usa-alert__heading{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.46rem;line-height:.9;margin-top:0;margin-bottom:.5rem}.usa-site-alert .usa-alert .usa-alert__body>.usa-list,.usa-site-alert .usa-alert>.usa-list{padding-left:2ch}.usa-site-alert .usa-alert .usa-alert__body>.usa-list:last-child,.usa-site-alert .usa-alert>.usa-list:last-child{margin-bottom:0}.usa-site-alert--info .usa-alert{background-color:#e7f6f8;border-left-color:#00bde3}.usa-site-alert--info .usa-alert .usa-alert__body{color:#1b1b1b;background-color:#e7f6f8;padding-left:2.9166666667rem}.usa-site-alert--info .usa-alert .usa-alert__body::before{background-image:url(../img/usa-icons/info.svg);background-repeat:no-repeat;background-position:center center;background-size:2rem 2rem;height:2rem;width:2rem;content:"";display:block;left:.5rem;position:absolute;top:.75rem}@supports ((-webkit-mask:url()) or (mask:url())){.usa-site-alert--info .usa-alert .usa-alert__body::before{background:0 0;background-color:#1b1b1b;-webkit-mask-image:url(../img/usa-icons/info.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/info.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2rem 2rem;mask-size:2rem 2rem}}@media all and (min-width:64em){.usa-site-alert--info .usa-alert .usa-alert__body::before{left:1.5rem}.usa-site-alert--info .usa-alert .usa-alert__body{padding-left:4rem;padding-right:4rem}}.usa-site-alert--info .usa-alert .usa-alert__body .usa-link,.usa-skipnav{color:#005ea2}.usa-site-alert--info .usa-alert .usa-alert__body .usa-link:visited{color:#54278f}.usa-site-alert--info .usa-alert .usa-alert__body .usa-link:active,.usa-site-alert--info .usa-alert .usa-alert__body .usa-link:hover{color:#1a4480}.usa-site-alert--emergency .usa-alert{background-color:#9c3d10;border-left-color:#9c3d10}.usa-site-alert--emergency .usa-alert .usa-alert__body{color:#fff;background-color:#9c3d10;padding-left:2.9166666667rem}.usa-site-alert--emergency .usa-alert .usa-alert__body::before{background-image:url(../img/usa-icons-bg/error--white.svg);background-repeat:no-repeat;background-position:center center;background-size:2rem 2rem;height:2rem;width:2rem;content:"";display:block;left:.5rem;position:absolute;top:.75rem}@supports ((-webkit-mask:url()) or (mask:url())){.usa-site-alert--emergency .usa-alert .usa-alert__body::before{background:0 0;background-color:#fff;-webkit-mask-image:url(../img/usa-icons/error.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/error.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2rem 2rem;mask-size:2rem 2rem}}@media all and (min-width:64em){.usa-site-alert--emergency .usa-alert .usa-alert__body::before{left:1.5rem}.usa-site-alert--emergency .usa-alert .usa-alert__body{padding-left:4rem;padding-right:4rem}}.usa-site-alert--emergency .usa-alert .usa-alert__body .usa-link,.usa-site-alert--emergency .usa-alert .usa-alert__body .usa-link:visited{color:#dfe1e2}.usa-site-alert--emergency .usa-alert .usa-alert__body .usa-link:active,.usa-site-alert--emergency .usa-alert .usa-alert__body .usa-link:hover{color:#f0f0f0}.usa-site-alert--slim .usa-alert .usa-alert__body{padding-bottom:.5rem;padding-top:.5rem;padding-left:2.4166666667rem}.usa-site-alert--slim .usa-alert .usa-alert__body:before{background-size:1.5rem;height:1.5rem;top:.5rem;width:1.5rem}@supports ((-webkit-mask:url()) or (mask:url())){.usa-site-alert--slim .usa-alert .usa-alert__body:before{-webkit-mask-size:1.5rem;mask-size:1.5rem}}@media all and (min-width:64em){.usa-site-alert--slim .usa-alert .usa-alert__body{padding-left:3.5rem}}.usa-site-alert--no-icon .usa-alert .usa-alert__body{padding-left:.5rem}.usa-site-alert--no-icon .usa-alert .usa-alert__body:before{display:none}@media all and (min-width:64em){.usa-site-alert--no-icon .usa-alert .usa-alert__body{padding-left:1.8333333333rem}}.usa-skipnav{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5;text-decoration:underline;background:0 0;left:0;padding:.5rem 1rem;position:absolute;top:-3.8rem;transition:.15s ease-in-out;z-index:100}.usa-skipnav:visited{color:#54278f}.usa-skipnav:hover{color:#1a4480}.usa-skipnav:active{color:#162e51}.usa-skipnav:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-skipnav.usa-focus,.usa-skipnav:focus{background:#fff;left:0;position:absolute;top:0;transition:.15s ease-in-out}.usa-skipnav__container{position:relative}.usa-step-indicator{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.1;background-color:#fff;margin-bottom:2rem;margin-left:-1px;margin-right:-1px}@media all and (min-width:40em){.usa-step-indicator{margin-left:0;margin-right:0}}.usa-step-indicator__segments{counter-reset:usa-step-indicator;display:flex;list-style:none;margin:0;padding:0}.usa-step-indicator__segment{flex:1 1 0%;counter-increment:usa-step-indicator;margin-left:1px;margin-right:1px;max-width:15rem;min-height:.5rem;position:relative}.usa-step-indicator__segment:after{background-color:#919191;content:"";display:block;height:.5rem;left:0;position:absolute;right:0;top:0}@media all and (min-width:40em){.usa-step-indicator__segment:after{height:.5rem}}.usa-step-indicator__segment--complete::after{background-color:#162e51}.usa-step-indicator__segment--complete .usa-step-indicator__segment-label{color:#162e51}.usa-step-indicator__segment--current::after{background-color:#005ea2}.usa-step-indicator__segment--current .usa-step-indicator__segment-label{color:#005ea2;font-weight:700}.usa-step-indicator__segment-label{display:none}@media all and (min-width:40em){.usa-step-indicator__segment-label{color:#565c65;display:block;font-size:1.06rem;margin-top:calc(.5rem + .5rem);padding-right:2rem;text-align:left}}.usa-step-indicator__header{align-items:baseline;display:flex}.usa-step-indicator__heading{color:#1b1b1b;font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.13rem;font-weight:700;margin:1rem 0 0}@media all and (min-width:40em){.usa-step-indicator__heading{font-size:1.46rem;margin-top:2rem}}.usa-step-indicator__current-step{height:2.5rem;border-radius:99rem;width:2.5rem;font-weight:400;font-feature-settings:"tnum"1,"kern"1;background-color:#005ea2;color:#fff;display:inline-block;padding:calc((2.5rem - 2ex*1.1)*.5);text-align:center}.usa-step-indicator__total-steps{font-weight:400;font-feature-settings:"tnum"1,"kern"1;color:#005ea2;margin-right:.5rem}@media all and (min-width:40em){.usa-step-indicator--counters .usa-step-indicator__segment,.usa-step-indicator--counters-sm .usa-step-indicator__segment{margin-left:0;margin-right:0;margin-top:calc((2.5rem - .5rem)/2 + .25rem)}.usa-step-indicator--counters .usa-step-indicator__segment:before,.usa-step-indicator--counters-sm .usa-step-indicator__segment:before{height:2.5rem;border-radius:99rem;width:2.5rem;font-feature-settings:"tnum"1,"kern"1;background-color:#fff;box-shadow:inset 0 0 0 .25rem #919191,0 0 0 .25rem #fff;color:#565c65;content:counter(usa-step-indicator);display:block;font-weight:700;left:0;line-height:.9;padding:calc((2.5rem - 2ex*.9)*.5);position:absolute;text-align:center;top:calc((2.5rem - .5rem)/-2);z-index:100}.usa-step-indicator--counters .usa-step-indicator__segment:last-child:after,.usa-step-indicator--counters-sm .usa-step-indicator__segment:last-child:after{display:none}}.usa-step-indicator--counters .usa-step-indicator__segment--complete::before,.usa-step-indicator--counters-sm .usa-step-indicator__segment--complete::before{background-color:#162e51;box-shadow:0 0 0 .25rem #fff;color:#fff}.usa-step-indicator--counters .usa-step-indicator__segment--current::before,.usa-step-indicator--counters-sm .usa-step-indicator__segment--current::before{background-color:#005ea2;box-shadow:0 0 0 .25rem #fff;color:#fff}@media all and (min-width:40em){.usa-step-indicator--counters .usa-step-indicator__segment-label{margin-top:calc((2.5rem + .5rem)/2 + .5rem)}.usa-step-indicator--counters-sm.usa-step-indicator--center .usa-step-indicator__segment:first-child:after,.usa-step-indicator--counters.usa-step-indicator--center .usa-step-indicator__segment:first-child:after{left:50%;right:0;width:auto}.usa-step-indicator--counters-sm.usa-step-indicator--center .usa-step-indicator__segment:last-child:after,.usa-step-indicator--counters.usa-step-indicator--center .usa-step-indicator__segment:last-child:after{display:block;left:0;right:50%;width:auto}.usa-step-indicator--counters-sm .usa-step-indicator__segment{margin-top:calc((1.5rem - .5rem)/2 + .25rem)}.usa-step-indicator--counters-sm .usa-step-indicator__segment:before{height:1.5rem;border-radius:99rem;width:1.5rem;font-size:.93rem;padding:calc(.25rem + 1px);top:calc((1.5rem - .5rem)/-2)}.usa-step-indicator--counters-sm .usa-step-indicator__segment:last-child:after{display:none}.usa-step-indicator--counters-sm .usa-step-indicator__segment-label{margin-top:calc((1.5rem + .5rem)/2 + .5rem)}}.usa-step-indicator--center,.usa-step-indicator--no-labels{margin-left:-1px;margin-right:-1px}.usa-step-indicator--no-labels .usa-step-indicator__segment{margin-top:0;margin-left:1px;margin-right:1px}.usa-step-indicator--no-labels .usa-step-indicator__segment:before{display:none}.usa-step-indicator--no-labels .usa-step-indicator__segment:last-child:after{display:block}.usa-step-indicator--no-labels .usa-step-indicator__heading{margin-top:1rem}.usa-step-indicator--no-labels .usa-step-indicator__segment-label,.width-mobile .usa-table--stacked thead,.width-mobile .usa-table--stacked-header thead{display:none}.usa-step-indicator--center .usa-step-indicator__segment{margin-left:1px;margin-right:1px}.usa-step-indicator--center .usa-step-indicator__segment:before{left:calc(50% - (2.5rem + .25rem)/2)}.usa-step-indicator--center .usa-step-indicator__segment-label{padding-left:.5rem;padding-right:.5rem;text-align:center}.usa-step-indicator--center.usa-step-indicator--no-labels .usa-step-indicator__segment:first-child:after{left:0}.usa-step-indicator--center.usa-step-indicator--no-labels .usa-step-indicator__segment:last-child:after{right:0}.usa-step-indicator--center.usa-step-indicator--counters-sm .usa-step-indicator__segment:before{left:calc(50% - (1.5rem + .25rem)/2)}.usa-summary-box{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5;color:#1b1b1b;background-color:#e7f6f8;border-radius:.25rem;border:1px #99deea solid;padding:1.5rem;position:relative}.usa-summary-box .usa-list:last-child{margin-bottom:0}*+.usa-summary-box{margin-top:1rem}.usa-summary-box__heading{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.46rem;line-height:1.1;margin-top:0;margin-bottom:.5rem}.usa-summary-box__text{margin-bottom:0;margin-top:0}.usa-summary-box__text:only-child{margin-bottom:1px;padding-top:.25rem}.usa-summary-box__link,.usa-summary-box__link[href^="#"]:visited{color:#005ea2}.usa-summary-box__link:visited{color:#54278f}.usa-summary-box__link:active,.usa-summary-box__link:hover,.usa-summary-box__link[href^="#"]:hover{color:#1a4480}.usa-table{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5;border-collapse:collapse;border-spacing:0;color:#1b1b1b;margin:1.25rem 0}.usa-table thead th{background-clip:padding-box;font-weight:700;line-height:1.3}.usa-table thead td,.usa-table thead th{background-color:#dfe1e2;color:#1b1b1b}.usa-table,.usa-table tbody th{text-align:left}.usa-table th[data-sortable]{padding-right:2.5rem;position:relative}.usa-table th[data-sortable]::after{border-bottom-color:transparent;border-bottom-style:solid;border-bottom-width:1px;bottom:0;content:"";height:0;left:0;position:absolute;width:100%}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button{background-color:transparent;border:0;border-radius:0;box-shadow:none;font-weight:400;justify-content:normal;padding:0;height:2rem;width:2rem;background-position:center center;background-size:1.5rem;color:#71767a;cursor:pointer;display:inline-block;margin:0;position:absolute;right:.25rem;text-align:center;text-decoration:none;top:50%;transform:translate(0,-50%)}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:active{color:#162e51}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:focus,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--active,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--disabled,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:active,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled.usa-button--active,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled.usa-button--hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled.usa-focus,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:active,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:focus,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true].usa-focus,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:active,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--disabled,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled.usa-button--active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled.usa-button--hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled.usa-focus,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:focus,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true].usa-focus,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:hover{background-color:transparent;box-shadow:none;text-decoration:underline}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--hover{color:#1a4480}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--active{color:#162e51}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:hover{color:#757575}@media (forced-colors:active){.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:hover{color:GrayText}}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button .usa-icon{height:1.5rem;width:1.5rem;vertical-align:middle}.usa-table th[data-sortable][aria-sort=ascending],.usa-table th[data-sortable][aria-sort=descending]{background-color:#97d4ea}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button{background-color:transparent;border:0;border-radius:0;box-shadow:none;font-weight:400;justify-content:normal;padding:0;height:2rem;width:2rem;background-position:center center;background-size:1.5rem;color:#71767a;cursor:pointer;display:inline-block;margin:0;position:absolute;right:.25rem;text-align:center;text-decoration:none;top:50%;transform:translate(0,-50%)}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:visited{color:#54278f}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:hover{color:#1a4480}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:active{color:#162e51}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--active,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--disabled,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:active,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled.usa-button--active,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled.usa-button--hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled.usa-focus,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:active,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:focus,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true].usa-focus,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:active,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:hover{background-color:transparent;box-shadow:none;text-decoration:underline}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--hover{color:#1a4480}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--active{color:#162e51}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:hover{color:#757575}@media (forced-colors:active){.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:hover{color:GrayText}}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button .usa-icon{height:1.5rem;width:1.5rem;vertical-align:middle}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button .usa-icon>g.ascending,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button .usa-icon>g.descending{fill:#1b1b1b}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:visited{color:#54278f}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:hover{color:#1a4480}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:active{color:#162e51}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--active,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--disabled,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:active,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled.usa-button--active,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled.usa-button--hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled.usa-focus,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:active,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:focus,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true].usa-focus,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:active,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:hover{background-color:transparent;box-shadow:none;text-decoration:underline}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--hover{color:#1a4480}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--active{color:#162e51}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:hover{color:#757575}@media (forced-colors:active){.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:hover{color:GrayText}}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button .usa-icon{height:1.5rem;width:1.5rem;vertical-align:middle}.usa-table thead th[aria-sort]{background-color:#97d4ea;color:#1b1b1b}.usa-table td[data-sort-active],.usa-table th[data-sort-active]{background-color:#e1f3f8;color:#1b1b1b}.usa-table--borderless thead th{background-color:#fff;border-top:0;color:#1b1b1b}.usa-table--borderless thead th[aria-sort]{color:#1b1b1b}.usa-table--borderless thead th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover .usa-icon>g.unsorted{fill:#000}.usa-table--striped tbody tr:nth-child(odd) td[data-sort-active],.usa-table--striped tbody tr:nth-child(odd) th[data-sort-active]{background-color:#c3ebfa;color:#1b1b1b}@media all and (max-width:29.99em){.usa-table--stacked thead,.usa-table--stacked-header thead{display:none}.usa-table--stacked td,.usa-table--stacked th,.usa-table--stacked-header td,.usa-table--stacked-header th{border-bottom-width:0;display:block;width:100%}.usa-table--stacked tr,.usa-table--stacked-header tr{border-bottom:.25rem solid #1b1b1b;border-top-width:0;width:100%}.usa-table--stacked tr td:first-child,.usa-table--stacked tr th:first-child{border-top-width:0}.usa-table--stacked tr:nth-child(odd) td,.usa-table--stacked tr:nth-child(odd) th{background-color:inherit}.usa-table--stacked tr:first-child td:first-child,.usa-table--stacked tr:first-child th:first-child,.usa-table--stacked-header tr:first-child td:first-child,.usa-table--stacked-header tr:first-child th:first-child{border-top:.25rem solid #1b1b1b}.usa-table--stacked td[data-label],.usa-table--stacked th[data-label],.usa-table--stacked-header td[data-label],.usa-table--stacked-header th[data-label]{padding-bottom:.75rem}.usa-table--stacked td[data-label]:before,.usa-table--stacked th[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-.5rem -1rem 0;padding:.75rem 1rem .25rem}.usa-table--stacked-header tr td:first-child,.usa-table--stacked-header tr th:first-child{border-top-width:0}.usa-table--stacked-header tr:nth-child(odd) td,.usa-table--stacked-header tr:nth-child(odd) th{background-color:inherit}.usa-table--stacked-header td[data-label]:before,.usa-table--stacked-header th[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-.5rem -1rem 0;padding:.75rem 1rem .25rem}.usa-table--stacked-header tr td:first-child,.usa-table--stacked-header tr th:first-child{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.1;background-color:#dfe1e2;color:#1b1b1b;font-weight:700;padding:.75rem 1rem}.usa-table--stacked-header tr td:first-child:before,.usa-table--stacked-header tr th:first-child:before{display:none}}.width-mobile .usa-table--stacked td,.width-mobile .usa-table--stacked th,.width-mobile .usa-table--stacked-header td,.width-mobile .usa-table--stacked-header th{border-bottom-width:0;display:block;width:100%}.width-mobile .usa-table--stacked tr td:first-child,.width-mobile .usa-table--stacked tr th:first-child{border-top-width:0}.width-mobile .usa-table--stacked tr:nth-child(odd) td,.width-mobile .usa-table--stacked tr:nth-child(odd) th{background-color:inherit}.width-mobile .usa-table--stacked tr:first-child td:first-child,.width-mobile .usa-table--stacked tr:first-child th:first-child,.width-mobile .usa-table--stacked-header tr:first-child td:first-child,.width-mobile .usa-table--stacked-header tr:first-child th:first-child{border-top:.25rem solid #1b1b1b}.width-mobile .usa-table--stacked td[data-label],.width-mobile .usa-table--stacked th[data-label],.width-mobile .usa-table--stacked-header td[data-label],.width-mobile .usa-table--stacked-header th[data-label]{padding-bottom:.75rem}.width-mobile .usa-table--stacked td[data-label]:before,.width-mobile .usa-table--stacked th[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-.5rem -1rem 0;padding:.75rem 1rem .25rem}.width-mobile .usa-table--stacked-header tr td:first-child,.width-mobile .usa-table--stacked-header tr th:first-child{border-top-width:0}.width-mobile .usa-table--stacked-header tr:nth-child(odd) td,.width-mobile .usa-table--stacked-header tr:nth-child(odd) th{background-color:inherit}.width-mobile .usa-table--stacked-header td[data-label]:before,.width-mobile .usa-table--stacked-header th[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-.5rem -1rem 0;padding:.75rem 1rem .25rem}.width-mobile .usa-table--stacked-header tr td:first-child,.width-mobile .usa-table--stacked-header tr th:first-child{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.1;background-color:#dfe1e2;color:#1b1b1b;font-weight:700;padding:.75rem 1rem}.width-mobile .usa-table--stacked-header tr td:first-child:before,.width-mobile .usa-table--stacked-header tr th:first-child:before{display:none}.usa-table--sticky-header{border:1px solid #1b1b1b;border-collapse:separate}.usa-table--sticky-header td,.usa-table--sticky-header th{border-left:none;border-top:none}.usa-table--sticky-header td:last-child,.usa-table--sticky-header th:last-child{border-right:none}.usa-table--sticky-header tbody tr:last-child td,.usa-table--sticky-header tbody tr:last-child th{border-bottom:none}.usa-table--sticky-header thead{position:sticky;top:-1px}.usa-table--sticky-header.usa-table--borderless{border:0}.usa-table--sticky-header.usa-table--borderless thead th{background-color:#fff}.usa-table--sticky-header.usa-table--borderless td,.usa-table--sticky-header.usa-table--borderless th{border-right:none}.usa-table-container--scrollable{margin:1.25rem 0;overflow-y:hidden}.usa-table-container--scrollable .usa-table{margin:0}.usa-table-container--scrollable td{white-space:nowrap}.usa-tag{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:.93rem;color:#fff;text-transform:uppercase;background-color:#565c65;border-radius:2px;margin-right:.25rem;padding:1px .5rem}.usa-tag:only-of-type{margin-right:0}.usa-tag--big{padding-left:.5rem;padding-right:.5rem;font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem}.usa-tooltip{display:inline-block;position:relative}.usa-tooltip__trigger{cursor:pointer}.usa-tooltip__trigger>svg{display:block;pointer-events:none}.usa-tooltip__body,.usa-tooltip__body--top{transition:opacity .08s ease-in-out;background-color:#1b1b1b;border-radius:.25rem;color:#f0f0f0;display:none;font-size:1rem;opacity:0;padding:.5rem;width:auto;white-space:pre;z-index:100000;position:absolute}.usa-tooltip__body--top::after,.usa-tooltip__body::after{content:"";display:block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #1b1b1b;position:absolute;bottom:-5px;left:50%;margin-left:-5px}.usa-tooltip__body--top::before,.usa-tooltip__body::before{content:"";display:block;position:absolute}.usa-tooltip__body--wrap{width:100%;white-space:normal;text-align:center;min-width:50vw}.usa-tooltip__body.is-set{display:block}.usa-tooltip__body.is-visible{opacity:1}.usa-tooltip__body--top::before{top:100%;height:5px;left:0;right:0}.usa-tooltip__body--bottom::before{bottom:100%;height:5px;left:0;right:0}.usa-tooltip__body--bottom::after{border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #1b1b1b;border-top:0;bottom:auto;top:-5px}.usa-tooltip__body--right::before{right:100%;bottom:0;top:0;width:5px}.usa-tooltip__body--right::after{border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #1b1b1b;border-left:0;right:auto;top:50%;bottom:0;left:-5px;margin:-5px 0 0}.usa-tooltip__body--left::before{left:100%;bottom:0;top:0;width:5px}.usa-tooltip__body--left::after{border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #1b1b1b;border-right:0;right:-5px;top:50%;bottom:0;left:auto;margin:-5px 0 0}.usa-character-count__status{display:inline-block;padding-top:.25rem}.usa-character-count__status.usa-character-count__status--invalid{color:#b50909;font-weight:700}.usa-input:disabled,.usa-input[aria-disabled=true]{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1;-webkit-text-fill-color:#454545}.usa-input:disabled.usa-focus,.usa-input:disabled:active,.usa-input:disabled:focus,.usa-input:disabled:hover,.usa-input[aria-disabled=true].usa-focus,.usa-input[aria-disabled=true]:active,.usa-input[aria-disabled=true]:focus,.usa-input[aria-disabled=true]:hover{color:#454545;background-color:#c9c9c9}@media (forced-colors:active){.usa-input:disabled,.usa-input[aria-disabled=true]{color:GrayText;border:2px solid GrayText}.usa-input:disabled.usa-focus,.usa-input:disabled:active,.usa-input:disabled:focus,.usa-input:disabled:hover,.usa-input[aria-disabled=true].usa-focus,.usa-input[aria-disabled=true]:active,.usa-input[aria-disabled=true]:focus,.usa-input[aria-disabled=true]:hover{color:GrayText}}.usa-input--error,.usa-input--success{border-width:.25rem;border-color:#b50909;border-style:solid;padding-top:calc(.5rem - .25rem);padding-bottom:calc(.5rem - .25rem)}.usa-input--success{border-color:#00a91c}.usa-fieldset{border:0;margin:0;padding:0}.usa-legend{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.3;display:block;font-weight:400;margin-top:1.5rem;max-width:30rem}.usa-legend--large{font-size:2.13rem;font-weight:700;margin-top:1rem}.usa-input-list,.usa-prose .usa-input-list{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-checkbox{background:#fff}.usa-checkbox__label{color:#1b1b1b}.usa-checkbox__label::before{background:#fff;box-shadow:0 0 0 2px #1b1b1b}@media (forced-colors:active){.usa-checkbox__label::before{outline:2px solid transparent;outline-offset:2px}}.usa-checkbox__input:checked+[class*=__label]::before{background-color:#005ea2;box-shadow:0 0 0 2px #005ea2}.usa-checkbox__input:disabled+[class*=__label],.usa-checkbox__input[aria-disabled=true]+[class*=__label]{color:#757575;cursor:not-allowed}@media (forced-colors:active){.usa-checkbox__input:disabled+[class*=__label],.usa-checkbox__input[aria-disabled=true]+[class*=__label]{color:GrayText}}.usa-checkbox__input:disabled+[class*=__label]::before,.usa-checkbox__input[aria-disabled=true]+[class*=__label]::before{background-color:#fff;box-shadow:0 0 0 2px #757575}.usa-checkbox__input--tile+[class*=__label]{background-color:#fff;border:2px solid #c9c9c9;color:#1b1b1b;border-radius:.25rem;margin-top:.5rem;padding:.75rem 1rem .75rem 2.5rem}.usa-checkbox__input--tile:checked+[class*=__label]{background-color:rgba(0,94,162,.1);border-color:#005ea2}@media (forced-colors:active){.usa-checkbox__input--tile:checked+[class*=__label]{border:ButtonText solid .25rem}}.usa-checkbox__input--tile:disabled+[class*=__label],.usa-checkbox__input--tile[aria-disabled=true]+[class*=__label]{border-color:#e6e6e6}.usa-checkbox__input--tile:disabled:checked+[class*=__label],.usa-checkbox__input--tile:disabled:indeterminate+[class*=__label],.usa-checkbox__input--tile:disabled[data-indeterminate]+[class*=__label],.usa-checkbox__input--tile[aria-disabled=true]:checked+[class*=__label],.usa-checkbox__input--tile[aria-disabled=true]:indeterminate+[class*=__label],.usa-checkbox__input--tile[aria-disabled=true][data-indeterminate]+[class*=__label]{background-color:#fff}.usa-checkbox__input:indeterminate+[class*=__label]::before,.usa-checkbox__input[data-indeterminate]+[class*=__label]::before{background-image:url(../img/checkbox-indeterminate.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat;background-color:#005ea2;box-shadow:0 0 0 2px #005ea2;background-position:center center;background-size:.75rem auto}@media (forced-colors:active){.usa-checkbox__input:indeterminate+[class*=__label]::before,.usa-checkbox__input[data-indeterminate]+[class*=__label]::before{background-image:url(../img/checkbox-indeterminate-alt.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat;background-color:SelectedItem}}.usa-checkbox__input:indeterminate:disabled+[class*=__label]::before,.usa-checkbox__input:indeterminate[aria-disabled=true]+[class*=__label]::before,.usa-checkbox__input[data-indeterminate]:disabled+[class*=__label]::before,.usa-checkbox__input[data-indeterminate][aria-disabled=true]+[class*=__label]::before{box-shadow:0 0 0 2px #757575}.usa-checkbox__input:indeterminate:disabled+[class*=__label],.usa-checkbox__input:indeterminate[aria-disabled=true]+[class*=__label],.usa-checkbox__input[data-indeterminate]:disabled+[class*=__label],.usa-checkbox__input[data-indeterminate][aria-disabled=true]+[class*=__label]{border-color:#e6e6e6}.usa-checkbox__input--tile:indeterminate+[class*=__label],.usa-checkbox__input--tile[data-indeterminate]+[class*=__label]{background-color:rgba(0,94,162,.1);border-color:#005ea2}@media (forced-colors:active){.usa-checkbox__input--tile:indeterminate+[class*=__label],.usa-checkbox__input--tile[data-indeterminate]+[class*=__label]{border:ButtonText solid .25rem}}.usa-checkbox__input:checked+[class*=__label]::before,.usa-checkbox__input:checked:disabled+[class*=__label]::before,.usa-checkbox__input:checked[aria-disabled=true]+[class*=__label]::before{background-image:url(../img/correct8.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat}@media (forced-colors:active){.usa-checkbox__input:checked+[class*=__label]::before,.usa-checkbox__input:checked:disabled+[class*=__label]::before,.usa-checkbox__input:checked[aria-disabled=true]+[class*=__label]::before{background-image:url(../img/correct8-alt.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat}}.usa-checkbox__input:checked:disabled+[class*=__label]::before,.usa-checkbox__input:checked[aria-disabled=true]+[class*=__label]::before,.usa-checkbox__input:indeterminate:disabled+[class*=__label]::before,.usa-checkbox__input:indeterminate[aria-disabled=true]+[class*=__label]::before,.usa-checkbox__input[data-indeterminate]:disabled+[class*=__label]::before,.usa-checkbox__input[data-indeterminate][aria-disabled=true]+[class*=__label]::before{background-color:#757575}@media (forced-colors:active){.usa-checkbox__input:checked:disabled+[class*=__label]::before,.usa-checkbox__input:checked[aria-disabled=true]+[class*=__label]::before,.usa-checkbox__input:indeterminate:disabled+[class*=__label]::before,.usa-checkbox__input:indeterminate[aria-disabled=true]+[class*=__label]::before,.usa-checkbox__input[data-indeterminate]:disabled+[class*=__label]::before,.usa-checkbox__input[data-indeterminate][aria-disabled=true]+[class*=__label]::before{background-color:GrayText}}.usa-checkbox__input{position:absolute;left:-999em;right:auto}.usa-checkbox__input:focus+[class*=__label]::before{outline:.25rem solid #2491ff;outline-offset:.25rem}.usa-checkbox__input--tile+[class*=__label]::before{left:.5rem}.usa-checkbox__input:checked+[class*=__label]::before{background-position:center center;background-size:.75rem auto}@media print{.usa-checkbox__input:checked+[class*=__label]::before{background-image:none;background-color:#fff;content:"✔";text-align:center}}@media (forced-colors:active){.usa-checkbox__input:checked+[class*=__label]::before{background-color:SelectedItem}}.usa-checkbox__label{cursor:pointer;display:inherit;font-weight:400;margin-top:.75rem;padding-left:2rem;position:relative}.usa-checkbox__label::before{content:" ";display:block;left:0;margin-left:2px;margin-top:.064rem;position:absolute;height:1.25rem;width:1.25rem;border-radius:2px}.usa-checkbox__label-description{display:block;font-size:.93rem;margin-top:.5rem}.usa-select{background-image:url(../img/usa-icons/unfold_more.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-position:right .5rem center;background-size:1.25rem;padding-right:2rem}.usa-select::-ms-expand{display:none}.usa-select:-webkit-autofill{-webkit-appearance:menulist;appearance:menulist}.usa-select:-moz-focusring{color:transparent;text-shadow:0 0 0#000}.usa-select[multiple]{height:auto;background-image:none;padding-right:0}.usa-select option{overflow:hidden;text-overflow:ellipsis}.usa-select:disabled,.usa-select[aria-disabled=true]{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-select:disabled.usa-focus,.usa-select:disabled:active,.usa-select:disabled:focus,.usa-select:disabled:hover,.usa-select[aria-disabled=true].usa-focus,.usa-select[aria-disabled=true]:active,.usa-select[aria-disabled=true]:focus,.usa-select[aria-disabled=true]:hover{color:#454545;background-color:#c9c9c9}@media (forced-colors:active){.usa-select:disabled,.usa-select[aria-disabled=true]{color:GrayText;border:2px solid GrayText}.usa-select:disabled.usa-focus,.usa-select:disabled:active,.usa-select:disabled:focus,.usa-select:disabled:hover,.usa-select[aria-disabled=true].usa-focus,.usa-select[aria-disabled=true]:active,.usa-select[aria-disabled=true]:focus,.usa-select[aria-disabled=true]:hover{color:GrayText}.usa-select{-webkit-appearance:listbox;-moz-appearance:listbox;appearance:listbox;background-image:none;padding-right:0}}.usa-combo-box{max-width:30rem;position:relative}.usa-combo-box--pristine .usa-combo-box__input{padding-right:calc(5em + 4px)}.usa-combo-box--pristine .usa-combo-box__input::-ms-clear{display:none}.usa-combo-box--pristine .usa-combo-box__clear-input{display:block}@media (forced-colors:active){.usa-combo-box--pristine .usa-combo-box__clear-input{background-image:url(../img/usa-icons/close.svg);background-repeat:no-repeat;background-position:center center;background-size:1rem 1rem;display:inline-block;width:1rem;height:1.5rem;width:auto;top:.5rem}@supports ((-webkit-mask:url()) or (mask:url())){.usa-combo-box--pristine .usa-combo-box__clear-input{background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/close.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/close.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1rem 1rem;mask-size:1rem 1rem}}}.usa-combo-box__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin-bottom:0;max-width:none;padding-right:calc(2.5em + 3px)}.usa-combo-box__input:disabled,.usa-combo-box__input[aria-disabled=true]{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1;-webkit-text-fill-color:#454545}.usa-combo-box__input:disabled.usa-focus,.usa-combo-box__input:disabled:active,.usa-combo-box__input:disabled:focus,.usa-combo-box__input:disabled:hover,.usa-combo-box__input[aria-disabled=true].usa-focus,.usa-combo-box__input[aria-disabled=true]:active,.usa-combo-box__input[aria-disabled=true]:focus,.usa-combo-box__input[aria-disabled=true]:hover,.usa-input-group input:disabled+.usa-input-suffix.usa-focus,.usa-input-group input:disabled+.usa-input-suffix:active,.usa-input-group input:disabled+.usa-input-suffix:focus,.usa-input-group input:disabled+.usa-input-suffix:hover,.usa-input-group input[aria-disabled=true]+.usa-input-suffix.usa-focus,.usa-input-group input[aria-disabled=true]+.usa-input-suffix:active,.usa-input-group input[aria-disabled=true]+.usa-input-suffix:focus,.usa-input-group input[aria-disabled=true]+.usa-input-suffix:hover{color:#454545;background-color:#c9c9c9}@media (forced-colors:active){.usa-combo-box__input:disabled,.usa-combo-box__input[aria-disabled=true]{color:GrayText;border:2px solid GrayText}.usa-combo-box__input:disabled.usa-focus,.usa-combo-box__input:disabled:active,.usa-combo-box__input:disabled:focus,.usa-combo-box__input:disabled:hover,.usa-combo-box__input[aria-disabled=true].usa-focus,.usa-combo-box__input[aria-disabled=true]:active,.usa-combo-box__input[aria-disabled=true]:focus,.usa-combo-box__input[aria-disabled=true]:hover{color:GrayText}}.usa-combo-box__input:disabled::-moz-placeholder,.usa-combo-box__input[aria-disabled=true]::-moz-placeholder{opacity:1}.usa-combo-box__input:disabled::placeholder,.usa-combo-box__input[aria-disabled=true]::placeholder{opacity:1}.usa-combo-box__input:disabled~.usa-combo-box__input-button-separator,.usa-combo-box__input[aria-disabled=true]~.usa-combo-box__input-button-separator{background-color:#454545;cursor:not-allowed}button.usa-combo-box__clear-input:focus,button.usa-combo-box__toggle-list:focus{outline-offset:-4px}button.usa-combo-box__clear-input:disabled,button.usa-combo-box__clear-input[aria-disabled=true],button.usa-combo-box__toggle-list:disabled,button.usa-combo-box__toggle-list[aria-disabled=true]{cursor:not-allowed}.usa-combo-box__clear-input__wrapper:focus,.usa-combo-box__toggle-list__wrapper:focus{outline:0}.usa-combo-box__clear-input,.usa-combo-box__toggle-list{background-color:transparent;background-position:center;border:0;bottom:1px;cursor:pointer;margin-bottom:0;opacity:.6;padding-right:2rem;position:absolute;top:1px;z-index:100}.usa-combo-box__clear-input{background-size:auto 1.5rem;background-image:url(../img/usa-icons/close.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat;display:none;right:calc(2.5em + 3px)}.usa-combo-box__toggle-list{background-image:url(../img/usa-icons/expand_more.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat;background-size:auto 2rem;right:1px}@media (forced-colors:active){.usa-combo-box__toggle-list{background-image:url(../img/usa-icons/expand_more.svg);background-repeat:no-repeat;background-position:center center;background-size:1rem 1rem;display:inline-block;height:1rem;width:1rem;height:auto;width:auto}@supports ((-webkit-mask:url()) or (mask:url())){.usa-combo-box__toggle-list{background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/expand_more.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/expand_more.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1rem 1rem;mask-size:1rem 1rem}}.usa-combo-box__toggle-list:disabled,.usa-combo-box__toggle-list[aria-disabled=true]{background-color:GrayText}}.usa-combo-box__input-button-separator{background-color:#c6cace;position:absolute;top:1px;height:calc(100% - 1rem);margin-bottom:.5rem;margin-top:.5rem;width:1px;right:calc(2.5em + 2px);box-sizing:border-box;z-index:200}@media (forced-colors:active){.usa-combo-box__input-button-separator{background-color:ButtonText}}.usa-combo-box__list{border-width:1px;border-color:#565c65;border-style:solid;background-color:#fff;border-radius:0;border-top:0;margin:0;max-height:12.1em;overflow-x:hidden;overflow-y:scroll;padding:0;position:absolute;width:100%;z-index:300}.usa-combo-box__list:focus{outline:0}.usa-combo-box__list-option{border-bottom:1px solid #dfe1e2;cursor:pointer;display:block;padding:.5rem}.usa-combo-box__list-option--focused{outline:2px solid #162e51;outline-offset:-2px;position:relative;z-index:100}.usa-combo-box__list-option--focused:focus{outline-offset:-4px}.usa-combo-box__list-option--selected{background-color:#005ea2;border-color:#005ea2;color:#fff}.usa-combo-box__list-option--no-results{cursor:not-allowed;display:block;padding:.5rem}.usa-date-picker__wrapper{display:none;position:relative;max-width:30rem}.usa-date-picker__wrapper:focus{outline:0}.usa-date-picker__button:disabled,.usa-date-picker__calendar__date:disabled,.usa-date-picker__calendar__month-selection:disabled,.usa-date-picker__calendar__month:disabled,.usa-date-picker__calendar__next-month:disabled,.usa-date-picker__calendar__next-year-chunk:disabled,.usa-date-picker__calendar__next-year:disabled,.usa-date-picker__calendar__previous-month:disabled,.usa-date-picker__calendar__previous-year-chunk:disabled,.usa-date-picker__calendar__previous-year:disabled,.usa-date-picker__calendar__year-selection:disabled,.usa-date-picker__calendar__year:disabled,.usa-date-picker__external-input[aria-disabled=true]+.usa-date-picker__button,[aria-disabled=true].usa-date-picker__button,[aria-disabled=true].usa-date-picker__calendar__date,[aria-disabled=true].usa-date-picker__calendar__month,[aria-disabled=true].usa-date-picker__calendar__month-selection,[aria-disabled=true].usa-date-picker__calendar__next-month,[aria-disabled=true].usa-date-picker__calendar__next-year,[aria-disabled=true].usa-date-picker__calendar__next-year-chunk,[aria-disabled=true].usa-date-picker__calendar__previous-month,[aria-disabled=true].usa-date-picker__calendar__previous-year,[aria-disabled=true].usa-date-picker__calendar__previous-year-chunk,[aria-disabled=true].usa-date-picker__calendar__year,[aria-disabled=true].usa-date-picker__calendar__year-selection{cursor:not-allowed;opacity:.6}.usa-date-picker__button:hover:disabled,.usa-date-picker__calendar__date:hover:disabled,.usa-date-picker__calendar__month-selection:hover:disabled,.usa-date-picker__calendar__month:hover:disabled,.usa-date-picker__calendar__next-month:hover:disabled,.usa-date-picker__calendar__next-year-chunk:hover:disabled,.usa-date-picker__calendar__next-year:hover:disabled,.usa-date-picker__calendar__previous-month:hover:disabled,.usa-date-picker__calendar__previous-year-chunk:hover:disabled,.usa-date-picker__calendar__previous-year:hover:disabled,.usa-date-picker__calendar__year-selection:hover:disabled,.usa-date-picker__calendar__year:hover:disabled,.usa-date-picker__external-input[aria-disabled=true]+.usa-date-picker__button:hover,[aria-disabled=true].usa-date-picker__button:hover,[aria-disabled=true].usa-date-picker__calendar__date:hover,[aria-disabled=true].usa-date-picker__calendar__month-selection:hover,[aria-disabled=true].usa-date-picker__calendar__month:hover,[aria-disabled=true].usa-date-picker__calendar__next-month:hover,[aria-disabled=true].usa-date-picker__calendar__next-year-chunk:hover,[aria-disabled=true].usa-date-picker__calendar__next-year:hover,[aria-disabled=true].usa-date-picker__calendar__previous-month:hover,[aria-disabled=true].usa-date-picker__calendar__previous-year-chunk:hover,[aria-disabled=true].usa-date-picker__calendar__previous-year:hover,[aria-disabled=true].usa-date-picker__calendar__year-selection:hover,[aria-disabled=true].usa-date-picker__calendar__year:hover{background-color:initial}@media (forced-colors:active){.usa-date-picker__button:disabled,.usa-date-picker__button:hover:disabled,.usa-date-picker__calendar__date:disabled,.usa-date-picker__calendar__date:hover:disabled,.usa-date-picker__calendar__month-selection:disabled,.usa-date-picker__calendar__month-selection:hover:disabled,.usa-date-picker__calendar__month:disabled,.usa-date-picker__calendar__month:hover:disabled,.usa-date-picker__calendar__next-month:disabled,.usa-date-picker__calendar__next-month:hover:disabled,.usa-date-picker__calendar__next-year-chunk:disabled,.usa-date-picker__calendar__next-year-chunk:hover:disabled,.usa-date-picker__calendar__next-year:disabled,.usa-date-picker__calendar__next-year:hover:disabled,.usa-date-picker__calendar__previous-month:disabled,.usa-date-picker__calendar__previous-month:hover:disabled,.usa-date-picker__calendar__previous-year-chunk:disabled,.usa-date-picker__calendar__previous-year-chunk:hover:disabled,.usa-date-picker__calendar__previous-year:disabled,.usa-date-picker__calendar__previous-year:hover:disabled,.usa-date-picker__calendar__year-selection:disabled,.usa-date-picker__calendar__year-selection:hover:disabled,.usa-date-picker__calendar__year:disabled,.usa-date-picker__calendar__year:hover:disabled,.usa-date-picker__external-input[aria-disabled=true]+.usa-date-picker__button,.usa-date-picker__external-input[aria-disabled=true]+.usa-date-picker__button:hover,[aria-disabled=true].usa-date-picker__button,[aria-disabled=true].usa-date-picker__button:hover,[aria-disabled=true].usa-date-picker__calendar__date,[aria-disabled=true].usa-date-picker__calendar__date:hover,[aria-disabled=true].usa-date-picker__calendar__month,[aria-disabled=true].usa-date-picker__calendar__month-selection,[aria-disabled=true].usa-date-picker__calendar__month-selection:hover,[aria-disabled=true].usa-date-picker__calendar__month:hover,[aria-disabled=true].usa-date-picker__calendar__next-month,[aria-disabled=true].usa-date-picker__calendar__next-month:hover,[aria-disabled=true].usa-date-picker__calendar__next-year,[aria-disabled=true].usa-date-picker__calendar__next-year-chunk,[aria-disabled=true].usa-date-picker__calendar__next-year-chunk:hover,[aria-disabled=true].usa-date-picker__calendar__next-year:hover,[aria-disabled=true].usa-date-picker__calendar__previous-month,[aria-disabled=true].usa-date-picker__calendar__previous-month:hover,[aria-disabled=true].usa-date-picker__calendar__previous-year,[aria-disabled=true].usa-date-picker__calendar__previous-year-chunk,[aria-disabled=true].usa-date-picker__calendar__previous-year-chunk:hover,[aria-disabled=true].usa-date-picker__calendar__previous-year:hover,[aria-disabled=true].usa-date-picker__calendar__year,[aria-disabled=true].usa-date-picker__calendar__year-selection,[aria-disabled=true].usa-date-picker__calendar__year-selection:hover,[aria-disabled=true].usa-date-picker__calendar__year:hover{background-color:GrayText}}.usa-date-picker__calendar__month,.usa-date-picker__calendar__next-year-chunk,.usa-date-picker__calendar__previous-year-chunk,.usa-date-picker__calendar__year{background-color:#f0f0f0;border:0;width:100%}.usa-date-picker__calendar__month-selection,.usa-date-picker__calendar__year-selection{background-color:#f0f0f0;border:0}.usa-date-picker__calendar__date,.usa-date-picker__calendar__next-month,.usa-date-picker__calendar__next-year,.usa-date-picker__calendar__previous-month,.usa-date-picker__calendar__previous-year{background-color:#f0f0f0;border:0;width:100%}.usa-date-picker__button{border:0}.usa-date-picker__button:not([disabled]),.usa-date-picker__calendar__date:not([disabled]),.usa-date-picker__calendar__month-selection:not([disabled]),.usa-date-picker__calendar__month:not([disabled]),.usa-date-picker__calendar__next-month:not([disabled]),.usa-date-picker__calendar__next-year-chunk:not([disabled]),.usa-date-picker__calendar__next-year:not([disabled]),.usa-date-picker__calendar__previous-month:not([disabled]),.usa-date-picker__calendar__previous-year-chunk:not([disabled]),.usa-date-picker__calendar__previous-year:not([disabled]),.usa-date-picker__calendar__year-selection:not([disabled]),.usa-date-picker__calendar__year:not([disabled]){cursor:pointer}.usa-date-picker__button:not([disabled]):focus,.usa-date-picker__calendar__date:not([disabled]):focus,.usa-date-picker__calendar__month-selection:not([disabled]):focus,.usa-date-picker__calendar__month:not([disabled]):focus,.usa-date-picker__calendar__next-month:not([disabled]):focus,.usa-date-picker__calendar__next-year-chunk:not([disabled]):focus,.usa-date-picker__calendar__next-year:not([disabled]):focus,.usa-date-picker__calendar__previous-month:not([disabled]):focus,.usa-date-picker__calendar__previous-year-chunk:not([disabled]):focus,.usa-date-picker__calendar__previous-year:not([disabled]):focus,.usa-date-picker__calendar__year-selection:not([disabled]):focus,.usa-date-picker__calendar__year:not([disabled]):focus{outline-offset:-4px}.usa-date-picker__button:not([disabled]):hover,.usa-date-picker__calendar__date:not([disabled]):hover,.usa-date-picker__calendar__month-selection:not([disabled]):hover,.usa-date-picker__calendar__month:not([disabled]):hover,.usa-date-picker__calendar__next-month:not([disabled]):hover,.usa-date-picker__calendar__next-year-chunk:not([disabled]):hover,.usa-date-picker__calendar__next-year:not([disabled]):hover,.usa-date-picker__calendar__previous-month:not([disabled]):hover,.usa-date-picker__calendar__previous-year-chunk:not([disabled]):hover,.usa-date-picker__calendar__previous-year:not([disabled]):hover,.usa-date-picker__calendar__year-selection:not([disabled]):hover,.usa-date-picker__calendar__year:not([disabled]):hover{background-color:#dfe1e2}@media (forced-colors:active){.usa-date-picker__button:not([disabled]):hover,.usa-date-picker__calendar__date:not([disabled]):hover,.usa-date-picker__calendar__month-selection:not([disabled]):hover,.usa-date-picker__calendar__month:not([disabled]):hover,.usa-date-picker__calendar__next-month:not([disabled]):hover,.usa-date-picker__calendar__next-year-chunk:not([disabled]):hover,.usa-date-picker__calendar__next-year:not([disabled]):hover,.usa-date-picker__calendar__previous-month:not([disabled]):hover,.usa-date-picker__calendar__previous-year-chunk:not([disabled]):hover,.usa-date-picker__calendar__previous-year:not([disabled]):hover,.usa-date-picker__calendar__year-selection:not([disabled]):hover,.usa-date-picker__calendar__year:not([disabled]):hover{background-color:buttontext}}.usa-date-picker__button:not([disabled]):active,.usa-date-picker__calendar__date:not([disabled]):active,.usa-date-picker__calendar__month-selection:not([disabled]):active,.usa-date-picker__calendar__month:not([disabled]):active,.usa-date-picker__calendar__next-month:not([disabled]):active,.usa-date-picker__calendar__next-year-chunk:not([disabled]):active,.usa-date-picker__calendar__next-year:not([disabled]):active,.usa-date-picker__calendar__previous-month:not([disabled]):active,.usa-date-picker__calendar__previous-year-chunk:not([disabled]):active,.usa-date-picker__calendar__previous-year:not([disabled]):active,.usa-date-picker__calendar__year-selection:not([disabled]):active,.usa-date-picker__calendar__year:not([disabled]):active{background-color:#a9aeb1}@media (forced-colors:active){.usa-date-picker__button:not([disabled]):active,.usa-date-picker__calendar__date:not([disabled]):active,.usa-date-picker__calendar__month-selection:not([disabled]):active,.usa-date-picker__calendar__month:not([disabled]):active,.usa-date-picker__calendar__next-month:not([disabled]):active,.usa-date-picker__calendar__next-year-chunk:not([disabled]):active,.usa-date-picker__calendar__next-year:not([disabled]):active,.usa-date-picker__calendar__previous-month:not([disabled]):active,.usa-date-picker__calendar__previous-year-chunk:not([disabled]):active,.usa-date-picker__calendar__previous-year:not([disabled]):active,.usa-date-picker__calendar__year-selection:not([disabled]):active,.usa-date-picker__calendar__year:not([disabled]):active{background-color:buttontext}}.usa-date-picker--active .usa-date-picker__button{background-color:#f0f0f0}@media (forced-colors:active){.usa-date-picker--active .usa-date-picker__button{background-color:buttontext}}.usa-date-picker--active .usa-date-picker__calendar{z-index:400}.usa-date-picker__button{background-image:url(../img/usa-icons/calendar_today.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat;align-self:stretch;background-color:transparent;background-position:center;background-size:1.5rem;margin-top:.5em;width:3em}@media (forced-colors:active){.usa-date-picker__button{background-image:url(../img/usa-icons/calendar_today.svg);background-repeat:no-repeat;background-position:center center;background-size:2.5rem 2.5rem;display:inline-block;height:2.5rem;width:3rem;-webkit-mask-size:1.5rem!important;mask-size:1.5rem!important;position:relative}@supports ((-webkit-mask:url()) or (mask:url())){.usa-date-picker__button{background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/calendar_today.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/calendar_today.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2.5rem 2.5rem;mask-size:2.5rem 2.5rem}}.usa-date-picker__button:not([disabled]):focus,.usa-date-picker__button:not([disabled]):hover{background-color:Highlight}}.usa-date-picker--initialized .usa-date-picker__wrapper{display:flex}.usa-date-picker__calendar{background-color:#f0f0f0;left:auto;max-width:20rem;position:absolute;right:0;width:100%;z-index:100}.usa-date-picker__calendar__table{border-spacing:0;border-collapse:collapse;table-layout:fixed;text-align:center;width:100%}.usa-date-picker__calendar__table th{font-weight:400}.usa-date-picker__calendar__table td{padding:0}.usa-date-picker__calendar__row{display:flex;flex-wrap:wrap;text-align:center;width:100%}.usa-date-picker__calendar__cell{background-color:#f0f0f0;flex:1}.usa-date-picker__calendar__cell--center-items{display:flex;justify-content:center;align-items:center}@media (forced-colors:active){.usa-date-picker__calendar__cell--center-items:not([disabled]):hover{outline:2px solid transparent;outline-offset:-2px}}.usa-date-picker__calendar__next-month,.usa-date-picker__calendar__next-year,.usa-date-picker__calendar__previous-month,.usa-date-picker__calendar__previous-year{background-position:center;background-size:auto 1.5rem;height:1.5rem;padding:20px 10px}@media (forced-colors:active){.usa-date-picker__calendar__next-month,.usa-date-picker__calendar__next-year,.usa-date-picker__calendar__previous-month,.usa-date-picker__calendar__previous-year{-webkit-mask-size:1.5rem!important;mask-size:1.5rem!important}}.usa-date-picker__calendar__previous-year:not([disabled]){background-image:url(../img/usa-icons/navigate_far_before.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat}@media (forced-colors:active){.usa-date-picker__calendar__previous-year:not([disabled]){background-image:url(../img/usa-icons/navigate_far_before.svg);background-repeat:no-repeat;background-position:center center;background-size:2.5rem 2.5rem;display:inline-block;height:2.5rem;width:3rem;background-color:buttonText}@supports ((-webkit-mask:url()) or (mask:url())){.usa-date-picker__calendar__previous-year:not([disabled]){background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/navigate_far_before.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/navigate_far_before.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2.5rem 2.5rem;mask-size:2.5rem 2.5rem}}}.usa-date-picker__calendar__previous-month:not([disabled]){background-image:url(../img/usa-icons/navigate_before.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat}@media (forced-colors:active){.usa-date-picker__calendar__previous-month:not([disabled]){background-image:url(../img/usa-icons/navigate_before.svg);background-repeat:no-repeat;background-position:center center;background-size:2.5rem 2.5rem;display:inline-block;height:2.5rem;width:3rem;background-color:buttonText}@supports ((-webkit-mask:url()) or (mask:url())){.usa-date-picker__calendar__previous-month:not([disabled]){background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/navigate_before.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/navigate_before.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2.5rem 2.5rem;mask-size:2.5rem 2.5rem}}}.usa-date-picker__calendar__next-year:not([disabled]){background-image:url(../img/usa-icons/navigate_far_next.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat}@media (forced-colors:active){.usa-date-picker__calendar__next-year:not([disabled]){background-image:url(../img/usa-icons/navigate_far_next.svg);background-repeat:no-repeat;background-position:center center;background-size:2.5rem 2.5rem;display:inline-block;height:2.5rem;width:3rem;background-color:buttonText}@supports ((-webkit-mask:url()) or (mask:url())){.usa-date-picker__calendar__next-year:not([disabled]){background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/navigate_far_next.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/navigate_far_next.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2.5rem 2.5rem;mask-size:2.5rem 2.5rem}}}.usa-date-picker__calendar__next-month:not([disabled]){background-image:url(../img/usa-icons/navigate_next.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat}@media (forced-colors:active){.usa-date-picker__calendar__next-month:not([disabled]){background-image:url(../img/usa-icons/navigate_next.svg);background-repeat:no-repeat;background-position:center center;background-size:2.5rem 2.5rem;display:inline-block;height:2.5rem;width:3rem;background-color:buttonText}@supports ((-webkit-mask:url()) or (mask:url())){.usa-date-picker__calendar__next-month:not([disabled]){background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/navigate_next.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/navigate_next.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2.5rem 2.5rem;mask-size:2.5rem 2.5rem}}}.usa-date-picker__calendar__day-of-week{padding:6px 0}.usa-date-picker__calendar__date{padding:10px 0}.usa-date-picker__calendar__date--focused{outline:2px solid #162e51;outline-offset:-2px;position:relative;z-index:100}.usa-date-picker__calendar__date--next-month:not([disabled]),.usa-date-picker__calendar__date--previous-month:not([disabled]){color:#5d5d52}.usa-date-picker__calendar__date--range-date,.usa-date-picker__calendar__date--selected{background-color:#0050d8;color:#f9f9f9}.usa-date-picker__calendar__date--range-date:not([disabled]),.usa-date-picker__calendar__date--selected:not([disabled]){background-color:#0050d8;color:#f9f9f9}@media (forced-colors:active){.usa-date-picker__calendar__date--range-date:not([disabled]),.usa-date-picker__calendar__date--selected:not([disabled]){border:ActiveText 2px solid}}.usa-date-picker__calendar__date--range-date:not([disabled]):hover,.usa-date-picker__calendar__date--selected:not([disabled]):hover{background-color:#0050d8;color:#e6e6e6}.usa-date-picker__calendar__date--range-date:not([disabled]):focus,.usa-date-picker__calendar__date--selected:not([disabled]):focus{background-color:#0050d8;color:#f9f9f9}@media (forced-colors:active){.usa-date-picker__calendar__date--range-date:not([disabled]):focus,.usa-date-picker__calendar__date--selected:not([disabled]):focus{border:ActiveText 2px solid}}.usa-date-picker__calendar__date--range-date:not([disabled]):active,.usa-date-picker__calendar__date--selected:not([disabled]):active{background-color:#1a4480}@media (forced-colors:active){.usa-date-picker__calendar__date--range-date:not([disabled]):active,.usa-date-picker__calendar__date--selected:not([disabled]):active{background-color:Highlight}}.usa-date-picker__calendar__date--range-date-start{border-top-left-radius:10%;border-bottom-left-radius:10%}.usa-date-picker__calendar__date--range-date-end{border-top-right-radius:10%;border-bottom-right-radius:10%}.usa-date-picker__calendar__date--within-range{background-color:#cfe8ff}.usa-date-picker__calendar__date--within-range:not([disabled]),.usa-date-picker__calendar__date--within-range:not([disabled]):hover{background-color:#cfe8ff}@media (forced-colors:active){.usa-date-picker__calendar__date--within-range:not([disabled]){border:Highlight 2px solid}}@media (forced-colors:active){.usa-date-picker__calendar__date--within-range:not([disabled]):hover{border:Highlight 2px solid}}.usa-date-picker__calendar__date--within-range:not([disabled]):focus{background-color:#cfe8ff}@media (forced-colors:active){.usa-date-picker__calendar__date--within-range:not([disabled]):focus{border:Highlight 2px solid}}.usa-date-picker__calendar__date--within-range:not([disabled]):active{background-color:#cfe8ff}@media (forced-colors:active){.usa-date-picker__calendar__date--within-range:not([disabled]):active{background-color:Highlight}}@media all and (max-width:19.99em){.usa-date-picker__calendar__month-label{min-width:100%;order:-1}}@media all and (min-width:20em){.usa-date-picker__calendar__month-label{flex:4;text-align:center}}.usa-date-picker__calendar__month-selection,.usa-date-picker__calendar__year-selection{display:inline-block;height:100%;padding:8px 4px;width:auto}@media all and (max-width:19.99em){.usa-date-picker__calendar__month-selection,.usa-date-picker__calendar__year-selection{padding-bottom:0;padding-top:12px}}.usa-date-picker__calendar__month-picker{padding:20px 5px}@media all and (max-width:19.99em){.usa-date-picker__calendar__month-picker{padding-bottom:12px;padding-top:12px}.usa-date-picker__calendar__month-picker tr{display:flex;flex-direction:column}}.usa-date-picker__calendar__month{padding:10px 0}.usa-date-picker__calendar__month--focused{outline:2px solid #162e51;outline-offset:-2px;position:relative;z-index:100}.usa-date-picker__calendar__month--selected{background-color:#0050d8;color:#f9f9f9}.usa-date-picker__calendar__month--selected:not([disabled]){background-color:#0050d8;color:#f9f9f9}.usa-date-picker__calendar__month--selected:not([disabled]):hover{background-color:#0050d8;color:#e6e6e6}.usa-date-picker__calendar__month--selected:not([disabled]):focus{background-color:#0050d8;color:#f9f9f9}.usa-date-picker__calendar__month--selected:not([disabled]):active{background-color:#1a4480}.usa-date-picker__calendar__year-picker{padding:20px 5px}.usa-date-picker__calendar__next-year-chunk,.usa-date-picker__calendar__previous-year-chunk{background-position:center;background-size:auto 2rem;margin:auto;padding:40px 0}@media (forced-colors:active){.usa-date-picker__calendar__next-year-chunk,.usa-date-picker__calendar__previous-year-chunk{-webkit-mask-size:1.5rem!important;mask-size:1.5rem!important}}.usa-date-picker__calendar__previous-year-chunk:not([disabled]){background-image:url(../img/usa-icons/navigate_before.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat}@media (forced-colors:active){.usa-date-picker__calendar__previous-year-chunk:not([disabled]){background-image:none}.usa-date-picker__calendar__previous-year-chunk:not([disabled])::after{background-image:url(../img/usa-icons/navigate_before.svg);background-repeat:no-repeat;background-position:center center;background-size:2.5rem 2.5rem;display:inline-block;height:2.5rem;width:3rem;content:"";vertical-align:middle;margin-left:auto}@supports ((-webkit-mask:url()) or (mask:url())){.usa-date-picker__calendar__previous-year-chunk:not([disabled])::after{background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/navigate_before.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/navigate_before.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2.5rem 2.5rem;mask-size:2.5rem 2.5rem}}.usa-date-picker__calendar__previous-year-chunk:not([disabled]):hover{border:2px solid transparent;background-color:transparent}}.usa-date-picker__calendar__next-year-chunk:not([disabled]){background-image:url(../img/usa-icons/navigate_next.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat}@media (forced-colors:active){.usa-date-picker__calendar__next-year-chunk:not([disabled]){background-image:none}.usa-date-picker__calendar__next-year-chunk:not([disabled])::after{background-image:url(../img/usa-icons/navigate_next.svg);background-repeat:no-repeat;background-position:center center;background-size:2.5rem 2.5rem;display:inline-block;height:2.5rem;width:3rem;content:"";vertical-align:middle;margin-left:auto}@supports ((-webkit-mask:url()) or (mask:url())){.usa-date-picker__calendar__next-year-chunk:not([disabled])::after{background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/navigate_next.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/navigate_next.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2.5rem 2.5rem;mask-size:2.5rem 2.5rem}}.usa-date-picker__calendar__next-year-chunk:not([disabled]):hover{border:2px solid transparent;background-color:transparent}}.usa-date-picker__calendar__year{padding:10px 0}.usa-date-picker__calendar__year--focused{outline:2px solid #162e51;outline-offset:-2px;position:relative;z-index:100}.usa-date-picker__calendar__year--selected{background-color:#0050d8;color:#f9f9f9}.usa-date-picker__calendar__year--selected:not([disabled]){background-color:#0050d8;color:#f9f9f9}.usa-date-picker__calendar__year--selected:not([disabled]):hover{background-color:#0050d8;color:#e6e6e6}.usa-date-picker__calendar__year--selected:not([disabled]):focus{background-color:#0050d8;color:#f9f9f9}.usa-date-picker__calendar__year--selected:not([disabled]):active{background-color:#1a4480}.usa-error-message{padding-bottom:.25rem;padding-top:.25rem;color:#b50909;display:block;font-weight:700}[type=file]{border:0;margin-top:.5rem;padding-left:0;padding-top:.2rem}.usa-file-input{display:block;max-width:30rem;width:100%}.usa-file-input__target{border:1px dashed #a9aeb1;display:block;font-size:.93rem;margin-top:.5rem;position:relative;text-align:center;width:100%}.usa-file-input__target:hover{border-color:#71767a}.usa-file-input__target.has-invalid-file{border-color:#fa9441}.usa-file-input__accepted-files-message{font-weight:700;margin:-1.5rem 0 1.5rem;pointer-events:none;position:relative;z-index:3}.has-invalid-file .usa-file-input__accepted-files-message{color:#b50909}.usa-file-input__choose{color:#005ea2;text-decoration:underline;font-weight:400}.usa-file-input__choose:visited{color:#54278f}.usa-file-input__choose:hover{color:#1a4480}.usa-file-input__choose:active{color:#162e51}.usa-file-input__choose:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-file-input__instructions{padding:2rem 1rem;pointer-events:none;position:relative;z-index:3}.usa-file-input__box{background:#fff;height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:2}.usa-file-input .usa-file-input__input[type]{cursor:pointer;height:100%;left:0;margin:0;max-width:none;position:absolute;padding:.5rem;text-indent:-999em;top:0;width:100%;z-index:1}.usa-file-input .usa-file-input__input[type]::-webkit-file-upload-button{display:none}.usa-file-input--drag .usa-file-input__target{border-color:#005ea2}.usa-file-input--drag .usa-file-input__box{background-color:#d9e8f6}.usa-file-input--drag .usa-file-input__preview{opacity:.1}.usa-file-input__preview,.usa-file-input__preview-heading{align-items:center;background:#d9e8f6;display:flex;pointer-events:none;position:relative;z-index:3}.usa-file-input__preview-heading{font-weight:700;justify-content:space-between;padding:.5rem}.usa-file-input__preview{word-wrap:anywhere;font-size:.87rem;margin-top:1px;padding:.25rem .5rem;text-align:left}.usa-file-input__preview:last-child{margin-bottom:-1.5rem}.usa-file-input__preview-image{border:0;display:block;height:2.5rem;margin-right:.5rem;-o-object-fit:contain;object-fit:contain;width:2.5rem}.usa-file-input__preview-image.is-loading{background-image:url(../img/loader.svg),linear-gradient(transparent,transparent);background-position:center center;background-repeat:no-repeat;background-size:2rem}.usa-file-input__preview-image--excel,.usa-file-input__preview-image--generic,.usa-file-input__preview-image--pdf,.usa-file-input__preview-image--video,.usa-file-input__preview-image--word{background-position:center center;background-size:1.5rem}.usa-file-input__preview-image--pdf{background-image:url(../img/file-pdf.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat}.usa-file-input__preview-image--generic{background-image:url(../img/file.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat}.usa-file-input__preview-image--word{background-image:url(../img/file-word.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat}.usa-file-input__preview-image--excel{background-image:url(../img/file-excel.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat}.usa-file-input__preview-image--video{background-image:url(../img/file-video.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat}.usa-form-group--error .usa-file-input__target{border-color:#b50909;border-width:2px}.usa-file-input--disabled .usa-file-input__choose,.usa-file-input--disabled .usa-file-input__instructions{color:#454545}.usa-file-input--disabled .usa-file-input__box{background-color:#c9c9c9}.usa-file-input--disabled .usa-file-input__input[type]{cursor:not-allowed}.usa-file-input--disabled .usa-file-input__target:hover{border-color:#a9aeb1}.usa-file-input--disabled .usa-file-input--drag .usa-file-input__box{background-color:#c9c9c9}@media (forced-colors:active){.usa-file-input--disabled .usa-file-input__choose,.usa-file-input--disabled .usa-file-input__instructions{color:GrayText}.usa-file-input--disabled .usa-file-input__target,.usa-file-input--disabled .usa-file-input__target:hover{border-color:GrayText}}.usa-form-group{margin-top:1.5rem}.usa-form-group .usa-label:first-child{margin-top:0}.usa-form-group--error{border-left-width:.25rem;border-left-color:#b50909;border-left-style:solid;padding-left:1rem;position:relative}@media all and (min-width:64em){.usa-form-group--error{margin-left:-1.25rem}}.usa-hint{color:#71767a}.usa-hint--required{color:#b50909}.usa-input-group{align-items:center;display:flex;padding:0;position:relative}.usa-input-group--error input:focus,.usa-input-group--success input:focus{outline-offset:.25rem}.usa-input-group--error,.usa-input-group--success{border-width:.25rem;border-color:#b50909;border-style:solid}.usa-input-group--success{border-color:#00a91c}.usa-input-group input{padding-right:2.5rem;border:0;height:100%;margin-top:0;min-width:0;width:100%}.usa-input-group input:disabled+.usa-input-suffix,.usa-input-group input[aria-disabled=true]+.usa-input-suffix{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}@media (forced-colors:active){.usa-input-group input:disabled+.usa-input-suffix,.usa-input-group input[aria-disabled=true]+.usa-input-suffix{border:0;color:GrayText}.usa-input-group input:disabled+.usa-input-suffix.usa-focus,.usa-input-group input:disabled+.usa-input-suffix:active,.usa-input-group input:disabled+.usa-input-suffix:focus,.usa-input-group input:disabled+.usa-input-suffix:hover,.usa-input-group input[aria-disabled=true]+.usa-input-suffix.usa-focus,.usa-input-group input[aria-disabled=true]+.usa-input-suffix:active,.usa-input-group input[aria-disabled=true]+.usa-input-suffix:focus,.usa-input-group input[aria-disabled=true]+.usa-input-suffix:hover{color:GrayText}.usa-input-group input:disabled,.usa-input-group input[aria-disabled=true]{border:0}.usa-input-group:has(input:disabled),.usa-input-group:has(input[aria-disabled=true]){border:2px solid GrayText}}.usa-input-prefix:has(+input:disabled),.usa-input-prefix:has(+input[aria-disabled=true]){color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-input-prefix:has(+input:disabled).usa-focus,.usa-input-prefix:has(+input:disabled):active,.usa-input-prefix:has(+input:disabled):focus,.usa-input-prefix:has(+input:disabled):hover,.usa-input-prefix:has(+input[aria-disabled=true]).usa-focus,.usa-input-prefix:has(+input[aria-disabled=true]):active,.usa-input-prefix:has(+input[aria-disabled=true]):focus,.usa-input-prefix:has(+input[aria-disabled=true]):hover{color:#454545;background-color:#c9c9c9}@media (forced-colors:active){.usa-input-prefix:has(+input:disabled),.usa-input-prefix:has(+input[aria-disabled=true]){border:0;color:GrayText}.usa-input-prefix:has(+input:disabled).usa-focus,.usa-input-prefix:has(+input:disabled):active,.usa-input-prefix:has(+input:disabled):focus,.usa-input-prefix:has(+input:disabled):hover,.usa-input-prefix:has(+input[aria-disabled=true]).usa-focus,.usa-input-prefix:has(+input[aria-disabled=true]):active,.usa-input-prefix:has(+input[aria-disabled=true]):focus,.usa-input-prefix:has(+input[aria-disabled=true]):hover{color:GrayText}}.usa-input-prefix,.usa-input-suffix{position:absolute;color:#71767a;line-height:0;padding:0 .5rem;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.usa-input-prefix .usa-icon,.usa-input-suffix .usa-icon{height:1.5rem;width:1.5rem}.usa-input-prefix+input{padding-left:2.5rem;padding-right:.5rem}.usa-input-suffix{right:0}.usa-input-mask{display:block;position:relative}.usa-input-mask--content{border:1px solid transparent;color:#757575;display:block;left:2px;pointer-events:none;position:absolute;top:0}.usa-input-mask--content i{visibility:hidden}@media (forced-colors:active){.usa-input-mask--content i{color:ButtonText;font-style:normal;visibility:visible}.usa-input-mask--content{border:0}}.usa-input-mask--content,.usa-masked{background-color:transparent;padding:.5rem}.usa-label{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.3;display:block;font-weight:400;margin-top:1.5rem;max-width:30rem}.usa-label--error{font-weight:700;margin-top:0}.usa-label--required{color:#b50909}.usa-memorable-date{display:flex;flex-wrap:wrap}.usa-memorable-date [type=number]{-moz-appearance:textfield}.usa-memorable-date [type=number]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none}.usa-memorable-date [type=number]::-webkit-contacts-auto-fill-button{visibility:hidden;display:none!important;pointer-events:none;height:0;width:0;margin:0}.usa-memorable-date .usa-form-group{margin-top:1rem}.usa-form-group--day,.usa-form-group--month,.usa-form-group--year{flex:0 1 auto;margin-right:1rem;width:-moz-fit-content;width:fit-content}.usa-form-group--day input,.usa-form-group--month input{width:3rem}.usa-form-group--month select{width:15rem}.usa-form-group--year input{width:4.5rem}.usa-radio{background:#fff}.usa-radio__label{color:#1b1b1b}.usa-radio__label::before{background:#fff;box-shadow:0 0 0 2px #1b1b1b}@media (forced-colors:active){.usa-radio__label::before{outline:2px solid transparent;outline-offset:2px}}.usa-radio__input:checked+[class*=__label]::before{background-color:#005ea2}.usa-radio__input:disabled+[class*=__label],.usa-radio__input[aria-disabled=true]+[class*=__label]{color:#757575;cursor:not-allowed}@media (forced-colors:active){.usa-radio__input:disabled+[class*=__label],.usa-radio__input[aria-disabled=true]+[class*=__label]{color:GrayText}}.usa-radio__input:disabled+[class*=__label]::before,.usa-radio__input[aria-disabled=true]+[class*=__label]::before{background-color:#fff;box-shadow:0 0 0 2px #757575}.usa-radio__input--tile+[class*=__label]{background-color:#fff;border:2px solid #c9c9c9;color:#1b1b1b;border-radius:.25rem;margin-top:.5rem;padding:.75rem 1rem .75rem 2.5rem}.usa-radio__input--tile:checked+[class*=__label]{background-color:rgba(0,94,162,.1);border-color:#005ea2}@media (forced-colors:active){.usa-radio__input--tile:checked+[class*=__label]{border:ButtonText solid .25rem}}.usa-radio__input--tile:disabled+[class*=__label],.usa-radio__input--tile[aria-disabled=true]+[class*=__label]{border-color:#e6e6e6}.usa-radio__input--tile:disabled:checked+[class*=__label],.usa-radio__input--tile:disabled:indeterminate+[class*=__label],.usa-radio__input--tile:disabled[data-indeterminate]+[class*=__label],.usa-radio__input--tile[aria-disabled=true]:checked+[class*=__label],.usa-radio__input--tile[aria-disabled=true]:indeterminate+[class*=__label],.usa-radio__input--tile[aria-disabled=true][data-indeterminate]+[class*=__label]{background-color:#fff}.usa-radio__input:checked+[class*=__label]::before{box-shadow:0 0 0 2px #005ea2,inset 0 0 0 2px #fff}@media (forced-colors:active){.usa-radio__input:checked+[class*=__label]::before{background-color:ButtonText}}.usa-radio__input:checked:disabled+[class*=__label]::before,.usa-radio__input:checked[aria-disabled=true]+[class*=__label]::before{background-color:#757575;box-shadow:0 0 0 2px #757575,inset 0 0 0 2px #fff}@media (forced-colors:active){.usa-radio__input:checked:disabled+[class*=__label]::before,.usa-radio__input:checked[aria-disabled=true]+[class*=__label]::before{background-color:GrayText}}.usa-radio__input{position:absolute;left:-999em;right:auto}.usa-radio__input:focus+[class*=__label]::before{outline:.25rem solid #2491ff;outline-offset:.25rem}.usa-radio__input--tile+[class*=__label]::before{left:.5rem}@media print{.usa-radio__input:checked+[class*=__label]::before{box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 1rem #005ea2,0 0 0 2px #005ea2}}.usa-radio__label{cursor:pointer;display:inherit;font-weight:400;margin-top:.75rem;padding-left:2rem;position:relative}.usa-radio__label::before{content:" ";display:block;left:0;margin-left:2px;margin-top:.064rem;position:absolute;height:1.25rem;border-radius:99rem;width:1.25rem}.usa-radio__label-description{display:block;font-size:.93rem;margin-top:.5rem}.usa-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding-left:1px;width:100%}.usa-range:focus{outline:0}.usa-range:focus::-webkit-slider-thumb{background-color:#fff;box-shadow:0 0 0 2px #2491ff}.usa-range:focus::-moz-range-thumb{background-color:#fff;box-shadow:0 0 0 2px #2491ff}.usa-range:focus::-ms-thumb{background-color:#fff;box-shadow:0 0 0 2px #2491ff}.usa-range::-webkit-slider-runnable-track{background-color:#f0f0f0;border-radius:99rem;border:1px solid #71767a;cursor:pointer;height:1rem;width:100%}.usa-range::-moz-range-track{background-color:#f0f0f0;border-radius:99rem;border:1px solid #71767a;cursor:pointer;height:1rem;width:100%}.usa-range::-ms-track{background-color:#f0f0f0;border-radius:99rem;border:1px solid #71767a;cursor:pointer;height:1rem;width:100%}.usa-range::-webkit-slider-thumb{height:1.25rem;border-radius:99rem;width:1.25rem;background:#f0f0f0;border:0;box-shadow:0 0 0 2px #71767a;cursor:pointer;-webkit-appearance:none;appearance:none;margin-top:-.19rem}@media (forced-colors:active){.usa-range::-webkit-slider-thumb{outline:2px solid transparent}}.usa-range::-moz-range-thumb{height:1.25rem;border-radius:99rem;width:1.25rem;background:#f0f0f0;border:0;box-shadow:0 0 0 2px #71767a;cursor:pointer}@media (forced-colors:active){.usa-range::-moz-range-thumb{outline:2px solid transparent}}.usa-range::-ms-thumb{height:1.25rem;border-radius:99rem;width:1.25rem;background:#f0f0f0;border:0;box-shadow:0 0 0 2px #71767a;cursor:pointer}@media (forced-colors:active){.usa-range::-ms-thumb{outline:2px solid transparent}}.usa-range::-ms-fill-lower{background-color:#f0f0f0;border-radius:99rem;border:1px solid #71767a}.usa-range::-ms-fill-upper{background-color:#f0f0f0;border-radius:99rem;border:1px solid #71767a}.usa-range:disabled,.usa-range[aria-disabled=true]{opacity:1}.usa-range:disabled::-webkit-slider-runnable-track,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-webkit-slider-runnable-track.usa-focus,.usa-range:disabled::-webkit-slider-runnable-track:active,.usa-range:disabled::-webkit-slider-runnable-track:focus,.usa-range:disabled::-webkit-slider-runnable-track:hover,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track.usa-focus,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track:active,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track:focus,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track:hover{color:#454545;background-color:#c9c9c9}@media (forced-colors:active){.usa-range:disabled::-webkit-slider-runnable-track,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track{color:GrayText;border:2px solid GrayText}.usa-range:disabled::-webkit-slider-runnable-track.usa-focus,.usa-range:disabled::-webkit-slider-runnable-track:active,.usa-range:disabled::-webkit-slider-runnable-track:focus,.usa-range:disabled::-webkit-slider-runnable-track:hover,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track.usa-focus,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track:active,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track:focus,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track:hover{color:GrayText}}.usa-range:disabled::-moz-range-track,.usa-range[aria-disabled=true]::-moz-range-track{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-moz-range-track.usa-focus,.usa-range:disabled::-moz-range-track:active,.usa-range:disabled::-moz-range-track:focus,.usa-range:disabled::-moz-range-track:hover,.usa-range[aria-disabled=true]::-moz-range-track.usa-focus,.usa-range[aria-disabled=true]::-moz-range-track:active,.usa-range[aria-disabled=true]::-moz-range-track:focus,.usa-range[aria-disabled=true]::-moz-range-track:hover{color:#454545;background-color:#c9c9c9}@media (forced-colors:active){.usa-range:disabled::-moz-range-track,.usa-range[aria-disabled=true]::-moz-range-track{color:GrayText;border:2px solid GrayText}.usa-range:disabled::-moz-range-track.usa-focus,.usa-range:disabled::-moz-range-track:active,.usa-range:disabled::-moz-range-track:focus,.usa-range:disabled::-moz-range-track:hover,.usa-range[aria-disabled=true]::-moz-range-track.usa-focus,.usa-range[aria-disabled=true]::-moz-range-track:active,.usa-range[aria-disabled=true]::-moz-range-track:focus,.usa-range[aria-disabled=true]::-moz-range-track:hover{color:GrayText}}.usa-range:disabled::-ms-track,.usa-range[aria-disabled=true]::-ms-track{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-ms-track.usa-focus,.usa-range:disabled::-ms-track:active,.usa-range:disabled::-ms-track:focus,.usa-range:disabled::-ms-track:hover,.usa-range[aria-disabled=true]::-ms-track.usa-focus,.usa-range[aria-disabled=true]::-ms-track:active,.usa-range[aria-disabled=true]::-ms-track:focus,.usa-range[aria-disabled=true]::-ms-track:hover{color:#454545;background-color:#c9c9c9}@media (forced-colors:active){.usa-range:disabled::-ms-track,.usa-range[aria-disabled=true]::-ms-track{border:0;color:GrayText}.usa-range:disabled::-ms-track.usa-focus,.usa-range:disabled::-ms-track:active,.usa-range:disabled::-ms-track:focus,.usa-range:disabled::-ms-track:hover,.usa-range[aria-disabled=true]::-ms-track.usa-focus,.usa-range[aria-disabled=true]::-ms-track:active,.usa-range[aria-disabled=true]::-ms-track:focus,.usa-range[aria-disabled=true]::-ms-track:hover{color:GrayText}}.usa-range:disabled::-webkit-slider-thumb,.usa-range[aria-disabled=true]::-webkit-slider-thumb{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-webkit-slider-thumb.usa-focus,.usa-range:disabled::-webkit-slider-thumb:active,.usa-range:disabled::-webkit-slider-thumb:focus,.usa-range:disabled::-webkit-slider-thumb:hover,.usa-range[aria-disabled=true]::-webkit-slider-thumb.usa-focus,.usa-range[aria-disabled=true]::-webkit-slider-thumb:active,.usa-range[aria-disabled=true]::-webkit-slider-thumb:focus,.usa-range[aria-disabled=true]::-webkit-slider-thumb:hover{color:#454545;background-color:#c9c9c9}@media (forced-colors:active){.usa-range:disabled::-webkit-slider-thumb,.usa-range[aria-disabled=true]::-webkit-slider-thumb{border:0;color:GrayText}.usa-range:disabled::-webkit-slider-thumb.usa-focus,.usa-range:disabled::-webkit-slider-thumb:active,.usa-range:disabled::-webkit-slider-thumb:focus,.usa-range:disabled::-webkit-slider-thumb:hover,.usa-range[aria-disabled=true]::-webkit-slider-thumb.usa-focus,.usa-range[aria-disabled=true]::-webkit-slider-thumb:active,.usa-range[aria-disabled=true]::-webkit-slider-thumb:focus,.usa-range[aria-disabled=true]::-webkit-slider-thumb:hover{color:GrayText}}.usa-range:disabled::-moz-range-thumb,.usa-range[aria-disabled=true]::-moz-range-thumb{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-moz-range-thumb.usa-focus,.usa-range:disabled::-moz-range-thumb:active,.usa-range:disabled::-moz-range-thumb:focus,.usa-range:disabled::-moz-range-thumb:hover,.usa-range[aria-disabled=true]::-moz-range-thumb.usa-focus,.usa-range[aria-disabled=true]::-moz-range-thumb:active,.usa-range[aria-disabled=true]::-moz-range-thumb:focus,.usa-range[aria-disabled=true]::-moz-range-thumb:hover{color:#454545;background-color:#c9c9c9}@media (forced-colors:active){.usa-range:disabled::-moz-range-thumb,.usa-range[aria-disabled=true]::-moz-range-thumb{border:0;color:GrayText}.usa-range:disabled::-moz-range-thumb.usa-focus,.usa-range:disabled::-moz-range-thumb:active,.usa-range:disabled::-moz-range-thumb:focus,.usa-range:disabled::-moz-range-thumb:hover,.usa-range[aria-disabled=true]::-moz-range-thumb.usa-focus,.usa-range[aria-disabled=true]::-moz-range-thumb:active,.usa-range[aria-disabled=true]::-moz-range-thumb:focus,.usa-range[aria-disabled=true]::-moz-range-thumb:hover{color:GrayText}}.usa-range:disabled::-ms-thumb,.usa-range[aria-disabled=true]::-ms-thumb{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-ms-thumb.usa-focus,.usa-range:disabled::-ms-thumb:active,.usa-range:disabled::-ms-thumb:focus,.usa-range:disabled::-ms-thumb:hover,.usa-range[aria-disabled=true]::-ms-thumb.usa-focus,.usa-range[aria-disabled=true]::-ms-thumb:active,.usa-range[aria-disabled=true]::-ms-thumb:focus,.usa-range[aria-disabled=true]::-ms-thumb:hover{color:#454545;background-color:#c9c9c9}@media (forced-colors:active){.usa-range:disabled::-ms-thumb,.usa-range[aria-disabled=true]::-ms-thumb{border:0;color:GrayText}.usa-range:disabled::-ms-thumb.usa-focus,.usa-range:disabled::-ms-thumb:active,.usa-range:disabled::-ms-thumb:focus,.usa-range:disabled::-ms-thumb:hover,.usa-range[aria-disabled=true]::-ms-thumb.usa-focus,.usa-range[aria-disabled=true]::-ms-thumb:active,.usa-range[aria-disabled=true]::-ms-thumb:focus,.usa-range[aria-disabled=true]::-ms-thumb:hover{color:GrayText}}.usa-range:disabled::-ms-fill-lower,.usa-range[aria-disabled=true]::-ms-fill-lower{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-ms-fill-lower.usa-focus,.usa-range:disabled::-ms-fill-lower:active,.usa-range:disabled::-ms-fill-lower:focus,.usa-range:disabled::-ms-fill-lower:hover,.usa-range[aria-disabled=true]::-ms-fill-lower.usa-focus,.usa-range[aria-disabled=true]::-ms-fill-lower:active,.usa-range[aria-disabled=true]::-ms-fill-lower:focus,.usa-range[aria-disabled=true]::-ms-fill-lower:hover{color:#454545;background-color:#c9c9c9}@media (forced-colors:active){.usa-range:disabled::-ms-fill-lower,.usa-range[aria-disabled=true]::-ms-fill-lower{border:0;color:GrayText}.usa-range:disabled::-ms-fill-lower.usa-focus,.usa-range:disabled::-ms-fill-lower:active,.usa-range:disabled::-ms-fill-lower:focus,.usa-range:disabled::-ms-fill-lower:hover,.usa-range[aria-disabled=true]::-ms-fill-lower.usa-focus,.usa-range[aria-disabled=true]::-ms-fill-lower:active,.usa-range[aria-disabled=true]::-ms-fill-lower:focus,.usa-range[aria-disabled=true]::-ms-fill-lower:hover{color:GrayText}}.usa-range:disabled::-ms-fill-upper,.usa-range[aria-disabled=true]::-ms-fill-upper{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-ms-fill-upper.usa-focus,.usa-range:disabled::-ms-fill-upper:active,.usa-range:disabled::-ms-fill-upper:focus,.usa-range:disabled::-ms-fill-upper:hover,.usa-range[aria-disabled=true]::-ms-fill-upper.usa-focus,.usa-range[aria-disabled=true]::-ms-fill-upper:active,.usa-range[aria-disabled=true]::-ms-fill-upper:focus,.usa-range[aria-disabled=true]::-ms-fill-upper:hover{color:#454545;background-color:#c9c9c9}@media (forced-colors:active){.usa-range:disabled::-ms-fill-upper,.usa-range[aria-disabled=true]::-ms-fill-upper{border:0;color:GrayText}.usa-range:disabled::-ms-fill-upper.usa-focus,.usa-range:disabled::-ms-fill-upper:active,.usa-range:disabled::-ms-fill-upper:focus,.usa-range:disabled::-ms-fill-upper:hover,.usa-range[aria-disabled=true]::-ms-fill-upper.usa-focus,.usa-range[aria-disabled=true]::-ms-fill-upper:active,.usa-range[aria-disabled=true]::-ms-fill-upper:focus,.usa-range[aria-disabled=true]::-ms-fill-upper:hover{color:GrayText}}.usa-textarea:disabled,.usa-textarea[aria-disabled=true]{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-textarea:disabled.usa-focus,.usa-textarea:disabled:active,.usa-textarea:disabled:focus,.usa-textarea:disabled:hover,.usa-textarea[aria-disabled=true].usa-focus,.usa-textarea[aria-disabled=true]:active,.usa-textarea[aria-disabled=true]:focus,.usa-textarea[aria-disabled=true]:hover{color:#454545;background-color:#c9c9c9}@media (forced-colors:active){.usa-textarea:disabled,.usa-textarea[aria-disabled=true]{color:GrayText;border:2px solid GrayText}.usa-textarea:disabled.usa-focus,.usa-textarea:disabled:active,.usa-textarea:disabled:focus,.usa-textarea:disabled:hover,.usa-textarea[aria-disabled=true].usa-focus,.usa-textarea[aria-disabled=true]:active,.usa-textarea[aria-disabled=true]:focus,.usa-textarea[aria-disabled=true]:hover{color:GrayText}}.usa-textarea{height:10rem}.usa-time-picker{width:10em}[class*=font-mono-]{font-family:Roboto Mono Web,Bitstream Vera Sans Mono,Consolas,Courier,monospace}[class*=font-sans-]{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif}[class*=font-serif-]{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif}[class*=font-ui-]{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif}[class*=font-heading-]{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif}[class*=font-body-]{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif}[class*=font-code-]{font-family:Roboto Mono Web,Bitstream Vera Sans Mono,Consolas,Courier,monospace}[class*=font-alt-]{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif}.add-aspect-9x16{box-sizing:border-box;height:0;overflow:hidden;padding-bottom:177.77778%;position:relative}@supports (aspect-ratio:1){.add-aspect-9x16{height:inherit;padding:inherit;aspect-ratio:.5625;max-width:100%}.add-aspect-9x16>*{position:absolute;top:0;left:0;width:100%;height:100%}.add-aspect-9x16>img,img.add-aspect-9x16{-o-object-fit:cover;object-fit:cover}}.add-aspect-16x9{box-sizing:border-box;height:0;overflow:hidden;padding-bottom:56.25%;position:relative}@supports (aspect-ratio:1){.add-aspect-16x9{height:inherit;padding:inherit;aspect-ratio:1.7777777778;max-width:100%}.add-aspect-16x9>*{position:absolute;top:0;left:0;width:100%;height:100%}.add-aspect-16x9>img,img.add-aspect-16x9{-o-object-fit:cover;object-fit:cover}}.add-aspect-1x1{box-sizing:border-box;height:0;overflow:hidden;padding-bottom:100%;position:relative}@supports (aspect-ratio:1){.add-aspect-1x1{height:inherit;padding:inherit;aspect-ratio:1;max-width:100%}.add-aspect-1x1>*{position:absolute;top:0;left:0;width:100%;height:100%}.add-aspect-1x1>img,img.add-aspect-1x1{-o-object-fit:cover;object-fit:cover}}.add-aspect-4x3{box-sizing:border-box;height:0;overflow:hidden;padding-bottom:75%;position:relative}@supports (aspect-ratio:1){.add-aspect-4x3{height:inherit;padding:inherit;aspect-ratio:1.3333333333;max-width:100%}.add-aspect-4x3>*{position:absolute;top:0;left:0;width:100%;height:100%}.add-aspect-4x3>img,img.add-aspect-4x3{-o-object-fit:cover;object-fit:cover}}.add-aspect-2x1{box-sizing:border-box;height:0;overflow:hidden;padding-bottom:50%;position:relative}@supports (aspect-ratio:1){.add-aspect-2x1{height:inherit;padding:inherit;aspect-ratio:2;max-width:100%}.add-aspect-2x1>*{position:absolute;top:0;left:0;width:100%;height:100%}.add-aspect-2x1>img,img.add-aspect-2x1{-o-object-fit:cover;object-fit:cover}}@supports (aspect-ratio:1){:where(img[class*=add-aspect-]){width:-moz-min-content;width:min-content}}.add-list-reset{margin-bottom:0;margin-top:0;padding-left:0;list-style:none}.flex-align-start{align-items:flex-start}.flex-align-end{align-items:flex-end}.flex-align-center{align-items:center}.flex-align-stretch{align-items:stretch}.flex-align-baseline{align-items:baseline}.flex-align-self-start{align-self:flex-start}.flex-align-self-end{align-self:flex-end}.flex-align-self-center{align-self:center}.flex-align-self-stretch{align-self:stretch}.flex-align-self-baseline{align-self:baseline}.bg-transparent,.hover\:bg-transparent:hover{background-color:transparent}.bg-black,.hover\:bg-black:hover{background-color:#000}.bg-white,.hover\:bg-white:hover{background-color:#fff}.bg-red,.hover\:bg-red:hover{background-color:#e52207}.bg-orange,.hover\:bg-orange:hover{background-color:#e66f0e}.bg-gold,.hover\:bg-gold:hover{background-color:#ffbe2e}.bg-yellow,.hover\:bg-yellow:hover{background-color:#fee685}.bg-green,.hover\:bg-green:hover{background-color:#538200}.bg-mint,.hover\:bg-mint:hover{background-color:#04c585}.bg-cyan,.hover\:bg-cyan:hover{background-color:#009ec1}.bg-blue,.hover\:bg-blue:hover{background-color:#0076d6}.bg-indigo,.hover\:bg-indigo:hover{background-color:#676cc8}.bg-violet,.hover\:bg-violet:hover{background-color:#8168b3}.bg-magenta,.hover\:bg-magenta:hover{background-color:#d72d79}.bg-gray-5,.hover\:bg-gray-5:hover{background-color:#f0f0f0}.bg-gray-10,.hover\:bg-gray-10:hover{background-color:#e6e6e6}.bg-gray-30,.hover\:bg-gray-30:hover{background-color:#adadad}.bg-gray-50,.hover\:bg-gray-50:hover{background-color:#757575}.bg-gray-70,.hover\:bg-gray-70:hover{background-color:#454545}.bg-gray-90,.hover\:bg-gray-90:hover{background-color:#1b1b1b}.bg-base-lightest,.hover\:bg-base-lightest:hover{background-color:#f0f0f0}.bg-base-lighter,.hover\:bg-base-lighter:hover{background-color:#dfe1e2}.bg-base-light,.hover\:bg-base-light:hover{background-color:#a9aeb1}.bg-base,.hover\:bg-base:hover{background-color:#71767a}.bg-base-dark,.hover\:bg-base-dark:hover{background-color:#565c65}.bg-base-darker,.hover\:bg-base-darker:hover{background-color:#3d4551}.bg-base-darkest,.bg-ink,.hover\:bg-base-darkest:hover,.hover\:bg-ink:hover{background-color:#1b1b1b}.bg-primary-lighter,.hover\:bg-primary-lighter:hover{background-color:#d9e8f6}.bg-primary-light,.hover\:bg-primary-light:hover{background-color:#73b3e7}.bg-primary,.hover\:bg-primary:hover{background-color:#005ea2}.bg-primary-vivid,.hover\:bg-primary-vivid:hover{background-color:#0050d8}.bg-primary-dark,.hover\:bg-primary-dark:hover{background-color:#1a4480}.bg-primary-darker,.hover\:bg-primary-darker:hover{background-color:#162e51}.bg-secondary-lighter,.hover\:bg-secondary-lighter:hover{background-color:#f3e1e4}.bg-secondary-light,.hover\:bg-secondary-light:hover{background-color:#f2938c}.bg-secondary,.hover\:bg-secondary:hover{background-color:#d83933}.bg-secondary-vivid,.hover\:bg-secondary-vivid:hover{background-color:#e41d3d}.bg-secondary-dark,.hover\:bg-secondary-dark:hover{background-color:#b50909}.bg-secondary-darker,.hover\:bg-secondary-darker:hover{background-color:#8b0a03}.bg-accent-warm-darker,.hover\:bg-accent-warm-darker:hover{background-color:#775540}.bg-accent-warm-dark,.hover\:bg-accent-warm-dark:hover{background-color:#c05600}.bg-accent-warm,.hover\:bg-accent-warm:hover{background-color:#fa9441}.bg-accent-warm-light,.hover\:bg-accent-warm-light:hover{background-color:#ffbc78}.bg-accent-warm-lighter,.hover\:bg-accent-warm-lighter:hover{background-color:#f2e4d4}.bg-accent-cool-darker,.hover\:bg-accent-cool-darker:hover{background-color:#07648d}.bg-accent-cool-dark,.hover\:bg-accent-cool-dark:hover{background-color:#28a0cb}.bg-accent-cool,.hover\:bg-accent-cool:hover{background-color:#00bde3}.bg-accent-cool-light,.hover\:bg-accent-cool-light:hover{background-color:#97d4ea}.bg-accent-cool-lighter,.hover\:bg-accent-cool-lighter:hover{background-color:#e1f3f8}.bg-error-lighter,.hover\:bg-error-lighter:hover{background-color:#f4e3db}.bg-error-light,.hover\:bg-error-light:hover{background-color:#f39268}.bg-error,.hover\:bg-error:hover{background-color:#d54309}.bg-error-dark,.hover\:bg-error-dark:hover{background-color:#b50909}.bg-error-darker,.hover\:bg-error-darker:hover{background-color:#6f3331}.bg-warning-lighter,.hover\:bg-warning-lighter:hover{background-color:#faf3d1}.bg-warning-light,.hover\:bg-warning-light:hover{background-color:#fee685}.bg-warning,.hover\:bg-warning:hover{background-color:#ffbe2e}.bg-warning-dark,.hover\:bg-warning-dark:hover{background-color:#e5a000}.bg-warning-darker,.hover\:bg-warning-darker:hover{background-color:#936f38}.bg-success-lighter,.hover\:bg-success-lighter:hover{background-color:#ecf3ec}.bg-success-light,.hover\:bg-success-light:hover{background-color:#70e17b}.bg-success,.hover\:bg-success:hover{background-color:#00a91c}.bg-success-dark,.hover\:bg-success-dark:hover{background-color:#008817}.bg-success-darker,.hover\:bg-success-darker:hover{background-color:#216e1f}.bg-info-lighter,.hover\:bg-info-lighter:hover{background-color:#e7f6f8}.bg-info-light,.hover\:bg-info-light:hover{background-color:#99deea}.bg-info,.hover\:bg-info:hover{background-color:#00bde3}.bg-info-dark,.hover\:bg-info-dark:hover{background-color:#009ec1}.bg-info-darker,.hover\:bg-info-darker:hover{background-color:#2e6276}.bg-disabled-lighter,.hover\:bg-disabled-lighter:hover{background-color:#c9c9c9}.bg-disabled-light,.hover\:bg-disabled-light:hover{background-color:#919191}.bg-disabled,.hover\:bg-disabled:hover{background-color:#757575}.bg-disabled-dark,.hover\:bg-disabled-dark:hover{background-color:#454545}.bg-disabled-darker,.hover\:bg-disabled-darker:hover{background-color:#1b1b1b}.bg-emergency,.hover\:bg-emergency:hover{background-color:#9c3d10}.bg-emergency-dark,.hover\:bg-emergency-dark:hover{background-color:#332d29}.border-1px,.hover\:border-1px:hover{border:1px solid}.border-y-1px,.hover\:border-y-1px:hover{border-top:1px solid;border-bottom:1px solid}.border-x-1px,.hover\:border-x-1px:hover{border-left:1px solid;border-right:1px solid}.border-top-1px,.hover\:border-top-1px:hover{border-top:1px solid}.border-right-1px,.hover\:border-right-1px:hover{border-right:1px solid}.border-bottom-1px,.hover\:border-bottom-1px:hover{border-bottom:1px solid}.border-left-1px,.hover\:border-left-1px:hover{border-left:1px solid}.border-2px,.hover\:border-2px:hover{border:2px solid}.border-y-2px,.hover\:border-y-2px:hover{border-top:2px solid;border-bottom:2px solid}.border-x-2px,.hover\:border-x-2px:hover{border-left:2px solid;border-right:2px solid}.border-top-2px,.hover\:border-top-2px:hover{border-top:2px solid}.border-right-2px,.hover\:border-right-2px:hover{border-right:2px solid}.border-bottom-2px,.hover\:border-bottom-2px:hover{border-bottom:2px solid}.border-left-2px,.hover\:border-left-2px:hover{border-left:2px solid}.border-05,.hover\:border-05:hover{border:.25rem solid}.border-y-05,.hover\:border-y-05:hover{border-top:.25rem solid;border-bottom:.25rem solid}.border-x-05,.hover\:border-x-05:hover{border-left:.25rem solid;border-right:.25rem solid}.border-top-05,.hover\:border-top-05:hover{border-top:.25rem solid}.border-right-05,.hover\:border-right-05:hover{border-right:.25rem solid}.border-bottom-05,.hover\:border-bottom-05:hover{border-bottom:.25rem solid}.border-left-05,.hover\:border-left-05:hover{border-left:.25rem solid}.border-1,.hover\:border-1:hover{border:.5rem solid}.border-y-1,.hover\:border-y-1:hover{border-top:.5rem solid;border-bottom:.5rem solid}.border-x-1,.hover\:border-x-1:hover{border-left:.5rem solid;border-right:.5rem solid}.border-top-1,.hover\:border-top-1:hover{border-top:.5rem solid}.border-right-1,.hover\:border-right-1:hover{border-right:.5rem solid}.border-bottom-1,.hover\:border-bottom-1:hover{border-bottom:.5rem solid}.border-left-1,.hover\:border-left-1:hover{border-left:.5rem solid}.border-105,.hover\:border-105:hover{border:.75rem solid}.border-y-105,.hover\:border-y-105:hover{border-top:.75rem solid;border-bottom:.75rem solid}.border-x-105,.hover\:border-x-105:hover{border-left:.75rem solid;border-right:.75rem solid}.border-top-105,.hover\:border-top-105:hover{border-top:.75rem solid}.border-right-105,.hover\:border-right-105:hover{border-right:.75rem solid}.border-bottom-105,.hover\:border-bottom-105:hover{border-bottom:.75rem solid}.border-left-105,.hover\:border-left-105:hover{border-left:.75rem solid}.border-2,.hover\:border-2:hover{border:1rem solid}.border-y-2,.hover\:border-y-2:hover{border-top:1rem solid;border-bottom:1rem solid}.border-x-2,.hover\:border-x-2:hover{border-left:1rem solid;border-right:1rem solid}.border-top-2,.hover\:border-top-2:hover{border-top:1rem solid}.border-right-2,.hover\:border-right-2:hover{border-right:1rem solid}.border-bottom-2,.hover\:border-bottom-2:hover{border-bottom:1rem solid}.border-left-2,.hover\:border-left-2:hover{border-left:1rem solid}.border-205,.hover\:border-205:hover{border:1.25rem solid}.border-y-205,.hover\:border-y-205:hover{border-top:1.25rem solid;border-bottom:1.25rem solid}.border-x-205,.hover\:border-x-205:hover{border-left:1.25rem solid;border-right:1.25rem solid}.border-top-205,.hover\:border-top-205:hover{border-top:1.25rem solid}.border-right-205,.hover\:border-right-205:hover{border-right:1.25rem solid}.border-bottom-205,.hover\:border-bottom-205:hover{border-bottom:1.25rem solid}.border-left-205,.hover\:border-left-205:hover{border-left:1.25rem solid}.border-3,.hover\:border-3:hover{border:1.5rem solid}.border-y-3,.hover\:border-y-3:hover{border-top:1.5rem solid;border-bottom:1.5rem solid}.border-x-3,.hover\:border-x-3:hover{border-left:1.5rem solid;border-right:1.5rem solid}.border-top-3,.hover\:border-top-3:hover{border-top:1.5rem solid}.border-right-3,.hover\:border-right-3:hover{border-right:1.5rem solid}.border-bottom-3,.hover\:border-bottom-3:hover{border-bottom:1.5rem solid}.border-left-3,.hover\:border-left-3:hover{border-left:1.5rem solid}.border-0,.hover\:border-0:hover{border:0 solid}.border-y-0,.hover\:border-y-0:hover{border-top:0 solid;border-bottom:0 solid}.border-x-0,.hover\:border-x-0:hover{border-left:0 solid;border-right:0 solid}.border-top-0,.hover\:border-top-0:hover{border-top:0 solid}.border-right-0,.hover\:border-right-0:hover{border-right:0 solid}.border-bottom-0,.hover\:border-bottom-0:hover{border-bottom:0 solid}.border-left-0,.hover\:border-left-0:hover{border-left:0 solid}.border,.hover\:border:hover{border:1px solid}.border-y,.hover\:border-y:hover{border-top:1px solid;border-bottom:1px solid}.border-x,.hover\:border-x:hover{border-left:1px solid;border-right:1px solid}.border-top,.hover\:border-top:hover{border-top:1px solid}.border-right,.hover\:border-right:hover{border-right:1px solid}.border-bottom,.hover\:border-bottom:hover{border-bottom:1px solid}.border-left,.hover\:border-left:hover{border-left:1px solid}.border-transparent,.hover\:border-transparent:hover{border-color:transparent}.border-black,.hover\:border-black:hover{border-color:#000}.border-white,.hover\:border-white:hover{border-color:#fff}.border-red,.hover\:border-red:hover{border-color:#e52207}.border-orange,.hover\:border-orange:hover{border-color:#e66f0e}.border-gold,.hover\:border-gold:hover{border-color:#ffbe2e}.border-yellow,.hover\:border-yellow:hover{border-color:#fee685}.border-green,.hover\:border-green:hover{border-color:#538200}.border-mint,.hover\:border-mint:hover{border-color:#04c585}.border-cyan,.hover\:border-cyan:hover{border-color:#009ec1}.border-blue,.hover\:border-blue:hover{border-color:#0076d6}.border-indigo,.hover\:border-indigo:hover{border-color:#676cc8}.border-violet,.hover\:border-violet:hover{border-color:#8168b3}.border-magenta,.hover\:border-magenta:hover{border-color:#d72d79}.border-gray-5,.hover\:border-gray-5:hover{border-color:#f0f0f0}.border-gray-10,.hover\:border-gray-10:hover{border-color:#e6e6e6}.border-gray-30,.hover\:border-gray-30:hover{border-color:#adadad}.border-gray-50,.hover\:border-gray-50:hover{border-color:#757575}.border-gray-70,.hover\:border-gray-70:hover{border-color:#454545}.border-gray-90,.hover\:border-gray-90:hover{border-color:#1b1b1b}.border-base-lightest,.hover\:border-base-lightest:hover{border-color:#f0f0f0}.border-base-lighter,.hover\:border-base-lighter:hover{border-color:#dfe1e2}.border-base-light,.hover\:border-base-light:hover{border-color:#a9aeb1}.border-base,.hover\:border-base:hover{border-color:#71767a}.border-base-dark,.hover\:border-base-dark:hover{border-color:#565c65}.border-base-darker,.hover\:border-base-darker:hover{border-color:#3d4551}.border-base-darkest,.border-ink,.hover\:border-base-darkest:hover,.hover\:border-ink:hover{border-color:#1b1b1b}.border-primary-lighter,.hover\:border-primary-lighter:hover{border-color:#d9e8f6}.border-primary-light,.hover\:border-primary-light:hover{border-color:#73b3e7}.border-primary,.hover\:border-primary:hover{border-color:#005ea2}.border-primary-vivid,.hover\:border-primary-vivid:hover{border-color:#0050d8}.border-primary-dark,.hover\:border-primary-dark:hover{border-color:#1a4480}.border-primary-darker,.hover\:border-primary-darker:hover{border-color:#162e51}.border-secondary-lighter,.hover\:border-secondary-lighter:hover{border-color:#f3e1e4}.border-secondary-light,.hover\:border-secondary-light:hover{border-color:#f2938c}.border-secondary,.hover\:border-secondary:hover{border-color:#d83933}.border-secondary-vivid,.hover\:border-secondary-vivid:hover{border-color:#e41d3d}.border-secondary-dark,.hover\:border-secondary-dark:hover{border-color:#b50909}.border-secondary-darker,.hover\:border-secondary-darker:hover{border-color:#8b0a03}.border-accent-warm-darker,.hover\:border-accent-warm-darker:hover{border-color:#775540}.border-accent-warm-dark,.hover\:border-accent-warm-dark:hover{border-color:#c05600}.border-accent-warm,.hover\:border-accent-warm:hover{border-color:#fa9441}.border-accent-warm-light,.hover\:border-accent-warm-light:hover{border-color:#ffbc78}.border-accent-warm-lighter,.hover\:border-accent-warm-lighter:hover{border-color:#f2e4d4}.border-accent-cool-darker,.hover\:border-accent-cool-darker:hover{border-color:#07648d}.border-accent-cool-dark,.hover\:border-accent-cool-dark:hover{border-color:#28a0cb}.border-accent-cool,.hover\:border-accent-cool:hover{border-color:#00bde3}.border-accent-cool-light,.hover\:border-accent-cool-light:hover{border-color:#97d4ea}.border-accent-cool-lighter,.hover\:border-accent-cool-lighter:hover{border-color:#e1f3f8}.border-error-lighter,.hover\:border-error-lighter:hover{border-color:#f4e3db}.border-error-light,.hover\:border-error-light:hover{border-color:#f39268}.border-error,.hover\:border-error:hover{border-color:#d54309}.border-error-dark,.hover\:border-error-dark:hover{border-color:#b50909}.border-error-darker,.hover\:border-error-darker:hover{border-color:#6f3331}.border-warning-lighter,.hover\:border-warning-lighter:hover{border-color:#faf3d1}.border-warning-light,.hover\:border-warning-light:hover{border-color:#fee685}.border-warning,.hover\:border-warning:hover{border-color:#ffbe2e}.border-warning-dark,.hover\:border-warning-dark:hover{border-color:#e5a000}.border-warning-darker,.hover\:border-warning-darker:hover{border-color:#936f38}.border-success-lighter,.hover\:border-success-lighter:hover{border-color:#ecf3ec}.border-success-light,.hover\:border-success-light:hover{border-color:#70e17b}.border-success,.hover\:border-success:hover{border-color:#00a91c}.border-success-dark,.hover\:border-success-dark:hover{border-color:#008817}.border-success-darker,.hover\:border-success-darker:hover{border-color:#216e1f}.border-info-lighter,.hover\:border-info-lighter:hover{border-color:#e7f6f8}.border-info-light,.hover\:border-info-light:hover{border-color:#99deea}.border-info,.hover\:border-info:hover{border-color:#00bde3}.border-info-dark,.hover\:border-info-dark:hover{border-color:#009ec1}.border-info-darker,.hover\:border-info-darker:hover{border-color:#2e6276}.border-disabled-lighter,.hover\:border-disabled-lighter:hover{border-color:#c9c9c9}.border-disabled-light,.hover\:border-disabled-light:hover{border-color:#919191}.border-disabled,.hover\:border-disabled:hover{border-color:#757575}.border-disabled-dark,.hover\:border-disabled-dark:hover{border-color:#454545}.border-disabled-darker,.hover\:border-disabled-darker:hover{border-color:#1b1b1b}.border-emergency,.hover\:border-emergency:hover{border-color:#9c3d10}.border-emergency-dark,.hover\:border-emergency-dark:hover{border-color:#332d29}.radius-0{border-radius:0}.radius-top-0{border-top-left-radius:0;border-top-right-radius:0}.radius-right-0{border-top-right-radius:0;border-bottom-right-radius:0}.radius-bottom-0{border-bottom-left-radius:0;border-bottom-right-radius:0}.radius-left-0{border-top-left-radius:0;border-bottom-left-radius:0}.radius-sm{border-radius:2px}.radius-top-sm{border-top-left-radius:2px;border-top-right-radius:2px}.radius-right-sm{border-top-right-radius:2px;border-bottom-right-radius:2px}.radius-bottom-sm{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.radius-left-sm{border-top-left-radius:2px;border-bottom-left-radius:2px}.radius-md{border-radius:.25rem}.radius-top-md{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.radius-right-md{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.radius-bottom-md{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.radius-left-md{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.radius-lg{border-radius:.5rem}.radius-top-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.radius-right-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.radius-bottom-lg{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.radius-left-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.radius-pill{border-radius:99rem}.radius-top-pill{border-top-left-radius:99rem;border-top-right-radius:99rem}.radius-right-pill{border-top-right-radius:99rem;border-bottom-right-radius:99rem}.radius-bottom-pill{border-bottom-left-radius:99rem;border-bottom-right-radius:99rem}.radius-left-pill{border-top-left-radius:99rem;border-bottom-left-radius:99rem}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-solid{border-style:solid}.border-width-1px{border-width:1px}.border-y-width-1px{border-top-width:1px;border-bottom-width:1px}.border-x-width-1px{border-left-width:1px;border-right-width:1px}.border-top-width-1px{border-top-width:1px}.border-right-width-1px{border-right-width:1px}.border-bottom-width-1px{border-bottom-width:1px}.border-left-width-1px{border-left-width:1px}.border-width-2px{border-width:2px}.border-y-width-2px{border-top-width:2px;border-bottom-width:2px}.border-x-width-2px{border-left-width:2px;border-right-width:2px}.border-top-width-2px{border-top-width:2px}.border-right-width-2px{border-right-width:2px}.border-bottom-width-2px{border-bottom-width:2px}.border-left-width-2px{border-left-width:2px}.border-width-05{border-width:.25rem}.border-y-width-05{border-top-width:.25rem;border-bottom-width:.25rem}.border-x-width-05{border-left-width:.25rem;border-right-width:.25rem}.border-top-width-05{border-top-width:.25rem}.border-right-width-05{border-right-width:.25rem}.border-bottom-width-05{border-bottom-width:.25rem}.border-left-width-05{border-left-width:.25rem}.border-width-1{border-width:.5rem}.border-y-width-1{border-top-width:.5rem;border-bottom-width:.5rem}.border-x-width-1{border-left-width:.5rem;border-right-width:.5rem}.border-top-width-1{border-top-width:.5rem}.border-right-width-1{border-right-width:.5rem}.border-bottom-width-1{border-bottom-width:.5rem}.border-left-width-1{border-left-width:.5rem}.border-width-105{border-width:.75rem}.border-y-width-105{border-top-width:.75rem;border-bottom-width:.75rem}.border-x-width-105{border-left-width:.75rem;border-right-width:.75rem}.border-top-width-105{border-top-width:.75rem}.border-right-width-105{border-right-width:.75rem}.border-bottom-width-105{border-bottom-width:.75rem}.border-left-width-105{border-left-width:.75rem}.border-width-2{border-width:1rem}.border-y-width-2{border-top-width:1rem;border-bottom-width:1rem}.border-x-width-2{border-left-width:1rem;border-right-width:1rem}.border-top-width-2{border-top-width:1rem}.border-right-width-2{border-right-width:1rem}.border-bottom-width-2{border-bottom-width:1rem}.border-left-width-2{border-left-width:1rem}.border-width-205{border-width:1.25rem}.border-y-width-205{border-top-width:1.25rem;border-bottom-width:1.25rem}.border-x-width-205{border-left-width:1.25rem;border-right-width:1.25rem}.border-top-width-205{border-top-width:1.25rem}.border-right-width-205{border-right-width:1.25rem}.border-bottom-width-205{border-bottom-width:1.25rem}.border-left-width-205{border-left-width:1.25rem}.border-width-3{border-width:1.5rem}.border-y-width-3{border-top-width:1.5rem;border-bottom-width:1.5rem}.border-x-width-3{border-left-width:1.5rem;border-right-width:1.5rem}.border-top-width-3{border-top-width:1.5rem}.border-right-width-3{border-right-width:1.5rem}.border-bottom-width-3{border-bottom-width:1.5rem}.border-left-width-3{border-left-width:1.5rem}.border-width-0{border-width:0}.border-y-width-0{border-top-width:0;border-bottom-width:0}.border-x-width-0{border-left-width:0;border-right-width:0}.border-top-width-0{border-top-width:0}.border-right-width-0{border-right-width:0}.border-bottom-width-0{border-bottom-width:0}.border-left-width-0{border-left-width:0}.bottom-1px{bottom:1px}.bottom-2px{bottom:2px}.bottom-05{bottom:.25rem}.bottom-1{bottom:.5rem}.bottom-105{bottom:.75rem}.bottom-2{bottom:1rem}.bottom-205{bottom:1.25rem}.bottom-3{bottom:1.5rem}.bottom-neg-1px{bottom:-1px}.bottom-neg-2px{bottom:-2px}.bottom-neg-05{bottom:-.25rem}.bottom-neg-1{bottom:-.5rem}.bottom-neg-105{bottom:-.75rem}.bottom-neg-2{bottom:-1rem}.bottom-neg-205{bottom:-1.25rem}.bottom-neg-3{bottom:-1.5rem}.bottom-0{bottom:0}.bottom-auto{bottom:auto}.bottom-full{bottom:100%}.hover\:shadow-none:hover,.shadow-none{box-shadow:none}.hover\:shadow-1:hover,.shadow-1{box-shadow:0 1px .25rem 0 rgba(0,0,0,.1)}.hover\:shadow-2:hover,.shadow-2{box-shadow:0 .25rem .5rem 0 rgba(0,0,0,.1)}.hover\:shadow-3:hover,.shadow-3{box-shadow:0 .5rem 1rem 0 rgba(0,0,0,.1)}.hover\:shadow-4:hover,.shadow-4{box-shadow:0 .75rem 1.5rem 0 rgba(0,0,0,.1)}.hover\:shadow-5:hover,.shadow-5{box-shadow:0 1rem 2rem 0 rgba(0,0,0,.1)}.circle-1px,.circle-2px{height:1px;width:1px;border-radius:50%}.circle-2px{height:2px;width:2px}.circle-05{height:.25rem;width:.25rem;border-radius:50%}.circle-1,.circle-105{height:.5rem;width:.5rem;border-radius:50%}.circle-105{height:.75rem;width:.75rem}.circle-2,.circle-205{height:1rem;width:1rem;border-radius:50%}.circle-205{height:1.25rem;width:1.25rem}.circle-3,.circle-4{height:1.5rem;width:1.5rem;border-radius:50%}.circle-4{height:2rem;width:2rem}.circle-5,.circle-6{height:2.5rem;width:2.5rem;border-radius:50%}.circle-6{height:3rem;width:3rem}.circle-7,.circle-8{height:3.5rem;width:3.5rem;border-radius:50%}.circle-8{height:4rem;width:4rem}.circle-10,.circle-9{height:4.5rem;width:4.5rem;border-radius:50%}.circle-10{height:5rem;width:5rem}.circle-15,.circle-card{height:7.5rem;width:7.5rem;border-radius:50%}.circle-card{height:10rem;width:10rem}.circle-card-lg,.circle-mobile{height:15rem;width:15rem;border-radius:50%}.circle-mobile{height:20rem;width:20rem}.clearfix::after{content:"";display:block;clear:both}.hover\:text-transparent:hover,.text-transparent{color:transparent}.hover\:text-black:hover,.text-black{color:#000}.hover\:text-white:hover,.text-white{color:#fff}.hover\:text-red:hover,.text-red{color:#e52207}.hover\:text-orange:hover,.text-orange{color:#e66f0e}.hover\:text-gold:hover,.text-gold{color:#ffbe2e}.hover\:text-yellow:hover,.text-yellow{color:#fee685}.hover\:text-green:hover,.text-green{color:#538200}.hover\:text-mint:hover,.text-mint{color:#04c585}.hover\:text-cyan:hover,.text-cyan{color:#009ec1}.hover\:text-blue:hover,.text-blue{color:#0076d6}.hover\:text-indigo:hover,.text-indigo{color:#676cc8}.hover\:text-violet:hover,.text-violet{color:#8168b3}.hover\:text-magenta:hover,.text-magenta{color:#d72d79}.hover\:text-gray-5:hover,.text-gray-5{color:#f0f0f0}.hover\:text-gray-10:hover,.text-gray-10{color:#e6e6e6}.hover\:text-gray-30:hover,.text-gray-30{color:#adadad}.hover\:text-gray-50:hover,.text-gray-50{color:#757575}.hover\:text-gray-70:hover,.text-gray-70{color:#454545}.hover\:text-gray-90:hover,.text-gray-90{color:#1b1b1b}.hover\:text-base-lightest:hover,.text-base-lightest{color:#f0f0f0}.hover\:text-base-lighter:hover,.text-base-lighter{color:#dfe1e2}.hover\:text-base-light:hover,.text-base-light{color:#a9aeb1}.hover\:text-base:hover,.text-base{color:#71767a}.hover\:text-base-dark:hover,.text-base-dark{color:#565c65}.hover\:text-base-darker:hover,.text-base-darker{color:#3d4551}.hover\:text-base-darkest:hover,.hover\:text-ink:hover,.text-base-darkest,.text-ink{color:#1b1b1b}.hover\:text-primary-lighter:hover,.text-primary-lighter{color:#d9e8f6}.hover\:text-primary-light:hover,.text-primary-light{color:#73b3e7}.hover\:text-primary:hover,.text-primary{color:#005ea2}.hover\:text-primary-vivid:hover,.text-primary-vivid{color:#0050d8}.hover\:text-primary-dark:hover,.text-primary-dark{color:#1a4480}.hover\:text-primary-darker:hover,.text-primary-darker{color:#162e51}.hover\:text-secondary-lighter:hover,.text-secondary-lighter{color:#f3e1e4}.hover\:text-secondary-light:hover,.text-secondary-light{color:#f2938c}.hover\:text-secondary:hover,.text-secondary{color:#d83933}.hover\:text-secondary-vivid:hover,.text-secondary-vivid{color:#e41d3d}.hover\:text-secondary-dark:hover,.text-secondary-dark{color:#b50909}.hover\:text-secondary-darker:hover,.text-secondary-darker{color:#8b0a03}.hover\:text-accent-warm-darker:hover,.text-accent-warm-darker{color:#775540}.hover\:text-accent-warm-dark:hover,.text-accent-warm-dark{color:#c05600}.hover\:text-accent-warm:hover,.text-accent-warm{color:#fa9441}.hover\:text-accent-warm-light:hover,.text-accent-warm-light{color:#ffbc78}.hover\:text-accent-warm-lighter:hover,.text-accent-warm-lighter{color:#f2e4d4}.hover\:text-accent-cool-darker:hover,.text-accent-cool-darker{color:#07648d}.hover\:text-accent-cool-dark:hover,.text-accent-cool-dark{color:#28a0cb}.hover\:text-accent-cool:hover,.text-accent-cool{color:#00bde3}.hover\:text-accent-cool-light:hover,.text-accent-cool-light{color:#97d4ea}.hover\:text-accent-cool-lighter:hover,.text-accent-cool-lighter{color:#e1f3f8}.hover\:text-error-lighter:hover,.text-error-lighter{color:#f4e3db}.hover\:text-error-light:hover,.text-error-light{color:#f39268}.hover\:text-error:hover,.text-error{color:#d54309}.hover\:text-error-dark:hover,.text-error-dark{color:#b50909}.hover\:text-error-darker:hover,.text-error-darker{color:#6f3331}.hover\:text-warning-lighter:hover,.text-warning-lighter{color:#faf3d1}.hover\:text-warning-light:hover,.text-warning-light{color:#fee685}.hover\:text-warning:hover,.text-warning{color:#ffbe2e}.hover\:text-warning-dark:hover,.text-warning-dark{color:#e5a000}.hover\:text-warning-darker:hover,.text-warning-darker{color:#936f38}.hover\:text-success-lighter:hover,.text-success-lighter{color:#ecf3ec}.hover\:text-success-light:hover,.text-success-light{color:#70e17b}.hover\:text-success:hover,.text-success{color:#00a91c}.hover\:text-success-dark:hover,.text-success-dark{color:#008817}.hover\:text-success-darker:hover,.text-success-darker{color:#216e1f}.hover\:text-info-lighter:hover,.text-info-lighter{color:#e7f6f8}.hover\:text-info-light:hover,.text-info-light{color:#99deea}.hover\:text-info:hover,.text-info{color:#00bde3}.hover\:text-info-dark:hover,.text-info-dark{color:#009ec1}.hover\:text-info-darker:hover,.text-info-darker{color:#2e6276}.hover\:text-disabled-lighter:hover,.text-disabled-lighter{color:#c9c9c9}.hover\:text-disabled-light:hover,.text-disabled-light{color:#919191}.hover\:text-disabled:hover,.text-disabled{color:#757575}.hover\:text-disabled-dark:hover,.text-disabled-dark{color:#454545}.hover\:text-disabled-darker:hover,.text-disabled-darker{color:#1b1b1b}.hover\:text-emergency:hover,.text-emergency{color:#9c3d10}.hover\:text-emergency-dark:hover,.text-emergency-dark{color:#332d29}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.display-block{display:block}.display-flex{display:flex}.display-none{display:none}.display-inline{display:inline}.display-inline-block{display:inline-block}.display-inline-flex{display:inline-flex}.display-table{display:table}.display-table-cell{display:table-cell}.display-table-row{display:table-row}.flex-1{flex:1 1 0%}.flex-2{flex:2 1 0%}.flex-3{flex:3 1 0%}.flex-4{flex:4 1 0%}.flex-5{flex:5 1 0%}.flex-6{flex:6 1 0%}.flex-7{flex:7 1 0%}.flex-8{flex:8 1 0%}.flex-9{flex:9 1 0%}.flex-10{flex:10 1 0%}.flex-11{flex:11 1 0%}.flex-12{flex:12 1 0%}.flex-fill{flex:1 1 0%}.flex-auto{flex:0 1 auto}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-no-wrap{flex-wrap:nowrap}.float-left{float:left}.float-none{float:none}.float-right{float:right}.font-mono-3xs{font-size:.77rem}.font-mono-2xs{font-size:.83rem}.font-mono-xs{font-size:.89rem}.font-mono-sm{font-size:.95rem}.font-mono-md{font-size:1.01rem}.font-mono-lg{font-size:1.31rem}.font-mono-xl{font-size:1.91rem}.font-mono-2xl{font-size:2.38rem}.font-mono-3xl{font-size:2.86rem}.font-sans-3xs{font-size:.87rem}.font-sans-2xs{font-size:.93rem}.font-sans-xs{font-size:1rem}.font-sans-sm{font-size:1.06rem}.font-sans-md{font-size:1.13rem}.font-sans-lg{font-size:1.46rem}.font-sans-xl{font-size:2.13rem}.font-sans-2xl{font-size:2.66rem}.font-sans-3xl{font-size:3.19rem}.font-serif-3xs{font-size:.79rem}.font-serif-2xs{font-size:.85rem}.font-serif-xs{font-size:.91rem}.font-serif-sm{font-size:.98rem}.font-serif-md{font-size:1.04rem}.font-serif-lg{font-size:1.34rem}.font-serif-xl{font-size:1.95rem}.font-serif-2xl{font-size:2.44rem}.font-serif-3xl{font-size:2.93rem}.font-heading-3xs{font-size:.79rem}.font-heading-2xs{font-size:.85rem}.font-heading-xs{font-size:.91rem}.font-heading-sm{font-size:.98rem}.font-heading-md{font-size:1.04rem}.font-heading-lg{font-size:1.34rem}.font-heading-xl{font-size:1.95rem}.font-heading-2xl{font-size:2.44rem}.font-heading-3xl{font-size:2.93rem}.font-body-3xs{font-size:.87rem}.font-body-2xs{font-size:.93rem}.font-body-xs{font-size:1rem}.font-body-sm{font-size:1.06rem}.font-body-md{font-size:1.13rem}.font-body-lg{font-size:1.46rem}.font-body-xl{font-size:2.13rem}.font-body-2xl{font-size:2.66rem}.font-body-3xl{font-size:3.19rem}.font-code-3xs{font-size:.77rem}.font-code-2xs{font-size:.83rem}.font-code-xs{font-size:.89rem}.font-code-sm{font-size:.95rem}.font-code-md{font-size:1.01rem}.font-code-lg{font-size:1.31rem}.font-code-xl{font-size:1.91rem}.font-code-2xl{font-size:2.38rem}.font-code-3xl{font-size:2.86rem}.font-alt-3xs{font-size:.79rem}.font-alt-2xs{font-size:.85rem}.font-alt-xs{font-size:.91rem}.font-alt-sm{font-size:.98rem}.font-alt-md{font-size:1.04rem}.font-alt-lg{font-size:1.34rem}.font-alt-xl{font-size:1.95rem}.font-alt-2xl{font-size:2.44rem}.font-alt-3xl{font-size:2.93rem}.font-ui-3xs{font-size:.87rem}.font-ui-2xs{font-size:.93rem}.font-ui-xs{font-size:1rem}.font-ui-sm{font-size:1.06rem}.font-ui-md{font-size:1.13rem}.font-ui-lg{font-size:1.46rem}.font-ui-xl{font-size:2.13rem}.font-ui-2xl{font-size:2.66rem}.font-ui-3xl{font-size:3.19rem}.font-family-mono{font-family:Roboto Mono Web,Bitstream Vera Sans Mono,Consolas,Courier,monospace}.font-family-sans{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif}.font-family-serif{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif}.font-family-ui{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif}.font-family-heading{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif}.font-family-body{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif}.font-family-code{font-family:Roboto Mono Web,Bitstream Vera Sans Mono,Consolas,Courier,monospace}.font-family-alt{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif}.text-tabular{font-feature-settings:"tnum"1,"kern"1}.text-no-tabular{font-feature-settings:"kern"1}.text-italic{font-style:italic}.text-no-italic{font-style:normal}.text-light{font-weight:300}.text-normal{font-weight:400}.text-bold{font-weight:700}.height-1px{height:1px}.height-2px{height:2px}.height-05{height:.25rem}.height-1{height:.5rem}.height-105{height:.75rem}.height-2{height:1rem}.height-205{height:1.25rem}.height-3{height:1.5rem}.height-4{height:2rem}.height-5{height:2.5rem}.height-6{height:3rem}.height-7{height:3.5rem}.height-8{height:4rem}.height-9{height:4.5rem}.height-10{height:5rem}.height-15{height:7.5rem}.height-card{height:10rem}.height-card-lg{height:15rem}.height-mobile{height:20rem}.height-0{height:0}.height-auto{height:auto}.height-full{height:100%}.height-viewport{height:100vh}.flex-justify-center{justify-content:center}.flex-justify-start{justify-content:flex-start}.flex-justify-end{justify-content:flex-end}.flex-justify{justify-content:space-between}.left-1px{left:1px}.left-2px{left:2px}.left-05{left:.25rem}.left-1{left:.5rem}.left-105{left:.75rem}.left-2{left:1rem}.left-205{left:1.25rem}.left-3{left:1.5rem}.left-neg-1px{left:-1px}.left-neg-2px{left:-2px}.left-neg-05{left:-.25rem}.left-neg-1{left:-.5rem}.left-neg-105{left:-.75rem}.left-neg-2{left:-1rem}.left-neg-205{left:-1.25rem}.left-neg-3{left:-1.5rem}.left-0{left:0}.left-auto{left:auto}.left-full{left:100%}.text-ls-auto{letter-spacing:initial}.text-ls-neg-3{letter-spacing:-.03em}.text-ls-neg-2{letter-spacing:-.02em}.text-ls-neg-1{letter-spacing:-.01em}.text-ls-1{letter-spacing:.025em}.text-ls-2{letter-spacing:.1em}.text-ls-3{letter-spacing:.15em}.line-height-sans-1{line-height:.9}.line-height-sans-2{line-height:1.1}.line-height-sans-3{line-height:1.3}.line-height-sans-4{line-height:1.4}.line-height-sans-5{line-height:1.5}.line-height-sans-6{line-height:1.6}.line-height-serif-1{line-height:1}.line-height-serif-2{line-height:1.2}.line-height-serif-3{line-height:1.4}.line-height-serif-4{line-height:1.5}.line-height-serif-5{line-height:1.7}.line-height-serif-6{line-height:1.8}.line-height-mono-1{line-height:1}.line-height-mono-2{line-height:1.3}.line-height-mono-3{line-height:1.4}.line-height-mono-4{line-height:1.6}.line-height-mono-5{line-height:1.7}.line-height-mono-6{line-height:1.8}.line-height-heading-1{line-height:1}.line-height-heading-2{line-height:1.2}.line-height-heading-3{line-height:1.4}.line-height-heading-4{line-height:1.5}.line-height-heading-5{line-height:1.7}.line-height-heading-6{line-height:1.8}.line-height-ui-1{line-height:.9}.line-height-ui-2{line-height:1.1}.line-height-ui-3{line-height:1.3}.line-height-ui-4{line-height:1.4}.line-height-ui-5{line-height:1.5}.line-height-ui-6{line-height:1.6}.line-height-body-1{line-height:.9}.line-height-body-2{line-height:1.1}.line-height-body-3{line-height:1.3}.line-height-body-4{line-height:1.4}.line-height-body-5{line-height:1.5}.line-height-body-6{line-height:1.6}.line-height-code-1{line-height:1}.line-height-code-2{line-height:1.3}.line-height-code-3{line-height:1.4}.line-height-code-4{line-height:1.6}.line-height-code-5{line-height:1.7}.line-height-code-6{line-height:1.8}.line-height-alt-1{line-height:1}.line-height-alt-2{line-height:1.2}.line-height-alt-3{line-height:1.4}.line-height-alt-4{line-height:1.5}.line-height-alt-5{line-height:1.7}.line-height-alt-6{line-height:1.8}.margin-neg-1px{margin:-1px}.margin-neg-2px{margin:-2px}.margin-neg-05{margin:-.25rem}.margin-neg-1{margin:-.5rem}.margin-neg-105{margin:-.75rem}.margin-neg-2{margin:-1rem}.margin-neg-205{margin:-1.25rem}.margin-neg-3{margin:-1.5rem}.margin-1px{margin:1px}.margin-2px{margin:2px}.margin-05{margin:.25rem}.margin-1{margin:.5rem}.margin-105{margin:.75rem}.margin-2{margin:1rem}.margin-205{margin:1.25rem}.margin-3{margin:1.5rem}.margin-neg-4{margin:-2rem}.margin-neg-5{margin:-2.5rem}.margin-neg-6{margin:-3rem}.margin-neg-7{margin:-3.5rem}.margin-neg-8{margin:-4rem}.margin-neg-9{margin:-4.5rem}.margin-neg-10{margin:-5rem}.margin-neg-15{margin:-7.5rem}.margin-4{margin:2rem}.margin-5{margin:2.5rem}.margin-6{margin:3rem}.margin-7{margin:3.5rem}.margin-8{margin:4rem}.margin-9{margin:4.5rem}.margin-10{margin:5rem}.margin-15{margin:7.5rem}.margin-05em{margin:.5em}.margin-1em{margin:1em}.margin-105em{margin:1.5em}.margin-2em{margin:2em}.margin-0{margin:0}.margin-y-1px{margin-bottom:1px}.margin-top-1px,.margin-y-1px{margin-top:1px}.margin-bottom-1px{margin-bottom:1px}.margin-y-2px{margin-bottom:2px}.margin-top-2px,.margin-y-2px{margin-top:2px}.margin-bottom-2px{margin-bottom:2px}.margin-y-05{margin-bottom:.25rem}.margin-top-05,.margin-y-05{margin-top:.25rem}.margin-bottom-05{margin-bottom:.25rem}.margin-y-1{margin-bottom:.5rem}.margin-top-1,.margin-y-1{margin-top:.5rem}.margin-bottom-1{margin-bottom:.5rem}.margin-y-105{margin-bottom:.75rem}.margin-top-105,.margin-y-105{margin-top:.75rem}.margin-bottom-105{margin-bottom:.75rem}.margin-y-2{margin-bottom:1rem}.margin-top-2,.margin-y-2{margin-top:1rem}.margin-bottom-2{margin-bottom:1rem}.margin-y-205{margin-bottom:1.25rem}.margin-top-205,.margin-y-205{margin-top:1.25rem}.margin-bottom-205{margin-bottom:1.25rem}.margin-y-3{margin-bottom:1.5rem}.margin-top-3,.margin-y-3{margin-top:1.5rem}.margin-bottom-3{margin-bottom:1.5rem}.margin-y-neg-1px{margin-top:-1px;margin-bottom:-1px}.margin-top-neg-1px{margin-top:-1px}.margin-bottom-neg-1px{margin-bottom:-1px}.margin-y-neg-2px{margin-top:-2px;margin-bottom:-2px}.margin-top-neg-2px{margin-top:-2px}.margin-bottom-neg-2px{margin-bottom:-2px}.margin-y-neg-05{margin-bottom:-.25rem}.margin-top-neg-05,.margin-y-neg-05{margin-top:-.25rem}.margin-bottom-neg-05{margin-bottom:-.25rem}.margin-y-neg-1{margin-bottom:-.5rem}.margin-top-neg-1,.margin-y-neg-1{margin-top:-.5rem}.margin-bottom-neg-1{margin-bottom:-.5rem}.margin-y-neg-105{margin-bottom:-.75rem}.margin-top-neg-105,.margin-y-neg-105{margin-top:-.75rem}.margin-bottom-neg-105{margin-bottom:-.75rem}.margin-y-neg-2{margin-bottom:-1rem}.margin-top-neg-2,.margin-y-neg-2{margin-top:-1rem}.margin-bottom-neg-2{margin-bottom:-1rem}.margin-y-neg-205{margin-bottom:-1.25rem}.margin-top-neg-205,.margin-y-neg-205{margin-top:-1.25rem}.margin-bottom-neg-205{margin-bottom:-1.25rem}.margin-y-neg-3{margin-bottom:-1.5rem}.margin-top-neg-3,.margin-y-neg-3{margin-top:-1.5rem}.margin-bottom-neg-3{margin-bottom:-1.5rem}.margin-y-neg-4{margin-bottom:-2rem}.margin-top-neg-4,.margin-y-neg-4{margin-top:-2rem}.margin-bottom-neg-4{margin-bottom:-2rem}.margin-y-neg-5{margin-bottom:-2.5rem}.margin-top-neg-5,.margin-y-neg-5{margin-top:-2.5rem}.margin-bottom-neg-5{margin-bottom:-2.5rem}.margin-y-neg-6{margin-bottom:-3rem}.margin-top-neg-6,.margin-y-neg-6{margin-top:-3rem}.margin-bottom-neg-6{margin-bottom:-3rem}.margin-y-neg-7{margin-bottom:-3.5rem}.margin-top-neg-7,.margin-y-neg-7{margin-top:-3.5rem}.margin-bottom-neg-7{margin-bottom:-3.5rem}.margin-y-neg-8{margin-bottom:-4rem}.margin-top-neg-8,.margin-y-neg-8{margin-top:-4rem}.margin-bottom-neg-8{margin-bottom:-4rem}.margin-y-neg-9{margin-bottom:-4.5rem}.margin-top-neg-9,.margin-y-neg-9{margin-top:-4.5rem}.margin-bottom-neg-9{margin-bottom:-4.5rem}.margin-y-neg-10{margin-top:-5rem;margin-bottom:-5rem}.margin-top-neg-10{margin-top:-5rem}.margin-bottom-neg-10{margin-bottom:-5rem}.margin-y-neg-15{margin-bottom:-7.5rem}.margin-top-neg-15,.margin-y-neg-15{margin-top:-7.5rem}.margin-bottom-neg-15{margin-bottom:-7.5rem}.margin-y-4{margin-bottom:2rem}.margin-top-4,.margin-y-4{margin-top:2rem}.margin-bottom-4{margin-bottom:2rem}.margin-y-5{margin-bottom:2.5rem}.margin-top-5,.margin-y-5{margin-top:2.5rem}.margin-bottom-5{margin-bottom:2.5rem}.margin-y-6{margin-bottom:3rem}.margin-top-6,.margin-y-6{margin-top:3rem}.margin-bottom-6{margin-bottom:3rem}.margin-y-7{margin-bottom:3.5rem}.margin-top-7,.margin-y-7{margin-top:3.5rem}.margin-bottom-7{margin-bottom:3.5rem}.margin-y-8{margin-bottom:4rem}.margin-top-8,.margin-y-8{margin-top:4rem}.margin-bottom-8{margin-bottom:4rem}.margin-y-9{margin-bottom:4.5rem}.margin-top-9,.margin-y-9{margin-top:4.5rem}.margin-bottom-9{margin-bottom:4.5rem}.margin-y-10{margin-bottom:5rem}.margin-top-10,.margin-y-10{margin-top:5rem}.margin-bottom-10{margin-bottom:5rem}.margin-y-15{margin-bottom:7.5rem}.margin-top-15,.margin-y-15{margin-top:7.5rem}.margin-bottom-15{margin-bottom:7.5rem}.margin-y-05em{margin-bottom:.5em}.margin-top-05em,.margin-y-05em{margin-top:.5em}.margin-bottom-05em{margin-bottom:.5em}.margin-y-1em{margin-bottom:1em}.margin-top-1em,.margin-y-1em{margin-top:1em}.margin-bottom-1em{margin-bottom:1em}.margin-y-105em{margin-bottom:1.5em}.margin-top-105em,.margin-y-105em{margin-top:1.5em}.margin-bottom-105em{margin-bottom:1.5em}.margin-y-2em{margin-bottom:2em}.margin-top-2em,.margin-y-2em{margin-top:2em}.margin-bottom-2em{margin-bottom:2em}.margin-y-0{margin-bottom:0}.margin-top-0,.margin-y-0{margin-top:0}.margin-bottom-0{margin-bottom:0}.margin-y-auto{margin-bottom:auto}.margin-top-auto,.margin-y-auto{margin-top:auto}.margin-bottom-auto{margin-bottom:auto}.margin-x-1px{margin-left:1px}.margin-right-1px,.margin-x-1px{margin-right:1px}.margin-left-1px{margin-left:1px}.margin-x-2px{margin-left:2px}.margin-right-2px,.margin-x-2px{margin-right:2px}.margin-left-2px{margin-left:2px}.margin-x-05{margin-left:.25rem}.margin-right-05,.margin-x-05{margin-right:.25rem}.margin-left-05{margin-left:.25rem}.margin-x-1{margin-left:.5rem}.margin-right-1,.margin-x-1{margin-right:.5rem}.margin-left-1{margin-left:.5rem}.margin-x-105{margin-left:.75rem}.margin-right-105,.margin-x-105{margin-right:.75rem}.margin-left-105{margin-left:.75rem}.margin-x-2{margin-left:1rem}.margin-right-2,.margin-x-2{margin-right:1rem}.margin-left-2{margin-left:1rem}.margin-x-205{margin-left:1.25rem}.margin-right-205,.margin-x-205{margin-right:1.25rem}.margin-left-205{margin-left:1.25rem}.margin-x-3{margin-left:1.5rem}.margin-right-3,.margin-x-3{margin-right:1.5rem}.margin-left-3{margin-left:1.5rem}.margin-x-neg-1px{margin-left:-1px;margin-right:-1px}.margin-right-neg-1px{margin-right:-1px}.margin-left-neg-1px{margin-left:-1px}.margin-x-neg-2px{margin-left:-2px;margin-right:-2px}.margin-right-neg-2px{margin-right:-2px}.margin-left-neg-2px{margin-left:-2px}.margin-x-neg-05{margin-left:-.25rem}.margin-right-neg-05,.margin-x-neg-05{margin-right:-.25rem}.margin-left-neg-05{margin-left:-.25rem}.margin-x-neg-1{margin-left:-.5rem}.margin-right-neg-1,.margin-x-neg-1{margin-right:-.5rem}.margin-left-neg-1{margin-left:-.5rem}.margin-x-neg-105{margin-left:-.75rem}.margin-right-neg-105,.margin-x-neg-105{margin-right:-.75rem}.margin-left-neg-105{margin-left:-.75rem}.margin-x-neg-2{margin-left:-1rem}.margin-right-neg-2,.margin-x-neg-2{margin-right:-1rem}.margin-left-neg-2{margin-left:-1rem}.margin-x-neg-205{margin-left:-1.25rem}.margin-right-neg-205,.margin-x-neg-205{margin-right:-1.25rem}.margin-left-neg-205{margin-left:-1.25rem}.margin-x-neg-3{margin-left:-1.5rem}.margin-right-neg-3,.margin-x-neg-3{margin-right:-1.5rem}.margin-left-neg-3{margin-left:-1.5rem}.margin-x-neg-4{margin-left:-2rem}.margin-right-neg-4,.margin-x-neg-4{margin-right:-2rem}.margin-left-neg-4{margin-left:-2rem}.margin-x-neg-5{margin-left:-2.5rem}.margin-right-neg-5,.margin-x-neg-5{margin-right:-2.5rem}.margin-left-neg-5{margin-left:-2.5rem}.margin-x-neg-6{margin-left:-3rem}.margin-right-neg-6,.margin-x-neg-6{margin-right:-3rem}.margin-left-neg-6{margin-left:-3rem}.margin-x-neg-7{margin-left:-3.5rem}.margin-right-neg-7,.margin-x-neg-7{margin-right:-3.5rem}.margin-left-neg-7{margin-left:-3.5rem}.margin-x-neg-8{margin-left:-4rem}.margin-right-neg-8,.margin-x-neg-8{margin-right:-4rem}.margin-left-neg-8{margin-left:-4rem}.margin-x-neg-9{margin-left:-4.5rem}.margin-right-neg-9,.margin-x-neg-9{margin-right:-4.5rem}.margin-left-neg-9{margin-left:-4.5rem}.margin-x-neg-10{margin-left:-5rem}.margin-right-neg-10,.margin-x-neg-10{margin-right:-5rem}.margin-left-neg-10{margin-left:-5rem}.margin-x-neg-15{margin-left:-7.5rem}.margin-right-neg-15,.margin-x-neg-15{margin-right:-7.5rem}.margin-left-neg-15{margin-left:-7.5rem}.margin-x-4{margin-left:2rem}.margin-right-4,.margin-x-4{margin-right:2rem}.margin-left-4{margin-left:2rem}.margin-x-5{margin-left:2.5rem}.margin-right-5,.margin-x-5{margin-right:2.5rem}.margin-left-5{margin-left:2.5rem}.margin-x-6{margin-left:3rem}.margin-right-6,.margin-x-6{margin-right:3rem}.margin-left-6{margin-left:3rem}.margin-x-7{margin-left:3.5rem}.margin-right-7,.margin-x-7{margin-right:3.5rem}.margin-left-7{margin-left:3.5rem}.margin-x-8{margin-left:4rem}.margin-right-8,.margin-x-8{margin-right:4rem}.margin-left-8{margin-left:4rem}.margin-x-9{margin-left:4.5rem}.margin-right-9,.margin-x-9{margin-right:4.5rem}.margin-left-9{margin-left:4.5rem}.margin-x-10{margin-left:5rem}.margin-right-10,.margin-x-10{margin-right:5rem}.margin-left-10{margin-left:5rem}.margin-x-15{margin-left:7.5rem}.margin-right-15,.margin-x-15{margin-right:7.5rem}.margin-left-15{margin-left:7.5rem}.margin-x-card{margin-left:10rem}.margin-right-card,.margin-x-card{margin-right:10rem}.margin-left-card{margin-left:10rem}.margin-x-card-lg{margin-left:15rem}.margin-right-card-lg,.margin-x-card-lg{margin-right:15rem}.margin-left-card-lg{margin-left:15rem}.margin-x-mobile{margin-left:20rem}.margin-right-mobile,.margin-x-mobile{margin-right:20rem}.margin-left-mobile{margin-left:20rem}.margin-x-05em{margin-left:.5em}.margin-right-05em,.margin-x-05em{margin-right:.5em}.margin-left-05em{margin-left:.5em}.margin-x-1em{margin-left:1em}.margin-right-1em,.margin-x-1em{margin-right:1em}.margin-left-1em{margin-left:1em}.margin-x-105em{margin-left:1.5em}.margin-right-105em,.margin-x-105em{margin-right:1.5em}.margin-left-105em{margin-left:1.5em}.margin-x-2em{margin-left:2em}.margin-right-2em,.margin-x-2em{margin-right:2em}.margin-left-2em{margin-left:2em}.margin-x-0{margin-left:0}.margin-right-0,.margin-x-0{margin-right:0}.margin-left-0{margin-left:0}.margin-x-auto{margin-left:auto}.margin-right-auto,.margin-x-auto{margin-right:auto}.margin-left-auto{margin-left:auto}.maxh-05{max-height:.25rem}.maxh-1{max-height:.5rem}.maxh-105{max-height:.75rem}.maxh-2{max-height:1rem}.maxh-205{max-height:1.25rem}.maxh-3{max-height:1.5rem}.maxh-4{max-height:2rem}.maxh-5{max-height:2.5rem}.maxh-6{max-height:3rem}.maxh-7{max-height:3.5rem}.maxh-8{max-height:4rem}.maxh-9{max-height:4.5rem}.maxh-10{max-height:5rem}.maxh-15{max-height:7.5rem}.maxh-card{max-height:10rem}.maxh-card-lg{max-height:15rem}.maxh-mobile{max-height:20rem}.maxh-mobile-lg{max-height:30rem}.maxh-tablet{max-height:40rem}.maxh-tablet-lg{max-height:55rem}.maxh-none{max-height:none}.maxh-viewport{max-height:100vh}.maxw-05{max-width:.25rem}.maxw-1{max-width:.5rem}.maxw-105{max-width:.75rem}.maxw-2{max-width:1rem}.maxw-205{max-width:1.25rem}.maxw-3{max-width:1.5rem}.maxw-4{max-width:2rem}.maxw-5{max-width:2.5rem}.maxw-6{max-width:3rem}.maxw-7{max-width:3.5rem}.maxw-8{max-width:4rem}.maxw-9{max-width:4.5rem}.maxw-10{max-width:5rem}.maxw-15{max-width:7.5rem}.maxw-card{max-width:10rem}.maxw-card-lg{max-width:15rem}.maxw-mobile{max-width:20rem}.maxw-mobile-lg{max-width:30rem}.maxw-tablet{max-width:40rem}.maxw-tablet-lg{max-width:55rem}.maxw-desktop{max-width:64rem}.maxw-desktop-lg{max-width:75rem}.maxw-widescreen{max-width:87.5rem}.maxw-none{max-width:none}.maxw-full{max-width:100%}.measure-1{max-width:44ex}.measure-2{max-width:60ex}.measure-3{max-width:64ex}.measure-4{max-width:68ex}.measure-5{max-width:72ex}.measure-6{max-width:88ex}.measure-none{max-width:none}.minh-1px{min-height:1px}.minh-2px{min-height:2px}.minh-05{min-height:.25rem}.minh-1{min-height:.5rem}.minh-105{min-height:.75rem}.minh-2{min-height:1rem}.minh-205{min-height:1.25rem}.minh-3{min-height:1.5rem}.minh-4{min-height:2rem}.minh-5{min-height:2.5rem}.minh-6{min-height:3rem}.minh-7{min-height:3.5rem}.minh-8{min-height:4rem}.minh-9{min-height:4.5rem}.minh-10{min-height:5rem}.minh-15{min-height:7.5rem}.minh-card{min-height:10rem}.minh-card-lg{min-height:15rem}.minh-mobile{min-height:20rem}.minh-mobile-lg{min-height:30rem}.minh-tablet{min-height:40rem}.minh-tablet-lg{min-height:55rem}.minh-0{min-height:0}.minh-full{min-height:100%}.minh-viewport{min-height:100vh}.minw-05{min-width:.25rem}.minw-1{min-width:.5rem}.minw-105{min-width:.75rem}.minw-2{min-width:1rem}.minw-205{min-width:1.25rem}.minw-3{min-width:1.5rem}.minw-4{min-width:2rem}.minw-5{min-width:2.5rem}.minw-6{min-width:3rem}.minw-7{min-width:3.5rem}.minw-8{min-width:4rem}.minw-9{min-width:4.5rem}.minw-10{min-width:5rem}.minw-15{min-width:7.5rem}.minw-0{min-width:0}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-100{opacity:1}.order-first{order:-1}.order-last{order:999}.order-initial{order:initial}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.outline-1px{outline:1px solid}.outline-2px{outline:2px solid}.outline-0{outline:0 solid}.outline-05{outline:.25rem solid}.outline-transparent{outline-color:transparent}.outline-black{outline-color:#000}.outline-white{outline-color:#fff}.outline-red{outline-color:#e52207}.outline-orange{outline-color:#e66f0e}.outline-gold{outline-color:#ffbe2e}.outline-yellow{outline-color:#fee685}.outline-green{outline-color:#538200}.outline-mint{outline-color:#04c585}.outline-cyan{outline-color:#009ec1}.outline-blue{outline-color:#0076d6}.outline-indigo{outline-color:#676cc8}.outline-violet{outline-color:#8168b3}.outline-magenta{outline-color:#d72d79}.outline-gray-5{outline-color:#f0f0f0}.outline-gray-10{outline-color:#e6e6e6}.outline-gray-30{outline-color:#adadad}.outline-gray-50{outline-color:#757575}.outline-gray-70{outline-color:#454545}.outline-gray-90{outline-color:#1b1b1b}.outline-base-lightest{outline-color:#f0f0f0}.outline-base-lighter{outline-color:#dfe1e2}.outline-base-light{outline-color:#a9aeb1}.outline-base{outline-color:#71767a}.outline-base-dark{outline-color:#565c65}.outline-base-darker{outline-color:#3d4551}.outline-base-darkest,.outline-ink{outline-color:#1b1b1b}.outline-primary-lighter{outline-color:#d9e8f6}.outline-primary-light{outline-color:#73b3e7}.outline-primary{outline-color:#005ea2}.outline-primary-vivid{outline-color:#0050d8}.outline-primary-dark{outline-color:#1a4480}.outline-primary-darker{outline-color:#162e51}.outline-secondary-lighter{outline-color:#f3e1e4}.outline-secondary-light{outline-color:#f2938c}.outline-secondary{outline-color:#d83933}.outline-secondary-vivid{outline-color:#e41d3d}.outline-secondary-dark{outline-color:#b50909}.outline-secondary-darker{outline-color:#8b0a03}.outline-accent-warm-darker{outline-color:#775540}.outline-accent-warm-dark{outline-color:#c05600}.outline-accent-warm{outline-color:#fa9441}.outline-accent-warm-light{outline-color:#ffbc78}.outline-accent-warm-lighter{outline-color:#f2e4d4}.outline-accent-cool-darker{outline-color:#07648d}.outline-accent-cool-dark{outline-color:#28a0cb}.outline-accent-cool{outline-color:#00bde3}.outline-accent-cool-light{outline-color:#97d4ea}.outline-accent-cool-lighter{outline-color:#e1f3f8}.outline-error-lighter{outline-color:#f4e3db}.outline-error-light{outline-color:#f39268}.outline-error{outline-color:#d54309}.outline-error-dark{outline-color:#b50909}.outline-error-darker{outline-color:#6f3331}.outline-warning-lighter{outline-color:#faf3d1}.outline-warning-light{outline-color:#fee685}.outline-warning{outline-color:#ffbe2e}.outline-warning-dark{outline-color:#e5a000}.outline-warning-darker{outline-color:#936f38}.outline-success-lighter{outline-color:#ecf3ec}.outline-success-light{outline-color:#70e17b}.outline-success{outline-color:#00a91c}.outline-success-dark{outline-color:#008817}.outline-success-darker{outline-color:#216e1f}.outline-info-lighter{outline-color:#e7f6f8}.outline-info-light{outline-color:#99deea}.outline-info{outline-color:#00bde3}.outline-info-dark{outline-color:#009ec1}.outline-info-darker{outline-color:#2e6276}.outline-disabled-lighter{outline-color:#c9c9c9}.outline-disabled-light{outline-color:#919191}.outline-disabled{outline-color:#757575}.outline-disabled-dark{outline-color:#454545}.outline-disabled-darker{outline-color:#1b1b1b}.outline-emergency{outline-color:#9c3d10}.outline-emergency-dark{outline-color:#332d29}.overflow-hidden{overflow:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-scroll{overflow:scroll}.overflow-y-scroll{overflow-y:scroll}.overflow-x-scroll{overflow-x:scroll}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-auto{overflow-x:auto}.overflow-visible{overflow:visible}.overflow-y-visible{overflow-y:visible}.overflow-x-visible{overflow-x:visible}.padding-1px{padding:1px}.padding-y-1px{padding-top:1px;padding-bottom:1px}.padding-x-1px{padding-left:1px;padding-right:1px}.padding-top-1px{padding-top:1px}.padding-right-1px{padding-right:1px}.padding-bottom-1px{padding-bottom:1px}.padding-left-1px{padding-left:1px}.padding-2px{padding:2px}.padding-y-2px{padding-top:2px;padding-bottom:2px}.padding-x-2px{padding-left:2px;padding-right:2px}.padding-top-2px{padding-top:2px}.padding-right-2px{padding-right:2px}.padding-bottom-2px{padding-bottom:2px}.padding-left-2px{padding-left:2px}.padding-05{padding:.25rem}.padding-y-05{padding-top:.25rem;padding-bottom:.25rem}.padding-x-05{padding-left:.25rem;padding-right:.25rem}.padding-top-05{padding-top:.25rem}.padding-right-05{padding-right:.25rem}.padding-bottom-05{padding-bottom:.25rem}.padding-left-05{padding-left:.25rem}.padding-1{padding:.5rem}.padding-y-1{padding-top:.5rem;padding-bottom:.5rem}.padding-x-1{padding-left:.5rem;padding-right:.5rem}.padding-top-1{padding-top:.5rem}.padding-right-1{padding-right:.5rem}.padding-bottom-1{padding-bottom:.5rem}.padding-left-1{padding-left:.5rem}.padding-105{padding:.75rem}.padding-y-105{padding-top:.75rem;padding-bottom:.75rem}.padding-x-105{padding-left:.75rem;padding-right:.75rem}.padding-top-105{padding-top:.75rem}.padding-right-105{padding-right:.75rem}.padding-bottom-105{padding-bottom:.75rem}.padding-left-105{padding-left:.75rem}.padding-2{padding:1rem}.padding-y-2{padding-top:1rem;padding-bottom:1rem}.padding-x-2{padding-left:1rem;padding-right:1rem}.padding-top-2{padding-top:1rem}.padding-right-2{padding-right:1rem}.padding-bottom-2{padding-bottom:1rem}.padding-left-2{padding-left:1rem}.padding-205{padding:1.25rem}.padding-y-205{padding-top:1.25rem;padding-bottom:1.25rem}.padding-x-205{padding-left:1.25rem;padding-right:1.25rem}.padding-top-205{padding-top:1.25rem}.padding-right-205{padding-right:1.25rem}.padding-bottom-205{padding-bottom:1.25rem}.padding-left-205{padding-left:1.25rem}.padding-3{padding:1.5rem}.padding-y-3{padding-top:1.5rem;padding-bottom:1.5rem}.padding-x-3{padding-left:1.5rem;padding-right:1.5rem}.padding-top-3{padding-top:1.5rem}.padding-right-3{padding-right:1.5rem}.padding-bottom-3{padding-bottom:1.5rem}.padding-left-3{padding-left:1.5rem}.padding-4{padding:2rem}.padding-y-4{padding-top:2rem;padding-bottom:2rem}.padding-x-4{padding-left:2rem;padding-right:2rem}.padding-top-4{padding-top:2rem}.padding-right-4{padding-right:2rem}.padding-bottom-4{padding-bottom:2rem}.padding-left-4{padding-left:2rem}.padding-5{padding:2.5rem}.padding-y-5{padding-top:2.5rem;padding-bottom:2.5rem}.padding-x-5{padding-left:2.5rem;padding-right:2.5rem}.padding-top-5{padding-top:2.5rem}.padding-right-5{padding-right:2.5rem}.padding-bottom-5{padding-bottom:2.5rem}.padding-left-5{padding-left:2.5rem}.padding-6{padding:3rem}.padding-y-6{padding-top:3rem;padding-bottom:3rem}.padding-x-6{padding-left:3rem;padding-right:3rem}.padding-top-6{padding-top:3rem}.padding-right-6{padding-right:3rem}.padding-bottom-6{padding-bottom:3rem}.padding-left-6{padding-left:3rem}.padding-7{padding:3.5rem}.padding-y-7{padding-top:3.5rem;padding-bottom:3.5rem}.padding-x-7{padding-left:3.5rem;padding-right:3.5rem}.padding-top-7{padding-top:3.5rem}.padding-right-7{padding-right:3.5rem}.padding-bottom-7{padding-bottom:3.5rem}.padding-left-7{padding-left:3.5rem}.padding-8{padding:4rem}.padding-y-8{padding-top:4rem;padding-bottom:4rem}.padding-x-8{padding-left:4rem;padding-right:4rem}.padding-top-8{padding-top:4rem}.padding-right-8{padding-right:4rem}.padding-bottom-8{padding-bottom:4rem}.padding-left-8{padding-left:4rem}.padding-9{padding:4.5rem}.padding-y-9{padding-top:4.5rem;padding-bottom:4.5rem}.padding-x-9{padding-left:4.5rem;padding-right:4.5rem}.padding-top-9{padding-top:4.5rem}.padding-right-9{padding-right:4.5rem}.padding-bottom-9{padding-bottom:4.5rem}.padding-left-9{padding-left:4.5rem}.padding-10{padding:5rem}.padding-y-10{padding-top:5rem;padding-bottom:5rem}.padding-x-10{padding-left:5rem;padding-right:5rem}.padding-top-10{padding-top:5rem}.padding-right-10{padding-right:5rem}.padding-bottom-10{padding-bottom:5rem}.padding-left-10{padding-left:5rem}.padding-15{padding:7.5rem}.padding-y-15{padding-top:7.5rem;padding-bottom:7.5rem}.padding-x-15{padding-left:7.5rem;padding-right:7.5rem}.padding-top-15{padding-top:7.5rem}.padding-right-15{padding-right:7.5rem}.padding-bottom-15{padding-bottom:7.5rem}.padding-left-15{padding-left:7.5rem}.padding-0{padding:0}.padding-y-0{padding-top:0;padding-bottom:0}.padding-x-0{padding-left:0;padding-right:0}.padding-top-0{padding-top:0}.padding-right-0{padding-right:0}.padding-bottom-0{padding-bottom:0}.padding-left-0{padding-left:0}.pin-all{bottom:0;top:0}.pin-all,.pin-x{left:0;right:0;position:absolute}.pin-y{top:0}.pin-bottom,.pin-y{bottom:0;position:absolute}.pin-left{left:0;position:absolute}.pin-right{right:0;position:absolute}.pin-top{top:0;position:absolute}.pin-none{bottom:auto;left:auto;right:auto;top:auto;position:static}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-relative{position:relative}.position-static{position:static}.position-sticky{position:sticky}.right-1px{right:1px}.right-2px{right:2px}.right-05{right:.25rem}.right-1{right:.5rem}.right-105{right:.75rem}.right-2{right:1rem}.right-205{right:1.25rem}.right-3{right:1.5rem}.right-neg-1px{right:-1px}.right-neg-2px{right:-2px}.right-neg-05{right:-.25rem}.right-neg-1{right:-.5rem}.right-neg-105{right:-.75rem}.right-neg-2{right:-1rem}.right-neg-205{right:-1.25rem}.right-neg-3{right:-1.5rem}.right-0{right:0}.right-auto{right:auto}.right-full{right:100%}.square-1px{height:1px;width:1px}.square-2px{height:2px;width:2px}.square-05{height:.25rem;width:.25rem}.square-1{height:.5rem;width:.5rem}.square-105{height:.75rem;width:.75rem}.square-2{height:1rem;width:1rem}.square-205{height:1.25rem;width:1.25rem}.square-3{height:1.5rem;width:1.5rem}.square-4{height:2rem;width:2rem}.square-5{height:2.5rem;width:2.5rem}.square-6{height:3rem;width:3rem}.square-7{height:3.5rem;width:3.5rem}.square-8{height:4rem;width:4rem}.square-9{height:4.5rem;width:4.5rem}.square-10{height:5rem;width:5rem}.square-15{height:7.5rem;width:7.5rem}.square-card{height:10rem;width:10rem}.square-card-lg{height:15rem;width:15rem}.square-mobile{height:20rem;width:20rem}.text-center{text-align:center}.text-left{text-align:left}.text-justify{text-align:justify}.text-right{text-align:right}.hover\:text-strike:hover,.text-strike{text-decoration:line-through}.hover\:text-underline:hover,.text-underline{text-decoration:underline}.hover\:text-no-strike:hover,.hover\:text-no-underline:hover,.text-no-strike,.text-no-underline{text-decoration:none}.hover\:underline-red:hover,.underline-red{text-decoration-color:#e52207}.hover\:underline-orange:hover,.underline-orange{text-decoration-color:#e66f0e}.hover\:underline-gold:hover,.underline-gold{text-decoration-color:#ffbe2e}.hover\:underline-yellow:hover,.underline-yellow{text-decoration-color:#fee685}.hover\:underline-green:hover,.underline-green{text-decoration-color:#538200}.hover\:underline-mint:hover,.underline-mint{text-decoration-color:#04c585}.hover\:underline-cyan:hover,.underline-cyan{text-decoration-color:#009ec1}.hover\:underline-blue:hover,.underline-blue{text-decoration-color:#0076d6}.hover\:underline-indigo:hover,.underline-indigo{text-decoration-color:#676cc8}.hover\:underline-violet:hover,.underline-violet{text-decoration-color:#8168b3}.hover\:underline-magenta:hover,.underline-magenta{text-decoration-color:#d72d79}.hover\:underline-gray-5:hover,.underline-gray-5{text-decoration-color:#f0f0f0}.hover\:underline-gray-10:hover,.underline-gray-10{text-decoration-color:#e6e6e6}.hover\:underline-gray-30:hover,.underline-gray-30{text-decoration-color:#adadad}.hover\:underline-gray-50:hover,.underline-gray-50{text-decoration-color:#757575}.hover\:underline-gray-70:hover,.underline-gray-70{text-decoration-color:#454545}.hover\:underline-gray-90:hover,.underline-gray-90{text-decoration-color:#1b1b1b}.hover\:underline-base-lightest:hover,.underline-base-lightest{text-decoration-color:#f0f0f0}.hover\:underline-base-lighter:hover,.underline-base-lighter{text-decoration-color:#dfe1e2}.hover\:underline-base-light:hover,.underline-base-light{text-decoration-color:#a9aeb1}.hover\:underline-base:hover,.underline-base{text-decoration-color:#71767a}.hover\:underline-base-dark:hover,.underline-base-dark{text-decoration-color:#565c65}.hover\:underline-base-darker:hover,.underline-base-darker{text-decoration-color:#3d4551}.hover\:underline-base-darkest:hover,.hover\:underline-ink:hover,.underline-base-darkest,.underline-ink{text-decoration-color:#1b1b1b}.hover\:underline-primary-lighter:hover,.underline-primary-lighter{text-decoration-color:#d9e8f6}.hover\:underline-primary-light:hover,.underline-primary-light{text-decoration-color:#73b3e7}.hover\:underline-primary:hover,.underline-primary{text-decoration-color:#005ea2}.hover\:underline-primary-vivid:hover,.underline-primary-vivid{text-decoration-color:#0050d8}.hover\:underline-primary-dark:hover,.underline-primary-dark{text-decoration-color:#1a4480}.hover\:underline-primary-darker:hover,.underline-primary-darker{text-decoration-color:#162e51}.hover\:underline-secondary-lighter:hover,.underline-secondary-lighter{text-decoration-color:#f3e1e4}.hover\:underline-secondary-light:hover,.underline-secondary-light{text-decoration-color:#f2938c}.hover\:underline-secondary:hover,.underline-secondary{text-decoration-color:#d83933}.hover\:underline-secondary-vivid:hover,.underline-secondary-vivid{text-decoration-color:#e41d3d}.hover\:underline-secondary-dark:hover,.underline-secondary-dark{text-decoration-color:#b50909}.hover\:underline-secondary-darker:hover,.underline-secondary-darker{text-decoration-color:#8b0a03}.hover\:underline-accent-warm-darker:hover,.underline-accent-warm-darker{text-decoration-color:#775540}.hover\:underline-accent-warm-dark:hover,.underline-accent-warm-dark{text-decoration-color:#c05600}.hover\:underline-accent-warm:hover,.underline-accent-warm{text-decoration-color:#fa9441}.hover\:underline-accent-warm-light:hover,.underline-accent-warm-light{text-decoration-color:#ffbc78}.hover\:underline-accent-warm-lighter:hover,.underline-accent-warm-lighter{text-decoration-color:#f2e4d4}.hover\:underline-accent-cool-darker:hover,.underline-accent-cool-darker{text-decoration-color:#07648d}.hover\:underline-accent-cool-dark:hover,.underline-accent-cool-dark{text-decoration-color:#28a0cb}.hover\:underline-accent-cool:hover,.underline-accent-cool{text-decoration-color:#00bde3}.hover\:underline-accent-cool-light:hover,.underline-accent-cool-light{text-decoration-color:#97d4ea}.hover\:underline-accent-cool-lighter:hover,.underline-accent-cool-lighter{text-decoration-color:#e1f3f8}.hover\:underline-error-lighter:hover,.underline-error-lighter{text-decoration-color:#f4e3db}.hover\:underline-error-light:hover,.underline-error-light{text-decoration-color:#f39268}.hover\:underline-error:hover,.underline-error{text-decoration-color:#d54309}.hover\:underline-error-dark:hover,.underline-error-dark{text-decoration-color:#b50909}.hover\:underline-error-darker:hover,.underline-error-darker{text-decoration-color:#6f3331}.hover\:underline-warning-lighter:hover,.underline-warning-lighter{text-decoration-color:#faf3d1}.hover\:underline-warning-light:hover,.underline-warning-light{text-decoration-color:#fee685}.hover\:underline-warning:hover,.underline-warning{text-decoration-color:#ffbe2e}.hover\:underline-warning-dark:hover,.underline-warning-dark{text-decoration-color:#e5a000}.hover\:underline-warning-darker:hover,.underline-warning-darker{text-decoration-color:#936f38}.hover\:underline-success-lighter:hover,.underline-success-lighter{text-decoration-color:#ecf3ec}.hover\:underline-success-light:hover,.underline-success-light{text-decoration-color:#70e17b}.hover\:underline-success:hover,.underline-success{text-decoration-color:#00a91c}.hover\:underline-success-dark:hover,.underline-success-dark{text-decoration-color:#008817}.hover\:underline-success-darker:hover,.underline-success-darker{text-decoration-color:#216e1f}.hover\:underline-info-lighter:hover,.underline-info-lighter{text-decoration-color:#e7f6f8}.hover\:underline-info-light:hover,.underline-info-light{text-decoration-color:#99deea}.hover\:underline-info:hover,.underline-info{text-decoration-color:#00bde3}.hover\:underline-info-dark:hover,.underline-info-dark{text-decoration-color:#009ec1}.hover\:underline-info-darker:hover,.underline-info-darker{text-decoration-color:#2e6276}.hover\:underline-disabled-lighter:hover,.underline-disabled-lighter{text-decoration-color:#c9c9c9}.hover\:underline-disabled-light:hover,.underline-disabled-light{text-decoration-color:#919191}.hover\:underline-disabled:hover,.underline-disabled{text-decoration-color:#757575}.hover\:underline-disabled-dark:hover,.underline-disabled-dark{text-decoration-color:#454545}.hover\:underline-disabled-darker:hover,.underline-disabled-darker{text-decoration-color:#1b1b1b}.hover\:underline-emergency:hover,.underline-emergency{text-decoration-color:#9c3d10}.hover\:underline-emergency-dark:hover,.underline-emergency-dark{text-decoration-color:#332d29}.text-indent-0{text-indent:0}.text-indent-05{text-indent:.25rem}.text-indent-1{text-indent:.5rem}.text-indent-105{text-indent:.75rem}.text-indent-2{text-indent:1rem}.text-indent-205{text-indent:1.25rem}.text-indent-3{text-indent:1.5rem}.text-indent-neg-05{text-indent:-.25rem}.text-indent-neg-1{text-indent:-.5rem}.text-indent-neg-105{text-indent:-.75rem}.text-indent-neg-2{text-indent:-1rem}.text-indent-neg-205{text-indent:-1.25rem}.text-indent-neg-3{text-indent:-1.5rem}.text-indent-4{text-indent:2rem}.text-indent-5{text-indent:2.5rem}.text-indent-6{text-indent:3rem}.text-indent-7{text-indent:3.5rem}.text-indent-8{text-indent:4rem}.text-indent-9{text-indent:4.5rem}.text-indent-10{text-indent:5rem}.text-indent-15{text-indent:7.5rem}.text-indent-neg-4{text-indent:-2rem}.text-indent-neg-5{text-indent:-2.5rem}.text-indent-neg-6{text-indent:-3rem}.text-indent-neg-7{text-indent:-3.5rem}.text-indent-neg-8{text-indent:-4rem}.text-indent-neg-9{text-indent:-4.5rem}.text-indent-neg-10{text-indent:-5rem}.text-indent-neg-15{text-indent:-7.5rem}.text-uppercase{text-transform:uppercase}.text-no-uppercase{text-transform:none}.text-lowercase{text-transform:lowercase}.text-no-lowercase{text-transform:none}.top-1px{top:1px}.top-2px{top:2px}.top-05{top:.25rem}.top-1{top:.5rem}.top-105{top:.75rem}.top-2{top:1rem}.top-205{top:1.25rem}.top-3{top:1.5rem}.top-neg-1px{top:-1px}.top-neg-2px{top:-2px}.top-neg-05{top:-.25rem}.top-neg-1{top:-.5rem}.top-neg-105{top:-.75rem}.top-neg-2{top:-1rem}.top-neg-205{top:-1.25rem}.top-neg-3{top:-1.5rem}.top-0{top:0}.top-auto{top:auto}.top-full{top:100%}.text-baseline{vertical-align:baseline}.text-bottom{vertical-align:bottom}.text-middle{vertical-align:middle}.text-sub{vertical-align:sub}.text-super{vertical-align:super}.text-tbottom{vertical-align:text-bottom}.text-ttop{vertical-align:text-top}.text-top{vertical-align:top}.text-pre{white-space:pre}.text-pre-line{white-space:pre-line}.text-pre-wrap{white-space:pre-wrap}.text-wrap{white-space:normal}.text-no-wrap{white-space:nowrap}.width-1px{width:1px}.width-2px{width:2px}.width-05{width:.25rem}.width-1{width:.5rem}.width-105{width:.75rem}.width-2{width:1rem}.width-205{width:1.25rem}.width-3{width:1.5rem}.width-4{width:2rem}.width-5{width:2.5rem}.width-6{width:3rem}.width-7{width:3.5rem}.width-8{width:4rem}.width-9{width:4.5rem}.width-10{width:5rem}.width-15{width:7.5rem}.width-card{width:10rem}.width-card-lg{width:15rem}.width-mobile{width:20rem}.width-mobile-lg{width:30rem}.width-tablet{width:40rem}.width-tablet-lg{width:55rem}.width-desktop{width:64rem}.width-desktop-lg{width:75rem}.width-widescreen{width:87.5rem}.width-0{width:0}.width-full{width:100%}.width-auto{width:auto}.z-auto{z-index:auto}.z-bottom{z-index:-100}.z-top{z-index:99999}.z-0{z-index:0}.z-100{z-index:100}.z-200{z-index:200}.z-300{z-index:300}.z-400{z-index:400}.z-500{z-index:500}@media all and (min-width:30em){.mobile-lg\:border-1px,.mobile-lg\:hover\:border-1px:hover{border:1px solid}.mobile-lg\:border-y-1px,.mobile-lg\:hover\:border-y-1px:hover{border-top:1px solid;border-bottom:1px solid}.mobile-lg\:border-x-1px,.mobile-lg\:hover\:border-x-1px:hover{border-left:1px solid;border-right:1px solid}.mobile-lg\:border-top-1px,.mobile-lg\:hover\:border-top-1px:hover{border-top:1px solid}.mobile-lg\:border-right-1px,.mobile-lg\:hover\:border-right-1px:hover{border-right:1px solid}.mobile-lg\:border-bottom-1px,.mobile-lg\:hover\:border-bottom-1px:hover{border-bottom:1px solid}.mobile-lg\:border-left-1px,.mobile-lg\:hover\:border-left-1px:hover{border-left:1px solid}.mobile-lg\:border-2px,.mobile-lg\:hover\:border-2px:hover{border:2px solid}.mobile-lg\:border-y-2px,.mobile-lg\:hover\:border-y-2px:hover{border-top:2px solid;border-bottom:2px solid}.mobile-lg\:border-x-2px,.mobile-lg\:hover\:border-x-2px:hover{border-left:2px solid;border-right:2px solid}.mobile-lg\:border-top-2px,.mobile-lg\:hover\:border-top-2px:hover{border-top:2px solid}.mobile-lg\:border-right-2px,.mobile-lg\:hover\:border-right-2px:hover{border-right:2px solid}.mobile-lg\:border-bottom-2px,.mobile-lg\:hover\:border-bottom-2px:hover{border-bottom:2px solid}.mobile-lg\:border-left-2px,.mobile-lg\:hover\:border-left-2px:hover{border-left:2px solid}.mobile-lg\:border-05,.mobile-lg\:hover\:border-05:hover{border:.25rem solid}.mobile-lg\:border-y-05,.mobile-lg\:hover\:border-y-05:hover{border-top:.25rem solid;border-bottom:.25rem solid}.mobile-lg\:border-x-05,.mobile-lg\:hover\:border-x-05:hover{border-left:.25rem solid;border-right:.25rem solid}.mobile-lg\:border-top-05,.mobile-lg\:hover\:border-top-05:hover{border-top:.25rem solid}.mobile-lg\:border-right-05,.mobile-lg\:hover\:border-right-05:hover{border-right:.25rem solid}.mobile-lg\:border-bottom-05,.mobile-lg\:hover\:border-bottom-05:hover{border-bottom:.25rem solid}.mobile-lg\:border-left-05,.mobile-lg\:hover\:border-left-05:hover{border-left:.25rem solid}.mobile-lg\:border-1,.mobile-lg\:hover\:border-1:hover{border:.5rem solid}.mobile-lg\:border-y-1,.mobile-lg\:hover\:border-y-1:hover{border-top:.5rem solid;border-bottom:.5rem solid}.mobile-lg\:border-x-1,.mobile-lg\:hover\:border-x-1:hover{border-left:.5rem solid;border-right:.5rem solid}.mobile-lg\:border-top-1,.mobile-lg\:hover\:border-top-1:hover{border-top:.5rem solid}.mobile-lg\:border-right-1,.mobile-lg\:hover\:border-right-1:hover{border-right:.5rem solid}.mobile-lg\:border-bottom-1,.mobile-lg\:hover\:border-bottom-1:hover{border-bottom:.5rem solid}.mobile-lg\:border-left-1,.mobile-lg\:hover\:border-left-1:hover{border-left:.5rem solid}.mobile-lg\:border-105,.mobile-lg\:hover\:border-105:hover{border:.75rem solid}.mobile-lg\:border-y-105,.mobile-lg\:hover\:border-y-105:hover{border-top:.75rem solid;border-bottom:.75rem solid}.mobile-lg\:border-x-105,.mobile-lg\:hover\:border-x-105:hover{border-left:.75rem solid;border-right:.75rem solid}.mobile-lg\:border-top-105,.mobile-lg\:hover\:border-top-105:hover{border-top:.75rem solid}.mobile-lg\:border-right-105,.mobile-lg\:hover\:border-right-105:hover{border-right:.75rem solid}.mobile-lg\:border-bottom-105,.mobile-lg\:hover\:border-bottom-105:hover{border-bottom:.75rem solid}.mobile-lg\:border-left-105,.mobile-lg\:hover\:border-left-105:hover{border-left:.75rem solid}.mobile-lg\:border-2,.mobile-lg\:hover\:border-2:hover{border:1rem solid}.mobile-lg\:border-y-2,.mobile-lg\:hover\:border-y-2:hover{border-top:1rem solid;border-bottom:1rem solid}.mobile-lg\:border-x-2,.mobile-lg\:hover\:border-x-2:hover{border-left:1rem solid;border-right:1rem solid}.mobile-lg\:border-top-2,.mobile-lg\:hover\:border-top-2:hover{border-top:1rem solid}.mobile-lg\:border-right-2,.mobile-lg\:hover\:border-right-2:hover{border-right:1rem solid}.mobile-lg\:border-bottom-2,.mobile-lg\:hover\:border-bottom-2:hover{border-bottom:1rem solid}.mobile-lg\:border-left-2,.mobile-lg\:hover\:border-left-2:hover{border-left:1rem solid}.mobile-lg\:border-205,.mobile-lg\:hover\:border-205:hover{border:1.25rem solid}.mobile-lg\:border-y-205,.mobile-lg\:hover\:border-y-205:hover{border-top:1.25rem solid;border-bottom:1.25rem solid}.mobile-lg\:border-x-205,.mobile-lg\:hover\:border-x-205:hover{border-left:1.25rem solid;border-right:1.25rem solid}.mobile-lg\:border-top-205,.mobile-lg\:hover\:border-top-205:hover{border-top:1.25rem solid}.mobile-lg\:border-right-205,.mobile-lg\:hover\:border-right-205:hover{border-right:1.25rem solid}.mobile-lg\:border-bottom-205,.mobile-lg\:hover\:border-bottom-205:hover{border-bottom:1.25rem solid}.mobile-lg\:border-left-205,.mobile-lg\:hover\:border-left-205:hover{border-left:1.25rem solid}.mobile-lg\:border-3,.mobile-lg\:hover\:border-3:hover{border:1.5rem solid}.mobile-lg\:border-y-3,.mobile-lg\:hover\:border-y-3:hover{border-top:1.5rem solid;border-bottom:1.5rem solid}.mobile-lg\:border-x-3,.mobile-lg\:hover\:border-x-3:hover{border-left:1.5rem solid;border-right:1.5rem solid}.mobile-lg\:border-top-3,.mobile-lg\:hover\:border-top-3:hover{border-top:1.5rem solid}.mobile-lg\:border-right-3,.mobile-lg\:hover\:border-right-3:hover{border-right:1.5rem solid}.mobile-lg\:border-bottom-3,.mobile-lg\:hover\:border-bottom-3:hover{border-bottom:1.5rem solid}.mobile-lg\:border-left-3,.mobile-lg\:hover\:border-left-3:hover{border-left:1.5rem solid}.mobile-lg\:border-0,.mobile-lg\:hover\:border-0:hover{border:0 solid}.mobile-lg\:border-y-0,.mobile-lg\:hover\:border-y-0:hover{border-top:0 solid;border-bottom:0 solid}.mobile-lg\:border-x-0,.mobile-lg\:hover\:border-x-0:hover{border-left:0 solid;border-right:0 solid}.mobile-lg\:border-top-0,.mobile-lg\:hover\:border-top-0:hover{border-top:0 solid}.mobile-lg\:border-right-0,.mobile-lg\:hover\:border-right-0:hover{border-right:0 solid}.mobile-lg\:border-bottom-0,.mobile-lg\:hover\:border-bottom-0:hover{border-bottom:0 solid}.mobile-lg\:border-left-0,.mobile-lg\:hover\:border-left-0:hover{border-left:0 solid}.mobile-lg\:border,.mobile-lg\:hover\:border:hover{border:1px solid}.mobile-lg\:border-y,.mobile-lg\:hover\:border-y:hover{border-top:1px solid;border-bottom:1px solid}.mobile-lg\:border-x,.mobile-lg\:hover\:border-x:hover{border-left:1px solid;border-right:1px solid}.mobile-lg\:border-top,.mobile-lg\:hover\:border-top:hover{border-top:1px solid}.mobile-lg\:border-right,.mobile-lg\:hover\:border-right:hover{border-right:1px solid}.mobile-lg\:border-bottom,.mobile-lg\:hover\:border-bottom:hover{border-bottom:1px solid}.mobile-lg\:border-left,.mobile-lg\:hover\:border-left:hover{border-left:1px solid}.mobile-lg\:border-transparent,.mobile-lg\:hover\:border-transparent:hover{border-color:transparent}.mobile-lg\:border-black,.mobile-lg\:hover\:border-black:hover{border-color:#000}.mobile-lg\:border-white,.mobile-lg\:hover\:border-white:hover{border-color:#fff}.mobile-lg\:border-red,.mobile-lg\:hover\:border-red:hover{border-color:#e52207}.mobile-lg\:border-orange,.mobile-lg\:hover\:border-orange:hover{border-color:#e66f0e}.mobile-lg\:border-gold,.mobile-lg\:hover\:border-gold:hover{border-color:#ffbe2e}.mobile-lg\:border-yellow,.mobile-lg\:hover\:border-yellow:hover{border-color:#fee685}.mobile-lg\:border-green,.mobile-lg\:hover\:border-green:hover{border-color:#538200}.mobile-lg\:border-mint,.mobile-lg\:hover\:border-mint:hover{border-color:#04c585}.mobile-lg\:border-cyan,.mobile-lg\:hover\:border-cyan:hover{border-color:#009ec1}.mobile-lg\:border-blue,.mobile-lg\:hover\:border-blue:hover{border-color:#0076d6}.mobile-lg\:border-indigo,.mobile-lg\:hover\:border-indigo:hover{border-color:#676cc8}.mobile-lg\:border-violet,.mobile-lg\:hover\:border-violet:hover{border-color:#8168b3}.mobile-lg\:border-magenta,.mobile-lg\:hover\:border-magenta:hover{border-color:#d72d79}.mobile-lg\:border-gray-5,.mobile-lg\:hover\:border-gray-5:hover{border-color:#f0f0f0}.mobile-lg\:border-gray-10,.mobile-lg\:hover\:border-gray-10:hover{border-color:#e6e6e6}.mobile-lg\:border-gray-30,.mobile-lg\:hover\:border-gray-30:hover{border-color:#adadad}.mobile-lg\:border-gray-50,.mobile-lg\:hover\:border-gray-50:hover{border-color:#757575}.mobile-lg\:border-gray-70,.mobile-lg\:hover\:border-gray-70:hover{border-color:#454545}.mobile-lg\:border-gray-90,.mobile-lg\:hover\:border-gray-90:hover{border-color:#1b1b1b}.mobile-lg\:border-base-lightest,.mobile-lg\:hover\:border-base-lightest:hover{border-color:#f0f0f0}.mobile-lg\:border-base-lighter,.mobile-lg\:hover\:border-base-lighter:hover{border-color:#dfe1e2}.mobile-lg\:border-base-light,.mobile-lg\:hover\:border-base-light:hover{border-color:#a9aeb1}.mobile-lg\:border-base,.mobile-lg\:hover\:border-base:hover{border-color:#71767a}.mobile-lg\:border-base-dark,.mobile-lg\:hover\:border-base-dark:hover{border-color:#565c65}.mobile-lg\:border-base-darker,.mobile-lg\:hover\:border-base-darker:hover{border-color:#3d4551}.mobile-lg\:border-base-darkest,.mobile-lg\:border-ink,.mobile-lg\:hover\:border-base-darkest:hover,.mobile-lg\:hover\:border-ink:hover{border-color:#1b1b1b}.mobile-lg\:border-primary-lighter,.mobile-lg\:hover\:border-primary-lighter:hover{border-color:#d9e8f6}.mobile-lg\:border-primary-light,.mobile-lg\:hover\:border-primary-light:hover{border-color:#73b3e7}.mobile-lg\:border-primary,.mobile-lg\:hover\:border-primary:hover{border-color:#005ea2}.mobile-lg\:border-primary-vivid,.mobile-lg\:hover\:border-primary-vivid:hover{border-color:#0050d8}.mobile-lg\:border-primary-dark,.mobile-lg\:hover\:border-primary-dark:hover{border-color:#1a4480}.mobile-lg\:border-primary-darker,.mobile-lg\:hover\:border-primary-darker:hover{border-color:#162e51}.mobile-lg\:border-secondary-lighter,.mobile-lg\:hover\:border-secondary-lighter:hover{border-color:#f3e1e4}.mobile-lg\:border-secondary-light,.mobile-lg\:hover\:border-secondary-light:hover{border-color:#f2938c}.mobile-lg\:border-secondary,.mobile-lg\:hover\:border-secondary:hover{border-color:#d83933}.mobile-lg\:border-secondary-vivid,.mobile-lg\:hover\:border-secondary-vivid:hover{border-color:#e41d3d}.mobile-lg\:border-secondary-dark,.mobile-lg\:hover\:border-secondary-dark:hover{border-color:#b50909}.mobile-lg\:border-secondary-darker,.mobile-lg\:hover\:border-secondary-darker:hover{border-color:#8b0a03}.mobile-lg\:border-accent-warm-darker,.mobile-lg\:hover\:border-accent-warm-darker:hover{border-color:#775540}.mobile-lg\:border-accent-warm-dark,.mobile-lg\:hover\:border-accent-warm-dark:hover{border-color:#c05600}.mobile-lg\:border-accent-warm,.mobile-lg\:hover\:border-accent-warm:hover{border-color:#fa9441}.mobile-lg\:border-accent-warm-light,.mobile-lg\:hover\:border-accent-warm-light:hover{border-color:#ffbc78}.mobile-lg\:border-accent-warm-lighter,.mobile-lg\:hover\:border-accent-warm-lighter:hover{border-color:#f2e4d4}.mobile-lg\:border-accent-cool-darker,.mobile-lg\:hover\:border-accent-cool-darker:hover{border-color:#07648d}.mobile-lg\:border-accent-cool-dark,.mobile-lg\:hover\:border-accent-cool-dark:hover{border-color:#28a0cb}.mobile-lg\:border-accent-cool,.mobile-lg\:hover\:border-accent-cool:hover{border-color:#00bde3}.mobile-lg\:border-accent-cool-light,.mobile-lg\:hover\:border-accent-cool-light:hover{border-color:#97d4ea}.mobile-lg\:border-accent-cool-lighter,.mobile-lg\:hover\:border-accent-cool-lighter:hover{border-color:#e1f3f8}.mobile-lg\:border-error-lighter,.mobile-lg\:hover\:border-error-lighter:hover{border-color:#f4e3db}.mobile-lg\:border-error-light,.mobile-lg\:hover\:border-error-light:hover{border-color:#f39268}.mobile-lg\:border-error,.mobile-lg\:hover\:border-error:hover{border-color:#d54309}.mobile-lg\:border-error-dark,.mobile-lg\:hover\:border-error-dark:hover{border-color:#b50909}.mobile-lg\:border-error-darker,.mobile-lg\:hover\:border-error-darker:hover{border-color:#6f3331}.mobile-lg\:border-warning-lighter,.mobile-lg\:hover\:border-warning-lighter:hover{border-color:#faf3d1}.mobile-lg\:border-warning-light,.mobile-lg\:hover\:border-warning-light:hover{border-color:#fee685}.mobile-lg\:border-warning,.mobile-lg\:hover\:border-warning:hover{border-color:#ffbe2e}.mobile-lg\:border-warning-dark,.mobile-lg\:hover\:border-warning-dark:hover{border-color:#e5a000}.mobile-lg\:border-warning-darker,.mobile-lg\:hover\:border-warning-darker:hover{border-color:#936f38}.mobile-lg\:border-success-lighter,.mobile-lg\:hover\:border-success-lighter:hover{border-color:#ecf3ec}.mobile-lg\:border-success-light,.mobile-lg\:hover\:border-success-light:hover{border-color:#70e17b}.mobile-lg\:border-success,.mobile-lg\:hover\:border-success:hover{border-color:#00a91c}.mobile-lg\:border-success-dark,.mobile-lg\:hover\:border-success-dark:hover{border-color:#008817}.mobile-lg\:border-success-darker,.mobile-lg\:hover\:border-success-darker:hover{border-color:#216e1f}.mobile-lg\:border-info-lighter,.mobile-lg\:hover\:border-info-lighter:hover{border-color:#e7f6f8}.mobile-lg\:border-info-light,.mobile-lg\:hover\:border-info-light:hover{border-color:#99deea}.mobile-lg\:border-info,.mobile-lg\:hover\:border-info:hover{border-color:#00bde3}.mobile-lg\:border-info-dark,.mobile-lg\:hover\:border-info-dark:hover{border-color:#009ec1}.mobile-lg\:border-info-darker,.mobile-lg\:hover\:border-info-darker:hover{border-color:#2e6276}.mobile-lg\:border-disabled-lighter,.mobile-lg\:hover\:border-disabled-lighter:hover{border-color:#c9c9c9}.mobile-lg\:border-disabled-light,.mobile-lg\:hover\:border-disabled-light:hover{border-color:#919191}.mobile-lg\:border-disabled,.mobile-lg\:hover\:border-disabled:hover{border-color:#757575}.mobile-lg\:border-disabled-dark,.mobile-lg\:hover\:border-disabled-dark:hover{border-color:#454545}.mobile-lg\:border-disabled-darker,.mobile-lg\:hover\:border-disabled-darker:hover{border-color:#1b1b1b}.mobile-lg\:border-emergency,.mobile-lg\:hover\:border-emergency:hover{border-color:#9c3d10}.mobile-lg\:border-emergency-dark,.mobile-lg\:hover\:border-emergency-dark:hover{border-color:#332d29}.mobile-lg\:radius-0{border-radius:0}.mobile-lg\:radius-top-0{border-top-left-radius:0;border-top-right-radius:0}.mobile-lg\:radius-right-0{border-top-right-radius:0;border-bottom-right-radius:0}.mobile-lg\:radius-bottom-0{border-bottom-left-radius:0;border-bottom-right-radius:0}.mobile-lg\:radius-left-0{border-top-left-radius:0;border-bottom-left-radius:0}.mobile-lg\:radius-sm{border-radius:2px}.mobile-lg\:radius-top-sm{border-top-left-radius:2px;border-top-right-radius:2px}.mobile-lg\:radius-right-sm{border-top-right-radius:2px;border-bottom-right-radius:2px}.mobile-lg\:radius-bottom-sm{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.mobile-lg\:radius-left-sm{border-top-left-radius:2px;border-bottom-left-radius:2px}.mobile-lg\:radius-md{border-radius:.25rem}.mobile-lg\:radius-top-md{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.mobile-lg\:radius-right-md{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.mobile-lg\:radius-bottom-md{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.mobile-lg\:radius-left-md{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.mobile-lg\:radius-lg{border-radius:.5rem}.mobile-lg\:radius-top-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.mobile-lg\:radius-right-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.mobile-lg\:radius-bottom-lg{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.mobile-lg\:radius-left-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.mobile-lg\:radius-pill{border-radius:99rem}.mobile-lg\:radius-top-pill{border-top-left-radius:99rem;border-top-right-radius:99rem}.mobile-lg\:radius-right-pill{border-top-right-radius:99rem;border-bottom-right-radius:99rem}.mobile-lg\:radius-bottom-pill{border-bottom-left-radius:99rem;border-bottom-right-radius:99rem}.mobile-lg\:radius-left-pill{border-top-left-radius:99rem;border-bottom-left-radius:99rem}.mobile-lg\:display-block{display:block}.mobile-lg\:display-flex{display:flex}.mobile-lg\:display-none{display:none}.mobile-lg\:display-inline{display:inline}.mobile-lg\:display-inline-block{display:inline-block}.mobile-lg\:display-inline-flex{display:inline-flex}.mobile-lg\:display-table{display:table}.mobile-lg\:display-table-cell{display:table-cell}.mobile-lg\:display-table-row{display:table-row}.mobile-lg\:font-mono-3xs{font-size:.77rem}.mobile-lg\:font-mono-2xs{font-size:.83rem}.mobile-lg\:font-mono-xs{font-size:.89rem}.mobile-lg\:font-mono-sm{font-size:.95rem}.mobile-lg\:font-mono-md{font-size:1.01rem}.mobile-lg\:font-mono-lg{font-size:1.31rem}.mobile-lg\:font-mono-xl{font-size:1.91rem}.mobile-lg\:font-mono-2xl{font-size:2.38rem}.mobile-lg\:font-mono-3xl{font-size:2.86rem}.mobile-lg\:font-sans-3xs{font-size:.87rem}.mobile-lg\:font-sans-2xs{font-size:.93rem}.mobile-lg\:font-sans-xs{font-size:1rem}.mobile-lg\:font-sans-sm{font-size:1.06rem}.mobile-lg\:font-sans-md{font-size:1.13rem}.mobile-lg\:font-sans-lg{font-size:1.46rem}.mobile-lg\:font-sans-xl{font-size:2.13rem}.mobile-lg\:font-sans-2xl{font-size:2.66rem}.mobile-lg\:font-sans-3xl{font-size:3.19rem}.mobile-lg\:font-serif-3xs{font-size:.79rem}.mobile-lg\:font-serif-2xs{font-size:.85rem}.mobile-lg\:font-serif-xs{font-size:.91rem}.mobile-lg\:font-serif-sm{font-size:.98rem}.mobile-lg\:font-serif-md{font-size:1.04rem}.mobile-lg\:font-serif-lg{font-size:1.34rem}.mobile-lg\:font-serif-xl{font-size:1.95rem}.mobile-lg\:font-serif-2xl{font-size:2.44rem}.mobile-lg\:font-serif-3xl{font-size:2.93rem}.mobile-lg\:font-heading-3xs{font-size:.79rem}.mobile-lg\:font-heading-2xs{font-size:.85rem}.mobile-lg\:font-heading-xs{font-size:.91rem}.mobile-lg\:font-heading-sm{font-size:.98rem}.mobile-lg\:font-heading-md{font-size:1.04rem}.mobile-lg\:font-heading-lg{font-size:1.34rem}.mobile-lg\:font-heading-xl{font-size:1.95rem}.mobile-lg\:font-heading-2xl{font-size:2.44rem}.mobile-lg\:font-heading-3xl{font-size:2.93rem}.mobile-lg\:font-body-3xs{font-size:.87rem}.mobile-lg\:font-body-2xs{font-size:.93rem}.mobile-lg\:font-body-xs{font-size:1rem}.mobile-lg\:font-body-sm{font-size:1.06rem}.mobile-lg\:font-body-md{font-size:1.13rem}.mobile-lg\:font-body-lg{font-size:1.46rem}.mobile-lg\:font-body-xl{font-size:2.13rem}.mobile-lg\:font-body-2xl{font-size:2.66rem}.mobile-lg\:font-body-3xl{font-size:3.19rem}.mobile-lg\:font-code-3xs{font-size:.77rem}.mobile-lg\:font-code-2xs{font-size:.83rem}.mobile-lg\:font-code-xs{font-size:.89rem}.mobile-lg\:font-code-sm{font-size:.95rem}.mobile-lg\:font-code-md{font-size:1.01rem}.mobile-lg\:font-code-lg{font-size:1.31rem}.mobile-lg\:font-code-xl{font-size:1.91rem}.mobile-lg\:font-code-2xl{font-size:2.38rem}.mobile-lg\:font-code-3xl{font-size:2.86rem}.mobile-lg\:font-alt-3xs{font-size:.79rem}.mobile-lg\:font-alt-2xs{font-size:.85rem}.mobile-lg\:font-alt-xs{font-size:.91rem}.mobile-lg\:font-alt-sm{font-size:.98rem}.mobile-lg\:font-alt-md{font-size:1.04rem}.mobile-lg\:font-alt-lg{font-size:1.34rem}.mobile-lg\:font-alt-xl{font-size:1.95rem}.mobile-lg\:font-alt-2xl{font-size:2.44rem}.mobile-lg\:font-alt-3xl{font-size:2.93rem}.mobile-lg\:font-ui-3xs{font-size:.87rem}.mobile-lg\:font-ui-2xs{font-size:.93rem}.mobile-lg\:font-ui-xs{font-size:1rem}.mobile-lg\:font-ui-sm{font-size:1.06rem}.mobile-lg\:font-ui-md{font-size:1.13rem}.mobile-lg\:font-ui-lg{font-size:1.46rem}.mobile-lg\:font-ui-xl{font-size:2.13rem}.mobile-lg\:font-ui-2xl{font-size:2.66rem}.mobile-lg\:font-ui-3xl{font-size:3.19rem}.mobile-lg\:text-light{font-weight:300}.mobile-lg\:text-normal{font-weight:400}.mobile-lg\:text-bold{font-weight:700}.mobile-lg\:flex-justify-center{justify-content:center}.mobile-lg\:flex-justify-start{justify-content:flex-start}.mobile-lg\:flex-justify-end{justify-content:flex-end}.mobile-lg\:flex-justify{justify-content:space-between}.mobile-lg\:line-height-sans-1{line-height:.9}.mobile-lg\:line-height-sans-2{line-height:1.1}.mobile-lg\:line-height-sans-3{line-height:1.3}.mobile-lg\:line-height-sans-4{line-height:1.4}.mobile-lg\:line-height-sans-5{line-height:1.5}.mobile-lg\:line-height-sans-6{line-height:1.6}.mobile-lg\:line-height-serif-1{line-height:1}.mobile-lg\:line-height-serif-2{line-height:1.2}.mobile-lg\:line-height-serif-3{line-height:1.4}.mobile-lg\:line-height-serif-4{line-height:1.5}.mobile-lg\:line-height-serif-5{line-height:1.7}.mobile-lg\:line-height-serif-6{line-height:1.8}.mobile-lg\:line-height-mono-1{line-height:1}.mobile-lg\:line-height-mono-2{line-height:1.3}.mobile-lg\:line-height-mono-3{line-height:1.4}.mobile-lg\:line-height-mono-4{line-height:1.6}.mobile-lg\:line-height-mono-5{line-height:1.7}.mobile-lg\:line-height-mono-6{line-height:1.8}.mobile-lg\:line-height-heading-1{line-height:1}.mobile-lg\:line-height-heading-2{line-height:1.2}.mobile-lg\:line-height-heading-3{line-height:1.4}.mobile-lg\:line-height-heading-4{line-height:1.5}.mobile-lg\:line-height-heading-5{line-height:1.7}.mobile-lg\:line-height-heading-6{line-height:1.8}.mobile-lg\:line-height-ui-1{line-height:.9}.mobile-lg\:line-height-ui-2{line-height:1.1}.mobile-lg\:line-height-ui-3{line-height:1.3}.mobile-lg\:line-height-ui-4{line-height:1.4}.mobile-lg\:line-height-ui-5{line-height:1.5}.mobile-lg\:line-height-ui-6{line-height:1.6}.mobile-lg\:line-height-body-1{line-height:.9}.mobile-lg\:line-height-body-2{line-height:1.1}.mobile-lg\:line-height-body-3{line-height:1.3}.mobile-lg\:line-height-body-4{line-height:1.4}.mobile-lg\:line-height-body-5{line-height:1.5}.mobile-lg\:line-height-body-6{line-height:1.6}.mobile-lg\:line-height-code-1{line-height:1}.mobile-lg\:line-height-code-2{line-height:1.3}.mobile-lg\:line-height-code-3{line-height:1.4}.mobile-lg\:line-height-code-4{line-height:1.6}.mobile-lg\:line-height-code-5{line-height:1.7}.mobile-lg\:line-height-code-6{line-height:1.8}.mobile-lg\:line-height-alt-1{line-height:1}.mobile-lg\:line-height-alt-2{line-height:1.2}.mobile-lg\:line-height-alt-3{line-height:1.4}.mobile-lg\:line-height-alt-4{line-height:1.5}.mobile-lg\:line-height-alt-5{line-height:1.7}.mobile-lg\:line-height-alt-6{line-height:1.8}.mobile-lg\:margin-neg-1px{margin:-1px}.mobile-lg\:margin-neg-2px{margin:-2px}.mobile-lg\:margin-neg-05{margin:-.25rem}.mobile-lg\:margin-neg-1{margin:-.5rem}.mobile-lg\:margin-neg-105{margin:-.75rem}.mobile-lg\:margin-neg-2{margin:-1rem}.mobile-lg\:margin-neg-205{margin:-1.25rem}.mobile-lg\:margin-neg-3{margin:-1.5rem}.mobile-lg\:margin-1px{margin:1px}.mobile-lg\:margin-2px{margin:2px}.mobile-lg\:margin-05{margin:.25rem}.mobile-lg\:margin-1{margin:.5rem}.mobile-lg\:margin-105{margin:.75rem}.mobile-lg\:margin-2{margin:1rem}.mobile-lg\:margin-205{margin:1.25rem}.mobile-lg\:margin-3{margin:1.5rem}.mobile-lg\:margin-neg-4{margin:-2rem}.mobile-lg\:margin-neg-5{margin:-2.5rem}.mobile-lg\:margin-neg-6{margin:-3rem}.mobile-lg\:margin-neg-7{margin:-3.5rem}.mobile-lg\:margin-neg-8{margin:-4rem}.mobile-lg\:margin-neg-9{margin:-4.5rem}.mobile-lg\:margin-neg-10{margin:-5rem}.mobile-lg\:margin-neg-15{margin:-7.5rem}.mobile-lg\:margin-4{margin:2rem}.mobile-lg\:margin-5{margin:2.5rem}.mobile-lg\:margin-6{margin:3rem}.mobile-lg\:margin-7{margin:3.5rem}.mobile-lg\:margin-8{margin:4rem}.mobile-lg\:margin-9{margin:4.5rem}.mobile-lg\:margin-10{margin:5rem}.mobile-lg\:margin-15{margin:7.5rem}.mobile-lg\:margin-05em{margin:.5em}.mobile-lg\:margin-1em{margin:1em}.mobile-lg\:margin-105em{margin:1.5em}.mobile-lg\:margin-2em{margin:2em}.mobile-lg\:margin-0{margin:0}.mobile-lg\:margin-y-1px{margin-top:1px;margin-bottom:1px}.mobile-lg\:margin-top-1px{margin-top:1px}.mobile-lg\:margin-bottom-1px{margin-bottom:1px}.mobile-lg\:margin-y-2px{margin-top:2px;margin-bottom:2px}.mobile-lg\:margin-top-2px{margin-top:2px}.mobile-lg\:margin-bottom-2px{margin-bottom:2px}.mobile-lg\:margin-y-05{margin-top:.25rem;margin-bottom:.25rem}.mobile-lg\:margin-top-05{margin-top:.25rem}.mobile-lg\:margin-bottom-05{margin-bottom:.25rem}.mobile-lg\:margin-y-1{margin-top:.5rem;margin-bottom:.5rem}.mobile-lg\:margin-top-1{margin-top:.5rem}.mobile-lg\:margin-bottom-1{margin-bottom:.5rem}.mobile-lg\:margin-y-105{margin-top:.75rem;margin-bottom:.75rem}.mobile-lg\:margin-top-105{margin-top:.75rem}.mobile-lg\:margin-bottom-105{margin-bottom:.75rem}.mobile-lg\:margin-y-2{margin-top:1rem;margin-bottom:1rem}.mobile-lg\:margin-top-2{margin-top:1rem}.mobile-lg\:margin-bottom-2{margin-bottom:1rem}.mobile-lg\:margin-y-205{margin-top:1.25rem;margin-bottom:1.25rem}.mobile-lg\:margin-top-205{margin-top:1.25rem}.mobile-lg\:margin-bottom-205{margin-bottom:1.25rem}.mobile-lg\:margin-y-3{margin-top:1.5rem;margin-bottom:1.5rem}.mobile-lg\:margin-top-3{margin-top:1.5rem}.mobile-lg\:margin-bottom-3{margin-bottom:1.5rem}.mobile-lg\:margin-y-neg-1px{margin-top:-1px;margin-bottom:-1px}.mobile-lg\:margin-top-neg-1px{margin-top:-1px}.mobile-lg\:margin-bottom-neg-1px{margin-bottom:-1px}.mobile-lg\:margin-y-neg-2px{margin-top:-2px;margin-bottom:-2px}.mobile-lg\:margin-top-neg-2px{margin-top:-2px}.mobile-lg\:margin-bottom-neg-2px{margin-bottom:-2px}.mobile-lg\:margin-y-neg-05{margin-top:-.25rem;margin-bottom:-.25rem}.mobile-lg\:margin-top-neg-05{margin-top:-.25rem}.mobile-lg\:margin-bottom-neg-05{margin-bottom:-.25rem}.mobile-lg\:margin-y-neg-1{margin-top:-.5rem;margin-bottom:-.5rem}.mobile-lg\:margin-top-neg-1{margin-top:-.5rem}.mobile-lg\:margin-bottom-neg-1{margin-bottom:-.5rem}.mobile-lg\:margin-y-neg-105{margin-top:-.75rem;margin-bottom:-.75rem}.mobile-lg\:margin-top-neg-105{margin-top:-.75rem}.mobile-lg\:margin-bottom-neg-105{margin-bottom:-.75rem}.mobile-lg\:margin-y-neg-2{margin-top:-1rem;margin-bottom:-1rem}.mobile-lg\:margin-top-neg-2{margin-top:-1rem}.mobile-lg\:margin-bottom-neg-2{margin-bottom:-1rem}.mobile-lg\:margin-y-neg-205{margin-top:-1.25rem;margin-bottom:-1.25rem}.mobile-lg\:margin-top-neg-205{margin-top:-1.25rem}.mobile-lg\:margin-bottom-neg-205{margin-bottom:-1.25rem}.mobile-lg\:margin-y-neg-3{margin-top:-1.5rem;margin-bottom:-1.5rem}.mobile-lg\:margin-top-neg-3{margin-top:-1.5rem}.mobile-lg\:margin-bottom-neg-3{margin-bottom:-1.5rem}.mobile-lg\:margin-y-neg-4{margin-top:-2rem;margin-bottom:-2rem}.mobile-lg\:margin-top-neg-4{margin-top:-2rem}.mobile-lg\:margin-bottom-neg-4{margin-bottom:-2rem}.mobile-lg\:margin-y-neg-5{margin-top:-2.5rem;margin-bottom:-2.5rem}.mobile-lg\:margin-top-neg-5{margin-top:-2.5rem}.mobile-lg\:margin-bottom-neg-5{margin-bottom:-2.5rem}.mobile-lg\:margin-y-neg-6{margin-top:-3rem;margin-bottom:-3rem}.mobile-lg\:margin-top-neg-6{margin-top:-3rem}.mobile-lg\:margin-bottom-neg-6{margin-bottom:-3rem}.mobile-lg\:margin-y-neg-7{margin-top:-3.5rem;margin-bottom:-3.5rem}.mobile-lg\:margin-top-neg-7{margin-top:-3.5rem}.mobile-lg\:margin-bottom-neg-7{margin-bottom:-3.5rem}.mobile-lg\:margin-y-neg-8{margin-top:-4rem;margin-bottom:-4rem}.mobile-lg\:margin-top-neg-8{margin-top:-4rem}.mobile-lg\:margin-bottom-neg-8{margin-bottom:-4rem}.mobile-lg\:margin-y-neg-9{margin-top:-4.5rem;margin-bottom:-4.5rem}.mobile-lg\:margin-top-neg-9{margin-top:-4.5rem}.mobile-lg\:margin-bottom-neg-9{margin-bottom:-4.5rem}.mobile-lg\:margin-y-neg-10{margin-top:-5rem;margin-bottom:-5rem}.mobile-lg\:margin-top-neg-10{margin-top:-5rem}.mobile-lg\:margin-bottom-neg-10{margin-bottom:-5rem}.mobile-lg\:margin-y-neg-15{margin-top:-7.5rem;margin-bottom:-7.5rem}.mobile-lg\:margin-top-neg-15{margin-top:-7.5rem}.mobile-lg\:margin-bottom-neg-15{margin-bottom:-7.5rem}.mobile-lg\:margin-y-4{margin-top:2rem;margin-bottom:2rem}.mobile-lg\:margin-top-4{margin-top:2rem}.mobile-lg\:margin-bottom-4{margin-bottom:2rem}.mobile-lg\:margin-y-5{margin-top:2.5rem;margin-bottom:2.5rem}.mobile-lg\:margin-top-5{margin-top:2.5rem}.mobile-lg\:margin-bottom-5{margin-bottom:2.5rem}.mobile-lg\:margin-y-6{margin-top:3rem;margin-bottom:3rem}.mobile-lg\:margin-top-6{margin-top:3rem}.mobile-lg\:margin-bottom-6{margin-bottom:3rem}.mobile-lg\:margin-y-7{margin-top:3.5rem;margin-bottom:3.5rem}.mobile-lg\:margin-top-7{margin-top:3.5rem}.mobile-lg\:margin-bottom-7{margin-bottom:3.5rem}.mobile-lg\:margin-y-8{margin-top:4rem;margin-bottom:4rem}.mobile-lg\:margin-top-8{margin-top:4rem}.mobile-lg\:margin-bottom-8{margin-bottom:4rem}.mobile-lg\:margin-y-9{margin-top:4.5rem;margin-bottom:4.5rem}.mobile-lg\:margin-top-9{margin-top:4.5rem}.mobile-lg\:margin-bottom-9{margin-bottom:4.5rem}.mobile-lg\:margin-y-10{margin-top:5rem;margin-bottom:5rem}.mobile-lg\:margin-top-10{margin-top:5rem}.mobile-lg\:margin-bottom-10{margin-bottom:5rem}.mobile-lg\:margin-y-15{margin-top:7.5rem;margin-bottom:7.5rem}.mobile-lg\:margin-top-15{margin-top:7.5rem}.mobile-lg\:margin-bottom-15{margin-bottom:7.5rem}.mobile-lg\:margin-y-05em{margin-top:.5em;margin-bottom:.5em}.mobile-lg\:margin-top-05em{margin-top:.5em}.mobile-lg\:margin-bottom-05em{margin-bottom:.5em}.mobile-lg\:margin-y-1em{margin-top:1em;margin-bottom:1em}.mobile-lg\:margin-top-1em{margin-top:1em}.mobile-lg\:margin-bottom-1em{margin-bottom:1em}.mobile-lg\:margin-y-105em{margin-top:1.5em;margin-bottom:1.5em}.mobile-lg\:margin-top-105em{margin-top:1.5em}.mobile-lg\:margin-bottom-105em{margin-bottom:1.5em}.mobile-lg\:margin-y-2em{margin-top:2em;margin-bottom:2em}.mobile-lg\:margin-top-2em{margin-top:2em}.mobile-lg\:margin-bottom-2em{margin-bottom:2em}.mobile-lg\:margin-y-0{margin-top:0;margin-bottom:0}.mobile-lg\:margin-top-0{margin-top:0}.mobile-lg\:margin-bottom-0{margin-bottom:0}.mobile-lg\:margin-y-auto{margin-top:auto;margin-bottom:auto}.mobile-lg\:margin-top-auto{margin-top:auto}.mobile-lg\:margin-bottom-auto{margin-bottom:auto}.mobile-lg\:margin-x-1px{margin-left:1px;margin-right:1px}.mobile-lg\:margin-right-1px{margin-right:1px}.mobile-lg\:margin-left-1px{margin-left:1px}.mobile-lg\:margin-x-2px{margin-left:2px;margin-right:2px}.mobile-lg\:margin-right-2px{margin-right:2px}.mobile-lg\:margin-left-2px{margin-left:2px}.mobile-lg\:margin-x-05{margin-left:.25rem;margin-right:.25rem}.mobile-lg\:margin-right-05{margin-right:.25rem}.mobile-lg\:margin-left-05{margin-left:.25rem}.mobile-lg\:margin-x-1{margin-left:.5rem;margin-right:.5rem}.mobile-lg\:margin-right-1{margin-right:.5rem}.mobile-lg\:margin-left-1{margin-left:.5rem}.mobile-lg\:margin-x-105{margin-left:.75rem;margin-right:.75rem}.mobile-lg\:margin-right-105{margin-right:.75rem}.mobile-lg\:margin-left-105{margin-left:.75rem}.mobile-lg\:margin-x-2{margin-left:1rem;margin-right:1rem}.mobile-lg\:margin-right-2{margin-right:1rem}.mobile-lg\:margin-left-2{margin-left:1rem}.mobile-lg\:margin-x-205{margin-left:1.25rem;margin-right:1.25rem}.mobile-lg\:margin-right-205{margin-right:1.25rem}.mobile-lg\:margin-left-205{margin-left:1.25rem}.mobile-lg\:margin-x-3{margin-left:1.5rem;margin-right:1.5rem}.mobile-lg\:margin-right-3{margin-right:1.5rem}.mobile-lg\:margin-left-3{margin-left:1.5rem}.mobile-lg\:margin-x-neg-1px{margin-left:-1px;margin-right:-1px}.mobile-lg\:margin-right-neg-1px{margin-right:-1px}.mobile-lg\:margin-left-neg-1px{margin-left:-1px}.mobile-lg\:margin-x-neg-2px{margin-left:-2px;margin-right:-2px}.mobile-lg\:margin-right-neg-2px{margin-right:-2px}.mobile-lg\:margin-left-neg-2px{margin-left:-2px}.mobile-lg\:margin-x-neg-05{margin-left:-.25rem;margin-right:-.25rem}.mobile-lg\:margin-right-neg-05{margin-right:-.25rem}.mobile-lg\:margin-left-neg-05{margin-left:-.25rem}.mobile-lg\:margin-x-neg-1{margin-left:-.5rem;margin-right:-.5rem}.mobile-lg\:margin-right-neg-1{margin-right:-.5rem}.mobile-lg\:margin-left-neg-1{margin-left:-.5rem}.mobile-lg\:margin-x-neg-105{margin-left:-.75rem;margin-right:-.75rem}.mobile-lg\:margin-right-neg-105{margin-right:-.75rem}.mobile-lg\:margin-left-neg-105{margin-left:-.75rem}.mobile-lg\:margin-x-neg-2{margin-left:-1rem;margin-right:-1rem}.mobile-lg\:margin-right-neg-2{margin-right:-1rem}.mobile-lg\:margin-left-neg-2{margin-left:-1rem}.mobile-lg\:margin-x-neg-205{margin-left:-1.25rem;margin-right:-1.25rem}.mobile-lg\:margin-right-neg-205{margin-right:-1.25rem}.mobile-lg\:margin-left-neg-205{margin-left:-1.25rem}.mobile-lg\:margin-x-neg-3{margin-left:-1.5rem;margin-right:-1.5rem}.mobile-lg\:margin-right-neg-3{margin-right:-1.5rem}.mobile-lg\:margin-left-neg-3{margin-left:-1.5rem}.mobile-lg\:margin-x-neg-4{margin-left:-2rem;margin-right:-2rem}.mobile-lg\:margin-right-neg-4{margin-right:-2rem}.mobile-lg\:margin-left-neg-4{margin-left:-2rem}.mobile-lg\:margin-x-neg-5{margin-left:-2.5rem;margin-right:-2.5rem}.mobile-lg\:margin-right-neg-5{margin-right:-2.5rem}.mobile-lg\:margin-left-neg-5{margin-left:-2.5rem}.mobile-lg\:margin-x-neg-6{margin-left:-3rem;margin-right:-3rem}.mobile-lg\:margin-right-neg-6{margin-right:-3rem}.mobile-lg\:margin-left-neg-6{margin-left:-3rem}.mobile-lg\:margin-x-neg-7{margin-left:-3.5rem;margin-right:-3.5rem}.mobile-lg\:margin-right-neg-7{margin-right:-3.5rem}.mobile-lg\:margin-left-neg-7{margin-left:-3.5rem}.mobile-lg\:margin-x-neg-8{margin-left:-4rem;margin-right:-4rem}.mobile-lg\:margin-right-neg-8{margin-right:-4rem}.mobile-lg\:margin-left-neg-8{margin-left:-4rem}.mobile-lg\:margin-x-neg-9{margin-left:-4.5rem;margin-right:-4.5rem}.mobile-lg\:margin-right-neg-9{margin-right:-4.5rem}.mobile-lg\:margin-left-neg-9{margin-left:-4.5rem}.mobile-lg\:margin-x-neg-10{margin-left:-5rem;margin-right:-5rem}.mobile-lg\:margin-right-neg-10{margin-right:-5rem}.mobile-lg\:margin-left-neg-10{margin-left:-5rem}.mobile-lg\:margin-x-neg-15{margin-left:-7.5rem;margin-right:-7.5rem}.mobile-lg\:margin-right-neg-15{margin-right:-7.5rem}.mobile-lg\:margin-left-neg-15{margin-left:-7.5rem}.mobile-lg\:margin-x-4{margin-left:2rem;margin-right:2rem}.mobile-lg\:margin-right-4{margin-right:2rem}.mobile-lg\:margin-left-4{margin-left:2rem}.mobile-lg\:margin-x-5{margin-left:2.5rem;margin-right:2.5rem}.mobile-lg\:margin-right-5{margin-right:2.5rem}.mobile-lg\:margin-left-5{margin-left:2.5rem}.mobile-lg\:margin-x-6{margin-left:3rem;margin-right:3rem}.mobile-lg\:margin-right-6{margin-right:3rem}.mobile-lg\:margin-left-6{margin-left:3rem}.mobile-lg\:margin-x-7{margin-left:3.5rem;margin-right:3.5rem}.mobile-lg\:margin-right-7{margin-right:3.5rem}.mobile-lg\:margin-left-7{margin-left:3.5rem}.mobile-lg\:margin-x-8{margin-left:4rem;margin-right:4rem}.mobile-lg\:margin-right-8{margin-right:4rem}.mobile-lg\:margin-left-8{margin-left:4rem}.mobile-lg\:margin-x-9{margin-left:4.5rem;margin-right:4.5rem}.mobile-lg\:margin-right-9{margin-right:4.5rem}.mobile-lg\:margin-left-9{margin-left:4.5rem}.mobile-lg\:margin-x-10{margin-left:5rem;margin-right:5rem}.mobile-lg\:margin-right-10{margin-right:5rem}.mobile-lg\:margin-left-10{margin-left:5rem}.mobile-lg\:margin-x-15{margin-left:7.5rem;margin-right:7.5rem}.mobile-lg\:margin-right-15{margin-right:7.5rem}.mobile-lg\:margin-left-15{margin-left:7.5rem}.mobile-lg\:margin-x-card{margin-left:10rem;margin-right:10rem}.mobile-lg\:margin-right-card{margin-right:10rem}.mobile-lg\:margin-left-card{margin-left:10rem}.mobile-lg\:margin-x-card-lg{margin-left:15rem;margin-right:15rem}.mobile-lg\:margin-right-card-lg{margin-right:15rem}.mobile-lg\:margin-left-card-lg{margin-left:15rem}.mobile-lg\:margin-x-mobile{margin-left:20rem;margin-right:20rem}.mobile-lg\:margin-right-mobile{margin-right:20rem}.mobile-lg\:margin-left-mobile{margin-left:20rem}.mobile-lg\:margin-x-05em{margin-left:.5em;margin-right:.5em}.mobile-lg\:margin-right-05em{margin-right:.5em}.mobile-lg\:margin-left-05em{margin-left:.5em}.mobile-lg\:margin-x-1em{margin-left:1em;margin-right:1em}.mobile-lg\:margin-right-1em{margin-right:1em}.mobile-lg\:margin-left-1em{margin-left:1em}.mobile-lg\:margin-x-105em{margin-left:1.5em;margin-right:1.5em}.mobile-lg\:margin-right-105em{margin-right:1.5em}.mobile-lg\:margin-left-105em{margin-left:1.5em}.mobile-lg\:margin-x-2em{margin-left:2em;margin-right:2em}.mobile-lg\:margin-right-2em{margin-right:2em}.mobile-lg\:margin-left-2em{margin-left:2em}.mobile-lg\:margin-x-0{margin-left:0;margin-right:0}.mobile-lg\:margin-right-0{margin-right:0}.mobile-lg\:margin-left-0{margin-left:0}.mobile-lg\:margin-x-auto{margin-left:auto;margin-right:auto}.mobile-lg\:margin-right-auto{margin-right:auto}.mobile-lg\:margin-left-auto{margin-left:auto}.mobile-lg\:measure-1{max-width:44ex}.mobile-lg\:measure-2{max-width:60ex}.mobile-lg\:measure-3{max-width:64ex}.mobile-lg\:measure-4{max-width:68ex}.mobile-lg\:measure-5{max-width:72ex}.mobile-lg\:measure-6{max-width:88ex}.mobile-lg\:measure-none{max-width:none}.mobile-lg\:order-first{order:-1}.mobile-lg\:order-last{order:999}.mobile-lg\:order-initial{order:initial}.mobile-lg\:order-0{order:0}.mobile-lg\:order-1{order:1}.mobile-lg\:order-2{order:2}.mobile-lg\:order-3{order:3}.mobile-lg\:order-4{order:4}.mobile-lg\:order-5{order:5}.mobile-lg\:order-6{order:6}.mobile-lg\:order-7{order:7}.mobile-lg\:order-8{order:8}.mobile-lg\:order-9{order:9}.mobile-lg\:order-10{order:10}.mobile-lg\:order-11{order:11}.mobile-lg\:padding-1px{padding:1px}.mobile-lg\:padding-y-1px{padding-top:1px;padding-bottom:1px}.mobile-lg\:padding-x-1px{padding-left:1px;padding-right:1px}.mobile-lg\:padding-top-1px{padding-top:1px}.mobile-lg\:padding-right-1px{padding-right:1px}.mobile-lg\:padding-bottom-1px{padding-bottom:1px}.mobile-lg\:padding-left-1px{padding-left:1px}.mobile-lg\:padding-2px{padding:2px}.mobile-lg\:padding-y-2px{padding-top:2px;padding-bottom:2px}.mobile-lg\:padding-x-2px{padding-left:2px;padding-right:2px}.mobile-lg\:padding-top-2px{padding-top:2px}.mobile-lg\:padding-right-2px{padding-right:2px}.mobile-lg\:padding-bottom-2px{padding-bottom:2px}.mobile-lg\:padding-left-2px{padding-left:2px}.mobile-lg\:padding-05{padding:.25rem}.mobile-lg\:padding-y-05{padding-top:.25rem;padding-bottom:.25rem}.mobile-lg\:padding-x-05{padding-left:.25rem;padding-right:.25rem}.mobile-lg\:padding-top-05{padding-top:.25rem}.mobile-lg\:padding-right-05{padding-right:.25rem}.mobile-lg\:padding-bottom-05{padding-bottom:.25rem}.mobile-lg\:padding-left-05{padding-left:.25rem}.mobile-lg\:padding-1{padding:.5rem}.mobile-lg\:padding-y-1{padding-top:.5rem;padding-bottom:.5rem}.mobile-lg\:padding-x-1{padding-left:.5rem;padding-right:.5rem}.mobile-lg\:padding-top-1{padding-top:.5rem}.mobile-lg\:padding-right-1{padding-right:.5rem}.mobile-lg\:padding-bottom-1{padding-bottom:.5rem}.mobile-lg\:padding-left-1{padding-left:.5rem}.mobile-lg\:padding-105{padding:.75rem}.mobile-lg\:padding-y-105{padding-top:.75rem;padding-bottom:.75rem}.mobile-lg\:padding-x-105{padding-left:.75rem;padding-right:.75rem}.mobile-lg\:padding-top-105{padding-top:.75rem}.mobile-lg\:padding-right-105{padding-right:.75rem}.mobile-lg\:padding-bottom-105{padding-bottom:.75rem}.mobile-lg\:padding-left-105{padding-left:.75rem}.mobile-lg\:padding-2{padding:1rem}.mobile-lg\:padding-y-2{padding-top:1rem;padding-bottom:1rem}.mobile-lg\:padding-x-2{padding-left:1rem;padding-right:1rem}.mobile-lg\:padding-top-2{padding-top:1rem}.mobile-lg\:padding-right-2{padding-right:1rem}.mobile-lg\:padding-bottom-2{padding-bottom:1rem}.mobile-lg\:padding-left-2{padding-left:1rem}.mobile-lg\:padding-205{padding:1.25rem}.mobile-lg\:padding-y-205{padding-top:1.25rem;padding-bottom:1.25rem}.mobile-lg\:padding-x-205{padding-left:1.25rem;padding-right:1.25rem}.mobile-lg\:padding-top-205{padding-top:1.25rem}.mobile-lg\:padding-right-205{padding-right:1.25rem}.mobile-lg\:padding-bottom-205{padding-bottom:1.25rem}.mobile-lg\:padding-left-205{padding-left:1.25rem}.mobile-lg\:padding-3{padding:1.5rem}.mobile-lg\:padding-y-3{padding-top:1.5rem;padding-bottom:1.5rem}.mobile-lg\:padding-x-3{padding-left:1.5rem;padding-right:1.5rem}.mobile-lg\:padding-top-3{padding-top:1.5rem}.mobile-lg\:padding-right-3{padding-right:1.5rem}.mobile-lg\:padding-bottom-3{padding-bottom:1.5rem}.mobile-lg\:padding-left-3{padding-left:1.5rem}.mobile-lg\:padding-4{padding:2rem}.mobile-lg\:padding-y-4{padding-top:2rem;padding-bottom:2rem}.mobile-lg\:padding-x-4{padding-left:2rem;padding-right:2rem}.mobile-lg\:padding-top-4{padding-top:2rem}.mobile-lg\:padding-right-4{padding-right:2rem}.mobile-lg\:padding-bottom-4{padding-bottom:2rem}.mobile-lg\:padding-left-4{padding-left:2rem}.mobile-lg\:padding-5{padding:2.5rem}.mobile-lg\:padding-y-5{padding-top:2.5rem;padding-bottom:2.5rem}.mobile-lg\:padding-x-5{padding-left:2.5rem;padding-right:2.5rem}.mobile-lg\:padding-top-5{padding-top:2.5rem}.mobile-lg\:padding-right-5{padding-right:2.5rem}.mobile-lg\:padding-bottom-5{padding-bottom:2.5rem}.mobile-lg\:padding-left-5{padding-left:2.5rem}.mobile-lg\:padding-6{padding:3rem}.mobile-lg\:padding-y-6{padding-top:3rem;padding-bottom:3rem}.mobile-lg\:padding-x-6{padding-left:3rem;padding-right:3rem}.mobile-lg\:padding-top-6{padding-top:3rem}.mobile-lg\:padding-right-6{padding-right:3rem}.mobile-lg\:padding-bottom-6{padding-bottom:3rem}.mobile-lg\:padding-left-6{padding-left:3rem}.mobile-lg\:padding-7{padding:3.5rem}.mobile-lg\:padding-y-7{padding-top:3.5rem;padding-bottom:3.5rem}.mobile-lg\:padding-x-7{padding-left:3.5rem;padding-right:3.5rem}.mobile-lg\:padding-top-7{padding-top:3.5rem}.mobile-lg\:padding-right-7{padding-right:3.5rem}.mobile-lg\:padding-bottom-7{padding-bottom:3.5rem}.mobile-lg\:padding-left-7{padding-left:3.5rem}.mobile-lg\:padding-8{padding:4rem}.mobile-lg\:padding-y-8{padding-top:4rem;padding-bottom:4rem}.mobile-lg\:padding-x-8{padding-left:4rem;padding-right:4rem}.mobile-lg\:padding-top-8{padding-top:4rem}.mobile-lg\:padding-right-8{padding-right:4rem}.mobile-lg\:padding-bottom-8{padding-bottom:4rem}.mobile-lg\:padding-left-8{padding-left:4rem}.mobile-lg\:padding-9{padding:4.5rem}.mobile-lg\:padding-y-9{padding-top:4.5rem;padding-bottom:4.5rem}.mobile-lg\:padding-x-9{padding-left:4.5rem;padding-right:4.5rem}.mobile-lg\:padding-top-9{padding-top:4.5rem}.mobile-lg\:padding-right-9{padding-right:4.5rem}.mobile-lg\:padding-bottom-9{padding-bottom:4.5rem}.mobile-lg\:padding-left-9{padding-left:4.5rem}.mobile-lg\:padding-10{padding:5rem}.mobile-lg\:padding-y-10{padding-top:5rem;padding-bottom:5rem}.mobile-lg\:padding-x-10{padding-left:5rem;padding-right:5rem}.mobile-lg\:padding-top-10{padding-top:5rem}.mobile-lg\:padding-right-10{padding-right:5rem}.mobile-lg\:padding-bottom-10{padding-bottom:5rem}.mobile-lg\:padding-left-10{padding-left:5rem}.mobile-lg\:padding-15{padding:7.5rem}.mobile-lg\:padding-y-15{padding-top:7.5rem;padding-bottom:7.5rem}.mobile-lg\:padding-x-15{padding-left:7.5rem;padding-right:7.5rem}.mobile-lg\:padding-top-15{padding-top:7.5rem}.mobile-lg\:padding-right-15{padding-right:7.5rem}.mobile-lg\:padding-bottom-15{padding-bottom:7.5rem}.mobile-lg\:padding-left-15{padding-left:7.5rem}.mobile-lg\:padding-0{padding:0}.mobile-lg\:padding-y-0{padding-top:0;padding-bottom:0}.mobile-lg\:padding-x-0{padding-left:0;padding-right:0}.mobile-lg\:padding-top-0{padding-top:0}.mobile-lg\:padding-right-0{padding-right:0}.mobile-lg\:padding-bottom-0{padding-bottom:0}.mobile-lg\:padding-left-0{padding-left:0}.mobile-lg\:width-1px{width:1px}.mobile-lg\:width-2px{width:2px}.mobile-lg\:width-05{width:.25rem}.mobile-lg\:width-1{width:.5rem}.mobile-lg\:width-105{width:.75rem}.mobile-lg\:width-2{width:1rem}.mobile-lg\:width-205{width:1.25rem}.mobile-lg\:width-3{width:1.5rem}.mobile-lg\:width-4{width:2rem}.mobile-lg\:width-5{width:2.5rem}.mobile-lg\:width-6{width:3rem}.mobile-lg\:width-7{width:3.5rem}.mobile-lg\:width-8{width:4rem}.mobile-lg\:width-9{width:4.5rem}.mobile-lg\:width-10{width:5rem}.mobile-lg\:width-15{width:7.5rem}.mobile-lg\:width-card{width:10rem}.mobile-lg\:width-card-lg{width:15rem}.mobile-lg\:width-mobile{width:20rem}.mobile-lg\:width-mobile-lg{width:30rem}.mobile-lg\:width-tablet{width:40rem}.mobile-lg\:width-tablet-lg{width:55rem}.mobile-lg\:width-desktop{width:64rem}.mobile-lg\:width-desktop-lg{width:75rem}.mobile-lg\:width-widescreen{width:87.5rem}.mobile-lg\:width-0{width:0}.mobile-lg\:width-full{width:100%}.mobile-lg\:width-auto{width:auto}}@media all and (min-width:40em){.tablet\:border-1px,.tablet\:hover\:border-1px:hover{border:1px solid}.tablet\:border-y-1px,.tablet\:hover\:border-y-1px:hover{border-top:1px solid;border-bottom:1px solid}.tablet\:border-x-1px,.tablet\:hover\:border-x-1px:hover{border-left:1px solid;border-right:1px solid}.tablet\:border-top-1px,.tablet\:hover\:border-top-1px:hover{border-top:1px solid}.tablet\:border-right-1px,.tablet\:hover\:border-right-1px:hover{border-right:1px solid}.tablet\:border-bottom-1px,.tablet\:hover\:border-bottom-1px:hover{border-bottom:1px solid}.tablet\:border-left-1px,.tablet\:hover\:border-left-1px:hover{border-left:1px solid}.tablet\:border-2px,.tablet\:hover\:border-2px:hover{border:2px solid}.tablet\:border-y-2px,.tablet\:hover\:border-y-2px:hover{border-top:2px solid;border-bottom:2px solid}.tablet\:border-x-2px,.tablet\:hover\:border-x-2px:hover{border-left:2px solid;border-right:2px solid}.tablet\:border-top-2px,.tablet\:hover\:border-top-2px:hover{border-top:2px solid}.tablet\:border-right-2px,.tablet\:hover\:border-right-2px:hover{border-right:2px solid}.tablet\:border-bottom-2px,.tablet\:hover\:border-bottom-2px:hover{border-bottom:2px solid}.tablet\:border-left-2px,.tablet\:hover\:border-left-2px:hover{border-left:2px solid}.tablet\:border-05,.tablet\:hover\:border-05:hover{border:.25rem solid}.tablet\:border-y-05,.tablet\:hover\:border-y-05:hover{border-top:.25rem solid;border-bottom:.25rem solid}.tablet\:border-x-05,.tablet\:hover\:border-x-05:hover{border-left:.25rem solid;border-right:.25rem solid}.tablet\:border-top-05,.tablet\:hover\:border-top-05:hover{border-top:.25rem solid}.tablet\:border-right-05,.tablet\:hover\:border-right-05:hover{border-right:.25rem solid}.tablet\:border-bottom-05,.tablet\:hover\:border-bottom-05:hover{border-bottom:.25rem solid}.tablet\:border-left-05,.tablet\:hover\:border-left-05:hover{border-left:.25rem solid}.tablet\:border-1,.tablet\:hover\:border-1:hover{border:.5rem solid}.tablet\:border-y-1,.tablet\:hover\:border-y-1:hover{border-top:.5rem solid;border-bottom:.5rem solid}.tablet\:border-x-1,.tablet\:hover\:border-x-1:hover{border-left:.5rem solid;border-right:.5rem solid}.tablet\:border-top-1,.tablet\:hover\:border-top-1:hover{border-top:.5rem solid}.tablet\:border-right-1,.tablet\:hover\:border-right-1:hover{border-right:.5rem solid}.tablet\:border-bottom-1,.tablet\:hover\:border-bottom-1:hover{border-bottom:.5rem solid}.tablet\:border-left-1,.tablet\:hover\:border-left-1:hover{border-left:.5rem solid}.tablet\:border-105,.tablet\:hover\:border-105:hover{border:.75rem solid}.tablet\:border-y-105,.tablet\:hover\:border-y-105:hover{border-top:.75rem solid;border-bottom:.75rem solid}.tablet\:border-x-105,.tablet\:hover\:border-x-105:hover{border-left:.75rem solid;border-right:.75rem solid}.tablet\:border-top-105,.tablet\:hover\:border-top-105:hover{border-top:.75rem solid}.tablet\:border-right-105,.tablet\:hover\:border-right-105:hover{border-right:.75rem solid}.tablet\:border-bottom-105,.tablet\:hover\:border-bottom-105:hover{border-bottom:.75rem solid}.tablet\:border-left-105,.tablet\:hover\:border-left-105:hover{border-left:.75rem solid}.tablet\:border-2,.tablet\:hover\:border-2:hover{border:1rem solid}.tablet\:border-y-2,.tablet\:hover\:border-y-2:hover{border-top:1rem solid;border-bottom:1rem solid}.tablet\:border-x-2,.tablet\:hover\:border-x-2:hover{border-left:1rem solid;border-right:1rem solid}.tablet\:border-top-2,.tablet\:hover\:border-top-2:hover{border-top:1rem solid}.tablet\:border-right-2,.tablet\:hover\:border-right-2:hover{border-right:1rem solid}.tablet\:border-bottom-2,.tablet\:hover\:border-bottom-2:hover{border-bottom:1rem solid}.tablet\:border-left-2,.tablet\:hover\:border-left-2:hover{border-left:1rem solid}.tablet\:border-205,.tablet\:hover\:border-205:hover{border:1.25rem solid}.tablet\:border-y-205,.tablet\:hover\:border-y-205:hover{border-top:1.25rem solid;border-bottom:1.25rem solid}.tablet\:border-x-205,.tablet\:hover\:border-x-205:hover{border-left:1.25rem solid;border-right:1.25rem solid}.tablet\:border-top-205,.tablet\:hover\:border-top-205:hover{border-top:1.25rem solid}.tablet\:border-right-205,.tablet\:hover\:border-right-205:hover{border-right:1.25rem solid}.tablet\:border-bottom-205,.tablet\:hover\:border-bottom-205:hover{border-bottom:1.25rem solid}.tablet\:border-left-205,.tablet\:hover\:border-left-205:hover{border-left:1.25rem solid}.tablet\:border-3,.tablet\:hover\:border-3:hover{border:1.5rem solid}.tablet\:border-y-3,.tablet\:hover\:border-y-3:hover{border-top:1.5rem solid;border-bottom:1.5rem solid}.tablet\:border-x-3,.tablet\:hover\:border-x-3:hover{border-left:1.5rem solid;border-right:1.5rem solid}.tablet\:border-top-3,.tablet\:hover\:border-top-3:hover{border-top:1.5rem solid}.tablet\:border-right-3,.tablet\:hover\:border-right-3:hover{border-right:1.5rem solid}.tablet\:border-bottom-3,.tablet\:hover\:border-bottom-3:hover{border-bottom:1.5rem solid}.tablet\:border-left-3,.tablet\:hover\:border-left-3:hover{border-left:1.5rem solid}.tablet\:border-0,.tablet\:hover\:border-0:hover{border:0 solid}.tablet\:border-y-0,.tablet\:hover\:border-y-0:hover{border-top:0 solid;border-bottom:0 solid}.tablet\:border-x-0,.tablet\:hover\:border-x-0:hover{border-left:0 solid;border-right:0 solid}.tablet\:border-top-0,.tablet\:hover\:border-top-0:hover{border-top:0 solid}.tablet\:border-right-0,.tablet\:hover\:border-right-0:hover{border-right:0 solid}.tablet\:border-bottom-0,.tablet\:hover\:border-bottom-0:hover{border-bottom:0 solid}.tablet\:border-left-0,.tablet\:hover\:border-left-0:hover{border-left:0 solid}.tablet\:border,.tablet\:hover\:border:hover{border:1px solid}.tablet\:border-y,.tablet\:hover\:border-y:hover{border-top:1px solid;border-bottom:1px solid}.tablet\:border-x,.tablet\:hover\:border-x:hover{border-left:1px solid;border-right:1px solid}.tablet\:border-top,.tablet\:hover\:border-top:hover{border-top:1px solid}.tablet\:border-right,.tablet\:hover\:border-right:hover{border-right:1px solid}.tablet\:border-bottom,.tablet\:hover\:border-bottom:hover{border-bottom:1px solid}.tablet\:border-left,.tablet\:hover\:border-left:hover{border-left:1px solid}.tablet\:border-transparent,.tablet\:hover\:border-transparent:hover{border-color:transparent}.tablet\:border-black,.tablet\:hover\:border-black:hover{border-color:#000}.tablet\:border-white,.tablet\:hover\:border-white:hover{border-color:#fff}.tablet\:border-red,.tablet\:hover\:border-red:hover{border-color:#e52207}.tablet\:border-orange,.tablet\:hover\:border-orange:hover{border-color:#e66f0e}.tablet\:border-gold,.tablet\:hover\:border-gold:hover{border-color:#ffbe2e}.tablet\:border-yellow,.tablet\:hover\:border-yellow:hover{border-color:#fee685}.tablet\:border-green,.tablet\:hover\:border-green:hover{border-color:#538200}.tablet\:border-mint,.tablet\:hover\:border-mint:hover{border-color:#04c585}.tablet\:border-cyan,.tablet\:hover\:border-cyan:hover{border-color:#009ec1}.tablet\:border-blue,.tablet\:hover\:border-blue:hover{border-color:#0076d6}.tablet\:border-indigo,.tablet\:hover\:border-indigo:hover{border-color:#676cc8}.tablet\:border-violet,.tablet\:hover\:border-violet:hover{border-color:#8168b3}.tablet\:border-magenta,.tablet\:hover\:border-magenta:hover{border-color:#d72d79}.tablet\:border-gray-5,.tablet\:hover\:border-gray-5:hover{border-color:#f0f0f0}.tablet\:border-gray-10,.tablet\:hover\:border-gray-10:hover{border-color:#e6e6e6}.tablet\:border-gray-30,.tablet\:hover\:border-gray-30:hover{border-color:#adadad}.tablet\:border-gray-50,.tablet\:hover\:border-gray-50:hover{border-color:#757575}.tablet\:border-gray-70,.tablet\:hover\:border-gray-70:hover{border-color:#454545}.tablet\:border-gray-90,.tablet\:hover\:border-gray-90:hover{border-color:#1b1b1b}.tablet\:border-base-lightest,.tablet\:hover\:border-base-lightest:hover{border-color:#f0f0f0}.tablet\:border-base-lighter,.tablet\:hover\:border-base-lighter:hover{border-color:#dfe1e2}.tablet\:border-base-light,.tablet\:hover\:border-base-light:hover{border-color:#a9aeb1}.tablet\:border-base,.tablet\:hover\:border-base:hover{border-color:#71767a}.tablet\:border-base-dark,.tablet\:hover\:border-base-dark:hover{border-color:#565c65}.tablet\:border-base-darker,.tablet\:hover\:border-base-darker:hover{border-color:#3d4551}.tablet\:border-base-darkest,.tablet\:border-ink,.tablet\:hover\:border-base-darkest:hover,.tablet\:hover\:border-ink:hover{border-color:#1b1b1b}.tablet\:border-primary-lighter,.tablet\:hover\:border-primary-lighter:hover{border-color:#d9e8f6}.tablet\:border-primary-light,.tablet\:hover\:border-primary-light:hover{border-color:#73b3e7}.tablet\:border-primary,.tablet\:hover\:border-primary:hover{border-color:#005ea2}.tablet\:border-primary-vivid,.tablet\:hover\:border-primary-vivid:hover{border-color:#0050d8}.tablet\:border-primary-dark,.tablet\:hover\:border-primary-dark:hover{border-color:#1a4480}.tablet\:border-primary-darker,.tablet\:hover\:border-primary-darker:hover{border-color:#162e51}.tablet\:border-secondary-lighter,.tablet\:hover\:border-secondary-lighter:hover{border-color:#f3e1e4}.tablet\:border-secondary-light,.tablet\:hover\:border-secondary-light:hover{border-color:#f2938c}.tablet\:border-secondary,.tablet\:hover\:border-secondary:hover{border-color:#d83933}.tablet\:border-secondary-vivid,.tablet\:hover\:border-secondary-vivid:hover{border-color:#e41d3d}.tablet\:border-secondary-dark,.tablet\:hover\:border-secondary-dark:hover{border-color:#b50909}.tablet\:border-secondary-darker,.tablet\:hover\:border-secondary-darker:hover{border-color:#8b0a03}.tablet\:border-accent-warm-darker,.tablet\:hover\:border-accent-warm-darker:hover{border-color:#775540}.tablet\:border-accent-warm-dark,.tablet\:hover\:border-accent-warm-dark:hover{border-color:#c05600}.tablet\:border-accent-warm,.tablet\:hover\:border-accent-warm:hover{border-color:#fa9441}.tablet\:border-accent-warm-light,.tablet\:hover\:border-accent-warm-light:hover{border-color:#ffbc78}.tablet\:border-accent-warm-lighter,.tablet\:hover\:border-accent-warm-lighter:hover{border-color:#f2e4d4}.tablet\:border-accent-cool-darker,.tablet\:hover\:border-accent-cool-darker:hover{border-color:#07648d}.tablet\:border-accent-cool-dark,.tablet\:hover\:border-accent-cool-dark:hover{border-color:#28a0cb}.tablet\:border-accent-cool,.tablet\:hover\:border-accent-cool:hover{border-color:#00bde3}.tablet\:border-accent-cool-light,.tablet\:hover\:border-accent-cool-light:hover{border-color:#97d4ea}.tablet\:border-accent-cool-lighter,.tablet\:hover\:border-accent-cool-lighter:hover{border-color:#e1f3f8}.tablet\:border-error-lighter,.tablet\:hover\:border-error-lighter:hover{border-color:#f4e3db}.tablet\:border-error-light,.tablet\:hover\:border-error-light:hover{border-color:#f39268}.tablet\:border-error,.tablet\:hover\:border-error:hover{border-color:#d54309}.tablet\:border-error-dark,.tablet\:hover\:border-error-dark:hover{border-color:#b50909}.tablet\:border-error-darker,.tablet\:hover\:border-error-darker:hover{border-color:#6f3331}.tablet\:border-warning-lighter,.tablet\:hover\:border-warning-lighter:hover{border-color:#faf3d1}.tablet\:border-warning-light,.tablet\:hover\:border-warning-light:hover{border-color:#fee685}.tablet\:border-warning,.tablet\:hover\:border-warning:hover{border-color:#ffbe2e}.tablet\:border-warning-dark,.tablet\:hover\:border-warning-dark:hover{border-color:#e5a000}.tablet\:border-warning-darker,.tablet\:hover\:border-warning-darker:hover{border-color:#936f38}.tablet\:border-success-lighter,.tablet\:hover\:border-success-lighter:hover{border-color:#ecf3ec}.tablet\:border-success-light,.tablet\:hover\:border-success-light:hover{border-color:#70e17b}.tablet\:border-success,.tablet\:hover\:border-success:hover{border-color:#00a91c}.tablet\:border-success-dark,.tablet\:hover\:border-success-dark:hover{border-color:#008817}.tablet\:border-success-darker,.tablet\:hover\:border-success-darker:hover{border-color:#216e1f}.tablet\:border-info-lighter,.tablet\:hover\:border-info-lighter:hover{border-color:#e7f6f8}.tablet\:border-info-light,.tablet\:hover\:border-info-light:hover{border-color:#99deea}.tablet\:border-info,.tablet\:hover\:border-info:hover{border-color:#00bde3}.tablet\:border-info-dark,.tablet\:hover\:border-info-dark:hover{border-color:#009ec1}.tablet\:border-info-darker,.tablet\:hover\:border-info-darker:hover{border-color:#2e6276}.tablet\:border-disabled-lighter,.tablet\:hover\:border-disabled-lighter:hover{border-color:#c9c9c9}.tablet\:border-disabled-light,.tablet\:hover\:border-disabled-light:hover{border-color:#919191}.tablet\:border-disabled,.tablet\:hover\:border-disabled:hover{border-color:#757575}.tablet\:border-disabled-dark,.tablet\:hover\:border-disabled-dark:hover{border-color:#454545}.tablet\:border-disabled-darker,.tablet\:hover\:border-disabled-darker:hover{border-color:#1b1b1b}.tablet\:border-emergency,.tablet\:hover\:border-emergency:hover{border-color:#9c3d10}.tablet\:border-emergency-dark,.tablet\:hover\:border-emergency-dark:hover{border-color:#332d29}.tablet\:radius-0{border-radius:0}.tablet\:radius-top-0{border-top-left-radius:0;border-top-right-radius:0}.tablet\:radius-right-0{border-top-right-radius:0;border-bottom-right-radius:0}.tablet\:radius-bottom-0{border-bottom-left-radius:0;border-bottom-right-radius:0}.tablet\:radius-left-0{border-top-left-radius:0;border-bottom-left-radius:0}.tablet\:radius-sm{border-radius:2px}.tablet\:radius-top-sm{border-top-left-radius:2px;border-top-right-radius:2px}.tablet\:radius-right-sm{border-top-right-radius:2px;border-bottom-right-radius:2px}.tablet\:radius-bottom-sm{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.tablet\:radius-left-sm{border-top-left-radius:2px;border-bottom-left-radius:2px}.tablet\:radius-md{border-radius:.25rem}.tablet\:radius-top-md{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.tablet\:radius-right-md{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.tablet\:radius-bottom-md{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.tablet\:radius-left-md{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.tablet\:radius-lg{border-radius:.5rem}.tablet\:radius-top-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.tablet\:radius-right-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.tablet\:radius-bottom-lg{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.tablet\:radius-left-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.tablet\:radius-pill{border-radius:99rem}.tablet\:radius-top-pill{border-top-left-radius:99rem;border-top-right-radius:99rem}.tablet\:radius-right-pill{border-top-right-radius:99rem;border-bottom-right-radius:99rem}.tablet\:radius-bottom-pill{border-bottom-left-radius:99rem;border-bottom-right-radius:99rem}.tablet\:radius-left-pill{border-top-left-radius:99rem;border-bottom-left-radius:99rem}.tablet\:display-block{display:block}.tablet\:display-flex{display:flex}.tablet\:display-none{display:none}.tablet\:display-inline{display:inline}.tablet\:display-inline-block{display:inline-block}.tablet\:display-inline-flex{display:inline-flex}.tablet\:display-table{display:table}.tablet\:display-table-cell{display:table-cell}.tablet\:display-table-row{display:table-row}.tablet\:font-mono-3xs{font-size:.77rem}.tablet\:font-mono-2xs{font-size:.83rem}.tablet\:font-mono-xs{font-size:.89rem}.tablet\:font-mono-sm{font-size:.95rem}.tablet\:font-mono-md{font-size:1.01rem}.tablet\:font-mono-lg{font-size:1.31rem}.tablet\:font-mono-xl{font-size:1.91rem}.tablet\:font-mono-2xl{font-size:2.38rem}.tablet\:font-mono-3xl{font-size:2.86rem}.tablet\:font-sans-3xs{font-size:.87rem}.tablet\:font-sans-2xs{font-size:.93rem}.tablet\:font-sans-xs{font-size:1rem}.tablet\:font-sans-sm{font-size:1.06rem}.tablet\:font-sans-md{font-size:1.13rem}.tablet\:font-sans-lg{font-size:1.46rem}.tablet\:font-sans-xl{font-size:2.13rem}.tablet\:font-sans-2xl{font-size:2.66rem}.tablet\:font-sans-3xl{font-size:3.19rem}.tablet\:font-serif-3xs{font-size:.79rem}.tablet\:font-serif-2xs{font-size:.85rem}.tablet\:font-serif-xs{font-size:.91rem}.tablet\:font-serif-sm{font-size:.98rem}.tablet\:font-serif-md{font-size:1.04rem}.tablet\:font-serif-lg{font-size:1.34rem}.tablet\:font-serif-xl{font-size:1.95rem}.tablet\:font-serif-2xl{font-size:2.44rem}.tablet\:font-serif-3xl{font-size:2.93rem}.tablet\:font-heading-3xs{font-size:.79rem}.tablet\:font-heading-2xs{font-size:.85rem}.tablet\:font-heading-xs{font-size:.91rem}.tablet\:font-heading-sm{font-size:.98rem}.tablet\:font-heading-md{font-size:1.04rem}.tablet\:font-heading-lg{font-size:1.34rem}.tablet\:font-heading-xl{font-size:1.95rem}.tablet\:font-heading-2xl{font-size:2.44rem}.tablet\:font-heading-3xl{font-size:2.93rem}.tablet\:font-body-3xs{font-size:.87rem}.tablet\:font-body-2xs{font-size:.93rem}.tablet\:font-body-xs{font-size:1rem}.tablet\:font-body-sm{font-size:1.06rem}.tablet\:font-body-md{font-size:1.13rem}.tablet\:font-body-lg{font-size:1.46rem}.tablet\:font-body-xl{font-size:2.13rem}.tablet\:font-body-2xl{font-size:2.66rem}.tablet\:font-body-3xl{font-size:3.19rem}.tablet\:font-code-3xs{font-size:.77rem}.tablet\:font-code-2xs{font-size:.83rem}.tablet\:font-code-xs{font-size:.89rem}.tablet\:font-code-sm{font-size:.95rem}.tablet\:font-code-md{font-size:1.01rem}.tablet\:font-code-lg{font-size:1.31rem}.tablet\:font-code-xl{font-size:1.91rem}.tablet\:font-code-2xl{font-size:2.38rem}.tablet\:font-code-3xl{font-size:2.86rem}.tablet\:font-alt-3xs{font-size:.79rem}.tablet\:font-alt-2xs{font-size:.85rem}.tablet\:font-alt-xs{font-size:.91rem}.tablet\:font-alt-sm{font-size:.98rem}.tablet\:font-alt-md{font-size:1.04rem}.tablet\:font-alt-lg{font-size:1.34rem}.tablet\:font-alt-xl{font-size:1.95rem}.tablet\:font-alt-2xl{font-size:2.44rem}.tablet\:font-alt-3xl{font-size:2.93rem}.tablet\:font-ui-3xs{font-size:.87rem}.tablet\:font-ui-2xs{font-size:.93rem}.tablet\:font-ui-xs{font-size:1rem}.tablet\:font-ui-sm{font-size:1.06rem}.tablet\:font-ui-md{font-size:1.13rem}.tablet\:font-ui-lg{font-size:1.46rem}.tablet\:font-ui-xl{font-size:2.13rem}.tablet\:font-ui-2xl{font-size:2.66rem}.tablet\:font-ui-3xl{font-size:3.19rem}.tablet\:text-light{font-weight:300}.tablet\:text-normal{font-weight:400}.tablet\:text-bold{font-weight:700}.tablet\:flex-justify-center{justify-content:center}.tablet\:flex-justify-start{justify-content:flex-start}.tablet\:flex-justify-end{justify-content:flex-end}.tablet\:flex-justify{justify-content:space-between}.tablet\:line-height-sans-1{line-height:.9}.tablet\:line-height-sans-2{line-height:1.1}.tablet\:line-height-sans-3{line-height:1.3}.tablet\:line-height-sans-4{line-height:1.4}.tablet\:line-height-sans-5{line-height:1.5}.tablet\:line-height-sans-6{line-height:1.6}.tablet\:line-height-serif-1{line-height:1}.tablet\:line-height-serif-2{line-height:1.2}.tablet\:line-height-serif-3{line-height:1.4}.tablet\:line-height-serif-4{line-height:1.5}.tablet\:line-height-serif-5{line-height:1.7}.tablet\:line-height-serif-6{line-height:1.8}.tablet\:line-height-mono-1{line-height:1}.tablet\:line-height-mono-2{line-height:1.3}.tablet\:line-height-mono-3{line-height:1.4}.tablet\:line-height-mono-4{line-height:1.6}.tablet\:line-height-mono-5{line-height:1.7}.tablet\:line-height-mono-6{line-height:1.8}.tablet\:line-height-heading-1{line-height:1}.tablet\:line-height-heading-2{line-height:1.2}.tablet\:line-height-heading-3{line-height:1.4}.tablet\:line-height-heading-4{line-height:1.5}.tablet\:line-height-heading-5{line-height:1.7}.tablet\:line-height-heading-6{line-height:1.8}.tablet\:line-height-ui-1{line-height:.9}.tablet\:line-height-ui-2{line-height:1.1}.tablet\:line-height-ui-3{line-height:1.3}.tablet\:line-height-ui-4{line-height:1.4}.tablet\:line-height-ui-5{line-height:1.5}.tablet\:line-height-ui-6{line-height:1.6}.tablet\:line-height-body-1{line-height:.9}.tablet\:line-height-body-2{line-height:1.1}.tablet\:line-height-body-3{line-height:1.3}.tablet\:line-height-body-4{line-height:1.4}.tablet\:line-height-body-5{line-height:1.5}.tablet\:line-height-body-6{line-height:1.6}.tablet\:line-height-code-1{line-height:1}.tablet\:line-height-code-2{line-height:1.3}.tablet\:line-height-code-3{line-height:1.4}.tablet\:line-height-code-4{line-height:1.6}.tablet\:line-height-code-5{line-height:1.7}.tablet\:line-height-code-6{line-height:1.8}.tablet\:line-height-alt-1{line-height:1}.tablet\:line-height-alt-2{line-height:1.2}.tablet\:line-height-alt-3{line-height:1.4}.tablet\:line-height-alt-4{line-height:1.5}.tablet\:line-height-alt-5{line-height:1.7}.tablet\:line-height-alt-6{line-height:1.8}.tablet\:margin-neg-1px{margin:-1px}.tablet\:margin-neg-2px{margin:-2px}.tablet\:margin-neg-05{margin:-.25rem}.tablet\:margin-neg-1{margin:-.5rem}.tablet\:margin-neg-105{margin:-.75rem}.tablet\:margin-neg-2{margin:-1rem}.tablet\:margin-neg-205{margin:-1.25rem}.tablet\:margin-neg-3{margin:-1.5rem}.tablet\:margin-1px{margin:1px}.tablet\:margin-2px{margin:2px}.tablet\:margin-05{margin:.25rem}.tablet\:margin-1{margin:.5rem}.tablet\:margin-105{margin:.75rem}.tablet\:margin-2{margin:1rem}.tablet\:margin-205{margin:1.25rem}.tablet\:margin-3{margin:1.5rem}.tablet\:margin-neg-4{margin:-2rem}.tablet\:margin-neg-5{margin:-2.5rem}.tablet\:margin-neg-6{margin:-3rem}.tablet\:margin-neg-7{margin:-3.5rem}.tablet\:margin-neg-8{margin:-4rem}.tablet\:margin-neg-9{margin:-4.5rem}.tablet\:margin-neg-10{margin:-5rem}.tablet\:margin-neg-15{margin:-7.5rem}.tablet\:margin-4{margin:2rem}.tablet\:margin-5{margin:2.5rem}.tablet\:margin-6{margin:3rem}.tablet\:margin-7{margin:3.5rem}.tablet\:margin-8{margin:4rem}.tablet\:margin-9{margin:4.5rem}.tablet\:margin-10{margin:5rem}.tablet\:margin-15{margin:7.5rem}.tablet\:margin-05em{margin:.5em}.tablet\:margin-1em{margin:1em}.tablet\:margin-105em{margin:1.5em}.tablet\:margin-2em{margin:2em}.tablet\:margin-0{margin:0}.tablet\:margin-y-1px{margin-top:1px;margin-bottom:1px}.tablet\:margin-top-1px{margin-top:1px}.tablet\:margin-bottom-1px{margin-bottom:1px}.tablet\:margin-y-2px{margin-top:2px;margin-bottom:2px}.tablet\:margin-top-2px{margin-top:2px}.tablet\:margin-bottom-2px{margin-bottom:2px}.tablet\:margin-y-05{margin-top:.25rem;margin-bottom:.25rem}.tablet\:margin-top-05{margin-top:.25rem}.tablet\:margin-bottom-05{margin-bottom:.25rem}.tablet\:margin-y-1{margin-top:.5rem;margin-bottom:.5rem}.tablet\:margin-top-1{margin-top:.5rem}.tablet\:margin-bottom-1{margin-bottom:.5rem}.tablet\:margin-y-105{margin-top:.75rem;margin-bottom:.75rem}.tablet\:margin-top-105{margin-top:.75rem}.tablet\:margin-bottom-105{margin-bottom:.75rem}.tablet\:margin-y-2{margin-top:1rem;margin-bottom:1rem}.tablet\:margin-top-2{margin-top:1rem}.tablet\:margin-bottom-2{margin-bottom:1rem}.tablet\:margin-y-205{margin-top:1.25rem;margin-bottom:1.25rem}.tablet\:margin-top-205{margin-top:1.25rem}.tablet\:margin-bottom-205{margin-bottom:1.25rem}.tablet\:margin-y-3{margin-top:1.5rem;margin-bottom:1.5rem}.tablet\:margin-top-3{margin-top:1.5rem}.tablet\:margin-bottom-3{margin-bottom:1.5rem}.tablet\:margin-y-neg-1px{margin-top:-1px;margin-bottom:-1px}.tablet\:margin-top-neg-1px{margin-top:-1px}.tablet\:margin-bottom-neg-1px{margin-bottom:-1px}.tablet\:margin-y-neg-2px{margin-top:-2px;margin-bottom:-2px}.tablet\:margin-top-neg-2px{margin-top:-2px}.tablet\:margin-bottom-neg-2px{margin-bottom:-2px}.tablet\:margin-y-neg-05{margin-top:-.25rem;margin-bottom:-.25rem}.tablet\:margin-top-neg-05{margin-top:-.25rem}.tablet\:margin-bottom-neg-05{margin-bottom:-.25rem}.tablet\:margin-y-neg-1{margin-top:-.5rem;margin-bottom:-.5rem}.tablet\:margin-top-neg-1{margin-top:-.5rem}.tablet\:margin-bottom-neg-1{margin-bottom:-.5rem}.tablet\:margin-y-neg-105{margin-top:-.75rem;margin-bottom:-.75rem}.tablet\:margin-top-neg-105{margin-top:-.75rem}.tablet\:margin-bottom-neg-105{margin-bottom:-.75rem}.tablet\:margin-y-neg-2{margin-top:-1rem;margin-bottom:-1rem}.tablet\:margin-top-neg-2{margin-top:-1rem}.tablet\:margin-bottom-neg-2{margin-bottom:-1rem}.tablet\:margin-y-neg-205{margin-top:-1.25rem;margin-bottom:-1.25rem}.tablet\:margin-top-neg-205{margin-top:-1.25rem}.tablet\:margin-bottom-neg-205{margin-bottom:-1.25rem}.tablet\:margin-y-neg-3{margin-top:-1.5rem;margin-bottom:-1.5rem}.tablet\:margin-top-neg-3{margin-top:-1.5rem}.tablet\:margin-bottom-neg-3{margin-bottom:-1.5rem}.tablet\:margin-y-neg-4{margin-top:-2rem;margin-bottom:-2rem}.tablet\:margin-top-neg-4{margin-top:-2rem}.tablet\:margin-bottom-neg-4{margin-bottom:-2rem}.tablet\:margin-y-neg-5{margin-top:-2.5rem;margin-bottom:-2.5rem}.tablet\:margin-top-neg-5{margin-top:-2.5rem}.tablet\:margin-bottom-neg-5{margin-bottom:-2.5rem}.tablet\:margin-y-neg-6{margin-top:-3rem;margin-bottom:-3rem}.tablet\:margin-top-neg-6{margin-top:-3rem}.tablet\:margin-bottom-neg-6{margin-bottom:-3rem}.tablet\:margin-y-neg-7{margin-top:-3.5rem;margin-bottom:-3.5rem}.tablet\:margin-top-neg-7{margin-top:-3.5rem}.tablet\:margin-bottom-neg-7{margin-bottom:-3.5rem}.tablet\:margin-y-neg-8{margin-top:-4rem;margin-bottom:-4rem}.tablet\:margin-top-neg-8{margin-top:-4rem}.tablet\:margin-bottom-neg-8{margin-bottom:-4rem}.tablet\:margin-y-neg-9{margin-top:-4.5rem;margin-bottom:-4.5rem}.tablet\:margin-top-neg-9{margin-top:-4.5rem}.tablet\:margin-bottom-neg-9{margin-bottom:-4.5rem}.tablet\:margin-y-neg-10{margin-top:-5rem;margin-bottom:-5rem}.tablet\:margin-top-neg-10{margin-top:-5rem}.tablet\:margin-bottom-neg-10{margin-bottom:-5rem}.tablet\:margin-y-neg-15{margin-top:-7.5rem;margin-bottom:-7.5rem}.tablet\:margin-top-neg-15{margin-top:-7.5rem}.tablet\:margin-bottom-neg-15{margin-bottom:-7.5rem}.tablet\:margin-y-4{margin-top:2rem;margin-bottom:2rem}.tablet\:margin-top-4{margin-top:2rem}.tablet\:margin-bottom-4{margin-bottom:2rem}.tablet\:margin-y-5{margin-top:2.5rem;margin-bottom:2.5rem}.tablet\:margin-top-5{margin-top:2.5rem}.tablet\:margin-bottom-5{margin-bottom:2.5rem}.tablet\:margin-y-6{margin-top:3rem;margin-bottom:3rem}.tablet\:margin-top-6{margin-top:3rem}.tablet\:margin-bottom-6{margin-bottom:3rem}.tablet\:margin-y-7{margin-top:3.5rem;margin-bottom:3.5rem}.tablet\:margin-top-7{margin-top:3.5rem}.tablet\:margin-bottom-7{margin-bottom:3.5rem}.tablet\:margin-y-8{margin-top:4rem;margin-bottom:4rem}.tablet\:margin-top-8{margin-top:4rem}.tablet\:margin-bottom-8{margin-bottom:4rem}.tablet\:margin-y-9{margin-top:4.5rem;margin-bottom:4.5rem}.tablet\:margin-top-9{margin-top:4.5rem}.tablet\:margin-bottom-9{margin-bottom:4.5rem}.tablet\:margin-y-10{margin-top:5rem;margin-bottom:5rem}.tablet\:margin-top-10{margin-top:5rem}.tablet\:margin-bottom-10{margin-bottom:5rem}.tablet\:margin-y-15{margin-top:7.5rem;margin-bottom:7.5rem}.tablet\:margin-top-15{margin-top:7.5rem}.tablet\:margin-bottom-15{margin-bottom:7.5rem}.tablet\:margin-y-05em{margin-top:.5em;margin-bottom:.5em}.tablet\:margin-top-05em{margin-top:.5em}.tablet\:margin-bottom-05em{margin-bottom:.5em}.tablet\:margin-y-1em{margin-top:1em;margin-bottom:1em}.tablet\:margin-top-1em{margin-top:1em}.tablet\:margin-bottom-1em{margin-bottom:1em}.tablet\:margin-y-105em{margin-top:1.5em;margin-bottom:1.5em}.tablet\:margin-top-105em{margin-top:1.5em}.tablet\:margin-bottom-105em{margin-bottom:1.5em}.tablet\:margin-y-2em{margin-top:2em;margin-bottom:2em}.tablet\:margin-top-2em{margin-top:2em}.tablet\:margin-bottom-2em{margin-bottom:2em}.tablet\:margin-y-0{margin-top:0;margin-bottom:0}.tablet\:margin-top-0{margin-top:0}.tablet\:margin-bottom-0{margin-bottom:0}.tablet\:margin-y-auto{margin-top:auto;margin-bottom:auto}.tablet\:margin-top-auto{margin-top:auto}.tablet\:margin-bottom-auto{margin-bottom:auto}.tablet\:margin-x-1px{margin-left:1px;margin-right:1px}.tablet\:margin-right-1px{margin-right:1px}.tablet\:margin-left-1px{margin-left:1px}.tablet\:margin-x-2px{margin-left:2px;margin-right:2px}.tablet\:margin-right-2px{margin-right:2px}.tablet\:margin-left-2px{margin-left:2px}.tablet\:margin-x-05{margin-left:.25rem;margin-right:.25rem}.tablet\:margin-right-05{margin-right:.25rem}.tablet\:margin-left-05{margin-left:.25rem}.tablet\:margin-x-1{margin-left:.5rem;margin-right:.5rem}.tablet\:margin-right-1{margin-right:.5rem}.tablet\:margin-left-1{margin-left:.5rem}.tablet\:margin-x-105{margin-left:.75rem;margin-right:.75rem}.tablet\:margin-right-105{margin-right:.75rem}.tablet\:margin-left-105{margin-left:.75rem}.tablet\:margin-x-2{margin-left:1rem;margin-right:1rem}.tablet\:margin-right-2{margin-right:1rem}.tablet\:margin-left-2{margin-left:1rem}.tablet\:margin-x-205{margin-left:1.25rem;margin-right:1.25rem}.tablet\:margin-right-205{margin-right:1.25rem}.tablet\:margin-left-205{margin-left:1.25rem}.tablet\:margin-x-3{margin-left:1.5rem;margin-right:1.5rem}.tablet\:margin-right-3{margin-right:1.5rem}.tablet\:margin-left-3{margin-left:1.5rem}.tablet\:margin-x-neg-1px{margin-left:-1px;margin-right:-1px}.tablet\:margin-right-neg-1px{margin-right:-1px}.tablet\:margin-left-neg-1px{margin-left:-1px}.tablet\:margin-x-neg-2px{margin-left:-2px;margin-right:-2px}.tablet\:margin-right-neg-2px{margin-right:-2px}.tablet\:margin-left-neg-2px{margin-left:-2px}.tablet\:margin-x-neg-05{margin-left:-.25rem;margin-right:-.25rem}.tablet\:margin-right-neg-05{margin-right:-.25rem}.tablet\:margin-left-neg-05{margin-left:-.25rem}.tablet\:margin-x-neg-1{margin-left:-.5rem;margin-right:-.5rem}.tablet\:margin-right-neg-1{margin-right:-.5rem}.tablet\:margin-left-neg-1{margin-left:-.5rem}.tablet\:margin-x-neg-105{margin-left:-.75rem;margin-right:-.75rem}.tablet\:margin-right-neg-105{margin-right:-.75rem}.tablet\:margin-left-neg-105{margin-left:-.75rem}.tablet\:margin-x-neg-2{margin-left:-1rem;margin-right:-1rem}.tablet\:margin-right-neg-2{margin-right:-1rem}.tablet\:margin-left-neg-2{margin-left:-1rem}.tablet\:margin-x-neg-205{margin-left:-1.25rem;margin-right:-1.25rem}.tablet\:margin-right-neg-205{margin-right:-1.25rem}.tablet\:margin-left-neg-205{margin-left:-1.25rem}.tablet\:margin-x-neg-3{margin-left:-1.5rem;margin-right:-1.5rem}.tablet\:margin-right-neg-3{margin-right:-1.5rem}.tablet\:margin-left-neg-3{margin-left:-1.5rem}.tablet\:margin-x-neg-4{margin-left:-2rem;margin-right:-2rem}.tablet\:margin-right-neg-4{margin-right:-2rem}.tablet\:margin-left-neg-4{margin-left:-2rem}.tablet\:margin-x-neg-5{margin-left:-2.5rem;margin-right:-2.5rem}.tablet\:margin-right-neg-5{margin-right:-2.5rem}.tablet\:margin-left-neg-5{margin-left:-2.5rem}.tablet\:margin-x-neg-6{margin-left:-3rem;margin-right:-3rem}.tablet\:margin-right-neg-6{margin-right:-3rem}.tablet\:margin-left-neg-6{margin-left:-3rem}.tablet\:margin-x-neg-7{margin-left:-3.5rem;margin-right:-3.5rem}.tablet\:margin-right-neg-7{margin-right:-3.5rem}.tablet\:margin-left-neg-7{margin-left:-3.5rem}.tablet\:margin-x-neg-8{margin-left:-4rem;margin-right:-4rem}.tablet\:margin-right-neg-8{margin-right:-4rem}.tablet\:margin-left-neg-8{margin-left:-4rem}.tablet\:margin-x-neg-9{margin-left:-4.5rem;margin-right:-4.5rem}.tablet\:margin-right-neg-9{margin-right:-4.5rem}.tablet\:margin-left-neg-9{margin-left:-4.5rem}.tablet\:margin-x-neg-10{margin-left:-5rem;margin-right:-5rem}.tablet\:margin-right-neg-10{margin-right:-5rem}.tablet\:margin-left-neg-10{margin-left:-5rem}.tablet\:margin-x-neg-15{margin-left:-7.5rem;margin-right:-7.5rem}.tablet\:margin-right-neg-15{margin-right:-7.5rem}.tablet\:margin-left-neg-15{margin-left:-7.5rem}.tablet\:margin-x-4{margin-left:2rem;margin-right:2rem}.tablet\:margin-right-4{margin-right:2rem}.tablet\:margin-left-4{margin-left:2rem}.tablet\:margin-x-5{margin-left:2.5rem;margin-right:2.5rem}.tablet\:margin-right-5{margin-right:2.5rem}.tablet\:margin-left-5{margin-left:2.5rem}.tablet\:margin-x-6{margin-left:3rem;margin-right:3rem}.tablet\:margin-right-6{margin-right:3rem}.tablet\:margin-left-6{margin-left:3rem}.tablet\:margin-x-7{margin-left:3.5rem;margin-right:3.5rem}.tablet\:margin-right-7{margin-right:3.5rem}.tablet\:margin-left-7{margin-left:3.5rem}.tablet\:margin-x-8{margin-left:4rem;margin-right:4rem}.tablet\:margin-right-8{margin-right:4rem}.tablet\:margin-left-8{margin-left:4rem}.tablet\:margin-x-9{margin-left:4.5rem;margin-right:4.5rem}.tablet\:margin-right-9{margin-right:4.5rem}.tablet\:margin-left-9{margin-left:4.5rem}.tablet\:margin-x-10{margin-left:5rem;margin-right:5rem}.tablet\:margin-right-10{margin-right:5rem}.tablet\:margin-left-10{margin-left:5rem}.tablet\:margin-x-15{margin-left:7.5rem;margin-right:7.5rem}.tablet\:margin-right-15{margin-right:7.5rem}.tablet\:margin-left-15{margin-left:7.5rem}.tablet\:margin-x-card{margin-left:10rem;margin-right:10rem}.tablet\:margin-right-card{margin-right:10rem}.tablet\:margin-left-card{margin-left:10rem}.tablet\:margin-x-card-lg{margin-left:15rem;margin-right:15rem}.tablet\:margin-right-card-lg{margin-right:15rem}.tablet\:margin-left-card-lg{margin-left:15rem}.tablet\:margin-x-mobile{margin-left:20rem;margin-right:20rem}.tablet\:margin-right-mobile{margin-right:20rem}.tablet\:margin-left-mobile{margin-left:20rem}.tablet\:margin-x-05em{margin-left:.5em;margin-right:.5em}.tablet\:margin-right-05em{margin-right:.5em}.tablet\:margin-left-05em{margin-left:.5em}.tablet\:margin-x-1em{margin-left:1em;margin-right:1em}.tablet\:margin-right-1em{margin-right:1em}.tablet\:margin-left-1em{margin-left:1em}.tablet\:margin-x-105em{margin-left:1.5em;margin-right:1.5em}.tablet\:margin-right-105em{margin-right:1.5em}.tablet\:margin-left-105em{margin-left:1.5em}.tablet\:margin-x-2em{margin-left:2em;margin-right:2em}.tablet\:margin-right-2em{margin-right:2em}.tablet\:margin-left-2em{margin-left:2em}.tablet\:margin-x-0{margin-left:0;margin-right:0}.tablet\:margin-right-0{margin-right:0}.tablet\:margin-left-0{margin-left:0}.tablet\:margin-x-auto{margin-left:auto;margin-right:auto}.tablet\:margin-right-auto{margin-right:auto}.tablet\:margin-left-auto{margin-left:auto}.tablet\:measure-1{max-width:44ex}.tablet\:measure-2{max-width:60ex}.tablet\:measure-3{max-width:64ex}.tablet\:measure-4{max-width:68ex}.tablet\:measure-5{max-width:72ex}.tablet\:measure-6{max-width:88ex}.tablet\:measure-none{max-width:none}.tablet\:order-first{order:-1}.tablet\:order-last{order:999}.tablet\:order-initial{order:initial}.tablet\:order-0{order:0}.tablet\:order-1{order:1}.tablet\:order-2{order:2}.tablet\:order-3{order:3}.tablet\:order-4{order:4}.tablet\:order-5{order:5}.tablet\:order-6{order:6}.tablet\:order-7{order:7}.tablet\:order-8{order:8}.tablet\:order-9{order:9}.tablet\:order-10{order:10}.tablet\:order-11{order:11}.tablet\:padding-1px{padding:1px}.tablet\:padding-y-1px{padding-top:1px;padding-bottom:1px}.tablet\:padding-x-1px{padding-left:1px;padding-right:1px}.tablet\:padding-top-1px{padding-top:1px}.tablet\:padding-right-1px{padding-right:1px}.tablet\:padding-bottom-1px{padding-bottom:1px}.tablet\:padding-left-1px{padding-left:1px}.tablet\:padding-2px{padding:2px}.tablet\:padding-y-2px{padding-top:2px;padding-bottom:2px}.tablet\:padding-x-2px{padding-left:2px;padding-right:2px}.tablet\:padding-top-2px{padding-top:2px}.tablet\:padding-right-2px{padding-right:2px}.tablet\:padding-bottom-2px{padding-bottom:2px}.tablet\:padding-left-2px{padding-left:2px}.tablet\:padding-05{padding:.25rem}.tablet\:padding-y-05{padding-top:.25rem;padding-bottom:.25rem}.tablet\:padding-x-05{padding-left:.25rem;padding-right:.25rem}.tablet\:padding-top-05{padding-top:.25rem}.tablet\:padding-right-05{padding-right:.25rem}.tablet\:padding-bottom-05{padding-bottom:.25rem}.tablet\:padding-left-05{padding-left:.25rem}.tablet\:padding-1{padding:.5rem}.tablet\:padding-y-1{padding-top:.5rem;padding-bottom:.5rem}.tablet\:padding-x-1{padding-left:.5rem;padding-right:.5rem}.tablet\:padding-top-1{padding-top:.5rem}.tablet\:padding-right-1{padding-right:.5rem}.tablet\:padding-bottom-1{padding-bottom:.5rem}.tablet\:padding-left-1{padding-left:.5rem}.tablet\:padding-105{padding:.75rem}.tablet\:padding-y-105{padding-top:.75rem;padding-bottom:.75rem}.tablet\:padding-x-105{padding-left:.75rem;padding-right:.75rem}.tablet\:padding-top-105{padding-top:.75rem}.tablet\:padding-right-105{padding-right:.75rem}.tablet\:padding-bottom-105{padding-bottom:.75rem}.tablet\:padding-left-105{padding-left:.75rem}.tablet\:padding-2{padding:1rem}.tablet\:padding-y-2{padding-top:1rem;padding-bottom:1rem}.tablet\:padding-x-2{padding-left:1rem;padding-right:1rem}.tablet\:padding-top-2{padding-top:1rem}.tablet\:padding-right-2{padding-right:1rem}.tablet\:padding-bottom-2{padding-bottom:1rem}.tablet\:padding-left-2{padding-left:1rem}.tablet\:padding-205{padding:1.25rem}.tablet\:padding-y-205{padding-top:1.25rem;padding-bottom:1.25rem}.tablet\:padding-x-205{padding-left:1.25rem;padding-right:1.25rem}.tablet\:padding-top-205{padding-top:1.25rem}.tablet\:padding-right-205{padding-right:1.25rem}.tablet\:padding-bottom-205{padding-bottom:1.25rem}.tablet\:padding-left-205{padding-left:1.25rem}.tablet\:padding-3{padding:1.5rem}.tablet\:padding-y-3{padding-top:1.5rem;padding-bottom:1.5rem}.tablet\:padding-x-3{padding-left:1.5rem;padding-right:1.5rem}.tablet\:padding-top-3{padding-top:1.5rem}.tablet\:padding-right-3{padding-right:1.5rem}.tablet\:padding-bottom-3{padding-bottom:1.5rem}.tablet\:padding-left-3{padding-left:1.5rem}.tablet\:padding-4{padding:2rem}.tablet\:padding-y-4{padding-top:2rem;padding-bottom:2rem}.tablet\:padding-x-4{padding-left:2rem;padding-right:2rem}.tablet\:padding-top-4{padding-top:2rem}.tablet\:padding-right-4{padding-right:2rem}.tablet\:padding-bottom-4{padding-bottom:2rem}.tablet\:padding-left-4{padding-left:2rem}.tablet\:padding-5{padding:2.5rem}.tablet\:padding-y-5{padding-top:2.5rem;padding-bottom:2.5rem}.tablet\:padding-x-5{padding-left:2.5rem;padding-right:2.5rem}.tablet\:padding-top-5{padding-top:2.5rem}.tablet\:padding-right-5{padding-right:2.5rem}.tablet\:padding-bottom-5{padding-bottom:2.5rem}.tablet\:padding-left-5{padding-left:2.5rem}.tablet\:padding-6{padding:3rem}.tablet\:padding-y-6{padding-top:3rem;padding-bottom:3rem}.tablet\:padding-x-6{padding-left:3rem;padding-right:3rem}.tablet\:padding-top-6{padding-top:3rem}.tablet\:padding-right-6{padding-right:3rem}.tablet\:padding-bottom-6{padding-bottom:3rem}.tablet\:padding-left-6{padding-left:3rem}.tablet\:padding-7{padding:3.5rem}.tablet\:padding-y-7{padding-top:3.5rem;padding-bottom:3.5rem}.tablet\:padding-x-7{padding-left:3.5rem;padding-right:3.5rem}.tablet\:padding-top-7{padding-top:3.5rem}.tablet\:padding-right-7{padding-right:3.5rem}.tablet\:padding-bottom-7{padding-bottom:3.5rem}.tablet\:padding-left-7{padding-left:3.5rem}.tablet\:padding-8{padding:4rem}.tablet\:padding-y-8{padding-top:4rem;padding-bottom:4rem}.tablet\:padding-x-8{padding-left:4rem;padding-right:4rem}.tablet\:padding-top-8{padding-top:4rem}.tablet\:padding-right-8{padding-right:4rem}.tablet\:padding-bottom-8{padding-bottom:4rem}.tablet\:padding-left-8{padding-left:4rem}.tablet\:padding-9{padding:4.5rem}.tablet\:padding-y-9{padding-top:4.5rem;padding-bottom:4.5rem}.tablet\:padding-x-9{padding-left:4.5rem;padding-right:4.5rem}.tablet\:padding-top-9{padding-top:4.5rem}.tablet\:padding-right-9{padding-right:4.5rem}.tablet\:padding-bottom-9{padding-bottom:4.5rem}.tablet\:padding-left-9{padding-left:4.5rem}.tablet\:padding-10{padding:5rem}.tablet\:padding-y-10{padding-top:5rem;padding-bottom:5rem}.tablet\:padding-x-10{padding-left:5rem;padding-right:5rem}.tablet\:padding-top-10{padding-top:5rem}.tablet\:padding-right-10{padding-right:5rem}.tablet\:padding-bottom-10{padding-bottom:5rem}.tablet\:padding-left-10{padding-left:5rem}.tablet\:padding-15{padding:7.5rem}.tablet\:padding-y-15{padding-top:7.5rem;padding-bottom:7.5rem}.tablet\:padding-x-15{padding-left:7.5rem;padding-right:7.5rem}.tablet\:padding-top-15{padding-top:7.5rem}.tablet\:padding-right-15{padding-right:7.5rem}.tablet\:padding-bottom-15{padding-bottom:7.5rem}.tablet\:padding-left-15{padding-left:7.5rem}.tablet\:padding-0{padding:0}.tablet\:padding-y-0{padding-top:0;padding-bottom:0}.tablet\:padding-x-0{padding-left:0;padding-right:0}.tablet\:padding-top-0{padding-top:0}.tablet\:padding-right-0{padding-right:0}.tablet\:padding-bottom-0{padding-bottom:0}.tablet\:padding-left-0{padding-left:0}.tablet\:width-1px{width:1px}.tablet\:width-2px{width:2px}.tablet\:width-05{width:.25rem}.tablet\:width-1{width:.5rem}.tablet\:width-105{width:.75rem}.tablet\:width-2{width:1rem}.tablet\:width-205{width:1.25rem}.tablet\:width-3{width:1.5rem}.tablet\:width-4{width:2rem}.tablet\:width-5{width:2.5rem}.tablet\:width-6{width:3rem}.tablet\:width-7{width:3.5rem}.tablet\:width-8{width:4rem}.tablet\:width-9{width:4.5rem}.tablet\:width-10{width:5rem}.tablet\:width-15{width:7.5rem}.tablet\:width-card{width:10rem}.tablet\:width-card-lg{width:15rem}.tablet\:width-mobile{width:20rem}.tablet\:width-mobile-lg{width:30rem}.tablet\:width-tablet{width:40rem}.tablet\:width-tablet-lg{width:55rem}.tablet\:width-desktop{width:64rem}.tablet\:width-desktop-lg{width:75rem}.tablet\:width-widescreen{width:87.5rem}.tablet\:width-0{width:0}.tablet\:width-full{width:100%}.tablet\:width-auto{width:auto}}@media all and (min-width:64em){.desktop\:border-1px,.desktop\:hover\:border-1px:hover{border:1px solid}.desktop\:border-y-1px,.desktop\:hover\:border-y-1px:hover{border-top:1px solid;border-bottom:1px solid}.desktop\:border-x-1px,.desktop\:hover\:border-x-1px:hover{border-left:1px solid;border-right:1px solid}.desktop\:border-top-1px,.desktop\:hover\:border-top-1px:hover{border-top:1px solid}.desktop\:border-right-1px,.desktop\:hover\:border-right-1px:hover{border-right:1px solid}.desktop\:border-bottom-1px,.desktop\:hover\:border-bottom-1px:hover{border-bottom:1px solid}.desktop\:border-left-1px,.desktop\:hover\:border-left-1px:hover{border-left:1px solid}.desktop\:border-2px,.desktop\:hover\:border-2px:hover{border:2px solid}.desktop\:border-y-2px,.desktop\:hover\:border-y-2px:hover{border-top:2px solid;border-bottom:2px solid}.desktop\:border-x-2px,.desktop\:hover\:border-x-2px:hover{border-left:2px solid;border-right:2px solid}.desktop\:border-top-2px,.desktop\:hover\:border-top-2px:hover{border-top:2px solid}.desktop\:border-right-2px,.desktop\:hover\:border-right-2px:hover{border-right:2px solid}.desktop\:border-bottom-2px,.desktop\:hover\:border-bottom-2px:hover{border-bottom:2px solid}.desktop\:border-left-2px,.desktop\:hover\:border-left-2px:hover{border-left:2px solid}.desktop\:border-05,.desktop\:hover\:border-05:hover{border:.25rem solid}.desktop\:border-y-05,.desktop\:hover\:border-y-05:hover{border-top:.25rem solid;border-bottom:.25rem solid}.desktop\:border-x-05,.desktop\:hover\:border-x-05:hover{border-left:.25rem solid;border-right:.25rem solid}.desktop\:border-top-05,.desktop\:hover\:border-top-05:hover{border-top:.25rem solid}.desktop\:border-right-05,.desktop\:hover\:border-right-05:hover{border-right:.25rem solid}.desktop\:border-bottom-05,.desktop\:hover\:border-bottom-05:hover{border-bottom:.25rem solid}.desktop\:border-left-05,.desktop\:hover\:border-left-05:hover{border-left:.25rem solid}.desktop\:border-1,.desktop\:hover\:border-1:hover{border:.5rem solid}.desktop\:border-y-1,.desktop\:hover\:border-y-1:hover{border-top:.5rem solid;border-bottom:.5rem solid}.desktop\:border-x-1,.desktop\:hover\:border-x-1:hover{border-left:.5rem solid;border-right:.5rem solid}.desktop\:border-top-1,.desktop\:hover\:border-top-1:hover{border-top:.5rem solid}.desktop\:border-right-1,.desktop\:hover\:border-right-1:hover{border-right:.5rem solid}.desktop\:border-bottom-1,.desktop\:hover\:border-bottom-1:hover{border-bottom:.5rem solid}.desktop\:border-left-1,.desktop\:hover\:border-left-1:hover{border-left:.5rem solid}.desktop\:border-105,.desktop\:hover\:border-105:hover{border:.75rem solid}.desktop\:border-y-105,.desktop\:hover\:border-y-105:hover{border-top:.75rem solid;border-bottom:.75rem solid}.desktop\:border-x-105,.desktop\:hover\:border-x-105:hover{border-left:.75rem solid;border-right:.75rem solid}.desktop\:border-top-105,.desktop\:hover\:border-top-105:hover{border-top:.75rem solid}.desktop\:border-right-105,.desktop\:hover\:border-right-105:hover{border-right:.75rem solid}.desktop\:border-bottom-105,.desktop\:hover\:border-bottom-105:hover{border-bottom:.75rem solid}.desktop\:border-left-105,.desktop\:hover\:border-left-105:hover{border-left:.75rem solid}.desktop\:border-2,.desktop\:hover\:border-2:hover{border:1rem solid}.desktop\:border-y-2,.desktop\:hover\:border-y-2:hover{border-top:1rem solid;border-bottom:1rem solid}.desktop\:border-x-2,.desktop\:hover\:border-x-2:hover{border-left:1rem solid;border-right:1rem solid}.desktop\:border-top-2,.desktop\:hover\:border-top-2:hover{border-top:1rem solid}.desktop\:border-right-2,.desktop\:hover\:border-right-2:hover{border-right:1rem solid}.desktop\:border-bottom-2,.desktop\:hover\:border-bottom-2:hover{border-bottom:1rem solid}.desktop\:border-left-2,.desktop\:hover\:border-left-2:hover{border-left:1rem solid}.desktop\:border-205,.desktop\:hover\:border-205:hover{border:1.25rem solid}.desktop\:border-y-205,.desktop\:hover\:border-y-205:hover{border-top:1.25rem solid;border-bottom:1.25rem solid}.desktop\:border-x-205,.desktop\:hover\:border-x-205:hover{border-left:1.25rem solid;border-right:1.25rem solid}.desktop\:border-top-205,.desktop\:hover\:border-top-205:hover{border-top:1.25rem solid}.desktop\:border-right-205,.desktop\:hover\:border-right-205:hover{border-right:1.25rem solid}.desktop\:border-bottom-205,.desktop\:hover\:border-bottom-205:hover{border-bottom:1.25rem solid}.desktop\:border-left-205,.desktop\:hover\:border-left-205:hover{border-left:1.25rem solid}.desktop\:border-3,.desktop\:hover\:border-3:hover{border:1.5rem solid}.desktop\:border-y-3,.desktop\:hover\:border-y-3:hover{border-top:1.5rem solid;border-bottom:1.5rem solid}.desktop\:border-x-3,.desktop\:hover\:border-x-3:hover{border-left:1.5rem solid;border-right:1.5rem solid}.desktop\:border-top-3,.desktop\:hover\:border-top-3:hover{border-top:1.5rem solid}.desktop\:border-right-3,.desktop\:hover\:border-right-3:hover{border-right:1.5rem solid}.desktop\:border-bottom-3,.desktop\:hover\:border-bottom-3:hover{border-bottom:1.5rem solid}.desktop\:border-left-3,.desktop\:hover\:border-left-3:hover{border-left:1.5rem solid}.desktop\:border-0,.desktop\:hover\:border-0:hover{border:0 solid}.desktop\:border-y-0,.desktop\:hover\:border-y-0:hover{border-top:0 solid;border-bottom:0 solid}.desktop\:border-x-0,.desktop\:hover\:border-x-0:hover{border-left:0 solid;border-right:0 solid}.desktop\:border-top-0,.desktop\:hover\:border-top-0:hover{border-top:0 solid}.desktop\:border-right-0,.desktop\:hover\:border-right-0:hover{border-right:0 solid}.desktop\:border-bottom-0,.desktop\:hover\:border-bottom-0:hover{border-bottom:0 solid}.desktop\:border-left-0,.desktop\:hover\:border-left-0:hover{border-left:0 solid}.desktop\:border,.desktop\:hover\:border:hover{border:1px solid}.desktop\:border-y,.desktop\:hover\:border-y:hover{border-top:1px solid;border-bottom:1px solid}.desktop\:border-x,.desktop\:hover\:border-x:hover{border-left:1px solid;border-right:1px solid}.desktop\:border-top,.desktop\:hover\:border-top:hover{border-top:1px solid}.desktop\:border-right,.desktop\:hover\:border-right:hover{border-right:1px solid}.desktop\:border-bottom,.desktop\:hover\:border-bottom:hover{border-bottom:1px solid}.desktop\:border-left,.desktop\:hover\:border-left:hover{border-left:1px solid}.desktop\:border-transparent,.desktop\:hover\:border-transparent:hover{border-color:transparent}.desktop\:border-black,.desktop\:hover\:border-black:hover{border-color:#000}.desktop\:border-white,.desktop\:hover\:border-white:hover{border-color:#fff}.desktop\:border-red,.desktop\:hover\:border-red:hover{border-color:#e52207}.desktop\:border-orange,.desktop\:hover\:border-orange:hover{border-color:#e66f0e}.desktop\:border-gold,.desktop\:hover\:border-gold:hover{border-color:#ffbe2e}.desktop\:border-yellow,.desktop\:hover\:border-yellow:hover{border-color:#fee685}.desktop\:border-green,.desktop\:hover\:border-green:hover{border-color:#538200}.desktop\:border-mint,.desktop\:hover\:border-mint:hover{border-color:#04c585}.desktop\:border-cyan,.desktop\:hover\:border-cyan:hover{border-color:#009ec1}.desktop\:border-blue,.desktop\:hover\:border-blue:hover{border-color:#0076d6}.desktop\:border-indigo,.desktop\:hover\:border-indigo:hover{border-color:#676cc8}.desktop\:border-violet,.desktop\:hover\:border-violet:hover{border-color:#8168b3}.desktop\:border-magenta,.desktop\:hover\:border-magenta:hover{border-color:#d72d79}.desktop\:border-gray-5,.desktop\:hover\:border-gray-5:hover{border-color:#f0f0f0}.desktop\:border-gray-10,.desktop\:hover\:border-gray-10:hover{border-color:#e6e6e6}.desktop\:border-gray-30,.desktop\:hover\:border-gray-30:hover{border-color:#adadad}.desktop\:border-gray-50,.desktop\:hover\:border-gray-50:hover{border-color:#757575}.desktop\:border-gray-70,.desktop\:hover\:border-gray-70:hover{border-color:#454545}.desktop\:border-gray-90,.desktop\:hover\:border-gray-90:hover{border-color:#1b1b1b}.desktop\:border-base-lightest,.desktop\:hover\:border-base-lightest:hover{border-color:#f0f0f0}.desktop\:border-base-lighter,.desktop\:hover\:border-base-lighter:hover{border-color:#dfe1e2}.desktop\:border-base-light,.desktop\:hover\:border-base-light:hover{border-color:#a9aeb1}.desktop\:border-base,.desktop\:hover\:border-base:hover{border-color:#71767a}.desktop\:border-base-dark,.desktop\:hover\:border-base-dark:hover{border-color:#565c65}.desktop\:border-base-darker,.desktop\:hover\:border-base-darker:hover{border-color:#3d4551}.desktop\:border-base-darkest,.desktop\:border-ink,.desktop\:hover\:border-base-darkest:hover,.desktop\:hover\:border-ink:hover{border-color:#1b1b1b}.desktop\:border-primary-lighter,.desktop\:hover\:border-primary-lighter:hover{border-color:#d9e8f6}.desktop\:border-primary-light,.desktop\:hover\:border-primary-light:hover{border-color:#73b3e7}.desktop\:border-primary,.desktop\:hover\:border-primary:hover{border-color:#005ea2}.desktop\:border-primary-vivid,.desktop\:hover\:border-primary-vivid:hover{border-color:#0050d8}.desktop\:border-primary-dark,.desktop\:hover\:border-primary-dark:hover{border-color:#1a4480}.desktop\:border-primary-darker,.desktop\:hover\:border-primary-darker:hover{border-color:#162e51}.desktop\:border-secondary-lighter,.desktop\:hover\:border-secondary-lighter:hover{border-color:#f3e1e4}.desktop\:border-secondary-light,.desktop\:hover\:border-secondary-light:hover{border-color:#f2938c}.desktop\:border-secondary,.desktop\:hover\:border-secondary:hover{border-color:#d83933}.desktop\:border-secondary-vivid,.desktop\:hover\:border-secondary-vivid:hover{border-color:#e41d3d}.desktop\:border-secondary-dark,.desktop\:hover\:border-secondary-dark:hover{border-color:#b50909}.desktop\:border-secondary-darker,.desktop\:hover\:border-secondary-darker:hover{border-color:#8b0a03}.desktop\:border-accent-warm-darker,.desktop\:hover\:border-accent-warm-darker:hover{border-color:#775540}.desktop\:border-accent-warm-dark,.desktop\:hover\:border-accent-warm-dark:hover{border-color:#c05600}.desktop\:border-accent-warm,.desktop\:hover\:border-accent-warm:hover{border-color:#fa9441}.desktop\:border-accent-warm-light,.desktop\:hover\:border-accent-warm-light:hover{border-color:#ffbc78}.desktop\:border-accent-warm-lighter,.desktop\:hover\:border-accent-warm-lighter:hover{border-color:#f2e4d4}.desktop\:border-accent-cool-darker,.desktop\:hover\:border-accent-cool-darker:hover{border-color:#07648d}.desktop\:border-accent-cool-dark,.desktop\:hover\:border-accent-cool-dark:hover{border-color:#28a0cb}.desktop\:border-accent-cool,.desktop\:hover\:border-accent-cool:hover{border-color:#00bde3}.desktop\:border-accent-cool-light,.desktop\:hover\:border-accent-cool-light:hover{border-color:#97d4ea}.desktop\:border-accent-cool-lighter,.desktop\:hover\:border-accent-cool-lighter:hover{border-color:#e1f3f8}.desktop\:border-error-lighter,.desktop\:hover\:border-error-lighter:hover{border-color:#f4e3db}.desktop\:border-error-light,.desktop\:hover\:border-error-light:hover{border-color:#f39268}.desktop\:border-error,.desktop\:hover\:border-error:hover{border-color:#d54309}.desktop\:border-error-dark,.desktop\:hover\:border-error-dark:hover{border-color:#b50909}.desktop\:border-error-darker,.desktop\:hover\:border-error-darker:hover{border-color:#6f3331}.desktop\:border-warning-lighter,.desktop\:hover\:border-warning-lighter:hover{border-color:#faf3d1}.desktop\:border-warning-light,.desktop\:hover\:border-warning-light:hover{border-color:#fee685}.desktop\:border-warning,.desktop\:hover\:border-warning:hover{border-color:#ffbe2e}.desktop\:border-warning-dark,.desktop\:hover\:border-warning-dark:hover{border-color:#e5a000}.desktop\:border-warning-darker,.desktop\:hover\:border-warning-darker:hover{border-color:#936f38}.desktop\:border-success-lighter,.desktop\:hover\:border-success-lighter:hover{border-color:#ecf3ec}.desktop\:border-success-light,.desktop\:hover\:border-success-light:hover{border-color:#70e17b}.desktop\:border-success,.desktop\:hover\:border-success:hover{border-color:#00a91c}.desktop\:border-success-dark,.desktop\:hover\:border-success-dark:hover{border-color:#008817}.desktop\:border-success-darker,.desktop\:hover\:border-success-darker:hover{border-color:#216e1f}.desktop\:border-info-lighter,.desktop\:hover\:border-info-lighter:hover{border-color:#e7f6f8}.desktop\:border-info-light,.desktop\:hover\:border-info-light:hover{border-color:#99deea}.desktop\:border-info,.desktop\:hover\:border-info:hover{border-color:#00bde3}.desktop\:border-info-dark,.desktop\:hover\:border-info-dark:hover{border-color:#009ec1}.desktop\:border-info-darker,.desktop\:hover\:border-info-darker:hover{border-color:#2e6276}.desktop\:border-disabled-lighter,.desktop\:hover\:border-disabled-lighter:hover{border-color:#c9c9c9}.desktop\:border-disabled-light,.desktop\:hover\:border-disabled-light:hover{border-color:#919191}.desktop\:border-disabled,.desktop\:hover\:border-disabled:hover{border-color:#757575}.desktop\:border-disabled-dark,.desktop\:hover\:border-disabled-dark:hover{border-color:#454545}.desktop\:border-disabled-darker,.desktop\:hover\:border-disabled-darker:hover{border-color:#1b1b1b}.desktop\:border-emergency,.desktop\:hover\:border-emergency:hover{border-color:#9c3d10}.desktop\:border-emergency-dark,.desktop\:hover\:border-emergency-dark:hover{border-color:#332d29}.desktop\:radius-0{border-radius:0}.desktop\:radius-top-0{border-top-left-radius:0;border-top-right-radius:0}.desktop\:radius-right-0{border-top-right-radius:0;border-bottom-right-radius:0}.desktop\:radius-bottom-0{border-bottom-left-radius:0;border-bottom-right-radius:0}.desktop\:radius-left-0{border-top-left-radius:0;border-bottom-left-radius:0}.desktop\:radius-sm{border-radius:2px}.desktop\:radius-top-sm{border-top-left-radius:2px;border-top-right-radius:2px}.desktop\:radius-right-sm{border-top-right-radius:2px;border-bottom-right-radius:2px}.desktop\:radius-bottom-sm{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.desktop\:radius-left-sm{border-top-left-radius:2px;border-bottom-left-radius:2px}.desktop\:radius-md{border-radius:.25rem}.desktop\:radius-top-md{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.desktop\:radius-right-md{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.desktop\:radius-bottom-md{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.desktop\:radius-left-md{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.desktop\:radius-lg{border-radius:.5rem}.desktop\:radius-top-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.desktop\:radius-right-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.desktop\:radius-bottom-lg{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.desktop\:radius-left-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.desktop\:radius-pill{border-radius:99rem}.desktop\:radius-top-pill{border-top-left-radius:99rem;border-top-right-radius:99rem}.desktop\:radius-right-pill{border-top-right-radius:99rem;border-bottom-right-radius:99rem}.desktop\:radius-bottom-pill{border-bottom-left-radius:99rem;border-bottom-right-radius:99rem}.desktop\:radius-left-pill{border-top-left-radius:99rem;border-bottom-left-radius:99rem}.desktop\:display-block{display:block}.desktop\:display-flex{display:flex}.desktop\:display-none{display:none}.desktop\:display-inline{display:inline}.desktop\:display-inline-block{display:inline-block}.desktop\:display-inline-flex{display:inline-flex}.desktop\:display-table{display:table}.desktop\:display-table-cell{display:table-cell}.desktop\:display-table-row{display:table-row}.desktop\:font-mono-3xs{font-size:.77rem}.desktop\:font-mono-2xs{font-size:.83rem}.desktop\:font-mono-xs{font-size:.89rem}.desktop\:font-mono-sm{font-size:.95rem}.desktop\:font-mono-md{font-size:1.01rem}.desktop\:font-mono-lg{font-size:1.31rem}.desktop\:font-mono-xl{font-size:1.91rem}.desktop\:font-mono-2xl{font-size:2.38rem}.desktop\:font-mono-3xl{font-size:2.86rem}.desktop\:font-sans-3xs{font-size:.87rem}.desktop\:font-sans-2xs{font-size:.93rem}.desktop\:font-sans-xs{font-size:1rem}.desktop\:font-sans-sm{font-size:1.06rem}.desktop\:font-sans-md{font-size:1.13rem}.desktop\:font-sans-lg{font-size:1.46rem}.desktop\:font-sans-xl{font-size:2.13rem}.desktop\:font-sans-2xl{font-size:2.66rem}.desktop\:font-sans-3xl{font-size:3.19rem}.desktop\:font-serif-3xs{font-size:.79rem}.desktop\:font-serif-2xs{font-size:.85rem}.desktop\:font-serif-xs{font-size:.91rem}.desktop\:font-serif-sm{font-size:.98rem}.desktop\:font-serif-md{font-size:1.04rem}.desktop\:font-serif-lg{font-size:1.34rem}.desktop\:font-serif-xl{font-size:1.95rem}.desktop\:font-serif-2xl{font-size:2.44rem}.desktop\:font-serif-3xl{font-size:2.93rem}.desktop\:font-heading-3xs{font-size:.79rem}.desktop\:font-heading-2xs{font-size:.85rem}.desktop\:font-heading-xs{font-size:.91rem}.desktop\:font-heading-sm{font-size:.98rem}.desktop\:font-heading-md{font-size:1.04rem}.desktop\:font-heading-lg{font-size:1.34rem}.desktop\:font-heading-xl{font-size:1.95rem}.desktop\:font-heading-2xl{font-size:2.44rem}.desktop\:font-heading-3xl{font-size:2.93rem}.desktop\:font-body-3xs{font-size:.87rem}.desktop\:font-body-2xs{font-size:.93rem}.desktop\:font-body-xs{font-size:1rem}.desktop\:font-body-sm{font-size:1.06rem}.desktop\:font-body-md{font-size:1.13rem}.desktop\:font-body-lg{font-size:1.46rem}.desktop\:font-body-xl{font-size:2.13rem}.desktop\:font-body-2xl{font-size:2.66rem}.desktop\:font-body-3xl{font-size:3.19rem}.desktop\:font-code-3xs{font-size:.77rem}.desktop\:font-code-2xs{font-size:.83rem}.desktop\:font-code-xs{font-size:.89rem}.desktop\:font-code-sm{font-size:.95rem}.desktop\:font-code-md{font-size:1.01rem}.desktop\:font-code-lg{font-size:1.31rem}.desktop\:font-code-xl{font-size:1.91rem}.desktop\:font-code-2xl{font-size:2.38rem}.desktop\:font-code-3xl{font-size:2.86rem}.desktop\:font-alt-3xs{font-size:.79rem}.desktop\:font-alt-2xs{font-size:.85rem}.desktop\:font-alt-xs{font-size:.91rem}.desktop\:font-alt-sm{font-size:.98rem}.desktop\:font-alt-md{font-size:1.04rem}.desktop\:font-alt-lg{font-size:1.34rem}.desktop\:font-alt-xl{font-size:1.95rem}.desktop\:font-alt-2xl{font-size:2.44rem}.desktop\:font-alt-3xl{font-size:2.93rem}.desktop\:font-ui-3xs{font-size:.87rem}.desktop\:font-ui-2xs{font-size:.93rem}.desktop\:font-ui-xs{font-size:1rem}.desktop\:font-ui-sm{font-size:1.06rem}.desktop\:font-ui-md{font-size:1.13rem}.desktop\:font-ui-lg{font-size:1.46rem}.desktop\:font-ui-xl{font-size:2.13rem}.desktop\:font-ui-2xl{font-size:2.66rem}.desktop\:font-ui-3xl{font-size:3.19rem}.desktop\:text-light{font-weight:300}.desktop\:text-normal{font-weight:400}.desktop\:text-bold{font-weight:700}.desktop\:flex-justify-center{justify-content:center}.desktop\:flex-justify-start{justify-content:flex-start}.desktop\:flex-justify-end{justify-content:flex-end}.desktop\:flex-justify{justify-content:space-between}.desktop\:line-height-sans-1{line-height:.9}.desktop\:line-height-sans-2{line-height:1.1}.desktop\:line-height-sans-3{line-height:1.3}.desktop\:line-height-sans-4{line-height:1.4}.desktop\:line-height-sans-5{line-height:1.5}.desktop\:line-height-sans-6{line-height:1.6}.desktop\:line-height-serif-1{line-height:1}.desktop\:line-height-serif-2{line-height:1.2}.desktop\:line-height-serif-3{line-height:1.4}.desktop\:line-height-serif-4{line-height:1.5}.desktop\:line-height-serif-5{line-height:1.7}.desktop\:line-height-serif-6{line-height:1.8}.desktop\:line-height-mono-1{line-height:1}.desktop\:line-height-mono-2{line-height:1.3}.desktop\:line-height-mono-3{line-height:1.4}.desktop\:line-height-mono-4{line-height:1.6}.desktop\:line-height-mono-5{line-height:1.7}.desktop\:line-height-mono-6{line-height:1.8}.desktop\:line-height-heading-1{line-height:1}.desktop\:line-height-heading-2{line-height:1.2}.desktop\:line-height-heading-3{line-height:1.4}.desktop\:line-height-heading-4{line-height:1.5}.desktop\:line-height-heading-5{line-height:1.7}.desktop\:line-height-heading-6{line-height:1.8}.desktop\:line-height-ui-1{line-height:.9}.desktop\:line-height-ui-2{line-height:1.1}.desktop\:line-height-ui-3{line-height:1.3}.desktop\:line-height-ui-4{line-height:1.4}.desktop\:line-height-ui-5{line-height:1.5}.desktop\:line-height-ui-6{line-height:1.6}.desktop\:line-height-body-1{line-height:.9}.desktop\:line-height-body-2{line-height:1.1}.desktop\:line-height-body-3{line-height:1.3}.desktop\:line-height-body-4{line-height:1.4}.desktop\:line-height-body-5{line-height:1.5}.desktop\:line-height-body-6{line-height:1.6}.desktop\:line-height-code-1{line-height:1}.desktop\:line-height-code-2{line-height:1.3}.desktop\:line-height-code-3{line-height:1.4}.desktop\:line-height-code-4{line-height:1.6}.desktop\:line-height-code-5{line-height:1.7}.desktop\:line-height-code-6{line-height:1.8}.desktop\:line-height-alt-1{line-height:1}.desktop\:line-height-alt-2{line-height:1.2}.desktop\:line-height-alt-3{line-height:1.4}.desktop\:line-height-alt-4{line-height:1.5}.desktop\:line-height-alt-5{line-height:1.7}.desktop\:line-height-alt-6{line-height:1.8}.desktop\:margin-neg-1px{margin:-1px}.desktop\:margin-neg-2px{margin:-2px}.desktop\:margin-neg-05{margin:-.25rem}.desktop\:margin-neg-1{margin:-.5rem}.desktop\:margin-neg-105{margin:-.75rem}.desktop\:margin-neg-2{margin:-1rem}.desktop\:margin-neg-205{margin:-1.25rem}.desktop\:margin-neg-3{margin:-1.5rem}.desktop\:margin-1px{margin:1px}.desktop\:margin-2px{margin:2px}.desktop\:margin-05{margin:.25rem}.desktop\:margin-1{margin:.5rem}.desktop\:margin-105{margin:.75rem}.desktop\:margin-2{margin:1rem}.desktop\:margin-205{margin:1.25rem}.desktop\:margin-3{margin:1.5rem}.desktop\:margin-neg-4{margin:-2rem}.desktop\:margin-neg-5{margin:-2.5rem}.desktop\:margin-neg-6{margin:-3rem}.desktop\:margin-neg-7{margin:-3.5rem}.desktop\:margin-neg-8{margin:-4rem}.desktop\:margin-neg-9{margin:-4.5rem}.desktop\:margin-neg-10{margin:-5rem}.desktop\:margin-neg-15{margin:-7.5rem}.desktop\:margin-4{margin:2rem}.desktop\:margin-5{margin:2.5rem}.desktop\:margin-6{margin:3rem}.desktop\:margin-7{margin:3.5rem}.desktop\:margin-8{margin:4rem}.desktop\:margin-9{margin:4.5rem}.desktop\:margin-10{margin:5rem}.desktop\:margin-15{margin:7.5rem}.desktop\:margin-05em{margin:.5em}.desktop\:margin-1em{margin:1em}.desktop\:margin-105em{margin:1.5em}.desktop\:margin-2em{margin:2em}.desktop\:margin-0{margin:0}.desktop\:margin-y-1px{margin-top:1px;margin-bottom:1px}.desktop\:margin-top-1px{margin-top:1px}.desktop\:margin-bottom-1px{margin-bottom:1px}.desktop\:margin-y-2px{margin-top:2px;margin-bottom:2px}.desktop\:margin-top-2px{margin-top:2px}.desktop\:margin-bottom-2px{margin-bottom:2px}.desktop\:margin-y-05{margin-top:.25rem;margin-bottom:.25rem}.desktop\:margin-top-05{margin-top:.25rem}.desktop\:margin-bottom-05{margin-bottom:.25rem}.desktop\:margin-y-1{margin-top:.5rem;margin-bottom:.5rem}.desktop\:margin-top-1{margin-top:.5rem}.desktop\:margin-bottom-1{margin-bottom:.5rem}.desktop\:margin-y-105{margin-top:.75rem;margin-bottom:.75rem}.desktop\:margin-top-105{margin-top:.75rem}.desktop\:margin-bottom-105{margin-bottom:.75rem}.desktop\:margin-y-2{margin-top:1rem;margin-bottom:1rem}.desktop\:margin-top-2{margin-top:1rem}.desktop\:margin-bottom-2{margin-bottom:1rem}.desktop\:margin-y-205{margin-top:1.25rem;margin-bottom:1.25rem}.desktop\:margin-top-205{margin-top:1.25rem}.desktop\:margin-bottom-205{margin-bottom:1.25rem}.desktop\:margin-y-3{margin-top:1.5rem;margin-bottom:1.5rem}.desktop\:margin-top-3{margin-top:1.5rem}.desktop\:margin-bottom-3{margin-bottom:1.5rem}.desktop\:margin-y-neg-1px{margin-top:-1px;margin-bottom:-1px}.desktop\:margin-top-neg-1px{margin-top:-1px}.desktop\:margin-bottom-neg-1px{margin-bottom:-1px}.desktop\:margin-y-neg-2px{margin-top:-2px;margin-bottom:-2px}.desktop\:margin-top-neg-2px{margin-top:-2px}.desktop\:margin-bottom-neg-2px{margin-bottom:-2px}.desktop\:margin-y-neg-05{margin-top:-.25rem;margin-bottom:-.25rem}.desktop\:margin-top-neg-05{margin-top:-.25rem}.desktop\:margin-bottom-neg-05{margin-bottom:-.25rem}.desktop\:margin-y-neg-1{margin-top:-.5rem;margin-bottom:-.5rem}.desktop\:margin-top-neg-1{margin-top:-.5rem}.desktop\:margin-bottom-neg-1{margin-bottom:-.5rem}.desktop\:margin-y-neg-105{margin-top:-.75rem;margin-bottom:-.75rem}.desktop\:margin-top-neg-105{margin-top:-.75rem}.desktop\:margin-bottom-neg-105{margin-bottom:-.75rem}.desktop\:margin-y-neg-2{margin-top:-1rem;margin-bottom:-1rem}.desktop\:margin-top-neg-2{margin-top:-1rem}.desktop\:margin-bottom-neg-2{margin-bottom:-1rem}.desktop\:margin-y-neg-205{margin-top:-1.25rem;margin-bottom:-1.25rem}.desktop\:margin-top-neg-205{margin-top:-1.25rem}.desktop\:margin-bottom-neg-205{margin-bottom:-1.25rem}.desktop\:margin-y-neg-3{margin-top:-1.5rem;margin-bottom:-1.5rem}.desktop\:margin-top-neg-3{margin-top:-1.5rem}.desktop\:margin-bottom-neg-3{margin-bottom:-1.5rem}.desktop\:margin-y-neg-4{margin-top:-2rem;margin-bottom:-2rem}.desktop\:margin-top-neg-4{margin-top:-2rem}.desktop\:margin-bottom-neg-4{margin-bottom:-2rem}.desktop\:margin-y-neg-5{margin-top:-2.5rem;margin-bottom:-2.5rem}.desktop\:margin-top-neg-5{margin-top:-2.5rem}.desktop\:margin-bottom-neg-5{margin-bottom:-2.5rem}.desktop\:margin-y-neg-6{margin-top:-3rem;margin-bottom:-3rem}.desktop\:margin-top-neg-6{margin-top:-3rem}.desktop\:margin-bottom-neg-6{margin-bottom:-3rem}.desktop\:margin-y-neg-7{margin-top:-3.5rem;margin-bottom:-3.5rem}.desktop\:margin-top-neg-7{margin-top:-3.5rem}.desktop\:margin-bottom-neg-7{margin-bottom:-3.5rem}.desktop\:margin-y-neg-8{margin-top:-4rem;margin-bottom:-4rem}.desktop\:margin-top-neg-8{margin-top:-4rem}.desktop\:margin-bottom-neg-8{margin-bottom:-4rem}.desktop\:margin-y-neg-9{margin-top:-4.5rem;margin-bottom:-4.5rem}.desktop\:margin-top-neg-9{margin-top:-4.5rem}.desktop\:margin-bottom-neg-9{margin-bottom:-4.5rem}.desktop\:margin-y-neg-10{margin-top:-5rem;margin-bottom:-5rem}.desktop\:margin-top-neg-10{margin-top:-5rem}.desktop\:margin-bottom-neg-10{margin-bottom:-5rem}.desktop\:margin-y-neg-15{margin-top:-7.5rem;margin-bottom:-7.5rem}.desktop\:margin-top-neg-15{margin-top:-7.5rem}.desktop\:margin-bottom-neg-15{margin-bottom:-7.5rem}.desktop\:margin-y-4{margin-top:2rem;margin-bottom:2rem}.desktop\:margin-top-4{margin-top:2rem}.desktop\:margin-bottom-4{margin-bottom:2rem}.desktop\:margin-y-5{margin-top:2.5rem;margin-bottom:2.5rem}.desktop\:margin-top-5{margin-top:2.5rem}.desktop\:margin-bottom-5{margin-bottom:2.5rem}.desktop\:margin-y-6{margin-top:3rem;margin-bottom:3rem}.desktop\:margin-top-6{margin-top:3rem}.desktop\:margin-bottom-6{margin-bottom:3rem}.desktop\:margin-y-7{margin-top:3.5rem;margin-bottom:3.5rem}.desktop\:margin-top-7{margin-top:3.5rem}.desktop\:margin-bottom-7{margin-bottom:3.5rem}.desktop\:margin-y-8{margin-top:4rem;margin-bottom:4rem}.desktop\:margin-top-8{margin-top:4rem}.desktop\:margin-bottom-8{margin-bottom:4rem}.desktop\:margin-y-9{margin-top:4.5rem;margin-bottom:4.5rem}.desktop\:margin-top-9{margin-top:4.5rem}.desktop\:margin-bottom-9{margin-bottom:4.5rem}.desktop\:margin-y-10{margin-top:5rem;margin-bottom:5rem}.desktop\:margin-top-10{margin-top:5rem}.desktop\:margin-bottom-10{margin-bottom:5rem}.desktop\:margin-y-15{margin-top:7.5rem;margin-bottom:7.5rem}.desktop\:margin-top-15{margin-top:7.5rem}.desktop\:margin-bottom-15{margin-bottom:7.5rem}.desktop\:margin-y-05em{margin-top:.5em;margin-bottom:.5em}.desktop\:margin-top-05em{margin-top:.5em}.desktop\:margin-bottom-05em{margin-bottom:.5em}.desktop\:margin-y-1em{margin-top:1em;margin-bottom:1em}.desktop\:margin-top-1em{margin-top:1em}.desktop\:margin-bottom-1em{margin-bottom:1em}.desktop\:margin-y-105em{margin-top:1.5em;margin-bottom:1.5em}.desktop\:margin-top-105em{margin-top:1.5em}.desktop\:margin-bottom-105em{margin-bottom:1.5em}.desktop\:margin-y-2em{margin-top:2em;margin-bottom:2em}.desktop\:margin-top-2em{margin-top:2em}.desktop\:margin-bottom-2em{margin-bottom:2em}.desktop\:margin-y-0{margin-top:0;margin-bottom:0}.desktop\:margin-top-0{margin-top:0}.desktop\:margin-bottom-0{margin-bottom:0}.desktop\:margin-y-auto{margin-top:auto;margin-bottom:auto}.desktop\:margin-top-auto{margin-top:auto}.desktop\:margin-bottom-auto{margin-bottom:auto}.desktop\:margin-x-1px{margin-left:1px;margin-right:1px}.desktop\:margin-right-1px{margin-right:1px}.desktop\:margin-left-1px{margin-left:1px}.desktop\:margin-x-2px{margin-left:2px;margin-right:2px}.desktop\:margin-right-2px{margin-right:2px}.desktop\:margin-left-2px{margin-left:2px}.desktop\:margin-x-05{margin-left:.25rem;margin-right:.25rem}.desktop\:margin-right-05{margin-right:.25rem}.desktop\:margin-left-05{margin-left:.25rem}.desktop\:margin-x-1{margin-left:.5rem;margin-right:.5rem}.desktop\:margin-right-1{margin-right:.5rem}.desktop\:margin-left-1{margin-left:.5rem}.desktop\:margin-x-105{margin-left:.75rem;margin-right:.75rem}.desktop\:margin-right-105{margin-right:.75rem}.desktop\:margin-left-105{margin-left:.75rem}.desktop\:margin-x-2{margin-left:1rem;margin-right:1rem}.desktop\:margin-right-2{margin-right:1rem}.desktop\:margin-left-2{margin-left:1rem}.desktop\:margin-x-205{margin-left:1.25rem;margin-right:1.25rem}.desktop\:margin-right-205{margin-right:1.25rem}.desktop\:margin-left-205{margin-left:1.25rem}.desktop\:margin-x-3{margin-left:1.5rem;margin-right:1.5rem}.desktop\:margin-right-3{margin-right:1.5rem}.desktop\:margin-left-3{margin-left:1.5rem}.desktop\:margin-x-neg-1px{margin-left:-1px;margin-right:-1px}.desktop\:margin-right-neg-1px{margin-right:-1px}.desktop\:margin-left-neg-1px{margin-left:-1px}.desktop\:margin-x-neg-2px{margin-left:-2px;margin-right:-2px}.desktop\:margin-right-neg-2px{margin-right:-2px}.desktop\:margin-left-neg-2px{margin-left:-2px}.desktop\:margin-x-neg-05{margin-left:-.25rem;margin-right:-.25rem}.desktop\:margin-right-neg-05{margin-right:-.25rem}.desktop\:margin-left-neg-05{margin-left:-.25rem}.desktop\:margin-x-neg-1{margin-left:-.5rem;margin-right:-.5rem}.desktop\:margin-right-neg-1{margin-right:-.5rem}.desktop\:margin-left-neg-1{margin-left:-.5rem}.desktop\:margin-x-neg-105{margin-left:-.75rem;margin-right:-.75rem}.desktop\:margin-right-neg-105{margin-right:-.75rem}.desktop\:margin-left-neg-105{margin-left:-.75rem}.desktop\:margin-x-neg-2{margin-left:-1rem;margin-right:-1rem}.desktop\:margin-right-neg-2{margin-right:-1rem}.desktop\:margin-left-neg-2{margin-left:-1rem}.desktop\:margin-x-neg-205{margin-left:-1.25rem;margin-right:-1.25rem}.desktop\:margin-right-neg-205{margin-right:-1.25rem}.desktop\:margin-left-neg-205{margin-left:-1.25rem}.desktop\:margin-x-neg-3{margin-left:-1.5rem;margin-right:-1.5rem}.desktop\:margin-right-neg-3{margin-right:-1.5rem}.desktop\:margin-left-neg-3{margin-left:-1.5rem}.desktop\:margin-x-neg-4{margin-left:-2rem;margin-right:-2rem}.desktop\:margin-right-neg-4{margin-right:-2rem}.desktop\:margin-left-neg-4{margin-left:-2rem}.desktop\:margin-x-neg-5{margin-left:-2.5rem;margin-right:-2.5rem}.desktop\:margin-right-neg-5{margin-right:-2.5rem}.desktop\:margin-left-neg-5{margin-left:-2.5rem}.desktop\:margin-x-neg-6{margin-left:-3rem;margin-right:-3rem}.desktop\:margin-right-neg-6{margin-right:-3rem}.desktop\:margin-left-neg-6{margin-left:-3rem}.desktop\:margin-x-neg-7{margin-left:-3.5rem;margin-right:-3.5rem}.desktop\:margin-right-neg-7{margin-right:-3.5rem}.desktop\:margin-left-neg-7{margin-left:-3.5rem}.desktop\:margin-x-neg-8{margin-left:-4rem;margin-right:-4rem}.desktop\:margin-right-neg-8{margin-right:-4rem}.desktop\:margin-left-neg-8{margin-left:-4rem}.desktop\:margin-x-neg-9{margin-left:-4.5rem;margin-right:-4.5rem}.desktop\:margin-right-neg-9{margin-right:-4.5rem}.desktop\:margin-left-neg-9{margin-left:-4.5rem}.desktop\:margin-x-neg-10{margin-left:-5rem;margin-right:-5rem}.desktop\:margin-right-neg-10{margin-right:-5rem}.desktop\:margin-left-neg-10{margin-left:-5rem}.desktop\:margin-x-neg-15{margin-left:-7.5rem;margin-right:-7.5rem}.desktop\:margin-right-neg-15{margin-right:-7.5rem}.desktop\:margin-left-neg-15{margin-left:-7.5rem}.desktop\:margin-x-4{margin-left:2rem;margin-right:2rem}.desktop\:margin-right-4{margin-right:2rem}.desktop\:margin-left-4{margin-left:2rem}.desktop\:margin-x-5{margin-left:2.5rem;margin-right:2.5rem}.desktop\:margin-right-5{margin-right:2.5rem}.desktop\:margin-left-5{margin-left:2.5rem}.desktop\:margin-x-6{margin-left:3rem;margin-right:3rem}.desktop\:margin-right-6{margin-right:3rem}.desktop\:margin-left-6{margin-left:3rem}.desktop\:margin-x-7{margin-left:3.5rem;margin-right:3.5rem}.desktop\:margin-right-7{margin-right:3.5rem}.desktop\:margin-left-7{margin-left:3.5rem}.desktop\:margin-x-8{margin-left:4rem;margin-right:4rem}.desktop\:margin-right-8{margin-right:4rem}.desktop\:margin-left-8{margin-left:4rem}.desktop\:margin-x-9{margin-left:4.5rem;margin-right:4.5rem}.desktop\:margin-right-9{margin-right:4.5rem}.desktop\:margin-left-9{margin-left:4.5rem}.desktop\:margin-x-10{margin-left:5rem;margin-right:5rem}.desktop\:margin-right-10{margin-right:5rem}.desktop\:margin-left-10{margin-left:5rem}.desktop\:margin-x-15{margin-left:7.5rem;margin-right:7.5rem}.desktop\:margin-right-15{margin-right:7.5rem}.desktop\:margin-left-15{margin-left:7.5rem}.desktop\:margin-x-card{margin-left:10rem;margin-right:10rem}.desktop\:margin-right-card{margin-right:10rem}.desktop\:margin-left-card{margin-left:10rem}.desktop\:margin-x-card-lg{margin-left:15rem;margin-right:15rem}.desktop\:margin-right-card-lg{margin-right:15rem}.desktop\:margin-left-card-lg{margin-left:15rem}.desktop\:margin-x-mobile{margin-left:20rem;margin-right:20rem}.desktop\:margin-right-mobile{margin-right:20rem}.desktop\:margin-left-mobile{margin-left:20rem}.desktop\:margin-x-05em{margin-left:.5em;margin-right:.5em}.desktop\:margin-right-05em{margin-right:.5em}.desktop\:margin-left-05em{margin-left:.5em}.desktop\:margin-x-1em{margin-left:1em;margin-right:1em}.desktop\:margin-right-1em{margin-right:1em}.desktop\:margin-left-1em{margin-left:1em}.desktop\:margin-x-105em{margin-left:1.5em;margin-right:1.5em}.desktop\:margin-right-105em{margin-right:1.5em}.desktop\:margin-left-105em{margin-left:1.5em}.desktop\:margin-x-2em{margin-left:2em;margin-right:2em}.desktop\:margin-right-2em{margin-right:2em}.desktop\:margin-left-2em{margin-left:2em}.desktop\:margin-x-0{margin-left:0;margin-right:0}.desktop\:margin-right-0{margin-right:0}.desktop\:margin-left-0{margin-left:0}.desktop\:margin-x-auto{margin-left:auto;margin-right:auto}.desktop\:margin-right-auto{margin-right:auto}.desktop\:margin-left-auto{margin-left:auto}.desktop\:measure-1{max-width:44ex}.desktop\:measure-2{max-width:60ex}.desktop\:measure-3{max-width:64ex}.desktop\:measure-4{max-width:68ex}.desktop\:measure-5{max-width:72ex}.desktop\:measure-6{max-width:88ex}.desktop\:measure-none{max-width:none}.desktop\:order-first{order:-1}.desktop\:order-last{order:999}.desktop\:order-initial{order:initial}.desktop\:order-0{order:0}.desktop\:order-1{order:1}.desktop\:order-2{order:2}.desktop\:order-3{order:3}.desktop\:order-4{order:4}.desktop\:order-5{order:5}.desktop\:order-6{order:6}.desktop\:order-7{order:7}.desktop\:order-8{order:8}.desktop\:order-9{order:9}.desktop\:order-10{order:10}.desktop\:order-11{order:11}.desktop\:padding-1px{padding:1px}.desktop\:padding-y-1px{padding-top:1px;padding-bottom:1px}.desktop\:padding-x-1px{padding-left:1px;padding-right:1px}.desktop\:padding-top-1px{padding-top:1px}.desktop\:padding-right-1px{padding-right:1px}.desktop\:padding-bottom-1px{padding-bottom:1px}.desktop\:padding-left-1px{padding-left:1px}.desktop\:padding-2px{padding:2px}.desktop\:padding-y-2px{padding-top:2px;padding-bottom:2px}.desktop\:padding-x-2px{padding-left:2px;padding-right:2px}.desktop\:padding-top-2px{padding-top:2px}.desktop\:padding-right-2px{padding-right:2px}.desktop\:padding-bottom-2px{padding-bottom:2px}.desktop\:padding-left-2px{padding-left:2px}.desktop\:padding-05{padding:.25rem}.desktop\:padding-y-05{padding-top:.25rem;padding-bottom:.25rem}.desktop\:padding-x-05{padding-left:.25rem;padding-right:.25rem}.desktop\:padding-top-05{padding-top:.25rem}.desktop\:padding-right-05{padding-right:.25rem}.desktop\:padding-bottom-05{padding-bottom:.25rem}.desktop\:padding-left-05{padding-left:.25rem}.desktop\:padding-1{padding:.5rem}.desktop\:padding-y-1{padding-top:.5rem;padding-bottom:.5rem}.desktop\:padding-x-1{padding-left:.5rem;padding-right:.5rem}.desktop\:padding-top-1{padding-top:.5rem}.desktop\:padding-right-1{padding-right:.5rem}.desktop\:padding-bottom-1{padding-bottom:.5rem}.desktop\:padding-left-1{padding-left:.5rem}.desktop\:padding-105{padding:.75rem}.desktop\:padding-y-105{padding-top:.75rem;padding-bottom:.75rem}.desktop\:padding-x-105{padding-left:.75rem;padding-right:.75rem}.desktop\:padding-top-105{padding-top:.75rem}.desktop\:padding-right-105{padding-right:.75rem}.desktop\:padding-bottom-105{padding-bottom:.75rem}.desktop\:padding-left-105{padding-left:.75rem}.desktop\:padding-2{padding:1rem}.desktop\:padding-y-2{padding-top:1rem;padding-bottom:1rem}.desktop\:padding-x-2{padding-left:1rem;padding-right:1rem}.desktop\:padding-top-2{padding-top:1rem}.desktop\:padding-right-2{padding-right:1rem}.desktop\:padding-bottom-2{padding-bottom:1rem}.desktop\:padding-left-2{padding-left:1rem}.desktop\:padding-205{padding:1.25rem}.desktop\:padding-y-205{padding-top:1.25rem;padding-bottom:1.25rem}.desktop\:padding-x-205{padding-left:1.25rem;padding-right:1.25rem}.desktop\:padding-top-205{padding-top:1.25rem}.desktop\:padding-right-205{padding-right:1.25rem}.desktop\:padding-bottom-205{padding-bottom:1.25rem}.desktop\:padding-left-205{padding-left:1.25rem}.desktop\:padding-3{padding:1.5rem}.desktop\:padding-y-3{padding-top:1.5rem;padding-bottom:1.5rem}.desktop\:padding-x-3{padding-left:1.5rem;padding-right:1.5rem}.desktop\:padding-top-3{padding-top:1.5rem}.desktop\:padding-right-3{padding-right:1.5rem}.desktop\:padding-bottom-3{padding-bottom:1.5rem}.desktop\:padding-left-3{padding-left:1.5rem}.desktop\:padding-4{padding:2rem}.desktop\:padding-y-4{padding-top:2rem;padding-bottom:2rem}.desktop\:padding-x-4{padding-left:2rem;padding-right:2rem}.desktop\:padding-top-4{padding-top:2rem}.desktop\:padding-right-4{padding-right:2rem}.desktop\:padding-bottom-4{padding-bottom:2rem}.desktop\:padding-left-4{padding-left:2rem}.desktop\:padding-5{padding:2.5rem}.desktop\:padding-y-5{padding-top:2.5rem;padding-bottom:2.5rem}.desktop\:padding-x-5{padding-left:2.5rem;padding-right:2.5rem}.desktop\:padding-top-5{padding-top:2.5rem}.desktop\:padding-right-5{padding-right:2.5rem}.desktop\:padding-bottom-5{padding-bottom:2.5rem}.desktop\:padding-left-5{padding-left:2.5rem}.desktop\:padding-6{padding:3rem}.desktop\:padding-y-6{padding-top:3rem;padding-bottom:3rem}.desktop\:padding-x-6{padding-left:3rem;padding-right:3rem}.desktop\:padding-top-6{padding-top:3rem}.desktop\:padding-right-6{padding-right:3rem}.desktop\:padding-bottom-6{padding-bottom:3rem}.desktop\:padding-left-6{padding-left:3rem}.desktop\:padding-7{padding:3.5rem}.desktop\:padding-y-7{padding-top:3.5rem;padding-bottom:3.5rem}.desktop\:padding-x-7{padding-left:3.5rem;padding-right:3.5rem}.desktop\:padding-top-7{padding-top:3.5rem}.desktop\:padding-right-7{padding-right:3.5rem}.desktop\:padding-bottom-7{padding-bottom:3.5rem}.desktop\:padding-left-7{padding-left:3.5rem}.desktop\:padding-8{padding:4rem}.desktop\:padding-y-8{padding-top:4rem;padding-bottom:4rem}.desktop\:padding-x-8{padding-left:4rem;padding-right:4rem}.desktop\:padding-top-8{padding-top:4rem}.desktop\:padding-right-8{padding-right:4rem}.desktop\:padding-bottom-8{padding-bottom:4rem}.desktop\:padding-left-8{padding-left:4rem}.desktop\:padding-9{padding:4.5rem}.desktop\:padding-y-9{padding-top:4.5rem;padding-bottom:4.5rem}.desktop\:padding-x-9{padding-left:4.5rem;padding-right:4.5rem}.desktop\:padding-top-9{padding-top:4.5rem}.desktop\:padding-right-9{padding-right:4.5rem}.desktop\:padding-bottom-9{padding-bottom:4.5rem}.desktop\:padding-left-9{padding-left:4.5rem}.desktop\:padding-10{padding:5rem}.desktop\:padding-y-10{padding-top:5rem;padding-bottom:5rem}.desktop\:padding-x-10{padding-left:5rem;padding-right:5rem}.desktop\:padding-top-10{padding-top:5rem}.desktop\:padding-right-10{padding-right:5rem}.desktop\:padding-bottom-10{padding-bottom:5rem}.desktop\:padding-left-10{padding-left:5rem}.desktop\:padding-15{padding:7.5rem}.desktop\:padding-y-15{padding-top:7.5rem;padding-bottom:7.5rem}.desktop\:padding-x-15{padding-left:7.5rem;padding-right:7.5rem}.desktop\:padding-top-15{padding-top:7.5rem}.desktop\:padding-right-15{padding-right:7.5rem}.desktop\:padding-bottom-15{padding-bottom:7.5rem}.desktop\:padding-left-15{padding-left:7.5rem}.desktop\:padding-0{padding:0}.desktop\:padding-y-0{padding-top:0;padding-bottom:0}.desktop\:padding-x-0{padding-left:0;padding-right:0}.desktop\:padding-top-0{padding-top:0}.desktop\:padding-right-0{padding-right:0}.desktop\:padding-bottom-0{padding-bottom:0}.desktop\:padding-left-0{padding-left:0}.desktop\:width-1px{width:1px}.desktop\:width-2px{width:2px}.desktop\:width-05{width:.25rem}.desktop\:width-1{width:.5rem}.desktop\:width-105{width:.75rem}.desktop\:width-2{width:1rem}.desktop\:width-205{width:1.25rem}.desktop\:width-3{width:1.5rem}.desktop\:width-4{width:2rem}.desktop\:width-5{width:2.5rem}.desktop\:width-6{width:3rem}.desktop\:width-7{width:3.5rem}.desktop\:width-8{width:4rem}.desktop\:width-9{width:4.5rem}.desktop\:width-10{width:5rem}.desktop\:width-15{width:7.5rem}.desktop\:width-card{width:10rem}.desktop\:width-card-lg{width:15rem}.desktop\:width-mobile{width:20rem}.desktop\:width-mobile-lg{width:30rem}.desktop\:width-tablet{width:40rem}.desktop\:width-tablet-lg{width:55rem}.desktop\:width-desktop{width:64rem}.desktop\:width-desktop-lg{width:75rem}.desktop\:width-widescreen{width:87.5rem}.desktop\:width-0{width:0}.desktop\:width-full{width:100%}.desktop\:width-auto{width:auto}} +/*# sourceMappingURL=styles.css.map */ diff --git a/assets/css/styles.css.map b/assets/css/styles.css.map new file mode 100644 index 00000000..9e14c6f2 --- /dev/null +++ b/assets/css/styles.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["styles.css","../../node_modules/@uswds/uswds/packages/uswds/_index.scss","../../node_modules/@uswds/uswds/packages/uswds-elements/lib/_normalize.scss","../../node_modules/@uswds/uswds/packages/usa-nav/src/styles/_usa-nav.scss","../../node_modules/@uswds/uswds/packages/uswds-elements/src/styles/_sizing.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/add-kerning.scss","../../node_modules/@uswds/uswds/packages/uswds-elements/src/styles/_typography.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/helpers/set-text-from-bg.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/helpers/set-text-and-bg.scss","../../node_modules/@uswds/uswds/packages/uswds-elements/src/styles/_body.scss","../../node_modules/@uswds/uswds/packages/uswds-elements/src/styles/_img.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/placeholders/_forms.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_font.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_line-height.scss","","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_border.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/font-face.scss","../../node_modules/@uswds/uswds/packages/uswds-elements/src/styles/_focus.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/focus-outline.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/media-link.scss","../../node_modules/@uswds/uswds/packages/uswds-helpers/src/styles/_usa-focus.scss","../../node_modules/@uswds/uswds/packages/uswds-helpers/src/styles/_usa-sr-only.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/screen-reader.scss","../../node_modules/@uswds/uswds/packages/usa-content/src/styles/_usa-content.scss","../../node_modules/@uswds/uswds/packages/usa-dark-background/src/styles/_usa-dark-background.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/helpers/set-link-from-bg.scss","../../node_modules/@uswds/uswds/packages/usa-display/src/styles/_usa-display.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_margin.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/typography/typeset.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/typography/headings.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/helpers/at-media.scss","../../node_modules/@uswds/uswds/packages/usa-intro/src/styles/_usa-intro.scss","../../node_modules/@uswds/uswds/packages/usa-icon/src/styles/_usa-icon.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_height.scss","../../node_modules/@uswds/uswds/packages/usa-link/src/styles/_usa-link.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/external-link.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/icon.scss","../../node_modules/@uswds/uswds/packages/usa-list/src/styles/_usa-list.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/typography/usa-list.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/typography/unstyled-list.scss","../../node_modules/@uswds/uswds/packages/usa-paragraph/src/styles/_usa-paragraph.scss","../../node_modules/@uswds/uswds/packages/usa-prose/src/styles/_usa-prose.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/table.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/typography/usa-table-styles.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/button-unstyled.scss","../../node_modules/@uswds/uswds/packages/usa-accordion/src/styles/_usa-accordion.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/add-background-svg.scss","../../node_modules/@uswds/uswds/packages/usa-alert/src/styles/_usa-alert.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/helpers/alert-status-styles.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_max-width.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_padding.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/variables/project-alerts.scss","../../node_modules/@uswds/uswds/packages/usa-banner/src/styles/_usa-banner.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_display.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_flex.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/layout-grid.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_width.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_measure.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_float.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_pin.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_position.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_text.scss","../../node_modules/@uswds/uswds/packages/usa-breadcrumb/src/styles/_usa-breadcrumb.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_white-space.scss","../../node_modules/@uswds/uswds/packages/usa-button-group/src/styles/_usa-button-group.scss","../../node_modules/@uswds/uswds/packages/usa-button/src/styles/_usa-button.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_disabled.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/button-disabled.scss","../../node_modules/@uswds/uswds/packages/usa-card/src/styles/_usa-card.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/typography/add-list-reset.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_order.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_background-color.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_border-radius.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_left.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/add-aspect.scss","../../node_modules/@uswds/uswds/packages/usa-checklist/src/styles/_usa-checklist.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/add-checkbox-placeholder.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/add-success-mark.scss","../../node_modules/@uswds/uswds/packages/usa-collection/src/styles/_usa-collection.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_align-items.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/media-block-img.scss","../../node_modules/@uswds/uswds/packages/usa-embed-container/src/styles/_usa-embed-container.scss","../../node_modules/@uswds/uswds/packages/usa-footer/src/styles/_usa-footer.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_font-weight.scss","../../node_modules/@uswds/uswds/packages/usa-form/src/styles/_usa-form.scss","../../node_modules/@uswds/uswds/packages/usa-graphic-list/src/styles/_usa-graphic-list.scss","../../node_modules/@uswds/uswds/packages/usa-header/src/styles/_usa-header.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/clearfix.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/settings/_settings-components.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/add-bar.scss","../../node_modules/@uswds/uswds/packages/usa-header/src/styles/_usa-megamenu.scss","../../node_modules/@uswds/uswds/packages/usa-header/src/styles/_usa-nav-container.scss","../../node_modules/@uswds/uswds/packages/usa-header/src/styles/_usa-navbar.scss","../../node_modules/@uswds/uswds/packages/usa-hero/src/styles/_usa-hero.scss","../../node_modules/@uswds/uswds/packages/usa-icon-list/src/styles/_usa-icon-list.scss","../../node_modules/@uswds/uswds/packages/usa-identifier/src/styles/_usa-identifier.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_text-decoration.scss","../../node_modules/@uswds/uswds/packages/usa-in-page-navigation/src/styles/_usa-in-page-navigation.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/nav-list.scss","../../node_modules/@uswds/uswds/packages/usa-language-selector/src/styles/_usa-language-selector.scss","../../node_modules/@uswds/uswds/packages/usa-layout-docs/src/styles/_usa-layout-docs.scss","../../node_modules/@uswds/uswds/packages/usa-layout-grid/src/styles/_usa-layout-grid.scss","../../node_modules/@uswds/uswds/packages/usa-media-block/src/styles/_usa-media-block.scss","../../node_modules/@uswds/uswds/packages/usa-modal/src/styles/_usa-modal.scss","../../node_modules/@uswds/uswds/packages/usa-pagination/src/styles/_usa-pagination.scss","../../node_modules/@uswds/uswds/packages/usa-process-list/src/styles/_usa-process-list.scss","../../node_modules/@uswds/uswds/packages/usa-search/src/styles/_usa-search.scss","../../node_modules/@uswds/uswds/packages/usa-section/src/styles/_usa-section.scss","../../node_modules/@uswds/uswds/packages/usa-sidenav/src/styles/_usa-sidenav.scss","../../node_modules/@uswds/uswds/packages/usa-site-alert/src/styles/_usa-site-alert.scss","../../node_modules/@uswds/uswds/packages/usa-skipnav/src/styles/_usa-skipnav.scss","../../node_modules/@uswds/uswds/packages/usa-step-indicator/src/styles/_usa-step-indicator.scss","../../node_modules/@uswds/uswds/packages/usa-summary-box/src/styles/_usa-summary-box.scss","../../node_modules/@uswds/uswds/packages/usa-table/src/styles/_usa-table.scss","../../node_modules/@uswds/uswds/packages/usa-tag/src/styles/_usa-tag.scss","../../node_modules/@uswds/uswds/packages/usa-tooltip/src/styles/_usa-tooltip.scss","../../node_modules/@uswds/uswds/packages/usa-character-count/src/styles/_usa-character-count.scss","../../node_modules/@uswds/uswds/packages/usa-input/src/styles/_usa-input.scss","../../node_modules/@uswds/uswds/packages/usa-fieldset/src/styles/_usa-fieldset.scss","../../node_modules/@uswds/uswds/packages/usa-legend/src/styles/_usa-legend.scss","../../node_modules/@uswds/uswds/packages/usa-input-list/src/styles/_usa-input-list.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/helpers/checkbox-and-radio-colors.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/helpers/format-input.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/helpers/format-label.scss","../../node_modules/@uswds/uswds/packages/usa-checkbox/src/styles/_usa-checkbox.scss","../../node_modules/@uswds/uswds/packages/usa-select/src/styles/_usa-select.scss","../../node_modules/@uswds/uswds/packages/usa-combo-box/src/styles/_usa-combo-box.scss","../../node_modules/@uswds/uswds/packages/usa-date-picker/src/styles/_usa-date-picker.scss","../../node_modules/@uswds/uswds/packages/usa-error-message/src/styles/_usa-error-message.scss","../../node_modules/@uswds/uswds/packages/usa-file-input/src/styles/_usa-file-input.scss","../../node_modules/@uswds/uswds/packages/usa-form-group/src/styles/_usa-form-group.scss","../../node_modules/@uswds/uswds/packages/usa-hint/src/styles/_usa-hint.scss","../../node_modules/@uswds/uswds/packages/usa-input-prefix-suffix/src/styles/_usa-input-prefix-suffix.scss","../../node_modules/@uswds/uswds/packages/usa-input-mask/src/styles/_usa-input-mask.scss","../../node_modules/@uswds/uswds/packages/usa-label/src/styles/_usa-label.scss","../../node_modules/@uswds/uswds/packages/usa-memorable-date/src/styles/_usa-memorable-date.scss","../../node_modules/@uswds/uswds/packages/usa-radio/src/styles/_usa-radio.scss","../../node_modules/@uswds/uswds/packages/usa-range/src/styles/_usa-range.scss","../../node_modules/@uswds/uswds/packages/usa-textarea/src/styles/_usa-textarea.scss","../../node_modules/@uswds/uswds/packages/usa-time-picker/src/styles/_usa-time-picker.scss","../../node_modules/@uswds/uswds/packages/uswds-utilities/src/styles/utility-fonts.scss","../../node_modules/@uswds/uswds/packages/uswds-utilities/src/styles/rules/add-aspect.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/_utility-builder.scss"],"names":[],"mappings":"AAAA,2BCAA;AAAA,2ECWE;AC8DF,wBAEI,GAAA,2BAIA,CAAA,GAAA,uBAMJ,CAAA,CD1EE,KAAA,gBACA,CAAA,6BAUF,CEfI,sBCNF,6BACA,CAAA,mBCKA,CAAA,gFACA,CAAA,cJeA,CAAA,KAAA,QAOF,CKVE,aCIA,CAAA,qBCpBA,CAAA,iBP2BA,CAAA,aAAA,aASA,CAAA,GAAA,aACA,CAAA,cAYA,CAAA,GAAA,sBACA,CAAA,QACA,CAAA,gBASA,CAAA,kBAAA,+BACA,CAAA,aAWA,CAAA,EAAA,4BAQF,CAAA,YACE,kBACA,CACA,wCAOF,CAPE,gCAOF,CAAA,SAEE,kBAQF,CAYE,MAAA,aAQF,CAAA,QAEE,aACA,CAAA,aACA,CAAA,iBACA,CAAA,uBAIA,CAAA,IAAA,aAIA,CAAA,IAAA,SAWA,CAAA,IAAA,iBAWF,CQ5JE,cR4JF,CAAA,sCAKE,mBACA,CAAA,cACA,CAAA,gBACA,CAAA,QAQF,CAAA,aAGE,gBAQF,CAAA,cAGE,mBAOF,CAAA,gDAIE,yBAOF,CAAA,wHAIE,iBACA,CAAA,SAOF,CAAA,4GAIE,6BAOF,CAAA,SACE,0BAUF,CAAA,OAEE,aACA,CAAA,aACA,CAAA,cACA,CACA,kBAOF,CAAA,SACE,uBAOF,CAAA,SACE,aAQF,CAAA,oCAEE,qBACA,CAAA,SAOF,CAAA,kFAEE,WAQF,CAAA,cACE,4BACA,CAAA,mBAOF,CAAA,yCACE,uBAQF,CAAA,6BACE,yBACA,CAAA,YAUF,CAQA,QACE,iBAUF,CAAA,+HACE,YAOF,CSpVA,2KCiCE,gFACA,CAAA,iBCzBA,CAAA,eAAA,CCjBF,yBHoBE,eACA,CAAA,aACA,CAAA,aACA,CACA,gBACA,CAAA,eACA,CAAA,YACA,EEVA,ACjBF,cCuDU,gBAhBF,CAAA,oBA0EF,CAAA,kBJ9FJ,CAAA,uBACA,CADA,oBACA,CADA,eACA,CAOA,UKZA,CHEA,WFMA,YACA,CKTA,CHEA,iBFEA,uBACA,CADA,oBACA,CADA,cACA,CKLA,CHEA,8DEsCQ,gBAhBF,CAAA,oBA0EF,CAAA,kBJ9FJ,CACA,eACA,CAAA,aACA,CAAA,aACA,CAAA,aACA,CAAA,gBACA,CAAA,eACA,CAAA,aACA,CAAA,SKZA,CAAA,CHEA,WFEA,uBACA,CADA,oBACA,CADA,cACA,CKLA,CAAA,WACE,6BACA,CAAA,iBACA,CAAA,eACA,CAAA,qBACA,CAAA,2EALF,CAAA,WACE,6BACA,CAAA,iBACA,CAAA,eACA,CAAA,qBACA,CAAA,+EALF,CAAA,WACE,6BACA,CAAA,iBACA,CAAA,eACA,CAAA,qBACA,CAAA,2EALF,CAAA,WACE,6BACA,CAAA,iBACA,CAAA,eACA,CAAA,qBACA,CAAA,iFALF,CAAA,WACE,6BACA,CAAA,iBACA,CAAA,eACA,CAAA,qBACA,CAAA,8EALF,CAAA,WACE,6BACA,CAAA,iBACA,CAAA,eACA,CAAA,qBACA,CAAA,iFALF,CAAA,WACE,iCACA,CAAA,iBACA,CAAA,eACA,CAAA,qBACA,CAAA,kFALF,CAAA,WACE,iCACA,CAAA,iBACA,CAAA,eACA,CAAA,qBACA,CAAA,oFALF,CAAA,WACE,iCACA,CAAA,iBACA,CAAA,eACA,CAAA,qBACA,CAAA,iFALF,CAAA,WACE,iCACA,CAAA,iBACA,CAAA,eACA,CAAA,qBACA,CAAA,wFALF,CAAA,WACE,iCACA,CAAA,iBACA,CAAA,eACA,CAAA,qBACA,CAAA,mFALF,CAAA,WACE,iCACA,CAAA,iBACA,CAAA,eACA,CAAA,qBACA,CAAA,uFALF,CAAA,WACE,8BACA,CAAA,iBACA,CAAA,eACA,CAAA,qBACA,CAAA,4EALF,CAAA,WACE,8BACA,CAAA,iBACA,CAAA,eACA,CAAA,qBACA,CAAA,8EALF,CAAA,WACE,8BACA,CAAA,iBACA,CAAA,eACA,CAAA,qBACA,CAAA,2EALF,CAAA,WACE,8BACA,CAAA,iBACA,CAAA,eACA,CAAA,qBACA,CAAA,kFALF,CAAA,WACE,8BACA,CAAA,iBACA,CAAA,eACA,CAAA,qBACA,CAAA,6EALF,CAAA,WACE,8BACA,CAAA,iBACA,CAAA,eACA,CAAA,qBACA,CAAA,iFTAF,CUZE,qHCMF,4BACA,CAAA,gBDGA,CAAA,wECJA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nDEE,iBACA,CAAA,kBmDHF,CAAA,CAAA,wB1EUE,gBACA,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,gCuEFF,wBnDEE,iBACA,CAAA,kBmDHF,CAAA,CAAA,uB1EUE,gBACA,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,gCuEFF,uBnDEE,iBACA,CAAA,kBmDHF,CAAA,CAAA,0B1EUE,gBACA,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,gCuEFF,0BnDEE,iBACA,CAAA,kBmDHF,CAAA,CAAA,uB1EUE,gBACA,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,gCuEFF,uBnDEE,iBACA,CAAA,kBmDHF,CAAA,CAAA,0B1EUE,gBACA,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,gCuEFF,0BnDEE,iBACA,CAAA,kBmDHF,CAAA,CAAA,wB1EUE,gBACA,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,gCuEFF,wBnDEE,iBACA,CAAA,kBmDHF,CAAA,CAAA,2B1EUE,gBACA,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,gCuEFF,2BnDEE,iBACA,CAAA,kBmDHF,CAAA,CAAA,2B1EUE,gBACA,CAAA,iBsBZF,CAAA,iBCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,gCuEFF,2BnDEE,iBACA,CAAA,kBpBDA,CAAA,CAAA,gCuEQE,2BAAA,gB1ECF,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,CAAA,qDuEQE,2BnDRF,iBACA,CAAA,kBpBDA,CAAA,CAAA,gCuEeI,gC1EPJ,gBACA,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,CAAA,qDuEeI,gCnDfJ,iBACA,CAAA,kBpBDA,CAAA,CAAA,gCuEeI,mC1EPJ,gBACA,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,CAAA,qDuEeI,mCnDfJ,iBACA,CAAA,kBpBDA,CAAA,CAAA,gCuEeI,kC1EPJ,gBACA,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,CAAA,qDuEeI,kCnDfJ,iBACA,CAAA,kBpBDA,CAAA,CAAA,gCuEeI,qC1EPJ,gBACA,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,CAAA,qDuEeI,qCnDfJ,iBACA,CAAA,kBpBDA,CAAA,CAAA,gCuEeI,kC1EPJ,gBACA,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,CAAA,qDuEeI,kCnDfJ,iBACA,CAAA,kBpBDA,CAAA,CAAA,gCuEeI,qC1EPJ,gBACA,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,CAAA,qDuEeI,qCnDfJ,iBACA,CAAA,kBpBDA,CAAA,CAAA,gCuEeI,mC1EPJ,gBACA,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,CAAA,qDuEeI,mCnDfJ,iBACA,CAAA,kBpBDA,CAAA,CAAA,gCuEeI,sC1EPJ,gBACA,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,CAAA,qDuEeI,sCnDfJ,iBACA,CAAA,kBpBDA,CAAA,CAAA,gCuEeI,sC1EPJ,gBACA,CAAA,iBsBZF,CAAA,iBCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,CAAA,qDuEeI,sCnDfJ,iBACA,CAAA,kBpBDA,CAAA,CAAA,gCuEQE,wBAAA,gB1ECF,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,CAAA,qDuEQE,wBnDRF,iBACA,CAAA,kBpBDA,CAAA,CAAA,gCuEeI,6B1EPJ,gBACA,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,CAAA,qDuEeI,6BnDfJ,iBACA,CAAA,kBpBDA,CAAA,CAAA,gCuEeI,gC1EPJ,gBACA,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,CAAA,qDuEeI,gCnDfJ,iBACA,CAAA,kBpBDA,CAAA,CAAA,gCuEeI,+B1EPJ,gBACA,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,CAAA,qDuEeI,+BnDfJ,iBACA,CAAA,kBpBDA,CAAA,CAAA,gCuEeI,kC1EPJ,gBACA,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,CAAA,qDuEeI,kCnDfJ,iBACA,CAAA,kBpBDA,CAAA,CAAA,gCuEeI,+B1EPJ,gBACA,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,CAAA,qDuEeI,+BnDfJ,iBACA,CAAA,kBpBDA,CAAA,CAAA,gCuEeI,kC1EPJ,gBACA,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,CAAA,qDuEeI,kCnDfJ,iBACA,CAAA,kBpBDA,CAAA,CAAA,gCuEeI,gC1EPJ,gBACA,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,CAAA,qDuEeI,gCnDfJ,iBACA,CAAA,kBpBDA,CAAA,CAAA,gCuEeI,mC1EPJ,gBACA,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,CAAA,qDuEeI,mCnDfJ,iBACA,CAAA,kBpBDA,CAAA,CAAA,gCuEeI,mC1EPJ,gBACA,CAAA,iBsBZF,CAAA,iBCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,CAAA,qDuEeI,mCnDfJ,iBACA,CAAA,kBpBDA,CAAA,CAAA,gCuEQE,yBAAA,gB1ECF,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,CAAA,qDuEQE,yBnDRF,iBACA,CAAA,kBpBDA,CAAA,CAAA,gCuEeI,8B1EPJ,gBACA,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,CAAA,qDuEeI,8BnDfJ,iBACA,CAAA,kBpBDA,CAAA,CAAA,gCuEeI,iC1EPJ,gBACA,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,CAAA,qDuEeI,iCnDfJ,iBACA,CAAA,kBpBDA,CAAA,CAAA,gCuEeI,gC1EPJ,gBACA,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,CAAA,qDuEeI,gCnDfJ,iBACA,CAAA,kBpBDA,CAAA,CAAA,gCuEeI,mC1EPJ,gBACA,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,CAAA,qDuEeI,mCnDfJ,iBACA,CAAA,kBpBDA,CAAA,CAAA,gCuEeI,gC1EPJ,gBACA,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,CAAA,qDuEeI,gCnDfJ,iBACA,CAAA,kBpBDA,CAAA,CAAA,gCuEeI,mC1EPJ,gBACA,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,CAAA,qDuEeI,mCnDfJ,iBACA,CAAA,kBpBDA,CAAA,CAAA,gCuEeI,iC1EPJ,gBACA,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,CAAA,qDuEeI,iCnDfJ,iBACA,CAAA,kBpBDA,CAAA,CAAA,gCuEeI,oC1EPJ,gBACA,CAAA,iBsBZF,CAAA,eCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,CAAA,qDuEeI,oCnDfJ,iBACA,CAAA,kBpBDA,CAAA,CAAA,gCuEeI,oC1EPJ,gBACA,CAAA,iBsBZF,CAAA,iBCGE,CAAA,iBACA,CAAA,kBpBDA,CAAA,CAAA,qDuEeI,oCnDfJ,iBACA,CAAA,kBmDwBJ,CAAA,CAAA,UhD5BE,YCuCM,CAAA,c+CPN,CAAA,mB1ErBE,kBACA,CAAA,mB4BOF,CAAA,qBLhBE,kBACA,CAAA,mBpBDA,CAAA,gCuE6BF,mB1ErBE,iBACA,CAAA,kB4BiBA,CAAA,qBL1BA,iBACA,CAAA,kBmDgCA,CAAA,CAAA,qB1EzBA,aACA,CAAA,c4BiCE,CAAA,uBL1CF,cACA,CAAA,emDgCA,CAAA,uB1EzBA,gBACA,CAAA,iB4BiDE,CAAA,yBL1DF,gBACA,CAAA,iBmDgCA,CAAA,sB1EzBA,gBACA,CAAA,iB4BiDE,CAAA,wBL1DF,gBACA,CAAA,iBmDgCA,CAAA,qB1EzBA,mBACA,CAAA,oB4BiDE,CAAA,uBL1DF,mBACA,CAAA,oBmDgCA,CAAA,qB1EzBA,kBACA,CAAA,mB4BiDE,CAAA,uBL1DF,kBACA,CAAA,mBmDgCA,CAAA,qB1EzBA,mBACA,CAAA,oB4BiDE,CAAA,uBL1DF,mBACA,CAAA,oBmDgCA,CAAA,qB1EzBA,iBACA,CAAA,kB4BiDE,CAAA,uBL1DF,iBACA,CAAA,kBmDgCA,CAAA,qB1EzBA,oBACA,CAAA,qB4BiDE,CAAA,uBL1DF,oBACA,CAAA,qBmDgCA,CAAA,qB1EzBA,mBACA,CAAA,oB4BiDE,CAAA,uBL1DF,mBACA,CAAA,oBmDgCA,CAAA,sB1EzBA,gBACA,CAAA,iB4BiDE,CAAA,wBL1DF,gBACA,CAAA,iBmDgCA,CAAA,sB1EzBA,kBACA,CAAA,mB4BiDE,CAAA,wBL1DF,kBACA,CAAA,mBmDgCA,CAAA,sB1EzBA,mBACA,CAAA,oB4BiDE,CAAA,wBL1DF,mBACA,CAAA,oBpBDA,CAAA,gCuE8CM,gC1EtCN,aACA,CAAA,c4BiCE,CAAA,kCL1CF,cACA,CAAA,emD6CM,CAAA,kC1EtCN,gBACA,CAAA,iB4BiDE,CAAA,oCL1DF,gBACA,CAAA,iBmD6CM,CAAA,iC1EtCN,gBACA,CAAA,iB4BiDE,CAAA,mCL1DF,gBACA,CAAA,iBmD6CM,CAAA,gC1EtCN,mBACA,CAAA,oB4BiDE,CAAA,kCL1DF,mBACA,CAAA,oBmD6CM,CAAA,gC1EtCN,kBACA,CAAA,mB4BiDE,CAAA,kCL1DF,kBACA,CAAA,mBmD6CM,CAAA,gC1EtCN,mBACA,CAAA,oB4BiDE,CAAA,kCL1DF,mBACA,CAAA,oBmD6CM,CAAA,gC1EtCN,iBACA,CAAA,kB4BiDE,CAAA,kCL1DF,iBACA,CAAA,kBmD6CM,CAAA,gC1EtCN,oBACA,CAAA,qB4BiDE,CAAA,kCL1DF,oBACA,CAAA,qBmD6CM,CAAA,gC1EtCN,mBACA,CAAA,oB4BiDE,CAAA,kCL1DF,mBACA,CAAA,oBmD6CM,CAAA,iC1EtCN,gBACA,CAAA,iB4BiDE,CAAA,mCL1DF,gBACA,CAAA,iBmD6CM,CAAA,iC1EtCN,kBACA,CAAA,mB4BiDE,CAAA,mCL1DF,kBACA,CAAA,mBmD6CM,CAAA,iC1EtCN,mBACA,CAAA,oB4BiDE,CAAA,mCL1DF,mBACA,CAAA,oBpBDA,CAAA,CAAA,gCuE8CM,6B1EtCN,aACA,CAAA,c4BiCE,CAAA,+BL1CF,cACA,CAAA,emD6CM,CAAA,+B1EtCN,gBACA,CAAA,iB4BiDE,CAAA,iCL1DF,gBACA,CAAA,iBmD6CM,CAAA,8B1EtCN,gBACA,CAAA,iB4BiDE,CAAA,gCL1DF,gBACA,CAAA,iBmD6CM,CAAA,6B1EtCN,mBACA,CAAA,oB4BiDE,CAAA,+BL1DF,mBACA,CAAA,oBmD6CM,CAAA,6B1EtCN,kBACA,CAAA,mB4BiDE,CAAA,+BL1DF,kBACA,CAAA,mBmD6CM,CAAA,6B1EtCN,mBACA,CAAA,oB4BiDE,CAAA,+BL1DF,mBACA,CAAA,oBmD6CM,CAAA,6B1EtCN,iBACA,CAAA,kB4BiDE,CAAA,+BL1DF,iBACA,CAAA,kBmD6CM,CAAA,6B1EtCN,oBACA,CAAA,qB4BiDE,CAAA,+BL1DF,oBACA,CAAA,qBmD6CM,CAAA,6B1EtCN,mBACA,CAAA,oB4BiDE,CAAA,+BL1DF,mBACA,CAAA,oBmD6CM,CAAA,8B1EtCN,gBACA,CAAA,iB4BiDE,CAAA,gCL1DF,gBACA,CAAA,iBmD6CM,CAAA,8B1EtCN,kBACA,CAAA,mB4BiDE,CAAA,gCL1DF,kBACA,CAAA,mBmD6CM,CAAA,8B1EtCN,mBACA,CAAA,oB4BiDE,CAAA,gCL1DF,mBACA,CAAA,oBpBDA,CAAA,CAAA,gCuE8CM,8B1EtCN,aACA,CAAA,c4BiCE,CAAA,gCL1CF,cACA,CAAA,emD6CM,CAAA,gC1EtCN,gBACA,CAAA,iB4BiDE,CAAA,kCL1DF,gBACA,CAAA,iBmD6CM,CAAA,+B1EtCN,gBACA,CAAA,iB4BiDE,CAAA,iCL1DF,gBACA,CAAA,iBmD6CM,CAAA,8B1EtCN,mBACA,CAAA,oB4BiDE,CAAA,gCL1DF,mBACA,CAAA,oBmD6CM,CAAA,8B1EtCN,kBACA,CAAA,mB4BiDE,CAAA,gCL1DF,kBACA,CAAA,mBmD6CM,CAAA,8B1EtCN,mBACA,CAAA,oB4BiDE,CAAA,gCL1DF,mBACA,CAAA,oBmD6CM,CAAA,8B1EtCN,iBACA,CAAA,kB4BiDE,CAAA,gCL1DF,iBACA,CAAA,kBmD6CM,CAAA,8B1EtCN,oBACA,CAAA,qB4BiDE,CAAA,gCL1DF,oBACA,CAAA,qBmD6CM,CAAA,8B1EtCN,mBACA,CAAA,oB4BiDE,CAAA,gCL1DF,mBACA,CAAA,oBmD6CM,CAAA,+B1EtCN,gBACA,CAAA,iB4BiDE,CAAA,iCL1DF,gBACA,CAAA,iBmD6CM,CAAA,+B1EtCN,kBACA,CAAA,mB4BiDE,CAAA,iCL1DF,kBACA,CAAA,mBmD6CM,CAAA,+B1EtCN,mBACA,CAAA,oB4BiDE,CAAA,iCL1DF,mBACA,CAAA,oBmDwDJ,CAAA,CAAA,kBzC5DE,iBAAA,CAAA,UyC+DA,CAAA,qBAGF,CAAA,U/C3BQ,WEvCN,CAAA,UAAA,CAAA,cD4FI,CAAA,a8CrBN,CAAA,8B/ChCQ,aEvCN,CAAA,UAAA,CAAA,c6C4EF,CAAA,e/CrCQ,WEvCN,CD4FI,a8CTJ,CAAA,wB/C5CM,aEvCN,CAAA,mB6CmFA,CAAA,Y7CnFA,oB6CmFA,CAAA,wB/C5CM,aEvCN,CAAA,S6CmFA,CAAA,Y7CnFA,oB6CmFA,CAAA,wB/C5CM,aEvCN,CAAA,oB6CmFA,CAAA,Y7CnFA,S6CmFA,CAAA,wB/C5CM,aEvCN,CAAA,oB6CmFA,CAAA,Y7CnFA,oB6CmFA,CAAA,yB/C5CM,aEvCN,CAAA,S6CmFA,CAAA,a7CnFA,oB6CmFA,CAAA,0B/C5CM,aEvCN,CAAA,oB6CmFA,CAAA,a7CnFA,U1BGE,CAAA,gCuE0FE,+C/CtDE,WEvCN,CAAA,UAAA,CAAA,cD4FI,CAAA,a8CKA,CAIA,0B/C9DE,aEvCN,CAAA,UAAA,CAAA,c6C2GM,CAAA,uB/CpEA,aEvCN,CAAA,mB6C2GM,CAAA,uB/CpEA,aEvCN,CAAA,oB6C2GM,CAAA,uB/CpEA,aEvCN,CAAA,S6C2GM,CAAA,uB/CpEA,aEvCN,CAAA,oB6C2GM,CAAA,uB/CpEA,aEvCN,CAAA,oB6C2GM,CAAA,uB/CpEA,aEvCN,CAAA,S6C2GM,CAAA,uB/CpEA,aEvCN,CAAA,oB6C2GM,CAAA,uB/CpEA,aEvCN,CAAA,oB6C2GM,CAAA,uB/CpEA,aEvCN,CAAA,S6C2GM,CAAA,wB/CpEA,aEvCN,CAAA,oB6C2GM,CAAA,wB/CpEA,aEvCN,CAAA,oB6C2GM,CAAA,wB/CpEA,aEvCN,CAAA,U1BGE,CAAA,CAAA,gCuE0FE,yC/CtDE,WEvCN,CAAA,UAAA,CAAA,cD4FI,CAAA,a8CKA,CAIA,uB/C9DE,aEvCN,CAAA,UAAA,CAAA,c6C2GM,CAAA,oB/CpEA,aEvCN,CAAA,mB6C2GM,CAAA,oB/CpEA,aEvCN,CAAA,oB6C2GM,CAAA,oB/CpEA,aEvCN,CAAA,S6C2GM,CAAA,oB/CpEA,aEvCN,CAAA,oB6C2GM,CAAA,oB/CpEA,aEvCN,CAAA,oB6C2GM,CAAA,oB/CpEA,aEvCN,CAAA,S6C2GM,CAAA,oB/CpEA,aEvCN,CAAA,oB6C2GM,CAAA,oB/CpEA,aEvCN,CAAA,oB6C2GM,CAAA,oB/CpEA,aEvCN,CAAA,S6C2GM,CAAA,qB/CpEA,aEvCN,CAAA,oB6C2GM,CAAA,qB/CpEA,aEvCN,CAAA,oB6C2GM,CAAA,qB/CpEA,aEvCN,CAAA,U1BGE,CAAA,CAAA,gCuE0FE,2C/CtDE,WEvCN,CAAA,UAAA,CAAA,cD4FI,CAAA,a8CKA,CAIA,wB/C9DE,aEvCN,CAAA,UAAA,CAAA,c6C2GM,CAAA,qB/CpEA,aEvCN,CAAA,mB6C2GM,CAAA,qB/CpEA,aEvCN,CAAA,oB6C2GM,CAAA,qB/CpEA,aEvCN,CAAA,S6C2GM,CAAA,qB/CpEA,aEvCN,CAAA,oB6C2GM,CAAA,qB/CpEA,aEvCN,CAAA,oB6C2GM,CAAA,qB/CpEA,aEvCN,CAAA,S6C2GM,CAAA,qB/CpEA,aEvCN,CAAA,oB6C2GM,CAAA,qB/CpEA,aEvCN,CAAA,oB6C2GM,CAAA,qB/CpEA,aEvCN,CAAA,S6C2GM,CAAA,sB/CpEA,aEvCN,CAAA,oB6C2GM,CAAA,sB/CpEA,aEvCN,CAAA,oB6C2GM,CAAA,sB/CpEA,aEvCN,CAAA,U6CsHA,CAAA,CAAA,e1EvDE,yB0EuDF,CAAA,e1EvDE,0B0EuDF,CAAA,e1EvDE,e0EuDF,CAAA,e1EvDE,0B0EuDF,CAAA,e1EvDE,0B0EuDF,CAAA,e1EvDE,e0EuDF,CAAA,e1EvDE,0B0EuDF,CAAA,e1EvDE,0B0EuDF,CAAA,e1EvDE,e0EuDF,CAAA,gB1EvDE,0B0EuDF,CAAA,gB1EvDE,0B0EuDF,CAAA,gB1EvDE,gB0E4DJ,CAAA,kB1E5DI,aG5DA,CAAA,gCuEkII,0B1EtEJ,yBG5DA,CuEkII,0B1EtEJ,0BG5DA,CuEkII,0B1EtEJ,eG5DA,CuEkII,0B1EtEJ,0BG5DA,CuEkII,0B1EtEJ,0BG5DA,CuEkII,0B1EtEJ,eG5DA,CuEkII,0B1EtEJ,0BG5DA,CuEkII,0B1EtEJ,0BG5DA,CuEkII,0B1EtEJ,eG5DA,CuEkII,2B1EtEJ,0BG5DA,CuEkII,2B1EtEJ,0BG5DA,CuEkII,2B1EtEJ,gBG5DA,CuEyIE,6B1E7EF,aG5DA,CAAA,CAAA,gCuEkII,uB1EtEJ,yBG5DA,CuEkII,uB1EtEJ,0BG5DA,CuEkII,uB1EtEJ,eG5DA,CuEkII,uB1EtEJ,0BG5DA,CuEkII,uB1EtEJ,0BG5DA,CuEkII,uB1EtEJ,eG5DA,CuEkII,uB1EtEJ,0BG5DA,CuEkII,uB1EtEJ,0BG5DA,CuEkII,uB1EtEJ,eG5DA,CuEkII,wB1EtEJ,0BG5DA,CuEkII,wB1EtEJ,0BG5DA,CuEkII,wB1EtEJ,gBG5DA,CuEyIE,0B1E7EF,aG5DA,CAAA,CAAA,gCuEkII,wB1EtEJ,yBG5DA,CuEkII,wB1EtEJ,0BG5DA,CuEkII,wB1EtEJ,eG5DA,CuEkII,wB1EtEJ,0BG5DA,CuEkII,wB1EtEJ,0BG5DA,CuEkII,wB1EtEJ,eG5DA,CuEkII,wB1EtEJ,0BG5DA,CuEkII,wB1EtEJ,0BG5DA,CuEkII,wB1EtEJ,eG5DA,CuEkII,yB1EtEJ,0BG5DA,CuEkII,yB1EtEJ,0BG5DA,CuEkII,yB1EtEJ,gBG5DA,CuEyIE,2B1E7EF,a2E5EJ,CxEgBI,CwEhBJ,iBvBeE,sB1BFA,CAAA,YiDRF,CAAA,sBtBJE,aACA,CAAA,kBsBOF,CAAA,uBhD2CQ,WiDpDR,CAAA,iBAEE,wBAEA,CAFA,qBAEA,CAFA,gBAEA,CAAA,0DAEE,mBACA,CAAA,wBAOJ,CAPI,qBAOJ,CAPI,gBAOJ,CAAA,qCACE,mBAGF,CAAA,mBACE,iBACA,CAAA,mCAKA,CAAA,6BACE,iBACA,CAAA,SACA,CAAA,cAGF,CAAA,8BACE,kBACA,CAAA,SACA,CAAA,cACA,CAAA,aAIJ,CAAA,mBACE,yBACA,CAAA,QACA,CAAA,WACA,CAAA,MACA,CAAA,eACA,CAAA,iBACA,CAAA,cACA,CAAA,cACA,CAAA,sBACA,CACA,KAAA,CAAA,UAEA,CAAA,0BACE,UACA,CAAA,oBACA,CAAA,WACA,CAAA,qBAGF,CAAA,2CACE,mBAEA,CAAA,6CACE,mBAQJ,CAAA,mCjFvEA,iBACA,CAAA,WACA,CAAA,UiFyEA,CAAA,0CACE,eAIJ,CAAA,W3FzCE,gFACA,CAAA,iBCzBA,CAAA,e2DFA,CAAA,mB+BsEA,CAAA,ehGjEA,CAAA,agGmEA,CAAA,oBACA,CAAA,mBACA,CAAA,eACA,CAAA,iBACA,CAAA,eACA,CAAA,qBACA,CAAA,UAEA,CAAA,iBACE,SAIJ,CAAA,oBACE,YACA,CAAA,6BACA,CAAA,gBACA,CAAA,UAGF,CAAA,iBACE,aACA,CAAA,uBAIF,CAAA,oGAEE,6BAGF,CAAA,kBACE,kBACA,CAAA,mBACA,CAAA,4BACA,CAAA,aACA,CAAA,YACA,CAAA,aACA,CAAA,gBACA,CAAA,qBACA,CAAA,cACA,CAAA,UAEA,CAAA,iDAEE,4BACA,CAAA,aAGF,CAAA,wBACE,gBAGF,CAAA,4BACE,WACA,CAAA,kBACA,CAAA,UAIJ,CAAA,oB3F1GE,wEACA,CAAA,iB2F2GA,CAAA,eACA,CAAA,YAGF,CAAA,mBACE,iBAIF,CAAA,eACE,eACA,CAAA,UAEA,CAAA,gCACE,mBACA,CAAA,mBACA,CAAA,UACA,CAAA,ezEpJA,CAAA,gCyEuJF,mC3FhIA,wEACA,CAAA,iB2FsIF,CAAA,CAAA,sBACE,epGxGF,CAYA,SS5CE,gFACA,CAAA,iBCzBA,CAAA,ciBsBA,CAAA,mC3B8CF,SwDxCM,OC9BJ,CDqBI,QACA,CxDsDF,KAAA,CAAA,cACA,CAAA,eACA,CAAA,cACA,CAAA,YACA,CAAA,qBACA,CAAA,eACA,CAAA,YACA,CAAA,WACA,CAAA,WAEA,CAAA,oBACE,sCACA,CAAA,Y2BrFF,CAAA,CAAA,gC3BmEJ,SAuBI,WACA,CAAA,iB2B3FA,C3B8FF,qBAEI,gBAIJ,C2BpGE,C3BoGF,wBS7EA,gFACA,CAAA,iBCzBA,CAAA,ciBsBA,CAAA,mC3BuFF,kBwBzFI,eACA,CAAA,YYjCF,CAAA,oBACA,CAAA,cpC6HE,CAAA,iBACA,CAAA,OoC5HF,CAAA,qBACE,eACA,CAAA,e2DYA,CAAA,uBACE,4BAIJ,CAAA,qCACE,aACA,CAAA,kBACA,CAAA,oBAEA,CAAA,2CACE,wBACA,CAAA,oBAIJ,CAAA,uDACE,aAEA,CAAA,6DACE,aAGF,CAAA,6DACE,gBAIJ,CAAA,+BTjCA,iBS0CE,CAAA,aACA,CAAA,eTzCF,CAAA,sCACE,wBACA,CAAA,mBACA,CAAA,UACA,CAAA,aACA,CAAA,iBAGE,CAAA,aACA,CAAA,UACA,CAAA,YACA,CAAA,W3DZF,CAAA,CAAA,wDoEgCF,+BTjCA,iBAEA,CAAA,sCACE,wBACA,CAAA,mBACA,CAAA,UACA,CAAA,aACA,CAAA,iBAGE,CAAA,aACA,CAAA,UACA,CAAA,YACA,CAAA,M3DSJ,CAAA,CAAA,mC3B+FE,oB+CjHA,qBACA,CAAA,kBpBJA,CAAA,CAAA,gC3B4GJ,kBAeI,YACA,CAAA,mBAKA,CAAA,CAAA,2CACE,oBAKJ,CAAA,yCACE,e2BxIA,CAAA,gC3BuIF,yCAII,gBACA,CAAA,c2B5IF,C3BgJA,2CA3JF,cACA,CAAA,YA6JM,CAAA,kBACA,CAAA,aACA,CAAA,YACA,CAAA,eAEA,CASA,U2BjKJ,C3BwJI,CAAA,iDACE,a2BzJN,C3B8JA,gDAGI,W2BjKJ,C3BsKF,oB+CnKE,oBACA,CAAA,iB/CwKF,C2B5KE,C3B4KF,yByCvLA,4BACA,CAAA,QACA,CAAA,eACA,CAAA,eACA,CACA,sBACA,CAAA,eACA,CAAA,QACA,CAAA,SzCmLE,CAAA,iBACA,CAAA,aACA,CAAA,eACA,CAAA,eACA,CAAA,mBACA,CAAA,oByB1HF,CAAA,iCACE,aAGF,CAIA,gCACE,aAGF,CAAA,+BV3EA,4BACA,CAAA,gB0BEA,CAAA,i3BAmBE,4BACA,CAAA,eACA,CAAA,yBAGF,CAAA,2CACE,aAGF,CAAA,4CACE,aAGF,CAAA,6NAKE,aAEA,CAAA,8BAPF,6NAQI,cdvCF,CAAA,CAAA,gC3B4KF,yBAvLA,cACA,CAAA,YAmMI,CAAA,gBACA,CAAA,eAGF,CAAA,CAAA,8BAjBF,yBAkBI,wBAGF,CAAA,CAAA,+BACE,aACA,CAAA,wBACA,CAAA,oB2BpMF,CAAA,gC3BiMA,+BAMI,4BAMJ,CAAA,CAAA,sFAEE,qBAEA,CAAA,8BACE,sGACE,YAOF,CAAA,CAAA,oDACE,iBACA,CAAA,OACA,CAAA,OACA,CAAA,0BiCpDR,CAAA,0DA3CA,8CACA,CAAA,2BACA,CAAA,iCACA,CAAA,+BACA,CAAA,oBACA,CAAA,cACA,CAAA,aAuCE,CAAA,UACA,CAAA,qBAGE,CAAA,gBArCJ,CAAA,iDA+BA,0DA9BE,cACA,CAAA,2BACA,CAAA,yFAEA,CAFA,iFAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,iCjCqFI,CiCrFJ,yBjCqFI,CAAA,CAAA,gEACE,2B2BxON,CAAA,gCM0KF,0DA3CA,sDACA,CAAA,2BACA,CAAA,iCACA,CAAA,yBACA,CAAA,oBACA,CAAA,WACA,CAAA,UAuCE,CAAA,UACA,CAAA,qBAGE,CAAA,gBArCJ,CAAA,iDA+BA,0DA9BE,cACA,CAAA,2BACA,CAAA,iGAEA,CAFA,yFAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,2BjC8FM,CiC9FN,mBjC8FM,CAAA,CAAA,0DACE,Y2BjPR,C3BwPM,gEACE,wBAEA,C2B3PR,C3B2PQ,mDAHF,gEAII,2BiClFZ,CAAA,CAAA,yDA3CA,iDACA,CAAA,2BACA,CAAA,iCACA,CAAA,+BACA,CAAA,oBACA,CAAA,cACA,CAAA,aAuCE,CAAA,UACA,CAAA,qBAGE,CAAA,gBArCJ,CAAA,iDA+BA,yDA9BE,cACA,CAAA,2BACA,CAAA,4FAEA,CAFA,oFAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,iCjCqHI,CiCrHJ,yBjCqHI,CAAA,CAAA,yDACE,iBACA,CAAA,OAEA,CAAA,8BAJF,yDAKI,2B2B5QR,CAAA,CAAA,gC3BmQA,6CAeI,qBACA,CAAA,wBACA,CAAA,U2BpRJ,CAAA,CAAA,qDM0KF,yDA3CA,sDACA,CAAA,2BACA,CAAA,iCACA,CAAA,yBACA,CAAA,oBACA,CAAA,WACA,CAAA,UAuCE,CAAA,UACA,CAAA,qBAGE,CAAA,gBArCJ,CAAA,iDA+BA,yDA9BE,cACA,CAAA,2BACA,CAAA,iGAEA,CAFA,yFAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,2BjCuIQ,CiCvIR,mBjCuIQ,CAAA,CAAA,yDACE,YACA,CAAA,qBACA,CAAA,CAAA,wEAHF,yDAII,2B2B7RZ,CAAA,CAAA,gC3BuSA,8CAEI,oBACA,CAAA,cACA,CAAA,kBASR,CAAA,CAAA,oBACE,e2BrTE,CAAA,gC3BoTJ,oBmDhRQ,qBAAA,CAAA,oBnDqRJ,CAAA,WACA,CAAA,YACA,CAAA,gBACA,CAAA,gBACA,CAAA,2BAGA,CAAA,iBACA,CAAA,UAGF,CAAA,CAAA,gCACE,eACA,CAAA,U2BtUA,CAAA,gC3BoUF,gCAKI,aACA,CAAA,gBAKN,CAAA,CAAA,0BkExVE,eACA,CAAA,YACA,CAAA,oBACA,CAAA,clEuVA,CAAA,eACA,CAAA,iB2BlVE,CAAA,gC3B+UJ,0BAMI,qBACA,CADA,gBACA,CAAA,YACA,CAAA,oBACA,CAAA,cACA,CAAA,oBACA,CAAA,Y2B1VA,C3B6VF,mDAEI,mBAEA,CAAA,4EACE,6BACA,CAAA,kBAKN,C2BxWE,C3BwWF,4BACE,aACA,CAAA,oBACA,CAAA,gBACA,CAAA,oBAEA,CAAA,kCACE,aACA,CAAA,yB2B3VJ,CAAA,mC3BmWF,kBoCrYE,oBACA,CAAA,c2DuEA,CAAA,Q3DrEA,CAAA,qBACE,eACA,CAAA,e2DqEF,CAAA,uBACE,4BACA,CAAA,gBTpCF,CAAA,sCACE,Y3D5BA,CAAA,CAAA,wD2D2BF,sCACE,Y3DPF,CAAA,CAAA,mCoEsDA,qCACE,iBAIF,CAAA,uDACE,iBAIF,CAAA,yEACE,iBpEtFA,CAAA,CAAA,gC3BwXJ,kBkEjYE,eACA,CAAA,YACA,CAAA,oBACA,CAAA,cnBSE,CAAA,oBACA,CAAA,iB/C4XA,CAAA,wBACA,CAAA,WACA,CAAA,iBACA,CAAA,WAGF,CAAA,CAAA,oCACE,Y2BvYA,CAAA,gC3B4YE,2C+C5YF,iBACA,CAAA,kB/C6YI,CAAA,UACA,CAAA,eACA,CAAA,aAEA,CAAA,iDACE,sBAGF,CAAA,iDACE,UACA,CAAA,yBAOV,CAAA,CAAA,uBwB5YI,eACA,CAAA,YYjCF,CAAA,oBACA,CAAA,cAEA,CAAA,wHACE,eACA,CAAA,epC0aF,CAAA,mDACE,QACA,CAAA,gBAEA,CAAA,sGACE,eAQN,CAAA,gByBtXE,yBgBpEA,CAAA,4BACA,CAAA,QACA,CAAA,eACA,CAAA,eACA,CAAA,eACA,CAAA,sBACA,CACA,QACA,CAAA,SAAA,CAAA,WAAA,CAAA,UzCqbA,CAAA,qBACA,CAAA,kBACA,CAAA,SACA,CAAA,WACA,CAAA,8BACA,CAAA,iByB5XA,CAAA,wBACE,aAGF,CAIA,uBACE,aAGF,CAAA,sBV3EA,4BACA,CAAA,gB0BEA,CAAA,ssBAmBE,4BACA,CAAA,eACA,CAAA,yBAGF,CAAA,kCACE,aAGF,CAAA,mCACE,aAGF,CAAA,gLAKE,aAEA,CAAA,8BAPF,gLAQI,czCkZJ,CiC/QA,wBA3CA,gDACA,CAAA,2BACA,CAAA,iCACA,CAAA,+BACA,CAAA,oBACA,CAAA,cACA,CAAA,aAuCE,CAAA,UACA,CAAA,qBAKE,CAAA,iBAvCJ,CAAA,iDA+BA,wBA9BE,cACA,CAAA,2BACA,CAAA,2FAEA,CAFA,mFAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,iCjCySA,CiCzSA,yBjCySA,CAAA,CAAA,wBACE,2BAIJ,CAPA,CAOA,sBACE,kBACA,CAAA,oB2BlcA,CAAA,gC3B+aJ,gBAuBI,YAGF,CAAA,CAAA,oBACE,YAEA,CAAA,8BAHF,oBAII,YAIJ,CAAA,CAAA,kBACE,UAIJ,CAAA,2BACE,eAkBA,CAAA,4BACE,qCACE,iBACA,CAAA,cAEA,CAAA,uBqGpeN,CAAA,CAAA,gB7ESI,kBACA,CAAA,efGF,CAAA,gFACA,CAAA,iBCzBA,CAAA,eNGA,CAAA,aCIA,CAAA,qBgGWA,CAAA,YACA,CAAA,sBAIF,CAAA,0BACE,cACA,CAAA,aAQF,CAAA,sBnCzCE,eACA,CAAA,YACA,CAAA,oBACA,CAAA,cmCwCA,CAAA,kBACA,CAAA,YACA,CAAA,oBACA,CAAA,sBACA,CAAA,UAKF,CAAA,sBACE,mBACA,CAAA,aACA,CAAA,sBACA,CAAA,aACA,CAAA,kBACA,CAAA,mBACA,CAAA,gB1ElDE,CAAA,gC0E2CJ,sBAUI,aAMJ,CAAA,CAAA,uBACE,Y1E5DE,CAAA,gC0E2DJ,uBAGI,e1E9DA,C0EkEJ,+BAEI,oB1EpEA,C0EwEJ,2BAEI,mBAIJ,C1E9EI,C0E8EJ,sBACE,kBACA,CAAA,aACA,CAAA,mBACA,CAAA,oBAEA,CAAA,gCACE,oBACA,CAAA,mBAGF,CAAA,qFAGE,aACA,CAAA,yBAGF,CAAA,8BACE,aAIJ,CAAA,wBACE,kBACA,CAAA,8BACA,CAAA,oBACA,CAAA,kBACA,CAAA,gBACA,CAAA,aACA,CAAA,mBACA,CAAA,sBACA,CAAA,aACA,CAAA,oBACA,CAAA,UAEA,CAAA,2FAGE,aACA,CAAA,oBAEA,CAAA,8BANF,2FAOI,4BAKN,CAAA,CAAA,6BAME,wBACA,CAAA,wBACA,CAAA,UAEA,CAAA,8BAVF,6BAWI,4BACA,CAAA,gBAGF,CAAA,CAAA,0GAGE,wBACA,CAAA,UACA,CAAA,oBAEA,CAAA,8BAPF,0GAQI,gBAKN,CAAA,CAAA,0BACE,kBACA,CAAA,kBACA,CAAA,eACA,CAAA,wBACA,CADA,qBACA,CADA,gBACA,CAAA,aCnKA,CAQE,+FhDPF,cgDYA,CAbA,+C7F2BA,gFACA,CAAA,iBCzBA,CAAA,ecoBE,CAAA,eACA,CAAA,YYjCF,CAAA,oBACA,CAAA,ckEWE,CAAA,+BACA,CAAA,yCACA,CAAA,iBlEXF,CkEmBA,2DACE,+BAEA,CAAA,iBAIA,CAAA,eACA,CAAA,mBACA,CAAA,4CAKF,CAAA,mCACE,mCAGF,CAAA,gCnDSM,kBAAA,CAAA,kBAAA,CAAA,sBrBvCN,CAAA,mBAAA,CwEkCE,qBACA,CAAA,2BAEA,CAAA,4BAEA,CAAA,aACA,CAAA,0CACA,CAAA,mCACA,CAAA,YACA,CAAA,gFACA,CAAA,iBAIA,CAAA,eACA,CAAA,aACA,CAAA,MACA,CAAA,cACA,CAAA,iBACA,CAAA,iBACA,CAAA,YAGF,CAGE,8BACE,oBAEA,CAMJ,qCACE,YAGF,CAAA,oCACE,eAIJ,CAAA,2B7FnDE,iBCzBA,CAAA,e4FkFA,CAAA,aACA,CAAA,gFACA,CAAA,eACA,CAAA,QAEA,CAAA,6BACE,iBC9FJ,CAAA,Y9F8BE,gFACA,CAAA,iBCzBA,CAAA,e6FFA,CAAA,iBnBdA,CAAA,mBACE,UACA,CAAA,UACA,CAAA,amBcF,CAAA,gFAKE,YAGF,CAAA,0BACE,2BACA,CAAA,wBACA,CAAA,WACA,CAAA,QACA,CAAA,SACA,CAAA,U5EdA,CAAA,gC4EQF,0BxDRE,iBACA,CAAA,kBwDiBE,CAAA,UAGF,CAAA,CAAA,8BtEqJF,kCA3CA,iDACA,CAAA,2BACA,CAAA,iCACA,CAAA,6BACA,CAAA,oBACA,CAAA,aACA,CAAA,YAuCE,CAAA,UACA,CAAA,qBAKE,CAAA,iBAvCJ,CAAA,iDA+BA,kCA9BE,cACA,CAAA,2BACA,CAAA,4FAEA,CAFA,oFAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,+BsE1HE,CtE0HF,uBsE1HE,CAAA,CAAA,gCACE,gB5EzBJ,CAAA,CAAA,mD4E4BE,kCAEI,Y5E9BN,CAAA,CAAA,gC4EoCF,yBAEI,YAGF,CAAA,CAAA,8BALF,yBAMI,Y5E1CF,CAAA,CAAA,gC4EkDF,mEAGI,iBACA,CAAA,W5EtDF,C4E0DF,oExD1DE,iBACA,CAAA,kBwD6DE,CAAA,iBACA,CAAA,WACA,CAAA,UAMJ,C5EtEE,C4EsEF,wExDtEE,mBACA,CAAA,oBwDwEA,CAAA,c5EzEA,CAAA,mD4E8EE,yCAEI,UAMR,CAAA,CAAA,4CzEzFA,aAAA,CAAA,YyE2FE,CAAA,aAEA,CAAA,8BAJF,4CAKI,YAMN,CAAA,CAAA,mBAEE,qBACA,CAAA,uBAGF,CAHE,oBAGF,CAHE,eAGF,CAAA,iCxDpGI,gBACA,CAAA,awDsGF,CAAA,4BACA,CAAA,iBACA,CAAA,yBACA,CAAA,qBACA,CAAA,UACA,CAAA,cACA,CAAA,WACA,CAAA,QAGF,CAAA,yBACE,Y5ErHE,CAAA,gC4EoHJ,yBAII,aCtIJ,CAAA,CAAA,azDiBI,mBACA,CAAA,gBpBJA,CAAA,gC6EdJ,azDiBI,mBACA,CAAA,gByDTJ,CAAA,CAAA,oBACE,wBAGF,CAAA,mBACE,wBACA,CAAA,UAEA,CAWA,qBACE,UAGF,CAAA,kDlFEA,aACA,CAGA,uDAEE,amF1CJ,CAAA,ajFmCI,eACA,CAAA,YYjCF,CAAA,oBACA,CAAA,c3BmCA,CAAA,gFACA,CAAA,iBCzBA,CAAA,e+FXA,CAAA,+BrEEA,C2DQE,mBACE,4BAUJ,CAAA,gCACE,aACA,CAAA,kBACA,CAAA,oBAEA,CAAA,sCACE,wBACA,CAAA,oBAIJ,CAAA,kDACE,aAEA,CAAA,wDACE,aAGF,CAAA,wDACE,gBAIJ,CAAA,0BTjCA,iBS0CE,CAAA,aACA,CAAA,eTzCF,CAAA,iCACE,wBACA,CAAA,mBACA,CAAA,UACA,CAAA,aACA,CAAA,iBAGE,CAAA,aACA,CAAA,UACA,CAAA,YACA,CAAA,W3DZF,CAAA,gCoEgCF,0BTjCA,iBAEA,CAAA,iCACE,wBACA,CAAA,mBACA,CAAA,UACA,CAAA,aACA,CAAA,iBAGE,CAAA,aACA,CAAA,UACA,CAAA,YACA,CAAA,MmBtBJ,CAAA,CAAA,6BjFkBE,iBACA,CAAA,kBGTA,CAAA,gC8EVF,6BjFkBE,aACA,CAAA,ciFVJ,CAAA,CAAA,sBrEZE,oBACA,CAAA,c2DuEA,CAAA,QU1DA,CAAA,crEXA,C2DuEA,2BACE,4BACA,CAAA,gBTpCF,CAAA,0CACE,Y3D5BA,CAAA,gC2D2BF,0CACE,YS+CF,CAAA,CAAA,yCACE,iBAIF,CAAA,+DACE,iBAIF,CAAA,qFACE,iBW9FF,CAAA,2B7DaA,wBACA,CAAA,+BACA,CAAA,aAEA,CAAA,4CpCcA,gFACA,CAAA,iBCzBA,CAAA,ecSE,CAAA,gBACA,CAAA,iBsBZF,CAAA,eCME,CAFA,YFmBA,CAAA,iBlBpBA,CAAA,gCkBSF,4CAQI,4BAMJ,CAAA,CAAA,4CrBJE,eACA,CAAA,YqBMA,CAAA,uDEvBA,gBACA,CAAA,aF2BF,CAAA,+CpCRA,gFACA,CAAA,iBCzBA,CAAA,cmCkCE,CAAA,YACA,CAAA,mBAGF,CAAA,2FAEE,gBAEA,CAAA,iHACE,e6D5CJ,CAAA,iC7DqDA,wBACA,CAAA,yB6DnDE,CAAA,kDtGCF,aCIA,CAAA,wBwC8DA,CAAA,4BAyBA,CAAA,0DZkCA,+CACA,CAAA,2BACA,CAAA,iCACA,CAAA,yBACA,CACA,WACA,CAAA,UYtCE,CAAA,UACA,CAAA,aAEA,CAAA,UAGA,CAAA,iBACA,CAAA,UZqCF,CAAA,iDY9CA,0DZ+CE,cACA,CAAA,wBACA,CAAA,0FAEA,CAFA,kFAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,2BNlJA,CMkJA,mBNlJA,CAAA,CAAA,gCkB6FF,0DAWI,WlBxGF,C+ECA,kD7DqEA,iBACA,CAAA,kBAGF,ClB1EE,CkB0EF,yEvBtDA,aACA,CAAA,oEACE,aAEF,CAAA,qIAEE,aoF5BF,CAAA,sC7DqDA,wBACA,CAAA,yB6DnDE,CAAA,uDtGCF,UCIA,CAAA,wBwC8DA,CAAA,4BAyBA,CAAA,+DZkCA,0DACA,CAAA,2BACA,CAAA,iCACA,CAAA,yBACA,CACA,WACA,CAAA,UYtCE,CAAA,UACA,CAAA,aAEA,CAAA,UAGA,CAAA,iBACA,CAAA,UZqCF,CAAA,iDY9CA,+DZ+CE,cACA,CAAA,qBACA,CAAA,2FAEA,CAFA,mFAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,2BNlJA,CMkJA,mBNlJA,CAAA,CAAA,gCkB6FF,+DAWI,WlBxGF,C+ECA,uD7DqEA,iBACA,CAAA,kBAGF,ClB1EE,CkB0EF,0IvBtDA,aACA,CAGA,+IAEE,auBmHF,CAAA,kDE1IE,oBACA,CAAA,iBF6IA,CAAA,4BAhBF,CAAA,yDACE,sBACA,CAAA,aACA,CAAA,SACA,CGjJmB,YHkJnB,CAAA,iDALF,yDAMI,wBlBvIF,CkBuIE,gBlBvIF,CAAA,CAAA,gCkB6IF,kDAMI,mBAlCJ,CAAA,CAAA,qDAKE,kBAJA,CAAA,4DACE,YlBnHF,CAAA,gCkBiHF,qDASI,4B8D1IN,CAAA,CAAA,alGuCE,gFACA,CAAA,iBCzBA,CAAA,eeyDA,CACA,yBkFrEA,CAAA,cACA,CAAA,MACA,CAAA,kBACA,CAAA,iBACA,CAAA,WACA,CAAA,2BACA,CAAA,WlFiEA,CAAA,qBACE,aAGF,CAAA,mBACE,aAGF,CAAA,oBACE,aAGF,CAAA,mBV3EA,4BACA,CAAA,gB4FDA,CAAA,0CAEE,eACA,CAAA,MACA,CAAA,iBACA,CACA,KAAA,CAAA,2BAIJ,CAAA,wBACE,iBCbF,CAAA,oBnG6BE,gFACA,CAAA,iBCzBA,CAAA,ekGCA,CAAA,qBACA,CAAA,kBACA,CAAA,gBACA,CAAA,iBjFHE,CAAA,gCiFNJ,oBpFcI,aACA,CAAA,coFCJ,CAAA,CAAA,8BACE,gCACA,CAAA,YACA,CAAA,eACA,CAAA,QACA,CAAA,SAGF,CAAA,6BzDkBQ,WyDhBN,CAAA,oCACA,CAAA,eACA,CAAA,gBACA,CAAA,eACA,CAAA,gBACA,CAAA,iBAGA,CAAA,mCACE,wBACA,CAAA,UACA,CAAA,aAEA,CAAA,YACA,CAAA,MACA,CAAA,iBACA,CAAA,OACA,CjFrCA,KAAA,CAAA,gCiF4BF,mCAYI,YAMJ,CAAA,CAAA,8CACE,wBAEF,CAAA,0EACE,aAKF,CAAA,6CACE,wBAEF,CAAA,yEACE,aACA,CAAA,eAIJ,CAAA,mCACE,YjFjEE,CAAA,gCiFgEJ,mCAII,aACA,CAAA,aACA,CAAA,iBAKA,CAAA,8BAKA,CAAA,kBACA,CAAA,eAIJ,CAAA,CAAA,4BACE,oBACA,CAAA,YAGF,CAAA,6BACE,aACA,CAAA,gFACA,CAAA,iBAIA,CAAA,eACA,CAAA,ejFlGE,CAAA,gCiF0FJ,6BAWI,iBAIA,CAAA,eAIJ,CAAA,CAAA,kC9EhHE,aAAA,CAAA,mBAAA,CAAA,Y4B6DQ,CAAA,eAAA,CAAA,qCkDuDR,CAAA,wBACA,CAAA,UACA,CAAA,oBAEA,CAAA,mCAGA,CAAA,iBAGF,CAAA,iClDjEU,eAAA,CAAA,qCkDmER,CAAA,aACA,CAAA,kBjF9HE,CAAA,gCiFmIF,yHpF3HE,aACA,CAAA,coF4II,CAAA,4CAaF,CAAA,uI9ErKJ,aAAA,CAAA,mBAAA,CAAA,Y4B6DQ,CAAA,qCkD2GF,CAAA,qBACA,CAAA,uDAKA,CAAA,aACA,CAAA,mCACA,CAAA,aACA,CAAA,eACA,CAAA,MACA,CAAA,cAEA,CAAA,kCAKA,CAAA,iBACA,CAAA,iBACA,CAAA,6BAOA,CAAA,WAKA,CAAA,2JACE,YAON,CAAA,CAAA,6JACE,wBACA,CAAA,4BAEA,CAAA,UAKF,CAAA,2JACE,wBACA,CAAA,4BAEA,CAAA,UjF1NF,CAAA,gCiF8NF,iEAGI,2CjFjOF,CiFkPM,mNACE,QACA,CAAA,OACA,CAAA,UAKF,CAAA,iNACE,aACA,CAAA,MACA,CAAA,SACA,CAAA,UjF9PR,CiFuQF,8DAeM,4CAaF,CAAA,qE9EtSJ,aAAA,CAAA,mBAAA,CAAA,YrBUA,CAAA,gBmG+RM,CAAA,0BACA,CAAA,6BAWA,CAAA,+EACE,YjFnTN,CiFyTF,oEAGI,2CAaN,CjFzUI,CiFyUJ,2DACE,gBACA,CAAA,iBAEA,CAAA,4DAEE,YAEA,CAAA,eACA,CAAA,gBAEA,CAAA,mEAEE,YAKA,CAAA,6EACE,aAKN,CAAA,4DACE,eAKF,CAAA,yJAEE,YAIJ,CAIE,yDACE,eACA,CAAA,gBAEA,CAAA,gEAII,oCAcN,CAAA,+D7DvYE,kBACA,CAAA,mB6D0YA,CAAA,iBAOI,CAAA,yGACE,MAKF,CAAA,wGACE,OAQJ,CAAA,gGAII,oCCjbV,CAAA,iBpGmCE,gFACA,CAAA,iBCzBA,CAAA,eNGA,CAAA,aCIA,CAAA,wBgETA,CAAA,oBAAA,CAAA,wBwCEA,CAAA,cACA,CAAA,iBAGE,CAAA,sCACE,eAIJ,CAAA,mBACE,eAIJ,CAAA,0BpGUE,gFACA,CAAA,iBCzBA,CAAA,emGgBA,CAAA,YACA,CAAA,mBAGF,CAAA,uBAAA,erFCI,CAAA,YqFGJ,CAAA,kCACE,iBACA,CAAA,kBAGF,CAAA,iEvFRE,aACA,CAAA,+BACE,aAEF,CAAA,mGAEE,auFcA,CCxDJ,WrGuCE,gFACA,CAAA,iBCzBA,CAAA,e6BoMA,CAAA,wBACA,CAAA,gBACA,CAAA,aACA,CAAA,gBAIE,CAAA,oBACE,2BACA,CACA,eACA,CAAA,eAMF,CAAA,wCAEE,wBACA,CAtNoB,aA0NtB,CAAA,+BACE,eAGJ,CAgBA,6BAvLA,oBACA,CAAA,iBACA,CAAA,oCACE,+BACA,CAAA,yBACA,CAAA,uBACA,CAAA,QACA,CAAA,UACA,CAAA,QACA,CAAA,MACA,CAAA,iBACA,CAAA,UAiLE,CAAA,iJE/PJ,4BACA,CAAA,QACA,CAAA,eACA,CAAA,eACA,CAAA,eACA,CAAA,sBACA,CAEA,SAAA,CAAA,WAAA,CAAA,UF6EA,CAAA,iCACA,CAAA,sBACA,CAAA,aACA,CAAA,cACA,CAAA,oBACA,CAAA,QACA,CAAA,iBACA,CAAA,YACA,CAAA,iBACA,CAAA,oBAEA,CAAA,OACA,CAAA,2Bd3BA,CAQA,+JACE,aAGF,CAAA,6JV3EA,4BACA,CAAA,gB0BEA,CAAA,++GAmBE,4BACA,CAAA,eACA,CAAA,yBAGF,CAAA,qLACE,aAGF,CAAA,uLACE,aAGF,CAAA,q5BAKE,aAEA,CAAA,8BAPF,q5BAQI,cFgDJ,CAAA,CAAA,qKT1FA,aAAA,CAAA,YS4FE,CAAA,qBACA,CA+JA,qGAEE,wBAIA,CAAA,2JE1QJ,4BACA,CAAA,QACA,CAAA,eACA,CAAA,eACA,CAAA,eACA,CAAA,sBACA,CAEA,SAAA,CAAA,WAAA,CAAA,UF6EA,CAAA,iCACA,CAAA,sBACA,CAAA,aACA,CAAA,cACA,CAAA,oBACA,CAAA,QACA,CAAA,iBACA,CAAA,YACA,CAAA,iBACA,CAAA,oBAEA,CAAA,OACA,CAAA,2Bd3BA,CAAA,sFACE,aAGF,CAAA,oFACE,aAGF,CAAA,qFACE,aAGF,CAAA,oFV3EA,4BACA,CAAA,gB0BEA,CAAA,g2DAmBE,4BACA,CAAA,eACA,CAAA,yBAGF,CAAA,gGACE,aAGF,CAAA,iGACE,aAGF,CAAA,seAKE,aAEA,CAAA,8BAPF,seAQI,cFgDJ,CAAA,CAAA,wFT1FA,aAAA,CAAA,YS4FE,CAAA,qBACA,CA4BF,wMA9EwB,YA6NpB,Cd1MJ,qFACE,aAGF,CAAA,mFACE,aAGF,CAAA,oFACE,aAGF,CAAA,mFV3EA,4BACA,CAAA,gB0BEA,CAAA,60DAmBE,4BACA,CAAA,eACA,CAAA,yBAGF,CAAA,+FACE,aAGF,CAAA,gGACE,aAGF,CAAA,ieAKE,aAEA,CAAA,8BAPF,ieAQI,cFgDJ,CAAA,CAAA,uFT1FA,aAAA,CAAA,YS4FE,CAAA,qBACA,CAmLA,+BACE,wBACA,CAvP2B,aA2P/B,CAAA,gEAEE,wBACA,CArQsB,aA2QtB,CAAA,gCACE,qBACA,CAAA,YACA,CAAA,aAEA,CAAA,2CAzQ2B,aA+Q3B,CAIA,sHACE,SAMN,CAqBM,kIACE,wBACA,CAzSuB,aZX/B,CAAA,mCYuGA,2DACE,YAGF,CAAA,0GAEE,qBACA,CAAA,aACA,CAAA,UAGF,CAAA,qDACE,kCACA,CAAA,kBACA,CAAA,UACA,CAAA,4EAEE,kBAGA,CAAA,kFAEE,wBAKF,CAAA,sNAEE,+BAKN,CAAA,0JAEE,qBAEA,CAAA,oFACE,wBACA,CAAA,aACA,CAAA,eACA,CAAA,qBACA,CAAA,0BZlJJ,CYsHE,0FAEE,kBAGA,CAAA,gGAEE,wBAKF,CAWF,kGACE,wBACA,CAAA,aACA,CAAA,eACA,CAAA,qBACA,CAAA,0BAOF,CAAA,0F9BvJF,gFACA,CAAA,iBCzBA,CAAA,e6BsLI,CAAA,wBACA,CArLoB,aAsLpB,CAAA,eACA,CAAA,mBACA,CAAA,wGACE,YA9DN,CZvGA,CY2GA,kKAEE,qBACA,CAAA,aACA,CAAA,UAGF,CAIE,wGAEE,kBAGA,CAAA,8GAEE,wBAKF,CAAA,8QAEE,+BAKN,CAAA,kNAEE,qBAEA,CAAA,gHACE,wBACA,CAAA,aACA,CAAA,eACA,CAAA,qBACA,CAAA,0BA3CJ,CAeE,sHAEE,kBAGA,CAAA,4HAEE,wBAKF,CAWF,8HACE,wBACA,CAAA,aACA,CAAA,eACA,CAAA,qBACA,CAAA,0BAOF,CAAA,sH9BvJF,gFACA,CAAA,iBCzBA,CAAA,e6BsLI,CAAA,wBACA,CArLoB,aAsLpB,CAAA,eACA,CAAA,mBACA,CAAA,oIACE,YuEnKR,CAAA,0BvEmUE,wBACA,CAAA,wBAEA,CAAA,0DAEE,gBACA,CAAA,eAEA,CAAA,gFACE,iBAKF,CAAA,kGAEE,kBAIJ,CAAA,gCACE,e8CvK4B,CAAA,Q9C2K9B,CAAA,gDACE,QAEA,CAAA,yDACE,qBAGF,CAAA,sGAEE,iBuEjWN,CAAA,iCvEuWE,gBACA,CAAA,iBAEA,CAAA,4CACE,QAGF,CAAA,oCACE,kBwE1ZJ,CAAA,StGuCE,gFACA,CAAA,gBiD8BI,CAAA,UAII,CAAA,wBqDtER,CAAA,wBACA,CAAA,iBACA,CAAA,mBACA,CAAA,iBAEA,CAAA,sBACE,cAIJ,CAAA,chEEI,kBACA,CAAA,mBtCsBF,CAAA,gFACA,CAAA,iBuGNF,CAAA,aACE,oBACA,CAAA,iBAGF,CAAA,sBACE,cAEA,CAAA,0BACE,aACA,CAAA,mBAIJ,CAAA,2CAEE,mCACA,CAAA,wBACA,CAAA,oBACA,CAAA,aACA,CAAA,YACA,CAAA,cACA,CAAA,SACA,CAAA,aACA,CAAA,UACA,CAAA,eACA,CAAA,cACA,CAAA,iBAGA,CAAA,yDACE,UACA,CAAA,aACA,CAAA,OACA,CAAA,QACA,CAAA,iCACA,CAAA,kCACA,CAAA,4BACA,CAAA,iBACA,CAAA,WACA,CAAA,QACA,CAAA,gBAMF,CAAA,2DACE,UACA,CAAA,aACA,CAAA,iBAIJ,CAAA,yBACE,UACA,CAAA,kBACA,CAAA,iBACA,CAAA,cAGF,CAAA,0BACE,aAGF,CAAA,8BACE,SAlFA,CAAA,gCACE,QAOE,CAAA,UACA,CAAA,MACA,CAAA,OAVJ,CAAA,mCACE,WAOE,CAAA,UACA,CAAA,MACA,CAAA,OAkFJ,CAAA,kCACE,iCACA,CAAA,kCACA,CAAA,+BACA,CAAA,YACA,CAAA,WACA,CAAA,QAlGF,CAAA,kCACE,UAGE,CAAA,QACA,CACA,KAAA,CAvBU,SA0Hd,CAAA,iCACE,gCACA,CAAA,mCACA,CAAA,8BACA,CAAA,aACA,CAAA,UACA,CAAA,OACA,CAAA,QACA,CAAA,SACA,CAAA,eAlHF,CAAA,iCACE,SAGE,CAAA,QACA,CACA,KAAA,CAvBU,SA0Id,CAAA,gCACE,gCACA,CAAA,mCACA,CAAA,6BACA,CAAA,cACA,CAAA,UACA,CAAA,OACA,CAAA,QACA,CAAA,SACA,CAAA,eCpJJ,CAAA,6BACE,oBACA,CAAA,kBAEA,CAAA,kEACE,aACA,CAAA,eCFF,CAAA,mD9GcA,aCIA,CAAA,wB0DJA,CAAA,kBACA,CAAA,SmDVE,CAAA,+BnDYF,CAAA,sQ3DHA,aCIA,CAAA,wB0DMA,CAAA,8BmDxBA,mDnD0BE,cAEA,CAoBA,yBApBA,CAAA,sQAIE,cAeJ,CAAA,CmDtCF,sCtGwCU,mBAhBF,CAAA,oBA0EF,CAAA,kBsGhGJ,CAAA,gCACA,CAAA,mCAGF,CAAA,oBtGkBQ,oBuGrCR,CAAA,cAEE,QACA,CAAA,QACA,CAAA,SCJF,CAAA,Y3GuCE,gFACA,CAAA,iBCzBA,CAAA,e0GTA,CAAA,aACA,CAAA,eACA,CAAA,iBACA,CAAA,eAGF,CAAA,mBACE,iBACA,CAAA,eACA,CAAA,eCdA,CAAA,2CnDMA,eACA,CAAA,YACA,CAAA,oBACA,CAAA,cmDNE,CCwEF,cACE,eAGF,CAAA,qBACE,aAEA,CAAA,6BACE,eACA,CAAA,4BAGA,CAAA,8BALF,6BAMI,6BACA,CAAA,kBC3FN,CAAA,CAAA,sDDmCA,wBACA,CAAA,4BEpCA,CAAA,yGFwGM,aACA,CAAA,kBAEA,CAAA,8BE3GN,yGF4GQ,cC5GR,CAAA,CAAA,yHDgHM,qBACA,CAAA,4BEjHN,CAAA,4CFsHM,qBACA,CAAA,wBACA,CAAA,aExHN,CCmBI,oBACA,CAAA,gBACA,CAAA,iCDrBJ,CAAA,oDFsBA,kCACA,CAAA,oBAEA,CAAA,8BEzBA,oDF0BE,8BE1BF,CAAA,CAAA,qHFkIQ,oBElIR,CAAA,mbFyIU,qBCzIV,CAAA,8H5EKA,gGAEA,CAAA,2B2E4BA,CAAA,wBACA,CAAA,4BAqHQ,CAAA,iCACA,CAAA,2BAEA,CAAA,8BC5JR,8H5EKA,oGAEA,CAAA,2B2EuJU,CAAA,6BC9JV,CAAA,CAAA,sTDqKU,4BErKV,CAAA,sRFyKU,oBEzKV,CAAA,0HFsBA,kCACA,CAAA,oBAEA,CAAA,8BEzBA,0HF0BE,8BC1BF,CAAA,CAAA,+L5EKA,kFAEA,CAAA,2B2EqLM,CAAA,8BC5LN,+L5EKA,sFAEA,CAAA,2B4EPA,CAAA,CAAA,+bDyMQ,wBACA,CAAA,8BC1MR,+bD2MU,yBGtMZ,CAAA,CAAA,qBtGJE,iBACA,CAAA,WACA,CAAA,UoGHA,CAAA,oDxGaA,4BACA,CAAA,qByGdA,CCuBI,oDACE,UFxBN,CAAA,sDEmCI,iCACA,CAAA,2BACA,CAAA,aFrCJ,sDEsCM,qBACA,CAAA,qBACA,CAAA,WACA,CAAA,iBAGF,CAAA,CAAA,8BF5CJ,sDE6CM,6BAMR,CAAA,CAAA,qBAEE,cACA,CAAA,eACA,CAAA,eACA,CAAA,iBACA,CAAA,iBAEA,CAAA,iBAEA,CAAA,6BACE,WACA,CAAA,aACA,CAAA,MACA,CAAA,eACA,CAAA,kBASA,CAAA,iBAIJ,C3FjEE,cAAA,CAAA,a2FmEA,CAAA,iBAFF,CAKA,iCACE,aACA,CAAA,gBACA,CAAA,gBCtFF,CAAA,Y/EIE,+FAEA,CAAA,2B+EFA,CAAA,uBACA,CADA,oBACA,CADA,eACA,CAAA,qBACA,CAAA,sCACA,CAAA,uBACA,CAAA,kBAEA,CAAA,wBACE,YAIF,CAAA,6BACE,2BAIF,CAJE,mBAIF,CAAA,2BACE,iBACA,CAAA,qBAGF,CAAA,sBACE,WACA,CAAA,qBACA,CAAA,eAGF,CAAA,mBACE,eACA,CAAA,sBAGF,CAAA,qDtHlBA,aCIA,CAAA,wB0DJA,CAAA,kBACA,CAAA,SAEA,CAAA,8Q3DHA,aCIA,CAAA,wB0DMA,CAAA,8B2DQA,qD3DNE,cAEA,CAoBA,yBApBA,CAAA,8QAIE,cAeJ,C2DnDF,YA4CI,0BACA,CADA,uBACA,CADA,kBACA,CAAA,qBACA,CAAA,eCvBJ,C5D4BE,C4D5BF,eACE,eACA,CAAA,iBAIA,CAAA,+CACE,6BAEA,CAAA,0DACE,YAIJ,CAAA,qDACE,aAEA,CAAA,8BAHF,qD1F0GA,gDACA,CAAA,2BACA,CAAA,iCACA,CAAA,yBACA,CAAA,oBACA,CACA,U0F3GI,CAAA,aACA,CAAA,UACA,CAAA,S1F+GJ,CAAA,iD0FtHA,qD1FuHE,cACA,CAAA,2BACA,CAAA,2FAEA,CAFA,mFAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,2B0FjHJ,C1FiHI,mB0FjHJ,CAAA,CAAA,CAAA,sBAGE,uBACA,CADA,oBACA,CADA,eACA,CAAA,eACA,CAAA,cACA,CAAA,+BAEA,CAAA,yEvHvCA,aCIA,CAAA,wB0DJA,CAAA,kBACA,CAAA,S4D4CE,CAAA,+B5D1CF,CAAA,o1B3DHA,aCIA,CAAA,wB0DMA,CAAA,8B4D6BA,yE5D3BE,cAEA,CAoBA,yBApBA,CAAA,8VAIE,cAeJ,CAAA,C4DeE,6GACE,SAGF,CAJA,mGACE,SAGF,CAAA,uJACE,wBACA,CAAA,kBAOJ,CAAA,gFACE,mBAGF,CAAA,kMAEE,kBAKJ,CAAA,sFAEE,SAIF,CAAA,wDAEE,4BACA,CAAA,0BACA,CACA,QACA,CAAA,UACA,CAAA,cACA,CAAA,eACA,CAAA,UACA,CAAA,kBACA,CAAA,iBACA,CAAA,OACA,CAAA,WAGF,CAhBA,4BAIE,2BACA,ChFjGA,yFAEA,CAAA,2BgF4GA,CAAA,YACA,CAAA,uBAHF,CAMA,4BhFlHE,+FAEA,CAAA,2BgFkHA,CAAA,yBACA,CAAA,SAEA,CAAA,8BALF,4B1FyBE,sDACA,CAAA,2BACA,CAAA,iCACA,CAAA,yBACA,CAAA,oBACA,CAAA,WACA,CAAA,U0FxBE,CAAA,WACA,CAAA,U1F6BF,CAAA,iD0FrCF,4B1FsCI,cACA,CAAA,2BACA,CAAA,iGAEA,CAFA,yFAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,2B0FlCA,C1FkCA,mB0FlCA,CAAA,CAAA,qFAEE,yBAKN,CAAA,CAAA,uCACE,wBACA,CAAA,iBACA,CAAA,OACA,CAAA,wBACA,CAAA,mBACA,CAAA,gBACA,CAAA,SACA,CAAA,uBACA,CAAA,qBACA,CAAA,WAEA,CAAA,8BAZF,uCAaI,2BAIJ,CAAA,CAAA,qB/GnGU,gBAhBF,CAAA,oBA0EF,CAAA,kB+G4CJ,CAAA,qBACA,CAAA,eACA,CAAA,YACA,CAAA,QACA,CAAA,iBACA,CAAA,iBACA,CAAA,iBACA,CAAA,SACA,CAAA,iBACA,CAAA,UACA,CAAA,WAEA,CAAA,2BACE,SAIJ,CAAA,4BACE,+BACA,CAAA,cACA,CAAA,aACA,CAAA,aAEA,CAAA,qC5GtKA,yBACA,CAAA,mB4GuKE,CAAA,iBACA,CAAA,WAEA,CAAA,2CACE,mBAIJ,CAAA,sCACE,wBACA,CAAA,oBACA,CAAA,UAIJ,CAAA,wCACE,kBACA,CAAA,aACA,CAAA,aCtJF,CAAA,0BACE,YACA,CAAA,iBACA,CAAA,eAEA,CAAA,gCACE,SAIJ,CAAA,80CACE,kBACA,CAAA,UAEA,CAAA,o+CACE,wBAGF,CAAA,8BARF,kzFASI,yBAEA,CAOJ,CAAA,+JACE,wBACA,CAAA,QACA,CAAA,UAEA,CALF,uFACE,wBACA,CAAA,OACA,CAEA,CALF,mMACE,wBACA,CAAA,QACA,CAAA,SAEA,CAAA,CALF,yBAEE,OACA,CAEA,CAAA,kpBACE,cAEA,CAAA,0tBACE,mBAGF,CAAA,0tBACE,wBAEA,CAAA,8BAHF,0tBAII,2BAIJ,CAAA,CAAA,suBACE,wBAEA,CAAA,8BAHF,suBAII,2BAYN,CAAA,CAAA,kDACE,wBAEA,CAAA,8BAHF,kDAII,2BAIJ,CAAA,CAAA,oDACE,WAIJ,CAAA,yBjFzHE,kGAEA,CAAA,2BiF0HA,CAAA,kBACA,CAAA,4BACA,CAAA,0BACA,CAAA,sBACA,CAAA,eACA,CAAA,SAEA,CAAA,8BAVF,yB3FkBE,yDACA,CAAA,2BACA,CAAA,iCACA,CAAA,6BACA,CAAA,oBACA,CAAA,aACA,CAAA,U2FZE,CAAA,kCACA,CADA,0BACA,CAAA,iB3FiBF,CAAA,iD2F9BF,yB3F+BI,cACA,CAAA,2BACA,CAAA,oGAEA,CAFA,4FAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,+B2FrBE,C3FqBF,uB2FrBE,CAAA,CAAA,8FAEE,0BAYN,CAAA,CAAA,wDACE,YAKJ,CAAA,2BACE,wBACA,CAAA,SACA,CAAA,eACA,CAAA,iBACA,CAAA,OACA,CAAA,UACA,CAAA,WAKF,CAAA,kCACE,gBACA,CAAA,wBACA,CAAA,kBACA,CAAA,iBACA,CAAA,UAEA,CAAA,qCACE,eAGF,CAAA,qCACE,SAKJ,CAAA,gC1EjLE,YCuCM,CAAA,cyE4IN,CAAA,iBACA,CAAA,UAGF,CAAA,iCACE,wBACA,CAAA,MAGF,CAAA,+CACE,YACA,CAAA,sBACA,CAAA,kBAEA,CAAA,8BACE,qEACE,6BACA,CAAA,mBAMN,CAAA,CAAA,kKAKE,0BACA,CAAA,2BACA,CAAA,aACA,CAAA,iBAEA,CAAA,8BAVF,kKAWI,kCAIJ,CAJI,0BAIJ,CAAA,CAAA,0DjFlOE,uGAEA,CAAA,2BiFmOA,CAAA,8BAHF,0D3FvFE,8DACA,CAAA,2BACA,CAAA,iCACA,CAAA,6BACA,CAAA,oBACA,CAAA,aACA,CAAA,U2FsFE,CAAA,2B3FhFF,CAAA,iD2F2EF,0D3F1EI,cACA,CAAA,2BACA,CAAA,yGAEA,CAFA,iGAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,+B2F6EJ,C3F7EI,uB2F6EJ,CAAA,CAAA,CAAA,2DjF3OE,mGAEA,CAAA,2BiF4OA,CAAA,8BAHF,2D3FhGE,0DACA,CAAA,2BACA,CAAA,iCACA,CAAA,6BACA,CAAA,oBACA,CAAA,aACA,CAAA,U2F+FE,CAAA,2B3FzFF,CAAA,iD2FoFF,2D3FnFI,cACA,CAAA,2BACA,CAAA,qGAEA,CAFA,6FAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,+B2FsFJ,C3FtFI,uB2FsFJ,CAAA,CAAA,CAAA,sDjFpPE,qGAEA,CAAA,2BiFqPA,CAAA,8BAHF,sD3FzGE,4DACA,CAAA,2BACA,CAAA,iCACA,CAAA,6BACA,CAAA,oBACA,CAAA,aACA,CAAA,U2FwGE,CAAA,2B3FlGF,CAAA,iD2F6FF,sD3F5FI,cACA,CAAA,2BACA,CAAA,uGAEA,CAFA,+FAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,+B2F+FJ,C3F/FI,uB2F+FJ,CAAA,CAAA,CAAA,uDjF7PE,iGAEA,CAAA,2BiF8PA,CAAA,8BAHF,uD3FlHE,wDACA,CAAA,2BACA,CAAA,iCACA,CAAA,6BACA,CAAA,oBACA,CAAA,aACA,CAAA,U2FiHE,CAAA,2B3F3GF,CAAA,iD2FsGF,uD3FrGI,cACA,CAAA,2BACA,CAAA,mGAEA,CAFA,2FAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,+B2FwGJ,C3FxGI,uB2FwGJ,CAAA,CAAA,CAAA,wCACE,aAGF,CAAA,iCAEE,cAEA,CAAA,0C7GtQA,yBACA,CAAA,mB6GuQE,CAAA,iBACA,CAAA,WAGF,CAAA,8HAEE,aAGF,CAAA,wFAEE,wBACA,CAAA,aAEA,CAAA,wHACE,wBACA,CAAA,aAEA,CAAA,8BAJF,wHAKI,2BAGF,CAAA,CAAA,oIACE,wBACA,CAAA,aAGF,CAAA,oIACE,wBACA,CAAA,aAEA,CAAA,8BAJF,oIAKI,2BAIJ,CAAA,CAAA,sIACE,wBAEA,CAAA,8BAHF,sIAII,0BAMR,CAAA,CAAA,mDACE,0BACA,CAAA,6BAGF,CAAA,iDACE,2BACA,CAAA,8BAGF,CAAA,+CACE,wBAEA,CAAA,oIACE,wBAEA,CAAA,8BAHF,+DAII,0BAGF,CAAA,CAGE,8BAHF,qEAII,0BAIJ,CAAA,CAAA,qEACE,wBAEA,CAAA,8BAHF,qEAII,0BAIJ,CAAA,CAAA,sEACE,wBAEA,CAAA,8BAHF,sEAII,0BjGrUR,CAAA,CAAA,mCiG4UF,wCAEI,cACA,CAAA,QjGpWA,CAAA,CAAA,gCiGiWJ,wCAOI,MACA,CAAA,iBAIJ,CAAA,CAAA,uFAGE,oBACA,CAAA,WACA,CAAA,eACA,CAAA,UjG9VA,CAAA,mCiGwVF,uFASI,gBACA,CAAA,gBAKJ,CAAA,CAAA,yCACE,gBjGxWA,CAAA,mCiGuWF,yCAII,mBACA,CAAA,gBAEA,CAAA,4CACE,YACA,CAAA,qBAKN,CAAA,CAAA,kCAEE,cAEA,CAAA,2C7GlZA,yBACA,CAAA,mB6GmZE,CAAA,iBACA,CAAA,WAGF,CAAA,4CACE,wBACA,CAAA,aAEA,CAAA,4DACE,wBACA,CAAA,aAEA,CAAA,kEACE,wBACA,CAAA,aAGF,CAAA,kEACE,wBACA,CAAA,aAGF,CAAA,mEACE,wBAOR,CAAA,wCACE,gBAGF,CAAA,4FAGE,0BACA,CAAA,yBACA,CAAA,WACA,CAAA,cAEA,CAAA,8BARF,4FASI,kCAIJ,CAJI,0BAIJ,CAAA,CAAA,gEjF3cE,mGAEA,CAAA,2BiF4cA,CAAA,8BAHF,gEAKI,qB3F1RF,CAAA,uEA3CA,0DACA,CAAA,2BACA,CAAA,iCACA,CAAA,6BACA,CAAA,oBACA,CAAA,aACA,CAAA,UAuCE,CAAA,UACA,CAAA,qBAGE,CAAA,gBArCJ,CAAA,iDA+BA,uEA9BE,cACA,CAAA,2BACA,CAAA,qGAEA,CAFA,6FAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,+B2FoTA,C3FpTA,uB2FoTA,CAAA,CAAA,sEACE,4BACA,CAAA,4BAKN,CAAA,CAAA,4DjFzdE,iGAEA,CAAA,2BiF0dA,CAAA,8BAHF,4DAKI,qB3FxSF,CAAA,mEA3CA,wDACA,CAAA,2BACA,CAAA,iCACA,CAAA,6BACA,CAAA,oBACA,CAAA,aACA,CAAA,UAuCE,CAAA,UACA,CAAA,qBAGE,CAAA,gBArCJ,CAAA,iDA+BA,mEA9BE,cACA,CAAA,2BACA,CAAA,mGAEA,CAFA,2FAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,+B2FkUA,C3FlUA,uB2FkUA,CAAA,CAAA,kEACE,4BACA,CAAA,4BAKN,CAAA,CAAA,iCAEE,cAEA,CAAA,0C7GneA,yBACA,CAAA,mB6GoeE,CAAA,iBACA,CAAA,WAGF,CAAA,2CACE,wBACA,CAAA,aAEA,CAAA,2DACE,wBACA,CAAA,aAEA,CAAA,iEACE,wBACA,CAAA,aAGF,CAAA,iEACE,wBACA,CAAA,aAGF,CAAA,kEACE,wBCxgBR,CAAA,mB9EmBI,qBACA,CAAA,kB8ElBF,CAAA,aACA,CAAA,aACA,CAAA,eCJF,CAAA,YACE,QACA,CAAA,gBACA,CAAA,cACA,CAAA,iBAGF,CAAA,gBACE,aACA,CAAA,eACA,CAAA,UAGF,CAAA,wBACE,yBACA,CAAA,aACA,CAAA,gBACA,CAAA,gBACA,CAAA,iBACA,CAAA,iBACA,CAAA,UAEA,CAAA,8BACE,oBAIJ,CAAA,yCACE,oBAGF,CAAA,wCACE,eACA,CAAA,uBACA,CAAA,mBACA,CAAA,iBACA,CAAA,SAGF,CAAA,0DACE,aAGF,CAAA,wBrG6BE,aACA,CAAA,yBqG5BA,CAAA,erG8BA,CAAA,gCACE,aAGF,CAAA,8BACE,aAGF,CAAA,+BACE,aAGF,CAAA,8BV3EA,4BACA,CAAA,gB+GmCF,CAAA,8BACE,iBACA,CAAA,mBACA,CAAA,iBACA,CAAA,SAGF,CAAA,qBACE,eACA,CAAA,WACA,CAAA,MACA,CAAA,mBACA,CAAA,iBACA,CACA,KAAA,CAAA,UACA,CAAA,SAGF,CAAA,6CACE,cACA,CAAA,WACA,CAAA,MACA,CAAA,QACA,CAAA,cACA,CAAA,iBACA,CAAA,aACA,CAAA,kBACA,CACA,KAAA,CAAA,UACA,CAAA,SAGF,CAAA,yEACE,YAGF,CAAA,8CACE,oBAGF,CAAA,2CACE,wBAGF,CAAA,+CACE,UAGF,CnHlGA,0DmH+GE,kBACA,CAAA,kBACA,CACA,YACA,CAGA,mBACA,CAAA,iBACA,CACA,QAEA,EAzBF,AnHlGA,iCmHsGE,eACA,CAAA,6BACA,CAAA,aAMF,CAAA,yBAGE,kBACA,CACA,gBACA,CAAA,cACA,CAAA,oBACA,CAEA,eAGA,CAAA,oCACE,qBAIJ,CAAA,+BACE,QACA,CAAA,aACA,CAAA,aACA,CAAA,kBACA,CAAA,qBACA,CADA,kBACA,CAAA,YAGF,CAAA,0CnFnIE,gFAEA,CmFmIA,iCACA,CAAA,2BACA,CAAA,oBAGF,CAAA,6LAKE,iCACA,CACA,sBAGF,CAAA,oCnFpJE,kFAEA,CAAA,2BmFsJF,CAAA,wCnFxJE,8EAEA,CAAA,2BmF0JF,CAAA,qCnF5JE,mFAEA,CAAA,2BmF8JF,CAAA,sCnFhKE,oFAEA,CAAA,2BmFkKF,CAAA,sCnFpKE,oFAEA,CAAA,2BmFuKF,CAAA,+CACE,oBACA,CAAA,gBAKA,CAAA,0G1HlKA,a0HuKA,CAAA,+CACE,wBAGF,CAAA,uDACE,kBAIA,CAAA,wDACE,oBAIJ,CAAA,qEACE,wBAGF,CAAA,8BACE,0GAEE,cAGF,CAAA,0GAEE,qBCnNN,CAAA,CAAA,gBACE,iBAGA,CAAA,uCACE,YAKJ,CAAA,uBnHmDU,wBAhBF,CAAA,yBA0EF,CAAA,uBmH3GJ,CAAA,iBACA,CAAA,iBpGGE,CAAA,gCoGNJ,uBAMI,oBChBJ,CAAA,CAAA,UAEE,aAGF,CAAA,oBACE,aAAA,CAAA,iBCGA,kBACA,CAAA,YACA,CAAA,SACA,CAAA,iBAIE,CAAA,0EACE,qBAIJ,CAAA,kDrHgCQ,mBAhBF,CAAA,oBA0EF,CAAA,kBqHtFJ,CAAA,0BrHYM,oBqHPN,CAAA,uBlFRE,oBkFUA,CAAA,QACA,CAAA,WACA,CAAA,YACA,CAAA,WACA,CAAA,UAIE,CAAA,+G7HtBJ,aCIA,CAAA,wB0DJA,CAAA,kBACA,CAAA,SAEA,CAOA,8BkEYI,+GlEXF,QACA,CAAA,cAEA,CAAA,sfAIE,ckEQA,CANF,2EAQI,QlEKN,CkECA,qFAAA,yBAMF,CAdM,CAcN,yF7HxCE,aCIA,CAAA,wB0DJA,CAAA,kBACA,CAAA,SAEA,CAAA,8Z3DHA,aCIA,CAAA,wB0DMA,CAAA,8BkE8BF,yFlE7BI,QACA,CAAA,cAEA,CAAA,8ZAIE,ckE2BN,CAAA,CAAA,oCAEE,iBACA,CAAA,aACA,CAAA,aACA,CAAA,eACA,CAAA,wBACA,CADA,qBACA,CADA,gBACA,CAAA,kBAEA,CAAA,wDnG3DA,aAAA,CAAA,YmGgEF,CAAA,wBlFvDI,mBAAA,CAAA,mBkF4DJ,CAAA,kBACE,OCnFF,CAAA,gBACE,aACA,CAAA,iBAGF,CAAA,yBACE,4BACA,CAAA,aACA,CAAA,aACA,CAAA,QACA,CAAA,mBACA,CAAA,iBACA,CAEA,KAAA,CAAA,2BACE,iBAEA,CAAA,8BAHF,2BAII,gBACA,CAAA,iBACA,CAAA,kBAIJ,CAnBF,yBAoBI,QAIJ,CALE,CAKF,qCAGE,4BACA,CAAA,aCjCF,CAAA,W1HuCE,gFACA,CAAA,iBCzBA,CAAA,eyHTA,CAAA,aACA,CAAA,eACA,CAAA,iBACA,CAAA,eAGF,CAAA,kBACE,eACA,CAAA,YAGF,CAAA,qBACE,aClBF,CAAA,oBACE,YACA,CAAA,cAEA,CAAA,kCACE,yBAEA,CAAA,6DACE,uBAGF,CAHE,eAGF,CAAA,qEACE,iBACA,CAAA,sBAEA,CAAA,mBACA,CAAA,QACA,CAAA,OACA,CAAA,QAIJ,CAAA,oCACE,eAIJ,CAAA,kEjFyBQ,aiFrBN,CAAA,iBACA,CAAA,sBAIF,CAJE,iBAIF,CAAA,wDAEE,UAIF,CAAA,8BACE,WAGF,CAAA,4BACE,Yd6BA,CAAA,WACE,eAGF,CAAA,kBACE,aAEA,CAAA,0BACE,eACA,CAAA,4BAGA,CAAA,8BALF,0BAMI,6BACA,CAAA,kBC3FN,CAAA,CAAA,mDDmCA,wBEnCA,CAAA,mGFwGM,aACA,CAAA,kBAEA,CAAA,8BE3GN,mGF4GQ,cC5GR,CAAA,CAAA,mHDgHM,qBACA,CAAA,4BEjHN,CAAA,yCFsHM,qBACA,CAAA,wBACA,CAAA,aExHN,CamBI,oBACA,CAAA,gBACA,CAAA,iCbrBJ,CAAA,iDFsBA,kCACA,CAAA,oBAEA,CAAA,8BEzBA,iDF0BE,8BE1BF,CAAA,CAAA,+GFkIQ,oBElIR,CAAA,iaFyIU,qBCzIV,CAAA,mDDsNQ,iDAMA,CAAA,8BC5NR,mDD6NU,2BC7NV,CAAA,CAAA,mIDoOQ,wBACA,CAAA,iDAIA,CAAA,8BCzOR,mID0OU,yBerOZ,CAAA,CAAA,kBlHJE,iBACA,CAAA,WACA,CAAA,UoGHA,CAAA,iDxGaA,4BACA,CAAA,qByGdA,CauBI,iDACE,UAWF,CAAA,adnCJ,mDcoCM,0EASR,CAAA,CAAA,kBAEE,cACA,CAAA,eACA,CAAA,eACA,CAAA,iBACA,CAAA,iBAEA,CAAA,iBAEA,CAAA,0BACE,WACA,CAAA,aACA,CAAA,MACA,CAAA,eACA,CAAA,kBAOA,CAAA,iBAIJ,CvGzDE,cAAA,CAAA,mBAAA,CAAA,auGyDF,CAIA,8BACE,aACA,CAAA,gBACA,CAAA,gBC7CF,CAAA,WAGE,uBACA,CADA,oBACA,CADA,eACA,CAAA,QACA,CAAA,gBACA,CAAA,UAEA,CAAA,iBACE,SAEA,CAAA,uCA1CF,qBACA,CAAA,4BA6CE,CAAA,mCA9CF,qBACA,CAAA,4BAiDE,CAAA,4BAlDF,qBACA,CAAA,4BAsDA,CAAA,0CAlDA,wBACA,CAAA,mBACA,CAAA,wBACA,CAAA,cACA,CAAA,WACA,CAAA,UAiDA,CAAA,6BAtDA,wBACA,CAAA,mBACA,CAAA,wBACA,CAAA,cACA,CAAA,WACA,CAAA,UAqDA,CAAA,sBA1DA,wBACA,CAAA,mBACA,CAAA,wBACA,CAAA,cACA,CAAA,WACA,CAAA,UAyDA,CAAA,iCxGvDA,cAAA,CAAA,mBAAA,CAAA,awGGA,CAAA,kBACA,CAAA,QACA,CAAA,4BACA,CAAA,cAmDE,CAAA,uBACA,CADA,eACA,CAAA,kBAlDF,CAAA,8BA+CA,iCA9CE,6BAoDF,CAAA,CAAA,6BxG7DA,cAAA,CAAA,mBAAA,CAAA,awGGA,CAAA,kBACA,CAAA,QACA,CAAA,4BACA,CAAA,cAEA,CAAA,8BAqDA,6BApDE,6BAwDF,CAAA,CAAA,sBxGjEA,cAAA,CAAA,mBAAA,CAAA,awGGA,CAAA,kBACA,CAAA,QACA,CAAA,4BACA,CAAA,cAEA,CAAA,8BAyDA,sBAxDE,6BA4DF,CAAA,CAAA,2BAvDA,wBACA,CAAA,mBACA,CAAA,wBAyDA,CAAA,2BA3DA,wBACA,CAAA,mBACA,CAAA,wBA6DA,CAAA,mDAGE,SAEA,CAAA,iHlI7EF,aCIA,CAAA,wB0DJA,CAAA,kBACA,CAAA,SAEA,CAAA,8f3DHA,aCIA,CAAA,wB0DMA,CAAA,8BuEmEE,iHvEjEA,cAEA,CAoBA,yBApBA,CAAA,8fAIE,cAeJ,CAAA,CuEiDE,uFlIlFF,aCIA,CAAA,wB0DJA,CAAA,kBACA,CAAA,SAEA,CAAA,sZ3DHA,aCIA,CAAA,wB0DMA,CAAA,8BuEwEE,uFvEtEA,cAEA,CAoBA,yBApBA,CAAA,sZAIE,cAeJ,CAAA,CuEsDE,yElIvFF,aCIA,CAAA,wB0DJA,CAAA,kBACA,CAAA,SAEA,CAAA,8V3DHA,aCIA,CAAA,wB0DMA,CAAA,8BuE6EE,yEvE5EA,QACA,CAAA,cAEA,CAAA,8VAIE,cuEyEF,CAAA,CAAA,+FlI3FF,aCIA,CAAA,wB0DJA,CAAA,kBACA,CAAA,SAEA,CAAA,sb3DHA,aCIA,CAAA,wB0DMA,CAAA,8BuEiFE,+FvEhFA,QACA,CAAA,cAEA,CAAA,sbAIE,cuE6EF,CAAA,CAAA,uFlI/FF,aCIA,CAAA,wB0DJA,CAAA,kBACA,CAAA,SAEA,CAAA,sZ3DHA,aCIA,CAAA,wB0DMA,CAAA,8BuEqFE,uFvEpFA,QACA,CAAA,cAEA,CAAA,sZAIE,cuEiFF,CAAA,CAAA,yElInGF,aCIA,CAAA,wB0DJA,CAAA,kBACA,CAAA,SAEA,CAAA,8V3DHA,aCIA,CAAA,wB0DMA,CAAA,8BuEyFE,yEvExFA,QACA,CAAA,cAEA,CAAA,8VAIE,cuEqFF,CAAA,CAAA,mFlIvGF,aCIA,CAAA,wB0DJA,CAAA,kBACA,CAAA,SAEA,CAAA,sY3DHA,aCIA,CAAA,wB0DMA,CAAA,8BuE6FE,mFvE5FA,QACA,CAAA,cAEA,CAAA,sYAIE,cuEyFF,CAAA,CAAA,mFlI3GF,aCIA,CAAA,wB0DJA,CAAA,kBACA,CAAA,SAEA,CAAA,sY3DHA,aCIA,CAAA,wB0DMA,CAAA,8BuEiGE,mFvEhGA,QACA,CAAA,cAEA,CAAA,sYAIE,cwEhCJ,CAAA,CAAA,yDnIcA,aCIA,CAAA,wB0DJA,CAAA,kBACA,CAAA,SAEA,CAAA,8R3DHA,aCIA,CAAA,wB0DMA,CAAA,8BwExBA,yDxE0BE,cAEA,CAoBA,yBApBA,CAAA,8RAIE,cAeJ,CAAA,CwExCF,cACE,YCdF,CAAA,iBACE,UC6BI,CAAA,oBACE,+EADF,CAAA,oBACE,gFADF,CAAA,qBACE,wEADF,CAAA,kBACE,gFADF,CAAA,uBACE,wEADF,CAAA,oBACE,gFADF,CAAA,oBACE,+EADF,CAAA,mBACE,wEC0BN,CAAA,iBnE3BE,qBACA,CAAA,QACA,CAAA,eACA,CAAA,yBACA,CAAA,iBAGA,CAAA,2BmEoBF,iBnElBI,cACA,CAAA,eAEA,CAAA,kBACA,CAAA,cArCJ,CAAA,mBACE,iBACA,CACA,KAAA,CAAA,MACA,CAAA,UACA,CAAA,WAGO,CAAA,yCAEP,mBmEyCF,CnEzCE,gBmEyCF,CAAA,CAAA,iBnE3BE,qBACA,CAAA,QACA,CAAA,eACA,CAAA,qBACA,CAAA,iBAGA,CAAA,2BmEoBF,iBnElBI,cACA,CAAA,eAEA,CAAA,yBACA,CAAA,cArCJ,CAAA,mBACE,iBACA,CACA,KAAA,CAAA,MACA,CAAA,UACA,CAAA,WAGO,CAAA,yCAEP,mBmEyCF,CnEzCE,gBmEyCF,CAAA,CAAA,gBnE3BE,qBACA,CAAA,QACA,CAAA,eACA,CAAA,mBACA,CAAA,iBAGA,CAAA,2BmEoBF,gBnElBI,cACA,CAAA,eAEA,CAAA,cACA,CAAA,cArCJ,CAAA,kBACE,iBACA,CACA,KAAA,CAAA,MACA,CAAA,UACA,CAAA,WAGO,CAAA,uCAEP,mBmEyCF,CnEzCE,gBmEyCF,CAAA,CAAA,gBnE3BE,qBACA,CAAA,QACA,CAAA,eACA,CAAA,kBACA,CAAA,iBAGA,CAAA,2BmEoBF,gBnElBI,cACA,CAAA,eAEA,CAAA,yBACA,CAAA,cArCJ,CAAA,kBACE,iBACA,CACA,KAAA,CAAA,MACA,CAAA,UACA,CAAA,WAGO,CAAA,uCAEP,mBmEyCF,CnEzCE,gBmEyCF,CAAA,CAAA,gBnE3BE,qBACA,CAAA,QACA,CAAA,eACA,CAAA,kBACA,CAAA,iBAGA,CAAA,2BmEoBF,gBnElBI,cACA,CAAA,eAEA,CAAA,cACA,CAAA,cArCJ,CAAA,kBACE,iBACA,CACA,KAAA,CAAA,MACA,CAAA,UACA,CAAA,WAGO,CAAA,uCAEP,mBmEgDJ,CnEhDI,gBmEgDJ,CAAA,CAAA,2BACE,gCACE,sBCaF,CDbE,iBCaF,CAAA,CAAA,gBAnCE,eAAA,CAAA,YAAA,CAAA,cA6CE,CAAA,eAVJ,CAAA,kBAUI,sBAVJ,CAAA,gBAUI,oBAVJ,CAAA,mBAUI,kBAVJ,CAAA,oBAUI,mBAVJ,CAAA,qBAUI,oBAVJ,CAAA,uBAUI,qBAVJ,CAAA,qBAUI,mBAVJ,CAAA,wBAUI,iBAVJ,CAAA,yBAUI,kBAVJ,CAAA,0BAUI,mBAVJ,CAAA,6CAUI,4BAvDJ,CA6CA,iCAUI,qBAvDJ,CA6CA,iCAUI,qBAvDJ,CA6CA,6BAUI,wBAvDJ,CA6CA,mCAUI,wBAvDJ,CA6CA,+BAUI,wBAvDJ,CA6CA,mCAUI,wBAvDJ,CA6CA,iCAUI,wBAvDJ,CA6CA,+BAUI,wBAvDJ,CA6CA,+BAUI,wBAvDJ,CA6CA,+BAUI,wBAvDJ,CA6CA,mCAUI,wBAvDJ,CA6CA,mCAUI,wBAvDJ,CA6CA,qCAUI,wBAvDJ,CA6CA,mCAUI,wBAvDJ,CA6CA,qCAUI,wBAvDJ,CA6CA,qCAUI,wBAvDJ,CA6CA,qCAUI,wBAvDJ,CA6CA,qCAUI,wBAvDJ,CA6CA,qCAUI,wBAvDJ,CA6CA,iDAUI,wBAvDJ,CA6CA,+CAUI,wBAvDJ,CA6CA,2CAUI,wBAvDJ,CA6CA,+BAUI,wBAvDJ,CA6CA,yCAUI,wBAvDJ,CA6CA,6CAUI,wBAvDJ,CA6CA,4EAUI,wBAvDJ,CA6CA,qDAUI,wBAvDJ,CA6CA,iDAUI,wBAvDJ,CA6CA,qCAUI,wBAvDJ,CA6CA,iDAUI,wBAvDJ,CA6CA,+CAUI,wBAvDJ,CA6CA,mDAUI,wBAvDJ,CA6CA,yDAUI,wBAvDJ,CA6CA,qDAUI,wBAvDJ,CA6CA,yCAUI,wBAvDJ,CA6CA,qDAUI,wBAvDJ,CA6CA,mDAUI,wBAvDJ,CA6CA,uDAUI,wBAvDJ,CA6CA,2DAUI,wBAvDJ,CA6CA,uDAUI,wBAvDJ,CA6CA,6CAUI,wBAvDJ,CA6CA,yDAUI,wBAvDJ,CA6CA,6DAUI,wBAvDJ,CA6CA,2DAUI,wBAvDJ,CA6CA,uDAUI,wBAvDJ,CA6CA,6CAUI,wBAvDJ,CA6CA,yDAUI,wBAvDJ,CA6CA,6DAUI,wBAvDJ,CA6CA,iDAUI,wBAvDJ,CA6CA,6CAUI,wBAvDJ,CA6CA,iCAUI,wBAvDJ,CA6CA,2CAUI,wBAvDJ,CA6CA,+CAUI,wBAvDJ,CA6CA,qDAUI,wBAvDJ,CA6CA,iDAUI,wBAvDJ,CA6CA,qCAUI,wBAvDJ,CA6CA,+CAUI,wBAvDJ,CA6CA,mDAUI,wBAvDJ,CA6CA,qDAUI,wBAvDJ,CA6CA,iDAUI,wBAvDJ,CA6CA,qCAUI,wBAvDJ,CA6CA,+CAUI,wBAvDJ,CA6CA,mDAUI,wBAvDJ,CA6CA,+CAUI,wBAvDJ,CA6CA,2CAUI,wBAvDJ,CA6CA,+BAUI,wBAvDJ,CA6CA,yCAUI,wBAvDJ,CA6CA,6CAUI,wBAvDJ,CA6CA,uDAUI,wBAvDJ,CA6CA,mDAUI,wBAvDJ,CA6CA,uCAUI,wBAvDJ,CA6CA,iDAUI,wBAvDJ,CA6CA,qDAUI,wBAvDJ,CA6CA,yCAUI,wBAvDJ,CA6CA,mDAUI,wBAvDJ,CA6CA,qCAUI,gBAvDJ,CA6CA,yCAUI,oBAAA,CAAA,uBAvDJ,CA6CA,yCAUI,qBAAA,CAAA,sBAvDJ,CA6CA,6CAUI,oBAvDJ,CA6CA,iDAUI,sBAvDJ,CA6CA,mDAUI,uBAvDJ,CA6CA,+CAUI,qBAvDJ,CA6CA,qCAUI,gBAvDJ,CA6CA,yCAUI,oBAAA,CAAA,uBAvDJ,CA6CA,yCAUI,qBAAA,CAAA,sBAvDJ,CA6CA,6CAUI,oBAvDJ,CA6CA,iDAUI,sBAvDJ,CA6CA,mDAUI,uBAvDJ,CA6CA,+CAUI,qBAvDJ,CA6CA,mCAUI,mBAvDJ,CA6CA,uCAUI,uBAAA,CAAA,0BAvDJ,CA6CA,uCAUI,wBAAA,CAAA,yBAvDJ,CA6CA,2CAUI,uBAvDJ,CA6CA,+CAUI,yBAvDJ,CA6CA,iDAUI,0BAvDJ,CA6CA,6CAUI,wBAvDJ,CA6CA,iCAUI,kBAvDJ,CA6CA,qCAUI,sBAAA,CAAA,yBAvDJ,CA6CA,qCAUI,uBAAA,CAAA,wBAvDJ,CA6CA,yCAUI,sBAvDJ,CA6CA,6CAUI,wBAvDJ,CA6CA,+CAUI,yBAvDJ,CA6CA,2CAUI,uBAvDJ,CA6CA,qCAUI,mBAvDJ,CA6CA,yCAUI,uBAAA,CAAA,0BAvDJ,CA6CA,yCAUI,wBAAA,CAAA,yBAvDJ,CA6CA,6CAUI,uBAvDJ,CA6CA,iDAUI,yBAvDJ,CA6CA,mDAUI,0BAvDJ,CA6CA,+CAUI,wBAvDJ,CA6CA,iCAUI,iBAvDJ,CA6CA,qCAUI,qBAAA,CAAA,wBAvDJ,CA6CA,qCAUI,sBAAA,CAAA,uBAvDJ,CA6CA,yCAUI,qBAvDJ,CA6CA,6CAUI,uBAvDJ,CA6CA,+CAUI,wBAvDJ,CA6CA,2CAUI,sBAvDJ,CA6CA,qCAUI,oBAvDJ,CA6CA,yCAUI,wBAAA,CAAA,2BAvDJ,CA6CA,yCAUI,yBAAA,CAAA,0BAvDJ,CA6CA,6CAUI,wBAvDJ,CA6CA,iDAUI,0BAvDJ,CA6CA,mDAUI,2BAvDJ,CA6CA,+CAUI,yBAvDJ,CA6CA,iCAUI,mBAvDJ,CA6CA,qCAUI,uBAAA,CAAA,0BAvDJ,CA6CA,qCAUI,wBAAA,CAAA,yBAvDJ,CA6CA,yCAUI,uBAvDJ,CA6CA,6CAUI,yBAvDJ,CA6CA,+CAUI,0BAvDJ,CA6CA,2CAUI,wBAvDJ,CA6CA,iCAUI,cAvDJ,CA6CA,qCAUI,kBAAA,CAAA,qBAvDJ,CA6CA,qCAUI,mBAAA,CAAA,oBAvDJ,CA6CA,yCAUI,kBAvDJ,CA6CA,6CAUI,oBAvDJ,CA6CA,+CAUI,qBAvDJ,CA6CA,2CAUI,mBAvDJ,CA6CA,6BAUI,gBAvDJ,CA6CA,iCAUI,oBAAA,CAAA,uBAvDJ,CA6CA,iCAUI,qBAAA,CAAA,sBAvDJ,CA6CA,qCAUI,oBAvDJ,CA6CA,yCAUI,sBAvDJ,CA6CA,2CAUI,uBAvDJ,CA6CA,uCAUI,qBAvDJ,CA6CA,qDAUI,wBAvDJ,CA6CA,yCAUI,iBAvDJ,CA6CA,yCAUI,iBAvDJ,CA6CA,qCAUI,oBAvDJ,CA6CA,2CAUI,oBAvDJ,CA6CA,uCAUI,oBAvDJ,CA6CA,2CAUI,oBAvDJ,CA6CA,yCAUI,oBAvDJ,CA6CA,uCAUI,oBAvDJ,CA6CA,uCAUI,oBAvDJ,CA6CA,uCAUI,oBAvDJ,CA6CA,2CAUI,oBAvDJ,CA6CA,2CAUI,oBAvDJ,CA6CA,6CAUI,oBAvDJ,CA6CA,2CAUI,oBAvDJ,CA6CA,6CAUI,oBAvDJ,CA6CA,6CAUI,oBAvDJ,CA6CA,6CAUI,oBAvDJ,CA6CA,6CAUI,oBAvDJ,CA6CA,6CAUI,oBAvDJ,CA6CA,yDAUI,oBAvDJ,CA6CA,uDAUI,oBAvDJ,CA6CA,mDAUI,oBAvDJ,CA6CA,uCAUI,oBAvDJ,CA6CA,iDAUI,oBAvDJ,CA6CA,qDAUI,oBAvDJ,CA6CA,4FAUI,oBAvDJ,CA6CA,6DAUI,oBAvDJ,CA6CA,yDAUI,oBAvDJ,CA6CA,6CAUI,oBAvDJ,CA6CA,yDAUI,oBAvDJ,CA6CA,uDAUI,oBAvDJ,CA6CA,2DAUI,oBAvDJ,CA6CA,iEAUI,oBAvDJ,CA6CA,6DAUI,oBAvDJ,CA6CA,iDAUI,oBAvDJ,CA6CA,6DAUI,oBAvDJ,CA6CA,2DAUI,oBAvDJ,CA6CA,+DAUI,oBAvDJ,CA6CA,mEAUI,oBAvDJ,CA6CA,+DAUI,oBAvDJ,CA6CA,qDAUI,oBAvDJ,CA6CA,iEAUI,oBAvDJ,CA6CA,qEAUI,oBAvDJ,CA6CA,mEAUI,oBAvDJ,CA6CA,+DAUI,oBAvDJ,CA6CA,qDAUI,oBAvDJ,CA6CA,iEAUI,oBAvDJ,CA6CA,qEAUI,oBAvDJ,CA6CA,yDAUI,oBAvDJ,CA6CA,qDAUI,oBAvDJ,CA6CA,yCAUI,oBAvDJ,CA6CA,mDAUI,oBAvDJ,CA6CA,uDAUI,oBAvDJ,CA6CA,6DAUI,oBAvDJ,CA6CA,yDAUI,oBAvDJ,CA6CA,6CAUI,oBAvDJ,CA6CA,uDAUI,oBAvDJ,CA6CA,2DAUI,oBAvDJ,CA6CA,6DAUI,oBAvDJ,CA6CA,yDAUI,oBAvDJ,CA6CA,6CAUI,oBAvDJ,CA6CA,uDAUI,oBAvDJ,CA6CA,2DAUI,oBAvDJ,CA6CA,uDAUI,oBAvDJ,CA6CA,mDAUI,oBAvDJ,CA6CA,uCAUI,oBAvDJ,CA6CA,iDAUI,oBAvDJ,CA6CA,qDAUI,oBAvDJ,CA6CA,+DAUI,oBAvDJ,CA6CA,2DAUI,oBAvDJ,CA6CA,+CAUI,oBAvDJ,CA6CA,yDAUI,oBAvDJ,CA6CA,6DAUI,oBAvDJ,CA6CA,iDAUI,oBAvDJ,CA6CA,2DAUI,oBAvDJ,CA6CA,UAUI,eAVJ,CAAA,cAUI,wBAAA,CAAA,yBAVJ,CAAA,gBAUI,yBAAA,CAAA,4BAVJ,CAAA,iBAUI,2BAAA,CAAA,4BAVJ,CAAA,eAUI,wBAAA,CAAA,2BAVJ,CAAA,WAUI,iBAVJ,CAAA,eAUI,0BAAA,CAAA,2BAVJ,CAAA,iBAUI,2BAAA,CAAA,8BAVJ,CAAA,kBAUI,6BAAA,CAAA,8BAVJ,CAAA,gBAUI,0BAAA,CAAA,6BAVJ,CAAA,WAUI,oBAVJ,CAAA,eAUI,6BAAA,CAAA,8BAVJ,CAAA,iBAUI,8BAAA,CAAA,iCAVJ,CAAA,kBAUI,gCAAA,CAAA,iCAVJ,CAAA,gBAUI,6BAAA,CAAA,gCAVJ,CAAA,WAUI,mBAVJ,CAAA,eAUI,4BAAA,CAAA,6BAVJ,CAAA,iBAUI,6BAAA,CAAA,gCAVJ,CAAA,kBAUI,+BAAA,CAAA,gCAVJ,CAAA,gBAUI,4BAAA,CAAA,+BAVJ,CAAA,aAUI,mBAVJ,CAAA,iBAUI,4BAAA,CAAA,6BAVJ,CAAA,mBAUI,6BAAA,CAAA,gCAVJ,CAAA,oBAUI,+BAAA,CAAA,gCAVJ,CAAA,kBAUI,4BAAA,CAAA,+BAVJ,CAAA,eAUI,mBAVJ,CAAA,eAUI,mBAVJ,CAAA,cAUI,kBAVJ,CAAA,kBAUI,gBAVJ,CAAA,oBAUI,oBAAA,CAAA,uBAVJ,CAAA,oBAUI,qBAAA,CAAA,sBAVJ,CAAA,sBAUI,oBAVJ,CAAA,wBAUI,sBAVJ,CAAA,yBAUI,uBAVJ,CAAA,uBAUI,qBAVJ,CAAA,kBAUI,gBAVJ,CAAA,oBAUI,oBAAA,CAAA,uBAVJ,CAAA,oBAUI,qBAAA,CAAA,sBAVJ,CAAA,sBAUI,oBAVJ,CAAA,wBAUI,sBAVJ,CAAA,yBAUI,uBAVJ,CAAA,uBAUI,qBAVJ,CAAA,iBAUI,mBAVJ,CAAA,mBAUI,uBAAA,CAAA,0BAVJ,CAAA,mBAUI,wBAAA,CAAA,yBAVJ,CAAA,qBAUI,uBAVJ,CAAA,uBAUI,yBAVJ,CAAA,wBAUI,0BAVJ,CAAA,sBAUI,wBAVJ,CAAA,gBAUI,kBAVJ,CAAA,kBAUI,sBAAA,CAAA,yBAVJ,CAAA,kBAUI,uBAAA,CAAA,wBAVJ,CAAA,oBAUI,sBAVJ,CAAA,sBAUI,wBAVJ,CAAA,uBAUI,yBAVJ,CAAA,qBAUI,uBAVJ,CAAA,kBAUI,mBAVJ,CAAA,oBAUI,uBAAA,CAAA,0BAVJ,CAAA,oBAUI,wBAAA,CAAA,yBAVJ,CAAA,sBAUI,uBAVJ,CAAA,wBAUI,yBAVJ,CAAA,yBAUI,0BAVJ,CAAA,uBAUI,wBAVJ,CAAA,gBAUI,iBAVJ,CAAA,kBAUI,qBAAA,CAAA,wBAVJ,CAAA,kBAUI,sBAAA,CAAA,uBAVJ,CAAA,oBAUI,qBAVJ,CAAA,sBAUI,uBAVJ,CAAA,uBAUI,wBAVJ,CAAA,qBAUI,sBAVJ,CAAA,kBAUI,oBAVJ,CAAA,oBAUI,wBAAA,CAAA,2BAVJ,CAAA,oBAUI,yBAAA,CAAA,0BAVJ,CAAA,sBAUI,wBAVJ,CAAA,wBAUI,0BAVJ,CAAA,yBAUI,2BAVJ,CAAA,uBAUI,yBAVJ,CAAA,gBAUI,mBAVJ,CAAA,kBAUI,uBAAA,CAAA,0BAVJ,CAAA,kBAUI,wBAAA,CAAA,yBAVJ,CAAA,oBAUI,uBAVJ,CAAA,sBAUI,yBAVJ,CAAA,uBAUI,0BAVJ,CAAA,qBAUI,wBAVJ,CAAA,gBAUI,cAVJ,CAAA,kBAUI,kBAAA,CAAA,qBAVJ,CAAA,kBAUI,mBAAA,CAAA,oBAVJ,CAAA,oBAUI,kBAVJ,CAAA,sBAUI,oBAVJ,CAAA,uBAUI,qBAVJ,CAAA,qBAUI,mBAVJ,CAAA,YAUI,UAVJ,CAAA,YAUI,UAVJ,CAAA,WAUI,aAVJ,CAAA,UAUI,YAVJ,CAAA,YAUI,aAVJ,CAAA,UAUI,WAVJ,CAAA,YAUI,cAVJ,CAAA,UAUI,aAVJ,CAAA,gBAUI,WAVJ,CAAA,gBAUI,WAVJ,CAAA,eAUI,cAVJ,CAAA,cAUI,aAVJ,CAAA,gBAUI,cAVJ,CAAA,cAUI,YAVJ,CAAA,gBAUI,eAVJ,CAAA,cAUI,cAVJ,CAAA,UAUI,QAVJ,CAAA,aAUI,WAVJ,CAAA,aAUI,WAVJ,CAAA,uCAUI,eAvDJ,CA6CA,iCAUI,wCAvDJ,CA6CA,iCAUI,0CAvDJ,CA6CA,iCAUI,wCAvDJ,CA6CA,iCAUI,2CAvDJ,CA6CA,iCAUI,uCAvDJ,CA6CA,wBAUI,UAAA,CAAA,SA7CF,CAAA,iBAmCF,CAAA,YAUI,UAAA,CAAA,SAVJ,CAAA,WAUI,aAAA,CAAA,YA7CF,CAAA,iBAmCF,CAAA,sBAUI,YAAA,CAAA,WA7CF,CAAA,iBAmCF,CAAA,YAUI,aAAA,CAAA,YAVJ,CAAA,sBAUI,WAAA,CAAA,UA7CF,CAAA,iBAmCF,CAAA,YAUI,cAAA,CAAA,aAVJ,CAAA,oBAUI,aAAA,CAAA,YA7CF,CAAA,iBAmCF,CAAA,UAUI,WAAA,CAAA,UAVJ,CAAA,oBAUI,aAAA,CAAA,YA7CF,CAAA,iBAmCF,CAAA,UAUI,WAAA,CAAA,UAVJ,CAAA,oBAUI,aAAA,CAAA,YA7CF,CAAA,iBAmCF,CAAA,UAUI,WAAA,CAAA,UAVJ,CAAA,qBAUI,aAAA,CAAA,YA7CF,CAAA,iBAmCF,CAAA,WAUI,WAAA,CAAA,UAVJ,CAAA,wBAUI,aAAA,CAAA,YA7CF,CAAA,iBAmCF,CAAA,aAUI,YAAA,CAAA,WAVJ,CAAA,+BAUI,YAAA,CAAA,WA7CF,CAAA,iBAmCF,CAAA,eAUI,YAAA,CAAA,WAVJ,CAAA,iBAnCE,UAAA,CAAA,aA6CE,CAAA,UAVJ,CAAA,iDAUI,iBAvDJ,CA6CA,qCAUI,UAvDJ,CA6CA,qCAUI,UAvDJ,CA6CA,iCAUI,aAvDJ,CA6CA,uCAUI,aAvDJ,CA6CA,mCAUI,aAvDJ,CA6CA,uCAUI,aAvDJ,CA6CA,qCAUI,aAvDJ,CA6CA,mCAUI,aAvDJ,CA6CA,mCAUI,aAvDJ,CA6CA,mCAUI,aAvDJ,CA6CA,uCAUI,aAvDJ,CA6CA,uCAUI,aAvDJ,CA6CA,yCAUI,aAvDJ,CA6CA,uCAUI,aAvDJ,CA6CA,yCAUI,aAvDJ,CA6CA,yCAUI,aAvDJ,CA6CA,yCAUI,aAvDJ,CA6CA,yCAUI,aAvDJ,CA6CA,yCAUI,aAvDJ,CA6CA,qDAUI,aAvDJ,CA6CA,mDAUI,aAvDJ,CA6CA,+CAUI,aAvDJ,CA6CA,mCAUI,aAvDJ,CA6CA,6CAUI,aAvDJ,CA6CA,iDAUI,aAvDJ,CA6CA,oFAUI,aAvDJ,CA6CA,yDAUI,aAvDJ,CA6CA,qDAUI,aAvDJ,CA6CA,yCAUI,aAvDJ,CA6CA,qDAUI,aAvDJ,CA6CA,mDAUI,aAvDJ,CA6CA,uDAUI,aAvDJ,CA6CA,6DAUI,aAvDJ,CA6CA,yDAUI,aAvDJ,CA6CA,6CAUI,aAvDJ,CA6CA,yDAUI,aAvDJ,CA6CA,uDAUI,aAvDJ,CA6CA,2DAUI,aAvDJ,CA6CA,+DAUI,aAvDJ,CA6CA,2DAUI,aAvDJ,CA6CA,iDAUI,aAvDJ,CA6CA,6DAUI,aAvDJ,CA6CA,iEAUI,aAvDJ,CA6CA,+DAUI,aAvDJ,CA6CA,2DAUI,aAvDJ,CA6CA,iDAUI,aAvDJ,CA6CA,6DAUI,aAvDJ,CA6CA,iEAUI,aAvDJ,CA6CA,qDAUI,aAvDJ,CA6CA,iDAUI,aAvDJ,CA6CA,qCAUI,aAvDJ,CA6CA,+CAUI,aAvDJ,CA6CA,mDAUI,aAvDJ,CA6CA,yDAUI,aAvDJ,CA6CA,qDAUI,aAvDJ,CA6CA,yCAUI,aAvDJ,CA6CA,mDAUI,aAvDJ,CA6CA,uDAUI,aAvDJ,CA6CA,yDAUI,aAvDJ,CA6CA,qDAUI,aAvDJ,CA6CA,yCAUI,aAvDJ,CA6CA,mDAUI,aAvDJ,CA6CA,uDAUI,aAvDJ,CA6CA,mDAUI,aAvDJ,CA6CA,+CAUI,aAvDJ,CA6CA,mCAUI,aAvDJ,CA6CA,6CAUI,aAvDJ,CA6CA,iDAUI,aAvDJ,CA6CA,2DAUI,aAvDJ,CA6CA,uDAUI,aAvDJ,CA6CA,2CAUI,aAvDJ,CA6CA,qDAUI,aAvDJ,CA6CA,yDAUI,aAvDJ,CA6CA,6CAUI,aAvDJ,CA6CA,uDAUI,aAvDJ,CA6CA,aAUI,WAVJ,CAAA,gBAUI,cAVJ,CAAA,gBAUI,cAVJ,CAAA,aAUI,WAVJ,CAAA,aAUI,WAVJ,CAAA,oBAUI,kBAVJ,CAAA,eAUI,aAVJ,CAAA,cAUI,YAVJ,CAAA,cAUI,YAVJ,CAAA,gBAUI,cAVJ,CAAA,sBAUI,oBAVJ,CAAA,qBAUI,mBAVJ,CAAA,eAUI,aAVJ,CAAA,oBAUI,kBAVJ,CAAA,mBAUI,iBAVJ,CAAA,QAUI,WAVJ,CAAA,QAUI,WAVJ,CAAA,QAUI,WAVJ,CAAA,QAUI,WAVJ,CAAA,QAUI,WAVJ,CAAA,QAUI,WAVJ,CAAA,QAUI,WAVJ,CAAA,QAUI,WAVJ,CAAA,QAUI,WAVJ,CAAA,SAUI,YAVJ,CAAA,SAUI,YAVJ,CAAA,SAUI,YAVJ,CAAA,WAUI,WAVJ,CAAA,WAUI,aAVJ,CAAA,UAUI,kBAVJ,CAAA,aAUI,qBAVJ,CAAA,WAUI,cAVJ,CAAA,cAUI,gBAVJ,CAAA,YAUI,UAVJ,CAAA,YAUI,UAVJ,CAAA,aAUI,WAVJ,CAAA,eAUI,gBAVJ,CAAA,eAUI,gBAVJ,CAAA,cAUI,gBAVJ,CAAA,cAUI,gBAVJ,CAAA,cAUI,iBAVJ,CAAA,cAUI,iBAVJ,CAAA,cAUI,iBAVJ,CAAA,eAUI,iBAVJ,CAAA,eAUI,iBAVJ,CAAA,eAUI,gBAVJ,CAAA,eAUI,gBAVJ,CAAA,cAUI,cAVJ,CAAA,cAUI,iBAVJ,CAAA,cAUI,iBAVJ,CAAA,cAUI,iBAVJ,CAAA,cAUI,iBAVJ,CAAA,eAUI,iBAVJ,CAAA,eAUI,iBAVJ,CAAA,gBAUI,gBAVJ,CAAA,gBAUI,gBAVJ,CAAA,eAUI,gBAVJ,CAAA,eAUI,gBAVJ,CAAA,eAUI,iBAVJ,CAAA,eAUI,iBAVJ,CAAA,eAUI,iBAVJ,CAAA,gBAUI,iBAVJ,CAAA,gBAUI,iBAVJ,CAAA,kBAUI,gBAVJ,CAAA,kBAUI,gBAVJ,CAAA,iBAUI,gBAVJ,CAAA,iBAUI,gBAVJ,CAAA,iBAUI,iBAVJ,CAAA,iBAUI,iBAVJ,CAAA,iBAUI,iBAVJ,CAAA,kBAUI,iBAVJ,CAAA,kBAUI,iBAVJ,CAAA,eAUI,gBAVJ,CAAA,eAUI,gBAVJ,CAAA,cAUI,cAVJ,CAAA,cAUI,iBAVJ,CAAA,cAUI,iBAVJ,CAAA,cAUI,iBAVJ,CAAA,cAUI,iBAVJ,CAAA,eAUI,iBAVJ,CAAA,eAUI,iBAVJ,CAAA,eAUI,gBAVJ,CAAA,eAUI,gBAVJ,CAAA,cAUI,gBAVJ,CAAA,cAUI,gBAVJ,CAAA,cAUI,iBAVJ,CAAA,cAUI,iBAVJ,CAAA,cAUI,iBAVJ,CAAA,eAUI,iBAVJ,CAAA,eAUI,iBAVJ,CAAA,cAUI,gBAVJ,CAAA,cAUI,gBAVJ,CAAA,aAUI,gBAVJ,CAAA,aAUI,gBAVJ,CAAA,aAUI,iBAVJ,CAAA,aAUI,iBAVJ,CAAA,aAUI,iBAVJ,CAAA,cAUI,iBAVJ,CAAA,cAUI,iBAVJ,CAAA,aAUI,gBAVJ,CAAA,aAUI,gBAVJ,CAAA,YAUI,cAVJ,CAAA,YAUI,iBAVJ,CAAA,YAUI,iBAVJ,CAAA,YAUI,iBAVJ,CAAA,YAUI,iBAVJ,CAAA,aAUI,iBAVJ,CAAA,aAUI,iBAVJ,CAAA,kBAUI,+EAVJ,CAAA,kBAUI,gFAVJ,CAAA,mBAUI,wEAVJ,CAAA,gBAUI,gFAVJ,CAAA,qBAUI,wEAVJ,CAAA,kBAUI,gFAVJ,CAAA,kBAUI,+EAVJ,CAAA,iBAUI,wEAVJ,CAAA,cAUI,qCAVJ,CAAA,iBAUI,6BAVJ,CAAA,aAUI,iBAVJ,CAAA,gBAUI,iBAVJ,CAAA,YAUI,eAVJ,CAAA,aAUI,eAVJ,CAAA,WAUI,eAVJ,CAAA,YAUI,UAVJ,CAAA,YAUI,UAVJ,CAAA,WAUI,aAVJ,CAAA,UAUI,YAVJ,CAAA,YAUI,aAVJ,CAAA,UAUI,WAVJ,CAAA,YAUI,cAVJ,CAAA,UAUI,aAVJ,CAAA,UAUI,WAVJ,CAAA,UAUI,aAVJ,CAAA,UAUI,WAVJ,CAAA,UAUI,aAVJ,CAAA,UAUI,WAVJ,CAAA,UAUI,aAVJ,CAAA,WAUI,WAVJ,CAAA,WAUI,aAVJ,CAAA,aAUI,YAVJ,CAAA,gBAUI,YAVJ,CAAA,eAUI,YAVJ,CAAA,UAUI,QAVJ,CAAA,aAUI,WAVJ,CAAA,aAUI,WAVJ,CAAA,iBAUI,YAVJ,CAAA,qBAUI,sBAVJ,CAAA,oBAUI,0BAVJ,CAAA,kBAUI,wBAVJ,CAAA,cAUI,6BAVJ,CAAA,UAUI,QAVJ,CAAA,UAUI,QAVJ,CAAA,SAUI,WAVJ,CAAA,QAUI,UAVJ,CAAA,UAUI,WAVJ,CAAA,QAUI,SAVJ,CAAA,UAUI,YAVJ,CAAA,QAUI,WAVJ,CAAA,cAUI,SAVJ,CAAA,cAUI,SAVJ,CAAA,aAUI,YAVJ,CAAA,YAUI,WAVJ,CAAA,cAUI,YAVJ,CAAA,YAUI,UAVJ,CAAA,cAUI,aAVJ,CAAA,YAUI,YAVJ,CAAA,QAUI,MAVJ,CAAA,WAUI,SAVJ,CAAA,WAUI,SAVJ,CAAA,cAUI,sBAVJ,CAAA,eAUI,qBAVJ,CAAA,eAUI,qBAVJ,CAAA,eAUI,qBAVJ,CAAA,WAUI,qBAVJ,CAAA,WAUI,mBAVJ,CAAA,WAUI,oBAVJ,CAAA,oBAUI,cAVJ,CAAA,oBAUI,eAVJ,CAAA,oBAUI,eAVJ,CAAA,oBAUI,eAVJ,CAAA,oBAUI,eAVJ,CAAA,oBAUI,eAVJ,CAAA,qBAUI,aAVJ,CAAA,qBAUI,eAVJ,CAAA,qBAUI,eAVJ,CAAA,qBAUI,eAVJ,CAAA,qBAUI,eAVJ,CAAA,qBAUI,eAVJ,CAAA,oBAUI,aAVJ,CAAA,oBAUI,eAVJ,CAAA,oBAUI,eAVJ,CAAA,oBAUI,eAVJ,CAAA,oBAUI,eAVJ,CAAA,oBAUI,eAVJ,CAAA,uBAUI,aAVJ,CAAA,uBAUI,eAVJ,CAAA,uBAUI,eAVJ,CAAA,uBAUI,eAVJ,CAAA,uBAUI,eAVJ,CAAA,uBAUI,eAVJ,CAAA,kBAUI,cAVJ,CAAA,kBAUI,eAVJ,CAAA,kBAUI,eAVJ,CAAA,kBAUI,eAVJ,CAAA,kBAUI,eAVJ,CAAA,kBAUI,eAVJ,CAAA,oBAUI,cAVJ,CAAA,oBAUI,eAVJ,CAAA,oBAUI,eAVJ,CAAA,oBAUI,eAVJ,CAAA,oBAUI,eAVJ,CAAA,oBAUI,eAVJ,CAAA,oBAUI,aAVJ,CAAA,oBAUI,eAVJ,CAAA,oBAUI,eAVJ,CAAA,oBAUI,eAVJ,CAAA,oBAUI,eAVJ,CAAA,oBAUI,eAVJ,CAAA,mBAUI,aAVJ,CAAA,mBAUI,eAVJ,CAAA,mBAUI,eAVJ,CAAA,mBAUI,eAVJ,CAAA,mBAUI,eAVJ,CAAA,mBAUI,eAVJ,CAAA,gBAUI,WAVJ,CAAA,gBAUI,WAVJ,CAAA,eAUI,cAVJ,CAAA,cAUI,aAVJ,CAAA,gBAUI,cAVJ,CAAA,cAUI,YAVJ,CAAA,gBAUI,eAVJ,CAAA,cAUI,cAVJ,CAAA,YAUI,UAVJ,CAAA,YAUI,UAVJ,CAAA,WAUI,aAVJ,CAAA,UAUI,YAVJ,CAAA,YAUI,aAVJ,CAAA,UAUI,WAVJ,CAAA,YAUI,cAVJ,CAAA,UAUI,aAVJ,CAAA,cAUI,YAVJ,CAAA,cAUI,cAVJ,CAAA,cAUI,YAVJ,CAAA,cAUI,cAVJ,CAAA,cAUI,YAVJ,CAAA,cAUI,cAVJ,CAAA,eAUI,YAVJ,CAAA,eAUI,cAVJ,CAAA,UAUI,WAVJ,CAAA,UAUI,aAVJ,CAAA,UAUI,WAVJ,CAAA,UAUI,aAVJ,CAAA,UAUI,WAVJ,CAAA,UAUI,aAVJ,CAAA,WAUI,WAVJ,CAAA,WAUI,aAVJ,CAAA,aAUI,WAVJ,CAAA,YAUI,UAVJ,CAAA,cAUI,YAVJ,CAAA,YAUI,UAVJ,CAAA,UAUI,QAVJ,CAAA,cAUI,iBAVJ,CAAA,8BAUI,cAVJ,CAAA,mBAUI,iBAVJ,CAAA,cAUI,iBAVJ,CAAA,8BAUI,cAVJ,CAAA,mBAUI,iBAVJ,CAAA,aAUI,oBAVJ,CAAA,4BAUI,iBAVJ,CAAA,kBAUI,oBAVJ,CAAA,YAUI,mBAVJ,CAAA,0BAUI,gBAVJ,CAAA,iBAUI,mBAVJ,CAAA,cAUI,oBAVJ,CAAA,8BAUI,iBAVJ,CAAA,mBAUI,oBAVJ,CAAA,YAUI,kBAVJ,CAAA,0BAUI,eAVJ,CAAA,iBAUI,kBAVJ,CAAA,cAUI,qBAVJ,CAAA,8BAUI,kBAVJ,CAAA,mBAUI,qBAVJ,CAAA,YAUI,oBAVJ,CAAA,0BAUI,iBAVJ,CAAA,iBAUI,oBAVJ,CAAA,kBAUI,eAAA,CAAA,kBAVJ,CAAA,oBAUI,eAVJ,CAAA,uBAUI,kBAVJ,CAAA,kBAUI,eAAA,CAAA,kBAVJ,CAAA,oBAUI,eAVJ,CAAA,uBAUI,kBAVJ,CAAA,iBAUI,qBAVJ,CAAA,oCAUI,kBAVJ,CAAA,sBAUI,qBAVJ,CAAA,gBAUI,oBAVJ,CAAA,kCAUI,iBAVJ,CAAA,qBAUI,oBAVJ,CAAA,kBAUI,qBAVJ,CAAA,sCAUI,kBAVJ,CAAA,uBAUI,qBAVJ,CAAA,gBAUI,mBAVJ,CAAA,kCAUI,gBAVJ,CAAA,qBAUI,mBAVJ,CAAA,kBAUI,sBAVJ,CAAA,sCAUI,mBAVJ,CAAA,uBAUI,sBAVJ,CAAA,gBAUI,qBAVJ,CAAA,kCAUI,kBAVJ,CAAA,qBAUI,qBAVJ,CAAA,gBAUI,mBAVJ,CAAA,kCAUI,gBAVJ,CAAA,qBAUI,mBAVJ,CAAA,gBAUI,qBAVJ,CAAA,kCAUI,kBAVJ,CAAA,qBAUI,qBAVJ,CAAA,gBAUI,mBAVJ,CAAA,kCAUI,gBAVJ,CAAA,qBAUI,mBAVJ,CAAA,gBAUI,qBAVJ,CAAA,kCAUI,kBAVJ,CAAA,qBAUI,qBAVJ,CAAA,gBAUI,mBAVJ,CAAA,kCAUI,gBAVJ,CAAA,qBAUI,mBAVJ,CAAA,gBAUI,qBAVJ,CAAA,kCAUI,kBAVJ,CAAA,qBAUI,qBAVJ,CAAA,iBAUI,gBAAA,CAAA,mBAVJ,CAAA,mBAUI,gBAVJ,CAAA,sBAUI,mBAVJ,CAAA,iBAUI,qBAVJ,CAAA,oCAUI,kBAVJ,CAAA,sBAUI,qBAVJ,CAAA,YAUI,kBAVJ,CAAA,0BAUI,eAVJ,CAAA,iBAUI,kBAVJ,CAAA,YAUI,oBAVJ,CAAA,0BAUI,iBAVJ,CAAA,iBAUI,oBAVJ,CAAA,YAUI,kBAVJ,CAAA,0BAUI,eAVJ,CAAA,iBAUI,kBAVJ,CAAA,YAUI,oBAVJ,CAAA,0BAUI,iBAVJ,CAAA,iBAUI,oBAVJ,CAAA,YAUI,kBAVJ,CAAA,0BAUI,eAVJ,CAAA,iBAUI,kBAVJ,CAAA,YAUI,oBAVJ,CAAA,0BAUI,iBAVJ,CAAA,iBAUI,oBAVJ,CAAA,aAUI,kBAVJ,CAAA,4BAUI,eAVJ,CAAA,kBAUI,kBAVJ,CAAA,aAUI,oBAVJ,CAAA,4BAUI,iBAVJ,CAAA,kBAUI,oBAVJ,CAAA,eAUI,kBAVJ,CAAA,gCAUI,eAVJ,CAAA,oBAUI,kBAVJ,CAAA,cAUI,iBAVJ,CAAA,8BAUI,cAVJ,CAAA,mBAUI,iBAVJ,CAAA,gBAUI,mBAVJ,CAAA,kCAUI,gBAVJ,CAAA,qBAUI,mBAVJ,CAAA,cAUI,iBAVJ,CAAA,8BAUI,cAVJ,CAAA,mBAUI,iBAVJ,CAAA,YAUI,eAVJ,CAAA,0BAUI,YAVJ,CAAA,iBAUI,eAVJ,CAAA,eAUI,kBAVJ,CAAA,gCAUI,eAVJ,CAAA,oBAUI,kBAVJ,CAAA,cAUI,eAVJ,CAAA,gCAUI,gBAVJ,CAAA,iBAUI,eAVJ,CAAA,cAUI,eAVJ,CAAA,gCAUI,gBAVJ,CAAA,iBAUI,eAVJ,CAAA,aAUI,kBAVJ,CAAA,8BAUI,mBAVJ,CAAA,gBAUI,kBAVJ,CAAA,YAUI,iBAVJ,CAAA,4BAUI,kBAVJ,CAAA,eAUI,iBAVJ,CAAA,cAUI,kBAVJ,CAAA,gCAUI,mBAVJ,CAAA,iBAUI,kBAVJ,CAAA,YAUI,gBAVJ,CAAA,4BAUI,iBAVJ,CAAA,eAUI,gBAVJ,CAAA,cAUI,mBAVJ,CAAA,gCAUI,oBAVJ,CAAA,iBAUI,mBAVJ,CAAA,YAUI,kBAVJ,CAAA,4BAUI,mBAVJ,CAAA,eAUI,kBAVJ,CAAA,kBAUI,gBAAA,CAAA,iBAVJ,CAAA,sBAUI,iBAVJ,CAAA,qBAUI,gBAVJ,CAAA,kBAUI,gBAAA,CAAA,iBAVJ,CAAA,sBAUI,iBAVJ,CAAA,qBAUI,gBAVJ,CAAA,iBAUI,mBAVJ,CAAA,sCAUI,oBAVJ,CAAA,oBAUI,mBAVJ,CAAA,gBAUI,kBAVJ,CAAA,oCAUI,mBAVJ,CAAA,mBAUI,kBAVJ,CAAA,kBAUI,mBAVJ,CAAA,wCAUI,oBAVJ,CAAA,qBAUI,mBAVJ,CAAA,gBAUI,iBAVJ,CAAA,oCAUI,kBAVJ,CAAA,mBAUI,iBAVJ,CAAA,kBAUI,oBAVJ,CAAA,wCAUI,qBAVJ,CAAA,qBAUI,oBAVJ,CAAA,gBAUI,mBAVJ,CAAA,oCAUI,oBAVJ,CAAA,mBAUI,mBAVJ,CAAA,gBAUI,iBAVJ,CAAA,oCAUI,kBAVJ,CAAA,mBAUI,iBAVJ,CAAA,gBAUI,mBAVJ,CAAA,oCAUI,oBAVJ,CAAA,mBAUI,mBAVJ,CAAA,gBAUI,iBAVJ,CAAA,oCAUI,kBAVJ,CAAA,mBAUI,iBAVJ,CAAA,gBAUI,mBAVJ,CAAA,oCAUI,oBAVJ,CAAA,mBAUI,mBAVJ,CAAA,gBAUI,iBAVJ,CAAA,oCAUI,kBAVJ,CAAA,mBAUI,iBAVJ,CAAA,gBAUI,mBAVJ,CAAA,oCAUI,oBAVJ,CAAA,mBAUI,mBAVJ,CAAA,iBAUI,iBAVJ,CAAA,sCAUI,kBAVJ,CAAA,oBAUI,iBAVJ,CAAA,iBAUI,mBAVJ,CAAA,sCAUI,oBAVJ,CAAA,oBAUI,mBAVJ,CAAA,YAUI,gBAVJ,CAAA,4BAUI,iBAVJ,CAAA,eAUI,gBAVJ,CAAA,YAUI,kBAVJ,CAAA,4BAUI,mBAVJ,CAAA,eAUI,kBAVJ,CAAA,YAUI,gBAVJ,CAAA,4BAUI,iBAVJ,CAAA,eAUI,gBAVJ,CAAA,YAUI,kBAVJ,CAAA,4BAUI,mBAVJ,CAAA,eAUI,kBAVJ,CAAA,YAUI,gBAVJ,CAAA,4BAUI,iBAVJ,CAAA,eAUI,gBAVJ,CAAA,YAUI,kBAVJ,CAAA,4BAUI,mBAVJ,CAAA,eAUI,kBAVJ,CAAA,aAUI,gBAVJ,CAAA,8BAUI,iBAVJ,CAAA,gBAUI,gBAVJ,CAAA,aAUI,kBAVJ,CAAA,8BAUI,mBAVJ,CAAA,gBAUI,kBAVJ,CAAA,eAUI,iBAVJ,CAAA,kCAUI,kBAVJ,CAAA,kBAUI,iBAVJ,CAAA,kBAUI,iBAVJ,CAAA,wCAUI,kBAVJ,CAAA,qBAUI,iBAVJ,CAAA,iBAUI,iBAVJ,CAAA,sCAUI,kBAVJ,CAAA,oBAUI,iBAVJ,CAAA,eAUI,gBAVJ,CAAA,kCAUI,iBAVJ,CAAA,kBAUI,gBAVJ,CAAA,cAUI,eAVJ,CAAA,gCAUI,gBAVJ,CAAA,iBAUI,eAVJ,CAAA,gBAUI,iBAVJ,CAAA,oCAUI,kBAVJ,CAAA,mBAUI,iBAVJ,CAAA,cAUI,eAVJ,CAAA,gCAUI,gBAVJ,CAAA,iBAUI,eAVJ,CAAA,YAUI,aAVJ,CAAA,4BAUI,cAVJ,CAAA,eAUI,aAVJ,CAAA,eAUI,gBAVJ,CAAA,kCAUI,iBAVJ,CAAA,kBAUI,gBAVJ,CAAA,SAUI,iBAVJ,CAAA,QAUI,gBAVJ,CAAA,UAUI,iBAVJ,CAAA,QAUI,eAVJ,CAAA,UAUI,kBAVJ,CAAA,QAUI,iBAVJ,CAAA,QAUI,eAVJ,CAAA,QAUI,iBAVJ,CAAA,QAUI,eAVJ,CAAA,QAUI,iBAVJ,CAAA,QAUI,eAVJ,CAAA,QAUI,iBAVJ,CAAA,SAUI,eAVJ,CAAA,SAUI,iBAVJ,CAAA,WAUI,gBAVJ,CAAA,cAUI,gBAVJ,CAAA,aAUI,gBAVJ,CAAA,gBAUI,gBAVJ,CAAA,aAUI,gBAVJ,CAAA,gBAUI,gBAVJ,CAAA,WAUI,eAVJ,CAAA,eAUI,gBAVJ,CAAA,SAUI,gBAVJ,CAAA,QAUI,eAVJ,CAAA,UAUI,gBAVJ,CAAA,QAUI,cAVJ,CAAA,UAUI,iBAVJ,CAAA,QAUI,gBAVJ,CAAA,QAUI,cAVJ,CAAA,QAUI,gBAVJ,CAAA,QAUI,cAVJ,CAAA,QAUI,gBAVJ,CAAA,QAUI,cAVJ,CAAA,QAUI,gBAVJ,CAAA,SAUI,cAVJ,CAAA,SAUI,gBAVJ,CAAA,WAUI,eAVJ,CAAA,cAUI,eAVJ,CAAA,aAUI,eAVJ,CAAA,gBAUI,eAVJ,CAAA,aAUI,eAVJ,CAAA,gBAUI,eAVJ,CAAA,cAUI,eAVJ,CAAA,iBAUI,eAVJ,CAAA,iBAUI,iBAVJ,CAAA,WAUI,cAVJ,CAAA,WAUI,cAVJ,CAAA,WAUI,cAVJ,CAAA,WAUI,cAVJ,CAAA,WAUI,cAVJ,CAAA,WAUI,cAVJ,CAAA,WAUI,cAVJ,CAAA,WAUI,cAVJ,CAAA,cAUI,cAVJ,CAAA,UAUI,cAVJ,CAAA,UAUI,cAVJ,CAAA,SAUI,iBAVJ,CAAA,QAUI,gBAVJ,CAAA,UAUI,iBAVJ,CAAA,QAUI,eAVJ,CAAA,UAUI,kBAVJ,CAAA,QAUI,iBAVJ,CAAA,QAUI,eAVJ,CAAA,QAUI,iBAVJ,CAAA,QAUI,eAVJ,CAAA,QAUI,iBAVJ,CAAA,QAUI,eAVJ,CAAA,QAUI,iBAVJ,CAAA,SAUI,eAVJ,CAAA,SAUI,iBAVJ,CAAA,WAUI,gBAVJ,CAAA,cAUI,gBAVJ,CAAA,aAUI,gBAVJ,CAAA,gBAUI,gBAVJ,CAAA,aAUI,gBAVJ,CAAA,gBAUI,gBAVJ,CAAA,QAUI,YAVJ,CAAA,WAUI,eAVJ,CAAA,eAUI,gBAVJ,CAAA,SAUI,gBAVJ,CAAA,QAUI,eAVJ,CAAA,UAUI,gBAVJ,CAAA,QAUI,cAVJ,CAAA,UAUI,iBAVJ,CAAA,QAUI,gBAVJ,CAAA,QAUI,cAVJ,CAAA,QAUI,gBAVJ,CAAA,QAUI,cAVJ,CAAA,QAUI,gBAVJ,CAAA,QAUI,cAVJ,CAAA,QAUI,gBAVJ,CAAA,SAUI,cAVJ,CAAA,SAUI,gBAVJ,CAAA,QAUI,WAVJ,CAAA,WAUI,SAVJ,CAAA,YAUI,UAVJ,CAAA,YAUI,UAVJ,CAAA,YAUI,UAVJ,CAAA,YAUI,UAVJ,CAAA,YAUI,UAVJ,CAAA,YAUI,UAVJ,CAAA,YAUI,UAVJ,CAAA,YAUI,UAVJ,CAAA,YAUI,UAVJ,CAAA,aAUI,SAVJ,CAAA,aAUI,QAVJ,CAAA,YAUI,SAVJ,CAAA,eAUI,aAVJ,CAAA,SAUI,OAVJ,CAAA,SAUI,OAVJ,CAAA,SAUI,OAVJ,CAAA,SAUI,OAVJ,CAAA,SAUI,OAVJ,CAAA,SAUI,OAVJ,CAAA,SAUI,OAVJ,CAAA,SAUI,OAVJ,CAAA,SAUI,OAVJ,CAAA,SAUI,OAVJ,CAAA,UAUI,QAVJ,CAAA,UAUI,QAVJ,CAAA,aAUI,iBAVJ,CAAA,aAUI,iBAVJ,CAAA,WAUI,eAVJ,CAAA,YAUI,oBAVJ,CAAA,qBAUI,yBAVJ,CAAA,eAUI,kBAVJ,CAAA,eAUI,kBAVJ,CAAA,aAUI,qBAVJ,CAAA,gBAUI,qBAVJ,CAAA,cAUI,qBAVJ,CAAA,gBAUI,qBAVJ,CAAA,eAUI,qBAVJ,CAAA,cAUI,qBAVJ,CAAA,cAUI,qBAVJ,CAAA,cAUI,qBAVJ,CAAA,gBAUI,qBAVJ,CAAA,gBAUI,qBAVJ,CAAA,iBAUI,qBAVJ,CAAA,gBAUI,qBAVJ,CAAA,iBAUI,qBAVJ,CAAA,iBAUI,qBAVJ,CAAA,iBAUI,qBAVJ,CAAA,iBAUI,qBAVJ,CAAA,iBAUI,qBAVJ,CAAA,uBAUI,qBAVJ,CAAA,sBAUI,qBAVJ,CAAA,oBAUI,qBAVJ,CAAA,cAUI,qBAVJ,CAAA,mBAUI,qBAVJ,CAAA,qBAUI,qBAVJ,CAAA,mCAUI,qBAVJ,CAAA,yBAUI,qBAVJ,CAAA,uBAUI,qBAVJ,CAAA,iBAUI,qBAVJ,CAAA,uBAUI,qBAVJ,CAAA,sBAUI,qBAVJ,CAAA,wBAUI,qBAVJ,CAAA,2BAUI,qBAVJ,CAAA,yBAUI,qBAVJ,CAAA,mBAUI,qBAVJ,CAAA,yBAUI,qBAVJ,CAAA,wBAUI,qBAVJ,CAAA,0BAUI,qBAVJ,CAAA,4BAUI,qBAVJ,CAAA,0BAUI,qBAVJ,CAAA,qBAUI,qBAVJ,CAAA,2BAUI,qBAVJ,CAAA,6BAUI,qBAVJ,CAAA,4BAUI,qBAVJ,CAAA,0BAUI,qBAVJ,CAAA,qBAUI,qBAVJ,CAAA,2BAUI,qBAVJ,CAAA,6BAUI,qBAVJ,CAAA,uBAUI,qBAVJ,CAAA,qBAUI,qBAVJ,CAAA,eAUI,qBAVJ,CAAA,oBAUI,qBAVJ,CAAA,sBAUI,qBAVJ,CAAA,yBAUI,qBAVJ,CAAA,uBAUI,qBAVJ,CAAA,iBAUI,qBAVJ,CAAA,sBAUI,qBAVJ,CAAA,wBAUI,qBAVJ,CAAA,yBAUI,qBAVJ,CAAA,uBAUI,qBAVJ,CAAA,iBAUI,qBAVJ,CAAA,sBAUI,qBAVJ,CAAA,wBAUI,qBAVJ,CAAA,sBAUI,qBAVJ,CAAA,oBAUI,qBAVJ,CAAA,cAUI,qBAVJ,CAAA,mBAUI,qBAVJ,CAAA,qBAUI,qBAVJ,CAAA,0BAUI,qBAVJ,CAAA,wBAUI,qBAVJ,CAAA,kBAUI,qBAVJ,CAAA,uBAUI,qBAVJ,CAAA,yBAUI,qBAVJ,CAAA,mBAUI,qBAVJ,CAAA,wBAUI,qBAVJ,CAAA,iBAUI,eAVJ,CAAA,mBAUI,iBAVJ,CAAA,mBAUI,iBAVJ,CAAA,iBAUI,eAVJ,CAAA,mBAUI,iBAVJ,CAAA,mBAUI,iBAVJ,CAAA,eAUI,aAVJ,CAAA,iBAUI,eAVJ,CAAA,iBAUI,eAVJ,CAAA,kBAUI,gBAVJ,CAAA,oBAUI,kBAVJ,CAAA,oBAUI,kBAVJ,CAAA,aAUI,WAVJ,CAAA,eAUI,eAAA,CAAA,kBAVJ,CAAA,eAUI,gBAAA,CAAA,iBAVJ,CAAA,iBAUI,eAVJ,CAAA,mBAUI,iBAVJ,CAAA,oBAUI,kBAVJ,CAAA,kBAUI,gBAVJ,CAAA,aAUI,WAVJ,CAAA,eAUI,eAAA,CAAA,kBAVJ,CAAA,eAUI,gBAAA,CAAA,iBAVJ,CAAA,iBAUI,eAVJ,CAAA,mBAUI,iBAVJ,CAAA,oBAUI,kBAVJ,CAAA,kBAUI,gBAVJ,CAAA,YAUI,cAVJ,CAAA,cAUI,kBAAA,CAAA,qBAVJ,CAAA,cAUI,mBAAA,CAAA,oBAVJ,CAAA,gBAUI,kBAVJ,CAAA,kBAUI,oBAVJ,CAAA,mBAUI,qBAVJ,CAAA,iBAUI,mBAVJ,CAAA,WAUI,aAVJ,CAAA,aAUI,iBAAA,CAAA,oBAVJ,CAAA,aAUI,kBAAA,CAAA,mBAVJ,CAAA,eAUI,iBAVJ,CAAA,iBAUI,mBAVJ,CAAA,kBAUI,oBAVJ,CAAA,gBAUI,kBAVJ,CAAA,aAUI,cAVJ,CAAA,eAUI,kBAAA,CAAA,qBAVJ,CAAA,eAUI,mBAAA,CAAA,oBAVJ,CAAA,iBAUI,kBAVJ,CAAA,mBAUI,oBAVJ,CAAA,oBAUI,qBAVJ,CAAA,kBAUI,mBAVJ,CAAA,WAUI,YAVJ,CAAA,aAUI,gBAAA,CAAA,mBAVJ,CAAA,aAUI,iBAAA,CAAA,kBAVJ,CAAA,eAUI,gBAVJ,CAAA,iBAUI,kBAVJ,CAAA,kBAUI,mBAVJ,CAAA,gBAUI,iBAVJ,CAAA,aAUI,eAVJ,CAAA,eAUI,mBAAA,CAAA,sBAVJ,CAAA,eAUI,oBAAA,CAAA,qBAVJ,CAAA,iBAUI,mBAVJ,CAAA,mBAUI,qBAVJ,CAAA,oBAUI,sBAVJ,CAAA,kBAUI,oBAVJ,CAAA,WAUI,cAVJ,CAAA,aAUI,kBAAA,CAAA,qBAVJ,CAAA,aAUI,mBAAA,CAAA,oBAVJ,CAAA,eAUI,kBAVJ,CAAA,iBAUI,oBAVJ,CAAA,kBAUI,qBAVJ,CAAA,gBAUI,mBAVJ,CAAA,WAUI,YAVJ,CAAA,aAUI,gBAAA,CAAA,mBAVJ,CAAA,aAUI,iBAAA,CAAA,kBAVJ,CAAA,eAUI,gBAVJ,CAAA,iBAUI,kBAVJ,CAAA,kBAUI,mBAVJ,CAAA,gBAUI,iBAVJ,CAAA,WAUI,cAVJ,CAAA,aAUI,kBAAA,CAAA,qBAVJ,CAAA,aAUI,mBAAA,CAAA,oBAVJ,CAAA,eAUI,kBAVJ,CAAA,iBAUI,oBAVJ,CAAA,kBAUI,qBAVJ,CAAA,gBAUI,mBAVJ,CAAA,WAUI,YAVJ,CAAA,aAUI,gBAAA,CAAA,mBAVJ,CAAA,aAUI,iBAAA,CAAA,kBAVJ,CAAA,eAUI,gBAVJ,CAAA,iBAUI,kBAVJ,CAAA,kBAUI,mBAVJ,CAAA,gBAUI,iBAVJ,CAAA,WAUI,cAVJ,CAAA,aAUI,kBAAA,CAAA,qBAVJ,CAAA,aAUI,mBAAA,CAAA,oBAVJ,CAAA,eAUI,kBAVJ,CAAA,iBAUI,oBAVJ,CAAA,kBAUI,qBAVJ,CAAA,gBAUI,mBAVJ,CAAA,WAUI,YAVJ,CAAA,aAUI,gBAAA,CAAA,mBAVJ,CAAA,aAUI,iBAAA,CAAA,kBAVJ,CAAA,eAUI,gBAVJ,CAAA,iBAUI,kBAVJ,CAAA,kBAUI,mBAVJ,CAAA,gBAUI,iBAVJ,CAAA,WAUI,cAVJ,CAAA,aAUI,kBAAA,CAAA,qBAVJ,CAAA,aAUI,mBAAA,CAAA,oBAVJ,CAAA,eAUI,kBAVJ,CAAA,iBAUI,oBAVJ,CAAA,kBAUI,qBAVJ,CAAA,gBAUI,mBAVJ,CAAA,YAUI,YAVJ,CAAA,cAUI,gBAAA,CAAA,mBAVJ,CAAA,cAUI,iBAAA,CAAA,kBAVJ,CAAA,gBAUI,gBAVJ,CAAA,kBAUI,kBAVJ,CAAA,mBAUI,mBAVJ,CAAA,iBAUI,iBAVJ,CAAA,YAUI,cAVJ,CAAA,cAUI,kBAAA,CAAA,qBAVJ,CAAA,cAUI,mBAAA,CAAA,oBAVJ,CAAA,gBAUI,kBAVJ,CAAA,kBAUI,oBAVJ,CAAA,mBAUI,qBAVJ,CAAA,iBAUI,mBAVJ,CAAA,WAUI,SAVJ,CAAA,aAUI,aAAA,CAAA,gBAVJ,CAAA,aAUI,cAAA,CAAA,eAVJ,CAAA,eAUI,aAVJ,CAAA,iBAUI,eAVJ,CAAA,kBAUI,gBAVJ,CAAA,gBAUI,cAVJ,CAAA,SAnCE,QAAA,CA6CE,KAVJ,CAAA,gBAnCE,MAAA,CAAA,OA6CE,CAAA,iBAVJ,CAAA,OAUI,KAVJ,CAAA,mBAnCE,QA6CE,CAAA,iBAVJ,CAAA,UAnCE,MA6CE,CAAA,iBAVJ,CAAA,WAnCE,OA6CE,CAAA,iBAVJ,CAAA,SAUI,KAAA,CAAA,iBAVJ,CAAA,UAnCE,WAAA,CAAA,SAAA,CAAA,UAAA,CAAA,QA6CE,CAAA,eAVJ,CAAA,mBAUI,iBAVJ,CAAA,gBAUI,cAVJ,CAAA,mBAUI,iBAVJ,CAAA,iBAUI,eAVJ,CAAA,iBAUI,eAVJ,CAAA,WAUI,SAVJ,CAAA,WAUI,SAVJ,CAAA,UAUI,YAVJ,CAAA,SAUI,WAVJ,CAAA,WAUI,YAVJ,CAAA,SAUI,UAVJ,CAAA,WAUI,aAVJ,CAAA,SAUI,YAVJ,CAAA,eAUI,UAVJ,CAAA,eAUI,UAVJ,CAAA,cAUI,aAVJ,CAAA,aAUI,YAVJ,CAAA,eAUI,aAVJ,CAAA,aAUI,WAVJ,CAAA,eAUI,cAVJ,CAAA,aAUI,aAVJ,CAAA,SAUI,OAVJ,CAAA,YAUI,UAVJ,CAAA,YAUI,UAVJ,CAAA,YAUI,UAAA,CAAA,SAVJ,CAAA,YAUI,UAAA,CAAA,SAVJ,CAAA,WAUI,aAAA,CAAA,YAVJ,CAAA,UAUI,YAAA,CAAA,WAVJ,CAAA,YAUI,aAAA,CAAA,YAVJ,CAAA,UAUI,WAAA,CAAA,UAVJ,CAAA,YAUI,cAAA,CAAA,aAVJ,CAAA,UAUI,aAAA,CAAA,YAVJ,CAAA,UAUI,WAAA,CAAA,UAVJ,CAAA,UAUI,aAAA,CAAA,YAVJ,CAAA,UAUI,WAAA,CAAA,UAVJ,CAAA,UAUI,aAAA,CAAA,YAVJ,CAAA,UAUI,WAAA,CAAA,UAVJ,CAAA,UAUI,aAAA,CAAA,YAVJ,CAAA,WAUI,WAAA,CAAA,UAVJ,CAAA,WAUI,aAAA,CAAA,YAVJ,CAAA,aAUI,YAAA,CAAA,WAVJ,CAAA,gBAUI,YAAA,CAAA,WAVJ,CAAA,eAUI,YAAA,CAAA,WAVJ,CAAA,aAUI,iBAVJ,CAAA,WAUI,eAVJ,CAAA,cAUI,kBAVJ,CAAA,YAUI,gBAVJ,CAAA,uCAUI,4BAvDJ,CA6CA,6CAUI,yBAvDJ,CA6CA,gGAUI,oBAvDJ,CA6CA,2CAUI,6BAvDJ,CA6CA,iDAUI,6BAvDJ,CA6CA,6CAUI,6BAvDJ,CA6CA,iDAUI,6BAvDJ,CA6CA,+CAUI,6BAvDJ,CA6CA,6CAUI,6BAvDJ,CA6CA,6CAUI,6BAvDJ,CA6CA,6CAUI,6BAvDJ,CA6CA,iDAUI,6BAvDJ,CA6CA,iDAUI,6BAvDJ,CA6CA,mDAUI,6BAvDJ,CA6CA,iDAUI,6BAvDJ,CA6CA,mDAUI,6BAvDJ,CA6CA,mDAUI,6BAvDJ,CA6CA,mDAUI,6BAvDJ,CA6CA,mDAUI,6BAvDJ,CA6CA,mDAUI,6BAvDJ,CA6CA,+DAUI,6BAvDJ,CA6CA,6DAUI,6BAvDJ,CA6CA,yDAUI,6BAvDJ,CA6CA,6CAUI,6BAvDJ,CA6CA,uDAUI,6BAvDJ,CA6CA,2DAUI,6BAvDJ,CA6CA,wGAUI,6BAvDJ,CA6CA,mEAUI,6BAvDJ,CA6CA,+DAUI,6BAvDJ,CA6CA,mDAUI,6BAvDJ,CA6CA,+DAUI,6BAvDJ,CA6CA,6DAUI,6BAvDJ,CA6CA,iEAUI,6BAvDJ,CA6CA,uEAUI,6BAvDJ,CA6CA,mEAUI,6BAvDJ,CA6CA,uDAUI,6BAvDJ,CA6CA,mEAUI,6BAvDJ,CA6CA,iEAUI,6BAvDJ,CA6CA,qEAUI,6BAvDJ,CA6CA,yEAUI,6BAvDJ,CA6CA,qEAUI,6BAvDJ,CA6CA,2DAUI,6BAvDJ,CA6CA,uEAUI,6BAvDJ,CA6CA,2EAUI,6BAvDJ,CA6CA,yEAUI,6BAvDJ,CA6CA,qEAUI,6BAvDJ,CA6CA,2DAUI,6BAvDJ,CA6CA,uEAUI,6BAvDJ,CA6CA,2EAUI,6BAvDJ,CA6CA,+DAUI,6BAvDJ,CA6CA,2DAUI,6BAvDJ,CA6CA,+CAUI,6BAvDJ,CA6CA,yDAUI,6BAvDJ,CA6CA,6DAUI,6BAvDJ,CA6CA,mEAUI,6BAvDJ,CA6CA,+DAUI,6BAvDJ,CA6CA,mDAUI,6BAvDJ,CA6CA,6DAUI,6BAvDJ,CA6CA,iEAUI,6BAvDJ,CA6CA,mEAUI,6BAvDJ,CA6CA,+DAUI,6BAvDJ,CA6CA,mDAUI,6BAvDJ,CA6CA,6DAUI,6BAvDJ,CA6CA,iEAUI,6BAvDJ,CA6CA,6DAUI,6BAvDJ,CA6CA,yDAUI,6BAvDJ,CA6CA,6CAUI,6BAvDJ,CA6CA,uDAUI,6BAvDJ,CA6CA,2DAUI,6BAvDJ,CA6CA,qEAUI,6BAvDJ,CA6CA,iEAUI,6BAvDJ,CA6CA,qDAUI,6BAvDJ,CA6CA,+DAUI,6BAvDJ,CA6CA,mEAUI,6BAvDJ,CA6CA,uDAUI,6BAvDJ,CA6CA,iEAUI,6BAvDJ,CA6CA,eAUI,aAVJ,CAAA,gBAUI,kBAVJ,CAAA,eAUI,iBAVJ,CAAA,iBAUI,kBAVJ,CAAA,eAUI,gBAVJ,CAAA,iBAUI,mBAVJ,CAAA,eAUI,kBAVJ,CAAA,oBAUI,mBAVJ,CAAA,mBAUI,kBAVJ,CAAA,qBAUI,mBAVJ,CAAA,mBAUI,iBAVJ,CAAA,qBAUI,oBAVJ,CAAA,mBAUI,mBAVJ,CAAA,eAUI,gBAVJ,CAAA,eAUI,kBAVJ,CAAA,eAUI,gBAVJ,CAAA,eAUI,kBAVJ,CAAA,eAUI,gBAVJ,CAAA,eAUI,kBAVJ,CAAA,gBAUI,gBAVJ,CAAA,gBAUI,kBAVJ,CAAA,mBAUI,iBAVJ,CAAA,mBAUI,mBAVJ,CAAA,mBAUI,iBAVJ,CAAA,mBAUI,mBAVJ,CAAA,mBAUI,iBAVJ,CAAA,mBAUI,mBAVJ,CAAA,oBAUI,iBAVJ,CAAA,oBAUI,mBAVJ,CAAA,gBAUI,wBAVJ,CAAA,mBAUI,mBAVJ,CAAA,gBAUI,wBAVJ,CAAA,mBAUI,mBAVJ,CAAA,SAUI,OAVJ,CAAA,SAUI,OAVJ,CAAA,QAUI,UAVJ,CAAA,OAUI,SAVJ,CAAA,SAUI,UAVJ,CAAA,OAUI,QAVJ,CAAA,SAUI,WAVJ,CAAA,OAUI,UAVJ,CAAA,aAUI,QAVJ,CAAA,aAUI,QAVJ,CAAA,YAUI,WAVJ,CAAA,WAUI,UAVJ,CAAA,aAUI,WAVJ,CAAA,WAUI,SAVJ,CAAA,aAUI,YAVJ,CAAA,WAUI,WAVJ,CAAA,OAAA,KAAA,CAAA,UAUI,QAVJ,CAAA,UAUI,QAVJ,CAAA,eAUI,uBAVJ,CAAA,aAUI,qBAVJ,CAAA,aAUI,qBAVJ,CAAA,UAUI,kBAVJ,CAAA,YAUI,oBAVJ,CAAA,cAUI,0BAVJ,CAAA,WAUI,uBAVJ,CAAA,UAUI,kBAVJ,CAAA,UAUI,eAVJ,CAAA,eAUI,oBAVJ,CAAA,eAUI,oBAVJ,CAAA,WAUI,kBAVJ,CAAA,cAUI,kBAVJ,CAAA,WAUI,SAVJ,CAAA,WAUI,SAVJ,CAAA,UAUI,YAVJ,CAAA,SAUI,WAVJ,CAAA,WAUI,YAVJ,CAAA,SAUI,UAVJ,CAAA,WAUI,aAVJ,CAAA,SAUI,YAVJ,CAAA,SAUI,UAVJ,CAAA,SAUI,YAVJ,CAAA,SAUI,UAVJ,CAAA,SAUI,YAVJ,CAAA,SAUI,UAVJ,CAAA,SAUI,YAVJ,CAAA,UAUI,UAVJ,CAAA,UAUI,YAVJ,CAAA,YAUI,WAVJ,CAAA,eAUI,WAVJ,CAAA,cAUI,WAVJ,CAAA,iBAUI,WAVJ,CAAA,cAUI,WAVJ,CAAA,iBAUI,WAVJ,CAAA,eAUI,WAVJ,CAAA,kBAUI,WAVJ,CAAA,kBAUI,aAVJ,CAAA,SAUI,OAVJ,CAAA,YAUI,UAVJ,CAAA,YAUI,UAVJ,CAAA,QAUI,YAVJ,CAAA,UAUI,YAVJ,CAAA,OAUI,aAAA,CAAA,KAAA,SAVJ,CAAA,OAUI,WAVJ,CAAA,OAUI,WAVJ,CAAA,OAUI,WAVJ,CAAA,OAUI,WAVJ,CAAA,OAUI,WhHvEF,CAAA,gCgH6DF,2DAUI,gBAvDJ,CA6CA,+DAUI,oBAAA,CAAA,uBAvDJ,CA6CA,+DAUI,qBAAA,CAAA,sBAvDJ,CA6CA,mEAUI,oBAvDJ,CA6CA,uEAUI,sBAvDJ,CA6CA,yEAUI,uBAvDJ,CA6CA,qEAUI,qBAvDJ,CA6CA,2DAUI,gBAvDJ,CA6CA,+DAUI,oBAAA,CAAA,uBAvDJ,CA6CA,+DAUI,qBAAA,CAAA,sBAvDJ,CA6CA,mEAUI,oBAvDJ,CA6CA,uEAUI,sBAvDJ,CA6CA,yEAUI,uBAvDJ,CA6CA,qEAUI,qBAvDJ,CA6CA,yDAUI,mBAvDJ,CA6CA,6DAUI,uBAAA,CAAA,0BAvDJ,CA6CA,6DAUI,wBAAA,CAAA,yBAvDJ,CA6CA,iEAUI,uBAvDJ,CA6CA,qEAUI,yBAvDJ,CA6CA,uEAUI,0BAvDJ,CA6CA,mEAUI,wBAvDJ,CA6CA,uDAUI,kBAvDJ,CA6CA,2DAUI,sBAAA,CAAA,yBAvDJ,CA6CA,2DAUI,uBAAA,CAAA,wBAvDJ,CA6CA,+DAUI,sBAvDJ,CA6CA,mEAUI,wBAvDJ,CA6CA,qEAUI,yBAvDJ,CA6CA,iEAUI,uBAvDJ,CA6CA,2DAUI,mBAvDJ,CA6CA,+DAUI,uBAAA,CAAA,0BAvDJ,CA6CA,+DAUI,wBAAA,CAAA,yBAvDJ,CA6CA,mEAUI,uBAvDJ,CA6CA,uEAUI,yBAvDJ,CA6CA,yEAUI,0BAvDJ,CA6CA,qEAUI,wBAvDJ,CA6CA,uDAUI,iBAvDJ,CA6CA,2DAUI,qBAAA,CAAA,wBAvDJ,CA6CA,2DAUI,sBAAA,CAAA,uBAvDJ,CA6CA,+DAUI,qBAvDJ,CA6CA,mEAUI,uBAvDJ,CA6CA,qEAUI,wBAvDJ,CA6CA,iEAUI,sBAvDJ,CA6CA,2DAUI,oBAvDJ,CA6CA,+DAUI,wBAAA,CAAA,2BAvDJ,CA6CA,+DAUI,yBAAA,CAAA,0BAvDJ,CA6CA,mEAUI,wBAvDJ,CA6CA,uEAUI,0BAvDJ,CA6CA,yEAUI,2BAvDJ,CA6CA,qEAUI,yBAvDJ,CA6CA,uDAUI,mBAvDJ,CA6CA,2DAUI,uBAAA,CAAA,0BAvDJ,CA6CA,2DAUI,wBAAA,CAAA,yBAvDJ,CA6CA,+DAUI,uBAvDJ,CA6CA,mEAUI,yBAvDJ,CA6CA,qEAUI,0BAvDJ,CA6CA,iEAUI,wBAvDJ,CA6CA,uDAUI,cAvDJ,CA6CA,2DAUI,kBAAA,CAAA,qBAvDJ,CA6CA,2DAUI,mBAAA,CAAA,oBAvDJ,CA6CA,+DAUI,kBAvDJ,CA6CA,mEAUI,oBAvDJ,CA6CA,qEAUI,qBAvDJ,CA6CA,iEAUI,mBAvDJ,CA6CA,mDAUI,gBAvDJ,CA6CA,uDAUI,oBAAA,CAAA,uBAvDJ,CA6CA,uDAUI,qBAAA,CAAA,sBAvDJ,CA6CA,2DAUI,oBAvDJ,CA6CA,+DAUI,sBAvDJ,CA6CA,iEAUI,uBAvDJ,CA6CA,6DAUI,qBAvDJ,CA6CA,2EAUI,wBAvDJ,CA6CA,+DAUI,iBAvDJ,CA6CA,+DAUI,iBAvDJ,CA6CA,2DAUI,oBAvDJ,CA6CA,iEAUI,oBAvDJ,CA6CA,6DAUI,oBAvDJ,CA6CA,iEAUI,oBAvDJ,CA6CA,+DAUI,oBAvDJ,CA6CA,6DAUI,oBAvDJ,CA6CA,6DAUI,oBAvDJ,CA6CA,6DAUI,oBAvDJ,CA6CA,iEAUI,oBAvDJ,CA6CA,iEAUI,oBAvDJ,CA6CA,mEAUI,oBAvDJ,CA6CA,iEAUI,oBAvDJ,CA6CA,mEAUI,oBAvDJ,CA6CA,mEAUI,oBAvDJ,CA6CA,mEAUI,oBAvDJ,CA6CA,mEAUI,oBAvDJ,CA6CA,mEAUI,oBAvDJ,CA6CA,+EAUI,oBAvDJ,CA6CA,6EAUI,oBAvDJ,CA6CA,yEAUI,oBAvDJ,CA6CA,6DAUI,oBAvDJ,CA6CA,uEAUI,oBAvDJ,CA6CA,2EAUI,oBAvDJ,CA6CA,wIAUI,oBAvDJ,CA6CA,mFAUI,oBAvDJ,CA6CA,+EAUI,oBAvDJ,CA6CA,mEAUI,oBAvDJ,CA6CA,+EAUI,oBAvDJ,CA6CA,6EAUI,oBAvDJ,CA6CA,iFAUI,oBAvDJ,CA6CA,uFAUI,oBAvDJ,CA6CA,mFAUI,oBAvDJ,CA6CA,uEAUI,oBAvDJ,CA6CA,mFAUI,oBAvDJ,CA6CA,iFAUI,oBAvDJ,CA6CA,qFAUI,oBAvDJ,CA6CA,yFAUI,oBAvDJ,CA6CA,qFAUI,oBAvDJ,CA6CA,2EAUI,oBAvDJ,CA6CA,uFAUI,oBAvDJ,CA6CA,2FAUI,oBAvDJ,CA6CA,yFAUI,oBAvDJ,CA6CA,qFAUI,oBAvDJ,CA6CA,2EAUI,oBAvDJ,CA6CA,uFAUI,oBAvDJ,CA6CA,2FAUI,oBAvDJ,CA6CA,+EAUI,oBAvDJ,CA6CA,2EAUI,oBAvDJ,CA6CA,+DAUI,oBAvDJ,CA6CA,yEAUI,oBAvDJ,CA6CA,6EAUI,oBAvDJ,CA6CA,mFAUI,oBAvDJ,CA6CA,+EAUI,oBAvDJ,CA6CA,mEAUI,oBAvDJ,CA6CA,6EAUI,oBAvDJ,CA6CA,iFAUI,oBAvDJ,CA6CA,mFAUI,oBAvDJ,CA6CA,+EAUI,oBAvDJ,CA6CA,mEAUI,oBAvDJ,CA6CA,6EAUI,oBAvDJ,CA6CA,iFAUI,oBAvDJ,CA6CA,6EAUI,oBAvDJ,CA6CA,yEAUI,oBAvDJ,CA6CA,6DAUI,oBAvDJ,CA6CA,uEAUI,oBAvDJ,CA6CA,2EAUI,oBAvDJ,CA6CA,qFAUI,oBAvDJ,CA6CA,iFAUI,oBAvDJ,CA6CA,qEAUI,oBAvDJ,CA6CA,+EAUI,oBAvDJ,CA6CA,mFAUI,oBAvDJ,CA6CA,uEAUI,oBAvDJ,CA6CA,iFAUI,oBAvDJ,CA6CA,qBAUI,eAVJ,CAAA,yBAUI,wBAAA,CAAA,yBAVJ,CAAA,2BAUI,yBAAA,CAAA,4BAVJ,CAAA,4BAUI,2BAAA,CAAA,4BAVJ,CAAA,0BAUI,wBAAA,CAAA,2BAVJ,CAAA,sBAUI,iBAVJ,CAAA,0BAUI,0BAAA,CAAA,2BAVJ,CAAA,4BAUI,2BAAA,CAAA,8BAVJ,CAAA,6BAUI,6BAAA,CAAA,8BAVJ,CAAA,2BAUI,0BAAA,CAAA,6BAVJ,CAAA,sBAUI,oBAVJ,CAAA,0BAUI,6BAAA,CAAA,8BAVJ,CAAA,4BAUI,8BAAA,CAAA,iCAVJ,CAAA,6BAUI,gCAAA,CAAA,iCAVJ,CAAA,2BAUI,6BAAA,CAAA,gCAVJ,CAAA,sBAUI,mBAVJ,CAAA,0BAUI,4BAAA,CAAA,6BAVJ,CAAA,4BAUI,6BAAA,CAAA,gCAVJ,CAAA,6BAUI,+BAAA,CAAA,gCAVJ,CAAA,2BAUI,4BAAA,CAAA,+BAVJ,CAAA,wBAUI,mBAVJ,CAAA,4BAUI,4BAAA,CAAA,6BAVJ,CAAA,8BAUI,6BAAA,CAAA,gCAVJ,CAAA,+BAUI,+BAAA,CAAA,gCAVJ,CAAA,6BAUI,4BAAA,CAAA,+BAVJ,CAAA,0BAUI,aAVJ,CAAA,yBAUI,YAVJ,CAAA,yBAUI,YAVJ,CAAA,2BAUI,cAVJ,CAAA,iCAUI,oBAVJ,CAAA,gCAUI,mBAVJ,CAAA,0BAUI,aAVJ,CAAA,+BAUI,kBAVJ,CAAA,8BAUI,iBAVJ,CAAA,0BAUI,gBAVJ,CAAA,0BAUI,gBAVJ,CAAA,yBAUI,gBAVJ,CAAA,yBAUI,gBAVJ,CAAA,yBAUI,iBAVJ,CAAA,yBAUI,iBAVJ,CAAA,yBAUI,iBAVJ,CAAA,0BAUI,iBAVJ,CAAA,0BAUI,iBAVJ,CAAA,0BAUI,gBAVJ,CAAA,0BAUI,gBAVJ,CAAA,yBAUI,cAVJ,CAAA,yBAUI,iBAVJ,CAAA,yBAUI,iBAVJ,CAAA,yBAUI,iBAVJ,CAAA,yBAUI,iBAVJ,CAAA,0BAUI,iBAVJ,CAAA,0BAUI,iBAVJ,CAAA,2BAUI,gBAVJ,CAAA,2BAUI,gBAVJ,CAAA,0BAUI,gBAVJ,CAAA,0BAUI,gBAVJ,CAAA,0BAUI,iBAVJ,CAAA,0BAUI,iBAVJ,CAAA,0BAUI,iBAVJ,CAAA,2BAUI,iBAVJ,CAAA,2BAUI,iBAVJ,CAAA,6BAUI,gBAVJ,CAAA,6BAUI,gBAVJ,CAAA,4BAUI,gBAVJ,CAAA,4BAUI,gBAVJ,CAAA,4BAUI,iBAVJ,CAAA,4BAUI,iBAVJ,CAAA,4BAUI,iBAVJ,CAAA,6BAUI,iBAVJ,CAAA,6BAUI,iBAVJ,CAAA,0BAUI,gBAVJ,CAAA,0BAUI,gBAVJ,CAAA,yBAUI,cAVJ,CAAA,yBAUI,iBAVJ,CAAA,yBAUI,iBAVJ,CAAA,yBAUI,iBAVJ,CAAA,yBAUI,iBAVJ,CAAA,0BAUI,iBAVJ,CAAA,0BAUI,iBAVJ,CAAA,0BAUI,gBAVJ,CAAA,0BAUI,gBAVJ,CAAA,yBAUI,gBAVJ,CAAA,yBAUI,gBAVJ,CAAA,yBAUI,iBAVJ,CAAA,yBAUI,iBAVJ,CAAA,yBAUI,iBAVJ,CAAA,0BAUI,iBAVJ,CAAA,0BAUI,iBAVJ,CAAA,yBAUI,gBAVJ,CAAA,yBAUI,gBAVJ,CAAA,wBAUI,gBAVJ,CAAA,wBAUI,gBAVJ,CAAA,wBAUI,iBAVJ,CAAA,wBAUI,iBAVJ,CAAA,wBAUI,iBAVJ,CAAA,yBAUI,iBAVJ,CAAA,yBAUI,iBAVJ,CAAA,wBAUI,gBAVJ,CAAA,wBAUI,gBAVJ,CAAA,uBAUI,cAVJ,CAAA,uBAUI,iBAVJ,CAAA,uBAUI,iBAVJ,CAAA,uBAUI,iBAVJ,CAAA,uBAUI,iBAVJ,CAAA,wBAUI,iBAVJ,CAAA,wBAUI,iBAVJ,CAAA,uBAUI,eAVJ,CAAA,wBAUI,eAVJ,CAAA,sBAUI,eAVJ,CAAA,gCAUI,sBAVJ,CAAA,+BAUI,0BAVJ,CAAA,6BAUI,wBAVJ,CAAA,yBAUI,6BAVJ,CAAA,+BAUI,cAVJ,CAAA,+BAUI,eAVJ,CAAA,+BAUI,eAVJ,CAAA,+BAUI,eAVJ,CAAA,+BAUI,eAVJ,CAAA,+BAUI,eAVJ,CAAA,gCAUI,aAVJ,CAAA,gCAUI,eAVJ,CAAA,gCAUI,eAVJ,CAAA,gCAUI,eAVJ,CAAA,gCAUI,eAVJ,CAAA,gCAUI,eAVJ,CAAA,+BAUI,aAVJ,CAAA,+BAUI,eAVJ,CAAA,+BAUI,eAVJ,CAAA,+BAUI,eAVJ,CAAA,+BAUI,eAVJ,CAAA,+BAUI,eAVJ,CAAA,kCAUI,aAVJ,CAAA,kCAUI,eAVJ,CAAA,kCAUI,eAVJ,CAAA,kCAUI,eAVJ,CAAA,kCAUI,eAVJ,CAAA,kCAUI,eAVJ,CAAA,6BAUI,cAVJ,CAAA,6BAUI,eAVJ,CAAA,6BAUI,eAVJ,CAAA,6BAUI,eAVJ,CAAA,6BAUI,eAVJ,CAAA,6BAUI,eAVJ,CAAA,+BAUI,cAVJ,CAAA,+BAUI,eAVJ,CAAA,+BAUI,eAVJ,CAAA,+BAUI,eAVJ,CAAA,+BAUI,eAVJ,CAAA,+BAUI,eAVJ,CAAA,+BAUI,aAVJ,CAAA,+BAUI,eAVJ,CAAA,+BAUI,eAVJ,CAAA,+BAUI,eAVJ,CAAA,+BAUI,eAVJ,CAAA,+BAUI,eAVJ,CAAA,8BAUI,aAVJ,CAAA,8BAUI,eAVJ,CAAA,8BAUI,eAVJ,CAAA,8BAUI,eAVJ,CAAA,8BAUI,eAVJ,CAAA,8BAUI,eAVJ,CAAA,2BAUI,WAVJ,CAAA,2BAUI,WAVJ,CAAA,0BAUI,cAVJ,CAAA,yBAUI,aAVJ,CAAA,2BAUI,cAVJ,CAAA,yBAUI,YAVJ,CAAA,2BAUI,eAVJ,CAAA,yBAUI,cAVJ,CAAA,uBAUI,UAVJ,CAAA,uBAUI,UAVJ,CAAA,sBAUI,aAVJ,CAAA,qBAUI,YAVJ,CAAA,uBAUI,aAVJ,CAAA,qBAUI,WAVJ,CAAA,uBAUI,cAVJ,CAAA,qBAUI,aAVJ,CAAA,yBAUI,YAVJ,CAAA,yBAUI,cAVJ,CAAA,yBAUI,YAVJ,CAAA,yBAUI,cAVJ,CAAA,yBAUI,YAVJ,CAAA,yBAUI,cAVJ,CAAA,0BAUI,YAVJ,CAAA,0BAUI,cAVJ,CAAA,qBAUI,WAVJ,CAAA,qBAUI,aAVJ,CAAA,qBAUI,WAVJ,CAAA,qBAUI,aAVJ,CAAA,qBAUI,WAVJ,CAAA,qBAUI,aAVJ,CAAA,sBAUI,WAVJ,CAAA,sBAUI,aAVJ,CAAA,wBAUI,WAVJ,CAAA,uBAUI,UAVJ,CAAA,yBAUI,YAVJ,CAAA,uBAUI,UAVJ,CAAA,qBAUI,QAVJ,CAAA,yBAUI,cAAA,CAAA,iBAVJ,CAAA,2BAUI,cAVJ,CAAA,8BAUI,iBAVJ,CAAA,yBAUI,cAAA,CAAA,iBAVJ,CAAA,2BAUI,cAVJ,CAAA,8BAUI,iBAVJ,CAAA,wBAUI,iBAAA,CAAA,oBAVJ,CAAA,0BAUI,iBAVJ,CAAA,6BAUI,oBAVJ,CAAA,uBAUI,gBAAA,CAAA,mBAVJ,CAAA,yBAUI,gBAVJ,CAAA,4BAUI,mBAVJ,CAAA,yBAUI,iBAAA,CAAA,oBAVJ,CAAA,2BAUI,iBAVJ,CAAA,8BAUI,oBAVJ,CAAA,uBAUI,eAAA,CAAA,kBAVJ,CAAA,yBAUI,eAVJ,CAAA,4BAUI,kBAVJ,CAAA,yBAUI,kBAAA,CAAA,qBAVJ,CAAA,2BAUI,kBAVJ,CAAA,8BAUI,qBAVJ,CAAA,uBAUI,iBAAA,CAAA,oBAVJ,CAAA,yBAUI,iBAVJ,CAAA,4BAUI,oBAVJ,CAAA,6BAUI,eAAA,CAAA,kBAVJ,CAAA,+BAUI,eAVJ,CAAA,kCAUI,kBAVJ,CAAA,6BAUI,eAAA,CAAA,kBAVJ,CAAA,+BAUI,eAVJ,CAAA,kCAUI,kBAVJ,CAAA,4BAUI,kBAAA,CAAA,qBAVJ,CAAA,8BAUI,kBAVJ,CAAA,iCAUI,qBAVJ,CAAA,2BAUI,iBAAA,CAAA,oBAVJ,CAAA,6BAUI,iBAVJ,CAAA,gCAUI,oBAVJ,CAAA,6BAUI,kBAAA,CAAA,qBAVJ,CAAA,+BAUI,kBAVJ,CAAA,kCAUI,qBAVJ,CAAA,2BAUI,gBAAA,CAAA,mBAVJ,CAAA,6BAUI,gBAVJ,CAAA,gCAUI,mBAVJ,CAAA,6BAUI,mBAAA,CAAA,sBAVJ,CAAA,+BAUI,mBAVJ,CAAA,kCAUI,sBAVJ,CAAA,2BAUI,kBAAA,CAAA,qBAVJ,CAAA,6BAUI,kBAVJ,CAAA,gCAUI,qBAVJ,CAAA,2BAUI,gBAAA,CAAA,mBAVJ,CAAA,6BAUI,gBAVJ,CAAA,gCAUI,mBAVJ,CAAA,2BAUI,kBAAA,CAAA,qBAVJ,CAAA,6BAUI,kBAVJ,CAAA,gCAUI,qBAVJ,CAAA,2BAUI,gBAAA,CAAA,mBAVJ,CAAA,6BAUI,gBAVJ,CAAA,gCAUI,mBAVJ,CAAA,2BAUI,kBAAA,CAAA,qBAVJ,CAAA,6BAUI,kBAVJ,CAAA,gCAUI,qBAVJ,CAAA,2BAUI,gBAAA,CAAA,mBAVJ,CAAA,6BAUI,gBAVJ,CAAA,gCAUI,mBAVJ,CAAA,2BAUI,kBAAA,CAAA,qBAVJ,CAAA,6BAUI,kBAVJ,CAAA,gCAUI,qBAVJ,CAAA,4BAUI,gBAAA,CAAA,mBAVJ,CAAA,8BAUI,gBAVJ,CAAA,iCAUI,mBAVJ,CAAA,4BAUI,kBAAA,CAAA,qBAVJ,CAAA,8BAUI,kBAVJ,CAAA,iCAUI,qBAVJ,CAAA,uBAUI,eAAA,CAAA,kBAVJ,CAAA,yBAUI,eAVJ,CAAA,4BAUI,kBAVJ,CAAA,uBAUI,iBAAA,CAAA,oBAVJ,CAAA,yBAUI,iBAVJ,CAAA,4BAUI,oBAVJ,CAAA,uBAUI,eAAA,CAAA,kBAVJ,CAAA,yBAUI,eAVJ,CAAA,4BAUI,kBAVJ,CAAA,uBAUI,iBAAA,CAAA,oBAVJ,CAAA,yBAUI,iBAVJ,CAAA,4BAUI,oBAVJ,CAAA,uBAUI,eAAA,CAAA,kBAVJ,CAAA,yBAUI,eAVJ,CAAA,4BAUI,kBAVJ,CAAA,uBAUI,iBAAA,CAAA,oBAVJ,CAAA,yBAUI,iBAVJ,CAAA,4BAUI,oBAVJ,CAAA,wBAUI,eAAA,CAAA,kBAVJ,CAAA,0BAUI,eAVJ,CAAA,6BAUI,kBAVJ,CAAA,wBAUI,iBAAA,CAAA,oBAVJ,CAAA,0BAUI,iBAVJ,CAAA,6BAUI,oBAVJ,CAAA,0BAUI,eAAA,CAAA,kBAVJ,CAAA,4BAUI,eAVJ,CAAA,+BAUI,kBAVJ,CAAA,yBAUI,cAAA,CAAA,iBAVJ,CAAA,2BAUI,cAVJ,CAAA,8BAUI,iBAVJ,CAAA,2BAUI,gBAAA,CAAA,mBAVJ,CAAA,6BAUI,gBAVJ,CAAA,gCAUI,mBAVJ,CAAA,yBAUI,cAAA,CAAA,iBAVJ,CAAA,2BAUI,cAVJ,CAAA,8BAUI,iBAVJ,CAAA,uBAUI,YAAA,CAAA,eAVJ,CAAA,yBAUI,YAVJ,CAAA,4BAUI,eAVJ,CAAA,0BAUI,eAAA,CAAA,kBAVJ,CAAA,4BAUI,eAVJ,CAAA,+BAUI,kBAVJ,CAAA,yBAUI,eAAA,CAAA,gBAVJ,CAAA,6BAUI,gBAVJ,CAAA,4BAUI,eAVJ,CAAA,yBAUI,eAAA,CAAA,gBAVJ,CAAA,6BAUI,gBAVJ,CAAA,4BAUI,eAVJ,CAAA,wBAUI,kBAAA,CAAA,mBAVJ,CAAA,4BAUI,mBAVJ,CAAA,2BAUI,kBAVJ,CAAA,uBAUI,iBAAA,CAAA,kBAVJ,CAAA,2BAUI,kBAVJ,CAAA,0BAUI,iBAVJ,CAAA,yBAUI,kBAAA,CAAA,mBAVJ,CAAA,6BAUI,mBAVJ,CAAA,4BAUI,kBAVJ,CAAA,uBAUI,gBAAA,CAAA,iBAVJ,CAAA,2BAUI,iBAVJ,CAAA,0BAUI,gBAVJ,CAAA,yBAUI,mBAAA,CAAA,oBAVJ,CAAA,6BAUI,oBAVJ,CAAA,4BAUI,mBAVJ,CAAA,uBAUI,kBAAA,CAAA,mBAVJ,CAAA,2BAUI,mBAVJ,CAAA,0BAUI,kBAVJ,CAAA,6BAUI,gBAAA,CAAA,iBAVJ,CAAA,iCAUI,iBAVJ,CAAA,gCAUI,gBAVJ,CAAA,6BAUI,gBAAA,CAAA,iBAVJ,CAAA,iCAUI,iBAVJ,CAAA,gCAUI,gBAVJ,CAAA,4BAUI,mBAAA,CAAA,oBAVJ,CAAA,gCAUI,oBAVJ,CAAA,+BAUI,mBAVJ,CAAA,2BAUI,kBAAA,CAAA,mBAVJ,CAAA,+BAUI,mBAVJ,CAAA,8BAUI,kBAVJ,CAAA,6BAUI,mBAAA,CAAA,oBAVJ,CAAA,iCAUI,oBAVJ,CAAA,gCAUI,mBAVJ,CAAA,2BAUI,iBAAA,CAAA,kBAVJ,CAAA,+BAUI,kBAVJ,CAAA,8BAUI,iBAVJ,CAAA,6BAUI,oBAAA,CAAA,qBAVJ,CAAA,iCAUI,qBAVJ,CAAA,gCAUI,oBAVJ,CAAA,2BAUI,mBAAA,CAAA,oBAVJ,CAAA,+BAUI,oBAVJ,CAAA,8BAUI,mBAVJ,CAAA,2BAUI,iBAAA,CAAA,kBAVJ,CAAA,+BAUI,kBAVJ,CAAA,8BAUI,iBAVJ,CAAA,2BAUI,mBAAA,CAAA,oBAVJ,CAAA,+BAUI,oBAVJ,CAAA,8BAUI,mBAVJ,CAAA,2BAUI,iBAAA,CAAA,kBAVJ,CAAA,+BAUI,kBAVJ,CAAA,8BAUI,iBAVJ,CAAA,2BAUI,mBAAA,CAAA,oBAVJ,CAAA,+BAUI,oBAVJ,CAAA,8BAUI,mBAVJ,CAAA,2BAUI,iBAAA,CAAA,kBAVJ,CAAA,+BAUI,kBAVJ,CAAA,8BAUI,iBAVJ,CAAA,2BAUI,mBAAA,CAAA,oBAVJ,CAAA,+BAUI,oBAVJ,CAAA,8BAUI,mBAVJ,CAAA,4BAUI,iBAAA,CAAA,kBAVJ,CAAA,gCAUI,kBAVJ,CAAA,+BAUI,iBAVJ,CAAA,4BAUI,mBAAA,CAAA,oBAVJ,CAAA,gCAUI,oBAVJ,CAAA,+BAUI,mBAVJ,CAAA,uBAUI,gBAAA,CAAA,iBAVJ,CAAA,2BAUI,iBAVJ,CAAA,0BAUI,gBAVJ,CAAA,uBAUI,kBAAA,CAAA,mBAVJ,CAAA,2BAUI,mBAVJ,CAAA,0BAUI,kBAVJ,CAAA,uBAUI,gBAAA,CAAA,iBAVJ,CAAA,2BAUI,iBAVJ,CAAA,0BAUI,gBAVJ,CAAA,uBAUI,kBAAA,CAAA,mBAVJ,CAAA,2BAUI,mBAVJ,CAAA,0BAUI,kBAVJ,CAAA,uBAUI,gBAAA,CAAA,iBAVJ,CAAA,2BAUI,iBAVJ,CAAA,0BAUI,gBAVJ,CAAA,uBAUI,kBAAA,CAAA,mBAVJ,CAAA,2BAUI,mBAVJ,CAAA,0BAUI,kBAVJ,CAAA,wBAUI,gBAAA,CAAA,iBAVJ,CAAA,4BAUI,iBAVJ,CAAA,2BAUI,gBAVJ,CAAA,wBAUI,kBAAA,CAAA,mBAVJ,CAAA,4BAUI,mBAVJ,CAAA,2BAUI,kBAVJ,CAAA,0BAUI,iBAAA,CAAA,kBAVJ,CAAA,8BAUI,kBAVJ,CAAA,6BAUI,iBAVJ,CAAA,6BAUI,iBAAA,CAAA,kBAVJ,CAAA,iCAUI,kBAVJ,CAAA,gCAUI,iBAVJ,CAAA,4BAUI,iBAAA,CAAA,kBAVJ,CAAA,gCAUI,kBAVJ,CAAA,+BAUI,iBAVJ,CAAA,0BAUI,gBAAA,CAAA,iBAVJ,CAAA,8BAUI,iBAVJ,CAAA,6BAUI,gBAVJ,CAAA,yBAUI,eAAA,CAAA,gBAVJ,CAAA,6BAUI,gBAVJ,CAAA,4BAUI,eAVJ,CAAA,2BAUI,iBAAA,CAAA,kBAVJ,CAAA,+BAUI,kBAVJ,CAAA,8BAUI,iBAVJ,CAAA,yBAUI,eAAA,CAAA,gBAVJ,CAAA,6BAUI,gBAVJ,CAAA,4BAUI,eAVJ,CAAA,uBAUI,aAAA,CAAA,cAVJ,CAAA,2BAUI,cAVJ,CAAA,0BAUI,aAVJ,CAAA,0BAUI,gBAAA,CAAA,iBAVJ,CAAA,8BAUI,iBAVJ,CAAA,6BAUI,gBAVJ,CAAA,sBAUI,cAVJ,CAAA,sBAUI,cAVJ,CAAA,sBAUI,cAVJ,CAAA,sBAUI,cAVJ,CAAA,sBAUI,cAVJ,CAAA,sBAUI,cAVJ,CAAA,yBAUI,cAVJ,CAAA,wBAUI,QAVJ,CAAA,uBAUI,SAVJ,CAAA,0BAUI,aAVJ,CAAA,oBAUI,OAVJ,CAAA,oBAUI,OAVJ,CAAA,oBAUI,OAVJ,CAAA,oBAUI,OAVJ,CAAA,oBAUI,OAVJ,CAAA,oBAUI,OAVJ,CAAA,oBAUI,OAVJ,CAAA,oBAUI,OAVJ,CAAA,oBAUI,OAVJ,CAAA,oBAUI,OAVJ,CAAA,qBAUI,QAVJ,CAAA,qBAUI,QAVJ,CAAA,wBAUI,WAVJ,CAAA,0BAUI,eAAA,CAAA,kBAVJ,CAAA,0BAUI,gBAAA,CAAA,iBAVJ,CAAA,4BAUI,eAVJ,CAAA,8BAUI,iBAVJ,CAAA,+BAUI,kBAVJ,CAAA,6BAUI,gBAVJ,CAAA,wBAUI,WAVJ,CAAA,0BAUI,eAAA,CAAA,kBAVJ,CAAA,0BAUI,gBAAA,CAAA,iBAVJ,CAAA,4BAUI,eAVJ,CAAA,8BAUI,iBAVJ,CAAA,+BAUI,kBAVJ,CAAA,6BAUI,gBAVJ,CAAA,uBAUI,cAVJ,CAAA,yBAUI,kBAAA,CAAA,qBAVJ,CAAA,yBAUI,mBAAA,CAAA,oBAVJ,CAAA,2BAUI,kBAVJ,CAAA,6BAUI,oBAVJ,CAAA,8BAUI,qBAVJ,CAAA,4BAUI,mBAVJ,CAAA,sBAUI,aAVJ,CAAA,wBAUI,iBAAA,CAAA,oBAVJ,CAAA,wBAUI,kBAAA,CAAA,mBAVJ,CAAA,0BAUI,iBAVJ,CAAA,4BAUI,mBAVJ,CAAA,6BAUI,oBAVJ,CAAA,2BAUI,kBAVJ,CAAA,wBAUI,cAVJ,CAAA,0BAUI,kBAAA,CAAA,qBAVJ,CAAA,0BAUI,mBAAA,CAAA,oBAVJ,CAAA,4BAUI,kBAVJ,CAAA,8BAUI,oBAVJ,CAAA,+BAUI,qBAVJ,CAAA,6BAUI,mBAVJ,CAAA,sBAUI,YAVJ,CAAA,wBAUI,gBAAA,CAAA,mBAVJ,CAAA,wBAUI,iBAAA,CAAA,kBAVJ,CAAA,0BAUI,gBAVJ,CAAA,4BAUI,kBAVJ,CAAA,6BAUI,mBAVJ,CAAA,2BAUI,iBAVJ,CAAA,wBAUI,eAVJ,CAAA,0BAUI,mBAAA,CAAA,sBAVJ,CAAA,0BAUI,oBAAA,CAAA,qBAVJ,CAAA,4BAUI,mBAVJ,CAAA,8BAUI,qBAVJ,CAAA,+BAUI,sBAVJ,CAAA,6BAUI,oBAVJ,CAAA,sBAUI,cAVJ,CAAA,wBAUI,kBAAA,CAAA,qBAVJ,CAAA,wBAUI,mBAAA,CAAA,oBAVJ,CAAA,0BAUI,kBAVJ,CAAA,4BAUI,oBAVJ,CAAA,6BAUI,qBAVJ,CAAA,2BAUI,mBAVJ,CAAA,sBAUI,YAVJ,CAAA,wBAUI,gBAAA,CAAA,mBAVJ,CAAA,wBAUI,iBAAA,CAAA,kBAVJ,CAAA,0BAUI,gBAVJ,CAAA,4BAUI,kBAVJ,CAAA,6BAUI,mBAVJ,CAAA,2BAUI,iBAVJ,CAAA,sBAUI,cAVJ,CAAA,wBAUI,kBAAA,CAAA,qBAVJ,CAAA,wBAUI,mBAAA,CAAA,oBAVJ,CAAA,0BAUI,kBAVJ,CAAA,4BAUI,oBAVJ,CAAA,6BAUI,qBAVJ,CAAA,2BAUI,mBAVJ,CAAA,sBAUI,YAVJ,CAAA,wBAUI,gBAAA,CAAA,mBAVJ,CAAA,wBAUI,iBAAA,CAAA,kBAVJ,CAAA,0BAUI,gBAVJ,CAAA,4BAUI,kBAVJ,CAAA,6BAUI,mBAVJ,CAAA,2BAUI,iBAVJ,CAAA,sBAUI,cAVJ,CAAA,wBAUI,kBAAA,CAAA,qBAVJ,CAAA,wBAUI,mBAAA,CAAA,oBAVJ,CAAA,0BAUI,kBAVJ,CAAA,4BAUI,oBAVJ,CAAA,6BAUI,qBAVJ,CAAA,2BAUI,mBAVJ,CAAA,sBAUI,YAVJ,CAAA,wBAUI,gBAAA,CAAA,mBAVJ,CAAA,wBAUI,iBAAA,CAAA,kBAVJ,CAAA,0BAUI,gBAVJ,CAAA,4BAUI,kBAVJ,CAAA,6BAUI,mBAVJ,CAAA,2BAUI,iBAVJ,CAAA,sBAUI,cAVJ,CAAA,wBAUI,kBAAA,CAAA,qBAVJ,CAAA,wBAUI,mBAAA,CAAA,oBAVJ,CAAA,0BAUI,kBAVJ,CAAA,4BAUI,oBAVJ,CAAA,6BAUI,qBAVJ,CAAA,2BAUI,mBAVJ,CAAA,uBAUI,YAVJ,CAAA,yBAUI,gBAAA,CAAA,mBAVJ,CAAA,yBAUI,iBAAA,CAAA,kBAVJ,CAAA,2BAUI,gBAVJ,CAAA,6BAUI,kBAVJ,CAAA,8BAUI,mBAVJ,CAAA,4BAUI,iBAVJ,CAAA,uBAUI,cAVJ,CAAA,yBAUI,kBAAA,CAAA,qBAVJ,CAAA,yBAUI,mBAAA,CAAA,oBAVJ,CAAA,2BAUI,kBAVJ,CAAA,6BAUI,oBAVJ,CAAA,8BAUI,qBAVJ,CAAA,4BAUI,mBAVJ,CAAA,sBAUI,SAVJ,CAAA,wBAUI,aAAA,CAAA,gBAVJ,CAAA,wBAUI,cAAA,CAAA,eAVJ,CAAA,0BAUI,aAVJ,CAAA,4BAUI,eAVJ,CAAA,6BAUI,gBAVJ,CAAA,2BAUI,cAVJ,CAAA,sBAUI,SAVJ,CAAA,sBAUI,SAVJ,CAAA,qBAUI,YAVJ,CAAA,oBAUI,WAVJ,CAAA,sBAUI,YAVJ,CAAA,oBAUI,UAVJ,CAAA,sBAUI,aAVJ,CAAA,oBAUI,YAVJ,CAAA,oBAUI,UAVJ,CAAA,oBAUI,YAVJ,CAAA,oBAUI,UAVJ,CAAA,oBAUI,YAVJ,CAAA,oBAUI,UAVJ,CAAA,oBAUI,YAVJ,CAAA,qBAUI,UAVJ,CAAA,qBAUI,YAVJ,CAAA,uBAUI,WAVJ,CAAA,0BAUI,WAVJ,CAAA,yBAUI,WAVJ,CAAA,4BAUI,WAVJ,CAAA,yBAUI,WAVJ,CAAA,4BAUI,WAVJ,CAAA,0BAUI,WAVJ,CAAA,6BAUI,WAVJ,CAAA,6BAUI,aAVJ,CAAA,oBAUI,OAVJ,CAAA,uBAUI,UAVJ,CAAA,uBAUI,UhHvEF,CAAA,CAAA,gCgH6DF,qDAUI,gBAvDJ,CA6CA,yDAUI,oBAAA,CAAA,uBAvDJ,CA6CA,yDAUI,qBAAA,CAAA,sBAvDJ,CA6CA,6DAUI,oBAvDJ,CA6CA,iEAUI,sBAvDJ,CA6CA,mEAUI,uBAvDJ,CA6CA,+DAUI,qBAvDJ,CA6CA,qDAUI,gBAvDJ,CA6CA,yDAUI,oBAAA,CAAA,uBAvDJ,CA6CA,yDAUI,qBAAA,CAAA,sBAvDJ,CA6CA,6DAUI,oBAvDJ,CA6CA,iEAUI,sBAvDJ,CA6CA,mEAUI,uBAvDJ,CA6CA,+DAUI,qBAvDJ,CA6CA,mDAUI,mBAvDJ,CA6CA,uDAUI,uBAAA,CAAA,0BAvDJ,CA6CA,uDAUI,wBAAA,CAAA,yBAvDJ,CA6CA,2DAUI,uBAvDJ,CA6CA,+DAUI,yBAvDJ,CA6CA,iEAUI,0BAvDJ,CA6CA,6DAUI,wBAvDJ,CA6CA,iDAUI,kBAvDJ,CA6CA,qDAUI,sBAAA,CAAA,yBAvDJ,CA6CA,qDAUI,uBAAA,CAAA,wBAvDJ,CA6CA,yDAUI,sBAvDJ,CA6CA,6DAUI,wBAvDJ,CA6CA,+DAUI,yBAvDJ,CA6CA,2DAUI,uBAvDJ,CA6CA,qDAUI,mBAvDJ,CA6CA,yDAUI,uBAAA,CAAA,0BAvDJ,CA6CA,yDAUI,wBAAA,CAAA,yBAvDJ,CA6CA,6DAUI,uBAvDJ,CA6CA,iEAUI,yBAvDJ,CA6CA,mEAUI,0BAvDJ,CA6CA,+DAUI,wBAvDJ,CA6CA,iDAUI,iBAvDJ,CA6CA,qDAUI,qBAAA,CAAA,wBAvDJ,CA6CA,qDAUI,sBAAA,CAAA,uBAvDJ,CA6CA,yDAUI,qBAvDJ,CA6CA,6DAUI,uBAvDJ,CA6CA,+DAUI,wBAvDJ,CA6CA,2DAUI,sBAvDJ,CA6CA,qDAUI,oBAvDJ,CA6CA,yDAUI,wBAAA,CAAA,2BAvDJ,CA6CA,yDAUI,yBAAA,CAAA,0BAvDJ,CA6CA,6DAUI,wBAvDJ,CA6CA,iEAUI,0BAvDJ,CA6CA,mEAUI,2BAvDJ,CA6CA,+DAUI,yBAvDJ,CA6CA,iDAUI,mBAvDJ,CA6CA,qDAUI,uBAAA,CAAA,0BAvDJ,CA6CA,qDAUI,wBAAA,CAAA,yBAvDJ,CA6CA,yDAUI,uBAvDJ,CA6CA,6DAUI,yBAvDJ,CA6CA,+DAUI,0BAvDJ,CA6CA,2DAUI,wBAvDJ,CA6CA,iDAUI,cAvDJ,CA6CA,qDAUI,kBAAA,CAAA,qBAvDJ,CA6CA,qDAUI,mBAAA,CAAA,oBAvDJ,CA6CA,yDAUI,kBAvDJ,CA6CA,6DAUI,oBAvDJ,CA6CA,+DAUI,qBAvDJ,CA6CA,2DAUI,mBAvDJ,CA6CA,6CAUI,gBAvDJ,CA6CA,iDAUI,oBAAA,CAAA,uBAvDJ,CA6CA,iDAUI,qBAAA,CAAA,sBAvDJ,CA6CA,qDAUI,oBAvDJ,CA6CA,yDAUI,sBAvDJ,CA6CA,2DAUI,uBAvDJ,CA6CA,uDAUI,qBAvDJ,CA6CA,qEAUI,wBAvDJ,CA6CA,yDAUI,iBAvDJ,CA6CA,yDAUI,iBAvDJ,CA6CA,qDAUI,oBAvDJ,CA6CA,2DAUI,oBAvDJ,CA6CA,uDAUI,oBAvDJ,CA6CA,2DAUI,oBAvDJ,CA6CA,yDAUI,oBAvDJ,CA6CA,uDAUI,oBAvDJ,CA6CA,uDAUI,oBAvDJ,CA6CA,uDAUI,oBAvDJ,CA6CA,2DAUI,oBAvDJ,CA6CA,2DAUI,oBAvDJ,CA6CA,6DAUI,oBAvDJ,CA6CA,2DAUI,oBAvDJ,CA6CA,6DAUI,oBAvDJ,CA6CA,6DAUI,oBAvDJ,CA6CA,6DAUI,oBAvDJ,CA6CA,6DAUI,oBAvDJ,CA6CA,6DAUI,oBAvDJ,CA6CA,yEAUI,oBAvDJ,CA6CA,uEAUI,oBAvDJ,CA6CA,mEAUI,oBAvDJ,CA6CA,uDAUI,oBAvDJ,CA6CA,iEAUI,oBAvDJ,CA6CA,qEAUI,oBAvDJ,CA6CA,4HAUI,oBAvDJ,CA6CA,6EAUI,oBAvDJ,CA6CA,yEAUI,oBAvDJ,CA6CA,6DAUI,oBAvDJ,CA6CA,yEAUI,oBAvDJ,CA6CA,uEAUI,oBAvDJ,CA6CA,2EAUI,oBAvDJ,CA6CA,iFAUI,oBAvDJ,CA6CA,6EAUI,oBAvDJ,CA6CA,iEAUI,oBAvDJ,CA6CA,6EAUI,oBAvDJ,CA6CA,2EAUI,oBAvDJ,CA6CA,+EAUI,oBAvDJ,CA6CA,mFAUI,oBAvDJ,CA6CA,+EAUI,oBAvDJ,CA6CA,qEAUI,oBAvDJ,CA6CA,iFAUI,oBAvDJ,CA6CA,qFAUI,oBAvDJ,CA6CA,mFAUI,oBAvDJ,CA6CA,+EAUI,oBAvDJ,CA6CA,qEAUI,oBAvDJ,CA6CA,iFAUI,oBAvDJ,CA6CA,qFAUI,oBAvDJ,CA6CA,yEAUI,oBAvDJ,CA6CA,qEAUI,oBAvDJ,CA6CA,yDAUI,oBAvDJ,CA6CA,mEAUI,oBAvDJ,CA6CA,uEAUI,oBAvDJ,CA6CA,6EAUI,oBAvDJ,CA6CA,yEAUI,oBAvDJ,CA6CA,6DAUI,oBAvDJ,CA6CA,uEAUI,oBAvDJ,CA6CA,2EAUI,oBAvDJ,CA6CA,6EAUI,oBAvDJ,CA6CA,yEAUI,oBAvDJ,CA6CA,6DAUI,oBAvDJ,CA6CA,uEAUI,oBAvDJ,CA6CA,2EAUI,oBAvDJ,CA6CA,uEAUI,oBAvDJ,CA6CA,mEAUI,oBAvDJ,CA6CA,uDAUI,oBAvDJ,CA6CA,iEAUI,oBAvDJ,CA6CA,qEAUI,oBAvDJ,CA6CA,+EAUI,oBAvDJ,CA6CA,2EAUI,oBAvDJ,CA6CA,+DAUI,oBAvDJ,CA6CA,yEAUI,oBAvDJ,CA6CA,6EAUI,oBAvDJ,CA6CA,iEAUI,oBAvDJ,CA6CA,2EAUI,oBAvDJ,CA6CA,kBAUI,eAVJ,CAAA,sBAUI,wBAAA,CAAA,yBAVJ,CAAA,wBAUI,yBAAA,CAAA,4BAVJ,CAAA,yBAUI,2BAAA,CAAA,4BAVJ,CAAA,uBAUI,wBAAA,CAAA,2BAVJ,CAAA,mBAUI,iBAVJ,CAAA,uBAUI,0BAAA,CAAA,2BAVJ,CAAA,yBAUI,2BAAA,CAAA,8BAVJ,CAAA,0BAUI,6BAAA,CAAA,8BAVJ,CAAA,wBAUI,0BAAA,CAAA,6BAVJ,CAAA,mBAUI,oBAVJ,CAAA,uBAUI,6BAAA,CAAA,8BAVJ,CAAA,yBAUI,8BAAA,CAAA,iCAVJ,CAAA,0BAUI,gCAAA,CAAA,iCAVJ,CAAA,wBAUI,6BAAA,CAAA,gCAVJ,CAAA,mBAUI,mBAVJ,CAAA,uBAUI,4BAAA,CAAA,6BAVJ,CAAA,yBAUI,6BAAA,CAAA,gCAVJ,CAAA,0BAUI,+BAAA,CAAA,gCAVJ,CAAA,wBAUI,4BAAA,CAAA,+BAVJ,CAAA,qBAUI,mBAVJ,CAAA,yBAUI,4BAAA,CAAA,6BAVJ,CAAA,2BAUI,6BAAA,CAAA,gCAVJ,CAAA,4BAUI,+BAAA,CAAA,gCAVJ,CAAA,0BAUI,4BAAA,CAAA,+BAVJ,CAAA,uBAUI,aAVJ,CAAA,sBAUI,YAVJ,CAAA,sBAUI,YAVJ,CAAA,wBAUI,cAVJ,CAAA,8BAUI,oBAVJ,CAAA,6BAUI,mBAVJ,CAAA,uBAUI,aAVJ,CAAA,4BAUI,kBAVJ,CAAA,2BAUI,iBAVJ,CAAA,uBAUI,gBAVJ,CAAA,uBAUI,gBAVJ,CAAA,sBAUI,gBAVJ,CAAA,sBAUI,gBAVJ,CAAA,sBAUI,iBAVJ,CAAA,sBAUI,iBAVJ,CAAA,sBAUI,iBAVJ,CAAA,uBAUI,iBAVJ,CAAA,uBAUI,iBAVJ,CAAA,uBAUI,gBAVJ,CAAA,uBAUI,gBAVJ,CAAA,sBAUI,cAVJ,CAAA,sBAUI,iBAVJ,CAAA,sBAUI,iBAVJ,CAAA,sBAUI,iBAVJ,CAAA,sBAUI,iBAVJ,CAAA,uBAUI,iBAVJ,CAAA,uBAUI,iBAVJ,CAAA,wBAUI,gBAVJ,CAAA,wBAUI,gBAVJ,CAAA,uBAUI,gBAVJ,CAAA,uBAUI,gBAVJ,CAAA,uBAUI,iBAVJ,CAAA,uBAUI,iBAVJ,CAAA,uBAUI,iBAVJ,CAAA,wBAUI,iBAVJ,CAAA,wBAUI,iBAVJ,CAAA,0BAUI,gBAVJ,CAAA,0BAUI,gBAVJ,CAAA,yBAUI,gBAVJ,CAAA,yBAUI,gBAVJ,CAAA,yBAUI,iBAVJ,CAAA,yBAUI,iBAVJ,CAAA,yBAUI,iBAVJ,CAAA,0BAUI,iBAVJ,CAAA,0BAUI,iBAVJ,CAAA,uBAUI,gBAVJ,CAAA,uBAUI,gBAVJ,CAAA,sBAUI,cAVJ,CAAA,sBAUI,iBAVJ,CAAA,sBAUI,iBAVJ,CAAA,sBAUI,iBAVJ,CAAA,sBAUI,iBAVJ,CAAA,uBAUI,iBAVJ,CAAA,uBAUI,iBAVJ,CAAA,uBAUI,gBAVJ,CAAA,uBAUI,gBAVJ,CAAA,sBAUI,gBAVJ,CAAA,sBAUI,gBAVJ,CAAA,sBAUI,iBAVJ,CAAA,sBAUI,iBAVJ,CAAA,sBAUI,iBAVJ,CAAA,uBAUI,iBAVJ,CAAA,uBAUI,iBAVJ,CAAA,sBAUI,gBAVJ,CAAA,sBAUI,gBAVJ,CAAA,qBAUI,gBAVJ,CAAA,qBAUI,gBAVJ,CAAA,qBAUI,iBAVJ,CAAA,qBAUI,iBAVJ,CAAA,qBAUI,iBAVJ,CAAA,sBAUI,iBAVJ,CAAA,sBAUI,iBAVJ,CAAA,qBAUI,gBAVJ,CAAA,qBAUI,gBAVJ,CAAA,oBAUI,cAVJ,CAAA,oBAUI,iBAVJ,CAAA,oBAUI,iBAVJ,CAAA,oBAUI,iBAVJ,CAAA,oBAUI,iBAVJ,CAAA,qBAUI,iBAVJ,CAAA,qBAUI,iBAVJ,CAAA,oBAUI,eAVJ,CAAA,qBAUI,eAVJ,CAAA,mBAUI,eAVJ,CAAA,6BAUI,sBAVJ,CAAA,4BAUI,0BAVJ,CAAA,0BAUI,wBAVJ,CAAA,sBAUI,6BAVJ,CAAA,4BAUI,cAVJ,CAAA,4BAUI,eAVJ,CAAA,4BAUI,eAVJ,CAAA,4BAUI,eAVJ,CAAA,4BAUI,eAVJ,CAAA,4BAUI,eAVJ,CAAA,6BAUI,aAVJ,CAAA,6BAUI,eAVJ,CAAA,6BAUI,eAVJ,CAAA,6BAUI,eAVJ,CAAA,6BAUI,eAVJ,CAAA,6BAUI,eAVJ,CAAA,4BAUI,aAVJ,CAAA,4BAUI,eAVJ,CAAA,4BAUI,eAVJ,CAAA,4BAUI,eAVJ,CAAA,4BAUI,eAVJ,CAAA,4BAUI,eAVJ,CAAA,+BAUI,aAVJ,CAAA,+BAUI,eAVJ,CAAA,+BAUI,eAVJ,CAAA,+BAUI,eAVJ,CAAA,+BAUI,eAVJ,CAAA,+BAUI,eAVJ,CAAA,0BAUI,cAVJ,CAAA,0BAUI,eAVJ,CAAA,0BAUI,eAVJ,CAAA,0BAUI,eAVJ,CAAA,0BAUI,eAVJ,CAAA,0BAUI,eAVJ,CAAA,4BAUI,cAVJ,CAAA,4BAUI,eAVJ,CAAA,4BAUI,eAVJ,CAAA,4BAUI,eAVJ,CAAA,4BAUI,eAVJ,CAAA,4BAUI,eAVJ,CAAA,4BAUI,aAVJ,CAAA,4BAUI,eAVJ,CAAA,4BAUI,eAVJ,CAAA,4BAUI,eAVJ,CAAA,4BAUI,eAVJ,CAAA,4BAUI,eAVJ,CAAA,2BAUI,aAVJ,CAAA,2BAUI,eAVJ,CAAA,2BAUI,eAVJ,CAAA,2BAUI,eAVJ,CAAA,2BAUI,eAVJ,CAAA,2BAUI,eAVJ,CAAA,wBAUI,WAVJ,CAAA,wBAUI,WAVJ,CAAA,uBAUI,cAVJ,CAAA,sBAUI,aAVJ,CAAA,wBAUI,cAVJ,CAAA,sBAUI,YAVJ,CAAA,wBAUI,eAVJ,CAAA,sBAUI,cAVJ,CAAA,oBAUI,UAVJ,CAAA,oBAUI,UAVJ,CAAA,mBAUI,aAVJ,CAAA,kBAUI,YAVJ,CAAA,oBAUI,aAVJ,CAAA,kBAUI,WAVJ,CAAA,oBAUI,cAVJ,CAAA,kBAUI,aAVJ,CAAA,sBAUI,YAVJ,CAAA,sBAUI,cAVJ,CAAA,sBAUI,YAVJ,CAAA,sBAUI,cAVJ,CAAA,sBAUI,YAVJ,CAAA,sBAUI,cAVJ,CAAA,uBAUI,YAVJ,CAAA,uBAUI,cAVJ,CAAA,kBAUI,WAVJ,CAAA,kBAUI,aAVJ,CAAA,kBAUI,WAVJ,CAAA,kBAUI,aAVJ,CAAA,kBAUI,WAVJ,CAAA,kBAUI,aAVJ,CAAA,mBAUI,WAVJ,CAAA,mBAUI,aAVJ,CAAA,qBAUI,WAVJ,CAAA,oBAUI,UAVJ,CAAA,sBAUI,YAVJ,CAAA,oBAUI,UAVJ,CAAA,kBAUI,QAVJ,CAAA,sBAUI,cAAA,CAAA,iBAVJ,CAAA,wBAUI,cAVJ,CAAA,2BAUI,iBAVJ,CAAA,sBAUI,cAAA,CAAA,iBAVJ,CAAA,wBAUI,cAVJ,CAAA,2BAUI,iBAVJ,CAAA,qBAUI,iBAAA,CAAA,oBAVJ,CAAA,uBAUI,iBAVJ,CAAA,0BAUI,oBAVJ,CAAA,oBAUI,gBAAA,CAAA,mBAVJ,CAAA,sBAUI,gBAVJ,CAAA,yBAUI,mBAVJ,CAAA,sBAUI,iBAAA,CAAA,oBAVJ,CAAA,wBAUI,iBAVJ,CAAA,2BAUI,oBAVJ,CAAA,oBAUI,eAAA,CAAA,kBAVJ,CAAA,sBAUI,eAVJ,CAAA,yBAUI,kBAVJ,CAAA,sBAUI,kBAAA,CAAA,qBAVJ,CAAA,wBAUI,kBAVJ,CAAA,2BAUI,qBAVJ,CAAA,oBAUI,iBAAA,CAAA,oBAVJ,CAAA,sBAUI,iBAVJ,CAAA,yBAUI,oBAVJ,CAAA,0BAUI,eAAA,CAAA,kBAVJ,CAAA,4BAUI,eAVJ,CAAA,+BAUI,kBAVJ,CAAA,0BAUI,eAAA,CAAA,kBAVJ,CAAA,4BAUI,eAVJ,CAAA,+BAUI,kBAVJ,CAAA,yBAUI,kBAAA,CAAA,qBAVJ,CAAA,2BAUI,kBAVJ,CAAA,8BAUI,qBAVJ,CAAA,wBAUI,iBAAA,CAAA,oBAVJ,CAAA,0BAUI,iBAVJ,CAAA,6BAUI,oBAVJ,CAAA,0BAUI,kBAAA,CAAA,qBAVJ,CAAA,4BAUI,kBAVJ,CAAA,+BAUI,qBAVJ,CAAA,wBAUI,gBAAA,CAAA,mBAVJ,CAAA,0BAUI,gBAVJ,CAAA,6BAUI,mBAVJ,CAAA,0BAUI,mBAAA,CAAA,sBAVJ,CAAA,4BAUI,mBAVJ,CAAA,+BAUI,sBAVJ,CAAA,wBAUI,kBAAA,CAAA,qBAVJ,CAAA,0BAUI,kBAVJ,CAAA,6BAUI,qBAVJ,CAAA,wBAUI,gBAAA,CAAA,mBAVJ,CAAA,0BAUI,gBAVJ,CAAA,6BAUI,mBAVJ,CAAA,wBAUI,kBAAA,CAAA,qBAVJ,CAAA,0BAUI,kBAVJ,CAAA,6BAUI,qBAVJ,CAAA,wBAUI,gBAAA,CAAA,mBAVJ,CAAA,0BAUI,gBAVJ,CAAA,6BAUI,mBAVJ,CAAA,wBAUI,kBAAA,CAAA,qBAVJ,CAAA,0BAUI,kBAVJ,CAAA,6BAUI,qBAVJ,CAAA,wBAUI,gBAAA,CAAA,mBAVJ,CAAA,0BAUI,gBAVJ,CAAA,6BAUI,mBAVJ,CAAA,wBAUI,kBAAA,CAAA,qBAVJ,CAAA,0BAUI,kBAVJ,CAAA,6BAUI,qBAVJ,CAAA,yBAUI,gBAAA,CAAA,mBAVJ,CAAA,2BAUI,gBAVJ,CAAA,8BAUI,mBAVJ,CAAA,yBAUI,kBAAA,CAAA,qBAVJ,CAAA,2BAUI,kBAVJ,CAAA,8BAUI,qBAVJ,CAAA,oBAUI,eAAA,CAAA,kBAVJ,CAAA,sBAUI,eAVJ,CAAA,yBAUI,kBAVJ,CAAA,oBAUI,iBAAA,CAAA,oBAVJ,CAAA,sBAUI,iBAVJ,CAAA,yBAUI,oBAVJ,CAAA,oBAUI,eAAA,CAAA,kBAVJ,CAAA,sBAUI,eAVJ,CAAA,yBAUI,kBAVJ,CAAA,oBAUI,iBAAA,CAAA,oBAVJ,CAAA,sBAUI,iBAVJ,CAAA,yBAUI,oBAVJ,CAAA,oBAUI,eAAA,CAAA,kBAVJ,CAAA,sBAUI,eAVJ,CAAA,yBAUI,kBAVJ,CAAA,oBAUI,iBAAA,CAAA,oBAVJ,CAAA,sBAUI,iBAVJ,CAAA,yBAUI,oBAVJ,CAAA,qBAUI,eAAA,CAAA,kBAVJ,CAAA,uBAUI,eAVJ,CAAA,0BAUI,kBAVJ,CAAA,qBAUI,iBAAA,CAAA,oBAVJ,CAAA,uBAUI,iBAVJ,CAAA,0BAUI,oBAVJ,CAAA,uBAUI,eAAA,CAAA,kBAVJ,CAAA,yBAUI,eAVJ,CAAA,4BAUI,kBAVJ,CAAA,sBAUI,cAAA,CAAA,iBAVJ,CAAA,wBAUI,cAVJ,CAAA,2BAUI,iBAVJ,CAAA,wBAUI,gBAAA,CAAA,mBAVJ,CAAA,0BAUI,gBAVJ,CAAA,6BAUI,mBAVJ,CAAA,sBAUI,cAAA,CAAA,iBAVJ,CAAA,wBAUI,cAVJ,CAAA,2BAUI,iBAVJ,CAAA,oBAUI,YAAA,CAAA,eAVJ,CAAA,sBAUI,YAVJ,CAAA,yBAUI,eAVJ,CAAA,uBAUI,eAAA,CAAA,kBAVJ,CAAA,yBAUI,eAVJ,CAAA,4BAUI,kBAVJ,CAAA,sBAUI,eAAA,CAAA,gBAVJ,CAAA,0BAUI,gBAVJ,CAAA,yBAUI,eAVJ,CAAA,sBAUI,eAAA,CAAA,gBAVJ,CAAA,0BAUI,gBAVJ,CAAA,yBAUI,eAVJ,CAAA,qBAUI,kBAAA,CAAA,mBAVJ,CAAA,yBAUI,mBAVJ,CAAA,wBAUI,kBAVJ,CAAA,oBAUI,iBAAA,CAAA,kBAVJ,CAAA,wBAUI,kBAVJ,CAAA,uBAUI,iBAVJ,CAAA,sBAUI,kBAAA,CAAA,mBAVJ,CAAA,0BAUI,mBAVJ,CAAA,yBAUI,kBAVJ,CAAA,oBAUI,gBAAA,CAAA,iBAVJ,CAAA,wBAUI,iBAVJ,CAAA,uBAUI,gBAVJ,CAAA,sBAUI,mBAAA,CAAA,oBAVJ,CAAA,0BAUI,oBAVJ,CAAA,yBAUI,mBAVJ,CAAA,oBAUI,kBAAA,CAAA,mBAVJ,CAAA,wBAUI,mBAVJ,CAAA,uBAUI,kBAVJ,CAAA,0BAUI,gBAAA,CAAA,iBAVJ,CAAA,8BAUI,iBAVJ,CAAA,6BAUI,gBAVJ,CAAA,0BAUI,gBAAA,CAAA,iBAVJ,CAAA,8BAUI,iBAVJ,CAAA,6BAUI,gBAVJ,CAAA,yBAUI,mBAAA,CAAA,oBAVJ,CAAA,6BAUI,oBAVJ,CAAA,4BAUI,mBAVJ,CAAA,wBAUI,kBAAA,CAAA,mBAVJ,CAAA,4BAUI,mBAVJ,CAAA,2BAUI,kBAVJ,CAAA,0BAUI,mBAAA,CAAA,oBAVJ,CAAA,8BAUI,oBAVJ,CAAA,6BAUI,mBAVJ,CAAA,wBAUI,iBAAA,CAAA,kBAVJ,CAAA,4BAUI,kBAVJ,CAAA,2BAUI,iBAVJ,CAAA,0BAUI,oBAAA,CAAA,qBAVJ,CAAA,8BAUI,qBAVJ,CAAA,6BAUI,oBAVJ,CAAA,wBAUI,mBAAA,CAAA,oBAVJ,CAAA,4BAUI,oBAVJ,CAAA,2BAUI,mBAVJ,CAAA,wBAUI,iBAAA,CAAA,kBAVJ,CAAA,4BAUI,kBAVJ,CAAA,2BAUI,iBAVJ,CAAA,wBAUI,mBAAA,CAAA,oBAVJ,CAAA,4BAUI,oBAVJ,CAAA,2BAUI,mBAVJ,CAAA,wBAUI,iBAAA,CAAA,kBAVJ,CAAA,4BAUI,kBAVJ,CAAA,2BAUI,iBAVJ,CAAA,wBAUI,mBAAA,CAAA,oBAVJ,CAAA,4BAUI,oBAVJ,CAAA,2BAUI,mBAVJ,CAAA,wBAUI,iBAAA,CAAA,kBAVJ,CAAA,4BAUI,kBAVJ,CAAA,2BAUI,iBAVJ,CAAA,wBAUI,mBAAA,CAAA,oBAVJ,CAAA,4BAUI,oBAVJ,CAAA,2BAUI,mBAVJ,CAAA,yBAUI,iBAAA,CAAA,kBAVJ,CAAA,6BAUI,kBAVJ,CAAA,4BAUI,iBAVJ,CAAA,yBAUI,mBAAA,CAAA,oBAVJ,CAAA,6BAUI,oBAVJ,CAAA,4BAUI,mBAVJ,CAAA,oBAUI,gBAAA,CAAA,iBAVJ,CAAA,wBAUI,iBAVJ,CAAA,uBAUI,gBAVJ,CAAA,oBAUI,kBAAA,CAAA,mBAVJ,CAAA,wBAUI,mBAVJ,CAAA,uBAUI,kBAVJ,CAAA,oBAUI,gBAAA,CAAA,iBAVJ,CAAA,wBAUI,iBAVJ,CAAA,uBAUI,gBAVJ,CAAA,oBAUI,kBAAA,CAAA,mBAVJ,CAAA,wBAUI,mBAVJ,CAAA,uBAUI,kBAVJ,CAAA,oBAUI,gBAAA,CAAA,iBAVJ,CAAA,wBAUI,iBAVJ,CAAA,uBAUI,gBAVJ,CAAA,oBAUI,kBAAA,CAAA,mBAVJ,CAAA,wBAUI,mBAVJ,CAAA,uBAUI,kBAVJ,CAAA,qBAUI,gBAAA,CAAA,iBAVJ,CAAA,yBAUI,iBAVJ,CAAA,wBAUI,gBAVJ,CAAA,qBAUI,kBAAA,CAAA,mBAVJ,CAAA,yBAUI,mBAVJ,CAAA,wBAUI,kBAVJ,CAAA,uBAUI,iBAAA,CAAA,kBAVJ,CAAA,2BAUI,kBAVJ,CAAA,0BAUI,iBAVJ,CAAA,0BAUI,iBAAA,CAAA,kBAVJ,CAAA,8BAUI,kBAVJ,CAAA,6BAUI,iBAVJ,CAAA,yBAUI,iBAAA,CAAA,kBAVJ,CAAA,6BAUI,kBAVJ,CAAA,4BAUI,iBAVJ,CAAA,uBAUI,gBAAA,CAAA,iBAVJ,CAAA,2BAUI,iBAVJ,CAAA,0BAUI,gBAVJ,CAAA,sBAUI,eAAA,CAAA,gBAVJ,CAAA,0BAUI,gBAVJ,CAAA,yBAUI,eAVJ,CAAA,wBAUI,iBAAA,CAAA,kBAVJ,CAAA,4BAUI,kBAVJ,CAAA,2BAUI,iBAVJ,CAAA,sBAUI,eAAA,CAAA,gBAVJ,CAAA,0BAUI,gBAVJ,CAAA,yBAUI,eAVJ,CAAA,oBAUI,aAAA,CAAA,cAVJ,CAAA,wBAUI,cAVJ,CAAA,uBAUI,aAVJ,CAAA,uBAUI,gBAAA,CAAA,iBAVJ,CAAA,2BAUI,iBAVJ,CAAA,0BAUI,gBAVJ,CAAA,mBAUI,cAVJ,CAAA,mBAUI,cAVJ,CAAA,mBAUI,cAVJ,CAAA,mBAUI,cAVJ,CAAA,mBAUI,cAVJ,CAAA,mBAUI,cAVJ,CAAA,sBAUI,cAVJ,CAAA,qBAUI,QAVJ,CAAA,oBAUI,SAVJ,CAAA,uBAUI,aAVJ,CAAA,iBAUI,OAVJ,CAAA,iBAUI,OAVJ,CAAA,iBAUI,OAVJ,CAAA,iBAUI,OAVJ,CAAA,iBAUI,OAVJ,CAAA,iBAUI,OAVJ,CAAA,iBAUI,OAVJ,CAAA,iBAUI,OAVJ,CAAA,iBAUI,OAVJ,CAAA,iBAUI,OAVJ,CAAA,kBAUI,QAVJ,CAAA,kBAUI,QAVJ,CAAA,qBAUI,WAVJ,CAAA,uBAUI,eAAA,CAAA,kBAVJ,CAAA,uBAUI,gBAAA,CAAA,iBAVJ,CAAA,yBAUI,eAVJ,CAAA,2BAUI,iBAVJ,CAAA,4BAUI,kBAVJ,CAAA,0BAUI,gBAVJ,CAAA,qBAUI,WAVJ,CAAA,uBAUI,eAAA,CAAA,kBAVJ,CAAA,uBAUI,gBAAA,CAAA,iBAVJ,CAAA,yBAUI,eAVJ,CAAA,2BAUI,iBAVJ,CAAA,4BAUI,kBAVJ,CAAA,0BAUI,gBAVJ,CAAA,oBAUI,cAVJ,CAAA,sBAUI,kBAAA,CAAA,qBAVJ,CAAA,sBAUI,mBAAA,CAAA,oBAVJ,CAAA,wBAUI,kBAVJ,CAAA,0BAUI,oBAVJ,CAAA,2BAUI,qBAVJ,CAAA,yBAUI,mBAVJ,CAAA,mBAUI,aAVJ,CAAA,qBAUI,iBAAA,CAAA,oBAVJ,CAAA,qBAUI,kBAAA,CAAA,mBAVJ,CAAA,uBAUI,iBAVJ,CAAA,yBAUI,mBAVJ,CAAA,0BAUI,oBAVJ,CAAA,wBAUI,kBAVJ,CAAA,qBAUI,cAVJ,CAAA,uBAUI,kBAAA,CAAA,qBAVJ,CAAA,uBAUI,mBAAA,CAAA,oBAVJ,CAAA,yBAUI,kBAVJ,CAAA,2BAUI,oBAVJ,CAAA,4BAUI,qBAVJ,CAAA,0BAUI,mBAVJ,CAAA,mBAUI,YAVJ,CAAA,qBAUI,gBAAA,CAAA,mBAVJ,CAAA,qBAUI,iBAAA,CAAA,kBAVJ,CAAA,uBAUI,gBAVJ,CAAA,yBAUI,kBAVJ,CAAA,0BAUI,mBAVJ,CAAA,wBAUI,iBAVJ,CAAA,qBAUI,eAVJ,CAAA,uBAUI,mBAAA,CAAA,sBAVJ,CAAA,uBAUI,oBAAA,CAAA,qBAVJ,CAAA,yBAUI,mBAVJ,CAAA,2BAUI,qBAVJ,CAAA,4BAUI,sBAVJ,CAAA,0BAUI,oBAVJ,CAAA,mBAUI,cAVJ,CAAA,qBAUI,kBAAA,CAAA,qBAVJ,CAAA,qBAUI,mBAAA,CAAA,oBAVJ,CAAA,uBAUI,kBAVJ,CAAA,yBAUI,oBAVJ,CAAA,0BAUI,qBAVJ,CAAA,wBAUI,mBAVJ,CAAA,mBAUI,YAVJ,CAAA,qBAUI,gBAAA,CAAA,mBAVJ,CAAA,qBAUI,iBAAA,CAAA,kBAVJ,CAAA,uBAUI,gBAVJ,CAAA,yBAUI,kBAVJ,CAAA,0BAUI,mBAVJ,CAAA,wBAUI,iBAVJ,CAAA,mBAUI,cAVJ,CAAA,qBAUI,kBAAA,CAAA,qBAVJ,CAAA,qBAUI,mBAAA,CAAA,oBAVJ,CAAA,uBAUI,kBAVJ,CAAA,yBAUI,oBAVJ,CAAA,0BAUI,qBAVJ,CAAA,wBAUI,mBAVJ,CAAA,mBAUI,YAVJ,CAAA,qBAUI,gBAAA,CAAA,mBAVJ,CAAA,qBAUI,iBAAA,CAAA,kBAVJ,CAAA,uBAUI,gBAVJ,CAAA,yBAUI,kBAVJ,CAAA,0BAUI,mBAVJ,CAAA,wBAUI,iBAVJ,CAAA,mBAUI,cAVJ,CAAA,qBAUI,kBAAA,CAAA,qBAVJ,CAAA,qBAUI,mBAAA,CAAA,oBAVJ,CAAA,uBAUI,kBAVJ,CAAA,yBAUI,oBAVJ,CAAA,0BAUI,qBAVJ,CAAA,wBAUI,mBAVJ,CAAA,mBAUI,YAVJ,CAAA,qBAUI,gBAAA,CAAA,mBAVJ,CAAA,qBAUI,iBAAA,CAAA,kBAVJ,CAAA,uBAUI,gBAVJ,CAAA,yBAUI,kBAVJ,CAAA,0BAUI,mBAVJ,CAAA,wBAUI,iBAVJ,CAAA,mBAUI,cAVJ,CAAA,qBAUI,kBAAA,CAAA,qBAVJ,CAAA,qBAUI,mBAAA,CAAA,oBAVJ,CAAA,uBAUI,kBAVJ,CAAA,yBAUI,oBAVJ,CAAA,0BAUI,qBAVJ,CAAA,wBAUI,mBAVJ,CAAA,oBAUI,YAVJ,CAAA,sBAUI,gBAAA,CAAA,mBAVJ,CAAA,sBAUI,iBAAA,CAAA,kBAVJ,CAAA,wBAUI,gBAVJ,CAAA,0BAUI,kBAVJ,CAAA,2BAUI,mBAVJ,CAAA,yBAUI,iBAVJ,CAAA,oBAUI,cAVJ,CAAA,sBAUI,kBAAA,CAAA,qBAVJ,CAAA,sBAUI,mBAAA,CAAA,oBAVJ,CAAA,wBAUI,kBAVJ,CAAA,0BAUI,oBAVJ,CAAA,2BAUI,qBAVJ,CAAA,yBAUI,mBAVJ,CAAA,mBAUI,SAVJ,CAAA,qBAUI,aAAA,CAAA,gBAVJ,CAAA,qBAUI,cAAA,CAAA,eAVJ,CAAA,uBAUI,aAVJ,CAAA,yBAUI,eAVJ,CAAA,0BAUI,gBAVJ,CAAA,wBAUI,cAVJ,CAAA,mBAUI,SAVJ,CAAA,mBAUI,SAVJ,CAAA,kBAUI,YAVJ,CAAA,iBAUI,WAVJ,CAAA,mBAUI,YAVJ,CAAA,iBAUI,UAVJ,CAAA,mBAUI,aAVJ,CAAA,iBAUI,YAVJ,CAAA,iBAUI,UAVJ,CAAA,iBAUI,YAVJ,CAAA,iBAUI,UAVJ,CAAA,iBAUI,YAVJ,CAAA,iBAUI,UAVJ,CAAA,iBAUI,YAVJ,CAAA,kBAUI,UAVJ,CAAA,kBAUI,YAVJ,CAAA,oBAUI,WAVJ,CAAA,uBAUI,WAVJ,CAAA,sBAUI,WAVJ,CAAA,yBAUI,WAVJ,CAAA,sBAUI,WAVJ,CAAA,yBAUI,WAVJ,CAAA,uBAUI,WAVJ,CAAA,0BAUI,WAVJ,CAAA,0BAUI,aAVJ,CAAA,iBAUI,OAVJ,CAAA,oBAUI,UAVJ,CAAA,oBAUI,UhHvEF,CAAA,CAAA,gCgH6DF,uDAUI,gBAvDJ,CA6CA,2DAUI,oBAAA,CAAA,uBAvDJ,CA6CA,2DAUI,qBAAA,CAAA,sBAvDJ,CA6CA,+DAUI,oBAvDJ,CA6CA,mEAUI,sBAvDJ,CA6CA,qEAUI,uBAvDJ,CA6CA,iEAUI,qBAvDJ,CA6CA,uDAUI,gBAvDJ,CA6CA,2DAUI,oBAAA,CAAA,uBAvDJ,CA6CA,2DAUI,qBAAA,CAAA,sBAvDJ,CA6CA,+DAUI,oBAvDJ,CA6CA,mEAUI,sBAvDJ,CA6CA,qEAUI,uBAvDJ,CA6CA,iEAUI,qBAvDJ,CA6CA,qDAUI,mBAvDJ,CA6CA,yDAUI,uBAAA,CAAA,0BAvDJ,CA6CA,yDAUI,wBAAA,CAAA,yBAvDJ,CA6CA,6DAUI,uBAvDJ,CA6CA,iEAUI,yBAvDJ,CA6CA,mEAUI,0BAvDJ,CA6CA,+DAUI,wBAvDJ,CA6CA,mDAUI,kBAvDJ,CA6CA,uDAUI,sBAAA,CAAA,yBAvDJ,CA6CA,uDAUI,uBAAA,CAAA,wBAvDJ,CA6CA,2DAUI,sBAvDJ,CA6CA,+DAUI,wBAvDJ,CA6CA,iEAUI,yBAvDJ,CA6CA,6DAUI,uBAvDJ,CA6CA,uDAUI,mBAvDJ,CA6CA,2DAUI,uBAAA,CAAA,0BAvDJ,CA6CA,2DAUI,wBAAA,CAAA,yBAvDJ,CA6CA,+DAUI,uBAvDJ,CA6CA,mEAUI,yBAvDJ,CA6CA,qEAUI,0BAvDJ,CA6CA,iEAUI,wBAvDJ,CA6CA,mDAUI,iBAvDJ,CA6CA,uDAUI,qBAAA,CAAA,wBAvDJ,CA6CA,uDAUI,sBAAA,CAAA,uBAvDJ,CA6CA,2DAUI,qBAvDJ,CA6CA,+DAUI,uBAvDJ,CA6CA,iEAUI,wBAvDJ,CA6CA,6DAUI,sBAvDJ,CA6CA,uDAUI,oBAvDJ,CA6CA,2DAUI,wBAAA,CAAA,2BAvDJ,CA6CA,2DAUI,yBAAA,CAAA,0BAvDJ,CA6CA,+DAUI,wBAvDJ,CA6CA,mEAUI,0BAvDJ,CA6CA,qEAUI,2BAvDJ,CA6CA,iEAUI,yBAvDJ,CA6CA,mDAUI,mBAvDJ,CA6CA,uDAUI,uBAAA,CAAA,0BAvDJ,CA6CA,uDAUI,wBAAA,CAAA,yBAvDJ,CA6CA,2DAUI,uBAvDJ,CA6CA,+DAUI,yBAvDJ,CA6CA,iEAUI,0BAvDJ,CA6CA,6DAUI,wBAvDJ,CA6CA,mDAUI,cAvDJ,CA6CA,uDAUI,kBAAA,CAAA,qBAvDJ,CA6CA,uDAUI,mBAAA,CAAA,oBAvDJ,CA6CA,2DAUI,kBAvDJ,CA6CA,+DAUI,oBAvDJ,CA6CA,iEAUI,qBAvDJ,CA6CA,6DAUI,mBAvDJ,CA6CA,+CAUI,gBAvDJ,CA6CA,mDAUI,oBAAA,CAAA,uBAvDJ,CA6CA,mDAUI,qBAAA,CAAA,sBAvDJ,CA6CA,uDAUI,oBAvDJ,CA6CA,2DAUI,sBAvDJ,CA6CA,6DAUI,uBAvDJ,CA6CA,yDAUI,qBAvDJ,CA6CA,uEAUI,wBAvDJ,CA6CA,2DAUI,iBAvDJ,CA6CA,2DAUI,iBAvDJ,CA6CA,uDAUI,oBAvDJ,CA6CA,6DAUI,oBAvDJ,CA6CA,yDAUI,oBAvDJ,CA6CA,6DAUI,oBAvDJ,CA6CA,2DAUI,oBAvDJ,CA6CA,yDAUI,oBAvDJ,CA6CA,yDAUI,oBAvDJ,CA6CA,yDAUI,oBAvDJ,CA6CA,6DAUI,oBAvDJ,CA6CA,6DAUI,oBAvDJ,CA6CA,+DAUI,oBAvDJ,CA6CA,6DAUI,oBAvDJ,CA6CA,+DAUI,oBAvDJ,CA6CA,+DAUI,oBAvDJ,CA6CA,+DAUI,oBAvDJ,CA6CA,+DAUI,oBAvDJ,CA6CA,+DAUI,oBAvDJ,CA6CA,2EAUI,oBAvDJ,CA6CA,yEAUI,oBAvDJ,CA6CA,qEAUI,oBAvDJ,CA6CA,yDAUI,oBAvDJ,CA6CA,mEAUI,oBAvDJ,CA6CA,uEAUI,oBAvDJ,CA6CA,gIAUI,oBAvDJ,CA6CA,+EAUI,oBAvDJ,CA6CA,2EAUI,oBAvDJ,CA6CA,+DAUI,oBAvDJ,CA6CA,2EAUI,oBAvDJ,CA6CA,yEAUI,oBAvDJ,CA6CA,6EAUI,oBAvDJ,CA6CA,mFAUI,oBAvDJ,CA6CA,+EAUI,oBAvDJ,CA6CA,mEAUI,oBAvDJ,CA6CA,+EAUI,oBAvDJ,CA6CA,6EAUI,oBAvDJ,CA6CA,iFAUI,oBAvDJ,CA6CA,qFAUI,oBAvDJ,CA6CA,iFAUI,oBAvDJ,CA6CA,uEAUI,oBAvDJ,CA6CA,mFAUI,oBAvDJ,CA6CA,uFAUI,oBAvDJ,CA6CA,qFAUI,oBAvDJ,CA6CA,iFAUI,oBAvDJ,CA6CA,uEAUI,oBAvDJ,CA6CA,mFAUI,oBAvDJ,CA6CA,uFAUI,oBAvDJ,CA6CA,2EAUI,oBAvDJ,CA6CA,uEAUI,oBAvDJ,CA6CA,2DAUI,oBAvDJ,CA6CA,qEAUI,oBAvDJ,CA6CA,yEAUI,oBAvDJ,CA6CA,+EAUI,oBAvDJ,CA6CA,2EAUI,oBAvDJ,CA6CA,+DAUI,oBAvDJ,CA6CA,yEAUI,oBAvDJ,CA6CA,6EAUI,oBAvDJ,CA6CA,+EAUI,oBAvDJ,CA6CA,2EAUI,oBAvDJ,CA6CA,+DAUI,oBAvDJ,CA6CA,yEAUI,oBAvDJ,CA6CA,6EAUI,oBAvDJ,CA6CA,yEAUI,oBAvDJ,CA6CA,qEAUI,oBAvDJ,CA6CA,yDAUI,oBAvDJ,CA6CA,mEAUI,oBAvDJ,CA6CA,uEAUI,oBAvDJ,CA6CA,iFAUI,oBAvDJ,CA6CA,6EAUI,oBAvDJ,CA6CA,iEAUI,oBAvDJ,CA6CA,2EAUI,oBAvDJ,CA6CA,+EAUI,oBAvDJ,CA6CA,mEAUI,oBAvDJ,CA6CA,6EAUI,oBAvDJ,CA6CA,mBAUI,eAVJ,CAAA,uBAUI,wBAAA,CAAA,yBAVJ,CAAA,yBAUI,yBAAA,CAAA,4BAVJ,CAAA,0BAUI,2BAAA,CAAA,4BAVJ,CAAA,wBAUI,wBAAA,CAAA,2BAVJ,CAAA,oBAUI,iBAVJ,CAAA,wBAUI,0BAAA,CAAA,2BAVJ,CAAA,0BAUI,2BAAA,CAAA,8BAVJ,CAAA,2BAUI,6BAAA,CAAA,8BAVJ,CAAA,yBAUI,0BAAA,CAAA,6BAVJ,CAAA,oBAUI,oBAVJ,CAAA,wBAUI,6BAAA,CAAA,8BAVJ,CAAA,0BAUI,8BAAA,CAAA,iCAVJ,CAAA,2BAUI,gCAAA,CAAA,iCAVJ,CAAA,yBAUI,6BAAA,CAAA,gCAVJ,CAAA,oBAUI,mBAVJ,CAAA,wBAUI,4BAAA,CAAA,6BAVJ,CAAA,0BAUI,6BAAA,CAAA,gCAVJ,CAAA,2BAUI,+BAAA,CAAA,gCAVJ,CAAA,yBAUI,4BAAA,CAAA,+BAVJ,CAAA,sBAUI,mBAVJ,CAAA,0BAUI,4BAAA,CAAA,6BAVJ,CAAA,4BAUI,6BAAA,CAAA,gCAVJ,CAAA,6BAUI,+BAAA,CAAA,gCAVJ,CAAA,2BAUI,4BAAA,CAAA,+BAVJ,CAAA,wBAUI,aAVJ,CAAA,uBAUI,YAVJ,CAAA,uBAUI,YAVJ,CAAA,yBAUI,cAVJ,CAAA,+BAUI,oBAVJ,CAAA,8BAUI,mBAVJ,CAAA,wBAUI,aAVJ,CAAA,6BAUI,kBAVJ,CAAA,4BAUI,iBAVJ,CAAA,wBAUI,gBAVJ,CAAA,wBAUI,gBAVJ,CAAA,uBAUI,gBAVJ,CAAA,uBAUI,gBAVJ,CAAA,uBAUI,iBAVJ,CAAA,uBAUI,iBAVJ,CAAA,uBAUI,iBAVJ,CAAA,wBAUI,iBAVJ,CAAA,wBAUI,iBAVJ,CAAA,wBAUI,gBAVJ,CAAA,wBAUI,gBAVJ,CAAA,uBAUI,cAVJ,CAAA,uBAUI,iBAVJ,CAAA,uBAUI,iBAVJ,CAAA,uBAUI,iBAVJ,CAAA,uBAUI,iBAVJ,CAAA,wBAUI,iBAVJ,CAAA,wBAUI,iBAVJ,CAAA,yBAUI,gBAVJ,CAAA,yBAUI,gBAVJ,CAAA,wBAUI,gBAVJ,CAAA,wBAUI,gBAVJ,CAAA,wBAUI,iBAVJ,CAAA,wBAUI,iBAVJ,CAAA,wBAUI,iBAVJ,CAAA,yBAUI,iBAVJ,CAAA,yBAUI,iBAVJ,CAAA,2BAUI,gBAVJ,CAAA,2BAUI,gBAVJ,CAAA,0BAUI,gBAVJ,CAAA,0BAUI,gBAVJ,CAAA,0BAUI,iBAVJ,CAAA,0BAUI,iBAVJ,CAAA,0BAUI,iBAVJ,CAAA,2BAUI,iBAVJ,CAAA,2BAUI,iBAVJ,CAAA,wBAUI,gBAVJ,CAAA,wBAUI,gBAVJ,CAAA,uBAUI,cAVJ,CAAA,uBAUI,iBAVJ,CAAA,uBAUI,iBAVJ,CAAA,uBAUI,iBAVJ,CAAA,uBAUI,iBAVJ,CAAA,wBAUI,iBAVJ,CAAA,wBAUI,iBAVJ,CAAA,wBAUI,gBAVJ,CAAA,wBAUI,gBAVJ,CAAA,uBAUI,gBAVJ,CAAA,uBAUI,gBAVJ,CAAA,uBAUI,iBAVJ,CAAA,uBAUI,iBAVJ,CAAA,uBAUI,iBAVJ,CAAA,wBAUI,iBAVJ,CAAA,wBAUI,iBAVJ,CAAA,uBAUI,gBAVJ,CAAA,uBAUI,gBAVJ,CAAA,sBAUI,gBAVJ,CAAA,sBAUI,gBAVJ,CAAA,sBAUI,iBAVJ,CAAA,sBAUI,iBAVJ,CAAA,sBAUI,iBAVJ,CAAA,uBAUI,iBAVJ,CAAA,uBAUI,iBAVJ,CAAA,sBAUI,gBAVJ,CAAA,sBAUI,gBAVJ,CAAA,qBAUI,cAVJ,CAAA,qBAUI,iBAVJ,CAAA,qBAUI,iBAVJ,CAAA,qBAUI,iBAVJ,CAAA,qBAUI,iBAVJ,CAAA,sBAUI,iBAVJ,CAAA,sBAUI,iBAVJ,CAAA,qBAUI,eAVJ,CAAA,sBAUI,eAVJ,CAAA,oBAUI,eAVJ,CAAA,8BAUI,sBAVJ,CAAA,6BAUI,0BAVJ,CAAA,2BAUI,wBAVJ,CAAA,uBAUI,6BAVJ,CAAA,6BAUI,cAVJ,CAAA,6BAUI,eAVJ,CAAA,6BAUI,eAVJ,CAAA,6BAUI,eAVJ,CAAA,6BAUI,eAVJ,CAAA,6BAUI,eAVJ,CAAA,8BAUI,aAVJ,CAAA,8BAUI,eAVJ,CAAA,8BAUI,eAVJ,CAAA,8BAUI,eAVJ,CAAA,8BAUI,eAVJ,CAAA,8BAUI,eAVJ,CAAA,6BAUI,aAVJ,CAAA,6BAUI,eAVJ,CAAA,6BAUI,eAVJ,CAAA,6BAUI,eAVJ,CAAA,6BAUI,eAVJ,CAAA,6BAUI,eAVJ,CAAA,gCAUI,aAVJ,CAAA,gCAUI,eAVJ,CAAA,gCAUI,eAVJ,CAAA,gCAUI,eAVJ,CAAA,gCAUI,eAVJ,CAAA,gCAUI,eAVJ,CAAA,2BAUI,cAVJ,CAAA,2BAUI,eAVJ,CAAA,2BAUI,eAVJ,CAAA,2BAUI,eAVJ,CAAA,2BAUI,eAVJ,CAAA,2BAUI,eAVJ,CAAA,6BAUI,cAVJ,CAAA,6BAUI,eAVJ,CAAA,6BAUI,eAVJ,CAAA,6BAUI,eAVJ,CAAA,6BAUI,eAVJ,CAAA,6BAUI,eAVJ,CAAA,6BAUI,aAVJ,CAAA,6BAUI,eAVJ,CAAA,6BAUI,eAVJ,CAAA,6BAUI,eAVJ,CAAA,6BAUI,eAVJ,CAAA,6BAUI,eAVJ,CAAA,4BAUI,aAVJ,CAAA,4BAUI,eAVJ,CAAA,4BAUI,eAVJ,CAAA,4BAUI,eAVJ,CAAA,4BAUI,eAVJ,CAAA,4BAUI,eAVJ,CAAA,yBAUI,WAVJ,CAAA,yBAUI,WAVJ,CAAA,wBAUI,cAVJ,CAAA,uBAUI,aAVJ,CAAA,yBAUI,cAVJ,CAAA,uBAUI,YAVJ,CAAA,yBAUI,eAVJ,CAAA,uBAUI,cAVJ,CAAA,qBAUI,UAVJ,CAAA,qBAUI,UAVJ,CAAA,oBAUI,aAVJ,CAAA,mBAUI,YAVJ,CAAA,qBAUI,aAVJ,CAAA,mBAUI,WAVJ,CAAA,qBAUI,cAVJ,CAAA,mBAUI,aAVJ,CAAA,uBAUI,YAVJ,CAAA,uBAUI,cAVJ,CAAA,uBAUI,YAVJ,CAAA,uBAUI,cAVJ,CAAA,uBAUI,YAVJ,CAAA,uBAUI,cAVJ,CAAA,wBAUI,YAVJ,CAAA,wBAUI,cAVJ,CAAA,mBAUI,WAVJ,CAAA,mBAUI,aAVJ,CAAA,mBAUI,WAVJ,CAAA,mBAUI,aAVJ,CAAA,mBAUI,WAVJ,CAAA,mBAUI,aAVJ,CAAA,oBAUI,WAVJ,CAAA,oBAUI,aAVJ,CAAA,sBAUI,WAVJ,CAAA,qBAUI,UAVJ,CAAA,uBAUI,YAVJ,CAAA,qBAUI,UAVJ,CAAA,mBAUI,QAVJ,CAAA,uBAUI,cAAA,CAAA,iBAVJ,CAAA,yBAUI,cAVJ,CAAA,4BAUI,iBAVJ,CAAA,uBAUI,cAAA,CAAA,iBAVJ,CAAA,yBAUI,cAVJ,CAAA,4BAUI,iBAVJ,CAAA,sBAUI,iBAAA,CAAA,oBAVJ,CAAA,wBAUI,iBAVJ,CAAA,2BAUI,oBAVJ,CAAA,qBAUI,gBAAA,CAAA,mBAVJ,CAAA,uBAUI,gBAVJ,CAAA,0BAUI,mBAVJ,CAAA,uBAUI,iBAAA,CAAA,oBAVJ,CAAA,yBAUI,iBAVJ,CAAA,4BAUI,oBAVJ,CAAA,qBAUI,eAAA,CAAA,kBAVJ,CAAA,uBAUI,eAVJ,CAAA,0BAUI,kBAVJ,CAAA,uBAUI,kBAAA,CAAA,qBAVJ,CAAA,yBAUI,kBAVJ,CAAA,4BAUI,qBAVJ,CAAA,qBAUI,iBAAA,CAAA,oBAVJ,CAAA,uBAUI,iBAVJ,CAAA,0BAUI,oBAVJ,CAAA,2BAUI,eAAA,CAAA,kBAVJ,CAAA,6BAUI,eAVJ,CAAA,gCAUI,kBAVJ,CAAA,2BAUI,eAAA,CAAA,kBAVJ,CAAA,6BAUI,eAVJ,CAAA,gCAUI,kBAVJ,CAAA,0BAUI,kBAAA,CAAA,qBAVJ,CAAA,4BAUI,kBAVJ,CAAA,+BAUI,qBAVJ,CAAA,yBAUI,iBAAA,CAAA,oBAVJ,CAAA,2BAUI,iBAVJ,CAAA,8BAUI,oBAVJ,CAAA,2BAUI,kBAAA,CAAA,qBAVJ,CAAA,6BAUI,kBAVJ,CAAA,gCAUI,qBAVJ,CAAA,yBAUI,gBAAA,CAAA,mBAVJ,CAAA,2BAUI,gBAVJ,CAAA,8BAUI,mBAVJ,CAAA,2BAUI,mBAAA,CAAA,sBAVJ,CAAA,6BAUI,mBAVJ,CAAA,gCAUI,sBAVJ,CAAA,yBAUI,kBAAA,CAAA,qBAVJ,CAAA,2BAUI,kBAVJ,CAAA,8BAUI,qBAVJ,CAAA,yBAUI,gBAAA,CAAA,mBAVJ,CAAA,2BAUI,gBAVJ,CAAA,8BAUI,mBAVJ,CAAA,yBAUI,kBAAA,CAAA,qBAVJ,CAAA,2BAUI,kBAVJ,CAAA,8BAUI,qBAVJ,CAAA,yBAUI,gBAAA,CAAA,mBAVJ,CAAA,2BAUI,gBAVJ,CAAA,8BAUI,mBAVJ,CAAA,yBAUI,kBAAA,CAAA,qBAVJ,CAAA,2BAUI,kBAVJ,CAAA,8BAUI,qBAVJ,CAAA,yBAUI,gBAAA,CAAA,mBAVJ,CAAA,2BAUI,gBAVJ,CAAA,8BAUI,mBAVJ,CAAA,yBAUI,kBAAA,CAAA,qBAVJ,CAAA,2BAUI,kBAVJ,CAAA,8BAUI,qBAVJ,CAAA,0BAUI,gBAAA,CAAA,mBAVJ,CAAA,4BAUI,gBAVJ,CAAA,+BAUI,mBAVJ,CAAA,0BAUI,kBAAA,CAAA,qBAVJ,CAAA,4BAUI,kBAVJ,CAAA,+BAUI,qBAVJ,CAAA,qBAUI,eAAA,CAAA,kBAVJ,CAAA,uBAUI,eAVJ,CAAA,0BAUI,kBAVJ,CAAA,qBAUI,iBAAA,CAAA,oBAVJ,CAAA,uBAUI,iBAVJ,CAAA,0BAUI,oBAVJ,CAAA,qBAUI,eAAA,CAAA,kBAVJ,CAAA,uBAUI,eAVJ,CAAA,0BAUI,kBAVJ,CAAA,qBAUI,iBAAA,CAAA,oBAVJ,CAAA,uBAUI,iBAVJ,CAAA,0BAUI,oBAVJ,CAAA,qBAUI,eAAA,CAAA,kBAVJ,CAAA,uBAUI,eAVJ,CAAA,0BAUI,kBAVJ,CAAA,qBAUI,iBAAA,CAAA,oBAVJ,CAAA,uBAUI,iBAVJ,CAAA,0BAUI,oBAVJ,CAAA,sBAUI,eAAA,CAAA,kBAVJ,CAAA,wBAUI,eAVJ,CAAA,2BAUI,kBAVJ,CAAA,sBAUI,iBAAA,CAAA,oBAVJ,CAAA,wBAUI,iBAVJ,CAAA,2BAUI,oBAVJ,CAAA,wBAUI,eAAA,CAAA,kBAVJ,CAAA,0BAUI,eAVJ,CAAA,6BAUI,kBAVJ,CAAA,uBAUI,cAAA,CAAA,iBAVJ,CAAA,yBAUI,cAVJ,CAAA,4BAUI,iBAVJ,CAAA,yBAUI,gBAAA,CAAA,mBAVJ,CAAA,2BAUI,gBAVJ,CAAA,8BAUI,mBAVJ,CAAA,uBAUI,cAAA,CAAA,iBAVJ,CAAA,yBAUI,cAVJ,CAAA,4BAUI,iBAVJ,CAAA,qBAUI,YAAA,CAAA,eAVJ,CAAA,uBAUI,YAVJ,CAAA,0BAUI,eAVJ,CAAA,wBAUI,eAAA,CAAA,kBAVJ,CAAA,0BAUI,eAVJ,CAAA,6BAUI,kBAVJ,CAAA,uBAUI,eAAA,CAAA,gBAVJ,CAAA,2BAUI,gBAVJ,CAAA,0BAUI,eAVJ,CAAA,uBAUI,eAAA,CAAA,gBAVJ,CAAA,2BAUI,gBAVJ,CAAA,0BAUI,eAVJ,CAAA,sBAUI,kBAAA,CAAA,mBAVJ,CAAA,0BAUI,mBAVJ,CAAA,yBAUI,kBAVJ,CAAA,qBAUI,iBAAA,CAAA,kBAVJ,CAAA,yBAUI,kBAVJ,CAAA,wBAUI,iBAVJ,CAAA,uBAUI,kBAAA,CAAA,mBAVJ,CAAA,2BAUI,mBAVJ,CAAA,0BAUI,kBAVJ,CAAA,qBAUI,gBAAA,CAAA,iBAVJ,CAAA,yBAUI,iBAVJ,CAAA,wBAUI,gBAVJ,CAAA,uBAUI,mBAAA,CAAA,oBAVJ,CAAA,2BAUI,oBAVJ,CAAA,0BAUI,mBAVJ,CAAA,qBAUI,kBAAA,CAAA,mBAVJ,CAAA,yBAUI,mBAVJ,CAAA,wBAUI,kBAVJ,CAAA,2BAUI,gBAAA,CAAA,iBAVJ,CAAA,+BAUI,iBAVJ,CAAA,8BAUI,gBAVJ,CAAA,2BAUI,gBAAA,CAAA,iBAVJ,CAAA,+BAUI,iBAVJ,CAAA,8BAUI,gBAVJ,CAAA,0BAUI,mBAAA,CAAA,oBAVJ,CAAA,8BAUI,oBAVJ,CAAA,6BAUI,mBAVJ,CAAA,yBAUI,kBAAA,CAAA,mBAVJ,CAAA,6BAUI,mBAVJ,CAAA,4BAUI,kBAVJ,CAAA,2BAUI,mBAAA,CAAA,oBAVJ,CAAA,+BAUI,oBAVJ,CAAA,8BAUI,mBAVJ,CAAA,yBAUI,iBAAA,CAAA,kBAVJ,CAAA,6BAUI,kBAVJ,CAAA,4BAUI,iBAVJ,CAAA,2BAUI,oBAAA,CAAA,qBAVJ,CAAA,+BAUI,qBAVJ,CAAA,8BAUI,oBAVJ,CAAA,yBAUI,mBAAA,CAAA,oBAVJ,CAAA,6BAUI,oBAVJ,CAAA,4BAUI,mBAVJ,CAAA,yBAUI,iBAAA,CAAA,kBAVJ,CAAA,6BAUI,kBAVJ,CAAA,4BAUI,iBAVJ,CAAA,yBAUI,mBAAA,CAAA,oBAVJ,CAAA,6BAUI,oBAVJ,CAAA,4BAUI,mBAVJ,CAAA,yBAUI,iBAAA,CAAA,kBAVJ,CAAA,6BAUI,kBAVJ,CAAA,4BAUI,iBAVJ,CAAA,yBAUI,mBAAA,CAAA,oBAVJ,CAAA,6BAUI,oBAVJ,CAAA,4BAUI,mBAVJ,CAAA,yBAUI,iBAAA,CAAA,kBAVJ,CAAA,6BAUI,kBAVJ,CAAA,4BAUI,iBAVJ,CAAA,yBAUI,mBAAA,CAAA,oBAVJ,CAAA,6BAUI,oBAVJ,CAAA,4BAUI,mBAVJ,CAAA,0BAUI,iBAAA,CAAA,kBAVJ,CAAA,8BAUI,kBAVJ,CAAA,6BAUI,iBAVJ,CAAA,0BAUI,mBAAA,CAAA,oBAVJ,CAAA,8BAUI,oBAVJ,CAAA,6BAUI,mBAVJ,CAAA,qBAUI,gBAAA,CAAA,iBAVJ,CAAA,yBAUI,iBAVJ,CAAA,wBAUI,gBAVJ,CAAA,qBAUI,kBAAA,CAAA,mBAVJ,CAAA,yBAUI,mBAVJ,CAAA,wBAUI,kBAVJ,CAAA,qBAUI,gBAAA,CAAA,iBAVJ,CAAA,yBAUI,iBAVJ,CAAA,wBAUI,gBAVJ,CAAA,qBAUI,kBAAA,CAAA,mBAVJ,CAAA,yBAUI,mBAVJ,CAAA,wBAUI,kBAVJ,CAAA,qBAUI,gBAAA,CAAA,iBAVJ,CAAA,yBAUI,iBAVJ,CAAA,wBAUI,gBAVJ,CAAA,qBAUI,kBAAA,CAAA,mBAVJ,CAAA,yBAUI,mBAVJ,CAAA,wBAUI,kBAVJ,CAAA,sBAUI,gBAAA,CAAA,iBAVJ,CAAA,0BAUI,iBAVJ,CAAA,yBAUI,gBAVJ,CAAA,sBAUI,kBAAA,CAAA,mBAVJ,CAAA,0BAUI,mBAVJ,CAAA,yBAUI,kBAVJ,CAAA,wBAUI,iBAAA,CAAA,kBAVJ,CAAA,4BAUI,kBAVJ,CAAA,2BAUI,iBAVJ,CAAA,2BAUI,iBAAA,CAAA,kBAVJ,CAAA,+BAUI,kBAVJ,CAAA,8BAUI,iBAVJ,CAAA,0BAUI,iBAAA,CAAA,kBAVJ,CAAA,8BAUI,kBAVJ,CAAA,6BAUI,iBAVJ,CAAA,wBAUI,gBAAA,CAAA,iBAVJ,CAAA,4BAUI,iBAVJ,CAAA,2BAUI,gBAVJ,CAAA,uBAUI,eAAA,CAAA,gBAVJ,CAAA,2BAUI,gBAVJ,CAAA,0BAUI,eAVJ,CAAA,yBAUI,iBAAA,CAAA,kBAVJ,CAAA,6BAUI,kBAVJ,CAAA,4BAUI,iBAVJ,CAAA,uBAUI,eAAA,CAAA,gBAVJ,CAAA,2BAUI,gBAVJ,CAAA,0BAUI,eAVJ,CAAA,qBAUI,aAAA,CAAA,cAVJ,CAAA,yBAUI,cAVJ,CAAA,wBAUI,aAVJ,CAAA,wBAUI,gBAAA,CAAA,iBAVJ,CAAA,4BAUI,iBAVJ,CAAA,2BAUI,gBAVJ,CAAA,oBAUI,cAVJ,CAAA,oBAUI,cAVJ,CAAA,oBAUI,cAVJ,CAAA,oBAUI,cAVJ,CAAA,oBAUI,cAVJ,CAAA,oBAUI,cAVJ,CAAA,uBAUI,cAVJ,CAAA,sBAUI,QAVJ,CAAA,qBAUI,SAVJ,CAAA,wBAUI,aAVJ,CAAA,kBAUI,OAVJ,CAAA,kBAUI,OAVJ,CAAA,kBAUI,OAVJ,CAAA,kBAUI,OAVJ,CAAA,kBAUI,OAVJ,CAAA,kBAUI,OAVJ,CAAA,kBAUI,OAVJ,CAAA,kBAUI,OAVJ,CAAA,kBAUI,OAVJ,CAAA,kBAUI,OAVJ,CAAA,mBAUI,QAVJ,CAAA,mBAUI,QAVJ,CAAA,sBAUI,WAVJ,CAAA,wBAUI,eAAA,CAAA,kBAVJ,CAAA,wBAUI,gBAAA,CAAA,iBAVJ,CAAA,0BAUI,eAVJ,CAAA,4BAUI,iBAVJ,CAAA,6BAUI,kBAVJ,CAAA,2BAUI,gBAVJ,CAAA,sBAUI,WAVJ,CAAA,wBAUI,eAAA,CAAA,kBAVJ,CAAA,wBAUI,gBAAA,CAAA,iBAVJ,CAAA,0BAUI,eAVJ,CAAA,4BAUI,iBAVJ,CAAA,6BAUI,kBAVJ,CAAA,2BAUI,gBAVJ,CAAA,qBAUI,cAVJ,CAAA,uBAUI,kBAAA,CAAA,qBAVJ,CAAA,uBAUI,mBAAA,CAAA,oBAVJ,CAAA,yBAUI,kBAVJ,CAAA,2BAUI,oBAVJ,CAAA,4BAUI,qBAVJ,CAAA,0BAUI,mBAVJ,CAAA,oBAUI,aAVJ,CAAA,sBAUI,iBAAA,CAAA,oBAVJ,CAAA,sBAUI,kBAAA,CAAA,mBAVJ,CAAA,wBAUI,iBAVJ,CAAA,0BAUI,mBAVJ,CAAA,2BAUI,oBAVJ,CAAA,yBAUI,kBAVJ,CAAA,sBAUI,cAVJ,CAAA,wBAUI,kBAAA,CAAA,qBAVJ,CAAA,wBAUI,mBAAA,CAAA,oBAVJ,CAAA,0BAUI,kBAVJ,CAAA,4BAUI,oBAVJ,CAAA,6BAUI,qBAVJ,CAAA,2BAUI,mBAVJ,CAAA,oBAUI,YAVJ,CAAA,sBAUI,gBAAA,CAAA,mBAVJ,CAAA,sBAUI,iBAAA,CAAA,kBAVJ,CAAA,wBAUI,gBAVJ,CAAA,0BAUI,kBAVJ,CAAA,2BAUI,mBAVJ,CAAA,yBAUI,iBAVJ,CAAA,sBAUI,eAVJ,CAAA,wBAUI,mBAAA,CAAA,sBAVJ,CAAA,wBAUI,oBAAA,CAAA,qBAVJ,CAAA,0BAUI,mBAVJ,CAAA,4BAUI,qBAVJ,CAAA,6BAUI,sBAVJ,CAAA,2BAUI,oBAVJ,CAAA,oBAUI,cAVJ,CAAA,sBAUI,kBAAA,CAAA,qBAVJ,CAAA,sBAUI,mBAAA,CAAA,oBAVJ,CAAA,wBAUI,kBAVJ,CAAA,0BAUI,oBAVJ,CAAA,2BAUI,qBAVJ,CAAA,yBAUI,mBAVJ,CAAA,oBAUI,YAVJ,CAAA,sBAUI,gBAAA,CAAA,mBAVJ,CAAA,sBAUI,iBAAA,CAAA,kBAVJ,CAAA,wBAUI,gBAVJ,CAAA,0BAUI,kBAVJ,CAAA,2BAUI,mBAVJ,CAAA,yBAUI,iBAVJ,CAAA,oBAUI,cAVJ,CAAA,sBAUI,kBAAA,CAAA,qBAVJ,CAAA,sBAUI,mBAAA,CAAA,oBAVJ,CAAA,wBAUI,kBAVJ,CAAA,0BAUI,oBAVJ,CAAA,2BAUI,qBAVJ,CAAA,yBAUI,mBAVJ,CAAA,oBAUI,YAVJ,CAAA,sBAUI,gBAAA,CAAA,mBAVJ,CAAA,sBAUI,iBAAA,CAAA,kBAVJ,CAAA,wBAUI,gBAVJ,CAAA,0BAUI,kBAVJ,CAAA,2BAUI,mBAVJ,CAAA,yBAUI,iBAVJ,CAAA,oBAUI,cAVJ,CAAA,sBAUI,kBAAA,CAAA,qBAVJ,CAAA,sBAUI,mBAAA,CAAA,oBAVJ,CAAA,wBAUI,kBAVJ,CAAA,0BAUI,oBAVJ,CAAA,2BAUI,qBAVJ,CAAA,yBAUI,mBAVJ,CAAA,oBAUI,YAVJ,CAAA,sBAUI,gBAAA,CAAA,mBAVJ,CAAA,sBAUI,iBAAA,CAAA,kBAVJ,CAAA,wBAUI,gBAVJ,CAAA,0BAUI,kBAVJ,CAAA,2BAUI,mBAVJ,CAAA,yBAUI,iBAVJ,CAAA,oBAUI,cAVJ,CAAA,sBAUI,kBAAA,CAAA,qBAVJ,CAAA,sBAUI,mBAAA,CAAA,oBAVJ,CAAA,wBAUI,kBAVJ,CAAA,0BAUI,oBAVJ,CAAA,2BAUI,qBAVJ,CAAA,yBAUI,mBAVJ,CAAA,qBAUI,YAVJ,CAAA,uBAUI,gBAAA,CAAA,mBAVJ,CAAA,uBAUI,iBAAA,CAAA,kBAVJ,CAAA,yBAUI,gBAVJ,CAAA,2BAUI,kBAVJ,CAAA,4BAUI,mBAVJ,CAAA,0BAUI,iBAVJ,CAAA,qBAUI,cAVJ,CAAA,uBAUI,kBAAA,CAAA,qBAVJ,CAAA,uBAUI,mBAAA,CAAA,oBAVJ,CAAA,yBAUI,kBAVJ,CAAA,2BAUI,oBAVJ,CAAA,4BAUI,qBAVJ,CAAA,0BAUI,mBAVJ,CAAA,oBAUI,SAVJ,CAAA,sBAUI,aAAA,CAAA,gBAVJ,CAAA,sBAUI,cAAA,CAAA,eAVJ,CAAA,wBAUI,aAVJ,CAAA,0BAUI,eAVJ,CAAA,2BAUI,gBAVJ,CAAA,yBAUI,cAVJ,CAAA,oBAUI,SAVJ,CAAA,oBAUI,SAVJ,CAAA,mBAUI,YAVJ,CAAA,kBAUI,WAVJ,CAAA,oBAUI,YAVJ,CAAA,kBAUI,UAVJ,CAAA,oBAUI,aAVJ,CAAA,kBAUI,YAVJ,CAAA,kBAUI,UAVJ,CAAA,kBAUI,YAVJ,CAAA,kBAUI,UAVJ,CAAA,kBAUI,YAVJ,CAAA,kBAUI,UAVJ,CAAA,kBAUI,YAVJ,CAAA,mBAUI,UAVJ,CAAA,mBAUI,YAVJ,CAAA,qBAUI,WAVJ,CAAA,wBAUI,WAVJ,CAAA,uBAUI,WAVJ,CAAA,0BAUI,WAVJ,CAAA,uBAUI,WAVJ,CAAA,0BAUI,WAVJ,CAAA,wBAUI,WAVJ,CAAA,2BAUI,WAVJ,CAAA,2BAUI,aAVJ,CAAA,kBAUI,OAVJ,CAAA,qBAUI,UAVJ,CAAA,qBAUI,UAAA,CAAA","file":"styles.css","sourcesContent":["/*! based on uswds v3.8.1 *//*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:rgba(0,0,0,0)}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.usa-textarea,.usa-range,.usa-radio__label,.usa-input-group,.usa-hint,.usa-combo-box__input,.usa-combo-box__list,.usa-select,.usa-checkbox__label,.usa-fieldset,.usa-input{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.3}.usa-textarea,.usa-range,.usa-input-group,.usa-combo-box__input,.usa-select,.usa-input{border-width:1px;border-color:#565c65;border-style:solid;appearance:none;border-radius:0;color:#1b1b1b;display:block;height:2.5rem;margin-top:.5rem;max-width:30rem;padding:.5rem;width:100%}@font-face{font-family:\"Roboto Mono Web\";font-style:normal;font-weight:300;font-display:fallback;src:url(../fonts/roboto-mono/roboto-mono-v5-latin-300.woff2) format(\"woff2\")}@font-face{font-family:\"Roboto Mono Web\";font-style:normal;font-weight:400;font-display:fallback;src:url(../fonts/roboto-mono/roboto-mono-v5-latin-regular.woff2) format(\"woff2\")}@font-face{font-family:\"Roboto Mono Web\";font-style:normal;font-weight:700;font-display:fallback;src:url(../fonts/roboto-mono/roboto-mono-v5-latin-700.woff2) format(\"woff2\")}@font-face{font-family:\"Roboto Mono Web\";font-style:italic;font-weight:300;font-display:fallback;src:url(../fonts/roboto-mono/roboto-mono-v5-latin-300italic.woff2) format(\"woff2\")}@font-face{font-family:\"Roboto Mono Web\";font-style:italic;font-weight:400;font-display:fallback;src:url(../fonts/roboto-mono/roboto-mono-v5-latin-italic.woff2) format(\"woff2\")}@font-face{font-family:\"Roboto Mono Web\";font-style:italic;font-weight:700;font-display:fallback;src:url(../fonts/roboto-mono/roboto-mono-v5-latin-700italic.woff2) format(\"woff2\")}@font-face{font-family:\"Source Sans Pro Web\";font-style:normal;font-weight:300;font-display:fallback;src:url(../fonts/source-sans-pro/sourcesanspro-light-webfont.woff2) format(\"woff2\")}@font-face{font-family:\"Source Sans Pro Web\";font-style:normal;font-weight:400;font-display:fallback;src:url(../fonts/source-sans-pro/sourcesanspro-regular-webfont.woff2) format(\"woff2\")}@font-face{font-family:\"Source Sans Pro Web\";font-style:normal;font-weight:700;font-display:fallback;src:url(../fonts/source-sans-pro/sourcesanspro-bold-webfont.woff2) format(\"woff2\")}@font-face{font-family:\"Source Sans Pro Web\";font-style:italic;font-weight:300;font-display:fallback;src:url(../fonts/source-sans-pro/sourcesanspro-lightitalic-webfont.woff2) format(\"woff2\")}@font-face{font-family:\"Source Sans Pro Web\";font-style:italic;font-weight:400;font-display:fallback;src:url(../fonts/source-sans-pro/sourcesanspro-italic-webfont.woff2) format(\"woff2\")}@font-face{font-family:\"Source Sans Pro Web\";font-style:italic;font-weight:700;font-display:fallback;src:url(../fonts/source-sans-pro/sourcesanspro-bolditalic-webfont.woff2) format(\"woff2\")}@font-face{font-family:\"Merriweather Web\";font-style:normal;font-weight:300;font-display:fallback;src:url(../fonts/merriweather/Latin-Merriweather-Light.woff2) format(\"woff2\")}@font-face{font-family:\"Merriweather Web\";font-style:normal;font-weight:400;font-display:fallback;src:url(../fonts/merriweather/Latin-Merriweather-Regular.woff2) format(\"woff2\")}@font-face{font-family:\"Merriweather Web\";font-style:normal;font-weight:700;font-display:fallback;src:url(../fonts/merriweather/Latin-Merriweather-Bold.woff2) format(\"woff2\")}@font-face{font-family:\"Merriweather Web\";font-style:italic;font-weight:300;font-display:fallback;src:url(../fonts/merriweather/Latin-Merriweather-LightItalic.woff2) format(\"woff2\")}@font-face{font-family:\"Merriweather Web\";font-style:italic;font-weight:400;font-display:fallback;src:url(../fonts/merriweather/Latin-Merriweather-Italic.woff2) format(\"woff2\")}@font-face{font-family:\"Merriweather Web\";font-style:italic;font-weight:700;font-display:fallback;src:url(../fonts/merriweather/Latin-Merriweather-BoldItalic.woff2) format(\"woff2\")}body{color:#1b1b1b;background-color:#fff;overflow-x:hidden}input:not([disabled]):focus,select:not([disabled]):focus,textarea:not([disabled]):focus,button:not([disabled]):focus{outline:.25rem solid #2491ff;outline-offset:0rem}iframe:focus,[href]:focus,[tabindex]:focus,[contentEditable=true]:focus{outline:.25rem solid #2491ff;outline-offset:0rem}img{max-width:100%}.usa-media-link{display:inline-block;line-height:0}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}html{font-feature-settings:\"kern\" 1;font-kerning:normal;font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:100%}cite,var,address,dfn{font-style:normal}.usa-focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-sr-only{position:absolute;left:-999em;right:auto}.usa-content p,.usa-content ul:not(.usa-accordion):not(.usa-accordion--bordered),.usa-content ol:not(.usa-accordion):not(.usa-accordion--bordered){max-width:68ex}.usa-dark-background{background-color:#3d4551}.usa-dark-background p,.usa-dark-background span{color:#fff}.usa-dark-background a{color:#dfe1e2}.usa-dark-background a:visited{color:#dfe1e2}.usa-dark-background a:hover,.usa-dark-background a:active{color:#f0f0f0}.usa-display{margin-bottom:0;margin-top:0;clear:both;font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.34rem;line-height:1.2;font-weight:700;margin-bottom:0}*+.usa-display{margin-top:1.5em}.usa-display+*{margin-top:1em}@media all and (min-width: 30em){.usa-display{margin-bottom:0;margin-top:0;clear:both;font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.44rem;line-height:1.2;font-weight:700}*+.usa-display{margin-top:1.5em}.usa-display+*{margin-top:1em}}@media all and (min-width: 40em){.usa-display{margin-bottom:0;margin-top:0;clear:both;font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.93rem;line-height:1.2;font-weight:700}*+.usa-display{margin-top:1.5em}.usa-display+*{margin-top:1em}}.usa-intro{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.34rem;line-height:1.8;font-weight:400;max-width:88ex}.usa-icon{display:inline-block;fill:currentColor;height:1em;position:relative;width:1em}.usa-icon--size-3{height:1.5rem;width:1.5rem}.usa-icon--size-4{height:2rem;width:2rem}.usa-icon--size-5{height:2.5rem;width:2.5rem}.usa-icon--size-6{height:3rem;width:3rem}.usa-icon--size-7{height:3.5rem;width:3.5rem}.usa-icon--size-8{height:4rem;width:4rem}.usa-icon--size-9{height:4.5rem;width:4.5rem}.usa-link{color:#005ea2;text-decoration:underline}.usa-link:visited{color:#54278f}.usa-link:hover{color:#1a4480}.usa-link:active{color:#162e51}.usa-link:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-link--external{display:inline}.usa-link--external::before{position:absolute;left:-999em;right:auto;content:\"External.\"}.usa-link--external[target=_blank]::before{position:absolute;left:-999em;right:auto;content:\"External, opens in a new tab.\"}.usa-link--external::after{background-image:url(\"../img/usa-icons/launch.svg\");background-repeat:no-repeat;background-position:center center;background-size:1.75ex 1.75ex;display:inline-block;height:1.75ex;width:1.75ex;content:\"\";display:inline;margin-top:.7ex;margin-left:2px;padding-left:1.75ex;vertical-align:middle}@supports(mask: url(\"\")){.usa-link--external::after{background:none;background-color:currentColor;mask-image:url(\"../img/usa-icons/launch.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1.75ex 1.75ex}}.usa-link--external.usa-link--alt{display:inline}.usa-link--external.usa-link--alt::before{position:absolute;left:-999em;right:auto;content:\"External.\"}.usa-link--external.usa-link--alt[target=_blank]::before{position:absolute;left:-999em;right:auto;content:\"External, opens in a new tab.\"}.usa-link--external.usa-link--alt::after{background-image:url(\"../img/usa-icons-bg/launch--white.svg\");background-repeat:no-repeat;background-position:center center;background-size:1.75ex 1.75ex;display:inline-block;height:1.75ex;width:1.75ex;content:\"\";display:inline;margin-top:.7ex;margin-left:2px;padding-left:1.75ex;vertical-align:middle}@supports(mask: url(\"\")){.usa-link--external.usa-link--alt::after{background:none;background-color:currentColor;mask-image:url(\"../img/usa-icons/launch.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1.75ex 1.75ex}}.usa-list{margin-bottom:1em;margin-top:1em;line-height:1.5;padding-left:3ch}.usa-list:last-child{margin-bottom:0}.usa-list ul,.usa-list ol{margin-top:.25em}.usa-list li{margin-bottom:.25em;max-width:68ex}.usa-list li:last-child{margin-bottom:0}.usa-list--unstyled{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-list--unstyled>li{margin-bottom:0;max-width:unset}.usa-prose .usa-list--unstyled{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-prose .usa-list--unstyled>li{margin-bottom:0;max-width:unset}.usa-paragraph{line-height:1.5;max-width:68ex;margin-bottom:0;margin-top:0}*+.usa-paragraph{margin-top:1em}.usa-paragraph+*{margin-top:1em}.usa-prose{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5}.usa-prose>ul,.usa-prose>ol{margin-bottom:1em;margin-top:1em;line-height:1.5;padding-left:3ch}.usa-prose>ul:last-child,.usa-prose>ol:last-child{margin-bottom:0}.usa-prose>ul ul,.usa-prose>ul ol,.usa-prose>ol ul,.usa-prose>ol ol{margin-top:.25em}.usa-prose>ul li,.usa-prose>ol li{margin-bottom:.25em;max-width:68ex}.usa-prose>ul li:last-child,.usa-prose>ol li:last-child{margin-bottom:0}.usa-prose>table{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;border-collapse:collapse;border-spacing:0;color:#1b1b1b;margin:1.25rem 0;text-align:left}.usa-prose>table thead th{background-clip:padding-box;color:#1b1b1b;font-weight:700;line-height:1.3}.usa-prose>table thead th,.usa-prose>table thead td{background-color:#dfe1e2;color:#1b1b1b}.usa-prose>table tbody th{text-align:left}.usa-prose>table th,.usa-prose>table td{background-color:#fff;border:1px solid #1b1b1b;font-weight:normal;padding:.5rem 1rem}.usa-prose>table caption{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1rem;font-weight:700;margin-bottom:.75rem;text-align:left}.usa-prose>table th[data-sortable]{padding-right:2.5rem;position:relative}.usa-prose>table th[data-sortable]::after{border-bottom-color:rgba(0,0,0,0);border-bottom-style:solid;border-bottom-width:1px;bottom:0;content:\"\";height:0;left:0;position:absolute;width:100%}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button{color:#005ea2;text-decoration:underline;background-color:rgba(0,0,0,0);border:0;border-radius:0;box-shadow:none;font-weight:normal;justify-content:normal;text-align:left;margin:0;padding:0;height:2rem;width:2rem;background-position:center center;background-size:1.5rem;color:#71767a;cursor:pointer;display:inline-block;margin:0;position:absolute;right:.25rem;text-align:center;text-decoration:none;top:50%;transform:translate(0, -50%)}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:visited,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:visited{color:#54278f}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:hover{color:#1a4480}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:active{color:#162e51}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:focus,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled.usa-button--hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:active,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--active,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:active,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:active,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled.usa-button--active,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:focus,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled.usa-focus,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true].usa-focus,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--disabled,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled.usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled.usa-button--active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:focus,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled.usa-focus,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true].usa-focus,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--disabled{background-color:rgba(0,0,0,0);box-shadow:none;text-decoration:underline}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--hover{color:#1a4480}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--active{color:#162e51}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:focus{color:#757575}@media(forced-colors: active){.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:focus{color:GrayText}}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button .usa-icon{height:1.5rem;width:1.5rem;vertical-align:middle}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon>g,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button .usa-icon>g{fill:rgba(0,0,0,0)}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon>g.unsorted,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button .usa-icon>g.unsorted{fill:#1b1b1b}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover .usa-icon>g.unsorted,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:hover .usa-icon>g.unsorted{fill:#000}.usa-prose>table th[data-sortable][aria-sort=descending],.usa-prose>table th[data-sortable][aria-sort=ascending]{background-color:#97d4ea}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button{color:#005ea2;text-decoration:underline;background-color:rgba(0,0,0,0);border:0;border-radius:0;box-shadow:none;font-weight:normal;justify-content:normal;text-align:left;margin:0;padding:0;height:2rem;width:2rem;background-position:center center;background-size:1.5rem;color:#71767a;cursor:pointer;display:inline-block;margin:0;position:absolute;right:.25rem;text-align:center;text-decoration:none;top:50%;transform:translate(0, -50%)}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:visited{color:#54278f}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:hover{color:#1a4480}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:active{color:#162e51}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled.usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:active,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--active,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:active,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:active,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled.usa-button--active,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:focus,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled.usa-focus,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true].usa-focus,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--disabled{background-color:rgba(0,0,0,0);box-shadow:none;text-decoration:underline}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--hover{color:#1a4480}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--active{color:#162e51}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:focus{color:#757575}@media(forced-colors: active){.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:focus{color:GrayText}}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button .usa-icon{height:1.5rem;width:1.5rem;vertical-align:middle}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button .usa-icon>g{fill:rgba(0,0,0,0)}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button .usa-icon>g.descending{fill:#1b1b1b}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button{color:#005ea2;text-decoration:underline;background-color:rgba(0,0,0,0);border:0;border-radius:0;box-shadow:none;font-weight:normal;justify-content:normal;text-align:left;margin:0;padding:0;height:2rem;width:2rem;background-position:center center;background-size:1.5rem;color:#71767a;cursor:pointer;display:inline-block;margin:0;position:absolute;right:.25rem;text-align:center;text-decoration:none;top:50%;transform:translate(0, -50%)}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:visited{color:#54278f}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:hover{color:#1a4480}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:active{color:#162e51}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled.usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:active,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--active,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:active,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:active,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled.usa-button--active,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:focus,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled.usa-focus,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true].usa-focus,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--disabled{background-color:rgba(0,0,0,0);box-shadow:none;text-decoration:underline}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--hover{color:#1a4480}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--active{color:#162e51}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:focus{color:#757575}@media(forced-colors: active){.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:focus{color:GrayText}}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button .usa-icon{height:1.5rem;width:1.5rem;vertical-align:middle}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button .usa-icon>g{fill:rgba(0,0,0,0)}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button .usa-icon>g.ascending{fill:#1b1b1b}.usa-prose>table thead th[aria-sort]{background-color:#97d4ea;color:#1b1b1b}.usa-prose>table td[data-sort-active],.usa-prose>table th[data-sort-active]{background-color:#e1f3f8;color:#1b1b1b}.usa-prose>.usa-table--borderless thead th{background-color:#fff;border-top:0;color:#1b1b1b}.usa-prose>.usa-table--borderless thead th[aria-sort]{color:#1b1b1b}.usa-prose>.usa-table--borderless thead th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon>g.unsorted{fill:#1b1b1b}.usa-prose>.usa-table--borderless thead th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover .usa-icon>g.unsorted{fill:#000}.usa-prose>.usa-table--borderless th,.usa-prose>.usa-table--borderless td{border-left:0;border-right:0}.usa-prose>.usa-table--compact th,.usa-prose>.usa-table--compact td{padding:.25rem .75rem}.usa-prose>.usa-table--striped tbody tr:nth-child(odd) td,.usa-prose>.usa-table--striped tbody tr:nth-child(odd) th{background-color:#f0f0f0;color:#1b1b1b}.usa-prose>.usa-table--striped tbody tr:nth-child(odd) td[data-sort-active],.usa-prose>.usa-table--striped tbody tr:nth-child(odd) th[data-sort-active]{background-color:#c3ebfa;color:#1b1b1b}@media all and (max-width: 29.99em){.usa-prose>.usa-table--stacked thead{display:none}.usa-prose>.usa-table--stacked th,.usa-prose>.usa-table--stacked td{border-bottom-width:0;display:block;width:100%}.usa-prose>.usa-table--stacked tr{border-bottom:.25rem solid #1b1b1b;border-top-width:0;width:100%}.usa-prose>.usa-table--stacked tr th:first-child,.usa-prose>.usa-table--stacked tr td:first-child{border-top-width:0}.usa-prose>.usa-table--stacked tr:nth-child(odd) td,.usa-prose>.usa-table--stacked tr:nth-child(odd) th{background-color:inherit}.usa-prose>.usa-table--stacked tr:first-child th:first-child,.usa-prose>.usa-table--stacked tr:first-child td:first-child{border-top:.25rem solid #1b1b1b}.usa-prose>.usa-table--stacked th[data-label],.usa-prose>.usa-table--stacked td[data-label]{padding-bottom:.75rem}.usa-prose>.usa-table--stacked th[data-label]:before,.usa-prose>.usa-table--stacked td[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-0.5rem -1rem 0rem;padding:.75rem 1rem .25rem}}@media all and (max-width: 29.99em){.usa-prose>.usa-table--stacked-header thead{display:none}.usa-prose>.usa-table--stacked-header th,.usa-prose>.usa-table--stacked-header td{border-bottom-width:0;display:block;width:100%}.usa-prose>.usa-table--stacked-header tr{border-bottom:.25rem solid #1b1b1b;border-top-width:0;width:100%}.usa-prose>.usa-table--stacked-header tr th:first-child,.usa-prose>.usa-table--stacked-header tr td:first-child{border-top-width:0}.usa-prose>.usa-table--stacked-header tr:nth-child(odd) td,.usa-prose>.usa-table--stacked-header tr:nth-child(odd) th{background-color:inherit}.usa-prose>.usa-table--stacked-header tr:first-child th:first-child,.usa-prose>.usa-table--stacked-header tr:first-child td:first-child{border-top:.25rem solid #1b1b1b}.usa-prose>.usa-table--stacked-header th[data-label],.usa-prose>.usa-table--stacked-header td[data-label]{padding-bottom:.75rem}.usa-prose>.usa-table--stacked-header th[data-label]:before,.usa-prose>.usa-table--stacked-header td[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-0.5rem -1rem 0rem;padding:.75rem 1rem .25rem}.usa-prose>.usa-table--stacked-header tr td:first-child,.usa-prose>.usa-table--stacked-header tr th:first-child{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.1;background-color:#dfe1e2;color:#1b1b1b;font-weight:700;padding:.75rem 1rem}.usa-prose>.usa-table--stacked-header tr td:first-child:before,.usa-prose>.usa-table--stacked-header tr th:first-child:before{display:none}}.usa-prose>.width-mobile .usa-table--stacked thead{display:none}.usa-prose>.width-mobile .usa-table--stacked th,.usa-prose>.width-mobile .usa-table--stacked td{border-bottom-width:0;display:block;width:100%}.usa-prose>.width-mobile .usa-table--stacked tr{border-bottom:.25rem solid #1b1b1b;border-top-width:0;width:100%}.usa-prose>.width-mobile .usa-table--stacked tr th:first-child,.usa-prose>.width-mobile .usa-table--stacked tr td:first-child{border-top-width:0}.usa-prose>.width-mobile .usa-table--stacked tr:nth-child(odd) td,.usa-prose>.width-mobile .usa-table--stacked tr:nth-child(odd) th{background-color:inherit}.usa-prose>.width-mobile .usa-table--stacked tr:first-child th:first-child,.usa-prose>.width-mobile .usa-table--stacked tr:first-child td:first-child{border-top:.25rem solid #1b1b1b}.usa-prose>.width-mobile .usa-table--stacked th[data-label],.usa-prose>.width-mobile .usa-table--stacked td[data-label]{padding-bottom:.75rem}.usa-prose>.width-mobile .usa-table--stacked th[data-label]:before,.usa-prose>.width-mobile .usa-table--stacked td[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-0.5rem -1rem 0rem;padding:.75rem 1rem .25rem}.usa-prose>.width-mobile .usa-table--stacked-header thead{display:none}.usa-prose>.width-mobile .usa-table--stacked-header th,.usa-prose>.width-mobile .usa-table--stacked-header td{border-bottom-width:0;display:block;width:100%}.usa-prose>.width-mobile .usa-table--stacked-header tr{border-bottom:.25rem solid #1b1b1b;border-top-width:0;width:100%}.usa-prose>.width-mobile .usa-table--stacked-header tr th:first-child,.usa-prose>.width-mobile .usa-table--stacked-header tr td:first-child{border-top-width:0}.usa-prose>.width-mobile .usa-table--stacked-header tr:nth-child(odd) td,.usa-prose>.width-mobile .usa-table--stacked-header tr:nth-child(odd) th{background-color:inherit}.usa-prose>.width-mobile .usa-table--stacked-header tr:first-child th:first-child,.usa-prose>.width-mobile .usa-table--stacked-header tr:first-child td:first-child{border-top:.25rem solid #1b1b1b}.usa-prose>.width-mobile .usa-table--stacked-header th[data-label],.usa-prose>.width-mobile .usa-table--stacked-header td[data-label]{padding-bottom:.75rem}.usa-prose>.width-mobile .usa-table--stacked-header th[data-label]:before,.usa-prose>.width-mobile .usa-table--stacked-header td[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-0.5rem -1rem 0rem;padding:.75rem 1rem .25rem}.usa-prose>.width-mobile .usa-table--stacked-header tr td:first-child,.usa-prose>.width-mobile .usa-table--stacked-header tr th:first-child{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.1;background-color:#dfe1e2;color:#1b1b1b;font-weight:700;padding:.75rem 1rem}.usa-prose>.width-mobile .usa-table--stacked-header tr td:first-child:before,.usa-prose>.width-mobile .usa-table--stacked-header tr th:first-child:before{display:none}.usa-prose>.usa-table-container--scrollable{margin:1.25rem 0;overflow-y:hidden}.usa-prose>.usa-table-container--scrollable .usa-table{margin:0}.usa-prose>.usa-table-container--scrollable td{white-space:nowrap}.usa-prose>p{line-height:1.5;max-width:68ex}.usa-prose>h1,.usa-prose>h2,.usa-prose>h3,.usa-prose>h4,.usa-prose>h5,.usa-prose>h6{margin-bottom:0;margin-top:0;clear:both}.usa-prose>*+*{margin-top:1em;margin-bottom:0}.usa-prose>*+h1,.usa-prose>*+h2,.usa-prose>*+h3,.usa-prose>*+h4,.usa-prose>*+h5,.usa-prose>*+h6{margin-top:1.5em}.usa-prose>h1{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.44rem;line-height:1.2;font-weight:700}.usa-prose>h2{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.95rem;line-height:1.2;font-weight:700}.usa-prose>h3{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.34rem;line-height:1.2;font-weight:700}.usa-prose>h4{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.98rem;line-height:1.2;font-weight:700}.usa-prose>h5{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.91rem;line-height:1.2;font-weight:700}.usa-prose>h6{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:.87rem;line-height:1.1;font-weight:normal;letter-spacing:.025em;text-transform:uppercase}.usa-accordion{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;color:#1b1b1b;margin:0;padding:0;width:100%;font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5}.usa-accordion>li{margin-bottom:0;max-width:unset}.usa-accordion>ul li ul{list-style:disc}.usa-accordion>ul li ul>li>ul{list-style:circle}.usa-accordion>ul li ul>li>ul>li>ul{list-style:square}.usa-accordion+.usa-accordion,.usa-accordion+.usa-accordion--bordered{margin-top:.5rem}.usa-accordion--bordered .usa-accordion__content{border-bottom:.25rem solid #f0f0f0;border-left:.25rem solid #f0f0f0;border-right:.25rem solid #f0f0f0;padding-bottom:1rem}.usa-accordion--bordered .usa-accordion__heading{margin-bottom:0}.usa-accordion__heading,.usa-prose .usa-accordion__heading{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:.9;margin:0}.usa-accordion__heading:not(:first-child),.usa-prose .usa-accordion__heading:not(:first-child){margin-top:.5rem}.usa-accordion__content{color:#1b1b1b;background-color:#fff;margin-top:0;overflow:auto;padding:1rem 1.25rem calc(1rem - 0.25rem) 1.25rem}.usa-accordion__content>*:first-child{margin-top:0}.usa-accordion__content>*:last-child{margin-bottom:0}.usa-accordion__button{color:#005ea2;text-decoration:underline;background-color:rgba(0,0,0,0);border:0;border-radius:0;box-shadow:none;font-weight:normal;justify-content:normal;text-align:left;margin:0;padding:0;color:#1b1b1b;background-color:#f0f0f0;background-image:url(\"../img/usa-icons/remove.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat;background-position:right 1.25rem center;background-size:1.5rem;cursor:pointer;display:inline-block;font-weight:700;margin:0;padding:1rem 3.5rem 1rem 1.25rem;text-decoration:none;width:100%}.usa-accordion__button:visited{color:#54278f}.usa-accordion__button:hover{color:#1a4480}.usa-accordion__button:active{color:#162e51}.usa-accordion__button:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-accordion__button:hover,.usa-accordion__button.usa-button--hover,.usa-accordion__button:disabled:hover,.usa-accordion__button[aria-disabled=true]:hover,.usa-accordion__button:disabled.usa-button--hover,.usa-accordion__button[aria-disabled=true].usa-button--hover,.usa-accordion__button:active,.usa-accordion__button.usa-button--active,.usa-accordion__button:disabled:active,.usa-accordion__button[aria-disabled=true]:active,.usa-accordion__button:disabled.usa-button--active,.usa-accordion__button[aria-disabled=true].usa-button--active,.usa-accordion__button:disabled:focus,.usa-accordion__button[aria-disabled=true]:focus,.usa-accordion__button:disabled.usa-focus,.usa-accordion__button[aria-disabled=true].usa-focus,.usa-accordion__button:disabled,.usa-accordion__button[aria-disabled=true],.usa-accordion__button.usa-button--disabled{background-color:rgba(0,0,0,0);box-shadow:none;text-decoration:underline}.usa-accordion__button.usa-button--hover{color:#1a4480}.usa-accordion__button.usa-button--active{color:#162e51}.usa-accordion__button:disabled,.usa-accordion__button[aria-disabled=true],.usa-accordion__button:disabled:hover,.usa-accordion__button[aria-disabled=true]:hover,.usa-accordion__button[aria-disabled=true]:focus{color:#757575}@media(forced-colors: active){.usa-accordion__button:disabled,.usa-accordion__button[aria-disabled=true],.usa-accordion__button:disabled:hover,.usa-accordion__button[aria-disabled=true]:hover,.usa-accordion__button[aria-disabled=true]:focus{color:GrayText}}.usa-accordion__button:hover{color:#1b1b1b;background-color:#dfe1e2;background-image:url(\"../img/usa-icons/remove.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat;text-decoration:none}@media(forced-colors: active){.usa-accordion__button{border:2px solid rgba(0,0,0,0);position:relative}.usa-accordion__button::before{background-image:url(\"../img/usa-icons/remove.svg\");background-repeat:no-repeat;background-position:center center;background-size:1.5rem 1.5rem;display:inline-block;height:1.5rem;width:1.5rem;height:100%;position:absolute;right:1.25rem;top:0;content:\"\"}@supports(mask: url(\"\")){.usa-accordion__button::before{background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/remove.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1.5rem 1.5rem}}}.usa-accordion__button[aria-expanded=false]{background-image:url(\"../img/usa-icons/add.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat;background-size:1.5rem}.usa-accordion__button[aria-expanded=false]:hover{background-image:url(\"../img/usa-icons/add.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat}@media(forced-colors: active){.usa-accordion__button[aria-expanded=false]::before{background-image:url(\"../img/usa-icons/add.svg\");background-repeat:no-repeat;background-position:center center;background-size:1.5rem 1.5rem;display:inline-block;height:1.5rem;width:1.5rem;height:100%;position:absolute;right:1.25rem;top:0}@supports(mask: url(\"\")){.usa-accordion__button[aria-expanded=false]::before{background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/add.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1.5rem 1.5rem}}}.usa-alert{background-color:#f0f0f0;border-left:.5rem solid #a9aeb1;color:#1b1b1b}.usa-alert .usa-alert__body{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;margin-left:auto;margin-right:auto;max-width:64rem;padding-bottom:1rem;padding-top:1rem;padding-left:1rem;padding-right:1rem;position:relative}@media all and (min-width: 64em){.usa-alert .usa-alert__body{padding-left:1.8333333333rem}}.usa-alert .usa-alert__text{margin-bottom:0;margin-top:0}.usa-alert .usa-alert__text:only-child{padding-bottom:0;padding-top:0}.usa-alert .usa-alert__heading{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.46rem;line-height:.9;margin-top:0;margin-bottom:.5rem}.usa-alert>.usa-list,.usa-alert .usa-alert__body>.usa-list{padding-left:2ch}.usa-alert>.usa-list:last-child,.usa-alert .usa-alert__body>.usa-list:last-child{margin-bottom:0}*+.usa-alert{margin-top:1rem}.usa-alert--success{background-color:#ecf3ec;border-left-color:#00a91c}.usa-alert--success .usa-alert__body{color:#1b1b1b;background-color:#ecf3ec;padding-left:2.9166666667rem}.usa-alert--success .usa-alert__body::before{background-image:url(\"../img/usa-icons/check_circle.svg\");background-repeat:no-repeat;background-position:center center;background-size:2rem 2rem;display:inline-block;height:2rem;width:2rem;content:\"\";display:block;left:.5rem;position:absolute;top:.75rem}@supports(mask: url(\"\")){.usa-alert--success .usa-alert__body::before{background:none;background-color:#1b1b1b;mask-image:url(\"../img/usa-icons/check_circle.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2rem 2rem}}@media all and (min-width: 64em){.usa-alert--success .usa-alert__body::before{left:1.5rem}}@media all and (min-width: 64em){.usa-alert--success .usa-alert__body{padding-left:4rem;padding-right:4rem}}.usa-alert--success .usa-alert__body .usa-link{color:#005ea2}.usa-alert--success .usa-alert__body .usa-link:visited{color:#54278f}.usa-alert--success .usa-alert__body .usa-link:hover,.usa-alert--success .usa-alert__body .usa-link:active{color:#1a4480}.usa-alert--warning{background-color:#faf3d1;border-left-color:#ffbe2e}.usa-alert--warning .usa-alert__body{color:#1b1b1b;background-color:#faf3d1;padding-left:2.9166666667rem}.usa-alert--warning .usa-alert__body::before{background-image:url(\"../img/usa-icons/warning.svg\");background-repeat:no-repeat;background-position:center center;background-size:2rem 2rem;display:inline-block;height:2rem;width:2rem;content:\"\";display:block;left:.5rem;position:absolute;top:.75rem}@supports(mask: url(\"\")){.usa-alert--warning .usa-alert__body::before{background:none;background-color:#1b1b1b;mask-image:url(\"../img/usa-icons/warning.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2rem 2rem}}@media all and (min-width: 64em){.usa-alert--warning .usa-alert__body::before{left:1.5rem}}@media all and (min-width: 64em){.usa-alert--warning .usa-alert__body{padding-left:4rem;padding-right:4rem}}.usa-alert--warning .usa-alert__body .usa-link{color:#005ea2}.usa-alert--warning .usa-alert__body .usa-link:visited{color:#54278f}.usa-alert--warning .usa-alert__body .usa-link:hover,.usa-alert--warning .usa-alert__body .usa-link:active{color:#1a4480}.usa-alert--error{background-color:#f4e3db;border-left-color:#d54309}.usa-alert--error .usa-alert__body{color:#1b1b1b;background-color:#f4e3db;padding-left:2.9166666667rem}.usa-alert--error .usa-alert__body::before{background-image:url(\"../img/usa-icons/error.svg\");background-repeat:no-repeat;background-position:center center;background-size:2rem 2rem;display:inline-block;height:2rem;width:2rem;content:\"\";display:block;left:.5rem;position:absolute;top:.75rem}@supports(mask: url(\"\")){.usa-alert--error .usa-alert__body::before{background:none;background-color:#1b1b1b;mask-image:url(\"../img/usa-icons/error.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2rem 2rem}}@media all and (min-width: 64em){.usa-alert--error .usa-alert__body::before{left:1.5rem}}@media all and (min-width: 64em){.usa-alert--error .usa-alert__body{padding-left:4rem;padding-right:4rem}}.usa-alert--error .usa-alert__body .usa-link{color:#005ea2}.usa-alert--error .usa-alert__body .usa-link:visited{color:#54278f}.usa-alert--error .usa-alert__body .usa-link:hover,.usa-alert--error .usa-alert__body .usa-link:active{color:#1a4480}.usa-alert--info{background-color:#e7f6f8;border-left-color:#00bde3}.usa-alert--info .usa-alert__body{color:#1b1b1b;background-color:#e7f6f8;padding-left:2.9166666667rem}.usa-alert--info .usa-alert__body::before{background-image:url(\"../img/usa-icons/info.svg\");background-repeat:no-repeat;background-position:center center;background-size:2rem 2rem;display:inline-block;height:2rem;width:2rem;content:\"\";display:block;left:.5rem;position:absolute;top:.75rem}@supports(mask: url(\"\")){.usa-alert--info .usa-alert__body::before{background:none;background-color:#1b1b1b;mask-image:url(\"../img/usa-icons/info.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2rem 2rem}}@media all and (min-width: 64em){.usa-alert--info .usa-alert__body::before{left:1.5rem}}@media all and (min-width: 64em){.usa-alert--info .usa-alert__body{padding-left:4rem;padding-right:4rem}}.usa-alert--info .usa-alert__body .usa-link{color:#005ea2}.usa-alert--info .usa-alert__body .usa-link:visited{color:#54278f}.usa-alert--info .usa-alert__body .usa-link:hover,.usa-alert--info .usa-alert__body .usa-link:active{color:#1a4480}.usa-alert--emergency{background-color:#9c3d10;border-left-color:#9c3d10}.usa-alert--emergency .usa-alert__body{color:#fff;background-color:#9c3d10;padding-left:2.9166666667rem}.usa-alert--emergency .usa-alert__body::before{background-image:url(\"../img/usa-icons-bg/error--white.svg\");background-repeat:no-repeat;background-position:center center;background-size:2rem 2rem;display:inline-block;height:2rem;width:2rem;content:\"\";display:block;left:.5rem;position:absolute;top:.75rem}@supports(mask: url(\"\")){.usa-alert--emergency .usa-alert__body::before{background:none;background-color:#fff;mask-image:url(\"../img/usa-icons/error.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2rem 2rem}}@media all and (min-width: 64em){.usa-alert--emergency .usa-alert__body::before{left:1.5rem}}@media all and (min-width: 64em){.usa-alert--emergency .usa-alert__body{padding-left:4rem;padding-right:4rem}}.usa-alert--emergency .usa-alert__body .usa-link{color:#dfe1e2}.usa-alert--emergency .usa-alert__body .usa-link:visited{color:#dfe1e2}.usa-alert--emergency .usa-alert__body .usa-link:hover,.usa-alert--emergency .usa-alert__body .usa-link:active{color:#f0f0f0}.usa-alert--slim .usa-alert__body{padding-bottom:.5rem;padding-top:.5rem;padding-left:2.4166666667rem}.usa-alert--slim .usa-alert__body:before{background-size:1.5rem;height:1.5rem;top:.5rem;width:1.5rem}@supports(mask: url(\"\")){.usa-alert--slim .usa-alert__body:before{mask-size:1.5rem}}@media all and (min-width: 64em){.usa-alert--slim .usa-alert__body{padding-left:3.5rem}}.usa-alert--no-icon .usa-alert__body{padding-left:.5rem}.usa-alert--no-icon .usa-alert__body:before{display:none}@media all and (min-width: 64em){.usa-alert--no-icon .usa-alert__body{padding-left:1.8333333333rem}}.usa-alert--validation .usa-checklist{margin-top:1rem}.usa-banner{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;background-color:#f0f0f0}@media all and (min-width: 40em){.usa-banner{font-size:.87rem;padding-bottom:0rem}}.usa-banner .usa-accordion{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5}.usa-banner .grid-row{display:flex;flex-wrap:wrap}.usa-banner .grid-row.grid-gap-lg{margin-left:-0.75rem;margin-right:-0.75rem}.usa-banner .grid-row.grid-gap-lg>*{padding-left:.75rem;padding-right:.75rem}@media all and (min-width: 40em){.usa-banner .grid-row .tablet\\:grid-col-6{flex:0 1 auto;width:50%}}.usa-banner__header,.usa-banner__content{color:#1b1b1b}.usa-banner__content{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem;padding-left:1rem;padding-right:1rem;background-color:rgba(0,0,0,0);font-size:1rem;overflow:hidden;padding-bottom:1rem;padding-left:.5rem;padding-top:.25rem;width:100%}@media all and (min-width: 64em){.usa-banner__content{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 64em){.usa-banner__content{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 40em){.usa-banner__content{padding-bottom:1.5rem;padding-top:1.5rem}}.usa-banner__content p:first-child{margin:0}.usa-banner__guidance{display:flex;align-items:flex-start;max-width:64ex;padding-top:1rem}@media all and (min-width: 40em){.usa-banner__guidance{padding-top:0rem}}.usa-banner__lock-image{height:1.5ex;width:1.21875ex}.usa-banner__lock-image path{fill:currentColor}@media(forced-colors: active){.usa-banner__lock-image path{fill:CanvasText}}.usa-banner__inner{padding-left:1rem;padding-right:1rem;margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem;display:flex;flex-wrap:wrap;align-items:flex-start;padding-right:0rem}@media all and (min-width: 64em){.usa-banner__inner{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 64em){.usa-banner__inner{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 40em){.usa-banner__inner{align-items:center}}.usa-banner__header{padding-bottom:.5rem;padding-top:.5rem;font-size:.8rem;font-weight:normal;min-height:3rem;position:relative}@media all and (min-width: 40em){.usa-banner__header{padding-bottom:.25rem;padding-top:.25rem;min-height:0}}.usa-banner__header-text{margin-bottom:0;margin-top:0;font-size:.8rem;line-height:1.1}.usa-banner__header-action{color:#005ea2;line-height:1.1;margin-bottom:0rem;margin-top:2px;text-decoration:underline}.usa-banner__header-action::after{background-image:url(\"../img/usa-icons/expand_more.svg\");background-repeat:no-repeat;background-position:center center;background-size:1rem 1rem;display:inline-block;height:1rem;width:1rem;content:\"\";vertical-align:middle;margin-left:auto}@supports(mask: url(\"\")){.usa-banner__header-action::after{background:none;background-color:#005ea2;mask-image:url(\"../img/usa-icons/expand_more.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1rem 1rem}.usa-banner__header-action::after:hover{background-color:#1a4480}}.usa-banner__header-action:hover::after{content:\"\";background-color:#1a4480}.usa-banner__header-action:visited{color:#54278f}.usa-banner__header-action:hover,.usa-banner__header-action:active{color:#1a4480}.usa-banner__header--expanded .usa-banner__header-action{display:none}@media all and (min-width: 40em){.usa-banner__header-action{display:none}}@media(forced-colors: active){.usa-banner__header-action{color:LinkText}.usa-banner__header-action::after{background-color:ButtonText}}.usa-banner__header-flag{float:left;margin-right:.5rem;width:1rem}@media all and (min-width: 40em){.usa-banner__header-flag{margin-right:.5rem;padding-top:0rem}}.usa-banner__header--expanded{padding-right:3.5rem}@media all and (min-width: 40em){.usa-banner__header--expanded{background-color:rgba(0,0,0,0);display:block;font-size:.8rem;font-weight:normal;min-height:0rem;padding-right:0rem}}.usa-banner__header--expanded .usa-banner__inner{margin-left:0rem}@media all and (min-width: 40em){.usa-banner__header--expanded .usa-banner__inner{margin-left:auto}}.usa-banner__header--expanded .usa-banner__header-action{display:none}.usa-banner__button{color:#005ea2;text-decoration:underline;background-color:rgba(0,0,0,0);border:0;border-radius:0;box-shadow:none;font-weight:normal;justify-content:normal;text-align:left;margin:0;padding:0;position:absolute;left:0;position:absolute;bottom:0;top:0;color:#005ea2;text-decoration:underline;color:#005ea2;display:block;font-size:.8rem;height:auto;line-height:1.1;padding-top:0rem;padding-left:0rem;text-decoration:none;width:auto}.usa-banner__button:visited{color:#54278f}.usa-banner__button:hover{color:#1a4480}.usa-banner__button:active{color:#162e51}.usa-banner__button:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-banner__button:hover,.usa-banner__button.usa-button--hover,.usa-banner__button:disabled:hover,.usa-banner__button[aria-disabled=true]:hover,.usa-banner__button:disabled.usa-button--hover,.usa-banner__button[aria-disabled=true].usa-button--hover,.usa-banner__button:active,.usa-banner__button.usa-button--active,.usa-banner__button:disabled:active,.usa-banner__button[aria-disabled=true]:active,.usa-banner__button:disabled.usa-button--active,.usa-banner__button[aria-disabled=true].usa-button--active,.usa-banner__button:disabled:focus,.usa-banner__button[aria-disabled=true]:focus,.usa-banner__button:disabled.usa-focus,.usa-banner__button[aria-disabled=true].usa-focus,.usa-banner__button:disabled,.usa-banner__button[aria-disabled=true],.usa-banner__button.usa-button--disabled{background-color:rgba(0,0,0,0);box-shadow:none;text-decoration:underline}.usa-banner__button.usa-button--hover{color:#1a4480}.usa-banner__button.usa-button--active{color:#162e51}.usa-banner__button:disabled,.usa-banner__button[aria-disabled=true],.usa-banner__button:disabled:hover,.usa-banner__button[aria-disabled=true]:hover,.usa-banner__button[aria-disabled=true]:focus{color:#757575}@media(forced-colors: active){.usa-banner__button:disabled,.usa-banner__button[aria-disabled=true],.usa-banner__button:disabled:hover,.usa-banner__button[aria-disabled=true]:hover,.usa-banner__button[aria-disabled=true]:focus{color:GrayText}}.usa-banner__button:visited{color:#54278f}.usa-banner__button:hover,.usa-banner__button:active{color:#1a4480}@media all and (max-width: 39.99em){.usa-banner__button{width:100%}.usa-banner__button:enabled:focus{outline-offset:-0.25rem}}@media all and (min-width: 40em){.usa-banner__button{color:#005ea2;position:static;bottom:auto;left:auto;right:auto;top:auto;display:inline;margin-left:.5rem;position:relative}.usa-banner__button::after{background-image:url(\"../img/usa-icons/expand_more.svg\");background-repeat:no-repeat;background-position:center center;background-size:1rem 1rem;display:inline-block;height:1rem;width:1rem;content:\"\";vertical-align:middle;margin-left:2px}@supports(mask: url(\"\")){.usa-banner__button::after{background:none;background-color:#005ea2;mask-image:url(\"../img/usa-icons/expand_more.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1rem 1rem}.usa-banner__button::after:hover{background-color:#1a4480}}.usa-banner__button:hover::after{content:\"\";background-color:#1a4480}.usa-banner__button:visited{color:#54278f}.usa-banner__button:hover,.usa-banner__button:active{color:#1a4480}.usa-banner__button::after,.usa-banner__button:hover::after{position:absolute}}@media(min-width: 40em)and (forced-colors: active){.usa-banner__button::after,.usa-banner__button:hover::after{background-color:ButtonText}}@media all and (min-width: 40em){.usa-banner__button:hover{text-decoration:none}}.usa-banner__button[aria-expanded=false],.usa-banner__button[aria-expanded=false]:hover,.usa-banner__button[aria-expanded=true],.usa-banner__button[aria-expanded=true]:hover{background-image:none}@media(forced-colors: active){.usa-banner__button[aria-expanded=false]::before,.usa-banner__button[aria-expanded=false]:hover::before,.usa-banner__button[aria-expanded=true]::before,.usa-banner__button[aria-expanded=true]:hover::before{content:none}}@media all and (max-width: 39.99em){.usa-banner__button[aria-expanded=true]::after{background-image:url(\"../img/usa-icons/close.svg\");background-repeat:no-repeat;background-position:center center;background-size:1.5rem 1.5rem;display:inline-block;height:3rem;width:3rem;content:\"\";vertical-align:middle;margin-left:0rem}@supports(mask: url(\"\")){.usa-banner__button[aria-expanded=true]::after{background:none;background-color:#005ea2;mask-image:url(\"../img/usa-icons/close.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1.5rem 1.5rem}}.usa-banner__button[aria-expanded=true]::before{position:absolute;bottom:0;top:0;position:absolute;right:0;background-color:#dfe1e2;content:\"\";display:block;height:3rem;width:3rem}.usa-banner__button[aria-expanded=true]::after{position:absolute;bottom:0;top:0;position:absolute;right:0}}@media all and (min-width: 40em){.usa-banner__button[aria-expanded=true]{height:auto;padding:0rem;position:relative}.usa-banner__button[aria-expanded=true]::after{background-image:url(\"../img/usa-icons/expand_less.svg\");background-repeat:no-repeat;background-position:center center;background-size:1rem 1rem;display:inline-block;height:1rem;width:1rem;content:\"\";vertical-align:middle;margin-left:2px}@supports(mask: url(\"\")){.usa-banner__button[aria-expanded=true]::after{background:none;background-color:#005ea2;mask-image:url(\"../img/usa-icons/expand_less.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1rem 1rem}.usa-banner__button[aria-expanded=true]::after:hover{background-color:#1a4480}}.usa-banner__button[aria-expanded=true]:hover::after{content:\"\";background-color:#1a4480}.usa-banner__button[aria-expanded=true]::after,.usa-banner__button[aria-expanded=true]:hover::after{position:absolute}}@media(min-width: 40em)and (forced-colors: active){.usa-banner__button[aria-expanded=true]::after,.usa-banner__button[aria-expanded=true]:hover::after{background-color:ButtonText}}.usa-banner__button-text{position:absolute;left:-999em;right:auto;text-decoration:underline}@media all and (min-width: 40em){.usa-banner__button-text{position:static;display:inline}}@media(forced-colors: active){.usa-banner__button-text{color:LinkText}}.usa-banner__icon{width:2.5rem}.usa-js-loading .usa-banner__content{position:absolute;left:-999em;right:auto}.usa-breadcrumb{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.3;color:#1b1b1b;background-color:#fff;padding-left:0;padding-right:0}@media all and (min-width: 30em){.usa-breadcrumb{padding-bottom:1rem;padding-top:1rem}}@media all and (min-width: 30em){.usa-breadcrumb:not(.usa-breadcrumb--wrap) .usa-breadcrumb__list{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}}.usa-breadcrumb__list{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;display:block;padding:.25rem;margin-left:-0.25rem;margin-right:-0.25rem}.usa-breadcrumb__list>li{margin-bottom:0;max-width:unset}.usa-breadcrumb__list-item{position:absolute;left:-999em;right:auto;display:inline}@media all and (max-width: 29.99em){.usa-breadcrumb__list-item{white-space:normal}.usa-breadcrumb__list-item:nth-last-child(2){position:static}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link{color:#005ea2;text-decoration:underline;background-color:rgba(0,0,0,0);border:0;border-radius:0;box-shadow:none;font-weight:normal;justify-content:normal;text-align:left;margin:0;padding:0;padding-left:calc(2ex + 0px);text-indent:calc((2ex + 0px)*-1);color:#005ea2;display:inline-block;padding-bottom:1rem;padding-top:1rem}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:visited{color:#54278f}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:hover{color:#1a4480}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:active{color:#162e51}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:hover,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link.usa-button--hover,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:disabled:hover,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link[aria-disabled=true]:hover,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:disabled.usa-button--hover,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link[aria-disabled=true].usa-button--hover,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:active,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link.usa-button--active,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:disabled:active,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link[aria-disabled=true]:active,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:disabled.usa-button--active,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link[aria-disabled=true].usa-button--active,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:disabled:focus,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link[aria-disabled=true]:focus,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:disabled.usa-focus,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link[aria-disabled=true].usa-focus,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:disabled,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link[aria-disabled=true],.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link.usa-button--disabled{background-color:rgba(0,0,0,0);box-shadow:none;text-decoration:underline}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link.usa-button--hover{color:#1a4480}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link.usa-button--active{color:#162e51}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:disabled,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link[aria-disabled=true],.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:disabled:hover,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link[aria-disabled=true]:hover,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link[aria-disabled=true]:focus{color:#757575}}@media(max-width: 29.99em)and (forced-colors: active){.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:disabled,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link[aria-disabled=true],.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:disabled:hover,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link[aria-disabled=true]:hover,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link[aria-disabled=true]:focus{color:GrayText}}@media all and (max-width: 29.99em){.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link::before{background-image:url(\"../img/usa-icons/arrow_back.svg\");background-repeat:no-repeat;background-position:center center;background-size:2ex 2ex;display:inline-block;height:2ex;width:2ex;content:\"\";vertical-align:baseline;margin-right:0rem}@supports(mask: url(\"\")){.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link::before{background:none;background-color:#71767a;mask-image:url(\"../img/usa-icons/arrow_back.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2ex 2ex}}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:visited{color:#54278f}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:hover,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:active{color:#1a4480}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:before{bottom:-0.2em;height:2ex;position:relative}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:hover,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:active{text-decoration:none}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link span{text-decoration:underline}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link::before{margin-right:0px}}@media all and (min-width: 30em){.usa-breadcrumb__list-item{position:static}.usa-breadcrumb__list-item:not(:last-child)::after{background-image:url(\"../img/usa-icons/navigate_next.svg\");background-repeat:no-repeat;background-position:center center;background-size:2ex 2ex;display:inline-block;height:2ex;width:2ex;content:\"\";vertical-align:baseline;margin-left:0rem}@supports(mask: url(\"\")){.usa-breadcrumb__list-item:not(:last-child)::after{background:none;background-color:#71767a;mask-image:url(\"../img/usa-icons/navigate_next.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2ex 2ex}}.usa-breadcrumb__list-item:not(:last-child)::after{bottom:-0.2em;margin-left:0px;margin-right:0px;height:2ex;position:relative}}.usa-breadcrumb__link{color:#005ea2;display:inline;text-decoration:none}.usa-breadcrumb__link:visited{color:#54278f}.usa-breadcrumb__link:hover,.usa-breadcrumb__link:active{color:#1a4480}.usa-breadcrumb__link span{text-decoration:underline}@media all and (min-width: 30em){.usa-breadcrumb--wrap{line-height:1.4}}.usa-breadcrumb--wrap .usa-breadcrumb__list-item{display:inline-block}.usa-button-group{margin-bottom:0;margin-top:0;display:flex;flex-direction:column;flex-wrap:wrap;list-style-type:none;margin-left:-0.25rem;margin-right:-0.25rem;padding-left:0}@media all and (min-width: 30em){.usa-button-group{flex-wrap:nowrap;align-items:stretch;flex-direction:row}}.usa-button-group .usa-button-group{height:100%}@media all and (min-width: 30em){.usa-button-group .usa-button-group .usa-button-group__item{margin-top:0;margin-bottom:0}}.usa-button-group .usa-button-group--segmented .usa-button-group__item{margin-top:0;margin-bottom:0}.usa-button-group__item{margin:.25rem}@media all and (min-width: 30em){.usa-button-group__item:last-child{margin-right:0}}.usa-button-group__item .usa-button{height:100%;margin-left:0;margin-right:0}.usa-button-group--segmented{flex-direction:row;flex-wrap:nowrap;justify-content:space-between;margin-left:0;margin-right:0}@media all and (min-width: 30em){.usa-button-group--segmented{justify-content:flex-start}}.usa-button-group--segmented .usa-button{position:relative;width:calc(100% + 2px)}@media all and (min-width: 30em){.usa-button-group--segmented .usa-button{width:auto}}.usa-button-group--segmented .usa-button:hover,.usa-button-group--segmented .usa-button:active{z-index:2}.usa-button-group--segmented .usa-button:focus{z-index:3}.usa-button-group--segmented .usa-button-group__item{margin-left:0;margin-right:0;width:100%}@media all and (min-width: 30em){.usa-button-group--segmented .usa-button-group__item{width:auto}}.usa-button-group--segmented .usa-button-group__item:first-child>.usa-button{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:-1px}.usa-button-group--segmented .usa-button-group__item:last-child>.usa-button{border-top-left-radius:0;border-bottom-left-radius:0;margin-right:0;margin-left:-2px;width:calc(100% + 2px)}@media all and (min-width: 30em){.usa-button-group--segmented .usa-button-group__item:last-child>.usa-button{margin-left:-1px;width:auto}}.usa-button-group--segmented .usa-button-group__item:where(:not(:first-child):not(:last-child))>.usa-button{border-radius:0;margin-right:-1px;margin-left:-1px}.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) .usa-button::before{border-right:1px solid #1a4480;bottom:0;content:\"\";display:block;height:100%;position:absolute;right:1px;top:0;width:1px;z-index:3}.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) .usa-button--secondary::before{border-right-color:#b50909}.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) .usa-button--accent-cool::before{border-right-color:#28a0cb}.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) .usa-button--base::before{border-right-color:#565c65}.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) [class*=usa-button]:disabled::before,.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) [class*=usa-button][aria-disabled=true]::before{border-right-color:#fff}.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) .usa-button:active::before,.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) .usa-button--outline::before{display:none}.usa-button{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:.9;color:#fff;background-color:#005ea2;appearance:none;align-items:center;border:0;border-radius:.25rem;cursor:pointer;column-gap:.5rem;display:inline-flex;font-weight:700;justify-content:center;margin-right:.5rem;padding:.75rem 1.25rem;text-align:center;text-decoration:none;width:100%}@media all and (min-width: 30em){.usa-button{width:auto}}.usa-button:visited{color:#fff}.usa-button:hover,.usa-button.usa-button--hover{color:#fff;background-color:#1a4480;border-bottom:0;text-decoration:none}.usa-button:active,.usa-button.usa-button--active{color:#fff;background-color:#162e51}.usa-button:not([disabled]):focus,.usa-button:not([disabled]).usa-focus{outline-offset:.25rem}.usa-button:disabled,.usa-button[aria-disabled=true]{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-button:disabled:hover,.usa-button:disabled:active,.usa-button:disabled:focus,.usa-button:disabled.usa-focus,.usa-button[aria-disabled=true]:hover,.usa-button[aria-disabled=true]:active,.usa-button[aria-disabled=true]:focus,.usa-button[aria-disabled=true].usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-button:disabled,.usa-button[aria-disabled=true]{border:0;color:GrayText}.usa-button:disabled:hover,.usa-button:disabled:active,.usa-button:disabled:focus,.usa-button:disabled.usa-focus,.usa-button[aria-disabled=true]:hover,.usa-button[aria-disabled=true]:active,.usa-button[aria-disabled=true]:focus,.usa-button[aria-disabled=true].usa-focus{color:GrayText}}.usa-button:disabled.usa-button--hover,.usa-button:disabled.usa-button--active,.usa-button[aria-disabled=true].usa-button--hover,.usa-button[aria-disabled=true].usa-button--active{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-button:disabled.usa-button--hover:hover,.usa-button:disabled.usa-button--hover:active,.usa-button:disabled.usa-button--hover:focus,.usa-button:disabled.usa-button--hover.usa-focus,.usa-button:disabled.usa-button--active:hover,.usa-button:disabled.usa-button--active:active,.usa-button:disabled.usa-button--active:focus,.usa-button:disabled.usa-button--active.usa-focus,.usa-button[aria-disabled=true].usa-button--hover:hover,.usa-button[aria-disabled=true].usa-button--hover:active,.usa-button[aria-disabled=true].usa-button--hover:focus,.usa-button[aria-disabled=true].usa-button--hover.usa-focus,.usa-button[aria-disabled=true].usa-button--active:hover,.usa-button[aria-disabled=true].usa-button--active:active,.usa-button[aria-disabled=true].usa-button--active:focus,.usa-button[aria-disabled=true].usa-button--active.usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-button:disabled.usa-button--hover,.usa-button:disabled.usa-button--active,.usa-button[aria-disabled=true].usa-button--hover,.usa-button[aria-disabled=true].usa-button--active{border:0;color:GrayText}.usa-button:disabled.usa-button--hover:hover,.usa-button:disabled.usa-button--hover:active,.usa-button:disabled.usa-button--hover:focus,.usa-button:disabled.usa-button--hover.usa-focus,.usa-button:disabled.usa-button--active:hover,.usa-button:disabled.usa-button--active:active,.usa-button:disabled.usa-button--active:focus,.usa-button:disabled.usa-button--active.usa-focus,.usa-button[aria-disabled=true].usa-button--hover:hover,.usa-button[aria-disabled=true].usa-button--hover:active,.usa-button[aria-disabled=true].usa-button--hover:focus,.usa-button[aria-disabled=true].usa-button--hover.usa-focus,.usa-button[aria-disabled=true].usa-button--active:hover,.usa-button[aria-disabled=true].usa-button--active:active,.usa-button[aria-disabled=true].usa-button--active:focus,.usa-button[aria-disabled=true].usa-button--active.usa-focus{color:GrayText}}@media(forced-colors: active){.usa-button:disabled:not(.usa-button--unstyled),.usa-button[aria-disabled=true]:not(.usa-button--unstyled){border:2px solid GrayText}}.usa-button .usa-icon{flex-shrink:0}@media(forced-colors: active){.usa-button:not(.usa-button--unstyled){border:2px solid rgba(0,0,0,0)}}.usa-button--accent-cool{color:#1b1b1b;background-color:#00bde3}.usa-button--accent-cool:visited{color:#1b1b1b;background-color:#00bde3}.usa-button--accent-cool:hover,.usa-button--accent-cool.usa-button--hover{color:#1b1b1b;background-color:#28a0cb}.usa-button--accent-cool:active,.usa-button--accent-cool.usa-button--active{color:#fff;background-color:#07648d}.usa-button--accent-warm{color:#1b1b1b;background-color:#fa9441}.usa-button--accent-warm:visited{color:#1b1b1b;background-color:#fa9441}.usa-button--accent-warm:hover,.usa-button--accent-warm.usa-button--hover{color:#fff;background-color:#c05600}.usa-button--accent-warm:active,.usa-button--accent-warm.usa-button--active{color:#fff;background-color:#775540}.usa-button--outline{background-color:rgba(0,0,0,0);box-shadow:inset 0 0 0 2px #005ea2;color:#005ea2}.usa-button--outline:visited{color:#005ea2}.usa-button--outline:hover,.usa-button--outline.usa-button--hover{background-color:rgba(0,0,0,0);box-shadow:inset 0 0 0 2px #1a4480;color:#1a4480}.usa-button--outline:active,.usa-button--outline.usa-button--active{background-color:rgba(0,0,0,0);box-shadow:inset 0 0 0 2px #162e51;color:#162e51}.usa-button--outline.usa-button--inverse{box-shadow:inset 0 0 0 2px #dfe1e2;color:#dfe1e2}.usa-button--outline.usa-button--inverse:visited{color:#dfe1e2}.usa-button--outline.usa-button--inverse:hover,.usa-button--outline.usa-button--inverse.usa-button--hover{box-shadow:inset 0 0 0 2px #f0f0f0;color:#f0f0f0}.usa-button--outline.usa-button--inverse:active,.usa-button--outline.usa-button--inverse.usa-button--active{background-color:rgba(0,0,0,0);box-shadow:inset 0 0 0 2px #fff;color:#fff}.usa-button--outline.usa-button--inverse.usa-button--unstyled{color:#005ea2;text-decoration:underline;background-color:rgba(0,0,0,0);border:0;border-radius:0;box-shadow:none;font-weight:normal;justify-content:normal;text-align:left;margin:0;padding:0;color:#dfe1e2}.usa-button--outline.usa-button--inverse.usa-button--unstyled:visited{color:#54278f}.usa-button--outline.usa-button--inverse.usa-button--unstyled:hover{color:#1a4480}.usa-button--outline.usa-button--inverse.usa-button--unstyled:active{color:#162e51}.usa-button--outline.usa-button--inverse.usa-button--unstyled:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-button--outline.usa-button--inverse.usa-button--unstyled:hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled.usa-button--hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled:hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true]:hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled.usa-button--hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true].usa-button--hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled:active,.usa-button--outline.usa-button--inverse.usa-button--unstyled.usa-button--active,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled:active,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true]:active,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled.usa-button--active,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true].usa-button--active,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled:focus,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true]:focus,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled.usa-focus,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true].usa-focus,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true],.usa-button--outline.usa-button--inverse.usa-button--unstyled.usa-button--disabled{background-color:rgba(0,0,0,0);box-shadow:none;text-decoration:underline}.usa-button--outline.usa-button--inverse.usa-button--unstyled.usa-button--hover{color:#1a4480}.usa-button--outline.usa-button--inverse.usa-button--unstyled.usa-button--active{color:#162e51}.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true],.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled:hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true]:hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true]:focus{color:#757575}@media(forced-colors: active){.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true],.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled:hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true]:hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true]:focus{color:GrayText}}.usa-button--outline.usa-button--inverse.usa-button--unstyled:visited{color:#dfe1e2}.usa-button--outline.usa-button--inverse.usa-button--unstyled:hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled.usa-button--hover{color:#f0f0f0}.usa-button--outline.usa-button--inverse.usa-button--unstyled:active,.usa-button--outline.usa-button--inverse.usa-button--unstyled.usa-button--active{color:#fff}.usa-button--base{color:#fff;background-color:#71767a}.usa-button--base:hover,.usa-button--base.usa-button--hover{color:#fff;background-color:#565c65}.usa-button--base:active,.usa-button--base.usa-button--active{color:#fff;background-color:#3d4551}.usa-button--secondary{color:#fff;background-color:#d83933}.usa-button--secondary:hover,.usa-button--secondary.usa-button--hover{color:#fff;background-color:#b50909}.usa-button--secondary:active,.usa-button--secondary.usa-button--active{color:#fff;background-color:#8b0a03}.usa-button--big{border-radius:.25rem;font-size:1.46rem;padding:1rem 1.5rem}.usa-button--outline:disabled,.usa-button--outline:disabled:hover,.usa-button--outline:disabled:active,.usa-button--outline:disabled:focus,.usa-button--outline[aria-disabled=true],.usa-button--outline[aria-disabled=true]:hover,.usa-button--outline[aria-disabled=true]:active,.usa-button--outline[aria-disabled=true]:focus,.usa-button--outline-inverse:disabled,.usa-button--outline-inverse:disabled:hover,.usa-button--outline-inverse:disabled:active,.usa-button--outline-inverse:disabled:focus,.usa-button--outline-inverse[aria-disabled=true],.usa-button--outline-inverse[aria-disabled=true]:hover,.usa-button--outline-inverse[aria-disabled=true]:active,.usa-button--outline-inverse[aria-disabled=true]:focus{background-color:rgba(0,0,0,0);color:#757575}.usa-button--outline:disabled,.usa-button--outline[aria-disabled=true]{box-shadow:inset 0 0 0 2px #c9c9c9}.usa-button--outline:disabled.usa-button--inverse,.usa-button--outline[aria-disabled=true].usa-button--inverse{box-shadow:inset 0 0 0 2px #919191;color:#919191}@media(forced-colors: active){.usa-button--outline:disabled.usa-button--inverse,.usa-button--outline[aria-disabled=true].usa-button--inverse{color:GrayText}}.usa-button--unstyled{color:#005ea2;text-decoration:underline;background-color:rgba(0,0,0,0);border:0;border-radius:0;box-shadow:none;font-weight:normal;justify-content:normal;text-align:left;margin:0;padding:0}.usa-button--unstyled:visited{color:#54278f}.usa-button--unstyled:hover{color:#1a4480}.usa-button--unstyled:active{color:#162e51}.usa-button--unstyled:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-button--unstyled:hover,.usa-button--unstyled.usa-button--hover,.usa-button--unstyled:disabled:hover,.usa-button--unstyled[aria-disabled=true]:hover,.usa-button--unstyled:disabled.usa-button--hover,.usa-button--unstyled[aria-disabled=true].usa-button--hover,.usa-button--unstyled:active,.usa-button--unstyled.usa-button--active,.usa-button--unstyled:disabled:active,.usa-button--unstyled[aria-disabled=true]:active,.usa-button--unstyled:disabled.usa-button--active,.usa-button--unstyled[aria-disabled=true].usa-button--active,.usa-button--unstyled:disabled:focus,.usa-button--unstyled[aria-disabled=true]:focus,.usa-button--unstyled:disabled.usa-focus,.usa-button--unstyled[aria-disabled=true].usa-focus,.usa-button--unstyled:disabled,.usa-button--unstyled[aria-disabled=true],.usa-button--unstyled.usa-button--disabled{background-color:rgba(0,0,0,0);box-shadow:none;text-decoration:underline}.usa-button--unstyled.usa-button--hover{color:#1a4480}.usa-button--unstyled.usa-button--active{color:#162e51}.usa-button--unstyled:disabled,.usa-button--unstyled[aria-disabled=true],.usa-button--unstyled:disabled:hover,.usa-button--unstyled[aria-disabled=true]:hover,.usa-button--unstyled[aria-disabled=true]:focus{color:#757575}@media(forced-colors: active){.usa-button--unstyled:disabled,.usa-button--unstyled[aria-disabled=true],.usa-button--unstyled:disabled:hover,.usa-button--unstyled[aria-disabled=true]:hover,.usa-button--unstyled[aria-disabled=true]:focus{color:GrayText}}.usa-card-group{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-prose .usa-card-group{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-card-group{display:flex;flex-direction:column;flex-wrap:wrap;align-items:stretch;margin-left:-0.5rem;margin-right:-0.5rem}@media all and (min-width: 40em){.usa-card-group{flex-direction:row}}.usa-card{margin-bottom:2.5rem;max-width:none}.usa-card:last-child{margin-bottom:2.5rem}@media all and (min-width: 40em){.usa-card{margin-bottom:2rem}.usa-card:last-child{margin-bottom:2rem}}.usa-prose .usa-card{margin-bottom:2.5rem;max-width:none}.usa-prose .usa-card:last-child{margin-bottom:2.5rem}@media all and (min-width: 40em){.usa-prose .usa-card{margin-bottom:2rem}.usa-prose .usa-card:last-child{margin-bottom:2rem}}.usa-card__container{color:#1b1b1b;background-color:#fff;font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;border-width:2px;border-color:#dfe1e2;border-style:solid;display:flex;height:100%;flex-direction:column;margin-left:.5rem;margin-right:.5rem;position:relative;border-radius:.5rem}.usa-card:not(.usa-card--flag) .usa-card__container>:only-child{padding:1.5rem}.usa-card .usa-card__img{display:block}.usa-card__header{padding-top:1.5rem;padding-left:1.5rem;padding-right:1.5rem;padding-bottom:.5rem}.usa-card__header:last-child{padding-bottom:1.5rem}.usa-card__heading{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.34rem;line-height:1.2;margin:0}.usa-card__media{order:-1;min-height:1px}.usa-card__img{border-top-left-radius:calc(0.5rem - 2px);border-top-right-radius:calc(0.5rem - 2px);background-color:#f0f0f0;position:relative;overflow:hidden}.usa-card__img img{display:block;height:100%;width:100%;object-fit:cover}.usa-card__media--inset{padding-top:1.5rem;padding-left:1.5rem;padding-right:1.5rem}.usa-card__media--inset .usa-card__img{border-radius:0}.usa-card__body{flex:1 1 0%;padding-left:1.5rem;padding-right:1.5rem;padding-bottom:.5rem;padding-top:.5rem;flex-basis:auto}.usa-card__body:last-child{padding-bottom:1.5rem}.usa-card__body:first-child{padding-top:1.5rem}.usa-card__body:only-child{padding-bottom:1.5rem;padding-top:1.5rem}.usa-card__footer{padding-bottom:1.5rem;padding-left:1.5rem;padding-right:1.5rem;padding-top:.5rem}.usa-card__footer .usa-button:only-of-type{margin-right:0}.usa-card__header>:last-child,.usa-card__body>:last-child{padding-bottom:0;margin-bottom:0}.usa-card__header>:first-child,.usa-card__body>:first-child{margin-top:0;padding-top:0}.usa-card__header>:only-child,.usa-card__body>:only-child{margin-bottom:0;margin-top:0;padding-bottom:0;padding-top:0}.usa-card__header--exdent,.usa-card__media--exdent,.usa-card__body--exdent,.usa-card__footer--exdent{margin-inline:-2px}.usa-card__header--exdent>*,.usa-card__body--exdent>*,.usa-card__footer--exdent>*{padding-left:2px;padding-right:2px}.usa-card__media--exdent{margin-top:-2px}.usa-card__media--exdent .usa-card__img{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.usa-card--header-first .usa-card__header{border-top-left-radius:calc(0.5rem - 2px);border-top-right-radius:calc(0.5rem - 2px);padding-bottom:1rem}.usa-card--header-first .usa-card__header--exdent{border-top-left-radius:.5rem;border-top-right-radius:.5rem;margin-top:-2px}.usa-card--header-first .usa-card__media--inset{padding-top:0}.usa-card--header-first .usa-card__media{order:0}.usa-card--header-first .usa-card__media--exdent{margin-top:0}.usa-card--header-first .usa-card__img{border-radius:0}.usa-card--header-first .usa-card__body{padding-top:1rem}@media all and (min-width: 40em){.usa-card--flag .usa-card__media{display:flex;overflow:hidden;position:absolute;bottom:0;top:0;position:absolute;left:0;position:absolute;width:15rem}.usa-card--flag .usa-card__img{border-radius:0;border-top-left-radius:calc(0.5rem - 2px);border-bottom-left-radius:calc(0.5rem - 2px)}.usa-card--flag .usa-card__header,.usa-card--flag .usa-card__body,.usa-card--flag .usa-card__footer{margin-left:15rem}.usa-card--flag .usa-card__media--exdent{margin:-2px}.usa-card--flag .usa-card__media--exdent .usa-card__img{border-bottom-left-radius:.5rem;border-top-left-radius:.5rem}.usa-card--flag .usa-card__media--inset{padding-right:0;padding-bottom:1.5rem}.usa-card--flag .usa-card__media--inset .usa-card__img{border-radius:0}.usa-card--flag.usa-card--header-first .usa-card__header{padding-bottom:.5rem}.usa-card--flag.usa-card--header-first .usa-card__body{padding-top:.5rem}.usa-card--flag.usa-card--header-first .usa-card__media--inset{padding-top:1.5rem}.usa-card--flag.usa-card--media-right .usa-card__media{left:auto;right:0}.usa-card--flag.usa-card--media-right .usa-card__media--inset{padding-left:0;padding-right:1.5rem}.usa-card--flag.usa-card--media-right .usa-card__media--inset .usa-card__img{border-radius:0}.usa-card--flag.usa-card--media-right .usa-card__img{border-radius:0;border-top-right-radius:calc(0.5rem - 2px);border-bottom-right-radius:calc(0.5rem - 2px)}.usa-card--flag.usa-card--media-right .usa-card__header,.usa-card--flag.usa-card--media-right .usa-card__body,.usa-card--flag.usa-card--media-right .usa-card__footer{margin-left:0;margin-right:15rem}.usa-card--flag.usa-card--media-right .usa-card__img{border-radius:0;border-bottom-right-radius:.5rem;border-top-right-radius:.5rem}}.usa-card:not(.usa-card--flag).usa-card__media--set-aspect{box-sizing:border-box;height:0;overflow:hidden;padding-bottom:56.25%;position:relative;position:relative}@supports(aspect-ratio: 1){.usa-card:not(.usa-card--flag).usa-card__media--set-aspect{height:inherit;padding:inherit;aspect-ratio:1.7777777778;max-width:100%}.usa-card:not(.usa-card--flag).usa-card__media--set-aspect>*{position:absolute;top:0;left:0;width:100%;height:100%}img.usa-card:not(.usa-card--flag).usa-card__media--set-aspect,.usa-card:not(.usa-card--flag).usa-card__media--set-aspect>img{object-fit:cover}}.usa-card:not(.usa-card--flag).usa-card__media--set-aspect .usa-card__img{position:absolute;bottom:0;left:0;right:0;top:0}.usa-checklist{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5}.usa-checklist__item{text-indent:-2.5rem;margin-bottom:0;margin-top:0;margin-bottom:0;margin-top:.5rem}.usa-checklist__item::before{content:\" \";display:inline-block;height:1rem;margin-left:-0.25rem;margin-right:.75rem;width:2rem}.usa-checklist__item.usa-checklist__item--checked::before{background-image:url(\"../img/usa-icons-bg/check--blue-60v.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat;background-position:center;background-size:1.5rem}.usa-collection{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.3;margin-bottom:1em;margin-top:1em;line-height:1.5;padding-left:3ch;padding-left:0}.usa-collection:last-child{margin-bottom:0}.usa-collection ul,.usa-collection ol{margin-top:.25em}.usa-collection__item{margin-bottom:.25em;max-width:68ex;margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;align-items:flex-start;border-top-width:1px;border-top-style:solid;display:flex;margin-bottom:1rem;margin-top:1rem;padding-top:1rem}.usa-collection__item:last-child{margin-bottom:0}.usa-collection__item>li{margin-bottom:0;max-width:unset}.usa-prose .usa-collection{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.3;margin-bottom:1em;margin-top:1em;line-height:1.5;padding-left:3ch;padding-left:0}.usa-prose .usa-collection:last-child{margin-bottom:0}.usa-prose .usa-collection ul,.usa-prose .usa-collection ol{margin-top:.25em}.usa-prose .usa-collection__item{margin-bottom:.25em;max-width:68ex;margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;align-items:flex-start;border-top-width:1px;border-top-style:solid;display:flex;margin-bottom:1rem;margin-top:1rem;padding-top:1rem}.usa-prose .usa-collection__item:last-child{margin-bottom:0}.usa-prose .usa-collection__item>li{margin-bottom:0;max-width:unset}.usa-collection__img,.usa-collection__calendar-date{flex-shrink:0;margin-right:.5rem;width:4rem;margin-right:1rem}@media all and (min-width: 40em){.usa-collection__img,.usa-collection__calendar-date{width:5rem}}.usa-collection__body{flex:1 1 0%}.usa-collection__heading{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.13rem;line-height:1.3;margin-bottom:0;margin-top:0}.usa-collection__description{margin-bottom:.5rem;margin-top:.5rem}.usa-collection__meta{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;margin-top:.25rem}.usa-collection__meta>li{margin-bottom:0;max-width:unset}.usa-collection__meta-item{margin-top:.25rem;font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:.93rem;line-height:1.3;display:block;margin-right:.5rem}.usa-collection__meta-item.usa-tag{background-color:#dfe1e2;line-height:.9;padding-bottom:.25rem;padding-top:.25rem;color:#1b1b1b;display:inline-block;margin-top:.25rem}.usa-collection__meta-item.usa-tag--new{background-color:#c05600;color:#fff}.usa-collection__calendar-date{text-decoration:none}.usa-collection__calendar-date-month,.usa-collection__calendar-date-day{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.13rem;display:block;font-weight:700;padding:.25rem;text-align:center}@media all and (min-width: 40em){.usa-collection__calendar-date-month,.usa-collection__calendar-date-day{padding:.5rem}}.usa-collection__calendar-date-month{border-top-left-radius:2px;border-top-right-radius:2px;background-color:#005ea2;color:#fff}.usa-collection__calendar-date-day{border-bottom-left-radius:2px;border-bottom-right-radius:2px;border:1px solid #005ea2;color:#005ea2}.usa-collection--condensed .usa-collection__item{margin-bottom:.5rem;margin-top:.5rem;padding-top:.5rem}.usa-embed-container iframe,.usa-embed-container object,.usa-embed-container embed{position:absolute;top:0;left:0;width:100%;height:100%}.usa-embed-container{box-sizing:border-box;height:0;overflow:hidden;padding-bottom:56.25%;position:relative;max-width:100%}@supports(aspect-ratio: 1){.usa-embed-container{height:inherit;padding:inherit;aspect-ratio:1.7777777778;max-width:100%}.usa-embed-container>*{position:absolute;top:0;left:0;width:100%;height:100%}img.usa-embed-container,.usa-embed-container>img{object-fit:cover}}.usa-footer{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;overflow:hidden}.usa-footer>.grid-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}@media all and (min-width: 64em){.usa-footer>.grid-container{padding-left:2rem;padding-right:2rem}}.usa-footer__return-to-top{padding-bottom:1.25rem;padding-top:1.25rem;line-height:.9}.usa-footer__return-to-top a{color:#005ea2;text-decoration:underline}.usa-footer__return-to-top a:visited{color:#54278f}.usa-footer__return-to-top a:hover{color:#1a4480}.usa-footer__return-to-top a:active{color:#162e51}.usa-footer__return-to-top a:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-footer__nav{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem;padding-left:0;padding-right:0;border-bottom:1px solid #a9aeb1}@media all and (min-width: 64em){.usa-footer__nav{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 30em){.usa-footer__nav{padding-left:1rem;padding-right:1rem;border-bottom:none}}@media all and (min-width: 30em)and (min-width: 64em){.usa-footer__nav{padding-left:2rem;padding-right:2rem}}.usa-footer__nav>ul{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-footer__primary-section{background-color:#f0f0f0}.usa-footer__primary-section>.grid-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}@media all and (min-width: 64em){.usa-footer__primary-section>.grid-container{padding-left:2rem;padding-right:2rem}}.usa-footer__primary-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}@media all and (min-width: 64em){.usa-footer__primary-container{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 64em){.usa-footer__primary-container{padding-left:2rem;padding-right:2rem}}.usa-footer__primary-content{line-height:1.1}.usa-footer__primary-link{padding-left:1rem;padding-right:1rem;padding-bottom:1rem;padding-top:1rem;color:#1b1b1b;font-weight:700;display:block}@media all and (min-width: 30em){.usa-footer__primary-link{padding-left:0;padding-right:0}}.usa-footer__primary-link--button{width:100%;border:0;cursor:pointer}.usa-footer__primary-link--button::before{background-image:url(\"../img/usa-icons/expand_more.svg\");background-repeat:no-repeat;background-position:center center;background-size:1.25rem 1.25rem;display:inline-block;height:1.25rem;width:1.25rem;content:\"\";vertical-align:middle;margin-right:.25rem}@supports(mask: url(\"\")){.usa-footer__primary-link--button::before{background:none;background-color:currentColor;mask-image:url(\"../img/usa-icons/expand_more.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1.25rem 1.25rem}}.usa-footer__primary-link--button:not([disabled]):focus{outline:.25rem solid #2491ff;outline-offset:-0.25rem}.usa-footer__primary-link--button::before{height:1.25rem;width:1.25rem;align-items:center;background-size:contain;content:\"\";display:inline-flex;justify-content:center;margin-right:.25rem;margin-left:-0.25rem}@media(forced-colors: active){.usa-footer__primary-link--button::before{background-color:buttonText !important}}.usa-footer__primary-link--button+.usa-list--unstyled{margin-top:.5rem;margin-bottom:.5rem}.usa-footer__primary-link--button[aria-expanded=false]::before{background-image:url(\"../img/usa-icons/navigate_next.svg\");background-repeat:no-repeat;background-position:center center;background-size:1.25rem 1.25rem;display:inline-block;height:1.25rem;width:1.25rem;content:\"\";vertical-align:middle;margin-right:.25rem}@supports(mask: url(\"\")){.usa-footer__primary-link--button[aria-expanded=false]::before{background:none;background-color:currentColor;mask-image:url(\"../img/usa-icons/navigate_next.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1.25rem 1.25rem}}.usa-footer__primary-link--button[aria-expanded=false]+.usa-list--unstyled{display:none}.usa-footer__secondary-link{line-height:1.1;margin-left:1rem;padding:0}.usa-footer__secondary-link a{color:#005ea2;text-decoration:underline}.usa-footer__secondary-link a:visited{color:#54278f}.usa-footer__secondary-link a:hover{color:#1a4480}.usa-footer__secondary-link a:active{color:#162e51}.usa-footer__secondary-link a:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-footer__secondary-link+.usa-footer__secondary-link{padding-top:1rem}@media all and (min-width: 30em){.usa-footer__secondary-link{margin-left:0}}.usa-footer__contact-info{line-height:1.1}.usa-footer__contact-info a{color:#1b1b1b}@media all and (min-width: 30em){.usa-footer__contact-info{justify-content:flex-end;margin-top:.5rem}}.usa-footer__primary-content{border-top:1px solid #a9aeb1}@media all and (min-width: 30em){.usa-footer__primary-content{border:none}}.usa-sign-up{padding-bottom:2rem;padding-top:1.5rem}.usa-sign-up .usa-label,.usa-sign-up .usa-button{margin-top:.75rem}.usa-sign-up__heading{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.34rem;line-height:1.2;font-weight:700;margin:0}.usa-footer__secondary-section{padding-bottom:1.25rem;padding-top:1.25rem;color:#1b1b1b;background-color:#dfe1e2}.usa-footer__secondary-section>.grid-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}@media all and (min-width: 64em){.usa-footer__secondary-section>.grid-container{padding-left:2rem;padding-right:2rem}}.usa-footer__secondary-section>.grid-container>.grid-row{justify-content:space-between}.usa-footer__secondary-section a{color:#1b1b1b}.usa-footer__logo{margin-bottom:.5rem;margin-top:.5rem}@media all and (min-width: 30em){.usa-footer__logo{margin-bottom:0;margin-top:0;align-items:center}}.usa-footer__logo-img{max-width:5rem}.usa-footer__logo-heading{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.46rem;line-height:.9;font-weight:700;margin-bottom:.5rem;margin-top:.5rem}.usa-footer__contact-links{margin-top:1.5rem}@media all and (min-width: 30em){.usa-footer__contact-links{margin-top:0;text-align:right}}.usa-footer__contact-heading{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.46rem;line-height:1.1;font-weight:700;margin-top:0}@media all and (min-width: 30em){.usa-footer__contact-heading{margin-bottom:.25rem;margin-top:.25rem}}.usa-footer__social-links{line-height:.9;padding-bottom:.5rem}.usa-footer__social-links a{text-decoration:none}@media all and (min-width: 30em){.usa-footer__social-links{justify-content:flex-end}}.usa-social-link{height:3rem;width:3rem;background-color:rgba(0,0,0,.1);display:inline-block;padding:.25rem}.usa-social-link:hover{background-color:#fff}@media(forced-colors: active){.usa-social-link{background-color:#d3d3d3;forced-color-adjust:none}}.usa-social-link__icon{display:block;height:auto;width:100%}@media all and (min-width: 30em){.usa-footer__address{justify-content:flex-end}}@media all and (min-width: 64em){.usa-footer--slim .usa-footer__nav{padding-left:0;padding-right:0}}.usa-footer--slim .usa-footer__address{padding-left:1rem;padding-right:1rem;padding-bottom:1rem;padding-top:1rem}@media all and (min-width: 30em){.usa-footer--slim .usa-footer__address{padding:0}}.usa-footer--slim .usa-footer__logo{align-items:center}.usa-footer--slim .usa-footer__logo-img{max-width:3rem}.usa-footer--slim .usa-footer__contact-info{display:inline-block}@media all and (min-width: 30em){.usa-footer--slim .usa-footer__contact-info{padding-bottom:1rem;padding-top:1rem;margin-top:0}}.usa-footer--big .usa-footer__nav{margin-left:-1rem;margin-right:-1rem}@media all and (min-width: 30em){.usa-footer--big .usa-footer__nav{border-bottom:1px solid #a9aeb1;padding-top:2rem}}@media all and (min-width: 40em){.usa-footer--big .usa-footer__nav{margin-left:0;margin-right:0;padding-left:0;padding-right:0;border-bottom:none}}.usa-footer--big .usa-footer__primary-link{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.98rem;line-height:1.2;font-weight:700;line-height:1.2;margin:0}@media all and (min-width: 30em){.usa-footer--big .usa-footer__primary-link{padding-bottom:0;padding-top:0;margin-bottom:.5rem}.usa-footer--big .usa-footer__primary-link:hover{cursor:auto;text-decoration:none}}.usa-footer--big .usa-footer__primary-content--collapsible .usa-footer__primary-link{align-items:center;display:flex;justify-content:flex-start}.usa-footer--big .usa-footer__primary-content--collapsible .usa-list--unstyled{padding-left:1rem;padding-right:1rem;padding-bottom:1.25rem}@media all and (min-width: 30em){.usa-footer--big .usa-footer__primary-content--collapsible .usa-list--unstyled{padding-left:0;padding-right:0;padding-bottom:2rem;padding-top:.75rem}}.usa-form{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.3}@media all and (min-width: 30em){.usa-form{max-width:20rem}}.usa-form abbr[title=required]{text-decoration:none}.usa-form .usa-input,.usa-form .usa-range,.usa-form .usa-select,.usa-form .usa-textarea{max-width:none}.usa-form .usa-input--2xs,.usa-form .usa-input-group--2xs{max-width:5ex}.usa-form .usa-input--xs,.usa-form .usa-input-group--xs{max-width:9ex}.usa-form .usa-input--sm,.usa-form .usa-input--small,.usa-form .usa-input-group--sm,.usa-form .usa-input-group--small{max-width:13ex}.usa-form .usa-input--md,.usa-form .usa-input--medium,.usa-form .usa-input-group--md,.usa-form .usa-input-group--medium{max-width:20ex}.usa-form .usa-input--lg,.usa-form .usa-input-group--lg{max-width:30ex}.usa-form .usa-input--xl,.usa-form .usa-input-group--xl{max-width:40ex}.usa-form .usa-input--2xl,.usa-form .usa-input-group--2xl{max-width:50ex}.usa-form .usa-button{margin-top:.5rem}@media all and (min-width: 30em){.usa-form .usa-button{margin-top:1.5rem}}.usa-form a:where(:not(.usa-button)){color:#005ea2;text-decoration:underline}.usa-form a:where(:not(.usa-button)):visited{color:#54278f}.usa-form a:where(:not(.usa-button)):hover{color:#1a4480}.usa-form a:where(:not(.usa-button)):active{color:#162e51}.usa-form a:where(:not(.usa-button)):focus{outline:.25rem solid #2491ff;outline-offset:0rem}@media all and (min-width: 30em){.usa-form--large{max-width:30rem}}.usa-show-password{color:#005ea2;text-decoration:underline;background-color:rgba(0,0,0,0);border:0;border-radius:0;box-shadow:none;font-weight:normal;justify-content:normal;text-align:left;margin:0;padding:0;cursor:pointer}.usa-show-password:visited{color:#54278f}.usa-show-password:hover{color:#1a4480}.usa-show-password:active{color:#162e51}.usa-show-password:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-show-password:hover,.usa-show-password.usa-button--hover,.usa-show-password:disabled:hover,.usa-show-password[aria-disabled=true]:hover,.usa-show-password:disabled.usa-button--hover,.usa-show-password[aria-disabled=true].usa-button--hover,.usa-show-password:active,.usa-show-password.usa-button--active,.usa-show-password:disabled:active,.usa-show-password[aria-disabled=true]:active,.usa-show-password:disabled.usa-button--active,.usa-show-password[aria-disabled=true].usa-button--active,.usa-show-password:disabled:focus,.usa-show-password[aria-disabled=true]:focus,.usa-show-password:disabled.usa-focus,.usa-show-password[aria-disabled=true].usa-focus,.usa-show-password:disabled,.usa-show-password[aria-disabled=true],.usa-show-password.usa-button--disabled{background-color:rgba(0,0,0,0);box-shadow:none;text-decoration:underline}.usa-show-password.usa-button--hover{color:#1a4480}.usa-show-password.usa-button--active{color:#162e51}.usa-show-password:disabled,.usa-show-password[aria-disabled=true],.usa-show-password:disabled:hover,.usa-show-password[aria-disabled=true]:hover,.usa-show-password[aria-disabled=true]:focus{color:#757575}@media(forced-colors: active){.usa-show-password:disabled,.usa-show-password[aria-disabled=true],.usa-show-password:disabled:hover,.usa-show-password[aria-disabled=true]:hover,.usa-show-password[aria-disabled=true]:focus{color:GrayText}}.usa-form__note,.usa-show-password{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:.93rem;line-height:1.3;float:right;margin:.25rem 0 1rem}.usa-graphic-list{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5}.usa-graphic-list .usa-graphic-list__row .usa-media-block{margin-bottom:2rem}@media all and (min-width: 40em){.usa-graphic-list .usa-graphic-list__row .usa-media-block{margin-bottom:4rem}}@media all and (min-width: 40em){.usa-graphic-list .usa-graphic-list__row:last-child .usa-media-block{margin-bottom:0}}.usa-graphic-list .usa-graphic-list__row:last-child .usa-media-block:last-child{margin-bottom:0}.usa-graphic-list .usa-media-block__img{margin-right:1.5rem}.usa-graphic-list .usa-media-block__body>:first-child{margin-top:0}.usa-graphic-list__heading{margin-bottom:0;margin-top:0;clear:both;font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.34rem;line-height:1.2;font-weight:700}*+.usa-graphic-list__heading{margin-top:1.5em}.usa-graphic-list__heading+*{margin-top:1em}.usa-header{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5}.usa-header::after{clear:both;content:\"\";display:block}.usa-header a{border-bottom:none}@media all and (min-width: 64em){.usa-header .usa-search{float:right}}@media all and (min-width: 64em){.usa-header [role=search]{float:right;max-width:calc(27ch + 3rem);width:100%}}.usa-header [type=search]{min-width:0}@media all and (min-width: 64em){.usa-header+.usa-hero{border-top:1px solid #fff}}@media all and (min-width: 64em){.usa-header+.usa-section,.usa-header+main{border-top:1px solid #dfe1e2}}@media all and (max-width: 63.99em){.usa-logo{flex:1 1 0%;font-size:.93rem;line-height:.9;margin-left:1rem}}@media all and (min-width: 64em){.usa-logo{margin-top:2rem;margin-bottom:1rem;font-size:1.46rem;line-height:1.1}}.usa-logo a{color:#1b1b1b;text-decoration:none}.usa-logo__text{display:block;font-style:normal;font-weight:700;margin:0}.usa-menu-btn{color:#005ea2;text-decoration:underline;background-color:rgba(0,0,0,0);border:0;border-radius:0;box-shadow:none;font-weight:normal;justify-content:normal;text-align:left;margin:0;padding:0;flex:0 1 auto;padding-left:.75rem;padding-right:.75rem;background-color:#005ea2;color:#fff;font-size:.87rem;height:3rem;text-align:center;text-decoration:none;text-transform:uppercase}.usa-menu-btn:visited{color:#54278f}.usa-menu-btn:hover{color:#1a4480}.usa-menu-btn:active{color:#162e51}.usa-menu-btn:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-menu-btn:hover,.usa-menu-btn.usa-button--hover,.usa-menu-btn:disabled:hover,.usa-menu-btn[aria-disabled=true]:hover,.usa-menu-btn:disabled.usa-button--hover,.usa-menu-btn[aria-disabled=true].usa-button--hover,.usa-menu-btn:active,.usa-menu-btn.usa-button--active,.usa-menu-btn:disabled:active,.usa-menu-btn[aria-disabled=true]:active,.usa-menu-btn:disabled.usa-button--active,.usa-menu-btn[aria-disabled=true].usa-button--active,.usa-menu-btn:disabled:focus,.usa-menu-btn[aria-disabled=true]:focus,.usa-menu-btn:disabled.usa-focus,.usa-menu-btn[aria-disabled=true].usa-focus,.usa-menu-btn:disabled,.usa-menu-btn[aria-disabled=true],.usa-menu-btn.usa-button--disabled{background-color:rgba(0,0,0,0);box-shadow:none;text-decoration:underline}.usa-menu-btn.usa-button--hover{color:#1a4480}.usa-menu-btn.usa-button--active{color:#162e51}.usa-menu-btn:disabled,.usa-menu-btn[aria-disabled=true],.usa-menu-btn:disabled:hover,.usa-menu-btn[aria-disabled=true]:hover,.usa-menu-btn[aria-disabled=true]:focus{color:#757575}@media(forced-colors: active){.usa-menu-btn:disabled,.usa-menu-btn[aria-disabled=true],.usa-menu-btn:disabled:hover,.usa-menu-btn[aria-disabled=true]:hover,.usa-menu-btn[aria-disabled=true]:focus{color:GrayText}}@media all and (min-width: 64em){.usa-menu-btn{display:none}}.usa-menu-btn:hover{background-color:#1a4480;color:#fff;text-decoration:none}.usa-menu-btn:active{color:#fff}.usa-menu-btn:visited{color:#fff}.usa-overlay{position:absolute;bottom:0;left:0;right:0;top:0;position:fixed;background:rgba(0,0,0,.7);opacity:0;transition:opacity .15s ease-in-out;visibility:hidden;z-index:400}.usa-overlay.is-visible{opacity:1;visibility:visible}@media all and (min-width: 64em){.usa-header--basic .usa-navbar{position:relative;width:33%}.usa-header--basic .usa-nav{flex-direction:row;align-items:center;justify-content:flex-end;display:flex;padding:0 0 .25rem .5rem;width:100%}.usa-header--basic .usa-nav-container{align-items:flex-end;justify-content:space-between;display:flex}.usa-header--basic .usa-nav__primary-item>.usa-current,.usa-header--basic .usa-nav__link:hover{position:relative}.usa-header--basic .usa-nav__primary-item>.usa-current::after,.usa-header--basic .usa-nav__link:hover::after{background-color:#005ea2;border-radius:0;content:\"\";display:block;position:absolute;height:.25rem;left:1rem;right:1rem;bottom:-0.25rem}}@media(min-width: 64em)and (forced-colors: active){.usa-header--basic .usa-nav__primary-item>.usa-current::after,.usa-header--basic .usa-nav__link:hover::after{background-color:ButtonText}}@media all and (min-width: 64em){.usa-header--basic .usa-nav__link[aria-expanded=true]::after,.usa-header--basic .usa-nav__link[aria-expanded=true]:hover::after{display:none}.usa-header--basic .usa-nav__primary{width:auto}.usa-header--basic .usa-nav__primary-item:last-of-type{position:relative}.usa-header--basic .usa-nav__primary-item:last-of-type .usa-nav__submenu{position:absolute;right:0}.usa-header--basic .usa-search{top:0}}.usa-header--basic.usa-header--megamenu .usa-nav__inner{display:flex;flex-direction:column}@media all and (min-width: 64em){.usa-header--basic.usa-header--megamenu .usa-nav__inner{display:block;float:right;margin-top:-2.5rem}}@media all and (min-width: 64em){.usa-header--basic.usa-header--megamenu .usa-nav__primary-item:last-of-type{position:static}}@media all and (min-width: 64em){.usa-header--extended{padding-top:0}.usa-header--extended .usa-nav__primary-item>.usa-current,.usa-header--extended .usa-nav__primary-item>.usa-nav__link:hover{position:relative}.usa-header--extended .usa-nav__primary-item>.usa-current::after,.usa-header--extended .usa-nav__primary-item>.usa-nav__link:hover::after{background-color:#005ea2;border-radius:0;content:\"\";display:block;position:absolute;height:.25rem;left:1rem;right:1rem;bottom:0rem}}@media(min-width: 64em)and (forced-colors: active){.usa-header--extended .usa-nav__primary-item>.usa-current::after,.usa-header--extended .usa-nav__primary-item>.usa-nav__link:hover::after{background-color:ButtonText}}@media all and (min-width: 64em){.usa-header--extended .usa-nav__link[aria-expanded=true]::after,.usa-header--extended .usa-nav__link[aria-expanded=true]:hover::after{display:none}}@media all and (min-width: 64em){.usa-header--extended .usa-logo{font-size:2.13rem;margin:2rem 0 1.5rem;max-width:33%}}@media all and (min-width: 64em){.usa-header--extended .usa-navbar{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem;display:block;height:auto;overflow:auto}}@media all and (min-width: 64em)and (min-width: 64em){.usa-header--extended .usa-navbar{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 64em){.usa-header--extended .usa-nav{border-top:1px solid #dfe1e2;padding:0;width:100%}}@media all and (min-width: 64em){.usa-header--extended .usa-nav__inner{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem;position:relative}}@media all and (min-width: 64em)and (min-width: 64em){.usa-header--extended .usa-nav__inner{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 64em){.usa-header--extended .usa-nav__primary{margin-left:-1rem}.usa-header--extended .usa-nav__primary::after{clear:both;content:\"\";display:block}}@media all and (min-width: 64em){.usa-header--extended .usa-nav__link{padding-bottom:1rem;padding-top:1rem}}@media all and (min-width: 64em){.usa-header--extended .usa-nav__submenu .usa-grid-full{padding-left:.75rem}}@media all and (min-width: 64em){.usa-header--extended .usa-nav__submenu.usa-megamenu{left:0;padding-left:2rem;padding-right:2rem}}html.usa-js-loading .usa-nav__submenu,html.usa-js-loading .usa-nav__submenu.usa-megamenu{position:absolute;left:-999em;right:auto}.usa-megamenu .usa-col{flex:1 1 auto}@media all and (min-width: 64em){.usa-megamenu .usa-col{flex:4 1 0%}.usa-megamenu .usa-col .usa-nav__submenu-item a{padding-left:.5rem;padding-right:.5rem}.usa-megamenu .usa-col:first-child .usa-nav__submenu-item a{padding-left:0}.usa-megamenu .usa-col:last-child .usa-nav__submenu-item a{padding-right:0}}@media all and (min-width: 64em){.usa-megamenu.usa-nav__submenu{padding-left:0;padding-right:0;padding-bottom:2rem;padding-top:2rem;left:-33%;right:0;width:auto}}@media all and (min-width: 64em){.usa-megamenu.usa-nav__submenu::before{position:absolute;bottom:0;top:0;background-color:#162e51;content:\"\";display:block;position:absolute;width:calc(50vw - 32rem + 2rem);right:100%}}@media all and (min-width: 64em){.usa-megamenu.usa-nav__submenu::after{position:absolute;bottom:0;top:0;background-color:#162e51;content:\"\";display:block;position:absolute;width:calc(50vw - 32rem + 2rem);left:100%}}@media all and (min-width: 64em){.usa-header--extended .usa-megamenu.usa-nav__submenu::before{position:absolute;bottom:0;top:0;background-color:#162e51;content:\"\";display:block;position:absolute;width:calc(50vw - 32rem)}}@media all and (min-width: 64em){.usa-header--extended .usa-megamenu.usa-nav__submenu::after{position:absolute;bottom:0;top:0;background-color:#162e51;content:\"\";display:block;position:absolute;width:calc(50vw - 32rem)}}@media all and (min-width: 64em){.usa-nav-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem;padding-left:2rem;padding-right:2rem}.usa-nav-container::after{clear:both;content:\"\";display:block}}@media all and (min-width: 64em)and (min-width: 64em){.usa-nav-container{padding-left:2rem;padding-right:2rem}}.usa-navbar{height:3rem}@media all and (max-width: 63.99em){.usa-navbar{align-items:center;border-bottom:1px solid #dfe1e2;display:flex}}@media all and (min-width: 64em){.usa-navbar{border-bottom:none;display:inline-block;height:auto}}.usa-hero{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;background-image:url(\"../img/hero.jpg\");background-position:center;background-size:cover;color:#fff}.usa-hero>.grid-container{position:relative;padding-bottom:2rem;padding-top:2rem}.usa-hero__callout{background-color:#162e51;padding:2rem}@media all and (min-width: 40em){.usa-hero__callout{max-width:20rem}}.usa-hero__heading{margin-bottom:0;margin-top:0;clear:both;font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.95rem;line-height:1.2;font-weight:700;color:#00bde3;line-height:1.2}*+.usa-hero__heading{margin-top:1.5em}.usa-hero__heading+*{margin-top:1em}.usa-hero__heading--alt{color:#fff;display:block}.usa-icon-list{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;max-width:72ex}.usa-icon-list>li{margin-bottom:0;max-width:unset}.usa-icon-list__item{display:flex;position:relative}.usa-icon-list__item+.usa-icon-list__item{padding-top:.75rem}.usa-prose .usa-icon-list{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;max-width:72ex}.usa-prose .usa-icon-list>li{margin-bottom:0;max-width:unset}.usa-prose .usa-icon-list__item{display:flex;position:relative}.usa-prose .usa-icon-list__item+.usa-icon-list__item{padding-top:.75rem}.usa-icon-list--base-lightest .usa-icon-list__icon{color:#f0f0f0}.usa-icon-list--base-lighter .usa-icon-list__icon{color:#dfe1e2}.usa-icon-list--base-light .usa-icon-list__icon{color:#a9aeb1}.usa-icon-list--base .usa-icon-list__icon{color:#71767a}.usa-icon-list--base-dark .usa-icon-list__icon{color:#565c65}.usa-icon-list--base-darker .usa-icon-list__icon{color:#3d4551}.usa-icon-list--base-darkest .usa-icon-list__icon{color:#1b1b1b}.usa-icon-list--primary-lighter .usa-icon-list__icon{color:#d9e8f6}.usa-icon-list--primary-light .usa-icon-list__icon{color:#73b3e7}.usa-icon-list--primary .usa-icon-list__icon{color:#005ea2}.usa-icon-list--primary-vivid .usa-icon-list__icon{color:#0050d8}.usa-icon-list--primary-dark .usa-icon-list__icon{color:#1a4480}.usa-icon-list--primary-darker .usa-icon-list__icon{color:#162e51}.usa-icon-list--secondary-lighter .usa-icon-list__icon{color:#f3e1e4}.usa-icon-list--secondary-light .usa-icon-list__icon{color:#f2938c}.usa-icon-list--secondary .usa-icon-list__icon{color:#d83933}.usa-icon-list--secondary-vivid .usa-icon-list__icon{color:#e41d3d}.usa-icon-list--secondary-dark .usa-icon-list__icon{color:#b50909}.usa-icon-list--secondary-darker .usa-icon-list__icon{color:#8b0a03}.usa-icon-list--accent-warm-lighter .usa-icon-list__icon{color:#f2e4d4}.usa-icon-list--accent-warm-light .usa-icon-list__icon{color:#ffbc78}.usa-icon-list--accent-warm .usa-icon-list__icon{color:#fa9441}.usa-icon-list--accent-warm-dark .usa-icon-list__icon{color:#c05600}.usa-icon-list--accent-warm-darker .usa-icon-list__icon{color:#775540}.usa-icon-list--accent-cool-lighter .usa-icon-list__icon{color:#e1f3f8}.usa-icon-list--accent-cool-light .usa-icon-list__icon{color:#97d4ea}.usa-icon-list--accent-cool .usa-icon-list__icon{color:#00bde3}.usa-icon-list--accent-cool-dark .usa-icon-list__icon{color:#28a0cb}.usa-icon-list--accent-cool-darker .usa-icon-list__icon{color:#07648d}.usa-icon-list--error-lighter .usa-icon-list__icon{color:#f4e3db}.usa-icon-list--error-light .usa-icon-list__icon{color:#f39268}.usa-icon-list--error .usa-icon-list__icon{color:#d54309}.usa-icon-list--error-dark .usa-icon-list__icon{color:#b50909}.usa-icon-list--error-darker .usa-icon-list__icon{color:#6f3331}.usa-icon-list--warning-lighter .usa-icon-list__icon{color:#faf3d1}.usa-icon-list--warning-light .usa-icon-list__icon{color:#fee685}.usa-icon-list--warning .usa-icon-list__icon{color:#ffbe2e}.usa-icon-list--warning-dark .usa-icon-list__icon{color:#e5a000}.usa-icon-list--warning-darker .usa-icon-list__icon{color:#936f38}.usa-icon-list--success-lighter .usa-icon-list__icon{color:#ecf3ec}.usa-icon-list--success-light .usa-icon-list__icon{color:#70e17b}.usa-icon-list--success .usa-icon-list__icon{color:#00a91c}.usa-icon-list--success-dark .usa-icon-list__icon{color:#008817}.usa-icon-list--success-darker .usa-icon-list__icon{color:#216e1f}.usa-icon-list--info-lighter .usa-icon-list__icon{color:#e7f6f8}.usa-icon-list--info-light .usa-icon-list__icon{color:#99deea}.usa-icon-list--info .usa-icon-list__icon{color:#00bde3}.usa-icon-list--info-dark .usa-icon-list__icon{color:#009ec1}.usa-icon-list--info-darker .usa-icon-list__icon{color:#2e6276}.usa-icon-list--disabled-lighter .usa-icon-list__icon{color:#c9c9c9}.usa-icon-list--disabled-light .usa-icon-list__icon{color:#919191}.usa-icon-list--disabled .usa-icon-list__icon{color:#757575}.usa-icon-list--disabled-dark .usa-icon-list__icon{color:#454545}.usa-icon-list--disabled-darker .usa-icon-list__icon{color:#1b1b1b}.usa-icon-list--emergency .usa-icon-list__icon{color:#9c3d10}.usa-icon-list--emergency-dark .usa-icon-list__icon{color:#332d29}.usa-icon-list__icon .usa-icon{display:block;height:1.5rem;position:relative;width:1.5rem}.usa-icon-list__content>p,.usa-icon-list__content>ul,.usa-icon-list__content>ol{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;max-width:72ex}.usa-icon-list[class*=usa-icon-list--size-]{max-width:none}.usa-icon-list--size-micro .usa-icon-list__icon .usa-icon{height:1.005rem;width:1.005rem}.usa-icon-list--size-micro .usa-icon-list__content{max-width:72ex;font-size:.67rem;padding-left:.268rem}.usa-icon-list--size-micro .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.61rem}.usa-icon-list--size-1 .usa-icon-list__icon .usa-icon{height:1.2rem;width:1.2rem}.usa-icon-list--size-1 .usa-icon-list__content{max-width:72ex;font-size:.8rem;padding-left:.32rem}.usa-icon-list--size-1 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.73rem}.usa-icon-list--size-2 .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.usa-icon-list--size-2 .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.usa-icon-list--size-2 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.79rem}.usa-icon-list--size-3 .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.usa-icon-list--size-3 .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.usa-icon-list--size-3 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.85rem}.usa-icon-list--size-4 .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.usa-icon-list--size-4 .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.usa-icon-list--size-4 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.91rem}.usa-icon-list--size-5 .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.usa-icon-list--size-5 .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.usa-icon-list--size-5 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.98rem}.usa-icon-list--size-6 .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.usa-icon-list--size-6 .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.usa-icon-list--size-6 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.04rem}.usa-icon-list--size-7 .usa-icon-list__icon .usa-icon{height:1.8rem;width:1.8rem}.usa-icon-list--size-7 .usa-icon-list__content{max-width:72ex;font-size:1.2rem;padding-left:.48rem}.usa-icon-list--size-7 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.1rem}.usa-icon-list--size-8 .usa-icon-list__icon .usa-icon{height:1.995rem;width:1.995rem}.usa-icon-list--size-8 .usa-icon-list__content{max-width:72ex;font-size:1.33rem;padding-left:.532rem}.usa-icon-list--size-8 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.22rem}.usa-icon-list--size-9 .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.usa-icon-list--size-9 .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.usa-icon-list--size-9 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.34rem}.usa-icon-list--size-10 .usa-icon-list__icon .usa-icon{height:2.4rem;width:2.4rem}.usa-icon-list--size-10 .usa-icon-list__content{max-width:72ex;font-size:1.6rem;padding-left:.64rem}.usa-icon-list--size-10 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.46rem}.usa-icon-list--size-11 .usa-icon-list__icon .usa-icon{height:2.79rem;width:2.79rem}.usa-icon-list--size-11 .usa-icon-list__content{max-width:72ex;font-size:1.86rem;padding-left:.744rem}.usa-icon-list--size-11 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.71rem}.usa-icon-list--size-12 .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.usa-icon-list--size-12 .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.usa-icon-list--size-12 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.95rem}.usa-icon-list--size-13 .usa-icon-list__icon .usa-icon{height:3.6rem;width:3.6rem}.usa-icon-list--size-13 .usa-icon-list__content{max-width:72ex;font-size:2.4rem;padding-left:.96rem}.usa-icon-list--size-13 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.2rem}.usa-icon-list--size-14 .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.usa-icon-list--size-14 .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.usa-icon-list--size-14 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.44rem}.usa-icon-list--size-15 .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.usa-icon-list--size-15 .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.usa-icon-list--size-15 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.93rem}.usa-icon-list--size-16 .usa-icon-list__icon .usa-icon{height:5.595rem;width:5.595rem}.usa-icon-list--size-16 .usa-icon-list__content{max-width:72ex;font-size:3.73rem;padding-left:1.492rem}.usa-icon-list--size-16 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:3.42rem}.usa-icon-list--size-17 .usa-icon-list__icon .usa-icon{height:6.39rem;width:6.39rem}.usa-icon-list--size-17 .usa-icon-list__content{max-width:72ex;font-size:4.26rem;padding-left:1.704rem}.usa-icon-list--size-17 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:3.9rem}.usa-icon-list--size-18 .usa-icon-list__icon .usa-icon{height:7.98rem;width:7.98rem}.usa-icon-list--size-18 .usa-icon-list__content{max-width:72ex;font-size:5.32rem;padding-left:2.128rem}.usa-icon-list--size-18 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:4.88rem}.usa-icon-list--size-19 .usa-icon-list__icon .usa-icon{height:11.985rem;width:11.985rem}.usa-icon-list--size-19 .usa-icon-list__content{max-width:72ex;font-size:7.99rem;padding-left:3.196rem}.usa-icon-list--size-19 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:7.32rem}.usa-icon-list--size-20 .usa-icon-list__icon .usa-icon{height:13.98rem;width:13.98rem}.usa-icon-list--size-20 .usa-icon-list__content{max-width:72ex;font-size:9.32rem;padding-left:3.728rem}.usa-icon-list--size-20 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:8.54rem}.usa-icon-list--size-3xs .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.usa-icon-list--size-3xs .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.usa-icon-list--size-3xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.79rem}.usa-icon-list--size-2xs .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.usa-icon-list--size-2xs .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.usa-icon-list--size-2xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.85rem}.usa-icon-list--size-xs .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.usa-icon-list--size-xs .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.usa-icon-list--size-xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.91rem}.usa-icon-list--size-sm .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.usa-icon-list--size-sm .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.usa-icon-list--size-sm .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.98rem}.usa-icon-list--size-md .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.usa-icon-list--size-md .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.usa-icon-list--size-md .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.04rem}.usa-icon-list--size-lg .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.usa-icon-list--size-lg .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.usa-icon-list--size-lg .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.34rem}.usa-icon-list--size-xl .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.usa-icon-list--size-xl .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.usa-icon-list--size-xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.95rem}.usa-icon-list--size-2xl .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.usa-icon-list--size-2xl .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.usa-icon-list--size-2xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.44rem}.usa-icon-list--size-3xl .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.usa-icon-list--size-3xl .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.usa-icon-list--size-3xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.93rem}@media all and (min-width: 30em){.mobile-lg\\:usa-icon-list--size-micro .usa-icon-list__icon .usa-icon{height:1.005rem;width:1.005rem}.mobile-lg\\:usa-icon-list--size-micro .usa-icon-list__content{max-width:72ex;font-size:.67rem;padding-left:.268rem}.mobile-lg\\:usa-icon-list--size-micro .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.61rem}.mobile-lg\\:usa-icon-list--size-1 .usa-icon-list__icon .usa-icon{height:1.2rem;width:1.2rem}.mobile-lg\\:usa-icon-list--size-1 .usa-icon-list__content{max-width:72ex;font-size:.8rem;padding-left:.32rem}.mobile-lg\\:usa-icon-list--size-1 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.73rem}.mobile-lg\\:usa-icon-list--size-2 .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.mobile-lg\\:usa-icon-list--size-2 .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.mobile-lg\\:usa-icon-list--size-2 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.79rem}.mobile-lg\\:usa-icon-list--size-3 .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.mobile-lg\\:usa-icon-list--size-3 .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.mobile-lg\\:usa-icon-list--size-3 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.85rem}.mobile-lg\\:usa-icon-list--size-4 .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.mobile-lg\\:usa-icon-list--size-4 .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.mobile-lg\\:usa-icon-list--size-4 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.91rem}.mobile-lg\\:usa-icon-list--size-5 .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.mobile-lg\\:usa-icon-list--size-5 .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.mobile-lg\\:usa-icon-list--size-5 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.98rem}.mobile-lg\\:usa-icon-list--size-6 .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.mobile-lg\\:usa-icon-list--size-6 .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.mobile-lg\\:usa-icon-list--size-6 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.04rem}.mobile-lg\\:usa-icon-list--size-7 .usa-icon-list__icon .usa-icon{height:1.8rem;width:1.8rem}.mobile-lg\\:usa-icon-list--size-7 .usa-icon-list__content{max-width:72ex;font-size:1.2rem;padding-left:.48rem}.mobile-lg\\:usa-icon-list--size-7 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.1rem}.mobile-lg\\:usa-icon-list--size-8 .usa-icon-list__icon .usa-icon{height:1.995rem;width:1.995rem}.mobile-lg\\:usa-icon-list--size-8 .usa-icon-list__content{max-width:72ex;font-size:1.33rem;padding-left:.532rem}.mobile-lg\\:usa-icon-list--size-8 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.22rem}.mobile-lg\\:usa-icon-list--size-9 .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.mobile-lg\\:usa-icon-list--size-9 .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.mobile-lg\\:usa-icon-list--size-9 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.34rem}.mobile-lg\\:usa-icon-list--size-10 .usa-icon-list__icon .usa-icon{height:2.4rem;width:2.4rem}.mobile-lg\\:usa-icon-list--size-10 .usa-icon-list__content{max-width:72ex;font-size:1.6rem;padding-left:.64rem}.mobile-lg\\:usa-icon-list--size-10 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.46rem}.mobile-lg\\:usa-icon-list--size-11 .usa-icon-list__icon .usa-icon{height:2.79rem;width:2.79rem}.mobile-lg\\:usa-icon-list--size-11 .usa-icon-list__content{max-width:72ex;font-size:1.86rem;padding-left:.744rem}.mobile-lg\\:usa-icon-list--size-11 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.71rem}.mobile-lg\\:usa-icon-list--size-12 .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.mobile-lg\\:usa-icon-list--size-12 .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.mobile-lg\\:usa-icon-list--size-12 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.95rem}.mobile-lg\\:usa-icon-list--size-13 .usa-icon-list__icon .usa-icon{height:3.6rem;width:3.6rem}.mobile-lg\\:usa-icon-list--size-13 .usa-icon-list__content{max-width:72ex;font-size:2.4rem;padding-left:.96rem}.mobile-lg\\:usa-icon-list--size-13 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.2rem}.mobile-lg\\:usa-icon-list--size-14 .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.mobile-lg\\:usa-icon-list--size-14 .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.mobile-lg\\:usa-icon-list--size-14 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.44rem}.mobile-lg\\:usa-icon-list--size-15 .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.mobile-lg\\:usa-icon-list--size-15 .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.mobile-lg\\:usa-icon-list--size-15 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.93rem}.mobile-lg\\:usa-icon-list--size-16 .usa-icon-list__icon .usa-icon{height:5.595rem;width:5.595rem}.mobile-lg\\:usa-icon-list--size-16 .usa-icon-list__content{max-width:72ex;font-size:3.73rem;padding-left:1.492rem}.mobile-lg\\:usa-icon-list--size-16 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:3.42rem}.mobile-lg\\:usa-icon-list--size-17 .usa-icon-list__icon .usa-icon{height:6.39rem;width:6.39rem}.mobile-lg\\:usa-icon-list--size-17 .usa-icon-list__content{max-width:72ex;font-size:4.26rem;padding-left:1.704rem}.mobile-lg\\:usa-icon-list--size-17 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:3.9rem}.mobile-lg\\:usa-icon-list--size-18 .usa-icon-list__icon .usa-icon{height:7.98rem;width:7.98rem}.mobile-lg\\:usa-icon-list--size-18 .usa-icon-list__content{max-width:72ex;font-size:5.32rem;padding-left:2.128rem}.mobile-lg\\:usa-icon-list--size-18 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:4.88rem}.mobile-lg\\:usa-icon-list--size-19 .usa-icon-list__icon .usa-icon{height:11.985rem;width:11.985rem}.mobile-lg\\:usa-icon-list--size-19 .usa-icon-list__content{max-width:72ex;font-size:7.99rem;padding-left:3.196rem}.mobile-lg\\:usa-icon-list--size-19 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:7.32rem}.mobile-lg\\:usa-icon-list--size-20 .usa-icon-list__icon .usa-icon{height:13.98rem;width:13.98rem}.mobile-lg\\:usa-icon-list--size-20 .usa-icon-list__content{max-width:72ex;font-size:9.32rem;padding-left:3.728rem}.mobile-lg\\:usa-icon-list--size-20 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:8.54rem}.mobile-lg\\:usa-icon-list--size-3xs .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.mobile-lg\\:usa-icon-list--size-3xs .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.mobile-lg\\:usa-icon-list--size-3xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.79rem}.mobile-lg\\:usa-icon-list--size-2xs .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.mobile-lg\\:usa-icon-list--size-2xs .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.mobile-lg\\:usa-icon-list--size-2xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.85rem}.mobile-lg\\:usa-icon-list--size-xs .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.mobile-lg\\:usa-icon-list--size-xs .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.mobile-lg\\:usa-icon-list--size-xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.91rem}.mobile-lg\\:usa-icon-list--size-sm .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.mobile-lg\\:usa-icon-list--size-sm .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.mobile-lg\\:usa-icon-list--size-sm .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.98rem}.mobile-lg\\:usa-icon-list--size-md .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.mobile-lg\\:usa-icon-list--size-md .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.mobile-lg\\:usa-icon-list--size-md .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.04rem}.mobile-lg\\:usa-icon-list--size-lg .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.mobile-lg\\:usa-icon-list--size-lg .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.mobile-lg\\:usa-icon-list--size-lg .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.34rem}.mobile-lg\\:usa-icon-list--size-xl .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.mobile-lg\\:usa-icon-list--size-xl .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.mobile-lg\\:usa-icon-list--size-xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.95rem}.mobile-lg\\:usa-icon-list--size-2xl .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.mobile-lg\\:usa-icon-list--size-2xl .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.mobile-lg\\:usa-icon-list--size-2xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.44rem}.mobile-lg\\:usa-icon-list--size-3xl .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.mobile-lg\\:usa-icon-list--size-3xl .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.mobile-lg\\:usa-icon-list--size-3xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.93rem}}@media all and (min-width: 40em){.tablet\\:usa-icon-list--size-micro .usa-icon-list__icon .usa-icon{height:1.005rem;width:1.005rem}.tablet\\:usa-icon-list--size-micro .usa-icon-list__content{max-width:72ex;font-size:.67rem;padding-left:.268rem}.tablet\\:usa-icon-list--size-micro .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.61rem}.tablet\\:usa-icon-list--size-1 .usa-icon-list__icon .usa-icon{height:1.2rem;width:1.2rem}.tablet\\:usa-icon-list--size-1 .usa-icon-list__content{max-width:72ex;font-size:.8rem;padding-left:.32rem}.tablet\\:usa-icon-list--size-1 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.73rem}.tablet\\:usa-icon-list--size-2 .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.tablet\\:usa-icon-list--size-2 .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.tablet\\:usa-icon-list--size-2 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.79rem}.tablet\\:usa-icon-list--size-3 .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.tablet\\:usa-icon-list--size-3 .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.tablet\\:usa-icon-list--size-3 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.85rem}.tablet\\:usa-icon-list--size-4 .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.tablet\\:usa-icon-list--size-4 .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.tablet\\:usa-icon-list--size-4 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.91rem}.tablet\\:usa-icon-list--size-5 .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.tablet\\:usa-icon-list--size-5 .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.tablet\\:usa-icon-list--size-5 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.98rem}.tablet\\:usa-icon-list--size-6 .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.tablet\\:usa-icon-list--size-6 .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.tablet\\:usa-icon-list--size-6 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.04rem}.tablet\\:usa-icon-list--size-7 .usa-icon-list__icon .usa-icon{height:1.8rem;width:1.8rem}.tablet\\:usa-icon-list--size-7 .usa-icon-list__content{max-width:72ex;font-size:1.2rem;padding-left:.48rem}.tablet\\:usa-icon-list--size-7 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.1rem}.tablet\\:usa-icon-list--size-8 .usa-icon-list__icon .usa-icon{height:1.995rem;width:1.995rem}.tablet\\:usa-icon-list--size-8 .usa-icon-list__content{max-width:72ex;font-size:1.33rem;padding-left:.532rem}.tablet\\:usa-icon-list--size-8 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.22rem}.tablet\\:usa-icon-list--size-9 .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.tablet\\:usa-icon-list--size-9 .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.tablet\\:usa-icon-list--size-9 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.34rem}.tablet\\:usa-icon-list--size-10 .usa-icon-list__icon .usa-icon{height:2.4rem;width:2.4rem}.tablet\\:usa-icon-list--size-10 .usa-icon-list__content{max-width:72ex;font-size:1.6rem;padding-left:.64rem}.tablet\\:usa-icon-list--size-10 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.46rem}.tablet\\:usa-icon-list--size-11 .usa-icon-list__icon .usa-icon{height:2.79rem;width:2.79rem}.tablet\\:usa-icon-list--size-11 .usa-icon-list__content{max-width:72ex;font-size:1.86rem;padding-left:.744rem}.tablet\\:usa-icon-list--size-11 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.71rem}.tablet\\:usa-icon-list--size-12 .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.tablet\\:usa-icon-list--size-12 .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.tablet\\:usa-icon-list--size-12 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.95rem}.tablet\\:usa-icon-list--size-13 .usa-icon-list__icon .usa-icon{height:3.6rem;width:3.6rem}.tablet\\:usa-icon-list--size-13 .usa-icon-list__content{max-width:72ex;font-size:2.4rem;padding-left:.96rem}.tablet\\:usa-icon-list--size-13 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.2rem}.tablet\\:usa-icon-list--size-14 .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.tablet\\:usa-icon-list--size-14 .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.tablet\\:usa-icon-list--size-14 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.44rem}.tablet\\:usa-icon-list--size-15 .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.tablet\\:usa-icon-list--size-15 .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.tablet\\:usa-icon-list--size-15 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.93rem}.tablet\\:usa-icon-list--size-16 .usa-icon-list__icon .usa-icon{height:5.595rem;width:5.595rem}.tablet\\:usa-icon-list--size-16 .usa-icon-list__content{max-width:72ex;font-size:3.73rem;padding-left:1.492rem}.tablet\\:usa-icon-list--size-16 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:3.42rem}.tablet\\:usa-icon-list--size-17 .usa-icon-list__icon .usa-icon{height:6.39rem;width:6.39rem}.tablet\\:usa-icon-list--size-17 .usa-icon-list__content{max-width:72ex;font-size:4.26rem;padding-left:1.704rem}.tablet\\:usa-icon-list--size-17 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:3.9rem}.tablet\\:usa-icon-list--size-18 .usa-icon-list__icon .usa-icon{height:7.98rem;width:7.98rem}.tablet\\:usa-icon-list--size-18 .usa-icon-list__content{max-width:72ex;font-size:5.32rem;padding-left:2.128rem}.tablet\\:usa-icon-list--size-18 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:4.88rem}.tablet\\:usa-icon-list--size-19 .usa-icon-list__icon .usa-icon{height:11.985rem;width:11.985rem}.tablet\\:usa-icon-list--size-19 .usa-icon-list__content{max-width:72ex;font-size:7.99rem;padding-left:3.196rem}.tablet\\:usa-icon-list--size-19 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:7.32rem}.tablet\\:usa-icon-list--size-20 .usa-icon-list__icon .usa-icon{height:13.98rem;width:13.98rem}.tablet\\:usa-icon-list--size-20 .usa-icon-list__content{max-width:72ex;font-size:9.32rem;padding-left:3.728rem}.tablet\\:usa-icon-list--size-20 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:8.54rem}.tablet\\:usa-icon-list--size-3xs .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.tablet\\:usa-icon-list--size-3xs .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.tablet\\:usa-icon-list--size-3xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.79rem}.tablet\\:usa-icon-list--size-2xs .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.tablet\\:usa-icon-list--size-2xs .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.tablet\\:usa-icon-list--size-2xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.85rem}.tablet\\:usa-icon-list--size-xs .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.tablet\\:usa-icon-list--size-xs .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.tablet\\:usa-icon-list--size-xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.91rem}.tablet\\:usa-icon-list--size-sm .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.tablet\\:usa-icon-list--size-sm .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.tablet\\:usa-icon-list--size-sm .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.98rem}.tablet\\:usa-icon-list--size-md .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.tablet\\:usa-icon-list--size-md .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.tablet\\:usa-icon-list--size-md .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.04rem}.tablet\\:usa-icon-list--size-lg .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.tablet\\:usa-icon-list--size-lg .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.tablet\\:usa-icon-list--size-lg .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.34rem}.tablet\\:usa-icon-list--size-xl .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.tablet\\:usa-icon-list--size-xl .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.tablet\\:usa-icon-list--size-xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.95rem}.tablet\\:usa-icon-list--size-2xl .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.tablet\\:usa-icon-list--size-2xl .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.tablet\\:usa-icon-list--size-2xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.44rem}.tablet\\:usa-icon-list--size-3xl .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.tablet\\:usa-icon-list--size-3xl .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.tablet\\:usa-icon-list--size-3xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.93rem}}@media all and (min-width: 64em){.desktop\\:usa-icon-list--size-micro .usa-icon-list__icon .usa-icon{height:1.005rem;width:1.005rem}.desktop\\:usa-icon-list--size-micro .usa-icon-list__content{max-width:72ex;font-size:.67rem;padding-left:.268rem}.desktop\\:usa-icon-list--size-micro .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.61rem}.desktop\\:usa-icon-list--size-1 .usa-icon-list__icon .usa-icon{height:1.2rem;width:1.2rem}.desktop\\:usa-icon-list--size-1 .usa-icon-list__content{max-width:72ex;font-size:.8rem;padding-left:.32rem}.desktop\\:usa-icon-list--size-1 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.73rem}.desktop\\:usa-icon-list--size-2 .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.desktop\\:usa-icon-list--size-2 .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.desktop\\:usa-icon-list--size-2 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.79rem}.desktop\\:usa-icon-list--size-3 .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.desktop\\:usa-icon-list--size-3 .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.desktop\\:usa-icon-list--size-3 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.85rem}.desktop\\:usa-icon-list--size-4 .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.desktop\\:usa-icon-list--size-4 .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.desktop\\:usa-icon-list--size-4 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.91rem}.desktop\\:usa-icon-list--size-5 .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.desktop\\:usa-icon-list--size-5 .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.desktop\\:usa-icon-list--size-5 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.98rem}.desktop\\:usa-icon-list--size-6 .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.desktop\\:usa-icon-list--size-6 .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.desktop\\:usa-icon-list--size-6 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.04rem}.desktop\\:usa-icon-list--size-7 .usa-icon-list__icon .usa-icon{height:1.8rem;width:1.8rem}.desktop\\:usa-icon-list--size-7 .usa-icon-list__content{max-width:72ex;font-size:1.2rem;padding-left:.48rem}.desktop\\:usa-icon-list--size-7 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.1rem}.desktop\\:usa-icon-list--size-8 .usa-icon-list__icon .usa-icon{height:1.995rem;width:1.995rem}.desktop\\:usa-icon-list--size-8 .usa-icon-list__content{max-width:72ex;font-size:1.33rem;padding-left:.532rem}.desktop\\:usa-icon-list--size-8 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.22rem}.desktop\\:usa-icon-list--size-9 .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.desktop\\:usa-icon-list--size-9 .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.desktop\\:usa-icon-list--size-9 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.34rem}.desktop\\:usa-icon-list--size-10 .usa-icon-list__icon .usa-icon{height:2.4rem;width:2.4rem}.desktop\\:usa-icon-list--size-10 .usa-icon-list__content{max-width:72ex;font-size:1.6rem;padding-left:.64rem}.desktop\\:usa-icon-list--size-10 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.46rem}.desktop\\:usa-icon-list--size-11 .usa-icon-list__icon .usa-icon{height:2.79rem;width:2.79rem}.desktop\\:usa-icon-list--size-11 .usa-icon-list__content{max-width:72ex;font-size:1.86rem;padding-left:.744rem}.desktop\\:usa-icon-list--size-11 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.71rem}.desktop\\:usa-icon-list--size-12 .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.desktop\\:usa-icon-list--size-12 .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.desktop\\:usa-icon-list--size-12 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.95rem}.desktop\\:usa-icon-list--size-13 .usa-icon-list__icon .usa-icon{height:3.6rem;width:3.6rem}.desktop\\:usa-icon-list--size-13 .usa-icon-list__content{max-width:72ex;font-size:2.4rem;padding-left:.96rem}.desktop\\:usa-icon-list--size-13 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.2rem}.desktop\\:usa-icon-list--size-14 .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.desktop\\:usa-icon-list--size-14 .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.desktop\\:usa-icon-list--size-14 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.44rem}.desktop\\:usa-icon-list--size-15 .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.desktop\\:usa-icon-list--size-15 .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.desktop\\:usa-icon-list--size-15 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.93rem}.desktop\\:usa-icon-list--size-16 .usa-icon-list__icon .usa-icon{height:5.595rem;width:5.595rem}.desktop\\:usa-icon-list--size-16 .usa-icon-list__content{max-width:72ex;font-size:3.73rem;padding-left:1.492rem}.desktop\\:usa-icon-list--size-16 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:3.42rem}.desktop\\:usa-icon-list--size-17 .usa-icon-list__icon .usa-icon{height:6.39rem;width:6.39rem}.desktop\\:usa-icon-list--size-17 .usa-icon-list__content{max-width:72ex;font-size:4.26rem;padding-left:1.704rem}.desktop\\:usa-icon-list--size-17 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:3.9rem}.desktop\\:usa-icon-list--size-18 .usa-icon-list__icon .usa-icon{height:7.98rem;width:7.98rem}.desktop\\:usa-icon-list--size-18 .usa-icon-list__content{max-width:72ex;font-size:5.32rem;padding-left:2.128rem}.desktop\\:usa-icon-list--size-18 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:4.88rem}.desktop\\:usa-icon-list--size-19 .usa-icon-list__icon .usa-icon{height:11.985rem;width:11.985rem}.desktop\\:usa-icon-list--size-19 .usa-icon-list__content{max-width:72ex;font-size:7.99rem;padding-left:3.196rem}.desktop\\:usa-icon-list--size-19 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:7.32rem}.desktop\\:usa-icon-list--size-20 .usa-icon-list__icon .usa-icon{height:13.98rem;width:13.98rem}.desktop\\:usa-icon-list--size-20 .usa-icon-list__content{max-width:72ex;font-size:9.32rem;padding-left:3.728rem}.desktop\\:usa-icon-list--size-20 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:8.54rem}.desktop\\:usa-icon-list--size-3xs .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.desktop\\:usa-icon-list--size-3xs .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.desktop\\:usa-icon-list--size-3xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.79rem}.desktop\\:usa-icon-list--size-2xs .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.desktop\\:usa-icon-list--size-2xs .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.desktop\\:usa-icon-list--size-2xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.85rem}.desktop\\:usa-icon-list--size-xs .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.desktop\\:usa-icon-list--size-xs .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.desktop\\:usa-icon-list--size-xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.91rem}.desktop\\:usa-icon-list--size-sm .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.desktop\\:usa-icon-list--size-sm .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.desktop\\:usa-icon-list--size-sm .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.98rem}.desktop\\:usa-icon-list--size-md .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.desktop\\:usa-icon-list--size-md .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.desktop\\:usa-icon-list--size-md .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.04rem}.desktop\\:usa-icon-list--size-lg .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.desktop\\:usa-icon-list--size-lg .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.desktop\\:usa-icon-list--size-lg .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.34rem}.desktop\\:usa-icon-list--size-xl .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.desktop\\:usa-icon-list--size-xl .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.desktop\\:usa-icon-list--size-xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.95rem}.desktop\\:usa-icon-list--size-2xl .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.desktop\\:usa-icon-list--size-2xl .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.desktop\\:usa-icon-list--size-2xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.44rem}.desktop\\:usa-icon-list--size-3xl .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.desktop\\:usa-icon-list--size-3xl .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.desktop\\:usa-icon-list--size-3xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.93rem}}.usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.98rem;line-height:1.2;margin-bottom:0rem;padding-top:.425ex}.usa-icon-list__title+*{margin-top:.5rem}.usa-icon-list__content{font-size:1.06rem;padding-left:.424rem}.usa-icon-list__content>*:first-child{margin-top:0}.usa-icon-list__content>*:last-child{margin-bottom:0}.usa-icon-list__content ul li{list-style-type:disc}.usa-identifier{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.3;color:#fff;background-color:#1b1b1b;padding-bottom:1rem}.usa-identifier__container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem;max-width:64rem}@media all and (min-width: 64em){.usa-identifier__container{padding-left:2rem;padding-right:2rem}}.usa-identifier__section{padding-bottom:1rem;padding-top:1rem}@media all and (min-width: 40em){.usa-identifier__section--masthead .usa-identifier__container{align-items:center;display:flex}}.usa-identifier__logos{display:flex;margin-right:1rem}.usa-identifier__logo{text-decoration:none;height:3rem;display:block}.usa-identifier__logo+.usa-identifier__logo{margin-left:.5rem}.usa-identifier__logo-img{height:100%;width:auto}.usa-identifier__identity{flex:1 1 0%;margin-top:1rem}@media all and (min-width: 40em){.usa-identifier__identity{margin-top:0rem}}.usa-identifier__identity-domain,.usa-identifier__identity-disclaimer{margin:0;padding:0}.usa-identifier__identity-domain{color:#a9aeb1}.usa-identifier__identity-disclaimer{font-weight:700}.usa-identifier__identity-disclaimer a{color:#dfe1e2}.usa-identifier__identity-disclaimer a:visited{color:#dfe1e2}.usa-identifier__identity-disclaimer a:hover,.usa-identifier__identity-disclaimer a:active{color:#f0f0f0}@media all and (min-width: 40em){.usa-identifier__section--required-links{padding-bottom:.5rem;padding-top:.5rem}}@media all and (min-width: 64em){.usa-identifier__section--required-links{font-size:1rem}}.usa-identifier__required-links-list{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;margin-bottom:0;margin-top:0}@media all and (min-width: 40em){.usa-identifier__required-links-list{column-count:2;column-gap:2rem;column-fill:balance}}@media all and (min-width: 64em){.usa-identifier__required-links-list{column-count:4}}.usa-identifier__required-links-item{break-inside:avoid;margin-bottom:.75rem}.usa-identifier__required-links-item:last-child{margin-bottom:0rem}@media all and (min-width: 64em){.usa-identifier__required-links-item{margin-bottom:.5rem}}.usa-identifier__required-link,.usa-identifier__required-link.usa-link{color:#a9aeb1;display:inline-block}.usa-identifier__required-link:visited,.usa-identifier__required-link.usa-link:visited{color:#a9aeb1}.usa-identifier__required-link:hover,.usa-identifier__required-link:active,.usa-identifier__required-link.usa-link:hover,.usa-identifier__required-link.usa-link:active{color:#dfe1e2}.usa-identifier__section--usagov a{color:#dfe1e2;font-weight:700;display:inline-block;margin-top:.5rem}.usa-identifier__section--usagov a:visited{color:#dfe1e2}.usa-identifier__section--usagov a:hover,.usa-identifier__section--usagov a:active{color:#f0f0f0}@media all and (min-width: 40em){.usa-identifier__section--usagov a{margin-top:0}}@media all and (min-width: 40em){.usa-identifier__usagov-description{display:inline-flex}}.usa-in-page-nav-container{align-items:flex-start;display:flex}.usa-in-page-nav-container main{max-width:64rem;width:100%}.usa-in-page-nav{color:#1b1b1b;display:none;margin-left:2rem;margin-top:1.25rem;max-width:15rem;order:2;position:sticky;top:2rem;width:100%}@media all and (min-width: 40em){.usa-in-page-nav{display:block}}.usa-in-page-nav__nav{color:#1b1b1b;background-color:#fff;border-radius:.5rem;padding:1rem}.usa-in-page-nav__heading{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:.93rem;line-height:1.3;font-weight:700;margin-bottom:1rem;margin-top:0;padding:0}.usa-in-page-nav__list{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;border-left:1px solid rgba(27,27,27,.25);padding:0}.usa-in-page-nav__list>li{margin-bottom:0;max-width:unset}.usa-in-page-nav__list__item{border-top:1px solid #dfe1e2}.usa-in-page-nav__list a:not(.usa-button){display:block;padding:.5rem 1rem;text-decoration:none}.usa-in-page-nav__list a:not(.usa-button):hover{background-color:#f0f0f0;text-decoration:none}.usa-in-page-nav__list a:not(.usa-button):not(.usa-current){color:#565c65}.usa-in-page-nav__list a:not(.usa-button):not(.usa-current):hover{color:#005ea2}.usa-in-page-nav__list a:not(.usa-button):not(.usa-current):focus{outline-offset:0}.usa-in-page-nav__list .usa-current{position:relative;color:#005ea2;font-weight:700}.usa-in-page-nav__list .usa-current::after{background-color:#005ea2;border-radius:99rem;content:\"\";display:block;position:absolute;bottom:.25rem;top:.25rem;width:.25rem;left:.25rem}@media all and (min-width: 40em){.usa-in-page-nav__list .usa-current{position:relative}.usa-in-page-nav__list .usa-current::after{background-color:#005ea2;border-radius:99rem;content:\"\";display:block;position:absolute;bottom:.25rem;top:.25rem;width:.25rem;left:0rem}}.usa-in-page-nav__list a:not(.usa-button):not(.usa-current){color:#005ea2}.usa-in-page-nav__list a:not(.usa-button):not(.usa-current):visited{color:#54278f}.usa-in-page-nav__list a:not(.usa-button):not(.usa-current):hover,.usa-in-page-nav__list a:not(.usa-button):not(.usa-current):active{color:#1a4480}.usa-in-page-nav__list a:not(.usa-button):not(.usa-current):visited{color:#005ea2}.usa-in-page-nav__list a:not(.usa-button).usa-current{color:#1b1b1b;font-weight:inherit}.usa-in-page-nav__list a:not(.usa-button):hover{text-decoration:underline;background-color:none}.usa-in-page-nav__list a:not(.usa-button).usa-current{position:static}.usa-in-page-nav__list a:not(.usa-button).usa-current::after{background-color:#1b1b1b;border-radius:0;bottom:-1px;left:0;top:0;width:.25rem;z-index:100}.usa-in-page-nav__item{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:.93rem;line-height:1.1;border:none;position:relative}.usa-in-page-nav__item--primary{font-weight:700}.usa-language{flex-direction:row;align-items:center;justify-content:flex-end;display:flex;padding:0 0 .25rem .5rem;width:100%}.usa-language--small .usa-button{padding-left:.75rem;padding-right:.75rem;padding-bottom:0;padding-top:0;font-size:.87rem;height:2rem;margin-top:.3rem;min-width:3rem}.usa-language-container{align-items:center;justify-content:flex-end;display:flex}.usa-nav-container .usa-language-container{align-self:center;margin-left:0rem;position:absolute;right:5rem;top:1rem}@media all and (min-width: 64em){.usa-nav-container .usa-language-container{align-self:flex-end;margin-left:.75rem;margin-bottom:.5rem;position:relative;right:inherit;top:-2px}}.usa-language__link{margin-right:0rem}.usa-language__primary{width:auto}.usa-language__primary-item:last-of-type{position:relative}.usa-language__primary-item:last-of-type .usa-language__submenu{position:absolute;right:0}.usa-language__submenu{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;margin:0;background-color:#162e51;position:absolute;width:15rem;z-index:400}.usa-language__submenu>li{margin-bottom:0;max-width:unset}.usa-language__submenu-item{border-top:1px solid #dfe1e2;font-size:.93rem}.usa-language__submenu .usa-current::after{display:none}@media all and (min-width: 40em){.usa-language__submenu .usa-current::after{display:none}}.usa-language__submenu a:not(.usa-button){padding-left:2rem}.usa-language__submenu .usa-language__submenu a:not(.usa-button){padding-left:3rem}.usa-language__submenu .usa-language__submenu .usa-language__submenu a:not(.usa-button){padding-left:4rem}.usa-language__submenu[aria-hidden=true]{display:none}.usa-language__submenu .usa-language__submenu-item a{color:#fff;display:block;line-height:1.3;padding:0;padding:.5rem;text-decoration:none}.usa-language__submenu .usa-language__submenu-item a:focus{outline-offset:-0.25rem}.usa-language__submenu .usa-language__submenu-item a:hover{color:#fff;text-decoration:underline}.usa-language__submenu-list{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-language__submenu-list>li{margin-bottom:0;max-width:unset}.usa-language__submenu-list .usa-language__submenu-list-item{margin:0;font-size:.93rem}.usa-language__submenu-list .usa-language__submenu-list-item a{line-height:1.3}.usa-layout-docs__sidenav{padding-top:2rem}@media all and (min-width: 64em){.usa-layout-docs__sidenav{padding-top:0}}.grid-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}@media all and (min-width: 64em){.grid-container{padding-left:2rem;padding-right:2rem}}.grid-container-card{margin-left:auto;margin-right:auto;max-width:10rem;padding-left:1rem;padding-right:1rem}@media all and (min-width: 64em){.grid-container-card{padding-left:2rem;padding-right:2rem}}.grid-container-card-lg{margin-left:auto;margin-right:auto;max-width:15rem;padding-left:1rem;padding-right:1rem}@media all and (min-width: 64em){.grid-container-card-lg{padding-left:2rem;padding-right:2rem}}.grid-container-mobile{margin-left:auto;margin-right:auto;max-width:20rem;padding-left:1rem;padding-right:1rem}@media all and (min-width: 64em){.grid-container-mobile{padding-left:2rem;padding-right:2rem}}.grid-container-mobile-lg{margin-left:auto;margin-right:auto;max-width:30rem;padding-left:1rem;padding-right:1rem}@media all and (min-width: 64em){.grid-container-mobile-lg{padding-left:2rem;padding-right:2rem}}.grid-container-tablet{margin-left:auto;margin-right:auto;max-width:40rem;padding-left:1rem;padding-right:1rem}@media all and (min-width: 64em){.grid-container-tablet{padding-left:2rem;padding-right:2rem}}.grid-container-tablet-lg{margin-left:auto;margin-right:auto;max-width:55rem;padding-left:1rem;padding-right:1rem}@media all and (min-width: 64em){.grid-container-tablet-lg{padding-left:2rem;padding-right:2rem}}.grid-container-desktop{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}@media all and (min-width: 64em){.grid-container-desktop{padding-left:2rem;padding-right:2rem}}.grid-container-desktop-lg{margin-left:auto;margin-right:auto;max-width:75rem;padding-left:1rem;padding-right:1rem}@media all and (min-width: 64em){.grid-container-desktop-lg{padding-left:2rem;padding-right:2rem}}.grid-container-widescreen{margin-left:auto;margin-right:auto;max-width:87.5rem;padding-left:1rem;padding-right:1rem}@media all and (min-width: 64em){.grid-container-widescreen{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 30em){.mobile-lg\\:grid-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 30em)and (min-width: 64em){.mobile-lg\\:grid-container{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 30em){.mobile-lg\\:grid-container-card{margin-left:auto;margin-right:auto;max-width:10rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 30em)and (min-width: 64em){.mobile-lg\\:grid-container-card{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 30em){.mobile-lg\\:grid-container-card-lg{margin-left:auto;margin-right:auto;max-width:15rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 30em)and (min-width: 64em){.mobile-lg\\:grid-container-card-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 30em){.mobile-lg\\:grid-container-mobile{margin-left:auto;margin-right:auto;max-width:20rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 30em)and (min-width: 64em){.mobile-lg\\:grid-container-mobile{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 30em){.mobile-lg\\:grid-container-mobile-lg{margin-left:auto;margin-right:auto;max-width:30rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 30em)and (min-width: 64em){.mobile-lg\\:grid-container-mobile-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 30em){.mobile-lg\\:grid-container-tablet{margin-left:auto;margin-right:auto;max-width:40rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 30em)and (min-width: 64em){.mobile-lg\\:grid-container-tablet{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 30em){.mobile-lg\\:grid-container-tablet-lg{margin-left:auto;margin-right:auto;max-width:55rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 30em)and (min-width: 64em){.mobile-lg\\:grid-container-tablet-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 30em){.mobile-lg\\:grid-container-desktop{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 30em)and (min-width: 64em){.mobile-lg\\:grid-container-desktop{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 30em){.mobile-lg\\:grid-container-desktop-lg{margin-left:auto;margin-right:auto;max-width:75rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 30em)and (min-width: 64em){.mobile-lg\\:grid-container-desktop-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 30em){.mobile-lg\\:grid-container-widescreen{margin-left:auto;margin-right:auto;max-width:87.5rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 30em)and (min-width: 64em){.mobile-lg\\:grid-container-widescreen{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 40em){.tablet\\:grid-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 40em)and (min-width: 64em){.tablet\\:grid-container{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 40em){.tablet\\:grid-container-card{margin-left:auto;margin-right:auto;max-width:10rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 40em)and (min-width: 64em){.tablet\\:grid-container-card{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 40em){.tablet\\:grid-container-card-lg{margin-left:auto;margin-right:auto;max-width:15rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 40em)and (min-width: 64em){.tablet\\:grid-container-card-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 40em){.tablet\\:grid-container-mobile{margin-left:auto;margin-right:auto;max-width:20rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 40em)and (min-width: 64em){.tablet\\:grid-container-mobile{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 40em){.tablet\\:grid-container-mobile-lg{margin-left:auto;margin-right:auto;max-width:30rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 40em)and (min-width: 64em){.tablet\\:grid-container-mobile-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 40em){.tablet\\:grid-container-tablet{margin-left:auto;margin-right:auto;max-width:40rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 40em)and (min-width: 64em){.tablet\\:grid-container-tablet{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 40em){.tablet\\:grid-container-tablet-lg{margin-left:auto;margin-right:auto;max-width:55rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 40em)and (min-width: 64em){.tablet\\:grid-container-tablet-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 40em){.tablet\\:grid-container-desktop{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 40em)and (min-width: 64em){.tablet\\:grid-container-desktop{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 40em){.tablet\\:grid-container-desktop-lg{margin-left:auto;margin-right:auto;max-width:75rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 40em)and (min-width: 64em){.tablet\\:grid-container-desktop-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 40em){.tablet\\:grid-container-widescreen{margin-left:auto;margin-right:auto;max-width:87.5rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 40em)and (min-width: 64em){.tablet\\:grid-container-widescreen{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 64em){.desktop\\:grid-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 64em)and (min-width: 64em){.desktop\\:grid-container{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 64em){.desktop\\:grid-container-card{margin-left:auto;margin-right:auto;max-width:10rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 64em)and (min-width: 64em){.desktop\\:grid-container-card{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 64em){.desktop\\:grid-container-card-lg{margin-left:auto;margin-right:auto;max-width:15rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 64em)and (min-width: 64em){.desktop\\:grid-container-card-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 64em){.desktop\\:grid-container-mobile{margin-left:auto;margin-right:auto;max-width:20rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 64em)and (min-width: 64em){.desktop\\:grid-container-mobile{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 64em){.desktop\\:grid-container-mobile-lg{margin-left:auto;margin-right:auto;max-width:30rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 64em)and (min-width: 64em){.desktop\\:grid-container-mobile-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 64em){.desktop\\:grid-container-tablet{margin-left:auto;margin-right:auto;max-width:40rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 64em)and (min-width: 64em){.desktop\\:grid-container-tablet{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 64em){.desktop\\:grid-container-tablet-lg{margin-left:auto;margin-right:auto;max-width:55rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 64em)and (min-width: 64em){.desktop\\:grid-container-tablet-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 64em){.desktop\\:grid-container-desktop{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 64em)and (min-width: 64em){.desktop\\:grid-container-desktop{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 64em){.desktop\\:grid-container-desktop-lg{margin-left:auto;margin-right:auto;max-width:75rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 64em)and (min-width: 64em){.desktop\\:grid-container-desktop-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 64em){.desktop\\:grid-container-widescreen{margin-left:auto;margin-right:auto;max-width:87.5rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 64em)and (min-width: 64em){.desktop\\:grid-container-widescreen{padding-left:2rem;padding-right:2rem}}.grid-row{display:flex;flex-wrap:wrap}.grid-row.grid-gap{margin-left:-0.5rem;margin-right:-0.5rem}.grid-row.grid-gap>*{padding-left:.5rem;padding-right:.5rem}@media all and (min-width: 64em){.grid-row.grid-gap{margin-left:-1rem;margin-right:-1rem}.grid-row.grid-gap>*{padding-left:1rem;padding-right:1rem}}.grid-row.grid-gap-0{margin-left:0;margin-right:0}.grid-row.grid-gap-0>*{padding-left:0;padding-right:0}.grid-row.grid-gap-2px{margin-left:-1px;margin-right:-1px}.grid-row.grid-gap-2px>*{padding-left:1px;padding-right:1px}.grid-row.grid-gap-05{margin-left:-2px;margin-right:-2px}.grid-row.grid-gap-05>*{padding-left:2px;padding-right:2px}.grid-row.grid-gap-1{margin-left:-0.25rem;margin-right:-0.25rem}.grid-row.grid-gap-1>*{padding-left:.25rem;padding-right:.25rem}.grid-row.grid-gap-2{margin-left:-0.5rem;margin-right:-0.5rem}.grid-row.grid-gap-2>*{padding-left:.5rem;padding-right:.5rem}.grid-row.grid-gap-3{margin-left:-0.75rem;margin-right:-0.75rem}.grid-row.grid-gap-3>*{padding-left:.75rem;padding-right:.75rem}.grid-row.grid-gap-4{margin-left:-1rem;margin-right:-1rem}.grid-row.grid-gap-4>*{padding-left:1rem;padding-right:1rem}.grid-row.grid-gap-5{margin-left:-1.25rem;margin-right:-1.25rem}.grid-row.grid-gap-5>*{padding-left:1.25rem;padding-right:1.25rem}.grid-row.grid-gap-6{margin-left:-1.5rem;margin-right:-1.5rem}.grid-row.grid-gap-6>*{padding-left:1.5rem;padding-right:1.5rem}.grid-row.grid-gap-sm{margin-left:-1px;margin-right:-1px}.grid-row.grid-gap-sm>*{padding-left:1px;padding-right:1px}.grid-row.grid-gap-md{margin-left:-0.5rem;margin-right:-0.5rem}.grid-row.grid-gap-md>*{padding-left:.5rem;padding-right:.5rem}.grid-row.grid-gap-lg{margin-left:-0.75rem;margin-right:-0.75rem}.grid-row.grid-gap-lg>*{padding-left:.75rem;padding-right:.75rem}@media all and (min-width: 30em){.grid-row.mobile-lg\\:grid-gap-0{margin-left:0;margin-right:0}.grid-row.mobile-lg\\:grid-gap-0>*{padding-left:0;padding-right:0}.grid-row.mobile-lg\\:grid-gap-2px{margin-left:-1px;margin-right:-1px}.grid-row.mobile-lg\\:grid-gap-2px>*{padding-left:1px;padding-right:1px}.grid-row.mobile-lg\\:grid-gap-05{margin-left:-2px;margin-right:-2px}.grid-row.mobile-lg\\:grid-gap-05>*{padding-left:2px;padding-right:2px}.grid-row.mobile-lg\\:grid-gap-1{margin-left:-0.25rem;margin-right:-0.25rem}.grid-row.mobile-lg\\:grid-gap-1>*{padding-left:.25rem;padding-right:.25rem}.grid-row.mobile-lg\\:grid-gap-2{margin-left:-0.5rem;margin-right:-0.5rem}.grid-row.mobile-lg\\:grid-gap-2>*{padding-left:.5rem;padding-right:.5rem}.grid-row.mobile-lg\\:grid-gap-3{margin-left:-0.75rem;margin-right:-0.75rem}.grid-row.mobile-lg\\:grid-gap-3>*{padding-left:.75rem;padding-right:.75rem}.grid-row.mobile-lg\\:grid-gap-4{margin-left:-1rem;margin-right:-1rem}.grid-row.mobile-lg\\:grid-gap-4>*{padding-left:1rem;padding-right:1rem}.grid-row.mobile-lg\\:grid-gap-5{margin-left:-1.25rem;margin-right:-1.25rem}.grid-row.mobile-lg\\:grid-gap-5>*{padding-left:1.25rem;padding-right:1.25rem}.grid-row.mobile-lg\\:grid-gap-6{margin-left:-1.5rem;margin-right:-1.5rem}.grid-row.mobile-lg\\:grid-gap-6>*{padding-left:1.5rem;padding-right:1.5rem}.grid-row.mobile-lg\\:grid-gap-sm{margin-left:-1px;margin-right:-1px}.grid-row.mobile-lg\\:grid-gap-sm>*{padding-left:1px;padding-right:1px}.grid-row.mobile-lg\\:grid-gap-md{margin-left:-0.5rem;margin-right:-0.5rem}.grid-row.mobile-lg\\:grid-gap-md>*{padding-left:.5rem;padding-right:.5rem}.grid-row.mobile-lg\\:grid-gap-lg{margin-left:-0.75rem;margin-right:-0.75rem}.grid-row.mobile-lg\\:grid-gap-lg>*{padding-left:.75rem;padding-right:.75rem}}@media all and (min-width: 40em){.grid-row.tablet\\:grid-gap-0{margin-left:0;margin-right:0}.grid-row.tablet\\:grid-gap-0>*{padding-left:0;padding-right:0}.grid-row.tablet\\:grid-gap-2px{margin-left:-1px;margin-right:-1px}.grid-row.tablet\\:grid-gap-2px>*{padding-left:1px;padding-right:1px}.grid-row.tablet\\:grid-gap-05{margin-left:-2px;margin-right:-2px}.grid-row.tablet\\:grid-gap-05>*{padding-left:2px;padding-right:2px}.grid-row.tablet\\:grid-gap-1{margin-left:-0.25rem;margin-right:-0.25rem}.grid-row.tablet\\:grid-gap-1>*{padding-left:.25rem;padding-right:.25rem}.grid-row.tablet\\:grid-gap-2{margin-left:-0.5rem;margin-right:-0.5rem}.grid-row.tablet\\:grid-gap-2>*{padding-left:.5rem;padding-right:.5rem}.grid-row.tablet\\:grid-gap-3{margin-left:-0.75rem;margin-right:-0.75rem}.grid-row.tablet\\:grid-gap-3>*{padding-left:.75rem;padding-right:.75rem}.grid-row.tablet\\:grid-gap-4{margin-left:-1rem;margin-right:-1rem}.grid-row.tablet\\:grid-gap-4>*{padding-left:1rem;padding-right:1rem}.grid-row.tablet\\:grid-gap-5{margin-left:-1.25rem;margin-right:-1.25rem}.grid-row.tablet\\:grid-gap-5>*{padding-left:1.25rem;padding-right:1.25rem}.grid-row.tablet\\:grid-gap-6{margin-left:-1.5rem;margin-right:-1.5rem}.grid-row.tablet\\:grid-gap-6>*{padding-left:1.5rem;padding-right:1.5rem}.grid-row.tablet\\:grid-gap-sm{margin-left:-1px;margin-right:-1px}.grid-row.tablet\\:grid-gap-sm>*{padding-left:1px;padding-right:1px}.grid-row.tablet\\:grid-gap-md{margin-left:-0.5rem;margin-right:-0.5rem}.grid-row.tablet\\:grid-gap-md>*{padding-left:.5rem;padding-right:.5rem}.grid-row.tablet\\:grid-gap-lg{margin-left:-0.75rem;margin-right:-0.75rem}.grid-row.tablet\\:grid-gap-lg>*{padding-left:.75rem;padding-right:.75rem}}@media all and (min-width: 64em){.grid-row.desktop\\:grid-gap-0{margin-left:0;margin-right:0}.grid-row.desktop\\:grid-gap-0>*{padding-left:0;padding-right:0}.grid-row.desktop\\:grid-gap-2px{margin-left:-1px;margin-right:-1px}.grid-row.desktop\\:grid-gap-2px>*{padding-left:1px;padding-right:1px}.grid-row.desktop\\:grid-gap-05{margin-left:-2px;margin-right:-2px}.grid-row.desktop\\:grid-gap-05>*{padding-left:2px;padding-right:2px}.grid-row.desktop\\:grid-gap-1{margin-left:-0.25rem;margin-right:-0.25rem}.grid-row.desktop\\:grid-gap-1>*{padding-left:.25rem;padding-right:.25rem}.grid-row.desktop\\:grid-gap-2{margin-left:-0.5rem;margin-right:-0.5rem}.grid-row.desktop\\:grid-gap-2>*{padding-left:.5rem;padding-right:.5rem}.grid-row.desktop\\:grid-gap-3{margin-left:-0.75rem;margin-right:-0.75rem}.grid-row.desktop\\:grid-gap-3>*{padding-left:.75rem;padding-right:.75rem}.grid-row.desktop\\:grid-gap-4{margin-left:-1rem;margin-right:-1rem}.grid-row.desktop\\:grid-gap-4>*{padding-left:1rem;padding-right:1rem}.grid-row.desktop\\:grid-gap-5{margin-left:-1.25rem;margin-right:-1.25rem}.grid-row.desktop\\:grid-gap-5>*{padding-left:1.25rem;padding-right:1.25rem}.grid-row.desktop\\:grid-gap-6{margin-left:-1.5rem;margin-right:-1.5rem}.grid-row.desktop\\:grid-gap-6>*{padding-left:1.5rem;padding-right:1.5rem}.grid-row.desktop\\:grid-gap-sm{margin-left:-1px;margin-right:-1px}.grid-row.desktop\\:grid-gap-sm>*{padding-left:1px;padding-right:1px}.grid-row.desktop\\:grid-gap-md{margin-left:-0.5rem;margin-right:-0.5rem}.grid-row.desktop\\:grid-gap-md>*{padding-left:.5rem;padding-right:.5rem}.grid-row.desktop\\:grid-gap-lg{margin-left:-0.75rem;margin-right:-0.75rem}.grid-row.desktop\\:grid-gap-lg>*{padding-left:.75rem;padding-right:.75rem}}[class*=grid-col]{position:relative;width:100%;box-sizing:border-box}.grid-col{flex:1 1 0%;width:auto;max-width:100%;min-width:1px}.grid-col-auto{flex:0 1 auto;width:auto;max-width:100%}.grid-col-fill{flex:1 1 0%;width:auto;max-width:100%;min-width:1px}.grid-col-1{flex:0 1 auto;width:8.3333333333%}.grid-col-2{flex:0 1 auto;width:16.6666666667%}.grid-col-3{flex:0 1 auto;width:25%}.grid-col-4{flex:0 1 auto;width:33.3333333333%}.grid-col-5{flex:0 1 auto;width:41.6666666667%}.grid-col-6{flex:0 1 auto;width:50%}.grid-col-7{flex:0 1 auto;width:58.3333333333%}.grid-col-8{flex:0 1 auto;width:66.6666666667%}.grid-col-9{flex:0 1 auto;width:75%}.grid-col-10{flex:0 1 auto;width:83.3333333333%}.grid-col-11{flex:0 1 auto;width:91.6666666667%}.grid-col-12{flex:0 1 auto;width:100%}@media all and (min-width: 30em){.mobile-lg\\:grid-col{flex:1 1 0%;width:auto;max-width:100%;min-width:1px}.mobile-lg\\:grid-col-fill{flex:1 1 0%;width:auto;max-width:100%;min-width:1px}.mobile-lg\\:grid-col-auto{flex:0 1 auto;width:auto;max-width:100%}.mobile-lg\\:grid-col-1{flex:0 1 auto;width:8.3333333333%}.mobile-lg\\:grid-col-2{flex:0 1 auto;width:16.6666666667%}.mobile-lg\\:grid-col-3{flex:0 1 auto;width:25%}.mobile-lg\\:grid-col-4{flex:0 1 auto;width:33.3333333333%}.mobile-lg\\:grid-col-5{flex:0 1 auto;width:41.6666666667%}.mobile-lg\\:grid-col-6{flex:0 1 auto;width:50%}.mobile-lg\\:grid-col-7{flex:0 1 auto;width:58.3333333333%}.mobile-lg\\:grid-col-8{flex:0 1 auto;width:66.6666666667%}.mobile-lg\\:grid-col-9{flex:0 1 auto;width:75%}.mobile-lg\\:grid-col-10{flex:0 1 auto;width:83.3333333333%}.mobile-lg\\:grid-col-11{flex:0 1 auto;width:91.6666666667%}.mobile-lg\\:grid-col-12{flex:0 1 auto;width:100%}}@media all and (min-width: 40em){.tablet\\:grid-col{flex:1 1 0%;width:auto;max-width:100%;min-width:1px}.tablet\\:grid-col-fill{flex:1 1 0%;width:auto;max-width:100%;min-width:1px}.tablet\\:grid-col-auto{flex:0 1 auto;width:auto;max-width:100%}.tablet\\:grid-col-1{flex:0 1 auto;width:8.3333333333%}.tablet\\:grid-col-2{flex:0 1 auto;width:16.6666666667%}.tablet\\:grid-col-3{flex:0 1 auto;width:25%}.tablet\\:grid-col-4{flex:0 1 auto;width:33.3333333333%}.tablet\\:grid-col-5{flex:0 1 auto;width:41.6666666667%}.tablet\\:grid-col-6{flex:0 1 auto;width:50%}.tablet\\:grid-col-7{flex:0 1 auto;width:58.3333333333%}.tablet\\:grid-col-8{flex:0 1 auto;width:66.6666666667%}.tablet\\:grid-col-9{flex:0 1 auto;width:75%}.tablet\\:grid-col-10{flex:0 1 auto;width:83.3333333333%}.tablet\\:grid-col-11{flex:0 1 auto;width:91.6666666667%}.tablet\\:grid-col-12{flex:0 1 auto;width:100%}}@media all and (min-width: 64em){.desktop\\:grid-col{flex:1 1 0%;width:auto;max-width:100%;min-width:1px}.desktop\\:grid-col-fill{flex:1 1 0%;width:auto;max-width:100%;min-width:1px}.desktop\\:grid-col-auto{flex:0 1 auto;width:auto;max-width:100%}.desktop\\:grid-col-1{flex:0 1 auto;width:8.3333333333%}.desktop\\:grid-col-2{flex:0 1 auto;width:16.6666666667%}.desktop\\:grid-col-3{flex:0 1 auto;width:25%}.desktop\\:grid-col-4{flex:0 1 auto;width:33.3333333333%}.desktop\\:grid-col-5{flex:0 1 auto;width:41.6666666667%}.desktop\\:grid-col-6{flex:0 1 auto;width:50%}.desktop\\:grid-col-7{flex:0 1 auto;width:58.3333333333%}.desktop\\:grid-col-8{flex:0 1 auto;width:66.6666666667%}.desktop\\:grid-col-9{flex:0 1 auto;width:75%}.desktop\\:grid-col-10{flex:0 1 auto;width:83.3333333333%}.desktop\\:grid-col-11{flex:0 1 auto;width:91.6666666667%}.desktop\\:grid-col-12{flex:0 1 auto;width:100%}}.grid-offset-1{margin-left:8.3333333333%}.grid-offset-2{margin-left:16.6666666667%}.grid-offset-3{margin-left:25%}.grid-offset-4{margin-left:33.3333333333%}.grid-offset-5{margin-left:41.6666666667%}.grid-offset-6{margin-left:50%}.grid-offset-7{margin-left:58.3333333333%}.grid-offset-8{margin-left:66.6666666667%}.grid-offset-9{margin-left:75%}.grid-offset-10{margin-left:83.3333333333%}.grid-offset-11{margin-left:91.6666666667%}.grid-offset-12{margin-left:100%}.grid-offset-none{margin-left:0}@media all and (min-width: 30em){.mobile-lg\\:grid-offset-1{margin-left:8.3333333333%}}@media all and (min-width: 30em){.mobile-lg\\:grid-offset-2{margin-left:16.6666666667%}}@media all and (min-width: 30em){.mobile-lg\\:grid-offset-3{margin-left:25%}}@media all and (min-width: 30em){.mobile-lg\\:grid-offset-4{margin-left:33.3333333333%}}@media all and (min-width: 30em){.mobile-lg\\:grid-offset-5{margin-left:41.6666666667%}}@media all and (min-width: 30em){.mobile-lg\\:grid-offset-6{margin-left:50%}}@media all and (min-width: 30em){.mobile-lg\\:grid-offset-7{margin-left:58.3333333333%}}@media all and (min-width: 30em){.mobile-lg\\:grid-offset-8{margin-left:66.6666666667%}}@media all and (min-width: 30em){.mobile-lg\\:grid-offset-9{margin-left:75%}}@media all and (min-width: 30em){.mobile-lg\\:grid-offset-10{margin-left:83.3333333333%}}@media all and (min-width: 30em){.mobile-lg\\:grid-offset-11{margin-left:91.6666666667%}}@media all and (min-width: 30em){.mobile-lg\\:grid-offset-12{margin-left:100%}}@media all and (min-width: 30em){.mobile-lg\\:grid-offset-none{margin-left:0}}@media all and (min-width: 40em){.tablet\\:grid-offset-1{margin-left:8.3333333333%}}@media all and (min-width: 40em){.tablet\\:grid-offset-2{margin-left:16.6666666667%}}@media all and (min-width: 40em){.tablet\\:grid-offset-3{margin-left:25%}}@media all and (min-width: 40em){.tablet\\:grid-offset-4{margin-left:33.3333333333%}}@media all and (min-width: 40em){.tablet\\:grid-offset-5{margin-left:41.6666666667%}}@media all and (min-width: 40em){.tablet\\:grid-offset-6{margin-left:50%}}@media all and (min-width: 40em){.tablet\\:grid-offset-7{margin-left:58.3333333333%}}@media all and (min-width: 40em){.tablet\\:grid-offset-8{margin-left:66.6666666667%}}@media all and (min-width: 40em){.tablet\\:grid-offset-9{margin-left:75%}}@media all and (min-width: 40em){.tablet\\:grid-offset-10{margin-left:83.3333333333%}}@media all and (min-width: 40em){.tablet\\:grid-offset-11{margin-left:91.6666666667%}}@media all and (min-width: 40em){.tablet\\:grid-offset-12{margin-left:100%}}@media all and (min-width: 40em){.tablet\\:grid-offset-none{margin-left:0}}@media all and (min-width: 64em){.desktop\\:grid-offset-1{margin-left:8.3333333333%}}@media all and (min-width: 64em){.desktop\\:grid-offset-2{margin-left:16.6666666667%}}@media all and (min-width: 64em){.desktop\\:grid-offset-3{margin-left:25%}}@media all and (min-width: 64em){.desktop\\:grid-offset-4{margin-left:33.3333333333%}}@media all and (min-width: 64em){.desktop\\:grid-offset-5{margin-left:41.6666666667%}}@media all and (min-width: 64em){.desktop\\:grid-offset-6{margin-left:50%}}@media all and (min-width: 64em){.desktop\\:grid-offset-7{margin-left:58.3333333333%}}@media all and (min-width: 64em){.desktop\\:grid-offset-8{margin-left:66.6666666667%}}@media all and (min-width: 64em){.desktop\\:grid-offset-9{margin-left:75%}}@media all and (min-width: 64em){.desktop\\:grid-offset-10{margin-left:83.3333333333%}}@media all and (min-width: 64em){.desktop\\:grid-offset-11{margin-left:91.6666666667%}}@media all and (min-width: 64em){.desktop\\:grid-offset-12{margin-left:100%}}@media all and (min-width: 64em){.desktop\\:grid-offset-none{margin-left:0}}.usa-media-block{align-items:flex-start;display:flex}.usa-media-block__img{flex-shrink:0;margin-right:.5rem}.usa-media-block__body{flex:1 1 0%}.usa-js-no-click{pointer-events:none;user-select:none}.usa-js-no-click .usa-modal,.usa-js-no-click .usa-modal *{pointer-events:auto;user-select:text}[data-open-modal] *{pointer-events:none}.usa-modal-wrapper{text-align:center;transition:opacity .15s ease-in-out}.usa-modal-wrapper.is-hidden{visibility:hidden;opacity:0;position:fixed}.usa-modal-wrapper.is-visible{visibility:visible;opacity:1;position:fixed;z-index:99999}.usa-modal-overlay{background:rgba(0,0,0,.7);bottom:0;height:100%;left:0;overflow:scroll;overflow-x:hidden;padding:1.5rem;position:fixed;scroll-behavior:smooth;top:0;width:100%}.usa-modal-overlay:before{content:\"\";display:inline-block;height:100%;vertical-align:middle}.usa-modal-overlay[data-force-action=true]{pointer-events:none}.usa-modal-overlay[data-force-action=true] *{pointer-events:auto}.usa-js-loading .usa-modal-wrapper{position:absolute;left:-999em;right:auto}.usa-js-loading .usa-modal-wrapper:target{position:static}.usa-modal{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;border-radius:.5rem;background:#fff;color:#1b1b1b;display:inline-block;margin:1.25rem auto;max-width:30rem;position:relative;text-align:left;vertical-align:middle;width:100%}.usa-modal:focus{outline:none}.usa-modal__content{display:flex;flex-direction:column-reverse;padding-top:2rem;width:100%}.usa-modal__main{margin:0 auto;padding:.5rem 2rem 2rem}.usa-modal-wrapper [data-close-modal]>.usa-icon,.usa-modal-wrapper [data-close-modal]>.usa-icon use{pointer-events:none !important}.usa-modal__close{align-items:center;align-self:flex-end;background-color:rgba(0,0,0,0);color:#71767a;display:flex;flex-shrink:0;font-size:.93rem;margin:-2rem 0 0 auto;padding:.25rem .25rem;width:auto}.usa-modal__close:hover,.usa-modal__close:active{background-color:rgba(0,0,0,0);color:#1b1b1b}.usa-modal__close:focus{outline-offset:0}.usa-modal__close .usa-icon{height:2rem;margin:2px 2px 0 0;width:2rem}.usa-modal__heading{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.34rem;line-height:1.4;margin-top:0}.usa-modal__footer{margin-top:1.5rem}.usa-modal--lg{max-width:55rem;width:100%}.usa-modal--lg .usa-modal__main{padding-bottom:4rem;padding-top:1.25rem;width:100%;max-width:40rem}@media all and (min-width: 40em){.usa-modal--lg .usa-modal__heading{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.95rem}}.usa-js-modal--active{overflow:hidden}@keyframes slidein-left{from{transform:translateX(15rem)}to{transform:translateX(0)}}.usa-nav{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:.9}@media all and (max-width: 63.99em){.usa-nav{position:absolute;right:0;position:absolute;bottom:0;top:0;position:fixed;background:#fff;border-right:0;display:none;flex-direction:column;overflow-y:auto;padding:1rem;width:15rem;z-index:500}.usa-nav.is-visible{animation:slidein-left .3s ease-in-out;display:flex}}@media all and (min-width: 64em){.usa-nav{float:right;position:relative}}@media all and (min-width: 64em){.usa-nav .usa-search{margin-left:1rem}}.usa-nav .usa-accordion{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:.9}@media all and (max-width: 63.99em){.usa-nav__primary{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;margin-top:1.5rem;order:2}.usa-nav__primary>li{margin-bottom:0;max-width:unset}.usa-nav__primary-item{border-top:1px solid #dfe1e2}.usa-nav__primary a:not(.usa-button){display:block;padding:.5rem 1rem;text-decoration:none}.usa-nav__primary a:not(.usa-button):hover{background-color:#f0f0f0;text-decoration:none}.usa-nav__primary a:not(.usa-button):not(.usa-current){color:#565c65}.usa-nav__primary a:not(.usa-button):not(.usa-current):hover{color:#005ea2}.usa-nav__primary a:not(.usa-button):not(.usa-current):focus{outline-offset:0}.usa-nav__primary .usa-current{position:relative;color:#005ea2;font-weight:700}.usa-nav__primary .usa-current::after{background-color:#005ea2;border-radius:99rem;content:\"\";display:block;position:absolute;bottom:.25rem;top:.25rem;width:.25rem;left:.25rem}}@media all and (max-width: 63.99em)and (min-width: 40em){.usa-nav__primary .usa-current{position:relative}.usa-nav__primary .usa-current::after{background-color:#005ea2;border-radius:99rem;content:\"\";display:block;position:absolute;bottom:.25rem;top:.25rem;width:.25rem;left:0rem}}@media all and (max-width: 63.99em){.usa-nav__primary a{padding-bottom:.75rem;padding-top:.75rem}}@media all and (min-width: 64em){.usa-nav__primary{display:flex;align-items:stretch}}.usa-nav__primary .usa-nav__primary-item a{text-decoration:none}.usa-nav__primary>.usa-nav__primary-item{line-height:1.1}@media all and (min-width: 64em){.usa-nav__primary>.usa-nav__primary-item{font-size:.93rem;line-height:.9}}@media all and (min-width: 64em){.usa-nav__primary>.usa-nav__primary-item>a{line-height:.9;padding:1rem;align-items:center;color:#565c65;display:flex;font-weight:700}.usa-nav__primary>.usa-nav__primary-item>a:hover{color:#005ea2}}@media all and (min-width: 64em){.usa-nav__primary>.usa-nav__primary-item>button,.usa-nav__primary>.usa-nav__primary-item>a{height:100%}}@media all and (min-width: 64em){.usa-nav__primary a{padding-bottom:.5rem;padding-top:.5rem}}.usa-nav__primary button{color:#005ea2;text-decoration:underline;background-color:rgba(0,0,0,0);border:0;border-radius:0;box-shadow:none;font-weight:normal;justify-content:normal;text-align:left;margin:0;padding:0;position:relative;color:#565c65;font-weight:normal;line-height:1.1;padding:.75rem 1rem;text-decoration:none}.usa-nav__primary button:visited{color:#54278f}.usa-nav__primary button:hover{color:#1a4480}.usa-nav__primary button:active{color:#162e51}.usa-nav__primary button:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-nav__primary button:hover,.usa-nav__primary button.usa-button--hover,.usa-nav__primary button:disabled:hover,.usa-nav__primary button[aria-disabled=true]:hover,.usa-nav__primary button:disabled.usa-button--hover,.usa-nav__primary button[aria-disabled=true].usa-button--hover,.usa-nav__primary button:active,.usa-nav__primary button.usa-button--active,.usa-nav__primary button:disabled:active,.usa-nav__primary button[aria-disabled=true]:active,.usa-nav__primary button:disabled.usa-button--active,.usa-nav__primary button[aria-disabled=true].usa-button--active,.usa-nav__primary button:disabled:focus,.usa-nav__primary button[aria-disabled=true]:focus,.usa-nav__primary button:disabled.usa-focus,.usa-nav__primary button[aria-disabled=true].usa-focus,.usa-nav__primary button:disabled,.usa-nav__primary button[aria-disabled=true],.usa-nav__primary button.usa-button--disabled{background-color:rgba(0,0,0,0);box-shadow:none;text-decoration:underline}.usa-nav__primary button.usa-button--hover{color:#1a4480}.usa-nav__primary button.usa-button--active{color:#162e51}.usa-nav__primary button:disabled,.usa-nav__primary button[aria-disabled=true],.usa-nav__primary button:disabled:hover,.usa-nav__primary button[aria-disabled=true]:hover,.usa-nav__primary button[aria-disabled=true]:focus{color:#757575}@media(forced-colors: active){.usa-nav__primary button:disabled,.usa-nav__primary button[aria-disabled=true],.usa-nav__primary button:disabled:hover,.usa-nav__primary button[aria-disabled=true]:hover,.usa-nav__primary button[aria-disabled=true]:focus{color:GrayText}}@media all and (min-width: 64em){.usa-nav__primary button{line-height:.9;padding:1rem;font-size:.93rem;font-weight:700}}@media(forced-colors: active){.usa-nav__primary button{forced-color-adjust:auto}}.usa-nav__primary button:hover{color:#005ea2;background-color:#f0f0f0;text-decoration:none}@media all and (min-width: 64em){.usa-nav__primary button:hover{background-color:rgba(0,0,0,0)}}.usa-nav__primary button[aria-expanded],.usa-nav__primary button[aria-expanded]:hover{background-image:none}@media(forced-colors: active){.usa-nav__primary button[aria-expanded]::before,.usa-nav__primary button[aria-expanded]:hover::before{content:none}}.usa-nav__primary button[aria-expanded] span::after{position:absolute;top:50%;right:0;transform:translateY(-50%)}.usa-nav__primary button[aria-expanded=false] span::after{background-image:url(\"../img/usa-icons/add.svg\");background-repeat:no-repeat;background-position:center center;background-size:1.25rem 1.25rem;display:inline-block;height:1.25rem;width:1.25rem;content:\"\";vertical-align:middle;margin-left:auto}@supports(mask: url(\"\")){.usa-nav__primary button[aria-expanded=false] span::after{background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/add.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1.25rem 1.25rem}}.usa-nav__primary button[aria-expanded=false] span::after:hover{background-color:buttonText}@media all and (min-width: 64em){.usa-nav__primary button[aria-expanded=false] span::after{background-image:url(\"../img/usa-icons/expand_more.svg\");background-repeat:no-repeat;background-position:center center;background-size:1rem 1rem;display:inline-block;height:1rem;width:1rem;content:\"\";vertical-align:middle;margin-left:auto}@supports(mask: url(\"\")){.usa-nav__primary button[aria-expanded=false] span::after{background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/expand_more.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1rem 1rem}}.usa-nav__primary button[aria-expanded=false] span::after{right:.75rem}}@media all and (min-width: 64em){.usa-nav__primary button[aria-expanded=false]:hover span::after{background-color:#1a4480}}@media(min-width: 64em)and (forced-colors: active){.usa-nav__primary button[aria-expanded=false]:hover span::after{background-color:ButtonText}}.usa-nav__primary button[aria-expanded=true] span::after{background-image:url(\"../img/usa-icons/remove.svg\");background-repeat:no-repeat;background-position:center center;background-size:1.25rem 1.25rem;display:inline-block;height:1.25rem;width:1.25rem;content:\"\";vertical-align:middle;margin-left:auto}@supports(mask: url(\"\")){.usa-nav__primary button[aria-expanded=true] span::after{background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/remove.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1.25rem 1.25rem}}.usa-nav__primary button[aria-expanded=true] span::after{position:absolute;right:0}@media(forced-colors: active){.usa-nav__primary button[aria-expanded=true] span::after{background-color:ButtonText}}@media all and (min-width: 64em){.usa-nav__primary button[aria-expanded=true]{background-image:none;background-color:#162e51;color:#fff}}@media all and (min-width: 64em)and (min-width: 64em){.usa-nav__primary button[aria-expanded=true] span::after{background-image:url(\"../img/usa-icons/expand_less.svg\");background-repeat:no-repeat;background-position:center center;background-size:1rem 1rem;display:inline-block;height:1rem;width:1rem;content:\"\";vertical-align:middle;margin-left:auto}@supports(mask: url(\"\")){.usa-nav__primary button[aria-expanded=true] span::after{background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/expand_less.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1rem 1rem}}.usa-nav__primary button[aria-expanded=true] span::after{right:.75rem;background-color:#fff}}@media(min-width: 64em)and (min-width: 64em)and (forced-colors: active){.usa-nav__primary button[aria-expanded=true] span::after{background-color:ButtonText}}@media all and (min-width: 64em){.usa-nav__primary .usa-accordion__button span{display:inline-block;margin-right:0;padding-right:1rem}}.usa-nav__secondary{margin-top:1rem}@media all and (min-width: 64em){.usa-nav__secondary{flex-direction:column;align-items:flex-end;bottom:4rem;display:flex;font-size:.93rem;margin-top:.5rem;min-width:calc(27ch + 3rem);position:absolute;right:2rem}}.usa-nav__secondary .usa-search{margin-top:1rem;width:100%}@media all and (min-width: 64em){.usa-nav__secondary .usa-search{margin-left:0;margin-top:.5rem}}.usa-nav__secondary-links{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;line-height:1.3;margin-top:1.5rem}@media all and (min-width: 64em){.usa-nav__secondary-links{column-gap:.5rem;display:flex;flex-flow:row nowrap;line-height:.9;margin-bottom:.25rem;margin-top:0}}@media all and (min-width: 64em){.usa-nav__secondary-links .usa-nav__secondary-item{padding-left:.25rem}.usa-nav__secondary-links .usa-nav__secondary-item+.usa-nav__secondary-item{border-left:1px solid #dfe1e2;padding-left:.5rem}}.usa-nav__secondary-links a{color:#71767a;display:inline-block;font-size:.93rem;text-decoration:none}.usa-nav__secondary-links a:hover{color:#005ea2;text-decoration:underline}@media all and (max-width: 63.99em){.usa-nav__submenu{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;margin:0}.usa-nav__submenu>li{margin-bottom:0;max-width:unset}.usa-nav__submenu-item{border-top:1px solid #dfe1e2;font-size:.93rem}.usa-nav__submenu .usa-current::after{display:none}}@media all and (max-width: 63.99em)and (min-width: 40em){.usa-nav__submenu .usa-current::after{display:none}}@media all and (max-width: 63.99em){.usa-nav__submenu a:not(.usa-button){padding-left:2rem}.usa-nav__submenu .usa-nav__submenu a:not(.usa-button){padding-left:3rem}.usa-nav__submenu .usa-nav__submenu .usa-nav__submenu a:not(.usa-button){padding-left:4rem}}@media all and (min-width: 64em){.usa-nav__submenu{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;padding-bottom:.5rem;padding-top:.5rem;background-color:#162e51;width:15rem;position:absolute;z-index:400}}.usa-nav__submenu[aria-hidden=true]{display:none}@media all and (min-width: 64em){.usa-nav__submenu .usa-nav__submenu-item a{padding-left:1rem;padding-right:1rem;color:#fff;line-height:1.3;display:block}.usa-nav__submenu .usa-nav__submenu-item a:focus{outline-offset:-0.25rem}.usa-nav__submenu .usa-nav__submenu-item a:hover{color:#fff;text-decoration:underline}}.usa-nav__submenu-list{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-nav__submenu-list>li{margin-bottom:0;max-width:unset}.usa-nav__submenu-list .usa-nav__submenu-list-item{margin:0;font-size:.93rem}.usa-nav__submenu-list .usa-nav__submenu-list-item a{line-height:1.3}.usa-nav__close{color:#005ea2;text-decoration:underline;background-color:rgba(0,0,0,0);border:0;border-radius:0;box-shadow:none;font-weight:normal;justify-content:normal;text-align:left;margin:0;padding:0;height:3rem;width:3rem;background-image:none;color:currentColor;flex:none;float:right;margin:-0.75rem -1rem 1rem auto;text-align:center}.usa-nav__close:visited{color:#54278f}.usa-nav__close:hover{color:#1a4480}.usa-nav__close:active{color:#162e51}.usa-nav__close:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-nav__close:hover,.usa-nav__close.usa-button--hover,.usa-nav__close:disabled:hover,.usa-nav__close[aria-disabled=true]:hover,.usa-nav__close:disabled.usa-button--hover,.usa-nav__close[aria-disabled=true].usa-button--hover,.usa-nav__close:active,.usa-nav__close.usa-button--active,.usa-nav__close:disabled:active,.usa-nav__close[aria-disabled=true]:active,.usa-nav__close:disabled.usa-button--active,.usa-nav__close[aria-disabled=true].usa-button--active,.usa-nav__close:disabled:focus,.usa-nav__close[aria-disabled=true]:focus,.usa-nav__close:disabled.usa-focus,.usa-nav__close[aria-disabled=true].usa-focus,.usa-nav__close:disabled,.usa-nav__close[aria-disabled=true],.usa-nav__close.usa-button--disabled{background-color:rgba(0,0,0,0);box-shadow:none;text-decoration:underline}.usa-nav__close.usa-button--hover{color:#1a4480}.usa-nav__close.usa-button--active{color:#162e51}.usa-nav__close:disabled,.usa-nav__close[aria-disabled=true],.usa-nav__close:disabled:hover,.usa-nav__close[aria-disabled=true]:hover,.usa-nav__close[aria-disabled=true]:focus{color:#757575}@media(forced-colors: active){.usa-nav__close:disabled,.usa-nav__close[aria-disabled=true],.usa-nav__close:disabled:hover,.usa-nav__close[aria-disabled=true]:hover,.usa-nav__close[aria-disabled=true]:focus{color:GrayText}}@media(forced-colors: active){.usa-nav__close::before{background-image:url(\"../img/usa-icons/close.svg\");background-repeat:no-repeat;background-position:center center;background-size:1.25rem 1.25rem;display:inline-block;height:1.25rem;width:1.25rem;content:\"\";vertical-align:middle;margin-right:auto}@supports(mask: url(\"\")){.usa-nav__close::before{background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/close.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1.25rem 1.25rem}}.usa-nav__close::before{background-color:buttonText}}.usa-nav__close:hover{color:currentColor;text-decoration:none}@media all and (min-width: 64em){.usa-nav__close{display:none}}.usa-nav__close img{width:1.5rem}@media(forced-colors: active){.usa-nav__close img{display:none}}.usa-nav__close+*{clear:both}.usa-js-mobile-nav--active{overflow:hidden}@media(min-width: 63.06rem){.usa-js-mobile-nav--active.is-safari{overflow-y:scroll;position:fixed;top:var(--scrolltop, 0)}}.usa-pagination{margin-bottom:1rem;margin-top:1rem;font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;color:#1b1b1b;background-color:#fff;display:flex;justify-content:center}.usa-pagination .usa-icon{height:1.13rem;width:1.13rem}.usa-pagination__list{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;align-items:center;display:flex;flex-flow:row nowrap;justify-content:center;width:auto}.usa-pagination__item{display:inline-flex;height:2.5rem;justify-content:center;line-height:1;margin-left:.25rem;margin-right:.25rem;min-width:2.5rem}@media all and (min-width: 40em){.usa-pagination__item{flex:1 0 auto}}.usa-pagination__arrow{display:none}@media all and (min-width: 40em){.usa-pagination__arrow{display:inherit}}@media all and (min-width: 40em){.usa-pagination__previous-page{margin-right:1.25rem}}@media all and (min-width: 40em){.usa-pagination__next-page{margin-left:1.25rem}}.usa-pagination__link{align-items:center;color:#005ea2;display:inline-flex;text-decoration:none}.usa-pagination__link[disabled]{opacity:.4 !important;pointer-events:none}.usa-pagination__link:hover,.usa-pagination__link:focus,.usa-pagination__link:active{color:#1a4480;text-decoration:underline}.usa-pagination__link:visited{color:#005ea2}.usa-pagination__button{align-items:center;border-color:rgba(27,27,27,.2);border-radius:.25rem;border-style:solid;border-width:1px;color:#005ea2;display:inline-flex;justify-content:center;padding:.5rem;text-decoration:none;width:100%}.usa-pagination__button:hover,.usa-pagination__button:focus,.usa-pagination__button:active{color:#1a4480;border-color:#1a4480}@media(forced-colors: active){.usa-pagination__button:hover,.usa-pagination__button:focus,.usa-pagination__button:active{border:2px solid rgba(0,0,0,0)}}.usa-pagination .usa-current{background-color:#1b1b1b;border-color:rgba(0,0,0,0);color:#fff}@media(forced-colors: active){.usa-pagination .usa-current{border:2px solid rgba(0,0,0,0);color:buttonText}}.usa-pagination .usa-current:hover,.usa-pagination .usa-current:focus,.usa-pagination .usa-current:active{background-color:#1b1b1b;color:#fff;text-decoration:none}@media(forced-colors: active){.usa-pagination .usa-current:hover,.usa-pagination .usa-current:focus,.usa-pagination .usa-current:active{color:buttontext}}.usa-pagination__overflow{align-items:center;align-self:stretch;display:inherit;user-select:none;padding:.5rem}.usa-process-list{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;counter-reset:usa-numbered-list;padding:20px 0 0 calc(2.5rem/2 - 0.5rem/2);position:relative}.usa-process-list>li{margin-bottom:0;max-width:unset}.usa-process-list>.usa-process-list__item{max-width:72ex}.usa-process-list__item{border-left:.5rem solid #d9e8f6;font-size:1.06rem;margin-bottom:0;padding-bottom:2rem;padding-left:calc(calc(2.5rem / 2 - 0.25rem)*2)}.usa-prose .usa-process-list{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;counter-reset:usa-numbered-list;padding:20px 0 0 calc(2.5rem/2 - 0.5rem/2);position:relative}.usa-prose .usa-process-list>li{margin-bottom:0;max-width:unset}.usa-prose .usa-process-list>.usa-process-list__item{max-width:72ex}.usa-prose .usa-process-list__item{border-left:.5rem solid #d9e8f6;font-size:1.06rem;margin-bottom:0;padding-bottom:2rem;padding-left:calc(calc(2.5rem / 2 - 0.25rem)*2)}.usa-process-list__item:last-child{border-left:.5rem solid rgba(0,0,0,0)}.usa-process-list__item::before{flex-direction:row;align-items:center;justify-content:center;height:2.5rem;border-radius:99rem;width:2.5rem;background-color:#fff;border:.25rem solid #1b1b1b;box-shadow:0 0 0 .25rem #fff;color:#1b1b1b;content:counter(usa-numbered-list, decimal);counter-increment:usa-numbered-list;display:flex;font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.46rem;font-weight:700;height:2.5rem;left:0;line-height:.9;margin-top:-0.4rem;position:absolute;width:2.5rem}.usa-process-list__item ul{list-style-type:disc}.usa-process-list__item ul li{margin-bottom:.25rem}.usa-process-list__item ul li:last-child{margin-bottom:0}.usa-process-list__item>*:first-child{margin-top:0}.usa-process-list__item>*:last-child{margin-bottom:0}.usa-process-list__heading{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.46rem;line-height:1.1;color:#1b1b1b;font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-weight:700;margin:0}.usa-process-list__heading+*{margin-top:.25rem}.usa-search{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;position:relative}.usa-search::after{clear:both;content:\"\";display:block}.usa-search[role=search],.usa-search[role=search]>div,.usa-search [role=search]{display:flex}.usa-search [type=submit]{border-bottom-left-radius:0;border-top-left-radius:0;height:2rem;margin:0;padding:0;width:3rem}@media all and (min-width: 30em){.usa-search [type=submit]{padding-left:1rem;padding-right:1rem;width:auto}}@media(forced-colors: active){.usa-search [type=submit]::before{background-image:url(\"../img/usa-icons/search.svg\");background-repeat:no-repeat;background-position:center center;background-size:1.5rem 1.5rem;display:inline-block;height:1.5rem;width:1.5rem;content:\"\";vertical-align:middle;margin-right:auto}@supports(mask: url(\"\")){.usa-search [type=submit]::before{background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/search.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1.5rem 1.5rem}}.usa-search [type=submit]:focus{outline-offset:0}}@media(forced-colors: active)and (min-width: 30em){.usa-search [type=submit]::before{content:none}}@media all and (min-width: 30em){.usa-search__submit-icon{display:none}}@media(forced-colors: active){.usa-search__submit-icon{display:none}}@media all and (min-width: 30em){.usa-search--big [type=search],.usa-search--big .usa-search__input{font-size:1.06rem;height:3rem}}@media all and (min-width: 30em){.usa-search--big [type=submit],.usa-search--big .usa-search__submit{padding-left:2rem;padding-right:2rem;font-size:1.46rem;height:3rem;width:auto}}.usa-search--small [type=submit],.usa-search--small .usa-search__submit{padding-left:.75rem;padding-right:.75rem;min-width:3rem}@media(forced-colors: active)and (min-width: 30em){.usa-search--small [type=submit]::before{content:\"\"}}.usa-search--small .usa-search__submit-icon{height:1.5rem;width:1.5rem;display:block}@media(forced-colors: active){.usa-search--small .usa-search__submit-icon{display:none}}input[type=search]{box-sizing:border-box;appearance:none}[type=search],.usa-search__input{padding-bottom:0;padding-top:0;border-bottom-right-radius:0;border-right:none;border-top-right-radius:0;box-sizing:border-box;float:left;font-size:1rem;height:2rem;margin:0}.usa-search__submit-text{display:none}@media all and (min-width: 30em){.usa-search__submit-text{display:block}}.usa-section{padding-bottom:2rem;padding-top:2rem}@media all and (min-width: 40em){.usa-section{padding-bottom:4rem;padding-top:4rem}}.usa-section--light{background-color:#f0f0f0}.usa-section--dark{background-color:#162e51;color:#fff}.usa-section--dark h1,.usa-section--dark h2,.usa-section--dark h3,.usa-section--dark h4,.usa-section--dark h5,.usa-section--dark h6{color:#00bde3}.usa-section--dark p{color:#fff}.usa-section--dark a{color:#dfe1e2}.usa-section--dark a:visited{color:#dfe1e2}.usa-section--dark a:hover,.usa-section--dark a:active{color:#f0f0f0}.usa-sidenav{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.3;border-bottom:1px solid #dfe1e2}.usa-sidenav>li{margin-bottom:0;max-width:unset}.usa-sidenav__item{border-top:1px solid #dfe1e2}.usa-sidenav a:not(.usa-button){display:block;padding:.5rem 1rem;text-decoration:none}.usa-sidenav a:not(.usa-button):hover{background-color:#f0f0f0;text-decoration:none}.usa-sidenav a:not(.usa-button):not(.usa-current){color:#565c65}.usa-sidenav a:not(.usa-button):not(.usa-current):hover{color:#005ea2}.usa-sidenav a:not(.usa-button):not(.usa-current):focus{outline-offset:0}.usa-sidenav .usa-current{position:relative;color:#005ea2;font-weight:700}.usa-sidenav .usa-current::after{background-color:#005ea2;border-radius:99rem;content:\"\";display:block;position:absolute;bottom:.25rem;top:.25rem;width:.25rem;left:.25rem}@media all and (min-width: 40em){.usa-sidenav .usa-current{position:relative}.usa-sidenav .usa-current::after{background-color:#005ea2;border-radius:99rem;content:\"\";display:block;position:absolute;bottom:.25rem;top:.25rem;width:.25rem;left:0rem}}.grid-container .usa-sidenav{margin-left:-1rem;margin-right:-1rem}@media all and (min-width: 40em){.grid-container .usa-sidenav{margin-left:0;margin-right:0}}.usa-sidenav__sublist{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;margin:0;font-size:1rem}.usa-sidenav__sublist>li{margin-bottom:0;max-width:unset}.usa-sidenav__sublist-item{border-top:1px solid #dfe1e2;font-size:.93rem}.usa-sidenav__sublist .usa-current::after{display:none}@media all and (min-width: 40em){.usa-sidenav__sublist .usa-current::after{display:none}}.usa-sidenav__sublist a:not(.usa-button){padding-left:2rem}.usa-sidenav__sublist .usa-sidenav__sublist a:not(.usa-button){padding-left:3rem}.usa-sidenav__sublist .usa-sidenav__sublist .usa-sidenav__sublist a:not(.usa-button){padding-left:4rem}.usa-site-alert .usa-alert{background-color:#f0f0f0;border-left:.5rem solid #a9aeb1;color:#1b1b1b}.usa-site-alert .usa-alert .usa-alert__body{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;margin-left:auto;margin-right:auto;max-width:64rem;padding-bottom:1rem;padding-top:1rem;padding-left:1rem;padding-right:1rem;position:relative}@media all and (min-width: 64em){.usa-site-alert .usa-alert .usa-alert__body{padding-left:1.8333333333rem}}.usa-site-alert .usa-alert .usa-alert__text{margin-bottom:0;margin-top:0}.usa-site-alert .usa-alert .usa-alert__text:only-child{padding-bottom:0;padding-top:0}.usa-site-alert .usa-alert .usa-alert__heading{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.46rem;line-height:.9;margin-top:0;margin-bottom:.5rem}.usa-site-alert .usa-alert>.usa-list,.usa-site-alert .usa-alert .usa-alert__body>.usa-list{padding-left:2ch}.usa-site-alert .usa-alert>.usa-list:last-child,.usa-site-alert .usa-alert .usa-alert__body>.usa-list:last-child{margin-bottom:0}.usa-site-alert--info .usa-alert{background-color:#e7f6f8;border-left-color:#00bde3}.usa-site-alert--info .usa-alert .usa-alert__body{color:#1b1b1b;background-color:#e7f6f8;padding-left:2.9166666667rem}.usa-site-alert--info .usa-alert .usa-alert__body::before{background-image:url(\"../img/usa-icons/info.svg\");background-repeat:no-repeat;background-position:center center;background-size:2rem 2rem;display:inline-block;height:2rem;width:2rem;content:\"\";display:block;left:.5rem;position:absolute;top:.75rem}@supports(mask: url(\"\")){.usa-site-alert--info .usa-alert .usa-alert__body::before{background:none;background-color:#1b1b1b;mask-image:url(\"../img/usa-icons/info.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2rem 2rem}}@media all and (min-width: 64em){.usa-site-alert--info .usa-alert .usa-alert__body::before{left:1.5rem}}@media all and (min-width: 64em){.usa-site-alert--info .usa-alert .usa-alert__body{padding-left:4rem;padding-right:4rem}}.usa-site-alert--info .usa-alert .usa-alert__body .usa-link{color:#005ea2}.usa-site-alert--info .usa-alert .usa-alert__body .usa-link:visited{color:#54278f}.usa-site-alert--info .usa-alert .usa-alert__body .usa-link:hover,.usa-site-alert--info .usa-alert .usa-alert__body .usa-link:active{color:#1a4480}.usa-site-alert--emergency .usa-alert{background-color:#9c3d10;border-left-color:#9c3d10}.usa-site-alert--emergency .usa-alert .usa-alert__body{color:#fff;background-color:#9c3d10;padding-left:2.9166666667rem}.usa-site-alert--emergency .usa-alert .usa-alert__body::before{background-image:url(\"../img/usa-icons-bg/error--white.svg\");background-repeat:no-repeat;background-position:center center;background-size:2rem 2rem;display:inline-block;height:2rem;width:2rem;content:\"\";display:block;left:.5rem;position:absolute;top:.75rem}@supports(mask: url(\"\")){.usa-site-alert--emergency .usa-alert .usa-alert__body::before{background:none;background-color:#fff;mask-image:url(\"../img/usa-icons/error.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2rem 2rem}}@media all and (min-width: 64em){.usa-site-alert--emergency .usa-alert .usa-alert__body::before{left:1.5rem}}@media all and (min-width: 64em){.usa-site-alert--emergency .usa-alert .usa-alert__body{padding-left:4rem;padding-right:4rem}}.usa-site-alert--emergency .usa-alert .usa-alert__body .usa-link{color:#dfe1e2}.usa-site-alert--emergency .usa-alert .usa-alert__body .usa-link:visited{color:#dfe1e2}.usa-site-alert--emergency .usa-alert .usa-alert__body .usa-link:hover,.usa-site-alert--emergency .usa-alert .usa-alert__body .usa-link:active{color:#f0f0f0}.usa-site-alert--slim .usa-alert .usa-alert__body{padding-bottom:.5rem;padding-top:.5rem;padding-left:2.4166666667rem}.usa-site-alert--slim .usa-alert .usa-alert__body:before{background-size:1.5rem;height:1.5rem;top:.5rem;width:1.5rem}@supports(mask: url(\"\")){.usa-site-alert--slim .usa-alert .usa-alert__body:before{mask-size:1.5rem}}@media all and (min-width: 64em){.usa-site-alert--slim .usa-alert .usa-alert__body{padding-left:3.5rem}}.usa-site-alert--no-icon .usa-alert .usa-alert__body{padding-left:.5rem}.usa-site-alert--no-icon .usa-alert .usa-alert__body:before{display:none}@media all and (min-width: 64em){.usa-site-alert--no-icon .usa-alert .usa-alert__body{padding-left:1.8333333333rem}}.usa-skipnav{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;color:#005ea2;text-decoration:underline;background:rgba(0,0,0,0);left:0;padding:.5rem 1rem;position:absolute;top:-3.8rem;transition:.15s ease-in-out;z-index:100}.usa-skipnav:visited{color:#54278f}.usa-skipnav:hover{color:#1a4480}.usa-skipnav:active{color:#162e51}.usa-skipnav:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-skipnav:focus,.usa-skipnav.usa-focus{background:#fff;left:0;position:absolute;top:0;transition:.15s ease-in-out}.usa-skipnav__container{position:relative}.usa-step-indicator{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.1;background-color:#fff;margin-bottom:2rem;margin-left:-1px;margin-right:-1px}@media all and (min-width: 40em){.usa-step-indicator{margin-left:0;margin-right:0}}.usa-step-indicator__segments{counter-reset:usa-step-indicator;display:flex;list-style:none;margin:0;padding:0}.usa-step-indicator__segment{flex:1 1 0%;counter-increment:usa-step-indicator;margin-left:1px;margin-right:1px;max-width:15rem;min-height:.5rem;position:relative}.usa-step-indicator__segment:after{background-color:#919191;content:\"\";display:block;height:.5rem;left:0;position:absolute;right:0;top:0}@media all and (min-width: 40em){.usa-step-indicator__segment:after{height:.5rem}}.usa-step-indicator__segment--complete::after{background-color:#162e51}.usa-step-indicator__segment--complete .usa-step-indicator__segment-label{color:#162e51}.usa-step-indicator__segment--current::after{background-color:#005ea2}.usa-step-indicator__segment--current .usa-step-indicator__segment-label{color:#005ea2;font-weight:700}.usa-step-indicator__segment-label{display:none}@media all and (min-width: 40em){.usa-step-indicator__segment-label{color:#565c65;display:block;font-size:1.06rem;margin-top:calc(0.5rem + 0.5rem);padding-right:2rem;text-align:left}}.usa-step-indicator__header{align-items:baseline;display:flex}.usa-step-indicator__heading{color:#1b1b1b;font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.13rem;font-weight:700;margin:1rem 0 0}@media all and (min-width: 40em){.usa-step-indicator__heading{font-size:1.46rem;margin-top:2rem}}.usa-step-indicator__current-step{height:2.5rem;border-radius:99rem;width:2.5rem;font-weight:normal;font-feature-settings:\"tnum\" 1, \"kern\" 1;background-color:#005ea2;color:#fff;display:inline-block;padding:calc((2.5rem - 2ex*1.1)*.5);text-align:center}.usa-step-indicator__total-steps{font-weight:normal;font-feature-settings:\"tnum\" 1, \"kern\" 1;color:#005ea2;margin-right:.5rem}@media all and (min-width: 40em){.usa-step-indicator--counters .usa-step-indicator__segment,.usa-step-indicator--counters-sm .usa-step-indicator__segment{margin-left:0;margin-right:0;margin-top:calc((2.5rem - 0.5rem)/2 + 0.25rem)}.usa-step-indicator--counters .usa-step-indicator__segment:before,.usa-step-indicator--counters-sm .usa-step-indicator__segment:before{height:2.5rem;border-radius:99rem;width:2.5rem;font-feature-settings:\"tnum\" 1, \"kern\" 1;background-color:#fff;box-shadow:inset 0 0 0 .25rem #919191,0 0 0 .25rem #fff;color:#565c65;content:counter(usa-step-indicator);display:block;font-weight:700;left:0;line-height:.9;padding:calc((2.5rem - 2ex*0.9)*.5);position:absolute;text-align:center;top:calc((2.5rem - 0.5rem)/-2);z-index:100}.usa-step-indicator--counters .usa-step-indicator__segment:last-child:after,.usa-step-indicator--counters-sm .usa-step-indicator__segment:last-child:after{display:none}}.usa-step-indicator--counters .usa-step-indicator__segment--complete::before,.usa-step-indicator--counters-sm .usa-step-indicator__segment--complete::before{background-color:#162e51;box-shadow:0 0 0 .25rem #fff;color:#fff}.usa-step-indicator--counters .usa-step-indicator__segment--current::before,.usa-step-indicator--counters-sm .usa-step-indicator__segment--current::before{background-color:#005ea2;box-shadow:0 0 0 .25rem #fff;color:#fff}@media all and (min-width: 40em){.usa-step-indicator--counters .usa-step-indicator__segment-label,.usa-step-indicator--counters-sm .usa-step-indicator__segment-label{margin-top:calc((2.5rem + 0.5rem)/2 + 0.5rem)}}@media all and (min-width: 40em){.usa-step-indicator--counters.usa-step-indicator--center .usa-step-indicator__segment:first-child:after,.usa-step-indicator--counters-sm.usa-step-indicator--center .usa-step-indicator__segment:first-child:after{left:50%;right:0;width:auto}.usa-step-indicator--counters.usa-step-indicator--center .usa-step-indicator__segment:last-child:after,.usa-step-indicator--counters-sm.usa-step-indicator--center .usa-step-indicator__segment:last-child:after{display:block;left:0;right:50%;width:auto}}@media all and (min-width: 40em){.usa-step-indicator--counters-sm .usa-step-indicator__segment{margin-top:calc((1.5rem - 0.5rem)/2 + 0.25rem)}.usa-step-indicator--counters-sm .usa-step-indicator__segment:before{height:1.5rem;border-radius:99rem;width:1.5rem;font-size:.93rem;padding:calc(0.25rem + 1px);top:calc((1.5rem - 0.5rem)/-2)}.usa-step-indicator--counters-sm .usa-step-indicator__segment:last-child:after{display:none}}@media all and (min-width: 40em){.usa-step-indicator--counters-sm .usa-step-indicator__segment-label{margin-top:calc((1.5rem + 0.5rem)/2 + 0.5rem)}}.usa-step-indicator--no-labels{margin-left:-1px;margin-right:-1px}.usa-step-indicator--no-labels .usa-step-indicator__segment{margin-top:0;margin-left:1px;margin-right:1px}.usa-step-indicator--no-labels .usa-step-indicator__segment:before{display:none}.usa-step-indicator--no-labels .usa-step-indicator__segment:last-child:after{display:block}.usa-step-indicator--no-labels .usa-step-indicator__heading{margin-top:1rem}.usa-step-indicator--no-labels .usa-step-indicator__segment-label{display:none}.usa-step-indicator--center{margin-left:-1px;margin-right:-1px}.usa-step-indicator--center .usa-step-indicator__segment{margin-left:1px;margin-right:1px}.usa-step-indicator--center .usa-step-indicator__segment:before{left:calc(50% - (2.5rem + 0.25rem)/2)}.usa-step-indicator--center .usa-step-indicator__segment-label{padding-left:.5rem;padding-right:.5rem;text-align:center}.usa-step-indicator--center.usa-step-indicator--no-labels .usa-step-indicator__segment:first-child:after{left:0}.usa-step-indicator--center.usa-step-indicator--no-labels .usa-step-indicator__segment:last-child:after{right:0}.usa-step-indicator--center.usa-step-indicator--counters-sm .usa-step-indicator__segment:before{left:calc(50% - (1.5rem + 0.25rem)/2)}.usa-summary-box{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;color:#1b1b1b;background-color:#e7f6f8;border-radius:.25rem;border:1px #99deea solid;padding:1.5rem;position:relative}.usa-summary-box .usa-list:last-child{margin-bottom:0}*+.usa-summary-box{margin-top:1rem}.usa-summary-box__heading{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.46rem;line-height:1.1;margin-top:0;margin-bottom:.5rem}.usa-summary-box__text{margin-bottom:0;margin-top:0}.usa-summary-box__text:only-child{margin-bottom:1px;padding-top:.25rem}.usa-summary-box__link{color:#005ea2}.usa-summary-box__link:visited{color:#54278f}.usa-summary-box__link:hover,.usa-summary-box__link:active{color:#1a4480}.usa-summary-box__link[href^=\"#\"]:visited{color:#005ea2}.usa-summary-box__link[href^=\"#\"]:hover{color:#1a4480}.usa-table{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;border-collapse:collapse;border-spacing:0;color:#1b1b1b;margin:1.25rem 0;text-align:left}.usa-table thead th{background-clip:padding-box;color:#1b1b1b;font-weight:700;line-height:1.3}.usa-table thead th,.usa-table thead td{background-color:#dfe1e2;color:#1b1b1b}.usa-table tbody th{text-align:left}.usa-table th,.usa-table td{background-color:#fff;border:1px solid #1b1b1b;font-weight:normal;padding:.5rem 1rem}.usa-table caption{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1rem;font-weight:700;margin-bottom:.75rem;text-align:left}.usa-table th[data-sortable]{padding-right:2.5rem;position:relative}.usa-table th[data-sortable]::after{border-bottom-color:rgba(0,0,0,0);border-bottom-style:solid;border-bottom-width:1px;bottom:0;content:\"\";height:0;left:0;position:absolute;width:100%}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button{color:#005ea2;text-decoration:underline;background-color:rgba(0,0,0,0);border:0;border-radius:0;box-shadow:none;font-weight:normal;justify-content:normal;text-align:left;margin:0;padding:0;height:2rem;width:2rem;background-position:center center;background-size:1.5rem;color:#71767a;cursor:pointer;display:inline-block;margin:0;position:absolute;right:.25rem;text-align:center;text-decoration:none;top:50%;transform:translate(0, -50%)}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:visited,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:visited{color:#54278f}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:hover{color:#1a4480}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:active{color:#162e51}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:focus,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled.usa-button--hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:active,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--active,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:active,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:active,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled.usa-button--active,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:focus,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled.usa-focus,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true].usa-focus,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--disabled,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled.usa-button--hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled.usa-button--active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:focus,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled.usa-focus,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true].usa-focus,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--disabled{background-color:rgba(0,0,0,0);box-shadow:none;text-decoration:underline}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--hover{color:#1a4480}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--active{color:#162e51}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:focus{color:#757575}@media(forced-colors: active){.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:focus{color:GrayText}}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button .usa-icon{height:1.5rem;width:1.5rem;vertical-align:middle}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon>g,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button .usa-icon>g{fill:rgba(0,0,0,0)}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon>g.unsorted,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button .usa-icon>g.unsorted{fill:#1b1b1b}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover .usa-icon>g.unsorted,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:hover .usa-icon>g.unsorted{fill:#000}.usa-table th[data-sortable][aria-sort=descending],.usa-table th[data-sortable][aria-sort=ascending]{background-color:#97d4ea}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button{color:#005ea2;text-decoration:underline;background-color:rgba(0,0,0,0);border:0;border-radius:0;box-shadow:none;font-weight:normal;justify-content:normal;text-align:left;margin:0;padding:0;height:2rem;width:2rem;background-position:center center;background-size:1.5rem;color:#71767a;cursor:pointer;display:inline-block;margin:0;position:absolute;right:.25rem;text-align:center;text-decoration:none;top:50%;transform:translate(0, -50%)}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:visited{color:#54278f}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:hover{color:#1a4480}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:active{color:#162e51}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled.usa-button--hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:active,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--active,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:active,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:active,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled.usa-button--active,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:focus,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled.usa-focus,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true].usa-focus,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--disabled{background-color:rgba(0,0,0,0);box-shadow:none;text-decoration:underline}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--hover{color:#1a4480}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--active{color:#162e51}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:focus{color:#757575}@media(forced-colors: active){.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:focus{color:GrayText}}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button .usa-icon{height:1.5rem;width:1.5rem;vertical-align:middle}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button .usa-icon>g{fill:rgba(0,0,0,0)}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button .usa-icon>g.descending{fill:#1b1b1b}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button{color:#005ea2;text-decoration:underline;background-color:rgba(0,0,0,0);border:0;border-radius:0;box-shadow:none;font-weight:normal;justify-content:normal;text-align:left;margin:0;padding:0;height:2rem;width:2rem;background-position:center center;background-size:1.5rem;color:#71767a;cursor:pointer;display:inline-block;margin:0;position:absolute;right:.25rem;text-align:center;text-decoration:none;top:50%;transform:translate(0, -50%)}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:visited{color:#54278f}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:hover{color:#1a4480}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:active{color:#162e51}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled.usa-button--hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:active,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--active,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:active,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:active,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled.usa-button--active,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:focus,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled.usa-focus,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true].usa-focus,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--disabled{background-color:rgba(0,0,0,0);box-shadow:none;text-decoration:underline}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--hover{color:#1a4480}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--active{color:#162e51}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:focus{color:#757575}@media(forced-colors: active){.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:focus{color:GrayText}}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button .usa-icon{height:1.5rem;width:1.5rem;vertical-align:middle}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button .usa-icon>g{fill:rgba(0,0,0,0)}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button .usa-icon>g.ascending{fill:#1b1b1b}.usa-table thead th[aria-sort]{background-color:#97d4ea;color:#1b1b1b}.usa-table td[data-sort-active],.usa-table th[data-sort-active]{background-color:#e1f3f8;color:#1b1b1b}.usa-table--borderless thead th{background-color:#fff;border-top:0;color:#1b1b1b}.usa-table--borderless thead th[aria-sort]{color:#1b1b1b}.usa-table--borderless thead th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon>g.unsorted{fill:#1b1b1b}.usa-table--borderless thead th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover .usa-icon>g.unsorted{fill:#000}.usa-table--borderless th,.usa-table--borderless td{border-left:0;border-right:0}.usa-table--compact th,.usa-table--compact td{padding:.25rem .75rem}.usa-table--striped tbody tr:nth-child(odd) td,.usa-table--striped tbody tr:nth-child(odd) th{background-color:#f0f0f0;color:#1b1b1b}.usa-table--striped tbody tr:nth-child(odd) td[data-sort-active],.usa-table--striped tbody tr:nth-child(odd) th[data-sort-active]{background-color:#c3ebfa;color:#1b1b1b}@media all and (max-width: 29.99em){.usa-table--stacked thead{display:none}.usa-table--stacked th,.usa-table--stacked td{border-bottom-width:0;display:block;width:100%}.usa-table--stacked tr{border-bottom:.25rem solid #1b1b1b;border-top-width:0;width:100%}.usa-table--stacked tr th:first-child,.usa-table--stacked tr td:first-child{border-top-width:0}.usa-table--stacked tr:nth-child(odd) td,.usa-table--stacked tr:nth-child(odd) th{background-color:inherit}.usa-table--stacked tr:first-child th:first-child,.usa-table--stacked tr:first-child td:first-child{border-top:.25rem solid #1b1b1b}.usa-table--stacked th[data-label],.usa-table--stacked td[data-label]{padding-bottom:.75rem}.usa-table--stacked th[data-label]:before,.usa-table--stacked td[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-0.5rem -1rem 0rem;padding:.75rem 1rem .25rem}}@media all and (max-width: 29.99em){.usa-table--stacked-header thead{display:none}.usa-table--stacked-header th,.usa-table--stacked-header td{border-bottom-width:0;display:block;width:100%}.usa-table--stacked-header tr{border-bottom:.25rem solid #1b1b1b;border-top-width:0;width:100%}.usa-table--stacked-header tr th:first-child,.usa-table--stacked-header tr td:first-child{border-top-width:0}.usa-table--stacked-header tr:nth-child(odd) td,.usa-table--stacked-header tr:nth-child(odd) th{background-color:inherit}.usa-table--stacked-header tr:first-child th:first-child,.usa-table--stacked-header tr:first-child td:first-child{border-top:.25rem solid #1b1b1b}.usa-table--stacked-header th[data-label],.usa-table--stacked-header td[data-label]{padding-bottom:.75rem}.usa-table--stacked-header th[data-label]:before,.usa-table--stacked-header td[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-0.5rem -1rem 0rem;padding:.75rem 1rem .25rem}.usa-table--stacked-header tr td:first-child,.usa-table--stacked-header tr th:first-child{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.1;background-color:#dfe1e2;color:#1b1b1b;font-weight:700;padding:.75rem 1rem}.usa-table--stacked-header tr td:first-child:before,.usa-table--stacked-header tr th:first-child:before{display:none}}.width-mobile .usa-table--stacked thead{display:none}.width-mobile .usa-table--stacked th,.width-mobile .usa-table--stacked td{border-bottom-width:0;display:block;width:100%}.width-mobile .usa-table--stacked tr{border-bottom:.25rem solid #1b1b1b;border-top-width:0;width:100%}.width-mobile .usa-table--stacked tr th:first-child,.width-mobile .usa-table--stacked tr td:first-child{border-top-width:0}.width-mobile .usa-table--stacked tr:nth-child(odd) td,.width-mobile .usa-table--stacked tr:nth-child(odd) th{background-color:inherit}.width-mobile .usa-table--stacked tr:first-child th:first-child,.width-mobile .usa-table--stacked tr:first-child td:first-child{border-top:.25rem solid #1b1b1b}.width-mobile .usa-table--stacked th[data-label],.width-mobile .usa-table--stacked td[data-label]{padding-bottom:.75rem}.width-mobile .usa-table--stacked th[data-label]:before,.width-mobile .usa-table--stacked td[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-0.5rem -1rem 0rem;padding:.75rem 1rem .25rem}.width-mobile .usa-table--stacked-header thead{display:none}.width-mobile .usa-table--stacked-header th,.width-mobile .usa-table--stacked-header td{border-bottom-width:0;display:block;width:100%}.width-mobile .usa-table--stacked-header tr{border-bottom:.25rem solid #1b1b1b;border-top-width:0;width:100%}.width-mobile .usa-table--stacked-header tr th:first-child,.width-mobile .usa-table--stacked-header tr td:first-child{border-top-width:0}.width-mobile .usa-table--stacked-header tr:nth-child(odd) td,.width-mobile .usa-table--stacked-header tr:nth-child(odd) th{background-color:inherit}.width-mobile .usa-table--stacked-header tr:first-child th:first-child,.width-mobile .usa-table--stacked-header tr:first-child td:first-child{border-top:.25rem solid #1b1b1b}.width-mobile .usa-table--stacked-header th[data-label],.width-mobile .usa-table--stacked-header td[data-label]{padding-bottom:.75rem}.width-mobile .usa-table--stacked-header th[data-label]:before,.width-mobile .usa-table--stacked-header td[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-0.5rem -1rem 0rem;padding:.75rem 1rem .25rem}.width-mobile .usa-table--stacked-header tr td:first-child,.width-mobile .usa-table--stacked-header tr th:first-child{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.1;background-color:#dfe1e2;color:#1b1b1b;font-weight:700;padding:.75rem 1rem}.width-mobile .usa-table--stacked-header tr td:first-child:before,.width-mobile .usa-table--stacked-header tr th:first-child:before{display:none}.usa-table--sticky-header{border:1px solid #1b1b1b;border-collapse:separate}.usa-table--sticky-header td,.usa-table--sticky-header th{border-left:none;border-top:none}.usa-table--sticky-header td:last-child,.usa-table--sticky-header th:last-child{border-right:none}.usa-table--sticky-header tbody tr:last-child td,.usa-table--sticky-header tbody tr:last-child th{border-bottom:none}.usa-table--sticky-header thead{position:sticky;top:-1px}.usa-table--sticky-header.usa-table--borderless{border:none}.usa-table--sticky-header.usa-table--borderless thead th{background-color:#fff}.usa-table--sticky-header.usa-table--borderless td,.usa-table--sticky-header.usa-table--borderless th{border-right:none}.usa-table-container--scrollable{margin:1.25rem 0;overflow-y:hidden}.usa-table-container--scrollable .usa-table{margin:0}.usa-table-container--scrollable td{white-space:nowrap}.usa-tag{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:.93rem;color:#fff;text-transform:uppercase;background-color:#565c65;border-radius:2px;margin-right:.25rem;padding:1px .5rem}.usa-tag:only-of-type{margin-right:0}.usa-tag--big{padding-left:.5rem;padding-right:.5rem;font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem}.usa-tooltip{display:inline-block;position:relative}.usa-tooltip__trigger{cursor:pointer}.usa-tooltip__trigger>svg{display:block;pointer-events:none}.usa-tooltip__body,.usa-tooltip__body--top{transition:opacity .08s ease-in-out;background-color:#1b1b1b;border-radius:.25rem;color:#f0f0f0;display:none;font-size:1rem;opacity:0;padding:.5rem;width:auto;white-space:pre;z-index:100000;position:absolute}.usa-tooltip__body::after,.usa-tooltip__body--top::after{content:\"\";display:block;width:0;height:0;border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:5px solid #1b1b1b;position:absolute;bottom:-5px;left:50%;margin-left:-5px}.usa-tooltip__body::before,.usa-tooltip__body--top::before{content:\"\";display:block;position:absolute}.usa-tooltip__body--wrap{width:100%;white-space:normal;text-align:center;min-width:50vw}.usa-tooltip__body.is-set{display:block}.usa-tooltip__body.is-visible{opacity:1}.usa-tooltip__body--top::before{top:100%;height:5px;left:0;right:0}.usa-tooltip__body--bottom::before{bottom:100%;height:5px;left:0;right:0}.usa-tooltip__body--bottom::after{border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-bottom:5px solid #1b1b1b;border-top:0;bottom:auto;top:-5px}.usa-tooltip__body--right::before{right:100%;bottom:0;top:0;width:5px}.usa-tooltip__body--right::after{border-top:5px solid rgba(0,0,0,0);border-bottom:5px solid rgba(0,0,0,0);border-right:5px solid #1b1b1b;border-left:0;right:auto;top:50%;bottom:0;left:-5px;margin:-5px 0 0 0}.usa-tooltip__body--left::before{left:100%;bottom:0;top:0;width:5px}.usa-tooltip__body--left::after{border-top:5px solid rgba(0,0,0,0);border-bottom:5px solid rgba(0,0,0,0);border-left:5px solid #1b1b1b;border-right:0;right:-5px;top:50%;bottom:0;left:auto;margin:-5px 0 0 0}.usa-character-count__status{display:inline-block;padding-top:.25rem}.usa-character-count__status.usa-character-count__status--invalid{color:#b50909;font-weight:700}.usa-input:disabled,.usa-input[aria-disabled=true]{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1;-webkit-text-fill-color:#454545}.usa-input:disabled:hover,.usa-input:disabled:active,.usa-input:disabled:focus,.usa-input:disabled.usa-focus,.usa-input[aria-disabled=true]:hover,.usa-input[aria-disabled=true]:active,.usa-input[aria-disabled=true]:focus,.usa-input[aria-disabled=true].usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-input:disabled,.usa-input[aria-disabled=true]{border:0;color:GrayText}.usa-input:disabled:hover,.usa-input:disabled:active,.usa-input:disabled:focus,.usa-input:disabled.usa-focus,.usa-input[aria-disabled=true]:hover,.usa-input[aria-disabled=true]:active,.usa-input[aria-disabled=true]:focus,.usa-input[aria-disabled=true].usa-focus{color:GrayText}}@media(forced-colors: active){.usa-input:disabled,.usa-input[aria-disabled=true]{border:2px solid GrayText}}.usa-input--error{border-width:0.25rem;border-color:#b50909;border-style:solid;padding-top:calc(0.5rem - 0.25rem);padding-bottom:calc(0.5rem - 0.25rem)}.usa-input--success{border-width:0.25rem;border-color:#00a91c;border-style:solid;padding-top:calc(0.5rem - 0.25rem);padding-bottom:calc(0.5rem - 0.25rem)}.usa-fieldset{border:none;margin:0;padding:0}.usa-legend{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.3;display:block;font-weight:normal;margin-top:1.5rem;max-width:30rem}.usa-legend--large{font-size:2.13rem;font-weight:700;margin-top:1rem}.usa-input-list{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-input-list li{line-height:1.3}.usa-prose .usa-input-list{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-prose .usa-input-list li{line-height:1.3}.usa-checkbox{background:#fff}.usa-checkbox__label{color:#1b1b1b}.usa-checkbox__label::before{background:#fff;box-shadow:0 0 0 2px #1b1b1b}@media(forced-colors: active){.usa-checkbox__label::before{outline:2px solid rgba(0,0,0,0);outline-offset:2px}}.usa-checkbox__input:checked+[class*=__label]::before{background-color:#005ea2;box-shadow:0 0 0 2px #005ea2}.usa-checkbox__input:disabled+[class*=__label],.usa-checkbox__input[aria-disabled=true]+[class*=__label]{color:#757575;cursor:not-allowed}@media(forced-colors: active){.usa-checkbox__input:disabled+[class*=__label],.usa-checkbox__input[aria-disabled=true]+[class*=__label]{color:GrayText}}.usa-checkbox__input:disabled+[class*=__label]::before,.usa-checkbox__input[aria-disabled=true]+[class*=__label]::before{background-color:#fff;box-shadow:0 0 0 2px #757575}.usa-checkbox__input--tile+[class*=__label]{background-color:#fff;border:2px solid #c9c9c9;color:#1b1b1b}.usa-checkbox__input--tile:checked+[class*=__label]{background-color:rgba(0,94,162,.1);border-color:#005ea2}@media(forced-colors: active){.usa-checkbox__input--tile:checked+[class*=__label]{border:ButtonText solid .25rem}}.usa-checkbox__input--tile:disabled+[class*=__label],.usa-checkbox__input--tile[aria-disabled=true]+[class*=__label]{border-color:#e6e6e6}.usa-checkbox__input--tile:disabled:checked+[class*=__label],.usa-checkbox__input--tile:disabled:indeterminate+[class*=__label],.usa-checkbox__input--tile:disabled[data-indeterminate]+[class*=__label],.usa-checkbox__input--tile[aria-disabled=true]:checked+[class*=__label],.usa-checkbox__input--tile[aria-disabled=true]:indeterminate+[class*=__label],.usa-checkbox__input--tile[aria-disabled=true][data-indeterminate]+[class*=__label]{background-color:#fff}.usa-checkbox__input:indeterminate+[class*=__label]::before,.usa-checkbox__input[data-indeterminate]+[class*=__label]::before{background-image:url(\"../img/checkbox-indeterminate.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat;background-color:#005ea2;box-shadow:0 0 0 2px #005ea2;background-position:center center;background-size:.75rem auto}@media(forced-colors: active){.usa-checkbox__input:indeterminate+[class*=__label]::before,.usa-checkbox__input[data-indeterminate]+[class*=__label]::before{background-image:url(\"../img/checkbox-indeterminate-alt.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat;background-color:SelectedItem}}.usa-checkbox__input:indeterminate:disabled+[class*=__label]::before,.usa-checkbox__input:indeterminate[aria-disabled=true]+[class*=__label]::before,.usa-checkbox__input[data-indeterminate]:disabled+[class*=__label]::before,.usa-checkbox__input[data-indeterminate][aria-disabled=true]+[class*=__label]::before{box-shadow:0 0 0 2px #757575}.usa-checkbox__input:indeterminate:disabled+[class*=__label],.usa-checkbox__input:indeterminate[aria-disabled=true]+[class*=__label],.usa-checkbox__input[data-indeterminate]:disabled+[class*=__label],.usa-checkbox__input[data-indeterminate][aria-disabled=true]+[class*=__label]{border-color:#e6e6e6}.usa-checkbox__input--tile:indeterminate+[class*=__label],.usa-checkbox__input--tile[data-indeterminate]+[class*=__label]{background-color:rgba(0,94,162,.1);border-color:#005ea2}@media(forced-colors: active){.usa-checkbox__input--tile:indeterminate+[class*=__label],.usa-checkbox__input--tile[data-indeterminate]+[class*=__label]{border:ButtonText solid .25rem}}.usa-checkbox__input:checked+[class*=__label]::before,.usa-checkbox__input:checked:disabled+[class*=__label]::before,.usa-checkbox__input:checked[aria-disabled=true]+[class*=__label]::before{background-image:url(\"../img/correct8.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat}@media(forced-colors: active){.usa-checkbox__input:checked+[class*=__label]::before,.usa-checkbox__input:checked:disabled+[class*=__label]::before,.usa-checkbox__input:checked[aria-disabled=true]+[class*=__label]::before{background-image:url(\"../img/correct8-alt.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat}}.usa-checkbox__input:checked:disabled+[class*=__label]::before,.usa-checkbox__input:checked[aria-disabled=true]+[class*=__label]::before,.usa-checkbox__input:indeterminate:disabled+[class*=__label]::before,.usa-checkbox__input:indeterminate[aria-disabled=true]+[class*=__label]::before,.usa-checkbox__input[data-indeterminate]:disabled+[class*=__label]::before,.usa-checkbox__input[data-indeterminate][aria-disabled=true]+[class*=__label]::before{background-color:#757575}@media(forced-colors: active){.usa-checkbox__input:checked:disabled+[class*=__label]::before,.usa-checkbox__input:checked[aria-disabled=true]+[class*=__label]::before,.usa-checkbox__input:indeterminate:disabled+[class*=__label]::before,.usa-checkbox__input:indeterminate[aria-disabled=true]+[class*=__label]::before,.usa-checkbox__input[data-indeterminate]:disabled+[class*=__label]::before,.usa-checkbox__input[data-indeterminate][aria-disabled=true]+[class*=__label]::before{background-color:GrayText}}.usa-checkbox__input{position:absolute;left:-999em;right:auto}.usa-checkbox__input:focus+[class*=__label]::before{outline:.25rem solid #2491ff;outline-offset:.25rem}.usa-checkbox__input--tile+[class*=__label]{border-radius:.25rem;margin-top:.5rem;padding:.75rem 1rem .75rem 2.5rem}.usa-checkbox__input--tile+[class*=__label]::before{left:.5rem}.usa-checkbox__input:checked+[class*=__label]::before{background-position:center center;background-size:.75rem auto}@media print{.usa-checkbox__input:checked+[class*=__label]::before{background-image:none;background-color:#fff;content:\"✔\";text-align:center}}@media(forced-colors: active){.usa-checkbox__input:checked+[class*=__label]::before{background-color:SelectedItem}}.usa-checkbox__label{cursor:pointer;display:inherit;font-weight:normal;margin-top:.75rem;padding-left:2rem;position:relative}.usa-checkbox__label::before{content:\" \";display:block;left:0;margin-left:2px;margin-top:.064rem;position:absolute}.usa-checkbox__label::before{height:1.25rem;width:1.25rem;border-radius:2px}.usa-checkbox__label-description{display:block;font-size:.93rem;margin-top:.5rem}.usa-select{background-image:url(\"../img/usa-icons/unfold_more.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat;appearance:none;background-color:#fff;background-position:right .5rem center;background-size:1.25rem;padding-right:2rem}.usa-select::-ms-expand{display:none}.usa-select:-webkit-autofill{appearance:menulist}.usa-select:-moz-focusring{color:rgba(0,0,0,0);text-shadow:0 0 0 #000}.usa-select[multiple]{height:auto;background-image:none;padding-right:0}.usa-select option{overflow:hidden;text-overflow:ellipsis}.usa-select:disabled,.usa-select[aria-disabled=true]{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-select:disabled:hover,.usa-select:disabled:active,.usa-select:disabled:focus,.usa-select:disabled.usa-focus,.usa-select[aria-disabled=true]:hover,.usa-select[aria-disabled=true]:active,.usa-select[aria-disabled=true]:focus,.usa-select[aria-disabled=true].usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-select:disabled,.usa-select[aria-disabled=true]{border:0;color:GrayText}.usa-select:disabled:hover,.usa-select:disabled:active,.usa-select:disabled:focus,.usa-select:disabled.usa-focus,.usa-select[aria-disabled=true]:hover,.usa-select[aria-disabled=true]:active,.usa-select[aria-disabled=true]:focus,.usa-select[aria-disabled=true].usa-focus{color:GrayText}}@media(forced-colors: active){.usa-select:disabled,.usa-select[aria-disabled=true]{border:2px solid GrayText}}@media(forced-colors: active){.usa-select{appearance:listbox;background-image:none;padding-right:0}}.usa-combo-box{max-width:30rem;position:relative}.usa-combo-box--pristine .usa-combo-box__input{padding-right:calc(5em + 4px)}.usa-combo-box--pristine .usa-combo-box__input::-ms-clear{display:none}.usa-combo-box--pristine .usa-combo-box__clear-input{display:block}@media(forced-colors: active){.usa-combo-box--pristine .usa-combo-box__clear-input{background-image:url(\"../img/usa-icons/close.svg\");background-repeat:no-repeat;background-position:center center;background-size:1rem 1rem;display:inline-block;height:1rem;width:1rem;height:1.5rem;width:auto;top:.5rem}@supports(mask: url(\"\")){.usa-combo-box--pristine .usa-combo-box__clear-input{background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/close.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1rem 1rem}}}.usa-combo-box__input{appearance:none;margin-bottom:0;max-width:none;padding-right:calc(2.5em + 3px)}.usa-combo-box__input:disabled,.usa-combo-box__input[aria-disabled=true]{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1;-webkit-text-fill-color:#454545}.usa-combo-box__input:disabled:hover,.usa-combo-box__input:disabled:active,.usa-combo-box__input:disabled:focus,.usa-combo-box__input:disabled.usa-focus,.usa-combo-box__input[aria-disabled=true]:hover,.usa-combo-box__input[aria-disabled=true]:active,.usa-combo-box__input[aria-disabled=true]:focus,.usa-combo-box__input[aria-disabled=true].usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-combo-box__input:disabled,.usa-combo-box__input[aria-disabled=true]{border:0;color:GrayText}.usa-combo-box__input:disabled:hover,.usa-combo-box__input:disabled:active,.usa-combo-box__input:disabled:focus,.usa-combo-box__input:disabled.usa-focus,.usa-combo-box__input[aria-disabled=true]:hover,.usa-combo-box__input[aria-disabled=true]:active,.usa-combo-box__input[aria-disabled=true]:focus,.usa-combo-box__input[aria-disabled=true].usa-focus{color:GrayText}}@media(forced-colors: active){.usa-combo-box__input:disabled,.usa-combo-box__input[aria-disabled=true]{border:2px solid GrayText}}.usa-combo-box__input:disabled::placeholder,.usa-combo-box__input[aria-disabled=true]::placeholder{opacity:1}.usa-combo-box__input:disabled~.usa-combo-box__input-button-separator,.usa-combo-box__input[aria-disabled=true]~.usa-combo-box__input-button-separator{background-color:#454545;cursor:not-allowed}button.usa-combo-box__toggle-list:focus,button.usa-combo-box__clear-input:focus{outline-offset:-4px}button.usa-combo-box__toggle-list:disabled,button.usa-combo-box__toggle-list[aria-disabled=true],button.usa-combo-box__clear-input:disabled,button.usa-combo-box__clear-input[aria-disabled=true]{cursor:not-allowed}.usa-combo-box__toggle-list__wrapper:focus,.usa-combo-box__clear-input__wrapper:focus{outline:0}.usa-combo-box__toggle-list,.usa-combo-box__clear-input{background-color:rgba(0,0,0,0);background-position:center;background-size:auto 1.5rem;border:0;bottom:1px;cursor:pointer;margin-bottom:0;opacity:.6;padding-right:2rem;position:absolute;top:1px;z-index:100}.usa-combo-box__clear-input{background-image:url(\"../img/usa-icons/close.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat;display:none;right:calc(2.5em + 3px)}.usa-combo-box__toggle-list{background-image:url(\"../img/usa-icons/expand_more.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat;background-size:auto 2rem;right:1px}@media(forced-colors: active){.usa-combo-box__toggle-list{background-image:url(\"../img/usa-icons/expand_more.svg\");background-repeat:no-repeat;background-position:center center;background-size:1rem 1rem;display:inline-block;height:1rem;width:1rem;height:auto;width:auto}@supports(mask: url(\"\")){.usa-combo-box__toggle-list{background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/expand_more.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1rem 1rem}}.usa-combo-box__toggle-list:disabled,.usa-combo-box__toggle-list[aria-disabled=true]{background-color:GrayText}}.usa-combo-box__input-button-separator{background-color:#c6cace;position:absolute;top:1px;height:calc(100% - 1rem);margin-bottom:.5rem;margin-top:.5rem;width:1px;right:calc(2.5em + 2px);box-sizing:border-box;z-index:200}@media(forced-colors: active){.usa-combo-box__input-button-separator{background-color:ButtonText}}.usa-combo-box__list{border-width:1px;border-color:#565c65;border-style:solid;background-color:#fff;border-radius:0;border-top:0;margin:0;max-height:12.1em;overflow-x:hidden;overflow-y:scroll;padding:0;position:absolute;width:100%;z-index:300}.usa-combo-box__list:focus{outline:0}.usa-combo-box__list-option{border-bottom:1px solid #dfe1e2;cursor:pointer;display:block;padding:.5rem}.usa-combo-box__list-option--focused{outline:2px solid #162e51;outline-offset:-2px;position:relative;z-index:100}.usa-combo-box__list-option--focused:focus{outline-offset:-4px}.usa-combo-box__list-option--selected{background-color:#005ea2;border-color:#005ea2;color:#fff}.usa-combo-box__list-option--no-results{cursor:not-allowed;display:block;padding:.5rem}.usa-date-picker__wrapper{display:none;position:relative;max-width:30rem}.usa-date-picker__wrapper:focus{outline:0}.usa-date-picker__external-input[aria-disabled=true]+.usa-date-picker__button,.usa-date-picker__calendar__year:disabled,.usa-date-picker__calendar__previous-year-chunk:disabled,.usa-date-picker__calendar__next-year-chunk:disabled,.usa-date-picker__calendar__month:disabled,.usa-date-picker__calendar__year-selection:disabled,.usa-date-picker__calendar__month-selection:disabled,.usa-date-picker__calendar__date:disabled,.usa-date-picker__calendar__previous-year:disabled,.usa-date-picker__calendar__previous-month:disabled,.usa-date-picker__calendar__next-year:disabled,.usa-date-picker__calendar__next-month:disabled,.usa-date-picker__button:disabled,[aria-disabled=true].usa-date-picker__calendar__year,[aria-disabled=true].usa-date-picker__calendar__previous-year-chunk,[aria-disabled=true].usa-date-picker__calendar__next-year-chunk,[aria-disabled=true].usa-date-picker__calendar__month,[aria-disabled=true].usa-date-picker__calendar__year-selection,[aria-disabled=true].usa-date-picker__calendar__month-selection,[aria-disabled=true].usa-date-picker__calendar__date,[aria-disabled=true].usa-date-picker__calendar__previous-year,[aria-disabled=true].usa-date-picker__calendar__previous-month,[aria-disabled=true].usa-date-picker__calendar__next-year,[aria-disabled=true].usa-date-picker__calendar__next-month,[aria-disabled=true].usa-date-picker__button{cursor:not-allowed;opacity:.6}.usa-date-picker__external-input[aria-disabled=true]+.usa-date-picker__button:hover,.usa-date-picker__calendar__year:hover:disabled,.usa-date-picker__calendar__previous-year-chunk:hover:disabled,.usa-date-picker__calendar__next-year-chunk:hover:disabled,.usa-date-picker__calendar__month:hover:disabled,.usa-date-picker__calendar__year-selection:hover:disabled,.usa-date-picker__calendar__month-selection:hover:disabled,.usa-date-picker__calendar__date:hover:disabled,.usa-date-picker__calendar__previous-year:hover:disabled,.usa-date-picker__calendar__previous-month:hover:disabled,.usa-date-picker__calendar__next-year:hover:disabled,.usa-date-picker__calendar__next-month:hover:disabled,.usa-date-picker__button:hover:disabled,[aria-disabled=true].usa-date-picker__calendar__year:hover,[aria-disabled=true].usa-date-picker__calendar__previous-year-chunk:hover,[aria-disabled=true].usa-date-picker__calendar__next-year-chunk:hover,[aria-disabled=true].usa-date-picker__calendar__month:hover,[aria-disabled=true].usa-date-picker__calendar__year-selection:hover,[aria-disabled=true].usa-date-picker__calendar__month-selection:hover,[aria-disabled=true].usa-date-picker__calendar__date:hover,[aria-disabled=true].usa-date-picker__calendar__previous-year:hover,[aria-disabled=true].usa-date-picker__calendar__previous-month:hover,[aria-disabled=true].usa-date-picker__calendar__next-year:hover,[aria-disabled=true].usa-date-picker__calendar__next-month:hover,[aria-disabled=true].usa-date-picker__button:hover{background-color:initial}@media(forced-colors: active){.usa-date-picker__external-input[aria-disabled=true]+.usa-date-picker__button,.usa-date-picker__calendar__year:disabled,.usa-date-picker__calendar__previous-year-chunk:disabled,.usa-date-picker__calendar__next-year-chunk:disabled,.usa-date-picker__calendar__month:disabled,.usa-date-picker__calendar__year-selection:disabled,.usa-date-picker__calendar__month-selection:disabled,.usa-date-picker__calendar__date:disabled,.usa-date-picker__calendar__previous-year:disabled,.usa-date-picker__calendar__previous-month:disabled,.usa-date-picker__calendar__next-year:disabled,.usa-date-picker__calendar__next-month:disabled,.usa-date-picker__button:disabled,[aria-disabled=true].usa-date-picker__calendar__year,[aria-disabled=true].usa-date-picker__calendar__previous-year-chunk,[aria-disabled=true].usa-date-picker__calendar__next-year-chunk,[aria-disabled=true].usa-date-picker__calendar__month,[aria-disabled=true].usa-date-picker__calendar__year-selection,[aria-disabled=true].usa-date-picker__calendar__month-selection,[aria-disabled=true].usa-date-picker__calendar__date,[aria-disabled=true].usa-date-picker__calendar__previous-year,[aria-disabled=true].usa-date-picker__calendar__previous-month,[aria-disabled=true].usa-date-picker__calendar__next-year,[aria-disabled=true].usa-date-picker__calendar__next-month,[aria-disabled=true].usa-date-picker__button{background-color:GrayText}.usa-date-picker__external-input[aria-disabled=true]+.usa-date-picker__button:hover,.usa-date-picker__calendar__year:hover:disabled,.usa-date-picker__calendar__previous-year-chunk:hover:disabled,.usa-date-picker__calendar__next-year-chunk:hover:disabled,.usa-date-picker__calendar__month:hover:disabled,.usa-date-picker__calendar__year-selection:hover:disabled,.usa-date-picker__calendar__month-selection:hover:disabled,.usa-date-picker__calendar__date:hover:disabled,.usa-date-picker__calendar__previous-year:hover:disabled,.usa-date-picker__calendar__previous-month:hover:disabled,.usa-date-picker__calendar__next-year:hover:disabled,.usa-date-picker__calendar__next-month:hover:disabled,.usa-date-picker__button:hover:disabled,[aria-disabled=true].usa-date-picker__calendar__year:hover,[aria-disabled=true].usa-date-picker__calendar__previous-year-chunk:hover,[aria-disabled=true].usa-date-picker__calendar__next-year-chunk:hover,[aria-disabled=true].usa-date-picker__calendar__month:hover,[aria-disabled=true].usa-date-picker__calendar__year-selection:hover,[aria-disabled=true].usa-date-picker__calendar__month-selection:hover,[aria-disabled=true].usa-date-picker__calendar__date:hover,[aria-disabled=true].usa-date-picker__calendar__previous-year:hover,[aria-disabled=true].usa-date-picker__calendar__previous-month:hover,[aria-disabled=true].usa-date-picker__calendar__next-year:hover,[aria-disabled=true].usa-date-picker__calendar__next-month:hover,[aria-disabled=true].usa-date-picker__button:hover{background-color:GrayText}}.usa-date-picker__calendar__year,.usa-date-picker__calendar__previous-year-chunk,.usa-date-picker__calendar__next-year-chunk,.usa-date-picker__calendar__month,.usa-date-picker__calendar__year-selection,.usa-date-picker__calendar__month-selection,.usa-date-picker__calendar__date,.usa-date-picker__calendar__previous-year,.usa-date-picker__calendar__previous-month,.usa-date-picker__calendar__next-year,.usa-date-picker__calendar__next-month,.usa-date-picker__button{background-color:#f0f0f0;border:0;width:100%}.usa-date-picker__calendar__year:not([disabled]),.usa-date-picker__calendar__previous-year-chunk:not([disabled]),.usa-date-picker__calendar__next-year-chunk:not([disabled]),.usa-date-picker__calendar__month:not([disabled]),.usa-date-picker__calendar__year-selection:not([disabled]),.usa-date-picker__calendar__month-selection:not([disabled]),.usa-date-picker__calendar__date:not([disabled]),.usa-date-picker__calendar__previous-year:not([disabled]),.usa-date-picker__calendar__previous-month:not([disabled]),.usa-date-picker__calendar__next-year:not([disabled]),.usa-date-picker__calendar__next-month:not([disabled]),.usa-date-picker__button:not([disabled]){cursor:pointer}.usa-date-picker__calendar__year:not([disabled]):focus,.usa-date-picker__calendar__previous-year-chunk:not([disabled]):focus,.usa-date-picker__calendar__next-year-chunk:not([disabled]):focus,.usa-date-picker__calendar__month:not([disabled]):focus,.usa-date-picker__calendar__year-selection:not([disabled]):focus,.usa-date-picker__calendar__month-selection:not([disabled]):focus,.usa-date-picker__calendar__date:not([disabled]):focus,.usa-date-picker__calendar__previous-year:not([disabled]):focus,.usa-date-picker__calendar__previous-month:not([disabled]):focus,.usa-date-picker__calendar__next-year:not([disabled]):focus,.usa-date-picker__calendar__next-month:not([disabled]):focus,.usa-date-picker__button:not([disabled]):focus{outline-offset:-4px}.usa-date-picker__calendar__year:not([disabled]):hover,.usa-date-picker__calendar__previous-year-chunk:not([disabled]):hover,.usa-date-picker__calendar__next-year-chunk:not([disabled]):hover,.usa-date-picker__calendar__month:not([disabled]):hover,.usa-date-picker__calendar__year-selection:not([disabled]):hover,.usa-date-picker__calendar__month-selection:not([disabled]):hover,.usa-date-picker__calendar__date:not([disabled]):hover,.usa-date-picker__calendar__previous-year:not([disabled]):hover,.usa-date-picker__calendar__previous-month:not([disabled]):hover,.usa-date-picker__calendar__next-year:not([disabled]):hover,.usa-date-picker__calendar__next-month:not([disabled]):hover,.usa-date-picker__button:not([disabled]):hover{background-color:#dfe1e2}@media(forced-colors: active){.usa-date-picker__calendar__year:not([disabled]):hover,.usa-date-picker__calendar__previous-year-chunk:not([disabled]):hover,.usa-date-picker__calendar__next-year-chunk:not([disabled]):hover,.usa-date-picker__calendar__month:not([disabled]):hover,.usa-date-picker__calendar__year-selection:not([disabled]):hover,.usa-date-picker__calendar__month-selection:not([disabled]):hover,.usa-date-picker__calendar__date:not([disabled]):hover,.usa-date-picker__calendar__previous-year:not([disabled]):hover,.usa-date-picker__calendar__previous-month:not([disabled]):hover,.usa-date-picker__calendar__next-year:not([disabled]):hover,.usa-date-picker__calendar__next-month:not([disabled]):hover,.usa-date-picker__button:not([disabled]):hover{background-color:buttontext}}.usa-date-picker__calendar__year:not([disabled]):active,.usa-date-picker__calendar__previous-year-chunk:not([disabled]):active,.usa-date-picker__calendar__next-year-chunk:not([disabled]):active,.usa-date-picker__calendar__month:not([disabled]):active,.usa-date-picker__calendar__year-selection:not([disabled]):active,.usa-date-picker__calendar__month-selection:not([disabled]):active,.usa-date-picker__calendar__date:not([disabled]):active,.usa-date-picker__calendar__previous-year:not([disabled]):active,.usa-date-picker__calendar__previous-month:not([disabled]):active,.usa-date-picker__calendar__next-year:not([disabled]):active,.usa-date-picker__calendar__next-month:not([disabled]):active,.usa-date-picker__button:not([disabled]):active{background-color:#a9aeb1}@media(forced-colors: active){.usa-date-picker__calendar__year:not([disabled]):active,.usa-date-picker__calendar__previous-year-chunk:not([disabled]):active,.usa-date-picker__calendar__next-year-chunk:not([disabled]):active,.usa-date-picker__calendar__month:not([disabled]):active,.usa-date-picker__calendar__year-selection:not([disabled]):active,.usa-date-picker__calendar__month-selection:not([disabled]):active,.usa-date-picker__calendar__date:not([disabled]):active,.usa-date-picker__calendar__previous-year:not([disabled]):active,.usa-date-picker__calendar__previous-month:not([disabled]):active,.usa-date-picker__calendar__next-year:not([disabled]):active,.usa-date-picker__calendar__next-month:not([disabled]):active,.usa-date-picker__button:not([disabled]):active{background-color:buttontext}}.usa-date-picker--active .usa-date-picker__button{background-color:#f0f0f0}@media(forced-colors: active){.usa-date-picker--active .usa-date-picker__button{background-color:buttontext}}.usa-date-picker--active .usa-date-picker__calendar{z-index:400}.usa-date-picker__button{background-image:url(\"../img/usa-icons/calendar_today.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat;align-self:stretch;background-color:rgba(0,0,0,0);background-position:center;background-size:1.5rem;margin-top:.5em;width:3em}@media(forced-colors: active){.usa-date-picker__button{background-image:url(\"../img/usa-icons/calendar_today.svg\");background-repeat:no-repeat;background-position:center center;background-size:2.5rem 2.5rem;display:inline-block;height:2.5rem;width:3rem;mask-size:1.5rem !important;position:relative}@supports(mask: url(\"\")){.usa-date-picker__button{background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/calendar_today.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2.5rem 2.5rem}}.usa-date-picker__button:not([disabled]):focus,.usa-date-picker__button:not([disabled]):hover{background-color:Highlight}}.usa-date-picker--initialized .usa-date-picker__wrapper{display:flex}.usa-date-picker__calendar{background-color:#f0f0f0;left:auto;max-width:20rem;position:absolute;right:0;width:100%;z-index:100}.usa-date-picker__calendar__table{border-spacing:0;border-collapse:collapse;table-layout:fixed;text-align:center;width:100%}.usa-date-picker__calendar__table th{font-weight:normal}.usa-date-picker__calendar__table td{padding:0}.usa-date-picker__calendar__row{display:flex;flex-wrap:wrap;text-align:center;width:100%}.usa-date-picker__calendar__cell{background-color:#f0f0f0;flex:1}.usa-date-picker__calendar__cell--center-items{display:flex;justify-content:center;align-items:center}@media(forced-colors: active){.usa-date-picker__calendar__cell--center-items:not([disabled]):hover{outline:2px solid rgba(0,0,0,0);outline-offset:-2px}}.usa-date-picker__calendar__previous-year,.usa-date-picker__calendar__previous-month,.usa-date-picker__calendar__next-year,.usa-date-picker__calendar__next-month{background-position:center;background-size:auto 1.5rem;height:1.5rem;padding:20px 10px}@media(forced-colors: active){.usa-date-picker__calendar__previous-year,.usa-date-picker__calendar__previous-month,.usa-date-picker__calendar__next-year,.usa-date-picker__calendar__next-month{mask-size:1.5rem !important}}.usa-date-picker__calendar__previous-year:not([disabled]){background-image:url(\"../img/usa-icons/navigate_far_before.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat}@media(forced-colors: active){.usa-date-picker__calendar__previous-year:not([disabled]){background-image:url(\"../img/usa-icons/navigate_far_before.svg\");background-repeat:no-repeat;background-position:center center;background-size:2.5rem 2.5rem;display:inline-block;height:2.5rem;width:3rem;background-color:buttonText}@supports(mask: url(\"\")){.usa-date-picker__calendar__previous-year:not([disabled]){background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/navigate_far_before.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2.5rem 2.5rem}}}.usa-date-picker__calendar__previous-month:not([disabled]){background-image:url(\"../img/usa-icons/navigate_before.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat}@media(forced-colors: active){.usa-date-picker__calendar__previous-month:not([disabled]){background-image:url(\"../img/usa-icons/navigate_before.svg\");background-repeat:no-repeat;background-position:center center;background-size:2.5rem 2.5rem;display:inline-block;height:2.5rem;width:3rem;background-color:buttonText}@supports(mask: url(\"\")){.usa-date-picker__calendar__previous-month:not([disabled]){background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/navigate_before.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2.5rem 2.5rem}}}.usa-date-picker__calendar__next-year:not([disabled]){background-image:url(\"../img/usa-icons/navigate_far_next.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat}@media(forced-colors: active){.usa-date-picker__calendar__next-year:not([disabled]){background-image:url(\"../img/usa-icons/navigate_far_next.svg\");background-repeat:no-repeat;background-position:center center;background-size:2.5rem 2.5rem;display:inline-block;height:2.5rem;width:3rem;background-color:buttonText}@supports(mask: url(\"\")){.usa-date-picker__calendar__next-year:not([disabled]){background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/navigate_far_next.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2.5rem 2.5rem}}}.usa-date-picker__calendar__next-month:not([disabled]){background-image:url(\"../img/usa-icons/navigate_next.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat}@media(forced-colors: active){.usa-date-picker__calendar__next-month:not([disabled]){background-image:url(\"../img/usa-icons/navigate_next.svg\");background-repeat:no-repeat;background-position:center center;background-size:2.5rem 2.5rem;display:inline-block;height:2.5rem;width:3rem;background-color:buttonText}@supports(mask: url(\"\")){.usa-date-picker__calendar__next-month:not([disabled]){background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/navigate_next.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2.5rem 2.5rem}}}.usa-date-picker__calendar__day-of-week{padding:6px 0px}.usa-date-picker__calendar__date{padding:10px 0px}.usa-date-picker__calendar__date--focused{outline:2px solid #162e51;outline-offset:-2px;position:relative;z-index:100}.usa-date-picker__calendar__date--next-month:not([disabled]),.usa-date-picker__calendar__date--previous-month:not([disabled]){color:#5d5d52}.usa-date-picker__calendar__date--selected,.usa-date-picker__calendar__date--range-date{background-color:#0050d8;color:#f9f9f9}.usa-date-picker__calendar__date--selected:not([disabled]),.usa-date-picker__calendar__date--range-date:not([disabled]){background-color:#0050d8;color:#f9f9f9}@media(forced-colors: active){.usa-date-picker__calendar__date--selected:not([disabled]),.usa-date-picker__calendar__date--range-date:not([disabled]){border:ActiveText 2px solid}}.usa-date-picker__calendar__date--selected:not([disabled]):hover,.usa-date-picker__calendar__date--range-date:not([disabled]):hover{background-color:#0050d8;color:#e6e6e6}.usa-date-picker__calendar__date--selected:not([disabled]):focus,.usa-date-picker__calendar__date--range-date:not([disabled]):focus{background-color:#0050d8;color:#f9f9f9}@media(forced-colors: active){.usa-date-picker__calendar__date--selected:not([disabled]):focus,.usa-date-picker__calendar__date--range-date:not([disabled]):focus{border:ActiveText 2px solid}}.usa-date-picker__calendar__date--selected:not([disabled]):active,.usa-date-picker__calendar__date--range-date:not([disabled]):active{background-color:#1a4480}@media(forced-colors: active){.usa-date-picker__calendar__date--selected:not([disabled]):active,.usa-date-picker__calendar__date--range-date:not([disabled]):active{background-color:Highlight}}.usa-date-picker__calendar__date--range-date-start{border-top-left-radius:10%;border-bottom-left-radius:10%}.usa-date-picker__calendar__date--range-date-end{border-top-right-radius:10%;border-bottom-right-radius:10%}.usa-date-picker__calendar__date--within-range{background-color:#cfe8ff}.usa-date-picker__calendar__date--within-range:not([disabled]){background-color:#cfe8ff}@media(forced-colors: active){.usa-date-picker__calendar__date--within-range:not([disabled]){border:Highlight 2px solid}}.usa-date-picker__calendar__date--within-range:not([disabled]):hover{background-color:#cfe8ff}@media(forced-colors: active){.usa-date-picker__calendar__date--within-range:not([disabled]):hover{border:Highlight 2px solid}}.usa-date-picker__calendar__date--within-range:not([disabled]):focus{background-color:#cfe8ff}@media(forced-colors: active){.usa-date-picker__calendar__date--within-range:not([disabled]):focus{border:Highlight 2px solid}}.usa-date-picker__calendar__date--within-range:not([disabled]):active{background-color:#cfe8ff}@media(forced-colors: active){.usa-date-picker__calendar__date--within-range:not([disabled]):active{background-color:Highlight}}@media all and (max-width: 19.99em){.usa-date-picker__calendar__month-label{min-width:100%;order:-1}}@media all and (min-width: 20em){.usa-date-picker__calendar__month-label{flex:4;text-align:center}}.usa-date-picker__calendar__year-selection,.usa-date-picker__calendar__month-selection{display:inline-block;height:100%;padding:8px 4px;width:auto}@media all and (max-width: 19.99em){.usa-date-picker__calendar__year-selection,.usa-date-picker__calendar__month-selection{padding-bottom:0;padding-top:12px}}.usa-date-picker__calendar__month-picker{padding:20px 5px}@media all and (max-width: 19.99em){.usa-date-picker__calendar__month-picker{padding-bottom:12px;padding-top:12px}.usa-date-picker__calendar__month-picker tr{display:flex;flex-direction:column}}.usa-date-picker__calendar__month{padding:10px 0}.usa-date-picker__calendar__month--focused{outline:2px solid #162e51;outline-offset:-2px;position:relative;z-index:100}.usa-date-picker__calendar__month--selected{background-color:#0050d8;color:#f9f9f9}.usa-date-picker__calendar__month--selected:not([disabled]){background-color:#0050d8;color:#f9f9f9}.usa-date-picker__calendar__month--selected:not([disabled]):hover{background-color:#0050d8;color:#e6e6e6}.usa-date-picker__calendar__month--selected:not([disabled]):focus{background-color:#0050d8;color:#f9f9f9}.usa-date-picker__calendar__month--selected:not([disabled]):active{background-color:#1a4480}.usa-date-picker__calendar__year-picker{padding:20px 5px}.usa-date-picker__calendar__previous-year-chunk,.usa-date-picker__calendar__next-year-chunk{background-position:center;background-size:auto 2rem;margin:auto;padding:40px 0}@media(forced-colors: active){.usa-date-picker__calendar__previous-year-chunk,.usa-date-picker__calendar__next-year-chunk{mask-size:1.5rem !important}}.usa-date-picker__calendar__previous-year-chunk:not([disabled]){background-image:url(\"../img/usa-icons/navigate_before.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat}@media(forced-colors: active){.usa-date-picker__calendar__previous-year-chunk:not([disabled]){background-image:none}.usa-date-picker__calendar__previous-year-chunk:not([disabled])::after{background-image:url(\"../img/usa-icons/navigate_before.svg\");background-repeat:no-repeat;background-position:center center;background-size:2.5rem 2.5rem;display:inline-block;height:2.5rem;width:3rem;content:\"\";vertical-align:middle;margin-left:auto}@supports(mask: url(\"\")){.usa-date-picker__calendar__previous-year-chunk:not([disabled])::after{background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/navigate_before.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2.5rem 2.5rem}}.usa-date-picker__calendar__previous-year-chunk:not([disabled]):hover{border:2px solid rgba(0,0,0,0);background-color:rgba(0,0,0,0)}}.usa-date-picker__calendar__next-year-chunk:not([disabled]){background-image:url(\"../img/usa-icons/navigate_next.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat}@media(forced-colors: active){.usa-date-picker__calendar__next-year-chunk:not([disabled]){background-image:none}.usa-date-picker__calendar__next-year-chunk:not([disabled])::after{background-image:url(\"../img/usa-icons/navigate_next.svg\");background-repeat:no-repeat;background-position:center center;background-size:2.5rem 2.5rem;display:inline-block;height:2.5rem;width:3rem;content:\"\";vertical-align:middle;margin-left:auto}@supports(mask: url(\"\")){.usa-date-picker__calendar__next-year-chunk:not([disabled])::after{background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/navigate_next.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2.5rem 2.5rem}}.usa-date-picker__calendar__next-year-chunk:not([disabled]):hover{border:2px solid rgba(0,0,0,0);background-color:rgba(0,0,0,0)}}.usa-date-picker__calendar__year{padding:10px 0}.usa-date-picker__calendar__year--focused{outline:2px solid #162e51;outline-offset:-2px;position:relative;z-index:100}.usa-date-picker__calendar__year--selected{background-color:#0050d8;color:#f9f9f9}.usa-date-picker__calendar__year--selected:not([disabled]){background-color:#0050d8;color:#f9f9f9}.usa-date-picker__calendar__year--selected:not([disabled]):hover{background-color:#0050d8;color:#e6e6e6}.usa-date-picker__calendar__year--selected:not([disabled]):focus{background-color:#0050d8;color:#f9f9f9}.usa-date-picker__calendar__year--selected:not([disabled]):active{background-color:#1a4480}.usa-error-message{padding-bottom:.25rem;padding-top:.25rem;color:#b50909;display:block;font-weight:700}[type=file]{border:none;margin-top:.5rem;padding-left:0;padding-top:.2rem}.usa-file-input{display:block;max-width:30rem;width:100%}.usa-file-input__target{border:1px dashed #a9aeb1;display:block;font-size:.93rem;margin-top:.5rem;position:relative;text-align:center;width:100%}.usa-file-input__target:hover{border-color:#71767a}.usa-file-input__target.has-invalid-file{border-color:#fa9441}.usa-file-input__accepted-files-message{font-weight:bold;margin:-1.5rem 0 1.5rem;pointer-events:none;position:relative;z-index:3}.has-invalid-file .usa-file-input__accepted-files-message{color:#b50909}.usa-file-input__choose{color:#005ea2;text-decoration:underline;font-weight:normal}.usa-file-input__choose:visited{color:#54278f}.usa-file-input__choose:hover{color:#1a4480}.usa-file-input__choose:active{color:#162e51}.usa-file-input__choose:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-file-input__instructions{padding:2rem 1rem;pointer-events:none;position:relative;z-index:3}.usa-file-input__box{background:#fff;height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:2}.usa-file-input .usa-file-input__input[type]{cursor:pointer;height:100%;left:0;margin:0;max-width:none;position:absolute;padding:.5rem;text-indent:-999em;top:0;width:100%;z-index:1}.usa-file-input .usa-file-input__input[type]::-webkit-file-upload-button{display:none}.usa-file-input--drag .usa-file-input__target{border-color:#005ea2}.usa-file-input--drag .usa-file-input__box{background-color:#d9e8f6}.usa-file-input--drag .usa-file-input__preview{opacity:.1}.usa-file-input__preview-heading{align-items:center;background:#d9e8f6;display:flex;font-weight:bold;justify-content:space-between;padding:.5rem;pointer-events:none;position:relative;z-index:3}.usa-file-input__preview{align-items:center;background:#d9e8f6;word-wrap:anywhere;display:flex;font-size:.87rem;margin-top:1px;padding:.25rem .5rem;pointer-events:none;position:relative;text-align:left;z-index:3}.usa-file-input__preview:last-child{margin-bottom:-1.5rem}.usa-file-input__preview-image{border:none;display:block;height:2.5rem;margin-right:.5rem;object-fit:contain;width:2.5rem}.usa-file-input__preview-image.is-loading{background-image:url(\"../img/loader.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat;background-position:center center;background-repeat:no-repeat;background-size:2rem}.usa-file-input__preview-image--generic,.usa-file-input__preview-image--pdf,.usa-file-input__preview-image--word,.usa-file-input__preview-image--excel,.usa-file-input__preview-image--video{background-position:center center;background-repeat:no-repeat;background-size:1.5rem}.usa-file-input__preview-image--pdf{background-image:url(\"../img/file-pdf.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat}.usa-file-input__preview-image--generic{background-image:url(\"../img/file.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat}.usa-file-input__preview-image--word{background-image:url(\"../img/file-word.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat}.usa-file-input__preview-image--excel{background-image:url(\"../img/file-excel.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat}.usa-file-input__preview-image--video{background-image:url(\"../img/file-video.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat}.usa-form-group--error .usa-file-input__target{border-color:#b50909;border-width:2px}.usa-file-input--disabled .usa-file-input__instructions,.usa-file-input--disabled .usa-file-input__choose{color:#454545}.usa-file-input--disabled .usa-file-input__box{background-color:#c9c9c9}.usa-file-input--disabled .usa-file-input__input[type]{cursor:not-allowed}.usa-file-input--disabled .usa-file-input__target:hover{border-color:#a9aeb1}.usa-file-input--disabled .usa-file-input--drag .usa-file-input__box{background-color:#c9c9c9}@media(forced-colors: active){.usa-file-input--disabled .usa-file-input__instructions,.usa-file-input--disabled .usa-file-input__choose{color:GrayText}.usa-file-input--disabled .usa-file-input__target,.usa-file-input--disabled .usa-file-input__target:hover{border-color:GrayText}}.usa-form-group{margin-top:1.5rem}.usa-form-group .usa-label:first-child{margin-top:0}.usa-form-group--error{border-left-width:0.25rem;border-left-color:#b50909;border-left-style:solid;padding-left:1rem;position:relative}@media all and (min-width: 64em){.usa-form-group--error{margin-left:-1.25rem}}.usa-hint{color:#71767a}.usa-hint--required{color:#b50909}.usa-input-group{align-items:center;display:flex;padding:0;position:relative}.usa-input-group--error input:focus,.usa-input-group--success input:focus{outline-offset:.25rem}.usa-input-group--error{border-width:0.25rem;border-color:#b50909;border-style:solid}.usa-input-group--success{border-width:0.25rem;border-color:#00a91c;border-style:solid}.usa-input-group input{padding-right:2.5rem;border:0;height:100%;margin-top:0;min-width:0;width:100%}.usa-input-group input:disabled+.usa-input-suffix,.usa-input-group input[aria-disabled=true]+.usa-input-suffix{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-input-group input:disabled+.usa-input-suffix:hover,.usa-input-group input:disabled+.usa-input-suffix:active,.usa-input-group input:disabled+.usa-input-suffix:focus,.usa-input-group input:disabled+.usa-input-suffix.usa-focus,.usa-input-group input[aria-disabled=true]+.usa-input-suffix:hover,.usa-input-group input[aria-disabled=true]+.usa-input-suffix:active,.usa-input-group input[aria-disabled=true]+.usa-input-suffix:focus,.usa-input-group input[aria-disabled=true]+.usa-input-suffix.usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-input-group input:disabled+.usa-input-suffix,.usa-input-group input[aria-disabled=true]+.usa-input-suffix{border:0;color:GrayText}.usa-input-group input:disabled+.usa-input-suffix:hover,.usa-input-group input:disabled+.usa-input-suffix:active,.usa-input-group input:disabled+.usa-input-suffix:focus,.usa-input-group input:disabled+.usa-input-suffix.usa-focus,.usa-input-group input[aria-disabled=true]+.usa-input-suffix:hover,.usa-input-group input[aria-disabled=true]+.usa-input-suffix:active,.usa-input-group input[aria-disabled=true]+.usa-input-suffix:focus,.usa-input-group input[aria-disabled=true]+.usa-input-suffix.usa-focus{color:GrayText}}@media(forced-colors: active){.usa-input-group input:disabled,.usa-input-group input[aria-disabled=true]{border:0}}@media(forced-colors: active){.usa-input-group:has(input:disabled),.usa-input-group:has(input[aria-disabled=true]){border:2px solid GrayText}}.usa-input-prefix:has(+input:disabled),.usa-input-prefix:has(+input[aria-disabled=true]){color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-input-prefix:has(+input:disabled):hover,.usa-input-prefix:has(+input:disabled):active,.usa-input-prefix:has(+input:disabled):focus,.usa-input-prefix:has(+input:disabled).usa-focus,.usa-input-prefix:has(+input[aria-disabled=true]):hover,.usa-input-prefix:has(+input[aria-disabled=true]):active,.usa-input-prefix:has(+input[aria-disabled=true]):focus,.usa-input-prefix:has(+input[aria-disabled=true]).usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-input-prefix:has(+input:disabled),.usa-input-prefix:has(+input[aria-disabled=true]){border:0;color:GrayText}.usa-input-prefix:has(+input:disabled):hover,.usa-input-prefix:has(+input:disabled):active,.usa-input-prefix:has(+input:disabled):focus,.usa-input-prefix:has(+input:disabled).usa-focus,.usa-input-prefix:has(+input[aria-disabled=true]):hover,.usa-input-prefix:has(+input[aria-disabled=true]):active,.usa-input-prefix:has(+input[aria-disabled=true]):focus,.usa-input-prefix:has(+input[aria-disabled=true]).usa-focus{color:GrayText}}.usa-input-prefix,.usa-input-suffix{position:absolute;color:#71767a;line-height:0;padding:0 .5rem;user-select:none;white-space:nowrap}.usa-input-prefix .usa-icon,.usa-input-suffix .usa-icon{height:1.5rem;width:1.5rem}.usa-input-prefix+input{padding-left:2.5rem;padding-right:.5rem}.usa-input-suffix{right:0}.usa-input-mask{display:block;position:relative}.usa-input-mask--content{border:1px solid rgba(0,0,0,0);color:#757575;display:block;left:2px;pointer-events:none;position:absolute;top:0}.usa-input-mask--content i{visibility:hidden}@media(forced-colors: active){.usa-input-mask--content i{color:ButtonText;font-style:normal;visibility:visible}}@media(forced-colors: active){.usa-input-mask--content{border:none}}.usa-masked,.usa-input-mask--content{background-color:rgba(0,0,0,0);padding:.5rem}.usa-label{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.3;display:block;font-weight:normal;margin-top:1.5rem;max-width:30rem}.usa-label--error{font-weight:700;margin-top:0}.usa-label--required{color:#b50909}.usa-memorable-date{display:flex;flex-wrap:wrap}.usa-memorable-date [type=number]{-moz-appearance:textfield}.usa-memorable-date [type=number]::-webkit-inner-spin-button{appearance:none}.usa-memorable-date [type=number]::-webkit-contacts-auto-fill-button{visibility:hidden;display:none !important;pointer-events:none;height:0;width:0;margin:0}.usa-memorable-date .usa-form-group{margin-top:1rem}.usa-form-group--day,.usa-form-group--month,.usa-form-group--year{flex:0 1 auto;margin-right:1rem;width:fit-content}.usa-form-group--day input,.usa-form-group--month input{width:3rem}.usa-form-group--month select{width:15rem}.usa-form-group--year input{width:4.5rem}.usa-radio{background:#fff}.usa-radio__label{color:#1b1b1b}.usa-radio__label::before{background:#fff;box-shadow:0 0 0 2px #1b1b1b}@media(forced-colors: active){.usa-radio__label::before{outline:2px solid rgba(0,0,0,0);outline-offset:2px}}.usa-radio__input:checked+[class*=__label]::before{background-color:#005ea2;box-shadow:0 0 0 2px #005ea2}.usa-radio__input:disabled+[class*=__label],.usa-radio__input[aria-disabled=true]+[class*=__label]{color:#757575;cursor:not-allowed}@media(forced-colors: active){.usa-radio__input:disabled+[class*=__label],.usa-radio__input[aria-disabled=true]+[class*=__label]{color:GrayText}}.usa-radio__input:disabled+[class*=__label]::before,.usa-radio__input[aria-disabled=true]+[class*=__label]::before{background-color:#fff;box-shadow:0 0 0 2px #757575}.usa-radio__input--tile+[class*=__label]{background-color:#fff;border:2px solid #c9c9c9;color:#1b1b1b}.usa-radio__input--tile:checked+[class*=__label]{background-color:rgba(0,94,162,.1);border-color:#005ea2}@media(forced-colors: active){.usa-radio__input--tile:checked+[class*=__label]{border:ButtonText solid .25rem}}.usa-radio__input--tile:disabled+[class*=__label],.usa-radio__input--tile[aria-disabled=true]+[class*=__label]{border-color:#e6e6e6}.usa-radio__input--tile:disabled:checked+[class*=__label],.usa-radio__input--tile:disabled:indeterminate+[class*=__label],.usa-radio__input--tile:disabled[data-indeterminate]+[class*=__label],.usa-radio__input--tile[aria-disabled=true]:checked+[class*=__label],.usa-radio__input--tile[aria-disabled=true]:indeterminate+[class*=__label],.usa-radio__input--tile[aria-disabled=true][data-indeterminate]+[class*=__label]{background-color:#fff}.usa-radio__input:checked+[class*=__label]::before{box-shadow:0 0 0 2px #005ea2,inset 0 0 0 2px #fff}@media(forced-colors: active){.usa-radio__input:checked+[class*=__label]::before{background-color:ButtonText}}.usa-radio__input:checked:disabled+[class*=__label]::before,.usa-radio__input:checked[aria-disabled=true]+[class*=__label]::before{background-color:#757575;box-shadow:0 0 0 2px #757575,inset 0 0 0 2px #fff}@media(forced-colors: active){.usa-radio__input:checked:disabled+[class*=__label]::before,.usa-radio__input:checked[aria-disabled=true]+[class*=__label]::before{background-color:GrayText}}.usa-radio__input{position:absolute;left:-999em;right:auto}.usa-radio__input:focus+[class*=__label]::before{outline:.25rem solid #2491ff;outline-offset:.25rem}.usa-radio__input--tile+[class*=__label]{border-radius:.25rem;margin-top:.5rem;padding:.75rem 1rem .75rem 2.5rem}.usa-radio__input--tile+[class*=__label]::before{left:.5rem}@media print{.usa-radio__input:checked+[class*=__label]::before{box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 1rem #005ea2,0 0 0 2px #005ea2}}.usa-radio__label{cursor:pointer;display:inherit;font-weight:normal;margin-top:.75rem;padding-left:2rem;position:relative}.usa-radio__label::before{content:\" \";display:block;left:0;margin-left:2px;margin-top:.064rem;position:absolute}.usa-radio__label::before{height:1.25rem;border-radius:99rem;width:1.25rem}.usa-radio__label-description{display:block;font-size:.93rem;margin-top:.5rem}.usa-range{appearance:none;border:none;padding-left:1px;width:100%}.usa-range:focus{outline:none}.usa-range:focus::-webkit-slider-thumb{background-color:#fff;box-shadow:0 0 0 2px #2491ff}.usa-range:focus::-moz-range-thumb{background-color:#fff;box-shadow:0 0 0 2px #2491ff}.usa-range:focus::-ms-thumb{background-color:#fff;box-shadow:0 0 0 2px #2491ff}.usa-range::-webkit-slider-runnable-track{background-color:#f0f0f0;border-radius:99rem;border:1px solid #71767a;cursor:pointer;height:1rem;width:100%}.usa-range::-moz-range-track{background-color:#f0f0f0;border-radius:99rem;border:1px solid #71767a;cursor:pointer;height:1rem;width:100%}.usa-range::-ms-track{background-color:#f0f0f0;border-radius:99rem;border:1px solid #71767a;cursor:pointer;height:1rem;width:100%}.usa-range::-webkit-slider-thumb{height:1.25rem;border-radius:99rem;width:1.25rem;background:#f0f0f0;border:none;box-shadow:0 0 0 2px #71767a;cursor:pointer;appearance:none;margin-top:-0.19rem}@media(forced-colors: active){.usa-range::-webkit-slider-thumb{outline:2px solid rgba(0,0,0,0)}}.usa-range::-moz-range-thumb{height:1.25rem;border-radius:99rem;width:1.25rem;background:#f0f0f0;border:none;box-shadow:0 0 0 2px #71767a;cursor:pointer}@media(forced-colors: active){.usa-range::-moz-range-thumb{outline:2px solid rgba(0,0,0,0)}}.usa-range::-ms-thumb{height:1.25rem;border-radius:99rem;width:1.25rem;background:#f0f0f0;border:none;box-shadow:0 0 0 2px #71767a;cursor:pointer}@media(forced-colors: active){.usa-range::-ms-thumb{outline:2px solid rgba(0,0,0,0)}}.usa-range::-ms-fill-lower{background-color:#f0f0f0;border-radius:99rem;border:1px solid #71767a}.usa-range::-ms-fill-upper{background-color:#f0f0f0;border-radius:99rem;border:1px solid #71767a}.usa-range:disabled,.usa-range[aria-disabled=true]{opacity:1}.usa-range:disabled::-webkit-slider-runnable-track,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-webkit-slider-runnable-track:hover,.usa-range:disabled::-webkit-slider-runnable-track:active,.usa-range:disabled::-webkit-slider-runnable-track:focus,.usa-range:disabled::-webkit-slider-runnable-track.usa-focus,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track:hover,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track:active,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track:focus,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track.usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-range:disabled::-webkit-slider-runnable-track,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track{border:0;color:GrayText}.usa-range:disabled::-webkit-slider-runnable-track:hover,.usa-range:disabled::-webkit-slider-runnable-track:active,.usa-range:disabled::-webkit-slider-runnable-track:focus,.usa-range:disabled::-webkit-slider-runnable-track.usa-focus,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track:hover,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track:active,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track:focus,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track.usa-focus{color:GrayText}}@media(forced-colors: active){.usa-range:disabled::-webkit-slider-runnable-track,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track{border:2px solid GrayText}}.usa-range:disabled::-moz-range-track,.usa-range[aria-disabled=true]::-moz-range-track{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-moz-range-track:hover,.usa-range:disabled::-moz-range-track:active,.usa-range:disabled::-moz-range-track:focus,.usa-range:disabled::-moz-range-track.usa-focus,.usa-range[aria-disabled=true]::-moz-range-track:hover,.usa-range[aria-disabled=true]::-moz-range-track:active,.usa-range[aria-disabled=true]::-moz-range-track:focus,.usa-range[aria-disabled=true]::-moz-range-track.usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-range:disabled::-moz-range-track,.usa-range[aria-disabled=true]::-moz-range-track{border:0;color:GrayText}.usa-range:disabled::-moz-range-track:hover,.usa-range:disabled::-moz-range-track:active,.usa-range:disabled::-moz-range-track:focus,.usa-range:disabled::-moz-range-track.usa-focus,.usa-range[aria-disabled=true]::-moz-range-track:hover,.usa-range[aria-disabled=true]::-moz-range-track:active,.usa-range[aria-disabled=true]::-moz-range-track:focus,.usa-range[aria-disabled=true]::-moz-range-track.usa-focus{color:GrayText}}@media(forced-colors: active){.usa-range:disabled::-moz-range-track,.usa-range[aria-disabled=true]::-moz-range-track{border:2px solid GrayText}}.usa-range:disabled::-ms-track,.usa-range[aria-disabled=true]::-ms-track{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-ms-track:hover,.usa-range:disabled::-ms-track:active,.usa-range:disabled::-ms-track:focus,.usa-range:disabled::-ms-track.usa-focus,.usa-range[aria-disabled=true]::-ms-track:hover,.usa-range[aria-disabled=true]::-ms-track:active,.usa-range[aria-disabled=true]::-ms-track:focus,.usa-range[aria-disabled=true]::-ms-track.usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-range:disabled::-ms-track,.usa-range[aria-disabled=true]::-ms-track{border:0;color:GrayText}.usa-range:disabled::-ms-track:hover,.usa-range:disabled::-ms-track:active,.usa-range:disabled::-ms-track:focus,.usa-range:disabled::-ms-track.usa-focus,.usa-range[aria-disabled=true]::-ms-track:hover,.usa-range[aria-disabled=true]::-ms-track:active,.usa-range[aria-disabled=true]::-ms-track:focus,.usa-range[aria-disabled=true]::-ms-track.usa-focus{color:GrayText}}.usa-range:disabled::-webkit-slider-thumb,.usa-range[aria-disabled=true]::-webkit-slider-thumb{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-webkit-slider-thumb:hover,.usa-range:disabled::-webkit-slider-thumb:active,.usa-range:disabled::-webkit-slider-thumb:focus,.usa-range:disabled::-webkit-slider-thumb.usa-focus,.usa-range[aria-disabled=true]::-webkit-slider-thumb:hover,.usa-range[aria-disabled=true]::-webkit-slider-thumb:active,.usa-range[aria-disabled=true]::-webkit-slider-thumb:focus,.usa-range[aria-disabled=true]::-webkit-slider-thumb.usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-range:disabled::-webkit-slider-thumb,.usa-range[aria-disabled=true]::-webkit-slider-thumb{border:0;color:GrayText}.usa-range:disabled::-webkit-slider-thumb:hover,.usa-range:disabled::-webkit-slider-thumb:active,.usa-range:disabled::-webkit-slider-thumb:focus,.usa-range:disabled::-webkit-slider-thumb.usa-focus,.usa-range[aria-disabled=true]::-webkit-slider-thumb:hover,.usa-range[aria-disabled=true]::-webkit-slider-thumb:active,.usa-range[aria-disabled=true]::-webkit-slider-thumb:focus,.usa-range[aria-disabled=true]::-webkit-slider-thumb.usa-focus{color:GrayText}}.usa-range:disabled::-moz-range-thumb,.usa-range[aria-disabled=true]::-moz-range-thumb{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-moz-range-thumb:hover,.usa-range:disabled::-moz-range-thumb:active,.usa-range:disabled::-moz-range-thumb:focus,.usa-range:disabled::-moz-range-thumb.usa-focus,.usa-range[aria-disabled=true]::-moz-range-thumb:hover,.usa-range[aria-disabled=true]::-moz-range-thumb:active,.usa-range[aria-disabled=true]::-moz-range-thumb:focus,.usa-range[aria-disabled=true]::-moz-range-thumb.usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-range:disabled::-moz-range-thumb,.usa-range[aria-disabled=true]::-moz-range-thumb{border:0;color:GrayText}.usa-range:disabled::-moz-range-thumb:hover,.usa-range:disabled::-moz-range-thumb:active,.usa-range:disabled::-moz-range-thumb:focus,.usa-range:disabled::-moz-range-thumb.usa-focus,.usa-range[aria-disabled=true]::-moz-range-thumb:hover,.usa-range[aria-disabled=true]::-moz-range-thumb:active,.usa-range[aria-disabled=true]::-moz-range-thumb:focus,.usa-range[aria-disabled=true]::-moz-range-thumb.usa-focus{color:GrayText}}.usa-range:disabled::-ms-thumb,.usa-range[aria-disabled=true]::-ms-thumb{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-ms-thumb:hover,.usa-range:disabled::-ms-thumb:active,.usa-range:disabled::-ms-thumb:focus,.usa-range:disabled::-ms-thumb.usa-focus,.usa-range[aria-disabled=true]::-ms-thumb:hover,.usa-range[aria-disabled=true]::-ms-thumb:active,.usa-range[aria-disabled=true]::-ms-thumb:focus,.usa-range[aria-disabled=true]::-ms-thumb.usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-range:disabled::-ms-thumb,.usa-range[aria-disabled=true]::-ms-thumb{border:0;color:GrayText}.usa-range:disabled::-ms-thumb:hover,.usa-range:disabled::-ms-thumb:active,.usa-range:disabled::-ms-thumb:focus,.usa-range:disabled::-ms-thumb.usa-focus,.usa-range[aria-disabled=true]::-ms-thumb:hover,.usa-range[aria-disabled=true]::-ms-thumb:active,.usa-range[aria-disabled=true]::-ms-thumb:focus,.usa-range[aria-disabled=true]::-ms-thumb.usa-focus{color:GrayText}}.usa-range:disabled::-ms-fill-lower,.usa-range[aria-disabled=true]::-ms-fill-lower{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-ms-fill-lower:hover,.usa-range:disabled::-ms-fill-lower:active,.usa-range:disabled::-ms-fill-lower:focus,.usa-range:disabled::-ms-fill-lower.usa-focus,.usa-range[aria-disabled=true]::-ms-fill-lower:hover,.usa-range[aria-disabled=true]::-ms-fill-lower:active,.usa-range[aria-disabled=true]::-ms-fill-lower:focus,.usa-range[aria-disabled=true]::-ms-fill-lower.usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-range:disabled::-ms-fill-lower,.usa-range[aria-disabled=true]::-ms-fill-lower{border:0;color:GrayText}.usa-range:disabled::-ms-fill-lower:hover,.usa-range:disabled::-ms-fill-lower:active,.usa-range:disabled::-ms-fill-lower:focus,.usa-range:disabled::-ms-fill-lower.usa-focus,.usa-range[aria-disabled=true]::-ms-fill-lower:hover,.usa-range[aria-disabled=true]::-ms-fill-lower:active,.usa-range[aria-disabled=true]::-ms-fill-lower:focus,.usa-range[aria-disabled=true]::-ms-fill-lower.usa-focus{color:GrayText}}.usa-range:disabled::-ms-fill-upper,.usa-range[aria-disabled=true]::-ms-fill-upper{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-ms-fill-upper:hover,.usa-range:disabled::-ms-fill-upper:active,.usa-range:disabled::-ms-fill-upper:focus,.usa-range:disabled::-ms-fill-upper.usa-focus,.usa-range[aria-disabled=true]::-ms-fill-upper:hover,.usa-range[aria-disabled=true]::-ms-fill-upper:active,.usa-range[aria-disabled=true]::-ms-fill-upper:focus,.usa-range[aria-disabled=true]::-ms-fill-upper.usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-range:disabled::-ms-fill-upper,.usa-range[aria-disabled=true]::-ms-fill-upper{border:0;color:GrayText}.usa-range:disabled::-ms-fill-upper:hover,.usa-range:disabled::-ms-fill-upper:active,.usa-range:disabled::-ms-fill-upper:focus,.usa-range:disabled::-ms-fill-upper.usa-focus,.usa-range[aria-disabled=true]::-ms-fill-upper:hover,.usa-range[aria-disabled=true]::-ms-fill-upper:active,.usa-range[aria-disabled=true]::-ms-fill-upper:focus,.usa-range[aria-disabled=true]::-ms-fill-upper.usa-focus{color:GrayText}}.usa-textarea:disabled,.usa-textarea[aria-disabled=true]{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-textarea:disabled:hover,.usa-textarea:disabled:active,.usa-textarea:disabled:focus,.usa-textarea:disabled.usa-focus,.usa-textarea[aria-disabled=true]:hover,.usa-textarea[aria-disabled=true]:active,.usa-textarea[aria-disabled=true]:focus,.usa-textarea[aria-disabled=true].usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-textarea:disabled,.usa-textarea[aria-disabled=true]{border:0;color:GrayText}.usa-textarea:disabled:hover,.usa-textarea:disabled:active,.usa-textarea:disabled:focus,.usa-textarea:disabled.usa-focus,.usa-textarea[aria-disabled=true]:hover,.usa-textarea[aria-disabled=true]:active,.usa-textarea[aria-disabled=true]:focus,.usa-textarea[aria-disabled=true].usa-focus{color:GrayText}}@media(forced-colors: active){.usa-textarea:disabled,.usa-textarea[aria-disabled=true]{border:2px solid GrayText}}.usa-textarea{height:10rem}.usa-time-picker{width:10em}[class*=font-mono-]{font-family:Roboto Mono Web, Bitstream Vera Sans Mono, Consolas, Courier, monospace}[class*=font-sans-]{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif}[class*=font-serif-]{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif}[class*=font-ui-]{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif}[class*=font-heading-]{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif}[class*=font-body-]{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif}[class*=font-code-]{font-family:Roboto Mono Web, Bitstream Vera Sans Mono, Consolas, Courier, monospace}[class*=font-alt-]{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif}.add-aspect-9x16{box-sizing:border-box;height:0;overflow:hidden;padding-bottom:177.77778%;position:relative}@supports(aspect-ratio: 1){.add-aspect-9x16{height:inherit;padding:inherit;aspect-ratio:.5625;max-width:100%}.add-aspect-9x16>*{position:absolute;top:0;left:0;width:100%;height:100%}img.add-aspect-9x16,.add-aspect-9x16>img{object-fit:cover}}.add-aspect-16x9{box-sizing:border-box;height:0;overflow:hidden;padding-bottom:56.25%;position:relative}@supports(aspect-ratio: 1){.add-aspect-16x9{height:inherit;padding:inherit;aspect-ratio:1.7777777778;max-width:100%}.add-aspect-16x9>*{position:absolute;top:0;left:0;width:100%;height:100%}img.add-aspect-16x9,.add-aspect-16x9>img{object-fit:cover}}.add-aspect-1x1{box-sizing:border-box;height:0;overflow:hidden;padding-bottom:100%;position:relative}@supports(aspect-ratio: 1){.add-aspect-1x1{height:inherit;padding:inherit;aspect-ratio:1;max-width:100%}.add-aspect-1x1>*{position:absolute;top:0;left:0;width:100%;height:100%}img.add-aspect-1x1,.add-aspect-1x1>img{object-fit:cover}}.add-aspect-4x3{box-sizing:border-box;height:0;overflow:hidden;padding-bottom:75%;position:relative}@supports(aspect-ratio: 1){.add-aspect-4x3{height:inherit;padding:inherit;aspect-ratio:1.3333333333;max-width:100%}.add-aspect-4x3>*{position:absolute;top:0;left:0;width:100%;height:100%}img.add-aspect-4x3,.add-aspect-4x3>img{object-fit:cover}}.add-aspect-2x1{box-sizing:border-box;height:0;overflow:hidden;padding-bottom:50%;position:relative}@supports(aspect-ratio: 1){.add-aspect-2x1{height:inherit;padding:inherit;aspect-ratio:2;max-width:100%}.add-aspect-2x1>*{position:absolute;top:0;left:0;width:100%;height:100%}img.add-aspect-2x1,.add-aspect-2x1>img{object-fit:cover}}@supports(aspect-ratio: 1){:where(img[class*=add-aspect-]){width:min-content}}.add-list-reset{margin-bottom:0;margin-top:0;padding-left:0;list-style:none}.flex-align-start{align-items:flex-start}.flex-align-end{align-items:flex-end}.flex-align-center{align-items:center}.flex-align-stretch{align-items:stretch}.flex-align-baseline{align-items:baseline}.flex-align-self-start{align-self:flex-start}.flex-align-self-end{align-self:flex-end}.flex-align-self-center{align-self:center}.flex-align-self-stretch{align-self:stretch}.flex-align-self-baseline{align-self:baseline}.bg-transparent{background-color:transparent}.hover\\:bg-transparent:hover{background-color:transparent}.bg-black{background-color:black}.hover\\:bg-black:hover{background-color:black}.bg-white{background-color:white}.hover\\:bg-white:hover{background-color:white}.bg-red{background-color:#e52207}.hover\\:bg-red:hover{background-color:#e52207}.bg-orange{background-color:#e66f0e}.hover\\:bg-orange:hover{background-color:#e66f0e}.bg-gold{background-color:#ffbe2e}.hover\\:bg-gold:hover{background-color:#ffbe2e}.bg-yellow{background-color:#fee685}.hover\\:bg-yellow:hover{background-color:#fee685}.bg-green{background-color:#538200}.hover\\:bg-green:hover{background-color:#538200}.bg-mint{background-color:#04c585}.hover\\:bg-mint:hover{background-color:#04c585}.bg-cyan{background-color:#009ec1}.hover\\:bg-cyan:hover{background-color:#009ec1}.bg-blue{background-color:#0076d6}.hover\\:bg-blue:hover{background-color:#0076d6}.bg-indigo{background-color:#676cc8}.hover\\:bg-indigo:hover{background-color:#676cc8}.bg-violet{background-color:#8168b3}.hover\\:bg-violet:hover{background-color:#8168b3}.bg-magenta{background-color:#d72d79}.hover\\:bg-magenta:hover{background-color:#d72d79}.bg-gray-5{background-color:#f0f0f0}.hover\\:bg-gray-5:hover{background-color:#f0f0f0}.bg-gray-10{background-color:#e6e6e6}.hover\\:bg-gray-10:hover{background-color:#e6e6e6}.bg-gray-30{background-color:#adadad}.hover\\:bg-gray-30:hover{background-color:#adadad}.bg-gray-50{background-color:#757575}.hover\\:bg-gray-50:hover{background-color:#757575}.bg-gray-70{background-color:#454545}.hover\\:bg-gray-70:hover{background-color:#454545}.bg-gray-90{background-color:#1b1b1b}.hover\\:bg-gray-90:hover{background-color:#1b1b1b}.bg-base-lightest{background-color:#f0f0f0}.hover\\:bg-base-lightest:hover{background-color:#f0f0f0}.bg-base-lighter{background-color:#dfe1e2}.hover\\:bg-base-lighter:hover{background-color:#dfe1e2}.bg-base-light{background-color:#a9aeb1}.hover\\:bg-base-light:hover{background-color:#a9aeb1}.bg-base{background-color:#71767a}.hover\\:bg-base:hover{background-color:#71767a}.bg-base-dark{background-color:#565c65}.hover\\:bg-base-dark:hover{background-color:#565c65}.bg-base-darker{background-color:#3d4551}.hover\\:bg-base-darker:hover{background-color:#3d4551}.bg-base-darkest{background-color:#1b1b1b}.hover\\:bg-base-darkest:hover{background-color:#1b1b1b}.bg-ink{background-color:#1b1b1b}.hover\\:bg-ink:hover{background-color:#1b1b1b}.bg-primary-lighter{background-color:#d9e8f6}.hover\\:bg-primary-lighter:hover{background-color:#d9e8f6}.bg-primary-light{background-color:#73b3e7}.hover\\:bg-primary-light:hover{background-color:#73b3e7}.bg-primary{background-color:#005ea2}.hover\\:bg-primary:hover{background-color:#005ea2}.bg-primary-vivid{background-color:#0050d8}.hover\\:bg-primary-vivid:hover{background-color:#0050d8}.bg-primary-dark{background-color:#1a4480}.hover\\:bg-primary-dark:hover{background-color:#1a4480}.bg-primary-darker{background-color:#162e51}.hover\\:bg-primary-darker:hover{background-color:#162e51}.bg-secondary-lighter{background-color:#f3e1e4}.hover\\:bg-secondary-lighter:hover{background-color:#f3e1e4}.bg-secondary-light{background-color:#f2938c}.hover\\:bg-secondary-light:hover{background-color:#f2938c}.bg-secondary{background-color:#d83933}.hover\\:bg-secondary:hover{background-color:#d83933}.bg-secondary-vivid{background-color:#e41d3d}.hover\\:bg-secondary-vivid:hover{background-color:#e41d3d}.bg-secondary-dark{background-color:#b50909}.hover\\:bg-secondary-dark:hover{background-color:#b50909}.bg-secondary-darker{background-color:#8b0a03}.hover\\:bg-secondary-darker:hover{background-color:#8b0a03}.bg-accent-warm-darker{background-color:#775540}.hover\\:bg-accent-warm-darker:hover{background-color:#775540}.bg-accent-warm-dark{background-color:#c05600}.hover\\:bg-accent-warm-dark:hover{background-color:#c05600}.bg-accent-warm{background-color:#fa9441}.hover\\:bg-accent-warm:hover{background-color:#fa9441}.bg-accent-warm-light{background-color:#ffbc78}.hover\\:bg-accent-warm-light:hover{background-color:#ffbc78}.bg-accent-warm-lighter{background-color:#f2e4d4}.hover\\:bg-accent-warm-lighter:hover{background-color:#f2e4d4}.bg-accent-cool-darker{background-color:#07648d}.hover\\:bg-accent-cool-darker:hover{background-color:#07648d}.bg-accent-cool-dark{background-color:#28a0cb}.hover\\:bg-accent-cool-dark:hover{background-color:#28a0cb}.bg-accent-cool{background-color:#00bde3}.hover\\:bg-accent-cool:hover{background-color:#00bde3}.bg-accent-cool-light{background-color:#97d4ea}.hover\\:bg-accent-cool-light:hover{background-color:#97d4ea}.bg-accent-cool-lighter{background-color:#e1f3f8}.hover\\:bg-accent-cool-lighter:hover{background-color:#e1f3f8}.bg-error-lighter{background-color:#f4e3db}.hover\\:bg-error-lighter:hover{background-color:#f4e3db}.bg-error-light{background-color:#f39268}.hover\\:bg-error-light:hover{background-color:#f39268}.bg-error{background-color:#d54309}.hover\\:bg-error:hover{background-color:#d54309}.bg-error-dark{background-color:#b50909}.hover\\:bg-error-dark:hover{background-color:#b50909}.bg-error-darker{background-color:#6f3331}.hover\\:bg-error-darker:hover{background-color:#6f3331}.bg-warning-lighter{background-color:#faf3d1}.hover\\:bg-warning-lighter:hover{background-color:#faf3d1}.bg-warning-light{background-color:#fee685}.hover\\:bg-warning-light:hover{background-color:#fee685}.bg-warning{background-color:#ffbe2e}.hover\\:bg-warning:hover{background-color:#ffbe2e}.bg-warning-dark{background-color:#e5a000}.hover\\:bg-warning-dark:hover{background-color:#e5a000}.bg-warning-darker{background-color:#936f38}.hover\\:bg-warning-darker:hover{background-color:#936f38}.bg-success-lighter{background-color:#ecf3ec}.hover\\:bg-success-lighter:hover{background-color:#ecf3ec}.bg-success-light{background-color:#70e17b}.hover\\:bg-success-light:hover{background-color:#70e17b}.bg-success{background-color:#00a91c}.hover\\:bg-success:hover{background-color:#00a91c}.bg-success-dark{background-color:#008817}.hover\\:bg-success-dark:hover{background-color:#008817}.bg-success-darker{background-color:#216e1f}.hover\\:bg-success-darker:hover{background-color:#216e1f}.bg-info-lighter{background-color:#e7f6f8}.hover\\:bg-info-lighter:hover{background-color:#e7f6f8}.bg-info-light{background-color:#99deea}.hover\\:bg-info-light:hover{background-color:#99deea}.bg-info{background-color:#00bde3}.hover\\:bg-info:hover{background-color:#00bde3}.bg-info-dark{background-color:#009ec1}.hover\\:bg-info-dark:hover{background-color:#009ec1}.bg-info-darker{background-color:#2e6276}.hover\\:bg-info-darker:hover{background-color:#2e6276}.bg-disabled-lighter{background-color:#c9c9c9}.hover\\:bg-disabled-lighter:hover{background-color:#c9c9c9}.bg-disabled-light{background-color:#919191}.hover\\:bg-disabled-light:hover{background-color:#919191}.bg-disabled{background-color:#757575}.hover\\:bg-disabled:hover{background-color:#757575}.bg-disabled-dark{background-color:#454545}.hover\\:bg-disabled-dark:hover{background-color:#454545}.bg-disabled-darker{background-color:#1b1b1b}.hover\\:bg-disabled-darker:hover{background-color:#1b1b1b}.bg-emergency{background-color:#9c3d10}.hover\\:bg-emergency:hover{background-color:#9c3d10}.bg-emergency-dark{background-color:#332d29}.hover\\:bg-emergency-dark:hover{background-color:#332d29}.border-1px{border:1px solid}.hover\\:border-1px:hover{border:1px solid}.border-y-1px{border-top:1px solid;border-bottom:1px solid}.hover\\:border-y-1px:hover{border-top:1px solid;border-bottom:1px solid}.border-x-1px{border-left:1px solid;border-right:1px solid}.hover\\:border-x-1px:hover{border-left:1px solid;border-right:1px solid}.border-top-1px{border-top:1px solid}.hover\\:border-top-1px:hover{border-top:1px solid}.border-right-1px{border-right:1px solid}.hover\\:border-right-1px:hover{border-right:1px solid}.border-bottom-1px{border-bottom:1px solid}.hover\\:border-bottom-1px:hover{border-bottom:1px solid}.border-left-1px{border-left:1px solid}.hover\\:border-left-1px:hover{border-left:1px solid}.border-2px{border:2px solid}.hover\\:border-2px:hover{border:2px solid}.border-y-2px{border-top:2px solid;border-bottom:2px solid}.hover\\:border-y-2px:hover{border-top:2px solid;border-bottom:2px solid}.border-x-2px{border-left:2px solid;border-right:2px solid}.hover\\:border-x-2px:hover{border-left:2px solid;border-right:2px solid}.border-top-2px{border-top:2px solid}.hover\\:border-top-2px:hover{border-top:2px solid}.border-right-2px{border-right:2px solid}.hover\\:border-right-2px:hover{border-right:2px solid}.border-bottom-2px{border-bottom:2px solid}.hover\\:border-bottom-2px:hover{border-bottom:2px solid}.border-left-2px{border-left:2px solid}.hover\\:border-left-2px:hover{border-left:2px solid}.border-05{border:0.25rem solid}.hover\\:border-05:hover{border:0.25rem solid}.border-y-05{border-top:0.25rem solid;border-bottom:0.25rem solid}.hover\\:border-y-05:hover{border-top:0.25rem solid;border-bottom:0.25rem solid}.border-x-05{border-left:0.25rem solid;border-right:0.25rem solid}.hover\\:border-x-05:hover{border-left:0.25rem solid;border-right:0.25rem solid}.border-top-05{border-top:0.25rem solid}.hover\\:border-top-05:hover{border-top:0.25rem solid}.border-right-05{border-right:0.25rem solid}.hover\\:border-right-05:hover{border-right:0.25rem solid}.border-bottom-05{border-bottom:0.25rem solid}.hover\\:border-bottom-05:hover{border-bottom:0.25rem solid}.border-left-05{border-left:0.25rem solid}.hover\\:border-left-05:hover{border-left:0.25rem solid}.border-1{border:0.5rem solid}.hover\\:border-1:hover{border:0.5rem solid}.border-y-1{border-top:0.5rem solid;border-bottom:0.5rem solid}.hover\\:border-y-1:hover{border-top:0.5rem solid;border-bottom:0.5rem solid}.border-x-1{border-left:0.5rem solid;border-right:0.5rem solid}.hover\\:border-x-1:hover{border-left:0.5rem solid;border-right:0.5rem solid}.border-top-1{border-top:0.5rem solid}.hover\\:border-top-1:hover{border-top:0.5rem solid}.border-right-1{border-right:0.5rem solid}.hover\\:border-right-1:hover{border-right:0.5rem solid}.border-bottom-1{border-bottom:0.5rem solid}.hover\\:border-bottom-1:hover{border-bottom:0.5rem solid}.border-left-1{border-left:0.5rem solid}.hover\\:border-left-1:hover{border-left:0.5rem solid}.border-105{border:0.75rem solid}.hover\\:border-105:hover{border:0.75rem solid}.border-y-105{border-top:0.75rem solid;border-bottom:0.75rem solid}.hover\\:border-y-105:hover{border-top:0.75rem solid;border-bottom:0.75rem solid}.border-x-105{border-left:0.75rem solid;border-right:0.75rem solid}.hover\\:border-x-105:hover{border-left:0.75rem solid;border-right:0.75rem solid}.border-top-105{border-top:0.75rem solid}.hover\\:border-top-105:hover{border-top:0.75rem solid}.border-right-105{border-right:0.75rem solid}.hover\\:border-right-105:hover{border-right:0.75rem solid}.border-bottom-105{border-bottom:0.75rem solid}.hover\\:border-bottom-105:hover{border-bottom:0.75rem solid}.border-left-105{border-left:0.75rem solid}.hover\\:border-left-105:hover{border-left:0.75rem solid}.border-2{border:1rem solid}.hover\\:border-2:hover{border:1rem solid}.border-y-2{border-top:1rem solid;border-bottom:1rem solid}.hover\\:border-y-2:hover{border-top:1rem solid;border-bottom:1rem solid}.border-x-2{border-left:1rem solid;border-right:1rem solid}.hover\\:border-x-2:hover{border-left:1rem solid;border-right:1rem solid}.border-top-2{border-top:1rem solid}.hover\\:border-top-2:hover{border-top:1rem solid}.border-right-2{border-right:1rem solid}.hover\\:border-right-2:hover{border-right:1rem solid}.border-bottom-2{border-bottom:1rem solid}.hover\\:border-bottom-2:hover{border-bottom:1rem solid}.border-left-2{border-left:1rem solid}.hover\\:border-left-2:hover{border-left:1rem solid}.border-205{border:1.25rem solid}.hover\\:border-205:hover{border:1.25rem solid}.border-y-205{border-top:1.25rem solid;border-bottom:1.25rem solid}.hover\\:border-y-205:hover{border-top:1.25rem solid;border-bottom:1.25rem solid}.border-x-205{border-left:1.25rem solid;border-right:1.25rem solid}.hover\\:border-x-205:hover{border-left:1.25rem solid;border-right:1.25rem solid}.border-top-205{border-top:1.25rem solid}.hover\\:border-top-205:hover{border-top:1.25rem solid}.border-right-205{border-right:1.25rem solid}.hover\\:border-right-205:hover{border-right:1.25rem solid}.border-bottom-205{border-bottom:1.25rem solid}.hover\\:border-bottom-205:hover{border-bottom:1.25rem solid}.border-left-205{border-left:1.25rem solid}.hover\\:border-left-205:hover{border-left:1.25rem solid}.border-3{border:1.5rem solid}.hover\\:border-3:hover{border:1.5rem solid}.border-y-3{border-top:1.5rem solid;border-bottom:1.5rem solid}.hover\\:border-y-3:hover{border-top:1.5rem solid;border-bottom:1.5rem solid}.border-x-3{border-left:1.5rem solid;border-right:1.5rem solid}.hover\\:border-x-3:hover{border-left:1.5rem solid;border-right:1.5rem solid}.border-top-3{border-top:1.5rem solid}.hover\\:border-top-3:hover{border-top:1.5rem solid}.border-right-3{border-right:1.5rem solid}.hover\\:border-right-3:hover{border-right:1.5rem solid}.border-bottom-3{border-bottom:1.5rem solid}.hover\\:border-bottom-3:hover{border-bottom:1.5rem solid}.border-left-3{border-left:1.5rem solid}.hover\\:border-left-3:hover{border-left:1.5rem solid}.border-0{border:0 solid}.hover\\:border-0:hover{border:0 solid}.border-y-0{border-top:0 solid;border-bottom:0 solid}.hover\\:border-y-0:hover{border-top:0 solid;border-bottom:0 solid}.border-x-0{border-left:0 solid;border-right:0 solid}.hover\\:border-x-0:hover{border-left:0 solid;border-right:0 solid}.border-top-0{border-top:0 solid}.hover\\:border-top-0:hover{border-top:0 solid}.border-right-0{border-right:0 solid}.hover\\:border-right-0:hover{border-right:0 solid}.border-bottom-0{border-bottom:0 solid}.hover\\:border-bottom-0:hover{border-bottom:0 solid}.border-left-0{border-left:0 solid}.hover\\:border-left-0:hover{border-left:0 solid}.border{border:1px solid}.hover\\:border:hover{border:1px solid}.border-y{border-top:1px solid;border-bottom:1px solid}.hover\\:border-y:hover{border-top:1px solid;border-bottom:1px solid}.border-x{border-left:1px solid;border-right:1px solid}.hover\\:border-x:hover{border-left:1px solid;border-right:1px solid}.border-top{border-top:1px solid}.hover\\:border-top:hover{border-top:1px solid}.border-right{border-right:1px solid}.hover\\:border-right:hover{border-right:1px solid}.border-bottom{border-bottom:1px solid}.hover\\:border-bottom:hover{border-bottom:1px solid}.border-left{border-left:1px solid}.hover\\:border-left:hover{border-left:1px solid}.border-transparent{border-color:transparent}.hover\\:border-transparent:hover{border-color:transparent}.border-black{border-color:black}.hover\\:border-black:hover{border-color:black}.border-white{border-color:white}.hover\\:border-white:hover{border-color:white}.border-red{border-color:#e52207}.hover\\:border-red:hover{border-color:#e52207}.border-orange{border-color:#e66f0e}.hover\\:border-orange:hover{border-color:#e66f0e}.border-gold{border-color:#ffbe2e}.hover\\:border-gold:hover{border-color:#ffbe2e}.border-yellow{border-color:#fee685}.hover\\:border-yellow:hover{border-color:#fee685}.border-green{border-color:#538200}.hover\\:border-green:hover{border-color:#538200}.border-mint{border-color:#04c585}.hover\\:border-mint:hover{border-color:#04c585}.border-cyan{border-color:#009ec1}.hover\\:border-cyan:hover{border-color:#009ec1}.border-blue{border-color:#0076d6}.hover\\:border-blue:hover{border-color:#0076d6}.border-indigo{border-color:#676cc8}.hover\\:border-indigo:hover{border-color:#676cc8}.border-violet{border-color:#8168b3}.hover\\:border-violet:hover{border-color:#8168b3}.border-magenta{border-color:#d72d79}.hover\\:border-magenta:hover{border-color:#d72d79}.border-gray-5{border-color:#f0f0f0}.hover\\:border-gray-5:hover{border-color:#f0f0f0}.border-gray-10{border-color:#e6e6e6}.hover\\:border-gray-10:hover{border-color:#e6e6e6}.border-gray-30{border-color:#adadad}.hover\\:border-gray-30:hover{border-color:#adadad}.border-gray-50{border-color:#757575}.hover\\:border-gray-50:hover{border-color:#757575}.border-gray-70{border-color:#454545}.hover\\:border-gray-70:hover{border-color:#454545}.border-gray-90{border-color:#1b1b1b}.hover\\:border-gray-90:hover{border-color:#1b1b1b}.border-base-lightest{border-color:#f0f0f0}.hover\\:border-base-lightest:hover{border-color:#f0f0f0}.border-base-lighter{border-color:#dfe1e2}.hover\\:border-base-lighter:hover{border-color:#dfe1e2}.border-base-light{border-color:#a9aeb1}.hover\\:border-base-light:hover{border-color:#a9aeb1}.border-base{border-color:#71767a}.hover\\:border-base:hover{border-color:#71767a}.border-base-dark{border-color:#565c65}.hover\\:border-base-dark:hover{border-color:#565c65}.border-base-darker{border-color:#3d4551}.hover\\:border-base-darker:hover{border-color:#3d4551}.border-base-darkest{border-color:#1b1b1b}.hover\\:border-base-darkest:hover{border-color:#1b1b1b}.border-ink{border-color:#1b1b1b}.hover\\:border-ink:hover{border-color:#1b1b1b}.border-primary-lighter{border-color:#d9e8f6}.hover\\:border-primary-lighter:hover{border-color:#d9e8f6}.border-primary-light{border-color:#73b3e7}.hover\\:border-primary-light:hover{border-color:#73b3e7}.border-primary{border-color:#005ea2}.hover\\:border-primary:hover{border-color:#005ea2}.border-primary-vivid{border-color:#0050d8}.hover\\:border-primary-vivid:hover{border-color:#0050d8}.border-primary-dark{border-color:#1a4480}.hover\\:border-primary-dark:hover{border-color:#1a4480}.border-primary-darker{border-color:#162e51}.hover\\:border-primary-darker:hover{border-color:#162e51}.border-secondary-lighter{border-color:#f3e1e4}.hover\\:border-secondary-lighter:hover{border-color:#f3e1e4}.border-secondary-light{border-color:#f2938c}.hover\\:border-secondary-light:hover{border-color:#f2938c}.border-secondary{border-color:#d83933}.hover\\:border-secondary:hover{border-color:#d83933}.border-secondary-vivid{border-color:#e41d3d}.hover\\:border-secondary-vivid:hover{border-color:#e41d3d}.border-secondary-dark{border-color:#b50909}.hover\\:border-secondary-dark:hover{border-color:#b50909}.border-secondary-darker{border-color:#8b0a03}.hover\\:border-secondary-darker:hover{border-color:#8b0a03}.border-accent-warm-darker{border-color:#775540}.hover\\:border-accent-warm-darker:hover{border-color:#775540}.border-accent-warm-dark{border-color:#c05600}.hover\\:border-accent-warm-dark:hover{border-color:#c05600}.border-accent-warm{border-color:#fa9441}.hover\\:border-accent-warm:hover{border-color:#fa9441}.border-accent-warm-light{border-color:#ffbc78}.hover\\:border-accent-warm-light:hover{border-color:#ffbc78}.border-accent-warm-lighter{border-color:#f2e4d4}.hover\\:border-accent-warm-lighter:hover{border-color:#f2e4d4}.border-accent-cool-darker{border-color:#07648d}.hover\\:border-accent-cool-darker:hover{border-color:#07648d}.border-accent-cool-dark{border-color:#28a0cb}.hover\\:border-accent-cool-dark:hover{border-color:#28a0cb}.border-accent-cool{border-color:#00bde3}.hover\\:border-accent-cool:hover{border-color:#00bde3}.border-accent-cool-light{border-color:#97d4ea}.hover\\:border-accent-cool-light:hover{border-color:#97d4ea}.border-accent-cool-lighter{border-color:#e1f3f8}.hover\\:border-accent-cool-lighter:hover{border-color:#e1f3f8}.border-error-lighter{border-color:#f4e3db}.hover\\:border-error-lighter:hover{border-color:#f4e3db}.border-error-light{border-color:#f39268}.hover\\:border-error-light:hover{border-color:#f39268}.border-error{border-color:#d54309}.hover\\:border-error:hover{border-color:#d54309}.border-error-dark{border-color:#b50909}.hover\\:border-error-dark:hover{border-color:#b50909}.border-error-darker{border-color:#6f3331}.hover\\:border-error-darker:hover{border-color:#6f3331}.border-warning-lighter{border-color:#faf3d1}.hover\\:border-warning-lighter:hover{border-color:#faf3d1}.border-warning-light{border-color:#fee685}.hover\\:border-warning-light:hover{border-color:#fee685}.border-warning{border-color:#ffbe2e}.hover\\:border-warning:hover{border-color:#ffbe2e}.border-warning-dark{border-color:#e5a000}.hover\\:border-warning-dark:hover{border-color:#e5a000}.border-warning-darker{border-color:#936f38}.hover\\:border-warning-darker:hover{border-color:#936f38}.border-success-lighter{border-color:#ecf3ec}.hover\\:border-success-lighter:hover{border-color:#ecf3ec}.border-success-light{border-color:#70e17b}.hover\\:border-success-light:hover{border-color:#70e17b}.border-success{border-color:#00a91c}.hover\\:border-success:hover{border-color:#00a91c}.border-success-dark{border-color:#008817}.hover\\:border-success-dark:hover{border-color:#008817}.border-success-darker{border-color:#216e1f}.hover\\:border-success-darker:hover{border-color:#216e1f}.border-info-lighter{border-color:#e7f6f8}.hover\\:border-info-lighter:hover{border-color:#e7f6f8}.border-info-light{border-color:#99deea}.hover\\:border-info-light:hover{border-color:#99deea}.border-info{border-color:#00bde3}.hover\\:border-info:hover{border-color:#00bde3}.border-info-dark{border-color:#009ec1}.hover\\:border-info-dark:hover{border-color:#009ec1}.border-info-darker{border-color:#2e6276}.hover\\:border-info-darker:hover{border-color:#2e6276}.border-disabled-lighter{border-color:#c9c9c9}.hover\\:border-disabled-lighter:hover{border-color:#c9c9c9}.border-disabled-light{border-color:#919191}.hover\\:border-disabled-light:hover{border-color:#919191}.border-disabled{border-color:#757575}.hover\\:border-disabled:hover{border-color:#757575}.border-disabled-dark{border-color:#454545}.hover\\:border-disabled-dark:hover{border-color:#454545}.border-disabled-darker{border-color:#1b1b1b}.hover\\:border-disabled-darker:hover{border-color:#1b1b1b}.border-emergency{border-color:#9c3d10}.hover\\:border-emergency:hover{border-color:#9c3d10}.border-emergency-dark{border-color:#332d29}.hover\\:border-emergency-dark:hover{border-color:#332d29}.radius-0{border-radius:0}.radius-top-0{border-top-left-radius:0;border-top-right-radius:0}.radius-right-0{border-top-right-radius:0;border-bottom-right-radius:0}.radius-bottom-0{border-bottom-left-radius:0;border-bottom-right-radius:0}.radius-left-0{border-top-left-radius:0;border-bottom-left-radius:0}.radius-sm{border-radius:2px}.radius-top-sm{border-top-left-radius:2px;border-top-right-radius:2px}.radius-right-sm{border-top-right-radius:2px;border-bottom-right-radius:2px}.radius-bottom-sm{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.radius-left-sm{border-top-left-radius:2px;border-bottom-left-radius:2px}.radius-md{border-radius:0.25rem}.radius-top-md{border-top-left-radius:0.25rem;border-top-right-radius:0.25rem}.radius-right-md{border-top-right-radius:0.25rem;border-bottom-right-radius:0.25rem}.radius-bottom-md{border-bottom-left-radius:0.25rem;border-bottom-right-radius:0.25rem}.radius-left-md{border-top-left-radius:0.25rem;border-bottom-left-radius:0.25rem}.radius-lg{border-radius:0.5rem}.radius-top-lg{border-top-left-radius:0.5rem;border-top-right-radius:0.5rem}.radius-right-lg{border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem}.radius-bottom-lg{border-bottom-left-radius:0.5rem;border-bottom-right-radius:0.5rem}.radius-left-lg{border-top-left-radius:0.5rem;border-bottom-left-radius:0.5rem}.radius-pill{border-radius:99rem}.radius-top-pill{border-top-left-radius:99rem;border-top-right-radius:99rem}.radius-right-pill{border-top-right-radius:99rem;border-bottom-right-radius:99rem}.radius-bottom-pill{border-bottom-left-radius:99rem;border-bottom-right-radius:99rem}.radius-left-pill{border-top-left-radius:99rem;border-bottom-left-radius:99rem}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-solid{border-style:solid}.border-width-1px{border-width:1px}.border-y-width-1px{border-top-width:1px;border-bottom-width:1px}.border-x-width-1px{border-left-width:1px;border-right-width:1px}.border-top-width-1px{border-top-width:1px}.border-right-width-1px{border-right-width:1px}.border-bottom-width-1px{border-bottom-width:1px}.border-left-width-1px{border-left-width:1px}.border-width-2px{border-width:2px}.border-y-width-2px{border-top-width:2px;border-bottom-width:2px}.border-x-width-2px{border-left-width:2px;border-right-width:2px}.border-top-width-2px{border-top-width:2px}.border-right-width-2px{border-right-width:2px}.border-bottom-width-2px{border-bottom-width:2px}.border-left-width-2px{border-left-width:2px}.border-width-05{border-width:0.25rem}.border-y-width-05{border-top-width:0.25rem;border-bottom-width:0.25rem}.border-x-width-05{border-left-width:0.25rem;border-right-width:0.25rem}.border-top-width-05{border-top-width:0.25rem}.border-right-width-05{border-right-width:0.25rem}.border-bottom-width-05{border-bottom-width:0.25rem}.border-left-width-05{border-left-width:0.25rem}.border-width-1{border-width:0.5rem}.border-y-width-1{border-top-width:0.5rem;border-bottom-width:0.5rem}.border-x-width-1{border-left-width:0.5rem;border-right-width:0.5rem}.border-top-width-1{border-top-width:0.5rem}.border-right-width-1{border-right-width:0.5rem}.border-bottom-width-1{border-bottom-width:0.5rem}.border-left-width-1{border-left-width:0.5rem}.border-width-105{border-width:0.75rem}.border-y-width-105{border-top-width:0.75rem;border-bottom-width:0.75rem}.border-x-width-105{border-left-width:0.75rem;border-right-width:0.75rem}.border-top-width-105{border-top-width:0.75rem}.border-right-width-105{border-right-width:0.75rem}.border-bottom-width-105{border-bottom-width:0.75rem}.border-left-width-105{border-left-width:0.75rem}.border-width-2{border-width:1rem}.border-y-width-2{border-top-width:1rem;border-bottom-width:1rem}.border-x-width-2{border-left-width:1rem;border-right-width:1rem}.border-top-width-2{border-top-width:1rem}.border-right-width-2{border-right-width:1rem}.border-bottom-width-2{border-bottom-width:1rem}.border-left-width-2{border-left-width:1rem}.border-width-205{border-width:1.25rem}.border-y-width-205{border-top-width:1.25rem;border-bottom-width:1.25rem}.border-x-width-205{border-left-width:1.25rem;border-right-width:1.25rem}.border-top-width-205{border-top-width:1.25rem}.border-right-width-205{border-right-width:1.25rem}.border-bottom-width-205{border-bottom-width:1.25rem}.border-left-width-205{border-left-width:1.25rem}.border-width-3{border-width:1.5rem}.border-y-width-3{border-top-width:1.5rem;border-bottom-width:1.5rem}.border-x-width-3{border-left-width:1.5rem;border-right-width:1.5rem}.border-top-width-3{border-top-width:1.5rem}.border-right-width-3{border-right-width:1.5rem}.border-bottom-width-3{border-bottom-width:1.5rem}.border-left-width-3{border-left-width:1.5rem}.border-width-0{border-width:0}.border-y-width-0{border-top-width:0;border-bottom-width:0}.border-x-width-0{border-left-width:0;border-right-width:0}.border-top-width-0{border-top-width:0}.border-right-width-0{border-right-width:0}.border-bottom-width-0{border-bottom-width:0}.border-left-width-0{border-left-width:0}.bottom-1px{bottom:1px}.bottom-2px{bottom:2px}.bottom-05{bottom:0.25rem}.bottom-1{bottom:0.5rem}.bottom-105{bottom:0.75rem}.bottom-2{bottom:1rem}.bottom-205{bottom:1.25rem}.bottom-3{bottom:1.5rem}.bottom-neg-1px{bottom:-1px}.bottom-neg-2px{bottom:-2px}.bottom-neg-05{bottom:-0.25rem}.bottom-neg-1{bottom:-0.5rem}.bottom-neg-105{bottom:-0.75rem}.bottom-neg-2{bottom:-1rem}.bottom-neg-205{bottom:-1.25rem}.bottom-neg-3{bottom:-1.5rem}.bottom-0{bottom:0}.bottom-auto{bottom:auto}.bottom-full{bottom:100%}.shadow-none{box-shadow:none}.hover\\:shadow-none:hover{box-shadow:none}.shadow-1{box-shadow:0 1px 0.25rem 0 rgba(0, 0, 0, 0.1)}.hover\\:shadow-1:hover{box-shadow:0 1px 0.25rem 0 rgba(0, 0, 0, 0.1)}.shadow-2{box-shadow:0 0.25rem 0.5rem 0 rgba(0, 0, 0, 0.1)}.hover\\:shadow-2:hover{box-shadow:0 0.25rem 0.5rem 0 rgba(0, 0, 0, 0.1)}.shadow-3{box-shadow:0 0.5rem 1rem 0 rgba(0, 0, 0, 0.1)}.hover\\:shadow-3:hover{box-shadow:0 0.5rem 1rem 0 rgba(0, 0, 0, 0.1)}.shadow-4{box-shadow:0 0.75rem 1.5rem 0 rgba(0, 0, 0, 0.1)}.hover\\:shadow-4:hover{box-shadow:0 0.75rem 1.5rem 0 rgba(0, 0, 0, 0.1)}.shadow-5{box-shadow:0 1rem 2rem 0 rgba(0, 0, 0, 0.1)}.hover\\:shadow-5:hover{box-shadow:0 1rem 2rem 0 rgba(0, 0, 0, 0.1)}.circle-1px{height:1px;width:1px;border-radius:50%}.circle-2px{height:2px;width:2px;border-radius:50%}.circle-05{height:0.25rem;width:0.25rem;border-radius:50%}.circle-1{height:0.5rem;width:0.5rem;border-radius:50%}.circle-105{height:0.75rem;width:0.75rem;border-radius:50%}.circle-2{height:1rem;width:1rem;border-radius:50%}.circle-205{height:1.25rem;width:1.25rem;border-radius:50%}.circle-3{height:1.5rem;width:1.5rem;border-radius:50%}.circle-4{height:2rem;width:2rem;border-radius:50%}.circle-5{height:2.5rem;width:2.5rem;border-radius:50%}.circle-6{height:3rem;width:3rem;border-radius:50%}.circle-7{height:3.5rem;width:3.5rem;border-radius:50%}.circle-8{height:4rem;width:4rem;border-radius:50%}.circle-9{height:4.5rem;width:4.5rem;border-radius:50%}.circle-10{height:5rem;width:5rem;border-radius:50%}.circle-15{height:7.5rem;width:7.5rem;border-radius:50%}.circle-card{height:10rem;width:10rem;border-radius:50%}.circle-card-lg{height:15rem;width:15rem;border-radius:50%}.circle-mobile{height:20rem;width:20rem;border-radius:50%}.clearfix::after{content:\"\";display:block;clear:both}.text-transparent{color:transparent}.hover\\:text-transparent:hover{color:transparent}.text-black{color:black}.hover\\:text-black:hover{color:black}.text-white{color:white}.hover\\:text-white:hover{color:white}.text-red{color:#e52207}.hover\\:text-red:hover{color:#e52207}.text-orange{color:#e66f0e}.hover\\:text-orange:hover{color:#e66f0e}.text-gold{color:#ffbe2e}.hover\\:text-gold:hover{color:#ffbe2e}.text-yellow{color:#fee685}.hover\\:text-yellow:hover{color:#fee685}.text-green{color:#538200}.hover\\:text-green:hover{color:#538200}.text-mint{color:#04c585}.hover\\:text-mint:hover{color:#04c585}.text-cyan{color:#009ec1}.hover\\:text-cyan:hover{color:#009ec1}.text-blue{color:#0076d6}.hover\\:text-blue:hover{color:#0076d6}.text-indigo{color:#676cc8}.hover\\:text-indigo:hover{color:#676cc8}.text-violet{color:#8168b3}.hover\\:text-violet:hover{color:#8168b3}.text-magenta{color:#d72d79}.hover\\:text-magenta:hover{color:#d72d79}.text-gray-5{color:#f0f0f0}.hover\\:text-gray-5:hover{color:#f0f0f0}.text-gray-10{color:#e6e6e6}.hover\\:text-gray-10:hover{color:#e6e6e6}.text-gray-30{color:#adadad}.hover\\:text-gray-30:hover{color:#adadad}.text-gray-50{color:#757575}.hover\\:text-gray-50:hover{color:#757575}.text-gray-70{color:#454545}.hover\\:text-gray-70:hover{color:#454545}.text-gray-90{color:#1b1b1b}.hover\\:text-gray-90:hover{color:#1b1b1b}.text-base-lightest{color:#f0f0f0}.hover\\:text-base-lightest:hover{color:#f0f0f0}.text-base-lighter{color:#dfe1e2}.hover\\:text-base-lighter:hover{color:#dfe1e2}.text-base-light{color:#a9aeb1}.hover\\:text-base-light:hover{color:#a9aeb1}.text-base{color:#71767a}.hover\\:text-base:hover{color:#71767a}.text-base-dark{color:#565c65}.hover\\:text-base-dark:hover{color:#565c65}.text-base-darker{color:#3d4551}.hover\\:text-base-darker:hover{color:#3d4551}.text-base-darkest{color:#1b1b1b}.hover\\:text-base-darkest:hover{color:#1b1b1b}.text-ink{color:#1b1b1b}.hover\\:text-ink:hover{color:#1b1b1b}.text-primary-lighter{color:#d9e8f6}.hover\\:text-primary-lighter:hover{color:#d9e8f6}.text-primary-light{color:#73b3e7}.hover\\:text-primary-light:hover{color:#73b3e7}.text-primary{color:#005ea2}.hover\\:text-primary:hover{color:#005ea2}.text-primary-vivid{color:#0050d8}.hover\\:text-primary-vivid:hover{color:#0050d8}.text-primary-dark{color:#1a4480}.hover\\:text-primary-dark:hover{color:#1a4480}.text-primary-darker{color:#162e51}.hover\\:text-primary-darker:hover{color:#162e51}.text-secondary-lighter{color:#f3e1e4}.hover\\:text-secondary-lighter:hover{color:#f3e1e4}.text-secondary-light{color:#f2938c}.hover\\:text-secondary-light:hover{color:#f2938c}.text-secondary{color:#d83933}.hover\\:text-secondary:hover{color:#d83933}.text-secondary-vivid{color:#e41d3d}.hover\\:text-secondary-vivid:hover{color:#e41d3d}.text-secondary-dark{color:#b50909}.hover\\:text-secondary-dark:hover{color:#b50909}.text-secondary-darker{color:#8b0a03}.hover\\:text-secondary-darker:hover{color:#8b0a03}.text-accent-warm-darker{color:#775540}.hover\\:text-accent-warm-darker:hover{color:#775540}.text-accent-warm-dark{color:#c05600}.hover\\:text-accent-warm-dark:hover{color:#c05600}.text-accent-warm{color:#fa9441}.hover\\:text-accent-warm:hover{color:#fa9441}.text-accent-warm-light{color:#ffbc78}.hover\\:text-accent-warm-light:hover{color:#ffbc78}.text-accent-warm-lighter{color:#f2e4d4}.hover\\:text-accent-warm-lighter:hover{color:#f2e4d4}.text-accent-cool-darker{color:#07648d}.hover\\:text-accent-cool-darker:hover{color:#07648d}.text-accent-cool-dark{color:#28a0cb}.hover\\:text-accent-cool-dark:hover{color:#28a0cb}.text-accent-cool{color:#00bde3}.hover\\:text-accent-cool:hover{color:#00bde3}.text-accent-cool-light{color:#97d4ea}.hover\\:text-accent-cool-light:hover{color:#97d4ea}.text-accent-cool-lighter{color:#e1f3f8}.hover\\:text-accent-cool-lighter:hover{color:#e1f3f8}.text-error-lighter{color:#f4e3db}.hover\\:text-error-lighter:hover{color:#f4e3db}.text-error-light{color:#f39268}.hover\\:text-error-light:hover{color:#f39268}.text-error{color:#d54309}.hover\\:text-error:hover{color:#d54309}.text-error-dark{color:#b50909}.hover\\:text-error-dark:hover{color:#b50909}.text-error-darker{color:#6f3331}.hover\\:text-error-darker:hover{color:#6f3331}.text-warning-lighter{color:#faf3d1}.hover\\:text-warning-lighter:hover{color:#faf3d1}.text-warning-light{color:#fee685}.hover\\:text-warning-light:hover{color:#fee685}.text-warning{color:#ffbe2e}.hover\\:text-warning:hover{color:#ffbe2e}.text-warning-dark{color:#e5a000}.hover\\:text-warning-dark:hover{color:#e5a000}.text-warning-darker{color:#936f38}.hover\\:text-warning-darker:hover{color:#936f38}.text-success-lighter{color:#ecf3ec}.hover\\:text-success-lighter:hover{color:#ecf3ec}.text-success-light{color:#70e17b}.hover\\:text-success-light:hover{color:#70e17b}.text-success{color:#00a91c}.hover\\:text-success:hover{color:#00a91c}.text-success-dark{color:#008817}.hover\\:text-success-dark:hover{color:#008817}.text-success-darker{color:#216e1f}.hover\\:text-success-darker:hover{color:#216e1f}.text-info-lighter{color:#e7f6f8}.hover\\:text-info-lighter:hover{color:#e7f6f8}.text-info-light{color:#99deea}.hover\\:text-info-light:hover{color:#99deea}.text-info{color:#00bde3}.hover\\:text-info:hover{color:#00bde3}.text-info-dark{color:#009ec1}.hover\\:text-info-dark:hover{color:#009ec1}.text-info-darker{color:#2e6276}.hover\\:text-info-darker:hover{color:#2e6276}.text-disabled-lighter{color:#c9c9c9}.hover\\:text-disabled-lighter:hover{color:#c9c9c9}.text-disabled-light{color:#919191}.hover\\:text-disabled-light:hover{color:#919191}.text-disabled{color:#757575}.hover\\:text-disabled:hover{color:#757575}.text-disabled-dark{color:#454545}.hover\\:text-disabled-dark:hover{color:#454545}.text-disabled-darker{color:#1b1b1b}.hover\\:text-disabled-darker:hover{color:#1b1b1b}.text-emergency{color:#9c3d10}.hover\\:text-emergency:hover{color:#9c3d10}.text-emergency-dark{color:#332d29}.hover\\:text-emergency-dark:hover{color:#332d29}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.display-block{display:block}.display-flex{display:flex}.display-none{display:none}.display-inline{display:inline}.display-inline-block{display:inline-block}.display-inline-flex{display:inline-flex}.display-table{display:table}.display-table-cell{display:table-cell}.display-table-row{display:table-row}.flex-1{flex:1 1 0%}.flex-2{flex:2 1 0%}.flex-3{flex:3 1 0%}.flex-4{flex:4 1 0%}.flex-5{flex:5 1 0%}.flex-6{flex:6 1 0%}.flex-7{flex:7 1 0%}.flex-8{flex:8 1 0%}.flex-9{flex:9 1 0%}.flex-10{flex:10 1 0%}.flex-11{flex:11 1 0%}.flex-12{flex:12 1 0%}.flex-fill{flex:1 1 0%}.flex-auto{flex:0 1 auto}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-no-wrap{flex-wrap:nowrap}.float-left{float:left}.float-none{float:none}.float-right{float:right}.font-mono-3xs{font-size:0.77rem}.font-mono-2xs{font-size:0.83rem}.font-mono-xs{font-size:0.89rem}.font-mono-sm{font-size:0.95rem}.font-mono-md{font-size:1.01rem}.font-mono-lg{font-size:1.31rem}.font-mono-xl{font-size:1.91rem}.font-mono-2xl{font-size:2.38rem}.font-mono-3xl{font-size:2.86rem}.font-sans-3xs{font-size:0.87rem}.font-sans-2xs{font-size:0.93rem}.font-sans-xs{font-size:1rem}.font-sans-sm{font-size:1.06rem}.font-sans-md{font-size:1.13rem}.font-sans-lg{font-size:1.46rem}.font-sans-xl{font-size:2.13rem}.font-sans-2xl{font-size:2.66rem}.font-sans-3xl{font-size:3.19rem}.font-serif-3xs{font-size:0.79rem}.font-serif-2xs{font-size:0.85rem}.font-serif-xs{font-size:0.91rem}.font-serif-sm{font-size:0.98rem}.font-serif-md{font-size:1.04rem}.font-serif-lg{font-size:1.34rem}.font-serif-xl{font-size:1.95rem}.font-serif-2xl{font-size:2.44rem}.font-serif-3xl{font-size:2.93rem}.font-heading-3xs{font-size:0.79rem}.font-heading-2xs{font-size:0.85rem}.font-heading-xs{font-size:0.91rem}.font-heading-sm{font-size:0.98rem}.font-heading-md{font-size:1.04rem}.font-heading-lg{font-size:1.34rem}.font-heading-xl{font-size:1.95rem}.font-heading-2xl{font-size:2.44rem}.font-heading-3xl{font-size:2.93rem}.font-body-3xs{font-size:0.87rem}.font-body-2xs{font-size:0.93rem}.font-body-xs{font-size:1rem}.font-body-sm{font-size:1.06rem}.font-body-md{font-size:1.13rem}.font-body-lg{font-size:1.46rem}.font-body-xl{font-size:2.13rem}.font-body-2xl{font-size:2.66rem}.font-body-3xl{font-size:3.19rem}.font-code-3xs{font-size:0.77rem}.font-code-2xs{font-size:0.83rem}.font-code-xs{font-size:0.89rem}.font-code-sm{font-size:0.95rem}.font-code-md{font-size:1.01rem}.font-code-lg{font-size:1.31rem}.font-code-xl{font-size:1.91rem}.font-code-2xl{font-size:2.38rem}.font-code-3xl{font-size:2.86rem}.font-alt-3xs{font-size:0.79rem}.font-alt-2xs{font-size:0.85rem}.font-alt-xs{font-size:0.91rem}.font-alt-sm{font-size:0.98rem}.font-alt-md{font-size:1.04rem}.font-alt-lg{font-size:1.34rem}.font-alt-xl{font-size:1.95rem}.font-alt-2xl{font-size:2.44rem}.font-alt-3xl{font-size:2.93rem}.font-ui-3xs{font-size:0.87rem}.font-ui-2xs{font-size:0.93rem}.font-ui-xs{font-size:1rem}.font-ui-sm{font-size:1.06rem}.font-ui-md{font-size:1.13rem}.font-ui-lg{font-size:1.46rem}.font-ui-xl{font-size:2.13rem}.font-ui-2xl{font-size:2.66rem}.font-ui-3xl{font-size:3.19rem}.font-family-mono{font-family:Roboto Mono Web, Bitstream Vera Sans Mono, Consolas, Courier, monospace}.font-family-sans{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif}.font-family-serif{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif}.font-family-ui{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif}.font-family-heading{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif}.font-family-body{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif}.font-family-code{font-family:Roboto Mono Web, Bitstream Vera Sans Mono, Consolas, Courier, monospace}.font-family-alt{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif}.text-tabular{font-feature-settings:\"tnum\" 1, \"kern\" 1}.text-no-tabular{font-feature-settings:\"kern\" 1}.text-italic{font-style:italic}.text-no-italic{font-style:normal}.text-light{font-weight:300}.text-normal{font-weight:normal}.text-bold{font-weight:700}.height-1px{height:1px}.height-2px{height:2px}.height-05{height:0.25rem}.height-1{height:0.5rem}.height-105{height:0.75rem}.height-2{height:1rem}.height-205{height:1.25rem}.height-3{height:1.5rem}.height-4{height:2rem}.height-5{height:2.5rem}.height-6{height:3rem}.height-7{height:3.5rem}.height-8{height:4rem}.height-9{height:4.5rem}.height-10{height:5rem}.height-15{height:7.5rem}.height-card{height:10rem}.height-card-lg{height:15rem}.height-mobile{height:20rem}.height-0{height:0}.height-auto{height:auto}.height-full{height:100%}.height-viewport{height:100vh}.flex-justify-center{justify-content:center}.flex-justify-start{justify-content:flex-start}.flex-justify-end{justify-content:flex-end}.flex-justify{justify-content:space-between}.left-1px{left:1px}.left-2px{left:2px}.left-05{left:0.25rem}.left-1{left:0.5rem}.left-105{left:0.75rem}.left-2{left:1rem}.left-205{left:1.25rem}.left-3{left:1.5rem}.left-neg-1px{left:-1px}.left-neg-2px{left:-2px}.left-neg-05{left:-0.25rem}.left-neg-1{left:-0.5rem}.left-neg-105{left:-0.75rem}.left-neg-2{left:-1rem}.left-neg-205{left:-1.25rem}.left-neg-3{left:-1.5rem}.left-0{left:0}.left-auto{left:auto}.left-full{left:100%}.text-ls-auto{letter-spacing:initial}.text-ls-neg-3{letter-spacing:-0.03em}.text-ls-neg-2{letter-spacing:-0.02em}.text-ls-neg-1{letter-spacing:-0.01em}.text-ls-1{letter-spacing:0.025em}.text-ls-2{letter-spacing:0.1em}.text-ls-3{letter-spacing:0.15em}.line-height-sans-1{line-height:0.9}.line-height-sans-2{line-height:1.1}.line-height-sans-3{line-height:1.3}.line-height-sans-4{line-height:1.4}.line-height-sans-5{line-height:1.5}.line-height-sans-6{line-height:1.6}.line-height-serif-1{line-height:1}.line-height-serif-2{line-height:1.2}.line-height-serif-3{line-height:1.4}.line-height-serif-4{line-height:1.5}.line-height-serif-5{line-height:1.7}.line-height-serif-6{line-height:1.8}.line-height-mono-1{line-height:1}.line-height-mono-2{line-height:1.3}.line-height-mono-3{line-height:1.4}.line-height-mono-4{line-height:1.6}.line-height-mono-5{line-height:1.7}.line-height-mono-6{line-height:1.8}.line-height-heading-1{line-height:1}.line-height-heading-2{line-height:1.2}.line-height-heading-3{line-height:1.4}.line-height-heading-4{line-height:1.5}.line-height-heading-5{line-height:1.7}.line-height-heading-6{line-height:1.8}.line-height-ui-1{line-height:0.9}.line-height-ui-2{line-height:1.1}.line-height-ui-3{line-height:1.3}.line-height-ui-4{line-height:1.4}.line-height-ui-5{line-height:1.5}.line-height-ui-6{line-height:1.6}.line-height-body-1{line-height:0.9}.line-height-body-2{line-height:1.1}.line-height-body-3{line-height:1.3}.line-height-body-4{line-height:1.4}.line-height-body-5{line-height:1.5}.line-height-body-6{line-height:1.6}.line-height-code-1{line-height:1}.line-height-code-2{line-height:1.3}.line-height-code-3{line-height:1.4}.line-height-code-4{line-height:1.6}.line-height-code-5{line-height:1.7}.line-height-code-6{line-height:1.8}.line-height-alt-1{line-height:1}.line-height-alt-2{line-height:1.2}.line-height-alt-3{line-height:1.4}.line-height-alt-4{line-height:1.5}.line-height-alt-5{line-height:1.7}.line-height-alt-6{line-height:1.8}.margin-neg-1px{margin:-1px}.margin-neg-2px{margin:-2px}.margin-neg-05{margin:-0.25rem}.margin-neg-1{margin:-0.5rem}.margin-neg-105{margin:-0.75rem}.margin-neg-2{margin:-1rem}.margin-neg-205{margin:-1.25rem}.margin-neg-3{margin:-1.5rem}.margin-1px{margin:1px}.margin-2px{margin:2px}.margin-05{margin:0.25rem}.margin-1{margin:0.5rem}.margin-105{margin:0.75rem}.margin-2{margin:1rem}.margin-205{margin:1.25rem}.margin-3{margin:1.5rem}.margin-neg-4{margin:-2rem}.margin-neg-5{margin:-2.5rem}.margin-neg-6{margin:-3rem}.margin-neg-7{margin:-3.5rem}.margin-neg-8{margin:-4rem}.margin-neg-9{margin:-4.5rem}.margin-neg-10{margin:-5rem}.margin-neg-15{margin:-7.5rem}.margin-4{margin:2rem}.margin-5{margin:2.5rem}.margin-6{margin:3rem}.margin-7{margin:3.5rem}.margin-8{margin:4rem}.margin-9{margin:4.5rem}.margin-10{margin:5rem}.margin-15{margin:7.5rem}.margin-05em{margin:0.5em}.margin-1em{margin:1em}.margin-105em{margin:1.5em}.margin-2em{margin:2em}.margin-0{margin:0}.margin-y-1px{margin-top:1px;margin-bottom:1px}.margin-top-1px{margin-top:1px}.margin-bottom-1px{margin-bottom:1px}.margin-y-2px{margin-top:2px;margin-bottom:2px}.margin-top-2px{margin-top:2px}.margin-bottom-2px{margin-bottom:2px}.margin-y-05{margin-top:0.25rem;margin-bottom:0.25rem}.margin-top-05{margin-top:0.25rem}.margin-bottom-05{margin-bottom:0.25rem}.margin-y-1{margin-top:0.5rem;margin-bottom:0.5rem}.margin-top-1{margin-top:0.5rem}.margin-bottom-1{margin-bottom:0.5rem}.margin-y-105{margin-top:0.75rem;margin-bottom:0.75rem}.margin-top-105{margin-top:0.75rem}.margin-bottom-105{margin-bottom:0.75rem}.margin-y-2{margin-top:1rem;margin-bottom:1rem}.margin-top-2{margin-top:1rem}.margin-bottom-2{margin-bottom:1rem}.margin-y-205{margin-top:1.25rem;margin-bottom:1.25rem}.margin-top-205{margin-top:1.25rem}.margin-bottom-205{margin-bottom:1.25rem}.margin-y-3{margin-top:1.5rem;margin-bottom:1.5rem}.margin-top-3{margin-top:1.5rem}.margin-bottom-3{margin-bottom:1.5rem}.margin-y-neg-1px{margin-top:-1px;margin-bottom:-1px}.margin-top-neg-1px{margin-top:-1px}.margin-bottom-neg-1px{margin-bottom:-1px}.margin-y-neg-2px{margin-top:-2px;margin-bottom:-2px}.margin-top-neg-2px{margin-top:-2px}.margin-bottom-neg-2px{margin-bottom:-2px}.margin-y-neg-05{margin-top:-0.25rem;margin-bottom:-0.25rem}.margin-top-neg-05{margin-top:-0.25rem}.margin-bottom-neg-05{margin-bottom:-0.25rem}.margin-y-neg-1{margin-top:-0.5rem;margin-bottom:-0.5rem}.margin-top-neg-1{margin-top:-0.5rem}.margin-bottom-neg-1{margin-bottom:-0.5rem}.margin-y-neg-105{margin-top:-0.75rem;margin-bottom:-0.75rem}.margin-top-neg-105{margin-top:-0.75rem}.margin-bottom-neg-105{margin-bottom:-0.75rem}.margin-y-neg-2{margin-top:-1rem;margin-bottom:-1rem}.margin-top-neg-2{margin-top:-1rem}.margin-bottom-neg-2{margin-bottom:-1rem}.margin-y-neg-205{margin-top:-1.25rem;margin-bottom:-1.25rem}.margin-top-neg-205{margin-top:-1.25rem}.margin-bottom-neg-205{margin-bottom:-1.25rem}.margin-y-neg-3{margin-top:-1.5rem;margin-bottom:-1.5rem}.margin-top-neg-3{margin-top:-1.5rem}.margin-bottom-neg-3{margin-bottom:-1.5rem}.margin-y-neg-4{margin-top:-2rem;margin-bottom:-2rem}.margin-top-neg-4{margin-top:-2rem}.margin-bottom-neg-4{margin-bottom:-2rem}.margin-y-neg-5{margin-top:-2.5rem;margin-bottom:-2.5rem}.margin-top-neg-5{margin-top:-2.5rem}.margin-bottom-neg-5{margin-bottom:-2.5rem}.margin-y-neg-6{margin-top:-3rem;margin-bottom:-3rem}.margin-top-neg-6{margin-top:-3rem}.margin-bottom-neg-6{margin-bottom:-3rem}.margin-y-neg-7{margin-top:-3.5rem;margin-bottom:-3.5rem}.margin-top-neg-7{margin-top:-3.5rem}.margin-bottom-neg-7{margin-bottom:-3.5rem}.margin-y-neg-8{margin-top:-4rem;margin-bottom:-4rem}.margin-top-neg-8{margin-top:-4rem}.margin-bottom-neg-8{margin-bottom:-4rem}.margin-y-neg-9{margin-top:-4.5rem;margin-bottom:-4.5rem}.margin-top-neg-9{margin-top:-4.5rem}.margin-bottom-neg-9{margin-bottom:-4.5rem}.margin-y-neg-10{margin-top:-5rem;margin-bottom:-5rem}.margin-top-neg-10{margin-top:-5rem}.margin-bottom-neg-10{margin-bottom:-5rem}.margin-y-neg-15{margin-top:-7.5rem;margin-bottom:-7.5rem}.margin-top-neg-15{margin-top:-7.5rem}.margin-bottom-neg-15{margin-bottom:-7.5rem}.margin-y-4{margin-top:2rem;margin-bottom:2rem}.margin-top-4{margin-top:2rem}.margin-bottom-4{margin-bottom:2rem}.margin-y-5{margin-top:2.5rem;margin-bottom:2.5rem}.margin-top-5{margin-top:2.5rem}.margin-bottom-5{margin-bottom:2.5rem}.margin-y-6{margin-top:3rem;margin-bottom:3rem}.margin-top-6{margin-top:3rem}.margin-bottom-6{margin-bottom:3rem}.margin-y-7{margin-top:3.5rem;margin-bottom:3.5rem}.margin-top-7{margin-top:3.5rem}.margin-bottom-7{margin-bottom:3.5rem}.margin-y-8{margin-top:4rem;margin-bottom:4rem}.margin-top-8{margin-top:4rem}.margin-bottom-8{margin-bottom:4rem}.margin-y-9{margin-top:4.5rem;margin-bottom:4.5rem}.margin-top-9{margin-top:4.5rem}.margin-bottom-9{margin-bottom:4.5rem}.margin-y-10{margin-top:5rem;margin-bottom:5rem}.margin-top-10{margin-top:5rem}.margin-bottom-10{margin-bottom:5rem}.margin-y-15{margin-top:7.5rem;margin-bottom:7.5rem}.margin-top-15{margin-top:7.5rem}.margin-bottom-15{margin-bottom:7.5rem}.margin-y-05em{margin-top:0.5em;margin-bottom:0.5em}.margin-top-05em{margin-top:0.5em}.margin-bottom-05em{margin-bottom:0.5em}.margin-y-1em{margin-top:1em;margin-bottom:1em}.margin-top-1em{margin-top:1em}.margin-bottom-1em{margin-bottom:1em}.margin-y-105em{margin-top:1.5em;margin-bottom:1.5em}.margin-top-105em{margin-top:1.5em}.margin-bottom-105em{margin-bottom:1.5em}.margin-y-2em{margin-top:2em;margin-bottom:2em}.margin-top-2em{margin-top:2em}.margin-bottom-2em{margin-bottom:2em}.margin-y-0{margin-top:0;margin-bottom:0}.margin-top-0{margin-top:0}.margin-bottom-0{margin-bottom:0}.margin-y-auto{margin-top:auto;margin-bottom:auto}.margin-top-auto{margin-top:auto}.margin-bottom-auto{margin-bottom:auto}.margin-x-1px{margin-left:1px;margin-right:1px}.margin-right-1px{margin-right:1px}.margin-left-1px{margin-left:1px}.margin-x-2px{margin-left:2px;margin-right:2px}.margin-right-2px{margin-right:2px}.margin-left-2px{margin-left:2px}.margin-x-05{margin-left:0.25rem;margin-right:0.25rem}.margin-right-05{margin-right:0.25rem}.margin-left-05{margin-left:0.25rem}.margin-x-1{margin-left:0.5rem;margin-right:0.5rem}.margin-right-1{margin-right:0.5rem}.margin-left-1{margin-left:0.5rem}.margin-x-105{margin-left:0.75rem;margin-right:0.75rem}.margin-right-105{margin-right:0.75rem}.margin-left-105{margin-left:0.75rem}.margin-x-2{margin-left:1rem;margin-right:1rem}.margin-right-2{margin-right:1rem}.margin-left-2{margin-left:1rem}.margin-x-205{margin-left:1.25rem;margin-right:1.25rem}.margin-right-205{margin-right:1.25rem}.margin-left-205{margin-left:1.25rem}.margin-x-3{margin-left:1.5rem;margin-right:1.5rem}.margin-right-3{margin-right:1.5rem}.margin-left-3{margin-left:1.5rem}.margin-x-neg-1px{margin-left:-1px;margin-right:-1px}.margin-right-neg-1px{margin-right:-1px}.margin-left-neg-1px{margin-left:-1px}.margin-x-neg-2px{margin-left:-2px;margin-right:-2px}.margin-right-neg-2px{margin-right:-2px}.margin-left-neg-2px{margin-left:-2px}.margin-x-neg-05{margin-left:-0.25rem;margin-right:-0.25rem}.margin-right-neg-05{margin-right:-0.25rem}.margin-left-neg-05{margin-left:-0.25rem}.margin-x-neg-1{margin-left:-0.5rem;margin-right:-0.5rem}.margin-right-neg-1{margin-right:-0.5rem}.margin-left-neg-1{margin-left:-0.5rem}.margin-x-neg-105{margin-left:-0.75rem;margin-right:-0.75rem}.margin-right-neg-105{margin-right:-0.75rem}.margin-left-neg-105{margin-left:-0.75rem}.margin-x-neg-2{margin-left:-1rem;margin-right:-1rem}.margin-right-neg-2{margin-right:-1rem}.margin-left-neg-2{margin-left:-1rem}.margin-x-neg-205{margin-left:-1.25rem;margin-right:-1.25rem}.margin-right-neg-205{margin-right:-1.25rem}.margin-left-neg-205{margin-left:-1.25rem}.margin-x-neg-3{margin-left:-1.5rem;margin-right:-1.5rem}.margin-right-neg-3{margin-right:-1.5rem}.margin-left-neg-3{margin-left:-1.5rem}.margin-x-neg-4{margin-left:-2rem;margin-right:-2rem}.margin-right-neg-4{margin-right:-2rem}.margin-left-neg-4{margin-left:-2rem}.margin-x-neg-5{margin-left:-2.5rem;margin-right:-2.5rem}.margin-right-neg-5{margin-right:-2.5rem}.margin-left-neg-5{margin-left:-2.5rem}.margin-x-neg-6{margin-left:-3rem;margin-right:-3rem}.margin-right-neg-6{margin-right:-3rem}.margin-left-neg-6{margin-left:-3rem}.margin-x-neg-7{margin-left:-3.5rem;margin-right:-3.5rem}.margin-right-neg-7{margin-right:-3.5rem}.margin-left-neg-7{margin-left:-3.5rem}.margin-x-neg-8{margin-left:-4rem;margin-right:-4rem}.margin-right-neg-8{margin-right:-4rem}.margin-left-neg-8{margin-left:-4rem}.margin-x-neg-9{margin-left:-4.5rem;margin-right:-4.5rem}.margin-right-neg-9{margin-right:-4.5rem}.margin-left-neg-9{margin-left:-4.5rem}.margin-x-neg-10{margin-left:-5rem;margin-right:-5rem}.margin-right-neg-10{margin-right:-5rem}.margin-left-neg-10{margin-left:-5rem}.margin-x-neg-15{margin-left:-7.5rem;margin-right:-7.5rem}.margin-right-neg-15{margin-right:-7.5rem}.margin-left-neg-15{margin-left:-7.5rem}.margin-x-4{margin-left:2rem;margin-right:2rem}.margin-right-4{margin-right:2rem}.margin-left-4{margin-left:2rem}.margin-x-5{margin-left:2.5rem;margin-right:2.5rem}.margin-right-5{margin-right:2.5rem}.margin-left-5{margin-left:2.5rem}.margin-x-6{margin-left:3rem;margin-right:3rem}.margin-right-6{margin-right:3rem}.margin-left-6{margin-left:3rem}.margin-x-7{margin-left:3.5rem;margin-right:3.5rem}.margin-right-7{margin-right:3.5rem}.margin-left-7{margin-left:3.5rem}.margin-x-8{margin-left:4rem;margin-right:4rem}.margin-right-8{margin-right:4rem}.margin-left-8{margin-left:4rem}.margin-x-9{margin-left:4.5rem;margin-right:4.5rem}.margin-right-9{margin-right:4.5rem}.margin-left-9{margin-left:4.5rem}.margin-x-10{margin-left:5rem;margin-right:5rem}.margin-right-10{margin-right:5rem}.margin-left-10{margin-left:5rem}.margin-x-15{margin-left:7.5rem;margin-right:7.5rem}.margin-right-15{margin-right:7.5rem}.margin-left-15{margin-left:7.5rem}.margin-x-card{margin-left:10rem;margin-right:10rem}.margin-right-card{margin-right:10rem}.margin-left-card{margin-left:10rem}.margin-x-card-lg{margin-left:15rem;margin-right:15rem}.margin-right-card-lg{margin-right:15rem}.margin-left-card-lg{margin-left:15rem}.margin-x-mobile{margin-left:20rem;margin-right:20rem}.margin-right-mobile{margin-right:20rem}.margin-left-mobile{margin-left:20rem}.margin-x-05em{margin-left:0.5em;margin-right:0.5em}.margin-right-05em{margin-right:0.5em}.margin-left-05em{margin-left:0.5em}.margin-x-1em{margin-left:1em;margin-right:1em}.margin-right-1em{margin-right:1em}.margin-left-1em{margin-left:1em}.margin-x-105em{margin-left:1.5em;margin-right:1.5em}.margin-right-105em{margin-right:1.5em}.margin-left-105em{margin-left:1.5em}.margin-x-2em{margin-left:2em;margin-right:2em}.margin-right-2em{margin-right:2em}.margin-left-2em{margin-left:2em}.margin-x-0{margin-left:0;margin-right:0}.margin-right-0{margin-right:0}.margin-left-0{margin-left:0}.margin-x-auto{margin-left:auto;margin-right:auto}.margin-right-auto{margin-right:auto}.margin-left-auto{margin-left:auto}.maxh-05{max-height:0.25rem}.maxh-1{max-height:0.5rem}.maxh-105{max-height:0.75rem}.maxh-2{max-height:1rem}.maxh-205{max-height:1.25rem}.maxh-3{max-height:1.5rem}.maxh-4{max-height:2rem}.maxh-5{max-height:2.5rem}.maxh-6{max-height:3rem}.maxh-7{max-height:3.5rem}.maxh-8{max-height:4rem}.maxh-9{max-height:4.5rem}.maxh-10{max-height:5rem}.maxh-15{max-height:7.5rem}.maxh-card{max-height:10rem}.maxh-card-lg{max-height:15rem}.maxh-mobile{max-height:20rem}.maxh-mobile-lg{max-height:30rem}.maxh-tablet{max-height:40rem}.maxh-tablet-lg{max-height:55rem}.maxh-none{max-height:none}.maxh-viewport{max-height:100vh}.maxw-05{max-width:0.25rem}.maxw-1{max-width:0.5rem}.maxw-105{max-width:0.75rem}.maxw-2{max-width:1rem}.maxw-205{max-width:1.25rem}.maxw-3{max-width:1.5rem}.maxw-4{max-width:2rem}.maxw-5{max-width:2.5rem}.maxw-6{max-width:3rem}.maxw-7{max-width:3.5rem}.maxw-8{max-width:4rem}.maxw-9{max-width:4.5rem}.maxw-10{max-width:5rem}.maxw-15{max-width:7.5rem}.maxw-card{max-width:10rem}.maxw-card-lg{max-width:15rem}.maxw-mobile{max-width:20rem}.maxw-mobile-lg{max-width:30rem}.maxw-tablet{max-width:40rem}.maxw-tablet-lg{max-width:55rem}.maxw-desktop{max-width:64rem}.maxw-desktop-lg{max-width:75rem}.maxw-widescreen{max-width:87.5rem}.maxw-none{max-width:none}.maxw-full{max-width:100%}.measure-1{max-width:44ex}.measure-2{max-width:60ex}.measure-3{max-width:64ex}.measure-4{max-width:68ex}.measure-5{max-width:72ex}.measure-6{max-width:88ex}.measure-none{max-width:none}.minh-1px{min-height:1px}.minh-2px{min-height:2px}.minh-05{min-height:0.25rem}.minh-1{min-height:0.5rem}.minh-105{min-height:0.75rem}.minh-2{min-height:1rem}.minh-205{min-height:1.25rem}.minh-3{min-height:1.5rem}.minh-4{min-height:2rem}.minh-5{min-height:2.5rem}.minh-6{min-height:3rem}.minh-7{min-height:3.5rem}.minh-8{min-height:4rem}.minh-9{min-height:4.5rem}.minh-10{min-height:5rem}.minh-15{min-height:7.5rem}.minh-card{min-height:10rem}.minh-card-lg{min-height:15rem}.minh-mobile{min-height:20rem}.minh-mobile-lg{min-height:30rem}.minh-tablet{min-height:40rem}.minh-tablet-lg{min-height:55rem}.minh-0{min-height:0}.minh-full{min-height:100%}.minh-viewport{min-height:100vh}.minw-05{min-width:0.25rem}.minw-1{min-width:0.5rem}.minw-105{min-width:0.75rem}.minw-2{min-width:1rem}.minw-205{min-width:1.25rem}.minw-3{min-width:1.5rem}.minw-4{min-width:2rem}.minw-5{min-width:2.5rem}.minw-6{min-width:3rem}.minw-7{min-width:3.5rem}.minw-8{min-width:4rem}.minw-9{min-width:4.5rem}.minw-10{min-width:5rem}.minw-15{min-width:7.5rem}.minw-0{min-width:0}.opacity-0{opacity:0}.opacity-10{opacity:0.1}.opacity-20{opacity:0.2}.opacity-30{opacity:0.3}.opacity-40{opacity:0.4}.opacity-50{opacity:0.5}.opacity-60{opacity:0.6}.opacity-70{opacity:0.7}.opacity-80{opacity:0.8}.opacity-90{opacity:0.9}.opacity-100{opacity:1}.order-first{order:-1}.order-last{order:999}.order-initial{order:initial}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.outline-1px{outline:1px solid}.outline-2px{outline:2px solid}.outline-0{outline:0 solid}.outline-05{outline:0.25rem solid}.outline-transparent{outline-color:transparent}.outline-black{outline-color:black}.outline-white{outline-color:white}.outline-red{outline-color:#e52207}.outline-orange{outline-color:#e66f0e}.outline-gold{outline-color:#ffbe2e}.outline-yellow{outline-color:#fee685}.outline-green{outline-color:#538200}.outline-mint{outline-color:#04c585}.outline-cyan{outline-color:#009ec1}.outline-blue{outline-color:#0076d6}.outline-indigo{outline-color:#676cc8}.outline-violet{outline-color:#8168b3}.outline-magenta{outline-color:#d72d79}.outline-gray-5{outline-color:#f0f0f0}.outline-gray-10{outline-color:#e6e6e6}.outline-gray-30{outline-color:#adadad}.outline-gray-50{outline-color:#757575}.outline-gray-70{outline-color:#454545}.outline-gray-90{outline-color:#1b1b1b}.outline-base-lightest{outline-color:#f0f0f0}.outline-base-lighter{outline-color:#dfe1e2}.outline-base-light{outline-color:#a9aeb1}.outline-base{outline-color:#71767a}.outline-base-dark{outline-color:#565c65}.outline-base-darker{outline-color:#3d4551}.outline-base-darkest{outline-color:#1b1b1b}.outline-ink{outline-color:#1b1b1b}.outline-primary-lighter{outline-color:#d9e8f6}.outline-primary-light{outline-color:#73b3e7}.outline-primary{outline-color:#005ea2}.outline-primary-vivid{outline-color:#0050d8}.outline-primary-dark{outline-color:#1a4480}.outline-primary-darker{outline-color:#162e51}.outline-secondary-lighter{outline-color:#f3e1e4}.outline-secondary-light{outline-color:#f2938c}.outline-secondary{outline-color:#d83933}.outline-secondary-vivid{outline-color:#e41d3d}.outline-secondary-dark{outline-color:#b50909}.outline-secondary-darker{outline-color:#8b0a03}.outline-accent-warm-darker{outline-color:#775540}.outline-accent-warm-dark{outline-color:#c05600}.outline-accent-warm{outline-color:#fa9441}.outline-accent-warm-light{outline-color:#ffbc78}.outline-accent-warm-lighter{outline-color:#f2e4d4}.outline-accent-cool-darker{outline-color:#07648d}.outline-accent-cool-dark{outline-color:#28a0cb}.outline-accent-cool{outline-color:#00bde3}.outline-accent-cool-light{outline-color:#97d4ea}.outline-accent-cool-lighter{outline-color:#e1f3f8}.outline-error-lighter{outline-color:#f4e3db}.outline-error-light{outline-color:#f39268}.outline-error{outline-color:#d54309}.outline-error-dark{outline-color:#b50909}.outline-error-darker{outline-color:#6f3331}.outline-warning-lighter{outline-color:#faf3d1}.outline-warning-light{outline-color:#fee685}.outline-warning{outline-color:#ffbe2e}.outline-warning-dark{outline-color:#e5a000}.outline-warning-darker{outline-color:#936f38}.outline-success-lighter{outline-color:#ecf3ec}.outline-success-light{outline-color:#70e17b}.outline-success{outline-color:#00a91c}.outline-success-dark{outline-color:#008817}.outline-success-darker{outline-color:#216e1f}.outline-info-lighter{outline-color:#e7f6f8}.outline-info-light{outline-color:#99deea}.outline-info{outline-color:#00bde3}.outline-info-dark{outline-color:#009ec1}.outline-info-darker{outline-color:#2e6276}.outline-disabled-lighter{outline-color:#c9c9c9}.outline-disabled-light{outline-color:#919191}.outline-disabled{outline-color:#757575}.outline-disabled-dark{outline-color:#454545}.outline-disabled-darker{outline-color:#1b1b1b}.outline-emergency{outline-color:#9c3d10}.outline-emergency-dark{outline-color:#332d29}.overflow-hidden{overflow:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-scroll{overflow:scroll}.overflow-y-scroll{overflow-y:scroll}.overflow-x-scroll{overflow-x:scroll}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-auto{overflow-x:auto}.overflow-visible{overflow:visible}.overflow-y-visible{overflow-y:visible}.overflow-x-visible{overflow-x:visible}.padding-1px{padding:1px}.padding-y-1px{padding-top:1px;padding-bottom:1px}.padding-x-1px{padding-left:1px;padding-right:1px}.padding-top-1px{padding-top:1px}.padding-right-1px{padding-right:1px}.padding-bottom-1px{padding-bottom:1px}.padding-left-1px{padding-left:1px}.padding-2px{padding:2px}.padding-y-2px{padding-top:2px;padding-bottom:2px}.padding-x-2px{padding-left:2px;padding-right:2px}.padding-top-2px{padding-top:2px}.padding-right-2px{padding-right:2px}.padding-bottom-2px{padding-bottom:2px}.padding-left-2px{padding-left:2px}.padding-05{padding:0.25rem}.padding-y-05{padding-top:0.25rem;padding-bottom:0.25rem}.padding-x-05{padding-left:0.25rem;padding-right:0.25rem}.padding-top-05{padding-top:0.25rem}.padding-right-05{padding-right:0.25rem}.padding-bottom-05{padding-bottom:0.25rem}.padding-left-05{padding-left:0.25rem}.padding-1{padding:0.5rem}.padding-y-1{padding-top:0.5rem;padding-bottom:0.5rem}.padding-x-1{padding-left:0.5rem;padding-right:0.5rem}.padding-top-1{padding-top:0.5rem}.padding-right-1{padding-right:0.5rem}.padding-bottom-1{padding-bottom:0.5rem}.padding-left-1{padding-left:0.5rem}.padding-105{padding:0.75rem}.padding-y-105{padding-top:0.75rem;padding-bottom:0.75rem}.padding-x-105{padding-left:0.75rem;padding-right:0.75rem}.padding-top-105{padding-top:0.75rem}.padding-right-105{padding-right:0.75rem}.padding-bottom-105{padding-bottom:0.75rem}.padding-left-105{padding-left:0.75rem}.padding-2{padding:1rem}.padding-y-2{padding-top:1rem;padding-bottom:1rem}.padding-x-2{padding-left:1rem;padding-right:1rem}.padding-top-2{padding-top:1rem}.padding-right-2{padding-right:1rem}.padding-bottom-2{padding-bottom:1rem}.padding-left-2{padding-left:1rem}.padding-205{padding:1.25rem}.padding-y-205{padding-top:1.25rem;padding-bottom:1.25rem}.padding-x-205{padding-left:1.25rem;padding-right:1.25rem}.padding-top-205{padding-top:1.25rem}.padding-right-205{padding-right:1.25rem}.padding-bottom-205{padding-bottom:1.25rem}.padding-left-205{padding-left:1.25rem}.padding-3{padding:1.5rem}.padding-y-3{padding-top:1.5rem;padding-bottom:1.5rem}.padding-x-3{padding-left:1.5rem;padding-right:1.5rem}.padding-top-3{padding-top:1.5rem}.padding-right-3{padding-right:1.5rem}.padding-bottom-3{padding-bottom:1.5rem}.padding-left-3{padding-left:1.5rem}.padding-4{padding:2rem}.padding-y-4{padding-top:2rem;padding-bottom:2rem}.padding-x-4{padding-left:2rem;padding-right:2rem}.padding-top-4{padding-top:2rem}.padding-right-4{padding-right:2rem}.padding-bottom-4{padding-bottom:2rem}.padding-left-4{padding-left:2rem}.padding-5{padding:2.5rem}.padding-y-5{padding-top:2.5rem;padding-bottom:2.5rem}.padding-x-5{padding-left:2.5rem;padding-right:2.5rem}.padding-top-5{padding-top:2.5rem}.padding-right-5{padding-right:2.5rem}.padding-bottom-5{padding-bottom:2.5rem}.padding-left-5{padding-left:2.5rem}.padding-6{padding:3rem}.padding-y-6{padding-top:3rem;padding-bottom:3rem}.padding-x-6{padding-left:3rem;padding-right:3rem}.padding-top-6{padding-top:3rem}.padding-right-6{padding-right:3rem}.padding-bottom-6{padding-bottom:3rem}.padding-left-6{padding-left:3rem}.padding-7{padding:3.5rem}.padding-y-7{padding-top:3.5rem;padding-bottom:3.5rem}.padding-x-7{padding-left:3.5rem;padding-right:3.5rem}.padding-top-7{padding-top:3.5rem}.padding-right-7{padding-right:3.5rem}.padding-bottom-7{padding-bottom:3.5rem}.padding-left-7{padding-left:3.5rem}.padding-8{padding:4rem}.padding-y-8{padding-top:4rem;padding-bottom:4rem}.padding-x-8{padding-left:4rem;padding-right:4rem}.padding-top-8{padding-top:4rem}.padding-right-8{padding-right:4rem}.padding-bottom-8{padding-bottom:4rem}.padding-left-8{padding-left:4rem}.padding-9{padding:4.5rem}.padding-y-9{padding-top:4.5rem;padding-bottom:4.5rem}.padding-x-9{padding-left:4.5rem;padding-right:4.5rem}.padding-top-9{padding-top:4.5rem}.padding-right-9{padding-right:4.5rem}.padding-bottom-9{padding-bottom:4.5rem}.padding-left-9{padding-left:4.5rem}.padding-10{padding:5rem}.padding-y-10{padding-top:5rem;padding-bottom:5rem}.padding-x-10{padding-left:5rem;padding-right:5rem}.padding-top-10{padding-top:5rem}.padding-right-10{padding-right:5rem}.padding-bottom-10{padding-bottom:5rem}.padding-left-10{padding-left:5rem}.padding-15{padding:7.5rem}.padding-y-15{padding-top:7.5rem;padding-bottom:7.5rem}.padding-x-15{padding-left:7.5rem;padding-right:7.5rem}.padding-top-15{padding-top:7.5rem}.padding-right-15{padding-right:7.5rem}.padding-bottom-15{padding-bottom:7.5rem}.padding-left-15{padding-left:7.5rem}.padding-0{padding:0}.padding-y-0{padding-top:0;padding-bottom:0}.padding-x-0{padding-left:0;padding-right:0}.padding-top-0{padding-top:0}.padding-right-0{padding-right:0}.padding-bottom-0{padding-bottom:0}.padding-left-0{padding-left:0}.pin-all{bottom:0;left:0;right:0;top:0;position:absolute}.pin-x{left:0;right:0;position:absolute}.pin-y{bottom:0;top:0;position:absolute}.pin-bottom{bottom:0;position:absolute}.pin-left{left:0;position:absolute}.pin-right{right:0;position:absolute}.pin-top{top:0;position:absolute}.pin-none{bottom:auto;left:auto;right:auto;top:auto;position:static}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-relative{position:relative}.position-static{position:static}.position-sticky{position:sticky}.right-1px{right:1px}.right-2px{right:2px}.right-05{right:0.25rem}.right-1{right:0.5rem}.right-105{right:0.75rem}.right-2{right:1rem}.right-205{right:1.25rem}.right-3{right:1.5rem}.right-neg-1px{right:-1px}.right-neg-2px{right:-2px}.right-neg-05{right:-0.25rem}.right-neg-1{right:-0.5rem}.right-neg-105{right:-0.75rem}.right-neg-2{right:-1rem}.right-neg-205{right:-1.25rem}.right-neg-3{right:-1.5rem}.right-0{right:0}.right-auto{right:auto}.right-full{right:100%}.square-1px{height:1px;width:1px}.square-2px{height:2px;width:2px}.square-05{height:0.25rem;width:0.25rem}.square-1{height:0.5rem;width:0.5rem}.square-105{height:0.75rem;width:0.75rem}.square-2{height:1rem;width:1rem}.square-205{height:1.25rem;width:1.25rem}.square-3{height:1.5rem;width:1.5rem}.square-4{height:2rem;width:2rem}.square-5{height:2.5rem;width:2.5rem}.square-6{height:3rem;width:3rem}.square-7{height:3.5rem;width:3.5rem}.square-8{height:4rem;width:4rem}.square-9{height:4.5rem;width:4.5rem}.square-10{height:5rem;width:5rem}.square-15{height:7.5rem;width:7.5rem}.square-card{height:10rem;width:10rem}.square-card-lg{height:15rem;width:15rem}.square-mobile{height:20rem;width:20rem}.text-center{text-align:center}.text-left{text-align:left}.text-justify{text-align:justify}.text-right{text-align:right}.text-strike{text-decoration:line-through}.hover\\:text-strike:hover{text-decoration:line-through}.text-underline{text-decoration:underline}.hover\\:text-underline:hover{text-decoration:underline}.text-no-underline{text-decoration:none}.hover\\:text-no-underline:hover{text-decoration:none}.text-no-strike{text-decoration:none}.hover\\:text-no-strike:hover{text-decoration:none}.underline-red{text-decoration-color:#e52207}.hover\\:underline-red:hover{text-decoration-color:#e52207}.underline-orange{text-decoration-color:#e66f0e}.hover\\:underline-orange:hover{text-decoration-color:#e66f0e}.underline-gold{text-decoration-color:#ffbe2e}.hover\\:underline-gold:hover{text-decoration-color:#ffbe2e}.underline-yellow{text-decoration-color:#fee685}.hover\\:underline-yellow:hover{text-decoration-color:#fee685}.underline-green{text-decoration-color:#538200}.hover\\:underline-green:hover{text-decoration-color:#538200}.underline-mint{text-decoration-color:#04c585}.hover\\:underline-mint:hover{text-decoration-color:#04c585}.underline-cyan{text-decoration-color:#009ec1}.hover\\:underline-cyan:hover{text-decoration-color:#009ec1}.underline-blue{text-decoration-color:#0076d6}.hover\\:underline-blue:hover{text-decoration-color:#0076d6}.underline-indigo{text-decoration-color:#676cc8}.hover\\:underline-indigo:hover{text-decoration-color:#676cc8}.underline-violet{text-decoration-color:#8168b3}.hover\\:underline-violet:hover{text-decoration-color:#8168b3}.underline-magenta{text-decoration-color:#d72d79}.hover\\:underline-magenta:hover{text-decoration-color:#d72d79}.underline-gray-5{text-decoration-color:#f0f0f0}.hover\\:underline-gray-5:hover{text-decoration-color:#f0f0f0}.underline-gray-10{text-decoration-color:#e6e6e6}.hover\\:underline-gray-10:hover{text-decoration-color:#e6e6e6}.underline-gray-30{text-decoration-color:#adadad}.hover\\:underline-gray-30:hover{text-decoration-color:#adadad}.underline-gray-50{text-decoration-color:#757575}.hover\\:underline-gray-50:hover{text-decoration-color:#757575}.underline-gray-70{text-decoration-color:#454545}.hover\\:underline-gray-70:hover{text-decoration-color:#454545}.underline-gray-90{text-decoration-color:#1b1b1b}.hover\\:underline-gray-90:hover{text-decoration-color:#1b1b1b}.underline-base-lightest{text-decoration-color:#f0f0f0}.hover\\:underline-base-lightest:hover{text-decoration-color:#f0f0f0}.underline-base-lighter{text-decoration-color:#dfe1e2}.hover\\:underline-base-lighter:hover{text-decoration-color:#dfe1e2}.underline-base-light{text-decoration-color:#a9aeb1}.hover\\:underline-base-light:hover{text-decoration-color:#a9aeb1}.underline-base{text-decoration-color:#71767a}.hover\\:underline-base:hover{text-decoration-color:#71767a}.underline-base-dark{text-decoration-color:#565c65}.hover\\:underline-base-dark:hover{text-decoration-color:#565c65}.underline-base-darker{text-decoration-color:#3d4551}.hover\\:underline-base-darker:hover{text-decoration-color:#3d4551}.underline-base-darkest{text-decoration-color:#1b1b1b}.hover\\:underline-base-darkest:hover{text-decoration-color:#1b1b1b}.underline-ink{text-decoration-color:#1b1b1b}.hover\\:underline-ink:hover{text-decoration-color:#1b1b1b}.underline-primary-lighter{text-decoration-color:#d9e8f6}.hover\\:underline-primary-lighter:hover{text-decoration-color:#d9e8f6}.underline-primary-light{text-decoration-color:#73b3e7}.hover\\:underline-primary-light:hover{text-decoration-color:#73b3e7}.underline-primary{text-decoration-color:#005ea2}.hover\\:underline-primary:hover{text-decoration-color:#005ea2}.underline-primary-vivid{text-decoration-color:#0050d8}.hover\\:underline-primary-vivid:hover{text-decoration-color:#0050d8}.underline-primary-dark{text-decoration-color:#1a4480}.hover\\:underline-primary-dark:hover{text-decoration-color:#1a4480}.underline-primary-darker{text-decoration-color:#162e51}.hover\\:underline-primary-darker:hover{text-decoration-color:#162e51}.underline-secondary-lighter{text-decoration-color:#f3e1e4}.hover\\:underline-secondary-lighter:hover{text-decoration-color:#f3e1e4}.underline-secondary-light{text-decoration-color:#f2938c}.hover\\:underline-secondary-light:hover{text-decoration-color:#f2938c}.underline-secondary{text-decoration-color:#d83933}.hover\\:underline-secondary:hover{text-decoration-color:#d83933}.underline-secondary-vivid{text-decoration-color:#e41d3d}.hover\\:underline-secondary-vivid:hover{text-decoration-color:#e41d3d}.underline-secondary-dark{text-decoration-color:#b50909}.hover\\:underline-secondary-dark:hover{text-decoration-color:#b50909}.underline-secondary-darker{text-decoration-color:#8b0a03}.hover\\:underline-secondary-darker:hover{text-decoration-color:#8b0a03}.underline-accent-warm-darker{text-decoration-color:#775540}.hover\\:underline-accent-warm-darker:hover{text-decoration-color:#775540}.underline-accent-warm-dark{text-decoration-color:#c05600}.hover\\:underline-accent-warm-dark:hover{text-decoration-color:#c05600}.underline-accent-warm{text-decoration-color:#fa9441}.hover\\:underline-accent-warm:hover{text-decoration-color:#fa9441}.underline-accent-warm-light{text-decoration-color:#ffbc78}.hover\\:underline-accent-warm-light:hover{text-decoration-color:#ffbc78}.underline-accent-warm-lighter{text-decoration-color:#f2e4d4}.hover\\:underline-accent-warm-lighter:hover{text-decoration-color:#f2e4d4}.underline-accent-cool-darker{text-decoration-color:#07648d}.hover\\:underline-accent-cool-darker:hover{text-decoration-color:#07648d}.underline-accent-cool-dark{text-decoration-color:#28a0cb}.hover\\:underline-accent-cool-dark:hover{text-decoration-color:#28a0cb}.underline-accent-cool{text-decoration-color:#00bde3}.hover\\:underline-accent-cool:hover{text-decoration-color:#00bde3}.underline-accent-cool-light{text-decoration-color:#97d4ea}.hover\\:underline-accent-cool-light:hover{text-decoration-color:#97d4ea}.underline-accent-cool-lighter{text-decoration-color:#e1f3f8}.hover\\:underline-accent-cool-lighter:hover{text-decoration-color:#e1f3f8}.underline-error-lighter{text-decoration-color:#f4e3db}.hover\\:underline-error-lighter:hover{text-decoration-color:#f4e3db}.underline-error-light{text-decoration-color:#f39268}.hover\\:underline-error-light:hover{text-decoration-color:#f39268}.underline-error{text-decoration-color:#d54309}.hover\\:underline-error:hover{text-decoration-color:#d54309}.underline-error-dark{text-decoration-color:#b50909}.hover\\:underline-error-dark:hover{text-decoration-color:#b50909}.underline-error-darker{text-decoration-color:#6f3331}.hover\\:underline-error-darker:hover{text-decoration-color:#6f3331}.underline-warning-lighter{text-decoration-color:#faf3d1}.hover\\:underline-warning-lighter:hover{text-decoration-color:#faf3d1}.underline-warning-light{text-decoration-color:#fee685}.hover\\:underline-warning-light:hover{text-decoration-color:#fee685}.underline-warning{text-decoration-color:#ffbe2e}.hover\\:underline-warning:hover{text-decoration-color:#ffbe2e}.underline-warning-dark{text-decoration-color:#e5a000}.hover\\:underline-warning-dark:hover{text-decoration-color:#e5a000}.underline-warning-darker{text-decoration-color:#936f38}.hover\\:underline-warning-darker:hover{text-decoration-color:#936f38}.underline-success-lighter{text-decoration-color:#ecf3ec}.hover\\:underline-success-lighter:hover{text-decoration-color:#ecf3ec}.underline-success-light{text-decoration-color:#70e17b}.hover\\:underline-success-light:hover{text-decoration-color:#70e17b}.underline-success{text-decoration-color:#00a91c}.hover\\:underline-success:hover{text-decoration-color:#00a91c}.underline-success-dark{text-decoration-color:#008817}.hover\\:underline-success-dark:hover{text-decoration-color:#008817}.underline-success-darker{text-decoration-color:#216e1f}.hover\\:underline-success-darker:hover{text-decoration-color:#216e1f}.underline-info-lighter{text-decoration-color:#e7f6f8}.hover\\:underline-info-lighter:hover{text-decoration-color:#e7f6f8}.underline-info-light{text-decoration-color:#99deea}.hover\\:underline-info-light:hover{text-decoration-color:#99deea}.underline-info{text-decoration-color:#00bde3}.hover\\:underline-info:hover{text-decoration-color:#00bde3}.underline-info-dark{text-decoration-color:#009ec1}.hover\\:underline-info-dark:hover{text-decoration-color:#009ec1}.underline-info-darker{text-decoration-color:#2e6276}.hover\\:underline-info-darker:hover{text-decoration-color:#2e6276}.underline-disabled-lighter{text-decoration-color:#c9c9c9}.hover\\:underline-disabled-lighter:hover{text-decoration-color:#c9c9c9}.underline-disabled-light{text-decoration-color:#919191}.hover\\:underline-disabled-light:hover{text-decoration-color:#919191}.underline-disabled{text-decoration-color:#757575}.hover\\:underline-disabled:hover{text-decoration-color:#757575}.underline-disabled-dark{text-decoration-color:#454545}.hover\\:underline-disabled-dark:hover{text-decoration-color:#454545}.underline-disabled-darker{text-decoration-color:#1b1b1b}.hover\\:underline-disabled-darker:hover{text-decoration-color:#1b1b1b}.underline-emergency{text-decoration-color:#9c3d10}.hover\\:underline-emergency:hover{text-decoration-color:#9c3d10}.underline-emergency-dark{text-decoration-color:#332d29}.hover\\:underline-emergency-dark:hover{text-decoration-color:#332d29}.text-indent-0{text-indent:0}.text-indent-05{text-indent:0.25rem}.text-indent-1{text-indent:0.5rem}.text-indent-105{text-indent:0.75rem}.text-indent-2{text-indent:1rem}.text-indent-205{text-indent:1.25rem}.text-indent-3{text-indent:1.5rem}.text-indent-neg-05{text-indent:-0.25rem}.text-indent-neg-1{text-indent:-0.5rem}.text-indent-neg-105{text-indent:-0.75rem}.text-indent-neg-2{text-indent:-1rem}.text-indent-neg-205{text-indent:-1.25rem}.text-indent-neg-3{text-indent:-1.5rem}.text-indent-4{text-indent:2rem}.text-indent-5{text-indent:2.5rem}.text-indent-6{text-indent:3rem}.text-indent-7{text-indent:3.5rem}.text-indent-8{text-indent:4rem}.text-indent-9{text-indent:4.5rem}.text-indent-10{text-indent:5rem}.text-indent-15{text-indent:7.5rem}.text-indent-neg-4{text-indent:-2rem}.text-indent-neg-5{text-indent:-2.5rem}.text-indent-neg-6{text-indent:-3rem}.text-indent-neg-7{text-indent:-3.5rem}.text-indent-neg-8{text-indent:-4rem}.text-indent-neg-9{text-indent:-4.5rem}.text-indent-neg-10{text-indent:-5rem}.text-indent-neg-15{text-indent:-7.5rem}.text-uppercase{text-transform:uppercase}.text-no-uppercase{text-transform:none}.text-lowercase{text-transform:lowercase}.text-no-lowercase{text-transform:none}.top-1px{top:1px}.top-2px{top:2px}.top-05{top:0.25rem}.top-1{top:0.5rem}.top-105{top:0.75rem}.top-2{top:1rem}.top-205{top:1.25rem}.top-3{top:1.5rem}.top-neg-1px{top:-1px}.top-neg-2px{top:-2px}.top-neg-05{top:-0.25rem}.top-neg-1{top:-0.5rem}.top-neg-105{top:-0.75rem}.top-neg-2{top:-1rem}.top-neg-205{top:-1.25rem}.top-neg-3{top:-1.5rem}.top-0{top:0}.top-auto{top:auto}.top-full{top:100%}.text-baseline{vertical-align:baseline}.text-bottom{vertical-align:bottom}.text-middle{vertical-align:middle}.text-sub{vertical-align:sub}.text-super{vertical-align:super}.text-tbottom{vertical-align:text-bottom}.text-ttop{vertical-align:text-top}.text-top{vertical-align:top}.text-pre{white-space:pre}.text-pre-line{white-space:pre-line}.text-pre-wrap{white-space:pre-wrap}.text-wrap{white-space:normal}.text-no-wrap{white-space:nowrap}.width-1px{width:1px}.width-2px{width:2px}.width-05{width:0.25rem}.width-1{width:0.5rem}.width-105{width:0.75rem}.width-2{width:1rem}.width-205{width:1.25rem}.width-3{width:1.5rem}.width-4{width:2rem}.width-5{width:2.5rem}.width-6{width:3rem}.width-7{width:3.5rem}.width-8{width:4rem}.width-9{width:4.5rem}.width-10{width:5rem}.width-15{width:7.5rem}.width-card{width:10rem}.width-card-lg{width:15rem}.width-mobile{width:20rem}.width-mobile-lg{width:30rem}.width-tablet{width:40rem}.width-tablet-lg{width:55rem}.width-desktop{width:64rem}.width-desktop-lg{width:75rem}.width-widescreen{width:87.5rem}.width-0{width:0}.width-full{width:100%}.width-auto{width:auto}.z-auto{z-index:auto}.z-bottom{z-index:-100}.z-top{z-index:99999}.z-0{z-index:0}.z-100{z-index:100}.z-200{z-index:200}.z-300{z-index:300}.z-400{z-index:400}.z-500{z-index:500}@media all and (min-width: 30em){.mobile-lg\\:border-1px{border:1px solid}.mobile-lg\\:hover\\:border-1px:hover{border:1px solid}.mobile-lg\\:border-y-1px{border-top:1px solid;border-bottom:1px solid}.mobile-lg\\:hover\\:border-y-1px:hover{border-top:1px solid;border-bottom:1px solid}.mobile-lg\\:border-x-1px{border-left:1px solid;border-right:1px solid}.mobile-lg\\:hover\\:border-x-1px:hover{border-left:1px solid;border-right:1px solid}.mobile-lg\\:border-top-1px{border-top:1px solid}.mobile-lg\\:hover\\:border-top-1px:hover{border-top:1px solid}.mobile-lg\\:border-right-1px{border-right:1px solid}.mobile-lg\\:hover\\:border-right-1px:hover{border-right:1px solid}.mobile-lg\\:border-bottom-1px{border-bottom:1px solid}.mobile-lg\\:hover\\:border-bottom-1px:hover{border-bottom:1px solid}.mobile-lg\\:border-left-1px{border-left:1px solid}.mobile-lg\\:hover\\:border-left-1px:hover{border-left:1px solid}.mobile-lg\\:border-2px{border:2px solid}.mobile-lg\\:hover\\:border-2px:hover{border:2px solid}.mobile-lg\\:border-y-2px{border-top:2px solid;border-bottom:2px solid}.mobile-lg\\:hover\\:border-y-2px:hover{border-top:2px solid;border-bottom:2px solid}.mobile-lg\\:border-x-2px{border-left:2px solid;border-right:2px solid}.mobile-lg\\:hover\\:border-x-2px:hover{border-left:2px solid;border-right:2px solid}.mobile-lg\\:border-top-2px{border-top:2px solid}.mobile-lg\\:hover\\:border-top-2px:hover{border-top:2px solid}.mobile-lg\\:border-right-2px{border-right:2px solid}.mobile-lg\\:hover\\:border-right-2px:hover{border-right:2px solid}.mobile-lg\\:border-bottom-2px{border-bottom:2px solid}.mobile-lg\\:hover\\:border-bottom-2px:hover{border-bottom:2px solid}.mobile-lg\\:border-left-2px{border-left:2px solid}.mobile-lg\\:hover\\:border-left-2px:hover{border-left:2px solid}.mobile-lg\\:border-05{border:0.25rem solid}.mobile-lg\\:hover\\:border-05:hover{border:0.25rem solid}.mobile-lg\\:border-y-05{border-top:0.25rem solid;border-bottom:0.25rem solid}.mobile-lg\\:hover\\:border-y-05:hover{border-top:0.25rem solid;border-bottom:0.25rem solid}.mobile-lg\\:border-x-05{border-left:0.25rem solid;border-right:0.25rem solid}.mobile-lg\\:hover\\:border-x-05:hover{border-left:0.25rem solid;border-right:0.25rem solid}.mobile-lg\\:border-top-05{border-top:0.25rem solid}.mobile-lg\\:hover\\:border-top-05:hover{border-top:0.25rem solid}.mobile-lg\\:border-right-05{border-right:0.25rem solid}.mobile-lg\\:hover\\:border-right-05:hover{border-right:0.25rem solid}.mobile-lg\\:border-bottom-05{border-bottom:0.25rem solid}.mobile-lg\\:hover\\:border-bottom-05:hover{border-bottom:0.25rem solid}.mobile-lg\\:border-left-05{border-left:0.25rem solid}.mobile-lg\\:hover\\:border-left-05:hover{border-left:0.25rem solid}.mobile-lg\\:border-1{border:0.5rem solid}.mobile-lg\\:hover\\:border-1:hover{border:0.5rem solid}.mobile-lg\\:border-y-1{border-top:0.5rem solid;border-bottom:0.5rem solid}.mobile-lg\\:hover\\:border-y-1:hover{border-top:0.5rem solid;border-bottom:0.5rem solid}.mobile-lg\\:border-x-1{border-left:0.5rem solid;border-right:0.5rem solid}.mobile-lg\\:hover\\:border-x-1:hover{border-left:0.5rem solid;border-right:0.5rem solid}.mobile-lg\\:border-top-1{border-top:0.5rem solid}.mobile-lg\\:hover\\:border-top-1:hover{border-top:0.5rem solid}.mobile-lg\\:border-right-1{border-right:0.5rem solid}.mobile-lg\\:hover\\:border-right-1:hover{border-right:0.5rem solid}.mobile-lg\\:border-bottom-1{border-bottom:0.5rem solid}.mobile-lg\\:hover\\:border-bottom-1:hover{border-bottom:0.5rem solid}.mobile-lg\\:border-left-1{border-left:0.5rem solid}.mobile-lg\\:hover\\:border-left-1:hover{border-left:0.5rem solid}.mobile-lg\\:border-105{border:0.75rem solid}.mobile-lg\\:hover\\:border-105:hover{border:0.75rem solid}.mobile-lg\\:border-y-105{border-top:0.75rem solid;border-bottom:0.75rem solid}.mobile-lg\\:hover\\:border-y-105:hover{border-top:0.75rem solid;border-bottom:0.75rem solid}.mobile-lg\\:border-x-105{border-left:0.75rem solid;border-right:0.75rem solid}.mobile-lg\\:hover\\:border-x-105:hover{border-left:0.75rem solid;border-right:0.75rem solid}.mobile-lg\\:border-top-105{border-top:0.75rem solid}.mobile-lg\\:hover\\:border-top-105:hover{border-top:0.75rem solid}.mobile-lg\\:border-right-105{border-right:0.75rem solid}.mobile-lg\\:hover\\:border-right-105:hover{border-right:0.75rem solid}.mobile-lg\\:border-bottom-105{border-bottom:0.75rem solid}.mobile-lg\\:hover\\:border-bottom-105:hover{border-bottom:0.75rem solid}.mobile-lg\\:border-left-105{border-left:0.75rem solid}.mobile-lg\\:hover\\:border-left-105:hover{border-left:0.75rem solid}.mobile-lg\\:border-2{border:1rem solid}.mobile-lg\\:hover\\:border-2:hover{border:1rem solid}.mobile-lg\\:border-y-2{border-top:1rem solid;border-bottom:1rem solid}.mobile-lg\\:hover\\:border-y-2:hover{border-top:1rem solid;border-bottom:1rem solid}.mobile-lg\\:border-x-2{border-left:1rem solid;border-right:1rem solid}.mobile-lg\\:hover\\:border-x-2:hover{border-left:1rem solid;border-right:1rem solid}.mobile-lg\\:border-top-2{border-top:1rem solid}.mobile-lg\\:hover\\:border-top-2:hover{border-top:1rem solid}.mobile-lg\\:border-right-2{border-right:1rem solid}.mobile-lg\\:hover\\:border-right-2:hover{border-right:1rem solid}.mobile-lg\\:border-bottom-2{border-bottom:1rem solid}.mobile-lg\\:hover\\:border-bottom-2:hover{border-bottom:1rem solid}.mobile-lg\\:border-left-2{border-left:1rem solid}.mobile-lg\\:hover\\:border-left-2:hover{border-left:1rem solid}.mobile-lg\\:border-205{border:1.25rem solid}.mobile-lg\\:hover\\:border-205:hover{border:1.25rem solid}.mobile-lg\\:border-y-205{border-top:1.25rem solid;border-bottom:1.25rem solid}.mobile-lg\\:hover\\:border-y-205:hover{border-top:1.25rem solid;border-bottom:1.25rem solid}.mobile-lg\\:border-x-205{border-left:1.25rem solid;border-right:1.25rem solid}.mobile-lg\\:hover\\:border-x-205:hover{border-left:1.25rem solid;border-right:1.25rem solid}.mobile-lg\\:border-top-205{border-top:1.25rem solid}.mobile-lg\\:hover\\:border-top-205:hover{border-top:1.25rem solid}.mobile-lg\\:border-right-205{border-right:1.25rem solid}.mobile-lg\\:hover\\:border-right-205:hover{border-right:1.25rem solid}.mobile-lg\\:border-bottom-205{border-bottom:1.25rem solid}.mobile-lg\\:hover\\:border-bottom-205:hover{border-bottom:1.25rem solid}.mobile-lg\\:border-left-205{border-left:1.25rem solid}.mobile-lg\\:hover\\:border-left-205:hover{border-left:1.25rem solid}.mobile-lg\\:border-3{border:1.5rem solid}.mobile-lg\\:hover\\:border-3:hover{border:1.5rem solid}.mobile-lg\\:border-y-3{border-top:1.5rem solid;border-bottom:1.5rem solid}.mobile-lg\\:hover\\:border-y-3:hover{border-top:1.5rem solid;border-bottom:1.5rem solid}.mobile-lg\\:border-x-3{border-left:1.5rem solid;border-right:1.5rem solid}.mobile-lg\\:hover\\:border-x-3:hover{border-left:1.5rem solid;border-right:1.5rem solid}.mobile-lg\\:border-top-3{border-top:1.5rem solid}.mobile-lg\\:hover\\:border-top-3:hover{border-top:1.5rem solid}.mobile-lg\\:border-right-3{border-right:1.5rem solid}.mobile-lg\\:hover\\:border-right-3:hover{border-right:1.5rem solid}.mobile-lg\\:border-bottom-3{border-bottom:1.5rem solid}.mobile-lg\\:hover\\:border-bottom-3:hover{border-bottom:1.5rem solid}.mobile-lg\\:border-left-3{border-left:1.5rem solid}.mobile-lg\\:hover\\:border-left-3:hover{border-left:1.5rem solid}.mobile-lg\\:border-0{border:0 solid}.mobile-lg\\:hover\\:border-0:hover{border:0 solid}.mobile-lg\\:border-y-0{border-top:0 solid;border-bottom:0 solid}.mobile-lg\\:hover\\:border-y-0:hover{border-top:0 solid;border-bottom:0 solid}.mobile-lg\\:border-x-0{border-left:0 solid;border-right:0 solid}.mobile-lg\\:hover\\:border-x-0:hover{border-left:0 solid;border-right:0 solid}.mobile-lg\\:border-top-0{border-top:0 solid}.mobile-lg\\:hover\\:border-top-0:hover{border-top:0 solid}.mobile-lg\\:border-right-0{border-right:0 solid}.mobile-lg\\:hover\\:border-right-0:hover{border-right:0 solid}.mobile-lg\\:border-bottom-0{border-bottom:0 solid}.mobile-lg\\:hover\\:border-bottom-0:hover{border-bottom:0 solid}.mobile-lg\\:border-left-0{border-left:0 solid}.mobile-lg\\:hover\\:border-left-0:hover{border-left:0 solid}.mobile-lg\\:border{border:1px solid}.mobile-lg\\:hover\\:border:hover{border:1px solid}.mobile-lg\\:border-y{border-top:1px solid;border-bottom:1px solid}.mobile-lg\\:hover\\:border-y:hover{border-top:1px solid;border-bottom:1px solid}.mobile-lg\\:border-x{border-left:1px solid;border-right:1px solid}.mobile-lg\\:hover\\:border-x:hover{border-left:1px solid;border-right:1px solid}.mobile-lg\\:border-top{border-top:1px solid}.mobile-lg\\:hover\\:border-top:hover{border-top:1px solid}.mobile-lg\\:border-right{border-right:1px solid}.mobile-lg\\:hover\\:border-right:hover{border-right:1px solid}.mobile-lg\\:border-bottom{border-bottom:1px solid}.mobile-lg\\:hover\\:border-bottom:hover{border-bottom:1px solid}.mobile-lg\\:border-left{border-left:1px solid}.mobile-lg\\:hover\\:border-left:hover{border-left:1px solid}.mobile-lg\\:border-transparent{border-color:transparent}.mobile-lg\\:hover\\:border-transparent:hover{border-color:transparent}.mobile-lg\\:border-black{border-color:black}.mobile-lg\\:hover\\:border-black:hover{border-color:black}.mobile-lg\\:border-white{border-color:white}.mobile-lg\\:hover\\:border-white:hover{border-color:white}.mobile-lg\\:border-red{border-color:#e52207}.mobile-lg\\:hover\\:border-red:hover{border-color:#e52207}.mobile-lg\\:border-orange{border-color:#e66f0e}.mobile-lg\\:hover\\:border-orange:hover{border-color:#e66f0e}.mobile-lg\\:border-gold{border-color:#ffbe2e}.mobile-lg\\:hover\\:border-gold:hover{border-color:#ffbe2e}.mobile-lg\\:border-yellow{border-color:#fee685}.mobile-lg\\:hover\\:border-yellow:hover{border-color:#fee685}.mobile-lg\\:border-green{border-color:#538200}.mobile-lg\\:hover\\:border-green:hover{border-color:#538200}.mobile-lg\\:border-mint{border-color:#04c585}.mobile-lg\\:hover\\:border-mint:hover{border-color:#04c585}.mobile-lg\\:border-cyan{border-color:#009ec1}.mobile-lg\\:hover\\:border-cyan:hover{border-color:#009ec1}.mobile-lg\\:border-blue{border-color:#0076d6}.mobile-lg\\:hover\\:border-blue:hover{border-color:#0076d6}.mobile-lg\\:border-indigo{border-color:#676cc8}.mobile-lg\\:hover\\:border-indigo:hover{border-color:#676cc8}.mobile-lg\\:border-violet{border-color:#8168b3}.mobile-lg\\:hover\\:border-violet:hover{border-color:#8168b3}.mobile-lg\\:border-magenta{border-color:#d72d79}.mobile-lg\\:hover\\:border-magenta:hover{border-color:#d72d79}.mobile-lg\\:border-gray-5{border-color:#f0f0f0}.mobile-lg\\:hover\\:border-gray-5:hover{border-color:#f0f0f0}.mobile-lg\\:border-gray-10{border-color:#e6e6e6}.mobile-lg\\:hover\\:border-gray-10:hover{border-color:#e6e6e6}.mobile-lg\\:border-gray-30{border-color:#adadad}.mobile-lg\\:hover\\:border-gray-30:hover{border-color:#adadad}.mobile-lg\\:border-gray-50{border-color:#757575}.mobile-lg\\:hover\\:border-gray-50:hover{border-color:#757575}.mobile-lg\\:border-gray-70{border-color:#454545}.mobile-lg\\:hover\\:border-gray-70:hover{border-color:#454545}.mobile-lg\\:border-gray-90{border-color:#1b1b1b}.mobile-lg\\:hover\\:border-gray-90:hover{border-color:#1b1b1b}.mobile-lg\\:border-base-lightest{border-color:#f0f0f0}.mobile-lg\\:hover\\:border-base-lightest:hover{border-color:#f0f0f0}.mobile-lg\\:border-base-lighter{border-color:#dfe1e2}.mobile-lg\\:hover\\:border-base-lighter:hover{border-color:#dfe1e2}.mobile-lg\\:border-base-light{border-color:#a9aeb1}.mobile-lg\\:hover\\:border-base-light:hover{border-color:#a9aeb1}.mobile-lg\\:border-base{border-color:#71767a}.mobile-lg\\:hover\\:border-base:hover{border-color:#71767a}.mobile-lg\\:border-base-dark{border-color:#565c65}.mobile-lg\\:hover\\:border-base-dark:hover{border-color:#565c65}.mobile-lg\\:border-base-darker{border-color:#3d4551}.mobile-lg\\:hover\\:border-base-darker:hover{border-color:#3d4551}.mobile-lg\\:border-base-darkest{border-color:#1b1b1b}.mobile-lg\\:hover\\:border-base-darkest:hover{border-color:#1b1b1b}.mobile-lg\\:border-ink{border-color:#1b1b1b}.mobile-lg\\:hover\\:border-ink:hover{border-color:#1b1b1b}.mobile-lg\\:border-primary-lighter{border-color:#d9e8f6}.mobile-lg\\:hover\\:border-primary-lighter:hover{border-color:#d9e8f6}.mobile-lg\\:border-primary-light{border-color:#73b3e7}.mobile-lg\\:hover\\:border-primary-light:hover{border-color:#73b3e7}.mobile-lg\\:border-primary{border-color:#005ea2}.mobile-lg\\:hover\\:border-primary:hover{border-color:#005ea2}.mobile-lg\\:border-primary-vivid{border-color:#0050d8}.mobile-lg\\:hover\\:border-primary-vivid:hover{border-color:#0050d8}.mobile-lg\\:border-primary-dark{border-color:#1a4480}.mobile-lg\\:hover\\:border-primary-dark:hover{border-color:#1a4480}.mobile-lg\\:border-primary-darker{border-color:#162e51}.mobile-lg\\:hover\\:border-primary-darker:hover{border-color:#162e51}.mobile-lg\\:border-secondary-lighter{border-color:#f3e1e4}.mobile-lg\\:hover\\:border-secondary-lighter:hover{border-color:#f3e1e4}.mobile-lg\\:border-secondary-light{border-color:#f2938c}.mobile-lg\\:hover\\:border-secondary-light:hover{border-color:#f2938c}.mobile-lg\\:border-secondary{border-color:#d83933}.mobile-lg\\:hover\\:border-secondary:hover{border-color:#d83933}.mobile-lg\\:border-secondary-vivid{border-color:#e41d3d}.mobile-lg\\:hover\\:border-secondary-vivid:hover{border-color:#e41d3d}.mobile-lg\\:border-secondary-dark{border-color:#b50909}.mobile-lg\\:hover\\:border-secondary-dark:hover{border-color:#b50909}.mobile-lg\\:border-secondary-darker{border-color:#8b0a03}.mobile-lg\\:hover\\:border-secondary-darker:hover{border-color:#8b0a03}.mobile-lg\\:border-accent-warm-darker{border-color:#775540}.mobile-lg\\:hover\\:border-accent-warm-darker:hover{border-color:#775540}.mobile-lg\\:border-accent-warm-dark{border-color:#c05600}.mobile-lg\\:hover\\:border-accent-warm-dark:hover{border-color:#c05600}.mobile-lg\\:border-accent-warm{border-color:#fa9441}.mobile-lg\\:hover\\:border-accent-warm:hover{border-color:#fa9441}.mobile-lg\\:border-accent-warm-light{border-color:#ffbc78}.mobile-lg\\:hover\\:border-accent-warm-light:hover{border-color:#ffbc78}.mobile-lg\\:border-accent-warm-lighter{border-color:#f2e4d4}.mobile-lg\\:hover\\:border-accent-warm-lighter:hover{border-color:#f2e4d4}.mobile-lg\\:border-accent-cool-darker{border-color:#07648d}.mobile-lg\\:hover\\:border-accent-cool-darker:hover{border-color:#07648d}.mobile-lg\\:border-accent-cool-dark{border-color:#28a0cb}.mobile-lg\\:hover\\:border-accent-cool-dark:hover{border-color:#28a0cb}.mobile-lg\\:border-accent-cool{border-color:#00bde3}.mobile-lg\\:hover\\:border-accent-cool:hover{border-color:#00bde3}.mobile-lg\\:border-accent-cool-light{border-color:#97d4ea}.mobile-lg\\:hover\\:border-accent-cool-light:hover{border-color:#97d4ea}.mobile-lg\\:border-accent-cool-lighter{border-color:#e1f3f8}.mobile-lg\\:hover\\:border-accent-cool-lighter:hover{border-color:#e1f3f8}.mobile-lg\\:border-error-lighter{border-color:#f4e3db}.mobile-lg\\:hover\\:border-error-lighter:hover{border-color:#f4e3db}.mobile-lg\\:border-error-light{border-color:#f39268}.mobile-lg\\:hover\\:border-error-light:hover{border-color:#f39268}.mobile-lg\\:border-error{border-color:#d54309}.mobile-lg\\:hover\\:border-error:hover{border-color:#d54309}.mobile-lg\\:border-error-dark{border-color:#b50909}.mobile-lg\\:hover\\:border-error-dark:hover{border-color:#b50909}.mobile-lg\\:border-error-darker{border-color:#6f3331}.mobile-lg\\:hover\\:border-error-darker:hover{border-color:#6f3331}.mobile-lg\\:border-warning-lighter{border-color:#faf3d1}.mobile-lg\\:hover\\:border-warning-lighter:hover{border-color:#faf3d1}.mobile-lg\\:border-warning-light{border-color:#fee685}.mobile-lg\\:hover\\:border-warning-light:hover{border-color:#fee685}.mobile-lg\\:border-warning{border-color:#ffbe2e}.mobile-lg\\:hover\\:border-warning:hover{border-color:#ffbe2e}.mobile-lg\\:border-warning-dark{border-color:#e5a000}.mobile-lg\\:hover\\:border-warning-dark:hover{border-color:#e5a000}.mobile-lg\\:border-warning-darker{border-color:#936f38}.mobile-lg\\:hover\\:border-warning-darker:hover{border-color:#936f38}.mobile-lg\\:border-success-lighter{border-color:#ecf3ec}.mobile-lg\\:hover\\:border-success-lighter:hover{border-color:#ecf3ec}.mobile-lg\\:border-success-light{border-color:#70e17b}.mobile-lg\\:hover\\:border-success-light:hover{border-color:#70e17b}.mobile-lg\\:border-success{border-color:#00a91c}.mobile-lg\\:hover\\:border-success:hover{border-color:#00a91c}.mobile-lg\\:border-success-dark{border-color:#008817}.mobile-lg\\:hover\\:border-success-dark:hover{border-color:#008817}.mobile-lg\\:border-success-darker{border-color:#216e1f}.mobile-lg\\:hover\\:border-success-darker:hover{border-color:#216e1f}.mobile-lg\\:border-info-lighter{border-color:#e7f6f8}.mobile-lg\\:hover\\:border-info-lighter:hover{border-color:#e7f6f8}.mobile-lg\\:border-info-light{border-color:#99deea}.mobile-lg\\:hover\\:border-info-light:hover{border-color:#99deea}.mobile-lg\\:border-info{border-color:#00bde3}.mobile-lg\\:hover\\:border-info:hover{border-color:#00bde3}.mobile-lg\\:border-info-dark{border-color:#009ec1}.mobile-lg\\:hover\\:border-info-dark:hover{border-color:#009ec1}.mobile-lg\\:border-info-darker{border-color:#2e6276}.mobile-lg\\:hover\\:border-info-darker:hover{border-color:#2e6276}.mobile-lg\\:border-disabled-lighter{border-color:#c9c9c9}.mobile-lg\\:hover\\:border-disabled-lighter:hover{border-color:#c9c9c9}.mobile-lg\\:border-disabled-light{border-color:#919191}.mobile-lg\\:hover\\:border-disabled-light:hover{border-color:#919191}.mobile-lg\\:border-disabled{border-color:#757575}.mobile-lg\\:hover\\:border-disabled:hover{border-color:#757575}.mobile-lg\\:border-disabled-dark{border-color:#454545}.mobile-lg\\:hover\\:border-disabled-dark:hover{border-color:#454545}.mobile-lg\\:border-disabled-darker{border-color:#1b1b1b}.mobile-lg\\:hover\\:border-disabled-darker:hover{border-color:#1b1b1b}.mobile-lg\\:border-emergency{border-color:#9c3d10}.mobile-lg\\:hover\\:border-emergency:hover{border-color:#9c3d10}.mobile-lg\\:border-emergency-dark{border-color:#332d29}.mobile-lg\\:hover\\:border-emergency-dark:hover{border-color:#332d29}.mobile-lg\\:radius-0{border-radius:0}.mobile-lg\\:radius-top-0{border-top-left-radius:0;border-top-right-radius:0}.mobile-lg\\:radius-right-0{border-top-right-radius:0;border-bottom-right-radius:0}.mobile-lg\\:radius-bottom-0{border-bottom-left-radius:0;border-bottom-right-radius:0}.mobile-lg\\:radius-left-0{border-top-left-radius:0;border-bottom-left-radius:0}.mobile-lg\\:radius-sm{border-radius:2px}.mobile-lg\\:radius-top-sm{border-top-left-radius:2px;border-top-right-radius:2px}.mobile-lg\\:radius-right-sm{border-top-right-radius:2px;border-bottom-right-radius:2px}.mobile-lg\\:radius-bottom-sm{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.mobile-lg\\:radius-left-sm{border-top-left-radius:2px;border-bottom-left-radius:2px}.mobile-lg\\:radius-md{border-radius:0.25rem}.mobile-lg\\:radius-top-md{border-top-left-radius:0.25rem;border-top-right-radius:0.25rem}.mobile-lg\\:radius-right-md{border-top-right-radius:0.25rem;border-bottom-right-radius:0.25rem}.mobile-lg\\:radius-bottom-md{border-bottom-left-radius:0.25rem;border-bottom-right-radius:0.25rem}.mobile-lg\\:radius-left-md{border-top-left-radius:0.25rem;border-bottom-left-radius:0.25rem}.mobile-lg\\:radius-lg{border-radius:0.5rem}.mobile-lg\\:radius-top-lg{border-top-left-radius:0.5rem;border-top-right-radius:0.5rem}.mobile-lg\\:radius-right-lg{border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem}.mobile-lg\\:radius-bottom-lg{border-bottom-left-radius:0.5rem;border-bottom-right-radius:0.5rem}.mobile-lg\\:radius-left-lg{border-top-left-radius:0.5rem;border-bottom-left-radius:0.5rem}.mobile-lg\\:radius-pill{border-radius:99rem}.mobile-lg\\:radius-top-pill{border-top-left-radius:99rem;border-top-right-radius:99rem}.mobile-lg\\:radius-right-pill{border-top-right-radius:99rem;border-bottom-right-radius:99rem}.mobile-lg\\:radius-bottom-pill{border-bottom-left-radius:99rem;border-bottom-right-radius:99rem}.mobile-lg\\:radius-left-pill{border-top-left-radius:99rem;border-bottom-left-radius:99rem}.mobile-lg\\:display-block{display:block}.mobile-lg\\:display-flex{display:flex}.mobile-lg\\:display-none{display:none}.mobile-lg\\:display-inline{display:inline}.mobile-lg\\:display-inline-block{display:inline-block}.mobile-lg\\:display-inline-flex{display:inline-flex}.mobile-lg\\:display-table{display:table}.mobile-lg\\:display-table-cell{display:table-cell}.mobile-lg\\:display-table-row{display:table-row}.mobile-lg\\:font-mono-3xs{font-size:0.77rem}.mobile-lg\\:font-mono-2xs{font-size:0.83rem}.mobile-lg\\:font-mono-xs{font-size:0.89rem}.mobile-lg\\:font-mono-sm{font-size:0.95rem}.mobile-lg\\:font-mono-md{font-size:1.01rem}.mobile-lg\\:font-mono-lg{font-size:1.31rem}.mobile-lg\\:font-mono-xl{font-size:1.91rem}.mobile-lg\\:font-mono-2xl{font-size:2.38rem}.mobile-lg\\:font-mono-3xl{font-size:2.86rem}.mobile-lg\\:font-sans-3xs{font-size:0.87rem}.mobile-lg\\:font-sans-2xs{font-size:0.93rem}.mobile-lg\\:font-sans-xs{font-size:1rem}.mobile-lg\\:font-sans-sm{font-size:1.06rem}.mobile-lg\\:font-sans-md{font-size:1.13rem}.mobile-lg\\:font-sans-lg{font-size:1.46rem}.mobile-lg\\:font-sans-xl{font-size:2.13rem}.mobile-lg\\:font-sans-2xl{font-size:2.66rem}.mobile-lg\\:font-sans-3xl{font-size:3.19rem}.mobile-lg\\:font-serif-3xs{font-size:0.79rem}.mobile-lg\\:font-serif-2xs{font-size:0.85rem}.mobile-lg\\:font-serif-xs{font-size:0.91rem}.mobile-lg\\:font-serif-sm{font-size:0.98rem}.mobile-lg\\:font-serif-md{font-size:1.04rem}.mobile-lg\\:font-serif-lg{font-size:1.34rem}.mobile-lg\\:font-serif-xl{font-size:1.95rem}.mobile-lg\\:font-serif-2xl{font-size:2.44rem}.mobile-lg\\:font-serif-3xl{font-size:2.93rem}.mobile-lg\\:font-heading-3xs{font-size:0.79rem}.mobile-lg\\:font-heading-2xs{font-size:0.85rem}.mobile-lg\\:font-heading-xs{font-size:0.91rem}.mobile-lg\\:font-heading-sm{font-size:0.98rem}.mobile-lg\\:font-heading-md{font-size:1.04rem}.mobile-lg\\:font-heading-lg{font-size:1.34rem}.mobile-lg\\:font-heading-xl{font-size:1.95rem}.mobile-lg\\:font-heading-2xl{font-size:2.44rem}.mobile-lg\\:font-heading-3xl{font-size:2.93rem}.mobile-lg\\:font-body-3xs{font-size:0.87rem}.mobile-lg\\:font-body-2xs{font-size:0.93rem}.mobile-lg\\:font-body-xs{font-size:1rem}.mobile-lg\\:font-body-sm{font-size:1.06rem}.mobile-lg\\:font-body-md{font-size:1.13rem}.mobile-lg\\:font-body-lg{font-size:1.46rem}.mobile-lg\\:font-body-xl{font-size:2.13rem}.mobile-lg\\:font-body-2xl{font-size:2.66rem}.mobile-lg\\:font-body-3xl{font-size:3.19rem}.mobile-lg\\:font-code-3xs{font-size:0.77rem}.mobile-lg\\:font-code-2xs{font-size:0.83rem}.mobile-lg\\:font-code-xs{font-size:0.89rem}.mobile-lg\\:font-code-sm{font-size:0.95rem}.mobile-lg\\:font-code-md{font-size:1.01rem}.mobile-lg\\:font-code-lg{font-size:1.31rem}.mobile-lg\\:font-code-xl{font-size:1.91rem}.mobile-lg\\:font-code-2xl{font-size:2.38rem}.mobile-lg\\:font-code-3xl{font-size:2.86rem}.mobile-lg\\:font-alt-3xs{font-size:0.79rem}.mobile-lg\\:font-alt-2xs{font-size:0.85rem}.mobile-lg\\:font-alt-xs{font-size:0.91rem}.mobile-lg\\:font-alt-sm{font-size:0.98rem}.mobile-lg\\:font-alt-md{font-size:1.04rem}.mobile-lg\\:font-alt-lg{font-size:1.34rem}.mobile-lg\\:font-alt-xl{font-size:1.95rem}.mobile-lg\\:font-alt-2xl{font-size:2.44rem}.mobile-lg\\:font-alt-3xl{font-size:2.93rem}.mobile-lg\\:font-ui-3xs{font-size:0.87rem}.mobile-lg\\:font-ui-2xs{font-size:0.93rem}.mobile-lg\\:font-ui-xs{font-size:1rem}.mobile-lg\\:font-ui-sm{font-size:1.06rem}.mobile-lg\\:font-ui-md{font-size:1.13rem}.mobile-lg\\:font-ui-lg{font-size:1.46rem}.mobile-lg\\:font-ui-xl{font-size:2.13rem}.mobile-lg\\:font-ui-2xl{font-size:2.66rem}.mobile-lg\\:font-ui-3xl{font-size:3.19rem}.mobile-lg\\:text-light{font-weight:300}.mobile-lg\\:text-normal{font-weight:normal}.mobile-lg\\:text-bold{font-weight:700}.mobile-lg\\:flex-justify-center{justify-content:center}.mobile-lg\\:flex-justify-start{justify-content:flex-start}.mobile-lg\\:flex-justify-end{justify-content:flex-end}.mobile-lg\\:flex-justify{justify-content:space-between}.mobile-lg\\:line-height-sans-1{line-height:0.9}.mobile-lg\\:line-height-sans-2{line-height:1.1}.mobile-lg\\:line-height-sans-3{line-height:1.3}.mobile-lg\\:line-height-sans-4{line-height:1.4}.mobile-lg\\:line-height-sans-5{line-height:1.5}.mobile-lg\\:line-height-sans-6{line-height:1.6}.mobile-lg\\:line-height-serif-1{line-height:1}.mobile-lg\\:line-height-serif-2{line-height:1.2}.mobile-lg\\:line-height-serif-3{line-height:1.4}.mobile-lg\\:line-height-serif-4{line-height:1.5}.mobile-lg\\:line-height-serif-5{line-height:1.7}.mobile-lg\\:line-height-serif-6{line-height:1.8}.mobile-lg\\:line-height-mono-1{line-height:1}.mobile-lg\\:line-height-mono-2{line-height:1.3}.mobile-lg\\:line-height-mono-3{line-height:1.4}.mobile-lg\\:line-height-mono-4{line-height:1.6}.mobile-lg\\:line-height-mono-5{line-height:1.7}.mobile-lg\\:line-height-mono-6{line-height:1.8}.mobile-lg\\:line-height-heading-1{line-height:1}.mobile-lg\\:line-height-heading-2{line-height:1.2}.mobile-lg\\:line-height-heading-3{line-height:1.4}.mobile-lg\\:line-height-heading-4{line-height:1.5}.mobile-lg\\:line-height-heading-5{line-height:1.7}.mobile-lg\\:line-height-heading-6{line-height:1.8}.mobile-lg\\:line-height-ui-1{line-height:0.9}.mobile-lg\\:line-height-ui-2{line-height:1.1}.mobile-lg\\:line-height-ui-3{line-height:1.3}.mobile-lg\\:line-height-ui-4{line-height:1.4}.mobile-lg\\:line-height-ui-5{line-height:1.5}.mobile-lg\\:line-height-ui-6{line-height:1.6}.mobile-lg\\:line-height-body-1{line-height:0.9}.mobile-lg\\:line-height-body-2{line-height:1.1}.mobile-lg\\:line-height-body-3{line-height:1.3}.mobile-lg\\:line-height-body-4{line-height:1.4}.mobile-lg\\:line-height-body-5{line-height:1.5}.mobile-lg\\:line-height-body-6{line-height:1.6}.mobile-lg\\:line-height-code-1{line-height:1}.mobile-lg\\:line-height-code-2{line-height:1.3}.mobile-lg\\:line-height-code-3{line-height:1.4}.mobile-lg\\:line-height-code-4{line-height:1.6}.mobile-lg\\:line-height-code-5{line-height:1.7}.mobile-lg\\:line-height-code-6{line-height:1.8}.mobile-lg\\:line-height-alt-1{line-height:1}.mobile-lg\\:line-height-alt-2{line-height:1.2}.mobile-lg\\:line-height-alt-3{line-height:1.4}.mobile-lg\\:line-height-alt-4{line-height:1.5}.mobile-lg\\:line-height-alt-5{line-height:1.7}.mobile-lg\\:line-height-alt-6{line-height:1.8}.mobile-lg\\:margin-neg-1px{margin:-1px}.mobile-lg\\:margin-neg-2px{margin:-2px}.mobile-lg\\:margin-neg-05{margin:-0.25rem}.mobile-lg\\:margin-neg-1{margin:-0.5rem}.mobile-lg\\:margin-neg-105{margin:-0.75rem}.mobile-lg\\:margin-neg-2{margin:-1rem}.mobile-lg\\:margin-neg-205{margin:-1.25rem}.mobile-lg\\:margin-neg-3{margin:-1.5rem}.mobile-lg\\:margin-1px{margin:1px}.mobile-lg\\:margin-2px{margin:2px}.mobile-lg\\:margin-05{margin:0.25rem}.mobile-lg\\:margin-1{margin:0.5rem}.mobile-lg\\:margin-105{margin:0.75rem}.mobile-lg\\:margin-2{margin:1rem}.mobile-lg\\:margin-205{margin:1.25rem}.mobile-lg\\:margin-3{margin:1.5rem}.mobile-lg\\:margin-neg-4{margin:-2rem}.mobile-lg\\:margin-neg-5{margin:-2.5rem}.mobile-lg\\:margin-neg-6{margin:-3rem}.mobile-lg\\:margin-neg-7{margin:-3.5rem}.mobile-lg\\:margin-neg-8{margin:-4rem}.mobile-lg\\:margin-neg-9{margin:-4.5rem}.mobile-lg\\:margin-neg-10{margin:-5rem}.mobile-lg\\:margin-neg-15{margin:-7.5rem}.mobile-lg\\:margin-4{margin:2rem}.mobile-lg\\:margin-5{margin:2.5rem}.mobile-lg\\:margin-6{margin:3rem}.mobile-lg\\:margin-7{margin:3.5rem}.mobile-lg\\:margin-8{margin:4rem}.mobile-lg\\:margin-9{margin:4.5rem}.mobile-lg\\:margin-10{margin:5rem}.mobile-lg\\:margin-15{margin:7.5rem}.mobile-lg\\:margin-05em{margin:0.5em}.mobile-lg\\:margin-1em{margin:1em}.mobile-lg\\:margin-105em{margin:1.5em}.mobile-lg\\:margin-2em{margin:2em}.mobile-lg\\:margin-0{margin:0}.mobile-lg\\:margin-y-1px{margin-top:1px;margin-bottom:1px}.mobile-lg\\:margin-top-1px{margin-top:1px}.mobile-lg\\:margin-bottom-1px{margin-bottom:1px}.mobile-lg\\:margin-y-2px{margin-top:2px;margin-bottom:2px}.mobile-lg\\:margin-top-2px{margin-top:2px}.mobile-lg\\:margin-bottom-2px{margin-bottom:2px}.mobile-lg\\:margin-y-05{margin-top:0.25rem;margin-bottom:0.25rem}.mobile-lg\\:margin-top-05{margin-top:0.25rem}.mobile-lg\\:margin-bottom-05{margin-bottom:0.25rem}.mobile-lg\\:margin-y-1{margin-top:0.5rem;margin-bottom:0.5rem}.mobile-lg\\:margin-top-1{margin-top:0.5rem}.mobile-lg\\:margin-bottom-1{margin-bottom:0.5rem}.mobile-lg\\:margin-y-105{margin-top:0.75rem;margin-bottom:0.75rem}.mobile-lg\\:margin-top-105{margin-top:0.75rem}.mobile-lg\\:margin-bottom-105{margin-bottom:0.75rem}.mobile-lg\\:margin-y-2{margin-top:1rem;margin-bottom:1rem}.mobile-lg\\:margin-top-2{margin-top:1rem}.mobile-lg\\:margin-bottom-2{margin-bottom:1rem}.mobile-lg\\:margin-y-205{margin-top:1.25rem;margin-bottom:1.25rem}.mobile-lg\\:margin-top-205{margin-top:1.25rem}.mobile-lg\\:margin-bottom-205{margin-bottom:1.25rem}.mobile-lg\\:margin-y-3{margin-top:1.5rem;margin-bottom:1.5rem}.mobile-lg\\:margin-top-3{margin-top:1.5rem}.mobile-lg\\:margin-bottom-3{margin-bottom:1.5rem}.mobile-lg\\:margin-y-neg-1px{margin-top:-1px;margin-bottom:-1px}.mobile-lg\\:margin-top-neg-1px{margin-top:-1px}.mobile-lg\\:margin-bottom-neg-1px{margin-bottom:-1px}.mobile-lg\\:margin-y-neg-2px{margin-top:-2px;margin-bottom:-2px}.mobile-lg\\:margin-top-neg-2px{margin-top:-2px}.mobile-lg\\:margin-bottom-neg-2px{margin-bottom:-2px}.mobile-lg\\:margin-y-neg-05{margin-top:-0.25rem;margin-bottom:-0.25rem}.mobile-lg\\:margin-top-neg-05{margin-top:-0.25rem}.mobile-lg\\:margin-bottom-neg-05{margin-bottom:-0.25rem}.mobile-lg\\:margin-y-neg-1{margin-top:-0.5rem;margin-bottom:-0.5rem}.mobile-lg\\:margin-top-neg-1{margin-top:-0.5rem}.mobile-lg\\:margin-bottom-neg-1{margin-bottom:-0.5rem}.mobile-lg\\:margin-y-neg-105{margin-top:-0.75rem;margin-bottom:-0.75rem}.mobile-lg\\:margin-top-neg-105{margin-top:-0.75rem}.mobile-lg\\:margin-bottom-neg-105{margin-bottom:-0.75rem}.mobile-lg\\:margin-y-neg-2{margin-top:-1rem;margin-bottom:-1rem}.mobile-lg\\:margin-top-neg-2{margin-top:-1rem}.mobile-lg\\:margin-bottom-neg-2{margin-bottom:-1rem}.mobile-lg\\:margin-y-neg-205{margin-top:-1.25rem;margin-bottom:-1.25rem}.mobile-lg\\:margin-top-neg-205{margin-top:-1.25rem}.mobile-lg\\:margin-bottom-neg-205{margin-bottom:-1.25rem}.mobile-lg\\:margin-y-neg-3{margin-top:-1.5rem;margin-bottom:-1.5rem}.mobile-lg\\:margin-top-neg-3{margin-top:-1.5rem}.mobile-lg\\:margin-bottom-neg-3{margin-bottom:-1.5rem}.mobile-lg\\:margin-y-neg-4{margin-top:-2rem;margin-bottom:-2rem}.mobile-lg\\:margin-top-neg-4{margin-top:-2rem}.mobile-lg\\:margin-bottom-neg-4{margin-bottom:-2rem}.mobile-lg\\:margin-y-neg-5{margin-top:-2.5rem;margin-bottom:-2.5rem}.mobile-lg\\:margin-top-neg-5{margin-top:-2.5rem}.mobile-lg\\:margin-bottom-neg-5{margin-bottom:-2.5rem}.mobile-lg\\:margin-y-neg-6{margin-top:-3rem;margin-bottom:-3rem}.mobile-lg\\:margin-top-neg-6{margin-top:-3rem}.mobile-lg\\:margin-bottom-neg-6{margin-bottom:-3rem}.mobile-lg\\:margin-y-neg-7{margin-top:-3.5rem;margin-bottom:-3.5rem}.mobile-lg\\:margin-top-neg-7{margin-top:-3.5rem}.mobile-lg\\:margin-bottom-neg-7{margin-bottom:-3.5rem}.mobile-lg\\:margin-y-neg-8{margin-top:-4rem;margin-bottom:-4rem}.mobile-lg\\:margin-top-neg-8{margin-top:-4rem}.mobile-lg\\:margin-bottom-neg-8{margin-bottom:-4rem}.mobile-lg\\:margin-y-neg-9{margin-top:-4.5rem;margin-bottom:-4.5rem}.mobile-lg\\:margin-top-neg-9{margin-top:-4.5rem}.mobile-lg\\:margin-bottom-neg-9{margin-bottom:-4.5rem}.mobile-lg\\:margin-y-neg-10{margin-top:-5rem;margin-bottom:-5rem}.mobile-lg\\:margin-top-neg-10{margin-top:-5rem}.mobile-lg\\:margin-bottom-neg-10{margin-bottom:-5rem}.mobile-lg\\:margin-y-neg-15{margin-top:-7.5rem;margin-bottom:-7.5rem}.mobile-lg\\:margin-top-neg-15{margin-top:-7.5rem}.mobile-lg\\:margin-bottom-neg-15{margin-bottom:-7.5rem}.mobile-lg\\:margin-y-4{margin-top:2rem;margin-bottom:2rem}.mobile-lg\\:margin-top-4{margin-top:2rem}.mobile-lg\\:margin-bottom-4{margin-bottom:2rem}.mobile-lg\\:margin-y-5{margin-top:2.5rem;margin-bottom:2.5rem}.mobile-lg\\:margin-top-5{margin-top:2.5rem}.mobile-lg\\:margin-bottom-5{margin-bottom:2.5rem}.mobile-lg\\:margin-y-6{margin-top:3rem;margin-bottom:3rem}.mobile-lg\\:margin-top-6{margin-top:3rem}.mobile-lg\\:margin-bottom-6{margin-bottom:3rem}.mobile-lg\\:margin-y-7{margin-top:3.5rem;margin-bottom:3.5rem}.mobile-lg\\:margin-top-7{margin-top:3.5rem}.mobile-lg\\:margin-bottom-7{margin-bottom:3.5rem}.mobile-lg\\:margin-y-8{margin-top:4rem;margin-bottom:4rem}.mobile-lg\\:margin-top-8{margin-top:4rem}.mobile-lg\\:margin-bottom-8{margin-bottom:4rem}.mobile-lg\\:margin-y-9{margin-top:4.5rem;margin-bottom:4.5rem}.mobile-lg\\:margin-top-9{margin-top:4.5rem}.mobile-lg\\:margin-bottom-9{margin-bottom:4.5rem}.mobile-lg\\:margin-y-10{margin-top:5rem;margin-bottom:5rem}.mobile-lg\\:margin-top-10{margin-top:5rem}.mobile-lg\\:margin-bottom-10{margin-bottom:5rem}.mobile-lg\\:margin-y-15{margin-top:7.5rem;margin-bottom:7.5rem}.mobile-lg\\:margin-top-15{margin-top:7.5rem}.mobile-lg\\:margin-bottom-15{margin-bottom:7.5rem}.mobile-lg\\:margin-y-05em{margin-top:0.5em;margin-bottom:0.5em}.mobile-lg\\:margin-top-05em{margin-top:0.5em}.mobile-lg\\:margin-bottom-05em{margin-bottom:0.5em}.mobile-lg\\:margin-y-1em{margin-top:1em;margin-bottom:1em}.mobile-lg\\:margin-top-1em{margin-top:1em}.mobile-lg\\:margin-bottom-1em{margin-bottom:1em}.mobile-lg\\:margin-y-105em{margin-top:1.5em;margin-bottom:1.5em}.mobile-lg\\:margin-top-105em{margin-top:1.5em}.mobile-lg\\:margin-bottom-105em{margin-bottom:1.5em}.mobile-lg\\:margin-y-2em{margin-top:2em;margin-bottom:2em}.mobile-lg\\:margin-top-2em{margin-top:2em}.mobile-lg\\:margin-bottom-2em{margin-bottom:2em}.mobile-lg\\:margin-y-0{margin-top:0;margin-bottom:0}.mobile-lg\\:margin-top-0{margin-top:0}.mobile-lg\\:margin-bottom-0{margin-bottom:0}.mobile-lg\\:margin-y-auto{margin-top:auto;margin-bottom:auto}.mobile-lg\\:margin-top-auto{margin-top:auto}.mobile-lg\\:margin-bottom-auto{margin-bottom:auto}.mobile-lg\\:margin-x-1px{margin-left:1px;margin-right:1px}.mobile-lg\\:margin-right-1px{margin-right:1px}.mobile-lg\\:margin-left-1px{margin-left:1px}.mobile-lg\\:margin-x-2px{margin-left:2px;margin-right:2px}.mobile-lg\\:margin-right-2px{margin-right:2px}.mobile-lg\\:margin-left-2px{margin-left:2px}.mobile-lg\\:margin-x-05{margin-left:0.25rem;margin-right:0.25rem}.mobile-lg\\:margin-right-05{margin-right:0.25rem}.mobile-lg\\:margin-left-05{margin-left:0.25rem}.mobile-lg\\:margin-x-1{margin-left:0.5rem;margin-right:0.5rem}.mobile-lg\\:margin-right-1{margin-right:0.5rem}.mobile-lg\\:margin-left-1{margin-left:0.5rem}.mobile-lg\\:margin-x-105{margin-left:0.75rem;margin-right:0.75rem}.mobile-lg\\:margin-right-105{margin-right:0.75rem}.mobile-lg\\:margin-left-105{margin-left:0.75rem}.mobile-lg\\:margin-x-2{margin-left:1rem;margin-right:1rem}.mobile-lg\\:margin-right-2{margin-right:1rem}.mobile-lg\\:margin-left-2{margin-left:1rem}.mobile-lg\\:margin-x-205{margin-left:1.25rem;margin-right:1.25rem}.mobile-lg\\:margin-right-205{margin-right:1.25rem}.mobile-lg\\:margin-left-205{margin-left:1.25rem}.mobile-lg\\:margin-x-3{margin-left:1.5rem;margin-right:1.5rem}.mobile-lg\\:margin-right-3{margin-right:1.5rem}.mobile-lg\\:margin-left-3{margin-left:1.5rem}.mobile-lg\\:margin-x-neg-1px{margin-left:-1px;margin-right:-1px}.mobile-lg\\:margin-right-neg-1px{margin-right:-1px}.mobile-lg\\:margin-left-neg-1px{margin-left:-1px}.mobile-lg\\:margin-x-neg-2px{margin-left:-2px;margin-right:-2px}.mobile-lg\\:margin-right-neg-2px{margin-right:-2px}.mobile-lg\\:margin-left-neg-2px{margin-left:-2px}.mobile-lg\\:margin-x-neg-05{margin-left:-0.25rem;margin-right:-0.25rem}.mobile-lg\\:margin-right-neg-05{margin-right:-0.25rem}.mobile-lg\\:margin-left-neg-05{margin-left:-0.25rem}.mobile-lg\\:margin-x-neg-1{margin-left:-0.5rem;margin-right:-0.5rem}.mobile-lg\\:margin-right-neg-1{margin-right:-0.5rem}.mobile-lg\\:margin-left-neg-1{margin-left:-0.5rem}.mobile-lg\\:margin-x-neg-105{margin-left:-0.75rem;margin-right:-0.75rem}.mobile-lg\\:margin-right-neg-105{margin-right:-0.75rem}.mobile-lg\\:margin-left-neg-105{margin-left:-0.75rem}.mobile-lg\\:margin-x-neg-2{margin-left:-1rem;margin-right:-1rem}.mobile-lg\\:margin-right-neg-2{margin-right:-1rem}.mobile-lg\\:margin-left-neg-2{margin-left:-1rem}.mobile-lg\\:margin-x-neg-205{margin-left:-1.25rem;margin-right:-1.25rem}.mobile-lg\\:margin-right-neg-205{margin-right:-1.25rem}.mobile-lg\\:margin-left-neg-205{margin-left:-1.25rem}.mobile-lg\\:margin-x-neg-3{margin-left:-1.5rem;margin-right:-1.5rem}.mobile-lg\\:margin-right-neg-3{margin-right:-1.5rem}.mobile-lg\\:margin-left-neg-3{margin-left:-1.5rem}.mobile-lg\\:margin-x-neg-4{margin-left:-2rem;margin-right:-2rem}.mobile-lg\\:margin-right-neg-4{margin-right:-2rem}.mobile-lg\\:margin-left-neg-4{margin-left:-2rem}.mobile-lg\\:margin-x-neg-5{margin-left:-2.5rem;margin-right:-2.5rem}.mobile-lg\\:margin-right-neg-5{margin-right:-2.5rem}.mobile-lg\\:margin-left-neg-5{margin-left:-2.5rem}.mobile-lg\\:margin-x-neg-6{margin-left:-3rem;margin-right:-3rem}.mobile-lg\\:margin-right-neg-6{margin-right:-3rem}.mobile-lg\\:margin-left-neg-6{margin-left:-3rem}.mobile-lg\\:margin-x-neg-7{margin-left:-3.5rem;margin-right:-3.5rem}.mobile-lg\\:margin-right-neg-7{margin-right:-3.5rem}.mobile-lg\\:margin-left-neg-7{margin-left:-3.5rem}.mobile-lg\\:margin-x-neg-8{margin-left:-4rem;margin-right:-4rem}.mobile-lg\\:margin-right-neg-8{margin-right:-4rem}.mobile-lg\\:margin-left-neg-8{margin-left:-4rem}.mobile-lg\\:margin-x-neg-9{margin-left:-4.5rem;margin-right:-4.5rem}.mobile-lg\\:margin-right-neg-9{margin-right:-4.5rem}.mobile-lg\\:margin-left-neg-9{margin-left:-4.5rem}.mobile-lg\\:margin-x-neg-10{margin-left:-5rem;margin-right:-5rem}.mobile-lg\\:margin-right-neg-10{margin-right:-5rem}.mobile-lg\\:margin-left-neg-10{margin-left:-5rem}.mobile-lg\\:margin-x-neg-15{margin-left:-7.5rem;margin-right:-7.5rem}.mobile-lg\\:margin-right-neg-15{margin-right:-7.5rem}.mobile-lg\\:margin-left-neg-15{margin-left:-7.5rem}.mobile-lg\\:margin-x-4{margin-left:2rem;margin-right:2rem}.mobile-lg\\:margin-right-4{margin-right:2rem}.mobile-lg\\:margin-left-4{margin-left:2rem}.mobile-lg\\:margin-x-5{margin-left:2.5rem;margin-right:2.5rem}.mobile-lg\\:margin-right-5{margin-right:2.5rem}.mobile-lg\\:margin-left-5{margin-left:2.5rem}.mobile-lg\\:margin-x-6{margin-left:3rem;margin-right:3rem}.mobile-lg\\:margin-right-6{margin-right:3rem}.mobile-lg\\:margin-left-6{margin-left:3rem}.mobile-lg\\:margin-x-7{margin-left:3.5rem;margin-right:3.5rem}.mobile-lg\\:margin-right-7{margin-right:3.5rem}.mobile-lg\\:margin-left-7{margin-left:3.5rem}.mobile-lg\\:margin-x-8{margin-left:4rem;margin-right:4rem}.mobile-lg\\:margin-right-8{margin-right:4rem}.mobile-lg\\:margin-left-8{margin-left:4rem}.mobile-lg\\:margin-x-9{margin-left:4.5rem;margin-right:4.5rem}.mobile-lg\\:margin-right-9{margin-right:4.5rem}.mobile-lg\\:margin-left-9{margin-left:4.5rem}.mobile-lg\\:margin-x-10{margin-left:5rem;margin-right:5rem}.mobile-lg\\:margin-right-10{margin-right:5rem}.mobile-lg\\:margin-left-10{margin-left:5rem}.mobile-lg\\:margin-x-15{margin-left:7.5rem;margin-right:7.5rem}.mobile-lg\\:margin-right-15{margin-right:7.5rem}.mobile-lg\\:margin-left-15{margin-left:7.5rem}.mobile-lg\\:margin-x-card{margin-left:10rem;margin-right:10rem}.mobile-lg\\:margin-right-card{margin-right:10rem}.mobile-lg\\:margin-left-card{margin-left:10rem}.mobile-lg\\:margin-x-card-lg{margin-left:15rem;margin-right:15rem}.mobile-lg\\:margin-right-card-lg{margin-right:15rem}.mobile-lg\\:margin-left-card-lg{margin-left:15rem}.mobile-lg\\:margin-x-mobile{margin-left:20rem;margin-right:20rem}.mobile-lg\\:margin-right-mobile{margin-right:20rem}.mobile-lg\\:margin-left-mobile{margin-left:20rem}.mobile-lg\\:margin-x-05em{margin-left:0.5em;margin-right:0.5em}.mobile-lg\\:margin-right-05em{margin-right:0.5em}.mobile-lg\\:margin-left-05em{margin-left:0.5em}.mobile-lg\\:margin-x-1em{margin-left:1em;margin-right:1em}.mobile-lg\\:margin-right-1em{margin-right:1em}.mobile-lg\\:margin-left-1em{margin-left:1em}.mobile-lg\\:margin-x-105em{margin-left:1.5em;margin-right:1.5em}.mobile-lg\\:margin-right-105em{margin-right:1.5em}.mobile-lg\\:margin-left-105em{margin-left:1.5em}.mobile-lg\\:margin-x-2em{margin-left:2em;margin-right:2em}.mobile-lg\\:margin-right-2em{margin-right:2em}.mobile-lg\\:margin-left-2em{margin-left:2em}.mobile-lg\\:margin-x-0{margin-left:0;margin-right:0}.mobile-lg\\:margin-right-0{margin-right:0}.mobile-lg\\:margin-left-0{margin-left:0}.mobile-lg\\:margin-x-auto{margin-left:auto;margin-right:auto}.mobile-lg\\:margin-right-auto{margin-right:auto}.mobile-lg\\:margin-left-auto{margin-left:auto}.mobile-lg\\:measure-1{max-width:44ex}.mobile-lg\\:measure-2{max-width:60ex}.mobile-lg\\:measure-3{max-width:64ex}.mobile-lg\\:measure-4{max-width:68ex}.mobile-lg\\:measure-5{max-width:72ex}.mobile-lg\\:measure-6{max-width:88ex}.mobile-lg\\:measure-none{max-width:none}.mobile-lg\\:order-first{order:-1}.mobile-lg\\:order-last{order:999}.mobile-lg\\:order-initial{order:initial}.mobile-lg\\:order-0{order:0}.mobile-lg\\:order-1{order:1}.mobile-lg\\:order-2{order:2}.mobile-lg\\:order-3{order:3}.mobile-lg\\:order-4{order:4}.mobile-lg\\:order-5{order:5}.mobile-lg\\:order-6{order:6}.mobile-lg\\:order-7{order:7}.mobile-lg\\:order-8{order:8}.mobile-lg\\:order-9{order:9}.mobile-lg\\:order-10{order:10}.mobile-lg\\:order-11{order:11}.mobile-lg\\:padding-1px{padding:1px}.mobile-lg\\:padding-y-1px{padding-top:1px;padding-bottom:1px}.mobile-lg\\:padding-x-1px{padding-left:1px;padding-right:1px}.mobile-lg\\:padding-top-1px{padding-top:1px}.mobile-lg\\:padding-right-1px{padding-right:1px}.mobile-lg\\:padding-bottom-1px{padding-bottom:1px}.mobile-lg\\:padding-left-1px{padding-left:1px}.mobile-lg\\:padding-2px{padding:2px}.mobile-lg\\:padding-y-2px{padding-top:2px;padding-bottom:2px}.mobile-lg\\:padding-x-2px{padding-left:2px;padding-right:2px}.mobile-lg\\:padding-top-2px{padding-top:2px}.mobile-lg\\:padding-right-2px{padding-right:2px}.mobile-lg\\:padding-bottom-2px{padding-bottom:2px}.mobile-lg\\:padding-left-2px{padding-left:2px}.mobile-lg\\:padding-05{padding:0.25rem}.mobile-lg\\:padding-y-05{padding-top:0.25rem;padding-bottom:0.25rem}.mobile-lg\\:padding-x-05{padding-left:0.25rem;padding-right:0.25rem}.mobile-lg\\:padding-top-05{padding-top:0.25rem}.mobile-lg\\:padding-right-05{padding-right:0.25rem}.mobile-lg\\:padding-bottom-05{padding-bottom:0.25rem}.mobile-lg\\:padding-left-05{padding-left:0.25rem}.mobile-lg\\:padding-1{padding:0.5rem}.mobile-lg\\:padding-y-1{padding-top:0.5rem;padding-bottom:0.5rem}.mobile-lg\\:padding-x-1{padding-left:0.5rem;padding-right:0.5rem}.mobile-lg\\:padding-top-1{padding-top:0.5rem}.mobile-lg\\:padding-right-1{padding-right:0.5rem}.mobile-lg\\:padding-bottom-1{padding-bottom:0.5rem}.mobile-lg\\:padding-left-1{padding-left:0.5rem}.mobile-lg\\:padding-105{padding:0.75rem}.mobile-lg\\:padding-y-105{padding-top:0.75rem;padding-bottom:0.75rem}.mobile-lg\\:padding-x-105{padding-left:0.75rem;padding-right:0.75rem}.mobile-lg\\:padding-top-105{padding-top:0.75rem}.mobile-lg\\:padding-right-105{padding-right:0.75rem}.mobile-lg\\:padding-bottom-105{padding-bottom:0.75rem}.mobile-lg\\:padding-left-105{padding-left:0.75rem}.mobile-lg\\:padding-2{padding:1rem}.mobile-lg\\:padding-y-2{padding-top:1rem;padding-bottom:1rem}.mobile-lg\\:padding-x-2{padding-left:1rem;padding-right:1rem}.mobile-lg\\:padding-top-2{padding-top:1rem}.mobile-lg\\:padding-right-2{padding-right:1rem}.mobile-lg\\:padding-bottom-2{padding-bottom:1rem}.mobile-lg\\:padding-left-2{padding-left:1rem}.mobile-lg\\:padding-205{padding:1.25rem}.mobile-lg\\:padding-y-205{padding-top:1.25rem;padding-bottom:1.25rem}.mobile-lg\\:padding-x-205{padding-left:1.25rem;padding-right:1.25rem}.mobile-lg\\:padding-top-205{padding-top:1.25rem}.mobile-lg\\:padding-right-205{padding-right:1.25rem}.mobile-lg\\:padding-bottom-205{padding-bottom:1.25rem}.mobile-lg\\:padding-left-205{padding-left:1.25rem}.mobile-lg\\:padding-3{padding:1.5rem}.mobile-lg\\:padding-y-3{padding-top:1.5rem;padding-bottom:1.5rem}.mobile-lg\\:padding-x-3{padding-left:1.5rem;padding-right:1.5rem}.mobile-lg\\:padding-top-3{padding-top:1.5rem}.mobile-lg\\:padding-right-3{padding-right:1.5rem}.mobile-lg\\:padding-bottom-3{padding-bottom:1.5rem}.mobile-lg\\:padding-left-3{padding-left:1.5rem}.mobile-lg\\:padding-4{padding:2rem}.mobile-lg\\:padding-y-4{padding-top:2rem;padding-bottom:2rem}.mobile-lg\\:padding-x-4{padding-left:2rem;padding-right:2rem}.mobile-lg\\:padding-top-4{padding-top:2rem}.mobile-lg\\:padding-right-4{padding-right:2rem}.mobile-lg\\:padding-bottom-4{padding-bottom:2rem}.mobile-lg\\:padding-left-4{padding-left:2rem}.mobile-lg\\:padding-5{padding:2.5rem}.mobile-lg\\:padding-y-5{padding-top:2.5rem;padding-bottom:2.5rem}.mobile-lg\\:padding-x-5{padding-left:2.5rem;padding-right:2.5rem}.mobile-lg\\:padding-top-5{padding-top:2.5rem}.mobile-lg\\:padding-right-5{padding-right:2.5rem}.mobile-lg\\:padding-bottom-5{padding-bottom:2.5rem}.mobile-lg\\:padding-left-5{padding-left:2.5rem}.mobile-lg\\:padding-6{padding:3rem}.mobile-lg\\:padding-y-6{padding-top:3rem;padding-bottom:3rem}.mobile-lg\\:padding-x-6{padding-left:3rem;padding-right:3rem}.mobile-lg\\:padding-top-6{padding-top:3rem}.mobile-lg\\:padding-right-6{padding-right:3rem}.mobile-lg\\:padding-bottom-6{padding-bottom:3rem}.mobile-lg\\:padding-left-6{padding-left:3rem}.mobile-lg\\:padding-7{padding:3.5rem}.mobile-lg\\:padding-y-7{padding-top:3.5rem;padding-bottom:3.5rem}.mobile-lg\\:padding-x-7{padding-left:3.5rem;padding-right:3.5rem}.mobile-lg\\:padding-top-7{padding-top:3.5rem}.mobile-lg\\:padding-right-7{padding-right:3.5rem}.mobile-lg\\:padding-bottom-7{padding-bottom:3.5rem}.mobile-lg\\:padding-left-7{padding-left:3.5rem}.mobile-lg\\:padding-8{padding:4rem}.mobile-lg\\:padding-y-8{padding-top:4rem;padding-bottom:4rem}.mobile-lg\\:padding-x-8{padding-left:4rem;padding-right:4rem}.mobile-lg\\:padding-top-8{padding-top:4rem}.mobile-lg\\:padding-right-8{padding-right:4rem}.mobile-lg\\:padding-bottom-8{padding-bottom:4rem}.mobile-lg\\:padding-left-8{padding-left:4rem}.mobile-lg\\:padding-9{padding:4.5rem}.mobile-lg\\:padding-y-9{padding-top:4.5rem;padding-bottom:4.5rem}.mobile-lg\\:padding-x-9{padding-left:4.5rem;padding-right:4.5rem}.mobile-lg\\:padding-top-9{padding-top:4.5rem}.mobile-lg\\:padding-right-9{padding-right:4.5rem}.mobile-lg\\:padding-bottom-9{padding-bottom:4.5rem}.mobile-lg\\:padding-left-9{padding-left:4.5rem}.mobile-lg\\:padding-10{padding:5rem}.mobile-lg\\:padding-y-10{padding-top:5rem;padding-bottom:5rem}.mobile-lg\\:padding-x-10{padding-left:5rem;padding-right:5rem}.mobile-lg\\:padding-top-10{padding-top:5rem}.mobile-lg\\:padding-right-10{padding-right:5rem}.mobile-lg\\:padding-bottom-10{padding-bottom:5rem}.mobile-lg\\:padding-left-10{padding-left:5rem}.mobile-lg\\:padding-15{padding:7.5rem}.mobile-lg\\:padding-y-15{padding-top:7.5rem;padding-bottom:7.5rem}.mobile-lg\\:padding-x-15{padding-left:7.5rem;padding-right:7.5rem}.mobile-lg\\:padding-top-15{padding-top:7.5rem}.mobile-lg\\:padding-right-15{padding-right:7.5rem}.mobile-lg\\:padding-bottom-15{padding-bottom:7.5rem}.mobile-lg\\:padding-left-15{padding-left:7.5rem}.mobile-lg\\:padding-0{padding:0}.mobile-lg\\:padding-y-0{padding-top:0;padding-bottom:0}.mobile-lg\\:padding-x-0{padding-left:0;padding-right:0}.mobile-lg\\:padding-top-0{padding-top:0}.mobile-lg\\:padding-right-0{padding-right:0}.mobile-lg\\:padding-bottom-0{padding-bottom:0}.mobile-lg\\:padding-left-0{padding-left:0}.mobile-lg\\:width-1px{width:1px}.mobile-lg\\:width-2px{width:2px}.mobile-lg\\:width-05{width:0.25rem}.mobile-lg\\:width-1{width:0.5rem}.mobile-lg\\:width-105{width:0.75rem}.mobile-lg\\:width-2{width:1rem}.mobile-lg\\:width-205{width:1.25rem}.mobile-lg\\:width-3{width:1.5rem}.mobile-lg\\:width-4{width:2rem}.mobile-lg\\:width-5{width:2.5rem}.mobile-lg\\:width-6{width:3rem}.mobile-lg\\:width-7{width:3.5rem}.mobile-lg\\:width-8{width:4rem}.mobile-lg\\:width-9{width:4.5rem}.mobile-lg\\:width-10{width:5rem}.mobile-lg\\:width-15{width:7.5rem}.mobile-lg\\:width-card{width:10rem}.mobile-lg\\:width-card-lg{width:15rem}.mobile-lg\\:width-mobile{width:20rem}.mobile-lg\\:width-mobile-lg{width:30rem}.mobile-lg\\:width-tablet{width:40rem}.mobile-lg\\:width-tablet-lg{width:55rem}.mobile-lg\\:width-desktop{width:64rem}.mobile-lg\\:width-desktop-lg{width:75rem}.mobile-lg\\:width-widescreen{width:87.5rem}.mobile-lg\\:width-0{width:0}.mobile-lg\\:width-full{width:100%}.mobile-lg\\:width-auto{width:auto}}@media all and (min-width: 40em){.tablet\\:border-1px{border:1px solid}.tablet\\:hover\\:border-1px:hover{border:1px solid}.tablet\\:border-y-1px{border-top:1px solid;border-bottom:1px solid}.tablet\\:hover\\:border-y-1px:hover{border-top:1px solid;border-bottom:1px solid}.tablet\\:border-x-1px{border-left:1px solid;border-right:1px solid}.tablet\\:hover\\:border-x-1px:hover{border-left:1px solid;border-right:1px solid}.tablet\\:border-top-1px{border-top:1px solid}.tablet\\:hover\\:border-top-1px:hover{border-top:1px solid}.tablet\\:border-right-1px{border-right:1px solid}.tablet\\:hover\\:border-right-1px:hover{border-right:1px solid}.tablet\\:border-bottom-1px{border-bottom:1px solid}.tablet\\:hover\\:border-bottom-1px:hover{border-bottom:1px solid}.tablet\\:border-left-1px{border-left:1px solid}.tablet\\:hover\\:border-left-1px:hover{border-left:1px solid}.tablet\\:border-2px{border:2px solid}.tablet\\:hover\\:border-2px:hover{border:2px solid}.tablet\\:border-y-2px{border-top:2px solid;border-bottom:2px solid}.tablet\\:hover\\:border-y-2px:hover{border-top:2px solid;border-bottom:2px solid}.tablet\\:border-x-2px{border-left:2px solid;border-right:2px solid}.tablet\\:hover\\:border-x-2px:hover{border-left:2px solid;border-right:2px solid}.tablet\\:border-top-2px{border-top:2px solid}.tablet\\:hover\\:border-top-2px:hover{border-top:2px solid}.tablet\\:border-right-2px{border-right:2px solid}.tablet\\:hover\\:border-right-2px:hover{border-right:2px solid}.tablet\\:border-bottom-2px{border-bottom:2px solid}.tablet\\:hover\\:border-bottom-2px:hover{border-bottom:2px solid}.tablet\\:border-left-2px{border-left:2px solid}.tablet\\:hover\\:border-left-2px:hover{border-left:2px solid}.tablet\\:border-05{border:0.25rem solid}.tablet\\:hover\\:border-05:hover{border:0.25rem solid}.tablet\\:border-y-05{border-top:0.25rem solid;border-bottom:0.25rem solid}.tablet\\:hover\\:border-y-05:hover{border-top:0.25rem solid;border-bottom:0.25rem solid}.tablet\\:border-x-05{border-left:0.25rem solid;border-right:0.25rem solid}.tablet\\:hover\\:border-x-05:hover{border-left:0.25rem solid;border-right:0.25rem solid}.tablet\\:border-top-05{border-top:0.25rem solid}.tablet\\:hover\\:border-top-05:hover{border-top:0.25rem solid}.tablet\\:border-right-05{border-right:0.25rem solid}.tablet\\:hover\\:border-right-05:hover{border-right:0.25rem solid}.tablet\\:border-bottom-05{border-bottom:0.25rem solid}.tablet\\:hover\\:border-bottom-05:hover{border-bottom:0.25rem solid}.tablet\\:border-left-05{border-left:0.25rem solid}.tablet\\:hover\\:border-left-05:hover{border-left:0.25rem solid}.tablet\\:border-1{border:0.5rem solid}.tablet\\:hover\\:border-1:hover{border:0.5rem solid}.tablet\\:border-y-1{border-top:0.5rem solid;border-bottom:0.5rem solid}.tablet\\:hover\\:border-y-1:hover{border-top:0.5rem solid;border-bottom:0.5rem solid}.tablet\\:border-x-1{border-left:0.5rem solid;border-right:0.5rem solid}.tablet\\:hover\\:border-x-1:hover{border-left:0.5rem solid;border-right:0.5rem solid}.tablet\\:border-top-1{border-top:0.5rem solid}.tablet\\:hover\\:border-top-1:hover{border-top:0.5rem solid}.tablet\\:border-right-1{border-right:0.5rem solid}.tablet\\:hover\\:border-right-1:hover{border-right:0.5rem solid}.tablet\\:border-bottom-1{border-bottom:0.5rem solid}.tablet\\:hover\\:border-bottom-1:hover{border-bottom:0.5rem solid}.tablet\\:border-left-1{border-left:0.5rem solid}.tablet\\:hover\\:border-left-1:hover{border-left:0.5rem solid}.tablet\\:border-105{border:0.75rem solid}.tablet\\:hover\\:border-105:hover{border:0.75rem solid}.tablet\\:border-y-105{border-top:0.75rem solid;border-bottom:0.75rem solid}.tablet\\:hover\\:border-y-105:hover{border-top:0.75rem solid;border-bottom:0.75rem solid}.tablet\\:border-x-105{border-left:0.75rem solid;border-right:0.75rem solid}.tablet\\:hover\\:border-x-105:hover{border-left:0.75rem solid;border-right:0.75rem solid}.tablet\\:border-top-105{border-top:0.75rem solid}.tablet\\:hover\\:border-top-105:hover{border-top:0.75rem solid}.tablet\\:border-right-105{border-right:0.75rem solid}.tablet\\:hover\\:border-right-105:hover{border-right:0.75rem solid}.tablet\\:border-bottom-105{border-bottom:0.75rem solid}.tablet\\:hover\\:border-bottom-105:hover{border-bottom:0.75rem solid}.tablet\\:border-left-105{border-left:0.75rem solid}.tablet\\:hover\\:border-left-105:hover{border-left:0.75rem solid}.tablet\\:border-2{border:1rem solid}.tablet\\:hover\\:border-2:hover{border:1rem solid}.tablet\\:border-y-2{border-top:1rem solid;border-bottom:1rem solid}.tablet\\:hover\\:border-y-2:hover{border-top:1rem solid;border-bottom:1rem solid}.tablet\\:border-x-2{border-left:1rem solid;border-right:1rem solid}.tablet\\:hover\\:border-x-2:hover{border-left:1rem solid;border-right:1rem solid}.tablet\\:border-top-2{border-top:1rem solid}.tablet\\:hover\\:border-top-2:hover{border-top:1rem solid}.tablet\\:border-right-2{border-right:1rem solid}.tablet\\:hover\\:border-right-2:hover{border-right:1rem solid}.tablet\\:border-bottom-2{border-bottom:1rem solid}.tablet\\:hover\\:border-bottom-2:hover{border-bottom:1rem solid}.tablet\\:border-left-2{border-left:1rem solid}.tablet\\:hover\\:border-left-2:hover{border-left:1rem solid}.tablet\\:border-205{border:1.25rem solid}.tablet\\:hover\\:border-205:hover{border:1.25rem solid}.tablet\\:border-y-205{border-top:1.25rem solid;border-bottom:1.25rem solid}.tablet\\:hover\\:border-y-205:hover{border-top:1.25rem solid;border-bottom:1.25rem solid}.tablet\\:border-x-205{border-left:1.25rem solid;border-right:1.25rem solid}.tablet\\:hover\\:border-x-205:hover{border-left:1.25rem solid;border-right:1.25rem solid}.tablet\\:border-top-205{border-top:1.25rem solid}.tablet\\:hover\\:border-top-205:hover{border-top:1.25rem solid}.tablet\\:border-right-205{border-right:1.25rem solid}.tablet\\:hover\\:border-right-205:hover{border-right:1.25rem solid}.tablet\\:border-bottom-205{border-bottom:1.25rem solid}.tablet\\:hover\\:border-bottom-205:hover{border-bottom:1.25rem solid}.tablet\\:border-left-205{border-left:1.25rem solid}.tablet\\:hover\\:border-left-205:hover{border-left:1.25rem solid}.tablet\\:border-3{border:1.5rem solid}.tablet\\:hover\\:border-3:hover{border:1.5rem solid}.tablet\\:border-y-3{border-top:1.5rem solid;border-bottom:1.5rem solid}.tablet\\:hover\\:border-y-3:hover{border-top:1.5rem solid;border-bottom:1.5rem solid}.tablet\\:border-x-3{border-left:1.5rem solid;border-right:1.5rem solid}.tablet\\:hover\\:border-x-3:hover{border-left:1.5rem solid;border-right:1.5rem solid}.tablet\\:border-top-3{border-top:1.5rem solid}.tablet\\:hover\\:border-top-3:hover{border-top:1.5rem solid}.tablet\\:border-right-3{border-right:1.5rem solid}.tablet\\:hover\\:border-right-3:hover{border-right:1.5rem solid}.tablet\\:border-bottom-3{border-bottom:1.5rem solid}.tablet\\:hover\\:border-bottom-3:hover{border-bottom:1.5rem solid}.tablet\\:border-left-3{border-left:1.5rem solid}.tablet\\:hover\\:border-left-3:hover{border-left:1.5rem solid}.tablet\\:border-0{border:0 solid}.tablet\\:hover\\:border-0:hover{border:0 solid}.tablet\\:border-y-0{border-top:0 solid;border-bottom:0 solid}.tablet\\:hover\\:border-y-0:hover{border-top:0 solid;border-bottom:0 solid}.tablet\\:border-x-0{border-left:0 solid;border-right:0 solid}.tablet\\:hover\\:border-x-0:hover{border-left:0 solid;border-right:0 solid}.tablet\\:border-top-0{border-top:0 solid}.tablet\\:hover\\:border-top-0:hover{border-top:0 solid}.tablet\\:border-right-0{border-right:0 solid}.tablet\\:hover\\:border-right-0:hover{border-right:0 solid}.tablet\\:border-bottom-0{border-bottom:0 solid}.tablet\\:hover\\:border-bottom-0:hover{border-bottom:0 solid}.tablet\\:border-left-0{border-left:0 solid}.tablet\\:hover\\:border-left-0:hover{border-left:0 solid}.tablet\\:border{border:1px solid}.tablet\\:hover\\:border:hover{border:1px solid}.tablet\\:border-y{border-top:1px solid;border-bottom:1px solid}.tablet\\:hover\\:border-y:hover{border-top:1px solid;border-bottom:1px solid}.tablet\\:border-x{border-left:1px solid;border-right:1px solid}.tablet\\:hover\\:border-x:hover{border-left:1px solid;border-right:1px solid}.tablet\\:border-top{border-top:1px solid}.tablet\\:hover\\:border-top:hover{border-top:1px solid}.tablet\\:border-right{border-right:1px solid}.tablet\\:hover\\:border-right:hover{border-right:1px solid}.tablet\\:border-bottom{border-bottom:1px solid}.tablet\\:hover\\:border-bottom:hover{border-bottom:1px solid}.tablet\\:border-left{border-left:1px solid}.tablet\\:hover\\:border-left:hover{border-left:1px solid}.tablet\\:border-transparent{border-color:transparent}.tablet\\:hover\\:border-transparent:hover{border-color:transparent}.tablet\\:border-black{border-color:black}.tablet\\:hover\\:border-black:hover{border-color:black}.tablet\\:border-white{border-color:white}.tablet\\:hover\\:border-white:hover{border-color:white}.tablet\\:border-red{border-color:#e52207}.tablet\\:hover\\:border-red:hover{border-color:#e52207}.tablet\\:border-orange{border-color:#e66f0e}.tablet\\:hover\\:border-orange:hover{border-color:#e66f0e}.tablet\\:border-gold{border-color:#ffbe2e}.tablet\\:hover\\:border-gold:hover{border-color:#ffbe2e}.tablet\\:border-yellow{border-color:#fee685}.tablet\\:hover\\:border-yellow:hover{border-color:#fee685}.tablet\\:border-green{border-color:#538200}.tablet\\:hover\\:border-green:hover{border-color:#538200}.tablet\\:border-mint{border-color:#04c585}.tablet\\:hover\\:border-mint:hover{border-color:#04c585}.tablet\\:border-cyan{border-color:#009ec1}.tablet\\:hover\\:border-cyan:hover{border-color:#009ec1}.tablet\\:border-blue{border-color:#0076d6}.tablet\\:hover\\:border-blue:hover{border-color:#0076d6}.tablet\\:border-indigo{border-color:#676cc8}.tablet\\:hover\\:border-indigo:hover{border-color:#676cc8}.tablet\\:border-violet{border-color:#8168b3}.tablet\\:hover\\:border-violet:hover{border-color:#8168b3}.tablet\\:border-magenta{border-color:#d72d79}.tablet\\:hover\\:border-magenta:hover{border-color:#d72d79}.tablet\\:border-gray-5{border-color:#f0f0f0}.tablet\\:hover\\:border-gray-5:hover{border-color:#f0f0f0}.tablet\\:border-gray-10{border-color:#e6e6e6}.tablet\\:hover\\:border-gray-10:hover{border-color:#e6e6e6}.tablet\\:border-gray-30{border-color:#adadad}.tablet\\:hover\\:border-gray-30:hover{border-color:#adadad}.tablet\\:border-gray-50{border-color:#757575}.tablet\\:hover\\:border-gray-50:hover{border-color:#757575}.tablet\\:border-gray-70{border-color:#454545}.tablet\\:hover\\:border-gray-70:hover{border-color:#454545}.tablet\\:border-gray-90{border-color:#1b1b1b}.tablet\\:hover\\:border-gray-90:hover{border-color:#1b1b1b}.tablet\\:border-base-lightest{border-color:#f0f0f0}.tablet\\:hover\\:border-base-lightest:hover{border-color:#f0f0f0}.tablet\\:border-base-lighter{border-color:#dfe1e2}.tablet\\:hover\\:border-base-lighter:hover{border-color:#dfe1e2}.tablet\\:border-base-light{border-color:#a9aeb1}.tablet\\:hover\\:border-base-light:hover{border-color:#a9aeb1}.tablet\\:border-base{border-color:#71767a}.tablet\\:hover\\:border-base:hover{border-color:#71767a}.tablet\\:border-base-dark{border-color:#565c65}.tablet\\:hover\\:border-base-dark:hover{border-color:#565c65}.tablet\\:border-base-darker{border-color:#3d4551}.tablet\\:hover\\:border-base-darker:hover{border-color:#3d4551}.tablet\\:border-base-darkest{border-color:#1b1b1b}.tablet\\:hover\\:border-base-darkest:hover{border-color:#1b1b1b}.tablet\\:border-ink{border-color:#1b1b1b}.tablet\\:hover\\:border-ink:hover{border-color:#1b1b1b}.tablet\\:border-primary-lighter{border-color:#d9e8f6}.tablet\\:hover\\:border-primary-lighter:hover{border-color:#d9e8f6}.tablet\\:border-primary-light{border-color:#73b3e7}.tablet\\:hover\\:border-primary-light:hover{border-color:#73b3e7}.tablet\\:border-primary{border-color:#005ea2}.tablet\\:hover\\:border-primary:hover{border-color:#005ea2}.tablet\\:border-primary-vivid{border-color:#0050d8}.tablet\\:hover\\:border-primary-vivid:hover{border-color:#0050d8}.tablet\\:border-primary-dark{border-color:#1a4480}.tablet\\:hover\\:border-primary-dark:hover{border-color:#1a4480}.tablet\\:border-primary-darker{border-color:#162e51}.tablet\\:hover\\:border-primary-darker:hover{border-color:#162e51}.tablet\\:border-secondary-lighter{border-color:#f3e1e4}.tablet\\:hover\\:border-secondary-lighter:hover{border-color:#f3e1e4}.tablet\\:border-secondary-light{border-color:#f2938c}.tablet\\:hover\\:border-secondary-light:hover{border-color:#f2938c}.tablet\\:border-secondary{border-color:#d83933}.tablet\\:hover\\:border-secondary:hover{border-color:#d83933}.tablet\\:border-secondary-vivid{border-color:#e41d3d}.tablet\\:hover\\:border-secondary-vivid:hover{border-color:#e41d3d}.tablet\\:border-secondary-dark{border-color:#b50909}.tablet\\:hover\\:border-secondary-dark:hover{border-color:#b50909}.tablet\\:border-secondary-darker{border-color:#8b0a03}.tablet\\:hover\\:border-secondary-darker:hover{border-color:#8b0a03}.tablet\\:border-accent-warm-darker{border-color:#775540}.tablet\\:hover\\:border-accent-warm-darker:hover{border-color:#775540}.tablet\\:border-accent-warm-dark{border-color:#c05600}.tablet\\:hover\\:border-accent-warm-dark:hover{border-color:#c05600}.tablet\\:border-accent-warm{border-color:#fa9441}.tablet\\:hover\\:border-accent-warm:hover{border-color:#fa9441}.tablet\\:border-accent-warm-light{border-color:#ffbc78}.tablet\\:hover\\:border-accent-warm-light:hover{border-color:#ffbc78}.tablet\\:border-accent-warm-lighter{border-color:#f2e4d4}.tablet\\:hover\\:border-accent-warm-lighter:hover{border-color:#f2e4d4}.tablet\\:border-accent-cool-darker{border-color:#07648d}.tablet\\:hover\\:border-accent-cool-darker:hover{border-color:#07648d}.tablet\\:border-accent-cool-dark{border-color:#28a0cb}.tablet\\:hover\\:border-accent-cool-dark:hover{border-color:#28a0cb}.tablet\\:border-accent-cool{border-color:#00bde3}.tablet\\:hover\\:border-accent-cool:hover{border-color:#00bde3}.tablet\\:border-accent-cool-light{border-color:#97d4ea}.tablet\\:hover\\:border-accent-cool-light:hover{border-color:#97d4ea}.tablet\\:border-accent-cool-lighter{border-color:#e1f3f8}.tablet\\:hover\\:border-accent-cool-lighter:hover{border-color:#e1f3f8}.tablet\\:border-error-lighter{border-color:#f4e3db}.tablet\\:hover\\:border-error-lighter:hover{border-color:#f4e3db}.tablet\\:border-error-light{border-color:#f39268}.tablet\\:hover\\:border-error-light:hover{border-color:#f39268}.tablet\\:border-error{border-color:#d54309}.tablet\\:hover\\:border-error:hover{border-color:#d54309}.tablet\\:border-error-dark{border-color:#b50909}.tablet\\:hover\\:border-error-dark:hover{border-color:#b50909}.tablet\\:border-error-darker{border-color:#6f3331}.tablet\\:hover\\:border-error-darker:hover{border-color:#6f3331}.tablet\\:border-warning-lighter{border-color:#faf3d1}.tablet\\:hover\\:border-warning-lighter:hover{border-color:#faf3d1}.tablet\\:border-warning-light{border-color:#fee685}.tablet\\:hover\\:border-warning-light:hover{border-color:#fee685}.tablet\\:border-warning{border-color:#ffbe2e}.tablet\\:hover\\:border-warning:hover{border-color:#ffbe2e}.tablet\\:border-warning-dark{border-color:#e5a000}.tablet\\:hover\\:border-warning-dark:hover{border-color:#e5a000}.tablet\\:border-warning-darker{border-color:#936f38}.tablet\\:hover\\:border-warning-darker:hover{border-color:#936f38}.tablet\\:border-success-lighter{border-color:#ecf3ec}.tablet\\:hover\\:border-success-lighter:hover{border-color:#ecf3ec}.tablet\\:border-success-light{border-color:#70e17b}.tablet\\:hover\\:border-success-light:hover{border-color:#70e17b}.tablet\\:border-success{border-color:#00a91c}.tablet\\:hover\\:border-success:hover{border-color:#00a91c}.tablet\\:border-success-dark{border-color:#008817}.tablet\\:hover\\:border-success-dark:hover{border-color:#008817}.tablet\\:border-success-darker{border-color:#216e1f}.tablet\\:hover\\:border-success-darker:hover{border-color:#216e1f}.tablet\\:border-info-lighter{border-color:#e7f6f8}.tablet\\:hover\\:border-info-lighter:hover{border-color:#e7f6f8}.tablet\\:border-info-light{border-color:#99deea}.tablet\\:hover\\:border-info-light:hover{border-color:#99deea}.tablet\\:border-info{border-color:#00bde3}.tablet\\:hover\\:border-info:hover{border-color:#00bde3}.tablet\\:border-info-dark{border-color:#009ec1}.tablet\\:hover\\:border-info-dark:hover{border-color:#009ec1}.tablet\\:border-info-darker{border-color:#2e6276}.tablet\\:hover\\:border-info-darker:hover{border-color:#2e6276}.tablet\\:border-disabled-lighter{border-color:#c9c9c9}.tablet\\:hover\\:border-disabled-lighter:hover{border-color:#c9c9c9}.tablet\\:border-disabled-light{border-color:#919191}.tablet\\:hover\\:border-disabled-light:hover{border-color:#919191}.tablet\\:border-disabled{border-color:#757575}.tablet\\:hover\\:border-disabled:hover{border-color:#757575}.tablet\\:border-disabled-dark{border-color:#454545}.tablet\\:hover\\:border-disabled-dark:hover{border-color:#454545}.tablet\\:border-disabled-darker{border-color:#1b1b1b}.tablet\\:hover\\:border-disabled-darker:hover{border-color:#1b1b1b}.tablet\\:border-emergency{border-color:#9c3d10}.tablet\\:hover\\:border-emergency:hover{border-color:#9c3d10}.tablet\\:border-emergency-dark{border-color:#332d29}.tablet\\:hover\\:border-emergency-dark:hover{border-color:#332d29}.tablet\\:radius-0{border-radius:0}.tablet\\:radius-top-0{border-top-left-radius:0;border-top-right-radius:0}.tablet\\:radius-right-0{border-top-right-radius:0;border-bottom-right-radius:0}.tablet\\:radius-bottom-0{border-bottom-left-radius:0;border-bottom-right-radius:0}.tablet\\:radius-left-0{border-top-left-radius:0;border-bottom-left-radius:0}.tablet\\:radius-sm{border-radius:2px}.tablet\\:radius-top-sm{border-top-left-radius:2px;border-top-right-radius:2px}.tablet\\:radius-right-sm{border-top-right-radius:2px;border-bottom-right-radius:2px}.tablet\\:radius-bottom-sm{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.tablet\\:radius-left-sm{border-top-left-radius:2px;border-bottom-left-radius:2px}.tablet\\:radius-md{border-radius:0.25rem}.tablet\\:radius-top-md{border-top-left-radius:0.25rem;border-top-right-radius:0.25rem}.tablet\\:radius-right-md{border-top-right-radius:0.25rem;border-bottom-right-radius:0.25rem}.tablet\\:radius-bottom-md{border-bottom-left-radius:0.25rem;border-bottom-right-radius:0.25rem}.tablet\\:radius-left-md{border-top-left-radius:0.25rem;border-bottom-left-radius:0.25rem}.tablet\\:radius-lg{border-radius:0.5rem}.tablet\\:radius-top-lg{border-top-left-radius:0.5rem;border-top-right-radius:0.5rem}.tablet\\:radius-right-lg{border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem}.tablet\\:radius-bottom-lg{border-bottom-left-radius:0.5rem;border-bottom-right-radius:0.5rem}.tablet\\:radius-left-lg{border-top-left-radius:0.5rem;border-bottom-left-radius:0.5rem}.tablet\\:radius-pill{border-radius:99rem}.tablet\\:radius-top-pill{border-top-left-radius:99rem;border-top-right-radius:99rem}.tablet\\:radius-right-pill{border-top-right-radius:99rem;border-bottom-right-radius:99rem}.tablet\\:radius-bottom-pill{border-bottom-left-radius:99rem;border-bottom-right-radius:99rem}.tablet\\:radius-left-pill{border-top-left-radius:99rem;border-bottom-left-radius:99rem}.tablet\\:display-block{display:block}.tablet\\:display-flex{display:flex}.tablet\\:display-none{display:none}.tablet\\:display-inline{display:inline}.tablet\\:display-inline-block{display:inline-block}.tablet\\:display-inline-flex{display:inline-flex}.tablet\\:display-table{display:table}.tablet\\:display-table-cell{display:table-cell}.tablet\\:display-table-row{display:table-row}.tablet\\:font-mono-3xs{font-size:0.77rem}.tablet\\:font-mono-2xs{font-size:0.83rem}.tablet\\:font-mono-xs{font-size:0.89rem}.tablet\\:font-mono-sm{font-size:0.95rem}.tablet\\:font-mono-md{font-size:1.01rem}.tablet\\:font-mono-lg{font-size:1.31rem}.tablet\\:font-mono-xl{font-size:1.91rem}.tablet\\:font-mono-2xl{font-size:2.38rem}.tablet\\:font-mono-3xl{font-size:2.86rem}.tablet\\:font-sans-3xs{font-size:0.87rem}.tablet\\:font-sans-2xs{font-size:0.93rem}.tablet\\:font-sans-xs{font-size:1rem}.tablet\\:font-sans-sm{font-size:1.06rem}.tablet\\:font-sans-md{font-size:1.13rem}.tablet\\:font-sans-lg{font-size:1.46rem}.tablet\\:font-sans-xl{font-size:2.13rem}.tablet\\:font-sans-2xl{font-size:2.66rem}.tablet\\:font-sans-3xl{font-size:3.19rem}.tablet\\:font-serif-3xs{font-size:0.79rem}.tablet\\:font-serif-2xs{font-size:0.85rem}.tablet\\:font-serif-xs{font-size:0.91rem}.tablet\\:font-serif-sm{font-size:0.98rem}.tablet\\:font-serif-md{font-size:1.04rem}.tablet\\:font-serif-lg{font-size:1.34rem}.tablet\\:font-serif-xl{font-size:1.95rem}.tablet\\:font-serif-2xl{font-size:2.44rem}.tablet\\:font-serif-3xl{font-size:2.93rem}.tablet\\:font-heading-3xs{font-size:0.79rem}.tablet\\:font-heading-2xs{font-size:0.85rem}.tablet\\:font-heading-xs{font-size:0.91rem}.tablet\\:font-heading-sm{font-size:0.98rem}.tablet\\:font-heading-md{font-size:1.04rem}.tablet\\:font-heading-lg{font-size:1.34rem}.tablet\\:font-heading-xl{font-size:1.95rem}.tablet\\:font-heading-2xl{font-size:2.44rem}.tablet\\:font-heading-3xl{font-size:2.93rem}.tablet\\:font-body-3xs{font-size:0.87rem}.tablet\\:font-body-2xs{font-size:0.93rem}.tablet\\:font-body-xs{font-size:1rem}.tablet\\:font-body-sm{font-size:1.06rem}.tablet\\:font-body-md{font-size:1.13rem}.tablet\\:font-body-lg{font-size:1.46rem}.tablet\\:font-body-xl{font-size:2.13rem}.tablet\\:font-body-2xl{font-size:2.66rem}.tablet\\:font-body-3xl{font-size:3.19rem}.tablet\\:font-code-3xs{font-size:0.77rem}.tablet\\:font-code-2xs{font-size:0.83rem}.tablet\\:font-code-xs{font-size:0.89rem}.tablet\\:font-code-sm{font-size:0.95rem}.tablet\\:font-code-md{font-size:1.01rem}.tablet\\:font-code-lg{font-size:1.31rem}.tablet\\:font-code-xl{font-size:1.91rem}.tablet\\:font-code-2xl{font-size:2.38rem}.tablet\\:font-code-3xl{font-size:2.86rem}.tablet\\:font-alt-3xs{font-size:0.79rem}.tablet\\:font-alt-2xs{font-size:0.85rem}.tablet\\:font-alt-xs{font-size:0.91rem}.tablet\\:font-alt-sm{font-size:0.98rem}.tablet\\:font-alt-md{font-size:1.04rem}.tablet\\:font-alt-lg{font-size:1.34rem}.tablet\\:font-alt-xl{font-size:1.95rem}.tablet\\:font-alt-2xl{font-size:2.44rem}.tablet\\:font-alt-3xl{font-size:2.93rem}.tablet\\:font-ui-3xs{font-size:0.87rem}.tablet\\:font-ui-2xs{font-size:0.93rem}.tablet\\:font-ui-xs{font-size:1rem}.tablet\\:font-ui-sm{font-size:1.06rem}.tablet\\:font-ui-md{font-size:1.13rem}.tablet\\:font-ui-lg{font-size:1.46rem}.tablet\\:font-ui-xl{font-size:2.13rem}.tablet\\:font-ui-2xl{font-size:2.66rem}.tablet\\:font-ui-3xl{font-size:3.19rem}.tablet\\:text-light{font-weight:300}.tablet\\:text-normal{font-weight:normal}.tablet\\:text-bold{font-weight:700}.tablet\\:flex-justify-center{justify-content:center}.tablet\\:flex-justify-start{justify-content:flex-start}.tablet\\:flex-justify-end{justify-content:flex-end}.tablet\\:flex-justify{justify-content:space-between}.tablet\\:line-height-sans-1{line-height:0.9}.tablet\\:line-height-sans-2{line-height:1.1}.tablet\\:line-height-sans-3{line-height:1.3}.tablet\\:line-height-sans-4{line-height:1.4}.tablet\\:line-height-sans-5{line-height:1.5}.tablet\\:line-height-sans-6{line-height:1.6}.tablet\\:line-height-serif-1{line-height:1}.tablet\\:line-height-serif-2{line-height:1.2}.tablet\\:line-height-serif-3{line-height:1.4}.tablet\\:line-height-serif-4{line-height:1.5}.tablet\\:line-height-serif-5{line-height:1.7}.tablet\\:line-height-serif-6{line-height:1.8}.tablet\\:line-height-mono-1{line-height:1}.tablet\\:line-height-mono-2{line-height:1.3}.tablet\\:line-height-mono-3{line-height:1.4}.tablet\\:line-height-mono-4{line-height:1.6}.tablet\\:line-height-mono-5{line-height:1.7}.tablet\\:line-height-mono-6{line-height:1.8}.tablet\\:line-height-heading-1{line-height:1}.tablet\\:line-height-heading-2{line-height:1.2}.tablet\\:line-height-heading-3{line-height:1.4}.tablet\\:line-height-heading-4{line-height:1.5}.tablet\\:line-height-heading-5{line-height:1.7}.tablet\\:line-height-heading-6{line-height:1.8}.tablet\\:line-height-ui-1{line-height:0.9}.tablet\\:line-height-ui-2{line-height:1.1}.tablet\\:line-height-ui-3{line-height:1.3}.tablet\\:line-height-ui-4{line-height:1.4}.tablet\\:line-height-ui-5{line-height:1.5}.tablet\\:line-height-ui-6{line-height:1.6}.tablet\\:line-height-body-1{line-height:0.9}.tablet\\:line-height-body-2{line-height:1.1}.tablet\\:line-height-body-3{line-height:1.3}.tablet\\:line-height-body-4{line-height:1.4}.tablet\\:line-height-body-5{line-height:1.5}.tablet\\:line-height-body-6{line-height:1.6}.tablet\\:line-height-code-1{line-height:1}.tablet\\:line-height-code-2{line-height:1.3}.tablet\\:line-height-code-3{line-height:1.4}.tablet\\:line-height-code-4{line-height:1.6}.tablet\\:line-height-code-5{line-height:1.7}.tablet\\:line-height-code-6{line-height:1.8}.tablet\\:line-height-alt-1{line-height:1}.tablet\\:line-height-alt-2{line-height:1.2}.tablet\\:line-height-alt-3{line-height:1.4}.tablet\\:line-height-alt-4{line-height:1.5}.tablet\\:line-height-alt-5{line-height:1.7}.tablet\\:line-height-alt-6{line-height:1.8}.tablet\\:margin-neg-1px{margin:-1px}.tablet\\:margin-neg-2px{margin:-2px}.tablet\\:margin-neg-05{margin:-0.25rem}.tablet\\:margin-neg-1{margin:-0.5rem}.tablet\\:margin-neg-105{margin:-0.75rem}.tablet\\:margin-neg-2{margin:-1rem}.tablet\\:margin-neg-205{margin:-1.25rem}.tablet\\:margin-neg-3{margin:-1.5rem}.tablet\\:margin-1px{margin:1px}.tablet\\:margin-2px{margin:2px}.tablet\\:margin-05{margin:0.25rem}.tablet\\:margin-1{margin:0.5rem}.tablet\\:margin-105{margin:0.75rem}.tablet\\:margin-2{margin:1rem}.tablet\\:margin-205{margin:1.25rem}.tablet\\:margin-3{margin:1.5rem}.tablet\\:margin-neg-4{margin:-2rem}.tablet\\:margin-neg-5{margin:-2.5rem}.tablet\\:margin-neg-6{margin:-3rem}.tablet\\:margin-neg-7{margin:-3.5rem}.tablet\\:margin-neg-8{margin:-4rem}.tablet\\:margin-neg-9{margin:-4.5rem}.tablet\\:margin-neg-10{margin:-5rem}.tablet\\:margin-neg-15{margin:-7.5rem}.tablet\\:margin-4{margin:2rem}.tablet\\:margin-5{margin:2.5rem}.tablet\\:margin-6{margin:3rem}.tablet\\:margin-7{margin:3.5rem}.tablet\\:margin-8{margin:4rem}.tablet\\:margin-9{margin:4.5rem}.tablet\\:margin-10{margin:5rem}.tablet\\:margin-15{margin:7.5rem}.tablet\\:margin-05em{margin:0.5em}.tablet\\:margin-1em{margin:1em}.tablet\\:margin-105em{margin:1.5em}.tablet\\:margin-2em{margin:2em}.tablet\\:margin-0{margin:0}.tablet\\:margin-y-1px{margin-top:1px;margin-bottom:1px}.tablet\\:margin-top-1px{margin-top:1px}.tablet\\:margin-bottom-1px{margin-bottom:1px}.tablet\\:margin-y-2px{margin-top:2px;margin-bottom:2px}.tablet\\:margin-top-2px{margin-top:2px}.tablet\\:margin-bottom-2px{margin-bottom:2px}.tablet\\:margin-y-05{margin-top:0.25rem;margin-bottom:0.25rem}.tablet\\:margin-top-05{margin-top:0.25rem}.tablet\\:margin-bottom-05{margin-bottom:0.25rem}.tablet\\:margin-y-1{margin-top:0.5rem;margin-bottom:0.5rem}.tablet\\:margin-top-1{margin-top:0.5rem}.tablet\\:margin-bottom-1{margin-bottom:0.5rem}.tablet\\:margin-y-105{margin-top:0.75rem;margin-bottom:0.75rem}.tablet\\:margin-top-105{margin-top:0.75rem}.tablet\\:margin-bottom-105{margin-bottom:0.75rem}.tablet\\:margin-y-2{margin-top:1rem;margin-bottom:1rem}.tablet\\:margin-top-2{margin-top:1rem}.tablet\\:margin-bottom-2{margin-bottom:1rem}.tablet\\:margin-y-205{margin-top:1.25rem;margin-bottom:1.25rem}.tablet\\:margin-top-205{margin-top:1.25rem}.tablet\\:margin-bottom-205{margin-bottom:1.25rem}.tablet\\:margin-y-3{margin-top:1.5rem;margin-bottom:1.5rem}.tablet\\:margin-top-3{margin-top:1.5rem}.tablet\\:margin-bottom-3{margin-bottom:1.5rem}.tablet\\:margin-y-neg-1px{margin-top:-1px;margin-bottom:-1px}.tablet\\:margin-top-neg-1px{margin-top:-1px}.tablet\\:margin-bottom-neg-1px{margin-bottom:-1px}.tablet\\:margin-y-neg-2px{margin-top:-2px;margin-bottom:-2px}.tablet\\:margin-top-neg-2px{margin-top:-2px}.tablet\\:margin-bottom-neg-2px{margin-bottom:-2px}.tablet\\:margin-y-neg-05{margin-top:-0.25rem;margin-bottom:-0.25rem}.tablet\\:margin-top-neg-05{margin-top:-0.25rem}.tablet\\:margin-bottom-neg-05{margin-bottom:-0.25rem}.tablet\\:margin-y-neg-1{margin-top:-0.5rem;margin-bottom:-0.5rem}.tablet\\:margin-top-neg-1{margin-top:-0.5rem}.tablet\\:margin-bottom-neg-1{margin-bottom:-0.5rem}.tablet\\:margin-y-neg-105{margin-top:-0.75rem;margin-bottom:-0.75rem}.tablet\\:margin-top-neg-105{margin-top:-0.75rem}.tablet\\:margin-bottom-neg-105{margin-bottom:-0.75rem}.tablet\\:margin-y-neg-2{margin-top:-1rem;margin-bottom:-1rem}.tablet\\:margin-top-neg-2{margin-top:-1rem}.tablet\\:margin-bottom-neg-2{margin-bottom:-1rem}.tablet\\:margin-y-neg-205{margin-top:-1.25rem;margin-bottom:-1.25rem}.tablet\\:margin-top-neg-205{margin-top:-1.25rem}.tablet\\:margin-bottom-neg-205{margin-bottom:-1.25rem}.tablet\\:margin-y-neg-3{margin-top:-1.5rem;margin-bottom:-1.5rem}.tablet\\:margin-top-neg-3{margin-top:-1.5rem}.tablet\\:margin-bottom-neg-3{margin-bottom:-1.5rem}.tablet\\:margin-y-neg-4{margin-top:-2rem;margin-bottom:-2rem}.tablet\\:margin-top-neg-4{margin-top:-2rem}.tablet\\:margin-bottom-neg-4{margin-bottom:-2rem}.tablet\\:margin-y-neg-5{margin-top:-2.5rem;margin-bottom:-2.5rem}.tablet\\:margin-top-neg-5{margin-top:-2.5rem}.tablet\\:margin-bottom-neg-5{margin-bottom:-2.5rem}.tablet\\:margin-y-neg-6{margin-top:-3rem;margin-bottom:-3rem}.tablet\\:margin-top-neg-6{margin-top:-3rem}.tablet\\:margin-bottom-neg-6{margin-bottom:-3rem}.tablet\\:margin-y-neg-7{margin-top:-3.5rem;margin-bottom:-3.5rem}.tablet\\:margin-top-neg-7{margin-top:-3.5rem}.tablet\\:margin-bottom-neg-7{margin-bottom:-3.5rem}.tablet\\:margin-y-neg-8{margin-top:-4rem;margin-bottom:-4rem}.tablet\\:margin-top-neg-8{margin-top:-4rem}.tablet\\:margin-bottom-neg-8{margin-bottom:-4rem}.tablet\\:margin-y-neg-9{margin-top:-4.5rem;margin-bottom:-4.5rem}.tablet\\:margin-top-neg-9{margin-top:-4.5rem}.tablet\\:margin-bottom-neg-9{margin-bottom:-4.5rem}.tablet\\:margin-y-neg-10{margin-top:-5rem;margin-bottom:-5rem}.tablet\\:margin-top-neg-10{margin-top:-5rem}.tablet\\:margin-bottom-neg-10{margin-bottom:-5rem}.tablet\\:margin-y-neg-15{margin-top:-7.5rem;margin-bottom:-7.5rem}.tablet\\:margin-top-neg-15{margin-top:-7.5rem}.tablet\\:margin-bottom-neg-15{margin-bottom:-7.5rem}.tablet\\:margin-y-4{margin-top:2rem;margin-bottom:2rem}.tablet\\:margin-top-4{margin-top:2rem}.tablet\\:margin-bottom-4{margin-bottom:2rem}.tablet\\:margin-y-5{margin-top:2.5rem;margin-bottom:2.5rem}.tablet\\:margin-top-5{margin-top:2.5rem}.tablet\\:margin-bottom-5{margin-bottom:2.5rem}.tablet\\:margin-y-6{margin-top:3rem;margin-bottom:3rem}.tablet\\:margin-top-6{margin-top:3rem}.tablet\\:margin-bottom-6{margin-bottom:3rem}.tablet\\:margin-y-7{margin-top:3.5rem;margin-bottom:3.5rem}.tablet\\:margin-top-7{margin-top:3.5rem}.tablet\\:margin-bottom-7{margin-bottom:3.5rem}.tablet\\:margin-y-8{margin-top:4rem;margin-bottom:4rem}.tablet\\:margin-top-8{margin-top:4rem}.tablet\\:margin-bottom-8{margin-bottom:4rem}.tablet\\:margin-y-9{margin-top:4.5rem;margin-bottom:4.5rem}.tablet\\:margin-top-9{margin-top:4.5rem}.tablet\\:margin-bottom-9{margin-bottom:4.5rem}.tablet\\:margin-y-10{margin-top:5rem;margin-bottom:5rem}.tablet\\:margin-top-10{margin-top:5rem}.tablet\\:margin-bottom-10{margin-bottom:5rem}.tablet\\:margin-y-15{margin-top:7.5rem;margin-bottom:7.5rem}.tablet\\:margin-top-15{margin-top:7.5rem}.tablet\\:margin-bottom-15{margin-bottom:7.5rem}.tablet\\:margin-y-05em{margin-top:0.5em;margin-bottom:0.5em}.tablet\\:margin-top-05em{margin-top:0.5em}.tablet\\:margin-bottom-05em{margin-bottom:0.5em}.tablet\\:margin-y-1em{margin-top:1em;margin-bottom:1em}.tablet\\:margin-top-1em{margin-top:1em}.tablet\\:margin-bottom-1em{margin-bottom:1em}.tablet\\:margin-y-105em{margin-top:1.5em;margin-bottom:1.5em}.tablet\\:margin-top-105em{margin-top:1.5em}.tablet\\:margin-bottom-105em{margin-bottom:1.5em}.tablet\\:margin-y-2em{margin-top:2em;margin-bottom:2em}.tablet\\:margin-top-2em{margin-top:2em}.tablet\\:margin-bottom-2em{margin-bottom:2em}.tablet\\:margin-y-0{margin-top:0;margin-bottom:0}.tablet\\:margin-top-0{margin-top:0}.tablet\\:margin-bottom-0{margin-bottom:0}.tablet\\:margin-y-auto{margin-top:auto;margin-bottom:auto}.tablet\\:margin-top-auto{margin-top:auto}.tablet\\:margin-bottom-auto{margin-bottom:auto}.tablet\\:margin-x-1px{margin-left:1px;margin-right:1px}.tablet\\:margin-right-1px{margin-right:1px}.tablet\\:margin-left-1px{margin-left:1px}.tablet\\:margin-x-2px{margin-left:2px;margin-right:2px}.tablet\\:margin-right-2px{margin-right:2px}.tablet\\:margin-left-2px{margin-left:2px}.tablet\\:margin-x-05{margin-left:0.25rem;margin-right:0.25rem}.tablet\\:margin-right-05{margin-right:0.25rem}.tablet\\:margin-left-05{margin-left:0.25rem}.tablet\\:margin-x-1{margin-left:0.5rem;margin-right:0.5rem}.tablet\\:margin-right-1{margin-right:0.5rem}.tablet\\:margin-left-1{margin-left:0.5rem}.tablet\\:margin-x-105{margin-left:0.75rem;margin-right:0.75rem}.tablet\\:margin-right-105{margin-right:0.75rem}.tablet\\:margin-left-105{margin-left:0.75rem}.tablet\\:margin-x-2{margin-left:1rem;margin-right:1rem}.tablet\\:margin-right-2{margin-right:1rem}.tablet\\:margin-left-2{margin-left:1rem}.tablet\\:margin-x-205{margin-left:1.25rem;margin-right:1.25rem}.tablet\\:margin-right-205{margin-right:1.25rem}.tablet\\:margin-left-205{margin-left:1.25rem}.tablet\\:margin-x-3{margin-left:1.5rem;margin-right:1.5rem}.tablet\\:margin-right-3{margin-right:1.5rem}.tablet\\:margin-left-3{margin-left:1.5rem}.tablet\\:margin-x-neg-1px{margin-left:-1px;margin-right:-1px}.tablet\\:margin-right-neg-1px{margin-right:-1px}.tablet\\:margin-left-neg-1px{margin-left:-1px}.tablet\\:margin-x-neg-2px{margin-left:-2px;margin-right:-2px}.tablet\\:margin-right-neg-2px{margin-right:-2px}.tablet\\:margin-left-neg-2px{margin-left:-2px}.tablet\\:margin-x-neg-05{margin-left:-0.25rem;margin-right:-0.25rem}.tablet\\:margin-right-neg-05{margin-right:-0.25rem}.tablet\\:margin-left-neg-05{margin-left:-0.25rem}.tablet\\:margin-x-neg-1{margin-left:-0.5rem;margin-right:-0.5rem}.tablet\\:margin-right-neg-1{margin-right:-0.5rem}.tablet\\:margin-left-neg-1{margin-left:-0.5rem}.tablet\\:margin-x-neg-105{margin-left:-0.75rem;margin-right:-0.75rem}.tablet\\:margin-right-neg-105{margin-right:-0.75rem}.tablet\\:margin-left-neg-105{margin-left:-0.75rem}.tablet\\:margin-x-neg-2{margin-left:-1rem;margin-right:-1rem}.tablet\\:margin-right-neg-2{margin-right:-1rem}.tablet\\:margin-left-neg-2{margin-left:-1rem}.tablet\\:margin-x-neg-205{margin-left:-1.25rem;margin-right:-1.25rem}.tablet\\:margin-right-neg-205{margin-right:-1.25rem}.tablet\\:margin-left-neg-205{margin-left:-1.25rem}.tablet\\:margin-x-neg-3{margin-left:-1.5rem;margin-right:-1.5rem}.tablet\\:margin-right-neg-3{margin-right:-1.5rem}.tablet\\:margin-left-neg-3{margin-left:-1.5rem}.tablet\\:margin-x-neg-4{margin-left:-2rem;margin-right:-2rem}.tablet\\:margin-right-neg-4{margin-right:-2rem}.tablet\\:margin-left-neg-4{margin-left:-2rem}.tablet\\:margin-x-neg-5{margin-left:-2.5rem;margin-right:-2.5rem}.tablet\\:margin-right-neg-5{margin-right:-2.5rem}.tablet\\:margin-left-neg-5{margin-left:-2.5rem}.tablet\\:margin-x-neg-6{margin-left:-3rem;margin-right:-3rem}.tablet\\:margin-right-neg-6{margin-right:-3rem}.tablet\\:margin-left-neg-6{margin-left:-3rem}.tablet\\:margin-x-neg-7{margin-left:-3.5rem;margin-right:-3.5rem}.tablet\\:margin-right-neg-7{margin-right:-3.5rem}.tablet\\:margin-left-neg-7{margin-left:-3.5rem}.tablet\\:margin-x-neg-8{margin-left:-4rem;margin-right:-4rem}.tablet\\:margin-right-neg-8{margin-right:-4rem}.tablet\\:margin-left-neg-8{margin-left:-4rem}.tablet\\:margin-x-neg-9{margin-left:-4.5rem;margin-right:-4.5rem}.tablet\\:margin-right-neg-9{margin-right:-4.5rem}.tablet\\:margin-left-neg-9{margin-left:-4.5rem}.tablet\\:margin-x-neg-10{margin-left:-5rem;margin-right:-5rem}.tablet\\:margin-right-neg-10{margin-right:-5rem}.tablet\\:margin-left-neg-10{margin-left:-5rem}.tablet\\:margin-x-neg-15{margin-left:-7.5rem;margin-right:-7.5rem}.tablet\\:margin-right-neg-15{margin-right:-7.5rem}.tablet\\:margin-left-neg-15{margin-left:-7.5rem}.tablet\\:margin-x-4{margin-left:2rem;margin-right:2rem}.tablet\\:margin-right-4{margin-right:2rem}.tablet\\:margin-left-4{margin-left:2rem}.tablet\\:margin-x-5{margin-left:2.5rem;margin-right:2.5rem}.tablet\\:margin-right-5{margin-right:2.5rem}.tablet\\:margin-left-5{margin-left:2.5rem}.tablet\\:margin-x-6{margin-left:3rem;margin-right:3rem}.tablet\\:margin-right-6{margin-right:3rem}.tablet\\:margin-left-6{margin-left:3rem}.tablet\\:margin-x-7{margin-left:3.5rem;margin-right:3.5rem}.tablet\\:margin-right-7{margin-right:3.5rem}.tablet\\:margin-left-7{margin-left:3.5rem}.tablet\\:margin-x-8{margin-left:4rem;margin-right:4rem}.tablet\\:margin-right-8{margin-right:4rem}.tablet\\:margin-left-8{margin-left:4rem}.tablet\\:margin-x-9{margin-left:4.5rem;margin-right:4.5rem}.tablet\\:margin-right-9{margin-right:4.5rem}.tablet\\:margin-left-9{margin-left:4.5rem}.tablet\\:margin-x-10{margin-left:5rem;margin-right:5rem}.tablet\\:margin-right-10{margin-right:5rem}.tablet\\:margin-left-10{margin-left:5rem}.tablet\\:margin-x-15{margin-left:7.5rem;margin-right:7.5rem}.tablet\\:margin-right-15{margin-right:7.5rem}.tablet\\:margin-left-15{margin-left:7.5rem}.tablet\\:margin-x-card{margin-left:10rem;margin-right:10rem}.tablet\\:margin-right-card{margin-right:10rem}.tablet\\:margin-left-card{margin-left:10rem}.tablet\\:margin-x-card-lg{margin-left:15rem;margin-right:15rem}.tablet\\:margin-right-card-lg{margin-right:15rem}.tablet\\:margin-left-card-lg{margin-left:15rem}.tablet\\:margin-x-mobile{margin-left:20rem;margin-right:20rem}.tablet\\:margin-right-mobile{margin-right:20rem}.tablet\\:margin-left-mobile{margin-left:20rem}.tablet\\:margin-x-05em{margin-left:0.5em;margin-right:0.5em}.tablet\\:margin-right-05em{margin-right:0.5em}.tablet\\:margin-left-05em{margin-left:0.5em}.tablet\\:margin-x-1em{margin-left:1em;margin-right:1em}.tablet\\:margin-right-1em{margin-right:1em}.tablet\\:margin-left-1em{margin-left:1em}.tablet\\:margin-x-105em{margin-left:1.5em;margin-right:1.5em}.tablet\\:margin-right-105em{margin-right:1.5em}.tablet\\:margin-left-105em{margin-left:1.5em}.tablet\\:margin-x-2em{margin-left:2em;margin-right:2em}.tablet\\:margin-right-2em{margin-right:2em}.tablet\\:margin-left-2em{margin-left:2em}.tablet\\:margin-x-0{margin-left:0;margin-right:0}.tablet\\:margin-right-0{margin-right:0}.tablet\\:margin-left-0{margin-left:0}.tablet\\:margin-x-auto{margin-left:auto;margin-right:auto}.tablet\\:margin-right-auto{margin-right:auto}.tablet\\:margin-left-auto{margin-left:auto}.tablet\\:measure-1{max-width:44ex}.tablet\\:measure-2{max-width:60ex}.tablet\\:measure-3{max-width:64ex}.tablet\\:measure-4{max-width:68ex}.tablet\\:measure-5{max-width:72ex}.tablet\\:measure-6{max-width:88ex}.tablet\\:measure-none{max-width:none}.tablet\\:order-first{order:-1}.tablet\\:order-last{order:999}.tablet\\:order-initial{order:initial}.tablet\\:order-0{order:0}.tablet\\:order-1{order:1}.tablet\\:order-2{order:2}.tablet\\:order-3{order:3}.tablet\\:order-4{order:4}.tablet\\:order-5{order:5}.tablet\\:order-6{order:6}.tablet\\:order-7{order:7}.tablet\\:order-8{order:8}.tablet\\:order-9{order:9}.tablet\\:order-10{order:10}.tablet\\:order-11{order:11}.tablet\\:padding-1px{padding:1px}.tablet\\:padding-y-1px{padding-top:1px;padding-bottom:1px}.tablet\\:padding-x-1px{padding-left:1px;padding-right:1px}.tablet\\:padding-top-1px{padding-top:1px}.tablet\\:padding-right-1px{padding-right:1px}.tablet\\:padding-bottom-1px{padding-bottom:1px}.tablet\\:padding-left-1px{padding-left:1px}.tablet\\:padding-2px{padding:2px}.tablet\\:padding-y-2px{padding-top:2px;padding-bottom:2px}.tablet\\:padding-x-2px{padding-left:2px;padding-right:2px}.tablet\\:padding-top-2px{padding-top:2px}.tablet\\:padding-right-2px{padding-right:2px}.tablet\\:padding-bottom-2px{padding-bottom:2px}.tablet\\:padding-left-2px{padding-left:2px}.tablet\\:padding-05{padding:0.25rem}.tablet\\:padding-y-05{padding-top:0.25rem;padding-bottom:0.25rem}.tablet\\:padding-x-05{padding-left:0.25rem;padding-right:0.25rem}.tablet\\:padding-top-05{padding-top:0.25rem}.tablet\\:padding-right-05{padding-right:0.25rem}.tablet\\:padding-bottom-05{padding-bottom:0.25rem}.tablet\\:padding-left-05{padding-left:0.25rem}.tablet\\:padding-1{padding:0.5rem}.tablet\\:padding-y-1{padding-top:0.5rem;padding-bottom:0.5rem}.tablet\\:padding-x-1{padding-left:0.5rem;padding-right:0.5rem}.tablet\\:padding-top-1{padding-top:0.5rem}.tablet\\:padding-right-1{padding-right:0.5rem}.tablet\\:padding-bottom-1{padding-bottom:0.5rem}.tablet\\:padding-left-1{padding-left:0.5rem}.tablet\\:padding-105{padding:0.75rem}.tablet\\:padding-y-105{padding-top:0.75rem;padding-bottom:0.75rem}.tablet\\:padding-x-105{padding-left:0.75rem;padding-right:0.75rem}.tablet\\:padding-top-105{padding-top:0.75rem}.tablet\\:padding-right-105{padding-right:0.75rem}.tablet\\:padding-bottom-105{padding-bottom:0.75rem}.tablet\\:padding-left-105{padding-left:0.75rem}.tablet\\:padding-2{padding:1rem}.tablet\\:padding-y-2{padding-top:1rem;padding-bottom:1rem}.tablet\\:padding-x-2{padding-left:1rem;padding-right:1rem}.tablet\\:padding-top-2{padding-top:1rem}.tablet\\:padding-right-2{padding-right:1rem}.tablet\\:padding-bottom-2{padding-bottom:1rem}.tablet\\:padding-left-2{padding-left:1rem}.tablet\\:padding-205{padding:1.25rem}.tablet\\:padding-y-205{padding-top:1.25rem;padding-bottom:1.25rem}.tablet\\:padding-x-205{padding-left:1.25rem;padding-right:1.25rem}.tablet\\:padding-top-205{padding-top:1.25rem}.tablet\\:padding-right-205{padding-right:1.25rem}.tablet\\:padding-bottom-205{padding-bottom:1.25rem}.tablet\\:padding-left-205{padding-left:1.25rem}.tablet\\:padding-3{padding:1.5rem}.tablet\\:padding-y-3{padding-top:1.5rem;padding-bottom:1.5rem}.tablet\\:padding-x-3{padding-left:1.5rem;padding-right:1.5rem}.tablet\\:padding-top-3{padding-top:1.5rem}.tablet\\:padding-right-3{padding-right:1.5rem}.tablet\\:padding-bottom-3{padding-bottom:1.5rem}.tablet\\:padding-left-3{padding-left:1.5rem}.tablet\\:padding-4{padding:2rem}.tablet\\:padding-y-4{padding-top:2rem;padding-bottom:2rem}.tablet\\:padding-x-4{padding-left:2rem;padding-right:2rem}.tablet\\:padding-top-4{padding-top:2rem}.tablet\\:padding-right-4{padding-right:2rem}.tablet\\:padding-bottom-4{padding-bottom:2rem}.tablet\\:padding-left-4{padding-left:2rem}.tablet\\:padding-5{padding:2.5rem}.tablet\\:padding-y-5{padding-top:2.5rem;padding-bottom:2.5rem}.tablet\\:padding-x-5{padding-left:2.5rem;padding-right:2.5rem}.tablet\\:padding-top-5{padding-top:2.5rem}.tablet\\:padding-right-5{padding-right:2.5rem}.tablet\\:padding-bottom-5{padding-bottom:2.5rem}.tablet\\:padding-left-5{padding-left:2.5rem}.tablet\\:padding-6{padding:3rem}.tablet\\:padding-y-6{padding-top:3rem;padding-bottom:3rem}.tablet\\:padding-x-6{padding-left:3rem;padding-right:3rem}.tablet\\:padding-top-6{padding-top:3rem}.tablet\\:padding-right-6{padding-right:3rem}.tablet\\:padding-bottom-6{padding-bottom:3rem}.tablet\\:padding-left-6{padding-left:3rem}.tablet\\:padding-7{padding:3.5rem}.tablet\\:padding-y-7{padding-top:3.5rem;padding-bottom:3.5rem}.tablet\\:padding-x-7{padding-left:3.5rem;padding-right:3.5rem}.tablet\\:padding-top-7{padding-top:3.5rem}.tablet\\:padding-right-7{padding-right:3.5rem}.tablet\\:padding-bottom-7{padding-bottom:3.5rem}.tablet\\:padding-left-7{padding-left:3.5rem}.tablet\\:padding-8{padding:4rem}.tablet\\:padding-y-8{padding-top:4rem;padding-bottom:4rem}.tablet\\:padding-x-8{padding-left:4rem;padding-right:4rem}.tablet\\:padding-top-8{padding-top:4rem}.tablet\\:padding-right-8{padding-right:4rem}.tablet\\:padding-bottom-8{padding-bottom:4rem}.tablet\\:padding-left-8{padding-left:4rem}.tablet\\:padding-9{padding:4.5rem}.tablet\\:padding-y-9{padding-top:4.5rem;padding-bottom:4.5rem}.tablet\\:padding-x-9{padding-left:4.5rem;padding-right:4.5rem}.tablet\\:padding-top-9{padding-top:4.5rem}.tablet\\:padding-right-9{padding-right:4.5rem}.tablet\\:padding-bottom-9{padding-bottom:4.5rem}.tablet\\:padding-left-9{padding-left:4.5rem}.tablet\\:padding-10{padding:5rem}.tablet\\:padding-y-10{padding-top:5rem;padding-bottom:5rem}.tablet\\:padding-x-10{padding-left:5rem;padding-right:5rem}.tablet\\:padding-top-10{padding-top:5rem}.tablet\\:padding-right-10{padding-right:5rem}.tablet\\:padding-bottom-10{padding-bottom:5rem}.tablet\\:padding-left-10{padding-left:5rem}.tablet\\:padding-15{padding:7.5rem}.tablet\\:padding-y-15{padding-top:7.5rem;padding-bottom:7.5rem}.tablet\\:padding-x-15{padding-left:7.5rem;padding-right:7.5rem}.tablet\\:padding-top-15{padding-top:7.5rem}.tablet\\:padding-right-15{padding-right:7.5rem}.tablet\\:padding-bottom-15{padding-bottom:7.5rem}.tablet\\:padding-left-15{padding-left:7.5rem}.tablet\\:padding-0{padding:0}.tablet\\:padding-y-0{padding-top:0;padding-bottom:0}.tablet\\:padding-x-0{padding-left:0;padding-right:0}.tablet\\:padding-top-0{padding-top:0}.tablet\\:padding-right-0{padding-right:0}.tablet\\:padding-bottom-0{padding-bottom:0}.tablet\\:padding-left-0{padding-left:0}.tablet\\:width-1px{width:1px}.tablet\\:width-2px{width:2px}.tablet\\:width-05{width:0.25rem}.tablet\\:width-1{width:0.5rem}.tablet\\:width-105{width:0.75rem}.tablet\\:width-2{width:1rem}.tablet\\:width-205{width:1.25rem}.tablet\\:width-3{width:1.5rem}.tablet\\:width-4{width:2rem}.tablet\\:width-5{width:2.5rem}.tablet\\:width-6{width:3rem}.tablet\\:width-7{width:3.5rem}.tablet\\:width-8{width:4rem}.tablet\\:width-9{width:4.5rem}.tablet\\:width-10{width:5rem}.tablet\\:width-15{width:7.5rem}.tablet\\:width-card{width:10rem}.tablet\\:width-card-lg{width:15rem}.tablet\\:width-mobile{width:20rem}.tablet\\:width-mobile-lg{width:30rem}.tablet\\:width-tablet{width:40rem}.tablet\\:width-tablet-lg{width:55rem}.tablet\\:width-desktop{width:64rem}.tablet\\:width-desktop-lg{width:75rem}.tablet\\:width-widescreen{width:87.5rem}.tablet\\:width-0{width:0}.tablet\\:width-full{width:100%}.tablet\\:width-auto{width:auto}}@media all and (min-width: 64em){.desktop\\:border-1px{border:1px solid}.desktop\\:hover\\:border-1px:hover{border:1px solid}.desktop\\:border-y-1px{border-top:1px solid;border-bottom:1px solid}.desktop\\:hover\\:border-y-1px:hover{border-top:1px solid;border-bottom:1px solid}.desktop\\:border-x-1px{border-left:1px solid;border-right:1px solid}.desktop\\:hover\\:border-x-1px:hover{border-left:1px solid;border-right:1px solid}.desktop\\:border-top-1px{border-top:1px solid}.desktop\\:hover\\:border-top-1px:hover{border-top:1px solid}.desktop\\:border-right-1px{border-right:1px solid}.desktop\\:hover\\:border-right-1px:hover{border-right:1px solid}.desktop\\:border-bottom-1px{border-bottom:1px solid}.desktop\\:hover\\:border-bottom-1px:hover{border-bottom:1px solid}.desktop\\:border-left-1px{border-left:1px solid}.desktop\\:hover\\:border-left-1px:hover{border-left:1px solid}.desktop\\:border-2px{border:2px solid}.desktop\\:hover\\:border-2px:hover{border:2px solid}.desktop\\:border-y-2px{border-top:2px solid;border-bottom:2px solid}.desktop\\:hover\\:border-y-2px:hover{border-top:2px solid;border-bottom:2px solid}.desktop\\:border-x-2px{border-left:2px solid;border-right:2px solid}.desktop\\:hover\\:border-x-2px:hover{border-left:2px solid;border-right:2px solid}.desktop\\:border-top-2px{border-top:2px solid}.desktop\\:hover\\:border-top-2px:hover{border-top:2px solid}.desktop\\:border-right-2px{border-right:2px solid}.desktop\\:hover\\:border-right-2px:hover{border-right:2px solid}.desktop\\:border-bottom-2px{border-bottom:2px solid}.desktop\\:hover\\:border-bottom-2px:hover{border-bottom:2px solid}.desktop\\:border-left-2px{border-left:2px solid}.desktop\\:hover\\:border-left-2px:hover{border-left:2px solid}.desktop\\:border-05{border:0.25rem solid}.desktop\\:hover\\:border-05:hover{border:0.25rem solid}.desktop\\:border-y-05{border-top:0.25rem solid;border-bottom:0.25rem solid}.desktop\\:hover\\:border-y-05:hover{border-top:0.25rem solid;border-bottom:0.25rem solid}.desktop\\:border-x-05{border-left:0.25rem solid;border-right:0.25rem solid}.desktop\\:hover\\:border-x-05:hover{border-left:0.25rem solid;border-right:0.25rem solid}.desktop\\:border-top-05{border-top:0.25rem solid}.desktop\\:hover\\:border-top-05:hover{border-top:0.25rem solid}.desktop\\:border-right-05{border-right:0.25rem solid}.desktop\\:hover\\:border-right-05:hover{border-right:0.25rem solid}.desktop\\:border-bottom-05{border-bottom:0.25rem solid}.desktop\\:hover\\:border-bottom-05:hover{border-bottom:0.25rem solid}.desktop\\:border-left-05{border-left:0.25rem solid}.desktop\\:hover\\:border-left-05:hover{border-left:0.25rem solid}.desktop\\:border-1{border:0.5rem solid}.desktop\\:hover\\:border-1:hover{border:0.5rem solid}.desktop\\:border-y-1{border-top:0.5rem solid;border-bottom:0.5rem solid}.desktop\\:hover\\:border-y-1:hover{border-top:0.5rem solid;border-bottom:0.5rem solid}.desktop\\:border-x-1{border-left:0.5rem solid;border-right:0.5rem solid}.desktop\\:hover\\:border-x-1:hover{border-left:0.5rem solid;border-right:0.5rem solid}.desktop\\:border-top-1{border-top:0.5rem solid}.desktop\\:hover\\:border-top-1:hover{border-top:0.5rem solid}.desktop\\:border-right-1{border-right:0.5rem solid}.desktop\\:hover\\:border-right-1:hover{border-right:0.5rem solid}.desktop\\:border-bottom-1{border-bottom:0.5rem solid}.desktop\\:hover\\:border-bottom-1:hover{border-bottom:0.5rem solid}.desktop\\:border-left-1{border-left:0.5rem solid}.desktop\\:hover\\:border-left-1:hover{border-left:0.5rem solid}.desktop\\:border-105{border:0.75rem solid}.desktop\\:hover\\:border-105:hover{border:0.75rem solid}.desktop\\:border-y-105{border-top:0.75rem solid;border-bottom:0.75rem solid}.desktop\\:hover\\:border-y-105:hover{border-top:0.75rem solid;border-bottom:0.75rem solid}.desktop\\:border-x-105{border-left:0.75rem solid;border-right:0.75rem solid}.desktop\\:hover\\:border-x-105:hover{border-left:0.75rem solid;border-right:0.75rem solid}.desktop\\:border-top-105{border-top:0.75rem solid}.desktop\\:hover\\:border-top-105:hover{border-top:0.75rem solid}.desktop\\:border-right-105{border-right:0.75rem solid}.desktop\\:hover\\:border-right-105:hover{border-right:0.75rem solid}.desktop\\:border-bottom-105{border-bottom:0.75rem solid}.desktop\\:hover\\:border-bottom-105:hover{border-bottom:0.75rem solid}.desktop\\:border-left-105{border-left:0.75rem solid}.desktop\\:hover\\:border-left-105:hover{border-left:0.75rem solid}.desktop\\:border-2{border:1rem solid}.desktop\\:hover\\:border-2:hover{border:1rem solid}.desktop\\:border-y-2{border-top:1rem solid;border-bottom:1rem solid}.desktop\\:hover\\:border-y-2:hover{border-top:1rem solid;border-bottom:1rem solid}.desktop\\:border-x-2{border-left:1rem solid;border-right:1rem solid}.desktop\\:hover\\:border-x-2:hover{border-left:1rem solid;border-right:1rem solid}.desktop\\:border-top-2{border-top:1rem solid}.desktop\\:hover\\:border-top-2:hover{border-top:1rem solid}.desktop\\:border-right-2{border-right:1rem solid}.desktop\\:hover\\:border-right-2:hover{border-right:1rem solid}.desktop\\:border-bottom-2{border-bottom:1rem solid}.desktop\\:hover\\:border-bottom-2:hover{border-bottom:1rem solid}.desktop\\:border-left-2{border-left:1rem solid}.desktop\\:hover\\:border-left-2:hover{border-left:1rem solid}.desktop\\:border-205{border:1.25rem solid}.desktop\\:hover\\:border-205:hover{border:1.25rem solid}.desktop\\:border-y-205{border-top:1.25rem solid;border-bottom:1.25rem solid}.desktop\\:hover\\:border-y-205:hover{border-top:1.25rem solid;border-bottom:1.25rem solid}.desktop\\:border-x-205{border-left:1.25rem solid;border-right:1.25rem solid}.desktop\\:hover\\:border-x-205:hover{border-left:1.25rem solid;border-right:1.25rem solid}.desktop\\:border-top-205{border-top:1.25rem solid}.desktop\\:hover\\:border-top-205:hover{border-top:1.25rem solid}.desktop\\:border-right-205{border-right:1.25rem solid}.desktop\\:hover\\:border-right-205:hover{border-right:1.25rem solid}.desktop\\:border-bottom-205{border-bottom:1.25rem solid}.desktop\\:hover\\:border-bottom-205:hover{border-bottom:1.25rem solid}.desktop\\:border-left-205{border-left:1.25rem solid}.desktop\\:hover\\:border-left-205:hover{border-left:1.25rem solid}.desktop\\:border-3{border:1.5rem solid}.desktop\\:hover\\:border-3:hover{border:1.5rem solid}.desktop\\:border-y-3{border-top:1.5rem solid;border-bottom:1.5rem solid}.desktop\\:hover\\:border-y-3:hover{border-top:1.5rem solid;border-bottom:1.5rem solid}.desktop\\:border-x-3{border-left:1.5rem solid;border-right:1.5rem solid}.desktop\\:hover\\:border-x-3:hover{border-left:1.5rem solid;border-right:1.5rem solid}.desktop\\:border-top-3{border-top:1.5rem solid}.desktop\\:hover\\:border-top-3:hover{border-top:1.5rem solid}.desktop\\:border-right-3{border-right:1.5rem solid}.desktop\\:hover\\:border-right-3:hover{border-right:1.5rem solid}.desktop\\:border-bottom-3{border-bottom:1.5rem solid}.desktop\\:hover\\:border-bottom-3:hover{border-bottom:1.5rem solid}.desktop\\:border-left-3{border-left:1.5rem solid}.desktop\\:hover\\:border-left-3:hover{border-left:1.5rem solid}.desktop\\:border-0{border:0 solid}.desktop\\:hover\\:border-0:hover{border:0 solid}.desktop\\:border-y-0{border-top:0 solid;border-bottom:0 solid}.desktop\\:hover\\:border-y-0:hover{border-top:0 solid;border-bottom:0 solid}.desktop\\:border-x-0{border-left:0 solid;border-right:0 solid}.desktop\\:hover\\:border-x-0:hover{border-left:0 solid;border-right:0 solid}.desktop\\:border-top-0{border-top:0 solid}.desktop\\:hover\\:border-top-0:hover{border-top:0 solid}.desktop\\:border-right-0{border-right:0 solid}.desktop\\:hover\\:border-right-0:hover{border-right:0 solid}.desktop\\:border-bottom-0{border-bottom:0 solid}.desktop\\:hover\\:border-bottom-0:hover{border-bottom:0 solid}.desktop\\:border-left-0{border-left:0 solid}.desktop\\:hover\\:border-left-0:hover{border-left:0 solid}.desktop\\:border{border:1px solid}.desktop\\:hover\\:border:hover{border:1px solid}.desktop\\:border-y{border-top:1px solid;border-bottom:1px solid}.desktop\\:hover\\:border-y:hover{border-top:1px solid;border-bottom:1px solid}.desktop\\:border-x{border-left:1px solid;border-right:1px solid}.desktop\\:hover\\:border-x:hover{border-left:1px solid;border-right:1px solid}.desktop\\:border-top{border-top:1px solid}.desktop\\:hover\\:border-top:hover{border-top:1px solid}.desktop\\:border-right{border-right:1px solid}.desktop\\:hover\\:border-right:hover{border-right:1px solid}.desktop\\:border-bottom{border-bottom:1px solid}.desktop\\:hover\\:border-bottom:hover{border-bottom:1px solid}.desktop\\:border-left{border-left:1px solid}.desktop\\:hover\\:border-left:hover{border-left:1px solid}.desktop\\:border-transparent{border-color:transparent}.desktop\\:hover\\:border-transparent:hover{border-color:transparent}.desktop\\:border-black{border-color:black}.desktop\\:hover\\:border-black:hover{border-color:black}.desktop\\:border-white{border-color:white}.desktop\\:hover\\:border-white:hover{border-color:white}.desktop\\:border-red{border-color:#e52207}.desktop\\:hover\\:border-red:hover{border-color:#e52207}.desktop\\:border-orange{border-color:#e66f0e}.desktop\\:hover\\:border-orange:hover{border-color:#e66f0e}.desktop\\:border-gold{border-color:#ffbe2e}.desktop\\:hover\\:border-gold:hover{border-color:#ffbe2e}.desktop\\:border-yellow{border-color:#fee685}.desktop\\:hover\\:border-yellow:hover{border-color:#fee685}.desktop\\:border-green{border-color:#538200}.desktop\\:hover\\:border-green:hover{border-color:#538200}.desktop\\:border-mint{border-color:#04c585}.desktop\\:hover\\:border-mint:hover{border-color:#04c585}.desktop\\:border-cyan{border-color:#009ec1}.desktop\\:hover\\:border-cyan:hover{border-color:#009ec1}.desktop\\:border-blue{border-color:#0076d6}.desktop\\:hover\\:border-blue:hover{border-color:#0076d6}.desktop\\:border-indigo{border-color:#676cc8}.desktop\\:hover\\:border-indigo:hover{border-color:#676cc8}.desktop\\:border-violet{border-color:#8168b3}.desktop\\:hover\\:border-violet:hover{border-color:#8168b3}.desktop\\:border-magenta{border-color:#d72d79}.desktop\\:hover\\:border-magenta:hover{border-color:#d72d79}.desktop\\:border-gray-5{border-color:#f0f0f0}.desktop\\:hover\\:border-gray-5:hover{border-color:#f0f0f0}.desktop\\:border-gray-10{border-color:#e6e6e6}.desktop\\:hover\\:border-gray-10:hover{border-color:#e6e6e6}.desktop\\:border-gray-30{border-color:#adadad}.desktop\\:hover\\:border-gray-30:hover{border-color:#adadad}.desktop\\:border-gray-50{border-color:#757575}.desktop\\:hover\\:border-gray-50:hover{border-color:#757575}.desktop\\:border-gray-70{border-color:#454545}.desktop\\:hover\\:border-gray-70:hover{border-color:#454545}.desktop\\:border-gray-90{border-color:#1b1b1b}.desktop\\:hover\\:border-gray-90:hover{border-color:#1b1b1b}.desktop\\:border-base-lightest{border-color:#f0f0f0}.desktop\\:hover\\:border-base-lightest:hover{border-color:#f0f0f0}.desktop\\:border-base-lighter{border-color:#dfe1e2}.desktop\\:hover\\:border-base-lighter:hover{border-color:#dfe1e2}.desktop\\:border-base-light{border-color:#a9aeb1}.desktop\\:hover\\:border-base-light:hover{border-color:#a9aeb1}.desktop\\:border-base{border-color:#71767a}.desktop\\:hover\\:border-base:hover{border-color:#71767a}.desktop\\:border-base-dark{border-color:#565c65}.desktop\\:hover\\:border-base-dark:hover{border-color:#565c65}.desktop\\:border-base-darker{border-color:#3d4551}.desktop\\:hover\\:border-base-darker:hover{border-color:#3d4551}.desktop\\:border-base-darkest{border-color:#1b1b1b}.desktop\\:hover\\:border-base-darkest:hover{border-color:#1b1b1b}.desktop\\:border-ink{border-color:#1b1b1b}.desktop\\:hover\\:border-ink:hover{border-color:#1b1b1b}.desktop\\:border-primary-lighter{border-color:#d9e8f6}.desktop\\:hover\\:border-primary-lighter:hover{border-color:#d9e8f6}.desktop\\:border-primary-light{border-color:#73b3e7}.desktop\\:hover\\:border-primary-light:hover{border-color:#73b3e7}.desktop\\:border-primary{border-color:#005ea2}.desktop\\:hover\\:border-primary:hover{border-color:#005ea2}.desktop\\:border-primary-vivid{border-color:#0050d8}.desktop\\:hover\\:border-primary-vivid:hover{border-color:#0050d8}.desktop\\:border-primary-dark{border-color:#1a4480}.desktop\\:hover\\:border-primary-dark:hover{border-color:#1a4480}.desktop\\:border-primary-darker{border-color:#162e51}.desktop\\:hover\\:border-primary-darker:hover{border-color:#162e51}.desktop\\:border-secondary-lighter{border-color:#f3e1e4}.desktop\\:hover\\:border-secondary-lighter:hover{border-color:#f3e1e4}.desktop\\:border-secondary-light{border-color:#f2938c}.desktop\\:hover\\:border-secondary-light:hover{border-color:#f2938c}.desktop\\:border-secondary{border-color:#d83933}.desktop\\:hover\\:border-secondary:hover{border-color:#d83933}.desktop\\:border-secondary-vivid{border-color:#e41d3d}.desktop\\:hover\\:border-secondary-vivid:hover{border-color:#e41d3d}.desktop\\:border-secondary-dark{border-color:#b50909}.desktop\\:hover\\:border-secondary-dark:hover{border-color:#b50909}.desktop\\:border-secondary-darker{border-color:#8b0a03}.desktop\\:hover\\:border-secondary-darker:hover{border-color:#8b0a03}.desktop\\:border-accent-warm-darker{border-color:#775540}.desktop\\:hover\\:border-accent-warm-darker:hover{border-color:#775540}.desktop\\:border-accent-warm-dark{border-color:#c05600}.desktop\\:hover\\:border-accent-warm-dark:hover{border-color:#c05600}.desktop\\:border-accent-warm{border-color:#fa9441}.desktop\\:hover\\:border-accent-warm:hover{border-color:#fa9441}.desktop\\:border-accent-warm-light{border-color:#ffbc78}.desktop\\:hover\\:border-accent-warm-light:hover{border-color:#ffbc78}.desktop\\:border-accent-warm-lighter{border-color:#f2e4d4}.desktop\\:hover\\:border-accent-warm-lighter:hover{border-color:#f2e4d4}.desktop\\:border-accent-cool-darker{border-color:#07648d}.desktop\\:hover\\:border-accent-cool-darker:hover{border-color:#07648d}.desktop\\:border-accent-cool-dark{border-color:#28a0cb}.desktop\\:hover\\:border-accent-cool-dark:hover{border-color:#28a0cb}.desktop\\:border-accent-cool{border-color:#00bde3}.desktop\\:hover\\:border-accent-cool:hover{border-color:#00bde3}.desktop\\:border-accent-cool-light{border-color:#97d4ea}.desktop\\:hover\\:border-accent-cool-light:hover{border-color:#97d4ea}.desktop\\:border-accent-cool-lighter{border-color:#e1f3f8}.desktop\\:hover\\:border-accent-cool-lighter:hover{border-color:#e1f3f8}.desktop\\:border-error-lighter{border-color:#f4e3db}.desktop\\:hover\\:border-error-lighter:hover{border-color:#f4e3db}.desktop\\:border-error-light{border-color:#f39268}.desktop\\:hover\\:border-error-light:hover{border-color:#f39268}.desktop\\:border-error{border-color:#d54309}.desktop\\:hover\\:border-error:hover{border-color:#d54309}.desktop\\:border-error-dark{border-color:#b50909}.desktop\\:hover\\:border-error-dark:hover{border-color:#b50909}.desktop\\:border-error-darker{border-color:#6f3331}.desktop\\:hover\\:border-error-darker:hover{border-color:#6f3331}.desktop\\:border-warning-lighter{border-color:#faf3d1}.desktop\\:hover\\:border-warning-lighter:hover{border-color:#faf3d1}.desktop\\:border-warning-light{border-color:#fee685}.desktop\\:hover\\:border-warning-light:hover{border-color:#fee685}.desktop\\:border-warning{border-color:#ffbe2e}.desktop\\:hover\\:border-warning:hover{border-color:#ffbe2e}.desktop\\:border-warning-dark{border-color:#e5a000}.desktop\\:hover\\:border-warning-dark:hover{border-color:#e5a000}.desktop\\:border-warning-darker{border-color:#936f38}.desktop\\:hover\\:border-warning-darker:hover{border-color:#936f38}.desktop\\:border-success-lighter{border-color:#ecf3ec}.desktop\\:hover\\:border-success-lighter:hover{border-color:#ecf3ec}.desktop\\:border-success-light{border-color:#70e17b}.desktop\\:hover\\:border-success-light:hover{border-color:#70e17b}.desktop\\:border-success{border-color:#00a91c}.desktop\\:hover\\:border-success:hover{border-color:#00a91c}.desktop\\:border-success-dark{border-color:#008817}.desktop\\:hover\\:border-success-dark:hover{border-color:#008817}.desktop\\:border-success-darker{border-color:#216e1f}.desktop\\:hover\\:border-success-darker:hover{border-color:#216e1f}.desktop\\:border-info-lighter{border-color:#e7f6f8}.desktop\\:hover\\:border-info-lighter:hover{border-color:#e7f6f8}.desktop\\:border-info-light{border-color:#99deea}.desktop\\:hover\\:border-info-light:hover{border-color:#99deea}.desktop\\:border-info{border-color:#00bde3}.desktop\\:hover\\:border-info:hover{border-color:#00bde3}.desktop\\:border-info-dark{border-color:#009ec1}.desktop\\:hover\\:border-info-dark:hover{border-color:#009ec1}.desktop\\:border-info-darker{border-color:#2e6276}.desktop\\:hover\\:border-info-darker:hover{border-color:#2e6276}.desktop\\:border-disabled-lighter{border-color:#c9c9c9}.desktop\\:hover\\:border-disabled-lighter:hover{border-color:#c9c9c9}.desktop\\:border-disabled-light{border-color:#919191}.desktop\\:hover\\:border-disabled-light:hover{border-color:#919191}.desktop\\:border-disabled{border-color:#757575}.desktop\\:hover\\:border-disabled:hover{border-color:#757575}.desktop\\:border-disabled-dark{border-color:#454545}.desktop\\:hover\\:border-disabled-dark:hover{border-color:#454545}.desktop\\:border-disabled-darker{border-color:#1b1b1b}.desktop\\:hover\\:border-disabled-darker:hover{border-color:#1b1b1b}.desktop\\:border-emergency{border-color:#9c3d10}.desktop\\:hover\\:border-emergency:hover{border-color:#9c3d10}.desktop\\:border-emergency-dark{border-color:#332d29}.desktop\\:hover\\:border-emergency-dark:hover{border-color:#332d29}.desktop\\:radius-0{border-radius:0}.desktop\\:radius-top-0{border-top-left-radius:0;border-top-right-radius:0}.desktop\\:radius-right-0{border-top-right-radius:0;border-bottom-right-radius:0}.desktop\\:radius-bottom-0{border-bottom-left-radius:0;border-bottom-right-radius:0}.desktop\\:radius-left-0{border-top-left-radius:0;border-bottom-left-radius:0}.desktop\\:radius-sm{border-radius:2px}.desktop\\:radius-top-sm{border-top-left-radius:2px;border-top-right-radius:2px}.desktop\\:radius-right-sm{border-top-right-radius:2px;border-bottom-right-radius:2px}.desktop\\:radius-bottom-sm{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.desktop\\:radius-left-sm{border-top-left-radius:2px;border-bottom-left-radius:2px}.desktop\\:radius-md{border-radius:0.25rem}.desktop\\:radius-top-md{border-top-left-radius:0.25rem;border-top-right-radius:0.25rem}.desktop\\:radius-right-md{border-top-right-radius:0.25rem;border-bottom-right-radius:0.25rem}.desktop\\:radius-bottom-md{border-bottom-left-radius:0.25rem;border-bottom-right-radius:0.25rem}.desktop\\:radius-left-md{border-top-left-radius:0.25rem;border-bottom-left-radius:0.25rem}.desktop\\:radius-lg{border-radius:0.5rem}.desktop\\:radius-top-lg{border-top-left-radius:0.5rem;border-top-right-radius:0.5rem}.desktop\\:radius-right-lg{border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem}.desktop\\:radius-bottom-lg{border-bottom-left-radius:0.5rem;border-bottom-right-radius:0.5rem}.desktop\\:radius-left-lg{border-top-left-radius:0.5rem;border-bottom-left-radius:0.5rem}.desktop\\:radius-pill{border-radius:99rem}.desktop\\:radius-top-pill{border-top-left-radius:99rem;border-top-right-radius:99rem}.desktop\\:radius-right-pill{border-top-right-radius:99rem;border-bottom-right-radius:99rem}.desktop\\:radius-bottom-pill{border-bottom-left-radius:99rem;border-bottom-right-radius:99rem}.desktop\\:radius-left-pill{border-top-left-radius:99rem;border-bottom-left-radius:99rem}.desktop\\:display-block{display:block}.desktop\\:display-flex{display:flex}.desktop\\:display-none{display:none}.desktop\\:display-inline{display:inline}.desktop\\:display-inline-block{display:inline-block}.desktop\\:display-inline-flex{display:inline-flex}.desktop\\:display-table{display:table}.desktop\\:display-table-cell{display:table-cell}.desktop\\:display-table-row{display:table-row}.desktop\\:font-mono-3xs{font-size:0.77rem}.desktop\\:font-mono-2xs{font-size:0.83rem}.desktop\\:font-mono-xs{font-size:0.89rem}.desktop\\:font-mono-sm{font-size:0.95rem}.desktop\\:font-mono-md{font-size:1.01rem}.desktop\\:font-mono-lg{font-size:1.31rem}.desktop\\:font-mono-xl{font-size:1.91rem}.desktop\\:font-mono-2xl{font-size:2.38rem}.desktop\\:font-mono-3xl{font-size:2.86rem}.desktop\\:font-sans-3xs{font-size:0.87rem}.desktop\\:font-sans-2xs{font-size:0.93rem}.desktop\\:font-sans-xs{font-size:1rem}.desktop\\:font-sans-sm{font-size:1.06rem}.desktop\\:font-sans-md{font-size:1.13rem}.desktop\\:font-sans-lg{font-size:1.46rem}.desktop\\:font-sans-xl{font-size:2.13rem}.desktop\\:font-sans-2xl{font-size:2.66rem}.desktop\\:font-sans-3xl{font-size:3.19rem}.desktop\\:font-serif-3xs{font-size:0.79rem}.desktop\\:font-serif-2xs{font-size:0.85rem}.desktop\\:font-serif-xs{font-size:0.91rem}.desktop\\:font-serif-sm{font-size:0.98rem}.desktop\\:font-serif-md{font-size:1.04rem}.desktop\\:font-serif-lg{font-size:1.34rem}.desktop\\:font-serif-xl{font-size:1.95rem}.desktop\\:font-serif-2xl{font-size:2.44rem}.desktop\\:font-serif-3xl{font-size:2.93rem}.desktop\\:font-heading-3xs{font-size:0.79rem}.desktop\\:font-heading-2xs{font-size:0.85rem}.desktop\\:font-heading-xs{font-size:0.91rem}.desktop\\:font-heading-sm{font-size:0.98rem}.desktop\\:font-heading-md{font-size:1.04rem}.desktop\\:font-heading-lg{font-size:1.34rem}.desktop\\:font-heading-xl{font-size:1.95rem}.desktop\\:font-heading-2xl{font-size:2.44rem}.desktop\\:font-heading-3xl{font-size:2.93rem}.desktop\\:font-body-3xs{font-size:0.87rem}.desktop\\:font-body-2xs{font-size:0.93rem}.desktop\\:font-body-xs{font-size:1rem}.desktop\\:font-body-sm{font-size:1.06rem}.desktop\\:font-body-md{font-size:1.13rem}.desktop\\:font-body-lg{font-size:1.46rem}.desktop\\:font-body-xl{font-size:2.13rem}.desktop\\:font-body-2xl{font-size:2.66rem}.desktop\\:font-body-3xl{font-size:3.19rem}.desktop\\:font-code-3xs{font-size:0.77rem}.desktop\\:font-code-2xs{font-size:0.83rem}.desktop\\:font-code-xs{font-size:0.89rem}.desktop\\:font-code-sm{font-size:0.95rem}.desktop\\:font-code-md{font-size:1.01rem}.desktop\\:font-code-lg{font-size:1.31rem}.desktop\\:font-code-xl{font-size:1.91rem}.desktop\\:font-code-2xl{font-size:2.38rem}.desktop\\:font-code-3xl{font-size:2.86rem}.desktop\\:font-alt-3xs{font-size:0.79rem}.desktop\\:font-alt-2xs{font-size:0.85rem}.desktop\\:font-alt-xs{font-size:0.91rem}.desktop\\:font-alt-sm{font-size:0.98rem}.desktop\\:font-alt-md{font-size:1.04rem}.desktop\\:font-alt-lg{font-size:1.34rem}.desktop\\:font-alt-xl{font-size:1.95rem}.desktop\\:font-alt-2xl{font-size:2.44rem}.desktop\\:font-alt-3xl{font-size:2.93rem}.desktop\\:font-ui-3xs{font-size:0.87rem}.desktop\\:font-ui-2xs{font-size:0.93rem}.desktop\\:font-ui-xs{font-size:1rem}.desktop\\:font-ui-sm{font-size:1.06rem}.desktop\\:font-ui-md{font-size:1.13rem}.desktop\\:font-ui-lg{font-size:1.46rem}.desktop\\:font-ui-xl{font-size:2.13rem}.desktop\\:font-ui-2xl{font-size:2.66rem}.desktop\\:font-ui-3xl{font-size:3.19rem}.desktop\\:text-light{font-weight:300}.desktop\\:text-normal{font-weight:normal}.desktop\\:text-bold{font-weight:700}.desktop\\:flex-justify-center{justify-content:center}.desktop\\:flex-justify-start{justify-content:flex-start}.desktop\\:flex-justify-end{justify-content:flex-end}.desktop\\:flex-justify{justify-content:space-between}.desktop\\:line-height-sans-1{line-height:0.9}.desktop\\:line-height-sans-2{line-height:1.1}.desktop\\:line-height-sans-3{line-height:1.3}.desktop\\:line-height-sans-4{line-height:1.4}.desktop\\:line-height-sans-5{line-height:1.5}.desktop\\:line-height-sans-6{line-height:1.6}.desktop\\:line-height-serif-1{line-height:1}.desktop\\:line-height-serif-2{line-height:1.2}.desktop\\:line-height-serif-3{line-height:1.4}.desktop\\:line-height-serif-4{line-height:1.5}.desktop\\:line-height-serif-5{line-height:1.7}.desktop\\:line-height-serif-6{line-height:1.8}.desktop\\:line-height-mono-1{line-height:1}.desktop\\:line-height-mono-2{line-height:1.3}.desktop\\:line-height-mono-3{line-height:1.4}.desktop\\:line-height-mono-4{line-height:1.6}.desktop\\:line-height-mono-5{line-height:1.7}.desktop\\:line-height-mono-6{line-height:1.8}.desktop\\:line-height-heading-1{line-height:1}.desktop\\:line-height-heading-2{line-height:1.2}.desktop\\:line-height-heading-3{line-height:1.4}.desktop\\:line-height-heading-4{line-height:1.5}.desktop\\:line-height-heading-5{line-height:1.7}.desktop\\:line-height-heading-6{line-height:1.8}.desktop\\:line-height-ui-1{line-height:0.9}.desktop\\:line-height-ui-2{line-height:1.1}.desktop\\:line-height-ui-3{line-height:1.3}.desktop\\:line-height-ui-4{line-height:1.4}.desktop\\:line-height-ui-5{line-height:1.5}.desktop\\:line-height-ui-6{line-height:1.6}.desktop\\:line-height-body-1{line-height:0.9}.desktop\\:line-height-body-2{line-height:1.1}.desktop\\:line-height-body-3{line-height:1.3}.desktop\\:line-height-body-4{line-height:1.4}.desktop\\:line-height-body-5{line-height:1.5}.desktop\\:line-height-body-6{line-height:1.6}.desktop\\:line-height-code-1{line-height:1}.desktop\\:line-height-code-2{line-height:1.3}.desktop\\:line-height-code-3{line-height:1.4}.desktop\\:line-height-code-4{line-height:1.6}.desktop\\:line-height-code-5{line-height:1.7}.desktop\\:line-height-code-6{line-height:1.8}.desktop\\:line-height-alt-1{line-height:1}.desktop\\:line-height-alt-2{line-height:1.2}.desktop\\:line-height-alt-3{line-height:1.4}.desktop\\:line-height-alt-4{line-height:1.5}.desktop\\:line-height-alt-5{line-height:1.7}.desktop\\:line-height-alt-6{line-height:1.8}.desktop\\:margin-neg-1px{margin:-1px}.desktop\\:margin-neg-2px{margin:-2px}.desktop\\:margin-neg-05{margin:-0.25rem}.desktop\\:margin-neg-1{margin:-0.5rem}.desktop\\:margin-neg-105{margin:-0.75rem}.desktop\\:margin-neg-2{margin:-1rem}.desktop\\:margin-neg-205{margin:-1.25rem}.desktop\\:margin-neg-3{margin:-1.5rem}.desktop\\:margin-1px{margin:1px}.desktop\\:margin-2px{margin:2px}.desktop\\:margin-05{margin:0.25rem}.desktop\\:margin-1{margin:0.5rem}.desktop\\:margin-105{margin:0.75rem}.desktop\\:margin-2{margin:1rem}.desktop\\:margin-205{margin:1.25rem}.desktop\\:margin-3{margin:1.5rem}.desktop\\:margin-neg-4{margin:-2rem}.desktop\\:margin-neg-5{margin:-2.5rem}.desktop\\:margin-neg-6{margin:-3rem}.desktop\\:margin-neg-7{margin:-3.5rem}.desktop\\:margin-neg-8{margin:-4rem}.desktop\\:margin-neg-9{margin:-4.5rem}.desktop\\:margin-neg-10{margin:-5rem}.desktop\\:margin-neg-15{margin:-7.5rem}.desktop\\:margin-4{margin:2rem}.desktop\\:margin-5{margin:2.5rem}.desktop\\:margin-6{margin:3rem}.desktop\\:margin-7{margin:3.5rem}.desktop\\:margin-8{margin:4rem}.desktop\\:margin-9{margin:4.5rem}.desktop\\:margin-10{margin:5rem}.desktop\\:margin-15{margin:7.5rem}.desktop\\:margin-05em{margin:0.5em}.desktop\\:margin-1em{margin:1em}.desktop\\:margin-105em{margin:1.5em}.desktop\\:margin-2em{margin:2em}.desktop\\:margin-0{margin:0}.desktop\\:margin-y-1px{margin-top:1px;margin-bottom:1px}.desktop\\:margin-top-1px{margin-top:1px}.desktop\\:margin-bottom-1px{margin-bottom:1px}.desktop\\:margin-y-2px{margin-top:2px;margin-bottom:2px}.desktop\\:margin-top-2px{margin-top:2px}.desktop\\:margin-bottom-2px{margin-bottom:2px}.desktop\\:margin-y-05{margin-top:0.25rem;margin-bottom:0.25rem}.desktop\\:margin-top-05{margin-top:0.25rem}.desktop\\:margin-bottom-05{margin-bottom:0.25rem}.desktop\\:margin-y-1{margin-top:0.5rem;margin-bottom:0.5rem}.desktop\\:margin-top-1{margin-top:0.5rem}.desktop\\:margin-bottom-1{margin-bottom:0.5rem}.desktop\\:margin-y-105{margin-top:0.75rem;margin-bottom:0.75rem}.desktop\\:margin-top-105{margin-top:0.75rem}.desktop\\:margin-bottom-105{margin-bottom:0.75rem}.desktop\\:margin-y-2{margin-top:1rem;margin-bottom:1rem}.desktop\\:margin-top-2{margin-top:1rem}.desktop\\:margin-bottom-2{margin-bottom:1rem}.desktop\\:margin-y-205{margin-top:1.25rem;margin-bottom:1.25rem}.desktop\\:margin-top-205{margin-top:1.25rem}.desktop\\:margin-bottom-205{margin-bottom:1.25rem}.desktop\\:margin-y-3{margin-top:1.5rem;margin-bottom:1.5rem}.desktop\\:margin-top-3{margin-top:1.5rem}.desktop\\:margin-bottom-3{margin-bottom:1.5rem}.desktop\\:margin-y-neg-1px{margin-top:-1px;margin-bottom:-1px}.desktop\\:margin-top-neg-1px{margin-top:-1px}.desktop\\:margin-bottom-neg-1px{margin-bottom:-1px}.desktop\\:margin-y-neg-2px{margin-top:-2px;margin-bottom:-2px}.desktop\\:margin-top-neg-2px{margin-top:-2px}.desktop\\:margin-bottom-neg-2px{margin-bottom:-2px}.desktop\\:margin-y-neg-05{margin-top:-0.25rem;margin-bottom:-0.25rem}.desktop\\:margin-top-neg-05{margin-top:-0.25rem}.desktop\\:margin-bottom-neg-05{margin-bottom:-0.25rem}.desktop\\:margin-y-neg-1{margin-top:-0.5rem;margin-bottom:-0.5rem}.desktop\\:margin-top-neg-1{margin-top:-0.5rem}.desktop\\:margin-bottom-neg-1{margin-bottom:-0.5rem}.desktop\\:margin-y-neg-105{margin-top:-0.75rem;margin-bottom:-0.75rem}.desktop\\:margin-top-neg-105{margin-top:-0.75rem}.desktop\\:margin-bottom-neg-105{margin-bottom:-0.75rem}.desktop\\:margin-y-neg-2{margin-top:-1rem;margin-bottom:-1rem}.desktop\\:margin-top-neg-2{margin-top:-1rem}.desktop\\:margin-bottom-neg-2{margin-bottom:-1rem}.desktop\\:margin-y-neg-205{margin-top:-1.25rem;margin-bottom:-1.25rem}.desktop\\:margin-top-neg-205{margin-top:-1.25rem}.desktop\\:margin-bottom-neg-205{margin-bottom:-1.25rem}.desktop\\:margin-y-neg-3{margin-top:-1.5rem;margin-bottom:-1.5rem}.desktop\\:margin-top-neg-3{margin-top:-1.5rem}.desktop\\:margin-bottom-neg-3{margin-bottom:-1.5rem}.desktop\\:margin-y-neg-4{margin-top:-2rem;margin-bottom:-2rem}.desktop\\:margin-top-neg-4{margin-top:-2rem}.desktop\\:margin-bottom-neg-4{margin-bottom:-2rem}.desktop\\:margin-y-neg-5{margin-top:-2.5rem;margin-bottom:-2.5rem}.desktop\\:margin-top-neg-5{margin-top:-2.5rem}.desktop\\:margin-bottom-neg-5{margin-bottom:-2.5rem}.desktop\\:margin-y-neg-6{margin-top:-3rem;margin-bottom:-3rem}.desktop\\:margin-top-neg-6{margin-top:-3rem}.desktop\\:margin-bottom-neg-6{margin-bottom:-3rem}.desktop\\:margin-y-neg-7{margin-top:-3.5rem;margin-bottom:-3.5rem}.desktop\\:margin-top-neg-7{margin-top:-3.5rem}.desktop\\:margin-bottom-neg-7{margin-bottom:-3.5rem}.desktop\\:margin-y-neg-8{margin-top:-4rem;margin-bottom:-4rem}.desktop\\:margin-top-neg-8{margin-top:-4rem}.desktop\\:margin-bottom-neg-8{margin-bottom:-4rem}.desktop\\:margin-y-neg-9{margin-top:-4.5rem;margin-bottom:-4.5rem}.desktop\\:margin-top-neg-9{margin-top:-4.5rem}.desktop\\:margin-bottom-neg-9{margin-bottom:-4.5rem}.desktop\\:margin-y-neg-10{margin-top:-5rem;margin-bottom:-5rem}.desktop\\:margin-top-neg-10{margin-top:-5rem}.desktop\\:margin-bottom-neg-10{margin-bottom:-5rem}.desktop\\:margin-y-neg-15{margin-top:-7.5rem;margin-bottom:-7.5rem}.desktop\\:margin-top-neg-15{margin-top:-7.5rem}.desktop\\:margin-bottom-neg-15{margin-bottom:-7.5rem}.desktop\\:margin-y-4{margin-top:2rem;margin-bottom:2rem}.desktop\\:margin-top-4{margin-top:2rem}.desktop\\:margin-bottom-4{margin-bottom:2rem}.desktop\\:margin-y-5{margin-top:2.5rem;margin-bottom:2.5rem}.desktop\\:margin-top-5{margin-top:2.5rem}.desktop\\:margin-bottom-5{margin-bottom:2.5rem}.desktop\\:margin-y-6{margin-top:3rem;margin-bottom:3rem}.desktop\\:margin-top-6{margin-top:3rem}.desktop\\:margin-bottom-6{margin-bottom:3rem}.desktop\\:margin-y-7{margin-top:3.5rem;margin-bottom:3.5rem}.desktop\\:margin-top-7{margin-top:3.5rem}.desktop\\:margin-bottom-7{margin-bottom:3.5rem}.desktop\\:margin-y-8{margin-top:4rem;margin-bottom:4rem}.desktop\\:margin-top-8{margin-top:4rem}.desktop\\:margin-bottom-8{margin-bottom:4rem}.desktop\\:margin-y-9{margin-top:4.5rem;margin-bottom:4.5rem}.desktop\\:margin-top-9{margin-top:4.5rem}.desktop\\:margin-bottom-9{margin-bottom:4.5rem}.desktop\\:margin-y-10{margin-top:5rem;margin-bottom:5rem}.desktop\\:margin-top-10{margin-top:5rem}.desktop\\:margin-bottom-10{margin-bottom:5rem}.desktop\\:margin-y-15{margin-top:7.5rem;margin-bottom:7.5rem}.desktop\\:margin-top-15{margin-top:7.5rem}.desktop\\:margin-bottom-15{margin-bottom:7.5rem}.desktop\\:margin-y-05em{margin-top:0.5em;margin-bottom:0.5em}.desktop\\:margin-top-05em{margin-top:0.5em}.desktop\\:margin-bottom-05em{margin-bottom:0.5em}.desktop\\:margin-y-1em{margin-top:1em;margin-bottom:1em}.desktop\\:margin-top-1em{margin-top:1em}.desktop\\:margin-bottom-1em{margin-bottom:1em}.desktop\\:margin-y-105em{margin-top:1.5em;margin-bottom:1.5em}.desktop\\:margin-top-105em{margin-top:1.5em}.desktop\\:margin-bottom-105em{margin-bottom:1.5em}.desktop\\:margin-y-2em{margin-top:2em;margin-bottom:2em}.desktop\\:margin-top-2em{margin-top:2em}.desktop\\:margin-bottom-2em{margin-bottom:2em}.desktop\\:margin-y-0{margin-top:0;margin-bottom:0}.desktop\\:margin-top-0{margin-top:0}.desktop\\:margin-bottom-0{margin-bottom:0}.desktop\\:margin-y-auto{margin-top:auto;margin-bottom:auto}.desktop\\:margin-top-auto{margin-top:auto}.desktop\\:margin-bottom-auto{margin-bottom:auto}.desktop\\:margin-x-1px{margin-left:1px;margin-right:1px}.desktop\\:margin-right-1px{margin-right:1px}.desktop\\:margin-left-1px{margin-left:1px}.desktop\\:margin-x-2px{margin-left:2px;margin-right:2px}.desktop\\:margin-right-2px{margin-right:2px}.desktop\\:margin-left-2px{margin-left:2px}.desktop\\:margin-x-05{margin-left:0.25rem;margin-right:0.25rem}.desktop\\:margin-right-05{margin-right:0.25rem}.desktop\\:margin-left-05{margin-left:0.25rem}.desktop\\:margin-x-1{margin-left:0.5rem;margin-right:0.5rem}.desktop\\:margin-right-1{margin-right:0.5rem}.desktop\\:margin-left-1{margin-left:0.5rem}.desktop\\:margin-x-105{margin-left:0.75rem;margin-right:0.75rem}.desktop\\:margin-right-105{margin-right:0.75rem}.desktop\\:margin-left-105{margin-left:0.75rem}.desktop\\:margin-x-2{margin-left:1rem;margin-right:1rem}.desktop\\:margin-right-2{margin-right:1rem}.desktop\\:margin-left-2{margin-left:1rem}.desktop\\:margin-x-205{margin-left:1.25rem;margin-right:1.25rem}.desktop\\:margin-right-205{margin-right:1.25rem}.desktop\\:margin-left-205{margin-left:1.25rem}.desktop\\:margin-x-3{margin-left:1.5rem;margin-right:1.5rem}.desktop\\:margin-right-3{margin-right:1.5rem}.desktop\\:margin-left-3{margin-left:1.5rem}.desktop\\:margin-x-neg-1px{margin-left:-1px;margin-right:-1px}.desktop\\:margin-right-neg-1px{margin-right:-1px}.desktop\\:margin-left-neg-1px{margin-left:-1px}.desktop\\:margin-x-neg-2px{margin-left:-2px;margin-right:-2px}.desktop\\:margin-right-neg-2px{margin-right:-2px}.desktop\\:margin-left-neg-2px{margin-left:-2px}.desktop\\:margin-x-neg-05{margin-left:-0.25rem;margin-right:-0.25rem}.desktop\\:margin-right-neg-05{margin-right:-0.25rem}.desktop\\:margin-left-neg-05{margin-left:-0.25rem}.desktop\\:margin-x-neg-1{margin-left:-0.5rem;margin-right:-0.5rem}.desktop\\:margin-right-neg-1{margin-right:-0.5rem}.desktop\\:margin-left-neg-1{margin-left:-0.5rem}.desktop\\:margin-x-neg-105{margin-left:-0.75rem;margin-right:-0.75rem}.desktop\\:margin-right-neg-105{margin-right:-0.75rem}.desktop\\:margin-left-neg-105{margin-left:-0.75rem}.desktop\\:margin-x-neg-2{margin-left:-1rem;margin-right:-1rem}.desktop\\:margin-right-neg-2{margin-right:-1rem}.desktop\\:margin-left-neg-2{margin-left:-1rem}.desktop\\:margin-x-neg-205{margin-left:-1.25rem;margin-right:-1.25rem}.desktop\\:margin-right-neg-205{margin-right:-1.25rem}.desktop\\:margin-left-neg-205{margin-left:-1.25rem}.desktop\\:margin-x-neg-3{margin-left:-1.5rem;margin-right:-1.5rem}.desktop\\:margin-right-neg-3{margin-right:-1.5rem}.desktop\\:margin-left-neg-3{margin-left:-1.5rem}.desktop\\:margin-x-neg-4{margin-left:-2rem;margin-right:-2rem}.desktop\\:margin-right-neg-4{margin-right:-2rem}.desktop\\:margin-left-neg-4{margin-left:-2rem}.desktop\\:margin-x-neg-5{margin-left:-2.5rem;margin-right:-2.5rem}.desktop\\:margin-right-neg-5{margin-right:-2.5rem}.desktop\\:margin-left-neg-5{margin-left:-2.5rem}.desktop\\:margin-x-neg-6{margin-left:-3rem;margin-right:-3rem}.desktop\\:margin-right-neg-6{margin-right:-3rem}.desktop\\:margin-left-neg-6{margin-left:-3rem}.desktop\\:margin-x-neg-7{margin-left:-3.5rem;margin-right:-3.5rem}.desktop\\:margin-right-neg-7{margin-right:-3.5rem}.desktop\\:margin-left-neg-7{margin-left:-3.5rem}.desktop\\:margin-x-neg-8{margin-left:-4rem;margin-right:-4rem}.desktop\\:margin-right-neg-8{margin-right:-4rem}.desktop\\:margin-left-neg-8{margin-left:-4rem}.desktop\\:margin-x-neg-9{margin-left:-4.5rem;margin-right:-4.5rem}.desktop\\:margin-right-neg-9{margin-right:-4.5rem}.desktop\\:margin-left-neg-9{margin-left:-4.5rem}.desktop\\:margin-x-neg-10{margin-left:-5rem;margin-right:-5rem}.desktop\\:margin-right-neg-10{margin-right:-5rem}.desktop\\:margin-left-neg-10{margin-left:-5rem}.desktop\\:margin-x-neg-15{margin-left:-7.5rem;margin-right:-7.5rem}.desktop\\:margin-right-neg-15{margin-right:-7.5rem}.desktop\\:margin-left-neg-15{margin-left:-7.5rem}.desktop\\:margin-x-4{margin-left:2rem;margin-right:2rem}.desktop\\:margin-right-4{margin-right:2rem}.desktop\\:margin-left-4{margin-left:2rem}.desktop\\:margin-x-5{margin-left:2.5rem;margin-right:2.5rem}.desktop\\:margin-right-5{margin-right:2.5rem}.desktop\\:margin-left-5{margin-left:2.5rem}.desktop\\:margin-x-6{margin-left:3rem;margin-right:3rem}.desktop\\:margin-right-6{margin-right:3rem}.desktop\\:margin-left-6{margin-left:3rem}.desktop\\:margin-x-7{margin-left:3.5rem;margin-right:3.5rem}.desktop\\:margin-right-7{margin-right:3.5rem}.desktop\\:margin-left-7{margin-left:3.5rem}.desktop\\:margin-x-8{margin-left:4rem;margin-right:4rem}.desktop\\:margin-right-8{margin-right:4rem}.desktop\\:margin-left-8{margin-left:4rem}.desktop\\:margin-x-9{margin-left:4.5rem;margin-right:4.5rem}.desktop\\:margin-right-9{margin-right:4.5rem}.desktop\\:margin-left-9{margin-left:4.5rem}.desktop\\:margin-x-10{margin-left:5rem;margin-right:5rem}.desktop\\:margin-right-10{margin-right:5rem}.desktop\\:margin-left-10{margin-left:5rem}.desktop\\:margin-x-15{margin-left:7.5rem;margin-right:7.5rem}.desktop\\:margin-right-15{margin-right:7.5rem}.desktop\\:margin-left-15{margin-left:7.5rem}.desktop\\:margin-x-card{margin-left:10rem;margin-right:10rem}.desktop\\:margin-right-card{margin-right:10rem}.desktop\\:margin-left-card{margin-left:10rem}.desktop\\:margin-x-card-lg{margin-left:15rem;margin-right:15rem}.desktop\\:margin-right-card-lg{margin-right:15rem}.desktop\\:margin-left-card-lg{margin-left:15rem}.desktop\\:margin-x-mobile{margin-left:20rem;margin-right:20rem}.desktop\\:margin-right-mobile{margin-right:20rem}.desktop\\:margin-left-mobile{margin-left:20rem}.desktop\\:margin-x-05em{margin-left:0.5em;margin-right:0.5em}.desktop\\:margin-right-05em{margin-right:0.5em}.desktop\\:margin-left-05em{margin-left:0.5em}.desktop\\:margin-x-1em{margin-left:1em;margin-right:1em}.desktop\\:margin-right-1em{margin-right:1em}.desktop\\:margin-left-1em{margin-left:1em}.desktop\\:margin-x-105em{margin-left:1.5em;margin-right:1.5em}.desktop\\:margin-right-105em{margin-right:1.5em}.desktop\\:margin-left-105em{margin-left:1.5em}.desktop\\:margin-x-2em{margin-left:2em;margin-right:2em}.desktop\\:margin-right-2em{margin-right:2em}.desktop\\:margin-left-2em{margin-left:2em}.desktop\\:margin-x-0{margin-left:0;margin-right:0}.desktop\\:margin-right-0{margin-right:0}.desktop\\:margin-left-0{margin-left:0}.desktop\\:margin-x-auto{margin-left:auto;margin-right:auto}.desktop\\:margin-right-auto{margin-right:auto}.desktop\\:margin-left-auto{margin-left:auto}.desktop\\:measure-1{max-width:44ex}.desktop\\:measure-2{max-width:60ex}.desktop\\:measure-3{max-width:64ex}.desktop\\:measure-4{max-width:68ex}.desktop\\:measure-5{max-width:72ex}.desktop\\:measure-6{max-width:88ex}.desktop\\:measure-none{max-width:none}.desktop\\:order-first{order:-1}.desktop\\:order-last{order:999}.desktop\\:order-initial{order:initial}.desktop\\:order-0{order:0}.desktop\\:order-1{order:1}.desktop\\:order-2{order:2}.desktop\\:order-3{order:3}.desktop\\:order-4{order:4}.desktop\\:order-5{order:5}.desktop\\:order-6{order:6}.desktop\\:order-7{order:7}.desktop\\:order-8{order:8}.desktop\\:order-9{order:9}.desktop\\:order-10{order:10}.desktop\\:order-11{order:11}.desktop\\:padding-1px{padding:1px}.desktop\\:padding-y-1px{padding-top:1px;padding-bottom:1px}.desktop\\:padding-x-1px{padding-left:1px;padding-right:1px}.desktop\\:padding-top-1px{padding-top:1px}.desktop\\:padding-right-1px{padding-right:1px}.desktop\\:padding-bottom-1px{padding-bottom:1px}.desktop\\:padding-left-1px{padding-left:1px}.desktop\\:padding-2px{padding:2px}.desktop\\:padding-y-2px{padding-top:2px;padding-bottom:2px}.desktop\\:padding-x-2px{padding-left:2px;padding-right:2px}.desktop\\:padding-top-2px{padding-top:2px}.desktop\\:padding-right-2px{padding-right:2px}.desktop\\:padding-bottom-2px{padding-bottom:2px}.desktop\\:padding-left-2px{padding-left:2px}.desktop\\:padding-05{padding:0.25rem}.desktop\\:padding-y-05{padding-top:0.25rem;padding-bottom:0.25rem}.desktop\\:padding-x-05{padding-left:0.25rem;padding-right:0.25rem}.desktop\\:padding-top-05{padding-top:0.25rem}.desktop\\:padding-right-05{padding-right:0.25rem}.desktop\\:padding-bottom-05{padding-bottom:0.25rem}.desktop\\:padding-left-05{padding-left:0.25rem}.desktop\\:padding-1{padding:0.5rem}.desktop\\:padding-y-1{padding-top:0.5rem;padding-bottom:0.5rem}.desktop\\:padding-x-1{padding-left:0.5rem;padding-right:0.5rem}.desktop\\:padding-top-1{padding-top:0.5rem}.desktop\\:padding-right-1{padding-right:0.5rem}.desktop\\:padding-bottom-1{padding-bottom:0.5rem}.desktop\\:padding-left-1{padding-left:0.5rem}.desktop\\:padding-105{padding:0.75rem}.desktop\\:padding-y-105{padding-top:0.75rem;padding-bottom:0.75rem}.desktop\\:padding-x-105{padding-left:0.75rem;padding-right:0.75rem}.desktop\\:padding-top-105{padding-top:0.75rem}.desktop\\:padding-right-105{padding-right:0.75rem}.desktop\\:padding-bottom-105{padding-bottom:0.75rem}.desktop\\:padding-left-105{padding-left:0.75rem}.desktop\\:padding-2{padding:1rem}.desktop\\:padding-y-2{padding-top:1rem;padding-bottom:1rem}.desktop\\:padding-x-2{padding-left:1rem;padding-right:1rem}.desktop\\:padding-top-2{padding-top:1rem}.desktop\\:padding-right-2{padding-right:1rem}.desktop\\:padding-bottom-2{padding-bottom:1rem}.desktop\\:padding-left-2{padding-left:1rem}.desktop\\:padding-205{padding:1.25rem}.desktop\\:padding-y-205{padding-top:1.25rem;padding-bottom:1.25rem}.desktop\\:padding-x-205{padding-left:1.25rem;padding-right:1.25rem}.desktop\\:padding-top-205{padding-top:1.25rem}.desktop\\:padding-right-205{padding-right:1.25rem}.desktop\\:padding-bottom-205{padding-bottom:1.25rem}.desktop\\:padding-left-205{padding-left:1.25rem}.desktop\\:padding-3{padding:1.5rem}.desktop\\:padding-y-3{padding-top:1.5rem;padding-bottom:1.5rem}.desktop\\:padding-x-3{padding-left:1.5rem;padding-right:1.5rem}.desktop\\:padding-top-3{padding-top:1.5rem}.desktop\\:padding-right-3{padding-right:1.5rem}.desktop\\:padding-bottom-3{padding-bottom:1.5rem}.desktop\\:padding-left-3{padding-left:1.5rem}.desktop\\:padding-4{padding:2rem}.desktop\\:padding-y-4{padding-top:2rem;padding-bottom:2rem}.desktop\\:padding-x-4{padding-left:2rem;padding-right:2rem}.desktop\\:padding-top-4{padding-top:2rem}.desktop\\:padding-right-4{padding-right:2rem}.desktop\\:padding-bottom-4{padding-bottom:2rem}.desktop\\:padding-left-4{padding-left:2rem}.desktop\\:padding-5{padding:2.5rem}.desktop\\:padding-y-5{padding-top:2.5rem;padding-bottom:2.5rem}.desktop\\:padding-x-5{padding-left:2.5rem;padding-right:2.5rem}.desktop\\:padding-top-5{padding-top:2.5rem}.desktop\\:padding-right-5{padding-right:2.5rem}.desktop\\:padding-bottom-5{padding-bottom:2.5rem}.desktop\\:padding-left-5{padding-left:2.5rem}.desktop\\:padding-6{padding:3rem}.desktop\\:padding-y-6{padding-top:3rem;padding-bottom:3rem}.desktop\\:padding-x-6{padding-left:3rem;padding-right:3rem}.desktop\\:padding-top-6{padding-top:3rem}.desktop\\:padding-right-6{padding-right:3rem}.desktop\\:padding-bottom-6{padding-bottom:3rem}.desktop\\:padding-left-6{padding-left:3rem}.desktop\\:padding-7{padding:3.5rem}.desktop\\:padding-y-7{padding-top:3.5rem;padding-bottom:3.5rem}.desktop\\:padding-x-7{padding-left:3.5rem;padding-right:3.5rem}.desktop\\:padding-top-7{padding-top:3.5rem}.desktop\\:padding-right-7{padding-right:3.5rem}.desktop\\:padding-bottom-7{padding-bottom:3.5rem}.desktop\\:padding-left-7{padding-left:3.5rem}.desktop\\:padding-8{padding:4rem}.desktop\\:padding-y-8{padding-top:4rem;padding-bottom:4rem}.desktop\\:padding-x-8{padding-left:4rem;padding-right:4rem}.desktop\\:padding-top-8{padding-top:4rem}.desktop\\:padding-right-8{padding-right:4rem}.desktop\\:padding-bottom-8{padding-bottom:4rem}.desktop\\:padding-left-8{padding-left:4rem}.desktop\\:padding-9{padding:4.5rem}.desktop\\:padding-y-9{padding-top:4.5rem;padding-bottom:4.5rem}.desktop\\:padding-x-9{padding-left:4.5rem;padding-right:4.5rem}.desktop\\:padding-top-9{padding-top:4.5rem}.desktop\\:padding-right-9{padding-right:4.5rem}.desktop\\:padding-bottom-9{padding-bottom:4.5rem}.desktop\\:padding-left-9{padding-left:4.5rem}.desktop\\:padding-10{padding:5rem}.desktop\\:padding-y-10{padding-top:5rem;padding-bottom:5rem}.desktop\\:padding-x-10{padding-left:5rem;padding-right:5rem}.desktop\\:padding-top-10{padding-top:5rem}.desktop\\:padding-right-10{padding-right:5rem}.desktop\\:padding-bottom-10{padding-bottom:5rem}.desktop\\:padding-left-10{padding-left:5rem}.desktop\\:padding-15{padding:7.5rem}.desktop\\:padding-y-15{padding-top:7.5rem;padding-bottom:7.5rem}.desktop\\:padding-x-15{padding-left:7.5rem;padding-right:7.5rem}.desktop\\:padding-top-15{padding-top:7.5rem}.desktop\\:padding-right-15{padding-right:7.5rem}.desktop\\:padding-bottom-15{padding-bottom:7.5rem}.desktop\\:padding-left-15{padding-left:7.5rem}.desktop\\:padding-0{padding:0}.desktop\\:padding-y-0{padding-top:0;padding-bottom:0}.desktop\\:padding-x-0{padding-left:0;padding-right:0}.desktop\\:padding-top-0{padding-top:0}.desktop\\:padding-right-0{padding-right:0}.desktop\\:padding-bottom-0{padding-bottom:0}.desktop\\:padding-left-0{padding-left:0}.desktop\\:width-1px{width:1px}.desktop\\:width-2px{width:2px}.desktop\\:width-05{width:0.25rem}.desktop\\:width-1{width:0.5rem}.desktop\\:width-105{width:0.75rem}.desktop\\:width-2{width:1rem}.desktop\\:width-205{width:1.25rem}.desktop\\:width-3{width:1.5rem}.desktop\\:width-4{width:2rem}.desktop\\:width-5{width:2.5rem}.desktop\\:width-6{width:3rem}.desktop\\:width-7{width:3.5rem}.desktop\\:width-8{width:4rem}.desktop\\:width-9{width:4.5rem}.desktop\\:width-10{width:5rem}.desktop\\:width-15{width:7.5rem}.desktop\\:width-card{width:10rem}.desktop\\:width-card-lg{width:15rem}.desktop\\:width-mobile{width:20rem}.desktop\\:width-mobile-lg{width:30rem}.desktop\\:width-tablet{width:40rem}.desktop\\:width-tablet-lg{width:55rem}.desktop\\:width-desktop{width:64rem}.desktop\\:width-desktop-lg{width:75rem}.desktop\\:width-widescreen{width:87.5rem}.desktop\\:width-0{width:0}.desktop\\:width-full{width:100%}.desktop\\:width-auto{width:auto}}","/*! uswds @version */\n\n// Global\n// -------------------------------------\n@forward \"uswds-global\";\n\n// Helpers\n// -------------------------------------\n@forward \"uswds-helpers\";\n\n// Components\n// -------------------------------------\n@forward \"uswds-typography\";\n@forward \"usa-accordion/src/styles\";\n@forward \"usa-alert/src/styles\";\n@forward \"usa-banner/src/styles\";\n@forward \"usa-breadcrumb/src/styles\";\n@forward \"usa-button-group/src/styles\";\n@forward \"usa-button/src/styles\";\n@forward \"usa-card/src/styles\";\n@forward \"usa-checklist/src/styles\";\n@forward \"usa-collection/src/styles\";\n@forward \"usa-embed-container/src/styles\";\n@forward \"usa-footer/src/styles\";\n@forward \"usa-form/src/styles\";\n@forward \"usa-graphic-list/src/styles\";\n@forward \"usa-header/src/styles\";\n@forward \"usa-hero/src/styles\";\n@forward \"usa-icon-list/src/styles\";\n@forward \"usa-icon/src/styles\";\n@forward \"usa-identifier/src/styles\";\n@forward \"usa-in-page-navigation/src/styles\";\n@forward \"usa-language-selector/src/styles\";\n@forward \"usa-layout-docs/src/styles\";\n@forward \"usa-layout-grid/src/styles\";\n@forward \"usa-media-block/src/styles\";\n@forward \"usa-modal/src/styles\";\n@forward \"usa-nav/src/styles\";\n@forward \"usa-pagination/src/styles\";\n@forward \"usa-process-list/src/styles\";\n@forward \"usa-search/src/styles\";\n@forward \"usa-section/src/styles\";\n@forward \"usa-sidenav/src/styles\";\n@forward \"usa-site-alert/src/styles\";\n@forward \"usa-skipnav/src/styles\";\n@forward \"usa-step-indicator/src/styles\";\n@forward \"usa-summary-box/src/styles\";\n@forward \"usa-table/src/styles\";\n@forward \"usa-tag/src/styles\";\n@forward \"usa-tooltip/src/styles\";\n@forward \"uswds-form-controls\";\n\n// Utilities\n// -------------------------------------\n@forward \"uswds-utilities/src/styles\";\n","/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n","@use \"sass:map\";\n@use \"uswds-core\" as *;\n\n// Navigation helpers\n// ---------------------------------\n\n@mixin primary-nav-link {\n line-height: line-height($theme-navigation-font-family, 1);\n padding: units(2);\n}\n\n$nav-link-color: \"base-dark\";\n$sliding-panel-width: \"card-lg\";\n$nav-link-accordion-icon-size: 2.5;\n$nav-link-arrow-icon-size: 2;\n\n// Maps for icon masks\n$place-icon-defaults: (\n \"color\": ButtonText,\n \"svg-height\": 24,\n \"svg-width\": 24,\n);\n\n$-chevron-icon-defaults: map-merge(\n $place-icon-defaults,\n (\n \"height\": units($nav-link-arrow-icon-size),\n )\n);\n\n$-mobile-icon-defaults: map-merge(\n $place-icon-defaults,\n (\n \"height\": units($nav-link-accordion-icon-size),\n )\n);\n\n$-add-icon: map-merge(\n $-mobile-icon-defaults,\n (\n \"name\": \"add\",\n )\n);\n\n$-remove-icon: map-merge(\n $-mobile-icon-defaults,\n (\n \"name\": \"remove\",\n )\n);\n\n$close-icon: map-merge(\n $-mobile-icon-defaults,\n (\n \"name\": \"close\",\n )\n);\n\n$expand-more-icon: map-merge(\n $-chevron-icon-defaults,\n (\n \"name\": \"expand_more\",\n )\n);\n\n$expand-less-icon: map-merge(\n $-chevron-icon-defaults,\n (\n \"name\": \"expand_less\",\n )\n);\n\n// TODO: Collect animations in a common location?\n@keyframes slidein-left {\n from {\n transform: translateX(units($sliding-panel-width));\n }\n\n to {\n transform: translateX(0);\n }\n}\n\n// Header navigation\n// ---------------------------------\n.usa-nav {\n @include typeset($theme-navigation-font-family, null, 1);\n\n @include at-media-max($theme-header-min-width) {\n @include u-pin(\"right\");\n @include u-pin(\"y\");\n position: fixed;\n background: color(\"white\");\n border-right: 0;\n display: none;\n flex-direction: column;\n overflow-y: auto;\n padding: units(2);\n width: units($sliding-panel-width);\n z-index: z-index(500);\n\n &.is-visible {\n animation: slidein-left 0.3s ease-in-out;\n display: flex;\n }\n }\n\n @include at-media($theme-header-min-width) {\n float: right;\n position: relative;\n }\n\n .usa-search {\n @include at-media($theme-header-min-width) {\n margin-left: units(2);\n }\n }\n\n .usa-accordion {\n @include typeset($theme-navigation-font-family, null, 1);\n }\n}\n\n// Primary navigation\n// ---------------------------------\n\n.usa-nav__primary {\n // Until the $theme-header-width,\n // use the usa-nav-list styles for the slide-in nav\n @include at-media-max($theme-header-min-width) {\n @include nav-list(\"nav\");\n margin-top: units(3);\n order: 2;\n\n a {\n @include u-padding-y(1.5);\n }\n }\n\n // At $theme-header-width and wider...\n @include at-media($theme-header-min-width) {\n display: flex;\n align-items: stretch;\n }\n\n // all nav items in the nav\n .usa-nav__primary-item {\n a {\n text-decoration: none;\n }\n }\n\n // just level 1 nav items...\n > .usa-nav__primary-item {\n line-height: line-height($theme-navigation-font-family, 2);\n\n @include at-media($theme-header-min-width) {\n font-size: font-size($theme-navigation-font-family, \"2xs\");\n line-height: line-height($theme-navigation-font-family, 1);\n }\n\n // ...and their direct links\n > a {\n @include at-media($theme-header-min-width) {\n @include primary-nav-link;\n align-items: center;\n color: color($nav-link-color);\n display: flex;\n font-weight: font-weight(\"bold\");\n\n &:hover {\n color: color(\"primary\");\n }\n }\n }\n\n > button,\n > a {\n @include at-media($theme-header-min-width) {\n height: 100%;\n }\n }\n }\n\n a {\n @include at-media($theme-header-min-width) {\n @include u-padding-y(1);\n }\n }\n\n button {\n $button-vertical-offset: 53%; // XXX: Magic number\n\n @include button-unstyled;\n position: relative; // Anchor spans chevron pseudo element\n color: color($nav-link-color);\n font-weight: font-weight(\"normal\");\n line-height: line-height($theme-navigation-font-family, 2);\n padding: units(1.5) units(2);\n text-decoration: none;\n\n @include at-media($theme-header-min-width) {\n @include primary-nav-link;\n font-size: font-size($theme-navigation-font-family, \"2xs\");\n font-weight: font-weight(\"bold\");\n }\n\n @media (forced-colors: active) {\n forced-color-adjust: auto;\n }\n\n &:hover {\n color: color(\"primary\");\n background-color: color(\"base-lightest\");\n text-decoration: none;\n\n @include at-media($theme-header-min-width) {\n background-color: transparent;\n }\n }\n\n // Remove icon set from usa-accordion.\n // Also removed in _usa-banner.scss.\n &[aria-expanded],\n &[aria-expanded]:hover {\n background-image: none;\n\n @media (forced-colors: active) {\n &::before {\n content: none;\n }\n }\n }\n\n &[aria-expanded] {\n span {\n &::after {\n position: absolute;\n top: 50%;\n right: 0;\n transform: translateY(-50%);\n }\n }\n }\n\n &[aria-expanded=\"false\"] {\n span {\n @include place-icon($-add-icon, \"after\");\n\n &::after:hover {\n background-color: buttonText;\n }\n }\n\n @include at-media($theme-header-min-width) {\n span {\n @include place-icon($expand-more-icon, \"after\");\n\n &::after {\n right: units(1.5);\n }\n }\n }\n\n &:hover {\n @include at-media($theme-header-min-width) {\n span::after {\n background-color: color(blue-warm-70v);\n\n @media (forced-colors: active) {\n background-color: ButtonText;\n }\n }\n }\n }\n }\n\n &[aria-expanded=\"true\"] {\n span {\n @include place-icon($-remove-icon, \"after\");\n\n &::after {\n position: absolute;\n right: 0;\n\n @media (forced-colors: active) {\n background-color: ButtonText;\n }\n }\n }\n\n @include at-media($theme-header-min-width) {\n background-image: none;\n background-color: color(\"primary-darker\");\n color: color(\"white\");\n\n @include at-media($theme-header-min-width) {\n span {\n @include place-icon($expand-less-icon, \"after\");\n &::after {\n right: units(1.5);\n background-color: white;\n @media (forced-colors: active) {\n background-color: ButtonText;\n }\n }\n }\n }\n }\n }\n }\n\n .usa-accordion__button {\n span {\n @include at-media($theme-header-min-width) {\n display: inline-block;\n margin-right: 0;\n padding-right: units(2);\n }\n }\n }\n}\n\n// Secondary navigation\n// ---------------------------------\n\n.usa-nav__secondary {\n margin-top: units(2);\n\n @include at-media($theme-header-min-width) {\n @include u-flex(\"column\", \"align-end\");\n bottom: units(8); // XXX magic number\n display: flex;\n font-size: font-size($theme-navigation-font-family, \"2xs\");\n margin-top: units(1);\n min-width: calc(\n #{$theme-search-min-width} + #{units($theme-button-small-width)}\n );\n position: absolute;\n right: units($theme-site-margins-width);\n }\n\n .usa-search {\n margin-top: units(2);\n width: 100%;\n\n @include at-media($theme-header-min-width) {\n margin-left: 0;\n margin-top: units(1);\n }\n }\n}\n\n.usa-nav__secondary-links {\n @include add-list-reset;\n line-height: line-height($theme-navigation-font-family, 3);\n margin-top: units(3);\n\n @include at-media($theme-header-min-width) {\n column-gap: units(1);\n display: flex;\n flex-flow: row nowrap;\n line-height: line-height($theme-navigation-font-family, 1);\n margin-bottom: units(0.5);\n margin-top: 0;\n }\n\n .usa-nav__secondary-item {\n @include at-media($theme-header-min-width) {\n padding-left: units(0.5);\n\n & + .usa-nav__secondary-item {\n border-left: 1px solid color(\"base-lighter\");\n padding-left: units(1);\n }\n }\n }\n\n a {\n color: color(\"base\");\n display: inline-block;\n font-size: font-size($theme-navigation-font-family, \"2xs\");\n text-decoration: none;\n\n &:hover {\n color: color(\"primary\");\n text-decoration: underline;\n }\n }\n}\n\n// Navigation dropdowns\n// ---------------------------------\n\n.usa-nav__submenu {\n @include at-media-max($theme-header-min-width) {\n @include nav-sublist;\n }\n\n @include at-media($theme-header-min-width) {\n @include add-list-reset;\n @include u-padding-y(1);\n background-color: color(\"primary-darker\");\n width: units(\"card-lg\");\n position: absolute;\n z-index: z-index(400);\n }\n\n &[aria-hidden=\"true\"] {\n display: none;\n }\n\n .usa-nav__submenu-item {\n @include at-media($theme-header-min-width) {\n a {\n @include u-padding-x(2);\n color: color(\"white\");\n line-height: line-height($theme-navigation-font-family, 3);\n display: block;\n\n &:focus {\n outline-offset: units(\"neg-05\");\n }\n\n &:hover {\n color: color(\"white\");\n text-decoration: underline;\n }\n }\n }\n }\n}\n\n.usa-nav__submenu-list {\n @include unstyled-list;\n\n .usa-nav__submenu-list-item {\n margin: 0;\n font-size: font-size($theme-navigation-font-family, \"2xs\");\n\n a {\n line-height: line-height($theme-navigation-font-family, 3);\n }\n }\n}\n\n// Navigation close button\n// ---------------------------------\n\n.usa-nav__close {\n @include button-unstyled;\n @include u-square($size-touch-target);\n background-image: none;\n color: currentColor;\n flex: none;\n float: right;\n margin: units(-1.5) units(-2) units(2) auto;\n text-align: center;\n\n @media (forced-colors: active) {\n @include place-icon($close-icon, \"before\");\n &::before {\n background-color: buttonText;\n }\n }\n\n &:hover {\n color: currentColor;\n text-decoration: none;\n }\n\n @include at-media($theme-header-min-width) {\n display: none;\n }\n\n img {\n width: units(3);\n\n @media (forced-colors: active) {\n display: none;\n }\n }\n\n + * {\n clear: both;\n }\n}\n\n.usa-js-mobile-nav--active {\n overflow: hidden;\n}\n\n// Safari-only fix that forces a vertical scrollbar when mobile menu is open.\n// Only needed in the 15px immediately preceding $theme-header-min-width.\n//\n// Note: 15px is the current width of the Safari scrollbar.\n// Note: This fix only applies when $theme-header-min-width is defined with a system breakpoint\n// because the header visually breaks with other values.\n// This bypass prevents compilation errors with values like \"none\" or 1px.\n\n$our-breakpoints: map-deep-get($system-properties, breakpoints, standard);\n\n@if map-has-key($our-breakpoints, $theme-header-min-width) {\n $safari-header-bug-min-width: calc(\n units($theme-header-min-width) - px-to-rem(15px)\n );\n\n @media (min-width: $safari-header-bug-min-width) {\n .usa-js-mobile-nav--active.is-safari {\n overflow-y: scroll;\n position: fixed;\n // --scrolltop set with JS with zero as fallback.\n top: var(--scrolltop, 0);\n }\n }\n}\n","// Apply a natural box layout model to all elements, but allowing components to\n// change\n\n@use \"uswds-core/src/styles/settings\" as *;\n\n@if $theme-global-border-box-sizing {\n html {\n box-sizing: border-box;\n }\n\n *,\n *::before,\n *::after {\n box-sizing: inherit;\n }\n}\n","@mixin add-kerning {\n font-feature-settings: \"kern\" 1;\n font-kerning: normal;\n}\n","@use \"uswds-core/src/styles/settings\" as *;\n@use \"uswds-core/src/styles/functions\" as *;\n@use \"uswds-core/src/styles/mixins/general/add-kerning\" as *;\n@use \"uswds-core/src/styles/mixins/typography\" as *;\n\nhtml {\n @include add-kerning;\n font-family: font-family($theme-body-font-family);\n font-size: $root-font-size;\n}\n\n@if $theme-style-body-element {\n body {\n @include typeset;\n }\n}\n\n@if $theme-global-paragraph-styles == true {\n @include usa-paragraph-style;\n}\n\n@if $theme-global-link-styles == true {\n @include usa-link-style;\n}\n\n@if $theme-global-content-styles == true {\n @include usa-content-styles;\n}\n\n// Remove user agent styles\n\ncite,\nvar,\naddress,\ndfn {\n font-style: normal;\n}\n","@use \"../../functions/color/get-color-token-from-bg\" as *;\n@use \"../../functions/utilities/color\" as *;\n@use \"../../functions/general/get-default\" as *;\n\n@mixin set-text-from-bg(\n $bg-color: \"default\",\n $preferred-text-color: \"default\",\n $fallback-text-color: \"default\",\n $wcag-target: \"AA\",\n $context: false,\n $important: null\n) {\n $important: if($important, \" !important\", null);\n $accessible-color-token: get-color-token-from-bg(\n $bg-color,\n $preferred-text-color,\n $fallback-text-color,\n $wcag-target,\n $context\n );\n color: color($accessible-color-token) #{$important};\n}\n","@use \"../../functions/utilities/color\" as *;\n@use \"../../functions/general/get-default\" as *;\n\n@use \"./set-text-from-bg\" as *;\n\n@mixin set-text-and-bg(\n $bg-color: \"default\",\n $preferred-text-color: \"default\",\n $fallback-text-color: \"default\",\n $wcag-target: \"AA\",\n $context: false,\n $important: null\n) {\n $important: if($important, \" !important\", null);\n\n @include set-text-from-bg(\n $bg-color,\n $preferred-text-color,\n $fallback-text-color,\n $wcag-target,\n $context,\n $important: $important\n );\n $bg-color: if($bg-color == \"default\", get-default(\"bg-color\"), $bg-color);\n background-color: color($bg-color) #{$important};\n}\n","@use \"uswds-core/src/styles/mixins/helpers/set-text-and-bg\" as *;\n\nbody {\n @include set-text-and-bg($context: \"Body\");\n overflow-x: hidden;\n}\n","@use \"uswds-core/src/styles/mixins/general/media-link\" as *;\n\nimg {\n max-width: 100%;\n}\n\n.usa-media-link {\n @include media-link;\n}\n","@use \"../settings\" as *;\n@use \"../functions\" as *;\n@use \"../mixins\" as *;\n@use \"../variables/border-high-contrast.scss\" as *;\n\n// Helpers\n$input-select-margin-right: 1.5;\n\n%block-input-general {\n @include border-box-sizing;\n @include typeset(\n $theme-form-font-family,\n $theme-body-font-size,\n $theme-input-line-height\n );\n}\n\n%block-input-styles {\n @include u-border(1px, \"base-dark\");\n appearance: none;\n border-radius: 0;\n color: color(\"ink\"); // standardize on firefox\n display: block;\n height: units(5);\n margin-top: units(1);\n max-width: units($theme-input-max-width);\n padding: units(1);\n width: 100%;\n}\n","@use \"../../functions\" as *;\n\n/*\n----------------------------------------\nfamily()\n----------------------------------------\nGet a font-family stack\n----------------------------------------\n*/\n\n@mixin u-font-family($family) {\n font-family: ff($family);\n}\n\n/*\n----------------------------------------\nsize()\n----------------------------------------\nGet a normalized font-size in rem from\na family and a type size in either\nsystem scale or project scale\n----------------------------------------\n*/\n\n@mixin u-font-size($family, $scale) {\n font-size: font-size($family, $scale);\n}\n\n/*\n----------------------------------------\nfont()\n----------------------------------------\nGet a font-family stack\nAND\nGet a normalized font-size in rem from\na family and a type size in either\nsystem scale or project scale\n----------------------------------------\n*/\n\n@mixin u-font($family, $scale) {\n font-family: ff($family);\n font-size: font-size($family, $scale);\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n// Outputs line-height\n\n@mixin u-line-height($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n $family: list.nth($value, 1);\n $scale: list.nth($value, 2);\n line-height: lh($family, $scale) #{$important};\n}\n",null,"@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../../functions\" as *;\n@use \"../../properties\" as *;\n@use \"../../tokens/color\" as *;\n\n$border-utilities: (\n \"width\":\n map-collect(\n map-deep-get($system-properties, border-width, standard),\n map-deep-get($system-properties, border-width, extended)\n ),\n \"style\":\n map-collect(\n map-deep-get($system-properties, border-style, standard),\n map-deep-get($system-properties, border-style, extended)\n ),\n);\n\n@mixin border-n($side, $value...) {\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n $has-style: false;\n $widths: map.get($border-utilities, \"width\");\n\n @each $this-value in $value {\n $match: false;\n @if map.has-key($all-color-shortcodes, smart-quote($this-value)) {\n $match: true;\n $this-value: smart-quote($this-value);\n @if $side == n {\n border-color: color($this-value) #{$important};\n } @else if $side == x {\n border-left-color: color($this-value) #{$important};\n border-right-color: color($this-value) #{$important};\n } @else if $side == y {\n border-bottom-color: color($this-value) #{$important};\n border-top-color: color($this-value) #{$important};\n } @else {\n border-#{$side}-color: color($this-value) #{$important};\n }\n } @else if meta.type-of($this-value) == \"number\" {\n $converted-value: number-to-token($this-value);\n @if map.has-key($widths, $converted-value) {\n $match: true;\n $final-value: map.get($widths, $converted-value);\n @if $side == n {\n border-width: string.unquote(\"#{$final-value}#{$important}\");\n } @else if $side == x {\n border-left-width: string.unquote(\"#{$final-value}#{$important}\");\n border-right-width: string.unquote(\"#{$final-value}#{$important}\");\n } @else if $side == y {\n border-bottom-width: string.unquote(\"#{$final-value}#{$important}\");\n border-top-width: string.unquote(\"#{$final-value}#{$important}\");\n } @else {\n border-#{$side}-width: string.unquote(\"#{$final-value}#{$important}\");\n }\n } @else {\n @error '#{$this-value} is not a valid border width. Accepted values: #{map-keys($widths)}';\n }\n } @else if map.has-key($widths, smart-quote($this-value)) {\n $match: true;\n $this-value: smart-quote($this-value);\n $final-value: map.get($widths, $this-value);\n @if $side == n {\n border-width: string.unquote(\"#{$final-value}#{$important}\");\n } @else if $side == x {\n border-left-width: string.unquote(\"#{$final-value}#{$important}\");\n border-right-width: string.unquote(\"#{$final-value}#{$important}\");\n } @else if $side == y {\n border-bottom-width: string.unquote(\"#{$final-value}#{$important}\");\n border-top-width: string.unquote(\"#{$final-value}#{$important}\");\n } @else {\n border-#{$side}-width: string.unquote(\"#{$final-value}#{$important}\");\n }\n } @else {\n $converted-value: smart-quote($this-value);\n $styles: map.get($border-utilities, \"style\");\n @if map.has-key($styles, $converted-value) {\n $match: true;\n $has-style: true;\n $final-value: map.get($styles, $converted-value);\n @if $side == n {\n border-style: string.unquote(\"#{$final-value}#{$important}\");\n } @else if $side == x {\n border-left-style: string.unquote(\"#{$final-value}#{$important}\");\n border-right-style: string.unquote(\"#{$final-value}#{$important}\");\n } @else if $side == y {\n border-bottom-style: string.unquote(\"#{$final-value}#{$important}\");\n border-top-style: string.unquote(\"#{$final-value}#{$important}\");\n } @else {\n border-#{$side}-style: string.unquote(\"#{$final-value}#{$important}\");\n }\n } @else {\n @error '`#{$this-value}` is not a valid `border` token. '\n + 'Use valid color, units, and border-style tokens '\n + 'separated by commas.';\n }\n }\n @if not $match {\n @error '`#{$this-value}` is not a valid `border` token.';\n }\n }\n @if not $has-style {\n @if $side == n {\n border-style: solid#{$important};\n } @else if $side == x {\n border-left-style: solid#{$important};\n border-right-style: solid#{$important};\n } @else if $side == y {\n border-bottom-style: solid#{$important};\n border-top-style: solid#{$important};\n } @else {\n border-#{$side}-style: solid#{$important};\n }\n }\n}\n\n@mixin u-border($value...) {\n @include border-n(n, $value...);\n}\n\n@mixin u-border-x($value...) {\n @include border-n(x, $value...);\n}\n\n@mixin u-border-y($value...) {\n @include border-n(y, $value...);\n}\n\n@mixin u-border-top($value...) {\n @include border-n(top, $value...);\n}\n\n@mixin u-border-right($value...) {\n @include border-n(right, $value...);\n}\n\n@mixin u-border-bottom($value...) {\n @include border-n(bottom, $value...);\n}\n\n@mixin u-border-left($value...) {\n @include border-n(left, $value...);\n}\n","@use \"sass:map\";\n@use \"sass:string\";\n@use \"sass:list\";\n\n@use \"../../functions\" as *;\n@use \"../../variables\" as *;\n@use \"../../tokens/font\" as *;\n@use \"../../settings\" as *;\n\n// Output the @font-face rule\n@mixin at-font-face($display-name, $file-path, $font-weight, $font-style) {\n // TODO: If $theme-use-rails-pipeline use font-url() statements\n // instead of url()\n // Dunno why I can't do this without an error...\n\n @font-face {\n font-family: $display-name;\n font-style: string.unquote($font-style);\n font-weight: $font-weight;\n font-display: fallback;\n src: font-sources($file-path);\n }\n}\n\n// Loop through weights, then call at-font-face\n@mixin generate-font-face(\n $font-style-src,\n $output-weights,\n $display-name,\n $dir,\n $font-style\n) {\n @each $font-weight, $filename in $font-style-src {\n @each $key, $output-weight in $output-weights {\n @if $output-weight == $font-weight and $filename {\n @include at-font-face(\n \"#{$display-name}\",\n // TODO: Why is this path causing problems?\n \"#{$theme-font-path}/#{$dir}/#{$filename}\",\n #{$font-weight},\n string.unquote(\"#{$font-style}\")\n );\n }\n }\n }\n}\n\n// Collect all font metadata, then call generate-font-face\n@mixin render-font-face($typeface-token, $src) {\n $generate: false;\n $this-src: ();\n $output-weights: $project-font-weights;\n @if $theme-generate-all-weights {\n $output-weights: (\n 100: 100,\n 200: 200,\n 300: 300,\n 400: 400,\n 500: 500,\n 600: 600,\n 700: 700,\n 800: 800,\n 900: 900,\n );\n }\n\n $typeface-metadata: map.get($all-typeface-tokens, $typeface-token);\n\n // If the typeface has src in its USWDS metadata, generate and\n // set $this-src\n @if map.get($typeface-metadata, src) {\n $generate: true;\n $this-src: map.get($typeface-metadata, src);\n }\n\n // If the typeface has custom src defined, generate and override\n // any existing USWDS src\n @if $src {\n $generate: true;\n $this-src: $src;\n }\n\n @if $generate {\n $display-name: map.get($typeface-metadata, display-name);\n $roman: map.get($this-src, roman);\n $italic: map.get($this-src, italic);\n $dir: map.get($this-src, dir);\n\n @if $roman {\n @include generate-font-face(\n $roman,\n $output-weights,\n $display-name,\n $dir,\n normal\n );\n }\n\n @if $italic {\n @include generate-font-face(\n $italic,\n $output-weights,\n $display-name,\n $dir,\n italic\n );\n }\n }\n}\n","@use \"uswds-core/src/styles/mixins/general/focus-outline\" as *;\n\n// Apply :focus behavior to focusable elements only (For IE 11)\ninput,\nselect,\ntextarea,\nbutton {\n &:not([disabled]) {\n &:focus {\n @include focus-outline;\n }\n }\n}\n\niframe,\n[href],\n[tabindex],\n[contentEditable=\"true\"] {\n &:focus {\n @include focus-outline;\n }\n}\n","@use \"../../functions\" as *;\n@use \"../../settings\" as *;\n\n// Focus state mixin\n@mixin focus-outline(\n $width: $theme-focus-width,\n $style: $theme-focus-style,\n $color: $theme-focus-color,\n $offset: $theme-focus-offset\n) {\n $width: if($width == null, $theme-focus-width, $width);\n $style: if($style == null, $theme-focus-style, $style);\n $color: if($color == null, $theme-focus-color, $color);\n $offset: if($offset == null, $theme-focus-offset, $offset);\n outline: units($width) $style color($color);\n outline-offset: units($offset);\n}\n","// TODO: Add documentation instructions for using this class on image links\n@mixin media-link {\n display: inline-block;\n line-height: 0;\n}\n","@use \"uswds-core/src/styles/mixins/general/focus-outline\" as *;\n\n.usa-focus {\n @include focus-outline;\n}\n","@use \"uswds-core/src/styles/mixins/general/screen-reader\" as *;\n\n.usa-sr-only {\n @include sr-only;\n}\n","// Screen reader only helper\n@mixin sr-only {\n position: absolute;\n left: -999em;\n right: auto;\n}\n\n@mixin add-sr-only {\n @include sr-only;\n}\n\n// This \"negates\" the sr-only helper; useful if\n// we want the default state of something to be\n// for screen readers only, but we want to force\n// it to show for sighted users under more specific\n// conditions.\n@mixin not-sr-only {\n position: static;\n}\n\n@mixin add-no-sr-only {\n position: static;\n}\n","@use \"uswds-core\" as *;\n\n.usa-content {\n p,\n ul:not(.usa-accordion):not(.usa-accordion--bordered),\n ol:not(.usa-accordion):not(.usa-accordion--bordered) {\n max-width: measure($theme-text-measure);\n }\n}\n","@use \"uswds-core\" as *;\n\n$background-context: \"Background\";\n\n.usa-dark-background {\n background-color: color(\"base-darker\");\n\n p,\n span {\n color: color($theme-text-reverse-color);\n }\n\n a {\n @include set-link-from-bg(\n \"base-darker\",\n $theme-link-reverse-color,\n $context: $background-context\n );\n }\n}\n","@use \"sass:math\";\n@use \"sass:list\";\n\n@use \"../../settings\" as *;\n@use \"../../functions/general\" as *;\n@use \"../../functions/color/\" as *;\n@use \"../../functions/utilities/color\" as *;\n\n@mixin set-link-from-bg(\n $bg-color: \"default\",\n $preferred-link-color: \"default\",\n $fallback-link-color: \"default\",\n $wcag-target: \"AA\",\n $important: null,\n $context: false\n) {\n $important: if($important, \" !important\", null);\n $link-tokens: get-link-tokens-from-bg(\n $bg-color,\n $preferred-link-color,\n $fallback-link-color,\n $wcag-target,\n $context\n );\n\n $bg-color: if($bg-color == \"default\", get-default(\"bg-color\"), $bg-color);\n $link-token: list.nth($link-tokens, 1);\n $hover-token: list.nth($link-tokens, 2);\n\n $visited-token: if(\n is-accessible-magic-number(\n $theme-link-visited-color,\n $bg-color,\n $wcag-target\n ),\n $theme-link-visited-color,\n $link-token\n );\n color: color($link-token) #{$important};\n &:visited {\n color: color($visited-token) #{$important};\n }\n &:hover,\n &:active {\n color: color($hover-token) #{$important};\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-display {\n @include typeset-h3;\n margin-bottom: 0;\n\n @include at-media(\"mobile-lg\") {\n @include typeset-h1;\n }\n\n @include at-media(\"tablet\") {\n @include typeset-display;\n }\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n// Adds margin either l/r(x) or t/b(y)\n\n@mixin margin-n($side, $value...) {\n $value: unpack($value);\n @if $side == all {\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n margin: get-uswds-value(margin, $value...) #{$important};\n } @else if $side == x {\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n margin-left: get-uswds-value(\"margin-horizontal\", $value...) #{$important};\n margin-right: get-uswds-value(\"margin-horizontal\", $value...) #{$important};\n } @else if $side == y {\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n margin-bottom: get-uswds-value(\"margin-vertical\", $value...) #{$important};\n margin-top: get-uswds-value(\"margin-vertical\", $value...) #{$important};\n } @else if $side == t {\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n margin-top: get-uswds-value(\"margin-vertical\", $value...) #{$important};\n } @else if $side == r {\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n margin-right: get-uswds-value(\"margin-horizontal\", $value...) #{$important};\n } @else if $side == b {\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n margin-bottom: get-uswds-value(\"margin-vertical\", $value...) #{$important};\n } @else if $side == l {\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n margin-left: get-uswds-value(\"margin-horizontal\", $value...) #{$important};\n }\n}\n\n@mixin u-margin($value...) {\n @include margin-n(all, $value...);\n}\n\n@mixin u-margin-x($value...) {\n @include margin-n(x, $value...);\n}\n\n@mixin u-margin-y($value...) {\n @include margin-n(y, $value...);\n}\n\n@mixin u-margin-top($value...) {\n @include margin-n(t, $value...);\n}\n\n@mixin u-margin-right($value...) {\n @include margin-n(r, $value...);\n}\n\n@mixin u-margin-bottom($value...) {\n @include margin-n(b, $value...);\n}\n\n@mixin u-margin-left($value...) {\n @include margin-n(l, $value...);\n}\n","@use \"sass:meta\";\n@use \"sass:list\";\n@use \"../general/focus-outline\" as *;\n@use \"../../functions\" as *;\n@use \"../../mixins/utilities\" as *;\n@use \"../../mixins/general/focus-outline\" as *;\n@use \"../../settings\" as *;\n\n/*\n----------------------------------------\ntypeset()\n----------------------------------------\nSets:\n- family\n- size\n- line-height\n----------------------------------------\n*/\n\n@mixin typeset(\n $family: $theme-body-font-family,\n $scale: $theme-body-font-size,\n $line-height: $theme-body-line-height\n) {\n @if meta.type-of($family) == \"list\" {\n $list: $family;\n $family: if(list.nth($list, 1), list.nth($list, 1), null);\n $scale: if(list.nth($list, 2), list.nth($list, 2), null);\n $line-height: if(list.nth($list, 3), list.nth($list, 3), null);\n }\n $family: if($family == null, $theme-body-font-family, $family);\n $scale: if($scale == null, $theme-body-font-size, $scale);\n $line-height: if($line-height == null, $theme-body-line-height, $line-height);\n @include u-font($family, $scale);\n @include u-line-height($family, $line-height);\n}\n\n@mixin typeset-heading-base {\n @include u-margin-y(0);\n clear: both;\n}\n\n@mixin typeset-heading {\n @include typeset-heading-base;\n\n * + & {\n margin-top: $theme-heading-margin-top;\n }\n\n + * {\n margin-top: $theme-paragraph-margin-top;\n }\n}\n\n@mixin typeset-p-base {\n line-height: line-height($theme-body-font-family, $theme-body-line-height);\n max-width: measure($theme-text-measure);\n}\n\n// typeset element mixins\n@mixin typeset-p {\n @include typeset-p-base;\n @include u-margin-y(0);\n\n * + & {\n margin-top: $theme-paragraph-margin-top;\n }\n\n + * {\n margin-top: $theme-paragraph-margin-top;\n }\n}\n\n@mixin typeset-link {\n color: color($theme-link-color);\n text-decoration: underline;\n\n &:visited {\n color: color($theme-link-visited-color);\n }\n\n &:hover {\n color: color($theme-link-hover-color);\n }\n\n &:active {\n color: color($theme-link-active-color);\n }\n\n &:focus {\n @include focus-outline;\n }\n}\n","@use \"../../settings\" as *;\n@use \"../../functions\" as *;\n@use \"../../mixins/utilities\" as *;\n@use \"./typeset\" as *;\n\n@mixin display {\n @include typeset(\n \"heading\",\n $theme-display-font-size,\n $theme-heading-line-height\n );\n\n font-weight: fw(\"bold\");\n}\n\n@mixin h1 {\n @include typeset(\"heading\", $theme-h1-font-size, $theme-heading-line-height);\n font-weight: fw(\"bold\");\n}\n\n@mixin h2 {\n @include typeset(\"heading\", $theme-h2-font-size, $theme-heading-line-height);\n font-weight: fw(\"bold\");\n}\n\n@mixin h3 {\n @include typeset(\"heading\", $theme-h3-font-size, $theme-heading-line-height);\n font-weight: fw(\"bold\");\n}\n\n@mixin h4 {\n @include typeset(\"heading\", $theme-h4-font-size, $theme-heading-line-height);\n font-weight: fw(\"bold\");\n}\n@mixin h5 {\n @include typeset(\"heading\", $theme-h5-font-size, $theme-heading-line-height);\n font-weight: fw(\"bold\");\n}\n\n@mixin h6 {\n @include typeset(\"body\", $theme-h6-font-size, $theme-heading-line-height);\n font-weight: fw(\"normal\");\n letter-spacing: ls(\"ls-1\");\n text-transform: uppercase;\n}\n\n@mixin typeset-display {\n @include typeset-heading;\n @include display;\n}\n\n@mixin typeset-h1 {\n @include typeset-heading;\n @include h1;\n}\n\n@mixin typeset-h2 {\n @include typeset-heading;\n @include h2;\n}\n\n@mixin typeset-h3 {\n @include typeset-heading;\n @include h3;\n}\n\n@mixin typeset-h4 {\n @include typeset-heading;\n @include h4;\n}\n\n@mixin typeset-h5 {\n @include typeset-heading;\n @include h5;\n}\n\n@mixin typeset-h6 {\n @include typeset-heading;\n @include h6;\n}\n","@use \"sass:map\";\n@use \"../../functions\" as *;\n@use \"../../properties\" as *;\n@use \"../../settings\" as *;\n\n// Mobile-first media query helper\n\n@mixin at-media($bp) {\n $quoted-bp: smart-quote($bp);\n $our-breakpoints: map-deep-get($system-properties, breakpoints, standard);\n @if $quoted-bp == \"none\" {\n @content;\n } @else if map.has-key($our-breakpoints, $quoted-bp) {\n @if $theme-respect-user-font-size {\n $bp: rem-to-user-em(map.get($our-breakpoints, $quoted-bp));\n } @else {\n $bp: rem-to-px(map.get($our-breakpoints, $quoted-bp));\n }\n @media all and (min-width: #{$bp}) {\n @content;\n }\n } @else {\n @warn '`#{$bp}` is not a valid USWDS project breakpoint. Valid values: #{map.keys($our-breakpoints)}';\n }\n}\n\n// Max-width media query\n@mixin at-media-max($bp) {\n $quoted-bp: smart-quote($bp);\n $our-breakpoints: map-deep-get($system-properties, breakpoints, standard);\n @if map-has-key($our-breakpoints, $quoted-bp) {\n @if $theme-respect-user-font-size {\n $bp: rem-to-user-em(map.get($our-breakpoints, $quoted-bp)) - 0.01em;\n } @else {\n $bp: rem-to-px(map.get($our-breakpoints, $quoted-bp)) - 1px;\n }\n } @else {\n @warn '`#{$bp}` is not a valid USWDS project breakpoint. Valid values: #{map-keys($our-breakpoints)}';\n }\n @media all and (max-width: #{$bp}) {\n @content;\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-intro {\n @include typeset(\n $theme-lead-font-family,\n $theme-lead-font-size,\n $theme-lead-line-height\n );\n font-weight: $theme-font-weight-normal;\n max-width: measure($theme-lead-measure);\n}\n","@use \"uswds-core\" as *;\n\n$tokens-icon-sizes: (\n \"3\": 3,\n \"4\": 4,\n \"5\": 5,\n \"6\": 6,\n \"7\": 7,\n \"8\": 8,\n \"9\": 9,\n);\n\n$icon-inline-size-magic-number: 1em;\n\n.usa-icon {\n display: inline-block;\n fill: currentColor;\n height: $icon-inline-size-magic-number;\n position: relative;\n width: $icon-inline-size-magic-number;\n}\n\n@each $token, $units in $tokens-icon-sizes {\n .usa-icon--size-#{$units} {\n @include u-square($units);\n }\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n// Outputs height\n\n@mixin u-height($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n height: get-uswds-value(\"height\", $value...) #{$important};\n}\n","@use \"uswds-core\" as *;\n\n.usa-link {\n @include typeset-link;\n}\n\n// External link consider 'effortless style approach':\n// [href^='http:']:not([href*='my-domain.com'])\n// [href^='https:']:not([href*='my-domain.com'])\n\n.usa-link--external {\n @include external-link();\n\n &.usa-link--alt {\n @include external-link($contrast-bg: \"base-darker\");\n }\n}\n","@use \"../../settings\" as *;\n@use \"./icon\" as *;\n@use \"../../functions\" as *;\n@use \"./screen-reader\" as *;\n\n$external-link-size: 1.75ex;\n\n$icon-object: (\n \"name\": \"launch\",\n \"color\": currentColor,\n \"height\": $external-link-size,\n \"svg-height\": 24,\n \"svg-width\": 24,\n \"position-x\": center,\n \"position-y\": center,\n);\n\n@mixin external-link($contrast-bg: \"default\") {\n display: inline;\n\n // Screen reader label\n &::before {\n @include sr-only;\n content: $theme-external-link-sr-label-tab-same;\n }\n\n &[target=\"_blank\"]::before {\n @include sr-only;\n content: $theme-external-link-sr-label-tab-new;\n }\n\n &::after {\n @include add-color-icon($icon-object, $contrast-bg);\n content: \"\";\n display: inline;\n margin-top: 0.7ex;\n margin-left: 2px;\n padding-left: 1.75ex;\n vertical-align: middle;\n }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n\n@use \"../../settings\" as *;\n@use \"../../functions\" as *;\n@use \"../../variables\" as *;\n@use \"./add-background-svg\" as *;\n\n@mixin display-icon($icon, $direction, $size, $margin, $hover) {\n &::#{$direction} {\n @include add-background-svg(\"#{$icon}\");\n background-size: 100%;\n content: \"\";\n display: inline-block;\n height: $size;\n width: $size;\n\n /* stylelint-disable block-closing-brace-newline-after, at-rule-empty-line-before */\n @if $direction == \"after\" {\n margin-left: $margin;\n } @else {\n margin-right: $margin;\n }\n /* stylelint-enable */\n }\n\n @if $hover == \"hover\" {\n &:hover::#{$direction} {\n @include add-background-svg(\"#{$icon}-hover\");\n }\n }\n}\n\n@mixin remove-icon($direction) {\n &::#{$direction} {\n display: none;\n }\n}\n\n@mixin add-icon(\n $icon-name,\n $direction,\n $image-size,\n $container-size,\n $margin,\n $hover\n) {\n &::#{$direction} {\n @include add-background-svg(\"#{$icon-name}\");\n background-position: center center;\n background-repeat: no-repeat;\n background-size: units($image-size);\n content: \"\";\n display: inline-block;\n height: units($container-size);\n width: units($container-size);\n\n /* stylelint-disable block-closing-brace-newline-after, at-rule-empty-line-before */\n @if $direction == \"after\" {\n margin-left: units($margin);\n } @else {\n margin-right: units($margin);\n }\n /* stylelint-enable */\n }\n\n @if $hover == \"hover\" {\n &:hover::#{$direction} {\n @include add-background-svg(\"#{$icon-name}-hover\");\n }\n }\n}\n\n// New icon mixins using SVG mask technique\n//\n// $image may be a specific SVG or a list in the form\n// ($base, $variant, $variant-alt, $bg)\n// the mixin will pick IE11-compatible svgs named\n// [base]-[variant].svg based on the specified background-color\n//\n// @param {Map} - $icon-object - name, svg-height, svg-width, height, container-height, container-width, color, color-variant, color-hover, rotate, path, position-x, position-y\n// @param {String} - $contrast-bg - Color token\n@mixin add-color-icon($icon-object, $contrast-bg: \"default\") {\n $filename-base: map.get($icon-object, \"name\");\n $svg-height: map.get($icon-object, \"svg-height\");\n $svg-width: map.get($icon-object, \"svg-width\");\n $aspect: math.div($svg-width, $svg-height);\n $height: if(\n math.is-unitless(map.get($icon-object, \"height\")),\n units(map.get($icon-object, \"height\")),\n map.get($icon-object, \"height\")\n );\n $width: $height * $aspect;\n $container-height: if(\n map.has-key($icon-object, \"container-height\"),\n units(map.get($icon-object, \"container-height\")),\n null\n );\n $container-width: if(\n map.has-key($icon-object, \"container-width\"),\n units(map.get($icon-object, \"container-width\")),\n null\n );\n $color: if(\n map.has-key($icon-object, \"color\"),\n map.get($icon-object, \"color\"),\n \"ink\"\n );\n $color-variant: if(\n map.has-key($icon-object, \"color-variant\"),\n map.get($icon-object, \"color-variant\"),\n \"white\"\n );\n $color-hover: if(\n map.has-key($icon-object, \"color-hover\"),\n map.get($icon-object, \"color-hover\"),\n null\n );\n $rotate: if(\n map.has-key($icon-object, \"rotate\"),\n map.get($icon-object, \"rotate\"),\n null\n );\n $path: if(\n map.has-key($icon-object, \"path\"),\n map.get($icon-object, \"path\"),\n $theme-image-path\n );\n $position-y: if(\n map.has-key($icon-object, \"position-y\"),\n map.get($icon-object, \"position-y\"),\n center\n );\n $position-x: if(\n map.has-key($icon-object, \"position-x\"),\n map.get($icon-object, \"position-x\"),\n center\n );\n $ie11-variant: get-color-token-from-bg($contrast-bg, \"white\", \"black\");\n $filename-ie11: if(\n $ie11-variant == \"white\",\n \"usa-icons-bg/#{$filename-base}--white.svg\",\n \"usa-icons/#{$filename-base}.svg\"\n );\n\n background-image: url(\"#{$path}/#{$filename-ie11}\");\n background-repeat: no-repeat;\n background-position: $position-x $position-y;\n background-size: $width $height;\n display: inline-block;\n height: if($container-height, $container-height, $height);\n width: if($container-width, $container-width, $width);\n @if $rotate {\n transform: rotate($rotate);\n }\n\n // Mask supported styles\n @supports (mask: url(\"\")) {\n background: none;\n background-color: if($color == currentColor, $color, color($color));\n mask-image: url(\"#{$path}/usa-icons/#{$filename-base}.svg\"),\n linear-gradient(transparent, transparent);\n mask-position: $position-x $position-y;\n mask-repeat: no-repeat;\n mask-size: $width $height;\n\n @if $color-hover {\n &:hover {\n background-color: color($color-hover);\n }\n }\n }\n}\n\n// Places an icon before or after an element as an inline-block,\n// using the `:before` or `:after` pseudoelements.\n@mixin place-icon(\n $icon-object,\n $direction,\n $margin: \"auto\",\n $vertical-align: middle,\n $contrast-bg: \"default\"\n) {\n $color-hover: if(\n map.has-key($icon-object, \"color-hover\"),\n map.get($icon-object, \"color-hover\"),\n null\n );\n &::#{$direction} {\n @include add-color-icon($icon-object, $contrast-bg);\n content: \"\";\n vertical-align: $vertical-align;\n\n @if $direction == \"after\" {\n margin-left: units($margin);\n } @else {\n margin-right: units($margin);\n }\n }\n\n @if $color-hover {\n &:hover::#{$direction} {\n content: \"\"; // Added to address a weird display bug\n background-color: color($color-hover);\n }\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-list {\n @include usa-list;\n\n li {\n @include usa-list-item;\n }\n}\n\n// Unstyled lists\n@include override-prose {\n .usa-list--unstyled {\n @include unstyled-list;\n }\n}\n","@use \"../../functions\" as *;\n@use \"../../mixins/utilities\" as *;\n@use \"../../settings\" as *;\n\n@mixin usa-list {\n @include u-margin-y(1em);\n line-height: line-height($theme-body-font-family, $theme-body-line-height);\n padding-left: 3ch;\n\n &:last-child {\n margin-bottom: 0;\n }\n\n ul,\n ol {\n margin-top: 0.25em;\n }\n}\n\n@mixin usa-list-item {\n margin-bottom: 0.25em;\n max-width: measure($theme-text-measure);\n\n &:last-child {\n margin-bottom: 0;\n }\n}\n\n@mixin usa-list-styles {\n ul,\n ol {\n @include usa-list;\n\n li {\n @include usa-list-item;\n }\n }\n}\n","@use \"../utilities\" as *;\n\n// Unstyled list helper\n@mixin unstyled-list() {\n @include u-margin-y(0);\n list-style-type: none;\n padding-left: 0;\n\n > li {\n margin-bottom: 0;\n max-width: unset;\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-paragraph {\n @include typeset-p;\n}\n","@use \"uswds-core\" as *;\n\n.usa-prose {\n @include typeset($theme-prose-font-family);\n\n & > {\n @include usa-list-styles;\n @include usa-table-styles;\n\n p {\n @include typeset-p-base;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n @include typeset-heading-base;\n }\n\n * + * {\n margin-top: $theme-paragraph-margin-top;\n margin-bottom: 0;\n }\n\n * + {\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-top: $theme-heading-margin-top;\n }\n }\n\n // Replaces styles from usa-headings-styles\n h1 {\n @include h1;\n }\n h2 {\n @include h2;\n }\n h3 {\n @include h3;\n }\n h4 {\n @include h4;\n }\n h5 {\n @include h5;\n }\n h6 {\n @include h6;\n }\n }\n}\n\n@mixin prose-test {\n .usa-prose {\n & > {\n p {\n @include typeset-p-base;\n }\n\n h1 {\n margin-bottom: 0;\n margin-top: 0;\n clear: both;\n }\n\n * + * {\n margin-top: $theme-paragraph-margin-top;\n }\n\n * + h1 {\n margin-top: $theme-heading-margin-top;\n }\n }\n }\n}\n","@use \"../../settings\" as *;\n@use \"../../functions\" as *;\n@use \"button-unstyled\" as *;\n@use \"../helpers\" as *;\n@use \"../utilities\" as *;\n@use \"../typography/typeset\" as *;\n\n$table-background-color: $theme-table-background-color;\n\n@if $table-background-color == \"default\" {\n $table-background-color: get-default(\"bg-color\");\n}\n\n$table-text-color: get-color-token-from-bg(\n $bg-color: $theme-table-background-color,\n $preferred-text-token: $theme-table-text-color,\n $context: \"Table text\",\n);\n\n$table-header-text-color: color(\n get-color-token-from-bg(\n $bg-color: $theme-table-header-background-color,\n $preferred-text-token: $theme-table-header-text-color,\n $context: \"Table header text\",\n )\n);\n\n$table-stripe-text-color: color(\n get-color-token-from-bg(\n $bg-color: $theme-table-stripe-background-color,\n $preferred-text-token: $theme-table-stripe-text-color,\n $context: \"Table stripe text\",\n )\n);\n\n$table-sorted-text-color: color(\n get-color-token-from-bg(\n $bg-color: $theme-table-sorted-background-color,\n $context: \"Table sorted text\",\n )\n);\n\n$table-sorted-header-text-color: color(\n get-color-token-from-bg(\n $bg-color: $theme-table-sorted-header-background-color,\n $preferred-text-token: $theme-table-header-text-color,\n $context: \"Table sorted header text\",\n )\n);\n\n$table-sorted-stripe-text-color: color(\n get-color-token-from-bg(\n $bg-color: $theme-table-sorted-stripe-background-color,\n $preferred-text-token: $theme-table-stripe-text-color,\n $context: \"Table sorted stripe text\",\n )\n);\n\n$table-sorted-icon-color: color(\n get-color-token-from-bg(\n $bg-color: $theme-table-sorted-header-background-color,\n $preferred-text-token: $theme-table-sorted-icon-color,\n $context: \"Table sorted icon\",\n )\n);\n\n$table-unsorted-icon-color: get-color-token-from-bg(\n $bg-color: $theme-table-header-background-color,\n $preferred-text-token: $theme-table-unsorted-icon-color,\n $context: \"Table unsorted icon\",\n);\n\n// Shared table styles\n@mixin table-header-unsorted-styles {\n padding-right: units(5);\n position: relative;\n &::after {\n border-bottom-color: transparent;\n border-bottom-style: solid;\n border-bottom-width: units(1px);\n bottom: 0;\n content: \"\";\n height: 0;\n left: 0;\n position: absolute;\n width: 100%;\n }\n}\n\n@mixin table-button-default-styles {\n @include button-unstyled;\n @include u-square(4);\n background-position: center center;\n background-size: units(3);\n color: color($theme-table-unsorted-icon-color);\n cursor: pointer;\n display: inline-block;\n margin: 0;\n position: absolute;\n right: 0.25rem;\n text-align: center;\n text-decoration: none;\n // vertically center button within table header\n top: 50%;\n transform: translate(0, -50%);\n .usa-icon {\n @include u-square(3);\n vertical-align: middle;\n & > g {\n fill: transparent;\n }\n }\n}\n\n// The SVG in the sortable column button contains three icon shapes.\n// This CSS controls which of the shapes is 'filled' when active.\n\n@mixin table-button-unsorted-styles {\n @include table-button-default-styles;\n .usa-icon > g.unsorted {\n fill: color($table-unsorted-icon-color);\n }\n &:hover .usa-icon > g.unsorted {\n fill: color(next-token($table-unsorted-icon-color, \"darker\"));\n }\n}\n\n@mixin table-button-sorted-ascending-styles {\n @include table-button-default-styles;\n .usa-icon > g.ascending {\n fill: $table-sorted-icon-color;\n }\n}\n\n@mixin table-button-sorted-descending-styles {\n @include table-button-default-styles;\n .usa-icon > g.descending {\n fill: $table-sorted-icon-color;\n }\n}\n\n@mixin table-stacked-styles {\n thead {\n display: none;\n }\n\n th,\n td {\n border-bottom-width: 0;\n display: block;\n width: 100%;\n }\n\n tr {\n border-bottom: units(0.5) solid color($theme-table-border-color);\n border-top-width: 0;\n width: 100%;\n th:first-child,\n td:first-child {\n border-top-width: 0;\n }\n &:nth-child(odd) {\n td,\n th {\n background-color: inherit;\n }\n }\n\n &:first-child {\n th:first-child,\n td:first-child {\n border-top: units(0.5) solid color($theme-table-border-color);\n }\n }\n }\n\n th[data-label],\n td[data-label] {\n padding-bottom: units(1.5);\n\n &:before {\n content: attr(data-label);\n display: block;\n font-weight: fw(\"bold\");\n margin: units(-1) units(-2) units(0);\n padding: units(1.5) units(2) units(0.5);\n }\n }\n}\n\n@mixin table-stacked-header-styles {\n tr {\n td:first-child,\n th:first-child {\n @include typeset(\n $theme-body-font-family,\n $theme-h4-font-size,\n $theme-heading-line-height\n );\n background-color: color($theme-table-header-background-color);\n color: $table-header-text-color;\n font-weight: fw(\"bold\");\n padding: units(1.5) units(2);\n &:before {\n display: none;\n }\n }\n }\n}\n\n@mixin usa-table {\n @include border-box-sizing;\n @include typeset;\n border-collapse: collapse;\n border-spacing: 0;\n color: color($table-text-color);\n margin: units(2.5) 0;\n text-align: left;\n\n thead {\n th {\n background-clip: padding-box;\n color: $table-header-text-color;\n font-weight: fw(\"bold\");\n line-height: line-height(\n $theme-body-font-family,\n $theme-input-line-height\n );\n }\n\n th,\n td {\n background-color: color($theme-table-header-background-color);\n color: $table-header-text-color;\n }\n }\n tbody {\n th {\n text-align: left;\n }\n }\n th,\n td {\n background-color: color($table-background-color);\n border: 1px solid color($theme-table-border-color);\n font-weight: fw(\"normal\");\n padding: units(1) units(2);\n }\n\n caption {\n @include u-font(\"body\", \"xs\");\n font-weight: fw(\"bold\");\n margin-bottom: units(1.5);\n text-align: left;\n }\n\n /* stylelint-disable selector-class-pattern */\n th[data-sortable] {\n @include table-header-unsorted-styles;\n\n &:not([aria-sort]),\n &[aria-sort=\"none\"] {\n .usa-table__header__button {\n @include table-button-unsorted-styles;\n }\n }\n\n &[aria-sort=\"descending\"],\n &[aria-sort=\"ascending\"] {\n background-color: color($theme-table-sorted-header-background-color);\n }\n\n &[aria-sort=\"descending\"] {\n .usa-table__header__button {\n @include table-button-sorted-descending-styles;\n }\n }\n\n &[aria-sort=\"ascending\"] {\n .usa-table__header__button {\n @include table-button-sorted-ascending-styles;\n }\n }\n }\n /* stylelint-enable selector-class-pattern */\n\n thead {\n th[aria-sort] {\n background-color: color($theme-table-sorted-header-background-color);\n color: $table-sorted-header-text-color;\n }\n }\n\n td[data-sort-active],\n th[data-sort-active] {\n background-color: color($theme-table-sorted-background-color);\n color: $table-sorted-text-color;\n }\n}\n\n@mixin usa-table--borderless {\n thead {\n th {\n background-color: color($table-background-color);\n border-top: 0;\n color: color($table-text-color);\n\n &[aria-sort] {\n color: $table-sorted-header-text-color;\n }\n }\n /* stylelint-disable selector-class-pattern */\n th[data-sortable]:not([aria-sort]) {\n .usa-table__header__button .usa-icon > g.unsorted {\n fill: color($table-text-color);\n }\n\n .usa-table__header__button:hover .usa-icon > g.unsorted {\n fill: color(next-token($table-text-color, \"darker\"));\n }\n }\n /* stylelint-enable selector-class-pattern */\n }\n\n th,\n td {\n border-left: 0;\n border-right: 0;\n }\n}\n\n@mixin usa-table--compact {\n th,\n td {\n padding: units(0.5) units(1.5);\n }\n}\n\n@mixin usa-table--striped {\n tbody {\n tr:nth-child(odd) {\n td,\n th {\n background-color: color($theme-table-stripe-background-color);\n color: $table-stripe-text-color;\n &[data-sort-active] {\n background-color: color($theme-table-sorted-stripe-background-color);\n color: $table-sorted-stripe-text-color;\n }\n }\n }\n }\n}\n\n@mixin usa-table--stacked {\n @include table-stacked-styles;\n}\n\n@mixin usa-table--stacked-header {\n @include table-stacked-styles;\n @include table-stacked-header-styles;\n}\n\n@mixin usa-table--sticky-header {\n border: 1px solid color($theme-table-border-color);\n border-collapse: separate;\n\n td,\n th {\n border-left: none;\n border-top: none;\n\n &:last-child {\n border-right: none;\n }\n }\n\n tbody tr:last-child {\n td,\n th {\n border-bottom: none;\n }\n }\n\n thead {\n position: sticky;\n top: $theme-table-sticky-top-offset;\n }\n\n &.usa-table--borderless {\n border: none;\n\n thead th {\n background-color: color($table-background-color);\n }\n\n td,\n th {\n border-right: none;\n }\n }\n}\n\n@mixin usa-table-container--scrollable {\n margin: units(2.5) 0;\n overflow-y: hidden;\n\n .usa-table {\n margin: 0;\n }\n\n td {\n white-space: nowrap;\n }\n}\n","@use \"../general/table\" as *;\n@use \"../helpers/at-media\" as *;\n\n@mixin usa-table-styles {\n table {\n @include usa-table;\n }\n .usa-table--borderless {\n @include usa-table--borderless;\n }\n .usa-table--compact {\n @include usa-table--compact;\n }\n .usa-table--striped {\n @include usa-table--striped;\n }\n .usa-table--stacked {\n @include at-media-max(\"mobile-lg\") {\n @include table-stacked-styles;\n }\n }\n .usa-table--stacked-header {\n @include at-media-max(\"mobile-lg\") {\n @include table-stacked-styles;\n @include table-stacked-header-styles;\n }\n }\n .width-mobile {\n .usa-table--stacked {\n @include usa-table--stacked;\n }\n .usa-table--stacked-header {\n @include usa-table--stacked-header;\n }\n }\n .usa-table-container--scrollable {\n @include usa-table-container--scrollable;\n }\n}\n","@use \"../../settings\" as *;\n@use \"../../functions\" as *;\n@use \"../../mixins/utilities\" as *;\n@use \"../typography/typeset\" as *;\n\n@mixin button-unstyled {\n @include typeset-link;\n background-color: transparent;\n border: 0;\n border-radius: 0;\n box-shadow: none;\n font-weight: font-weight(\"normal\");\n justify-content: normal;\n text-align: left;\n margin: 0;\n padding: 0;\n\n &:hover,\n &.usa-button--hover,\n &:disabled:hover,\n &[aria-disabled=\"true\"]:hover,\n &:disabled.usa-button--hover,\n &[aria-disabled=\"true\"].usa-button--hover,\n &:active,\n &.usa-button--active,\n &:disabled:active,\n &[aria-disabled=\"true\"]:active,\n &:disabled.usa-button--active,\n &[aria-disabled=\"true\"].usa-button--active,\n &:disabled:focus,\n &[aria-disabled=\"true\"]:focus,\n &:disabled.usa-focus,\n &[aria-disabled=\"true\"].usa-focus,\n &:disabled,\n &[aria-disabled=\"true\"],\n &.usa-button--disabled {\n background-color: transparent;\n box-shadow: none;\n text-decoration: underline;\n }\n\n &.usa-button--hover {\n color: color($theme-link-hover-color);\n }\n\n &.usa-button--active {\n color: color($theme-link-active-color);\n }\n\n &:disabled,\n &[aria-disabled=\"true\"],\n &:disabled:hover,\n &[aria-disabled=\"true\"]:hover,\n &[aria-disabled=\"true\"]:focus {\n color: color(\"disabled\");\n\n @media (forced-colors: active) {\n color: color(GrayText);\n }\n }\n}\n","@use \"sass:map\";\n@use \"uswds-core\" as *;\n\n// Variables\n$accordion-context: \"Accordion\";\n\n$accordion-border: units($theme-accordion-border-width) solid\n color($theme-accordion-border-color);\n\n$accordion-button-background-active-color: next-token(\n $theme-accordion-button-background-color,\n \"darker\"\n);\n\n// Maps for High Contrast Mode\n\n$accordion-icon-map-defaults: (\n color: color(\"ButtonText\"),\n svg-height: 20,\n svg-width: 20,\n height: units(3),\n);\n\n$accordion-button-unopen-hc-icon: map-merge(\n $accordion-icon-map-defaults,\n (\n \"name\": \"add\",\n )\n);\n\n$accordion-button-open-hc-icon: map-merge(\n $accordion-icon-map-defaults,\n (\n \"name\": \"remove\",\n )\n);\n\n// Accordion Styles\n@mixin accordion-list-styles {\n @include unstyled-list;\n color: color(\"ink\");\n margin: 0;\n padding: 0;\n width: 100%;\n}\n\n@mixin accordion-hc-icon-styles {\n height: 100%;\n position: absolute;\n right: units(2.5);\n top: 0;\n}\n\n// Opened styles\n@mixin accordion-button-styles {\n @include button-unstyled;\n @include set-text-and-bg(\n $theme-accordion-button-background-color,\n $context: $accordion-context\n );\n @include set-icon-from-bg(\n $theme-accordion-button-background-color,\n \"usa-icons/remove\",\n \"usa-icons-bg/remove--white\"\n );\n background-position: right units(2.5) center;\n background-size: units(3);\n cursor: pointer;\n display: inline-block;\n font-weight: font-weight(\"bold\");\n margin: 0;\n padding: units(2) units(2.5) * 2 + units(2) units(2) units(2.5);\n text-decoration: none;\n width: 100%;\n\n &:hover {\n @include set-text-and-bg(\n $accordion-button-background-active-color,\n $context: $accordion-context\n );\n @include set-icon-from-bg(\n $accordion-button-background-active-color,\n \"usa-icons/remove\",\n \"usa-icons-bg/remove--white\"\n );\n text-decoration: none;\n }\n\n @media (forced-colors: active) {\n border: $border-high-contrast;\n position: relative;\n\n &::before {\n @include add-color-icon($accordion-button-open-hc-icon);\n @include accordion-hc-icon-styles();\n content: \"\";\n }\n }\n}\n\n@mixin accordion-button-unopened-styles {\n @include set-icon-from-bg(\n $theme-accordion-button-background-color,\n \"usa-icons/add\",\n \"usa-icons-bg/add--white\"\n );\n background-size: units(3);\n\n &:hover {\n @include set-icon-from-bg(\n $accordion-button-background-active-color,\n \"usa-icons/add\",\n \"usa-icons-bg/add--white\"\n );\n }\n\n @media (forced-colors: active) {\n &::before {\n @include add-color-icon($accordion-button-unopen-hc-icon);\n @include accordion-hc-icon-styles();\n }\n }\n}\n\n@mixin accordion-nested-list {\n > ul li ul {\n list-style: disc;\n > li > ul {\n list-style: circle;\n > li > ul {\n list-style: square;\n }\n }\n }\n}\n\n.usa-accordion {\n @include accordion-list-styles;\n @include accordion-nested-list;\n @include border-box-sizing;\n @include typeset($theme-accordion-font-family);\n\n + .usa-accordion,\n + .usa-accordion--bordered {\n margin-top: units(1);\n }\n}\n\n.usa-accordion--bordered {\n .usa-accordion__content {\n border-bottom: $accordion-border;\n border-left: $accordion-border;\n border-right: $accordion-border;\n padding-bottom: units(2);\n }\n\n .usa-accordion__heading {\n margin-bottom: 0;\n }\n}\n\n.usa-accordion__heading,\n// kludge to override .usa-prose styles\n// TODO: work this into a mixin\n.usa-prose .usa-accordion__heading {\n @include typeset($theme-accordion-font-family, $theme-body-font-size, 1);\n margin: 0;\n\n &:not(:first-child) {\n margin-top: units(1);\n }\n}\n\n.usa-accordion__content {\n @include set-text-and-bg(\n $theme-accordion-background-color,\n $context: $accordion-context\n );\n margin-top: 0;\n overflow: auto;\n padding: units(2) units(2.5) calc(#{units(2)} - #{units(0.5)}) units(2.5);\n\n > *:first-child {\n margin-top: 0;\n }\n\n > *:last-child {\n margin-bottom: 0;\n }\n}\n\n.usa-accordion__button {\n @include accordion-button-styles;\n}\n\n.usa-accordion__button[aria-expanded=\"false\"] {\n @include accordion-button-unopened-styles;\n}\n","@use \"../../settings\" as *;\n\n// Ensure browsers that don't support SVG in background-image (IE 11 and below) fall back to PNG.\n// See https://css-tricks.com/a-complete-guide-to-svg-fallbacks/\n\n@mixin add-background-svg($image-name, $image-path: $theme-image-path) {\n background-image: url(\"#{$image-path}/#{$image-name}.svg\"),\n linear-gradient(transparent, transparent);\n background-repeat: no-repeat;\n}\n","@use \"sass:math\";\n\n@use \"uswds-core\" as *;\n\n// Alert variables ---------- //\n$alert-icons: (\n success: \"check_circle\",\n warning: \"warning\",\n error: \"error\",\n info: \"info\",\n emergency: \"error\",\n);\n\n.usa-alert {\n @include alert-styles;\n\n * + & {\n margin-top: units(2);\n }\n}\n\n@each $name, $icon in $alert-icons {\n .usa-alert--#{$name} {\n @include alert-status-wrapper-styles($name);\n\n .usa-alert__body {\n @include alert-status-body-styles($name, $icon);\n }\n }\n}\n\n.usa-alert--slim {\n @include alert-styles-slim;\n}\n\n.usa-alert--no-icon {\n @include alert-styles-no-icon;\n}\n\n.usa-alert--validation {\n .usa-checklist {\n margin-top: units(2);\n }\n}\n","@use \"sass:math\";\n\n@use \"../../variables/project-alerts\" as *;\n@use \"../../settings\" as *;\n@use \"../../functions\" as *;\n@use \"./at-media\" as *;\n@use \"./border-box-sizing\" as *;\n@use \"./set-text-and-bg\" as *;\n@use \"../general/icon\" as *;\n@use \"../utilities\" as *;\n@use \"../typography/typeset.scss\" as *;\n@use \"../helpers/set-link-from-bg\" as *;\n\n// Base alert styles\n@mixin alert-styles {\n $bgcolor: \"base-lightest\";\n $banner-text-color-token: get-color-token-from-bg(\n $bgcolor,\n $theme-alert-text-reverse-color,\n $theme-alert-text-color,\n $context: \"Alert (default)\"\n );\n\n background-color: color($bgcolor);\n border-left: units($theme-alert-bar-width) solid color(\"base-light\");\n color: color($banner-text-color-token);\n\n .usa-alert__body {\n @include border-box-sizing;\n @include typeset($theme-alert-font-family);\n @include u-margin-x(\"auto\");\n @include u-maxw($theme-site-alert-max-width);\n @include u-padding-y($theme-alert-padding-y);\n @include u-padding-x($theme-site-margins-mobile-width);\n @include at-media($theme-site-margins-breakpoint) {\n padding-left: 2 * $alert-icon-optical-padding;\n }\n\n position: relative;\n }\n\n .usa-alert__text {\n @include u-margin-y(0);\n\n &:only-child {\n @include u-padding-y(0);\n }\n }\n\n .usa-alert__heading {\n @include typeset($theme-alert-font-family, \"lg\", 1);\n margin-top: 0;\n margin-bottom: units(1);\n }\n\n > .usa-list,\n .usa-alert__body > .usa-list {\n padding-left: 2ch;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n}\n\n// Set status styles for alert wrapper/background\n@mixin alert-status-wrapper-styles($name) {\n $bgcolor: if($name != \"emergency\", \"#{$name}-lighter\", $name);\n\n background-color: color($bgcolor);\n border-left-color: color($name);\n}\n\n// Set status styles for alert content\n// added to __body element\n@mixin alert-status-body-styles($name, $icon) {\n $bgcolor: if($name != \"emergency\", \"#{$name}-lighter\", $name);\n $banner-text-color-token: get-color-token-from-bg(\n $bgcolor,\n $theme-alert-text-reverse-color,\n $theme-alert-text-color,\n $context: \"Alert (#{$name})\"\n );\n @include add-alert-icon($icon, $banner-text-color-token, $bgcolor);\n @include set-text-and-bg($bgcolor);\n\n padding-left: units($theme-alert-icon-size) + ($alert-icon-optical-padding);\n @include at-media($theme-site-margins-breakpoint) {\n padding-left: units($theme-site-margins-width) * 2;\n padding-right: units($theme-site-margins-width) * 2;\n }\n\n .usa-link {\n @include set-link-from-bg(\n $bgcolor,\n $theme-alert-link-reverse-color,\n $theme-alert-link-color,\n $context: \"Alert (#{$name})\"\n );\n }\n}\n\n@mixin add-alert-icon($name, $color, $bgcolor) {\n $this-icon-object: (\n \"name\": $name,\n \"color\": $color,\n \"svg-height\": 40,\n \"svg-width\": 40,\n \"height\": $theme-alert-icon-size,\n );\n\n &::before {\n @include add-color-icon($this-icon-object, $bgcolor);\n content: \"\";\n display: block;\n // padding - optical spacing value\n left: units($theme-site-margins-mobile-width) - units(\n $theme-alert-bar-width\n );\n position: absolute;\n top: units($theme-alert-padding-y) * 0.75;\n @include at-media($theme-site-margins-breakpoint) {\n left: calc(\n units($theme-site-margins-width) - units($theme-alert-bar-width)\n );\n }\n }\n}\n\n// Variant - no icon\n@mixin alert-styles-no-icon {\n .usa-alert__body {\n &:before {\n display: none;\n }\n\n padding-left: units(\n $theme-site-margins-mobile-width - $theme-alert-bar-width\n );\n @include at-media($theme-site-margins-breakpoint) {\n padding-left: 2 * $alert-icon-optical-padding;\n }\n }\n}\n\n// Variant - slim\n@mixin add-slim-alert-icon {\n &:before {\n background-size: $alert-slim-icon-size;\n height: $alert-slim-icon-size;\n top: units($theme-alert-padding-y) * 0.5;\n width: $alert-slim-icon-size;\n @supports (mask: url(\"\")) {\n mask-size: $alert-slim-icon-size;\n }\n }\n}\n\n@mixin alert-styles-slim {\n .usa-alert__body {\n @include u-padding-y(1);\n @include add-slim-alert-icon;\n\n padding-left: $alert-slim-icon-size + $alert-icon-optical-padding;\n @include at-media($theme-site-margins-breakpoint) {\n padding-left: calc(\n units($theme-site-margins-width) + $alert-slim-icon-size\n );\n }\n }\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n// Outputs max-width\n\n@mixin u-maxw($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n max-width: get-uswds-value(\"max-width\", $value...) #{$important};\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n// Adds padding either l/r(x) or t/b(y)\n\n@mixin padding-n($side, $value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n @if $side == all {\n padding: get-uswds-value(\"padding\", $value...) #{$important};\n } @else if $side == x {\n padding-left: get-uswds-value(\"padding\", $value...) #{$important};\n padding-right: get-uswds-value(\"padding\", $value...) #{$important};\n } @else if $side == y {\n padding-bottom: get-uswds-value(\"padding\", $value...) #{$important};\n padding-top: get-uswds-value(\"padding\", $value...) #{$important};\n } @else {\n padding-#{$side}: get-uswds-value(\"padding\", $value...) #{$important};\n }\n}\n\n@mixin u-padding($value...) {\n @include padding-n(all, $value...);\n}\n\n@mixin u-padding-x($value...) {\n @include padding-n(x, $value...);\n}\n\n@mixin u-padding-y($value...) {\n @include padding-n(y, $value...);\n}\n\n@mixin u-padding-top($value...) {\n @include padding-n(top, $value...);\n}\n\n@mixin u-padding-right($value...) {\n @include padding-n(right, $value...);\n}\n\n@mixin u-padding-bottom($value...) {\n @include padding-n(bottom, $value...);\n}\n\n@mixin u-padding-left($value...) {\n @include padding-n(left, $value...);\n}\n","@use \"sass:math\";\n\n@use \"../settings\";\n@use \"../functions/units/units\" as *;\n\n// Icon settings used in: _usa-alert, _usa-site-alert, and alert-status-body-styles\n$alert-slim-icon-size: units(3);\n$alert-icon-optical-factor: math.div(units(settings.$theme-alert-icon-size), 6);\n$alert-icon-optical-padding: units(settings.$theme-alert-padding-x) -\n $alert-icon-optical-factor;\n","@use \"sass:math\";\n@use \"sass:list\";\n\n@use \"uswds-core\" as *;\n\n$banner-context: \"Banner\";\n$banner-guidance-measure: 3;\n$banner-icon-colors: get-link-tokens-from-bg(\n $theme-banner-background-color,\n $theme-banner-link-color,\n $context: $banner-context\n);\n$banner-icon-color: list.nth($banner-icon-colors, 1);\n$banner-icon-hover: list.nth($banner-icon-colors, 2);\n$banner-icon-chevron: (\n \"name\": \"expand_more\",\n \"svg-height\": 40,\n \"svg-width\": 40,\n \"height\": 2,\n \"color\": $banner-icon-color,\n \"color-variant\": \"white\",\n \"color-hover\": $banner-icon-hover,\n);\n$banner-icon-chevron-up: map-merge(\n $banner-icon-chevron,\n (\n \"name\": \"expand_less\",\n )\n);\n$banner-icon-close: (\n \"name\": \"close\",\n \"svg-height\": 40,\n \"svg-width\": 40,\n \"height\": 3,\n \"color\": \"blue-60v\",\n \"color-variant\": \"white\",\n \"container-height\": $size-touch-target,\n \"container-width\": $size-touch-target,\n);\n\n.usa-banner {\n @include typeset($theme-banner-font-family);\n @include border-box-sizing;\n background-color: color($theme-banner-background-color);\n\n @include at-media(\"tablet\") {\n font-size: font-size($theme-banner-font-family, \"3xs\");\n padding-bottom: units(0);\n }\n\n .usa-accordion {\n @include typeset($theme-banner-font-family);\n }\n\n // ! Stylelint will complain about BEM formatting.\n // Added grid classes in #5000 to remove layout grid dependency.\n // stylelint-disable selector-class-pattern\n .grid-row {\n @include grid-row;\n\n &.grid-gap-lg {\n @include grid-gap(\"lg\");\n }\n\n .tablet\\:grid-col-6 {\n @include at-media(\"tablet\") {\n @include grid-col(6);\n }\n }\n }\n // stylelint-enable\n}\n\n.usa-banner__header,\n.usa-banner__content {\n @include set-text-from-bg(\n $theme-banner-background-color,\n $context: $banner-context\n );\n}\n\n.usa-banner__content {\n @include grid-container($theme-banner-max-width);\n @include add-responsive-site-margins;\n background-color: color(\"transparent\");\n font-size: font-size($theme-banner-font-family, 4);\n overflow: hidden;\n padding-bottom: units(2);\n padding-left: units($theme-site-margins-mobile-width) - units(1);\n padding-top: units(0.5);\n width: 100%;\n\n @include at-media(\"tablet\") {\n @include u-padding-y(3);\n }\n\n p {\n &:first-child {\n margin: 0;\n }\n }\n}\n\n.usa-banner__guidance {\n @include u-display(\"flex\");\n @include u-flex(\"align-start\");\n @include u-measure($banner-guidance-measure);\n padding-top: units(2);\n\n @include at-media(\"tablet\") {\n padding-top: units(0);\n }\n}\n\n.usa-banner__lock-image {\n $lock-h: 64; // unitless height of svg\n $lock-w: 52; // unitless width of svg\n $lock-aspect: math.div($lock-w, $lock-h);\n $icon-height: 1.5ex; // height of the lock icon; use ex for resilience\n\n height: $icon-height;\n width: $icon-height * $lock-aspect;\n path {\n fill: currentColor;\n\n @media (forced-colors: active) {\n fill: CanvasText;\n }\n }\n}\n\n.usa-banner__inner {\n @include add-responsive-site-margins;\n @include grid-container($theme-banner-max-width);\n @include grid-row;\n @include u-flex(\"align-start\");\n padding-right: units(0);\n\n @include at-media(\"tablet\") {\n @include u-flex(\"align-center\");\n }\n}\n\n.usa-banner__header {\n @include u-padding-y(1);\n font-size: font-size($theme-banner-font-family, 1);\n font-weight: font-weight(\"normal\");\n min-height: units($size-touch-target);\n position: relative;\n\n @include at-media(\"tablet\") {\n @include u-padding-y(0.5);\n min-height: 0;\n }\n}\n\n.usa-banner__header-text {\n @include u-margin-y(0);\n font-size: font-size($theme-banner-font-family, 1);\n line-height: line-height($theme-banner-font-family, 2);\n}\n\n.usa-banner__header-action {\n @include place-icon($banner-icon-chevron, \"after\");\n @include set-link-from-bg(\n $theme-banner-background-color,\n $theme-banner-link-color,\n $context: $banner-context\n );\n\n line-height: line-height($theme-banner-font-family, 2);\n margin-bottom: units(0);\n margin-top: units(2px);\n text-decoration: underline;\n\n .usa-banner__header--expanded & {\n display: none;\n }\n\n @include at-media(\"tablet\") {\n display: none;\n }\n\n @media (forced-colors: active) {\n color: LinkText;\n\n &::after {\n background-color: ButtonText;\n }\n }\n}\n\n.usa-banner__header-flag {\n @include u-float(\"left\");\n margin-right: units(1);\n width: units(2);\n\n @include at-media(\"tablet\") {\n margin-right: units(1);\n padding-top: units(0);\n }\n}\n\n.usa-banner__header--expanded {\n padding-right: units($size-touch-target) + units(1);\n\n @include at-media(\"tablet\") {\n background-color: transparent;\n display: block;\n font-size: font-size($theme-banner-font-family, 1);\n font-weight: font-weight(\"normal\");\n min-height: units(0);\n padding-right: units(0);\n }\n\n .usa-banner__inner {\n margin-left: units(0);\n\n @include at-media(\"tablet\") {\n margin-left: units(auto);\n }\n }\n\n .usa-banner__header-action {\n display: none;\n }\n}\n\n.usa-banner__button {\n @include button-unstyled;\n @include u-pin(\"left\");\n @include u-pin(\"y\");\n @include u-text(\"primary\", underline);\n @include set-link-from-bg(\n $theme-banner-background-color,\n $theme-banner-link-color,\n $context: $banner-context\n );\n display: block;\n font-size: font-size($theme-banner-font-family, 1);\n height: auto;\n line-height: line-height($theme-banner-font-family, 2);\n padding-top: units(0);\n padding-left: units(0);\n text-decoration: none;\n width: auto;\n\n @include at-media-max(\"tablet\") {\n width: 100%;\n\n &:enabled:focus {\n // adjust outline to render within the viewport\n outline-offset: units(-0.5);\n }\n }\n\n @include at-media(\"tablet\") {\n @include place-icon($banner-icon-chevron, \"after\", \"2px\");\n @include set-link-from-bg(\n $theme-banner-background-color,\n $theme-banner-link-color,\n $context: $banner-context\n );\n @include u-pin(\"none\");\n display: inline;\n margin-left: units(1);\n position: relative;\n\n &::after,\n &:hover::after {\n position: absolute;\n\n @media (forced-colors: active) {\n background-color: ButtonText;\n }\n }\n\n &:hover {\n // Underline added to inner text instead.\n text-decoration: none;\n }\n }\n\n // Remove icon set from usa-accordion.\n // Also removed in _usa-nav.scss.\n &[aria-expanded=\"false\"],\n &[aria-expanded=\"false\"]:hover,\n &[aria-expanded=\"true\"],\n &[aria-expanded=\"true\"]:hover {\n background-image: none;\n\n @media (forced-colors: active) {\n &::before {\n content: none;\n }\n }\n }\n\n &[aria-expanded=\"true\"] {\n @include at-media-max(\"tablet\") {\n @include place-icon(\n $banner-icon-close,\n \"after\",\n 0,\n middle,\n \"base-lighter\"\n );\n\n &::before {\n @include u-pin(\"y\");\n @include u-pin(\"right\");\n background-color: color(\"base-lighter\");\n content: \"\";\n display: block;\n height: units($size-touch-target);\n width: units($size-touch-target);\n }\n &::after {\n @include u-pin(\"y\");\n @include u-pin(\"right\");\n }\n }\n\n @include at-media(\"tablet\") {\n @include place-icon(\n $banner-icon-chevron-up,\n \"after\",\n \"2px\",\n middle,\n $theme-banner-background-color\n );\n height: auto;\n padding: units(0);\n position: relative;\n\n &::after,\n &:hover::after {\n position: absolute;\n\n @media (forced-colors: active) {\n background-color: ButtonText;\n }\n }\n }\n }\n}\n\n.usa-banner__button-text {\n @include add-sr-only;\n text-decoration: underline;\n\n @include at-media(\"tablet\") {\n @include add-no-sr-only;\n display: inline;\n }\n\n @media (forced-colors: active) {\n color: LinkText;\n }\n}\n\n.usa-banner__icon {\n width: units(5);\n}\n\n// [uswds-init.js] Offscreen content while js is loading\n.usa-js-loading {\n .usa-banner__content {\n @include add-sr-only;\n }\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n// Outputs display\n\n@mixin u-display($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n display: get-uswds-value(\"display\", $value) #{$important};\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../../functions\" as *;\n@use \"../../properties\" as *;\n\n// Outputs flex\n\n$flex-utililies: (\n \"align-items\":\n map-collect(\n map-deep-get($system-properties, \"align-items\", standard),\n map-deep-get($system-properties, \"align-items\", extended)\n ),\n \"align-self\":\n map-collect(\n map-deep-get($system-properties, \"align-self\", standard),\n map-deep-get($system-properties, \"align-self\", extended)\n ),\n \"flex\":\n map-collect(\n map-deep-get($system-properties, \"flex\", standard),\n map-deep-get($system-properties, \"flex\", extended)\n ),\n \"flex-direction\":\n map-collect(\n map-deep-get($system-properties, \"flex-direction\", standard),\n map-deep-get($system-properties, \"flex-direction\", extended)\n ),\n \"flex-wrap\":\n map-collect(\n map-deep-get($system-properties, \"flex-wrap\", standard),\n map-deep-get($system-properties, \"flex-wrap\", extended)\n ),\n \"justify-content\":\n map-collect(\n map-deep-get($system-properties, \"justify-content\", standard),\n map-deep-get($system-properties, \"justify-content\", extended)\n ),\n);\n\n@mixin u-flex($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n @each $this-value in $value {\n $match: false;\n @each $property, $map in $flex-utililies {\n @if not $match and map.has-key($map, $this-value) {\n #{$property}: get-uswds-value($property, $this-value...) #{$important};\n $match: true;\n }\n }\n @if not $match {\n @error '`#{$this-value}` is not a valid `flex` value.';\n }\n }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../layout-grid\" as *;\n@use \"../../functions\" as *;\n@use \"../../mixins/helpers\" as *;\n@use \"../../mixins/utilities\" as *;\n@use \"../../tokens\" as *;\n@use \"../../variables/column-gaps\" as *;\n@use \"../../settings\" as *;\n\n@mixin grid-gap-responsive {\n $gap-mobile: if(\n map.has-key($system-column-gaps, $theme-column-gap-mobile),\n map.get($system-column-gaps, $theme-column-gap-mobile),\n \"error\"\n );\n $gap-desktop: if(\n map.has-key($system-column-gaps, $theme-column-gap-desktop),\n map.get($system-column-gaps, $theme-column-gap-desktop),\n \"error\"\n );\n\n @if $gap-mobile == \"error\" {\n @error '$theme-column-gap-mobile is not set to a valid column gap width.';\n }\n\n @if $gap-desktop == \"error\" {\n @error '$theme-column-gap-desktop is not set to a valid column gap width.';\n }\n\n @include u-margin-x(\n unquote(\"#{$neg-prefix}-#{calc-gap-offset($gap-mobile)}\")\n );\n\n > * {\n @include this-border-box-sizing;\n @include u-padding-x(calc-gap-offset($gap-mobile));\n }\n\n @include at-media(\"desktop\") {\n @include u-margin-x(\n unquote(\"#{$neg-prefix}-#{calc-gap-offset($gap-desktop)}\")\n );\n\n > * {\n @include this-border-box-sizing;\n @include u-padding-x(calc-gap-offset($gap-desktop));\n }\n }\n}\n\n@mixin grid-gap($props...) {\n $props: unpack($props);\n @if length($props) == 0 {\n @include grid-gap-responsive;\n } @else {\n $gap: smart-quote(list.nth($props, 1));\n @if $gap == 0 {\n @include u-margin-x(append-important($props, 0));\n\n > * {\n @include this-border-box-sizing;\n @include u-padding-x(append-important($props, 0));\n }\n } @else {\n @if map.has-key($project-column-gaps, $gap) {\n $gap: map.get($project-column-gaps, $gap);\n } @else if map.has-key($system-column-gaps, $gap) {\n $gap: map.get($system-column-gaps, $gap);\n }\n @include u-margin-x(\n append-important(\n $props,\n unquote(\"#{$neg-prefix}-#{calc-gap-offset($gap)}\")\n )\n );\n > * {\n @include this-border-box-sizing;\n @include u-padding-x(append-important($props, calc-gap-offset($gap)));\n }\n }\n }\n}\n\n@mixin grid-col($props...) {\n $props: unpack($props);\n @include this-border-box-sizing;\n\n @if length($props) == 0 {\n @include u-flex(fill);\n @include u-width(auto);\n } @else {\n $col: smart-quote(list.nth($props, 1));\n @if $col == \"auto\" {\n $flex: append-important($props, auto);\n $width: append-important($props, auto);\n $maxw: append-important($props, full);\n @include u-flex($flex);\n @include u-width($width);\n @include u-maxw($maxw);\n } @else if $col == \"fill\" {\n $flex: append-important($props, fill);\n $width: append-important($props, auto);\n $maxw: append-important($props, full);\n @include u-flex($flex);\n @include u-width($width);\n @include u-maxw($maxw);\n min-width: 1px; // IE 11\n } @else if not map.has-key($system-layout-grid-widths, $col) {\n @error '#{$col} is not a valid layout grid width. Valid width are #{map-keys($system-layout-grid-widths)}';\n } @else {\n $flex: append-important($props, auto);\n $width: append-important(\n $props,\n map.get($system-layout-grid-widths, $col)\n );\n @include u-flex($flex);\n @include u-width(override, $width);\n }\n }\n}\n\n@mixin grid-offset($props...) {\n $props: unpack($props);\n $offset: smart-quote(list.nth($props, 1));\n @if $offset == \"none\" {\n $width: append-important($props, 0);\n @include u-margin-left(override, $width);\n } @else if not map.has-key($system-layout-grid-widths, $offset) {\n @error '#{$offset} is not a valid layout grid width. Valid width are #{map-keys($system-layout-grid-widths)}';\n } @else {\n $width: append-important(\n $props,\n map.get($system-layout-grid-widths, $offset)\n );\n @include u-margin-left(override, $width);\n }\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n// Outputs width\n\n@mixin u-width($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n width: get-uswds-value(\"width\", $value...) #{$important};\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n// Outputs measure (max width)\n\n@mixin u-measure($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n max-width: get-uswds-value(\"measure\", $value...) #{$important};\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n// Outputs line-height\n\n@mixin u-float($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n float: get-uswds-value(\"float\", $value...) #{$important};\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n@use \"./position\" as *;\n\n$utility-pin-options: \"all\", \"x\", \"y\", \"top\", \"bottom\", \"left\", \"right\", \"none\";\n\n@mixin u-pin($value...) {\n $value: unpack($value);\n $important: null;\n $position-absolute: append-important($value, \"absolute\");\n $position-static: append-important($value, \"static\");\n $has-position: false;\n\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n\n @each $option in $value {\n $option: smart-quote($option);\n @if $option != \"none\" and not $has-position {\n @include u-position($position-absolute);\n $has-position: true;\n }\n @if $option == \"all\" {\n bottom: 0#{$important};\n left: 0#{$important};\n right: 0#{$important};\n top: 0#{$important};\n } @else if $option == \"x\" {\n left: 0#{$important};\n right: 0#{$important};\n } @else if $option == \"y\" {\n bottom: 0#{$important};\n top: 0#{$important};\n } @else if $option == \"top\" {\n top: 0#{$important};\n } @else if $option == \"bottom\" {\n bottom: 0#{$important};\n } @else if $option == \"left\" {\n left: 0#{$important};\n } @else if $option == \"right\" {\n right: 0#{$important};\n } @else if $option == \"none\" {\n $has-position: false;\n @include u-position($position-static);\n bottom: auto#{$important};\n left: auto#{$important};\n right: auto#{$important};\n top: auto#{$important};\n } @else {\n @error '`#{$option}` is not a valid `pin` value. Valid pin values include #{$utility-pin-options}';\n }\n }\n}\n\n@mixin u-pin-none($value...) {\n @include u-pin(\"none\", $value...);\n}\n\n@mixin u-pin-all($value...) {\n @include u-pin(\"all\", $value...);\n}\n\n@mixin u-pin-y($value...) {\n @include u-pin(\"y\", $value...);\n}\n\n@mixin u-pin-x($value...) {\n @include u-pin(\"x\", $value...);\n}\n\n@mixin u-pin-bottom($value...) {\n @include u-pin(\"bottom\", $value...);\n}\n\n@mixin u-pin-left($value...) {\n @include u-pin(\"left\", $value...);\n}\n\n@mixin u-pin-right($value...) {\n @include u-pin(\"right\", $value...);\n}\n\n@mixin u-pin-top($value...) {\n @include u-pin(\"top\", $value...);\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n// Outputs position property\n\n@mixin u-position($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n position: get-uswds-value(\"position\", $value...) #{$important};\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../../functions\" as *;\n@use \"../../properties\" as *;\n@use \"../../tokens\" as *;\n\n// Outputs properties based on contents of text()\n\n$text-utililies: (\n font-feature-settings:\n map-collect(\n map-deep-get($system-properties, font-feature-settings, standard),\n map-deep-get($system-properties, font-feature-settings, extended)\n ),\n font-style:\n map-collect(\n map-deep-get($system-properties, \"font-style\", standard),\n map-deep-get($system-properties, \"font-style\", extended)\n ),\n font-weight:\n map-collect(\n map-deep-get($system-properties, \"font-weight\", standard),\n map-deep-get($system-properties, \"font-weight\", extended)\n ),\n letter-spacing:\n map-collect(\n map-deep-get($system-properties, \"letter-spacing\", standard),\n map-deep-get($system-properties, \"letter-spacing\", extended)\n ),\n text-align:\n map-collect(\n map-deep-get($system-properties, \"text-align\", standard),\n map-deep-get($system-properties, \"text-align\", extended)\n ),\n text-decoration:\n map-collect(\n map-deep-get($system-properties, \"text-decoration\", standard),\n map-deep-get($system-properties, \"text-decoration\", extended)\n ),\n text-transform:\n map-collect(\n map-deep-get($system-properties, \"text-transform\", standard),\n map-deep-get($system-properties, \"text-transform\", extended)\n ),\n vertical-align:\n map-collect(\n map-deep-get($system-properties, \"vertical-align\", standard),\n map-deep-get($system-properties, \"vertical-align\", extended)\n ),\n white-space:\n map-collect(\n map-deep-get($system-properties, \"white-space\", standard),\n map-deep-get($system-properties, \"white-space\", extended)\n ),\n color: map-collect($tokens-color-global),\n);\n\n@mixin u-text($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n @each $this-value in $value {\n $this-value: smart-quote($this-value);\n $match: false;\n @if map.has-key($all-color-shortcodes, $this-value) {\n $match: true;\n color: color($this-value) #{$important};\n } @else {\n @each $property, $map in $text-utililies {\n @if not $match and map.has-key($map, $this-value) {\n #{$property}: get-uswds-value($property, $this-value...)\n #{$important};\n $match: true;\n }\n }\n }\n @if not $match {\n @error '`#{$this-value}` is not a valid `text` value.';\n }\n }\n}\n","@use \"sass:math\";\n@use \"sass:map\";\n@use \"sass:list\";\n\n@use \"uswds-core\" as *;\n\n//\n// General Settings\n// =====================================\n\n// This helps balance spacing around inline-block elements\n$breadcrumb-context: \"Breadcrumb\";\n$gap-inline-spacer: -0.25em;\n$icon-vertical-spacer: -0.2em;\n\n$breadcrumb-gap: 1.5;\n$breadcrumb-icon-height: 2.5ex;\n$breadcrumb-icon-display-height: 2ex;\n$breadcrumb-icon-spacing: 0px;\n\n$icon-breadcrumb-separator: (\n \"name\": \"navigate_next\",\n \"svg-height\": 40,\n \"svg-width\": 40,\n \"height\": $breadcrumb-icon-display-height,\n \"color\": $theme-breadcrumb-separator-color,\n);\n\n$icon-breadcrumb-back: (\n \"name\": \"arrow_back\",\n \"svg-height\": 40,\n \"svg-width\": 40,\n \"height\": $breadcrumb-icon-display-height,\n \"color\": $theme-breadcrumb-separator-color,\n);\n\n// Set default value for custom mixin exdent-icon()\n$breadcrumb-back-icon-aspect: (\n map.get($icon-breadcrumb-back, \"svg-width\"),\n map.get($icon-breadcrumb-back, \"svg-height\")\n);\n\n// Defines spacing so back icon is optically placed\n@mixin exdent-icon($dim: $breadcrumb-back-icon-aspect) {\n $aspect: math.div(list.nth($dim, 1), list.nth($dim, 2));\n $icon-width: $breadcrumb-icon-display-height * $aspect;\n padding-left: calc(#{$icon-width} + #{$breadcrumb-icon-spacing});\n text-indent: calc((#{$icon-width} + #{$breadcrumb-icon-spacing}) * -1);\n}\n\n.usa-breadcrumb {\n @include typeset(\n $theme-breadcrumb-font-family,\n $theme-breadcrumb-font-size,\n 3\n );\n @include set-text-and-bg(\n $theme-breadcrumb-background-color,\n $context: $breadcrumb-context\n );\n @include u-padding-x($theme-breadcrumb-padding-x);\n\n @include at-media($theme-breadcrumb-min-width) {\n @include u-padding-bottom($theme-breadcrumb-padding-bottom);\n @include u-padding-top($theme-breadcrumb-padding-top);\n }\n\n &:not(.usa-breadcrumb--wrap) {\n .usa-breadcrumb__list {\n @include at-media($theme-breadcrumb-min-width) {\n @include u-white-space(\"no-wrap\");\n text-overflow: ellipsis;\n overflow: hidden;\n }\n }\n }\n}\n\n.usa-breadcrumb__list {\n @include unstyled-list;\n @include u-display(\"block\");\n @include u-padding($theme-focus-width);\n margin-left: units($theme-focus-width) * -1;\n margin-right: units($theme-focus-width) * -1;\n}\n\n.usa-breadcrumb__list-item {\n @include sr-only;\n @include u-display(\"inline\");\n\n @include at-media-max($theme-breadcrumb-min-width) {\n @include u-white-space(\"wrap\");\n\n // If parent link only (mobile), only show parent of current link\n &:nth-last-child(2) {\n @include not-sr-only;\n\n .usa-breadcrumb__link {\n @include button-unstyled;\n @include exdent-icon;\n @include place-icon(\n $icon-breadcrumb-back,\n \"before\",\n 0,\n baseline,\n $theme-breadcrumb-background-color\n );\n\n // Override link colors from button-unstyled()\n\n @include set-link-from-bg(\n $theme-breadcrumb-background-color,\n $theme-breadcrumb-link-color,\n $context: $breadcrumb-context\n );\n\n @include u-display(\"inline-block\");\n @include u-padding-bottom($theme-breadcrumb-padding-bottom);\n @include u-padding-top($theme-breadcrumb-padding-top);\n\n &:before {\n bottom: $icon-vertical-spacer;\n // Magic number to center icon\n height: $breadcrumb-icon-display-height;\n position: relative;\n }\n\n // Prevent underline that extends beyond text\n &,\n &:hover,\n &:active {\n @include u-text(\"no-underline\");\n }\n span {\n @include u-text(\"underline\");\n }\n }\n\n // Override icon spacing from place-icon() with non-token value\n .usa-breadcrumb__link::before {\n margin-right: $breadcrumb-icon-spacing;\n }\n }\n }\n\n @include at-media($theme-breadcrumb-min-width) {\n @include not-sr-only;\n\n // Breadcrumb separator ›\n &:not(:last-child) {\n @include place-icon(\n $icon-breadcrumb-separator,\n \"after\",\n 0,\n baseline,\n $theme-breadcrumb-background-color\n );\n }\n\n // Style overrides for separator using non-token values\n &:not(:last-child)::after {\n // Magic number to center icon\n bottom: $icon-vertical-spacer;\n margin-left: $breadcrumb-icon-spacing;\n margin-right: $breadcrumb-icon-spacing;\n height: $breadcrumb-icon-display-height;\n position: relative;\n }\n }\n}\n\n.usa-breadcrumb__link {\n @include set-link-from-bg(\n $theme-breadcrumb-background-color,\n $theme-breadcrumb-link-color,\n $context: $breadcrumb-context\n );\n @include u-display(\"inline\");\n\n // Prevent underline that extends beyond text\n @include u-text(\"no-underline\");\n\n span {\n @include u-text(\"underline\");\n }\n}\n\n// ---------------------------------\n// Variations\n// ---------------------------------\n\n// Breadcrumb wrap\n.usa-breadcrumb--wrap {\n @include at-media($theme-breadcrumb-min-width) {\n @include u-line-height($theme-breadcrumb-font-family, 4);\n }\n\n .usa-breadcrumb__list-item {\n @include u-display(\"inline-block\");\n }\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n// Outputs white-space\n\n@mixin u-white-space($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n white-space: get-uswds-value(\"white-space\", $value...) #{$important};\n}\n","@use \"sass:math\";\n\n@use \"uswds-core\" as *;\n\n// Default styles\n.usa-button-group {\n @include u-margin-y(0);\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n list-style-type: none;\n margin-left: units(-0.5);\n margin-right: units(-0.5);\n padding-left: 0;\n\n @include at-media(\"mobile-lg\") {\n flex-wrap: nowrap;\n align-items: stretch;\n flex-direction: row;\n }\n\n // Styles for nested button groups\n .usa-button-group {\n height: 100%;\n\n .usa-button-group__item {\n @include at-media(\"mobile-lg\") {\n margin-top: 0;\n margin-bottom: 0;\n }\n }\n\n // Styles for nested segmented button groups\n &--segmented {\n .usa-button-group__item {\n margin-top: 0;\n margin-bottom: 0;\n }\n }\n }\n}\n\n.usa-button-group__item {\n margin: units(0.5);\n\n &:last-child {\n @include at-media(\"mobile-lg\") {\n margin-right: 0;\n }\n }\n\n .usa-button {\n height: 100%;\n margin-left: 0;\n margin-right: 0;\n }\n}\n\n// Segemented styles\n.usa-button-group--segmented {\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n margin-left: 0;\n margin-right: 0;\n\n @include at-media(\"mobile-lg\") {\n justify-content: flex-start;\n }\n\n .usa-button {\n position: relative;\n width: calc(100% + #{units($theme-button-stroke-width)});\n\n @include at-media(\"mobile-lg\") {\n width: auto;\n }\n\n // Ensures edges are not cut off when interacting with outline buttons\n &:hover,\n &:active {\n z-index: 2;\n }\n\n &:focus {\n z-index: 3;\n }\n }\n\n .usa-button-group__item {\n margin-left: 0;\n margin-right: 0;\n width: 100%;\n\n @include at-media(\"mobile-lg\") {\n width: auto;\n }\n\n &:first-child > .usa-button {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n margin-right: -(math.div(units($theme-button-stroke-width), 2));\n }\n\n &:last-child > .usa-button {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n margin-right: 0;\n margin-left: -(units($theme-button-stroke-width));\n width: calc(100% + #{units($theme-button-stroke-width)});\n\n @include at-media(\"mobile-lg\") {\n margin-left: -(math.div(units($theme-button-stroke-width), 2));\n width: auto;\n }\n }\n\n &:where(:not(:first-child):not(:last-child)) > .usa-button {\n border-radius: 0;\n margin-right: -(math.div(units($theme-button-stroke-width), 2));\n margin-left: -(math.div(units($theme-button-stroke-width), 2));\n }\n\n // Creates separators\n &:where(:not(:last-child)) {\n .usa-button::before {\n border-right: 1px solid color(\"primary-dark\");\n bottom: 0;\n content: \"\";\n display: block;\n height: 100%;\n position: absolute;\n right: 1px;\n top: 0;\n width: 1px;\n z-index: 3;\n }\n\n .usa-button--secondary::before {\n border-right-color: color(\"secondary-dark\");\n }\n\n .usa-button--accent-cool::before {\n border-right-color: color(\"accent-cool-dark\");\n }\n\n .usa-button--base::before {\n border-right-color: color(\"base-dark\");\n }\n\n [class*=\"usa-button\"]:disabled::before,\n [class*=\"usa-button\"][aria-disabled=\"true\"]::before {\n border-right-color: color($theme-body-background-color);\n }\n\n .usa-button:active::before,\n .usa-button--outline::before {\n display: none;\n }\n }\n }\n}\n","@use \"uswds-core\" as *;\n\n// Buttons variables\n\n$button-context: \"Button\";\n$button-stroke: inset 0 0 0 units($theme-button-stroke-width);\n\n// Buttons\n.usa-button {\n @include border-box-sizing;\n @include typeset($theme-button-font-family, null, 1);\n @include set-text-and-bg(\"primary\", $context: $button-context);\n appearance: none;\n align-items: center;\n border: 0;\n border-radius: radius($theme-button-border-radius);\n cursor: pointer;\n column-gap: units($theme-button-icon-gap);\n display: inline-flex;\n font-weight: font-weight(\"bold\");\n justify-content: center;\n margin-right: units(1);\n padding: units(1.5) units(2.5);\n text-align: center;\n text-decoration: none;\n width: 100%;\n\n @include at-media(\"mobile-lg\") {\n width: auto;\n }\n\n &:visited {\n color: color(\"white\");\n }\n\n &:hover,\n &.usa-button--hover {\n @include set-text-and-bg(\"primary-dark\", $context: $button-context);\n border-bottom: 0;\n text-decoration: none;\n }\n\n &:active,\n &.usa-button--active {\n @include set-text-and-bg(\"primary-darker\", $context: $button-context);\n }\n\n &:not([disabled]):focus,\n &:not([disabled]).usa-focus {\n outline-offset: units(0.5);\n }\n\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include button-disabled;\n }\n\n .usa-icon {\n flex-shrink: 0; // Avoid shrinking on small screens.\n }\n\n @media (forced-colors: active) {\n &:not(.usa-button--unstyled) {\n border: $border-high-contrast;\n }\n }\n}\n\n.usa-button--accent-cool {\n @include set-text-and-bg(\"accent-cool\", $context: $button-context);\n\n &:visited {\n @include set-text-and-bg(\"accent-cool\", $context: $button-context);\n }\n\n &:hover,\n &.usa-button--hover {\n @include set-text-and-bg(\"accent-cool-dark\", $context: $button-context);\n }\n\n &:active,\n &.usa-button--active {\n @include set-text-and-bg(\"accent-cool-darker\", $context: $button-context);\n }\n}\n\n.usa-button--accent-warm {\n @include set-text-and-bg(\"accent-warm\", $context: $button-context);\n\n &:visited {\n @include set-text-and-bg(\"accent-warm\", $context: $button-context);\n }\n\n &:hover,\n &.usa-button--hover {\n @include set-text-and-bg(\"accent-warm-dark\", $context: $button-context);\n }\n\n &:active,\n &.usa-button--active {\n @include set-text-and-bg(\"accent-warm-darker\", $context: $button-context);\n }\n}\n\n.usa-button--outline {\n background-color: color(\"transparent\");\n box-shadow: $button-stroke color(\"primary\");\n color: color(\"primary\");\n\n &:visited {\n color: color(\"primary\");\n }\n\n &:hover,\n &.usa-button--hover {\n background-color: color(\"transparent\");\n box-shadow: $button-stroke color(\"primary-dark\");\n color: color(\"primary-dark\");\n }\n\n &:active,\n &.usa-button--active {\n background-color: color(\"transparent\");\n box-shadow: $button-stroke color(\"primary-darker\");\n color: color(\"primary-darker\");\n }\n\n &.usa-button--inverse {\n $button-inverse-color: $theme-link-reverse-color;\n $button-inverse-hover-color: $theme-link-reverse-hover-color;\n $button-inverse-active-color: $theme-link-reverse-active-color;\n\n box-shadow: $button-stroke color(\"base-lighter\");\n color: color($button-inverse-color);\n\n &:visited {\n color: color($button-inverse-color);\n }\n\n &:hover,\n &.usa-button--hover {\n box-shadow: $button-stroke color($button-inverse-hover-color);\n color: color($button-inverse-hover-color);\n }\n\n &:active,\n &.usa-button--active {\n background-color: transparent;\n box-shadow: $button-stroke color($button-inverse-active-color);\n color: color($button-inverse-active-color);\n }\n\n &.usa-button--unstyled {\n @include button-unstyled;\n color: color($button-inverse-color);\n\n &:visited {\n color: color($button-inverse-color);\n }\n\n &:hover,\n &.usa-button--hover {\n color: color($button-inverse-hover-color);\n }\n\n &:active,\n &.usa-button--active {\n color: color($button-inverse-active-color);\n }\n }\n }\n}\n\n.usa-button--base {\n @include set-text-and-bg(\"base\", $context: $button-context);\n\n &:hover,\n &.usa-button--hover {\n @include set-text-and-bg(\"base-dark\", $context: $button-context);\n }\n\n &:active,\n &.usa-button--active {\n @include set-text-and-bg(\"base-darker\", $context: $button-context);\n }\n}\n\n.usa-button--secondary {\n @include set-text-and-bg(\"secondary\", $context: $button-context);\n\n &:hover,\n &.usa-button--hover {\n @include set-text-and-bg(\"secondary-dark\", $context: $button-context);\n }\n\n &:active,\n &.usa-button--active {\n @include set-text-and-bg(\"secondary-darker\", $context: $button-context);\n }\n}\n\n.usa-button--big {\n border-radius: radius($theme-button-border-radius);\n font-size: font-size($theme-button-font-family, \"lg\");\n padding: units(2) units(3);\n}\n\n// Cannot use disabled mixin due to transparent causing build errors with color grade check.\n.usa-button--outline:disabled,\n.usa-button--outline[aria-disabled=\"true\"],\n.usa-button--outline-inverse:disabled,\n.usa-button--outline-inverse[aria-disabled=\"true\"] {\n &,\n &:hover,\n &:active,\n &:focus {\n background-color: transparent;\n color: color(\"disabled\");\n }\n}\n\n.usa-button--outline:disabled,\n.usa-button--outline[aria-disabled=\"true\"] {\n box-shadow: $button-stroke color(\"disabled-lighter\");\n\n &.usa-button--inverse {\n box-shadow: $button-stroke color(\"disabled-light\");\n color: color(\"disabled-light\");\n\n @media (forced-colors: active) {\n color: color(GrayText);\n }\n }\n}\n\n.usa-button--unstyled {\n @include button-unstyled;\n}\n","@use \"../../functions/utilities/color\" as *;\n@use \"../../settings\" as *;\n@use \"../../variables/border-high-contrast\" as *;\n@use \"../helpers/set-text-and-bg.scss\" as *;\n\n/// Adds compliant disabled colors and cursor styles to elements to read as disabled.\n/// Falls back to standard disabled tokens if params fail color contrast check.\n///\n/// @param {String} $bg-color - Desired background color token.\n/// @param {String} $text-color - Desired text color token.\n///\n/// @output Theme adjusted disabled styles.\n///\n/// @example scss\n/// .foo {\n/// @include u-disabled(\"disabled-darker\", \"white\");\n/// }\n@mixin u-disabled($bg-color: \"disabled-lighter\", $text-color: \"disabled-dark\") {\n @include set-text-and-bg($bg-color, $text-color);\n\n cursor: not-allowed;\n opacity: 1; // Override disabled default opacity shift (Necessary for Chromium, iOS Safari)\n\n &:hover,\n &:active,\n &:focus,\n &.usa-focus {\n @include set-text-and-bg($bg-color, $text-color);\n }\n\n @media (forced-colors: active) {\n border: 0;\n color: color(GrayText);\n\n &:hover,\n &:active,\n &:focus,\n &.usa-focus {\n color: color(GrayText);\n }\n }\n}\n\n/// Adds high contrast border using the GrayText system token.\n///\n/// @output Border size, style, and color.\n///\n/// @example scss\n/// .foo {\n/// @include u-disabled-high-contrast-border;\n/// }\n///\n@mixin u-disabled-high-contrast-border {\n @media (forced-colors: active) {\n border: $border-high-contrast-disabled;\n }\n}\n","@use \"../utilities\" as *;\n\n@mixin button-disabled {\n @include u-disabled;\n\n &.usa-button--hover,\n &.usa-button--active {\n @include u-disabled;\n }\n\n &:not(.usa-button--unstyled) {\n @include u-disabled-high-contrast-border;\n }\n}\n","@use \"sass:math\";\n\n@use \"uswds-core\" as *;\n\n/* TODO:\n * Add a way to change the flag breakpoint as a modifier/class?\n */\n\n@mixin card-inner-radius {\n border-top-left-radius: calc(\n #{radius($theme-card-border-radius)} - #{units($theme-card-border-width)}\n );\n border-top-right-radius: calc(\n #{radius($theme-card-border-radius)} - #{units($theme-card-border-width)}\n );\n}\n\n@include override-prose {\n .usa-card-group {\n @include add-list-reset;\n }\n}\n\n.usa-card-group {\n @include u-display(\"flex\");\n @include u-flex(\"column\", \"wrap\", \"align-stretch\");\n @include u-margin-x(math.div($theme-card-gap, -2));\n\n @include at-media($theme-card-flag-min-width) {\n @include u-flex(\"row\");\n }\n}\n\n@include override-prose {\n .usa-card {\n @include u-margin-bottom($theme-card-margin-bottom + 1);\n @include u-maxw(\"none\"); // override prose scope\n\n &:last-child {\n @include u-margin-bottom(\n $theme-card-margin-bottom + 1\n ); // override prose scope\n }\n\n @include at-media(\"tablet\") {\n @include u-margin-bottom($theme-card-margin-bottom);\n\n &:last-child {\n @include u-margin-bottom(\n $theme-card-margin-bottom\n ); // override prose scope\n }\n }\n }\n}\n\n.usa-card__container {\n @include border-box-sizing;\n @include set-text-and-bg(\"white\");\n @include typeset;\n @include u-border($theme-card-border-width, $theme-card-border-color);\n @include u-display(\"flex\");\n @include u-height(\"full\");\n @include u-flex(\"column\");\n @include u-margin-x(math.div($theme-card-gap, 2));\n @include u-position(\"relative\");\n @include u-radius($theme-card-border-radius);\n}\n\n.usa-card:not(.usa-card--flag) .usa-card__container > :only-child {\n @include u-padding($theme-card-padding-perimeter);\n}\n\n.usa-card .usa-card__img {\n @include u-display(\"block\");\n}\n\n// Header\n// ---------------------------------\n.usa-card__header {\n @include u-padding-top($theme-card-padding-perimeter);\n @include u-padding-x($theme-card-padding-perimeter);\n padding-bottom: math.div(units($theme-card-padding-y), 2);\n\n &:last-child {\n @include u-padding-bottom($theme-card-padding-perimeter);\n }\n}\n\n.usa-card__heading {\n @include typeset($theme-card-header-typeset);\n @include u-margin(0);\n}\n\n// Media\n// ---------------------------------\n.usa-card__media {\n @include u-order(\"first\");\n // IE 11\n // http://github.com/philipwalton/flexbugs/issues/75\n min-height: 1px;\n}\n\n.usa-card__img {\n @include card-inner-radius;\n @include u-bg(\"base-lightest\");\n @include u-position(\"relative\");\n overflow: hidden;\n\n img {\n @include u-display(\"block\");\n @include u-height(\"full\");\n @include u-width(\"full\");\n object-fit: cover;\n }\n}\n\n.usa-card__media--inset {\n @include u-padding-top($theme-card-padding-perimeter);\n @include u-padding-x($theme-card-padding-perimeter);\n\n .usa-card__img {\n @include u-radius(0);\n }\n}\n\n// Body\n// ---------------------------------\n.usa-card__body {\n @include u-flex(\"fill\");\n @include u-padding-x($theme-card-padding-perimeter);\n padding-bottom: math.div(units($theme-card-padding-y), 2);\n padding-top: math.div(units($theme-card-padding-y), 2);\n // IE 11\n flex-basis: auto;\n\n // adjust spacing if body lack siblings\n &:last-child {\n @include u-padding-bottom($theme-card-padding-perimeter);\n }\n\n &:first-child {\n @include u-padding-top($theme-card-padding-perimeter);\n }\n\n &:only-child {\n @include u-padding-y($theme-card-padding-perimeter);\n }\n}\n\n// Footer\n// ---------------------------------\n.usa-card__footer {\n @include u-padding-bottom($theme-card-padding-perimeter);\n @include u-padding-x($theme-card-padding-perimeter);\n padding-top: math.div(units($theme-card-padding-y), 2);\n}\n\n.usa-card__footer .usa-button:only-of-type {\n @include u-margin-right(0);\n}\n\n.usa-card__header,\n.usa-card__body {\n // strip spacing from first and last content\n > :last-child {\n @include u-padding-bottom(0);\n @include u-margin-bottom(0);\n }\n\n > :first-child {\n @include u-margin-top(0);\n @include u-padding-top(0);\n }\n\n > :only-child {\n @include u-margin-y(0);\n @include u-padding-y(0);\n }\n}\n\n// ---------------------------------\n// Variations\n// ---------------------------------\n\n// Exdent\n.usa-card__header--exdent,\n.usa-card__media--exdent,\n.usa-card__body--exdent,\n.usa-card__footer--exdent {\n margin-inline: units($theme-card-border-width) * -1;\n}\n\n.usa-card__header--exdent,\n.usa-card__body--exdent,\n.usa-card__footer--exdent {\n > * {\n @include u-padding-x($theme-card-border-width);\n }\n}\n\n.usa-card__media--exdent {\n margin-top: units($theme-card-border-width) * -1;\n\n .usa-card__img {\n @include u-radius-top($theme-card-border-radius);\n }\n}\n\n// Header first\n// ---------------------------------\n.usa-card--header-first {\n .usa-card__header {\n @include card-inner-radius;\n @include u-padding-bottom($theme-card-padding-y);\n }\n\n .usa-card__header--exdent {\n @include u-radius-top($theme-card-border-radius);\n margin-top: units($theme-card-border-width) * -1;\n }\n\n .usa-card__media--inset {\n @include u-padding-top(0);\n }\n\n .usa-card__media {\n @include u-order(0);\n\n &--exdent {\n @include u-margin-top(0);\n }\n }\n\n .usa-card__img {\n @include u-radius(0);\n }\n\n .usa-card__body {\n @include u-padding-top($theme-card-padding-y);\n }\n}\n\n.usa-card--flag {\n @include at-media($theme-card-flag-min-width) {\n .usa-card__media {\n @include u-display(\"flex\");\n @include u-overflow(\"hidden\");\n @include u-pin-y;\n @include u-pin-left;\n @include u-position(\"absolute\");\n @include u-width($theme-card-flag-image-width);\n }\n\n .usa-card__img {\n @include u-radius(0);\n border-top-left-radius: calc(\n #{radius($theme-card-border-radius)} - #{units(\n $theme-card-border-width\n )}\n );\n border-bottom-left-radius: calc(\n #{radius($theme-card-border-radius)} - #{units(\n $theme-card-border-width\n )}\n );\n }\n\n .usa-card__header,\n .usa-card__body,\n .usa-card__footer {\n @include u-margin-left($theme-card-flag-image-width);\n }\n\n .usa-card__media--exdent {\n margin: units($theme-card-border-width) * -1;\n\n .usa-card__img {\n @include u-radius-left($theme-card-border-radius);\n }\n }\n\n .usa-card__media--inset {\n @include u-padding-right(0);\n @include u-padding-bottom($theme-card-padding-perimeter);\n\n .usa-card__img {\n @include u-radius(0);\n }\n }\n\n &.usa-card--header-first {\n .usa-card__header {\n padding-bottom: math.div(units($theme-card-padding-y), 2);\n }\n\n .usa-card__body {\n padding-top: math.div(units($theme-card-padding-y), 2);\n }\n\n .usa-card__media--inset {\n @include u-padding-top($theme-card-padding-perimeter);\n }\n }\n\n &.usa-card--media-right {\n .usa-card__media {\n @include u-left(\"auto\");\n @include u-right(0);\n }\n\n .usa-card__media--inset {\n @include u-padding-left(0);\n @include u-padding-right($theme-card-padding-perimeter);\n\n .usa-card__img {\n @include u-radius(0);\n }\n }\n\n .usa-card__img {\n @include u-radius(0);\n border-top-right-radius: calc(\n #{radius($theme-card-border-radius)} - #{units(\n $theme-card-border-width\n )}\n );\n border-bottom-right-radius: calc(\n #{radius($theme-card-border-radius)} - #{units(\n $theme-card-border-width\n )}\n );\n }\n\n .usa-card__header,\n .usa-card__body,\n .usa-card__footer {\n @include u-margin-left(0);\n @include u-margin-right($theme-card-flag-image-width);\n }\n\n .usa-card__img {\n @include u-radius(0);\n @include u-radius-right($theme-card-border-radius);\n }\n }\n }\n}\n\n.usa-card:not(.usa-card--flag).usa-card__media--set-aspect {\n @include add-aspect(\"16x9\");\n @include u-position(\"relative\");\n\n .usa-card__img {\n @include u-pin-all;\n }\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n@mixin add-list-reset($value...) {\n $important: null;\n @if list.length($value) > 0 and has-important($value) {\n $value: remove($value, \"!important\");\n $important: \" !important\";\n }\n margin-bottom: 0#{$important};\n margin-top: 0#{$important};\n list-style-type: none#{$important};\n padding-left: 0#{$important};\n}\n\n@mixin list-reset($value...) {\n @include add-list-reset($value...);\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n// Outputs order\n\n@mixin u-order($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n order: get-uswds-value(\"order\", $value...) #{$important};\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n@mixin u-bg($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n background-color: color($value) #{$important};\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n// Outputs border-radius\n\n@mixin u-radius($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n border-radius: get-uswds-value(\"border-radius\", $value) #{$important};\n}\n\n@mixin u-radius-bottom($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n border-bottom-left-radius: get-uswds-value(\"border-radius\", $value) #{$important};\n border-bottom-right-radius: get-uswds-value(\"border-radius\", $value) #{$important};\n}\n\n@mixin u-radius-left($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n border-bottom-left-radius: get-uswds-value(\"border-radius\", $value) #{$important};\n border-top-left-radius: get-uswds-value(\"border-radius\", $value) #{$important};\n}\n\n@mixin u-radius-right($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n border-bottom-right-radius: get-uswds-value(\"border-radius\", $value) #{$important};\n border-top-right-radius: get-uswds-value(\"border-radius\", $value) #{$important};\n}\n\n@mixin u-radius-top($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n border-top-left-radius: get-uswds-value(\"border-radius\", $value) #{$important};\n border-top-right-radius: get-uswds-value(\"border-radius\", $value) #{$important};\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n// Outputs right\n\n@mixin u-left($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n left: get-uswds-value(\"left\", $value...) #{$important};\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../../functions\" as *;\n@use \"../../variables\" as *;\n\n@mixin add-aspect-children {\n & > * {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n\n @at-root img#{&},\n & > img {\n object-fit: cover;\n }\n}\n\n@mixin add-aspect($ratio, $type: \"\") {\n $ratio: unpack($ratio);\n $important: null;\n\n @if has-important($ratio) {\n $ratio: list.nth($ratio, 1);\n $important: \"!important\";\n }\n\n @if map-has-key($project-aspect-ratios, $ratio) {\n box-sizing: border-box #{$important};\n height: 0 #{$important};\n overflow: hidden #{$important};\n padding-bottom: map.get($project-aspect-padding, $ratio) #{$important};\n position: relative;\n\n // Check for CSS aspect-ratio support\n @supports (aspect-ratio: 1) {\n //reset\n height: inherit #{$important};\n padding: inherit #{$important};\n // end reset\n aspect-ratio: map.get($project-aspect-ratios, $ratio);\n max-width: 100%;\n @include add-aspect-children;\n }\n } @else {\n @error '`#{$ratio}` is not a valid key in $project-aspect-ratios. Valid values: #{map.keys($project-aspect-ratios)}';\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-checklist {\n @include add-list-reset;\n @include border-box-sizing;\n @include typeset;\n}\n\n.usa-checklist__item {\n @include add-checkbox-placeholder;\n @include u-margin-y(0);\n margin-bottom: 0;\n margin-top: units(1);\n\n // Deprecate usa-checklist__item--checked once the js is updated\n &.usa-checklist__item--checked {\n @include add-success-mark;\n }\n}\n","@use \"../../functions\" as *;\n\n@mixin add-checkbox-placeholder {\n $placeholder-width: units(4);\n $placeholder-margin: units(1);\n\n text-indent: ($placeholder-width + $placeholder-margin) * -1;\n\n &::before {\n content: \" \";\n display: inline-block;\n height: units(2);\n margin-left: units(-0.5);\n margin-right: units(1.5);\n width: $placeholder-width;\n }\n}\n","@use \"./add-background-svg\" as *;\n@use \"../../functions\" as *;\n\n@mixin add-success-mark {\n &::before {\n @include add-background-svg(\"usa-icons-bg/check--blue-60v\");\n background-position: center;\n background-size: units(3);\n }\n}\n","@use \"uswds-core\" as *;\n\n$collection-thumb-width: 10;\n$collection-thumb-width-mobile: 8;\n$collection-thumb-margin: 2;\n\n@include override-prose {\n .usa-collection {\n @include typeset($theme-collection-font-family, \"sm\", 3);\n @include usa-list;\n @include u-padding-left(0);\n }\n\n .usa-collection__item {\n @include usa-list-item;\n @include unstyled-list;\n @include u-align-items(\"align-start\");\n @include u-border-top(1px);\n @include u-display(\"flex\");\n @include u-margin-y(2);\n @include u-padding-top(2);\n }\n}\n\n.usa-collection__img,\n.usa-collection__calendar-date {\n @include media-block-img;\n width: units($collection-thumb-width-mobile);\n margin-right: units($collection-thumb-margin);\n\n @include at-media(\"tablet\") {\n width: units($collection-thumb-width);\n }\n}\n\n.usa-collection__body {\n @include u-flex(1);\n}\n\n.usa-collection__heading {\n @include typeset($theme-collection-header-typeset);\n @include u-margin-bottom(0);\n @include u-margin-top(0);\n}\n\n.usa-collection__description {\n @include u-margin-y(1);\n}\n\n.usa-collection__meta {\n @include unstyled-list;\n @include u-margin-top(0.5);\n}\n\n.usa-collection__meta-item {\n @include u-margin-top(0.5);\n @include typeset(\"ui\", \"2xs\", 3);\n display: block;\n margin-right: units(1);\n\n &.usa-tag {\n @include u-bg(\"base-lighter\");\n @include u-line-height(\"ui\", 1);\n @include u-padding-y(0.5);\n @include u-text(\"ink\");\n display: inline-block;\n margin-top: units(0.5);\n\n &--new {\n @include u-bg(\"accent-warm-dark\");\n @include u-text(\"white\");\n }\n }\n}\n\n.usa-collection__calendar-date {\n text-decoration: none;\n}\n\n.usa-collection__calendar-date-month,\n.usa-collection__calendar-date-day {\n @include u-font(\"ui\", 6);\n display: block;\n font-weight: fw(\"bold\");\n padding: units(0.5);\n text-align: center;\n\n @include at-media(\"tablet\") {\n padding: units(1);\n }\n}\n\n.usa-collection__calendar-date-month {\n @include u-radius-top(\"sm\");\n background-color: color(\"primary\");\n color: color(\"white\");\n}\n\n.usa-collection__calendar-date-day {\n @include u-radius-bottom(\"sm\");\n border: 1px solid color(\"primary\");\n color: color(\"primary\");\n}\n\n.usa-collection--condensed {\n .usa-collection__item {\n @include u-margin-y(1);\n @include u-padding-top(1);\n }\n}\n","@use \"sass:list\";\n@use \"../../functions/general/unpack\" as *;\n@use \"../../functions/general/has-important\" as *;\n@use \"../../functions/output/get-uswds-value\" as *;\n\n// Outputs align-items\n\n@mixin u-align-items($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n align-items: get-uswds-value(\"align-items\", $value) #{$important};\n}\n","@use \"../../functions\" as *;\n\n@mixin media-block-img($margin-right: units(1)) {\n flex-shrink: 0;\n margin-right: $margin-right;\n}\n","@use \"uswds-core\" as *;\n\n.usa-embed-container {\n iframe,\n object,\n embed {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n}\n\n.usa-embed-container {\n @include add-aspect(\"16x9\");\n max-width: 100%;\n}\n","@use \"uswds-core\" as *;\n\n// Map for high contrast mode icons\n$-chevron-icon-defaults: (\n \"color\": currentColor,\n \"svg-height\": 20,\n \"svg-width\": 20,\n \"height\": units(2.5),\n);\n\n$-chevron-next: map-merge(\n $-chevron-icon-defaults,\n (\n \"name\": \"navigate_next\",\n )\n);\n\n$-chevron-expand-more: map-merge(\n $-chevron-icon-defaults,\n (\n \"name\": \"expand_more\",\n )\n);\n\n// General footer styles\n.usa-footer {\n @include border-box-sizing;\n @include typeset($theme-footer-font-family);\n overflow: hidden;\n\n > .grid-container {\n @include grid-container($theme-footer-max-width);\n }\n}\n.usa-footer__return-to-top {\n @include u-padding-y(2.5);\n line-height: line-height($theme-footer-font-family, 1);\n\n a {\n @include typeset-link;\n }\n}\n\n.usa-footer__nav {\n @include grid-container($theme-footer-max-width);\n @include u-padding-x(0);\n border-bottom: 1px solid color(\"base-light\");\n\n @include at-media(\"mobile-lg\") {\n @include add-responsive-site-margins;\n border-bottom: none;\n }\n\n > ul {\n @include add-list-reset;\n }\n}\n\n.usa-footer__primary-section {\n background-color: color(\"base-lightest\");\n\n > .grid-container {\n @include grid-container($theme-footer-max-width);\n }\n}\n\n.usa-footer__primary-container {\n @include grid-container($theme-footer-max-width);\n\n @include at-media(\"desktop\") {\n @include u-padding-x(4);\n }\n}\n\n.usa-footer__primary-content {\n line-height: line-height($theme-footer-font-family, 2);\n}\n\n.usa-footer__primary-link {\n @include u-padding-x($theme-site-margins-mobile-width);\n @include u-padding-y(2);\n @include u-text(\"ink\", \"bold\");\n display: block;\n\n @include at-media(\"mobile-lg\") {\n @include u-padding-x(0);\n }\n\n // Disclosure button functionality happens at mobile widths\n &--button {\n @include place-icon($-chevron-expand-more, \"before\", 0.5);\n width: 100%;\n border: 0;\n cursor: pointer;\n\n &:not([disabled]):focus {\n // Apply negative focus offset to ensure that entire focus ring is visible\n @include focus-outline(null, null, null, \"neg-05\");\n }\n\n // Arrow for collapsible content.\n &::before {\n @include u-square(2.5);\n align-items: center;\n background-size: contain;\n content: \"\";\n display: inline-flex;\n justify-content: center;\n margin-right: units(0.5);\n margin-left: units(-0.5);\n\n @media (forced-colors: active) {\n background-color: buttonText !important;\n }\n }\n\n & + .usa-list--unstyled {\n margin-top: units(1);\n margin-bottom: units(1);\n }\n\n &[aria-expanded=\"false\"] {\n @include place-icon($-chevron-next, \"before\", 0.5);\n\n // Hide submenu when button is not expanded\n & + .usa-list--unstyled {\n display: none;\n }\n }\n }\n}\n\n.usa-footer__secondary-link {\n line-height: line-height($theme-footer-font-family, 2);\n margin-left: units(2);\n padding: 0;\n\n a {\n @include typeset-link;\n }\n\n & + .usa-footer__secondary-link {\n padding-top: units(2);\n }\n\n @include at-media(\"mobile-lg\") {\n margin-left: 0;\n }\n}\n\n.usa-footer__contact-info {\n line-height: line-height($theme-footer-font-family, 2);\n\n a {\n @include u-text(\"ink\");\n }\n\n @include at-media(\"mobile-lg\") {\n @include u-flex(\"justify-end\");\n margin-top: units(1);\n }\n}\n\n.usa-footer__primary-content {\n border-top: 1px solid color(\"base-light\");\n\n @include at-media(\"mobile-lg\") {\n border: none;\n }\n}\n\n.usa-sign-up {\n padding-bottom: units(4);\n padding-top: units(3);\n\n .usa-label,\n .usa-button {\n margin-top: units(1.5);\n }\n}\n\n.usa-sign-up__heading {\n @include h3;\n margin: 0;\n}\n\n.usa-footer__secondary-section {\n @include u-padding-y(2.5);\n @include set-text-and-bg(\"base-lighter\");\n\n > .grid-container {\n @include grid-container($theme-footer-max-width);\n\n > .grid-row {\n justify-content: space-between;\n }\n }\n\n a {\n color: color(\"ink\");\n }\n}\n\n.usa-footer__logo {\n @include u-margin-y(1);\n\n @include at-media(\"mobile-lg\") {\n @include u-margin-y(0);\n @include u-flex(\"align-center\");\n }\n}\n\n.usa-footer__logo-img {\n max-width: units(10);\n}\n\n.usa-footer__logo-heading {\n @include typeset($theme-footer-font-family, $theme-h3-font-size, 1);\n @include u-font-weight(\"bold\");\n @include u-margin-y(1);\n}\n\n.usa-footer__contact-links {\n margin-top: units(3);\n\n @include at-media(\"mobile-lg\") {\n margin-top: 0;\n text-align: right;\n }\n}\n\n.usa-footer__contact-heading {\n @include typeset(\n $theme-footer-font-family,\n $theme-h3-font-size,\n $theme-heading-line-height\n );\n @include u-font-weight(\"bold\");\n margin-top: 0;\n\n @include at-media(\"mobile-lg\") {\n @include u-margin-y(0.5);\n }\n}\n\n.usa-footer__social-links {\n line-height: line-height($theme-footer-font-family, 1);\n padding-bottom: units(1);\n\n a {\n text-decoration: none;\n }\n\n @include at-media(\"mobile-lg\") {\n @include u-flex(\"justify-end\");\n }\n}\n\n.usa-social-link {\n @include u-square($size-touch-target);\n background-color: color(\"black-transparent-10\");\n display: inline-block;\n padding: units(0.5);\n\n &:hover {\n background-color: color(\"white\");\n }\n\n @media (forced-colors: active) {\n background-color: lightgrey;\n forced-color-adjust: none;\n }\n}\n\n.usa-social-link__icon {\n display: block;\n height: auto;\n width: 100%;\n}\n\n.usa-footer__address {\n @include at-media(\"mobile-lg\") {\n @include u-flex(\"justify-end\");\n }\n}\n\n// Slim footer styles\n\n.usa-footer--slim {\n .usa-footer__nav {\n @include at-media(\"desktop\") {\n @include u-padding-x(0);\n }\n }\n\n .usa-footer__address {\n @include u-padding-x($theme-site-margins-mobile-width);\n @include u-padding-y(2);\n\n @include at-media(\"mobile-lg\") {\n @include u-padding(0);\n }\n }\n\n .usa-footer__logo {\n @include u-flex(\"align-center\");\n }\n\n .usa-footer__logo-img {\n max-width: units(6);\n }\n\n .usa-footer__contact-info {\n display: inline-block;\n\n @include at-media(\"mobile-lg\") {\n @include u-padding-y(2);\n margin-top: 0;\n }\n }\n}\n\n// Big footer styles\n\n.usa-footer--big {\n .usa-footer__nav {\n @include u-margin-x($theme-site-margins-mobile-width * -1);\n @include at-media(\"mobile-lg\") {\n border-bottom: 1px solid color(\"base-light\");\n padding-top: units(4);\n }\n @include at-media(\"tablet\") {\n @include u-margin-x(0);\n @include u-padding-x(0);\n border-bottom: none;\n }\n }\n\n .usa-footer__primary-link {\n @include h4;\n line-height: line-height(\"heading\", 2);\n margin: 0;\n\n @include at-media(\"mobile-lg\") {\n @include u-padding-y(0);\n margin-bottom: units(1);\n\n &:hover {\n cursor: auto;\n text-decoration: none;\n }\n }\n }\n\n .usa-footer__primary-content--collapsible {\n .usa-footer__primary-link {\n align-items: center;\n display: flex;\n justify-content: flex-start;\n }\n\n .usa-list--unstyled {\n @include u-padding-x($theme-site-margins-mobile-width);\n padding-bottom: units(2.5);\n\n @include at-media(\"mobile-lg\") {\n @include u-padding-x(0);\n padding-bottom: units(4);\n padding-top: units(1.5);\n }\n }\n }\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n// Outputs line-height\n\n@mixin u-font-weight($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n font-weight: get-uswds-value(\"font-weight\", $value...) #{$important};\n}\n","@use \"uswds-core\" as *;\n\n.usa-form {\n @include typeset(\n $theme-form-font-family,\n $theme-body-font-size,\n $theme-input-line-height\n );\n @include border-box-sizing;\n\n @include at-media(\"mobile-lg\") {\n max-width: units(\"mobile\");\n }\n\n // Don't show dotted underline with \"required\" asterisk because it can cause legibility issues ad appear as an ellipsis...\n abbr[title=\"required\"] {\n text-decoration: none;\n }\n\n .usa-input,\n .usa-range,\n .usa-select,\n .usa-textarea {\n // max width not needed since .usa-form has one of its own\n max-width: none;\n }\n\n .usa-input,\n .usa-input-group {\n &--2xs {\n max-width: 5ex;\n }\n &--xs {\n max-width: 9ex;\n }\n &--sm,\n &--small {\n max-width: 13ex;\n }\n &--md,\n &--medium {\n max-width: 20ex;\n }\n &--lg {\n max-width: 30ex;\n }\n &--xl {\n max-width: 40ex;\n }\n &--2xl {\n max-width: 50ex;\n }\n }\n\n .usa-button {\n margin-top: units(1);\n\n @include at-media(\"mobile-lg\") {\n margin-top: units(3);\n }\n }\n\n // Avoids links styled as buttons\n a:where(:not(.usa-button)) {\n @include typeset-link;\n }\n}\n\n.usa-form--large {\n @include at-media(\"mobile-lg\") {\n max-width: units(\"mobile-lg\");\n }\n}\n\n.usa-show-password {\n @include button-unstyled;\n cursor: pointer;\n}\n\n.usa-form__note,\n.usa-show-password {\n @include typeset($theme-form-font-family, \"2xs\", 3);\n float: right;\n margin: units(0.5) 0 units(2);\n}\n","@use \"uswds-core\" as *;\n\n// A collection of media block objects\n\n.usa-graphic-list {\n @include typeset;\n @include border-box-sizing;\n\n .usa-graphic-list__row {\n .usa-media-block {\n margin-bottom: units(4);\n\n @include at-media(\"tablet\") {\n margin-bottom: units(8);\n }\n }\n\n &:last-child {\n .usa-media-block {\n @include at-media(\"tablet\") {\n margin-bottom: 0;\n }\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n }\n }\n\n .usa-media-block__img {\n margin-right: units(3);\n }\n\n .usa-media-block__body {\n > :first-child {\n margin-top: 0;\n }\n }\n}\n\n.usa-graphic-list__heading {\n @include typeset-h3;\n}\n","@use \"uswds-core\" as *;\n\n// Header helpers\n// ---------------------------------\n\n@mixin nav-border-extended {\n @include add-bar(0.5, \"primary\", \"bottom\", 0, 2);\n}\n\n@mixin nav-border-basic {\n @include add-bar(0.5, \"primary\", \"bottom\", 0, 2, -0.5);\n}\n\n$z-index-header: 300;\n$z-index-overlay: 400;\n\n// Header\n// ---------------------------------\n\n.usa-header {\n @include clearfix;\n @include typeset($theme-header-font-family);\n @include border-box-sizing;\n\n a {\n border-bottom: none;\n }\n\n // The search
\n .usa-search {\n @include at-media($theme-header-min-width) {\n float: right;\n }\n }\n\n // Accessibility: The
with search role\n [role=\"search\"] {\n @include at-media($theme-header-min-width) {\n float: right;\n max-width: calc(\n #{$theme-search-min-width} + #{units($theme-button-small-width)}\n );\n width: 100%;\n }\n }\n\n // The search \n [type=\"search\"] {\n min-width: 0; // Fix a Firefox display quirk\n }\n\n + .usa-hero {\n @include at-media($theme-header-min-width) {\n border-top: units(1px) solid color(\"white\");\n }\n }\n\n + .usa-section,\n + main {\n @include at-media($theme-header-min-width) {\n border-top: units(1px) solid color(\"base-lighter\");\n }\n }\n}\n\n.usa-logo {\n @include at-media-max($theme-header-min-width) {\n @include u-flex(\"fill\");\n font-size: font-size($theme-header-font-family, \"2xs\");\n line-height: line-height($theme-header-font-family, 1);\n margin-left: units($theme-site-margins-mobile-width);\n }\n\n @include at-media($theme-header-min-width) {\n margin-top: units(4);\n margin-bottom: units(2);\n font-size: font-size($theme-header-font-family, \"lg\");\n line-height: line-height($theme-header-font-family, 2);\n }\n\n a {\n color: color(\"ink\");\n text-decoration: none;\n }\n}\n\n.usa-logo__text {\n display: block;\n font-style: normal;\n font-weight: font-weight(\"bold\");\n margin: 0;\n}\n\n.usa-menu-btn {\n @include button-unstyled;\n @include u-flex(\"auto\");\n @include u-padding-x(1.5);\n background-color: color(\"primary\");\n color: color(\"white\");\n font-size: font-size($theme-header-font-family, \"3xs\");\n height: units($size-touch-target);\n text-align: center;\n text-decoration: none;\n text-transform: uppercase;\n\n @include at-media($theme-header-min-width) {\n display: none;\n }\n\n &:hover {\n background-color: color(\"primary-dark\");\n color: color(\"white\");\n text-decoration: none;\n }\n\n &:active {\n color: color(\"white\");\n }\n\n &:visited {\n color: color(\"white\");\n }\n}\n\n.usa-overlay {\n @include u-pin(\"all\");\n position: fixed;\n background: color(\"black-transparent-70\");\n opacity: opacity(0);\n transition: opacity $project-easing;\n visibility: hidden;\n z-index: z-index($z-index-overlay);\n\n &.is-visible {\n opacity: opacity(100);\n visibility: visible;\n }\n}\n\n// usa-header--basic\n// ---------------------------------\n\n.usa-header--basic {\n @include at-media($theme-header-min-width) {\n .usa-navbar {\n position: relative;\n width: $theme-header-logo-text-width; // TODO: review this more\n }\n\n .usa-nav {\n @include u-flex(\"row\", \"align-center\", \"justify-end\");\n display: flex;\n padding: 0 0 units(0.5) units(1);\n width: 100%;\n }\n\n .usa-nav-container {\n @include u-flex(\"align-end\", \"justify\");\n display: flex;\n }\n\n .usa-nav__primary-item > .usa-current,\n .usa-nav__link:hover {\n @include nav-border-basic;\n }\n\n // Don't show extended border if dropdown is active.\n .usa-nav__link[aria-expanded=\"true\"]::after,\n .usa-nav__link[aria-expanded=\"true\"]:hover::after {\n display: none;\n }\n\n .usa-nav__primary {\n width: auto;\n }\n\n // Issue #3401: last dropdown gets cutoff.\n .usa-nav__primary-item:last-of-type {\n position: relative;\n\n .usa-nav__submenu {\n @include u-pin-right;\n }\n }\n\n .usa-search {\n top: 0;\n }\n }\n\n &.usa-header--megamenu {\n .usa-nav__inner {\n display: flex;\n flex-direction: column;\n\n @include at-media($theme-header-min-width) {\n display: block;\n float: right;\n margin-top: units(-5);\n }\n }\n\n .usa-nav__primary-item:last-of-type {\n @include at-media($theme-header-min-width) {\n position: static;\n }\n }\n }\n}\n\n// usa-header--extended\n// ---------------------------------\n\n.usa-header--extended {\n @include at-media($theme-header-min-width) {\n padding-top: 0;\n\n .usa-nav__primary-item > .usa-current,\n .usa-nav__primary-item > .usa-nav__link:hover {\n @include nav-border-extended;\n }\n\n // Don't show extended border if dropdown is active.\n .usa-nav__link[aria-expanded=\"true\"]::after,\n .usa-nav__link[aria-expanded=\"true\"]:hover::after {\n display: none;\n }\n }\n\n .usa-logo {\n @include at-media($theme-header-min-width) {\n font-size: font-size($theme-header-font-family, \"xl\");\n margin: units(4) 0 units(3);\n max-width: $theme-header-logo-text-width;\n }\n }\n\n .usa-navbar {\n @include at-media($theme-header-min-width) {\n @include grid-container($theme-header-max-width);\n display: block;\n height: auto;\n overflow: auto;\n }\n }\n\n .usa-nav {\n @include at-media($theme-header-min-width) {\n border-top: units(1px) solid color(\"base-lighter\");\n padding: 0;\n width: 100%;\n }\n }\n\n .usa-nav__inner {\n @include at-media($theme-header-min-width) {\n @include grid-container($theme-header-max-width);\n position: relative;\n }\n }\n\n .usa-nav__primary {\n @include at-media($theme-header-min-width) {\n @include clearfix;\n margin-left: units(-2);\n }\n }\n\n .usa-nav__link {\n @include at-media($theme-header-min-width) {\n @include u-padding-y(2);\n }\n }\n\n .usa-nav__submenu {\n .usa-grid-full {\n @include at-media($theme-header-min-width) {\n padding-left: units(1.5);\n }\n }\n }\n\n .usa-nav__submenu.usa-megamenu {\n @include at-media($theme-header-min-width) {\n left: 0;\n padding-left: units($theme-site-margins-width);\n padding-right: units($theme-site-margins-width);\n }\n }\n}\n\n// [uswds-init.js] Offscreen content while js is loading\nhtml.usa-js-loading {\n .usa-nav__submenu,\n .usa-nav__submenu.usa-megamenu {\n @include add-sr-only;\n }\n}\n","@mixin clearfix {\n &::after {\n clear: both;\n content: \"\";\n display: block;\n }\n}\n","@use \"settings-general\" as general;\n\n/*\n* * * * * ==============================\n* * * * * ==============================\n* * * * * ==============================\n* * * * * ==============================\n========================================\n========================================\n========================================\n----------------------------------------\nCOMPONENT SETTINGS\n----------------------------------------\nRead more about settings and\nUSWDS style tokens in the documentation:\nhttps://designsystem.digital.gov/design-tokens\n----------------------------------------\n*/\n\n// Accordion\n$theme-accordion-background-color: \"default\" !default;\n$theme-accordion-border-color: \"base-lightest\" !default;\n$theme-accordion-border-width: 0.5 !default;\n$theme-accordion-button-background-color: \"base-lightest\" !default;\n$theme-accordion-font-family: \"body\" !default;\n\n// Alert\n$theme-alert-bar-width: 1 !default;\n$theme-alert-font-family: \"ui\" !default;\n$theme-alert-icon-size: 4 !default;\n$theme-alert-padding-x: 2.5 !default;\n$theme-alert-padding-y: 2 !default;\n$theme-alert-text-color: default !default;\n$theme-alert-text-reverse-color: default !default;\n$theme-alert-link-color: default !default;\n$theme-alert-link-reverse-color: default !default;\n\n// Banner\n$theme-banner-background-color: \"base-lightest\" !default;\n$theme-banner-font-family: \"ui\" !default;\n$theme-banner-link-color: default !default;\n$theme-banner-max-width: \"desktop\" !default;\n\n// Breadcrumb\n$theme-breadcrumb-background-color: \"default\" !default;\n$theme-breadcrumb-font-size: \"sm\" !default;\n$theme-breadcrumb-font-family: \"body\" !default;\n$theme-breadcrumb-link-color: default !default;\n$theme-breadcrumb-min-width: \"mobile-lg\" !default;\n$theme-breadcrumb-padding-bottom: 2 !default;\n$theme-breadcrumb-padding-top: 2 !default;\n$theme-breadcrumb-padding-x: 0 !default;\n$theme-breadcrumb-separator-color: \"base\" !default;\n\n// Button\n$theme-button-border-radius: \"md\" !default;\n$theme-button-font-family: \"ui\" !default;\n$theme-button-icon-gap: 1 !default;\n$theme-button-small-width: 6 !default;\n$theme-button-stroke-width: 2px !default;\n\n// Card\n$theme-card-border-color: \"base-lighter\" !default;\n$theme-card-border-radius: \"lg\" !default;\n$theme-card-border-width: 2px !default;\n$theme-card-gap: 2 !default;\n$theme-card-flag-min-width: \"tablet\" !default;\n$theme-card-flag-image-width: \"card-lg\" !default;\n$theme-card-font-family: \"body\" !default;\n$theme-card-header-typeset: \"heading\", \"lg\", 2 !default;\n$theme-card-margin-bottom: 4 !default;\n$theme-card-padding-perimeter: 3 !default;\n$theme-card-padding-y: 2 !default;\n\n// Collection\n$theme-collection-font-family: \"ui\" !default;\n$theme-collection-header-typeset: \"ui\", \"md\", 3 !default;\n\n// Footer\n$theme-footer-font-family: \"body\" !default;\n$theme-footer-max-width: \"desktop\" !default;\n\n// Form and input\n$theme-checkbox-border-radius: \"sm\" !default;\n$theme-form-font-family: \"ui\" !default;\n$theme-input-background-color: default !default;\n$theme-input-line-height: 3 !default;\n$theme-input-max-width: \"mobile-lg\" !default;\n$theme-input-select-border-width: 2px !default;\n$theme-input-select-size: 2.5 !default;\n$theme-input-state-border-width: 0.5 !default;\n$theme-input-tile-border-radius: \"md\" !default;\n$theme-input-tile-border-width: 2px !default;\n\n// Header\n$theme-header-font-family: \"ui\" !default;\n$theme-header-logo-text-width: 33% !default;\n$theme-header-max-width: \"desktop\" !default;\n$theme-header-min-width: \"desktop\" !default;\n\n// Hero\n$theme-hero-image: \"#{general.$theme-image-path}/hero.jpg\" !default;\n\n// Icon List\n$theme-icon-list-font-family: \"body\" !default;\n$theme-icon-list-title-font-family: \"heading\" !default;\n\n// Identifier\n$theme-identifier-background-color: \"base-darkest\" !default;\n$theme-identifier-font-family: \"ui\" !default;\n$theme-identifier-identity-domain-color: \"base-light\" !default;\n$theme-identifier-max-width: \"desktop\" !default;\n$theme-identifier-primary-link-color: default !default;\n$theme-identifier-secondary-link-color: \"base-light\" !default;\n\n// In-Page Navigation\n$theme-in-page-nav-background-color: \"default\" !default;\n$theme-in-page-nav-background-padding: 2 !default;\n$theme-in-page-nav-background-radius: \"lg\" !default;\n$theme-in-page-nav-bar-color: \"default\" !default;\n$theme-in-page-nav-bar-width: \"05\" !default;\n$theme-in-page-nav-font-family: \"ui\" !default;\n$theme-in-page-nav-link-color: \"default\" !default;\n$theme-in-page-nav-main-content-max-width: \"desktop\" !default;\n$theme-in-page-nav-margin-left: 4 !default;\n$theme-in-page-nav-margin-top: 2.5 !default;\n$theme-in-page-nav-top: 4 !default;\n\n// Link\n$theme-external-link-sr-label-tab-new: \"External, opens in a new tab.\" !default;\n$theme-external-link-sr-label-tab-same: \"External.\" !default;\n\n// Modal\n$theme-modal-border-radius: \"lg\" !default;\n$theme-modal-default-max-width: \"mobile-lg\" !default;\n$theme-modal-lg-content-max-width: \"tablet\" !default;\n$theme-modal-lg-max-width: \"tablet-lg\" !default;\n\n// Pagination\n$theme-pagination-background-color: \"default\" !default;\n$theme-pagination-breakpoint: \"tablet\" !default;\n$theme-pagination-button-border-radius: \"md\" !default;\n$theme-pagination-button-border-width: 1px !default;\n$theme-pagination-font-family: \"ui\" !default;\n\n// Process List\n$theme-process-list-counter-background-color: \"white\" !default;\n$theme-process-list-counter-border-color: \"ink\" !default;\n$theme-process-list-counter-border-width: 0.5 !default;\n$theme-process-list-counter-font-family: \"ui\" !default;\n$theme-process-list-counter-font-size: \"lg\" !default;\n$theme-process-list-counter-gap-color: \"white\" !default;\n$theme-process-list-counter-gap-width: 0.5 !default;\n$theme-process-list-counter-size: 5 !default;\n$theme-process-list-counter-text-color: \"ink\" !default;\n$theme-process-list-connector-color: \"primary-lighter\" !default;\n$theme-process-list-connector-width: 1 !default;\n$theme-process-list-font-family: \"ui\" !default;\n$theme-process-list-font-size: \"sm\" !default;\n$theme-process-list-heading-color: \"ink\" !default;\n$theme-process-list-heading-font-family: \"ui\" !default;\n$theme-process-list-heading-font-size: \"lg\" !default;\n\n// Navigation\n$theme-navigation-font-family: \"ui\" !default;\n$theme-megamenu-columns: 3 !default;\n\n// Search\n$theme-search-font-family: \"ui\" !default;\n$theme-search-min-width: 27ch !default;\n\n// Sidenav\n$theme-sidenav-current-border-width: 0.5 !default;\n$theme-sidenav-font-family: \"ui\" !default;\n$theme-sidenav-reorder: false !default;\n\n// Site Alert\n$theme-site-alert-max-width: \"desktop\" !default;\n\n// Step indicator\n$step-indicator-background-color: \"white\" !default;\n$theme-step-indicator-counter-gap: 0.5 !default;\n$theme-step-indicator-counter-border-width: 0.5 !default;\n$theme-step-indicator-font-family: \"ui\" !default;\n$theme-step-indicator-heading-color: \"ink\" !default;\n$theme-step-indicator-heading-font-family: \"ui\" !default;\n$theme-step-indicator-heading-font-size: \"lg\" !default;\n$theme-step-indicator-heading-font-size-small: \"md\" !default;\n$theme-step-indicator-label-font-size: \"sm\" !default;\n$theme-step-indicator-min-width: \"tablet\" !default;\n$theme-step-indicator-segment-color-pending: \"gray-40\" !default;\n$theme-step-indicator-segment-color-complete: \"primary-darker\" !default;\n$theme-step-indicator-segment-color-current: \"primary\" !default;\n$theme-step-indicator-segment-gap: 2px !default;\n$theme-step-indicator-segment-height: 1 !default;\n$theme-step-indicator-text-pending-color: \"base-dark\" !default;\n\n// Summary box\n$theme-summary-box-background-color: \"info-lighter\" !default;\n$theme-summary-box-border-color: \"info-light\" !default;\n$theme-summary-box-border-width: 1px !default;\n$theme-summary-box-border-radius: \"md\" !default;\n$theme-summary-box-font-family: \"ui\" !default;\n$theme-summary-box-link-color: default !default;\n$theme-summary-box-text-color: default !default;\n\n// Table\n$theme-table-background-color: default !default;\n$theme-table-border-color: \"ink\" !default;\n$theme-table-header-background-color: \"base-lighter\" !default;\n$theme-table-header-text-color: default !default;\n$theme-table-stripe-background-color: \"base-lightest\" !default;\n$theme-table-stripe-text-color: default !default;\n$theme-table-text-color: default !default;\n$theme-table-sorted-header-background-color: \"accent-cool-light\" !default;\n$theme-table-sorted-background-color: \"accent-cool-lighter\" !default;\n$theme-table-sorted-stripe-background-color: \"blue-cool-10v\" !default;\n$theme-table-sorted-icon-color: default !default;\n$theme-table-sticky-top-offset: -1px !default;\n$theme-table-unsorted-icon-color: \"base\" !default;\n\n// Tooltips\n$theme-tooltip-background-color: \"ink\" !default;\n$theme-tooltip-font-color: \"base-lightest\" !default;\n$theme-tooltip-font-size: \"xs\" !default;\n","@use \"../../functions\" as *;\n\n@mixin add-bar(\n $weight: 1,\n $color: \"ink\",\n $side: \"left\",\n $radius: 0,\n $offset-x: 0,\n $offset-y: 0\n) {\n $weight: if($weight == null, 1, $weight);\n $color: if($color == null, \"ink\", $color);\n $side: if($side == null, \"left\", $side);\n $radius: if($radius == null, 0, $radius);\n $offset-x: if($offset-x == null, 0, $offset-x);\n $offset-y: if($offset-y == null, 0, $offset-y);\n\n position: relative;\n\n &::after {\n background-color: color($color);\n border-radius: radius($radius);\n content: \"\";\n display: block;\n position: absolute;\n\n @if $side == (\"left\" or \"right\") {\n bottom: units($offset-y);\n top: units($offset-y);\n width: units($weight);\n #{unquote($side)}: units($offset-x);\n } @else {\n height: units($weight);\n left: units($offset-x);\n right: units($offset-x);\n #{unquote($side)}: units($offset-y);\n\n @media (forced-colors: active) {\n background-color: ButtonText;\n }\n }\n }\n}\n\n@mixin remove-bar {\n &::after {\n display: none;\n }\n}\n","@use \"sass:math\";\n@use \"sass:meta\";\n@use \"uswds-core\" as *;\n\n// Calculate the width of the outer megamenu pseudo elements\n@mixin outer-megamenu($header-max-width: $theme-header-max-width, $type) {\n @include u-pin(\"y\");\n background-color: color(\"primary-darker\");\n content: \"\";\n display: block;\n position: absolute;\n\n // Set variable for submenu max width\n $mw: smart-quote($header-max-width);\n @if meta.type-of($header-max-width) == \"string\" {\n // Retrieve the unit equivalent for submenu max width\n $mw: units($header-max-width);\n }\n\n // Create the vw equivalent for max-width:none\n @if $header-max-width == \"none\" {\n $mw: 100vw;\n }\n\n // Calculate pseudo element width\n // Subtract half the submenu width from half the viewport width\n @if $type == \"standard\" {\n // Add theme margin width to match padding in .usa-nav-container\n width: calc(50vw - $mw / 2 + units($theme-site-margins-width));\n } @else if $type == \"extended\" {\n width: calc(50vw - $mw / 2);\n }\n}\n\n.usa-megamenu {\n .usa-col {\n // Flex grow to take up available width.\n // Flex shrink so long nav lines don't extend beyond viewport.\n // Finally `flex-basis: auto` for IE11.\n flex: 1 1 auto;\n\n @include at-media($theme-header-min-width) {\n // needs this round() to avoid a compile bug\n @include u-flex(math.round(math.div(12, $theme-megamenu-columns)));\n\n .usa-nav__submenu-item a {\n @include u-padding-x(1);\n }\n\n // Remove padding from first and last columns on desktop view.\n &:first-child .usa-nav__submenu-item a {\n padding-left: 0;\n }\n &:last-child .usa-nav__submenu-item a {\n padding-right: 0;\n }\n }\n }\n}\n\n.usa-megamenu.usa-nav__submenu {\n @include at-media($theme-header-min-width) {\n @include u-padding-x(0);\n @include u-padding-y(4);\n left: -$theme-header-logo-text-width;\n right: 0;\n width: auto;\n }\n\n &::before {\n @include at-media($theme-header-min-width) {\n @include outer-megamenu($type: \"standard\");\n right: 100%;\n }\n }\n\n &::after {\n @include at-media($theme-header-min-width) {\n @include outer-megamenu($type: \"standard\");\n left: 100%;\n }\n }\n}\n\n.usa-header--extended .usa-megamenu.usa-nav__submenu {\n &::before {\n @include at-media($theme-header-min-width) {\n @include outer-megamenu($type: \"extended\");\n }\n }\n\n &::after {\n @include at-media($theme-header-min-width) {\n @include outer-megamenu($type: \"extended\");\n }\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-nav-container {\n @include at-media($theme-header-min-width) {\n @include clearfix;\n @include grid-container($theme-header-max-width);\n @include u-padding-x($theme-site-margins-width);\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-navbar {\n @include border-box-sizing;\n height: units($size-touch-target);\n\n @include at-media-max($theme-header-min-width) {\n @include u-flex(\"align-center\");\n border-bottom: units(1px) solid color(\"base-lighter\");\n display: flex;\n }\n\n @include at-media($theme-header-min-width) {\n border-bottom: none;\n display: inline-block;\n height: auto;\n }\n}\n","@use \"uswds-core\" as *;\n\n// Hero feature\n// ==========================\n\n.usa-hero {\n @include border-box-sizing;\n @include typeset;\n background-image: url(\"#{$theme-hero-image}\");\n background-position: center;\n background-size: cover;\n color: color(\"white\");\n\n > .grid-container {\n position: relative;\n @include u-padding-y($theme-site-margins-width);\n }\n}\n\n.usa-hero__callout {\n background-color: color(\"primary-darker\");\n padding: units(4);\n\n @include at-media(\"tablet\") {\n max-width: units(\"mobile\");\n }\n}\n\n.usa-hero__heading {\n @include typeset-h2;\n color: color(\"accent-cool\");\n line-height: line-height(\"heading\", 2);\n}\n\n.usa-hero__heading--alt {\n color: color(\"white\");\n display: block;\n}\n","@use \"sass:map\";\n\n@use \"uswds-core\" as *;\n\n// Variables\n\n// Size icons based on the theme-type-scale-[size] number and this factor\n$icon-list-icon-size-factor: 1.5;\n// Center the icon to the title text, works for all size variants\n$icon-list-icon-margin-top: -1.5%;\n// Fine tune the space between the icon and content with this factor\n$icon-list-icon-padding-left-factor: 0.4;\n// Fine tune the title top padding given a line height of lh-2\n$icon-list-title-padding-top: 0.425ex;\n\n$type-scale: font-size($theme-icon-list-font-family, $theme-body-font-size);\n\n// Get fixed size for icon, based on non-normalized size token\n$this-system-token: if(\n map.has-key($all-type-scale, $theme-body-font-size),\n map.get($all-type-scale, $theme-body-font-size),\n $theme-body-font-size\n);\n\n$icon-size: px-to-rem($this-system-token);\n\n@include override-prose {\n .usa-icon-list {\n @include typeset($theme-icon-list-font-family, $theme-body-font-size);\n @include unstyled-list;\n @include u-measure(5);\n }\n\n .usa-icon-list__item {\n display: flex;\n position: relative;\n\n & + .usa-icon-list__item {\n padding-top: units(1.5);\n }\n }\n}\n\n// Allow setting icon color on the icon-list element\n.usa-icon-list {\n @each $color, $grades in $all-project-colors {\n @each $grade, $value in $grades {\n @if $value {\n $prefix: if($grade != \"default\", \"#{$color}-#{$grade}\", $color);\n &--#{$prefix} {\n .usa-icon-list__icon {\n color: color($prefix);\n }\n }\n }\n }\n }\n}\n\n.usa-icon-list__icon {\n .usa-icon {\n // Set the height and width of the icon based on the size variant and factor\n // Doesn't use u-square() because of non-token size\n display: block;\n height: $icon-size * $icon-list-icon-size-factor;\n // margin-top: $icon-list-icon-margin-top;\n position: relative;\n width: $icon-size * $icon-list-icon-size-factor;\n }\n}\n\n// Don't resize any block-level element inside content\n.usa-icon-list__content {\n > p,\n > ul,\n > ol {\n @include u-font($theme-icon-list-font-family, $theme-body-font-size);\n @include u-measure(5);\n }\n}\n\n.usa-icon-list[class*=\"usa-icon-list--size-\"] {\n @include u-measure(\"none\");\n}\n\n// Generate responsive variants\n// Create a map for looping that includes a default or no-breakpoint version\n$this-null: (\n \"none\": null,\n);\n$icon-list-breakpoints: map-merge($this-null, $system-breakpoints);\n@each $mq-key, $mq-value in $icon-list-breakpoints {\n // Set the prefix\n // An empty string if \"none\"\n $prefix: false;\n @if $mq-key == \"none\" {\n $prefix: \"\";\n }\n // Or the standard prefix if the breakpoint is output\n @else if map.get($theme-utility-breakpoints-complete, $mq-key) {\n $prefix: \"#{$mq-key}#{$separator}\";\n }\n\n @include at-media($mq-key) {\n @each $token, $val in $all-type-scale {\n @if $prefix {\n $this-type-scale: font-size($theme-icon-list-font-family, $token);\n .#{$prefix}usa-icon-list--size-#{$token} {\n .usa-icon-list__icon {\n .usa-icon {\n // Set the height and width of the icon based on the size variant and factor\n height: $this-type-scale * $icon-list-icon-size-factor;\n width: $this-type-scale * $icon-list-icon-size-factor;\n }\n }\n\n .usa-icon-list__content {\n @include u-measure(5);\n // Resize simple (un-marked up) content\n font-size: size($theme-icon-list-font-family, $token);\n // Calculate the space between the icon and content based on the size variant and factor\n padding-left: $this-type-scale *\n $icon-list-icon-padding-left-factor;\n\n .usa-icon-list__title {\n @include u-font($theme-icon-list-title-font-family, $token);\n }\n }\n }\n }\n }\n }\n}\n\n.usa-icon-list__title {\n @include typeset(\n $theme-icon-list-title-font-family,\n $theme-body-font-size,\n 2\n );\n margin-bottom: units(0);\n padding-top: $icon-list-title-padding-top;\n & + * {\n margin-top: units(1);\n }\n}\n\n.usa-icon-list__content {\n font-size: $type-scale;\n padding-left: $type-scale * $icon-list-icon-padding-left-factor;\n > *:first-child {\n margin-top: 0;\n }\n > *:last-child {\n margin-bottom: 0;\n }\n\n ul li {\n list-style-type: disc;\n }\n}\n","@use \"uswds-core\" as *;\n\n$identifier-context: \"Identifier\";\n$identifier-logo-height: 6;\n$identifier-section-margin-y: 2;\n$identifier-section-margin-y-small: 1;\n$identifier-link-gap: 1.5;\n$identifier-link-gap-desktop: 1;\n$identifier-links-gap: 4 !default;\n\n@mixin identifier-primary-link {\n @include set-link-from-bg(\n $theme-identifier-background-color,\n $theme-identifier-primary-link-color,\n $context: $identifier-context\n );\n}\n\n@mixin identifier-secondary-link {\n @include set-link-from-bg(\n $theme-identifier-background-color,\n $theme-identifier-secondary-link-color,\n $context: $identifier-context\n );\n}\n\n//\n// General Styles\n// =====================================\n.usa-identifier {\n @include typeset($theme-identifier-font-family, \"sm\", 3);\n @include set-text-and-bg(\n $theme-identifier-background-color,\n $context: $identifier-context\n );\n padding-bottom: units(2);\n}\n\n.usa-identifier__container {\n @include grid-container;\n @include u-maxw($theme-identifier-max-width);\n}\n\n.usa-identifier__section {\n @include u-padding-y($identifier-section-margin-y);\n}\n\n.usa-identifier__section--masthead {\n .usa-identifier__container {\n @include at-media(\"tablet\") {\n @include u-align-items(\"align-center\");\n @include u-display(\"flex\");\n }\n }\n}\n\n.usa-identifier__logos {\n display: flex;\n margin-right: units(2);\n}\n\n.usa-identifier__logo {\n @include u-text-decoration(\"no-underline\");\n height: units($identifier-logo-height);\n display: block;\n\n & + .usa-identifier__logo {\n margin-left: units(1);\n }\n}\n\n.usa-identifier__logo-img {\n height: 100%;\n width: auto;\n}\n\n.usa-identifier__identity {\n @include u-flex(\"fill\");\n margin-top: units(2);\n\n @include at-media(\"tablet\") {\n margin-top: units(0);\n }\n}\n\n.usa-identifier__identity-domain,\n.usa-identifier__identity-disclaimer {\n margin: 0;\n padding: 0;\n}\n\n.usa-identifier__identity-domain {\n @include set-text-from-bg(\n $theme-identifier-background-color,\n $theme-identifier-identity-domain-color,\n $context: $identifier-context\n );\n}\n\n.usa-identifier__identity-disclaimer {\n @include u-text(\"bold\");\n\n a {\n @include identifier-primary-link;\n }\n}\n\n.usa-identifier__section--required-links {\n @include at-media(\"tablet\") {\n @include u-padding-y($identifier-section-margin-y-small);\n }\n @include at-media(\"desktop\") {\n @include u-font-size($theme-identifier-font-family, \"xs\");\n }\n}\n\n.usa-identifier__required-links-list {\n @include add-list-reset;\n @include u-margin-y(0);\n\n @include at-media(\"tablet\") {\n column-count: 2;\n column-gap: units($identifier-links-gap);\n column-fill: balance;\n }\n\n @include at-media(\"desktop\") {\n column-count: 4;\n }\n}\n\n.usa-identifier__required-links-item {\n break-inside: avoid;\n margin-bottom: units($identifier-link-gap);\n\n &:last-child {\n margin-bottom: units(0);\n }\n\n @include at-media(\"desktop\") {\n margin-bottom: units($identifier-link-gap-desktop);\n }\n}\n\n.usa-identifier__required-link,\n.usa-identifier__required-link.usa-link {\n @include identifier-secondary-link;\n display: inline-block;\n}\n\n.usa-identifier__section--usagov a {\n @include identifier-primary-link;\n @include u-text(\"bold\");\n display: inline-block;\n margin-top: units(1);\n\n @include at-media(\"tablet\") {\n margin-top: 0;\n }\n}\n\n.usa-identifier__usagov-description {\n @include at-media(\"tablet\") {\n display: inline-flex;\n }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../../functions\" as *;\n@use \"../../tokens\" as *;\n\n// Outputs text-decoration and color properties\n\n@mixin u-text-decoration($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n @each $this-value in $value {\n @if map.has-key($all-color-shortcodes, smart-quote($this-value)) {\n text-decoration-color: color(smart-quote($this-value)) #{$important};\n } @else {\n text-decoration: get-uswds-value(\"text-decoration\", $value...)\n #{$important};\n }\n }\n}\n","@use \"uswds-core\" as *;\n@use \"sass:color\";\n@use \"sass:list\";\n\n.usa-in-page-nav-container {\n align-items: flex-start;\n display: flex;\n\n // Set main landmark max width to ensure in-page nav will fit\n main {\n max-width: units($theme-in-page-nav-main-content-max-width);\n width: 100%;\n }\n}\n\n.usa-in-page-nav {\n @include set-text-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $context: \"In-page navigation text color\"\n );\n display: none;\n margin-left: units($theme-in-page-nav-margin-left);\n margin-top: units($theme-in-page-nav-margin-top);\n max-width: units(\"card-lg\");\n order: 2;\n position: sticky;\n top: units($theme-in-page-nav-top);\n width: 100%;\n\n @include at-media(\"tablet\") {\n display: block;\n }\n}\n\n.usa-in-page-nav__nav {\n @include set-text-and-bg(\n $theme-in-page-nav-background-color,\n $context: \"In-page navigation background\"\n );\n border-radius: radius($theme-in-page-nav-background-radius);\n padding: units($theme-in-page-nav-background-padding);\n}\n\n.usa-in-page-nav__heading {\n // TODO: This could be a setting?\n @include typeset(\"ui\", \"2xs\", 3);\n @include u-font-weight(\"bold\");\n margin-bottom: units(2);\n margin-top: 0;\n padding: 0;\n}\n\n.usa-in-page-nav__list {\n @include border-box-sizing;\n @include nav-list(\"sidenav\");\n border-left: units(1px) solid\n color.adjust(\n color(\n get-color-token-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $context: \"In-page navigation rail\"\n )\n ),\n $alpha: -0.75\n );\n padding: 0;\n\n // specificity to override sidenav styles\n a:not(.usa-button) {\n &:not(.usa-current) {\n @include set-link-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $preferred-link-color: $theme-in-page-nav-link-color,\n $context: \"In-page-navigation link\"\n );\n\n &:visited {\n color: color(\n list.nth(\n get-link-tokens-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $preferred-link-token: $theme-in-page-nav-link-color,\n $context: \"In-page-navigation link\"\n ),\n 1\n )\n );\n }\n }\n\n &.usa-current {\n @include set-text-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $context: \"In-page-navigation current color\"\n );\n font-weight: inherit;\n }\n\n &:hover {\n text-decoration: underline;\n background-color: none;\n }\n\n &.usa-current {\n position: static;\n\n &::after {\n background-color: color(\n get-color-token-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $preferred-text-token: $theme-in-page-nav-bar-color,\n $context: \"In-page navigation bar\"\n )\n );\n border-radius: 0;\n bottom: units(-1px);\n left: 0;\n top: 0;\n width: units($theme-in-page-nav-bar-width);\n z-index: z(100);\n }\n }\n }\n}\n\n.usa-in-page-nav__item {\n @include typeset($theme-in-page-nav-font-family, \"2xs\", 2);\n border: none;\n position: relative;\n\n &--primary {\n @include u-font-weight(\"bold\");\n }\n}\n","@use \"./add-bar\" as *;\n@use \"../../functions\" as *;\n@use \"../../mixins/helpers\" as *;\n@use \"../../mixins/typography/unstyled-list\" as *;\n@use \"../../mixins/utilities\" as *;\n@use \"../../settings\" as *;\n\n$sidenav-level-1-inset: 2;\n$sidenav-level-2-inset: 4;\n$sidenav-level-3-inset: 6;\n$sidenav-level-4-inset: 8;\n\n@mixin nav-list($type) {\n @include unstyled-list();\n\n @if $type == \"sidenav\" {\n &__item {\n border-top: units(1px) solid color(\"base-lighter\");\n }\n }\n\n @if $type == \"nav\" {\n &-item {\n border-top: units(1px) solid color(\"base-lighter\");\n }\n }\n\n a:not(.usa-button) {\n display: block;\n padding: units(1) units($sidenav-level-1-inset);\n text-decoration: none;\n\n &:hover {\n background-color: color(\"base-lightest\");\n text-decoration: none;\n }\n }\n\n a:not(.usa-button):not(.usa-current) {\n color: color(\"base-dark\");\n\n &:hover {\n color: color($theme-link-color);\n }\n\n &:focus {\n outline-offset: 0;\n }\n }\n\n .usa-current {\n @include add-bar(\n $theme-sidenav-current-border-width,\n \"primary\",\n \"left\",\n \"pill\",\n 0.5,\n 0.5\n );\n color: color($theme-link-color);\n font-weight: font-weight(\"bold\");\n\n @include at-media(\"tablet\") {\n @include add-bar(\n $theme-sidenav-current-border-width,\n $theme-link-color,\n \"left\",\n \"pill\",\n 0,\n 0.5\n );\n }\n }\n}\n\n@mixin nav-sublist {\n @include unstyled-list();\n margin: 0;\n\n &-item {\n border-top: units(1px) solid color(\"base-lighter\");\n font-size: font-size($theme-sidenav-font-family, \"2xs\");\n }\n\n .usa-current {\n @include remove-bar;\n\n @include at-media(\"tablet\") {\n @include remove-bar;\n }\n }\n\n // level 2+\n a:not(.usa-button) {\n padding-left: units($sidenav-level-2-inset);\n }\n\n // level 3+\n & & a:not(.usa-button) {\n padding-left: units($sidenav-level-3-inset);\n }\n\n // level 4+\n & & & a:not(.usa-button) {\n padding-left: units($sidenav-level-4-inset);\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-language {\n @include u-flex(\"row\", \"align-center\", \"justify-end\");\n display: flex;\n padding: 0 0 units(0.5) units(1);\n width: 100%;\n\n &--small {\n .usa-button {\n @include u-padding-x(1.5);\n @include u-padding-y(0);\n font-size: font-size($theme-header-font-family, \"3xs\");\n height: units(4);\n margin-top: 0.3rem;\n min-width: units($theme-button-small-width);\n }\n }\n}\n\n.usa-language-container {\n @include u-flex(\"align-center\", \"justify-end\");\n display: flex;\n}\n\n.usa-nav-container {\n .usa-language-container {\n align-self: center;\n margin-left: units(0);\n position: absolute;\n right: units(10);\n top: units(2);\n\n @include at-media($theme-header-min-width) {\n align-self: flex-end;\n margin-left: units(1.5);\n margin-bottom: units(1);\n position: relative;\n right: inherit;\n top: units(-2px);\n }\n }\n}\n\n.usa-language__link {\n margin-right: units(0);\n}\n\n.usa-language__primary {\n width: auto;\n}\n\n.usa-language__primary-item:last-of-type {\n position: relative;\n\n .usa-language__submenu {\n @include u-pin-right;\n }\n}\n\n.usa-language__submenu {\n @include add-list-reset;\n @include nav-sublist;\n background-color: color(\"primary-darker\");\n position: absolute;\n width: units(\"card-lg\");\n z-index: z-index(400);\n\n &[aria-hidden=\"true\"] {\n display: none;\n }\n\n .usa-language__submenu-item {\n a {\n color: color(\"white\");\n display: block;\n line-height: line-height($theme-navigation-font-family, 3);\n padding: 0;\n padding: units(1);\n text-decoration: none;\n\n &:focus {\n outline-offset: units(\"neg-05\");\n }\n\n &:hover {\n color: color(\"white\");\n text-decoration: underline;\n }\n }\n }\n}\n\n.usa-language__submenu-list {\n @include unstyled-list;\n\n .usa-language__submenu-list-item {\n margin: 0;\n font-size: font-size($theme-navigation-font-family, \"2xs\");\n\n a {\n line-height: line-height($theme-navigation-font-family, 3);\n }\n }\n}\n","@use \"uswds-core\" as *;\n\n$sidenav-reorder-warning: \"$theme-sidenav-reorder is enabled and has accessibility concerns. This behavior has a negative impact on users of assistive technologies.\";\n\n.usa-layout-docs__sidenav {\n padding-top: units(4);\n\n @include at-media(\"desktop\") {\n padding-top: 0;\n }\n\n // Revert to >3.8.0 behavior and give a warning.\n @if $theme-sidenav-reorder {\n @warn $sidenav-reorder-warning;\n\n &:first-of-type {\n @include grid-col(12);\n order: 2;\n\n @include at-media(\"desktop\") {\n @include grid-col(3);\n order: 0;\n }\n }\n }\n}\n","@use \"sass:map\";\n\n@use \"uswds-core\" as *;\n\n/* stylelint-disable */\n\n$namespace-grid: ns(\"grid\");\n\n// basic container\n.#{$namespace-grid}container {\n $props: append-important($grid-global, $theme-grid-container-max-width);\n @include grid-container($props);\n}\n\n// container with custom widths\n@each $width-key, $width-value in $system-breakpoints {\n .#{$namespace-grid}container-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-container($props);\n }\n}\n\n// responsive containers...\n@each $mq-key, $mq-value in $system-breakpoints {\n @if map.get($theme-utility-breakpoints-complete, $mq-key) {\n @include at-media($mq-key) {\n .#{$mq-key}#{$separator}#{$namespace-grid}container {\n $props: append-important($grid-global, desktop);\n @include grid-container($props);\n }\n\n // ...with custom widths\n @each $width-key, $width-value in $system-breakpoints {\n .#{$mq-key}#{$separator}#{$namespace-grid}container-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-container($props);\n }\n }\n }\n }\n}\n\n// basic row...\n.#{$namespace-grid}row {\n @include grid-row;\n\n // ...that includes column gaps\n &.#{$namespace-grid}gap {\n @include grid-gap-responsive;\n }\n @each $gap-key, $gap-val in map-deep-get($system-properties, gap, standard) {\n &.#{$namespace-grid}gap-#{$gap-key} {\n $props: append-important($grid-global, $gap-key);\n @include grid-gap($props);\n }\n }\n\n // responsive column gaps\n @each $mq-key, $mq-value in $system-breakpoints {\n @if map.get($theme-utility-breakpoints-complete, $mq-key) {\n @include at-media($mq-key) {\n @each $gap-key,\n $gap-val in map-deep-get($system-properties, gap, standard)\n {\n &.#{$mq-key}#{$separator}#{$namespace-grid}gap-#{$gap-key} {\n $props: append-important($grid-global, $gap-key);\n @include grid-gap($props);\n }\n }\n }\n }\n }\n}\n\n// basic columns...\n[class*=\"#{$namespace-grid}col\"] {\n @include u-position(relative);\n @include u-width(full);\n box-sizing: border-box;\n}\n\n.#{$namespace-grid}col {\n $props: append-important($grid-global, fill);\n @include grid-col($props);\n}\n\n.#{$namespace-grid}col-auto {\n $props: append-important($grid-global, auto);\n @include grid-col($props);\n}\n\n.#{$namespace-grid}col-fill {\n $props: append-important($grid-global, fill);\n @include grid-col($props);\n}\n\n// ...with widths\n@each $width-key, $width-value in $system-layout-grid-widths {\n .#{$namespace-grid}col-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-col($props);\n }\n}\n\n// responsive columns\n@each $mq-key, $mq-value in $system-breakpoints {\n @if map.get($theme-utility-breakpoints-complete, $mq-key) {\n @include at-media($mq-key) {\n .#{$mq-key}#{$separator}#{$namespace-grid}col {\n $props: append-important($grid-global, fill);\n @include grid-col($props);\n }\n .#{$mq-key}#{$separator}#{$namespace-grid}col-fill {\n $props: append-important($grid-global, fill);\n @include grid-col($props);\n }\n .#{$mq-key}#{$separator}#{$namespace-grid}col-auto {\n $props: append-important($grid-global, auto);\n @include grid-col($props);\n }\n\n @each $width-key, $width-value in $system-layout-grid-widths {\n .#{$mq-key}#{$separator}#{$namespace-grid}col-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-col($props);\n }\n }\n }\n }\n}\n\n// basic offsets\n@each $width-key, $width-value in $system-layout-grid-widths {\n .#{$namespace-grid}offset-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-offset($props);\n }\n}\n.#{$namespace-grid}offset-none {\n $props: append-important($grid-global, none);\n @include grid-offset($props);\n}\n\n// responsive offsets\n@each $mq-key, $mq-value in $system-breakpoints {\n @if map.get($theme-utility-breakpoints-complete, $mq-key) {\n @each $width-key, $width-value in $system-layout-grid-widths {\n @include at-media($mq-key) {\n .#{$mq-key}#{$separator}#{$namespace-grid}offset-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-offset($props);\n }\n }\n }\n @include at-media($mq-key) {\n .#{$mq-key}#{$separator}#{$namespace-grid}offset-none {\n $props: append-important($grid-global, none);\n @include grid-offset($props);\n }\n }\n }\n}\n/* stylelint-enable */\n","@use \"uswds-core\" as *;\n\n.usa-media-block {\n @include u-align-items(\"align-start\");\n @include u-display(\"flex\");\n}\n\n.usa-media-block__img {\n @include media-block-img;\n}\n\n.usa-media-block__body {\n @include u-flex(1);\n}\n","@use \"uswds-core\" as *;\n\n.usa-js-no-click {\n pointer-events: none;\n user-select: none;\n\n .usa-modal,\n .usa-modal * {\n pointer-events: auto;\n user-select: text;\n }\n}\n\n// Prevents propagation issue in Safari an opener\n// has a child element, and when clicked, prevents\n// intended action\n[data-open-modal] * {\n pointer-events: none;\n}\n\n.usa-modal-wrapper {\n text-align: center;\n transition: opacity $project-easing;\n\n // Using visibility: hidden instead of display: none because\n // of iOS VoiceOver issue:\n // https://developer.paciellogroup.com/blog/2018/06/the-current-state-of-modal-dialog-accessibility/\n &.is-hidden {\n visibility: hidden;\n opacity: opacity(0);\n position: fixed;\n }\n\n &.is-visible {\n visibility: visible;\n opacity: opacity(100);\n position: fixed;\n z-index: z-index(\"top\");\n }\n}\n\n.usa-modal-overlay {\n background: color(\"black-transparent-70\");\n bottom: 0;\n height: 100%;\n left: 0;\n overflow: scroll;\n overflow-x: hidden;\n padding: units(3);\n position: fixed;\n scroll-behavior: smooth;\n top: 0;\n width: 100%;\n\n &:before {\n content: \"\";\n display: inline-block;\n height: 100%;\n vertical-align: middle;\n }\n\n &[data-force-action=\"true\"] {\n pointer-events: none;\n\n * {\n pointer-events: auto;\n }\n }\n}\n\n// Prevents modals from flickering\n// Still allows content to be accessed\n.usa-js-loading {\n .usa-modal-wrapper {\n @include add-sr-only;\n }\n\n .usa-modal-wrapper:target {\n position: static;\n }\n}\n\n.usa-modal {\n @include typeset;\n @include u-radius($theme-modal-border-radius);\n background: white;\n @include set-text-from-bg(\"white\");\n display: inline-block;\n margin: units(2.5) auto;\n max-width: units($theme-modal-default-max-width);\n position: relative;\n text-align: left;\n vertical-align: middle;\n width: 100%;\n\n &:focus {\n outline: none;\n }\n}\n\n.usa-modal__content {\n display: flex;\n flex-direction: column-reverse;\n padding-top: units(4);\n width: 100%;\n}\n\n.usa-modal__main {\n margin: 0 auto;\n padding: units(1) units(4) units(4);\n}\n\n// Prevents JS not recognizing as part of close button.\n.usa-modal-wrapper [data-close-modal] > .usa-icon,\n.usa-modal-wrapper [data-close-modal] > .usa-icon use {\n pointer-events: none !important;\n}\n\n.usa-modal__close {\n align-items: center;\n align-self: flex-end;\n background-color: transparent;\n color: color(\"base\");\n display: flex;\n flex-shrink: 0;\n font-size: size(\"ui\", \"2xs\");\n margin: units(-4) 0 0 auto;\n padding: units(0.5) units(0.5);\n width: auto;\n\n &:hover,\n &:active {\n background-color: transparent;\n color: color(\"ink\");\n }\n\n &:focus {\n outline-offset: 0;\n }\n\n .usa-icon {\n height: units(4);\n margin: units(2px) units(2px) 0 0;\n width: units(4);\n }\n}\n\n.usa-modal__heading {\n @include u-font(\"heading\", \"lg\");\n line-height: line-height(\"heading\", 3);\n margin-top: 0;\n}\n\n.usa-modal__footer {\n margin-top: units(3);\n}\n\n// Variants\n.usa-modal--lg {\n max-width: units($theme-modal-lg-max-width);\n width: 100%;\n\n .usa-modal__main {\n padding-bottom: units(8);\n padding-top: units(2.5);\n width: 100%;\n max-width: units($theme-modal-lg-content-max-width);\n }\n\n .usa-modal__heading {\n @include at-media(\"tablet\") {\n @include u-font(\"heading\", \"xl\");\n }\n }\n}\n\n.usa-js-modal--active {\n overflow: hidden;\n}\n","@use \"sass:math\";\n@use \"sass:list\";\n@use \"sass:color\";\n\n@use \"uswds-core\" as *;\n\n$pagination-context: \"Pagination\";\n$pagination-margin-x: 0.5 !default;\n$pagination-margin-y: 2 !default;\n$pagination-margin-padding: 1 !default;\n$pagination-target-size: 5 !default;\n\n$pagination-current-color: get-color-token-from-bg(\n $theme-pagination-background-color\n);\n\n$pagination-link-tokens: get-link-tokens-from-bg(\n $theme-pagination-background-color,\n $theme-link-reverse-color,\n $theme-link-color,\n $context: $pagination-context\n);\n\n$pagination-link-token: list.nth($pagination-link-tokens, 1);\n$pagination-hover-token: list.nth($pagination-link-tokens, 2);\n\n// Pagination\n// ---------------------------------\n.usa-pagination {\n @include u-margin-y($pagination-margin-y);\n @include typeset($theme-pagination-font-family);\n @include set-text-and-bg(\n $theme-pagination-background-color,\n $context: $pagination-context\n );\n display: flex;\n justify-content: center;\n}\n\n// TODO: Pull out magic number into vars? Could this better?\n.usa-pagination .usa-icon {\n height: px-to-rem(18px);\n width: px-to-rem(18px);\n}\n\n// Shared styles\n// ---------------------------------\n\n// Pagination nav\n// ---------------------------------\n.usa-pagination__list {\n @include add-list-reset;\n align-items: center;\n display: flex;\n flex-flow: row nowrap;\n justify-content: center;\n width: auto;\n}\n\n// Pagination nav items\n// 1. Prevents chromium browsers from adding additional vertical whitespace\n.usa-pagination__item {\n display: inline-flex; // 1\n height: units($pagination-target-size);\n justify-content: center;\n line-height: 1;\n margin-left: units($pagination-margin-x);\n margin-right: units($pagination-margin-x);\n min-width: units($pagination-target-size);\n\n @include at-media($theme-pagination-breakpoint) {\n flex: 1 0 auto; // flex: 1 won't work in IE11\n }\n}\n\n// Don't show previous and next at mobile.\n// Functionality exists with page buttons.\n.usa-pagination__arrow {\n display: none;\n @include at-media($theme-pagination-breakpoint) {\n display: inherit;\n }\n}\n\n.usa-pagination__previous-page {\n @include at-media($theme-pagination-breakpoint) {\n margin-right: units(math.div($pagination-target-size, 2));\n }\n}\n\n.usa-pagination__next-page {\n @include at-media($theme-pagination-breakpoint) {\n margin-left: units(math.div($pagination-target-size, 2));\n }\n}\n\n.usa-pagination__link {\n align-items: center;\n color: color($pagination-link-token);\n display: inline-flex;\n text-decoration: none;\n\n &[disabled] {\n opacity: 0.4 !important;\n pointer-events: none;\n }\n\n &:hover,\n &:focus,\n &:active {\n color: color($pagination-hover-token);\n text-decoration: underline;\n }\n\n &:visited {\n color: color($pagination-link-token);\n }\n}\n\n.usa-pagination__button {\n align-items: center;\n border-color: color.adjust(color($pagination-current-color), $alpha: -0.8);\n border-radius: radius($theme-pagination-button-border-radius);\n border-style: solid;\n border-width: units($theme-pagination-button-border-width);\n color: color($pagination-link-token);\n display: inline-flex;\n justify-content: center;\n padding: units($pagination-margin-padding);\n text-decoration: none;\n width: 100%;\n\n &:hover,\n &:focus,\n &:active {\n color: color($pagination-hover-token);\n border-color: color($pagination-hover-token);\n\n @media (forced-colors: active) {\n border: $border-high-contrast;\n }\n }\n}\n\n.usa-pagination .usa-current {\n $text-color: if(\n $theme-pagination-background-color == \"default\",\n $theme-body-background-color,\n $theme-pagination-background-color\n );\n background-color: color($pagination-current-color);\n border-color: transparent;\n color: color($text-color);\n\n @media (forced-colors: active) {\n border: $border-high-contrast;\n color: buttonText;\n }\n\n &:hover,\n &:focus,\n &:active {\n background-color: color($pagination-current-color);\n color: color($text-color);\n text-decoration: none;\n\n @media (forced-colors: active) {\n color: buttontext;\n }\n }\n}\n\n.usa-pagination__overflow {\n align-items: center;\n align-self: stretch;\n display: inherit;\n user-select: none;\n padding: units($pagination-margin-padding);\n}\n\n// ---------------------------------\n// Variants\n// ---------------------------------\n","@use \"uswds-core\" as *;\n\n// PROCESS LIST\n$theme-process-list-counter-content-padding: calc(\n (#{units($theme-process-list-counter-size)} / 2) - #{units(0.5)}\n);\n$theme-process-list-counter-line-x-position: calc(\n (\n (#{units($theme-process-list-counter-size)} / 2) -\n (#{units($theme-process-list-connector-width)} / 2)\n )\n);\n\n@include override-prose {\n .usa-process-list {\n @include typeset($theme-process-list-font-family);\n @include unstyled-list;\n counter-reset: usa-numbered-list;\n padding: 20px 0 0 $theme-process-list-counter-line-x-position;\n position: relative;\n\n // Use increased specificity to override unstyled-list()\n & > .usa-process-list__item {\n @include u-measure(5);\n }\n }\n\n .usa-process-list__item {\n border-left: units($theme-process-list-connector-width) solid\n color($theme-process-list-connector-color);\n font-size: size(\n $theme-process-list-font-family,\n $theme-process-list-font-size\n );\n margin-bottom: 0;\n padding-bottom: units(4);\n padding-left: calc(#{$theme-process-list-counter-content-padding} * 2);\n }\n}\n\n.usa-process-list__item {\n &:last-child {\n border-left: units($theme-process-list-connector-width) solid transparent;\n }\n\n &::before {\n @include u-flex(\"row\", \"align-center\", \"justify-center\");\n $half-of-font-size: -0.4rem;\n @include u-circle($theme-process-list-counter-size);\n background-color: color($theme-process-list-counter-background-color);\n border: units($theme-process-list-counter-border-width) solid\n color($theme-process-list-counter-border-color);\n box-shadow: 0 0 0 units($theme-process-list-counter-gap-width)\n color($theme-process-list-counter-gap-color);\n color: color($theme-process-list-counter-text-color);\n content: counter(usa-numbered-list, decimal);\n counter-increment: usa-numbered-list;\n display: flex;\n font-family: family($theme-process-list-counter-font-family);\n font-size: size(\n $theme-process-list-counter-font-family,\n $theme-process-list-counter-font-size\n );\n font-weight: font-weight(\"bold\");\n height: units($theme-process-list-counter-size);\n left: 0;\n line-height: lh($theme-process-list-counter-font-family, 1);\n margin-top: $half-of-font-size;\n position: absolute;\n width: units($theme-process-list-counter-size);\n }\n\n ul {\n list-style-type: disc;\n\n li {\n margin-bottom: units(0.5);\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n }\n\n > *:first-child {\n margin-top: 0;\n }\n\n > *:last-child {\n margin-bottom: 0;\n }\n}\n\n.usa-process-list__heading {\n @include typeset(\n $theme-process-list-heading-font-family,\n $theme-process-list-heading-font-size,\n 2\n );\n color: color($theme-process-list-heading-color);\n font-family: family($theme-process-list-heading-font-family);\n font-weight: font-weight(\"bold\");\n margin: 0;\n\n & + * {\n margin-top: units(0.5);\n }\n}\n","@use \"uswds-core\" as *;\n\n// Map for high contrast search icon\n$search-icon: (\n \"name\": \"search\",\n \"color\": ButtonText,\n \"svg-height\": 20,\n \"svg-width\": 20,\n \"height\": units(3),\n);\n\n.usa-search {\n @include border-box-sizing;\n @include clearfix;\n @include typeset($theme-search-font-family);\n position: relative;\n\n // if role is in the element (>=2.6.0)...\n &[role=\"search\"],\n // if there is a (=2.5.[0,1])...\n &[role=\"search\"]>div,\n // ...or if the component has a separate (<=2.4.0)\n [role=\"search\"] {\n display: flex;\n }\n\n [type=\"submit\"] {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n height: units(4);\n margin: 0;\n padding: 0;\n width: units($theme-button-small-width);\n\n @include at-media(\"mobile-lg\") {\n @include u-padding-x(2);\n width: auto;\n }\n\n @media (forced-colors: active) {\n @include place-icon($search-icon, \"before\");\n\n &:focus {\n outline-offset: 0;\n }\n\n &::before {\n @include at-media(\"mobile-lg\") {\n content: none;\n }\n }\n }\n }\n\n &__submit-icon {\n @include at-media(\"mobile-lg\") {\n display: none;\n }\n\n @media (forced-colors: active) {\n display: none;\n }\n }\n}\n\n.usa-search--big {\n $height: units(6);\n\n [type=\"search\"],\n .usa-search__input {\n @include at-media(\"mobile-lg\") {\n font-size: font-size($theme-search-font-family, \"sm\");\n height: $height;\n }\n }\n\n [type=\"submit\"],\n .usa-search__submit {\n @include at-media(\"mobile-lg\") {\n @include u-padding-x(4);\n font-size: font-size($theme-search-font-family, \"lg\");\n height: $height;\n width: auto;\n }\n }\n}\n\n.usa-search--small {\n [type=\"submit\"],\n .usa-search__submit {\n @include u-padding-x(1.5);\n min-width: units($theme-button-small-width);\n }\n\n [type=\"submit\"] {\n @media (forced-colors: active) {\n &::before {\n @include at-media(\"mobile-lg\") {\n content: \"\";\n }\n }\n }\n }\n\n .usa-search__submit-icon {\n @include u-square(3);\n display: block;\n\n @media (forced-colors: active) {\n display: none;\n }\n }\n}\n\n// Extra specificity to override rules set in normalize.css.\ninput[type=\"search\"] {\n /* stylelint-disable-line selector-no-qualifying-type */\n box-sizing: border-box;\n appearance: none;\n}\n\n[type=\"search\"],\n.usa-search__input {\n @include u-padding-y(0);\n border-bottom-right-radius: 0;\n border-right: none;\n border-top-right-radius: 0;\n box-sizing: border-box;\n float: left;\n font-size: font-size($theme-search-font-family, \"xs\");\n height: units(4);\n margin: 0;\n}\n\n.usa-search__submit-text {\n display: none;\n\n @include at-media(\"mobile-lg\") {\n display: block;\n }\n}\n","@use \"uswds-core\" as *;\n\n$section-context: \"Section\";\n\n.usa-section {\n @include border-box-sizing;\n @include u-padding-y($theme-site-margins-width);\n\n @include at-media(\"tablet\") {\n @include u-padding-y(8);\n }\n}\n\n.usa-section--light {\n background-color: color(\"base-lightest\");\n}\n\n.usa-section--dark {\n background-color: color(\"primary-darker\");\n color: color($theme-text-reverse-color);\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n // TODO: This should use a theme-able color,\n // and should probably default to white\n color: color(\"accent-cool\");\n }\n\n p {\n color: color($theme-text-reverse-color);\n }\n\n a {\n @include set-link-from-bg(\n \"primary-darker\",\n $theme-link-reverse-color,\n $context: $section-context\n );\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-sidenav {\n @include border-box-sizing;\n @include nav-list(\"sidenav\");\n @include typeset($theme-sidenav-font-family, \"sm\", 3);\n border-bottom: units(1px) solid color(\"base-lighter\");\n\n .grid-container & {\n @include u-margin-x(-$theme-site-margins-mobile-width);\n\n @include at-media(\"tablet\") {\n @include u-margin-x(0);\n }\n }\n}\n\n.usa-sidenav__sublist {\n @include nav-sublist;\n font-size: font-size($theme-sidenav-font-family, \"xs\");\n}\n","@use \"sass:math\";\n@use \"uswds-core\" as *;\n\n// Alert variables ---------- //\n$site-alert-icons: (\n info: \"info\",\n emergency: \"error\",\n);\n\n.usa-site-alert {\n .usa-alert {\n @include alert-styles;\n }\n}\n\n@each $name, $icon in $site-alert-icons {\n .usa-site-alert--#{$name} .usa-alert {\n @include alert-status-wrapper-styles($name);\n\n .usa-alert__body {\n @include alert-status-body-styles($name, $icon);\n }\n }\n}\n\n.usa-site-alert--slim .usa-alert {\n @include alert-styles-slim;\n}\n\n.usa-site-alert--no-icon .usa-alert {\n @include alert-styles-no-icon;\n}\n","@use \"uswds-core\" as *;\n\n.usa-skipnav {\n @include border-box-sizing;\n @include typeset;\n @include typeset-link;\n background: transparent;\n left: 0;\n padding: units(1) units(2);\n position: absolute;\n top: -3.8rem; // skipnav link height\n transition: $project-easing;\n z-index: z-index(100);\n\n &:focus,\n &.usa-focus {\n background: color(\"white\");\n left: 0;\n position: absolute;\n top: 0;\n transition: $project-easing;\n }\n}\n\n.usa-skipnav__container {\n position: relative;\n}\n","@use \"sass:math\";\n\n@use \"uswds-core\" as *;\n\n$step-indicator-label-margin-top: 1;\n$step-indicator-margin-bottom: 4;\n$step-indicator-header-margin-top: 4;\n$step-indicator-header-margin-top-sm: 2;\n$step-indicator-segment-height-mobile: 1;\n$step-indicator-counter-size: 5;\n$step-indicator-counter-size-sm: 3;\n\n.usa-step-indicator {\n @include typeset(\n $theme-step-indicator-font-family,\n $theme-step-indicator-label-font-size,\n 2\n );\n background-color: color($step-indicator-background-color);\n margin-bottom: units($step-indicator-margin-bottom);\n margin-left: math.div(units($theme-step-indicator-segment-gap), -2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), -2);\n\n @include at-media($theme-step-indicator-min-width) {\n @include u-margin-x(0);\n }\n}\n\n.usa-step-indicator__segments {\n counter-reset: usa-step-indicator;\n display: flex;\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.usa-step-indicator__segment {\n @include u-flex(\"fill\");\n counter-increment: usa-step-indicator;\n margin-left: math.div(units($theme-step-indicator-segment-gap), 2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), 2);\n max-width: units(\"card-lg\");\n min-height: units($theme-step-indicator-segment-height);\n position: relative;\n\n // Add segment\n &:after {\n background-color: color($theme-step-indicator-segment-color-pending);\n content: \"\";\n display: block;\n // Use a fixed segment height for mobile regardless of settings\n height: units($step-indicator-segment-height-mobile);\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n\n @include at-media($theme-step-indicator-min-width) {\n height: units($theme-step-indicator-segment-height);\n }\n }\n}\n\n.usa-step-indicator__segment--complete {\n &::after {\n background-color: color($theme-step-indicator-segment-color-complete);\n }\n .usa-step-indicator__segment-label {\n color: color($theme-step-indicator-segment-color-complete);\n }\n}\n\n.usa-step-indicator__segment--current {\n &::after {\n background-color: color($theme-step-indicator-segment-color-current);\n }\n .usa-step-indicator__segment-label {\n color: color($theme-step-indicator-segment-color-current);\n font-weight: fw(\"bold\");\n }\n}\n\n.usa-step-indicator__segment-label {\n display: none;\n // Show labels only at the min-width\n @include at-media($theme-step-indicator-min-width) {\n color: color($theme-step-indicator-text-pending-color);\n display: block;\n font-size: size(\n $theme-step-indicator-font-family,\n $theme-step-indicator-label-font-size\n );\n // Add margin based on segment size\n margin-top: calc(\n #{units($theme-step-indicator-segment-height)} + #{units(\n $step-indicator-label-margin-top\n )}\n );\n padding-right: units(4);\n text-align: left;\n }\n}\n\n.usa-step-indicator__header {\n align-items: baseline;\n display: flex;\n}\n\n.usa-step-indicator__heading {\n color: color($theme-step-indicator-heading-color);\n font-family: family($theme-step-indicator-heading-font-family);\n font-size: size(\n $theme-step-indicator-heading-font-family,\n $theme-step-indicator-heading-font-size-small\n );\n font-weight: font-weight(\"bold\");\n margin: units($step-indicator-header-margin-top-sm) 0 0;\n\n @include at-media($theme-step-indicator-min-width) {\n font-size: size(\n $theme-step-indicator-heading-font-family,\n $theme-step-indicator-heading-font-size\n );\n margin-top: units($step-indicator-header-margin-top);\n }\n}\n\n.usa-step-indicator__current-step {\n $step-lh: lh($theme-step-indicator-heading-font-family, 2);\n @include u-circle($step-indicator-counter-size);\n @include u-text(\"normal\", \"tabular\");\n background-color: color($theme-step-indicator-segment-color-current);\n color: color($step-indicator-background-color);\n display: inline-block;\n // Magic number circle centering\n padding: calc(\n (#{units($step-indicator-counter-size)} - (2ex * #{$step-lh})) * 0.5\n );\n text-align: center;\n}\n\n.usa-step-indicator__total-steps {\n @include u-text(\"normal\", \"tabular\");\n color: color($theme-step-indicator-segment-color-current);\n margin-right: units(1);\n}\n\n.usa-step-indicator--counters,\n.usa-step-indicator--counters-sm {\n .usa-step-indicator__segment {\n @include at-media($theme-step-indicator-min-width) {\n $counter-lh: lh($theme-step-indicator-font-family, 1);\n // Remove segment gaps\n @include u-margin-x(0);\n\n // Add extra margin for counter\n @if $theme-step-indicator-counter-gap == 0 {\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size)} -\n #{units($theme-step-indicator-segment-height)}\n ) /\n 2\n )\n );\n } @else {\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size)} -\n #{units($theme-step-indicator-segment-height)}\n ) /\n 2\n ) +\n #{units($theme-step-indicator-counter-gap)}\n );\n }\n\n // Add counter\n &:before {\n @include u-circle($step-indicator-counter-size);\n @include u-text(\"tabular\");\n background-color: color($step-indicator-background-color);\n box-shadow:\n inset 0 0 0 units($theme-step-indicator-counter-border-width)\n color($theme-step-indicator-segment-color-pending),\n 0 0 0 units($theme-step-indicator-counter-gap)\n color($step-indicator-background-color);\n color: color($theme-step-indicator-text-pending-color);\n content: counter(usa-step-indicator);\n display: block;\n font-weight: fw(\"bold\");\n left: 0;\n line-height: lh($theme-step-indicator-font-family, 1);\n // Magic number circle centering\n padding: calc(\n (#{units($step-indicator-counter-size)} - (2ex * #{$counter-lh})) *\n 0.5\n );\n // padding: 1.5ex;\n position: absolute;\n text-align: center;\n top: calc(\n (\n #{units($step-indicator-counter-size)} - #{units(\n $theme-step-indicator-segment-height\n )}\n ) / -2\n );\n z-index: z(100);\n }\n\n &:last-child {\n // Don't show the last segment when counters appear\n &:after {\n display: none;\n }\n }\n }\n }\n\n .usa-step-indicator__segment--complete {\n &::before {\n background-color: color($theme-step-indicator-segment-color-complete);\n box-shadow: 0 0 0 units($theme-step-indicator-counter-gap)\n color($step-indicator-background-color);\n color: color($step-indicator-background-color);\n }\n }\n\n .usa-step-indicator__segment--current {\n &::before {\n background-color: color($theme-step-indicator-segment-color-current);\n box-shadow: 0 0 0 units($theme-step-indicator-counter-gap)\n color($step-indicator-background-color);\n color: color($step-indicator-background-color);\n }\n }\n\n .usa-step-indicator__segment-label {\n @include at-media($theme-step-indicator-min-width) {\n // Add counter margin\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size)} + #{units(\n $theme-step-indicator-segment-height\n )}\n ) / 2\n ) + #{units($step-indicator-label-margin-top)}\n );\n }\n }\n\n // Adjust segments with centered variant\n &.usa-step-indicator--center {\n @include at-media($theme-step-indicator-min-width) {\n .usa-step-indicator__segment {\n &:first-child {\n &:after {\n left: 50%;\n right: 0;\n width: auto;\n }\n }\n\n &:last-child {\n &:after {\n display: block;\n left: 0;\n right: 50%;\n width: auto;\n }\n }\n }\n }\n }\n}\n\n.usa-step-indicator--counters-sm {\n .usa-step-indicator__segment {\n @include at-media($theme-step-indicator-min-width) {\n $counter-lh: lh($theme-step-indicator-font-family, 1);\n // Add extra margin for counter\n @if $theme-step-indicator-counter-gap == 0 {\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size-sm)} -\n #{units($theme-step-indicator-segment-height)}\n ) /\n 2\n )\n );\n } @else {\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size-sm)} -\n #{units($theme-step-indicator-segment-height)}\n ) /\n 2\n ) +\n #{units($theme-step-indicator-counter-gap)}\n );\n }\n\n // Add counter\n &:before {\n @include u-circle($step-indicator-counter-size-sm);\n @include u-font-size($theme-step-indicator-font-family, 3);\n padding: calc(#{units(0.5)} + 1px);\n top: calc(\n (\n #{units($step-indicator-counter-size-sm)} - #{units(\n $theme-step-indicator-segment-height\n )}\n ) / -2\n );\n }\n\n &:last-child {\n // Don't show the last segment when counters appear\n &:after {\n display: none;\n }\n }\n }\n }\n\n .usa-step-indicator__segment-label {\n @include at-media($theme-step-indicator-min-width) {\n // Add counter margin\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size-sm)} + #{units(\n $theme-step-indicator-segment-height\n )}\n ) / 2\n ) + #{units($step-indicator-label-margin-top)}\n );\n }\n }\n}\n\n.usa-step-indicator--no-labels {\n margin-left: math.div(units($theme-step-indicator-segment-gap), -2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), -2);\n\n .usa-step-indicator__segment {\n // Remove extra counter margin\n margin-top: 0;\n // Add gap between segments\n margin-left: math.div(units($theme-step-indicator-segment-gap), 2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), 2);\n\n &:before {\n // Don't show counters\n display: none;\n }\n\n &:last-child {\n // Show last segment\n &:after {\n display: block;\n }\n }\n }\n\n .usa-step-indicator__heading {\n margin-top: units($step-indicator-header-margin-top-sm);\n }\n}\n\n.usa-step-indicator--no-labels {\n .usa-step-indicator__segment-label {\n // Don't show labels, even if they exist\n display: none;\n }\n}\n\n.usa-step-indicator--center {\n margin-left: math.div(units($theme-step-indicator-segment-gap), -2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), -2);\n\n .usa-step-indicator__segment {\n margin-left: math.div(units($theme-step-indicator-segment-gap), 2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), 2);\n\n &:before {\n @if $theme-step-indicator-counter-gap == 0 {\n left: calc(50% - ((#{units($step-indicator-counter-size)}) / 2));\n } @else {\n left: calc(\n 50% -\n (\n (\n #{units($step-indicator-counter-size)} +\n #{units($theme-step-indicator-counter-gap)}\n ) /\n 2\n )\n );\n }\n }\n }\n\n .usa-step-indicator__segment-label {\n // Balance label padding\n @include u-padding-x(1);\n // Center labels\n text-align: center;\n }\n\n &.usa-step-indicator--no-labels {\n .usa-step-indicator__segment {\n // Use full-width segments\n &:first-child {\n &:after {\n left: 0;\n }\n }\n\n &:last-child {\n &:after {\n right: 0;\n }\n }\n }\n }\n\n &.usa-step-indicator--counters-sm {\n .usa-step-indicator__segment {\n &:before {\n @if $theme-step-indicator-counter-gap == 0 {\n left: calc(50% - ((#{units($step-indicator-counter-size-sm)}) / 2));\n } @else {\n left: calc(\n 50% -\n (\n (\n #{units($step-indicator-counter-size-sm)} +\n #{units($theme-step-indicator-counter-gap)}\n ) /\n 2\n )\n );\n }\n }\n }\n }\n}\n","@use \"sass:list\";\n\n@use \"uswds-core\" as *;\n\n$summary-box-context: \"Summary Box\";\n\n.usa-summary-box {\n @include typeset($theme-summary-box-font-family);\n @include border-box-sizing;\n @include set-text-and-bg(\n $theme-summary-box-background-color,\n $theme-summary-box-text-color,\n $context: $summary-box-context\n );\n @include u-radius($theme-summary-box-border-radius);\n border: $theme-summary-box-border-width color($theme-summary-box-border-color)\n solid;\n padding: units(3);\n position: relative;\n\n .usa-list {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n * + & {\n margin-top: units(2);\n }\n}\n\n.usa-summary-box__heading {\n @include typeset($theme-summary-box-font-family, \"lg\", 2);\n margin-top: 0;\n margin-bottom: units(1);\n}\n\n.usa-summary-box__text {\n @include u-margin-y(0);\n}\n\n.usa-summary-box__text:only-child {\n margin-bottom: $theme-summary-box-border-width;\n padding-top: units(0.5);\n}\n\n.usa-summary-box__link {\n @include set-link-from-bg(\n $theme-summary-box-background-color,\n $theme-summary-box-link-color,\n $context: $summary-box-context\n );\n &[href^=\"#\"] {\n $link-tokens: get-link-tokens-from-bg(\n $theme-summary-box-background-color,\n $theme-summary-box-link-color,\n $context: $summary-box-context\n );\n &:visited {\n color: color(list.nth($link-tokens, 1));\n }\n &:hover {\n color: color(list.nth($link-tokens, 2));\n }\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-table {\n @include usa-table;\n}\n\n.usa-table--borderless {\n @include usa-table--borderless;\n}\n\n.usa-table--compact {\n @include usa-table--compact;\n}\n\n.usa-table--striped {\n @include usa-table--striped;\n}\n\n.usa-table--stacked {\n @include at-media-max(\"mobile-lg\") {\n @include table-stacked-styles;\n }\n}\n\n.usa-table--stacked-header {\n @include at-media-max(\"mobile-lg\") {\n @include table-stacked-styles;\n @include table-stacked-header-styles;\n }\n}\n\n.width-mobile {\n .usa-table--stacked {\n @include usa-table--stacked;\n }\n\n .usa-table--stacked-header {\n @include usa-table--stacked-header;\n }\n}\n\n.usa-table--sticky-header {\n @include usa-table--sticky-header;\n}\n\n.usa-table-container--scrollable {\n @include usa-table-container--scrollable;\n}\n","@use \"uswds-core\" as *;\n\n.usa-tag {\n @include border-box-sizing;\n @include u-font(\"ui\", \"2xs\");\n @include u-text(\"white\", \"uppercase\");\n background-color: color(\"base-dark\");\n border-radius: radius(\"sm\");\n margin-right: units(0.5);\n padding: units(1px) units(1);\n\n &:only-of-type {\n margin-right: 0;\n }\n}\n\n.usa-tag--big {\n @include u-padding-x(1);\n @include u-font(\"ui\", $theme-body-font-size);\n}\n","@use \"uswds-core\" as *;\n\n// Variables\n$triangle-size: 5px;\n\n/// Create a spacer to increase target area for tooltip triangle.\n///\n/// @param {String} $direction - The direction of the tooltip; can be top, bottom, left, right.\n///\n/// @example\n/// @include tooltip-spacer(\"top\");\n///\n/// @output\n/// .usa-tooltip__body--top::before {\n/// top: 100%;\n/// height: 5px;\n/// left: 0;\n/// right: 0;\n/// }\n@mixin tooltip-spacer($direction) {\n &::before {\n #{$direction}: 100%;\n\n @if ($direction == \"left\") or ($direction == \"right\") {\n bottom: 0;\n top: 0;\n width: $triangle-size;\n } @else {\n height: $triangle-size;\n left: 0;\n right: 0;\n }\n }\n}\n\n/* Tooltips */\n.usa-tooltip {\n display: inline-block;\n position: relative;\n}\n\n.usa-tooltip__trigger {\n cursor: pointer;\n\n > svg {\n display: block;\n pointer-events: none;\n }\n}\n\n.usa-tooltip__body,\n.usa-tooltip__body--top {\n transition: opacity 0.08s ease-in-out;\n background-color: color($theme-tooltip-background-color);\n border-radius: radius($theme-button-border-radius);\n color: color($theme-tooltip-font-color);\n display: none;\n font-size: size(\"ui\", $theme-tooltip-font-size);\n opacity: 0; // Required for recalculating position.\n padding: units(1);\n width: auto;\n white-space: pre;\n z-index: 100000;\n position: absolute;\n /* positioning is completed with JS */\n\n &::after {\n content: \"\";\n display: block;\n width: 0;\n height: 0;\n border-left: $triangle-size solid transparent;\n border-right: $triangle-size solid transparent;\n border-top: $triangle-size solid color($theme-tooltip-background-color);\n position: absolute;\n bottom: -$triangle-size;\n left: 50%;\n margin-left: -$triangle-size;\n }\n\n // This pseudo element fills the gap between the tooltip trigger and body.\n // Filling this gap allows the tooltip to stay open when the pointer moves\n // from the tooltip trigger to the body.\n &::before {\n content: \"\";\n display: block;\n position: absolute;\n }\n}\n\n.usa-tooltip__body--wrap {\n width: 100%;\n white-space: normal;\n text-align: center;\n min-width: calc(100vw / 2);\n}\n\n.usa-tooltip__body.is-set {\n display: block;\n}\n\n.usa-tooltip__body.is-visible {\n opacity: 1;\n}\n\n.usa-tooltip__body--top {\n @include tooltip-spacer(\"top\");\n}\n\n.usa-tooltip__body--bottom {\n @include tooltip-spacer(\"bottom\");\n\n &::after {\n border-left: $triangle-size solid transparent;\n border-right: $triangle-size solid transparent;\n border-bottom: $triangle-size solid color($theme-tooltip-background-color);\n border-top: 0;\n bottom: auto;\n top: -$triangle-size;\n }\n}\n\n.usa-tooltip__body--right {\n @include tooltip-spacer(\"right\");\n\n &::after {\n border-top: $triangle-size solid transparent;\n border-bottom: $triangle-size solid transparent;\n border-right: $triangle-size solid color($theme-tooltip-background-color);\n border-left: 0;\n right: auto;\n top: 50%;\n bottom: 0;\n left: -$triangle-size;\n margin: -$triangle-size 0 0 0;\n }\n}\n\n.usa-tooltip__body--left {\n @include tooltip-spacer(\"left\");\n\n &::after {\n border-top: $triangle-size solid transparent;\n border-bottom: $triangle-size solid transparent;\n border-left: $triangle-size solid color($theme-tooltip-background-color);\n border-right: 0;\n right: -$triangle-size;\n top: 50%;\n bottom: 0;\n left: auto;\n margin: -$triangle-size 0 0 0;\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-character-count__status {\n display: inline-block;\n padding-top: units(0.5);\n\n &.usa-character-count__status--invalid {\n color: color(\"error-dark\");\n font-weight: font-weight(\"bold\");\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-input {\n @extend %block-input-general;\n @extend %block-input-styles;\n\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include u-disabled;\n @include u-disabled-high-contrast-border;\n // Fix for Safari\n -webkit-text-fill-color: color(\"disabled-dark\");\n }\n}\n\n.usa-input--error {\n @include u-border($theme-input-state-border-width, \"error-dark\");\n padding-top: calc(#{units(1)} - #{units($theme-input-state-border-width)});\n padding-bottom: calc(#{units(1)} - #{units($theme-input-state-border-width)});\n}\n\n.usa-input--success {\n @include u-border($theme-input-state-border-width, \"success\");\n padding-top: calc(#{units(1)} - #{units($theme-input-state-border-width)});\n padding-bottom: calc(#{units(1)} - #{units($theme-input-state-border-width)});\n}\n","@use \"uswds-core\" as *;\n\n.usa-fieldset {\n @extend %block-input-general;\n border: none;\n margin: 0;\n padding: 0;\n}\n","@use \"uswds-core\" as *;\n\n.usa-legend {\n @include typeset(\n $theme-form-font-family,\n $theme-body-font-size,\n $theme-input-line-height\n );\n display: block;\n font-weight: font-weight(\"normal\");\n margin-top: units(3);\n max-width: units($theme-input-max-width);\n}\n\n.usa-legend--large {\n font-size: font-size($theme-form-font-family, \"xl\");\n font-weight: font-weight(\"bold\");\n margin-top: units(2);\n}\n","@use \"uswds-core\" as *;\n\n@include override-prose {\n .usa-input-list {\n @include add-list-reset;\n\n li {\n line-height: line-height(\n $theme-form-font-family,\n $theme-input-line-height\n );\n }\n }\n}\n","@use \"sass:color\";\n@use \"sass:list\";\n\n@use \"../../functions\" as *;\n@use \"../../settings\" as *;\n@use \"../../variables/border-high-contrast\" as *;\n@use \"../general/add-background-svg\" as *;\n@use \"format-input\" as *;\n@use \"format-label\" as *;\n\n@mixin checkbox-colors($args...) {\n @include -checkbox-and-radio-colors($input-type: \"checkbox\", $args...);\n}\n\n@mixin radio-colors($args...) {\n @include -checkbox-and-radio-colors($input-type: \"radio\", $args...);\n}\n\n// Applies active state colors to tile variant backgrounds and borders.\n// Used by :checked checkbox and radio labels as well as :indeterminate checkboxes.\n//\n// @parameter $input-active-color - active input color determined by -checkbox-and-radio-colors mixin.\n@mixin active-tile-colors($input-active-color) {\n background-color: color.adjust(color($input-active-color), $alpha: -0.9);\n border-color: color($input-active-color);\n\n @media (forced-colors: active) {\n border: ButtonText solid units(\"05\");\n }\n}\n\n// Applies active state colors to input backgrounds and borders.\n// Used by :checked checkbox and radio inputs as well as :indeterminate checkboxes.\n//\n// @parameter $input-active-color - active input color determined by -checkbox-and-radio-colors mixin.\n@mixin active-input-colors($input-active-color) {\n background-color: color($input-active-color);\n box-shadow: 0 0 0 units($theme-input-select-border-width)\n color($input-active-color);\n}\n\n@mixin -checkbox-and-radio-colors(\n $bg-color: $theme-input-background-color,\n $selected-color: \"default\",\n $input-type: null\n) {\n $input-text-color: get-color-token-from-bg($bg-color);\n $input-text-color-disabled: get-color-token-from-bg(\n $bg-color,\n \"disabled\",\n \"gray-50\"\n );\n $input-bg-color: if(\n $bg-color == \"default\",\n $theme-body-background-color,\n $bg-color\n );\n $input-active-color: list.nth(\n get-link-tokens-from-bg($bg-color, $preferred-link-token: $selected-color),\n 1\n );\n $input-border-alpha: -0;\n $tile-border-color: color(\"gray-20\");\n $tile-border-color--disabled: color(\"gray-10\");\n $tile-box-shadow--disabled: 0 0 0 units($theme-input-select-border-width)\n color($input-text-color-disabled);\n $input-darkmode: if(\n color.lightness(color($input-bg-color)) < 50%,\n true,\n false\n );\n $input-checkmark: if($input-darkmode, \"correct8-alt\", \"correct8\");\n $input-indeterminate: if(\n $input-darkmode,\n \"checkbox-indeterminate-alt\",\n \"checkbox-indeterminate\"\n );\n\n .usa-#{$input-type} {\n background: color($input-bg-color);\n }\n\n .usa-#{$input-type}__label {\n color: color($input-text-color);\n\n &::before {\n background: color($input-bg-color);\n box-shadow: 0 0 0 units($theme-input-select-border-width)\n color.adjust(color($input-text-color), $alpha: $input-border-alpha);\n\n @media (forced-colors: active) {\n outline: $border-high-contrast;\n outline-offset: 2px;\n }\n }\n }\n .usa-#{$input-type}__input {\n &:checked {\n @include format-input {\n @include active-input-colors($input-active-color);\n }\n }\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include format-label {\n color: color($input-text-color-disabled);\n cursor: not-allowed;\n\n @media (forced-colors: active) {\n color: GrayText;\n }\n }\n @include format-input {\n background-color: color($input-bg-color);\n box-shadow: $tile-box-shadow--disabled;\n }\n }\n &--tile {\n @include format-label {\n background-color: color($input-bg-color);\n border: units($theme-input-tile-border-width) solid $tile-border-color;\n color: color($input-text-color);\n }\n &:checked {\n @include format-label {\n @include active-tile-colors($input-active-color);\n }\n }\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include format-label {\n border-color: $tile-border-color--disabled;\n }\n\n &:checked,\n &:indeterminate,\n &[data-indeterminate] {\n @include format-label {\n background-color: color($input-bg-color);\n }\n }\n }\n }\n }\n\n @if $input-type == \"checkbox\" {\n .usa-checkbox__input {\n // Adding indeterminate styles here avoids style conflicts from setting in .usa-#{$input-type}__input due to\n // radio buttons receiving :indeterminate state when none are selected.\n &:indeterminate,\n &[data-indeterminate] {\n @include format-input {\n @include add-background-svg($input-indeterminate);\n @include active-input-colors($input-active-color);\n background-position: center center;\n background-size: units(1.5) auto;\n\n @media (forced-colors: active) {\n @include add-background-svg(\"checkbox-indeterminate-alt\");\n background-color: color(SelectedItem);\n }\n }\n\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include format-input {\n box-shadow: $tile-box-shadow--disabled;\n }\n\n @include format-label {\n border-color: $tile-border-color--disabled;\n }\n }\n }\n &--tile {\n &:indeterminate,\n &[data-indeterminate] {\n @include format-label {\n @include active-tile-colors($input-active-color);\n }\n }\n }\n &:checked,\n &:checked:disabled,\n &:checked[aria-disabled=\"true\"] {\n @include format-input {\n @include add-background-svg($input-checkmark);\n }\n\n @media (forced-colors: active) {\n @include format-input {\n @include add-background-svg(\"correct8-alt\");\n }\n }\n }\n &:checked:disabled,\n &:checked[aria-disabled=\"true\"],\n &:indeterminate:disabled,\n &:indeterminate[aria-disabled=\"true\"],\n &[data-indeterminate]:disabled,\n &[data-indeterminate][aria-disabled=\"true\"] {\n @include format-input {\n background-color: color($input-text-color-disabled);\n @media (forced-colors: active) {\n background-color: color(GrayText);\n }\n }\n }\n }\n }\n\n @if $input-type == \"radio\" {\n .usa-radio__input {\n &:checked {\n @include format-input {\n box-shadow:\n 0 0 0 units($theme-input-select-border-width)\n color($input-active-color),\n inset 0 0 0 units($theme-input-select-border-width)\n color($input-bg-color);\n\n @media (forced-colors: active) {\n background-color: ButtonText;\n }\n }\n }\n &:checked:disabled,\n &:checked[aria-disabled=\"true\"] {\n @include format-input {\n background-color: color($input-text-color-disabled);\n box-shadow:\n 0 0 0 2px color($input-text-color-disabled),\n inset 0 0 0 2px color($input-bg-color);\n\n @media (forced-colors: active) {\n background-color: color(GrayText);\n }\n }\n }\n }\n }\n}\n","@mixin format-input {\n & + [class*=\"__label\"]::before {\n @content;\n }\n}\n","@mixin format-label {\n & + [class*=\"__label\"] {\n @content;\n }\n}\n","@use \"sass:math\";\n\n@use \"uswds-core\" as *;\n\n@include checkbox-colors;\n\n.usa-checkbox__input {\n // The actual input element is only visible to screen readers, because\n // all visual styling is done via the label.\n @include sr-only();\n\n &:focus {\n @include format-input {\n @include focus-outline(null, null, null, 0.5);\n }\n }\n\n // Checkboxes and radios with tap-friendly targets\n &--tile {\n @include format-label {\n border-radius: radius($theme-input-tile-border-radius);\n margin-top: units(1);\n padding: units(1.5) units(2) units(1.5) units(5);\n\n &::before {\n left: units(5) - units($input-select-margin-right) - units(\n $theme-input-select-size\n );\n }\n }\n }\n}\n\n.usa-checkbox__input {\n &:checked {\n @include format-input {\n background-position: center center;\n background-size: units(1.5) auto;\n @media print {\n background-image: none;\n background-color: color(\"white\");\n content: \"\\2714\";\n text-align: center;\n }\n\n @media (forced-colors: active) {\n background-color: color(SelectedItem);\n }\n }\n }\n}\n\n.usa-checkbox__label {\n @extend %block-input-general;\n cursor: pointer;\n display: inherit;\n font-weight: font-weight(\"normal\");\n margin-top: units(1.5);\n padding-left: units($input-select-margin-right) +\n units($theme-input-select-size);\n position: relative;\n\n &::before {\n content: \" \";\n display: block;\n left: 0;\n margin-left: units($theme-input-select-border-width);\n margin-top: math.div(\n (\n line-height($theme-form-font-family, $theme-input-line-height) *\n font-size($theme-form-font-family, $theme-body-font-size) - units(\n $theme-input-select-size\n )\n ),\n 2\n );\n position: absolute;\n }\n}\n\n.usa-checkbox__label::before {\n @include u-square($theme-input-select-size);\n border-radius: radius($theme-checkbox-border-radius);\n}\n\n.usa-checkbox__label-description {\n display: block;\n font-size: size(\"ui\", \"2xs\");\n margin-top: units(1);\n}\n\n// Test code for scoped custom colors\n/*\n.checkbox-tests {\n @include set-text-and-bg(\"green-80\");\n @include checkbox-colors(\"green-80\", \"green-warm-10v\");\n padding: units(2);\n border-radius: radius(\"md\");\n}\n*/\n","@use \"uswds-core\" as *;\n\n.usa-select {\n @extend %block-input-general;\n @extend %block-input-styles;\n @include add-background-svg(\"usa-icons/unfold_more\");\n appearance: none;\n background-color: color(\"white\");\n background-position: right units(1) center;\n background-size: units(2.5);\n padding-right: units(4);\n\n &::-ms-expand {\n display: none;\n }\n\n // Show default webkit style on select element when autofilled to show icon\n &:-webkit-autofill {\n appearance: menulist;\n }\n\n // Remove dotted outline from select element on focus in Firefox\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 color(\"black\");\n }\n\n &[multiple] {\n height: auto;\n background-image: none;\n padding-right: 0;\n }\n\n option {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include u-disabled;\n @include u-disabled-high-contrast-border;\n }\n\n // Necessary to show chevron in forced colors mode in modern browsers\n @media (forced-colors: active) {\n appearance: listbox; // Default \n [type=\"search\"] {\n min-width: 0; // Fix a Firefox display quirk\n }\n\n + .usa-hero {\n @include at-media($theme-header-min-width) {\n border-top: units(1px) solid color(\"white\");\n }\n }\n\n + .usa-section,\n + main {\n @include at-media($theme-header-min-width) {\n border-top: units(1px) solid color(\"base-lighter\");\n }\n }\n}\n\n.usa-logo {\n @include at-media-max($theme-header-min-width) {\n @include u-flex(\"fill\");\n font-size: font-size($theme-header-font-family, \"2xs\");\n line-height: line-height($theme-header-font-family, 1);\n margin-left: units($theme-site-margins-mobile-width);\n }\n\n @include at-media($theme-header-min-width) {\n margin-top: units(4);\n margin-bottom: units(2);\n font-size: font-size($theme-header-font-family, \"lg\");\n line-height: line-height($theme-header-font-family, 2);\n }\n\n a {\n color: color(\"ink\");\n text-decoration: none;\n }\n}\n\n.usa-logo__text {\n display: block;\n font-style: normal;\n font-weight: font-weight(\"bold\");\n margin: 0;\n}\n\n.usa-menu-btn {\n @include button-unstyled;\n @include u-flex(\"auto\");\n @include u-padding-x(1.5);\n background-color: color(\"primary\");\n color: color(\"white\");\n font-size: font-size($theme-header-font-family, \"3xs\");\n height: units($size-touch-target);\n text-align: center;\n text-decoration: none;\n text-transform: uppercase;\n\n @include at-media($theme-header-min-width) {\n display: none;\n }\n\n &:hover {\n background-color: color(\"primary-dark\");\n color: color(\"white\");\n text-decoration: none;\n }\n\n &:active {\n color: color(\"white\");\n }\n\n &:visited {\n color: color(\"white\");\n }\n}\n\n.usa-overlay {\n @include u-pin(\"all\");\n position: fixed;\n background: color(\"black-transparent-70\");\n opacity: opacity(0);\n transition: opacity $project-easing;\n visibility: hidden;\n z-index: z-index($z-index-overlay);\n\n &.is-visible {\n opacity: opacity(100);\n visibility: visible;\n }\n}\n\n// usa-header--basic\n// ---------------------------------\n\n.usa-header--basic {\n @include at-media($theme-header-min-width) {\n .usa-navbar {\n position: relative;\n width: $theme-header-logo-text-width; // TODO: review this more\n }\n\n .usa-nav {\n @include u-flex(\"row\", \"align-center\", \"justify-end\");\n display: flex;\n padding: 0 0 units(0.5) units(1);\n width: 100%;\n }\n\n .usa-nav-container {\n @include u-flex(\"align-end\", \"justify\");\n display: flex;\n }\n\n .usa-nav__primary-item > .usa-current,\n .usa-nav__link:hover {\n @include nav-border-basic;\n }\n\n // Don't show extended border if dropdown is active.\n .usa-nav__link[aria-expanded=\"true\"]::after,\n .usa-nav__link[aria-expanded=\"true\"]:hover::after {\n display: none;\n }\n\n .usa-nav__primary {\n width: auto;\n }\n\n // Issue #3401: last dropdown gets cutoff.\n .usa-nav__primary-item:last-of-type {\n position: relative;\n\n .usa-nav__submenu {\n @include u-pin-right;\n }\n }\n\n .usa-search {\n top: 0;\n }\n }\n\n &.usa-header--megamenu {\n .usa-nav__inner {\n display: flex;\n flex-direction: column;\n\n @include at-media($theme-header-min-width) {\n display: block;\n float: right;\n margin-top: units(-5);\n }\n }\n\n .usa-nav__primary-item:last-of-type {\n @include at-media($theme-header-min-width) {\n position: static;\n }\n }\n }\n}\n\n// usa-header--extended\n// ---------------------------------\n\n.usa-header--extended {\n @include at-media($theme-header-min-width) {\n padding-top: 0;\n\n .usa-nav__primary-item > .usa-current,\n .usa-nav__primary-item > .usa-nav__link:hover {\n @include nav-border-extended;\n }\n\n // Don't show extended border if dropdown is active.\n .usa-nav__link[aria-expanded=\"true\"]::after,\n .usa-nav__link[aria-expanded=\"true\"]:hover::after {\n display: none;\n }\n }\n\n .usa-logo {\n @include at-media($theme-header-min-width) {\n font-size: font-size($theme-header-font-family, \"xl\");\n margin: units(4) 0 units(3);\n max-width: $theme-header-logo-text-width;\n }\n }\n\n .usa-navbar {\n @include at-media($theme-header-min-width) {\n @include grid-container($theme-header-max-width);\n display: block;\n height: auto;\n overflow: auto;\n }\n }\n\n .usa-nav {\n @include at-media($theme-header-min-width) {\n border-top: units(1px) solid color(\"base-lighter\");\n padding: 0;\n width: 100%;\n }\n }\n\n .usa-nav__inner {\n @include at-media($theme-header-min-width) {\n @include grid-container($theme-header-max-width);\n position: relative;\n }\n }\n\n .usa-nav__primary {\n @include at-media($theme-header-min-width) {\n @include clearfix;\n margin-left: units(-2);\n }\n }\n\n .usa-nav__link {\n @include at-media($theme-header-min-width) {\n @include u-padding-y(2);\n }\n }\n\n .usa-nav__submenu {\n .usa-grid-full {\n @include at-media($theme-header-min-width) {\n padding-left: units(1.5);\n }\n }\n }\n\n .usa-nav__submenu.usa-megamenu {\n @include at-media($theme-header-min-width) {\n left: 0;\n padding-left: units($theme-site-margins-width);\n padding-right: units($theme-site-margins-width);\n }\n }\n}\n\n// [uswds-init.js] Offscreen content while js is loading\nhtml.usa-js-loading {\n .usa-nav__submenu,\n .usa-nav__submenu.usa-megamenu {\n @include add-sr-only;\n }\n}\n","@mixin clearfix {\n &::after {\n clear: both;\n content: \"\";\n display: block;\n }\n}\n","@use \"settings-general\" as general;\n\n/*\n* * * * * ==============================\n* * * * * ==============================\n* * * * * ==============================\n* * * * * ==============================\n========================================\n========================================\n========================================\n----------------------------------------\nCOMPONENT SETTINGS\n----------------------------------------\nRead more about settings and\nUSWDS style tokens in the documentation:\nhttps://designsystem.digital.gov/design-tokens\n----------------------------------------\n*/\n\n// Accordion\n$theme-accordion-background-color: \"default\" !default;\n$theme-accordion-border-color: \"base-lightest\" !default;\n$theme-accordion-border-width: 0.5 !default;\n$theme-accordion-button-background-color: \"base-lightest\" !default;\n$theme-accordion-font-family: \"body\" !default;\n\n// Alert\n$theme-alert-bar-width: 1 !default;\n$theme-alert-font-family: \"ui\" !default;\n$theme-alert-icon-size: 4 !default;\n$theme-alert-padding-x: 2.5 !default;\n$theme-alert-padding-y: 2 !default;\n$theme-alert-text-color: default !default;\n$theme-alert-text-reverse-color: default !default;\n$theme-alert-link-color: default !default;\n$theme-alert-link-reverse-color: default !default;\n\n// Banner\n$theme-banner-background-color: \"base-lightest\" !default;\n$theme-banner-font-family: \"ui\" !default;\n$theme-banner-link-color: default !default;\n$theme-banner-max-width: \"desktop\" !default;\n\n// Breadcrumb\n$theme-breadcrumb-background-color: \"default\" !default;\n$theme-breadcrumb-font-size: \"sm\" !default;\n$theme-breadcrumb-font-family: \"body\" !default;\n$theme-breadcrumb-link-color: default !default;\n$theme-breadcrumb-min-width: \"mobile-lg\" !default;\n$theme-breadcrumb-padding-bottom: 2 !default;\n$theme-breadcrumb-padding-top: 2 !default;\n$theme-breadcrumb-padding-x: 0 !default;\n$theme-breadcrumb-separator-color: \"base\" !default;\n\n// Button\n$theme-button-border-radius: \"md\" !default;\n$theme-button-font-family: \"ui\" !default;\n$theme-button-icon-gap: 1 !default;\n$theme-button-small-width: 6 !default;\n$theme-button-stroke-width: 2px !default;\n\n// Card\n$theme-card-border-color: \"base-lighter\" !default;\n$theme-card-border-radius: \"lg\" !default;\n$theme-card-border-width: 2px !default;\n$theme-card-gap: 2 !default;\n$theme-card-flag-min-width: \"tablet\" !default;\n$theme-card-flag-image-width: \"card-lg\" !default;\n$theme-card-font-family: \"body\" !default;\n$theme-card-header-typeset: \"heading\", \"lg\", 2 !default;\n$theme-card-margin-bottom: 4 !default;\n$theme-card-padding-perimeter: 3 !default;\n$theme-card-padding-y: 2 !default;\n\n// Collection\n$theme-collection-font-family: \"ui\" !default;\n$theme-collection-header-typeset: \"ui\", \"md\", 3 !default;\n\n// Footer\n$theme-footer-font-family: \"body\" !default;\n$theme-footer-max-width: \"desktop\" !default;\n\n// Form and input\n$theme-checkbox-border-radius: \"sm\" !default;\n$theme-form-font-family: \"ui\" !default;\n$theme-input-background-color: default !default;\n$theme-input-line-height: 3 !default;\n$theme-input-max-width: \"mobile-lg\" !default;\n$theme-input-select-border-width: 2px !default;\n$theme-input-select-size: 2.5 !default;\n$theme-input-state-border-width: 0.5 !default;\n$theme-input-tile-border-radius: \"md\" !default;\n$theme-input-tile-border-width: 2px !default;\n\n// Header\n$theme-header-font-family: \"ui\" !default;\n$theme-header-logo-text-width: 33% !default;\n$theme-header-max-width: \"desktop\" !default;\n$theme-header-min-width: \"desktop\" !default;\n\n// Hero\n$theme-hero-image: \"#{general.$theme-image-path}/hero.jpg\" !default;\n\n// Icon List\n$theme-icon-list-font-family: \"body\" !default;\n$theme-icon-list-title-font-family: \"heading\" !default;\n\n// Identifier\n$theme-identifier-background-color: \"base-darkest\" !default;\n$theme-identifier-font-family: \"ui\" !default;\n$theme-identifier-identity-domain-color: \"base-light\" !default;\n$theme-identifier-max-width: \"desktop\" !default;\n$theme-identifier-primary-link-color: default !default;\n$theme-identifier-secondary-link-color: \"base-light\" !default;\n\n// In-Page Navigation\n$theme-in-page-nav-background-color: \"default\" !default;\n$theme-in-page-nav-background-padding: 2 !default;\n$theme-in-page-nav-background-radius: \"lg\" !default;\n$theme-in-page-nav-bar-color: \"default\" !default;\n$theme-in-page-nav-bar-width: \"05\" !default;\n$theme-in-page-nav-font-family: \"ui\" !default;\n$theme-in-page-nav-link-color: \"default\" !default;\n$theme-in-page-nav-main-content-max-width: \"desktop\" !default;\n$theme-in-page-nav-margin-left: 4 !default;\n$theme-in-page-nav-margin-top: 2.5 !default;\n$theme-in-page-nav-top: 4 !default;\n\n// Link\n$theme-external-link-sr-label-tab-new: \"External, opens in a new tab.\" !default;\n$theme-external-link-sr-label-tab-same: \"External.\" !default;\n\n// Modal\n$theme-modal-border-radius: \"lg\" !default;\n$theme-modal-default-max-width: \"mobile-lg\" !default;\n$theme-modal-lg-content-max-width: \"tablet\" !default;\n$theme-modal-lg-max-width: \"tablet-lg\" !default;\n\n// Pagination\n$theme-pagination-background-color: \"default\" !default;\n$theme-pagination-breakpoint: \"tablet\" !default;\n$theme-pagination-button-border-radius: \"md\" !default;\n$theme-pagination-button-border-width: 1px !default;\n$theme-pagination-font-family: \"ui\" !default;\n\n// Process List\n$theme-process-list-counter-background-color: \"white\" !default;\n$theme-process-list-counter-border-color: \"ink\" !default;\n$theme-process-list-counter-border-width: 0.5 !default;\n$theme-process-list-counter-font-family: \"ui\" !default;\n$theme-process-list-counter-font-size: \"lg\" !default;\n$theme-process-list-counter-gap-color: \"white\" !default;\n$theme-process-list-counter-gap-width: 0.5 !default;\n$theme-process-list-counter-size: 5 !default;\n$theme-process-list-counter-text-color: \"ink\" !default;\n$theme-process-list-connector-color: \"primary-lighter\" !default;\n$theme-process-list-connector-width: 1 !default;\n$theme-process-list-font-family: \"ui\" !default;\n$theme-process-list-font-size: \"sm\" !default;\n$theme-process-list-heading-color: \"ink\" !default;\n$theme-process-list-heading-font-family: \"ui\" !default;\n$theme-process-list-heading-font-size: \"lg\" !default;\n\n// Navigation\n$theme-navigation-font-family: \"ui\" !default;\n$theme-megamenu-columns: 3 !default;\n\n// Search\n$theme-search-font-family: \"ui\" !default;\n$theme-search-min-width: 27ch !default;\n\n// Sidenav\n$theme-sidenav-current-border-width: 0.5 !default;\n$theme-sidenav-font-family: \"ui\" !default;\n$theme-sidenav-reorder: false !default;\n\n// Site Alert\n$theme-site-alert-max-width: \"desktop\" !default;\n\n// Step indicator\n$step-indicator-background-color: \"white\" !default;\n$theme-step-indicator-counter-gap: 0.5 !default;\n$theme-step-indicator-counter-border-width: 0.5 !default;\n$theme-step-indicator-font-family: \"ui\" !default;\n$theme-step-indicator-heading-color: \"ink\" !default;\n$theme-step-indicator-heading-font-family: \"ui\" !default;\n$theme-step-indicator-heading-font-size: \"lg\" !default;\n$theme-step-indicator-heading-font-size-small: \"md\" !default;\n$theme-step-indicator-label-font-size: \"sm\" !default;\n$theme-step-indicator-min-width: \"tablet\" !default;\n$theme-step-indicator-segment-color-pending: \"gray-40\" !default;\n$theme-step-indicator-segment-color-complete: \"primary-darker\" !default;\n$theme-step-indicator-segment-color-current: \"primary\" !default;\n$theme-step-indicator-segment-gap: 2px !default;\n$theme-step-indicator-segment-height: 1 !default;\n$theme-step-indicator-text-pending-color: \"base-dark\" !default;\n\n// Summary box\n$theme-summary-box-background-color: \"info-lighter\" !default;\n$theme-summary-box-border-color: \"info-light\" !default;\n$theme-summary-box-border-width: 1px !default;\n$theme-summary-box-border-radius: \"md\" !default;\n$theme-summary-box-font-family: \"ui\" !default;\n$theme-summary-box-link-color: default !default;\n$theme-summary-box-text-color: default !default;\n\n// Table\n$theme-table-background-color: default !default;\n$theme-table-border-color: \"ink\" !default;\n$theme-table-header-background-color: \"base-lighter\" !default;\n$theme-table-header-text-color: default !default;\n$theme-table-stripe-background-color: \"base-lightest\" !default;\n$theme-table-stripe-text-color: default !default;\n$theme-table-text-color: default !default;\n$theme-table-sorted-header-background-color: \"accent-cool-light\" !default;\n$theme-table-sorted-background-color: \"accent-cool-lighter\" !default;\n$theme-table-sorted-stripe-background-color: \"blue-cool-10v\" !default;\n$theme-table-sorted-icon-color: default !default;\n$theme-table-sticky-top-offset: -1px !default;\n$theme-table-unsorted-icon-color: \"base\" !default;\n\n// Tooltips\n$theme-tooltip-background-color: \"ink\" !default;\n$theme-tooltip-font-color: \"base-lightest\" !default;\n$theme-tooltip-font-size: \"xs\" !default;\n","@use \"../../functions\" as *;\n\n@mixin add-bar(\n $weight: 1,\n $color: \"ink\",\n $side: \"left\",\n $radius: 0,\n $offset-x: 0,\n $offset-y: 0\n) {\n $weight: if($weight == null, 1, $weight);\n $color: if($color == null, \"ink\", $color);\n $side: if($side == null, \"left\", $side);\n $radius: if($radius == null, 0, $radius);\n $offset-x: if($offset-x == null, 0, $offset-x);\n $offset-y: if($offset-y == null, 0, $offset-y);\n\n position: relative;\n\n &::after {\n background-color: color($color);\n border-radius: radius($radius);\n content: \"\";\n display: block;\n position: absolute;\n\n @if $side == (\"left\" or \"right\") {\n bottom: units($offset-y);\n top: units($offset-y);\n width: units($weight);\n #{unquote($side)}: units($offset-x);\n } @else {\n height: units($weight);\n left: units($offset-x);\n right: units($offset-x);\n #{unquote($side)}: units($offset-y);\n\n @media (forced-colors: active) {\n background-color: ButtonText;\n }\n }\n }\n}\n\n@mixin remove-bar {\n &::after {\n display: none;\n }\n}\n","@use \"sass:math\";\n@use \"sass:meta\";\n@use \"uswds-core\" as *;\n\n// Calculate the width of the outer megamenu pseudo elements\n@mixin outer-megamenu($header-max-width: $theme-header-max-width, $type) {\n @include u-pin(\"y\");\n background-color: color(\"primary-darker\");\n content: \"\";\n display: block;\n position: absolute;\n\n // Set variable for submenu max width\n $mw: smart-quote($header-max-width);\n @if meta.type-of($header-max-width) == \"string\" {\n // Retrieve the unit equivalent for submenu max width\n $mw: units($header-max-width);\n }\n\n // Create the vw equivalent for max-width:none\n @if $header-max-width == \"none\" {\n $mw: 100vw;\n }\n\n // Calculate pseudo element width\n // Subtract half the submenu width from half the viewport width\n @if $type == \"standard\" {\n // Add theme margin width to match padding in .usa-nav-container\n width: calc(50vw - $mw / 2 + units($theme-site-margins-width));\n } @else if $type == \"extended\" {\n width: calc(50vw - $mw / 2);\n }\n}\n\n.usa-megamenu {\n .usa-col {\n // Flex grow to take up available width.\n // Flex shrink so long nav lines don't extend beyond viewport.\n // Finally `flex-basis: auto` for IE11.\n flex: 1 1 auto;\n\n @include at-media($theme-header-min-width) {\n // needs this round() to avoid a compile bug\n @include u-flex(math.round(math.div(12, $theme-megamenu-columns)));\n\n .usa-nav__submenu-item a {\n @include u-padding-x(1);\n }\n\n // Remove padding from first and last columns on desktop view.\n &:first-child .usa-nav__submenu-item a {\n padding-left: 0;\n }\n &:last-child .usa-nav__submenu-item a {\n padding-right: 0;\n }\n }\n }\n}\n\n.usa-megamenu.usa-nav__submenu {\n @include at-media($theme-header-min-width) {\n @include u-padding-x(0);\n @include u-padding-y(4);\n left: -$theme-header-logo-text-width;\n right: 0;\n width: auto;\n }\n\n &::before {\n @include at-media($theme-header-min-width) {\n @include outer-megamenu($type: \"standard\");\n right: 100%;\n }\n }\n\n &::after {\n @include at-media($theme-header-min-width) {\n @include outer-megamenu($type: \"standard\");\n left: 100%;\n }\n }\n}\n\n.usa-header--extended .usa-megamenu.usa-nav__submenu {\n &::before {\n @include at-media($theme-header-min-width) {\n @include outer-megamenu($type: \"extended\");\n }\n }\n\n &::after {\n @include at-media($theme-header-min-width) {\n @include outer-megamenu($type: \"extended\");\n }\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-nav-container {\n @include at-media($theme-header-min-width) {\n @include clearfix;\n @include grid-container($theme-header-max-width);\n @include u-padding-x($theme-site-margins-width);\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-navbar {\n @include border-box-sizing;\n height: units($size-touch-target);\n\n @include at-media-max($theme-header-min-width) {\n @include u-flex(\"align-center\");\n border-bottom: units(1px) solid color(\"base-lighter\");\n display: flex;\n }\n\n @include at-media($theme-header-min-width) {\n border-bottom: none;\n display: inline-block;\n height: auto;\n }\n}\n","@use \"uswds-core\" as *;\n\n// Hero feature\n// ==========================\n\n.usa-hero {\n @include border-box-sizing;\n @include typeset;\n background-image: url(\"#{$theme-hero-image}\");\n background-position: center;\n background-size: cover;\n color: color(\"white\");\n\n > .grid-container {\n position: relative;\n @include u-padding-y($theme-site-margins-width);\n }\n}\n\n.usa-hero__callout {\n background-color: color(\"primary-darker\");\n padding: units(4);\n\n @include at-media(\"tablet\") {\n max-width: units(\"mobile\");\n }\n}\n\n.usa-hero__heading {\n @include typeset-h2;\n color: color(\"accent-cool\");\n line-height: line-height(\"heading\", 2);\n}\n\n.usa-hero__heading--alt {\n color: color(\"white\");\n display: block;\n}\n","@use \"sass:map\";\n\n@use \"uswds-core\" as *;\n\n// Variables\n\n// Size icons based on the theme-type-scale-[size] number and this factor\n$icon-list-icon-size-factor: 1.5;\n// Center the icon to the title text, works for all size variants\n$icon-list-icon-margin-top: -1.5%;\n// Fine tune the space between the icon and content with this factor\n$icon-list-icon-padding-left-factor: 0.4;\n// Fine tune the title top padding given a line height of lh-2\n$icon-list-title-padding-top: 0.425ex;\n\n$type-scale: font-size($theme-icon-list-font-family, $theme-body-font-size);\n\n// Get fixed size for icon, based on non-normalized size token\n$this-system-token: if(\n map.has-key($all-type-scale, $theme-body-font-size),\n map.get($all-type-scale, $theme-body-font-size),\n $theme-body-font-size\n);\n\n$icon-size: px-to-rem($this-system-token);\n\n@include override-prose {\n .usa-icon-list {\n @include typeset($theme-icon-list-font-family, $theme-body-font-size);\n @include unstyled-list;\n @include u-measure(5);\n }\n\n .usa-icon-list__item {\n display: flex;\n position: relative;\n\n & + .usa-icon-list__item {\n padding-top: units(1.5);\n }\n }\n}\n\n// Allow setting icon color on the icon-list element\n.usa-icon-list {\n @each $color, $grades in $all-project-colors {\n @each $grade, $value in $grades {\n @if $value {\n $prefix: if($grade != \"default\", \"#{$color}-#{$grade}\", $color);\n &--#{$prefix} {\n .usa-icon-list__icon {\n color: color($prefix);\n }\n }\n }\n }\n }\n}\n\n.usa-icon-list__icon {\n .usa-icon {\n // Set the height and width of the icon based on the size variant and factor\n // Doesn't use u-square() because of non-token size\n display: block;\n height: $icon-size * $icon-list-icon-size-factor;\n // margin-top: $icon-list-icon-margin-top;\n position: relative;\n width: $icon-size * $icon-list-icon-size-factor;\n }\n}\n\n// Don't resize any block-level element inside content\n.usa-icon-list__content {\n > p,\n > ul,\n > ol {\n @include u-font($theme-icon-list-font-family, $theme-body-font-size);\n @include u-measure(5);\n }\n}\n\n.usa-icon-list[class*=\"usa-icon-list--size-\"] {\n @include u-measure(\"none\");\n}\n\n// Generate responsive variants\n// Create a map for looping that includes a default or no-breakpoint version\n$this-null: (\n \"none\": null,\n);\n$icon-list-breakpoints: map-merge($this-null, $system-breakpoints);\n@each $mq-key, $mq-value in $icon-list-breakpoints {\n // Set the prefix\n // An empty string if \"none\"\n $prefix: false;\n @if $mq-key == \"none\" {\n $prefix: \"\";\n }\n // Or the standard prefix if the breakpoint is output\n @else if map.get($theme-utility-breakpoints-complete, $mq-key) {\n $prefix: \"#{$mq-key}#{$separator}\";\n }\n\n @include at-media($mq-key) {\n @each $token, $val in $all-type-scale {\n @if $prefix {\n $this-type-scale: font-size($theme-icon-list-font-family, $token);\n .#{$prefix}usa-icon-list--size-#{$token} {\n .usa-icon-list__icon {\n .usa-icon {\n // Set the height and width of the icon based on the size variant and factor\n height: $this-type-scale * $icon-list-icon-size-factor;\n width: $this-type-scale * $icon-list-icon-size-factor;\n }\n }\n\n .usa-icon-list__content {\n @include u-measure(5);\n // Resize simple (un-marked up) content\n font-size: size($theme-icon-list-font-family, $token);\n // Calculate the space between the icon and content based on the size variant and factor\n padding-left: $this-type-scale *\n $icon-list-icon-padding-left-factor;\n\n .usa-icon-list__title {\n @include u-font($theme-icon-list-title-font-family, $token);\n }\n }\n }\n }\n }\n }\n}\n\n.usa-icon-list__title {\n @include typeset(\n $theme-icon-list-title-font-family,\n $theme-body-font-size,\n 2\n );\n margin-bottom: units(0);\n padding-top: $icon-list-title-padding-top;\n & + * {\n margin-top: units(1);\n }\n}\n\n.usa-icon-list__content {\n font-size: $type-scale;\n padding-left: $type-scale * $icon-list-icon-padding-left-factor;\n > *:first-child {\n margin-top: 0;\n }\n > *:last-child {\n margin-bottom: 0;\n }\n\n ul li {\n list-style-type: disc;\n }\n}\n","@use \"uswds-core\" as *;\n\n$identifier-context: \"Identifier\";\n$identifier-logo-height: 6;\n$identifier-section-margin-y: 2;\n$identifier-section-margin-y-small: 1;\n$identifier-link-gap: 1.5;\n$identifier-link-gap-desktop: 1;\n$identifier-links-gap: 4 !default;\n\n@mixin identifier-primary-link {\n @include set-link-from-bg(\n $theme-identifier-background-color,\n $theme-identifier-primary-link-color,\n $context: $identifier-context\n );\n}\n\n@mixin identifier-secondary-link {\n @include set-link-from-bg(\n $theme-identifier-background-color,\n $theme-identifier-secondary-link-color,\n $context: $identifier-context\n );\n}\n\n//\n// General Styles\n// =====================================\n.usa-identifier {\n @include typeset($theme-identifier-font-family, \"sm\", 3);\n @include set-text-and-bg(\n $theme-identifier-background-color,\n $context: $identifier-context\n );\n padding-bottom: units(2);\n}\n\n.usa-identifier__container {\n @include grid-container;\n @include u-maxw($theme-identifier-max-width);\n}\n\n.usa-identifier__section {\n @include u-padding-y($identifier-section-margin-y);\n}\n\n.usa-identifier__section--masthead {\n .usa-identifier__container {\n @include at-media(\"tablet\") {\n @include u-align-items(\"align-center\");\n @include u-display(\"flex\");\n }\n }\n}\n\n.usa-identifier__logos {\n display: flex;\n margin-right: units(2);\n}\n\n.usa-identifier__logo {\n @include u-text-decoration(\"no-underline\");\n height: units($identifier-logo-height);\n display: block;\n\n & + .usa-identifier__logo {\n margin-left: units(1);\n }\n}\n\n.usa-identifier__logo-img {\n height: 100%;\n width: auto;\n}\n\n.usa-identifier__identity {\n @include u-flex(\"fill\");\n margin-top: units(2);\n\n @include at-media(\"tablet\") {\n margin-top: units(0);\n }\n}\n\n.usa-identifier__identity-domain,\n.usa-identifier__identity-disclaimer {\n margin: 0;\n padding: 0;\n}\n\n.usa-identifier__identity-domain {\n @include set-text-from-bg(\n $theme-identifier-background-color,\n $theme-identifier-identity-domain-color,\n $context: $identifier-context\n );\n}\n\n.usa-identifier__identity-disclaimer {\n @include u-text(\"bold\");\n\n a {\n @include identifier-primary-link;\n }\n}\n\n.usa-identifier__section--required-links {\n @include at-media(\"tablet\") {\n @include u-padding-y($identifier-section-margin-y-small);\n }\n @include at-media(\"desktop\") {\n @include u-font-size($theme-identifier-font-family, \"xs\");\n }\n}\n\n.usa-identifier__required-links-list {\n @include add-list-reset;\n @include u-margin-y(0);\n\n @include at-media(\"tablet\") {\n column-count: 2;\n column-gap: units($identifier-links-gap);\n column-fill: balance;\n }\n\n @include at-media(\"desktop\") {\n column-count: 4;\n }\n}\n\n.usa-identifier__required-links-item {\n break-inside: avoid;\n margin-bottom: units($identifier-link-gap);\n\n &:last-child {\n margin-bottom: units(0);\n }\n\n @include at-media(\"desktop\") {\n margin-bottom: units($identifier-link-gap-desktop);\n }\n}\n\n.usa-identifier__required-link,\n.usa-identifier__required-link.usa-link {\n @include identifier-secondary-link;\n display: inline-block;\n}\n\n.usa-identifier__section--usagov a {\n @include identifier-primary-link;\n @include u-text(\"bold\");\n display: inline-block;\n margin-top: units(1);\n\n @include at-media(\"tablet\") {\n margin-top: 0;\n }\n}\n\n.usa-identifier__usagov-description {\n @include at-media(\"tablet\") {\n display: inline-flex;\n }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../../functions\" as *;\n@use \"../../tokens\" as *;\n\n// Outputs text-decoration and color properties\n\n@mixin u-text-decoration($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n @each $this-value in $value {\n @if map.has-key($all-color-shortcodes, smart-quote($this-value)) {\n text-decoration-color: color(smart-quote($this-value)) #{$important};\n } @else {\n text-decoration: get-uswds-value(\"text-decoration\", $value...)\n #{$important};\n }\n }\n}\n","@use \"uswds-core\" as *;\n@use \"sass:color\";\n@use \"sass:list\";\n\n.usa-in-page-nav-container {\n align-items: flex-start;\n display: flex;\n\n // Set main landmark max width to ensure in-page nav will fit\n main {\n max-width: units($theme-in-page-nav-main-content-max-width);\n width: 100%;\n }\n}\n\n.usa-in-page-nav {\n @include set-text-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $context: \"In-page navigation text color\"\n );\n display: none;\n margin-left: units($theme-in-page-nav-margin-left);\n margin-top: units($theme-in-page-nav-margin-top);\n max-width: units(\"card-lg\");\n order: 2;\n position: sticky;\n top: units($theme-in-page-nav-top);\n width: 100%;\n\n @include at-media(\"tablet\") {\n display: block;\n }\n}\n\n.usa-in-page-nav__nav {\n @include set-text-and-bg(\n $theme-in-page-nav-background-color,\n $context: \"In-page navigation background\"\n );\n border-radius: radius($theme-in-page-nav-background-radius);\n padding: units($theme-in-page-nav-background-padding);\n}\n\n.usa-in-page-nav__heading {\n // TODO: This could be a setting?\n @include typeset(\"ui\", \"2xs\", 3);\n @include u-font-weight(\"bold\");\n margin-bottom: units(2);\n margin-top: 0;\n padding: 0;\n}\n\n.usa-in-page-nav__list {\n @include border-box-sizing;\n @include nav-list(\"sidenav\");\n border-left: units(1px) solid\n color.adjust(\n color(\n get-color-token-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $context: \"In-page navigation rail\"\n )\n ),\n $alpha: -0.75\n );\n padding: 0;\n\n // specificity to override sidenav styles\n a:not(.usa-button) {\n &:not(.usa-current) {\n @include set-link-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $preferred-link-color: $theme-in-page-nav-link-color,\n $context: \"In-page-navigation link\"\n );\n\n &:visited {\n color: color(\n list.nth(\n get-link-tokens-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $preferred-link-token: $theme-in-page-nav-link-color,\n $context: \"In-page-navigation link\"\n ),\n 1\n )\n );\n }\n }\n\n &.usa-current {\n @include set-text-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $context: \"In-page-navigation current color\"\n );\n font-weight: inherit;\n }\n\n &:hover {\n text-decoration: underline;\n background-color: none;\n }\n\n &.usa-current {\n position: static;\n\n &::after {\n background-color: color(\n get-color-token-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $preferred-text-token: $theme-in-page-nav-bar-color,\n $context: \"In-page navigation bar\"\n )\n );\n border-radius: 0;\n bottom: units(-1px);\n left: 0;\n top: 0;\n width: units($theme-in-page-nav-bar-width);\n z-index: z(100);\n }\n }\n }\n}\n\n.usa-in-page-nav__item {\n @include typeset($theme-in-page-nav-font-family, \"2xs\", 2);\n border: none;\n position: relative;\n\n &--primary {\n @include u-font-weight(\"bold\");\n }\n}\n","@use \"./add-bar\" as *;\n@use \"../../functions\" as *;\n@use \"../../mixins/helpers\" as *;\n@use \"../../mixins/typography/unstyled-list\" as *;\n@use \"../../mixins/utilities\" as *;\n@use \"../../settings\" as *;\n\n$sidenav-level-1-inset: 2;\n$sidenav-level-2-inset: 4;\n$sidenav-level-3-inset: 6;\n$sidenav-level-4-inset: 8;\n\n@mixin nav-list($type) {\n @include unstyled-list();\n\n @if $type == \"sidenav\" {\n &__item {\n border-top: units(1px) solid color(\"base-lighter\");\n }\n }\n\n @if $type == \"nav\" {\n &-item {\n border-top: units(1px) solid color(\"base-lighter\");\n }\n }\n\n a:not(.usa-button) {\n display: block;\n padding: units(1) units($sidenav-level-1-inset);\n text-decoration: none;\n\n &:hover {\n background-color: color(\"base-lightest\");\n text-decoration: none;\n }\n }\n\n a:not(.usa-button):not(.usa-current) {\n color: color(\"base-dark\");\n\n &:hover {\n color: color($theme-link-color);\n }\n\n &:focus {\n outline-offset: 0;\n }\n }\n\n .usa-current {\n @include add-bar(\n $theme-sidenav-current-border-width,\n \"primary\",\n \"left\",\n \"pill\",\n 0.5,\n 0.5\n );\n color: color($theme-link-color);\n font-weight: font-weight(\"bold\");\n\n @include at-media(\"tablet\") {\n @include add-bar(\n $theme-sidenav-current-border-width,\n $theme-link-color,\n \"left\",\n \"pill\",\n 0,\n 0.5\n );\n }\n }\n}\n\n@mixin nav-sublist {\n @include unstyled-list();\n margin: 0;\n\n &-item {\n border-top: units(1px) solid color(\"base-lighter\");\n font-size: font-size($theme-sidenav-font-family, \"2xs\");\n }\n\n .usa-current {\n @include remove-bar;\n\n @include at-media(\"tablet\") {\n @include remove-bar;\n }\n }\n\n // level 2+\n a:not(.usa-button) {\n padding-left: units($sidenav-level-2-inset);\n }\n\n // level 3+\n & & a:not(.usa-button) {\n padding-left: units($sidenav-level-3-inset);\n }\n\n // level 4+\n & & & a:not(.usa-button) {\n padding-left: units($sidenav-level-4-inset);\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-language {\n @include u-flex(\"row\", \"align-center\", \"justify-end\");\n display: flex;\n padding: 0 0 units(0.5) units(1);\n width: 100%;\n\n &--small {\n .usa-button {\n @include u-padding-x(1.5);\n @include u-padding-y(0);\n font-size: font-size($theme-header-font-family, \"3xs\");\n height: units(4);\n margin-top: 0.3rem;\n min-width: units($theme-button-small-width);\n }\n }\n}\n\n.usa-language-container {\n @include u-flex(\"align-center\", \"justify-end\");\n display: flex;\n}\n\n.usa-nav-container {\n .usa-language-container {\n align-self: center;\n margin-left: units(0);\n position: absolute;\n right: units(10);\n top: units(2);\n\n @include at-media($theme-header-min-width) {\n align-self: flex-end;\n margin-left: units(1.5);\n margin-bottom: units(1);\n position: relative;\n right: inherit;\n top: units(-2px);\n }\n }\n}\n\n.usa-language__link {\n margin-right: units(0);\n}\n\n.usa-language__primary {\n width: auto;\n}\n\n.usa-language__primary-item:last-of-type {\n position: relative;\n\n .usa-language__submenu {\n @include u-pin-right;\n }\n}\n\n.usa-language__submenu {\n @include add-list-reset;\n @include nav-sublist;\n background-color: color(\"primary-darker\");\n position: absolute;\n width: units(\"card-lg\");\n z-index: z-index(400);\n\n &[aria-hidden=\"true\"] {\n display: none;\n }\n\n .usa-language__submenu-item {\n a {\n color: color(\"white\");\n display: block;\n line-height: line-height($theme-navigation-font-family, 3);\n padding: 0;\n padding: units(1);\n text-decoration: none;\n\n &:focus {\n outline-offset: units(\"neg-05\");\n }\n\n &:hover {\n color: color(\"white\");\n text-decoration: underline;\n }\n }\n }\n}\n\n.usa-language__submenu-list {\n @include unstyled-list;\n\n .usa-language__submenu-list-item {\n margin: 0;\n font-size: font-size($theme-navigation-font-family, \"2xs\");\n\n a {\n line-height: line-height($theme-navigation-font-family, 3);\n }\n }\n}\n","@use \"uswds-core\" as *;\n\n$sidenav-reorder-warning: \"$theme-sidenav-reorder is enabled and has accessibility concerns. This behavior has a negative impact on users of assistive technologies.\";\n\n.usa-layout-docs__sidenav {\n padding-top: units(4);\n\n @include at-media(\"desktop\") {\n padding-top: 0;\n }\n\n // Revert to >3.8.0 behavior and give a warning.\n @if $theme-sidenav-reorder {\n @warn $sidenav-reorder-warning;\n\n &:first-of-type {\n @include grid-col(12);\n order: 2;\n\n @include at-media(\"desktop\") {\n @include grid-col(3);\n order: 0;\n }\n }\n }\n}\n","@use \"sass:map\";\n\n@use \"uswds-core\" as *;\n\n/* stylelint-disable */\n\n$namespace-grid: ns(\"grid\");\n\n// basic container\n.#{$namespace-grid}container {\n $props: append-important($grid-global, $theme-grid-container-max-width);\n @include grid-container($props);\n}\n\n// container with custom widths\n@each $width-key, $width-value in $system-breakpoints {\n .#{$namespace-grid}container-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-container($props);\n }\n}\n\n// responsive containers...\n@each $mq-key, $mq-value in $system-breakpoints {\n @if map.get($theme-utility-breakpoints-complete, $mq-key) {\n @include at-media($mq-key) {\n .#{$mq-key}#{$separator}#{$namespace-grid}container {\n $props: append-important($grid-global, desktop);\n @include grid-container($props);\n }\n\n // ...with custom widths\n @each $width-key, $width-value in $system-breakpoints {\n .#{$mq-key}#{$separator}#{$namespace-grid}container-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-container($props);\n }\n }\n }\n }\n}\n\n// basic row...\n.#{$namespace-grid}row {\n @include grid-row;\n\n // ...that includes column gaps\n &.#{$namespace-grid}gap {\n @include grid-gap-responsive;\n }\n @each $gap-key, $gap-val in map-deep-get($system-properties, gap, standard) {\n &.#{$namespace-grid}gap-#{$gap-key} {\n $props: append-important($grid-global, $gap-key);\n @include grid-gap($props);\n }\n }\n\n // responsive column gaps\n @each $mq-key, $mq-value in $system-breakpoints {\n @if map.get($theme-utility-breakpoints-complete, $mq-key) {\n @include at-media($mq-key) {\n @each $gap-key,\n $gap-val in map-deep-get($system-properties, gap, standard)\n {\n &.#{$mq-key}#{$separator}#{$namespace-grid}gap-#{$gap-key} {\n $props: append-important($grid-global, $gap-key);\n @include grid-gap($props);\n }\n }\n }\n }\n }\n}\n\n// basic columns...\n[class*=\"#{$namespace-grid}col\"] {\n @include u-position(relative);\n @include u-width(full);\n box-sizing: border-box;\n}\n\n.#{$namespace-grid}col {\n $props: append-important($grid-global, fill);\n @include grid-col($props);\n}\n\n.#{$namespace-grid}col-auto {\n $props: append-important($grid-global, auto);\n @include grid-col($props);\n}\n\n.#{$namespace-grid}col-fill {\n $props: append-important($grid-global, fill);\n @include grid-col($props);\n}\n\n// ...with widths\n@each $width-key, $width-value in $system-layout-grid-widths {\n .#{$namespace-grid}col-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-col($props);\n }\n}\n\n// responsive columns\n@each $mq-key, $mq-value in $system-breakpoints {\n @if map.get($theme-utility-breakpoints-complete, $mq-key) {\n @include at-media($mq-key) {\n .#{$mq-key}#{$separator}#{$namespace-grid}col {\n $props: append-important($grid-global, fill);\n @include grid-col($props);\n }\n .#{$mq-key}#{$separator}#{$namespace-grid}col-fill {\n $props: append-important($grid-global, fill);\n @include grid-col($props);\n }\n .#{$mq-key}#{$separator}#{$namespace-grid}col-auto {\n $props: append-important($grid-global, auto);\n @include grid-col($props);\n }\n\n @each $width-key, $width-value in $system-layout-grid-widths {\n .#{$mq-key}#{$separator}#{$namespace-grid}col-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-col($props);\n }\n }\n }\n }\n}\n\n// basic offsets\n@each $width-key, $width-value in $system-layout-grid-widths {\n .#{$namespace-grid}offset-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-offset($props);\n }\n}\n.#{$namespace-grid}offset-none {\n $props: append-important($grid-global, none);\n @include grid-offset($props);\n}\n\n// responsive offsets\n@each $mq-key, $mq-value in $system-breakpoints {\n @if map.get($theme-utility-breakpoints-complete, $mq-key) {\n @each $width-key, $width-value in $system-layout-grid-widths {\n @include at-media($mq-key) {\n .#{$mq-key}#{$separator}#{$namespace-grid}offset-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-offset($props);\n }\n }\n }\n @include at-media($mq-key) {\n .#{$mq-key}#{$separator}#{$namespace-grid}offset-none {\n $props: append-important($grid-global, none);\n @include grid-offset($props);\n }\n }\n }\n}\n/* stylelint-enable */\n","@use \"uswds-core\" as *;\n\n.usa-media-block {\n @include u-align-items(\"align-start\");\n @include u-display(\"flex\");\n}\n\n.usa-media-block__img {\n @include media-block-img;\n}\n\n.usa-media-block__body {\n @include u-flex(1);\n}\n","@use \"uswds-core\" as *;\n\n.usa-js-no-click {\n pointer-events: none;\n user-select: none;\n\n .usa-modal,\n .usa-modal * {\n pointer-events: auto;\n user-select: text;\n }\n}\n\n// Prevents propagation issue in Safari an opener\n// has a child element, and when clicked, prevents\n// intended action\n[data-open-modal] * {\n pointer-events: none;\n}\n\n.usa-modal-wrapper {\n text-align: center;\n transition: opacity $project-easing;\n\n // Using visibility: hidden instead of display: none because\n // of iOS VoiceOver issue:\n // https://developer.paciellogroup.com/blog/2018/06/the-current-state-of-modal-dialog-accessibility/\n &.is-hidden {\n visibility: hidden;\n opacity: opacity(0);\n position: fixed;\n }\n\n &.is-visible {\n visibility: visible;\n opacity: opacity(100);\n position: fixed;\n z-index: z-index(\"top\");\n }\n}\n\n.usa-modal-overlay {\n background: color(\"black-transparent-70\");\n bottom: 0;\n height: 100%;\n left: 0;\n overflow: scroll;\n overflow-x: hidden;\n padding: units(3);\n position: fixed;\n scroll-behavior: smooth;\n top: 0;\n width: 100%;\n\n &:before {\n content: \"\";\n display: inline-block;\n height: 100%;\n vertical-align: middle;\n }\n\n &[data-force-action=\"true\"] {\n pointer-events: none;\n\n * {\n pointer-events: auto;\n }\n }\n}\n\n// Prevents modals from flickering\n// Still allows content to be accessed\n.usa-js-loading {\n .usa-modal-wrapper {\n @include add-sr-only;\n }\n\n .usa-modal-wrapper:target {\n position: static;\n }\n}\n\n.usa-modal {\n @include typeset;\n @include u-radius($theme-modal-border-radius);\n background: white;\n @include set-text-from-bg(\"white\");\n display: inline-block;\n margin: units(2.5) auto;\n max-width: units($theme-modal-default-max-width);\n position: relative;\n text-align: left;\n vertical-align: middle;\n width: 100%;\n\n &:focus {\n outline: none;\n }\n}\n\n.usa-modal__content {\n display: flex;\n flex-direction: column-reverse;\n padding-top: units(4);\n width: 100%;\n}\n\n.usa-modal__main {\n margin: 0 auto;\n padding: units(1) units(4) units(4);\n}\n\n// Prevents JS not recognizing as part of close button.\n.usa-modal-wrapper [data-close-modal] > .usa-icon,\n.usa-modal-wrapper [data-close-modal] > .usa-icon use {\n pointer-events: none !important;\n}\n\n.usa-modal__close {\n align-items: center;\n align-self: flex-end;\n background-color: transparent;\n color: color(\"base\");\n display: flex;\n flex-shrink: 0;\n font-size: size(\"ui\", \"2xs\");\n margin: units(-4) 0 0 auto;\n padding: units(0.5) units(0.5);\n width: auto;\n\n &:hover,\n &:active {\n background-color: transparent;\n color: color(\"ink\");\n }\n\n &:focus {\n outline-offset: 0;\n }\n\n .usa-icon {\n height: units(4);\n margin: units(2px) units(2px) 0 0;\n width: units(4);\n }\n}\n\n.usa-modal__heading {\n @include u-font(\"heading\", \"lg\");\n line-height: line-height(\"heading\", 3);\n margin-top: 0;\n}\n\n.usa-modal__footer {\n margin-top: units(3);\n}\n\n// Variants\n.usa-modal--lg {\n max-width: units($theme-modal-lg-max-width);\n width: 100%;\n\n .usa-modal__main {\n padding-bottom: units(8);\n padding-top: units(2.5);\n width: 100%;\n max-width: units($theme-modal-lg-content-max-width);\n }\n\n .usa-modal__heading {\n @include at-media(\"tablet\") {\n @include u-font(\"heading\", \"xl\");\n }\n }\n}\n\n.usa-js-modal--active {\n overflow: hidden;\n}\n","@use \"sass:math\";\n@use \"sass:list\";\n@use \"sass:color\";\n\n@use \"uswds-core\" as *;\n\n$pagination-context: \"Pagination\";\n$pagination-margin-x: 0.5 !default;\n$pagination-margin-y: 2 !default;\n$pagination-margin-padding: 1 !default;\n$pagination-target-size: 5 !default;\n\n$pagination-current-color: get-color-token-from-bg(\n $theme-pagination-background-color\n);\n\n$pagination-link-tokens: get-link-tokens-from-bg(\n $theme-pagination-background-color,\n $theme-link-reverse-color,\n $theme-link-color,\n $context: $pagination-context\n);\n\n$pagination-link-token: list.nth($pagination-link-tokens, 1);\n$pagination-hover-token: list.nth($pagination-link-tokens, 2);\n\n// Pagination\n// ---------------------------------\n.usa-pagination {\n @include u-margin-y($pagination-margin-y);\n @include typeset($theme-pagination-font-family);\n @include set-text-and-bg(\n $theme-pagination-background-color,\n $context: $pagination-context\n );\n display: flex;\n justify-content: center;\n}\n\n// TODO: Pull out magic number into vars? Could this better?\n.usa-pagination .usa-icon {\n height: px-to-rem(18px);\n width: px-to-rem(18px);\n}\n\n// Shared styles\n// ---------------------------------\n\n// Pagination nav\n// ---------------------------------\n.usa-pagination__list {\n @include add-list-reset;\n align-items: center;\n display: flex;\n flex-flow: row nowrap;\n justify-content: center;\n width: auto;\n}\n\n// Pagination nav items\n// 1. Prevents chromium browsers from adding additional vertical whitespace\n.usa-pagination__item {\n display: inline-flex; // 1\n height: units($pagination-target-size);\n justify-content: center;\n line-height: 1;\n margin-left: units($pagination-margin-x);\n margin-right: units($pagination-margin-x);\n min-width: units($pagination-target-size);\n\n @include at-media($theme-pagination-breakpoint) {\n flex: 1 0 auto; // flex: 1 won't work in IE11\n }\n}\n\n// Don't show previous and next at mobile.\n// Functionality exists with page buttons.\n.usa-pagination__arrow {\n display: none;\n @include at-media($theme-pagination-breakpoint) {\n display: inherit;\n }\n}\n\n.usa-pagination__previous-page {\n @include at-media($theme-pagination-breakpoint) {\n margin-right: units(math.div($pagination-target-size, 2));\n }\n}\n\n.usa-pagination__next-page {\n @include at-media($theme-pagination-breakpoint) {\n margin-left: units(math.div($pagination-target-size, 2));\n }\n}\n\n.usa-pagination__link {\n align-items: center;\n color: color($pagination-link-token);\n display: inline-flex;\n text-decoration: none;\n\n &[disabled] {\n opacity: 0.4 !important;\n pointer-events: none;\n }\n\n &:hover,\n &:focus,\n &:active {\n color: color($pagination-hover-token);\n text-decoration: underline;\n }\n\n &:visited {\n color: color($pagination-link-token);\n }\n}\n\n.usa-pagination__button {\n align-items: center;\n border-color: color.adjust(color($pagination-current-color), $alpha: -0.8);\n border-radius: radius($theme-pagination-button-border-radius);\n border-style: solid;\n border-width: units($theme-pagination-button-border-width);\n color: color($pagination-link-token);\n display: inline-flex;\n justify-content: center;\n padding: units($pagination-margin-padding);\n text-decoration: none;\n width: 100%;\n\n &:hover,\n &:focus,\n &:active {\n color: color($pagination-hover-token);\n border-color: color($pagination-hover-token);\n\n @media (forced-colors: active) {\n border: $border-high-contrast;\n }\n }\n}\n\n.usa-pagination .usa-current {\n $text-color: if(\n $theme-pagination-background-color == \"default\",\n $theme-body-background-color,\n $theme-pagination-background-color\n );\n background-color: color($pagination-current-color);\n border-color: transparent;\n color: color($text-color);\n\n @media (forced-colors: active) {\n border: $border-high-contrast;\n color: buttonText;\n }\n\n &:hover,\n &:focus,\n &:active {\n background-color: color($pagination-current-color);\n color: color($text-color);\n text-decoration: none;\n\n @media (forced-colors: active) {\n color: buttontext;\n }\n }\n}\n\n.usa-pagination__overflow {\n align-items: center;\n align-self: stretch;\n display: inherit;\n user-select: none;\n padding: units($pagination-margin-padding);\n}\n\n// ---------------------------------\n// Variants\n// ---------------------------------\n","@use \"uswds-core\" as *;\n\n// PROCESS LIST\n$theme-process-list-counter-content-padding: calc(\n (#{units($theme-process-list-counter-size)} / 2) - #{units(0.5)}\n);\n$theme-process-list-counter-line-x-position: calc(\n (\n (#{units($theme-process-list-counter-size)} / 2) -\n (#{units($theme-process-list-connector-width)} / 2)\n )\n);\n\n@include override-prose {\n .usa-process-list {\n @include typeset($theme-process-list-font-family);\n @include unstyled-list;\n counter-reset: usa-numbered-list;\n padding: 20px 0 0 $theme-process-list-counter-line-x-position;\n position: relative;\n\n // Use increased specificity to override unstyled-list()\n & > .usa-process-list__item {\n @include u-measure(5);\n }\n }\n\n .usa-process-list__item {\n border-left: units($theme-process-list-connector-width) solid\n color($theme-process-list-connector-color);\n font-size: size(\n $theme-process-list-font-family,\n $theme-process-list-font-size\n );\n margin-bottom: 0;\n padding-bottom: units(4);\n padding-left: calc(#{$theme-process-list-counter-content-padding} * 2);\n }\n}\n\n.usa-process-list__item {\n &:last-child {\n border-left: units($theme-process-list-connector-width) solid transparent;\n }\n\n &::before {\n @include u-flex(\"row\", \"align-center\", \"justify-center\");\n $half-of-font-size: -0.4rem;\n @include u-circle($theme-process-list-counter-size);\n background-color: color($theme-process-list-counter-background-color);\n border: units($theme-process-list-counter-border-width) solid\n color($theme-process-list-counter-border-color);\n box-shadow: 0 0 0 units($theme-process-list-counter-gap-width)\n color($theme-process-list-counter-gap-color);\n color: color($theme-process-list-counter-text-color);\n content: counter(usa-numbered-list, decimal);\n counter-increment: usa-numbered-list;\n display: flex;\n font-family: family($theme-process-list-counter-font-family);\n font-size: size(\n $theme-process-list-counter-font-family,\n $theme-process-list-counter-font-size\n );\n font-weight: font-weight(\"bold\");\n height: units($theme-process-list-counter-size);\n left: 0;\n line-height: lh($theme-process-list-counter-font-family, 1);\n margin-top: $half-of-font-size;\n position: absolute;\n width: units($theme-process-list-counter-size);\n }\n\n ul {\n list-style-type: disc;\n\n li {\n margin-bottom: units(0.5);\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n }\n\n > *:first-child {\n margin-top: 0;\n }\n\n > *:last-child {\n margin-bottom: 0;\n }\n}\n\n.usa-process-list__heading {\n @include typeset(\n $theme-process-list-heading-font-family,\n $theme-process-list-heading-font-size,\n 2\n );\n color: color($theme-process-list-heading-color);\n font-family: family($theme-process-list-heading-font-family);\n font-weight: font-weight(\"bold\");\n margin: 0;\n\n & + * {\n margin-top: units(0.5);\n }\n}\n","@use \"uswds-core\" as *;\n\n// Map for high contrast search icon\n$search-icon: (\n \"name\": \"search\",\n \"color\": ButtonText,\n \"svg-height\": 20,\n \"svg-width\": 20,\n \"height\": units(3),\n);\n\n.usa-search {\n @include border-box-sizing;\n @include clearfix;\n @include typeset($theme-search-font-family);\n position: relative;\n\n // if role is in the element (>=2.6.0)...\n &[role=\"search\"],\n // if there is a (=2.5.[0,1])...\n &[role=\"search\"]>div,\n // ...or if the component has a separate (<=2.4.0)\n [role=\"search\"] {\n display: flex;\n }\n\n [type=\"submit\"] {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n height: units(4);\n margin: 0;\n padding: 0;\n width: units($theme-button-small-width);\n\n @include at-media(\"mobile-lg\") {\n @include u-padding-x(2);\n width: auto;\n }\n\n @media (forced-colors: active) {\n @include place-icon($search-icon, \"before\");\n\n &:focus {\n outline-offset: 0;\n }\n\n &::before {\n @include at-media(\"mobile-lg\") {\n content: none;\n }\n }\n }\n }\n\n &__submit-icon {\n @include at-media(\"mobile-lg\") {\n display: none;\n }\n\n @media (forced-colors: active) {\n display: none;\n }\n }\n}\n\n.usa-search--big {\n $height: units(6);\n\n [type=\"search\"],\n .usa-search__input {\n @include at-media(\"mobile-lg\") {\n font-size: font-size($theme-search-font-family, \"sm\");\n height: $height;\n }\n }\n\n [type=\"submit\"],\n .usa-search__submit {\n @include at-media(\"mobile-lg\") {\n @include u-padding-x(4);\n font-size: font-size($theme-search-font-family, \"lg\");\n height: $height;\n width: auto;\n }\n }\n}\n\n.usa-search--small {\n [type=\"submit\"],\n .usa-search__submit {\n @include u-padding-x(1.5);\n min-width: units($theme-button-small-width);\n }\n\n [type=\"submit\"] {\n @media (forced-colors: active) {\n &::before {\n @include at-media(\"mobile-lg\") {\n content: \"\";\n }\n }\n }\n }\n\n .usa-search__submit-icon {\n @include u-square(3);\n display: block;\n\n @media (forced-colors: active) {\n display: none;\n }\n }\n}\n\n// Extra specificity to override rules set in normalize.css.\ninput[type=\"search\"] {\n /* stylelint-disable-line selector-no-qualifying-type */\n box-sizing: border-box;\n appearance: none;\n}\n\n[type=\"search\"],\n.usa-search__input {\n @include u-padding-y(0);\n border-bottom-right-radius: 0;\n border-right: none;\n border-top-right-radius: 0;\n box-sizing: border-box;\n float: left;\n font-size: font-size($theme-search-font-family, \"xs\");\n height: units(4);\n margin: 0;\n}\n\n.usa-search__submit-text {\n display: none;\n\n @include at-media(\"mobile-lg\") {\n display: block;\n }\n}\n","@use \"uswds-core\" as *;\n\n$section-context: \"Section\";\n\n.usa-section {\n @include border-box-sizing;\n @include u-padding-y($theme-site-margins-width);\n\n @include at-media(\"tablet\") {\n @include u-padding-y(8);\n }\n}\n\n.usa-section--light {\n background-color: color(\"base-lightest\");\n}\n\n.usa-section--dark {\n background-color: color(\"primary-darker\");\n color: color($theme-text-reverse-color);\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n // TODO: This should use a theme-able color,\n // and should probably default to white\n color: color(\"accent-cool\");\n }\n\n p {\n color: color($theme-text-reverse-color);\n }\n\n a {\n @include set-link-from-bg(\n \"primary-darker\",\n $theme-link-reverse-color,\n $context: $section-context\n );\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-sidenav {\n @include border-box-sizing;\n @include nav-list(\"sidenav\");\n @include typeset($theme-sidenav-font-family, \"sm\", 3);\n border-bottom: units(1px) solid color(\"base-lighter\");\n\n .grid-container & {\n @include u-margin-x(-$theme-site-margins-mobile-width);\n\n @include at-media(\"tablet\") {\n @include u-margin-x(0);\n }\n }\n}\n\n.usa-sidenav__sublist {\n @include nav-sublist;\n font-size: font-size($theme-sidenav-font-family, \"xs\");\n}\n","@use \"sass:math\";\n@use \"uswds-core\" as *;\n\n// Alert variables ---------- //\n$site-alert-icons: (\n info: \"info\",\n emergency: \"error\",\n);\n\n.usa-site-alert {\n .usa-alert {\n @include alert-styles;\n }\n}\n\n@each $name, $icon in $site-alert-icons {\n .usa-site-alert--#{$name} .usa-alert {\n @include alert-status-wrapper-styles($name);\n\n .usa-alert__body {\n @include alert-status-body-styles($name, $icon);\n }\n }\n}\n\n.usa-site-alert--slim .usa-alert {\n @include alert-styles-slim;\n}\n\n.usa-site-alert--no-icon .usa-alert {\n @include alert-styles-no-icon;\n}\n","@use \"uswds-core\" as *;\n\n.usa-skipnav {\n @include border-box-sizing;\n @include typeset;\n @include typeset-link;\n background: transparent;\n left: 0;\n padding: units(1) units(2);\n position: absolute;\n top: -3.8rem; // skipnav link height\n transition: $project-easing;\n z-index: z-index(100);\n\n &:focus,\n &.usa-focus {\n background: color(\"white\");\n left: 0;\n position: absolute;\n top: 0;\n transition: $project-easing;\n }\n}\n\n.usa-skipnav__container {\n position: relative;\n}\n","@use \"sass:math\";\n\n@use \"uswds-core\" as *;\n\n$step-indicator-label-margin-top: 1;\n$step-indicator-margin-bottom: 4;\n$step-indicator-header-margin-top: 4;\n$step-indicator-header-margin-top-sm: 2;\n$step-indicator-segment-height-mobile: 1;\n$step-indicator-counter-size: 5;\n$step-indicator-counter-size-sm: 3;\n\n.usa-step-indicator {\n @include typeset(\n $theme-step-indicator-font-family,\n $theme-step-indicator-label-font-size,\n 2\n );\n background-color: color($step-indicator-background-color);\n margin-bottom: units($step-indicator-margin-bottom);\n margin-left: math.div(units($theme-step-indicator-segment-gap), -2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), -2);\n\n @include at-media($theme-step-indicator-min-width) {\n @include u-margin-x(0);\n }\n}\n\n.usa-step-indicator__segments {\n counter-reset: usa-step-indicator;\n display: flex;\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.usa-step-indicator__segment {\n @include u-flex(\"fill\");\n counter-increment: usa-step-indicator;\n margin-left: math.div(units($theme-step-indicator-segment-gap), 2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), 2);\n max-width: units(\"card-lg\");\n min-height: units($theme-step-indicator-segment-height);\n position: relative;\n\n // Add segment\n &:after {\n background-color: color($theme-step-indicator-segment-color-pending);\n content: \"\";\n display: block;\n // Use a fixed segment height for mobile regardless of settings\n height: units($step-indicator-segment-height-mobile);\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n\n @include at-media($theme-step-indicator-min-width) {\n height: units($theme-step-indicator-segment-height);\n }\n }\n}\n\n.usa-step-indicator__segment--complete {\n &::after {\n background-color: color($theme-step-indicator-segment-color-complete);\n }\n .usa-step-indicator__segment-label {\n color: color($theme-step-indicator-segment-color-complete);\n }\n}\n\n.usa-step-indicator__segment--current {\n &::after {\n background-color: color($theme-step-indicator-segment-color-current);\n }\n .usa-step-indicator__segment-label {\n color: color($theme-step-indicator-segment-color-current);\n font-weight: fw(\"bold\");\n }\n}\n\n.usa-step-indicator__segment-label {\n display: none;\n // Show labels only at the min-width\n @include at-media($theme-step-indicator-min-width) {\n color: color($theme-step-indicator-text-pending-color);\n display: block;\n font-size: size(\n $theme-step-indicator-font-family,\n $theme-step-indicator-label-font-size\n );\n // Add margin based on segment size\n margin-top: calc(\n #{units($theme-step-indicator-segment-height)} + #{units(\n $step-indicator-label-margin-top\n )}\n );\n padding-right: units(4);\n text-align: left;\n }\n}\n\n.usa-step-indicator__header {\n align-items: baseline;\n display: flex;\n}\n\n.usa-step-indicator__heading {\n color: color($theme-step-indicator-heading-color);\n font-family: family($theme-step-indicator-heading-font-family);\n font-size: size(\n $theme-step-indicator-heading-font-family,\n $theme-step-indicator-heading-font-size-small\n );\n font-weight: font-weight(\"bold\");\n margin: units($step-indicator-header-margin-top-sm) 0 0;\n\n @include at-media($theme-step-indicator-min-width) {\n font-size: size(\n $theme-step-indicator-heading-font-family,\n $theme-step-indicator-heading-font-size\n );\n margin-top: units($step-indicator-header-margin-top);\n }\n}\n\n.usa-step-indicator__current-step {\n $step-lh: lh($theme-step-indicator-heading-font-family, 2);\n @include u-circle($step-indicator-counter-size);\n @include u-text(\"normal\", \"tabular\");\n background-color: color($theme-step-indicator-segment-color-current);\n color: color($step-indicator-background-color);\n display: inline-block;\n // Magic number circle centering\n padding: calc(\n (#{units($step-indicator-counter-size)} - (2ex * #{$step-lh})) * 0.5\n );\n text-align: center;\n}\n\n.usa-step-indicator__total-steps {\n @include u-text(\"normal\", \"tabular\");\n color: color($theme-step-indicator-segment-color-current);\n margin-right: units(1);\n}\n\n.usa-step-indicator--counters,\n.usa-step-indicator--counters-sm {\n .usa-step-indicator__segment {\n @include at-media($theme-step-indicator-min-width) {\n $counter-lh: lh($theme-step-indicator-font-family, 1);\n // Remove segment gaps\n @include u-margin-x(0);\n\n // Add extra margin for counter\n @if $theme-step-indicator-counter-gap == 0 {\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size)} -\n #{units($theme-step-indicator-segment-height)}\n ) /\n 2\n )\n );\n } @else {\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size)} -\n #{units($theme-step-indicator-segment-height)}\n ) /\n 2\n ) +\n #{units($theme-step-indicator-counter-gap)}\n );\n }\n\n // Add counter\n &:before {\n @include u-circle($step-indicator-counter-size);\n @include u-text(\"tabular\");\n background-color: color($step-indicator-background-color);\n box-shadow:\n inset 0 0 0 units($theme-step-indicator-counter-border-width)\n color($theme-step-indicator-segment-color-pending),\n 0 0 0 units($theme-step-indicator-counter-gap)\n color($step-indicator-background-color);\n color: color($theme-step-indicator-text-pending-color);\n content: counter(usa-step-indicator);\n display: block;\n font-weight: fw(\"bold\");\n left: 0;\n line-height: lh($theme-step-indicator-font-family, 1);\n // Magic number circle centering\n padding: calc(\n (#{units($step-indicator-counter-size)} - (2ex * #{$counter-lh})) *\n 0.5\n );\n // padding: 1.5ex;\n position: absolute;\n text-align: center;\n top: calc(\n (\n #{units($step-indicator-counter-size)} - #{units(\n $theme-step-indicator-segment-height\n )}\n ) / -2\n );\n z-index: z(100);\n }\n\n &:last-child {\n // Don't show the last segment when counters appear\n &:after {\n display: none;\n }\n }\n }\n }\n\n .usa-step-indicator__segment--complete {\n &::before {\n background-color: color($theme-step-indicator-segment-color-complete);\n box-shadow: 0 0 0 units($theme-step-indicator-counter-gap)\n color($step-indicator-background-color);\n color: color($step-indicator-background-color);\n }\n }\n\n .usa-step-indicator__segment--current {\n &::before {\n background-color: color($theme-step-indicator-segment-color-current);\n box-shadow: 0 0 0 units($theme-step-indicator-counter-gap)\n color($step-indicator-background-color);\n color: color($step-indicator-background-color);\n }\n }\n\n .usa-step-indicator__segment-label {\n @include at-media($theme-step-indicator-min-width) {\n // Add counter margin\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size)} + #{units(\n $theme-step-indicator-segment-height\n )}\n ) / 2\n ) + #{units($step-indicator-label-margin-top)}\n );\n }\n }\n\n // Adjust segments with centered variant\n &.usa-step-indicator--center {\n @include at-media($theme-step-indicator-min-width) {\n .usa-step-indicator__segment {\n &:first-child {\n &:after {\n left: 50%;\n right: 0;\n width: auto;\n }\n }\n\n &:last-child {\n &:after {\n display: block;\n left: 0;\n right: 50%;\n width: auto;\n }\n }\n }\n }\n }\n}\n\n.usa-step-indicator--counters-sm {\n .usa-step-indicator__segment {\n @include at-media($theme-step-indicator-min-width) {\n $counter-lh: lh($theme-step-indicator-font-family, 1);\n // Add extra margin for counter\n @if $theme-step-indicator-counter-gap == 0 {\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size-sm)} -\n #{units($theme-step-indicator-segment-height)}\n ) /\n 2\n )\n );\n } @else {\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size-sm)} -\n #{units($theme-step-indicator-segment-height)}\n ) /\n 2\n ) +\n #{units($theme-step-indicator-counter-gap)}\n );\n }\n\n // Add counter\n &:before {\n @include u-circle($step-indicator-counter-size-sm);\n @include u-font-size($theme-step-indicator-font-family, 3);\n padding: calc(#{units(0.5)} + 1px);\n top: calc(\n (\n #{units($step-indicator-counter-size-sm)} - #{units(\n $theme-step-indicator-segment-height\n )}\n ) / -2\n );\n }\n\n &:last-child {\n // Don't show the last segment when counters appear\n &:after {\n display: none;\n }\n }\n }\n }\n\n .usa-step-indicator__segment-label {\n @include at-media($theme-step-indicator-min-width) {\n // Add counter margin\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size-sm)} + #{units(\n $theme-step-indicator-segment-height\n )}\n ) / 2\n ) + #{units($step-indicator-label-margin-top)}\n );\n }\n }\n}\n\n.usa-step-indicator--no-labels {\n margin-left: math.div(units($theme-step-indicator-segment-gap), -2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), -2);\n\n .usa-step-indicator__segment {\n // Remove extra counter margin\n margin-top: 0;\n // Add gap between segments\n margin-left: math.div(units($theme-step-indicator-segment-gap), 2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), 2);\n\n &:before {\n // Don't show counters\n display: none;\n }\n\n &:last-child {\n // Show last segment\n &:after {\n display: block;\n }\n }\n }\n\n .usa-step-indicator__heading {\n margin-top: units($step-indicator-header-margin-top-sm);\n }\n}\n\n.usa-step-indicator--no-labels {\n .usa-step-indicator__segment-label {\n // Don't show labels, even if they exist\n display: none;\n }\n}\n\n.usa-step-indicator--center {\n margin-left: math.div(units($theme-step-indicator-segment-gap), -2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), -2);\n\n .usa-step-indicator__segment {\n margin-left: math.div(units($theme-step-indicator-segment-gap), 2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), 2);\n\n &:before {\n @if $theme-step-indicator-counter-gap == 0 {\n left: calc(50% - ((#{units($step-indicator-counter-size)}) / 2));\n } @else {\n left: calc(\n 50% -\n (\n (\n #{units($step-indicator-counter-size)} +\n #{units($theme-step-indicator-counter-gap)}\n ) /\n 2\n )\n );\n }\n }\n }\n\n .usa-step-indicator__segment-label {\n // Balance label padding\n @include u-padding-x(1);\n // Center labels\n text-align: center;\n }\n\n &.usa-step-indicator--no-labels {\n .usa-step-indicator__segment {\n // Use full-width segments\n &:first-child {\n &:after {\n left: 0;\n }\n }\n\n &:last-child {\n &:after {\n right: 0;\n }\n }\n }\n }\n\n &.usa-step-indicator--counters-sm {\n .usa-step-indicator__segment {\n &:before {\n @if $theme-step-indicator-counter-gap == 0 {\n left: calc(50% - ((#{units($step-indicator-counter-size-sm)}) / 2));\n } @else {\n left: calc(\n 50% -\n (\n (\n #{units($step-indicator-counter-size-sm)} +\n #{units($theme-step-indicator-counter-gap)}\n ) /\n 2\n )\n );\n }\n }\n }\n }\n}\n","@use \"sass:list\";\n\n@use \"uswds-core\" as *;\n\n$summary-box-context: \"Summary Box\";\n\n.usa-summary-box {\n @include typeset($theme-summary-box-font-family);\n @include border-box-sizing;\n @include set-text-and-bg(\n $theme-summary-box-background-color,\n $theme-summary-box-text-color,\n $context: $summary-box-context\n );\n @include u-radius($theme-summary-box-border-radius);\n border: $theme-summary-box-border-width color($theme-summary-box-border-color)\n solid;\n padding: units(3);\n position: relative;\n\n .usa-list {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n * + & {\n margin-top: units(2);\n }\n}\n\n.usa-summary-box__heading {\n @include typeset($theme-summary-box-font-family, \"lg\", 2);\n margin-top: 0;\n margin-bottom: units(1);\n}\n\n.usa-summary-box__text {\n @include u-margin-y(0);\n}\n\n.usa-summary-box__text:only-child {\n margin-bottom: $theme-summary-box-border-width;\n padding-top: units(0.5);\n}\n\n.usa-summary-box__link {\n @include set-link-from-bg(\n $theme-summary-box-background-color,\n $theme-summary-box-link-color,\n $context: $summary-box-context\n );\n &[href^=\"#\"] {\n $link-tokens: get-link-tokens-from-bg(\n $theme-summary-box-background-color,\n $theme-summary-box-link-color,\n $context: $summary-box-context\n );\n &:visited {\n color: color(list.nth($link-tokens, 1));\n }\n &:hover {\n color: color(list.nth($link-tokens, 2));\n }\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-table {\n @include usa-table;\n}\n\n.usa-table--borderless {\n @include usa-table--borderless;\n}\n\n.usa-table--compact {\n @include usa-table--compact;\n}\n\n.usa-table--striped {\n @include usa-table--striped;\n}\n\n.usa-table--stacked {\n @include at-media-max(\"mobile-lg\") {\n @include table-stacked-styles;\n }\n}\n\n.usa-table--stacked-header {\n @include at-media-max(\"mobile-lg\") {\n @include table-stacked-styles;\n @include table-stacked-header-styles;\n }\n}\n\n.width-mobile {\n .usa-table--stacked {\n @include usa-table--stacked;\n }\n\n .usa-table--stacked-header {\n @include usa-table--stacked-header;\n }\n}\n\n.usa-table--sticky-header {\n @include usa-table--sticky-header;\n}\n\n.usa-table-container--scrollable {\n @include usa-table-container--scrollable;\n}\n","@use \"uswds-core\" as *;\n\n.usa-tag {\n @include border-box-sizing;\n @include u-font(\"ui\", \"2xs\");\n @include u-text(\"white\", \"uppercase\");\n background-color: color(\"base-dark\");\n border-radius: radius(\"sm\");\n margin-right: units(0.5);\n padding: units(1px) units(1);\n\n &:only-of-type {\n margin-right: 0;\n }\n}\n\n.usa-tag--big {\n @include u-padding-x(1);\n @include u-font(\"ui\", $theme-body-font-size);\n}\n","@use \"uswds-core\" as *;\n\n// Variables\n$triangle-size: 5px;\n\n/// Create a spacer to increase target area for tooltip triangle.\n///\n/// @param {String} $direction - The direction of the tooltip; can be top, bottom, left, right.\n///\n/// @example\n/// @include tooltip-spacer(\"top\");\n///\n/// @output\n/// .usa-tooltip__body--top::before {\n/// top: 100%;\n/// height: 5px;\n/// left: 0;\n/// right: 0;\n/// }\n@mixin tooltip-spacer($direction) {\n &::before {\n #{$direction}: 100%;\n\n @if ($direction == \"left\") or ($direction == \"right\") {\n bottom: 0;\n top: 0;\n width: $triangle-size;\n } @else {\n height: $triangle-size;\n left: 0;\n right: 0;\n }\n }\n}\n\n/* Tooltips */\n.usa-tooltip {\n display: inline-block;\n position: relative;\n}\n\n.usa-tooltip__trigger {\n cursor: pointer;\n\n > svg {\n display: block;\n pointer-events: none;\n }\n}\n\n.usa-tooltip__body,\n.usa-tooltip__body--top {\n transition: opacity 0.08s ease-in-out;\n background-color: color($theme-tooltip-background-color);\n border-radius: radius($theme-button-border-radius);\n color: color($theme-tooltip-font-color);\n display: none;\n font-size: size(\"ui\", $theme-tooltip-font-size);\n opacity: 0; // Required for recalculating position.\n padding: units(1);\n width: auto;\n white-space: pre;\n z-index: 100000;\n position: absolute;\n /* positioning is completed with JS */\n\n &::after {\n content: \"\";\n display: block;\n width: 0;\n height: 0;\n border-left: $triangle-size solid transparent;\n border-right: $triangle-size solid transparent;\n border-top: $triangle-size solid color($theme-tooltip-background-color);\n position: absolute;\n bottom: -$triangle-size;\n left: 50%;\n margin-left: -$triangle-size;\n }\n\n // This pseudo element fills the gap between the tooltip trigger and body.\n // Filling this gap allows the tooltip to stay open when the pointer moves\n // from the tooltip trigger to the body.\n &::before {\n content: \"\";\n display: block;\n position: absolute;\n }\n}\n\n.usa-tooltip__body--wrap {\n width: 100%;\n white-space: normal;\n text-align: center;\n min-width: calc(100vw / 2);\n}\n\n.usa-tooltip__body.is-set {\n display: block;\n}\n\n.usa-tooltip__body.is-visible {\n opacity: 1;\n}\n\n.usa-tooltip__body--top {\n @include tooltip-spacer(\"top\");\n}\n\n.usa-tooltip__body--bottom {\n @include tooltip-spacer(\"bottom\");\n\n &::after {\n border-left: $triangle-size solid transparent;\n border-right: $triangle-size solid transparent;\n border-bottom: $triangle-size solid color($theme-tooltip-background-color);\n border-top: 0;\n bottom: auto;\n top: -$triangle-size;\n }\n}\n\n.usa-tooltip__body--right {\n @include tooltip-spacer(\"right\");\n\n &::after {\n border-top: $triangle-size solid transparent;\n border-bottom: $triangle-size solid transparent;\n border-right: $triangle-size solid color($theme-tooltip-background-color);\n border-left: 0;\n right: auto;\n top: 50%;\n bottom: 0;\n left: -$triangle-size;\n margin: -$triangle-size 0 0 0;\n }\n}\n\n.usa-tooltip__body--left {\n @include tooltip-spacer(\"left\");\n\n &::after {\n border-top: $triangle-size solid transparent;\n border-bottom: $triangle-size solid transparent;\n border-left: $triangle-size solid color($theme-tooltip-background-color);\n border-right: 0;\n right: -$triangle-size;\n top: 50%;\n bottom: 0;\n left: auto;\n margin: -$triangle-size 0 0 0;\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-character-count__status {\n display: inline-block;\n padding-top: units(0.5);\n\n &.usa-character-count__status--invalid {\n color: color(\"error-dark\");\n font-weight: font-weight(\"bold\");\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-input {\n @extend %block-input-general;\n @extend %block-input-styles;\n\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include u-disabled;\n @include u-disabled-high-contrast-border;\n // Fix for Safari\n -webkit-text-fill-color: color(\"disabled-dark\");\n }\n}\n\n.usa-input--error {\n @include u-border($theme-input-state-border-width, \"error-dark\");\n padding-top: calc(#{units(1)} - #{units($theme-input-state-border-width)});\n padding-bottom: calc(#{units(1)} - #{units($theme-input-state-border-width)});\n}\n\n.usa-input--success {\n @include u-border($theme-input-state-border-width, \"success\");\n padding-top: calc(#{units(1)} - #{units($theme-input-state-border-width)});\n padding-bottom: calc(#{units(1)} - #{units($theme-input-state-border-width)});\n}\n","@use \"uswds-core\" as *;\n\n.usa-fieldset {\n @extend %block-input-general;\n border: none;\n margin: 0;\n padding: 0;\n}\n","@use \"uswds-core\" as *;\n\n.usa-legend {\n @include typeset(\n $theme-form-font-family,\n $theme-body-font-size,\n $theme-input-line-height\n );\n display: block;\n font-weight: font-weight(\"normal\");\n margin-top: units(3);\n max-width: units($theme-input-max-width);\n}\n\n.usa-legend--large {\n font-size: font-size($theme-form-font-family, \"xl\");\n font-weight: font-weight(\"bold\");\n margin-top: units(2);\n}\n","@use \"uswds-core\" as *;\n\n@include override-prose {\n .usa-input-list {\n @include add-list-reset;\n\n li {\n line-height: line-height(\n $theme-form-font-family,\n $theme-input-line-height\n );\n }\n }\n}\n","@use \"sass:color\";\n@use \"sass:list\";\n\n@use \"../../functions\" as *;\n@use \"../../settings\" as *;\n@use \"../../variables/border-high-contrast\" as *;\n@use \"../general/add-background-svg\" as *;\n@use \"format-input\" as *;\n@use \"format-label\" as *;\n\n@mixin checkbox-colors($args...) {\n @include -checkbox-and-radio-colors($input-type: \"checkbox\", $args...);\n}\n\n@mixin radio-colors($args...) {\n @include -checkbox-and-radio-colors($input-type: \"radio\", $args...);\n}\n\n// Applies active state colors to tile variant backgrounds and borders.\n// Used by :checked checkbox and radio labels as well as :indeterminate checkboxes.\n//\n// @parameter $input-active-color - active input color determined by -checkbox-and-radio-colors mixin.\n@mixin active-tile-colors($input-active-color) {\n background-color: color.adjust(color($input-active-color), $alpha: -0.9);\n border-color: color($input-active-color);\n\n @media (forced-colors: active) {\n border: ButtonText solid units(\"05\");\n }\n}\n\n// Applies active state colors to input backgrounds and borders.\n// Used by :checked checkbox and radio inputs as well as :indeterminate checkboxes.\n//\n// @parameter $input-active-color - active input color determined by -checkbox-and-radio-colors mixin.\n@mixin active-input-colors($input-active-color) {\n background-color: color($input-active-color);\n box-shadow: 0 0 0 units($theme-input-select-border-width)\n color($input-active-color);\n}\n\n@mixin -checkbox-and-radio-colors(\n $bg-color: $theme-input-background-color,\n $selected-color: \"default\",\n $input-type: null\n) {\n $input-text-color: get-color-token-from-bg($bg-color);\n $input-text-color-disabled: get-color-token-from-bg(\n $bg-color,\n \"disabled\",\n \"gray-50\"\n );\n $input-bg-color: if(\n $bg-color == \"default\",\n $theme-body-background-color,\n $bg-color\n );\n $input-active-color: list.nth(\n get-link-tokens-from-bg($bg-color, $preferred-link-token: $selected-color),\n 1\n );\n $input-border-alpha: -0;\n $tile-border-color: color(\"gray-20\");\n $tile-border-color--disabled: color(\"gray-10\");\n $tile-box-shadow--disabled: 0 0 0 units($theme-input-select-border-width)\n color($input-text-color-disabled);\n $input-darkmode: if(\n color.lightness(color($input-bg-color)) < 50%,\n true,\n false\n );\n $input-checkmark: if($input-darkmode, \"correct8-alt\", \"correct8\");\n $input-indeterminate: if(\n $input-darkmode,\n \"checkbox-indeterminate-alt\",\n \"checkbox-indeterminate\"\n );\n\n .usa-#{$input-type} {\n background: color($input-bg-color);\n }\n\n .usa-#{$input-type}__label {\n color: color($input-text-color);\n\n &::before {\n background: color($input-bg-color);\n box-shadow: 0 0 0 units($theme-input-select-border-width)\n color.adjust(color($input-text-color), $alpha: $input-border-alpha);\n\n @media (forced-colors: active) {\n outline: $border-high-contrast;\n outline-offset: 2px;\n }\n }\n }\n .usa-#{$input-type}__input {\n &:checked {\n @include format-input {\n @include active-input-colors($input-active-color);\n }\n }\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include format-label {\n color: color($input-text-color-disabled);\n cursor: not-allowed;\n\n @media (forced-colors: active) {\n color: GrayText;\n }\n }\n @include format-input {\n background-color: color($input-bg-color);\n box-shadow: $tile-box-shadow--disabled;\n }\n }\n &--tile {\n @include format-label {\n background-color: color($input-bg-color);\n border: units($theme-input-tile-border-width) solid $tile-border-color;\n color: color($input-text-color);\n }\n &:checked {\n @include format-label {\n @include active-tile-colors($input-active-color);\n }\n }\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include format-label {\n border-color: $tile-border-color--disabled;\n }\n\n &:checked,\n &:indeterminate,\n &[data-indeterminate] {\n @include format-label {\n background-color: color($input-bg-color);\n }\n }\n }\n }\n }\n\n @if $input-type == \"checkbox\" {\n .usa-checkbox__input {\n // Adding indeterminate styles here avoids style conflicts from setting in .usa-#{$input-type}__input due to\n // radio buttons receiving :indeterminate state when none are selected.\n &:indeterminate,\n &[data-indeterminate] {\n @include format-input {\n @include add-background-svg($input-indeterminate);\n @include active-input-colors($input-active-color);\n background-position: center center;\n background-size: units(1.5) auto;\n\n @media (forced-colors: active) {\n @include add-background-svg(\"checkbox-indeterminate-alt\");\n background-color: color(SelectedItem);\n }\n }\n\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include format-input {\n box-shadow: $tile-box-shadow--disabled;\n }\n\n @include format-label {\n border-color: $tile-border-color--disabled;\n }\n }\n }\n &--tile {\n &:indeterminate,\n &[data-indeterminate] {\n @include format-label {\n @include active-tile-colors($input-active-color);\n }\n }\n }\n &:checked,\n &:checked:disabled,\n &:checked[aria-disabled=\"true\"] {\n @include format-input {\n @include add-background-svg($input-checkmark);\n }\n\n @media (forced-colors: active) {\n @include format-input {\n @include add-background-svg(\"correct8-alt\");\n }\n }\n }\n &:checked:disabled,\n &:checked[aria-disabled=\"true\"],\n &:indeterminate:disabled,\n &:indeterminate[aria-disabled=\"true\"],\n &[data-indeterminate]:disabled,\n &[data-indeterminate][aria-disabled=\"true\"] {\n @include format-input {\n background-color: color($input-text-color-disabled);\n @media (forced-colors: active) {\n background-color: color(GrayText);\n }\n }\n }\n }\n }\n\n @if $input-type == \"radio\" {\n .usa-radio__input {\n &:checked {\n @include format-input {\n box-shadow:\n 0 0 0 units($theme-input-select-border-width)\n color($input-active-color),\n inset 0 0 0 units($theme-input-select-border-width)\n color($input-bg-color);\n\n @media (forced-colors: active) {\n background-color: ButtonText;\n }\n }\n }\n &:checked:disabled,\n &:checked[aria-disabled=\"true\"] {\n @include format-input {\n background-color: color($input-text-color-disabled);\n box-shadow:\n 0 0 0 2px color($input-text-color-disabled),\n inset 0 0 0 2px color($input-bg-color);\n\n @media (forced-colors: active) {\n background-color: color(GrayText);\n }\n }\n }\n }\n }\n}\n","@mixin format-input {\n & + [class*=\"__label\"]::before {\n @content;\n }\n}\n","@mixin format-label {\n & + [class*=\"__label\"] {\n @content;\n }\n}\n","@use \"sass:math\";\n\n@use \"uswds-core\" as *;\n\n@include checkbox-colors;\n\n.usa-checkbox__input {\n // The actual input element is only visible to screen readers, because\n // all visual styling is done via the label.\n @include sr-only();\n\n &:focus {\n @include format-input {\n @include focus-outline(null, null, null, 0.5);\n }\n }\n\n // Checkboxes and radios with tap-friendly targets\n &--tile {\n @include format-label {\n border-radius: radius($theme-input-tile-border-radius);\n margin-top: units(1);\n padding: units(1.5) units(2) units(1.5) units(5);\n\n &::before {\n left: units(5) - units($input-select-margin-right) - units(\n $theme-input-select-size\n );\n }\n }\n }\n}\n\n.usa-checkbox__input {\n &:checked {\n @include format-input {\n background-position: center center;\n background-size: units(1.5) auto;\n @media print {\n background-image: none;\n background-color: color(\"white\");\n content: \"\\2714\";\n text-align: center;\n }\n\n @media (forced-colors: active) {\n background-color: color(SelectedItem);\n }\n }\n }\n}\n\n.usa-checkbox__label {\n @extend %block-input-general;\n cursor: pointer;\n display: inherit;\n font-weight: font-weight(\"normal\");\n margin-top: units(1.5);\n padding-left: units($input-select-margin-right) +\n units($theme-input-select-size);\n position: relative;\n\n &::before {\n content: \" \";\n display: block;\n left: 0;\n margin-left: units($theme-input-select-border-width);\n margin-top: math.div(\n (\n line-height($theme-form-font-family, $theme-input-line-height) *\n font-size($theme-form-font-family, $theme-body-font-size) - units(\n $theme-input-select-size\n )\n ),\n 2\n );\n position: absolute;\n }\n}\n\n.usa-checkbox__label::before {\n @include u-square($theme-input-select-size);\n border-radius: radius($theme-checkbox-border-radius);\n}\n\n.usa-checkbox__label-description {\n display: block;\n font-size: size(\"ui\", \"2xs\");\n margin-top: units(1);\n}\n\n// Test code for scoped custom colors\n/*\n.checkbox-tests {\n @include set-text-and-bg(\"green-80\");\n @include checkbox-colors(\"green-80\", \"green-warm-10v\");\n padding: units(2);\n border-radius: radius(\"md\");\n}\n*/\n","@use \"uswds-core\" as *;\n\n.usa-select {\n @extend %block-input-general;\n @extend %block-input-styles;\n @include add-background-svg(\"usa-icons/unfold_more\");\n appearance: none;\n background-color: color(\"white\");\n background-position: right units(1) center;\n background-size: units(2.5);\n padding-right: units(4);\n\n &::-ms-expand {\n display: none;\n }\n\n // Show default webkit style on select element when autofilled to show icon\n &:-webkit-autofill {\n appearance: menulist;\n }\n\n // Remove dotted outline from select element on focus in Firefox\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 color(\"black\");\n }\n\n &[multiple] {\n height: auto;\n background-image: none;\n padding-right: 0;\n }\n\n option {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include u-disabled;\n @include u-disabled-high-contrast-border;\n }\n\n // Necessary to show chevron in forced colors mode in modern browsers\n @media (forced-colors: active) {\n appearance: listbox; // Default \n [type=\"search\"] {\n min-width: 0; // Fix a Firefox display quirk\n }\n\n + .usa-hero {\n @include at-media($theme-header-min-width) {\n border-top: units(1px) solid color(\"white\");\n }\n }\n\n + .usa-section,\n + main {\n @include at-media($theme-header-min-width) {\n border-top: units(1px) solid color(\"base-lighter\");\n }\n }\n}\n\n.usa-logo {\n @include at-media-max($theme-header-min-width) {\n @include u-flex(\"fill\");\n font-size: font-size($theme-header-font-family, \"2xs\");\n line-height: line-height($theme-header-font-family, 1);\n margin-left: units($theme-site-margins-mobile-width);\n }\n\n @include at-media($theme-header-min-width) {\n margin-top: units(4);\n margin-bottom: units(2);\n font-size: font-size($theme-header-font-family, \"lg\");\n line-height: line-height($theme-header-font-family, 2);\n }\n\n a {\n color: color(\"ink\");\n text-decoration: none;\n }\n}\n\n.usa-logo__text {\n display: block;\n font-style: normal;\n font-weight: font-weight(\"bold\");\n margin: 0;\n}\n\n.usa-menu-btn {\n @include button-unstyled;\n @include u-flex(\"auto\");\n @include u-padding-x(1.5);\n background-color: color(\"primary\");\n color: color(\"white\");\n font-size: font-size($theme-header-font-family, \"3xs\");\n height: units($size-touch-target);\n text-align: center;\n text-decoration: none;\n text-transform: uppercase;\n\n @include at-media($theme-header-min-width) {\n display: none;\n }\n\n &:hover {\n background-color: color(\"primary-dark\");\n color: color(\"white\");\n text-decoration: none;\n }\n\n &:active {\n color: color(\"white\");\n }\n\n &:visited {\n color: color(\"white\");\n }\n}\n\n.usa-overlay {\n @include u-pin(\"all\");\n position: fixed;\n background: color(\"black-transparent-70\");\n opacity: opacity(0);\n transition: opacity $project-easing;\n visibility: hidden;\n z-index: z-index($z-index-overlay);\n\n &.is-visible {\n opacity: opacity(100);\n visibility: visible;\n }\n}\n\n// usa-header--basic\n// ---------------------------------\n\n.usa-header--basic {\n @include at-media($theme-header-min-width) {\n .usa-navbar {\n position: relative;\n width: $theme-header-logo-text-width; // TODO: review this more\n }\n\n .usa-nav {\n @include u-flex(\"row\", \"align-center\", \"justify-end\");\n display: flex;\n padding: 0 0 units(0.5) units(1);\n width: 100%;\n }\n\n .usa-nav-container {\n @include u-flex(\"align-end\", \"justify\");\n display: flex;\n }\n\n .usa-nav__primary-item > .usa-current,\n .usa-nav__link:hover {\n @include nav-border-basic;\n }\n\n // Don't show extended border if dropdown is active.\n .usa-nav__link[aria-expanded=\"true\"]::after,\n .usa-nav__link[aria-expanded=\"true\"]:hover::after {\n display: none;\n }\n\n .usa-nav__primary {\n width: auto;\n }\n\n // Issue #3401: last dropdown gets cutoff.\n .usa-nav__primary-item:last-of-type {\n position: relative;\n\n .usa-nav__submenu {\n @include u-pin-right;\n }\n }\n\n .usa-search {\n top: 0;\n }\n }\n\n &.usa-header--megamenu {\n .usa-nav__inner {\n display: flex;\n flex-direction: column;\n\n @include at-media($theme-header-min-width) {\n display: block;\n float: right;\n margin-top: units(-5);\n }\n }\n\n .usa-nav__primary-item:last-of-type {\n @include at-media($theme-header-min-width) {\n position: static;\n }\n }\n }\n}\n\n// usa-header--extended\n// ---------------------------------\n\n.usa-header--extended {\n @include at-media($theme-header-min-width) {\n padding-top: 0;\n\n .usa-nav__primary-item > .usa-current,\n .usa-nav__primary-item > .usa-nav__link:hover {\n @include nav-border-extended;\n }\n\n // Don't show extended border if dropdown is active.\n .usa-nav__link[aria-expanded=\"true\"]::after,\n .usa-nav__link[aria-expanded=\"true\"]:hover::after {\n display: none;\n }\n }\n\n .usa-logo {\n @include at-media($theme-header-min-width) {\n font-size: font-size($theme-header-font-family, \"xl\");\n margin: units(4) 0 units(3);\n max-width: $theme-header-logo-text-width;\n }\n }\n\n .usa-navbar {\n @include at-media($theme-header-min-width) {\n @include grid-container($theme-header-max-width);\n display: block;\n height: auto;\n overflow: auto;\n }\n }\n\n .usa-nav {\n @include at-media($theme-header-min-width) {\n border-top: units(1px) solid color(\"base-lighter\");\n padding: 0;\n width: 100%;\n }\n }\n\n .usa-nav__inner {\n @include at-media($theme-header-min-width) {\n @include grid-container($theme-header-max-width);\n position: relative;\n }\n }\n\n .usa-nav__primary {\n @include at-media($theme-header-min-width) {\n @include clearfix;\n margin-left: units(-2);\n }\n }\n\n .usa-nav__link {\n @include at-media($theme-header-min-width) {\n @include u-padding-y(2);\n }\n }\n\n .usa-nav__submenu {\n .usa-grid-full {\n @include at-media($theme-header-min-width) {\n padding-left: units(1.5);\n }\n }\n }\n\n .usa-nav__submenu.usa-megamenu {\n @include at-media($theme-header-min-width) {\n left: 0;\n padding-left: units($theme-site-margins-width);\n padding-right: units($theme-site-margins-width);\n }\n }\n}\n\n// [uswds-init.js] Offscreen content while js is loading\nhtml.usa-js-loading {\n .usa-nav__submenu,\n .usa-nav__submenu.usa-megamenu {\n @include add-sr-only;\n }\n}\n","@mixin clearfix {\n &::after {\n clear: both;\n content: \"\";\n display: block;\n }\n}\n","@use \"settings-general\" as general;\n\n/*\n* * * * * ==============================\n* * * * * ==============================\n* * * * * ==============================\n* * * * * ==============================\n========================================\n========================================\n========================================\n----------------------------------------\nCOMPONENT SETTINGS\n----------------------------------------\nRead more about settings and\nUSWDS style tokens in the documentation:\nhttps://designsystem.digital.gov/design-tokens\n----------------------------------------\n*/\n\n// Accordion\n$theme-accordion-background-color: \"default\" !default;\n$theme-accordion-border-color: \"base-lightest\" !default;\n$theme-accordion-border-width: 0.5 !default;\n$theme-accordion-button-background-color: \"base-lightest\" !default;\n$theme-accordion-font-family: \"body\" !default;\n\n// Alert\n$theme-alert-bar-width: 1 !default;\n$theme-alert-font-family: \"ui\" !default;\n$theme-alert-icon-size: 4 !default;\n$theme-alert-padding-x: 2.5 !default;\n$theme-alert-padding-y: 2 !default;\n$theme-alert-text-color: default !default;\n$theme-alert-text-reverse-color: default !default;\n$theme-alert-link-color: default !default;\n$theme-alert-link-reverse-color: default !default;\n\n// Banner\n$theme-banner-background-color: \"base-lightest\" !default;\n$theme-banner-font-family: \"ui\" !default;\n$theme-banner-link-color: default !default;\n$theme-banner-max-width: \"desktop\" !default;\n\n// Breadcrumb\n$theme-breadcrumb-background-color: \"default\" !default;\n$theme-breadcrumb-font-size: \"sm\" !default;\n$theme-breadcrumb-font-family: \"body\" !default;\n$theme-breadcrumb-link-color: default !default;\n$theme-breadcrumb-min-width: \"mobile-lg\" !default;\n$theme-breadcrumb-padding-bottom: 2 !default;\n$theme-breadcrumb-padding-top: 2 !default;\n$theme-breadcrumb-padding-x: 0 !default;\n$theme-breadcrumb-separator-color: \"base\" !default;\n\n// Button\n$theme-button-border-radius: \"md\" !default;\n$theme-button-font-family: \"ui\" !default;\n$theme-button-icon-gap: 1 !default;\n$theme-button-small-width: 6 !default;\n$theme-button-stroke-width: 2px !default;\n\n// Card\n$theme-card-border-color: \"base-lighter\" !default;\n$theme-card-border-radius: \"lg\" !default;\n$theme-card-border-width: 2px !default;\n$theme-card-gap: 2 !default;\n$theme-card-flag-min-width: \"tablet\" !default;\n$theme-card-flag-image-width: \"card-lg\" !default;\n$theme-card-font-family: \"body\" !default;\n$theme-card-header-typeset: \"heading\", \"lg\", 2 !default;\n$theme-card-margin-bottom: 4 !default;\n$theme-card-padding-perimeter: 3 !default;\n$theme-card-padding-y: 2 !default;\n\n// Collection\n$theme-collection-font-family: \"ui\" !default;\n$theme-collection-header-typeset: \"ui\", \"md\", 3 !default;\n\n// Footer\n$theme-footer-font-family: \"body\" !default;\n$theme-footer-max-width: \"desktop\" !default;\n\n// Form and input\n$theme-checkbox-border-radius: \"sm\" !default;\n$theme-form-font-family: \"ui\" !default;\n$theme-input-background-color: default !default;\n$theme-input-line-height: 3 !default;\n$theme-input-max-width: \"mobile-lg\" !default;\n$theme-input-select-border-width: 2px !default;\n$theme-input-select-size: 2.5 !default;\n$theme-input-state-border-width: 0.5 !default;\n$theme-input-tile-border-radius: \"md\" !default;\n$theme-input-tile-border-width: 2px !default;\n\n// Header\n$theme-header-font-family: \"ui\" !default;\n$theme-header-logo-text-width: 33% !default;\n$theme-header-max-width: \"desktop\" !default;\n$theme-header-min-width: \"desktop\" !default;\n\n// Hero\n$theme-hero-image: \"#{general.$theme-image-path}/hero.jpg\" !default;\n\n// Icon List\n$theme-icon-list-font-family: \"body\" !default;\n$theme-icon-list-title-font-family: \"heading\" !default;\n\n// Identifier\n$theme-identifier-background-color: \"base-darkest\" !default;\n$theme-identifier-font-family: \"ui\" !default;\n$theme-identifier-identity-domain-color: \"base-light\" !default;\n$theme-identifier-max-width: \"desktop\" !default;\n$theme-identifier-primary-link-color: default !default;\n$theme-identifier-secondary-link-color: \"base-light\" !default;\n\n// In-Page Navigation\n$theme-in-page-nav-background-color: \"default\" !default;\n$theme-in-page-nav-background-padding: 2 !default;\n$theme-in-page-nav-background-radius: \"lg\" !default;\n$theme-in-page-nav-bar-color: \"default\" !default;\n$theme-in-page-nav-bar-width: \"05\" !default;\n$theme-in-page-nav-font-family: \"ui\" !default;\n$theme-in-page-nav-link-color: \"default\" !default;\n$theme-in-page-nav-main-content-max-width: \"desktop\" !default;\n$theme-in-page-nav-margin-left: 4 !default;\n$theme-in-page-nav-margin-top: 2.5 !default;\n$theme-in-page-nav-top: 4 !default;\n\n// Link\n$theme-external-link-sr-label-tab-new: \"External, opens in a new tab.\" !default;\n$theme-external-link-sr-label-tab-same: \"External.\" !default;\n\n// Modal\n$theme-modal-border-radius: \"lg\" !default;\n$theme-modal-default-max-width: \"mobile-lg\" !default;\n$theme-modal-lg-content-max-width: \"tablet\" !default;\n$theme-modal-lg-max-width: \"tablet-lg\" !default;\n\n// Pagination\n$theme-pagination-background-color: \"default\" !default;\n$theme-pagination-breakpoint: \"tablet\" !default;\n$theme-pagination-button-border-radius: \"md\" !default;\n$theme-pagination-button-border-width: 1px !default;\n$theme-pagination-font-family: \"ui\" !default;\n\n// Process List\n$theme-process-list-counter-background-color: \"white\" !default;\n$theme-process-list-counter-border-color: \"ink\" !default;\n$theme-process-list-counter-border-width: 0.5 !default;\n$theme-process-list-counter-font-family: \"ui\" !default;\n$theme-process-list-counter-font-size: \"lg\" !default;\n$theme-process-list-counter-gap-color: \"white\" !default;\n$theme-process-list-counter-gap-width: 0.5 !default;\n$theme-process-list-counter-size: 5 !default;\n$theme-process-list-counter-text-color: \"ink\" !default;\n$theme-process-list-connector-color: \"primary-lighter\" !default;\n$theme-process-list-connector-width: 1 !default;\n$theme-process-list-font-family: \"ui\" !default;\n$theme-process-list-font-size: \"sm\" !default;\n$theme-process-list-heading-color: \"ink\" !default;\n$theme-process-list-heading-font-family: \"ui\" !default;\n$theme-process-list-heading-font-size: \"lg\" !default;\n\n// Navigation\n$theme-navigation-font-family: \"ui\" !default;\n$theme-megamenu-columns: 3 !default;\n\n// Search\n$theme-search-font-family: \"ui\" !default;\n$theme-search-min-width: 27ch !default;\n\n// Sidenav\n$theme-sidenav-current-border-width: 0.5 !default;\n$theme-sidenav-font-family: \"ui\" !default;\n$theme-sidenav-reorder: false !default;\n\n// Site Alert\n$theme-site-alert-max-width: \"desktop\" !default;\n\n// Step indicator\n$step-indicator-background-color: \"white\" !default;\n$theme-step-indicator-counter-gap: 0.5 !default;\n$theme-step-indicator-counter-border-width: 0.5 !default;\n$theme-step-indicator-font-family: \"ui\" !default;\n$theme-step-indicator-heading-color: \"ink\" !default;\n$theme-step-indicator-heading-font-family: \"ui\" !default;\n$theme-step-indicator-heading-font-size: \"lg\" !default;\n$theme-step-indicator-heading-font-size-small: \"md\" !default;\n$theme-step-indicator-label-font-size: \"sm\" !default;\n$theme-step-indicator-min-width: \"tablet\" !default;\n$theme-step-indicator-segment-color-pending: \"gray-40\" !default;\n$theme-step-indicator-segment-color-complete: \"primary-darker\" !default;\n$theme-step-indicator-segment-color-current: \"primary\" !default;\n$theme-step-indicator-segment-gap: 2px !default;\n$theme-step-indicator-segment-height: 1 !default;\n$theme-step-indicator-text-pending-color: \"base-dark\" !default;\n\n// Summary box\n$theme-summary-box-background-color: \"info-lighter\" !default;\n$theme-summary-box-border-color: \"info-light\" !default;\n$theme-summary-box-border-width: 1px !default;\n$theme-summary-box-border-radius: \"md\" !default;\n$theme-summary-box-font-family: \"ui\" !default;\n$theme-summary-box-link-color: default !default;\n$theme-summary-box-text-color: default !default;\n\n// Table\n$theme-table-background-color: default !default;\n$theme-table-border-color: \"ink\" !default;\n$theme-table-header-background-color: \"base-lighter\" !default;\n$theme-table-header-text-color: default !default;\n$theme-table-stripe-background-color: \"base-lightest\" !default;\n$theme-table-stripe-text-color: default !default;\n$theme-table-text-color: default !default;\n$theme-table-sorted-header-background-color: \"accent-cool-light\" !default;\n$theme-table-sorted-background-color: \"accent-cool-lighter\" !default;\n$theme-table-sorted-stripe-background-color: \"blue-cool-10v\" !default;\n$theme-table-sorted-icon-color: default !default;\n$theme-table-sticky-top-offset: -1px !default;\n$theme-table-unsorted-icon-color: \"base\" !default;\n\n// Tooltips\n$theme-tooltip-background-color: \"ink\" !default;\n$theme-tooltip-font-color: \"base-lightest\" !default;\n$theme-tooltip-font-size: \"xs\" !default;\n","@use \"../../functions\" as *;\n\n@mixin add-bar(\n $weight: 1,\n $color: \"ink\",\n $side: \"left\",\n $radius: 0,\n $offset-x: 0,\n $offset-y: 0\n) {\n $weight: if($weight == null, 1, $weight);\n $color: if($color == null, \"ink\", $color);\n $side: if($side == null, \"left\", $side);\n $radius: if($radius == null, 0, $radius);\n $offset-x: if($offset-x == null, 0, $offset-x);\n $offset-y: if($offset-y == null, 0, $offset-y);\n\n position: relative;\n\n &::after {\n background-color: color($color);\n border-radius: radius($radius);\n content: \"\";\n display: block;\n position: absolute;\n\n @if $side == (\"left\" or \"right\") {\n bottom: units($offset-y);\n top: units($offset-y);\n width: units($weight);\n #{unquote($side)}: units($offset-x);\n } @else {\n height: units($weight);\n left: units($offset-x);\n right: units($offset-x);\n #{unquote($side)}: units($offset-y);\n\n @media (forced-colors: active) {\n background-color: ButtonText;\n }\n }\n }\n}\n\n@mixin remove-bar {\n &::after {\n display: none;\n }\n}\n","@use \"sass:math\";\n@use \"sass:meta\";\n@use \"uswds-core\" as *;\n\n// Calculate the width of the outer megamenu pseudo elements\n@mixin outer-megamenu($header-max-width: $theme-header-max-width, $type) {\n @include u-pin(\"y\");\n background-color: color(\"primary-darker\");\n content: \"\";\n display: block;\n position: absolute;\n\n // Set variable for submenu max width\n $mw: smart-quote($header-max-width);\n @if meta.type-of($header-max-width) == \"string\" {\n // Retrieve the unit equivalent for submenu max width\n $mw: units($header-max-width);\n }\n\n // Create the vw equivalent for max-width:none\n @if $header-max-width == \"none\" {\n $mw: 100vw;\n }\n\n // Calculate pseudo element width\n // Subtract half the submenu width from half the viewport width\n @if $type == \"standard\" {\n // Add theme margin width to match padding in .usa-nav-container\n width: calc(50vw - $mw / 2 + units($theme-site-margins-width));\n } @else if $type == \"extended\" {\n width: calc(50vw - $mw / 2);\n }\n}\n\n.usa-megamenu {\n .usa-col {\n // Flex grow to take up available width.\n // Flex shrink so long nav lines don't extend beyond viewport.\n // Finally `flex-basis: auto` for IE11.\n flex: 1 1 auto;\n\n @include at-media($theme-header-min-width) {\n // needs this round() to avoid a compile bug\n @include u-flex(math.round(math.div(12, $theme-megamenu-columns)));\n\n .usa-nav__submenu-item a {\n @include u-padding-x(1);\n }\n\n // Remove padding from first and last columns on desktop view.\n &:first-child .usa-nav__submenu-item a {\n padding-left: 0;\n }\n &:last-child .usa-nav__submenu-item a {\n padding-right: 0;\n }\n }\n }\n}\n\n.usa-megamenu.usa-nav__submenu {\n @include at-media($theme-header-min-width) {\n @include u-padding-x(0);\n @include u-padding-y(4);\n left: -$theme-header-logo-text-width;\n right: 0;\n width: auto;\n }\n\n &::before {\n @include at-media($theme-header-min-width) {\n @include outer-megamenu($type: \"standard\");\n right: 100%;\n }\n }\n\n &::after {\n @include at-media($theme-header-min-width) {\n @include outer-megamenu($type: \"standard\");\n left: 100%;\n }\n }\n}\n\n.usa-header--extended .usa-megamenu.usa-nav__submenu {\n &::before {\n @include at-media($theme-header-min-width) {\n @include outer-megamenu($type: \"extended\");\n }\n }\n\n &::after {\n @include at-media($theme-header-min-width) {\n @include outer-megamenu($type: \"extended\");\n }\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-nav-container {\n @include at-media($theme-header-min-width) {\n @include clearfix;\n @include grid-container($theme-header-max-width);\n @include u-padding-x($theme-site-margins-width);\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-navbar {\n @include border-box-sizing;\n height: units($size-touch-target);\n\n @include at-media-max($theme-header-min-width) {\n @include u-flex(\"align-center\");\n border-bottom: units(1px) solid color(\"base-lighter\");\n display: flex;\n }\n\n @include at-media($theme-header-min-width) {\n border-bottom: none;\n display: inline-block;\n height: auto;\n }\n}\n","@use \"uswds-core\" as *;\n\n// Hero feature\n// ==========================\n\n.usa-hero {\n @include border-box-sizing;\n @include typeset;\n background-image: url(\"#{$theme-hero-image}\");\n background-position: center;\n background-size: cover;\n color: color(\"white\");\n\n > .grid-container {\n position: relative;\n @include u-padding-y($theme-site-margins-width);\n }\n}\n\n.usa-hero__callout {\n background-color: color(\"primary-darker\");\n padding: units(4);\n\n @include at-media(\"tablet\") {\n max-width: units(\"mobile\");\n }\n}\n\n.usa-hero__heading {\n @include typeset-h2;\n color: color(\"accent-cool\");\n line-height: line-height(\"heading\", 2);\n}\n\n.usa-hero__heading--alt {\n color: color(\"white\");\n display: block;\n}\n","@use \"sass:map\";\n\n@use \"uswds-core\" as *;\n\n// Variables\n\n// Size icons based on the theme-type-scale-[size] number and this factor\n$icon-list-icon-size-factor: 1.5;\n// Center the icon to the title text, works for all size variants\n$icon-list-icon-margin-top: -1.5%;\n// Fine tune the space between the icon and content with this factor\n$icon-list-icon-padding-left-factor: 0.4;\n// Fine tune the title top padding given a line height of lh-2\n$icon-list-title-padding-top: 0.425ex;\n\n$type-scale: font-size($theme-icon-list-font-family, $theme-body-font-size);\n\n// Get fixed size for icon, based on non-normalized size token\n$this-system-token: if(\n map.has-key($all-type-scale, $theme-body-font-size),\n map.get($all-type-scale, $theme-body-font-size),\n $theme-body-font-size\n);\n\n$icon-size: px-to-rem($this-system-token);\n\n@include override-prose {\n .usa-icon-list {\n @include typeset($theme-icon-list-font-family, $theme-body-font-size);\n @include unstyled-list;\n @include u-measure(5);\n }\n\n .usa-icon-list__item {\n display: flex;\n position: relative;\n\n & + .usa-icon-list__item {\n padding-top: units(1.5);\n }\n }\n}\n\n// Allow setting icon color on the icon-list element\n.usa-icon-list {\n @each $color, $grades in $all-project-colors {\n @each $grade, $value in $grades {\n @if $value {\n $prefix: if($grade != \"default\", \"#{$color}-#{$grade}\", $color);\n &--#{$prefix} {\n .usa-icon-list__icon {\n color: color($prefix);\n }\n }\n }\n }\n }\n}\n\n.usa-icon-list__icon {\n .usa-icon {\n // Set the height and width of the icon based on the size variant and factor\n // Doesn't use u-square() because of non-token size\n display: block;\n height: $icon-size * $icon-list-icon-size-factor;\n // margin-top: $icon-list-icon-margin-top;\n position: relative;\n width: $icon-size * $icon-list-icon-size-factor;\n }\n}\n\n// Don't resize any block-level element inside content\n.usa-icon-list__content {\n > p,\n > ul,\n > ol {\n @include u-font($theme-icon-list-font-family, $theme-body-font-size);\n @include u-measure(5);\n }\n}\n\n.usa-icon-list[class*=\"usa-icon-list--size-\"] {\n @include u-measure(\"none\");\n}\n\n// Generate responsive variants\n// Create a map for looping that includes a default or no-breakpoint version\n$this-null: (\n \"none\": null,\n);\n$icon-list-breakpoints: map-merge($this-null, $system-breakpoints);\n@each $mq-key, $mq-value in $icon-list-breakpoints {\n // Set the prefix\n // An empty string if \"none\"\n $prefix: false;\n @if $mq-key == \"none\" {\n $prefix: \"\";\n }\n // Or the standard prefix if the breakpoint is output\n @else if map.get($theme-utility-breakpoints-complete, $mq-key) {\n $prefix: \"#{$mq-key}#{$separator}\";\n }\n\n @include at-media($mq-key) {\n @each $token, $val in $all-type-scale {\n @if $prefix {\n $this-type-scale: font-size($theme-icon-list-font-family, $token);\n .#{$prefix}usa-icon-list--size-#{$token} {\n .usa-icon-list__icon {\n .usa-icon {\n // Set the height and width of the icon based on the size variant and factor\n height: $this-type-scale * $icon-list-icon-size-factor;\n width: $this-type-scale * $icon-list-icon-size-factor;\n }\n }\n\n .usa-icon-list__content {\n @include u-measure(5);\n // Resize simple (un-marked up) content\n font-size: size($theme-icon-list-font-family, $token);\n // Calculate the space between the icon and content based on the size variant and factor\n padding-left: $this-type-scale *\n $icon-list-icon-padding-left-factor;\n\n .usa-icon-list__title {\n @include u-font($theme-icon-list-title-font-family, $token);\n }\n }\n }\n }\n }\n }\n}\n\n.usa-icon-list__title {\n @include typeset(\n $theme-icon-list-title-font-family,\n $theme-body-font-size,\n 2\n );\n margin-bottom: units(0);\n padding-top: $icon-list-title-padding-top;\n & + * {\n margin-top: units(1);\n }\n}\n\n.usa-icon-list__content {\n font-size: $type-scale;\n padding-left: $type-scale * $icon-list-icon-padding-left-factor;\n > *:first-child {\n margin-top: 0;\n }\n > *:last-child {\n margin-bottom: 0;\n }\n\n ul li {\n list-style-type: disc;\n }\n}\n","@use \"uswds-core\" as *;\n\n$identifier-context: \"Identifier\";\n$identifier-logo-height: 6;\n$identifier-section-margin-y: 2;\n$identifier-section-margin-y-small: 1;\n$identifier-link-gap: 1.5;\n$identifier-link-gap-desktop: 1;\n$identifier-links-gap: 4 !default;\n\n@mixin identifier-primary-link {\n @include set-link-from-bg(\n $theme-identifier-background-color,\n $theme-identifier-primary-link-color,\n $context: $identifier-context\n );\n}\n\n@mixin identifier-secondary-link {\n @include set-link-from-bg(\n $theme-identifier-background-color,\n $theme-identifier-secondary-link-color,\n $context: $identifier-context\n );\n}\n\n//\n// General Styles\n// =====================================\n.usa-identifier {\n @include typeset($theme-identifier-font-family, \"sm\", 3);\n @include set-text-and-bg(\n $theme-identifier-background-color,\n $context: $identifier-context\n );\n padding-bottom: units(2);\n}\n\n.usa-identifier__container {\n @include grid-container;\n @include u-maxw($theme-identifier-max-width);\n}\n\n.usa-identifier__section {\n @include u-padding-y($identifier-section-margin-y);\n}\n\n.usa-identifier__section--masthead {\n .usa-identifier__container {\n @include at-media(\"tablet\") {\n @include u-align-items(\"align-center\");\n @include u-display(\"flex\");\n }\n }\n}\n\n.usa-identifier__logos {\n display: flex;\n margin-right: units(2);\n}\n\n.usa-identifier__logo {\n @include u-text-decoration(\"no-underline\");\n height: units($identifier-logo-height);\n display: block;\n\n & + .usa-identifier__logo {\n margin-left: units(1);\n }\n}\n\n.usa-identifier__logo-img {\n height: 100%;\n width: auto;\n}\n\n.usa-identifier__identity {\n @include u-flex(\"fill\");\n margin-top: units(2);\n\n @include at-media(\"tablet\") {\n margin-top: units(0);\n }\n}\n\n.usa-identifier__identity-domain,\n.usa-identifier__identity-disclaimer {\n margin: 0;\n padding: 0;\n}\n\n.usa-identifier__identity-domain {\n @include set-text-from-bg(\n $theme-identifier-background-color,\n $theme-identifier-identity-domain-color,\n $context: $identifier-context\n );\n}\n\n.usa-identifier__identity-disclaimer {\n @include u-text(\"bold\");\n\n a {\n @include identifier-primary-link;\n }\n}\n\n.usa-identifier__section--required-links {\n @include at-media(\"tablet\") {\n @include u-padding-y($identifier-section-margin-y-small);\n }\n @include at-media(\"desktop\") {\n @include u-font-size($theme-identifier-font-family, \"xs\");\n }\n}\n\n.usa-identifier__required-links-list {\n @include add-list-reset;\n @include u-margin-y(0);\n\n @include at-media(\"tablet\") {\n column-count: 2;\n column-gap: units($identifier-links-gap);\n column-fill: balance;\n }\n\n @include at-media(\"desktop\") {\n column-count: 4;\n }\n}\n\n.usa-identifier__required-links-item {\n break-inside: avoid;\n margin-bottom: units($identifier-link-gap);\n\n &:last-child {\n margin-bottom: units(0);\n }\n\n @include at-media(\"desktop\") {\n margin-bottom: units($identifier-link-gap-desktop);\n }\n}\n\n.usa-identifier__required-link,\n.usa-identifier__required-link.usa-link {\n @include identifier-secondary-link;\n display: inline-block;\n}\n\n.usa-identifier__section--usagov a {\n @include identifier-primary-link;\n @include u-text(\"bold\");\n display: inline-block;\n margin-top: units(1);\n\n @include at-media(\"tablet\") {\n margin-top: 0;\n }\n}\n\n.usa-identifier__usagov-description {\n @include at-media(\"tablet\") {\n display: inline-flex;\n }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../../functions\" as *;\n@use \"../../tokens\" as *;\n\n// Outputs text-decoration and color properties\n\n@mixin u-text-decoration($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n @each $this-value in $value {\n @if map.has-key($all-color-shortcodes, smart-quote($this-value)) {\n text-decoration-color: color(smart-quote($this-value)) #{$important};\n } @else {\n text-decoration: get-uswds-value(\"text-decoration\", $value...)\n #{$important};\n }\n }\n}\n","@use \"uswds-core\" as *;\n@use \"sass:color\";\n@use \"sass:list\";\n\n.usa-in-page-nav-container {\n align-items: flex-start;\n display: flex;\n\n // Set main landmark max width to ensure in-page nav will fit\n main {\n max-width: units($theme-in-page-nav-main-content-max-width);\n width: 100%;\n }\n}\n\n.usa-in-page-nav {\n @include set-text-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $context: \"In-page navigation text color\"\n );\n display: none;\n margin-left: units($theme-in-page-nav-margin-left);\n margin-top: units($theme-in-page-nav-margin-top);\n max-width: units(\"card-lg\");\n order: 2;\n position: sticky;\n top: units($theme-in-page-nav-top);\n width: 100%;\n\n @include at-media(\"tablet\") {\n display: block;\n }\n}\n\n.usa-in-page-nav__nav {\n @include set-text-and-bg(\n $theme-in-page-nav-background-color,\n $context: \"In-page navigation background\"\n );\n border-radius: radius($theme-in-page-nav-background-radius);\n padding: units($theme-in-page-nav-background-padding);\n}\n\n.usa-in-page-nav__heading {\n // TODO: This could be a setting?\n @include typeset(\"ui\", \"2xs\", 3);\n @include u-font-weight(\"bold\");\n margin-bottom: units(2);\n margin-top: 0;\n padding: 0;\n}\n\n.usa-in-page-nav__list {\n @include border-box-sizing;\n @include nav-list(\"sidenav\");\n border-left: units(1px) solid\n color.adjust(\n color(\n get-color-token-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $context: \"In-page navigation rail\"\n )\n ),\n $alpha: -0.75\n );\n padding: 0;\n\n // specificity to override sidenav styles\n a:not(.usa-button) {\n &:not(.usa-current) {\n @include set-link-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $preferred-link-color: $theme-in-page-nav-link-color,\n $context: \"In-page-navigation link\"\n );\n\n &:visited {\n color: color(\n list.nth(\n get-link-tokens-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $preferred-link-token: $theme-in-page-nav-link-color,\n $context: \"In-page-navigation link\"\n ),\n 1\n )\n );\n }\n }\n\n &.usa-current {\n @include set-text-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $context: \"In-page-navigation current color\"\n );\n font-weight: inherit;\n }\n\n &:hover {\n text-decoration: underline;\n background-color: none;\n }\n\n &.usa-current {\n position: static;\n\n &::after {\n background-color: color(\n get-color-token-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $preferred-text-token: $theme-in-page-nav-bar-color,\n $context: \"In-page navigation bar\"\n )\n );\n border-radius: 0;\n bottom: units(-1px);\n left: 0;\n top: 0;\n width: units($theme-in-page-nav-bar-width);\n z-index: z(100);\n }\n }\n }\n}\n\n.usa-in-page-nav__item {\n @include typeset($theme-in-page-nav-font-family, \"2xs\", 2);\n border: none;\n position: relative;\n\n &--primary {\n @include u-font-weight(\"bold\");\n }\n}\n","@use \"./add-bar\" as *;\n@use \"../../functions\" as *;\n@use \"../../mixins/helpers\" as *;\n@use \"../../mixins/typography/unstyled-list\" as *;\n@use \"../../mixins/utilities\" as *;\n@use \"../../settings\" as *;\n\n$sidenav-level-1-inset: 2;\n$sidenav-level-2-inset: 4;\n$sidenav-level-3-inset: 6;\n$sidenav-level-4-inset: 8;\n\n@mixin nav-list($type) {\n @include unstyled-list();\n\n @if $type == \"sidenav\" {\n &__item {\n border-top: units(1px) solid color(\"base-lighter\");\n }\n }\n\n @if $type == \"nav\" {\n &-item {\n border-top: units(1px) solid color(\"base-lighter\");\n }\n }\n\n a:not(.usa-button) {\n display: block;\n padding: units(1) units($sidenav-level-1-inset);\n text-decoration: none;\n\n &:hover {\n background-color: color(\"base-lightest\");\n text-decoration: none;\n }\n }\n\n a:not(.usa-button):not(.usa-current) {\n color: color(\"base-dark\");\n\n &:hover {\n color: color($theme-link-color);\n }\n\n &:focus {\n outline-offset: 0;\n }\n }\n\n .usa-current {\n @include add-bar(\n $theme-sidenav-current-border-width,\n \"primary\",\n \"left\",\n \"pill\",\n 0.5,\n 0.5\n );\n color: color($theme-link-color);\n font-weight: font-weight(\"bold\");\n\n @include at-media(\"tablet\") {\n @include add-bar(\n $theme-sidenav-current-border-width,\n $theme-link-color,\n \"left\",\n \"pill\",\n 0,\n 0.5\n );\n }\n }\n}\n\n@mixin nav-sublist {\n @include unstyled-list();\n margin: 0;\n\n &-item {\n border-top: units(1px) solid color(\"base-lighter\");\n font-size: font-size($theme-sidenav-font-family, \"2xs\");\n }\n\n .usa-current {\n @include remove-bar;\n\n @include at-media(\"tablet\") {\n @include remove-bar;\n }\n }\n\n // level 2+\n a:not(.usa-button) {\n padding-left: units($sidenav-level-2-inset);\n }\n\n // level 3+\n & & a:not(.usa-button) {\n padding-left: units($sidenav-level-3-inset);\n }\n\n // level 4+\n & & & a:not(.usa-button) {\n padding-left: units($sidenav-level-4-inset);\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-language {\n @include u-flex(\"row\", \"align-center\", \"justify-end\");\n display: flex;\n padding: 0 0 units(0.5) units(1);\n width: 100%;\n\n &--small {\n .usa-button {\n @include u-padding-x(1.5);\n @include u-padding-y(0);\n font-size: font-size($theme-header-font-family, \"3xs\");\n height: units(4);\n margin-top: 0.3rem;\n min-width: units($theme-button-small-width);\n }\n }\n}\n\n.usa-language-container {\n @include u-flex(\"align-center\", \"justify-end\");\n display: flex;\n}\n\n.usa-nav-container {\n .usa-language-container {\n align-self: center;\n margin-left: units(0);\n position: absolute;\n right: units(10);\n top: units(2);\n\n @include at-media($theme-header-min-width) {\n align-self: flex-end;\n margin-left: units(1.5);\n margin-bottom: units(1);\n position: relative;\n right: inherit;\n top: units(-2px);\n }\n }\n}\n\n.usa-language__link {\n margin-right: units(0);\n}\n\n.usa-language__primary {\n width: auto;\n}\n\n.usa-language__primary-item:last-of-type {\n position: relative;\n\n .usa-language__submenu {\n @include u-pin-right;\n }\n}\n\n.usa-language__submenu {\n @include add-list-reset;\n @include nav-sublist;\n background-color: color(\"primary-darker\");\n position: absolute;\n width: units(\"card-lg\");\n z-index: z-index(400);\n\n &[aria-hidden=\"true\"] {\n display: none;\n }\n\n .usa-language__submenu-item {\n a {\n color: color(\"white\");\n display: block;\n line-height: line-height($theme-navigation-font-family, 3);\n padding: 0;\n padding: units(1);\n text-decoration: none;\n\n &:focus {\n outline-offset: units(\"neg-05\");\n }\n\n &:hover {\n color: color(\"white\");\n text-decoration: underline;\n }\n }\n }\n}\n\n.usa-language__submenu-list {\n @include unstyled-list;\n\n .usa-language__submenu-list-item {\n margin: 0;\n font-size: font-size($theme-navigation-font-family, \"2xs\");\n\n a {\n line-height: line-height($theme-navigation-font-family, 3);\n }\n }\n}\n","@use \"uswds-core\" as *;\n\n$sidenav-reorder-warning: \"$theme-sidenav-reorder is enabled and has accessibility concerns. This behavior has a negative impact on users of assistive technologies.\";\n\n.usa-layout-docs__sidenav {\n padding-top: units(4);\n\n @include at-media(\"desktop\") {\n padding-top: 0;\n }\n\n // Revert to >3.8.0 behavior and give a warning.\n @if $theme-sidenav-reorder {\n @warn $sidenav-reorder-warning;\n\n &:first-of-type {\n @include grid-col(12);\n order: 2;\n\n @include at-media(\"desktop\") {\n @include grid-col(3);\n order: 0;\n }\n }\n }\n}\n","@use \"sass:map\";\n\n@use \"uswds-core\" as *;\n\n/* stylelint-disable */\n\n$namespace-grid: ns(\"grid\");\n\n// basic container\n.#{$namespace-grid}container {\n $props: append-important($grid-global, $theme-grid-container-max-width);\n @include grid-container($props);\n}\n\n// container with custom widths\n@each $width-key, $width-value in $system-breakpoints {\n .#{$namespace-grid}container-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-container($props);\n }\n}\n\n// responsive containers...\n@each $mq-key, $mq-value in $system-breakpoints {\n @if map.get($theme-utility-breakpoints-complete, $mq-key) {\n @include at-media($mq-key) {\n .#{$mq-key}#{$separator}#{$namespace-grid}container {\n $props: append-important($grid-global, desktop);\n @include grid-container($props);\n }\n\n // ...with custom widths\n @each $width-key, $width-value in $system-breakpoints {\n .#{$mq-key}#{$separator}#{$namespace-grid}container-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-container($props);\n }\n }\n }\n }\n}\n\n// basic row...\n.#{$namespace-grid}row {\n @include grid-row;\n\n // ...that includes column gaps\n &.#{$namespace-grid}gap {\n @include grid-gap-responsive;\n }\n @each $gap-key, $gap-val in map-deep-get($system-properties, gap, standard) {\n &.#{$namespace-grid}gap-#{$gap-key} {\n $props: append-important($grid-global, $gap-key);\n @include grid-gap($props);\n }\n }\n\n // responsive column gaps\n @each $mq-key, $mq-value in $system-breakpoints {\n @if map.get($theme-utility-breakpoints-complete, $mq-key) {\n @include at-media($mq-key) {\n @each $gap-key,\n $gap-val in map-deep-get($system-properties, gap, standard)\n {\n &.#{$mq-key}#{$separator}#{$namespace-grid}gap-#{$gap-key} {\n $props: append-important($grid-global, $gap-key);\n @include grid-gap($props);\n }\n }\n }\n }\n }\n}\n\n// basic columns...\n[class*=\"#{$namespace-grid}col\"] {\n @include u-position(relative);\n @include u-width(full);\n box-sizing: border-box;\n}\n\n.#{$namespace-grid}col {\n $props: append-important($grid-global, fill);\n @include grid-col($props);\n}\n\n.#{$namespace-grid}col-auto {\n $props: append-important($grid-global, auto);\n @include grid-col($props);\n}\n\n.#{$namespace-grid}col-fill {\n $props: append-important($grid-global, fill);\n @include grid-col($props);\n}\n\n// ...with widths\n@each $width-key, $width-value in $system-layout-grid-widths {\n .#{$namespace-grid}col-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-col($props);\n }\n}\n\n// responsive columns\n@each $mq-key, $mq-value in $system-breakpoints {\n @if map.get($theme-utility-breakpoints-complete, $mq-key) {\n @include at-media($mq-key) {\n .#{$mq-key}#{$separator}#{$namespace-grid}col {\n $props: append-important($grid-global, fill);\n @include grid-col($props);\n }\n .#{$mq-key}#{$separator}#{$namespace-grid}col-fill {\n $props: append-important($grid-global, fill);\n @include grid-col($props);\n }\n .#{$mq-key}#{$separator}#{$namespace-grid}col-auto {\n $props: append-important($grid-global, auto);\n @include grid-col($props);\n }\n\n @each $width-key, $width-value in $system-layout-grid-widths {\n .#{$mq-key}#{$separator}#{$namespace-grid}col-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-col($props);\n }\n }\n }\n }\n}\n\n// basic offsets\n@each $width-key, $width-value in $system-layout-grid-widths {\n .#{$namespace-grid}offset-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-offset($props);\n }\n}\n.#{$namespace-grid}offset-none {\n $props: append-important($grid-global, none);\n @include grid-offset($props);\n}\n\n// responsive offsets\n@each $mq-key, $mq-value in $system-breakpoints {\n @if map.get($theme-utility-breakpoints-complete, $mq-key) {\n @each $width-key, $width-value in $system-layout-grid-widths {\n @include at-media($mq-key) {\n .#{$mq-key}#{$separator}#{$namespace-grid}offset-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-offset($props);\n }\n }\n }\n @include at-media($mq-key) {\n .#{$mq-key}#{$separator}#{$namespace-grid}offset-none {\n $props: append-important($grid-global, none);\n @include grid-offset($props);\n }\n }\n }\n}\n/* stylelint-enable */\n","@use \"uswds-core\" as *;\n\n.usa-media-block {\n @include u-align-items(\"align-start\");\n @include u-display(\"flex\");\n}\n\n.usa-media-block__img {\n @include media-block-img;\n}\n\n.usa-media-block__body {\n @include u-flex(1);\n}\n","@use \"uswds-core\" as *;\n\n.usa-js-no-click {\n pointer-events: none;\n user-select: none;\n\n .usa-modal,\n .usa-modal * {\n pointer-events: auto;\n user-select: text;\n }\n}\n\n// Prevents propagation issue in Safari an opener\n// has a child element, and when clicked, prevents\n// intended action\n[data-open-modal] * {\n pointer-events: none;\n}\n\n.usa-modal-wrapper {\n text-align: center;\n transition: opacity $project-easing;\n\n // Using visibility: hidden instead of display: none because\n // of iOS VoiceOver issue:\n // https://developer.paciellogroup.com/blog/2018/06/the-current-state-of-modal-dialog-accessibility/\n &.is-hidden {\n visibility: hidden;\n opacity: opacity(0);\n position: fixed;\n }\n\n &.is-visible {\n visibility: visible;\n opacity: opacity(100);\n position: fixed;\n z-index: z-index(\"top\");\n }\n}\n\n.usa-modal-overlay {\n background: color(\"black-transparent-70\");\n bottom: 0;\n height: 100%;\n left: 0;\n overflow: scroll;\n overflow-x: hidden;\n padding: units(3);\n position: fixed;\n scroll-behavior: smooth;\n top: 0;\n width: 100%;\n\n &:before {\n content: \"\";\n display: inline-block;\n height: 100%;\n vertical-align: middle;\n }\n\n &[data-force-action=\"true\"] {\n pointer-events: none;\n\n * {\n pointer-events: auto;\n }\n }\n}\n\n// Prevents modals from flickering\n// Still allows content to be accessed\n.usa-js-loading {\n .usa-modal-wrapper {\n @include add-sr-only;\n }\n\n .usa-modal-wrapper:target {\n position: static;\n }\n}\n\n.usa-modal {\n @include typeset;\n @include u-radius($theme-modal-border-radius);\n background: white;\n @include set-text-from-bg(\"white\");\n display: inline-block;\n margin: units(2.5) auto;\n max-width: units($theme-modal-default-max-width);\n position: relative;\n text-align: left;\n vertical-align: middle;\n width: 100%;\n\n &:focus {\n outline: none;\n }\n}\n\n.usa-modal__content {\n display: flex;\n flex-direction: column-reverse;\n padding-top: units(4);\n width: 100%;\n}\n\n.usa-modal__main {\n margin: 0 auto;\n padding: units(1) units(4) units(4);\n}\n\n// Prevents JS not recognizing as part of close button.\n.usa-modal-wrapper [data-close-modal] > .usa-icon,\n.usa-modal-wrapper [data-close-modal] > .usa-icon use {\n pointer-events: none !important;\n}\n\n.usa-modal__close {\n align-items: center;\n align-self: flex-end;\n background-color: transparent;\n color: color(\"base\");\n display: flex;\n flex-shrink: 0;\n font-size: size(\"ui\", \"2xs\");\n margin: units(-4) 0 0 auto;\n padding: units(0.5) units(0.5);\n width: auto;\n\n &:hover,\n &:active {\n background-color: transparent;\n color: color(\"ink\");\n }\n\n &:focus {\n outline-offset: 0;\n }\n\n .usa-icon {\n height: units(4);\n margin: units(2px) units(2px) 0 0;\n width: units(4);\n }\n}\n\n.usa-modal__heading {\n @include u-font(\"heading\", \"lg\");\n line-height: line-height(\"heading\", 3);\n margin-top: 0;\n}\n\n.usa-modal__footer {\n margin-top: units(3);\n}\n\n// Variants\n.usa-modal--lg {\n max-width: units($theme-modal-lg-max-width);\n width: 100%;\n\n .usa-modal__main {\n padding-bottom: units(8);\n padding-top: units(2.5);\n width: 100%;\n max-width: units($theme-modal-lg-content-max-width);\n }\n\n .usa-modal__heading {\n @include at-media(\"tablet\") {\n @include u-font(\"heading\", \"xl\");\n }\n }\n}\n\n.usa-js-modal--active {\n overflow: hidden;\n}\n","@use \"sass:math\";\n@use \"sass:list\";\n@use \"sass:color\";\n\n@use \"uswds-core\" as *;\n\n$pagination-context: \"Pagination\";\n$pagination-margin-x: 0.5 !default;\n$pagination-margin-y: 2 !default;\n$pagination-margin-padding: 1 !default;\n$pagination-target-size: 5 !default;\n\n$pagination-current-color: get-color-token-from-bg(\n $theme-pagination-background-color\n);\n\n$pagination-link-tokens: get-link-tokens-from-bg(\n $theme-pagination-background-color,\n $theme-link-reverse-color,\n $theme-link-color,\n $context: $pagination-context\n);\n\n$pagination-link-token: list.nth($pagination-link-tokens, 1);\n$pagination-hover-token: list.nth($pagination-link-tokens, 2);\n\n// Pagination\n// ---------------------------------\n.usa-pagination {\n @include u-margin-y($pagination-margin-y);\n @include typeset($theme-pagination-font-family);\n @include set-text-and-bg(\n $theme-pagination-background-color,\n $context: $pagination-context\n );\n display: flex;\n justify-content: center;\n}\n\n// TODO: Pull out magic number into vars? Could this better?\n.usa-pagination .usa-icon {\n height: px-to-rem(18px);\n width: px-to-rem(18px);\n}\n\n// Shared styles\n// ---------------------------------\n\n// Pagination nav\n// ---------------------------------\n.usa-pagination__list {\n @include add-list-reset;\n align-items: center;\n display: flex;\n flex-flow: row nowrap;\n justify-content: center;\n width: auto;\n}\n\n// Pagination nav items\n// 1. Prevents chromium browsers from adding additional vertical whitespace\n.usa-pagination__item {\n display: inline-flex; // 1\n height: units($pagination-target-size);\n justify-content: center;\n line-height: 1;\n margin-left: units($pagination-margin-x);\n margin-right: units($pagination-margin-x);\n min-width: units($pagination-target-size);\n\n @include at-media($theme-pagination-breakpoint) {\n flex: 1 0 auto; // flex: 1 won't work in IE11\n }\n}\n\n// Don't show previous and next at mobile.\n// Functionality exists with page buttons.\n.usa-pagination__arrow {\n display: none;\n @include at-media($theme-pagination-breakpoint) {\n display: inherit;\n }\n}\n\n.usa-pagination__previous-page {\n @include at-media($theme-pagination-breakpoint) {\n margin-right: units(math.div($pagination-target-size, 2));\n }\n}\n\n.usa-pagination__next-page {\n @include at-media($theme-pagination-breakpoint) {\n margin-left: units(math.div($pagination-target-size, 2));\n }\n}\n\n.usa-pagination__link {\n align-items: center;\n color: color($pagination-link-token);\n display: inline-flex;\n text-decoration: none;\n\n &[disabled] {\n opacity: 0.4 !important;\n pointer-events: none;\n }\n\n &:hover,\n &:focus,\n &:active {\n color: color($pagination-hover-token);\n text-decoration: underline;\n }\n\n &:visited {\n color: color($pagination-link-token);\n }\n}\n\n.usa-pagination__button {\n align-items: center;\n border-color: color.adjust(color($pagination-current-color), $alpha: -0.8);\n border-radius: radius($theme-pagination-button-border-radius);\n border-style: solid;\n border-width: units($theme-pagination-button-border-width);\n color: color($pagination-link-token);\n display: inline-flex;\n justify-content: center;\n padding: units($pagination-margin-padding);\n text-decoration: none;\n width: 100%;\n\n &:hover,\n &:focus,\n &:active {\n color: color($pagination-hover-token);\n border-color: color($pagination-hover-token);\n\n @media (forced-colors: active) {\n border: $border-high-contrast;\n }\n }\n}\n\n.usa-pagination .usa-current {\n $text-color: if(\n $theme-pagination-background-color == \"default\",\n $theme-body-background-color,\n $theme-pagination-background-color\n );\n background-color: color($pagination-current-color);\n border-color: transparent;\n color: color($text-color);\n\n @media (forced-colors: active) {\n border: $border-high-contrast;\n color: buttonText;\n }\n\n &:hover,\n &:focus,\n &:active {\n background-color: color($pagination-current-color);\n color: color($text-color);\n text-decoration: none;\n\n @media (forced-colors: active) {\n color: buttontext;\n }\n }\n}\n\n.usa-pagination__overflow {\n align-items: center;\n align-self: stretch;\n display: inherit;\n user-select: none;\n padding: units($pagination-margin-padding);\n}\n\n// ---------------------------------\n// Variants\n// ---------------------------------\n","@use \"uswds-core\" as *;\n\n// PROCESS LIST\n$theme-process-list-counter-content-padding: calc(\n (#{units($theme-process-list-counter-size)} / 2) - #{units(0.5)}\n);\n$theme-process-list-counter-line-x-position: calc(\n (\n (#{units($theme-process-list-counter-size)} / 2) -\n (#{units($theme-process-list-connector-width)} / 2)\n )\n);\n\n@include override-prose {\n .usa-process-list {\n @include typeset($theme-process-list-font-family);\n @include unstyled-list;\n counter-reset: usa-numbered-list;\n padding: 20px 0 0 $theme-process-list-counter-line-x-position;\n position: relative;\n\n // Use increased specificity to override unstyled-list()\n & > .usa-process-list__item {\n @include u-measure(5);\n }\n }\n\n .usa-process-list__item {\n border-left: units($theme-process-list-connector-width) solid\n color($theme-process-list-connector-color);\n font-size: size(\n $theme-process-list-font-family,\n $theme-process-list-font-size\n );\n margin-bottom: 0;\n padding-bottom: units(4);\n padding-left: calc(#{$theme-process-list-counter-content-padding} * 2);\n }\n}\n\n.usa-process-list__item {\n &:last-child {\n border-left: units($theme-process-list-connector-width) solid transparent;\n }\n\n &::before {\n @include u-flex(\"row\", \"align-center\", \"justify-center\");\n $half-of-font-size: -0.4rem;\n @include u-circle($theme-process-list-counter-size);\n background-color: color($theme-process-list-counter-background-color);\n border: units($theme-process-list-counter-border-width) solid\n color($theme-process-list-counter-border-color);\n box-shadow: 0 0 0 units($theme-process-list-counter-gap-width)\n color($theme-process-list-counter-gap-color);\n color: color($theme-process-list-counter-text-color);\n content: counter(usa-numbered-list, decimal);\n counter-increment: usa-numbered-list;\n display: flex;\n font-family: family($theme-process-list-counter-font-family);\n font-size: size(\n $theme-process-list-counter-font-family,\n $theme-process-list-counter-font-size\n );\n font-weight: font-weight(\"bold\");\n height: units($theme-process-list-counter-size);\n left: 0;\n line-height: lh($theme-process-list-counter-font-family, 1);\n margin-top: $half-of-font-size;\n position: absolute;\n width: units($theme-process-list-counter-size);\n }\n\n ul {\n list-style-type: disc;\n\n li {\n margin-bottom: units(0.5);\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n }\n\n > *:first-child {\n margin-top: 0;\n }\n\n > *:last-child {\n margin-bottom: 0;\n }\n}\n\n.usa-process-list__heading {\n @include typeset(\n $theme-process-list-heading-font-family,\n $theme-process-list-heading-font-size,\n 2\n );\n color: color($theme-process-list-heading-color);\n font-family: family($theme-process-list-heading-font-family);\n font-weight: font-weight(\"bold\");\n margin: 0;\n\n & + * {\n margin-top: units(0.5);\n }\n}\n","@use \"uswds-core\" as *;\n\n// Map for high contrast search icon\n$search-icon: (\n \"name\": \"search\",\n \"color\": ButtonText,\n \"svg-height\": 20,\n \"svg-width\": 20,\n \"height\": units(3),\n);\n\n.usa-search {\n @include border-box-sizing;\n @include clearfix;\n @include typeset($theme-search-font-family);\n position: relative;\n\n // if role is in the element (>=2.6.0)...\n &[role=\"search\"],\n // if there is a (=2.5.[0,1])...\n &[role=\"search\"]>div,\n // ...or if the component has a separate (<=2.4.0)\n [role=\"search\"] {\n display: flex;\n }\n\n [type=\"submit\"] {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n height: units(4);\n margin: 0;\n padding: 0;\n width: units($theme-button-small-width);\n\n @include at-media(\"mobile-lg\") {\n @include u-padding-x(2);\n width: auto;\n }\n\n @media (forced-colors: active) {\n @include place-icon($search-icon, \"before\");\n\n &:focus {\n outline-offset: 0;\n }\n\n &::before {\n @include at-media(\"mobile-lg\") {\n content: none;\n }\n }\n }\n }\n\n &__submit-icon {\n @include at-media(\"mobile-lg\") {\n display: none;\n }\n\n @media (forced-colors: active) {\n display: none;\n }\n }\n}\n\n.usa-search--big {\n $height: units(6);\n\n [type=\"search\"],\n .usa-search__input {\n @include at-media(\"mobile-lg\") {\n font-size: font-size($theme-search-font-family, \"sm\");\n height: $height;\n }\n }\n\n [type=\"submit\"],\n .usa-search__submit {\n @include at-media(\"mobile-lg\") {\n @include u-padding-x(4);\n font-size: font-size($theme-search-font-family, \"lg\");\n height: $height;\n width: auto;\n }\n }\n}\n\n.usa-search--small {\n [type=\"submit\"],\n .usa-search__submit {\n @include u-padding-x(1.5);\n min-width: units($theme-button-small-width);\n }\n\n [type=\"submit\"] {\n @media (forced-colors: active) {\n &::before {\n @include at-media(\"mobile-lg\") {\n content: \"\";\n }\n }\n }\n }\n\n .usa-search__submit-icon {\n @include u-square(3);\n display: block;\n\n @media (forced-colors: active) {\n display: none;\n }\n }\n}\n\n// Extra specificity to override rules set in normalize.css.\ninput[type=\"search\"] {\n /* stylelint-disable-line selector-no-qualifying-type */\n box-sizing: border-box;\n appearance: none;\n}\n\n[type=\"search\"],\n.usa-search__input {\n @include u-padding-y(0);\n border-bottom-right-radius: 0;\n border-right: none;\n border-top-right-radius: 0;\n box-sizing: border-box;\n float: left;\n font-size: font-size($theme-search-font-family, \"xs\");\n height: units(4);\n margin: 0;\n}\n\n.usa-search__submit-text {\n display: none;\n\n @include at-media(\"mobile-lg\") {\n display: block;\n }\n}\n","@use \"uswds-core\" as *;\n\n$section-context: \"Section\";\n\n.usa-section {\n @include border-box-sizing;\n @include u-padding-y($theme-site-margins-width);\n\n @include at-media(\"tablet\") {\n @include u-padding-y(8);\n }\n}\n\n.usa-section--light {\n background-color: color(\"base-lightest\");\n}\n\n.usa-section--dark {\n background-color: color(\"primary-darker\");\n color: color($theme-text-reverse-color);\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n // TODO: This should use a theme-able color,\n // and should probably default to white\n color: color(\"accent-cool\");\n }\n\n p {\n color: color($theme-text-reverse-color);\n }\n\n a {\n @include set-link-from-bg(\n \"primary-darker\",\n $theme-link-reverse-color,\n $context: $section-context\n );\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-sidenav {\n @include border-box-sizing;\n @include nav-list(\"sidenav\");\n @include typeset($theme-sidenav-font-family, \"sm\", 3);\n border-bottom: units(1px) solid color(\"base-lighter\");\n\n .grid-container & {\n @include u-margin-x(-$theme-site-margins-mobile-width);\n\n @include at-media(\"tablet\") {\n @include u-margin-x(0);\n }\n }\n}\n\n.usa-sidenav__sublist {\n @include nav-sublist;\n font-size: font-size($theme-sidenav-font-family, \"xs\");\n}\n","@use \"sass:math\";\n@use \"uswds-core\" as *;\n\n// Alert variables ---------- //\n$site-alert-icons: (\n info: \"info\",\n emergency: \"error\",\n);\n\n.usa-site-alert {\n .usa-alert {\n @include alert-styles;\n }\n}\n\n@each $name, $icon in $site-alert-icons {\n .usa-site-alert--#{$name} .usa-alert {\n @include alert-status-wrapper-styles($name);\n\n .usa-alert__body {\n @include alert-status-body-styles($name, $icon);\n }\n }\n}\n\n.usa-site-alert--slim .usa-alert {\n @include alert-styles-slim;\n}\n\n.usa-site-alert--no-icon .usa-alert {\n @include alert-styles-no-icon;\n}\n","@use \"uswds-core\" as *;\n\n.usa-skipnav {\n @include border-box-sizing;\n @include typeset;\n @include typeset-link;\n background: transparent;\n left: 0;\n padding: units(1) units(2);\n position: absolute;\n top: -3.8rem; // skipnav link height\n transition: $project-easing;\n z-index: z-index(100);\n\n &:focus,\n &.usa-focus {\n background: color(\"white\");\n left: 0;\n position: absolute;\n top: 0;\n transition: $project-easing;\n }\n}\n\n.usa-skipnav__container {\n position: relative;\n}\n","@use \"sass:math\";\n\n@use \"uswds-core\" as *;\n\n$step-indicator-label-margin-top: 1;\n$step-indicator-margin-bottom: 4;\n$step-indicator-header-margin-top: 4;\n$step-indicator-header-margin-top-sm: 2;\n$step-indicator-segment-height-mobile: 1;\n$step-indicator-counter-size: 5;\n$step-indicator-counter-size-sm: 3;\n\n.usa-step-indicator {\n @include typeset(\n $theme-step-indicator-font-family,\n $theme-step-indicator-label-font-size,\n 2\n );\n background-color: color($step-indicator-background-color);\n margin-bottom: units($step-indicator-margin-bottom);\n margin-left: math.div(units($theme-step-indicator-segment-gap), -2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), -2);\n\n @include at-media($theme-step-indicator-min-width) {\n @include u-margin-x(0);\n }\n}\n\n.usa-step-indicator__segments {\n counter-reset: usa-step-indicator;\n display: flex;\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.usa-step-indicator__segment {\n @include u-flex(\"fill\");\n counter-increment: usa-step-indicator;\n margin-left: math.div(units($theme-step-indicator-segment-gap), 2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), 2);\n max-width: units(\"card-lg\");\n min-height: units($theme-step-indicator-segment-height);\n position: relative;\n\n // Add segment\n &:after {\n background-color: color($theme-step-indicator-segment-color-pending);\n content: \"\";\n display: block;\n // Use a fixed segment height for mobile regardless of settings\n height: units($step-indicator-segment-height-mobile);\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n\n @include at-media($theme-step-indicator-min-width) {\n height: units($theme-step-indicator-segment-height);\n }\n }\n}\n\n.usa-step-indicator__segment--complete {\n &::after {\n background-color: color($theme-step-indicator-segment-color-complete);\n }\n .usa-step-indicator__segment-label {\n color: color($theme-step-indicator-segment-color-complete);\n }\n}\n\n.usa-step-indicator__segment--current {\n &::after {\n background-color: color($theme-step-indicator-segment-color-current);\n }\n .usa-step-indicator__segment-label {\n color: color($theme-step-indicator-segment-color-current);\n font-weight: fw(\"bold\");\n }\n}\n\n.usa-step-indicator__segment-label {\n display: none;\n // Show labels only at the min-width\n @include at-media($theme-step-indicator-min-width) {\n color: color($theme-step-indicator-text-pending-color);\n display: block;\n font-size: size(\n $theme-step-indicator-font-family,\n $theme-step-indicator-label-font-size\n );\n // Add margin based on segment size\n margin-top: calc(\n #{units($theme-step-indicator-segment-height)} + #{units(\n $step-indicator-label-margin-top\n )}\n );\n padding-right: units(4);\n text-align: left;\n }\n}\n\n.usa-step-indicator__header {\n align-items: baseline;\n display: flex;\n}\n\n.usa-step-indicator__heading {\n color: color($theme-step-indicator-heading-color);\n font-family: family($theme-step-indicator-heading-font-family);\n font-size: size(\n $theme-step-indicator-heading-font-family,\n $theme-step-indicator-heading-font-size-small\n );\n font-weight: font-weight(\"bold\");\n margin: units($step-indicator-header-margin-top-sm) 0 0;\n\n @include at-media($theme-step-indicator-min-width) {\n font-size: size(\n $theme-step-indicator-heading-font-family,\n $theme-step-indicator-heading-font-size\n );\n margin-top: units($step-indicator-header-margin-top);\n }\n}\n\n.usa-step-indicator__current-step {\n $step-lh: lh($theme-step-indicator-heading-font-family, 2);\n @include u-circle($step-indicator-counter-size);\n @include u-text(\"normal\", \"tabular\");\n background-color: color($theme-step-indicator-segment-color-current);\n color: color($step-indicator-background-color);\n display: inline-block;\n // Magic number circle centering\n padding: calc(\n (#{units($step-indicator-counter-size)} - (2ex * #{$step-lh})) * 0.5\n );\n text-align: center;\n}\n\n.usa-step-indicator__total-steps {\n @include u-text(\"normal\", \"tabular\");\n color: color($theme-step-indicator-segment-color-current);\n margin-right: units(1);\n}\n\n.usa-step-indicator--counters,\n.usa-step-indicator--counters-sm {\n .usa-step-indicator__segment {\n @include at-media($theme-step-indicator-min-width) {\n $counter-lh: lh($theme-step-indicator-font-family, 1);\n // Remove segment gaps\n @include u-margin-x(0);\n\n // Add extra margin for counter\n @if $theme-step-indicator-counter-gap == 0 {\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size)} -\n #{units($theme-step-indicator-segment-height)}\n ) /\n 2\n )\n );\n } @else {\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size)} -\n #{units($theme-step-indicator-segment-height)}\n ) /\n 2\n ) +\n #{units($theme-step-indicator-counter-gap)}\n );\n }\n\n // Add counter\n &:before {\n @include u-circle($step-indicator-counter-size);\n @include u-text(\"tabular\");\n background-color: color($step-indicator-background-color);\n box-shadow:\n inset 0 0 0 units($theme-step-indicator-counter-border-width)\n color($theme-step-indicator-segment-color-pending),\n 0 0 0 units($theme-step-indicator-counter-gap)\n color($step-indicator-background-color);\n color: color($theme-step-indicator-text-pending-color);\n content: counter(usa-step-indicator);\n display: block;\n font-weight: fw(\"bold\");\n left: 0;\n line-height: lh($theme-step-indicator-font-family, 1);\n // Magic number circle centering\n padding: calc(\n (#{units($step-indicator-counter-size)} - (2ex * #{$counter-lh})) *\n 0.5\n );\n // padding: 1.5ex;\n position: absolute;\n text-align: center;\n top: calc(\n (\n #{units($step-indicator-counter-size)} - #{units(\n $theme-step-indicator-segment-height\n )}\n ) / -2\n );\n z-index: z(100);\n }\n\n &:last-child {\n // Don't show the last segment when counters appear\n &:after {\n display: none;\n }\n }\n }\n }\n\n .usa-step-indicator__segment--complete {\n &::before {\n background-color: color($theme-step-indicator-segment-color-complete);\n box-shadow: 0 0 0 units($theme-step-indicator-counter-gap)\n color($step-indicator-background-color);\n color: color($step-indicator-background-color);\n }\n }\n\n .usa-step-indicator__segment--current {\n &::before {\n background-color: color($theme-step-indicator-segment-color-current);\n box-shadow: 0 0 0 units($theme-step-indicator-counter-gap)\n color($step-indicator-background-color);\n color: color($step-indicator-background-color);\n }\n }\n\n .usa-step-indicator__segment-label {\n @include at-media($theme-step-indicator-min-width) {\n // Add counter margin\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size)} + #{units(\n $theme-step-indicator-segment-height\n )}\n ) / 2\n ) + #{units($step-indicator-label-margin-top)}\n );\n }\n }\n\n // Adjust segments with centered variant\n &.usa-step-indicator--center {\n @include at-media($theme-step-indicator-min-width) {\n .usa-step-indicator__segment {\n &:first-child {\n &:after {\n left: 50%;\n right: 0;\n width: auto;\n }\n }\n\n &:last-child {\n &:after {\n display: block;\n left: 0;\n right: 50%;\n width: auto;\n }\n }\n }\n }\n }\n}\n\n.usa-step-indicator--counters-sm {\n .usa-step-indicator__segment {\n @include at-media($theme-step-indicator-min-width) {\n $counter-lh: lh($theme-step-indicator-font-family, 1);\n // Add extra margin for counter\n @if $theme-step-indicator-counter-gap == 0 {\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size-sm)} -\n #{units($theme-step-indicator-segment-height)}\n ) /\n 2\n )\n );\n } @else {\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size-sm)} -\n #{units($theme-step-indicator-segment-height)}\n ) /\n 2\n ) +\n #{units($theme-step-indicator-counter-gap)}\n );\n }\n\n // Add counter\n &:before {\n @include u-circle($step-indicator-counter-size-sm);\n @include u-font-size($theme-step-indicator-font-family, 3);\n padding: calc(#{units(0.5)} + 1px);\n top: calc(\n (\n #{units($step-indicator-counter-size-sm)} - #{units(\n $theme-step-indicator-segment-height\n )}\n ) / -2\n );\n }\n\n &:last-child {\n // Don't show the last segment when counters appear\n &:after {\n display: none;\n }\n }\n }\n }\n\n .usa-step-indicator__segment-label {\n @include at-media($theme-step-indicator-min-width) {\n // Add counter margin\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size-sm)} + #{units(\n $theme-step-indicator-segment-height\n )}\n ) / 2\n ) + #{units($step-indicator-label-margin-top)}\n );\n }\n }\n}\n\n.usa-step-indicator--no-labels {\n margin-left: math.div(units($theme-step-indicator-segment-gap), -2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), -2);\n\n .usa-step-indicator__segment {\n // Remove extra counter margin\n margin-top: 0;\n // Add gap between segments\n margin-left: math.div(units($theme-step-indicator-segment-gap), 2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), 2);\n\n &:before {\n // Don't show counters\n display: none;\n }\n\n &:last-child {\n // Show last segment\n &:after {\n display: block;\n }\n }\n }\n\n .usa-step-indicator__heading {\n margin-top: units($step-indicator-header-margin-top-sm);\n }\n}\n\n.usa-step-indicator--no-labels {\n .usa-step-indicator__segment-label {\n // Don't show labels, even if they exist\n display: none;\n }\n}\n\n.usa-step-indicator--center {\n margin-left: math.div(units($theme-step-indicator-segment-gap), -2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), -2);\n\n .usa-step-indicator__segment {\n margin-left: math.div(units($theme-step-indicator-segment-gap), 2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), 2);\n\n &:before {\n @if $theme-step-indicator-counter-gap == 0 {\n left: calc(50% - ((#{units($step-indicator-counter-size)}) / 2));\n } @else {\n left: calc(\n 50% -\n (\n (\n #{units($step-indicator-counter-size)} +\n #{units($theme-step-indicator-counter-gap)}\n ) /\n 2\n )\n );\n }\n }\n }\n\n .usa-step-indicator__segment-label {\n // Balance label padding\n @include u-padding-x(1);\n // Center labels\n text-align: center;\n }\n\n &.usa-step-indicator--no-labels {\n .usa-step-indicator__segment {\n // Use full-width segments\n &:first-child {\n &:after {\n left: 0;\n }\n }\n\n &:last-child {\n &:after {\n right: 0;\n }\n }\n }\n }\n\n &.usa-step-indicator--counters-sm {\n .usa-step-indicator__segment {\n &:before {\n @if $theme-step-indicator-counter-gap == 0 {\n left: calc(50% - ((#{units($step-indicator-counter-size-sm)}) / 2));\n } @else {\n left: calc(\n 50% -\n (\n (\n #{units($step-indicator-counter-size-sm)} +\n #{units($theme-step-indicator-counter-gap)}\n ) /\n 2\n )\n );\n }\n }\n }\n }\n}\n","@use \"sass:list\";\n\n@use \"uswds-core\" as *;\n\n$summary-box-context: \"Summary Box\";\n\n.usa-summary-box {\n @include typeset($theme-summary-box-font-family);\n @include border-box-sizing;\n @include set-text-and-bg(\n $theme-summary-box-background-color,\n $theme-summary-box-text-color,\n $context: $summary-box-context\n );\n @include u-radius($theme-summary-box-border-radius);\n border: $theme-summary-box-border-width color($theme-summary-box-border-color)\n solid;\n padding: units(3);\n position: relative;\n\n .usa-list {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n * + & {\n margin-top: units(2);\n }\n}\n\n.usa-summary-box__heading {\n @include typeset($theme-summary-box-font-family, \"lg\", 2);\n margin-top: 0;\n margin-bottom: units(1);\n}\n\n.usa-summary-box__text {\n @include u-margin-y(0);\n}\n\n.usa-summary-box__text:only-child {\n margin-bottom: $theme-summary-box-border-width;\n padding-top: units(0.5);\n}\n\n.usa-summary-box__link {\n @include set-link-from-bg(\n $theme-summary-box-background-color,\n $theme-summary-box-link-color,\n $context: $summary-box-context\n );\n &[href^=\"#\"] {\n $link-tokens: get-link-tokens-from-bg(\n $theme-summary-box-background-color,\n $theme-summary-box-link-color,\n $context: $summary-box-context\n );\n &:visited {\n color: color(list.nth($link-tokens, 1));\n }\n &:hover {\n color: color(list.nth($link-tokens, 2));\n }\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-table {\n @include usa-table;\n}\n\n.usa-table--borderless {\n @include usa-table--borderless;\n}\n\n.usa-table--compact {\n @include usa-table--compact;\n}\n\n.usa-table--striped {\n @include usa-table--striped;\n}\n\n.usa-table--stacked {\n @include at-media-max(\"mobile-lg\") {\n @include table-stacked-styles;\n }\n}\n\n.usa-table--stacked-header {\n @include at-media-max(\"mobile-lg\") {\n @include table-stacked-styles;\n @include table-stacked-header-styles;\n }\n}\n\n.width-mobile {\n .usa-table--stacked {\n @include usa-table--stacked;\n }\n\n .usa-table--stacked-header {\n @include usa-table--stacked-header;\n }\n}\n\n.usa-table--sticky-header {\n @include usa-table--sticky-header;\n}\n\n.usa-table-container--scrollable {\n @include usa-table-container--scrollable;\n}\n","@use \"uswds-core\" as *;\n\n.usa-tag {\n @include border-box-sizing;\n @include u-font(\"ui\", \"2xs\");\n @include u-text(\"white\", \"uppercase\");\n background-color: color(\"base-dark\");\n border-radius: radius(\"sm\");\n margin-right: units(0.5);\n padding: units(1px) units(1);\n\n &:only-of-type {\n margin-right: 0;\n }\n}\n\n.usa-tag--big {\n @include u-padding-x(1);\n @include u-font(\"ui\", $theme-body-font-size);\n}\n","@use \"uswds-core\" as *;\n\n// Variables\n$triangle-size: 5px;\n\n/// Create a spacer to increase target area for tooltip triangle.\n///\n/// @param {String} $direction - The direction of the tooltip; can be top, bottom, left, right.\n///\n/// @example\n/// @include tooltip-spacer(\"top\");\n///\n/// @output\n/// .usa-tooltip__body--top::before {\n/// top: 100%;\n/// height: 5px;\n/// left: 0;\n/// right: 0;\n/// }\n@mixin tooltip-spacer($direction) {\n &::before {\n #{$direction}: 100%;\n\n @if ($direction == \"left\") or ($direction == \"right\") {\n bottom: 0;\n top: 0;\n width: $triangle-size;\n } @else {\n height: $triangle-size;\n left: 0;\n right: 0;\n }\n }\n}\n\n/* Tooltips */\n.usa-tooltip {\n display: inline-block;\n position: relative;\n}\n\n.usa-tooltip__trigger {\n cursor: pointer;\n\n > svg {\n display: block;\n pointer-events: none;\n }\n}\n\n.usa-tooltip__body,\n.usa-tooltip__body--top {\n transition: opacity 0.08s ease-in-out;\n background-color: color($theme-tooltip-background-color);\n border-radius: radius($theme-button-border-radius);\n color: color($theme-tooltip-font-color);\n display: none;\n font-size: size(\"ui\", $theme-tooltip-font-size);\n opacity: 0; // Required for recalculating position.\n padding: units(1);\n width: auto;\n white-space: pre;\n z-index: 100000;\n position: absolute;\n /* positioning is completed with JS */\n\n &::after {\n content: \"\";\n display: block;\n width: 0;\n height: 0;\n border-left: $triangle-size solid transparent;\n border-right: $triangle-size solid transparent;\n border-top: $triangle-size solid color($theme-tooltip-background-color);\n position: absolute;\n bottom: -$triangle-size;\n left: 50%;\n margin-left: -$triangle-size;\n }\n\n // This pseudo element fills the gap between the tooltip trigger and body.\n // Filling this gap allows the tooltip to stay open when the pointer moves\n // from the tooltip trigger to the body.\n &::before {\n content: \"\";\n display: block;\n position: absolute;\n }\n}\n\n.usa-tooltip__body--wrap {\n width: 100%;\n white-space: normal;\n text-align: center;\n min-width: calc(100vw / 2);\n}\n\n.usa-tooltip__body.is-set {\n display: block;\n}\n\n.usa-tooltip__body.is-visible {\n opacity: 1;\n}\n\n.usa-tooltip__body--top {\n @include tooltip-spacer(\"top\");\n}\n\n.usa-tooltip__body--bottom {\n @include tooltip-spacer(\"bottom\");\n\n &::after {\n border-left: $triangle-size solid transparent;\n border-right: $triangle-size solid transparent;\n border-bottom: $triangle-size solid color($theme-tooltip-background-color);\n border-top: 0;\n bottom: auto;\n top: -$triangle-size;\n }\n}\n\n.usa-tooltip__body--right {\n @include tooltip-spacer(\"right\");\n\n &::after {\n border-top: $triangle-size solid transparent;\n border-bottom: $triangle-size solid transparent;\n border-right: $triangle-size solid color($theme-tooltip-background-color);\n border-left: 0;\n right: auto;\n top: 50%;\n bottom: 0;\n left: -$triangle-size;\n margin: -$triangle-size 0 0 0;\n }\n}\n\n.usa-tooltip__body--left {\n @include tooltip-spacer(\"left\");\n\n &::after {\n border-top: $triangle-size solid transparent;\n border-bottom: $triangle-size solid transparent;\n border-left: $triangle-size solid color($theme-tooltip-background-color);\n border-right: 0;\n right: -$triangle-size;\n top: 50%;\n bottom: 0;\n left: auto;\n margin: -$triangle-size 0 0 0;\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-character-count__status {\n display: inline-block;\n padding-top: units(0.5);\n\n &.usa-character-count__status--invalid {\n color: color(\"error-dark\");\n font-weight: font-weight(\"bold\");\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-input {\n @extend %block-input-general;\n @extend %block-input-styles;\n\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include u-disabled;\n @include u-disabled-high-contrast-border;\n // Fix for Safari\n -webkit-text-fill-color: color(\"disabled-dark\");\n }\n}\n\n.usa-input--error {\n @include u-border($theme-input-state-border-width, \"error-dark\");\n padding-top: calc(#{units(1)} - #{units($theme-input-state-border-width)});\n padding-bottom: calc(#{units(1)} - #{units($theme-input-state-border-width)});\n}\n\n.usa-input--success {\n @include u-border($theme-input-state-border-width, \"success\");\n padding-top: calc(#{units(1)} - #{units($theme-input-state-border-width)});\n padding-bottom: calc(#{units(1)} - #{units($theme-input-state-border-width)});\n}\n","@use \"uswds-core\" as *;\n\n.usa-fieldset {\n @extend %block-input-general;\n border: none;\n margin: 0;\n padding: 0;\n}\n","@use \"uswds-core\" as *;\n\n.usa-legend {\n @include typeset(\n $theme-form-font-family,\n $theme-body-font-size,\n $theme-input-line-height\n );\n display: block;\n font-weight: font-weight(\"normal\");\n margin-top: units(3);\n max-width: units($theme-input-max-width);\n}\n\n.usa-legend--large {\n font-size: font-size($theme-form-font-family, \"xl\");\n font-weight: font-weight(\"bold\");\n margin-top: units(2);\n}\n","@use \"uswds-core\" as *;\n\n@include override-prose {\n .usa-input-list {\n @include add-list-reset;\n\n li {\n line-height: line-height(\n $theme-form-font-family,\n $theme-input-line-height\n );\n }\n }\n}\n","@use \"sass:color\";\n@use \"sass:list\";\n\n@use \"../../functions\" as *;\n@use \"../../settings\" as *;\n@use \"../../variables/border-high-contrast\" as *;\n@use \"../general/add-background-svg\" as *;\n@use \"format-input\" as *;\n@use \"format-label\" as *;\n\n@mixin checkbox-colors($args...) {\n @include -checkbox-and-radio-colors($input-type: \"checkbox\", $args...);\n}\n\n@mixin radio-colors($args...) {\n @include -checkbox-and-radio-colors($input-type: \"radio\", $args...);\n}\n\n// Applies active state colors to tile variant backgrounds and borders.\n// Used by :checked checkbox and radio labels as well as :indeterminate checkboxes.\n//\n// @parameter $input-active-color - active input color determined by -checkbox-and-radio-colors mixin.\n@mixin active-tile-colors($input-active-color) {\n background-color: color.adjust(color($input-active-color), $alpha: -0.9);\n border-color: color($input-active-color);\n\n @media (forced-colors: active) {\n border: ButtonText solid units(\"05\");\n }\n}\n\n// Applies active state colors to input backgrounds and borders.\n// Used by :checked checkbox and radio inputs as well as :indeterminate checkboxes.\n//\n// @parameter $input-active-color - active input color determined by -checkbox-and-radio-colors mixin.\n@mixin active-input-colors($input-active-color) {\n background-color: color($input-active-color);\n box-shadow: 0 0 0 units($theme-input-select-border-width)\n color($input-active-color);\n}\n\n@mixin -checkbox-and-radio-colors(\n $bg-color: $theme-input-background-color,\n $selected-color: \"default\",\n $input-type: null\n) {\n $input-text-color: get-color-token-from-bg($bg-color);\n $input-text-color-disabled: get-color-token-from-bg(\n $bg-color,\n \"disabled\",\n \"gray-50\"\n );\n $input-bg-color: if(\n $bg-color == \"default\",\n $theme-body-background-color,\n $bg-color\n );\n $input-active-color: list.nth(\n get-link-tokens-from-bg($bg-color, $preferred-link-token: $selected-color),\n 1\n );\n $input-border-alpha: -0;\n $tile-border-color: color(\"gray-20\");\n $tile-border-color--disabled: color(\"gray-10\");\n $tile-box-shadow--disabled: 0 0 0 units($theme-input-select-border-width)\n color($input-text-color-disabled);\n $input-darkmode: if(\n color.lightness(color($input-bg-color)) < 50%,\n true,\n false\n );\n $input-checkmark: if($input-darkmode, \"correct8-alt\", \"correct8\");\n $input-indeterminate: if(\n $input-darkmode,\n \"checkbox-indeterminate-alt\",\n \"checkbox-indeterminate\"\n );\n\n .usa-#{$input-type} {\n background: color($input-bg-color);\n }\n\n .usa-#{$input-type}__label {\n color: color($input-text-color);\n\n &::before {\n background: color($input-bg-color);\n box-shadow: 0 0 0 units($theme-input-select-border-width)\n color.adjust(color($input-text-color), $alpha: $input-border-alpha);\n\n @media (forced-colors: active) {\n outline: $border-high-contrast;\n outline-offset: 2px;\n }\n }\n }\n .usa-#{$input-type}__input {\n &:checked {\n @include format-input {\n @include active-input-colors($input-active-color);\n }\n }\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include format-label {\n color: color($input-text-color-disabled);\n cursor: not-allowed;\n\n @media (forced-colors: active) {\n color: GrayText;\n }\n }\n @include format-input {\n background-color: color($input-bg-color);\n box-shadow: $tile-box-shadow--disabled;\n }\n }\n &--tile {\n @include format-label {\n background-color: color($input-bg-color);\n border: units($theme-input-tile-border-width) solid $tile-border-color;\n color: color($input-text-color);\n }\n &:checked {\n @include format-label {\n @include active-tile-colors($input-active-color);\n }\n }\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include format-label {\n border-color: $tile-border-color--disabled;\n }\n\n &:checked,\n &:indeterminate,\n &[data-indeterminate] {\n @include format-label {\n background-color: color($input-bg-color);\n }\n }\n }\n }\n }\n\n @if $input-type == \"checkbox\" {\n .usa-checkbox__input {\n // Adding indeterminate styles here avoids style conflicts from setting in .usa-#{$input-type}__input due to\n // radio buttons receiving :indeterminate state when none are selected.\n &:indeterminate,\n &[data-indeterminate] {\n @include format-input {\n @include add-background-svg($input-indeterminate);\n @include active-input-colors($input-active-color);\n background-position: center center;\n background-size: units(1.5) auto;\n\n @media (forced-colors: active) {\n @include add-background-svg(\"checkbox-indeterminate-alt\");\n background-color: color(SelectedItem);\n }\n }\n\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include format-input {\n box-shadow: $tile-box-shadow--disabled;\n }\n\n @include format-label {\n border-color: $tile-border-color--disabled;\n }\n }\n }\n &--tile {\n &:indeterminate,\n &[data-indeterminate] {\n @include format-label {\n @include active-tile-colors($input-active-color);\n }\n }\n }\n &:checked,\n &:checked:disabled,\n &:checked[aria-disabled=\"true\"] {\n @include format-input {\n @include add-background-svg($input-checkmark);\n }\n\n @media (forced-colors: active) {\n @include format-input {\n @include add-background-svg(\"correct8-alt\");\n }\n }\n }\n &:checked:disabled,\n &:checked[aria-disabled=\"true\"],\n &:indeterminate:disabled,\n &:indeterminate[aria-disabled=\"true\"],\n &[data-indeterminate]:disabled,\n &[data-indeterminate][aria-disabled=\"true\"] {\n @include format-input {\n background-color: color($input-text-color-disabled);\n @media (forced-colors: active) {\n background-color: color(GrayText);\n }\n }\n }\n }\n }\n\n @if $input-type == \"radio\" {\n .usa-radio__input {\n &:checked {\n @include format-input {\n box-shadow:\n 0 0 0 units($theme-input-select-border-width)\n color($input-active-color),\n inset 0 0 0 units($theme-input-select-border-width)\n color($input-bg-color);\n\n @media (forced-colors: active) {\n background-color: ButtonText;\n }\n }\n }\n &:checked:disabled,\n &:checked[aria-disabled=\"true\"] {\n @include format-input {\n background-color: color($input-text-color-disabled);\n box-shadow:\n 0 0 0 2px color($input-text-color-disabled),\n inset 0 0 0 2px color($input-bg-color);\n\n @media (forced-colors: active) {\n background-color: color(GrayText);\n }\n }\n }\n }\n }\n}\n","@mixin format-input {\n & + [class*=\"__label\"]::before {\n @content;\n }\n}\n","@mixin format-label {\n & + [class*=\"__label\"] {\n @content;\n }\n}\n","@use \"sass:math\";\n\n@use \"uswds-core\" as *;\n\n@include checkbox-colors;\n\n.usa-checkbox__input {\n // The actual input element is only visible to screen readers, because\n // all visual styling is done via the label.\n @include sr-only();\n\n &:focus {\n @include format-input {\n @include focus-outline(null, null, null, 0.5);\n }\n }\n\n // Checkboxes and radios with tap-friendly targets\n &--tile {\n @include format-label {\n border-radius: radius($theme-input-tile-border-radius);\n margin-top: units(1);\n padding: units(1.5) units(2) units(1.5) units(5);\n\n &::before {\n left: units(5) - units($input-select-margin-right) - units(\n $theme-input-select-size\n );\n }\n }\n }\n}\n\n.usa-checkbox__input {\n &:checked {\n @include format-input {\n background-position: center center;\n background-size: units(1.5) auto;\n @media print {\n background-image: none;\n background-color: color(\"white\");\n content: \"\\2714\";\n text-align: center;\n }\n\n @media (forced-colors: active) {\n background-color: color(SelectedItem);\n }\n }\n }\n}\n\n.usa-checkbox__label {\n @extend %block-input-general;\n cursor: pointer;\n display: inherit;\n font-weight: font-weight(\"normal\");\n margin-top: units(1.5);\n padding-left: units($input-select-margin-right) +\n units($theme-input-select-size);\n position: relative;\n\n &::before {\n content: \" \";\n display: block;\n left: 0;\n margin-left: units($theme-input-select-border-width);\n margin-top: math.div(\n (\n line-height($theme-form-font-family, $theme-input-line-height) *\n font-size($theme-form-font-family, $theme-body-font-size) - units(\n $theme-input-select-size\n )\n ),\n 2\n );\n position: absolute;\n }\n}\n\n.usa-checkbox__label::before {\n @include u-square($theme-input-select-size);\n border-radius: radius($theme-checkbox-border-radius);\n}\n\n.usa-checkbox__label-description {\n display: block;\n font-size: size(\"ui\", \"2xs\");\n margin-top: units(1);\n}\n\n// Test code for scoped custom colors\n/*\n.checkbox-tests {\n @include set-text-and-bg(\"green-80\");\n @include checkbox-colors(\"green-80\", \"green-warm-10v\");\n padding: units(2);\n border-radius: radius(\"md\");\n}\n*/\n","@use \"uswds-core\" as *;\n\n.usa-select {\n @extend %block-input-general;\n @extend %block-input-styles;\n @include add-background-svg(\"usa-icons/unfold_more\");\n appearance: none;\n background-color: color(\"white\");\n background-position: right units(1) center;\n background-size: units(2.5);\n padding-right: units(4);\n\n &::-ms-expand {\n display: none;\n }\n\n // Show default webkit style on select element when autofilled to show icon\n &:-webkit-autofill {\n appearance: menulist;\n }\n\n // Remove dotted outline from select element on focus in Firefox\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 color(\"black\");\n }\n\n &[multiple] {\n height: auto;\n background-image: none;\n padding-right: 0;\n }\n\n option {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include u-disabled;\n @include u-disabled-high-contrast-border;\n }\n\n // Necessary to show chevron in forced colors mode in modern browsers\n @media (forced-colors: active) {\n appearance: listbox; // Default \n [type=\"search\"] {\n min-width: 0; // Fix a Firefox display quirk\n }\n\n + .usa-hero {\n @include at-media($theme-header-min-width) {\n border-top: units(1px) solid color(\"white\");\n }\n }\n\n + .usa-section,\n + main {\n @include at-media($theme-header-min-width) {\n border-top: units(1px) solid color(\"base-lighter\");\n }\n }\n}\n\n.usa-logo {\n @include at-media-max($theme-header-min-width) {\n @include u-flex(\"fill\");\n font-size: font-size($theme-header-font-family, \"2xs\");\n line-height: line-height($theme-header-font-family, 1);\n margin-left: units($theme-site-margins-mobile-width);\n }\n\n @include at-media($theme-header-min-width) {\n margin-top: units(4);\n margin-bottom: units(2);\n font-size: font-size($theme-header-font-family, \"lg\");\n line-height: line-height($theme-header-font-family, 2);\n }\n\n a {\n color: color(\"ink\");\n text-decoration: none;\n }\n}\n\n.usa-logo__text {\n display: block;\n font-style: normal;\n font-weight: font-weight(\"bold\");\n margin: 0;\n}\n\n.usa-menu-btn {\n @include button-unstyled;\n @include u-flex(\"auto\");\n @include u-padding-x(1.5);\n background-color: color(\"primary\");\n color: color(\"white\");\n font-size: font-size($theme-header-font-family, \"3xs\");\n height: units($size-touch-target);\n text-align: center;\n text-decoration: none;\n text-transform: uppercase;\n\n @include at-media($theme-header-min-width) {\n display: none;\n }\n\n &:hover {\n background-color: color(\"primary-dark\");\n color: color(\"white\");\n text-decoration: none;\n }\n\n &:active {\n color: color(\"white\");\n }\n\n &:visited {\n color: color(\"white\");\n }\n}\n\n.usa-overlay {\n @include u-pin(\"all\");\n position: fixed;\n background: color(\"black-transparent-70\");\n opacity: opacity(0);\n transition: opacity $project-easing;\n visibility: hidden;\n z-index: z-index($z-index-overlay);\n\n &.is-visible {\n opacity: opacity(100);\n visibility: visible;\n }\n}\n\n// usa-header--basic\n// ---------------------------------\n\n.usa-header--basic {\n @include at-media($theme-header-min-width) {\n .usa-navbar {\n position: relative;\n width: $theme-header-logo-text-width; // TODO: review this more\n }\n\n .usa-nav {\n @include u-flex(\"row\", \"align-center\", \"justify-end\");\n display: flex;\n padding: 0 0 units(0.5) units(1);\n width: 100%;\n }\n\n .usa-nav-container {\n @include u-flex(\"align-end\", \"justify\");\n display: flex;\n }\n\n .usa-nav__primary-item > .usa-current,\n .usa-nav__link:hover {\n @include nav-border-basic;\n }\n\n // Don't show extended border if dropdown is active.\n .usa-nav__link[aria-expanded=\"true\"]::after,\n .usa-nav__link[aria-expanded=\"true\"]:hover::after {\n display: none;\n }\n\n .usa-nav__primary {\n width: auto;\n }\n\n // Issue #3401: last dropdown gets cutoff.\n .usa-nav__primary-item:last-of-type {\n position: relative;\n\n .usa-nav__submenu {\n @include u-pin-right;\n }\n }\n\n .usa-search {\n top: 0;\n }\n }\n\n &.usa-header--megamenu {\n .usa-nav__inner {\n display: flex;\n flex-direction: column;\n\n @include at-media($theme-header-min-width) {\n display: block;\n float: right;\n margin-top: units(-5);\n }\n }\n\n .usa-nav__primary-item:last-of-type {\n @include at-media($theme-header-min-width) {\n position: static;\n }\n }\n }\n}\n\n// usa-header--extended\n// ---------------------------------\n\n.usa-header--extended {\n @include at-media($theme-header-min-width) {\n padding-top: 0;\n\n .usa-nav__primary-item > .usa-current,\n .usa-nav__primary-item > .usa-nav__link:hover {\n @include nav-border-extended;\n }\n\n // Don't show extended border if dropdown is active.\n .usa-nav__link[aria-expanded=\"true\"]::after,\n .usa-nav__link[aria-expanded=\"true\"]:hover::after {\n display: none;\n }\n }\n\n .usa-logo {\n @include at-media($theme-header-min-width) {\n font-size: font-size($theme-header-font-family, \"xl\");\n margin: units(4) 0 units(3);\n max-width: $theme-header-logo-text-width;\n }\n }\n\n .usa-navbar {\n @include at-media($theme-header-min-width) {\n @include grid-container($theme-header-max-width);\n display: block;\n height: auto;\n overflow: auto;\n }\n }\n\n .usa-nav {\n @include at-media($theme-header-min-width) {\n border-top: units(1px) solid color(\"base-lighter\");\n padding: 0;\n width: 100%;\n }\n }\n\n .usa-nav__inner {\n @include at-media($theme-header-min-width) {\n @include grid-container($theme-header-max-width);\n position: relative;\n }\n }\n\n .usa-nav__primary {\n @include at-media($theme-header-min-width) {\n @include clearfix;\n margin-left: units(-2);\n }\n }\n\n .usa-nav__link {\n @include at-media($theme-header-min-width) {\n @include u-padding-y(2);\n }\n }\n\n .usa-nav__submenu {\n .usa-grid-full {\n @include at-media($theme-header-min-width) {\n padding-left: units(1.5);\n }\n }\n }\n\n .usa-nav__submenu.usa-megamenu {\n @include at-media($theme-header-min-width) {\n left: 0;\n padding-left: units($theme-site-margins-width);\n padding-right: units($theme-site-margins-width);\n }\n }\n}\n\n// [uswds-init.js] Offscreen content while js is loading\nhtml.usa-js-loading {\n .usa-nav__submenu,\n .usa-nav__submenu.usa-megamenu {\n @include add-sr-only;\n }\n}\n","@mixin clearfix {\n &::after {\n clear: both;\n content: \"\";\n display: block;\n }\n}\n","@use \"settings-general\" as general;\n\n/*\n* * * * * ==============================\n* * * * * ==============================\n* * * * * ==============================\n* * * * * ==============================\n========================================\n========================================\n========================================\n----------------------------------------\nCOMPONENT SETTINGS\n----------------------------------------\nRead more about settings and\nUSWDS style tokens in the documentation:\nhttps://designsystem.digital.gov/design-tokens\n----------------------------------------\n*/\n\n// Accordion\n$theme-accordion-background-color: \"default\" !default;\n$theme-accordion-border-color: \"base-lightest\" !default;\n$theme-accordion-border-width: 0.5 !default;\n$theme-accordion-button-background-color: \"base-lightest\" !default;\n$theme-accordion-font-family: \"body\" !default;\n\n// Alert\n$theme-alert-bar-width: 1 !default;\n$theme-alert-font-family: \"ui\" !default;\n$theme-alert-icon-size: 4 !default;\n$theme-alert-padding-x: 2.5 !default;\n$theme-alert-padding-y: 2 !default;\n$theme-alert-text-color: default !default;\n$theme-alert-text-reverse-color: default !default;\n$theme-alert-link-color: default !default;\n$theme-alert-link-reverse-color: default !default;\n\n// Banner\n$theme-banner-background-color: \"base-lightest\" !default;\n$theme-banner-font-family: \"ui\" !default;\n$theme-banner-link-color: default !default;\n$theme-banner-max-width: \"desktop\" !default;\n\n// Breadcrumb\n$theme-breadcrumb-background-color: \"default\" !default;\n$theme-breadcrumb-font-size: \"sm\" !default;\n$theme-breadcrumb-font-family: \"body\" !default;\n$theme-breadcrumb-link-color: default !default;\n$theme-breadcrumb-min-width: \"mobile-lg\" !default;\n$theme-breadcrumb-padding-bottom: 2 !default;\n$theme-breadcrumb-padding-top: 2 !default;\n$theme-breadcrumb-padding-x: 0 !default;\n$theme-breadcrumb-separator-color: \"base\" !default;\n\n// Button\n$theme-button-border-radius: \"md\" !default;\n$theme-button-font-family: \"ui\" !default;\n$theme-button-icon-gap: 1 !default;\n$theme-button-small-width: 6 !default;\n$theme-button-stroke-width: 2px !default;\n\n// Card\n$theme-card-border-color: \"base-lighter\" !default;\n$theme-card-border-radius: \"lg\" !default;\n$theme-card-border-width: 2px !default;\n$theme-card-gap: 2 !default;\n$theme-card-flag-min-width: \"tablet\" !default;\n$theme-card-flag-image-width: \"card-lg\" !default;\n$theme-card-font-family: \"body\" !default;\n$theme-card-header-typeset: \"heading\", \"lg\", 2 !default;\n$theme-card-margin-bottom: 4 !default;\n$theme-card-padding-perimeter: 3 !default;\n$theme-card-padding-y: 2 !default;\n\n// Collection\n$theme-collection-font-family: \"ui\" !default;\n$theme-collection-header-typeset: \"ui\", \"md\", 3 !default;\n\n// Footer\n$theme-footer-font-family: \"body\" !default;\n$theme-footer-max-width: \"desktop\" !default;\n\n// Form and input\n$theme-checkbox-border-radius: \"sm\" !default;\n$theme-form-font-family: \"ui\" !default;\n$theme-input-background-color: default !default;\n$theme-input-line-height: 3 !default;\n$theme-input-max-width: \"mobile-lg\" !default;\n$theme-input-select-border-width: 2px !default;\n$theme-input-select-size: 2.5 !default;\n$theme-input-state-border-width: 0.5 !default;\n$theme-input-tile-border-radius: \"md\" !default;\n$theme-input-tile-border-width: 2px !default;\n\n// Header\n$theme-header-font-family: \"ui\" !default;\n$theme-header-logo-text-width: 33% !default;\n$theme-header-max-width: \"desktop\" !default;\n$theme-header-min-width: \"desktop\" !default;\n\n// Hero\n$theme-hero-image: \"#{general.$theme-image-path}/hero.jpg\" !default;\n\n// Icon List\n$theme-icon-list-font-family: \"body\" !default;\n$theme-icon-list-title-font-family: \"heading\" !default;\n\n// Identifier\n$theme-identifier-background-color: \"base-darkest\" !default;\n$theme-identifier-font-family: \"ui\" !default;\n$theme-identifier-identity-domain-color: \"base-light\" !default;\n$theme-identifier-max-width: \"desktop\" !default;\n$theme-identifier-primary-link-color: default !default;\n$theme-identifier-secondary-link-color: \"base-light\" !default;\n\n// In-Page Navigation\n$theme-in-page-nav-background-color: \"default\" !default;\n$theme-in-page-nav-background-padding: 2 !default;\n$theme-in-page-nav-background-radius: \"lg\" !default;\n$theme-in-page-nav-bar-color: \"default\" !default;\n$theme-in-page-nav-bar-width: \"05\" !default;\n$theme-in-page-nav-font-family: \"ui\" !default;\n$theme-in-page-nav-link-color: \"default\" !default;\n$theme-in-page-nav-main-content-max-width: \"desktop\" !default;\n$theme-in-page-nav-margin-left: 4 !default;\n$theme-in-page-nav-margin-top: 2.5 !default;\n$theme-in-page-nav-top: 4 !default;\n\n// Link\n$theme-external-link-sr-label-tab-new: \"External, opens in a new tab.\" !default;\n$theme-external-link-sr-label-tab-same: \"External.\" !default;\n\n// Modal\n$theme-modal-border-radius: \"lg\" !default;\n$theme-modal-default-max-width: \"mobile-lg\" !default;\n$theme-modal-lg-content-max-width: \"tablet\" !default;\n$theme-modal-lg-max-width: \"tablet-lg\" !default;\n\n// Pagination\n$theme-pagination-background-color: \"default\" !default;\n$theme-pagination-breakpoint: \"tablet\" !default;\n$theme-pagination-button-border-radius: \"md\" !default;\n$theme-pagination-button-border-width: 1px !default;\n$theme-pagination-font-family: \"ui\" !default;\n\n// Process List\n$theme-process-list-counter-background-color: \"white\" !default;\n$theme-process-list-counter-border-color: \"ink\" !default;\n$theme-process-list-counter-border-width: 0.5 !default;\n$theme-process-list-counter-font-family: \"ui\" !default;\n$theme-process-list-counter-font-size: \"lg\" !default;\n$theme-process-list-counter-gap-color: \"white\" !default;\n$theme-process-list-counter-gap-width: 0.5 !default;\n$theme-process-list-counter-size: 5 !default;\n$theme-process-list-counter-text-color: \"ink\" !default;\n$theme-process-list-connector-color: \"primary-lighter\" !default;\n$theme-process-list-connector-width: 1 !default;\n$theme-process-list-font-family: \"ui\" !default;\n$theme-process-list-font-size: \"sm\" !default;\n$theme-process-list-heading-color: \"ink\" !default;\n$theme-process-list-heading-font-family: \"ui\" !default;\n$theme-process-list-heading-font-size: \"lg\" !default;\n\n// Navigation\n$theme-navigation-font-family: \"ui\" !default;\n$theme-megamenu-columns: 3 !default;\n\n// Search\n$theme-search-font-family: \"ui\" !default;\n$theme-search-min-width: 27ch !default;\n\n// Sidenav\n$theme-sidenav-current-border-width: 0.5 !default;\n$theme-sidenav-font-family: \"ui\" !default;\n$theme-sidenav-reorder: false !default;\n\n// Site Alert\n$theme-site-alert-max-width: \"desktop\" !default;\n\n// Step indicator\n$step-indicator-background-color: \"white\" !default;\n$theme-step-indicator-counter-gap: 0.5 !default;\n$theme-step-indicator-counter-border-width: 0.5 !default;\n$theme-step-indicator-font-family: \"ui\" !default;\n$theme-step-indicator-heading-color: \"ink\" !default;\n$theme-step-indicator-heading-font-family: \"ui\" !default;\n$theme-step-indicator-heading-font-size: \"lg\" !default;\n$theme-step-indicator-heading-font-size-small: \"md\" !default;\n$theme-step-indicator-label-font-size: \"sm\" !default;\n$theme-step-indicator-min-width: \"tablet\" !default;\n$theme-step-indicator-segment-color-pending: \"gray-40\" !default;\n$theme-step-indicator-segment-color-complete: \"primary-darker\" !default;\n$theme-step-indicator-segment-color-current: \"primary\" !default;\n$theme-step-indicator-segment-gap: 2px !default;\n$theme-step-indicator-segment-height: 1 !default;\n$theme-step-indicator-text-pending-color: \"base-dark\" !default;\n\n// Summary box\n$theme-summary-box-background-color: \"info-lighter\" !default;\n$theme-summary-box-border-color: \"info-light\" !default;\n$theme-summary-box-border-width: 1px !default;\n$theme-summary-box-border-radius: \"md\" !default;\n$theme-summary-box-font-family: \"ui\" !default;\n$theme-summary-box-link-color: default !default;\n$theme-summary-box-text-color: default !default;\n\n// Table\n$theme-table-background-color: default !default;\n$theme-table-border-color: \"ink\" !default;\n$theme-table-header-background-color: \"base-lighter\" !default;\n$theme-table-header-text-color: default !default;\n$theme-table-stripe-background-color: \"base-lightest\" !default;\n$theme-table-stripe-text-color: default !default;\n$theme-table-text-color: default !default;\n$theme-table-sorted-header-background-color: \"accent-cool-light\" !default;\n$theme-table-sorted-background-color: \"accent-cool-lighter\" !default;\n$theme-table-sorted-stripe-background-color: \"blue-cool-10v\" !default;\n$theme-table-sorted-icon-color: default !default;\n$theme-table-sticky-top-offset: -1px !default;\n$theme-table-unsorted-icon-color: \"base\" !default;\n\n// Tooltips\n$theme-tooltip-background-color: \"ink\" !default;\n$theme-tooltip-font-color: \"base-lightest\" !default;\n$theme-tooltip-font-size: \"xs\" !default;\n","@use \"../../functions\" as *;\n\n@mixin add-bar(\n $weight: 1,\n $color: \"ink\",\n $side: \"left\",\n $radius: 0,\n $offset-x: 0,\n $offset-y: 0\n) {\n $weight: if($weight == null, 1, $weight);\n $color: if($color == null, \"ink\", $color);\n $side: if($side == null, \"left\", $side);\n $radius: if($radius == null, 0, $radius);\n $offset-x: if($offset-x == null, 0, $offset-x);\n $offset-y: if($offset-y == null, 0, $offset-y);\n\n position: relative;\n\n &::after {\n background-color: color($color);\n border-radius: radius($radius);\n content: \"\";\n display: block;\n position: absolute;\n\n @if $side == (\"left\" or \"right\") {\n bottom: units($offset-y);\n top: units($offset-y);\n width: units($weight);\n #{unquote($side)}: units($offset-x);\n } @else {\n height: units($weight);\n left: units($offset-x);\n right: units($offset-x);\n #{unquote($side)}: units($offset-y);\n\n @media (forced-colors: active) {\n background-color: ButtonText;\n }\n }\n }\n}\n\n@mixin remove-bar {\n &::after {\n display: none;\n }\n}\n","@use \"sass:math\";\n@use \"sass:meta\";\n@use \"uswds-core\" as *;\n\n// Calculate the width of the outer megamenu pseudo elements\n@mixin outer-megamenu($header-max-width: $theme-header-max-width, $type) {\n @include u-pin(\"y\");\n background-color: color(\"primary-darker\");\n content: \"\";\n display: block;\n position: absolute;\n\n // Set variable for submenu max width\n $mw: smart-quote($header-max-width);\n @if meta.type-of($header-max-width) == \"string\" {\n // Retrieve the unit equivalent for submenu max width\n $mw: units($header-max-width);\n }\n\n // Create the vw equivalent for max-width:none\n @if $header-max-width == \"none\" {\n $mw: 100vw;\n }\n\n // Calculate pseudo element width\n // Subtract half the submenu width from half the viewport width\n @if $type == \"standard\" {\n // Add theme margin width to match padding in .usa-nav-container\n width: calc(50vw - $mw / 2 + units($theme-site-margins-width));\n } @else if $type == \"extended\" {\n width: calc(50vw - $mw / 2);\n }\n}\n\n.usa-megamenu {\n .usa-col {\n // Flex grow to take up available width.\n // Flex shrink so long nav lines don't extend beyond viewport.\n // Finally `flex-basis: auto` for IE11.\n flex: 1 1 auto;\n\n @include at-media($theme-header-min-width) {\n // needs this round() to avoid a compile bug\n @include u-flex(math.round(math.div(12, $theme-megamenu-columns)));\n\n .usa-nav__submenu-item a {\n @include u-padding-x(1);\n }\n\n // Remove padding from first and last columns on desktop view.\n &:first-child .usa-nav__submenu-item a {\n padding-left: 0;\n }\n &:last-child .usa-nav__submenu-item a {\n padding-right: 0;\n }\n }\n }\n}\n\n.usa-megamenu.usa-nav__submenu {\n @include at-media($theme-header-min-width) {\n @include u-padding-x(0);\n @include u-padding-y(4);\n left: -$theme-header-logo-text-width;\n right: 0;\n width: auto;\n }\n\n &::before {\n @include at-media($theme-header-min-width) {\n @include outer-megamenu($type: \"standard\");\n right: 100%;\n }\n }\n\n &::after {\n @include at-media($theme-header-min-width) {\n @include outer-megamenu($type: \"standard\");\n left: 100%;\n }\n }\n}\n\n.usa-header--extended .usa-megamenu.usa-nav__submenu {\n &::before {\n @include at-media($theme-header-min-width) {\n @include outer-megamenu($type: \"extended\");\n }\n }\n\n &::after {\n @include at-media($theme-header-min-width) {\n @include outer-megamenu($type: \"extended\");\n }\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-nav-container {\n @include at-media($theme-header-min-width) {\n @include clearfix;\n @include grid-container($theme-header-max-width);\n @include u-padding-x($theme-site-margins-width);\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-navbar {\n @include border-box-sizing;\n height: units($size-touch-target);\n\n @include at-media-max($theme-header-min-width) {\n @include u-flex(\"align-center\");\n border-bottom: units(1px) solid color(\"base-lighter\");\n display: flex;\n }\n\n @include at-media($theme-header-min-width) {\n border-bottom: none;\n display: inline-block;\n height: auto;\n }\n}\n","@use \"uswds-core\" as *;\n\n// Hero feature\n// ==========================\n\n.usa-hero {\n @include border-box-sizing;\n @include typeset;\n background-image: url(\"#{$theme-hero-image}\");\n background-position: center;\n background-size: cover;\n color: color(\"white\");\n\n > .grid-container {\n position: relative;\n @include u-padding-y($theme-site-margins-width);\n }\n}\n\n.usa-hero__callout {\n background-color: color(\"primary-darker\");\n padding: units(4);\n\n @include at-media(\"tablet\") {\n max-width: units(\"mobile\");\n }\n}\n\n.usa-hero__heading {\n @include typeset-h2;\n color: color(\"accent-cool\");\n line-height: line-height(\"heading\", 2);\n}\n\n.usa-hero__heading--alt {\n color: color(\"white\");\n display: block;\n}\n","@use \"sass:map\";\n\n@use \"uswds-core\" as *;\n\n// Variables\n\n// Size icons based on the theme-type-scale-[size] number and this factor\n$icon-list-icon-size-factor: 1.5;\n// Center the icon to the title text, works for all size variants\n$icon-list-icon-margin-top: -1.5%;\n// Fine tune the space between the icon and content with this factor\n$icon-list-icon-padding-left-factor: 0.4;\n// Fine tune the title top padding given a line height of lh-2\n$icon-list-title-padding-top: 0.425ex;\n\n$type-scale: font-size($theme-icon-list-font-family, $theme-body-font-size);\n\n// Get fixed size for icon, based on non-normalized size token\n$this-system-token: if(\n map.has-key($all-type-scale, $theme-body-font-size),\n map.get($all-type-scale, $theme-body-font-size),\n $theme-body-font-size\n);\n\n$icon-size: px-to-rem($this-system-token);\n\n@include override-prose {\n .usa-icon-list {\n @include typeset($theme-icon-list-font-family, $theme-body-font-size);\n @include unstyled-list;\n @include u-measure(5);\n }\n\n .usa-icon-list__item {\n display: flex;\n position: relative;\n\n & + .usa-icon-list__item {\n padding-top: units(1.5);\n }\n }\n}\n\n// Allow setting icon color on the icon-list element\n.usa-icon-list {\n @each $color, $grades in $all-project-colors {\n @each $grade, $value in $grades {\n @if $value {\n $prefix: if($grade != \"default\", \"#{$color}-#{$grade}\", $color);\n &--#{$prefix} {\n .usa-icon-list__icon {\n color: color($prefix);\n }\n }\n }\n }\n }\n}\n\n.usa-icon-list__icon {\n .usa-icon {\n // Set the height and width of the icon based on the size variant and factor\n // Doesn't use u-square() because of non-token size\n display: block;\n height: $icon-size * $icon-list-icon-size-factor;\n // margin-top: $icon-list-icon-margin-top;\n position: relative;\n width: $icon-size * $icon-list-icon-size-factor;\n }\n}\n\n// Don't resize any block-level element inside content\n.usa-icon-list__content {\n > p,\n > ul,\n > ol {\n @include u-font($theme-icon-list-font-family, $theme-body-font-size);\n @include u-measure(5);\n }\n}\n\n.usa-icon-list[class*=\"usa-icon-list--size-\"] {\n @include u-measure(\"none\");\n}\n\n// Generate responsive variants\n// Create a map for looping that includes a default or no-breakpoint version\n$this-null: (\n \"none\": null,\n);\n$icon-list-breakpoints: map-merge($this-null, $system-breakpoints);\n@each $mq-key, $mq-value in $icon-list-breakpoints {\n // Set the prefix\n // An empty string if \"none\"\n $prefix: false;\n @if $mq-key == \"none\" {\n $prefix: \"\";\n }\n // Or the standard prefix if the breakpoint is output\n @else if map.get($theme-utility-breakpoints-complete, $mq-key) {\n $prefix: \"#{$mq-key}#{$separator}\";\n }\n\n @include at-media($mq-key) {\n @each $token, $val in $all-type-scale {\n @if $prefix {\n $this-type-scale: font-size($theme-icon-list-font-family, $token);\n .#{$prefix}usa-icon-list--size-#{$token} {\n .usa-icon-list__icon {\n .usa-icon {\n // Set the height and width of the icon based on the size variant and factor\n height: $this-type-scale * $icon-list-icon-size-factor;\n width: $this-type-scale * $icon-list-icon-size-factor;\n }\n }\n\n .usa-icon-list__content {\n @include u-measure(5);\n // Resize simple (un-marked up) content\n font-size: size($theme-icon-list-font-family, $token);\n // Calculate the space between the icon and content based on the size variant and factor\n padding-left: $this-type-scale *\n $icon-list-icon-padding-left-factor;\n\n .usa-icon-list__title {\n @include u-font($theme-icon-list-title-font-family, $token);\n }\n }\n }\n }\n }\n }\n}\n\n.usa-icon-list__title {\n @include typeset(\n $theme-icon-list-title-font-family,\n $theme-body-font-size,\n 2\n );\n margin-bottom: units(0);\n padding-top: $icon-list-title-padding-top;\n & + * {\n margin-top: units(1);\n }\n}\n\n.usa-icon-list__content {\n font-size: $type-scale;\n padding-left: $type-scale * $icon-list-icon-padding-left-factor;\n > *:first-child {\n margin-top: 0;\n }\n > *:last-child {\n margin-bottom: 0;\n }\n\n ul li {\n list-style-type: disc;\n }\n}\n","@use \"uswds-core\" as *;\n\n$identifier-context: \"Identifier\";\n$identifier-logo-height: 6;\n$identifier-section-margin-y: 2;\n$identifier-section-margin-y-small: 1;\n$identifier-link-gap: 1.5;\n$identifier-link-gap-desktop: 1;\n$identifier-links-gap: 4 !default;\n\n@mixin identifier-primary-link {\n @include set-link-from-bg(\n $theme-identifier-background-color,\n $theme-identifier-primary-link-color,\n $context: $identifier-context\n );\n}\n\n@mixin identifier-secondary-link {\n @include set-link-from-bg(\n $theme-identifier-background-color,\n $theme-identifier-secondary-link-color,\n $context: $identifier-context\n );\n}\n\n//\n// General Styles\n// =====================================\n.usa-identifier {\n @include typeset($theme-identifier-font-family, \"sm\", 3);\n @include set-text-and-bg(\n $theme-identifier-background-color,\n $context: $identifier-context\n );\n padding-bottom: units(2);\n}\n\n.usa-identifier__container {\n @include grid-container;\n @include u-maxw($theme-identifier-max-width);\n}\n\n.usa-identifier__section {\n @include u-padding-y($identifier-section-margin-y);\n}\n\n.usa-identifier__section--masthead {\n .usa-identifier__container {\n @include at-media(\"tablet\") {\n @include u-align-items(\"align-center\");\n @include u-display(\"flex\");\n }\n }\n}\n\n.usa-identifier__logos {\n display: flex;\n margin-right: units(2);\n}\n\n.usa-identifier__logo {\n @include u-text-decoration(\"no-underline\");\n height: units($identifier-logo-height);\n display: block;\n\n & + .usa-identifier__logo {\n margin-left: units(1);\n }\n}\n\n.usa-identifier__logo-img {\n height: 100%;\n width: auto;\n}\n\n.usa-identifier__identity {\n @include u-flex(\"fill\");\n margin-top: units(2);\n\n @include at-media(\"tablet\") {\n margin-top: units(0);\n }\n}\n\n.usa-identifier__identity-domain,\n.usa-identifier__identity-disclaimer {\n margin: 0;\n padding: 0;\n}\n\n.usa-identifier__identity-domain {\n @include set-text-from-bg(\n $theme-identifier-background-color,\n $theme-identifier-identity-domain-color,\n $context: $identifier-context\n );\n}\n\n.usa-identifier__identity-disclaimer {\n @include u-text(\"bold\");\n\n a {\n @include identifier-primary-link;\n }\n}\n\n.usa-identifier__section--required-links {\n @include at-media(\"tablet\") {\n @include u-padding-y($identifier-section-margin-y-small);\n }\n @include at-media(\"desktop\") {\n @include u-font-size($theme-identifier-font-family, \"xs\");\n }\n}\n\n.usa-identifier__required-links-list {\n @include add-list-reset;\n @include u-margin-y(0);\n\n @include at-media(\"tablet\") {\n column-count: 2;\n column-gap: units($identifier-links-gap);\n column-fill: balance;\n }\n\n @include at-media(\"desktop\") {\n column-count: 4;\n }\n}\n\n.usa-identifier__required-links-item {\n break-inside: avoid;\n margin-bottom: units($identifier-link-gap);\n\n &:last-child {\n margin-bottom: units(0);\n }\n\n @include at-media(\"desktop\") {\n margin-bottom: units($identifier-link-gap-desktop);\n }\n}\n\n.usa-identifier__required-link,\n.usa-identifier__required-link.usa-link {\n @include identifier-secondary-link;\n display: inline-block;\n}\n\n.usa-identifier__section--usagov a {\n @include identifier-primary-link;\n @include u-text(\"bold\");\n display: inline-block;\n margin-top: units(1);\n\n @include at-media(\"tablet\") {\n margin-top: 0;\n }\n}\n\n.usa-identifier__usagov-description {\n @include at-media(\"tablet\") {\n display: inline-flex;\n }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../../functions\" as *;\n@use \"../../tokens\" as *;\n\n// Outputs text-decoration and color properties\n\n@mixin u-text-decoration($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n @each $this-value in $value {\n @if map.has-key($all-color-shortcodes, smart-quote($this-value)) {\n text-decoration-color: color(smart-quote($this-value)) #{$important};\n } @else {\n text-decoration: get-uswds-value(\"text-decoration\", $value...)\n #{$important};\n }\n }\n}\n","@use \"uswds-core\" as *;\n@use \"sass:color\";\n@use \"sass:list\";\n\n.usa-in-page-nav-container {\n align-items: flex-start;\n display: flex;\n\n // Set main landmark max width to ensure in-page nav will fit\n main {\n max-width: units($theme-in-page-nav-main-content-max-width);\n width: 100%;\n }\n}\n\n.usa-in-page-nav {\n @include set-text-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $context: \"In-page navigation text color\"\n );\n display: none;\n margin-left: units($theme-in-page-nav-margin-left);\n margin-top: units($theme-in-page-nav-margin-top);\n max-width: units(\"card-lg\");\n order: 2;\n position: sticky;\n top: units($theme-in-page-nav-top);\n width: 100%;\n\n @include at-media(\"tablet\") {\n display: block;\n }\n}\n\n.usa-in-page-nav__nav {\n @include set-text-and-bg(\n $theme-in-page-nav-background-color,\n $context: \"In-page navigation background\"\n );\n border-radius: radius($theme-in-page-nav-background-radius);\n padding: units($theme-in-page-nav-background-padding);\n}\n\n.usa-in-page-nav__heading {\n // TODO: This could be a setting?\n @include typeset(\"ui\", \"2xs\", 3);\n @include u-font-weight(\"bold\");\n margin-bottom: units(2);\n margin-top: 0;\n padding: 0;\n}\n\n.usa-in-page-nav__list {\n @include border-box-sizing;\n @include nav-list(\"sidenav\");\n border-left: units(1px) solid\n color.adjust(\n color(\n get-color-token-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $context: \"In-page navigation rail\"\n )\n ),\n $alpha: -0.75\n );\n padding: 0;\n\n // specificity to override sidenav styles\n a:not(.usa-button) {\n &:not(.usa-current) {\n @include set-link-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $preferred-link-color: $theme-in-page-nav-link-color,\n $context: \"In-page-navigation link\"\n );\n\n &:visited {\n color: color(\n list.nth(\n get-link-tokens-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $preferred-link-token: $theme-in-page-nav-link-color,\n $context: \"In-page-navigation link\"\n ),\n 1\n )\n );\n }\n }\n\n &.usa-current {\n @include set-text-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $context: \"In-page-navigation current color\"\n );\n font-weight: inherit;\n }\n\n &:hover {\n text-decoration: underline;\n background-color: none;\n }\n\n &.usa-current {\n position: static;\n\n &::after {\n background-color: color(\n get-color-token-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $preferred-text-token: $theme-in-page-nav-bar-color,\n $context: \"In-page navigation bar\"\n )\n );\n border-radius: 0;\n bottom: units(-1px);\n left: 0;\n top: 0;\n width: units($theme-in-page-nav-bar-width);\n z-index: z(100);\n }\n }\n }\n}\n\n.usa-in-page-nav__item {\n @include typeset($theme-in-page-nav-font-family, \"2xs\", 2);\n border: none;\n position: relative;\n\n &--primary {\n @include u-font-weight(\"bold\");\n }\n}\n","@use \"./add-bar\" as *;\n@use \"../../functions\" as *;\n@use \"../../mixins/helpers\" as *;\n@use \"../../mixins/typography/unstyled-list\" as *;\n@use \"../../mixins/utilities\" as *;\n@use \"../../settings\" as *;\n\n$sidenav-level-1-inset: 2;\n$sidenav-level-2-inset: 4;\n$sidenav-level-3-inset: 6;\n$sidenav-level-4-inset: 8;\n\n@mixin nav-list($type) {\n @include unstyled-list();\n\n @if $type == \"sidenav\" {\n &__item {\n border-top: units(1px) solid color(\"base-lighter\");\n }\n }\n\n @if $type == \"nav\" {\n &-item {\n border-top: units(1px) solid color(\"base-lighter\");\n }\n }\n\n a:not(.usa-button) {\n display: block;\n padding: units(1) units($sidenav-level-1-inset);\n text-decoration: none;\n\n &:hover {\n background-color: color(\"base-lightest\");\n text-decoration: none;\n }\n }\n\n a:not(.usa-button):not(.usa-current) {\n color: color(\"base-dark\");\n\n &:hover {\n color: color($theme-link-color);\n }\n\n &:focus {\n outline-offset: 0;\n }\n }\n\n .usa-current {\n @include add-bar(\n $theme-sidenav-current-border-width,\n \"primary\",\n \"left\",\n \"pill\",\n 0.5,\n 0.5\n );\n color: color($theme-link-color);\n font-weight: font-weight(\"bold\");\n\n @include at-media(\"tablet\") {\n @include add-bar(\n $theme-sidenav-current-border-width,\n $theme-link-color,\n \"left\",\n \"pill\",\n 0,\n 0.5\n );\n }\n }\n}\n\n@mixin nav-sublist {\n @include unstyled-list();\n margin: 0;\n\n &-item {\n border-top: units(1px) solid color(\"base-lighter\");\n font-size: font-size($theme-sidenav-font-family, \"2xs\");\n }\n\n .usa-current {\n @include remove-bar;\n\n @include at-media(\"tablet\") {\n @include remove-bar;\n }\n }\n\n // level 2+\n a:not(.usa-button) {\n padding-left: units($sidenav-level-2-inset);\n }\n\n // level 3+\n & & a:not(.usa-button) {\n padding-left: units($sidenav-level-3-inset);\n }\n\n // level 4+\n & & & a:not(.usa-button) {\n padding-left: units($sidenav-level-4-inset);\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-language {\n @include u-flex(\"row\", \"align-center\", \"justify-end\");\n display: flex;\n padding: 0 0 units(0.5) units(1);\n width: 100%;\n\n &--small {\n .usa-button {\n @include u-padding-x(1.5);\n @include u-padding-y(0);\n font-size: font-size($theme-header-font-family, \"3xs\");\n height: units(4);\n margin-top: 0.3rem;\n min-width: units($theme-button-small-width);\n }\n }\n}\n\n.usa-language-container {\n @include u-flex(\"align-center\", \"justify-end\");\n display: flex;\n}\n\n.usa-nav-container {\n .usa-language-container {\n align-self: center;\n margin-left: units(0);\n position: absolute;\n right: units(10);\n top: units(2);\n\n @include at-media($theme-header-min-width) {\n align-self: flex-end;\n margin-left: units(1.5);\n margin-bottom: units(1);\n position: relative;\n right: inherit;\n top: units(-2px);\n }\n }\n}\n\n.usa-language__link {\n margin-right: units(0);\n}\n\n.usa-language__primary {\n width: auto;\n}\n\n.usa-language__primary-item:last-of-type {\n position: relative;\n\n .usa-language__submenu {\n @include u-pin-right;\n }\n}\n\n.usa-language__submenu {\n @include add-list-reset;\n @include nav-sublist;\n background-color: color(\"primary-darker\");\n position: absolute;\n width: units(\"card-lg\");\n z-index: z-index(400);\n\n &[aria-hidden=\"true\"] {\n display: none;\n }\n\n .usa-language__submenu-item {\n a {\n color: color(\"white\");\n display: block;\n line-height: line-height($theme-navigation-font-family, 3);\n padding: 0;\n padding: units(1);\n text-decoration: none;\n\n &:focus {\n outline-offset: units(\"neg-05\");\n }\n\n &:hover {\n color: color(\"white\");\n text-decoration: underline;\n }\n }\n }\n}\n\n.usa-language__submenu-list {\n @include unstyled-list;\n\n .usa-language__submenu-list-item {\n margin: 0;\n font-size: font-size($theme-navigation-font-family, \"2xs\");\n\n a {\n line-height: line-height($theme-navigation-font-family, 3);\n }\n }\n}\n","@use \"uswds-core\" as *;\n\n$sidenav-reorder-warning: \"$theme-sidenav-reorder is enabled and has accessibility concerns. This behavior has a negative impact on users of assistive technologies.\";\n\n.usa-layout-docs__sidenav {\n padding-top: units(4);\n\n @include at-media(\"desktop\") {\n padding-top: 0;\n }\n\n // Revert to >3.8.0 behavior and give a warning.\n @if $theme-sidenav-reorder {\n @warn $sidenav-reorder-warning;\n\n &:first-of-type {\n @include grid-col(12);\n order: 2;\n\n @include at-media(\"desktop\") {\n @include grid-col(3);\n order: 0;\n }\n }\n }\n}\n","@use \"sass:map\";\n\n@use \"uswds-core\" as *;\n\n/* stylelint-disable */\n\n$namespace-grid: ns(\"grid\");\n\n// basic container\n.#{$namespace-grid}container {\n $props: append-important($grid-global, $theme-grid-container-max-width);\n @include grid-container($props);\n}\n\n// container with custom widths\n@each $width-key, $width-value in $system-breakpoints {\n .#{$namespace-grid}container-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-container($props);\n }\n}\n\n// responsive containers...\n@each $mq-key, $mq-value in $system-breakpoints {\n @if map.get($theme-utility-breakpoints-complete, $mq-key) {\n @include at-media($mq-key) {\n .#{$mq-key}#{$separator}#{$namespace-grid}container {\n $props: append-important($grid-global, desktop);\n @include grid-container($props);\n }\n\n // ...with custom widths\n @each $width-key, $width-value in $system-breakpoints {\n .#{$mq-key}#{$separator}#{$namespace-grid}container-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-container($props);\n }\n }\n }\n }\n}\n\n// basic row...\n.#{$namespace-grid}row {\n @include grid-row;\n\n // ...that includes column gaps\n &.#{$namespace-grid}gap {\n @include grid-gap-responsive;\n }\n @each $gap-key, $gap-val in map-deep-get($system-properties, gap, standard) {\n &.#{$namespace-grid}gap-#{$gap-key} {\n $props: append-important($grid-global, $gap-key);\n @include grid-gap($props);\n }\n }\n\n // responsive column gaps\n @each $mq-key, $mq-value in $system-breakpoints {\n @if map.get($theme-utility-breakpoints-complete, $mq-key) {\n @include at-media($mq-key) {\n @each $gap-key,\n $gap-val in map-deep-get($system-properties, gap, standard)\n {\n &.#{$mq-key}#{$separator}#{$namespace-grid}gap-#{$gap-key} {\n $props: append-important($grid-global, $gap-key);\n @include grid-gap($props);\n }\n }\n }\n }\n }\n}\n\n// basic columns...\n[class*=\"#{$namespace-grid}col\"] {\n @include u-position(relative);\n @include u-width(full);\n box-sizing: border-box;\n}\n\n.#{$namespace-grid}col {\n $props: append-important($grid-global, fill);\n @include grid-col($props);\n}\n\n.#{$namespace-grid}col-auto {\n $props: append-important($grid-global, auto);\n @include grid-col($props);\n}\n\n.#{$namespace-grid}col-fill {\n $props: append-important($grid-global, fill);\n @include grid-col($props);\n}\n\n// ...with widths\n@each $width-key, $width-value in $system-layout-grid-widths {\n .#{$namespace-grid}col-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-col($props);\n }\n}\n\n// responsive columns\n@each $mq-key, $mq-value in $system-breakpoints {\n @if map.get($theme-utility-breakpoints-complete, $mq-key) {\n @include at-media($mq-key) {\n .#{$mq-key}#{$separator}#{$namespace-grid}col {\n $props: append-important($grid-global, fill);\n @include grid-col($props);\n }\n .#{$mq-key}#{$separator}#{$namespace-grid}col-fill {\n $props: append-important($grid-global, fill);\n @include grid-col($props);\n }\n .#{$mq-key}#{$separator}#{$namespace-grid}col-auto {\n $props: append-important($grid-global, auto);\n @include grid-col($props);\n }\n\n @each $width-key, $width-value in $system-layout-grid-widths {\n .#{$mq-key}#{$separator}#{$namespace-grid}col-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-col($props);\n }\n }\n }\n }\n}\n\n// basic offsets\n@each $width-key, $width-value in $system-layout-grid-widths {\n .#{$namespace-grid}offset-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-offset($props);\n }\n}\n.#{$namespace-grid}offset-none {\n $props: append-important($grid-global, none);\n @include grid-offset($props);\n}\n\n// responsive offsets\n@each $mq-key, $mq-value in $system-breakpoints {\n @if map.get($theme-utility-breakpoints-complete, $mq-key) {\n @each $width-key, $width-value in $system-layout-grid-widths {\n @include at-media($mq-key) {\n .#{$mq-key}#{$separator}#{$namespace-grid}offset-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-offset($props);\n }\n }\n }\n @include at-media($mq-key) {\n .#{$mq-key}#{$separator}#{$namespace-grid}offset-none {\n $props: append-important($grid-global, none);\n @include grid-offset($props);\n }\n }\n }\n}\n/* stylelint-enable */\n","@use \"uswds-core\" as *;\n\n.usa-media-block {\n @include u-align-items(\"align-start\");\n @include u-display(\"flex\");\n}\n\n.usa-media-block__img {\n @include media-block-img;\n}\n\n.usa-media-block__body {\n @include u-flex(1);\n}\n","@use \"uswds-core\" as *;\n\n.usa-js-no-click {\n pointer-events: none;\n user-select: none;\n\n .usa-modal,\n .usa-modal * {\n pointer-events: auto;\n user-select: text;\n }\n}\n\n// Prevents propagation issue in Safari an opener\n// has a child element, and when clicked, prevents\n// intended action\n[data-open-modal] * {\n pointer-events: none;\n}\n\n.usa-modal-wrapper {\n text-align: center;\n transition: opacity $project-easing;\n\n // Using visibility: hidden instead of display: none because\n // of iOS VoiceOver issue:\n // https://developer.paciellogroup.com/blog/2018/06/the-current-state-of-modal-dialog-accessibility/\n &.is-hidden {\n visibility: hidden;\n opacity: opacity(0);\n position: fixed;\n }\n\n &.is-visible {\n visibility: visible;\n opacity: opacity(100);\n position: fixed;\n z-index: z-index(\"top\");\n }\n}\n\n.usa-modal-overlay {\n background: color(\"black-transparent-70\");\n bottom: 0;\n height: 100%;\n left: 0;\n overflow: scroll;\n overflow-x: hidden;\n padding: units(3);\n position: fixed;\n scroll-behavior: smooth;\n top: 0;\n width: 100%;\n\n &:before {\n content: \"\";\n display: inline-block;\n height: 100%;\n vertical-align: middle;\n }\n\n &[data-force-action=\"true\"] {\n pointer-events: none;\n\n * {\n pointer-events: auto;\n }\n }\n}\n\n// Prevents modals from flickering\n// Still allows content to be accessed\n.usa-js-loading {\n .usa-modal-wrapper {\n @include add-sr-only;\n }\n\n .usa-modal-wrapper:target {\n position: static;\n }\n}\n\n.usa-modal {\n @include typeset;\n @include u-radius($theme-modal-border-radius);\n background: white;\n @include set-text-from-bg(\"white\");\n display: inline-block;\n margin: units(2.5) auto;\n max-width: units($theme-modal-default-max-width);\n position: relative;\n text-align: left;\n vertical-align: middle;\n width: 100%;\n\n &:focus {\n outline: none;\n }\n}\n\n.usa-modal__content {\n display: flex;\n flex-direction: column-reverse;\n padding-top: units(4);\n width: 100%;\n}\n\n.usa-modal__main {\n margin: 0 auto;\n padding: units(1) units(4) units(4);\n}\n\n// Prevents JS not recognizing as part of close button.\n.usa-modal-wrapper [data-close-modal] > .usa-icon,\n.usa-modal-wrapper [data-close-modal] > .usa-icon use {\n pointer-events: none !important;\n}\n\n.usa-modal__close {\n align-items: center;\n align-self: flex-end;\n background-color: transparent;\n color: color(\"base\");\n display: flex;\n flex-shrink: 0;\n font-size: size(\"ui\", \"2xs\");\n margin: units(-4) 0 0 auto;\n padding: units(0.5) units(0.5);\n width: auto;\n\n &:hover,\n &:active {\n background-color: transparent;\n color: color(\"ink\");\n }\n\n &:focus {\n outline-offset: 0;\n }\n\n .usa-icon {\n height: units(4);\n margin: units(2px) units(2px) 0 0;\n width: units(4);\n }\n}\n\n.usa-modal__heading {\n @include u-font(\"heading\", \"lg\");\n line-height: line-height(\"heading\", 3);\n margin-top: 0;\n}\n\n.usa-modal__footer {\n margin-top: units(3);\n}\n\n// Variants\n.usa-modal--lg {\n max-width: units($theme-modal-lg-max-width);\n width: 100%;\n\n .usa-modal__main {\n padding-bottom: units(8);\n padding-top: units(2.5);\n width: 100%;\n max-width: units($theme-modal-lg-content-max-width);\n }\n\n .usa-modal__heading {\n @include at-media(\"tablet\") {\n @include u-font(\"heading\", \"xl\");\n }\n }\n}\n\n.usa-js-modal--active {\n overflow: hidden;\n}\n","@use \"sass:math\";\n@use \"sass:list\";\n@use \"sass:color\";\n\n@use \"uswds-core\" as *;\n\n$pagination-context: \"Pagination\";\n$pagination-margin-x: 0.5 !default;\n$pagination-margin-y: 2 !default;\n$pagination-margin-padding: 1 !default;\n$pagination-target-size: 5 !default;\n\n$pagination-current-color: get-color-token-from-bg(\n $theme-pagination-background-color\n);\n\n$pagination-link-tokens: get-link-tokens-from-bg(\n $theme-pagination-background-color,\n $theme-link-reverse-color,\n $theme-link-color,\n $context: $pagination-context\n);\n\n$pagination-link-token: list.nth($pagination-link-tokens, 1);\n$pagination-hover-token: list.nth($pagination-link-tokens, 2);\n\n// Pagination\n// ---------------------------------\n.usa-pagination {\n @include u-margin-y($pagination-margin-y);\n @include typeset($theme-pagination-font-family);\n @include set-text-and-bg(\n $theme-pagination-background-color,\n $context: $pagination-context\n );\n display: flex;\n justify-content: center;\n}\n\n// TODO: Pull out magic number into vars? Could this better?\n.usa-pagination .usa-icon {\n height: px-to-rem(18px);\n width: px-to-rem(18px);\n}\n\n// Shared styles\n// ---------------------------------\n\n// Pagination nav\n// ---------------------------------\n.usa-pagination__list {\n @include add-list-reset;\n align-items: center;\n display: flex;\n flex-flow: row nowrap;\n justify-content: center;\n width: auto;\n}\n\n// Pagination nav items\n// 1. Prevents chromium browsers from adding additional vertical whitespace\n.usa-pagination__item {\n display: inline-flex; // 1\n height: units($pagination-target-size);\n justify-content: center;\n line-height: 1;\n margin-left: units($pagination-margin-x);\n margin-right: units($pagination-margin-x);\n min-width: units($pagination-target-size);\n\n @include at-media($theme-pagination-breakpoint) {\n flex: 1 0 auto; // flex: 1 won't work in IE11\n }\n}\n\n// Don't show previous and next at mobile.\n// Functionality exists with page buttons.\n.usa-pagination__arrow {\n display: none;\n @include at-media($theme-pagination-breakpoint) {\n display: inherit;\n }\n}\n\n.usa-pagination__previous-page {\n @include at-media($theme-pagination-breakpoint) {\n margin-right: units(math.div($pagination-target-size, 2));\n }\n}\n\n.usa-pagination__next-page {\n @include at-media($theme-pagination-breakpoint) {\n margin-left: units(math.div($pagination-target-size, 2));\n }\n}\n\n.usa-pagination__link {\n align-items: center;\n color: color($pagination-link-token);\n display: inline-flex;\n text-decoration: none;\n\n &[disabled] {\n opacity: 0.4 !important;\n pointer-events: none;\n }\n\n &:hover,\n &:focus,\n &:active {\n color: color($pagination-hover-token);\n text-decoration: underline;\n }\n\n &:visited {\n color: color($pagination-link-token);\n }\n}\n\n.usa-pagination__button {\n align-items: center;\n border-color: color.adjust(color($pagination-current-color), $alpha: -0.8);\n border-radius: radius($theme-pagination-button-border-radius);\n border-style: solid;\n border-width: units($theme-pagination-button-border-width);\n color: color($pagination-link-token);\n display: inline-flex;\n justify-content: center;\n padding: units($pagination-margin-padding);\n text-decoration: none;\n width: 100%;\n\n &:hover,\n &:focus,\n &:active {\n color: color($pagination-hover-token);\n border-color: color($pagination-hover-token);\n\n @media (forced-colors: active) {\n border: $border-high-contrast;\n }\n }\n}\n\n.usa-pagination .usa-current {\n $text-color: if(\n $theme-pagination-background-color == \"default\",\n $theme-body-background-color,\n $theme-pagination-background-color\n );\n background-color: color($pagination-current-color);\n border-color: transparent;\n color: color($text-color);\n\n @media (forced-colors: active) {\n border: $border-high-contrast;\n color: buttonText;\n }\n\n &:hover,\n &:focus,\n &:active {\n background-color: color($pagination-current-color);\n color: color($text-color);\n text-decoration: none;\n\n @media (forced-colors: active) {\n color: buttontext;\n }\n }\n}\n\n.usa-pagination__overflow {\n align-items: center;\n align-self: stretch;\n display: inherit;\n user-select: none;\n padding: units($pagination-margin-padding);\n}\n\n// ---------------------------------\n// Variants\n// ---------------------------------\n","@use \"uswds-core\" as *;\n\n// PROCESS LIST\n$theme-process-list-counter-content-padding: calc(\n (#{units($theme-process-list-counter-size)} / 2) - #{units(0.5)}\n);\n$theme-process-list-counter-line-x-position: calc(\n (\n (#{units($theme-process-list-counter-size)} / 2) -\n (#{units($theme-process-list-connector-width)} / 2)\n )\n);\n\n@include override-prose {\n .usa-process-list {\n @include typeset($theme-process-list-font-family);\n @include unstyled-list;\n counter-reset: usa-numbered-list;\n padding: 20px 0 0 $theme-process-list-counter-line-x-position;\n position: relative;\n\n // Use increased specificity to override unstyled-list()\n & > .usa-process-list__item {\n @include u-measure(5);\n }\n }\n\n .usa-process-list__item {\n border-left: units($theme-process-list-connector-width) solid\n color($theme-process-list-connector-color);\n font-size: size(\n $theme-process-list-font-family,\n $theme-process-list-font-size\n );\n margin-bottom: 0;\n padding-bottom: units(4);\n padding-left: calc(#{$theme-process-list-counter-content-padding} * 2);\n }\n}\n\n.usa-process-list__item {\n &:last-child {\n border-left: units($theme-process-list-connector-width) solid transparent;\n }\n\n &::before {\n @include u-flex(\"row\", \"align-center\", \"justify-center\");\n $half-of-font-size: -0.4rem;\n @include u-circle($theme-process-list-counter-size);\n background-color: color($theme-process-list-counter-background-color);\n border: units($theme-process-list-counter-border-width) solid\n color($theme-process-list-counter-border-color);\n box-shadow: 0 0 0 units($theme-process-list-counter-gap-width)\n color($theme-process-list-counter-gap-color);\n color: color($theme-process-list-counter-text-color);\n content: counter(usa-numbered-list, decimal);\n counter-increment: usa-numbered-list;\n display: flex;\n font-family: family($theme-process-list-counter-font-family);\n font-size: size(\n $theme-process-list-counter-font-family,\n $theme-process-list-counter-font-size\n );\n font-weight: font-weight(\"bold\");\n height: units($theme-process-list-counter-size);\n left: 0;\n line-height: lh($theme-process-list-counter-font-family, 1);\n margin-top: $half-of-font-size;\n position: absolute;\n width: units($theme-process-list-counter-size);\n }\n\n ul {\n list-style-type: disc;\n\n li {\n margin-bottom: units(0.5);\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n }\n\n > *:first-child {\n margin-top: 0;\n }\n\n > *:last-child {\n margin-bottom: 0;\n }\n}\n\n.usa-process-list__heading {\n @include typeset(\n $theme-process-list-heading-font-family,\n $theme-process-list-heading-font-size,\n 2\n );\n color: color($theme-process-list-heading-color);\n font-family: family($theme-process-list-heading-font-family);\n font-weight: font-weight(\"bold\");\n margin: 0;\n\n & + * {\n margin-top: units(0.5);\n }\n}\n","@use \"uswds-core\" as *;\n\n// Map for high contrast search icon\n$search-icon: (\n \"name\": \"search\",\n \"color\": ButtonText,\n \"svg-height\": 20,\n \"svg-width\": 20,\n \"height\": units(3),\n);\n\n.usa-search {\n @include border-box-sizing;\n @include clearfix;\n @include typeset($theme-search-font-family);\n position: relative;\n\n // if role is in the element (>=2.6.0)...\n &[role=\"search\"],\n // if there is a (=2.5.[0,1])...\n &[role=\"search\"]>div,\n // ...or if the component has a separate (<=2.4.0)\n [role=\"search\"] {\n display: flex;\n }\n\n [type=\"submit\"] {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n height: units(4);\n margin: 0;\n padding: 0;\n width: units($theme-button-small-width);\n\n @include at-media(\"mobile-lg\") {\n @include u-padding-x(2);\n width: auto;\n }\n\n @media (forced-colors: active) {\n @include place-icon($search-icon, \"before\");\n\n &:focus {\n outline-offset: 0;\n }\n\n &::before {\n @include at-media(\"mobile-lg\") {\n content: none;\n }\n }\n }\n }\n\n &__submit-icon {\n @include at-media(\"mobile-lg\") {\n display: none;\n }\n\n @media (forced-colors: active) {\n display: none;\n }\n }\n}\n\n.usa-search--big {\n $height: units(6);\n\n [type=\"search\"],\n .usa-search__input {\n @include at-media(\"mobile-lg\") {\n font-size: font-size($theme-search-font-family, \"sm\");\n height: $height;\n }\n }\n\n [type=\"submit\"],\n .usa-search__submit {\n @include at-media(\"mobile-lg\") {\n @include u-padding-x(4);\n font-size: font-size($theme-search-font-family, \"lg\");\n height: $height;\n width: auto;\n }\n }\n}\n\n.usa-search--small {\n [type=\"submit\"],\n .usa-search__submit {\n @include u-padding-x(1.5);\n min-width: units($theme-button-small-width);\n }\n\n [type=\"submit\"] {\n @media (forced-colors: active) {\n &::before {\n @include at-media(\"mobile-lg\") {\n content: \"\";\n }\n }\n }\n }\n\n .usa-search__submit-icon {\n @include u-square(3);\n display: block;\n\n @media (forced-colors: active) {\n display: none;\n }\n }\n}\n\n// Extra specificity to override rules set in normalize.css.\ninput[type=\"search\"] {\n /* stylelint-disable-line selector-no-qualifying-type */\n box-sizing: border-box;\n appearance: none;\n}\n\n[type=\"search\"],\n.usa-search__input {\n @include u-padding-y(0);\n border-bottom-right-radius: 0;\n border-right: none;\n border-top-right-radius: 0;\n box-sizing: border-box;\n float: left;\n font-size: font-size($theme-search-font-family, \"xs\");\n height: units(4);\n margin: 0;\n}\n\n.usa-search__submit-text {\n display: none;\n\n @include at-media(\"mobile-lg\") {\n display: block;\n }\n}\n","@use \"uswds-core\" as *;\n\n$section-context: \"Section\";\n\n.usa-section {\n @include border-box-sizing;\n @include u-padding-y($theme-site-margins-width);\n\n @include at-media(\"tablet\") {\n @include u-padding-y(8);\n }\n}\n\n.usa-section--light {\n background-color: color(\"base-lightest\");\n}\n\n.usa-section--dark {\n background-color: color(\"primary-darker\");\n color: color($theme-text-reverse-color);\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n // TODO: This should use a theme-able color,\n // and should probably default to white\n color: color(\"accent-cool\");\n }\n\n p {\n color: color($theme-text-reverse-color);\n }\n\n a {\n @include set-link-from-bg(\n \"primary-darker\",\n $theme-link-reverse-color,\n $context: $section-context\n );\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-sidenav {\n @include border-box-sizing;\n @include nav-list(\"sidenav\");\n @include typeset($theme-sidenav-font-family, \"sm\", 3);\n border-bottom: units(1px) solid color(\"base-lighter\");\n\n .grid-container & {\n @include u-margin-x(-$theme-site-margins-mobile-width);\n\n @include at-media(\"tablet\") {\n @include u-margin-x(0);\n }\n }\n}\n\n.usa-sidenav__sublist {\n @include nav-sublist;\n font-size: font-size($theme-sidenav-font-family, \"xs\");\n}\n","@use \"sass:math\";\n@use \"uswds-core\" as *;\n\n// Alert variables ---------- //\n$site-alert-icons: (\n info: \"info\",\n emergency: \"error\",\n);\n\n.usa-site-alert {\n .usa-alert {\n @include alert-styles;\n }\n}\n\n@each $name, $icon in $site-alert-icons {\n .usa-site-alert--#{$name} .usa-alert {\n @include alert-status-wrapper-styles($name);\n\n .usa-alert__body {\n @include alert-status-body-styles($name, $icon);\n }\n }\n}\n\n.usa-site-alert--slim .usa-alert {\n @include alert-styles-slim;\n}\n\n.usa-site-alert--no-icon .usa-alert {\n @include alert-styles-no-icon;\n}\n","@use \"uswds-core\" as *;\n\n.usa-skipnav {\n @include border-box-sizing;\n @include typeset;\n @include typeset-link;\n background: transparent;\n left: 0;\n padding: units(1) units(2);\n position: absolute;\n top: -3.8rem; // skipnav link height\n transition: $project-easing;\n z-index: z-index(100);\n\n &:focus,\n &.usa-focus {\n background: color(\"white\");\n left: 0;\n position: absolute;\n top: 0;\n transition: $project-easing;\n }\n}\n\n.usa-skipnav__container {\n position: relative;\n}\n","@use \"sass:math\";\n\n@use \"uswds-core\" as *;\n\n$step-indicator-label-margin-top: 1;\n$step-indicator-margin-bottom: 4;\n$step-indicator-header-margin-top: 4;\n$step-indicator-header-margin-top-sm: 2;\n$step-indicator-segment-height-mobile: 1;\n$step-indicator-counter-size: 5;\n$step-indicator-counter-size-sm: 3;\n\n.usa-step-indicator {\n @include typeset(\n $theme-step-indicator-font-family,\n $theme-step-indicator-label-font-size,\n 2\n );\n background-color: color($step-indicator-background-color);\n margin-bottom: units($step-indicator-margin-bottom);\n margin-left: math.div(units($theme-step-indicator-segment-gap), -2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), -2);\n\n @include at-media($theme-step-indicator-min-width) {\n @include u-margin-x(0);\n }\n}\n\n.usa-step-indicator__segments {\n counter-reset: usa-step-indicator;\n display: flex;\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.usa-step-indicator__segment {\n @include u-flex(\"fill\");\n counter-increment: usa-step-indicator;\n margin-left: math.div(units($theme-step-indicator-segment-gap), 2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), 2);\n max-width: units(\"card-lg\");\n min-height: units($theme-step-indicator-segment-height);\n position: relative;\n\n // Add segment\n &:after {\n background-color: color($theme-step-indicator-segment-color-pending);\n content: \"\";\n display: block;\n // Use a fixed segment height for mobile regardless of settings\n height: units($step-indicator-segment-height-mobile);\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n\n @include at-media($theme-step-indicator-min-width) {\n height: units($theme-step-indicator-segment-height);\n }\n }\n}\n\n.usa-step-indicator__segment--complete {\n &::after {\n background-color: color($theme-step-indicator-segment-color-complete);\n }\n .usa-step-indicator__segment-label {\n color: color($theme-step-indicator-segment-color-complete);\n }\n}\n\n.usa-step-indicator__segment--current {\n &::after {\n background-color: color($theme-step-indicator-segment-color-current);\n }\n .usa-step-indicator__segment-label {\n color: color($theme-step-indicator-segment-color-current);\n font-weight: fw(\"bold\");\n }\n}\n\n.usa-step-indicator__segment-label {\n display: none;\n // Show labels only at the min-width\n @include at-media($theme-step-indicator-min-width) {\n color: color($theme-step-indicator-text-pending-color);\n display: block;\n font-size: size(\n $theme-step-indicator-font-family,\n $theme-step-indicator-label-font-size\n );\n // Add margin based on segment size\n margin-top: calc(\n #{units($theme-step-indicator-segment-height)} + #{units(\n $step-indicator-label-margin-top\n )}\n );\n padding-right: units(4);\n text-align: left;\n }\n}\n\n.usa-step-indicator__header {\n align-items: baseline;\n display: flex;\n}\n\n.usa-step-indicator__heading {\n color: color($theme-step-indicator-heading-color);\n font-family: family($theme-step-indicator-heading-font-family);\n font-size: size(\n $theme-step-indicator-heading-font-family,\n $theme-step-indicator-heading-font-size-small\n );\n font-weight: font-weight(\"bold\");\n margin: units($step-indicator-header-margin-top-sm) 0 0;\n\n @include at-media($theme-step-indicator-min-width) {\n font-size: size(\n $theme-step-indicator-heading-font-family,\n $theme-step-indicator-heading-font-size\n );\n margin-top: units($step-indicator-header-margin-top);\n }\n}\n\n.usa-step-indicator__current-step {\n $step-lh: lh($theme-step-indicator-heading-font-family, 2);\n @include u-circle($step-indicator-counter-size);\n @include u-text(\"normal\", \"tabular\");\n background-color: color($theme-step-indicator-segment-color-current);\n color: color($step-indicator-background-color);\n display: inline-block;\n // Magic number circle centering\n padding: calc(\n (#{units($step-indicator-counter-size)} - (2ex * #{$step-lh})) * 0.5\n );\n text-align: center;\n}\n\n.usa-step-indicator__total-steps {\n @include u-text(\"normal\", \"tabular\");\n color: color($theme-step-indicator-segment-color-current);\n margin-right: units(1);\n}\n\n.usa-step-indicator--counters,\n.usa-step-indicator--counters-sm {\n .usa-step-indicator__segment {\n @include at-media($theme-step-indicator-min-width) {\n $counter-lh: lh($theme-step-indicator-font-family, 1);\n // Remove segment gaps\n @include u-margin-x(0);\n\n // Add extra margin for counter\n @if $theme-step-indicator-counter-gap == 0 {\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size)} -\n #{units($theme-step-indicator-segment-height)}\n ) /\n 2\n )\n );\n } @else {\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size)} -\n #{units($theme-step-indicator-segment-height)}\n ) /\n 2\n ) +\n #{units($theme-step-indicator-counter-gap)}\n );\n }\n\n // Add counter\n &:before {\n @include u-circle($step-indicator-counter-size);\n @include u-text(\"tabular\");\n background-color: color($step-indicator-background-color);\n box-shadow:\n inset 0 0 0 units($theme-step-indicator-counter-border-width)\n color($theme-step-indicator-segment-color-pending),\n 0 0 0 units($theme-step-indicator-counter-gap)\n color($step-indicator-background-color);\n color: color($theme-step-indicator-text-pending-color);\n content: counter(usa-step-indicator);\n display: block;\n font-weight: fw(\"bold\");\n left: 0;\n line-height: lh($theme-step-indicator-font-family, 1);\n // Magic number circle centering\n padding: calc(\n (#{units($step-indicator-counter-size)} - (2ex * #{$counter-lh})) *\n 0.5\n );\n // padding: 1.5ex;\n position: absolute;\n text-align: center;\n top: calc(\n (\n #{units($step-indicator-counter-size)} - #{units(\n $theme-step-indicator-segment-height\n )}\n ) / -2\n );\n z-index: z(100);\n }\n\n &:last-child {\n // Don't show the last segment when counters appear\n &:after {\n display: none;\n }\n }\n }\n }\n\n .usa-step-indicator__segment--complete {\n &::before {\n background-color: color($theme-step-indicator-segment-color-complete);\n box-shadow: 0 0 0 units($theme-step-indicator-counter-gap)\n color($step-indicator-background-color);\n color: color($step-indicator-background-color);\n }\n }\n\n .usa-step-indicator__segment--current {\n &::before {\n background-color: color($theme-step-indicator-segment-color-current);\n box-shadow: 0 0 0 units($theme-step-indicator-counter-gap)\n color($step-indicator-background-color);\n color: color($step-indicator-background-color);\n }\n }\n\n .usa-step-indicator__segment-label {\n @include at-media($theme-step-indicator-min-width) {\n // Add counter margin\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size)} + #{units(\n $theme-step-indicator-segment-height\n )}\n ) / 2\n ) + #{units($step-indicator-label-margin-top)}\n );\n }\n }\n\n // Adjust segments with centered variant\n &.usa-step-indicator--center {\n @include at-media($theme-step-indicator-min-width) {\n .usa-step-indicator__segment {\n &:first-child {\n &:after {\n left: 50%;\n right: 0;\n width: auto;\n }\n }\n\n &:last-child {\n &:after {\n display: block;\n left: 0;\n right: 50%;\n width: auto;\n }\n }\n }\n }\n }\n}\n\n.usa-step-indicator--counters-sm {\n .usa-step-indicator__segment {\n @include at-media($theme-step-indicator-min-width) {\n $counter-lh: lh($theme-step-indicator-font-family, 1);\n // Add extra margin for counter\n @if $theme-step-indicator-counter-gap == 0 {\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size-sm)} -\n #{units($theme-step-indicator-segment-height)}\n ) /\n 2\n )\n );\n } @else {\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size-sm)} -\n #{units($theme-step-indicator-segment-height)}\n ) /\n 2\n ) +\n #{units($theme-step-indicator-counter-gap)}\n );\n }\n\n // Add counter\n &:before {\n @include u-circle($step-indicator-counter-size-sm);\n @include u-font-size($theme-step-indicator-font-family, 3);\n padding: calc(#{units(0.5)} + 1px);\n top: calc(\n (\n #{units($step-indicator-counter-size-sm)} - #{units(\n $theme-step-indicator-segment-height\n )}\n ) / -2\n );\n }\n\n &:last-child {\n // Don't show the last segment when counters appear\n &:after {\n display: none;\n }\n }\n }\n }\n\n .usa-step-indicator__segment-label {\n @include at-media($theme-step-indicator-min-width) {\n // Add counter margin\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size-sm)} + #{units(\n $theme-step-indicator-segment-height\n )}\n ) / 2\n ) + #{units($step-indicator-label-margin-top)}\n );\n }\n }\n}\n\n.usa-step-indicator--no-labels {\n margin-left: math.div(units($theme-step-indicator-segment-gap), -2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), -2);\n\n .usa-step-indicator__segment {\n // Remove extra counter margin\n margin-top: 0;\n // Add gap between segments\n margin-left: math.div(units($theme-step-indicator-segment-gap), 2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), 2);\n\n &:before {\n // Don't show counters\n display: none;\n }\n\n &:last-child {\n // Show last segment\n &:after {\n display: block;\n }\n }\n }\n\n .usa-step-indicator__heading {\n margin-top: units($step-indicator-header-margin-top-sm);\n }\n}\n\n.usa-step-indicator--no-labels {\n .usa-step-indicator__segment-label {\n // Don't show labels, even if they exist\n display: none;\n }\n}\n\n.usa-step-indicator--center {\n margin-left: math.div(units($theme-step-indicator-segment-gap), -2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), -2);\n\n .usa-step-indicator__segment {\n margin-left: math.div(units($theme-step-indicator-segment-gap), 2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), 2);\n\n &:before {\n @if $theme-step-indicator-counter-gap == 0 {\n left: calc(50% - ((#{units($step-indicator-counter-size)}) / 2));\n } @else {\n left: calc(\n 50% -\n (\n (\n #{units($step-indicator-counter-size)} +\n #{units($theme-step-indicator-counter-gap)}\n ) /\n 2\n )\n );\n }\n }\n }\n\n .usa-step-indicator__segment-label {\n // Balance label padding\n @include u-padding-x(1);\n // Center labels\n text-align: center;\n }\n\n &.usa-step-indicator--no-labels {\n .usa-step-indicator__segment {\n // Use full-width segments\n &:first-child {\n &:after {\n left: 0;\n }\n }\n\n &:last-child {\n &:after {\n right: 0;\n }\n }\n }\n }\n\n &.usa-step-indicator--counters-sm {\n .usa-step-indicator__segment {\n &:before {\n @if $theme-step-indicator-counter-gap == 0 {\n left: calc(50% - ((#{units($step-indicator-counter-size-sm)}) / 2));\n } @else {\n left: calc(\n 50% -\n (\n (\n #{units($step-indicator-counter-size-sm)} +\n #{units($theme-step-indicator-counter-gap)}\n ) /\n 2\n )\n );\n }\n }\n }\n }\n}\n","@use \"sass:list\";\n\n@use \"uswds-core\" as *;\n\n$summary-box-context: \"Summary Box\";\n\n.usa-summary-box {\n @include typeset($theme-summary-box-font-family);\n @include border-box-sizing;\n @include set-text-and-bg(\n $theme-summary-box-background-color,\n $theme-summary-box-text-color,\n $context: $summary-box-context\n );\n @include u-radius($theme-summary-box-border-radius);\n border: $theme-summary-box-border-width color($theme-summary-box-border-color)\n solid;\n padding: units(3);\n position: relative;\n\n .usa-list {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n * + & {\n margin-top: units(2);\n }\n}\n\n.usa-summary-box__heading {\n @include typeset($theme-summary-box-font-family, \"lg\", 2);\n margin-top: 0;\n margin-bottom: units(1);\n}\n\n.usa-summary-box__text {\n @include u-margin-y(0);\n}\n\n.usa-summary-box__text:only-child {\n margin-bottom: $theme-summary-box-border-width;\n padding-top: units(0.5);\n}\n\n.usa-summary-box__link {\n @include set-link-from-bg(\n $theme-summary-box-background-color,\n $theme-summary-box-link-color,\n $context: $summary-box-context\n );\n &[href^=\"#\"] {\n $link-tokens: get-link-tokens-from-bg(\n $theme-summary-box-background-color,\n $theme-summary-box-link-color,\n $context: $summary-box-context\n );\n &:visited {\n color: color(list.nth($link-tokens, 1));\n }\n &:hover {\n color: color(list.nth($link-tokens, 2));\n }\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-table {\n @include usa-table;\n}\n\n.usa-table--borderless {\n @include usa-table--borderless;\n}\n\n.usa-table--compact {\n @include usa-table--compact;\n}\n\n.usa-table--striped {\n @include usa-table--striped;\n}\n\n.usa-table--stacked {\n @include at-media-max(\"mobile-lg\") {\n @include table-stacked-styles;\n }\n}\n\n.usa-table--stacked-header {\n @include at-media-max(\"mobile-lg\") {\n @include table-stacked-styles;\n @include table-stacked-header-styles;\n }\n}\n\n.width-mobile {\n .usa-table--stacked {\n @include usa-table--stacked;\n }\n\n .usa-table--stacked-header {\n @include usa-table--stacked-header;\n }\n}\n\n.usa-table--sticky-header {\n @include usa-table--sticky-header;\n}\n\n.usa-table-container--scrollable {\n @include usa-table-container--scrollable;\n}\n","@use \"uswds-core\" as *;\n\n.usa-tag {\n @include border-box-sizing;\n @include u-font(\"ui\", \"2xs\");\n @include u-text(\"white\", \"uppercase\");\n background-color: color(\"base-dark\");\n border-radius: radius(\"sm\");\n margin-right: units(0.5);\n padding: units(1px) units(1);\n\n &:only-of-type {\n margin-right: 0;\n }\n}\n\n.usa-tag--big {\n @include u-padding-x(1);\n @include u-font(\"ui\", $theme-body-font-size);\n}\n","@use \"uswds-core\" as *;\n\n// Variables\n$triangle-size: 5px;\n\n/// Create a spacer to increase target area for tooltip triangle.\n///\n/// @param {String} $direction - The direction of the tooltip; can be top, bottom, left, right.\n///\n/// @example\n/// @include tooltip-spacer(\"top\");\n///\n/// @output\n/// .usa-tooltip__body--top::before {\n/// top: 100%;\n/// height: 5px;\n/// left: 0;\n/// right: 0;\n/// }\n@mixin tooltip-spacer($direction) {\n &::before {\n #{$direction}: 100%;\n\n @if ($direction == \"left\") or ($direction == \"right\") {\n bottom: 0;\n top: 0;\n width: $triangle-size;\n } @else {\n height: $triangle-size;\n left: 0;\n right: 0;\n }\n }\n}\n\n/* Tooltips */\n.usa-tooltip {\n display: inline-block;\n position: relative;\n}\n\n.usa-tooltip__trigger {\n cursor: pointer;\n\n > svg {\n display: block;\n pointer-events: none;\n }\n}\n\n.usa-tooltip__body,\n.usa-tooltip__body--top {\n transition: opacity 0.08s ease-in-out;\n background-color: color($theme-tooltip-background-color);\n border-radius: radius($theme-button-border-radius);\n color: color($theme-tooltip-font-color);\n display: none;\n font-size: size(\"ui\", $theme-tooltip-font-size);\n opacity: 0; // Required for recalculating position.\n padding: units(1);\n width: auto;\n white-space: pre;\n z-index: 100000;\n position: absolute;\n /* positioning is completed with JS */\n\n &::after {\n content: \"\";\n display: block;\n width: 0;\n height: 0;\n border-left: $triangle-size solid transparent;\n border-right: $triangle-size solid transparent;\n border-top: $triangle-size solid color($theme-tooltip-background-color);\n position: absolute;\n bottom: -$triangle-size;\n left: 50%;\n margin-left: -$triangle-size;\n }\n\n // This pseudo element fills the gap between the tooltip trigger and body.\n // Filling this gap allows the tooltip to stay open when the pointer moves\n // from the tooltip trigger to the body.\n &::before {\n content: \"\";\n display: block;\n position: absolute;\n }\n}\n\n.usa-tooltip__body--wrap {\n width: 100%;\n white-space: normal;\n text-align: center;\n min-width: calc(100vw / 2);\n}\n\n.usa-tooltip__body.is-set {\n display: block;\n}\n\n.usa-tooltip__body.is-visible {\n opacity: 1;\n}\n\n.usa-tooltip__body--top {\n @include tooltip-spacer(\"top\");\n}\n\n.usa-tooltip__body--bottom {\n @include tooltip-spacer(\"bottom\");\n\n &::after {\n border-left: $triangle-size solid transparent;\n border-right: $triangle-size solid transparent;\n border-bottom: $triangle-size solid color($theme-tooltip-background-color);\n border-top: 0;\n bottom: auto;\n top: -$triangle-size;\n }\n}\n\n.usa-tooltip__body--right {\n @include tooltip-spacer(\"right\");\n\n &::after {\n border-top: $triangle-size solid transparent;\n border-bottom: $triangle-size solid transparent;\n border-right: $triangle-size solid color($theme-tooltip-background-color);\n border-left: 0;\n right: auto;\n top: 50%;\n bottom: 0;\n left: -$triangle-size;\n margin: -$triangle-size 0 0 0;\n }\n}\n\n.usa-tooltip__body--left {\n @include tooltip-spacer(\"left\");\n\n &::after {\n border-top: $triangle-size solid transparent;\n border-bottom: $triangle-size solid transparent;\n border-left: $triangle-size solid color($theme-tooltip-background-color);\n border-right: 0;\n right: -$triangle-size;\n top: 50%;\n bottom: 0;\n left: auto;\n margin: -$triangle-size 0 0 0;\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-character-count__status {\n display: inline-block;\n padding-top: units(0.5);\n\n &.usa-character-count__status--invalid {\n color: color(\"error-dark\");\n font-weight: font-weight(\"bold\");\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-input {\n @extend %block-input-general;\n @extend %block-input-styles;\n\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include u-disabled;\n @include u-disabled-high-contrast-border;\n // Fix for Safari\n -webkit-text-fill-color: color(\"disabled-dark\");\n }\n}\n\n.usa-input--error {\n @include u-border($theme-input-state-border-width, \"error-dark\");\n padding-top: calc(#{units(1)} - #{units($theme-input-state-border-width)});\n padding-bottom: calc(#{units(1)} - #{units($theme-input-state-border-width)});\n}\n\n.usa-input--success {\n @include u-border($theme-input-state-border-width, \"success\");\n padding-top: calc(#{units(1)} - #{units($theme-input-state-border-width)});\n padding-bottom: calc(#{units(1)} - #{units($theme-input-state-border-width)});\n}\n","@use \"uswds-core\" as *;\n\n.usa-fieldset {\n @extend %block-input-general;\n border: none;\n margin: 0;\n padding: 0;\n}\n","@use \"uswds-core\" as *;\n\n.usa-legend {\n @include typeset(\n $theme-form-font-family,\n $theme-body-font-size,\n $theme-input-line-height\n );\n display: block;\n font-weight: font-weight(\"normal\");\n margin-top: units(3);\n max-width: units($theme-input-max-width);\n}\n\n.usa-legend--large {\n font-size: font-size($theme-form-font-family, \"xl\");\n font-weight: font-weight(\"bold\");\n margin-top: units(2);\n}\n","@use \"uswds-core\" as *;\n\n@include override-prose {\n .usa-input-list {\n @include add-list-reset;\n\n li {\n line-height: line-height(\n $theme-form-font-family,\n $theme-input-line-height\n );\n }\n }\n}\n","@use \"sass:color\";\n@use \"sass:list\";\n\n@use \"../../functions\" as *;\n@use \"../../settings\" as *;\n@use \"../../variables/border-high-contrast\" as *;\n@use \"../general/add-background-svg\" as *;\n@use \"format-input\" as *;\n@use \"format-label\" as *;\n\n@mixin checkbox-colors($args...) {\n @include -checkbox-and-radio-colors($input-type: \"checkbox\", $args...);\n}\n\n@mixin radio-colors($args...) {\n @include -checkbox-and-radio-colors($input-type: \"radio\", $args...);\n}\n\n// Applies active state colors to tile variant backgrounds and borders.\n// Used by :checked checkbox and radio labels as well as :indeterminate checkboxes.\n//\n// @parameter $input-active-color - active input color determined by -checkbox-and-radio-colors mixin.\n@mixin active-tile-colors($input-active-color) {\n background-color: color.adjust(color($input-active-color), $alpha: -0.9);\n border-color: color($input-active-color);\n\n @media (forced-colors: active) {\n border: ButtonText solid units(\"05\");\n }\n}\n\n// Applies active state colors to input backgrounds and borders.\n// Used by :checked checkbox and radio inputs as well as :indeterminate checkboxes.\n//\n// @parameter $input-active-color - active input color determined by -checkbox-and-radio-colors mixin.\n@mixin active-input-colors($input-active-color) {\n background-color: color($input-active-color);\n box-shadow: 0 0 0 units($theme-input-select-border-width)\n color($input-active-color);\n}\n\n@mixin -checkbox-and-radio-colors(\n $bg-color: $theme-input-background-color,\n $selected-color: \"default\",\n $input-type: null\n) {\n $input-text-color: get-color-token-from-bg($bg-color);\n $input-text-color-disabled: get-color-token-from-bg(\n $bg-color,\n \"disabled\",\n \"gray-50\"\n );\n $input-bg-color: if(\n $bg-color == \"default\",\n $theme-body-background-color,\n $bg-color\n );\n $input-active-color: list.nth(\n get-link-tokens-from-bg($bg-color, $preferred-link-token: $selected-color),\n 1\n );\n $input-border-alpha: -0;\n $tile-border-color: color(\"gray-20\");\n $tile-border-color--disabled: color(\"gray-10\");\n $tile-box-shadow--disabled: 0 0 0 units($theme-input-select-border-width)\n color($input-text-color-disabled);\n $input-darkmode: if(\n color.lightness(color($input-bg-color)) < 50%,\n true,\n false\n );\n $input-checkmark: if($input-darkmode, \"correct8-alt\", \"correct8\");\n $input-indeterminate: if(\n $input-darkmode,\n \"checkbox-indeterminate-alt\",\n \"checkbox-indeterminate\"\n );\n\n .usa-#{$input-type} {\n background: color($input-bg-color);\n }\n\n .usa-#{$input-type}__label {\n color: color($input-text-color);\n\n &::before {\n background: color($input-bg-color);\n box-shadow: 0 0 0 units($theme-input-select-border-width)\n color.adjust(color($input-text-color), $alpha: $input-border-alpha);\n\n @media (forced-colors: active) {\n outline: $border-high-contrast;\n outline-offset: 2px;\n }\n }\n }\n .usa-#{$input-type}__input {\n &:checked {\n @include format-input {\n @include active-input-colors($input-active-color);\n }\n }\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include format-label {\n color: color($input-text-color-disabled);\n cursor: not-allowed;\n\n @media (forced-colors: active) {\n color: GrayText;\n }\n }\n @include format-input {\n background-color: color($input-bg-color);\n box-shadow: $tile-box-shadow--disabled;\n }\n }\n &--tile {\n @include format-label {\n background-color: color($input-bg-color);\n border: units($theme-input-tile-border-width) solid $tile-border-color;\n color: color($input-text-color);\n }\n &:checked {\n @include format-label {\n @include active-tile-colors($input-active-color);\n }\n }\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include format-label {\n border-color: $tile-border-color--disabled;\n }\n\n &:checked,\n &:indeterminate,\n &[data-indeterminate] {\n @include format-label {\n background-color: color($input-bg-color);\n }\n }\n }\n }\n }\n\n @if $input-type == \"checkbox\" {\n .usa-checkbox__input {\n // Adding indeterminate styles here avoids style conflicts from setting in .usa-#{$input-type}__input due to\n // radio buttons receiving :indeterminate state when none are selected.\n &:indeterminate,\n &[data-indeterminate] {\n @include format-input {\n @include add-background-svg($input-indeterminate);\n @include active-input-colors($input-active-color);\n background-position: center center;\n background-size: units(1.5) auto;\n\n @media (forced-colors: active) {\n @include add-background-svg(\"checkbox-indeterminate-alt\");\n background-color: color(SelectedItem);\n }\n }\n\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include format-input {\n box-shadow: $tile-box-shadow--disabled;\n }\n\n @include format-label {\n border-color: $tile-border-color--disabled;\n }\n }\n }\n &--tile {\n &:indeterminate,\n &[data-indeterminate] {\n @include format-label {\n @include active-tile-colors($input-active-color);\n }\n }\n }\n &:checked,\n &:checked:disabled,\n &:checked[aria-disabled=\"true\"] {\n @include format-input {\n @include add-background-svg($input-checkmark);\n }\n\n @media (forced-colors: active) {\n @include format-input {\n @include add-background-svg(\"correct8-alt\");\n }\n }\n }\n &:checked:disabled,\n &:checked[aria-disabled=\"true\"],\n &:indeterminate:disabled,\n &:indeterminate[aria-disabled=\"true\"],\n &[data-indeterminate]:disabled,\n &[data-indeterminate][aria-disabled=\"true\"] {\n @include format-input {\n background-color: color($input-text-color-disabled);\n @media (forced-colors: active) {\n background-color: color(GrayText);\n }\n }\n }\n }\n }\n\n @if $input-type == \"radio\" {\n .usa-radio__input {\n &:checked {\n @include format-input {\n box-shadow:\n 0 0 0 units($theme-input-select-border-width)\n color($input-active-color),\n inset 0 0 0 units($theme-input-select-border-width)\n color($input-bg-color);\n\n @media (forced-colors: active) {\n background-color: ButtonText;\n }\n }\n }\n &:checked:disabled,\n &:checked[aria-disabled=\"true\"] {\n @include format-input {\n background-color: color($input-text-color-disabled);\n box-shadow:\n 0 0 0 2px color($input-text-color-disabled),\n inset 0 0 0 2px color($input-bg-color);\n\n @media (forced-colors: active) {\n background-color: color(GrayText);\n }\n }\n }\n }\n }\n}\n","@mixin format-input {\n & + [class*=\"__label\"]::before {\n @content;\n }\n}\n","@mixin format-label {\n & + [class*=\"__label\"] {\n @content;\n }\n}\n","@use \"sass:math\";\n\n@use \"uswds-core\" as *;\n\n@include checkbox-colors;\n\n.usa-checkbox__input {\n // The actual input element is only visible to screen readers, because\n // all visual styling is done via the label.\n @include sr-only();\n\n &:focus {\n @include format-input {\n @include focus-outline(null, null, null, 0.5);\n }\n }\n\n // Checkboxes and radios with tap-friendly targets\n &--tile {\n @include format-label {\n border-radius: radius($theme-input-tile-border-radius);\n margin-top: units(1);\n padding: units(1.5) units(2) units(1.5) units(5);\n\n &::before {\n left: units(5) - units($input-select-margin-right) - units(\n $theme-input-select-size\n );\n }\n }\n }\n}\n\n.usa-checkbox__input {\n &:checked {\n @include format-input {\n background-position: center center;\n background-size: units(1.5) auto;\n @media print {\n background-image: none;\n background-color: color(\"white\");\n content: \"\\2714\";\n text-align: center;\n }\n\n @media (forced-colors: active) {\n background-color: color(SelectedItem);\n }\n }\n }\n}\n\n.usa-checkbox__label {\n @extend %block-input-general;\n cursor: pointer;\n display: inherit;\n font-weight: font-weight(\"normal\");\n margin-top: units(1.5);\n padding-left: units($input-select-margin-right) +\n units($theme-input-select-size);\n position: relative;\n\n &::before {\n content: \" \";\n display: block;\n left: 0;\n margin-left: units($theme-input-select-border-width);\n margin-top: math.div(\n (\n line-height($theme-form-font-family, $theme-input-line-height) *\n font-size($theme-form-font-family, $theme-body-font-size) - units(\n $theme-input-select-size\n )\n ),\n 2\n );\n position: absolute;\n }\n}\n\n.usa-checkbox__label::before {\n @include u-square($theme-input-select-size);\n border-radius: radius($theme-checkbox-border-radius);\n}\n\n.usa-checkbox__label-description {\n display: block;\n font-size: size(\"ui\", \"2xs\");\n margin-top: units(1);\n}\n\n// Test code for scoped custom colors\n/*\n.checkbox-tests {\n @include set-text-and-bg(\"green-80\");\n @include checkbox-colors(\"green-80\", \"green-warm-10v\");\n padding: units(2);\n border-radius: radius(\"md\");\n}\n*/\n","@use \"uswds-core\" as *;\n\n.usa-select {\n @extend %block-input-general;\n @extend %block-input-styles;\n @include add-background-svg(\"usa-icons/unfold_more\");\n appearance: none;\n background-color: color(\"white\");\n background-position: right units(1) center;\n background-size: units(2.5);\n padding-right: units(4);\n\n &::-ms-expand {\n display: none;\n }\n\n // Show default webkit style on select element when autofilled to show icon\n &:-webkit-autofill {\n appearance: menulist;\n }\n\n // Remove dotted outline from select element on focus in Firefox\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 color(\"black\");\n }\n\n &[multiple] {\n height: auto;\n background-image: none;\n padding-right: 0;\n }\n\n option {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include u-disabled;\n @include u-disabled-high-contrast-border;\n }\n\n // Necessary to show chevron in forced colors mode in modern browsers\n @media (forced-colors: active) {\n appearance: listbox; // Default \n [type=\"search\"] {\n min-width: 0; // Fix a Firefox display quirk\n }\n\n + .usa-hero {\n @include at-media($theme-header-min-width) {\n border-top: units(1px) solid color(\"white\");\n }\n }\n\n + .usa-section,\n + main {\n @include at-media($theme-header-min-width) {\n border-top: units(1px) solid color(\"base-lighter\");\n }\n }\n}\n\n.usa-logo {\n @include at-media-max($theme-header-min-width) {\n @include u-flex(\"fill\");\n font-size: font-size($theme-header-font-family, \"2xs\");\n line-height: line-height($theme-header-font-family, 1);\n margin-left: units($theme-site-margins-mobile-width);\n }\n\n @include at-media($theme-header-min-width) {\n margin-top: units(4);\n margin-bottom: units(2);\n font-size: font-size($theme-header-font-family, \"lg\");\n line-height: line-height($theme-header-font-family, 2);\n }\n\n a {\n color: color(\"ink\");\n text-decoration: none;\n }\n}\n\n.usa-logo__text {\n display: block;\n font-style: normal;\n font-weight: font-weight(\"bold\");\n margin: 0;\n}\n\n.usa-menu-btn {\n @include button-unstyled;\n @include u-flex(\"auto\");\n @include u-padding-x(1.5);\n background-color: color(\"primary\");\n color: color(\"white\");\n font-size: font-size($theme-header-font-family, \"3xs\");\n height: units($size-touch-target);\n text-align: center;\n text-decoration: none;\n text-transform: uppercase;\n\n @include at-media($theme-header-min-width) {\n display: none;\n }\n\n &:hover {\n background-color: color(\"primary-dark\");\n color: color(\"white\");\n text-decoration: none;\n }\n\n &:active {\n color: color(\"white\");\n }\n\n &:visited {\n color: color(\"white\");\n }\n}\n\n.usa-overlay {\n @include u-pin(\"all\");\n position: fixed;\n background: color(\"black-transparent-70\");\n opacity: opacity(0);\n transition: opacity $project-easing;\n visibility: hidden;\n z-index: z-index($z-index-overlay);\n\n &.is-visible {\n opacity: opacity(100);\n visibility: visible;\n }\n}\n\n// usa-header--basic\n// ---------------------------------\n\n.usa-header--basic {\n @include at-media($theme-header-min-width) {\n .usa-navbar {\n position: relative;\n width: $theme-header-logo-text-width; // TODO: review this more\n }\n\n .usa-nav {\n @include u-flex(\"row\", \"align-center\", \"justify-end\");\n display: flex;\n padding: 0 0 units(0.5) units(1);\n width: 100%;\n }\n\n .usa-nav-container {\n @include u-flex(\"align-end\", \"justify\");\n display: flex;\n }\n\n .usa-nav__primary-item > .usa-current,\n .usa-nav__link:hover {\n @include nav-border-basic;\n }\n\n // Don't show extended border if dropdown is active.\n .usa-nav__link[aria-expanded=\"true\"]::after,\n .usa-nav__link[aria-expanded=\"true\"]:hover::after {\n display: none;\n }\n\n .usa-nav__primary {\n width: auto;\n }\n\n // Issue #3401: last dropdown gets cutoff.\n .usa-nav__primary-item:last-of-type {\n position: relative;\n\n .usa-nav__submenu {\n @include u-pin-right;\n }\n }\n\n .usa-search {\n top: 0;\n }\n }\n\n &.usa-header--megamenu {\n .usa-nav__inner {\n display: flex;\n flex-direction: column;\n\n @include at-media($theme-header-min-width) {\n display: block;\n float: right;\n margin-top: units(-5);\n }\n }\n\n .usa-nav__primary-item:last-of-type {\n @include at-media($theme-header-min-width) {\n position: static;\n }\n }\n }\n}\n\n// usa-header--extended\n// ---------------------------------\n\n.usa-header--extended {\n @include at-media($theme-header-min-width) {\n padding-top: 0;\n\n .usa-nav__primary-item > .usa-current,\n .usa-nav__primary-item > .usa-nav__link:hover {\n @include nav-border-extended;\n }\n\n // Don't show extended border if dropdown is active.\n .usa-nav__link[aria-expanded=\"true\"]::after,\n .usa-nav__link[aria-expanded=\"true\"]:hover::after {\n display: none;\n }\n }\n\n .usa-logo {\n @include at-media($theme-header-min-width) {\n font-size: font-size($theme-header-font-family, \"xl\");\n margin: units(4) 0 units(3);\n max-width: $theme-header-logo-text-width;\n }\n }\n\n .usa-navbar {\n @include at-media($theme-header-min-width) {\n @include grid-container($theme-header-max-width);\n display: block;\n height: auto;\n overflow: auto;\n }\n }\n\n .usa-nav {\n @include at-media($theme-header-min-width) {\n border-top: units(1px) solid color(\"base-lighter\");\n padding: 0;\n width: 100%;\n }\n }\n\n .usa-nav__inner {\n @include at-media($theme-header-min-width) {\n @include grid-container($theme-header-max-width);\n position: relative;\n }\n }\n\n .usa-nav__primary {\n @include at-media($theme-header-min-width) {\n @include clearfix;\n margin-left: units(-2);\n }\n }\n\n .usa-nav__link {\n @include at-media($theme-header-min-width) {\n @include u-padding-y(2);\n }\n }\n\n .usa-nav__submenu {\n .usa-grid-full {\n @include at-media($theme-header-min-width) {\n padding-left: units(1.5);\n }\n }\n }\n\n .usa-nav__submenu.usa-megamenu {\n @include at-media($theme-header-min-width) {\n left: 0;\n padding-left: units($theme-site-margins-width);\n padding-right: units($theme-site-margins-width);\n }\n }\n}\n\n// [uswds-init.js] Offscreen content while js is loading\nhtml.usa-js-loading {\n .usa-nav__submenu,\n .usa-nav__submenu.usa-megamenu {\n @include add-sr-only;\n }\n}\n","@mixin clearfix {\n &::after {\n clear: both;\n content: \"\";\n display: block;\n }\n}\n","@use \"settings-general\" as general;\n\n/*\n* * * * * ==============================\n* * * * * ==============================\n* * * * * ==============================\n* * * * * ==============================\n========================================\n========================================\n========================================\n----------------------------------------\nCOMPONENT SETTINGS\n----------------------------------------\nRead more about settings and\nUSWDS style tokens in the documentation:\nhttps://designsystem.digital.gov/design-tokens\n----------------------------------------\n*/\n\n// Accordion\n$theme-accordion-background-color: \"default\" !default;\n$theme-accordion-border-color: \"base-lightest\" !default;\n$theme-accordion-border-width: 0.5 !default;\n$theme-accordion-button-background-color: \"base-lightest\" !default;\n$theme-accordion-font-family: \"body\" !default;\n\n// Alert\n$theme-alert-bar-width: 1 !default;\n$theme-alert-font-family: \"ui\" !default;\n$theme-alert-icon-size: 4 !default;\n$theme-alert-padding-x: 2.5 !default;\n$theme-alert-padding-y: 2 !default;\n$theme-alert-text-color: default !default;\n$theme-alert-text-reverse-color: default !default;\n$theme-alert-link-color: default !default;\n$theme-alert-link-reverse-color: default !default;\n\n// Banner\n$theme-banner-background-color: \"base-lightest\" !default;\n$theme-banner-font-family: \"ui\" !default;\n$theme-banner-link-color: default !default;\n$theme-banner-max-width: \"desktop\" !default;\n\n// Breadcrumb\n$theme-breadcrumb-background-color: \"default\" !default;\n$theme-breadcrumb-font-size: \"sm\" !default;\n$theme-breadcrumb-font-family: \"body\" !default;\n$theme-breadcrumb-link-color: default !default;\n$theme-breadcrumb-min-width: \"mobile-lg\" !default;\n$theme-breadcrumb-padding-bottom: 2 !default;\n$theme-breadcrumb-padding-top: 2 !default;\n$theme-breadcrumb-padding-x: 0 !default;\n$theme-breadcrumb-separator-color: \"base\" !default;\n\n// Button\n$theme-button-border-radius: \"md\" !default;\n$theme-button-font-family: \"ui\" !default;\n$theme-button-icon-gap: 1 !default;\n$theme-button-small-width: 6 !default;\n$theme-button-stroke-width: 2px !default;\n\n// Card\n$theme-card-border-color: \"base-lighter\" !default;\n$theme-card-border-radius: \"lg\" !default;\n$theme-card-border-width: 2px !default;\n$theme-card-gap: 2 !default;\n$theme-card-flag-min-width: \"tablet\" !default;\n$theme-card-flag-image-width: \"card-lg\" !default;\n$theme-card-font-family: \"body\" !default;\n$theme-card-header-typeset: \"heading\", \"lg\", 2 !default;\n$theme-card-margin-bottom: 4 !default;\n$theme-card-padding-perimeter: 3 !default;\n$theme-card-padding-y: 2 !default;\n\n// Collection\n$theme-collection-font-family: \"ui\" !default;\n$theme-collection-header-typeset: \"ui\", \"md\", 3 !default;\n\n// Footer\n$theme-footer-font-family: \"body\" !default;\n$theme-footer-max-width: \"desktop\" !default;\n\n// Form and input\n$theme-checkbox-border-radius: \"sm\" !default;\n$theme-form-font-family: \"ui\" !default;\n$theme-input-background-color: default !default;\n$theme-input-line-height: 3 !default;\n$theme-input-max-width: \"mobile-lg\" !default;\n$theme-input-select-border-width: 2px !default;\n$theme-input-select-size: 2.5 !default;\n$theme-input-state-border-width: 0.5 !default;\n$theme-input-tile-border-radius: \"md\" !default;\n$theme-input-tile-border-width: 2px !default;\n\n// Header\n$theme-header-font-family: \"ui\" !default;\n$theme-header-logo-text-width: 33% !default;\n$theme-header-max-width: \"desktop\" !default;\n$theme-header-min-width: \"desktop\" !default;\n\n// Hero\n$theme-hero-image: \"#{general.$theme-image-path}/hero.jpg\" !default;\n\n// Icon List\n$theme-icon-list-font-family: \"body\" !default;\n$theme-icon-list-title-font-family: \"heading\" !default;\n\n// Identifier\n$theme-identifier-background-color: \"base-darkest\" !default;\n$theme-identifier-font-family: \"ui\" !default;\n$theme-identifier-identity-domain-color: \"base-light\" !default;\n$theme-identifier-max-width: \"desktop\" !default;\n$theme-identifier-primary-link-color: default !default;\n$theme-identifier-secondary-link-color: \"base-light\" !default;\n\n// In-Page Navigation\n$theme-in-page-nav-background-color: \"default\" !default;\n$theme-in-page-nav-background-padding: 2 !default;\n$theme-in-page-nav-background-radius: \"lg\" !default;\n$theme-in-page-nav-bar-color: \"default\" !default;\n$theme-in-page-nav-bar-width: \"05\" !default;\n$theme-in-page-nav-font-family: \"ui\" !default;\n$theme-in-page-nav-link-color: \"default\" !default;\n$theme-in-page-nav-main-content-max-width: \"desktop\" !default;\n$theme-in-page-nav-margin-left: 4 !default;\n$theme-in-page-nav-margin-top: 2.5 !default;\n$theme-in-page-nav-top: 4 !default;\n\n// Link\n$theme-external-link-sr-label-tab-new: \"External, opens in a new tab.\" !default;\n$theme-external-link-sr-label-tab-same: \"External.\" !default;\n\n// Modal\n$theme-modal-border-radius: \"lg\" !default;\n$theme-modal-default-max-width: \"mobile-lg\" !default;\n$theme-modal-lg-content-max-width: \"tablet\" !default;\n$theme-modal-lg-max-width: \"tablet-lg\" !default;\n\n// Pagination\n$theme-pagination-background-color: \"default\" !default;\n$theme-pagination-breakpoint: \"tablet\" !default;\n$theme-pagination-button-border-radius: \"md\" !default;\n$theme-pagination-button-border-width: 1px !default;\n$theme-pagination-font-family: \"ui\" !default;\n\n// Process List\n$theme-process-list-counter-background-color: \"white\" !default;\n$theme-process-list-counter-border-color: \"ink\" !default;\n$theme-process-list-counter-border-width: 0.5 !default;\n$theme-process-list-counter-font-family: \"ui\" !default;\n$theme-process-list-counter-font-size: \"lg\" !default;\n$theme-process-list-counter-gap-color: \"white\" !default;\n$theme-process-list-counter-gap-width: 0.5 !default;\n$theme-process-list-counter-size: 5 !default;\n$theme-process-list-counter-text-color: \"ink\" !default;\n$theme-process-list-connector-color: \"primary-lighter\" !default;\n$theme-process-list-connector-width: 1 !default;\n$theme-process-list-font-family: \"ui\" !default;\n$theme-process-list-font-size: \"sm\" !default;\n$theme-process-list-heading-color: \"ink\" !default;\n$theme-process-list-heading-font-family: \"ui\" !default;\n$theme-process-list-heading-font-size: \"lg\" !default;\n\n// Navigation\n$theme-navigation-font-family: \"ui\" !default;\n$theme-megamenu-columns: 3 !default;\n\n// Search\n$theme-search-font-family: \"ui\" !default;\n$theme-search-min-width: 27ch !default;\n\n// Sidenav\n$theme-sidenav-current-border-width: 0.5 !default;\n$theme-sidenav-font-family: \"ui\" !default;\n$theme-sidenav-reorder: false !default;\n\n// Site Alert\n$theme-site-alert-max-width: \"desktop\" !default;\n\n// Step indicator\n$step-indicator-background-color: \"white\" !default;\n$theme-step-indicator-counter-gap: 0.5 !default;\n$theme-step-indicator-counter-border-width: 0.5 !default;\n$theme-step-indicator-font-family: \"ui\" !default;\n$theme-step-indicator-heading-color: \"ink\" !default;\n$theme-step-indicator-heading-font-family: \"ui\" !default;\n$theme-step-indicator-heading-font-size: \"lg\" !default;\n$theme-step-indicator-heading-font-size-small: \"md\" !default;\n$theme-step-indicator-label-font-size: \"sm\" !default;\n$theme-step-indicator-min-width: \"tablet\" !default;\n$theme-step-indicator-segment-color-pending: \"gray-40\" !default;\n$theme-step-indicator-segment-color-complete: \"primary-darker\" !default;\n$theme-step-indicator-segment-color-current: \"primary\" !default;\n$theme-step-indicator-segment-gap: 2px !default;\n$theme-step-indicator-segment-height: 1 !default;\n$theme-step-indicator-text-pending-color: \"base-dark\" !default;\n\n// Summary box\n$theme-summary-box-background-color: \"info-lighter\" !default;\n$theme-summary-box-border-color: \"info-light\" !default;\n$theme-summary-box-border-width: 1px !default;\n$theme-summary-box-border-radius: \"md\" !default;\n$theme-summary-box-font-family: \"ui\" !default;\n$theme-summary-box-link-color: default !default;\n$theme-summary-box-text-color: default !default;\n\n// Table\n$theme-table-background-color: default !default;\n$theme-table-border-color: \"ink\" !default;\n$theme-table-header-background-color: \"base-lighter\" !default;\n$theme-table-header-text-color: default !default;\n$theme-table-stripe-background-color: \"base-lightest\" !default;\n$theme-table-stripe-text-color: default !default;\n$theme-table-text-color: default !default;\n$theme-table-sorted-header-background-color: \"accent-cool-light\" !default;\n$theme-table-sorted-background-color: \"accent-cool-lighter\" !default;\n$theme-table-sorted-stripe-background-color: \"blue-cool-10v\" !default;\n$theme-table-sorted-icon-color: default !default;\n$theme-table-sticky-top-offset: -1px !default;\n$theme-table-unsorted-icon-color: \"base\" !default;\n\n// Tooltips\n$theme-tooltip-background-color: \"ink\" !default;\n$theme-tooltip-font-color: \"base-lightest\" !default;\n$theme-tooltip-font-size: \"xs\" !default;\n","@use \"../../functions\" as *;\n\n@mixin add-bar(\n $weight: 1,\n $color: \"ink\",\n $side: \"left\",\n $radius: 0,\n $offset-x: 0,\n $offset-y: 0\n) {\n $weight: if($weight == null, 1, $weight);\n $color: if($color == null, \"ink\", $color);\n $side: if($side == null, \"left\", $side);\n $radius: if($radius == null, 0, $radius);\n $offset-x: if($offset-x == null, 0, $offset-x);\n $offset-y: if($offset-y == null, 0, $offset-y);\n\n position: relative;\n\n &::after {\n background-color: color($color);\n border-radius: radius($radius);\n content: \"\";\n display: block;\n position: absolute;\n\n @if $side == (\"left\" or \"right\") {\n bottom: units($offset-y);\n top: units($offset-y);\n width: units($weight);\n #{unquote($side)}: units($offset-x);\n } @else {\n height: units($weight);\n left: units($offset-x);\n right: units($offset-x);\n #{unquote($side)}: units($offset-y);\n\n @media (forced-colors: active) {\n background-color: ButtonText;\n }\n }\n }\n}\n\n@mixin remove-bar {\n &::after {\n display: none;\n }\n}\n","@use \"sass:math\";\n@use \"sass:meta\";\n@use \"uswds-core\" as *;\n\n// Calculate the width of the outer megamenu pseudo elements\n@mixin outer-megamenu($header-max-width: $theme-header-max-width, $type) {\n @include u-pin(\"y\");\n background-color: color(\"primary-darker\");\n content: \"\";\n display: block;\n position: absolute;\n\n // Set variable for submenu max width\n $mw: smart-quote($header-max-width);\n @if meta.type-of($header-max-width) == \"string\" {\n // Retrieve the unit equivalent for submenu max width\n $mw: units($header-max-width);\n }\n\n // Create the vw equivalent for max-width:none\n @if $header-max-width == \"none\" {\n $mw: 100vw;\n }\n\n // Calculate pseudo element width\n // Subtract half the submenu width from half the viewport width\n @if $type == \"standard\" {\n // Add theme margin width to match padding in .usa-nav-container\n width: calc(50vw - $mw / 2 + units($theme-site-margins-width));\n } @else if $type == \"extended\" {\n width: calc(50vw - $mw / 2);\n }\n}\n\n.usa-megamenu {\n .usa-col {\n // Flex grow to take up available width.\n // Flex shrink so long nav lines don't extend beyond viewport.\n // Finally `flex-basis: auto` for IE11.\n flex: 1 1 auto;\n\n @include at-media($theme-header-min-width) {\n // needs this round() to avoid a compile bug\n @include u-flex(math.round(math.div(12, $theme-megamenu-columns)));\n\n .usa-nav__submenu-item a {\n @include u-padding-x(1);\n }\n\n // Remove padding from first and last columns on desktop view.\n &:first-child .usa-nav__submenu-item a {\n padding-left: 0;\n }\n &:last-child .usa-nav__submenu-item a {\n padding-right: 0;\n }\n }\n }\n}\n\n.usa-megamenu.usa-nav__submenu {\n @include at-media($theme-header-min-width) {\n @include u-padding-x(0);\n @include u-padding-y(4);\n left: -$theme-header-logo-text-width;\n right: 0;\n width: auto;\n }\n\n &::before {\n @include at-media($theme-header-min-width) {\n @include outer-megamenu($type: \"standard\");\n right: 100%;\n }\n }\n\n &::after {\n @include at-media($theme-header-min-width) {\n @include outer-megamenu($type: \"standard\");\n left: 100%;\n }\n }\n}\n\n.usa-header--extended .usa-megamenu.usa-nav__submenu {\n &::before {\n @include at-media($theme-header-min-width) {\n @include outer-megamenu($type: \"extended\");\n }\n }\n\n &::after {\n @include at-media($theme-header-min-width) {\n @include outer-megamenu($type: \"extended\");\n }\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-nav-container {\n @include at-media($theme-header-min-width) {\n @include clearfix;\n @include grid-container($theme-header-max-width);\n @include u-padding-x($theme-site-margins-width);\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-navbar {\n @include border-box-sizing;\n height: units($size-touch-target);\n\n @include at-media-max($theme-header-min-width) {\n @include u-flex(\"align-center\");\n border-bottom: units(1px) solid color(\"base-lighter\");\n display: flex;\n }\n\n @include at-media($theme-header-min-width) {\n border-bottom: none;\n display: inline-block;\n height: auto;\n }\n}\n","@use \"uswds-core\" as *;\n\n// Hero feature\n// ==========================\n\n.usa-hero {\n @include border-box-sizing;\n @include typeset;\n background-image: url(\"#{$theme-hero-image}\");\n background-position: center;\n background-size: cover;\n color: color(\"white\");\n\n > .grid-container {\n position: relative;\n @include u-padding-y($theme-site-margins-width);\n }\n}\n\n.usa-hero__callout {\n background-color: color(\"primary-darker\");\n padding: units(4);\n\n @include at-media(\"tablet\") {\n max-width: units(\"mobile\");\n }\n}\n\n.usa-hero__heading {\n @include typeset-h2;\n color: color(\"accent-cool\");\n line-height: line-height(\"heading\", 2);\n}\n\n.usa-hero__heading--alt {\n color: color(\"white\");\n display: block;\n}\n","@use \"sass:map\";\n\n@use \"uswds-core\" as *;\n\n// Variables\n\n// Size icons based on the theme-type-scale-[size] number and this factor\n$icon-list-icon-size-factor: 1.5;\n// Center the icon to the title text, works for all size variants\n$icon-list-icon-margin-top: -1.5%;\n// Fine tune the space between the icon and content with this factor\n$icon-list-icon-padding-left-factor: 0.4;\n// Fine tune the title top padding given a line height of lh-2\n$icon-list-title-padding-top: 0.425ex;\n\n$type-scale: font-size($theme-icon-list-font-family, $theme-body-font-size);\n\n// Get fixed size for icon, based on non-normalized size token\n$this-system-token: if(\n map.has-key($all-type-scale, $theme-body-font-size),\n map.get($all-type-scale, $theme-body-font-size),\n $theme-body-font-size\n);\n\n$icon-size: px-to-rem($this-system-token);\n\n@include override-prose {\n .usa-icon-list {\n @include typeset($theme-icon-list-font-family, $theme-body-font-size);\n @include unstyled-list;\n @include u-measure(5);\n }\n\n .usa-icon-list__item {\n display: flex;\n position: relative;\n\n & + .usa-icon-list__item {\n padding-top: units(1.5);\n }\n }\n}\n\n// Allow setting icon color on the icon-list element\n.usa-icon-list {\n @each $color, $grades in $all-project-colors {\n @each $grade, $value in $grades {\n @if $value {\n $prefix: if($grade != \"default\", \"#{$color}-#{$grade}\", $color);\n &--#{$prefix} {\n .usa-icon-list__icon {\n color: color($prefix);\n }\n }\n }\n }\n }\n}\n\n.usa-icon-list__icon {\n .usa-icon {\n // Set the height and width of the icon based on the size variant and factor\n // Doesn't use u-square() because of non-token size\n display: block;\n height: $icon-size * $icon-list-icon-size-factor;\n // margin-top: $icon-list-icon-margin-top;\n position: relative;\n width: $icon-size * $icon-list-icon-size-factor;\n }\n}\n\n// Don't resize any block-level element inside content\n.usa-icon-list__content {\n > p,\n > ul,\n > ol {\n @include u-font($theme-icon-list-font-family, $theme-body-font-size);\n @include u-measure(5);\n }\n}\n\n.usa-icon-list[class*=\"usa-icon-list--size-\"] {\n @include u-measure(\"none\");\n}\n\n// Generate responsive variants\n// Create a map for looping that includes a default or no-breakpoint version\n$this-null: (\n \"none\": null,\n);\n$icon-list-breakpoints: map-merge($this-null, $system-breakpoints);\n@each $mq-key, $mq-value in $icon-list-breakpoints {\n // Set the prefix\n // An empty string if \"none\"\n $prefix: false;\n @if $mq-key == \"none\" {\n $prefix: \"\";\n }\n // Or the standard prefix if the breakpoint is output\n @else if map.get($theme-utility-breakpoints-complete, $mq-key) {\n $prefix: \"#{$mq-key}#{$separator}\";\n }\n\n @include at-media($mq-key) {\n @each $token, $val in $all-type-scale {\n @if $prefix {\n $this-type-scale: font-size($theme-icon-list-font-family, $token);\n .#{$prefix}usa-icon-list--size-#{$token} {\n .usa-icon-list__icon {\n .usa-icon {\n // Set the height and width of the icon based on the size variant and factor\n height: $this-type-scale * $icon-list-icon-size-factor;\n width: $this-type-scale * $icon-list-icon-size-factor;\n }\n }\n\n .usa-icon-list__content {\n @include u-measure(5);\n // Resize simple (un-marked up) content\n font-size: size($theme-icon-list-font-family, $token);\n // Calculate the space between the icon and content based on the size variant and factor\n padding-left: $this-type-scale *\n $icon-list-icon-padding-left-factor;\n\n .usa-icon-list__title {\n @include u-font($theme-icon-list-title-font-family, $token);\n }\n }\n }\n }\n }\n }\n}\n\n.usa-icon-list__title {\n @include typeset(\n $theme-icon-list-title-font-family,\n $theme-body-font-size,\n 2\n );\n margin-bottom: units(0);\n padding-top: $icon-list-title-padding-top;\n & + * {\n margin-top: units(1);\n }\n}\n\n.usa-icon-list__content {\n font-size: $type-scale;\n padding-left: $type-scale * $icon-list-icon-padding-left-factor;\n > *:first-child {\n margin-top: 0;\n }\n > *:last-child {\n margin-bottom: 0;\n }\n\n ul li {\n list-style-type: disc;\n }\n}\n","@use \"uswds-core\" as *;\n\n$identifier-context: \"Identifier\";\n$identifier-logo-height: 6;\n$identifier-section-margin-y: 2;\n$identifier-section-margin-y-small: 1;\n$identifier-link-gap: 1.5;\n$identifier-link-gap-desktop: 1;\n$identifier-links-gap: 4 !default;\n\n@mixin identifier-primary-link {\n @include set-link-from-bg(\n $theme-identifier-background-color,\n $theme-identifier-primary-link-color,\n $context: $identifier-context\n );\n}\n\n@mixin identifier-secondary-link {\n @include set-link-from-bg(\n $theme-identifier-background-color,\n $theme-identifier-secondary-link-color,\n $context: $identifier-context\n );\n}\n\n//\n// General Styles\n// =====================================\n.usa-identifier {\n @include typeset($theme-identifier-font-family, \"sm\", 3);\n @include set-text-and-bg(\n $theme-identifier-background-color,\n $context: $identifier-context\n );\n padding-bottom: units(2);\n}\n\n.usa-identifier__container {\n @include grid-container;\n @include u-maxw($theme-identifier-max-width);\n}\n\n.usa-identifier__section {\n @include u-padding-y($identifier-section-margin-y);\n}\n\n.usa-identifier__section--masthead {\n .usa-identifier__container {\n @include at-media(\"tablet\") {\n @include u-align-items(\"align-center\");\n @include u-display(\"flex\");\n }\n }\n}\n\n.usa-identifier__logos {\n display: flex;\n margin-right: units(2);\n}\n\n.usa-identifier__logo {\n @include u-text-decoration(\"no-underline\");\n height: units($identifier-logo-height);\n display: block;\n\n & + .usa-identifier__logo {\n margin-left: units(1);\n }\n}\n\n.usa-identifier__logo-img {\n height: 100%;\n width: auto;\n}\n\n.usa-identifier__identity {\n @include u-flex(\"fill\");\n margin-top: units(2);\n\n @include at-media(\"tablet\") {\n margin-top: units(0);\n }\n}\n\n.usa-identifier__identity-domain,\n.usa-identifier__identity-disclaimer {\n margin: 0;\n padding: 0;\n}\n\n.usa-identifier__identity-domain {\n @include set-text-from-bg(\n $theme-identifier-background-color,\n $theme-identifier-identity-domain-color,\n $context: $identifier-context\n );\n}\n\n.usa-identifier__identity-disclaimer {\n @include u-text(\"bold\");\n\n a {\n @include identifier-primary-link;\n }\n}\n\n.usa-identifier__section--required-links {\n @include at-media(\"tablet\") {\n @include u-padding-y($identifier-section-margin-y-small);\n }\n @include at-media(\"desktop\") {\n @include u-font-size($theme-identifier-font-family, \"xs\");\n }\n}\n\n.usa-identifier__required-links-list {\n @include add-list-reset;\n @include u-margin-y(0);\n\n @include at-media(\"tablet\") {\n column-count: 2;\n column-gap: units($identifier-links-gap);\n column-fill: balance;\n }\n\n @include at-media(\"desktop\") {\n column-count: 4;\n }\n}\n\n.usa-identifier__required-links-item {\n break-inside: avoid;\n margin-bottom: units($identifier-link-gap);\n\n &:last-child {\n margin-bottom: units(0);\n }\n\n @include at-media(\"desktop\") {\n margin-bottom: units($identifier-link-gap-desktop);\n }\n}\n\n.usa-identifier__required-link,\n.usa-identifier__required-link.usa-link {\n @include identifier-secondary-link;\n display: inline-block;\n}\n\n.usa-identifier__section--usagov a {\n @include identifier-primary-link;\n @include u-text(\"bold\");\n display: inline-block;\n margin-top: units(1);\n\n @include at-media(\"tablet\") {\n margin-top: 0;\n }\n}\n\n.usa-identifier__usagov-description {\n @include at-media(\"tablet\") {\n display: inline-flex;\n }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../../functions\" as *;\n@use \"../../tokens\" as *;\n\n// Outputs text-decoration and color properties\n\n@mixin u-text-decoration($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n @each $this-value in $value {\n @if map.has-key($all-color-shortcodes, smart-quote($this-value)) {\n text-decoration-color: color(smart-quote($this-value)) #{$important};\n } @else {\n text-decoration: get-uswds-value(\"text-decoration\", $value...)\n #{$important};\n }\n }\n}\n","@use \"uswds-core\" as *;\n@use \"sass:color\";\n@use \"sass:list\";\n\n.usa-in-page-nav-container {\n align-items: flex-start;\n display: flex;\n\n // Set main landmark max width to ensure in-page nav will fit\n main {\n max-width: units($theme-in-page-nav-main-content-max-width);\n width: 100%;\n }\n}\n\n.usa-in-page-nav {\n @include set-text-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $context: \"In-page navigation text color\"\n );\n display: none;\n margin-left: units($theme-in-page-nav-margin-left);\n margin-top: units($theme-in-page-nav-margin-top);\n max-width: units(\"card-lg\");\n order: 2;\n position: sticky;\n top: units($theme-in-page-nav-top);\n width: 100%;\n\n @include at-media(\"tablet\") {\n display: block;\n }\n}\n\n.usa-in-page-nav__nav {\n @include set-text-and-bg(\n $theme-in-page-nav-background-color,\n $context: \"In-page navigation background\"\n );\n border-radius: radius($theme-in-page-nav-background-radius);\n padding: units($theme-in-page-nav-background-padding);\n}\n\n.usa-in-page-nav__heading {\n // TODO: This could be a setting?\n @include typeset(\"ui\", \"2xs\", 3);\n @include u-font-weight(\"bold\");\n margin-bottom: units(2);\n margin-top: 0;\n padding: 0;\n}\n\n.usa-in-page-nav__list {\n @include border-box-sizing;\n @include nav-list(\"sidenav\");\n border-left: units(1px) solid\n color.adjust(\n color(\n get-color-token-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $context: \"In-page navigation rail\"\n )\n ),\n $alpha: -0.75\n );\n padding: 0;\n\n // specificity to override sidenav styles\n a:not(.usa-button) {\n &:not(.usa-current) {\n @include set-link-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $preferred-link-color: $theme-in-page-nav-link-color,\n $context: \"In-page-navigation link\"\n );\n\n &:visited {\n color: color(\n list.nth(\n get-link-tokens-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $preferred-link-token: $theme-in-page-nav-link-color,\n $context: \"In-page-navigation link\"\n ),\n 1\n )\n );\n }\n }\n\n &.usa-current {\n @include set-text-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $context: \"In-page-navigation current color\"\n );\n font-weight: inherit;\n }\n\n &:hover {\n text-decoration: underline;\n background-color: none;\n }\n\n &.usa-current {\n position: static;\n\n &::after {\n background-color: color(\n get-color-token-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $preferred-text-token: $theme-in-page-nav-bar-color,\n $context: \"In-page navigation bar\"\n )\n );\n border-radius: 0;\n bottom: units(-1px);\n left: 0;\n top: 0;\n width: units($theme-in-page-nav-bar-width);\n z-index: z(100);\n }\n }\n }\n}\n\n.usa-in-page-nav__item {\n @include typeset($theme-in-page-nav-font-family, \"2xs\", 2);\n border: none;\n position: relative;\n\n &--primary {\n @include u-font-weight(\"bold\");\n }\n}\n","@use \"./add-bar\" as *;\n@use \"../../functions\" as *;\n@use \"../../mixins/helpers\" as *;\n@use \"../../mixins/typography/unstyled-list\" as *;\n@use \"../../mixins/utilities\" as *;\n@use \"../../settings\" as *;\n\n$sidenav-level-1-inset: 2;\n$sidenav-level-2-inset: 4;\n$sidenav-level-3-inset: 6;\n$sidenav-level-4-inset: 8;\n\n@mixin nav-list($type) {\n @include unstyled-list();\n\n @if $type == \"sidenav\" {\n &__item {\n border-top: units(1px) solid color(\"base-lighter\");\n }\n }\n\n @if $type == \"nav\" {\n &-item {\n border-top: units(1px) solid color(\"base-lighter\");\n }\n }\n\n a:not(.usa-button) {\n display: block;\n padding: units(1) units($sidenav-level-1-inset);\n text-decoration: none;\n\n &:hover {\n background-color: color(\"base-lightest\");\n text-decoration: none;\n }\n }\n\n a:not(.usa-button):not(.usa-current) {\n color: color(\"base-dark\");\n\n &:hover {\n color: color($theme-link-color);\n }\n\n &:focus {\n outline-offset: 0;\n }\n }\n\n .usa-current {\n @include add-bar(\n $theme-sidenav-current-border-width,\n \"primary\",\n \"left\",\n \"pill\",\n 0.5,\n 0.5\n );\n color: color($theme-link-color);\n font-weight: font-weight(\"bold\");\n\n @include at-media(\"tablet\") {\n @include add-bar(\n $theme-sidenav-current-border-width,\n $theme-link-color,\n \"left\",\n \"pill\",\n 0,\n 0.5\n );\n }\n }\n}\n\n@mixin nav-sublist {\n @include unstyled-list();\n margin: 0;\n\n &-item {\n border-top: units(1px) solid color(\"base-lighter\");\n font-size: font-size($theme-sidenav-font-family, \"2xs\");\n }\n\n .usa-current {\n @include remove-bar;\n\n @include at-media(\"tablet\") {\n @include remove-bar;\n }\n }\n\n // level 2+\n a:not(.usa-button) {\n padding-left: units($sidenav-level-2-inset);\n }\n\n // level 3+\n & & a:not(.usa-button) {\n padding-left: units($sidenav-level-3-inset);\n }\n\n // level 4+\n & & & a:not(.usa-button) {\n padding-left: units($sidenav-level-4-inset);\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-language {\n @include u-flex(\"row\", \"align-center\", \"justify-end\");\n display: flex;\n padding: 0 0 units(0.5) units(1);\n width: 100%;\n\n &--small {\n .usa-button {\n @include u-padding-x(1.5);\n @include u-padding-y(0);\n font-size: font-size($theme-header-font-family, \"3xs\");\n height: units(4);\n margin-top: 0.3rem;\n min-width: units($theme-button-small-width);\n }\n }\n}\n\n.usa-language-container {\n @include u-flex(\"align-center\", \"justify-end\");\n display: flex;\n}\n\n.usa-nav-container {\n .usa-language-container {\n align-self: center;\n margin-left: units(0);\n position: absolute;\n right: units(10);\n top: units(2);\n\n @include at-media($theme-header-min-width) {\n align-self: flex-end;\n margin-left: units(1.5);\n margin-bottom: units(1);\n position: relative;\n right: inherit;\n top: units(-2px);\n }\n }\n}\n\n.usa-language__link {\n margin-right: units(0);\n}\n\n.usa-language__primary {\n width: auto;\n}\n\n.usa-language__primary-item:last-of-type {\n position: relative;\n\n .usa-language__submenu {\n @include u-pin-right;\n }\n}\n\n.usa-language__submenu {\n @include add-list-reset;\n @include nav-sublist;\n background-color: color(\"primary-darker\");\n position: absolute;\n width: units(\"card-lg\");\n z-index: z-index(400);\n\n &[aria-hidden=\"true\"] {\n display: none;\n }\n\n .usa-language__submenu-item {\n a {\n color: color(\"white\");\n display: block;\n line-height: line-height($theme-navigation-font-family, 3);\n padding: 0;\n padding: units(1);\n text-decoration: none;\n\n &:focus {\n outline-offset: units(\"neg-05\");\n }\n\n &:hover {\n color: color(\"white\");\n text-decoration: underline;\n }\n }\n }\n}\n\n.usa-language__submenu-list {\n @include unstyled-list;\n\n .usa-language__submenu-list-item {\n margin: 0;\n font-size: font-size($theme-navigation-font-family, \"2xs\");\n\n a {\n line-height: line-height($theme-navigation-font-family, 3);\n }\n }\n}\n","@use \"uswds-core\" as *;\n\n$sidenav-reorder-warning: \"$theme-sidenav-reorder is enabled and has accessibility concerns. This behavior has a negative impact on users of assistive technologies.\";\n\n.usa-layout-docs__sidenav {\n padding-top: units(4);\n\n @include at-media(\"desktop\") {\n padding-top: 0;\n }\n\n // Revert to >3.8.0 behavior and give a warning.\n @if $theme-sidenav-reorder {\n @warn $sidenav-reorder-warning;\n\n &:first-of-type {\n @include grid-col(12);\n order: 2;\n\n @include at-media(\"desktop\") {\n @include grid-col(3);\n order: 0;\n }\n }\n }\n}\n","@use \"sass:map\";\n\n@use \"uswds-core\" as *;\n\n/* stylelint-disable */\n\n$namespace-grid: ns(\"grid\");\n\n// basic container\n.#{$namespace-grid}container {\n $props: append-important($grid-global, $theme-grid-container-max-width);\n @include grid-container($props);\n}\n\n// container with custom widths\n@each $width-key, $width-value in $system-breakpoints {\n .#{$namespace-grid}container-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-container($props);\n }\n}\n\n// responsive containers...\n@each $mq-key, $mq-value in $system-breakpoints {\n @if map.get($theme-utility-breakpoints-complete, $mq-key) {\n @include at-media($mq-key) {\n .#{$mq-key}#{$separator}#{$namespace-grid}container {\n $props: append-important($grid-global, desktop);\n @include grid-container($props);\n }\n\n // ...with custom widths\n @each $width-key, $width-value in $system-breakpoints {\n .#{$mq-key}#{$separator}#{$namespace-grid}container-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-container($props);\n }\n }\n }\n }\n}\n\n// basic row...\n.#{$namespace-grid}row {\n @include grid-row;\n\n // ...that includes column gaps\n &.#{$namespace-grid}gap {\n @include grid-gap-responsive;\n }\n @each $gap-key, $gap-val in map-deep-get($system-properties, gap, standard) {\n &.#{$namespace-grid}gap-#{$gap-key} {\n $props: append-important($grid-global, $gap-key);\n @include grid-gap($props);\n }\n }\n\n // responsive column gaps\n @each $mq-key, $mq-value in $system-breakpoints {\n @if map.get($theme-utility-breakpoints-complete, $mq-key) {\n @include at-media($mq-key) {\n @each $gap-key,\n $gap-val in map-deep-get($system-properties, gap, standard)\n {\n &.#{$mq-key}#{$separator}#{$namespace-grid}gap-#{$gap-key} {\n $props: append-important($grid-global, $gap-key);\n @include grid-gap($props);\n }\n }\n }\n }\n }\n}\n\n// basic columns...\n[class*=\"#{$namespace-grid}col\"] {\n @include u-position(relative);\n @include u-width(full);\n box-sizing: border-box;\n}\n\n.#{$namespace-grid}col {\n $props: append-important($grid-global, fill);\n @include grid-col($props);\n}\n\n.#{$namespace-grid}col-auto {\n $props: append-important($grid-global, auto);\n @include grid-col($props);\n}\n\n.#{$namespace-grid}col-fill {\n $props: append-important($grid-global, fill);\n @include grid-col($props);\n}\n\n// ...with widths\n@each $width-key, $width-value in $system-layout-grid-widths {\n .#{$namespace-grid}col-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-col($props);\n }\n}\n\n// responsive columns\n@each $mq-key, $mq-value in $system-breakpoints {\n @if map.get($theme-utility-breakpoints-complete, $mq-key) {\n @include at-media($mq-key) {\n .#{$mq-key}#{$separator}#{$namespace-grid}col {\n $props: append-important($grid-global, fill);\n @include grid-col($props);\n }\n .#{$mq-key}#{$separator}#{$namespace-grid}col-fill {\n $props: append-important($grid-global, fill);\n @include grid-col($props);\n }\n .#{$mq-key}#{$separator}#{$namespace-grid}col-auto {\n $props: append-important($grid-global, auto);\n @include grid-col($props);\n }\n\n @each $width-key, $width-value in $system-layout-grid-widths {\n .#{$mq-key}#{$separator}#{$namespace-grid}col-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-col($props);\n }\n }\n }\n }\n}\n\n// basic offsets\n@each $width-key, $width-value in $system-layout-grid-widths {\n .#{$namespace-grid}offset-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-offset($props);\n }\n}\n.#{$namespace-grid}offset-none {\n $props: append-important($grid-global, none);\n @include grid-offset($props);\n}\n\n// responsive offsets\n@each $mq-key, $mq-value in $system-breakpoints {\n @if map.get($theme-utility-breakpoints-complete, $mq-key) {\n @each $width-key, $width-value in $system-layout-grid-widths {\n @include at-media($mq-key) {\n .#{$mq-key}#{$separator}#{$namespace-grid}offset-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-offset($props);\n }\n }\n }\n @include at-media($mq-key) {\n .#{$mq-key}#{$separator}#{$namespace-grid}offset-none {\n $props: append-important($grid-global, none);\n @include grid-offset($props);\n }\n }\n }\n}\n/* stylelint-enable */\n","@use \"uswds-core\" as *;\n\n.usa-media-block {\n @include u-align-items(\"align-start\");\n @include u-display(\"flex\");\n}\n\n.usa-media-block__img {\n @include media-block-img;\n}\n\n.usa-media-block__body {\n @include u-flex(1);\n}\n","@use \"uswds-core\" as *;\n\n.usa-js-no-click {\n pointer-events: none;\n user-select: none;\n\n .usa-modal,\n .usa-modal * {\n pointer-events: auto;\n user-select: text;\n }\n}\n\n// Prevents propagation issue in Safari an opener\n// has a child element, and when clicked, prevents\n// intended action\n[data-open-modal] * {\n pointer-events: none;\n}\n\n.usa-modal-wrapper {\n text-align: center;\n transition: opacity $project-easing;\n\n // Using visibility: hidden instead of display: none because\n // of iOS VoiceOver issue:\n // https://developer.paciellogroup.com/blog/2018/06/the-current-state-of-modal-dialog-accessibility/\n &.is-hidden {\n visibility: hidden;\n opacity: opacity(0);\n position: fixed;\n }\n\n &.is-visible {\n visibility: visible;\n opacity: opacity(100);\n position: fixed;\n z-index: z-index(\"top\");\n }\n}\n\n.usa-modal-overlay {\n background: color(\"black-transparent-70\");\n bottom: 0;\n height: 100%;\n left: 0;\n overflow: scroll;\n overflow-x: hidden;\n padding: units(3);\n position: fixed;\n scroll-behavior: smooth;\n top: 0;\n width: 100%;\n\n &:before {\n content: \"\";\n display: inline-block;\n height: 100%;\n vertical-align: middle;\n }\n\n &[data-force-action=\"true\"] {\n pointer-events: none;\n\n * {\n pointer-events: auto;\n }\n }\n}\n\n// Prevents modals from flickering\n// Still allows content to be accessed\n.usa-js-loading {\n .usa-modal-wrapper {\n @include add-sr-only;\n }\n\n .usa-modal-wrapper:target {\n position: static;\n }\n}\n\n.usa-modal {\n @include typeset;\n @include u-radius($theme-modal-border-radius);\n background: white;\n @include set-text-from-bg(\"white\");\n display: inline-block;\n margin: units(2.5) auto;\n max-width: units($theme-modal-default-max-width);\n position: relative;\n text-align: left;\n vertical-align: middle;\n width: 100%;\n\n &:focus {\n outline: none;\n }\n}\n\n.usa-modal__content {\n display: flex;\n flex-direction: column-reverse;\n padding-top: units(4);\n width: 100%;\n}\n\n.usa-modal__main {\n margin: 0 auto;\n padding: units(1) units(4) units(4);\n}\n\n// Prevents JS not recognizing as part of close button.\n.usa-modal-wrapper [data-close-modal] > .usa-icon,\n.usa-modal-wrapper [data-close-modal] > .usa-icon use {\n pointer-events: none !important;\n}\n\n.usa-modal__close {\n align-items: center;\n align-self: flex-end;\n background-color: transparent;\n color: color(\"base\");\n display: flex;\n flex-shrink: 0;\n font-size: size(\"ui\", \"2xs\");\n margin: units(-4) 0 0 auto;\n padding: units(0.5) units(0.5);\n width: auto;\n\n &:hover,\n &:active {\n background-color: transparent;\n color: color(\"ink\");\n }\n\n &:focus {\n outline-offset: 0;\n }\n\n .usa-icon {\n height: units(4);\n margin: units(2px) units(2px) 0 0;\n width: units(4);\n }\n}\n\n.usa-modal__heading {\n @include u-font(\"heading\", \"lg\");\n line-height: line-height(\"heading\", 3);\n margin-top: 0;\n}\n\n.usa-modal__footer {\n margin-top: units(3);\n}\n\n// Variants\n.usa-modal--lg {\n max-width: units($theme-modal-lg-max-width);\n width: 100%;\n\n .usa-modal__main {\n padding-bottom: units(8);\n padding-top: units(2.5);\n width: 100%;\n max-width: units($theme-modal-lg-content-max-width);\n }\n\n .usa-modal__heading {\n @include at-media(\"tablet\") {\n @include u-font(\"heading\", \"xl\");\n }\n }\n}\n\n.usa-js-modal--active {\n overflow: hidden;\n}\n","@use \"sass:math\";\n@use \"sass:list\";\n@use \"sass:color\";\n\n@use \"uswds-core\" as *;\n\n$pagination-context: \"Pagination\";\n$pagination-margin-x: 0.5 !default;\n$pagination-margin-y: 2 !default;\n$pagination-margin-padding: 1 !default;\n$pagination-target-size: 5 !default;\n\n$pagination-current-color: get-color-token-from-bg(\n $theme-pagination-background-color\n);\n\n$pagination-link-tokens: get-link-tokens-from-bg(\n $theme-pagination-background-color,\n $theme-link-reverse-color,\n $theme-link-color,\n $context: $pagination-context\n);\n\n$pagination-link-token: list.nth($pagination-link-tokens, 1);\n$pagination-hover-token: list.nth($pagination-link-tokens, 2);\n\n// Pagination\n// ---------------------------------\n.usa-pagination {\n @include u-margin-y($pagination-margin-y);\n @include typeset($theme-pagination-font-family);\n @include set-text-and-bg(\n $theme-pagination-background-color,\n $context: $pagination-context\n );\n display: flex;\n justify-content: center;\n}\n\n// TODO: Pull out magic number into vars? Could this better?\n.usa-pagination .usa-icon {\n height: px-to-rem(18px);\n width: px-to-rem(18px);\n}\n\n// Shared styles\n// ---------------------------------\n\n// Pagination nav\n// ---------------------------------\n.usa-pagination__list {\n @include add-list-reset;\n align-items: center;\n display: flex;\n flex-flow: row nowrap;\n justify-content: center;\n width: auto;\n}\n\n// Pagination nav items\n// 1. Prevents chromium browsers from adding additional vertical whitespace\n.usa-pagination__item {\n display: inline-flex; // 1\n height: units($pagination-target-size);\n justify-content: center;\n line-height: 1;\n margin-left: units($pagination-margin-x);\n margin-right: units($pagination-margin-x);\n min-width: units($pagination-target-size);\n\n @include at-media($theme-pagination-breakpoint) {\n flex: 1 0 auto; // flex: 1 won't work in IE11\n }\n}\n\n// Don't show previous and next at mobile.\n// Functionality exists with page buttons.\n.usa-pagination__arrow {\n display: none;\n @include at-media($theme-pagination-breakpoint) {\n display: inherit;\n }\n}\n\n.usa-pagination__previous-page {\n @include at-media($theme-pagination-breakpoint) {\n margin-right: units(math.div($pagination-target-size, 2));\n }\n}\n\n.usa-pagination__next-page {\n @include at-media($theme-pagination-breakpoint) {\n margin-left: units(math.div($pagination-target-size, 2));\n }\n}\n\n.usa-pagination__link {\n align-items: center;\n color: color($pagination-link-token);\n display: inline-flex;\n text-decoration: none;\n\n &[disabled] {\n opacity: 0.4 !important;\n pointer-events: none;\n }\n\n &:hover,\n &:focus,\n &:active {\n color: color($pagination-hover-token);\n text-decoration: underline;\n }\n\n &:visited {\n color: color($pagination-link-token);\n }\n}\n\n.usa-pagination__button {\n align-items: center;\n border-color: color.adjust(color($pagination-current-color), $alpha: -0.8);\n border-radius: radius($theme-pagination-button-border-radius);\n border-style: solid;\n border-width: units($theme-pagination-button-border-width);\n color: color($pagination-link-token);\n display: inline-flex;\n justify-content: center;\n padding: units($pagination-margin-padding);\n text-decoration: none;\n width: 100%;\n\n &:hover,\n &:focus,\n &:active {\n color: color($pagination-hover-token);\n border-color: color($pagination-hover-token);\n\n @media (forced-colors: active) {\n border: $border-high-contrast;\n }\n }\n}\n\n.usa-pagination .usa-current {\n $text-color: if(\n $theme-pagination-background-color == \"default\",\n $theme-body-background-color,\n $theme-pagination-background-color\n );\n background-color: color($pagination-current-color);\n border-color: transparent;\n color: color($text-color);\n\n @media (forced-colors: active) {\n border: $border-high-contrast;\n color: buttonText;\n }\n\n &:hover,\n &:focus,\n &:active {\n background-color: color($pagination-current-color);\n color: color($text-color);\n text-decoration: none;\n\n @media (forced-colors: active) {\n color: buttontext;\n }\n }\n}\n\n.usa-pagination__overflow {\n align-items: center;\n align-self: stretch;\n display: inherit;\n user-select: none;\n padding: units($pagination-margin-padding);\n}\n\n// ---------------------------------\n// Variants\n// ---------------------------------\n","@use \"uswds-core\" as *;\n\n// PROCESS LIST\n$theme-process-list-counter-content-padding: calc(\n (#{units($theme-process-list-counter-size)} / 2) - #{units(0.5)}\n);\n$theme-process-list-counter-line-x-position: calc(\n (\n (#{units($theme-process-list-counter-size)} / 2) -\n (#{units($theme-process-list-connector-width)} / 2)\n )\n);\n\n@include override-prose {\n .usa-process-list {\n @include typeset($theme-process-list-font-family);\n @include unstyled-list;\n counter-reset: usa-numbered-list;\n padding: 20px 0 0 $theme-process-list-counter-line-x-position;\n position: relative;\n\n // Use increased specificity to override unstyled-list()\n & > .usa-process-list__item {\n @include u-measure(5);\n }\n }\n\n .usa-process-list__item {\n border-left: units($theme-process-list-connector-width) solid\n color($theme-process-list-connector-color);\n font-size: size(\n $theme-process-list-font-family,\n $theme-process-list-font-size\n );\n margin-bottom: 0;\n padding-bottom: units(4);\n padding-left: calc(#{$theme-process-list-counter-content-padding} * 2);\n }\n}\n\n.usa-process-list__item {\n &:last-child {\n border-left: units($theme-process-list-connector-width) solid transparent;\n }\n\n &::before {\n @include u-flex(\"row\", \"align-center\", \"justify-center\");\n $half-of-font-size: -0.4rem;\n @include u-circle($theme-process-list-counter-size);\n background-color: color($theme-process-list-counter-background-color);\n border: units($theme-process-list-counter-border-width) solid\n color($theme-process-list-counter-border-color);\n box-shadow: 0 0 0 units($theme-process-list-counter-gap-width)\n color($theme-process-list-counter-gap-color);\n color: color($theme-process-list-counter-text-color);\n content: counter(usa-numbered-list, decimal);\n counter-increment: usa-numbered-list;\n display: flex;\n font-family: family($theme-process-list-counter-font-family);\n font-size: size(\n $theme-process-list-counter-font-family,\n $theme-process-list-counter-font-size\n );\n font-weight: font-weight(\"bold\");\n height: units($theme-process-list-counter-size);\n left: 0;\n line-height: lh($theme-process-list-counter-font-family, 1);\n margin-top: $half-of-font-size;\n position: absolute;\n width: units($theme-process-list-counter-size);\n }\n\n ul {\n list-style-type: disc;\n\n li {\n margin-bottom: units(0.5);\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n }\n\n > *:first-child {\n margin-top: 0;\n }\n\n > *:last-child {\n margin-bottom: 0;\n }\n}\n\n.usa-process-list__heading {\n @include typeset(\n $theme-process-list-heading-font-family,\n $theme-process-list-heading-font-size,\n 2\n );\n color: color($theme-process-list-heading-color);\n font-family: family($theme-process-list-heading-font-family);\n font-weight: font-weight(\"bold\");\n margin: 0;\n\n & + * {\n margin-top: units(0.5);\n }\n}\n","@use \"uswds-core\" as *;\n\n// Map for high contrast search icon\n$search-icon: (\n \"name\": \"search\",\n \"color\": ButtonText,\n \"svg-height\": 20,\n \"svg-width\": 20,\n \"height\": units(3),\n);\n\n.usa-search {\n @include border-box-sizing;\n @include clearfix;\n @include typeset($theme-search-font-family);\n position: relative;\n\n // if role is in the element (>=2.6.0)...\n &[role=\"search\"],\n // if there is a (=2.5.[0,1])...\n &[role=\"search\"]>div,\n // ...or if the component has a separate (<=2.4.0)\n [role=\"search\"] {\n display: flex;\n }\n\n [type=\"submit\"] {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n height: units(4);\n margin: 0;\n padding: 0;\n width: units($theme-button-small-width);\n\n @include at-media(\"mobile-lg\") {\n @include u-padding-x(2);\n width: auto;\n }\n\n @media (forced-colors: active) {\n @include place-icon($search-icon, \"before\");\n\n &:focus {\n outline-offset: 0;\n }\n\n &::before {\n @include at-media(\"mobile-lg\") {\n content: none;\n }\n }\n }\n }\n\n &__submit-icon {\n @include at-media(\"mobile-lg\") {\n display: none;\n }\n\n @media (forced-colors: active) {\n display: none;\n }\n }\n}\n\n.usa-search--big {\n $height: units(6);\n\n [type=\"search\"],\n .usa-search__input {\n @include at-media(\"mobile-lg\") {\n font-size: font-size($theme-search-font-family, \"sm\");\n height: $height;\n }\n }\n\n [type=\"submit\"],\n .usa-search__submit {\n @include at-media(\"mobile-lg\") {\n @include u-padding-x(4);\n font-size: font-size($theme-search-font-family, \"lg\");\n height: $height;\n width: auto;\n }\n }\n}\n\n.usa-search--small {\n [type=\"submit\"],\n .usa-search__submit {\n @include u-padding-x(1.5);\n min-width: units($theme-button-small-width);\n }\n\n [type=\"submit\"] {\n @media (forced-colors: active) {\n &::before {\n @include at-media(\"mobile-lg\") {\n content: \"\";\n }\n }\n }\n }\n\n .usa-search__submit-icon {\n @include u-square(3);\n display: block;\n\n @media (forced-colors: active) {\n display: none;\n }\n }\n}\n\n// Extra specificity to override rules set in normalize.css.\ninput[type=\"search\"] {\n /* stylelint-disable-line selector-no-qualifying-type */\n box-sizing: border-box;\n appearance: none;\n}\n\n[type=\"search\"],\n.usa-search__input {\n @include u-padding-y(0);\n border-bottom-right-radius: 0;\n border-right: none;\n border-top-right-radius: 0;\n box-sizing: border-box;\n float: left;\n font-size: font-size($theme-search-font-family, \"xs\");\n height: units(4);\n margin: 0;\n}\n\n.usa-search__submit-text {\n display: none;\n\n @include at-media(\"mobile-lg\") {\n display: block;\n }\n}\n","@use \"uswds-core\" as *;\n\n$section-context: \"Section\";\n\n.usa-section {\n @include border-box-sizing;\n @include u-padding-y($theme-site-margins-width);\n\n @include at-media(\"tablet\") {\n @include u-padding-y(8);\n }\n}\n\n.usa-section--light {\n background-color: color(\"base-lightest\");\n}\n\n.usa-section--dark {\n background-color: color(\"primary-darker\");\n color: color($theme-text-reverse-color);\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n // TODO: This should use a theme-able color,\n // and should probably default to white\n color: color(\"accent-cool\");\n }\n\n p {\n color: color($theme-text-reverse-color);\n }\n\n a {\n @include set-link-from-bg(\n \"primary-darker\",\n $theme-link-reverse-color,\n $context: $section-context\n );\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-sidenav {\n @include border-box-sizing;\n @include nav-list(\"sidenav\");\n @include typeset($theme-sidenav-font-family, \"sm\", 3);\n border-bottom: units(1px) solid color(\"base-lighter\");\n\n .grid-container & {\n @include u-margin-x(-$theme-site-margins-mobile-width);\n\n @include at-media(\"tablet\") {\n @include u-margin-x(0);\n }\n }\n}\n\n.usa-sidenav__sublist {\n @include nav-sublist;\n font-size: font-size($theme-sidenav-font-family, \"xs\");\n}\n","@use \"sass:math\";\n@use \"uswds-core\" as *;\n\n// Alert variables ---------- //\n$site-alert-icons: (\n info: \"info\",\n emergency: \"error\",\n);\n\n.usa-site-alert {\n .usa-alert {\n @include alert-styles;\n }\n}\n\n@each $name, $icon in $site-alert-icons {\n .usa-site-alert--#{$name} .usa-alert {\n @include alert-status-wrapper-styles($name);\n\n .usa-alert__body {\n @include alert-status-body-styles($name, $icon);\n }\n }\n}\n\n.usa-site-alert--slim .usa-alert {\n @include alert-styles-slim;\n}\n\n.usa-site-alert--no-icon .usa-alert {\n @include alert-styles-no-icon;\n}\n","@use \"uswds-core\" as *;\n\n.usa-skipnav {\n @include border-box-sizing;\n @include typeset;\n @include typeset-link;\n background: transparent;\n left: 0;\n padding: units(1) units(2);\n position: absolute;\n top: -3.8rem; // skipnav link height\n transition: $project-easing;\n z-index: z-index(100);\n\n &:focus,\n &.usa-focus {\n background: color(\"white\");\n left: 0;\n position: absolute;\n top: 0;\n transition: $project-easing;\n }\n}\n\n.usa-skipnav__container {\n position: relative;\n}\n","@use \"sass:math\";\n\n@use \"uswds-core\" as *;\n\n$step-indicator-label-margin-top: 1;\n$step-indicator-margin-bottom: 4;\n$step-indicator-header-margin-top: 4;\n$step-indicator-header-margin-top-sm: 2;\n$step-indicator-segment-height-mobile: 1;\n$step-indicator-counter-size: 5;\n$step-indicator-counter-size-sm: 3;\n\n.usa-step-indicator {\n @include typeset(\n $theme-step-indicator-font-family,\n $theme-step-indicator-label-font-size,\n 2\n );\n background-color: color($step-indicator-background-color);\n margin-bottom: units($step-indicator-margin-bottom);\n margin-left: math.div(units($theme-step-indicator-segment-gap), -2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), -2);\n\n @include at-media($theme-step-indicator-min-width) {\n @include u-margin-x(0);\n }\n}\n\n.usa-step-indicator__segments {\n counter-reset: usa-step-indicator;\n display: flex;\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.usa-step-indicator__segment {\n @include u-flex(\"fill\");\n counter-increment: usa-step-indicator;\n margin-left: math.div(units($theme-step-indicator-segment-gap), 2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), 2);\n max-width: units(\"card-lg\");\n min-height: units($theme-step-indicator-segment-height);\n position: relative;\n\n // Add segment\n &:after {\n background-color: color($theme-step-indicator-segment-color-pending);\n content: \"\";\n display: block;\n // Use a fixed segment height for mobile regardless of settings\n height: units($step-indicator-segment-height-mobile);\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n\n @include at-media($theme-step-indicator-min-width) {\n height: units($theme-step-indicator-segment-height);\n }\n }\n}\n\n.usa-step-indicator__segment--complete {\n &::after {\n background-color: color($theme-step-indicator-segment-color-complete);\n }\n .usa-step-indicator__segment-label {\n color: color($theme-step-indicator-segment-color-complete);\n }\n}\n\n.usa-step-indicator__segment--current {\n &::after {\n background-color: color($theme-step-indicator-segment-color-current);\n }\n .usa-step-indicator__segment-label {\n color: color($theme-step-indicator-segment-color-current);\n font-weight: fw(\"bold\");\n }\n}\n\n.usa-step-indicator__segment-label {\n display: none;\n // Show labels only at the min-width\n @include at-media($theme-step-indicator-min-width) {\n color: color($theme-step-indicator-text-pending-color);\n display: block;\n font-size: size(\n $theme-step-indicator-font-family,\n $theme-step-indicator-label-font-size\n );\n // Add margin based on segment size\n margin-top: calc(\n #{units($theme-step-indicator-segment-height)} + #{units(\n $step-indicator-label-margin-top\n )}\n );\n padding-right: units(4);\n text-align: left;\n }\n}\n\n.usa-step-indicator__header {\n align-items: baseline;\n display: flex;\n}\n\n.usa-step-indicator__heading {\n color: color($theme-step-indicator-heading-color);\n font-family: family($theme-step-indicator-heading-font-family);\n font-size: size(\n $theme-step-indicator-heading-font-family,\n $theme-step-indicator-heading-font-size-small\n );\n font-weight: font-weight(\"bold\");\n margin: units($step-indicator-header-margin-top-sm) 0 0;\n\n @include at-media($theme-step-indicator-min-width) {\n font-size: size(\n $theme-step-indicator-heading-font-family,\n $theme-step-indicator-heading-font-size\n );\n margin-top: units($step-indicator-header-margin-top);\n }\n}\n\n.usa-step-indicator__current-step {\n $step-lh: lh($theme-step-indicator-heading-font-family, 2);\n @include u-circle($step-indicator-counter-size);\n @include u-text(\"normal\", \"tabular\");\n background-color: color($theme-step-indicator-segment-color-current);\n color: color($step-indicator-background-color);\n display: inline-block;\n // Magic number circle centering\n padding: calc(\n (#{units($step-indicator-counter-size)} - (2ex * #{$step-lh})) * 0.5\n );\n text-align: center;\n}\n\n.usa-step-indicator__total-steps {\n @include u-text(\"normal\", \"tabular\");\n color: color($theme-step-indicator-segment-color-current);\n margin-right: units(1);\n}\n\n.usa-step-indicator--counters,\n.usa-step-indicator--counters-sm {\n .usa-step-indicator__segment {\n @include at-media($theme-step-indicator-min-width) {\n $counter-lh: lh($theme-step-indicator-font-family, 1);\n // Remove segment gaps\n @include u-margin-x(0);\n\n // Add extra margin for counter\n @if $theme-step-indicator-counter-gap == 0 {\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size)} -\n #{units($theme-step-indicator-segment-height)}\n ) /\n 2\n )\n );\n } @else {\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size)} -\n #{units($theme-step-indicator-segment-height)}\n ) /\n 2\n ) +\n #{units($theme-step-indicator-counter-gap)}\n );\n }\n\n // Add counter\n &:before {\n @include u-circle($step-indicator-counter-size);\n @include u-text(\"tabular\");\n background-color: color($step-indicator-background-color);\n box-shadow:\n inset 0 0 0 units($theme-step-indicator-counter-border-width)\n color($theme-step-indicator-segment-color-pending),\n 0 0 0 units($theme-step-indicator-counter-gap)\n color($step-indicator-background-color);\n color: color($theme-step-indicator-text-pending-color);\n content: counter(usa-step-indicator);\n display: block;\n font-weight: fw(\"bold\");\n left: 0;\n line-height: lh($theme-step-indicator-font-family, 1);\n // Magic number circle centering\n padding: calc(\n (#{units($step-indicator-counter-size)} - (2ex * #{$counter-lh})) *\n 0.5\n );\n // padding: 1.5ex;\n position: absolute;\n text-align: center;\n top: calc(\n (\n #{units($step-indicator-counter-size)} - #{units(\n $theme-step-indicator-segment-height\n )}\n ) / -2\n );\n z-index: z(100);\n }\n\n &:last-child {\n // Don't show the last segment when counters appear\n &:after {\n display: none;\n }\n }\n }\n }\n\n .usa-step-indicator__segment--complete {\n &::before {\n background-color: color($theme-step-indicator-segment-color-complete);\n box-shadow: 0 0 0 units($theme-step-indicator-counter-gap)\n color($step-indicator-background-color);\n color: color($step-indicator-background-color);\n }\n }\n\n .usa-step-indicator__segment--current {\n &::before {\n background-color: color($theme-step-indicator-segment-color-current);\n box-shadow: 0 0 0 units($theme-step-indicator-counter-gap)\n color($step-indicator-background-color);\n color: color($step-indicator-background-color);\n }\n }\n\n .usa-step-indicator__segment-label {\n @include at-media($theme-step-indicator-min-width) {\n // Add counter margin\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size)} + #{units(\n $theme-step-indicator-segment-height\n )}\n ) / 2\n ) + #{units($step-indicator-label-margin-top)}\n );\n }\n }\n\n // Adjust segments with centered variant\n &.usa-step-indicator--center {\n @include at-media($theme-step-indicator-min-width) {\n .usa-step-indicator__segment {\n &:first-child {\n &:after {\n left: 50%;\n right: 0;\n width: auto;\n }\n }\n\n &:last-child {\n &:after {\n display: block;\n left: 0;\n right: 50%;\n width: auto;\n }\n }\n }\n }\n }\n}\n\n.usa-step-indicator--counters-sm {\n .usa-step-indicator__segment {\n @include at-media($theme-step-indicator-min-width) {\n $counter-lh: lh($theme-step-indicator-font-family, 1);\n // Add extra margin for counter\n @if $theme-step-indicator-counter-gap == 0 {\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size-sm)} -\n #{units($theme-step-indicator-segment-height)}\n ) /\n 2\n )\n );\n } @else {\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size-sm)} -\n #{units($theme-step-indicator-segment-height)}\n ) /\n 2\n ) +\n #{units($theme-step-indicator-counter-gap)}\n );\n }\n\n // Add counter\n &:before {\n @include u-circle($step-indicator-counter-size-sm);\n @include u-font-size($theme-step-indicator-font-family, 3);\n padding: calc(#{units(0.5)} + 1px);\n top: calc(\n (\n #{units($step-indicator-counter-size-sm)} - #{units(\n $theme-step-indicator-segment-height\n )}\n ) / -2\n );\n }\n\n &:last-child {\n // Don't show the last segment when counters appear\n &:after {\n display: none;\n }\n }\n }\n }\n\n .usa-step-indicator__segment-label {\n @include at-media($theme-step-indicator-min-width) {\n // Add counter margin\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size-sm)} + #{units(\n $theme-step-indicator-segment-height\n )}\n ) / 2\n ) + #{units($step-indicator-label-margin-top)}\n );\n }\n }\n}\n\n.usa-step-indicator--no-labels {\n margin-left: math.div(units($theme-step-indicator-segment-gap), -2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), -2);\n\n .usa-step-indicator__segment {\n // Remove extra counter margin\n margin-top: 0;\n // Add gap between segments\n margin-left: math.div(units($theme-step-indicator-segment-gap), 2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), 2);\n\n &:before {\n // Don't show counters\n display: none;\n }\n\n &:last-child {\n // Show last segment\n &:after {\n display: block;\n }\n }\n }\n\n .usa-step-indicator__heading {\n margin-top: units($step-indicator-header-margin-top-sm);\n }\n}\n\n.usa-step-indicator--no-labels {\n .usa-step-indicator__segment-label {\n // Don't show labels, even if they exist\n display: none;\n }\n}\n\n.usa-step-indicator--center {\n margin-left: math.div(units($theme-step-indicator-segment-gap), -2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), -2);\n\n .usa-step-indicator__segment {\n margin-left: math.div(units($theme-step-indicator-segment-gap), 2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), 2);\n\n &:before {\n @if $theme-step-indicator-counter-gap == 0 {\n left: calc(50% - ((#{units($step-indicator-counter-size)}) / 2));\n } @else {\n left: calc(\n 50% -\n (\n (\n #{units($step-indicator-counter-size)} +\n #{units($theme-step-indicator-counter-gap)}\n ) /\n 2\n )\n );\n }\n }\n }\n\n .usa-step-indicator__segment-label {\n // Balance label padding\n @include u-padding-x(1);\n // Center labels\n text-align: center;\n }\n\n &.usa-step-indicator--no-labels {\n .usa-step-indicator__segment {\n // Use full-width segments\n &:first-child {\n &:after {\n left: 0;\n }\n }\n\n &:last-child {\n &:after {\n right: 0;\n }\n }\n }\n }\n\n &.usa-step-indicator--counters-sm {\n .usa-step-indicator__segment {\n &:before {\n @if $theme-step-indicator-counter-gap == 0 {\n left: calc(50% - ((#{units($step-indicator-counter-size-sm)}) / 2));\n } @else {\n left: calc(\n 50% -\n (\n (\n #{units($step-indicator-counter-size-sm)} +\n #{units($theme-step-indicator-counter-gap)}\n ) /\n 2\n )\n );\n }\n }\n }\n }\n}\n","@use \"sass:list\";\n\n@use \"uswds-core\" as *;\n\n$summary-box-context: \"Summary Box\";\n\n.usa-summary-box {\n @include typeset($theme-summary-box-font-family);\n @include border-box-sizing;\n @include set-text-and-bg(\n $theme-summary-box-background-color,\n $theme-summary-box-text-color,\n $context: $summary-box-context\n );\n @include u-radius($theme-summary-box-border-radius);\n border: $theme-summary-box-border-width color($theme-summary-box-border-color)\n solid;\n padding: units(3);\n position: relative;\n\n .usa-list {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n * + & {\n margin-top: units(2);\n }\n}\n\n.usa-summary-box__heading {\n @include typeset($theme-summary-box-font-family, \"lg\", 2);\n margin-top: 0;\n margin-bottom: units(1);\n}\n\n.usa-summary-box__text {\n @include u-margin-y(0);\n}\n\n.usa-summary-box__text:only-child {\n margin-bottom: $theme-summary-box-border-width;\n padding-top: units(0.5);\n}\n\n.usa-summary-box__link {\n @include set-link-from-bg(\n $theme-summary-box-background-color,\n $theme-summary-box-link-color,\n $context: $summary-box-context\n );\n &[href^=\"#\"] {\n $link-tokens: get-link-tokens-from-bg(\n $theme-summary-box-background-color,\n $theme-summary-box-link-color,\n $context: $summary-box-context\n );\n &:visited {\n color: color(list.nth($link-tokens, 1));\n }\n &:hover {\n color: color(list.nth($link-tokens, 2));\n }\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-table {\n @include usa-table;\n}\n\n.usa-table--borderless {\n @include usa-table--borderless;\n}\n\n.usa-table--compact {\n @include usa-table--compact;\n}\n\n.usa-table--striped {\n @include usa-table--striped;\n}\n\n.usa-table--stacked {\n @include at-media-max(\"mobile-lg\") {\n @include table-stacked-styles;\n }\n}\n\n.usa-table--stacked-header {\n @include at-media-max(\"mobile-lg\") {\n @include table-stacked-styles;\n @include table-stacked-header-styles;\n }\n}\n\n.width-mobile {\n .usa-table--stacked {\n @include usa-table--stacked;\n }\n\n .usa-table--stacked-header {\n @include usa-table--stacked-header;\n }\n}\n\n.usa-table--sticky-header {\n @include usa-table--sticky-header;\n}\n\n.usa-table-container--scrollable {\n @include usa-table-container--scrollable;\n}\n","@use \"uswds-core\" as *;\n\n.usa-tag {\n @include border-box-sizing;\n @include u-font(\"ui\", \"2xs\");\n @include u-text(\"white\", \"uppercase\");\n background-color: color(\"base-dark\");\n border-radius: radius(\"sm\");\n margin-right: units(0.5);\n padding: units(1px) units(1);\n\n &:only-of-type {\n margin-right: 0;\n }\n}\n\n.usa-tag--big {\n @include u-padding-x(1);\n @include u-font(\"ui\", $theme-body-font-size);\n}\n","@use \"uswds-core\" as *;\n\n// Variables\n$triangle-size: 5px;\n\n/// Create a spacer to increase target area for tooltip triangle.\n///\n/// @param {String} $direction - The direction of the tooltip; can be top, bottom, left, right.\n///\n/// @example\n/// @include tooltip-spacer(\"top\");\n///\n/// @output\n/// .usa-tooltip__body--top::before {\n/// top: 100%;\n/// height: 5px;\n/// left: 0;\n/// right: 0;\n/// }\n@mixin tooltip-spacer($direction) {\n &::before {\n #{$direction}: 100%;\n\n @if ($direction == \"left\") or ($direction == \"right\") {\n bottom: 0;\n top: 0;\n width: $triangle-size;\n } @else {\n height: $triangle-size;\n left: 0;\n right: 0;\n }\n }\n}\n\n/* Tooltips */\n.usa-tooltip {\n display: inline-block;\n position: relative;\n}\n\n.usa-tooltip__trigger {\n cursor: pointer;\n\n > svg {\n display: block;\n pointer-events: none;\n }\n}\n\n.usa-tooltip__body,\n.usa-tooltip__body--top {\n transition: opacity 0.08s ease-in-out;\n background-color: color($theme-tooltip-background-color);\n border-radius: radius($theme-button-border-radius);\n color: color($theme-tooltip-font-color);\n display: none;\n font-size: size(\"ui\", $theme-tooltip-font-size);\n opacity: 0; // Required for recalculating position.\n padding: units(1);\n width: auto;\n white-space: pre;\n z-index: 100000;\n position: absolute;\n /* positioning is completed with JS */\n\n &::after {\n content: \"\";\n display: block;\n width: 0;\n height: 0;\n border-left: $triangle-size solid transparent;\n border-right: $triangle-size solid transparent;\n border-top: $triangle-size solid color($theme-tooltip-background-color);\n position: absolute;\n bottom: -$triangle-size;\n left: 50%;\n margin-left: -$triangle-size;\n }\n\n // This pseudo element fills the gap between the tooltip trigger and body.\n // Filling this gap allows the tooltip to stay open when the pointer moves\n // from the tooltip trigger to the body.\n &::before {\n content: \"\";\n display: block;\n position: absolute;\n }\n}\n\n.usa-tooltip__body--wrap {\n width: 100%;\n white-space: normal;\n text-align: center;\n min-width: calc(100vw / 2);\n}\n\n.usa-tooltip__body.is-set {\n display: block;\n}\n\n.usa-tooltip__body.is-visible {\n opacity: 1;\n}\n\n.usa-tooltip__body--top {\n @include tooltip-spacer(\"top\");\n}\n\n.usa-tooltip__body--bottom {\n @include tooltip-spacer(\"bottom\");\n\n &::after {\n border-left: $triangle-size solid transparent;\n border-right: $triangle-size solid transparent;\n border-bottom: $triangle-size solid color($theme-tooltip-background-color);\n border-top: 0;\n bottom: auto;\n top: -$triangle-size;\n }\n}\n\n.usa-tooltip__body--right {\n @include tooltip-spacer(\"right\");\n\n &::after {\n border-top: $triangle-size solid transparent;\n border-bottom: $triangle-size solid transparent;\n border-right: $triangle-size solid color($theme-tooltip-background-color);\n border-left: 0;\n right: auto;\n top: 50%;\n bottom: 0;\n left: -$triangle-size;\n margin: -$triangle-size 0 0 0;\n }\n}\n\n.usa-tooltip__body--left {\n @include tooltip-spacer(\"left\");\n\n &::after {\n border-top: $triangle-size solid transparent;\n border-bottom: $triangle-size solid transparent;\n border-left: $triangle-size solid color($theme-tooltip-background-color);\n border-right: 0;\n right: -$triangle-size;\n top: 50%;\n bottom: 0;\n left: auto;\n margin: -$triangle-size 0 0 0;\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-character-count__status {\n display: inline-block;\n padding-top: units(0.5);\n\n &.usa-character-count__status--invalid {\n color: color(\"error-dark\");\n font-weight: font-weight(\"bold\");\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-input {\n @extend %block-input-general;\n @extend %block-input-styles;\n\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include u-disabled;\n @include u-disabled-high-contrast-border;\n // Fix for Safari\n -webkit-text-fill-color: color(\"disabled-dark\");\n }\n}\n\n.usa-input--error {\n @include u-border($theme-input-state-border-width, \"error-dark\");\n padding-top: calc(#{units(1)} - #{units($theme-input-state-border-width)});\n padding-bottom: calc(#{units(1)} - #{units($theme-input-state-border-width)});\n}\n\n.usa-input--success {\n @include u-border($theme-input-state-border-width, \"success\");\n padding-top: calc(#{units(1)} - #{units($theme-input-state-border-width)});\n padding-bottom: calc(#{units(1)} - #{units($theme-input-state-border-width)});\n}\n","@use \"uswds-core\" as *;\n\n.usa-fieldset {\n @extend %block-input-general;\n border: none;\n margin: 0;\n padding: 0;\n}\n","@use \"uswds-core\" as *;\n\n.usa-legend {\n @include typeset(\n $theme-form-font-family,\n $theme-body-font-size,\n $theme-input-line-height\n );\n display: block;\n font-weight: font-weight(\"normal\");\n margin-top: units(3);\n max-width: units($theme-input-max-width);\n}\n\n.usa-legend--large {\n font-size: font-size($theme-form-font-family, \"xl\");\n font-weight: font-weight(\"bold\");\n margin-top: units(2);\n}\n","@use \"uswds-core\" as *;\n\n@include override-prose {\n .usa-input-list {\n @include add-list-reset;\n\n li {\n line-height: line-height(\n $theme-form-font-family,\n $theme-input-line-height\n );\n }\n }\n}\n","@use \"sass:color\";\n@use \"sass:list\";\n\n@use \"../../functions\" as *;\n@use \"../../settings\" as *;\n@use \"../../variables/border-high-contrast\" as *;\n@use \"../general/add-background-svg\" as *;\n@use \"format-input\" as *;\n@use \"format-label\" as *;\n\n@mixin checkbox-colors($args...) {\n @include -checkbox-and-radio-colors($input-type: \"checkbox\", $args...);\n}\n\n@mixin radio-colors($args...) {\n @include -checkbox-and-radio-colors($input-type: \"radio\", $args...);\n}\n\n// Applies active state colors to tile variant backgrounds and borders.\n// Used by :checked checkbox and radio labels as well as :indeterminate checkboxes.\n//\n// @parameter $input-active-color - active input color determined by -checkbox-and-radio-colors mixin.\n@mixin active-tile-colors($input-active-color) {\n background-color: color.adjust(color($input-active-color), $alpha: -0.9);\n border-color: color($input-active-color);\n\n @media (forced-colors: active) {\n border: ButtonText solid units(\"05\");\n }\n}\n\n// Applies active state colors to input backgrounds and borders.\n// Used by :checked checkbox and radio inputs as well as :indeterminate checkboxes.\n//\n// @parameter $input-active-color - active input color determined by -checkbox-and-radio-colors mixin.\n@mixin active-input-colors($input-active-color) {\n background-color: color($input-active-color);\n box-shadow: 0 0 0 units($theme-input-select-border-width)\n color($input-active-color);\n}\n\n@mixin -checkbox-and-radio-colors(\n $bg-color: $theme-input-background-color,\n $selected-color: \"default\",\n $input-type: null\n) {\n $input-text-color: get-color-token-from-bg($bg-color);\n $input-text-color-disabled: get-color-token-from-bg(\n $bg-color,\n \"disabled\",\n \"gray-50\"\n );\n $input-bg-color: if(\n $bg-color == \"default\",\n $theme-body-background-color,\n $bg-color\n );\n $input-active-color: list.nth(\n get-link-tokens-from-bg($bg-color, $preferred-link-token: $selected-color),\n 1\n );\n $input-border-alpha: -0;\n $tile-border-color: color(\"gray-20\");\n $tile-border-color--disabled: color(\"gray-10\");\n $tile-box-shadow--disabled: 0 0 0 units($theme-input-select-border-width)\n color($input-text-color-disabled);\n $input-darkmode: if(\n color.lightness(color($input-bg-color)) < 50%,\n true,\n false\n );\n $input-checkmark: if($input-darkmode, \"correct8-alt\", \"correct8\");\n $input-indeterminate: if(\n $input-darkmode,\n \"checkbox-indeterminate-alt\",\n \"checkbox-indeterminate\"\n );\n\n .usa-#{$input-type} {\n background: color($input-bg-color);\n }\n\n .usa-#{$input-type}__label {\n color: color($input-text-color);\n\n &::before {\n background: color($input-bg-color);\n box-shadow: 0 0 0 units($theme-input-select-border-width)\n color.adjust(color($input-text-color), $alpha: $input-border-alpha);\n\n @media (forced-colors: active) {\n outline: $border-high-contrast;\n outline-offset: 2px;\n }\n }\n }\n .usa-#{$input-type}__input {\n &:checked {\n @include format-input {\n @include active-input-colors($input-active-color);\n }\n }\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include format-label {\n color: color($input-text-color-disabled);\n cursor: not-allowed;\n\n @media (forced-colors: active) {\n color: GrayText;\n }\n }\n @include format-input {\n background-color: color($input-bg-color);\n box-shadow: $tile-box-shadow--disabled;\n }\n }\n &--tile {\n @include format-label {\n background-color: color($input-bg-color);\n border: units($theme-input-tile-border-width) solid $tile-border-color;\n color: color($input-text-color);\n }\n &:checked {\n @include format-label {\n @include active-tile-colors($input-active-color);\n }\n }\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include format-label {\n border-color: $tile-border-color--disabled;\n }\n\n &:checked,\n &:indeterminate,\n &[data-indeterminate] {\n @include format-label {\n background-color: color($input-bg-color);\n }\n }\n }\n }\n }\n\n @if $input-type == \"checkbox\" {\n .usa-checkbox__input {\n // Adding indeterminate styles here avoids style conflicts from setting in .usa-#{$input-type}__input due to\n // radio buttons receiving :indeterminate state when none are selected.\n &:indeterminate,\n &[data-indeterminate] {\n @include format-input {\n @include add-background-svg($input-indeterminate);\n @include active-input-colors($input-active-color);\n background-position: center center;\n background-size: units(1.5) auto;\n\n @media (forced-colors: active) {\n @include add-background-svg(\"checkbox-indeterminate-alt\");\n background-color: color(SelectedItem);\n }\n }\n\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include format-input {\n box-shadow: $tile-box-shadow--disabled;\n }\n\n @include format-label {\n border-color: $tile-border-color--disabled;\n }\n }\n }\n &--tile {\n &:indeterminate,\n &[data-indeterminate] {\n @include format-label {\n @include active-tile-colors($input-active-color);\n }\n }\n }\n &:checked,\n &:checked:disabled,\n &:checked[aria-disabled=\"true\"] {\n @include format-input {\n @include add-background-svg($input-checkmark);\n }\n\n @media (forced-colors: active) {\n @include format-input {\n @include add-background-svg(\"correct8-alt\");\n }\n }\n }\n &:checked:disabled,\n &:checked[aria-disabled=\"true\"],\n &:indeterminate:disabled,\n &:indeterminate[aria-disabled=\"true\"],\n &[data-indeterminate]:disabled,\n &[data-indeterminate][aria-disabled=\"true\"] {\n @include format-input {\n background-color: color($input-text-color-disabled);\n @media (forced-colors: active) {\n background-color: color(GrayText);\n }\n }\n }\n }\n }\n\n @if $input-type == \"radio\" {\n .usa-radio__input {\n &:checked {\n @include format-input {\n box-shadow:\n 0 0 0 units($theme-input-select-border-width)\n color($input-active-color),\n inset 0 0 0 units($theme-input-select-border-width)\n color($input-bg-color);\n\n @media (forced-colors: active) {\n background-color: ButtonText;\n }\n }\n }\n &:checked:disabled,\n &:checked[aria-disabled=\"true\"] {\n @include format-input {\n background-color: color($input-text-color-disabled);\n box-shadow:\n 0 0 0 2px color($input-text-color-disabled),\n inset 0 0 0 2px color($input-bg-color);\n\n @media (forced-colors: active) {\n background-color: color(GrayText);\n }\n }\n }\n }\n }\n}\n","@mixin format-input {\n & + [class*=\"__label\"]::before {\n @content;\n }\n}\n","@mixin format-label {\n & + [class*=\"__label\"] {\n @content;\n }\n}\n","@use \"sass:math\";\n\n@use \"uswds-core\" as *;\n\n@include checkbox-colors;\n\n.usa-checkbox__input {\n // The actual input element is only visible to screen readers, because\n // all visual styling is done via the label.\n @include sr-only();\n\n &:focus {\n @include format-input {\n @include focus-outline(null, null, null, 0.5);\n }\n }\n\n // Checkboxes and radios with tap-friendly targets\n &--tile {\n @include format-label {\n border-radius: radius($theme-input-tile-border-radius);\n margin-top: units(1);\n padding: units(1.5) units(2) units(1.5) units(5);\n\n &::before {\n left: units(5) - units($input-select-margin-right) - units(\n $theme-input-select-size\n );\n }\n }\n }\n}\n\n.usa-checkbox__input {\n &:checked {\n @include format-input {\n background-position: center center;\n background-size: units(1.5) auto;\n @media print {\n background-image: none;\n background-color: color(\"white\");\n content: \"\\2714\";\n text-align: center;\n }\n\n @media (forced-colors: active) {\n background-color: color(SelectedItem);\n }\n }\n }\n}\n\n.usa-checkbox__label {\n @extend %block-input-general;\n cursor: pointer;\n display: inherit;\n font-weight: font-weight(\"normal\");\n margin-top: units(1.5);\n padding-left: units($input-select-margin-right) +\n units($theme-input-select-size);\n position: relative;\n\n &::before {\n content: \" \";\n display: block;\n left: 0;\n margin-left: units($theme-input-select-border-width);\n margin-top: math.div(\n (\n line-height($theme-form-font-family, $theme-input-line-height) *\n font-size($theme-form-font-family, $theme-body-font-size) - units(\n $theme-input-select-size\n )\n ),\n 2\n );\n position: absolute;\n }\n}\n\n.usa-checkbox__label::before {\n @include u-square($theme-input-select-size);\n border-radius: radius($theme-checkbox-border-radius);\n}\n\n.usa-checkbox__label-description {\n display: block;\n font-size: size(\"ui\", \"2xs\");\n margin-top: units(1);\n}\n\n// Test code for scoped custom colors\n/*\n.checkbox-tests {\n @include set-text-and-bg(\"green-80\");\n @include checkbox-colors(\"green-80\", \"green-warm-10v\");\n padding: units(2);\n border-radius: radius(\"md\");\n}\n*/\n","@use \"uswds-core\" as *;\n\n.usa-select {\n @extend %block-input-general;\n @extend %block-input-styles;\n @include add-background-svg(\"usa-icons/unfold_more\");\n appearance: none;\n background-color: color(\"white\");\n background-position: right units(1) center;\n background-size: units(2.5);\n padding-right: units(4);\n\n &::-ms-expand {\n display: none;\n }\n\n // Show default webkit style on select element when autofilled to show icon\n &:-webkit-autofill {\n appearance: menulist;\n }\n\n // Remove dotted outline from select element on focus in Firefox\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 color(\"black\");\n }\n\n &[multiple] {\n height: auto;\n background-image: none;\n padding-right: 0;\n }\n\n option {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include u-disabled;\n @include u-disabled-high-contrast-border;\n }\n\n // Necessary to show chevron in forced colors mode in modern browsers\n @media (forced-colors: active) {\n appearance: listbox; // Default + * + * Callout returns "20 degrees of 100." + * + * + * + * Callout returns "20 de 100." + * + * @param {HTMLInputElement} targetRange - The range slider input element + */ +const updateCallout = targetRange => { + const rangeSlider = targetRange; + const defaultPrep = "of"; + const optionalPrep = rangeSlider.dataset.textPreposition; + const prep = optionalPrep || defaultPrep; + const unit = rangeSlider.dataset.textUnit; + const val = rangeSlider.value; + // Note: 100 is the max attribute's native default value on range inputs + // Reference: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/range#validation + const max = rangeSlider.getAttribute("max") || 100; + let callout; + if (unit) { + callout = `${val} ${unit} ${prep} ${max}`; + } else { + callout = `${val} ${prep} ${max}`; + } + rangeSlider.setAttribute("aria-valuetext", callout); +}; +const rangeEvents = { + change: { + [RANGE]() { + updateCallout(this); + } + } +}; +const range = behavior(rangeEvents, { + init(root) { + selectOrMatches(RANGE, root).forEach(rangeSlider => { + updateCallout(rangeSlider); + }); + }, + updateCallout +}); +module.exports = range; + +},{"../../uswds-core/src/js/config":36,"../../uswds-core/src/js/utils/behavior":46,"../../uswds-core/src/js/utils/select-or-matches":53}],30:[function(require,module,exports){ +"use strict"; + +const ignore = require("receptor/ignore"); +const behavior = require("../../uswds-core/src/js/utils/behavior"); +const select = require("../../uswds-core/src/js/utils/select"); +const { + CLICK +} = require("../../uswds-core/src/js/events"); +const BUTTON = ".js-search-button"; +const FORM = ".js-search-form"; +const INPUT = "[type=search]"; +const CONTEXT = "header"; // XXX + +let lastButton; +const getForm = button => { + const context = button.closest(CONTEXT); + return context ? context.querySelector(FORM) : document.querySelector(FORM); +}; +const toggleSearch = (button, active) => { + const form = getForm(button); + if (!form) { + throw new Error(`No ${FORM} found for search toggle in ${CONTEXT}!`); + } + + /* eslint-disable no-param-reassign */ + button.hidden = active; + form.hidden = !active; + /* eslint-enable */ + + if (!active) { + return; + } + const input = form.querySelector(INPUT); + if (input) { + input.focus(); + } + // when the user clicks _outside_ of the form w/ignore(): hide the + // search, then remove the listener + const listener = ignore(form, () => { + if (lastButton) { + hideSearch.call(lastButton); // eslint-disable-line no-use-before-define + } + document.body.removeEventListener(CLICK, listener); + }); + + // Normally we would just run this code without a timeout, but + // IE11 and Edge will actually call the listener *immediately* because + // they are currently handling this exact type of event, so we'll + // make sure the browser is done handling the current click event, + // if any, before we attach the listener. + setTimeout(() => { + document.body.addEventListener(CLICK, listener); + }, 0); +}; +function showSearch() { + toggleSearch(this, true); + lastButton = this; +} +function hideSearch() { + toggleSearch(this, false); + lastButton = undefined; +} +const search = behavior({ + [CLICK]: { + [BUTTON]: showSearch + } +}, { + init(target) { + select(BUTTON, target).forEach(button => { + toggleSearch(button, false); + }); + }, + teardown() { + // forget the last button clicked + lastButton = undefined; + } +}); +module.exports = search; + +},{"../../uswds-core/src/js/events":37,"../../uswds-core/src/js/utils/behavior":46,"../../uswds-core/src/js/utils/select":54,"receptor/ignore":9}],31:[function(require,module,exports){ +"use strict"; + +const once = require("receptor/once"); +const behavior = require("../../uswds-core/src/js/utils/behavior"); +const { + CLICK +} = require("../../uswds-core/src/js/events"); +const { + prefix: PREFIX +} = require("../../uswds-core/src/js/config"); +const LINK = `.${PREFIX}-skipnav[href^="#"], .${PREFIX}-footer__return-to-top [href^="#"]`; +const MAINCONTENT = "main-content"; +function setTabindex() { + // NB: we know because of the selector we're delegating to below that the + // href already begins with '#' + const id = encodeURI(this.getAttribute("href")); + const target = document.getElementById(id === "#" ? MAINCONTENT : id.slice(1)); + if (target) { + target.style.outline = "0"; + target.setAttribute("tabindex", 0); + target.focus(); + target.addEventListener("blur", once(() => { + target.setAttribute("tabindex", -1); + })); + } else { + // throw an error? + } +} +module.exports = behavior({ + [CLICK]: { + [LINK]: setTabindex + } +}); + +},{"../../uswds-core/src/js/config":36,"../../uswds-core/src/js/events":37,"../../uswds-core/src/js/utils/behavior":46,"receptor/once":12}],32:[function(require,module,exports){ +"use strict"; + +const select = require("../../uswds-core/src/js/utils/select"); +const behavior = require("../../uswds-core/src/js/utils/behavior"); +const { + CLICK +} = require("../../uswds-core/src/js/events"); +const { + prefix: PREFIX +} = require("../../uswds-core/src/js/config"); +const Sanitizer = require("../../uswds-core/src/js/utils/sanitizer"); +const TABLE = `.${PREFIX}-table`; +const SORTED = "aria-sort"; +const ASCENDING = "ascending"; +const DESCENDING = "descending"; +const SORT_OVERRIDE = "data-sort-value"; +const SORT_BUTTON_CLASS = `${PREFIX}-table__header__button`; +const SORT_BUTTON = `.${SORT_BUTTON_CLASS}`; +const SORTABLE_HEADER = `th[data-sortable]`; +const ANNOUNCEMENT_REGION = `.${PREFIX}-table__announcement-region[aria-live="polite"]`; + +/** Gets the data-sort-value attribute value, if provided — otherwise, gets + * the innerText or textContent — of the child element (HTMLTableCellElement) + * at the specified index of the given table row + * + * @param {number} index + * @param {array} tr + * @return {boolean} + */ +const getCellValue = (tr, index) => tr.children[index].getAttribute(SORT_OVERRIDE) || tr.children[index].innerText || tr.children[index].textContent; + +/** + * Compares the values of two row array items at the given index, then sorts by the given direction + * @param {number} index + * @param {string} direction + * @return {boolean} + */ +const compareFunction = (index, isAscending) => (thisRow, nextRow) => { + // get values to compare from data attribute or cell content + const value1 = getCellValue(isAscending ? thisRow : nextRow, index); + const value2 = getCellValue(isAscending ? nextRow : thisRow, index); + + // if neither value is empty, and if both values are already numbers, compare numerically + if (value1 && value2 && !Number.isNaN(Number(value1)) && !Number.isNaN(Number(value2))) { + return value1 - value2; + } + // Otherwise, compare alphabetically based on current user locale + return value1.toString().localeCompare(value2, navigator.language, { + numeric: true, + ignorePunctuation: true + }); +}; + +/** + * Get an Array of column headers elements belonging directly to the given + * table element. + * @param {HTMLTableElement} table + * @return {array} + */ +const getColumnHeaders = table => { + const headers = select(SORTABLE_HEADER, table); + return headers.filter(header => header.closest(TABLE) === table); +}; + +/** + * Update the button label within the given header element, resetting it + * to the default state (ready to sort ascending) if it's no longer sorted + * @param {HTMLTableHeaderCellElement} header + */ +const updateSortLabel = header => { + const headerName = header.innerText; + const sortedAscending = header.getAttribute(SORTED) === ASCENDING; + const isSorted = header.getAttribute(SORTED) === ASCENDING || header.getAttribute(SORTED) === DESCENDING || false; + const headerLabel = `${headerName}, sortable column, currently ${isSorted ? `${sortedAscending ? `sorted ${ASCENDING}` : `sorted ${DESCENDING}`}` : "unsorted"}`; + const headerButtonLabel = `Click to sort by ${headerName} in ${sortedAscending ? DESCENDING : ASCENDING} order.`; + header.setAttribute("aria-label", headerLabel); + header.querySelector(SORT_BUTTON).setAttribute("title", headerButtonLabel); +}; + +/** + * Remove the aria-sort attribute on the given header element, and reset the label and button icon + * @param {HTMLTableHeaderCellElement} header + */ +const unsetSort = header => { + header.removeAttribute(SORTED); + updateSortLabel(header); +}; + +/** + * Sort rows either ascending or descending, based on a given header's aria-sort attribute + * @param {HTMLTableHeaderCellElement} header + * @param {boolean} isAscending + * @return {boolean} true + */ +const sortRows = (header, isAscending) => { + header.setAttribute(SORTED, isAscending === true ? DESCENDING : ASCENDING); + updateSortLabel(header); + const tbody = header.closest(TABLE).querySelector("tbody"); + + // We can use Array.from() and Array.sort() instead once we drop IE11 support, likely in the summer of 2021 + // + // Array.from(tbody.querySelectorAll('tr').sort( + // compareFunction( + // Array.from(header.parentNode.children).indexOf(header), + // !isAscending) + // ) + // .forEach(tr => tbody.appendChild(tr) ); + + // [].slice.call() turns array-like sets into true arrays so that we can sort them + const allRows = [].slice.call(tbody.querySelectorAll("tr")); + const allHeaders = [].slice.call(header.parentNode.children); + const thisHeaderIndex = allHeaders.indexOf(header); + allRows.sort(compareFunction(thisHeaderIndex, !isAscending)).forEach(tr => { + [].slice.call(tr.children).forEach(td => td.removeAttribute("data-sort-active")); + tr.children[thisHeaderIndex].setAttribute("data-sort-active", true); + tbody.appendChild(tr); + }); + return true; +}; + +/** + * Update the live region immediately following the table whenever sort changes. + * @param {HTMLTableElement} table + * @param {HTMLTableHeaderCellElement} sortedHeader + */ + +const updateLiveRegion = (table, sortedHeader) => { + const caption = table.querySelector("caption").innerText; + const sortedAscending = sortedHeader.getAttribute(SORTED) === ASCENDING; + const headerLabel = sortedHeader.innerText; + const liveRegion = table.nextElementSibling; + if (liveRegion && liveRegion.matches(ANNOUNCEMENT_REGION)) { + const sortAnnouncement = `The table named "${caption}" is now sorted by ${headerLabel} in ${sortedAscending ? ASCENDING : DESCENDING} order.`; + liveRegion.innerText = sortAnnouncement; + } else { + throw new Error(`Table containing a sortable column header is not followed by an aria-live region.`); + } +}; + +/** + * Toggle a header's sort state, optionally providing a target + * state. + * + * @param {HTMLTableHeaderCellElement} header + * @param {boolean?} isAscending If no state is provided, the current + * state will be toggled (from false to true, and vice-versa). + */ +const toggleSort = (header, isAscending) => { + const table = header.closest(TABLE); + let safeAscending = isAscending; + if (typeof safeAscending !== "boolean") { + safeAscending = header.getAttribute(SORTED) === ASCENDING; + } + if (!table) { + throw new Error(`${SORTABLE_HEADER} is missing outer ${TABLE}`); + } + safeAscending = sortRows(header, isAscending); + if (safeAscending) { + getColumnHeaders(table).forEach(otherHeader => { + if (otherHeader !== header) { + unsetSort(otherHeader); + } + }); + updateLiveRegion(table, header); + } +}; + +/** + ** Inserts a button with icon inside a sortable header + * @param {HTMLTableHeaderCellElement} header + */ + +const createHeaderButton = header => { + const buttonEl = document.createElement("button"); + buttonEl.setAttribute("tabindex", "0"); + buttonEl.classList.add(SORT_BUTTON_CLASS); + // ICON_SOURCE + buttonEl.innerHTML = Sanitizer.escapeHTML` + + + + + + + + + + + + `; + header.appendChild(buttonEl); + updateSortLabel(header); +}; +const table = behavior({ + [CLICK]: { + [SORT_BUTTON](event) { + event.preventDefault(); + toggleSort(event.target.closest(SORTABLE_HEADER), event.target.closest(SORTABLE_HEADER).getAttribute(SORTED) === ASCENDING); + } + } +}, { + init(root) { + const sortableHeaders = select(SORTABLE_HEADER, root); + sortableHeaders.forEach(header => createHeaderButton(header)); + const firstSorted = sortableHeaders.filter(header => header.getAttribute(SORTED) === ASCENDING || header.getAttribute(SORTED) === DESCENDING)[0]; + if (typeof firstSorted === "undefined") { + // no sortable headers found + return; + } + const sortDir = firstSorted.getAttribute(SORTED); + if (sortDir === ASCENDING) { + toggleSort(firstSorted, true); + } else if (sortDir === DESCENDING) { + toggleSort(firstSorted, false); + } + }, + TABLE, + SORTABLE_HEADER, + SORT_BUTTON +}); +module.exports = table; + +},{"../../uswds-core/src/js/config":36,"../../uswds-core/src/js/events":37,"../../uswds-core/src/js/utils/behavior":46,"../../uswds-core/src/js/utils/sanitizer":51,"../../uswds-core/src/js/utils/select":54}],33:[function(require,module,exports){ +"use strict"; + +const behavior = require("../../uswds-core/src/js/utils/behavior"); +const selectOrMatches = require("../../uswds-core/src/js/utils/select-or-matches"); +const { + prefix: PREFIX +} = require("../../uswds-core/src/js/config"); +const { + COMBO_BOX_CLASS, + enhanceComboBox +} = require("../../usa-combo-box/src/index"); +const TIME_PICKER_CLASS = `${PREFIX}-time-picker`; +const TIME_PICKER = `.${TIME_PICKER_CLASS}`; +const MAX_TIME = 60 * 24 - 1; +const MIN_TIME = 0; +const DEFAULT_STEP = 30; +const MIN_STEP = 1; +const FILTER_DATASET = { + filter: "0?{{ hourQueryFilter }}:{{minuteQueryFilter}}.*{{ apQueryFilter }}m?", + apQueryFilter: "([ap])", + hourQueryFilter: "([1-9][0-2]?)", + minuteQueryFilter: "[\\d]+:([0-9]{0,2})" +}; + +/** + * Parse a string of hh:mm into minutes + * + * @param {string} timeStr the time string to parse + * @returns {number} the number of minutes + */ +const parseTimeString = timeStr => { + let minutes; + if (timeStr) { + const [hours, mins] = timeStr.split(":").map(str => { + let value; + const parsed = parseInt(str, 10); + if (!Number.isNaN(parsed)) value = parsed; + return value; + }); + if (hours != null && mins != null) { + minutes = hours * 60 + mins; + } + } + return minutes; +}; + +/** + * Enhance an input with the date picker elements + * + * @param {HTMLElement} el The initial wrapping element of the date picker component + */ +const transformTimePicker = el => { + const timePickerEl = el.closest(TIME_PICKER); + const initialInputEl = timePickerEl.querySelector(`input`); + if (!initialInputEl) { + throw new Error(`${TIME_PICKER} is missing inner input`); + } + const selectEl = document.createElement("select"); + ["id", "name", "required", "aria-label", "aria-labelledby", "disabled", "aria-disabled"].forEach(name => { + if (initialInputEl.hasAttribute(name)) { + const value = initialInputEl.getAttribute(name); + selectEl.setAttribute(name, value); + initialInputEl.removeAttribute(name); + } + }); + const padZeros = (value, length) => `0000${value}`.slice(-length); + const getTimeContext = minutes => { + const minute = minutes % 60; + const hour24 = Math.floor(minutes / 60); + const hour12 = hour24 % 12 || 12; + const ampm = hour24 < 12 ? "am" : "pm"; + return { + minute, + hour24, + hour12, + ampm + }; + }; + const minTime = Math.max(MIN_TIME, parseTimeString(timePickerEl.dataset.minTime) || MIN_TIME); + const maxTime = Math.min(MAX_TIME, parseTimeString(timePickerEl.dataset.maxTime) || MAX_TIME); + const step = Math.floor(Math.max(MIN_STEP, timePickerEl.dataset.step || DEFAULT_STEP)); + let defaultValue; + for (let time = minTime; time <= maxTime; time += step) { + const { + minute, + hour24, + hour12, + ampm + } = getTimeContext(time); + const option = document.createElement("option"); + option.value = `${padZeros(hour24, 2)}:${padZeros(minute, 2)}`; + option.text = `${hour12}:${padZeros(minute, 2)}${ampm}`; + if (option.text === initialInputEl.value) { + defaultValue = option.value; + } + selectEl.appendChild(option); + } + timePickerEl.classList.add(COMBO_BOX_CLASS); + + // combo box properties + Object.keys(FILTER_DATASET).forEach(key => { + timePickerEl.dataset[key] = FILTER_DATASET[key]; + }); + timePickerEl.dataset.disableFiltering = "true"; + timePickerEl.dataset.defaultValue = defaultValue; + timePickerEl.appendChild(selectEl); + initialInputEl.remove(); +}; +const timePicker = behavior({}, { + init(root) { + selectOrMatches(TIME_PICKER, root).forEach(timePickerEl => { + transformTimePicker(timePickerEl); + enhanceComboBox(timePickerEl); + }); + }, + FILTER_DATASET +}); +module.exports = timePicker; + +},{"../../usa-combo-box/src/index":19,"../../uswds-core/src/js/config":36,"../../uswds-core/src/js/utils/behavior":46,"../../uswds-core/src/js/utils/select-or-matches":53}],34:[function(require,module,exports){ +"use strict"; + +// Tooltips +const keymap = require("receptor/keymap"); +const selectOrMatches = require("../../uswds-core/src/js/utils/select-or-matches"); +const behavior = require("../../uswds-core/src/js/utils/behavior"); +const { + prefix: PREFIX +} = require("../../uswds-core/src/js/config"); +const isElementInViewport = require("../../uswds-core/src/js/utils/is-in-viewport"); +const BODY = "body"; +const TOOLTIP = `.${PREFIX}-tooltip`; +const TOOLTIP_TRIGGER = `.${PREFIX}-tooltip__trigger`; +const TOOLTIP_TRIGGER_CLASS = `${PREFIX}-tooltip__trigger`; +const TOOLTIP_CLASS = `${PREFIX}-tooltip`; +const TOOLTIP_BODY_CLASS = `${PREFIX}-tooltip__body`; +const SET_CLASS = "is-set"; +const VISIBLE_CLASS = "is-visible"; +const TRIANGLE_SIZE = 5; +const ADJUST_WIDTH_CLASS = `${PREFIX}-tooltip__body--wrap`; + +/** + * + * @param {DOMElement} trigger - The tooltip trigger + * @returns {object} Elements for initialized tooltip; includes trigger, wrapper, and body + */ +const getTooltipElements = trigger => { + const wrapper = trigger.parentNode; + const body = wrapper.querySelector(`.${TOOLTIP_BODY_CLASS}`); + return { + trigger, + wrapper, + body + }; +}; + +/** + * Shows the tooltip + * @param {HTMLElement} tooltipTrigger - the element that initializes the tooltip + */ +const showToolTip = (tooltipBody, tooltipTrigger, position) => { + tooltipBody.setAttribute("aria-hidden", "false"); + + // This sets up the tooltip body. The opacity is 0, but + // we can begin running the calculations below. + tooltipBody.classList.add(SET_CLASS); + + /** + * Position the tooltip body when the trigger is hovered + * Removes old positioning classnames and reapplies. This allows + * positioning to change in case the user resizes browser or DOM manipulation + * causes tooltip to get clipped from viewport + * + * @param {string} setPos - can be "top", "bottom", "right", "left" + */ + const setPositionClass = setPos => { + tooltipBody.classList.remove(`${TOOLTIP_BODY_CLASS}--top`); + tooltipBody.classList.remove(`${TOOLTIP_BODY_CLASS}--bottom`); + tooltipBody.classList.remove(`${TOOLTIP_BODY_CLASS}--right`); + tooltipBody.classList.remove(`${TOOLTIP_BODY_CLASS}--left`); + tooltipBody.classList.add(`${TOOLTIP_BODY_CLASS}--${setPos}`); + }; + + /** + * Removes old positioning styles. This allows + * re-positioning to change without inheriting other + * dynamic styles + * + * @param {HTMLElement} e - this is the tooltip body + */ + const resetPositionStyles = e => { + // we don't override anything in the stylesheet when finding alt positions + e.style.top = null; + e.style.bottom = null; + e.style.right = null; + e.style.left = null; + e.style.margin = null; + }; + + /** + * get margin offset calculations + * + * @param {HTMLElement} target - this is the tooltip body + * @param {String} propertyValue - this is the tooltip body + */ + + const offsetMargin = (target, propertyValue) => parseInt(window.getComputedStyle(target).getPropertyValue(propertyValue), 10); + + // offsetLeft = the left position, and margin of the element, the left + // padding, scrollbar and border of the offsetParent element + // offsetWidth = The offsetWidth property returns the viewable width of an + // element in pixels, including padding, border and scrollbar, but not + // the margin. + + /** + * Calculate margin offset + * tooltip trigger margin(position) offset + tooltipBody offsetWidth + * @param {String} marginPosition + * @param {Number} tooltipBodyOffset + * @param {HTMLElement} trigger + */ + const calculateMarginOffset = (marginPosition, tooltipBodyOffset, trigger) => { + const offset = offsetMargin(trigger, `margin-${marginPosition}`) > 0 ? tooltipBodyOffset - offsetMargin(trigger, `margin-${marginPosition}`) : tooltipBodyOffset; + return offset; + }; + + /** + * Positions tooltip at the top + * @param {HTMLElement} e - this is the tooltip body + */ + const positionTop = e => { + resetPositionStyles(e); // ensures we start from the same point + // get details on the elements object with + + const topMargin = calculateMarginOffset("top", e.offsetHeight, tooltipTrigger); + const leftMargin = calculateMarginOffset("left", e.offsetWidth, tooltipTrigger); + setPositionClass("top"); + e.style.left = `50%`; // center the element + e.style.top = `-${TRIANGLE_SIZE}px`; // consider the pseudo element + // apply our margins based on the offset + e.style.margin = `-${topMargin}px 0 0 -${leftMargin / 2}px`; + }; + + /** + * Positions tooltip at the bottom + * @param {HTMLElement} e - this is the tooltip body + */ + const positionBottom = e => { + resetPositionStyles(e); + const leftMargin = calculateMarginOffset("left", e.offsetWidth, tooltipTrigger); + setPositionClass("bottom"); + e.style.left = `50%`; + e.style.margin = `${TRIANGLE_SIZE}px 0 0 -${leftMargin / 2}px`; + }; + + /** + * Positions tooltip at the right + * @param {HTMLElement} e - this is the tooltip body + */ + const positionRight = e => { + resetPositionStyles(e); + const topMargin = calculateMarginOffset("top", e.offsetHeight, tooltipTrigger); + setPositionClass("right"); + e.style.top = `50%`; + e.style.left = `${tooltipTrigger.offsetLeft + tooltipTrigger.offsetWidth + TRIANGLE_SIZE}px`; + e.style.margin = `-${topMargin / 2}px 0 0 0`; + }; + + /** + * Positions tooltip at the right + * @param {HTMLElement} e - this is the tooltip body + */ + const positionLeft = e => { + resetPositionStyles(e); + const topMargin = calculateMarginOffset("top", e.offsetHeight, tooltipTrigger); + + // we have to check for some utility margins + const leftMargin = calculateMarginOffset("left", tooltipTrigger.offsetLeft > e.offsetWidth ? tooltipTrigger.offsetLeft - e.offsetWidth : e.offsetWidth, tooltipTrigger); + setPositionClass("left"); + e.style.top = `50%`; + e.style.left = `-${TRIANGLE_SIZE}px`; + e.style.margin = `-${topMargin / 2}px 0 0 ${tooltipTrigger.offsetLeft > e.offsetWidth ? leftMargin : -leftMargin}px`; // adjust the margin + }; + + /** + * We try to set the position based on the + * original intention, but make adjustments + * if the element is clipped out of the viewport + * we constrain the width only as a last resort + * @param {HTMLElement} element(alias tooltipBody) + * @param {Number} attempt (--flag) + */ + + const maxAttempts = 2; + function findBestPosition(element, attempt = 1) { + // create array of optional positions + const positions = [positionTop, positionBottom, positionRight, positionLeft]; + let hasVisiblePosition = false; + + // we take a recursive approach + function tryPositions(i) { + if (i < positions.length) { + const pos = positions[i]; + pos(element); + if (!isElementInViewport(element)) { + // eslint-disable-next-line no-param-reassign + tryPositions(i += 1); + } else { + hasVisiblePosition = true; + } + } + } + tryPositions(0); + // if we can't find a position we compress it and try again + if (!hasVisiblePosition) { + element.classList.add(ADJUST_WIDTH_CLASS); + if (attempt <= maxAttempts) { + // eslint-disable-next-line no-param-reassign + findBestPosition(element, attempt += 1); + } + } + } + switch (position) { + case "top": + positionTop(tooltipBody); + if (!isElementInViewport(tooltipBody)) { + findBestPosition(tooltipBody); + } + break; + case "bottom": + positionBottom(tooltipBody); + if (!isElementInViewport(tooltipBody)) { + findBestPosition(tooltipBody); + } + break; + case "right": + positionRight(tooltipBody); + if (!isElementInViewport(tooltipBody)) { + findBestPosition(tooltipBody); + } + break; + case "left": + positionLeft(tooltipBody); + if (!isElementInViewport(tooltipBody)) { + findBestPosition(tooltipBody); + } + break; + default: + // skip default case + break; + } + + /** + * Actually show the tooltip. The VISIBLE_CLASS + * will change the opacity to 1 + */ + setTimeout(() => { + tooltipBody.classList.add(VISIBLE_CLASS); + }, 20); +}; + +/** + * Removes all the properties to show and position the tooltip, + * and resets the tooltip position to the original intention + * in case the window is resized or the element is moved through + * DOM manipulation. + * @param {HTMLElement} tooltipBody - The body of the tooltip + */ +const hideToolTip = tooltipBody => { + tooltipBody.classList.remove(VISIBLE_CLASS); + tooltipBody.classList.remove(SET_CLASS); + tooltipBody.classList.remove(ADJUST_WIDTH_CLASS); + tooltipBody.setAttribute("aria-hidden", "true"); +}; + +/** + * Setup the tooltip component + * @param {HTMLElement} tooltipTrigger The element that creates the tooltip + */ +const setUpAttributes = tooltipTrigger => { + const tooltipID = `tooltip-${Math.floor(Math.random() * 900000) + 100000}`; + const tooltipContent = tooltipTrigger.getAttribute("title"); + const wrapper = document.createElement("span"); + const tooltipBody = document.createElement("span"); + const additionalClasses = tooltipTrigger.getAttribute("data-classes"); + let position = tooltipTrigger.getAttribute("data-position"); + + // Apply default position if not set as attribute + if (!position) { + position = "top"; + tooltipTrigger.setAttribute("data-position", position); + } + + // Set up tooltip attributes + tooltipTrigger.setAttribute("aria-describedby", tooltipID); + tooltipTrigger.setAttribute("tabindex", "0"); + tooltipTrigger.removeAttribute("title"); + tooltipTrigger.classList.remove(TOOLTIP_CLASS); + tooltipTrigger.classList.add(TOOLTIP_TRIGGER_CLASS); + + // insert wrapper before el in the DOM tree + tooltipTrigger.parentNode.insertBefore(wrapper, tooltipTrigger); + + // set up the wrapper + wrapper.appendChild(tooltipTrigger); + wrapper.classList.add(TOOLTIP_CLASS); + wrapper.appendChild(tooltipBody); + + // Apply additional class names to wrapper element + if (additionalClasses) { + const classesArray = additionalClasses.split(" "); + classesArray.forEach(classname => wrapper.classList.add(classname)); + } + + // set up the tooltip body + tooltipBody.classList.add(TOOLTIP_BODY_CLASS); + tooltipBody.setAttribute("id", tooltipID); + tooltipBody.setAttribute("role", "tooltip"); + tooltipBody.setAttribute("aria-hidden", "true"); + + // place the text in the tooltip + tooltipBody.textContent = tooltipContent; + return { + tooltipBody, + position, + tooltipContent, + wrapper + }; +}; + +/** + * Hide all active tooltips when escape key is pressed. + */ + +const handleEscape = () => { + const activeTooltips = selectOrMatches(`.${TOOLTIP_BODY_CLASS}.${SET_CLASS}`); + if (!activeTooltips) { + return; + } + activeTooltips.forEach(activeTooltip => hideToolTip(activeTooltip)); +}; + +// Setup our function to run on various events +const tooltip = behavior({ + "mouseover focusin": { + [TOOLTIP](e) { + const trigger = e.target; + const elementType = trigger.nodeName; + + // Initialize tooltip if it hasn't already + if (elementType === "BUTTON" && trigger.hasAttribute("title")) { + setUpAttributes(trigger); + } + }, + [TOOLTIP_TRIGGER](e) { + const { + trigger, + body + } = getTooltipElements(e.target); + showToolTip(body, trigger, trigger.dataset.position); + } + }, + focusout: { + [TOOLTIP_TRIGGER](e) { + const { + body + } = getTooltipElements(e.target); + hideToolTip(body); + } + }, + keydown: { + [BODY]: keymap({ + Escape: handleEscape + }) + } +}, { + init(root) { + selectOrMatches(TOOLTIP, root).forEach(tooltipTrigger => { + setUpAttributes(tooltipTrigger); + const { + body, + wrapper + } = getTooltipElements(tooltipTrigger); + wrapper.addEventListener("mouseleave", () => hideToolTip(body)); + }); + }, + teardown(root) { + selectOrMatches(TOOLTIP, root).forEach(tooltipWrapper => { + tooltipWrapper.removeEventListener("mouseleave", hideToolTip); + }); + }, + setup: setUpAttributes, + getTooltipElements, + show: showToolTip, + hide: hideToolTip +}); +module.exports = tooltip; + +},{"../../uswds-core/src/js/config":36,"../../uswds-core/src/js/utils/behavior":46,"../../uswds-core/src/js/utils/is-in-viewport":49,"../../uswds-core/src/js/utils/select-or-matches":53,"receptor/keymap":11}],35:[function(require,module,exports){ +"use strict"; + +const behavior = require("../../uswds-core/src/js/utils/behavior"); +const validate = require("../../uswds-core/src/js/utils/validate-input"); +const { + prefix: PREFIX +} = require("../../uswds-core/src/js/config"); +const selectOrMatches = require("../../uswds-core/src/js/utils/select-or-matches"); +const VALIDATE_INPUT = "input[data-validation-element],textarea[data-validation-element]"; +const CHECKLIST_ITEM = `.${PREFIX}-checklist__item`; + +// Trigger validation on input change +const handleChange = el => validate(el); + +// Create container to hold aria readout +const createStatusElement = input => { + const validationContainer = input.parentNode; + const inputID = input.getAttribute("id"); + const statusSummaryID = `${inputID}-sr-summary`; + input.setAttribute("aria-describedby", statusSummaryID); + const statusSummaryContainer = document.createElement("span"); + statusSummaryContainer.setAttribute("data-validation-status", ""); + statusSummaryContainer.classList.add("usa-sr-only"); + statusSummaryContainer.setAttribute("aria-live", "polite"); + statusSummaryContainer.setAttribute("aria-atomic", true); + statusSummaryContainer.setAttribute("id", statusSummaryID); + validationContainer.append(statusSummaryContainer); +}; + +// Set up checklist items with initial aria-label (incomplete) values +const createInitialStatus = input => { + const validationContainer = input.parentNode; + const checklistItems = validationContainer.querySelectorAll(CHECKLIST_ITEM); + const validationElement = input.getAttribute("data-validation-element"); + input.setAttribute("aria-controls", validationElement); + checklistItems.forEach(listItem => { + let currentStatus = "status incomplete"; + if (input.hasAttribute("data-validation-incomplete")) { + currentStatus = input.getAttribute("data-validation-incomplete"); + } + const itemStatus = `${listItem.textContent} ${currentStatus} `; + listItem.setAttribute("aria-label", itemStatus); + }); +}; +const enhanceValidation = input => { + createStatusElement(input); + createInitialStatus(input); +}; +const validator = behavior({ + "input change": { + [VALIDATE_INPUT](event) { + handleChange(event.target); + } + } +}, { + init(root) { + selectOrMatches(VALIDATE_INPUT, root).forEach(input => enhanceValidation(input)); + } +}); +module.exports = validator; + +},{"../../uswds-core/src/js/config":36,"../../uswds-core/src/js/utils/behavior":46,"../../uswds-core/src/js/utils/select-or-matches":53,"../../uswds-core/src/js/utils/validate-input":58}],36:[function(require,module,exports){ +"use strict"; + +module.exports = { + prefix: "usa" +}; + +},{}],37:[function(require,module,exports){ +"use strict"; + +module.exports = { + // This used to be conditionally dependent on whether the + // browser supported touch events; if it did, `CLICK` was set to + // `touchstart`. However, this had downsides: + // + // * It pre-empted mobile browsers' default behavior of detecting + // whether a touch turned into a scroll, thereby preventing + // users from using some of our components as scroll surfaces. + // + // * Some devices, such as the Microsoft Surface Pro, support *both* + // touch and clicks. This meant the conditional effectively dropped + // support for the user's mouse, frustrating users who preferred + // it on those systems. + CLICK: "click" +}; + +},{}],38:[function(require,module,exports){ +"use strict"; + +const accordion = require("../../../usa-accordion/src/index"); +const banner = require("../../../usa-banner/src/index"); +const button = require("../../../usa-button/src/index"); +const characterCount = require("../../../usa-character-count/src/index"); +const comboBox = require("../../../usa-combo-box/src/index"); +const datePicker = require("../../../usa-date-picker/src/index"); +const dateRangePicker = require("../../../usa-date-range-picker/src/index"); +const fileInput = require("../../../usa-file-input/src/index"); +const footer = require("../../../usa-footer/src/index"); +const inPageNavigation = require("../../../usa-in-page-navigation/src/index"); +const inputMask = require("../../../usa-input-mask/src/index"); +const languageSelector = require("../../../usa-language-selector/src/index"); +const modal = require("../../../usa-modal/src/index"); +const navigation = require("../../../usa-header/src/index"); +const password = require("../../../_usa-password/src/index"); +const range = require("../../../usa-range/src/index"); +const search = require("../../../usa-search/src/index"); +const skipnav = require("../../../usa-skipnav/src/index"); +const table = require("../../../usa-table/src/index"); +const timePicker = require("../../../usa-time-picker/src/index"); +const tooltip = require("../../../usa-tooltip/src/index"); +const validator = require("../../../usa-validation/src/index"); +module.exports = { + accordion, + banner, + button, + characterCount, + comboBox, + datePicker, + dateRangePicker, + fileInput, + footer, + inPageNavigation, + inputMask, + languageSelector, + modal, + navigation, + password, + range, + search, + skipnav, + table, + timePicker, + tooltip, + validator +}; + +},{"../../../_usa-password/src/index":14,"../../../usa-accordion/src/index":15,"../../../usa-banner/src/index":16,"../../../usa-button/src/index":17,"../../../usa-character-count/src/index":18,"../../../usa-combo-box/src/index":19,"../../../usa-date-picker/src/index":20,"../../../usa-date-range-picker/src/index":21,"../../../usa-file-input/src/index":22,"../../../usa-footer/src/index":23,"../../../usa-header/src/index":24,"../../../usa-in-page-navigation/src/index":25,"../../../usa-input-mask/src/index":26,"../../../usa-language-selector/src/index":27,"../../../usa-modal/src/index":28,"../../../usa-range/src/index":29,"../../../usa-search/src/index":30,"../../../usa-skipnav/src/index":31,"../../../usa-table/src/index":32,"../../../usa-time-picker/src/index":33,"../../../usa-tooltip/src/index":34,"../../../usa-validation/src/index":35}],39:[function(require,module,exports){ +"use strict"; + +/* eslint-disable consistent-return */ +/* eslint-disable func-names */ +(function () { + if (typeof window.CustomEvent === "function") return false; + function CustomEvent(event, _params) { + const params = _params || { + bubbles: false, + cancelable: false, + detail: null + }; + const evt = document.createEvent("CustomEvent"); + evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail); + return evt; + } + window.CustomEvent = CustomEvent; +})(); + +},{}],40:[function(require,module,exports){ +"use strict"; + +const elproto = window.HTMLElement.prototype; +const HIDDEN = "hidden"; +if (!(HIDDEN in elproto)) { + Object.defineProperty(elproto, HIDDEN, { + get() { + return this.hasAttribute(HIDDEN); + }, + set(value) { + if (value) { + this.setAttribute(HIDDEN, ""); + } else { + this.removeAttribute(HIDDEN); + } + } + }); +} + +},{}],41:[function(require,module,exports){ +"use strict"; + +// polyfills HTMLElement.prototype.classList and DOMTokenList +require("classlist-polyfill"); +// polyfills HTMLElement.prototype.hidden +require("./element-hidden"); +// polyfills Number.isNaN() +require("./number-is-nan"); +// polyfills CustomEvent +require("./custom-event"); +// polyfills svg4everybody +require("./svg4everybody"); + +},{"./custom-event":39,"./element-hidden":40,"./number-is-nan":42,"./svg4everybody":43,"classlist-polyfill":1}],42:[function(require,module,exports){ +"use strict"; + +Number.isNaN = Number.isNaN || function isNaN(input) { + // eslint-disable-next-line no-self-compare + return typeof input === "number" && input !== input; +}; + +},{}],43:[function(require,module,exports){ +"use strict"; + +/* eslint-disable */ +!function (factory) { + module.exports = factory(); +}(function () { + /*! svg4everybody v2.1.9 | github.com/jonathantneal/svg4everybody */ + function embed(parent, svg, target, use) { + // if the target exists + if (target) { + // create a document fragment to hold the contents of the target + var fragment = document.createDocumentFragment(), + viewBox = !svg.hasAttribute("viewBox") && target.getAttribute("viewBox"); + // conditionally set the viewBox on the svg + viewBox && svg.setAttribute("viewBox", viewBox); + // copy the contents of the clone into the fragment + for ( + // clone the target + var clone = document.importNode ? document.importNode(target, !0) : target.cloneNode(!0), g = document.createElementNS(svg.namespaceURI || "http://www.w3.org/2000/svg", "g"); clone.childNodes.length;) { + g.appendChild(clone.firstChild); + } + if (use) { + for (var i = 0; use.attributes.length > i; i++) { + var attr = use.attributes[i]; + "xlink:href" !== attr.name && "href" !== attr.name && g.setAttribute(attr.name, attr.value); + } + } + fragment.appendChild(g), + // append the fragment into the svg + parent.appendChild(fragment); + } + } + function loadreadystatechange(xhr, use) { + // listen to changes in the request + xhr.onreadystatechange = function () { + // if the request is ready + if (4 === xhr.readyState) { + // get the cached html document + var cachedDocument = xhr._cachedDocument; + // ensure the cached html document based on the xhr response + cachedDocument || (cachedDocument = xhr._cachedDocument = document.implementation.createHTMLDocument(""), cachedDocument.body.innerHTML = xhr.responseText, + // ensure domains are the same, otherwise we'll have issues appending the + // element in IE 11 + cachedDocument.domain !== document.domain && (cachedDocument.domain = document.domain), xhr._cachedTarget = {}), + // clear the xhr embeds list and embed each item + xhr._embeds.splice(0).map(function (item) { + // get the cached target + var target = xhr._cachedTarget[item.id]; + // ensure the cached target + target || (target = xhr._cachedTarget[item.id] = cachedDocument.getElementById(item.id)), + // embed the target into the svg + embed(item.parent, item.svg, target, use); + }); + } + }, + // test the ready state change immediately + xhr.onreadystatechange(); + } + function svg4everybody(rawopts) { + function oninterval() { + // if all s in the array are being bypassed, don't proceed. + if (numberOfSvgUseElementsToBypass && uses.length - numberOfSvgUseElementsToBypass <= 0) { + return void requestAnimationFrame(oninterval, 67); + } + // if there are s to process, proceed. + // reset the bypass counter, since the counter will be incremented for every bypassed element, + // even ones that were counted before. + numberOfSvgUseElementsToBypass = 0; + // while the index exists in the live collection + for ( + // get the cached index + var index = 0; index < uses.length;) { + // get the current + var use = uses[index], + parent = use.parentNode, + svg = getSVGAncestor(parent), + src = use.getAttribute("xlink:href") || use.getAttribute("href"); + if (!src && opts.attributeName && (src = use.getAttribute(opts.attributeName)), svg && src) { + if (polyfill) { + if (!opts.validate || opts.validate(src, svg, use)) { + // remove the element + parent.removeChild(use); + // parse the src and get the url and id + var srcSplit = src.split("#"), + url = srcSplit.shift(), + id = srcSplit.join("#"); + // if the link is external + if (url.length) { + // get the cached xhr request + var xhr = requests[url]; + // ensure the xhr request exists + xhr || (xhr = requests[url] = new XMLHttpRequest(), xhr.open("GET", url), xhr.send(), xhr._embeds = []), + // add the svg and id as an item to the xhr embeds list + xhr._embeds.push({ + parent: parent, + svg: svg, + id: id + }), + // prepare the xhr ready state change event + loadreadystatechange(xhr, use); + } else { + // embed the local id into the svg + embed(parent, svg, document.getElementById(id), use); + } + } else { + // increase the index when the previous value was not "valid" + ++index, ++numberOfSvgUseElementsToBypass; + } + } + } else { + // increase the index when the previous value was not "valid" + ++index; + } + } + // continue the interval + requestAnimationFrame(oninterval, 67); + } + var polyfill, + opts = Object(rawopts), + newerIEUA = /\bTrident\/[567]\b|\bMSIE (?:9|10)\.0\b/, + webkitUA = /\bAppleWebKit\/(\d+)\b/, + olderEdgeUA = /\bEdge\/12\.(\d+)\b/, + edgeUA = /\bEdge\/.(\d+)\b/, + inIframe = window.top !== window.self; + polyfill = "polyfill" in opts ? opts.polyfill : newerIEUA.test(navigator.userAgent) || (navigator.userAgent.match(olderEdgeUA) || [])[1] < 10547 || (navigator.userAgent.match(webkitUA) || [])[1] < 537 || edgeUA.test(navigator.userAgent) && inIframe; + // create xhr requests object + var requests = {}, + requestAnimationFrame = window.requestAnimationFrame || setTimeout, + uses = document.getElementsByTagName("use"), + numberOfSvgUseElementsToBypass = 0; + // conditionally start the interval if the polyfill is active + polyfill && oninterval(); + } + function getSVGAncestor(node) { + for (var svg = node; "svg" !== svg.nodeName.toLowerCase() && (svg = svg.parentNode);) {} + return svg; + } + return svg4everybody; +}); + +},{}],44:[function(require,module,exports){ +"use strict"; + +window.uswdsPresent = true; // GLOBAL variable to indicate that the uswds.js has loaded in the DOM. + +/** + * The 'polyfills' define key ECMAScript 5 methods that may be missing from + * older browsers, so must be loaded first. + */ +require("./polyfills"); +const uswds = require("./config"); +const components = require("./index"); +const svg4everybody = require("./polyfills/svg4everybody"); +uswds.components = components; +const initComponents = () => { + const target = document.body; + Object.keys(components).forEach(key => { + const behavior = components[key]; + behavior.on(target); + }); + svg4everybody(); +}; +if (document.readyState === "loading") { + document.addEventListener("DOMContentLoaded", initComponents, { + once: true + }); +} else { + initComponents(); +} +exports.default = uswds; +exports.initComponents = initComponents; + +},{"./config":36,"./index":38,"./polyfills":41,"./polyfills/svg4everybody":43}],45:[function(require,module,exports){ +"use strict"; + +module.exports = (htmlDocument = document) => htmlDocument.activeElement; + +},{}],46:[function(require,module,exports){ +"use strict"; + +const assign = require("object-assign"); +const Behavior = require("receptor/behavior"); + +/** + * @name sequence + * @param {...Function} seq an array of functions + * @return { closure } callHooks + */ +// We use a named function here because we want it to inherit its lexical scope +// from the behavior props object, not from the module +const sequence = (...seq) => function callHooks(target = document.body) { + seq.forEach(method => { + if (typeof this[method] === "function") { + this[method].call(this, target); + } + }); +}; + +/** + * @name behavior + * @param {object} events + * @param {object?} props + * @return {receptor.behavior} + */ +module.exports = (events, props) => Behavior(events, assign({ + on: sequence("init", "add"), + off: sequence("teardown", "remove") +}, props)); + +},{"object-assign":4,"receptor/behavior":5}],47:[function(require,module,exports){ +"use strict"; + +/** + * Call a function every X amount of milliseconds. + * + * @param {Function} callback - A callback function to be debounced + * @param {number} delay - Milliseconds to wait before calling function + * @returns {Function} A debounced function + * @example const updateStatus = debounce((string) => console.log(string), 2000) + */ + +module.exports = function debounce(callback, delay = 500) { + let timer = null; + return (...args) => { + window.clearTimeout(timer); + timer = window.setTimeout(() => { + callback.apply(this, args); + }, delay); + }; +}; + +},{}],48:[function(require,module,exports){ +"use strict"; + +const assign = require("object-assign"); +const { + keymap +} = require("receptor"); +const behavior = require("./behavior"); +const select = require("./select"); +const activeElement = require("./active-element"); +const FOCUSABLE = 'a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, [tabindex="0"], [contenteditable]'; +const tabHandler = context => { + const focusableElements = select(FOCUSABLE, context); + const firstTabStop = focusableElements[0]; + const lastTabStop = focusableElements[focusableElements.length - 1]; + + // Special rules for when the user is tabbing forward from the last focusable element, + // or when tabbing backwards from the first focusable element + function tabAhead(event) { + if (activeElement() === lastTabStop) { + event.preventDefault(); + firstTabStop.focus(); + } + } + function tabBack(event) { + if (activeElement() === firstTabStop) { + event.preventDefault(); + lastTabStop.focus(); + } + // This checks if you want to set the initial focus to a container + // instead of an element within, and the user tabs back. + // Then we set the focus to the first + else if (!focusableElements.includes(activeElement())) { + event.preventDefault(); + firstTabStop.focus(); + } + } + return { + firstTabStop, + lastTabStop, + tabAhead, + tabBack + }; +}; +module.exports = (context, additionalKeyBindings = {}) => { + const tabEventHandler = tabHandler(context); + const bindings = additionalKeyBindings; + const { + Esc, + Escape + } = bindings; + if (Escape && !Esc) bindings.Esc = Escape; + + // TODO: In the future, loop over additional keybindings and pass an array + // of functions, if necessary, to the map keys. Then people implementing + // the focus trap could pass callbacks to fire when tabbing + const keyMappings = keymap(assign({ + Tab: tabEventHandler.tabAhead, + "Shift+Tab": tabEventHandler.tabBack + }, additionalKeyBindings)); + const focusTrap = behavior({ + keydown: keyMappings + }, { + init() { + // TODO: is this desireable behavior? Should the trap always do this by default or should + // the component getting decorated handle this? + if (tabEventHandler.firstTabStop) { + tabEventHandler.firstTabStop.focus(); + } + }, + update(isActive) { + if (isActive) { + this.on(); + } else { + this.off(); + } + } + }); + return focusTrap; +}; + +},{"./active-element":45,"./behavior":46,"./select":54,"object-assign":4,"receptor":10}],49:[function(require,module,exports){ +"use strict"; + +// https://stackoverflow.com/a/7557433 +function isElementInViewport(el, win = window, docEl = document.documentElement) { + const rect = el.getBoundingClientRect(); + return rect.top >= 0 && rect.left >= 0 && rect.bottom <= (win.innerHeight || docEl.clientHeight) && rect.right <= (win.innerWidth || docEl.clientWidth); +} +module.exports = isElementInViewport; + +},{}],50:[function(require,module,exports){ +"use strict"; + +// iOS detection from: http://stackoverflow.com/a/9039885/177710 +function isIosDevice() { + return typeof navigator !== "undefined" && (navigator.userAgent.match(/(iPod|iPhone|iPad)/g) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1) && !window.MSStream; +} +module.exports = isIosDevice; + +},{}],51:[function(require,module,exports){ +"use strict"; + +/* eslint-disable */ +/* globals define, module */ + +/** + * A simple library to help you escape HTML using template strings. + * + * It's the counterpart to our eslint "no-unsafe-innerhtml" plugin that helps us + * avoid unsafe coding practices. + * A full write-up of the Hows and Whys are documented + * for developers at + * https://developer.mozilla.org/en-US/Firefox_OS/Security/Security_Automation + * with additional background information and design docs at + * https://wiki.mozilla.org/User:Fbraun/Gaia/SafeinnerHTMLRoadmap + * + */ + +!function (factory) { + module.exports = factory(); +}(function () { + "use strict"; + + var Sanitizer = { + _entity: /[&<>"'/]/g, + _entities: { + "&": "&", + "<": "<", + ">": ">", + '"': """, + "'": "'", + "/": "/" + }, + getEntity: function (s) { + return Sanitizer._entities[s]; + }, + /** + * Escapes HTML for all values in a tagged template string. + */ + escapeHTML: function (strings) { + var result = ""; + for (var i = 0; i < strings.length; i++) { + result += strings[i]; + if (i + 1 < arguments.length) { + var value = arguments[i + 1] || ""; + result += String(value).replace(Sanitizer._entity, Sanitizer.getEntity); + } + } + return result; + }, + /** + * Escapes HTML and returns a wrapped object to be used during DOM insertion + */ + createSafeHTML: function (strings) { + var _len = arguments.length; + var values = new Array(_len > 1 ? _len - 1 : 0); + for (var _key = 1; _key < _len; _key++) { + values[_key - 1] = arguments[_key]; + } + var escaped = Sanitizer.escapeHTML.apply(Sanitizer, [strings].concat(values)); + return { + __html: escaped, + toString: function () { + return "[object WrappedHTMLObject]"; + }, + info: "This is a wrapped HTML object. See https://developer.mozilla.or" + "g/en-US/Firefox_OS/Security/Security_Automation for more." + }; + }, + /** + * Unwrap safe HTML created by createSafeHTML or a custom replacement that + * underwent security review. + */ + unwrapSafeHTML: function () { + var _len = arguments.length; + var htmlObjects = new Array(_len); + for (var _key = 0; _key < _len; _key++) { + htmlObjects[_key] = arguments[_key]; + } + var markupList = htmlObjects.map(function (obj) { + return obj.__html; + }); + return markupList.join(""); + } + }; + return Sanitizer; +}); + +},{}],52:[function(require,module,exports){ +"use strict"; + +module.exports = function getScrollbarWidth() { + // Creating invisible container + const outer = document.createElement("div"); + outer.style.visibility = "hidden"; + outer.style.overflow = "scroll"; // forcing scrollbar to appear + outer.style.msOverflowStyle = "scrollbar"; // needed for WinJS apps + document.body.appendChild(outer); + + // Creating inner element and placing it in the container + const inner = document.createElement("div"); + outer.appendChild(inner); + + // Calculating difference between container's full width and the child width + const scrollbarWidth = `${outer.offsetWidth - inner.offsetWidth}px`; + + // Removing temporary elements from the DOM + outer.parentNode.removeChild(outer); + return scrollbarWidth; +}; + +},{}],53:[function(require,module,exports){ +"use strict"; + +const select = require("./select"); +/** + * @name isElement + * @desc returns whether or not the given argument is a DOM element. + * @param {any} value + * @return {boolean} + */ +const isElement = value => value && typeof value === "object" && value.nodeType === 1; + +/** + * @name selectOrMatches + * @desc selects elements from the DOM by class selector or ID selector. + * @param {string} selector - The selector to traverse the DOM with. + * @param {Document|HTMLElement?} context - The context to traverse the DOM + * in. If not provided, it defaults to the document. + * @return {HTMLElement[]} - An array of DOM nodes or an empty array. + */ +module.exports = (selector, context) => { + const selection = select(selector, context); + if (typeof selector !== "string") { + return selection; + } + if (isElement(context) && context.matches(selector)) { + selection.push(context); + } + return selection; +}; + +},{"./select":54}],54:[function(require,module,exports){ +"use strict"; + +/** + * @name isElement + * @desc returns whether or not the given argument is a DOM element. + * @param {any} value + * @return {boolean} + */ +const isElement = value => value && typeof value === "object" && value.nodeType === 1; + +/** + * @name select + * @desc selects elements from the DOM by class selector or ID selector. + * @param {string} selector - The selector to traverse the DOM with. + * @param {Document|HTMLElement?} context - The context to traverse the DOM + * in. If not provided, it defaults to the document. + * @return {HTMLElement[]} - An array of DOM nodes or an empty array. + */ +module.exports = (selector, context) => { + if (typeof selector !== "string") { + return []; + } + if (!context || !isElement(context)) { + context = window.document; // eslint-disable-line no-param-reassign + } + const selection = context.querySelectorAll(selector); + return Array.prototype.slice.call(selection); +}; + +},{}],55:[function(require,module,exports){ +"use strict"; + +/** + * Flips given INPUT elements between masked (hiding the field value) and unmasked + * @param {Array.HTMLElement} fields - An array of INPUT elements + * @param {Boolean} mask - Whether the mask should be applied, hiding the field value + */ +module.exports = (field, mask) => { + field.setAttribute("autocapitalize", "off"); + field.setAttribute("autocorrect", "off"); + field.setAttribute("type", mask ? "password" : "text"); +}; + +},{}],56:[function(require,module,exports){ +"use strict"; + +const resolveIdRefs = require("resolve-id-refs"); +const toggleFieldMask = require("./toggle-field-mask"); +const CONTROLS = "aria-controls"; +const PRESSED = "aria-pressed"; +const SHOW_ATTR = "data-show-text"; +const HIDE_ATTR = "data-hide-text"; + +/** + * Replace the word "Show" (or "show") with "Hide" (or "hide") in a string. + * @param {string} showText + * @return {strong} hideText + */ +const getHideText = showText => showText.replace(/\bShow\b/i, show => `${show[0] === "S" ? "H" : "h"}ide`); + +/** + * Component that decorates an HTML element with the ability to toggle the + * masked state of an input field (like a password) when clicked. + * The ids of the fields to be masked will be pulled directly from the button's + * `aria-controls` attribute. + * + * @param {HTMLElement} el Parent element containing the fields to be masked + * @return {boolean} + */ +module.exports = el => { + // this is the *target* state: + // * if the element has the attr and it's !== "true", pressed is true + // * otherwise, pressed is false + const pressed = el.hasAttribute(PRESSED) && el.getAttribute(PRESSED) !== "true"; + const fields = resolveIdRefs(el.getAttribute(CONTROLS)); + fields.forEach(field => toggleFieldMask(field, pressed)); + if (!el.hasAttribute(SHOW_ATTR)) { + el.setAttribute(SHOW_ATTR, el.textContent); + } + const showText = el.getAttribute(SHOW_ATTR); + const hideText = el.getAttribute(HIDE_ATTR) || getHideText(showText); + el.textContent = pressed ? showText : hideText; // eslint-disable-line no-param-reassign + el.setAttribute(PRESSED, pressed); + return pressed; +}; + +},{"./toggle-field-mask":55,"resolve-id-refs":13}],57:[function(require,module,exports){ +"use strict"; + +const EXPANDED = "aria-expanded"; +const CONTROLS = "aria-controls"; +const HIDDEN = "hidden"; +module.exports = (button, expanded) => { + let safeExpanded = expanded; + if (typeof safeExpanded !== "boolean") { + safeExpanded = button.getAttribute(EXPANDED) === "false"; + } + button.setAttribute(EXPANDED, safeExpanded); + const id = button.getAttribute(CONTROLS); + const controls = document.getElementById(id); + if (!controls) { + throw new Error(`No toggle target found with id: "${id}"`); + } + if (safeExpanded) { + controls.removeAttribute(HIDDEN); + } else { + controls.setAttribute(HIDDEN, ""); + } + return safeExpanded; +}; + +},{}],58:[function(require,module,exports){ +"use strict"; + +const debounce = require("./debounce"); +const { + prefix: PREFIX +} = require("../config"); +const CHECKED_CLASS = `${PREFIX}-checklist__item--checked`; +module.exports = function validate(el) { + const id = el.dataset.validationElement; + const checkList = id.charAt(0) === "#" ? document.querySelector(id) : document.getElementById(id); + if (!checkList) { + throw new Error(`No validation element found with id: "${id}"`); + } + let statusSummary = ""; + Object.entries(el.dataset).forEach(([key, value]) => { + if (key.startsWith("validate")) { + const validatorName = key.substr("validate".length).toLowerCase(); + const validatorPattern = new RegExp(value); + const validatorSelector = `[data-validator="${validatorName}"]`; + const validatorCheckbox = checkList.querySelector(validatorSelector); + const validatorParent = el.parentNode; + const statusSummaryContainer = validatorParent.querySelector(`[data-validation-status]`); + const checked = validatorPattern.test(el.value); + validatorCheckbox.classList.toggle(CHECKED_CLASS, checked); + if (!validatorCheckbox) { + throw new Error(`No validator checkbox found for: "${validatorName}"`); + } + + // Create status reports for checklist items + const statusComplete = el.dataset.validationComplete || "status complete"; + const statusIncomplete = el.dataset.validationIncomplete || "status incomplete"; + let checkboxContent = `${validatorCheckbox.textContent} `; + if (validatorCheckbox.classList.contains(CHECKED_CLASS)) { + checkboxContent += statusComplete; + } else { + checkboxContent += statusIncomplete; + } + + // move status updates to aria-label on checklist item + validatorCheckbox.setAttribute("aria-label", checkboxContent); + + // Create a summary of status for all checklist items + statusSummary += `${checkboxContent}. `; + + // Add summary to screen reader summary container, after a delay + const srUpdateStatus = debounce(() => { + statusSummaryContainer.textContent = statusSummary; + }, 1000); + srUpdateStatus(); + } + }); +}; + +},{"../config":36,"./debounce":47}]},{},[44]) +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJub2RlX21vZHVsZXMvY2xhc3NsaXN0LXBvbHlmaWxsL3NyYy9pbmRleC5qcyIsIm5vZGVfbW9kdWxlcy9lbGVtZW50LWNsb3Nlc3QvZWxlbWVudC1jbG9zZXN0LmpzIiwibm9kZV9tb2R1bGVzL2tleWJvYXJkZXZlbnQta2V5LXBvbHlmaWxsL2luZGV4LmpzIiwibm9kZV9tb2R1bGVzL29iamVjdC1hc3NpZ24vaW5kZXguanMiLCJub2RlX21vZHVsZXMvcmVjZXB0b3IvYmVoYXZpb3IvaW5kZXguanMiLCJub2RlX21vZHVsZXMvcmVjZXB0b3IvY29tcG9zZS9pbmRleC5qcyIsIm5vZGVfbW9kdWxlcy9yZWNlcHRvci9kZWxlZ2F0ZS9pbmRleC5qcyIsIm5vZGVfbW9kdWxlcy9yZWNlcHRvci9kZWxlZ2F0ZUFsbC9pbmRleC5qcyIsIm5vZGVfbW9kdWxlcy9yZWNlcHRvci9pZ25vcmUvaW5kZXguanMiLCJub2RlX21vZHVsZXMvcmVjZXB0b3IvaW5kZXguanMiLCJub2RlX21vZHVsZXMvcmVjZXB0b3Iva2V5bWFwL2luZGV4LmpzIiwibm9kZV9tb2R1bGVzL3JlY2VwdG9yL29uY2UvaW5kZXguanMiLCJub2RlX21vZHVsZXMvcmVzb2x2ZS1pZC1yZWZzL2luZGV4LmpzIiwicGFja2FnZXMvX3VzYS1wYXNzd29yZC9zcmMvaW5kZXguanMiLCJwYWNrYWdlcy91c2EtYWNjb3JkaW9uL3NyYy9pbmRleC5qcyIsInBhY2thZ2VzL3VzYS1iYW5uZXIvc3JjL2luZGV4LmpzIiwicGFja2FnZXMvdXNhLWJ1dHRvbi9zcmMvaW5kZXguanMiLCJwYWNrYWdlcy91c2EtY2hhcmFjdGVyLWNvdW50L3NyYy9pbmRleC5qcyIsInBhY2thZ2VzL3VzYS1jb21iby1ib3gvc3JjL2luZGV4LmpzIiwicGFja2FnZXMvdXNhLWRhdGUtcGlja2VyL3NyYy9pbmRleC5qcyIsInBhY2thZ2VzL3VzYS1kYXRlLXJhbmdlLXBpY2tlci9zcmMvaW5kZXguanMiLCJwYWNrYWdlcy91c2EtZmlsZS1pbnB1dC9zcmMvaW5kZXguanMiLCJwYWNrYWdlcy91c2EtZm9vdGVyL3NyYy9pbmRleC5qcyIsInBhY2thZ2VzL3VzYS1oZWFkZXIvc3JjL2luZGV4LmpzIiwicGFja2FnZXMvdXNhLWluLXBhZ2UtbmF2aWdhdGlvbi9zcmMvaW5kZXguanMiLCJwYWNrYWdlcy91c2EtaW5wdXQtbWFzay9zcmMvaW5kZXguanMiLCJwYWNrYWdlcy91c2EtbGFuZ3VhZ2Utc2VsZWN0b3Ivc3JjL2luZGV4LmpzIiwicGFja2FnZXMvdXNhLW1vZGFsL3NyYy9pbmRleC5qcyIsInBhY2thZ2VzL3VzYS1yYW5nZS9zcmMvaW5kZXguanMiLCJwYWNrYWdlcy91c2Etc2VhcmNoL3NyYy9pbmRleC5qcyIsInBhY2thZ2VzL3VzYS1za2lwbmF2L3NyYy9pbmRleC5qcyIsInBhY2thZ2VzL3VzYS10YWJsZS9zcmMvaW5kZXguanMiLCJwYWNrYWdlcy91c2EtdGltZS1waWNrZXIvc3JjL2luZGV4LmpzIiwicGFja2FnZXMvdXNhLXRvb2x0aXAvc3JjL2luZGV4LmpzIiwicGFja2FnZXMvdXNhLXZhbGlkYXRpb24vc3JjL2luZGV4LmpzIiwicGFja2FnZXMvdXN3ZHMtY29yZS9zcmMvanMvY29uZmlnLmpzIiwicGFja2FnZXMvdXN3ZHMtY29yZS9zcmMvanMvZXZlbnRzLmpzIiwicGFja2FnZXMvdXN3ZHMtY29yZS9zcmMvanMvaW5kZXguanMiLCJwYWNrYWdlcy91c3dkcy1jb3JlL3NyYy9qcy9wb2x5ZmlsbHMvY3VzdG9tLWV2ZW50LmpzIiwicGFja2FnZXMvdXN3ZHMtY29yZS9zcmMvanMvcG9seWZpbGxzL2VsZW1lbnQtaGlkZGVuLmpzIiwicGFja2FnZXMvdXN3ZHMtY29yZS9zcmMvanMvcG9seWZpbGxzL2luZGV4LmpzIiwicGFja2FnZXMvdXN3ZHMtY29yZS9zcmMvanMvcG9seWZpbGxzL251bWJlci1pcy1uYW4uanMiLCJwYWNrYWdlcy91c3dkcy1jb3JlL3NyYy9qcy9wb2x5ZmlsbHMvc3ZnNGV2ZXJ5Ym9keS5qcyIsInBhY2thZ2VzL3Vzd2RzLWNvcmUvc3JjL2pzL3N0YXJ0LmpzIiwicGFja2FnZXMvdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvYWN0aXZlLWVsZW1lbnQuanMiLCJwYWNrYWdlcy91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9iZWhhdmlvci5qcyIsInBhY2thZ2VzL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2RlYm91bmNlLmpzIiwicGFja2FnZXMvdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvZm9jdXMtdHJhcC5qcyIsInBhY2thZ2VzL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2lzLWluLXZpZXdwb3J0LmpzIiwicGFja2FnZXMvdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvaXMtaW9zLWRldmljZS5qcyIsInBhY2thZ2VzL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3Nhbml0aXplci5qcyIsInBhY2thZ2VzL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3Njcm9sbGJhci13aWR0aC5qcyIsInBhY2thZ2VzL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3NlbGVjdC1vci1tYXRjaGVzLmpzIiwicGFja2FnZXMvdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvc2VsZWN0LmpzIiwicGFja2FnZXMvdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvdG9nZ2xlLWZpZWxkLW1hc2suanMiLCJwYWNrYWdlcy91c3dkcy1jb3JlL3NyYy9qcy91dGlscy90b2dnbGUtZm9ybS1pbnB1dC5qcyIsInBhY2thZ2VzL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3RvZ2dsZS5qcyIsInBhY2thZ2VzL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3ZhbGlkYXRlLWlucHV0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7QUNBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBLElBQUksVUFBVSxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUU7RUFFL0I7RUFDQTtFQUNBLElBQUksRUFBRSxXQUFXLElBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUM3QyxRQUFRLENBQUMsZUFBZSxJQUFJLEVBQUUsV0FBVyxJQUFJLFFBQVEsQ0FBQyxlQUFlLENBQUMsNEJBQTRCLEVBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtJQUU3RyxXQUFVLElBQUksRUFBRTtNQUVqQixZQUFZOztNQUVaLElBQUksRUFBRSxTQUFTLElBQUksSUFBSSxDQUFDLEVBQUU7TUFFMUIsSUFDRyxhQUFhLEdBQUcsV0FBVztRQUMzQixTQUFTLEdBQUcsV0FBVztRQUN2QixZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDdEMsTUFBTSxHQUFHLE1BQU07UUFDZixPQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksSUFBSSxZQUFZO1VBQ2pELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDO1FBQ3RDLENBQUM7UUFDQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxVQUFVLElBQUksRUFBRTtVQUMxRCxJQUNHLENBQUMsR0FBRyxDQUFDO1lBQ0wsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNO1VBRXBCLE9BQU8sQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNwQixJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRTtjQUNsQyxPQUFPLENBQUM7WUFDVDtVQUNEO1VBQ0EsT0FBTyxDQUFDLENBQUM7UUFDVjtRQUNBO1FBQUE7UUFDRSxLQUFLLEdBQUcsU0FBQSxDQUFVLElBQUksRUFBRSxPQUFPLEVBQUU7VUFDbEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJO1VBQ2hCLElBQUksQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQztVQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU87UUFDdkIsQ0FBQztRQUNDLHFCQUFxQixHQUFHLFNBQUEsQ0FBVSxTQUFTLEVBQUUsS0FBSyxFQUFFO1VBQ3JELElBQUksS0FBSyxLQUFLLEVBQUUsRUFBRTtZQUNqQixNQUFNLElBQUksS0FBSyxDQUNaLFlBQVksRUFDWiw0Q0FDSCxDQUFDO1VBQ0Y7VUFDQSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDckIsTUFBTSxJQUFJLEtBQUssQ0FDWix1QkFBdUIsRUFDdkIsc0NBQ0gsQ0FBQztVQUNGO1VBQ0EsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUM7UUFDekMsQ0FBQztRQUNDLFNBQVMsR0FBRyxTQUFBLENBQVUsSUFBSSxFQUFFO1VBQzdCLElBQ0csY0FBYyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDL0QsT0FBTyxHQUFHLGNBQWMsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDM0QsQ0FBQyxHQUFHLENBQUM7WUFDTCxHQUFHLEdBQUcsT0FBTyxDQUFDLE1BQU07VUFFdkIsT0FBTyxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1VBQ3RCO1VBQ0EsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFlBQVk7WUFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7VUFDNUMsQ0FBQztRQUNGLENBQUM7UUFDQyxjQUFjLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDMUMsZUFBZSxHQUFHLFNBQUEsQ0FBQSxFQUFZO1VBQy9CLE9BQU8sSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDO1FBQzNCLENBQUM7TUFFRjtNQUNBO01BQ0EsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7TUFDbkMsY0FBYyxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsRUFBRTtRQUNsQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJO01BQ3ZCLENBQUM7TUFDRCxjQUFjLENBQUMsUUFBUSxHQUFHLFVBQVUsS0FBSyxFQUFFO1FBQzFDLEtBQUssSUFBSSxFQUFFO1FBQ1gsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO01BQ2pELENBQUM7TUFDRCxjQUFjLENBQUMsR0FBRyxHQUFHLFlBQVk7UUFDaEMsSUFDRyxNQUFNLEdBQUcsU0FBUztVQUNsQixDQUFDLEdBQUcsQ0FBQztVQUNMLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTTtVQUNqQixLQUFLO1VBQ0wsT0FBTyxHQUFHLEtBQUs7UUFFbEIsR0FBRztVQUNGLEtBQUssR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRTtVQUN0QixJQUFJLHFCQUFxQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNoQixPQUFPLEdBQUcsSUFBSTtVQUNmO1FBQ0QsQ0FBQyxRQUNNLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFFZCxJQUFJLE9BQU8sRUFBRTtVQUNaLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3hCO01BQ0QsQ0FBQztNQUNELGNBQWMsQ0FBQyxNQUFNLEdBQUcsWUFBWTtRQUNuQyxJQUNHLE1BQU0sR0FBRyxTQUFTO1VBQ2xCLENBQUMsR0FBRyxDQUFDO1VBQ0wsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNO1VBQ2pCLEtBQUs7VUFDTCxPQUFPLEdBQUcsS0FBSztVQUNmLEtBQUs7UUFFUixHQUFHO1VBQ0YsS0FBSyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFO1VBQ3RCLEtBQUssR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDO1VBQzFDLE9BQU8sS0FBSyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNyQixPQUFPLEdBQUcsSUFBSTtZQUNkLEtBQUssR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDO1VBQzNDO1FBQ0QsQ0FBQyxRQUNNLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFFZCxJQUFJLE9BQU8sRUFBRTtVQUNaLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3hCO01BQ0QsQ0FBQztNQUNELGNBQWMsQ0FBQyxNQUFNLEdBQUcsVUFBVSxLQUFLLEVBQUUsS0FBSyxFQUFFO1FBQy9DLEtBQUssSUFBSSxFQUFFO1FBRVgsSUFDRyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7VUFDN0IsTUFBTSxHQUFHLE1BQU0sR0FDaEIsS0FBSyxLQUFLLElBQUksSUFBSSxRQUFRLEdBRTFCLEtBQUssS0FBSyxLQUFLLElBQUksS0FBSztRQUcxQixJQUFJLE1BQU0sRUFBRTtVQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDcEI7UUFFQSxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLEtBQUssRUFBRTtVQUN0QyxPQUFPLEtBQUs7UUFDYixDQUFDLE1BQU07VUFDTixPQUFPLENBQUMsTUFBTTtRQUNmO01BQ0QsQ0FBQztNQUNELGNBQWMsQ0FBQyxRQUFRLEdBQUcsWUFBWTtRQUNyQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO01BQ3RCLENBQUM7TUFFRCxJQUFJLE1BQU0sQ0FBQyxjQUFjLEVBQUU7UUFDMUIsSUFBSSxpQkFBaUIsR0FBRztVQUNyQixHQUFHLEVBQUUsZUFBZTtVQUNwQixVQUFVLEVBQUUsSUFBSTtVQUNoQixZQUFZLEVBQUU7UUFDakIsQ0FBQztRQUNELElBQUk7VUFDSCxNQUFNLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsaUJBQWlCLENBQUM7UUFDdEUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1VBQUU7VUFDZDtVQUNBO1VBQ0EsSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLFNBQVMsSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQ3pELGlCQUFpQixDQUFDLFVBQVUsR0FBRyxLQUFLO1lBQ3BDLE1BQU0sQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQztVQUN0RTtRQUNEO01BQ0QsQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLGdCQUFnQixFQUFFO1FBQzlDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsZUFBZSxDQUFDO01BQzlEO0lBRUEsQ0FBQyxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7RUFFZDs7RUFFQTtFQUNBOztFQUVDLGFBQVk7SUFDWixZQUFZOztJQUVaLElBQUksV0FBVyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDO0lBRTdDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7O0lBRXJDO0lBQ0E7SUFDQSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUU7TUFDMUMsSUFBSSxZQUFZLEdBQUcsU0FBQSxDQUFTLE1BQU0sRUFBRTtRQUNuQyxJQUFJLFFBQVEsR0FBRyxZQUFZLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztRQUU3QyxZQUFZLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLFVBQVMsS0FBSyxFQUFFO1VBQ2hELElBQUksQ0FBQztZQUFFLEdBQUcsR0FBRyxTQUFTLENBQUMsTUFBTTtVQUU3QixLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN6QixLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUNwQixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7VUFDM0I7UUFDRCxDQUFDO01BQ0YsQ0FBQztNQUNELFlBQVksQ0FBQyxLQUFLLENBQUM7TUFDbkIsWUFBWSxDQUFDLFFBQVEsQ0FBQztJQUN2QjtJQUVBLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7O0lBRXpDO0lBQ0E7SUFDQSxJQUFJLFdBQVcsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFO01BQ3pDLElBQUksT0FBTyxHQUFHLFlBQVksQ0FBQyxTQUFTLENBQUMsTUFBTTtNQUUzQyxZQUFZLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxVQUFTLEtBQUssRUFBRSxLQUFLLEVBQUU7UUFDdEQsSUFBSSxDQUFDLElBQUksU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRTtVQUN2RCxPQUFPLEtBQUs7UUFDYixDQUFDLE1BQU07VUFDTixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQztRQUNqQztNQUNELENBQUM7SUFFRjtJQUVBLFdBQVcsR0FBRyxJQUFJO0VBQ25CLENBQUMsRUFBQyxDQUFDO0FBRUg7Ozs7O0FDL09BOztBQUVBLENBQUMsVUFBVSxZQUFZLEVBQUU7RUFDeEIsSUFBSSxPQUFPLFlBQVksQ0FBQyxPQUFPLEtBQUssVUFBVSxFQUFFO0lBQy9DLFlBQVksQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDLGlCQUFpQixJQUFJLFlBQVksQ0FBQyxrQkFBa0IsSUFBSSxZQUFZLENBQUMscUJBQXFCLElBQUksU0FBUyxPQUFPLENBQUMsUUFBUSxFQUFFO01BQzVKLElBQUksT0FBTyxHQUFHLElBQUk7TUFDbEIsSUFBSSxRQUFRLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsUUFBUSxDQUFDO01BQ3JGLElBQUksS0FBSyxHQUFHLENBQUM7TUFFYixPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssT0FBTyxFQUFFO1FBQ3RELEVBQUUsS0FBSztNQUNSO01BRUEsT0FBTyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7RUFDRjtFQUVBLElBQUksT0FBTyxZQUFZLENBQUMsT0FBTyxLQUFLLFVBQVUsRUFBRTtJQUMvQyxZQUFZLENBQUMsT0FBTyxHQUFHLFNBQVMsT0FBTyxDQUFDLFFBQVEsRUFBRTtNQUNqRCxJQUFJLE9BQU8sR0FBRyxJQUFJO01BRWxCLE9BQU8sT0FBTyxJQUFJLE9BQU8sQ0FBQyxRQUFRLEtBQUssQ0FBQyxFQUFFO1FBQ3pDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtVQUM5QixPQUFPLE9BQU87UUFDZjtRQUVBLE9BQU8sR0FBRyxPQUFPLENBQUMsVUFBVTtNQUM3QjtNQUVBLE9BQU8sSUFBSTtJQUNaLENBQUM7RUFDRjtBQUNELENBQUMsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQzs7Ozs7QUNoQzVCOztBQUVBLENBQUMsWUFBWTtFQUVYLElBQUksd0JBQXdCLEdBQUc7SUFDN0IsUUFBUSxFQUFFLFFBQVE7SUFDbEIsSUFBSSxFQUFFO01BQ0osQ0FBQyxFQUFFLFFBQVE7TUFDWCxDQUFDLEVBQUUsTUFBTTtNQUNULENBQUMsRUFBRSxXQUFXO01BQ2QsQ0FBQyxFQUFFLEtBQUs7TUFDUixFQUFFLEVBQUUsT0FBTztNQUNYLEVBQUUsRUFBRSxPQUFPO01BQ1gsRUFBRSxFQUFFLE9BQU87TUFDWCxFQUFFLEVBQUUsU0FBUztNQUNiLEVBQUUsRUFBRSxLQUFLO01BQ1QsRUFBRSxFQUFFLE9BQU87TUFDWCxFQUFFLEVBQUUsVUFBVTtNQUNkLEVBQUUsRUFBRSxRQUFRO01BQ1osRUFBRSxFQUFFLFNBQVM7TUFDYixFQUFFLEVBQUUsWUFBWTtNQUNoQixFQUFFLEVBQUUsUUFBUTtNQUNaLEVBQUUsRUFBRSxZQUFZO01BQ2hCLEVBQUUsRUFBRSxHQUFHO01BQ1AsRUFBRSxFQUFFLFFBQVE7TUFDWixFQUFFLEVBQUUsVUFBVTtNQUNkLEVBQUUsRUFBRSxLQUFLO01BQ1QsRUFBRSxFQUFFLE1BQU07TUFDVixFQUFFLEVBQUUsV0FBVztNQUNmLEVBQUUsRUFBRSxTQUFTO01BQ2IsRUFBRSxFQUFFLFlBQVk7TUFDaEIsRUFBRSxFQUFFLFdBQVc7TUFDZixFQUFFLEVBQUUsUUFBUTtNQUNaLEVBQUUsRUFBRSxPQUFPO01BQ1gsRUFBRSxFQUFFLFNBQVM7TUFDYixFQUFFLEVBQUUsYUFBYTtNQUNqQixFQUFFLEVBQUUsUUFBUTtNQUNaLEVBQUUsRUFBRSxRQUFRO01BQ1osRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQztNQUNkLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7TUFDZCxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO01BQ2QsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQztNQUNkLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7TUFDZCxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO01BQ2QsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQztNQUNkLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7TUFDZCxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO01BQ2QsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQztNQUNkLEVBQUUsRUFBRSxJQUFJO01BQ1IsRUFBRSxFQUFFLGFBQWE7TUFDakIsR0FBRyxFQUFFLFNBQVM7TUFDZCxHQUFHLEVBQUUsWUFBWTtNQUNqQixHQUFHLEVBQUUsWUFBWTtNQUNqQixHQUFHLEVBQUUsWUFBWTtNQUNqQixHQUFHLEVBQUUsVUFBVTtNQUNmLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7TUFDZixHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO01BQ2YsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQztNQUNmLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7TUFDZixHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO01BQ2YsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQztNQUNmLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7TUFDZixHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO01BQ2YsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQztNQUNoQixHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO01BQ2YsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQztNQUNmLEdBQUcsRUFBRSxNQUFNO01BQ1gsR0FBRyxFQUFFLFVBQVU7TUFDZixHQUFHLEVBQUUsTUFBTTtNQUNYLEdBQUcsRUFBRSxPQUFPO01BQ1osR0FBRyxFQUFFLE9BQU87TUFDWixHQUFHLEVBQUUsVUFBVTtNQUNmLEdBQUcsRUFBRSxNQUFNO01BQ1gsR0FBRyxFQUFFO0lBQ1A7RUFDRixDQUFDOztFQUVEO0VBQ0EsSUFBSSxDQUFDO0VBQ0wsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7SUFDdkIsd0JBQXdCLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztFQUNsRDs7RUFFQTtFQUNBLElBQUksTUFBTSxHQUFHLEVBQUU7RUFDZixLQUFLLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRTtJQUN4QixNQUFNLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDL0Isd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7RUFDakY7RUFFQSxTQUFTLFFBQVEsQ0FBQSxFQUFJO0lBQ25CLElBQUksRUFBRSxlQUFlLElBQUksTUFBTSxDQUFDLElBQzVCLEtBQUssSUFBSSxhQUFhLENBQUMsU0FBUyxFQUFFO01BQ3BDLE9BQU8sS0FBSztJQUNkOztJQUVBO0lBQ0EsSUFBSSxLQUFLLEdBQUc7TUFDVixHQUFHLEVBQUUsU0FBQSxDQUFVLENBQUMsRUFBRTtRQUNoQixJQUFJLEdBQUcsR0FBRyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDO1FBRW5FLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtVQUN0QixHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMzQjtRQUVBLE9BQU8sR0FBRztNQUNaO0lBQ0YsQ0FBQztJQUNELE1BQU0sQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDO0lBQzVELE9BQU8sS0FBSztFQUNkO0VBRUEsSUFBSSxPQUFPLE1BQU0sS0FBSyxVQUFVLElBQUksTUFBTSxDQUFDLEdBQUcsRUFBRTtJQUM5QyxNQUFNLENBQUMsNEJBQTRCLEVBQUUsd0JBQXdCLENBQUM7RUFDaEUsQ0FBQyxNQUFNLElBQUksT0FBTyxPQUFPLEtBQUssV0FBVyxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRTtJQUMxRSxNQUFNLENBQUMsT0FBTyxHQUFHLHdCQUF3QjtFQUMzQyxDQUFDLE1BQU0sSUFBSSxNQUFNLEVBQUU7SUFDakIsTUFBTSxDQUFDLHdCQUF3QixHQUFHLHdCQUF3QjtFQUM1RDtBQUVGLENBQUMsRUFBRSxDQUFDOzs7QUN4SEo7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxZQUFZOztBQUNaO0FBQ0EsSUFBSSxxQkFBcUIsR0FBRyxNQUFNLENBQUMscUJBQXFCO0FBQ3hELElBQUksY0FBYyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYztBQUNwRCxJQUFJLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsb0JBQW9CO0FBRTVELFNBQVMsUUFBUSxDQUFDLEdBQUcsRUFBRTtFQUN0QixJQUFJLEdBQUcsS0FBSyxJQUFJLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRTtJQUN0QyxNQUFNLElBQUksU0FBUyxDQUFDLHVEQUF1RCxDQUFDO0VBQzdFO0VBRUEsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDO0FBQ25CO0FBRUEsU0FBUyxlQUFlLENBQUEsRUFBRztFQUMxQixJQUFJO0lBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7TUFDbkIsT0FBTyxLQUFLO0lBQ2I7O0lBRUE7O0lBRUE7SUFDQSxJQUFJLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFFO0lBQ2hDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJO0lBQ2YsSUFBSSxNQUFNLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFO01BQ2pELE9BQU8sS0FBSztJQUNiOztJQUVBO0lBQ0EsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRTtNQUM1QixLQUFLLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ3hDO0lBQ0EsSUFBSSxNQUFNLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRTtNQUMvRCxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDaEIsQ0FBQyxDQUFDO0lBQ0YsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLFlBQVksRUFBRTtNQUNyQyxPQUFPLEtBQUs7SUFDYjs7SUFFQTtJQUNBLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNkLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxNQUFNLEVBQUU7TUFDMUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLE1BQU07SUFDdkIsQ0FBQyxDQUFDO0lBQ0YsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQ2hELHNCQUFzQixFQUFFO01BQ3pCLE9BQU8sS0FBSztJQUNiO0lBRUEsT0FBTyxJQUFJO0VBQ1osQ0FBQyxDQUFDLE9BQU8sR0FBRyxFQUFFO0lBQ2I7SUFDQSxPQUFPLEtBQUs7RUFDYjtBQUNEO0FBRUEsTUFBTSxDQUFDLE9BQU8sR0FBRyxlQUFlLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEdBQUcsVUFBVSxNQUFNLEVBQUUsTUFBTSxFQUFFO0VBQzlFLElBQUksSUFBSTtFQUNSLElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7RUFDekIsSUFBSSxPQUFPO0VBRVgsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7SUFDMUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFM0IsS0FBSyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUU7TUFDckIsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRTtRQUNuQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztNQUNwQjtJQUNEO0lBRUEsSUFBSSxxQkFBcUIsRUFBRTtNQUMxQixPQUFPLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDO01BQ3JDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ3hDLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtVQUM1QyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQztNQUNEO0lBQ0Q7RUFDRDtFQUVBLE9BQU8sRUFBRTtBQUNWLENBQUM7Ozs7O0FDekZELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUM7QUFDdkMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztBQUN2QyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7QUFFN0MsTUFBTSxnQkFBZ0IsR0FBRyx5QkFBeUI7QUFDbEQsTUFBTSxLQUFLLEdBQUcsR0FBRztBQUVqQixNQUFNLFlBQVksR0FBRyxTQUFBLENBQVMsSUFBSSxFQUFFLE9BQU8sRUFBRTtFQUMzQyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDO0VBQ3hDLElBQUksUUFBUTtFQUNaLElBQUksS0FBSyxFQUFFO0lBQ1QsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDZixRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztFQUNyQjtFQUVBLElBQUksT0FBTztFQUNYLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO0lBQy9CLE9BQU8sR0FBRztNQUNSLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQztNQUNuQyxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxTQUFTO0lBQ3BDLENBQUM7RUFDSDtFQUVBLElBQUksUUFBUSxHQUFHO0lBQ2IsUUFBUSxFQUFFLFFBQVE7SUFDbEIsUUFBUSxFQUFHLE9BQU8sT0FBTyxLQUFLLFFBQVEsR0FDbEMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUNwQixRQUFRLEdBQ04sUUFBUSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsR0FDM0IsT0FBTztJQUNiLE9BQU8sRUFBRTtFQUNYLENBQUM7RUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7SUFDNUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFTLEtBQUssRUFBRTtNQUMzQyxPQUFPLE1BQU0sQ0FBQztRQUFDLElBQUksRUFBRTtNQUFLLENBQUMsRUFBRSxRQUFRLENBQUM7SUFDeEMsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxNQUFNO0lBQ0wsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJO0lBQ3BCLE9BQU8sQ0FBQyxRQUFRLENBQUM7RUFDbkI7QUFDRixDQUFDO0FBRUQsSUFBSSxNQUFNLEdBQUcsU0FBQSxDQUFTLEdBQUcsRUFBRSxHQUFHLEVBQUU7RUFDOUIsSUFBSSxLQUFLLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQztFQUNwQixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUM7RUFDZixPQUFPLEtBQUs7QUFDZCxDQUFDO0FBRUQsTUFBTSxDQUFDLE9BQU8sR0FBRyxTQUFTLFFBQVEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFO0VBQ2hELE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQ2xDLE1BQU0sQ0FBQyxVQUFTLElBQUksRUFBRSxJQUFJLEVBQUU7SUFDM0IsSUFBSSxTQUFTLEdBQUcsWUFBWSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztFQUMvQixDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRVIsT0FBTyxNQUFNLENBQUM7SUFDWixHQUFHLEVBQUUsU0FBUyxXQUFXLENBQUMsT0FBTyxFQUFFO01BQ2pDLFNBQVMsQ0FBQyxPQUFPLENBQUMsVUFBUyxRQUFRLEVBQUU7UUFDbkMsT0FBTyxDQUFDLGdCQUFnQixDQUN0QixRQUFRLENBQUMsSUFBSSxFQUNiLFFBQVEsQ0FBQyxRQUFRLEVBQ2pCLFFBQVEsQ0FBQyxPQUNYLENBQUM7TUFDSCxDQUFDLENBQUM7SUFDSixDQUFDO0lBQ0QsTUFBTSxFQUFFLFNBQVMsY0FBYyxDQUFDLE9BQU8sRUFBRTtNQUN2QyxTQUFTLENBQUMsT0FBTyxDQUFDLFVBQVMsUUFBUSxFQUFFO1FBQ25DLE9BQU8sQ0FBQyxtQkFBbUIsQ0FDekIsUUFBUSxDQUFDLElBQUksRUFDYixRQUFRLENBQUMsUUFBUSxFQUNqQixRQUFRLENBQUMsT0FDWCxDQUFDO01BQ0gsQ0FBQyxDQUFDO0lBQ0o7RUFDRixDQUFDLEVBQUUsS0FBSyxDQUFDO0FBQ1gsQ0FBQzs7Ozs7QUM1RUQsTUFBTSxDQUFDLE9BQU8sR0FBRyxTQUFTLE9BQU8sQ0FBQyxTQUFTLEVBQUU7RUFDM0MsT0FBTyxVQUFTLENBQUMsRUFBRTtJQUNqQixPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBUyxFQUFFLEVBQUU7TUFDakMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLO0lBQ25DLENBQUMsRUFBRSxJQUFJLENBQUM7RUFDVixDQUFDO0FBQ0gsQ0FBQzs7Ozs7QUNORDtBQUNBLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztBQUUxQixNQUFNLENBQUMsT0FBTyxHQUFHLFNBQVMsUUFBUSxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUU7RUFDL0MsT0FBTyxTQUFTLFVBQVUsQ0FBQyxLQUFLLEVBQUU7SUFDaEMsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQzNDLElBQUksTUFBTSxFQUFFO01BQ1YsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7SUFDL0I7RUFDRixDQUFDO0FBQ0gsQ0FBQzs7Ozs7QUNWRCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO0FBQ3ZDLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7QUFFckMsTUFBTSxLQUFLLEdBQUcsR0FBRztBQUVqQixNQUFNLENBQUMsT0FBTyxHQUFHLFNBQVMsV0FBVyxDQUFDLFNBQVMsRUFBRTtFQUMvQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQzs7RUFFbkM7RUFDQTtFQUNBO0VBQ0EsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxFQUFFO0lBQzFDLE9BQU8sU0FBUyxDQUFDLEtBQUssQ0FBQztFQUN6QjtFQUVBLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBUyxJQUFJLEVBQUUsUUFBUSxFQUFFO0lBQ3JELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNsRCxPQUFPLElBQUk7RUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDO0VBQ04sT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFDO0FBQzNCLENBQUM7Ozs7O0FDcEJELE1BQU0sQ0FBQyxPQUFPLEdBQUcsU0FBUyxNQUFNLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRTtFQUM1QyxPQUFPLFNBQVMsU0FBUyxDQUFDLENBQUMsRUFBRTtJQUMzQixJQUFJLE9BQU8sS0FBSyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUU7TUFDdkQsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDekI7RUFDRixDQUFDO0FBQ0gsQ0FBQzs7Ozs7QUNORCxNQUFNLENBQUMsT0FBTyxHQUFHO0VBQ2YsUUFBUSxFQUFNLE9BQU8sQ0FBQyxZQUFZLENBQUM7RUFDbkMsUUFBUSxFQUFNLE9BQU8sQ0FBQyxZQUFZLENBQUM7RUFDbkMsV0FBVyxFQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUM7RUFDdEMsTUFBTSxFQUFRLE9BQU8sQ0FBQyxVQUFVLENBQUM7RUFDakMsTUFBTSxFQUFRLE9BQU8sQ0FBQyxVQUFVO0FBQ2xDLENBQUM7Ozs7O0FDTkQsT0FBTyxDQUFDLDRCQUE0QixDQUFDOztBQUVyQztBQUNBO0FBQ0E7QUFDQSxNQUFNLFNBQVMsR0FBRztFQUNoQixLQUFLLEVBQU8sUUFBUTtFQUNwQixTQUFTLEVBQUcsU0FBUztFQUNyQixNQUFNLEVBQU0sU0FBUztFQUNyQixPQUFPLEVBQUs7QUFDZCxDQUFDO0FBRUQsTUFBTSxrQkFBa0IsR0FBRyxHQUFHO0FBRTlCLE1BQU0sV0FBVyxHQUFHLFNBQUEsQ0FBUyxLQUFLLEVBQUUsWUFBWSxFQUFFO0VBQ2hELElBQUksR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHO0VBQ25CLElBQUksWUFBWSxFQUFFO0lBQ2hCLEtBQUssSUFBSSxRQUFRLElBQUksU0FBUyxFQUFFO01BQzlCLElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRTtRQUN2QyxHQUFHLEdBQUcsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDO01BQ2hEO0lBQ0Y7RUFDRjtFQUNBLE9BQU8sR0FBRztBQUNaLENBQUM7QUFFRCxNQUFNLENBQUMsT0FBTyxHQUFHLFNBQVMsTUFBTSxDQUFDLElBQUksRUFBRTtFQUNyQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFTLEdBQUcsRUFBRTtJQUN4RCxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDN0MsQ0FBQyxDQUFDO0VBQ0YsT0FBTyxVQUFTLEtBQUssRUFBRTtJQUNyQixJQUFJLEdBQUcsR0FBRyxXQUFXLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQztJQUMxQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQzVCLE1BQU0sQ0FBQyxVQUFTLE1BQU0sRUFBRSxJQUFJLEVBQUU7TUFDN0IsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFO1FBQ2hCLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7TUFDdEM7TUFDQSxPQUFPLE1BQU07SUFDZixDQUFDLEVBQUUsU0FBUyxDQUFDO0VBQ2pCLENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsU0FBUzs7Ozs7QUMxQ3BDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsU0FBUyxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRTtFQUNoRCxJQUFJLE9BQU8sR0FBRyxTQUFTLFdBQVcsQ0FBQyxDQUFDLEVBQUU7SUFDcEMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUM7SUFDN0QsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7RUFDL0IsQ0FBQztFQUNELE9BQU8sT0FBTztBQUNoQixDQUFDOzs7QUNORCxZQUFZOztBQUVaLElBQUksT0FBTyxHQUFHLGdCQUFnQjtBQUM5QixJQUFJLFFBQVEsR0FBRyxLQUFLO0FBRXBCLElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxHQUM1QixVQUFTLEdBQUcsRUFBRTtFQUFFLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQUUsQ0FBQyxHQUNwQyxVQUFTLEdBQUcsRUFBRTtFQUFFLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO0FBQUUsQ0FBQztBQUV0RCxJQUFJLFNBQVMsR0FBRyxTQUFBLENBQVMsRUFBRSxFQUFFO0VBQzNCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDO0FBQ3JFLENBQUM7QUFFRCxNQUFNLENBQUMsT0FBTyxHQUFHLFNBQVMsVUFBVSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUU7RUFDN0MsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUU7SUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsR0FBSSxPQUFPLEdBQUksQ0FBQztFQUM5RDtFQUVBLElBQUksQ0FBQyxHQUFHLEVBQUU7SUFDUixHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVE7RUFDdkI7RUFFQSxJQUFJLGNBQWMsR0FBRyxHQUFHLENBQUMsY0FBYyxHQUNuQyxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FDNUIsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7RUFFdkIsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDOztFQUUvQjtFQUNBO0VBQ0E7RUFDQSxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7SUFDckMsT0FBTyxFQUFFO0VBQ1g7RUFFQSxPQUFPLEdBQUcsQ0FDUCxHQUFHLENBQUMsVUFBUyxFQUFFLEVBQUU7SUFDaEIsSUFBSSxFQUFFLEdBQUcsY0FBYyxDQUFDLEVBQUUsQ0FBQztJQUMzQixJQUFJLENBQUMsRUFBRSxFQUFFO01BQ1AsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDO0lBQ3JEO0lBQ0EsT0FBTyxFQUFFO0VBQ1gsQ0FBQyxDQUFDO0FBQ04sQ0FBQzs7Ozs7QUMzQ0QsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLHdDQUF3QyxDQUFDO0FBQ2xFLE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyxpREFBaUQsQ0FBQztBQUVsRixNQUFNO0VBQUU7QUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLGdDQUFnQyxDQUFDO0FBQzNELE1BQU07RUFBRSxNQUFNLEVBQUU7QUFBTyxDQUFDLEdBQUcsT0FBTyxDQUFDLGdDQUFnQyxDQUFDO0FBRXBFLE1BQU0sSUFBSSxHQUFHLElBQUksTUFBTSxnQkFBZ0I7QUFFdkMsU0FBUyxNQUFNLENBQUMsS0FBSyxFQUFFO0VBQ3JCLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztFQUN0QixlQUFlLENBQUMsSUFBSSxDQUFDO0FBQ3ZCO0FBRUEsTUFBTSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUM7RUFDeEIsQ0FBQyxLQUFLLEdBQUc7SUFDUCxDQUFDLElBQUksR0FBRztFQUNWO0FBQ0YsQ0FBQyxDQUFDOzs7OztBQ2pCRixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsc0NBQXNDLENBQUM7QUFDOUQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLHdDQUF3QyxDQUFDO0FBQ2xFLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQztBQUM5RCxNQUFNLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyw4Q0FBOEMsQ0FBQztBQUNuRixNQUFNO0VBQUU7QUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLGdDQUFnQyxDQUFDO0FBQzNELE1BQU07RUFBRSxNQUFNLEVBQUU7QUFBTyxDQUFDLEdBQUcsT0FBTyxDQUFDLGdDQUFnQyxDQUFDO0FBRXBFLE1BQU0sU0FBUyxHQUFHLElBQUksTUFBTSxnQkFBZ0IsTUFBTSxzQkFBc0I7QUFDeEUsTUFBTSxhQUFhLEdBQUcsSUFBSSxNQUFNLGlCQUFpQjtBQUNqRCxNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0seUNBQXlDLGFBQWEsR0FBRztBQUNsRixNQUFNLFFBQVEsR0FBRyxlQUFlO0FBQ2hDLE1BQU0sZUFBZSxHQUFHLHFCQUFxQjs7QUFFN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxtQkFBbUIsR0FBSSxTQUFTLElBQUs7RUFDekMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUM7RUFFekMsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFFLE1BQU0sSUFBSyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLFNBQVMsQ0FBQztBQUM1RSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sWUFBWSxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsS0FBSztFQUN6QyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztFQUMzQyxJQUFJLFlBQVksR0FBRyxRQUFRO0VBRTNCLElBQUksQ0FBQyxTQUFTLEVBQUU7SUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsTUFBTSxxQkFBcUIsU0FBUyxFQUFFLENBQUM7RUFDNUQ7RUFFQSxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUM7O0VBRXZDO0VBQ0EsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUM7RUFFL0QsSUFBSSxZQUFZLElBQUksQ0FBQyxlQUFlLEVBQUU7SUFDcEMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFFLEtBQUssSUFBSztNQUNoRCxJQUFJLEtBQUssS0FBSyxNQUFNLEVBQUU7UUFDcEIsTUFBTSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUM7TUFDdEI7SUFDRixDQUFDLENBQUM7RUFDSjtBQUNGLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLFVBQVUsR0FBSSxNQUFNLElBQUssWUFBWSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUM7O0FBRXpEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxVQUFVLEdBQUksTUFBTSxJQUFLLFlBQVksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDO0FBRTFELE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FDeEI7RUFDRSxDQUFDLEtBQUssR0FBRztJQUNQLENBQUMsTUFBTSxJQUFJO01BQ1QsWUFBWSxDQUFDLElBQUksQ0FBQztNQUVsQixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssTUFBTSxFQUFFO1FBQzFDO1FBQ0E7UUFDQTtRQUNBLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7TUFDdkQ7SUFDRjtFQUNGO0FBQ0YsQ0FBQyxFQUNEO0VBQ0UsSUFBSSxDQUFDLElBQUksRUFBRTtJQUNULE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFFLE1BQU0sSUFBSztNQUN2QyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLE1BQU07TUFDekQsWUFBWSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUM7SUFDaEMsQ0FBQyxDQUFDO0VBQ0osQ0FBQztFQUNELFNBQVM7RUFDVCxNQUFNO0VBQ04sSUFBSSxFQUFFLFVBQVU7RUFDaEIsSUFBSSxFQUFFLFVBQVU7RUFDaEIsTUFBTSxFQUFFLFlBQVk7RUFDcEIsVUFBVSxFQUFFO0FBQ2QsQ0FDRixDQUFDO0FBRUQsTUFBTSxDQUFDLE9BQU8sR0FBRyxTQUFTOzs7OztBQ25HMUIsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLHdDQUF3QyxDQUFDO0FBQ2xFLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQztBQUM5RCxNQUFNO0VBQUU7QUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLGdDQUFnQyxDQUFDO0FBQzNELE1BQU07RUFBRSxNQUFNLEVBQUU7QUFBTyxDQUFDLEdBQUcsT0FBTyxDQUFDLGdDQUFnQyxDQUFDO0FBQ3BFLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQztBQUU5RCxNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0saUJBQWlCO0FBQzFDLE1BQU0sY0FBYyxHQUFHLEdBQUcsTUFBTSwyQkFBMkI7QUFDM0QsTUFBTSxhQUFhLEdBQUcsR0FBRyxNQUFNLGtCQUFrQjs7QUFFakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLFlBQVksR0FBRyxTQUFTLFFBQVEsQ0FBQyxLQUFLLEVBQUU7RUFDNUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0VBQ3RCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztFQUVuRCxNQUFNLENBQUMsT0FBTyxDQUFDO0VBQ2YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQztBQUN2RCxDQUFDO0FBRUQsTUFBTSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQ3ZCO0VBQ0UsQ0FBQyxLQUFLLEdBQUc7SUFDUCxDQUFDLGFBQWEsR0FBRztFQUNuQjtBQUNGLENBQUMsRUFDRDtFQUNFLElBQUksQ0FBQyxJQUFJLEVBQUU7SUFDVCxNQUFNLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBRSxNQUFNLElBQUs7TUFDOUMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsS0FBSyxNQUFNO01BQy9ELE1BQU0sQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO0lBQzFCLENBQUMsQ0FBQztFQUNKO0FBQ0YsQ0FDRixDQUFDOzs7OztBQ3BDRCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUM7QUFDekMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLHdDQUF3QyxDQUFDO0FBRWxFLE1BQU0sYUFBYSxHQUFHLHdCQUF3QjtBQUU5QyxNQUFNLFlBQVksR0FBSSxLQUFLLElBQUs7RUFDOUIsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0VBQ3RCLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdEIsQ0FBQztBQUVELE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQztFQUM1QixPQUFPLEVBQUU7SUFDUCxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUM7TUFDdEIsR0FBRyxFQUFFO0lBQ1AsQ0FBQztFQUNIO0FBQ0YsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE9BQU8sR0FBRyxZQUFZOzs7OztBQ2xCN0IsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLHNDQUFzQyxDQUFDO0FBQzlELE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyx3Q0FBd0MsQ0FBQztBQUNsRSxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsd0NBQXdDLENBQUM7QUFDbEUsTUFBTTtFQUFFLE1BQU0sRUFBRTtBQUFPLENBQUMsR0FBRyxPQUFPLENBQUMsZ0NBQWdDLENBQUM7QUFFcEUsTUFBTSxxQkFBcUIsR0FBRyxHQUFHLE1BQU0sa0JBQWtCO0FBQ3pELE1BQU0sZUFBZSxHQUFHLElBQUkscUJBQXFCLEVBQUU7QUFDbkQsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLHlCQUF5QjtBQUNqRCxNQUFNLE9BQU8sR0FBRyxJQUFJLE1BQU0sMkJBQTJCO0FBQ3JELE1BQU0sa0JBQWtCLEdBQUcsMEJBQTBCO0FBQ3JELE1BQU0scUJBQXFCLEdBQUcsR0FBRyxNQUFNLG1DQUFtQztBQUMxRSxNQUFNLG9CQUFvQixHQUFHLEdBQUcscUJBQXFCLFVBQVU7QUFDL0QsTUFBTSw0QkFBNEIsR0FBRyxHQUFHLHFCQUFxQixhQUFhO0FBQzFFLE1BQU0sY0FBYyxHQUFHLElBQUksb0JBQW9CLEVBQUU7QUFDakQsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLDRCQUE0QixFQUFFO0FBQ2pFLE1BQU0sb0JBQW9CLEdBQUcsb0JBQW9COztBQUVqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLHlCQUF5QixHQUFJLE9BQU8sSUFBSztFQUM3QyxNQUFNLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDO0VBRXpELElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtJQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxxQkFBcUIsZUFBZSxFQUFFLENBQUM7RUFDakU7RUFFQSxNQUFNLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDO0VBRXpELElBQUksQ0FBQyxTQUFTLEVBQUU7SUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsZUFBZSxxQkFBcUIsT0FBTyxFQUFFLENBQUM7RUFDbkU7RUFFQSxPQUFPO0lBQUUsZ0JBQWdCO0lBQUU7RUFBVSxDQUFDO0FBQ3hDLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sYUFBYSxHQUFJLE9BQU8sSUFBSztFQUNqQyxNQUFNO0lBQUU7RUFBaUIsQ0FBQyxHQUFHLHlCQUF5QixDQUFDLE9BQU8sQ0FBQztFQUUvRCxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQztFQUVuRCxJQUFJLENBQUMsU0FBUyxFQUFFO0VBRWhCLE9BQU8sQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDO0VBQ3BDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTLENBQUM7QUFDNUQsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sb0JBQW9CLEdBQUksZ0JBQWdCLElBQUs7RUFDakQsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7RUFDbkQsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7RUFDckQsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFNBQVM7RUFDcEQsTUFBTSxjQUFjLEdBQUcsR0FBRyxTQUFTLElBQUksb0JBQW9CLEVBQUU7RUFFN0QsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxvQkFBb0IsRUFBRSxFQUFFLFVBQVUsQ0FBQztFQUNsRSxlQUFlLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FDM0IsR0FBRyw0QkFBNEIsRUFBRSxFQUNqQyxhQUNGLENBQUM7RUFFRCxhQUFhLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUM7RUFDL0MsZUFBZSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDO0VBRW5ELGFBQWEsQ0FBQyxXQUFXLEdBQUcsY0FBYztFQUMxQyxlQUFlLENBQUMsV0FBVyxHQUFHLGNBQWM7RUFFNUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxlQUFlLENBQUM7QUFDekQsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sZUFBZSxHQUFHLENBQUMsYUFBYSxFQUFFLFNBQVMsS0FBSztFQUNwRCxJQUFJLFVBQVUsR0FBRyxFQUFFO0VBRW5CLElBQUksYUFBYSxLQUFLLENBQUMsRUFBRTtJQUN2QixVQUFVLEdBQUcsR0FBRyxTQUFTLElBQUksb0JBQW9CLEVBQUU7RUFDckQsQ0FBQyxNQUFNO0lBQ0wsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsYUFBYSxDQUFDO0lBQ3RELE1BQU0sVUFBVSxHQUFHLFlBQVksVUFBVSxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFO0lBQzVELE1BQU0sUUFBUSxHQUFHLGFBQWEsR0FBRyxTQUFTLEdBQUcsWUFBWSxHQUFHLE1BQU07SUFFbEUsVUFBVSxHQUFHLEdBQUcsVUFBVSxJQUFJLFVBQVUsSUFBSSxRQUFRLEVBQUU7RUFDeEQ7RUFFQSxPQUFPLFVBQVU7QUFDbkIsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsQ0FBQyxLQUFLLEVBQUUsYUFBYSxLQUFLO0VBQ3hELE1BQU0sZUFBZSxHQUFHLEtBQUs7RUFDN0IsZUFBZSxDQUFDLFdBQVcsR0FBRyxhQUFhO0FBQzdDLENBQUMsRUFBRSxJQUFJLENBQUM7O0FBRVI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLGtCQUFrQixHQUFJLE9BQU8sSUFBSztFQUN0QyxNQUFNO0lBQUU7RUFBaUIsQ0FBQyxHQUFHLHlCQUF5QixDQUFDLE9BQU8sQ0FBQztFQUMvRCxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU07RUFDMUMsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUN4QixnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsRUFDL0MsRUFDRixDQUFDO0VBQ0QsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQztFQUNwRSxNQUFNLGVBQWUsR0FBRyxnQkFBZ0IsQ0FBQyxhQUFhLENBQ3BELHNCQUNGLENBQUM7RUFDRCxNQUFNLG9CQUFvQixHQUFHLGVBQWUsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDO0VBRXRFLElBQUksQ0FBQyxTQUFTLEVBQUU7RUFFaEIsTUFBTSxXQUFXLEdBQUcsYUFBYSxJQUFJLGFBQWEsR0FBRyxTQUFTO0VBRTlELGFBQWEsQ0FBQyxXQUFXLEdBQUcsb0JBQW9CO0VBQ2hELGNBQWMsQ0FBQyxlQUFlLEVBQUUsb0JBQW9CLENBQUM7RUFFckQsSUFBSSxXQUFXLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUU7SUFDN0MsT0FBTyxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDO0VBQy9DO0VBRUEsSUFBSSxDQUFDLFdBQVcsSUFBSSxPQUFPLENBQUMsaUJBQWlCLEtBQUssa0JBQWtCLEVBQUU7SUFDcEUsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztFQUMvQjtFQUVBLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLHFCQUFxQixFQUFFLFdBQVcsQ0FBQztBQUNwRSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxxQkFBcUIsR0FBSSxPQUFPLElBQUs7RUFDekMsTUFBTTtJQUFFLGdCQUFnQjtJQUFFO0VBQVUsQ0FBQyxHQUFHLHlCQUF5QixDQUFDLE9BQU8sQ0FBQzs7RUFFMUU7RUFDQSxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUM7RUFDdEMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUM7RUFFdEMsYUFBYSxDQUFDLE9BQU8sQ0FBQztFQUN0QixvQkFBb0IsQ0FBQyxnQkFBZ0IsQ0FBQztBQUN4QyxDQUFDO0FBRUQsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUM3QjtFQUNFLEtBQUssRUFBRTtJQUNMLENBQUMsS0FBSyxJQUFJO01BQ1Isa0JBQWtCLENBQUMsSUFBSSxDQUFDO0lBQzFCO0VBQ0Y7QUFDRixDQUFDLEVBQ0Q7RUFDRSxJQUFJLENBQUMsSUFBSSxFQUFFO0lBQ1QsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUUsS0FBSyxJQUFLLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0VBQ3RFLENBQUM7RUFDRCxxQkFBcUI7RUFDckIsa0JBQWtCO0VBQ2xCLG9CQUFvQjtFQUNwQiw0QkFBNEI7RUFDNUIsb0JBQW9CO0VBQ3BCLG9CQUFvQjtFQUNwQixlQUFlO0VBQ2Y7QUFDRixDQUNGLENBQUM7QUFFRCxNQUFNLENBQUMsT0FBTyxHQUFHLGNBQWM7Ozs7O0FDcE0vQixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUM7QUFDekMsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLGlEQUFpRCxDQUFDO0FBQ2xGLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyx3Q0FBd0MsQ0FBQztBQUNsRSxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMseUNBQXlDLENBQUM7QUFDcEUsTUFBTTtFQUFFLE1BQU0sRUFBRTtBQUFPLENBQUMsR0FBRyxPQUFPLENBQUMsZ0NBQWdDLENBQUM7QUFDcEUsTUFBTTtFQUFFO0FBQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQztBQUUzRCxNQUFNLGVBQWUsR0FBRyxHQUFHLE1BQU0sWUFBWTtBQUM3QyxNQUFNLHdCQUF3QixHQUFHLEdBQUcsZUFBZSxZQUFZO0FBQy9ELE1BQU0sWUFBWSxHQUFHLEdBQUcsZUFBZSxVQUFVO0FBQ2pELE1BQU0sV0FBVyxHQUFHLEdBQUcsZUFBZSxTQUFTO0FBQy9DLE1BQU0sd0JBQXdCLEdBQUcsR0FBRyxlQUFlLGVBQWU7QUFDbEUsTUFBTSxnQ0FBZ0MsR0FBRyxHQUFHLHdCQUF3QixXQUFXO0FBQy9FLE1BQU0sNEJBQTRCLEdBQUcsR0FBRyxlQUFlLDBCQUEwQjtBQUNqRixNQUFNLHdCQUF3QixHQUFHLEdBQUcsZUFBZSxlQUFlO0FBQ2xFLE1BQU0sZ0NBQWdDLEdBQUcsR0FBRyx3QkFBd0IsV0FBVztBQUMvRSxNQUFNLFVBQVUsR0FBRyxHQUFHLGVBQWUsUUFBUTtBQUM3QyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsZUFBZSxlQUFlO0FBQzNELE1BQU0seUJBQXlCLEdBQUcsR0FBRyxpQkFBaUIsV0FBVztBQUNqRSxNQUFNLDBCQUEwQixHQUFHLEdBQUcsaUJBQWlCLFlBQVk7QUFDbkUsTUFBTSxZQUFZLEdBQUcsR0FBRyxlQUFlLFVBQVU7QUFFakQsTUFBTSxTQUFTLEdBQUcsSUFBSSxlQUFlLEVBQUU7QUFDdkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUU7QUFDakMsTUFBTSxLQUFLLEdBQUcsSUFBSSxXQUFXLEVBQUU7QUFDL0IsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLHdCQUF3QixFQUFFO0FBQ3pELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSx3QkFBd0IsRUFBRTtBQUN6RCxNQUFNLElBQUksR0FBRyxJQUFJLFVBQVUsRUFBRTtBQUM3QixNQUFNLFdBQVcsR0FBRyxJQUFJLGlCQUFpQixFQUFFO0FBQzNDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSx5QkFBeUIsRUFBRTtBQUMzRCxNQUFNLG9CQUFvQixHQUFHLElBQUksMEJBQTBCLEVBQUU7QUFDN0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUU7QUFFakMsTUFBTSxjQUFjLEdBQUcsZUFBZTtBQUV0QyxNQUFNLElBQUksR0FBRyxDQUFBLEtBQU0sQ0FBQyxDQUFDOztBQUVyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLGtCQUFrQixHQUFHLENBQUMsRUFBRSxFQUFFLEtBQUssR0FBRyxFQUFFLEtBQUs7RUFDN0MsTUFBTSxlQUFlLEdBQUcsRUFBRTtFQUMxQixlQUFlLENBQUMsS0FBSyxHQUFHLEtBQUs7RUFFN0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxXQUFXLENBQUMsUUFBUSxFQUFFO0lBQ3RDLE9BQU8sRUFBRSxJQUFJO0lBQ2IsVUFBVSxFQUFFLElBQUk7SUFDaEIsTUFBTSxFQUFFO01BQUU7SUFBTTtFQUNsQixDQUFDLENBQUM7RUFDRixlQUFlLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztBQUN0QyxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sa0JBQWtCLEdBQUksRUFBRSxJQUFLO0VBQ2pDLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO0VBRXhDLElBQUksQ0FBQyxVQUFVLEVBQUU7SUFDZixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixTQUFTLEVBQUUsQ0FBQztFQUMxRDtFQUVBLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO0VBQ2pELE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO0VBQy9DLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO0VBQzdDLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO0VBQ2pELE1BQU0sZUFBZSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUM7RUFDckUsTUFBTSxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDO0VBQ3ZFLE1BQU0sZUFBZSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUM7RUFDcEUsTUFBTSxlQUFlLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQztFQUVwRSxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQztFQUMxRSxNQUFNLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEtBQUssTUFBTTtFQUV2RSxPQUFPO0lBQ0wsVUFBVTtJQUNWLFFBQVE7SUFDUixPQUFPO0lBQ1AsTUFBTTtJQUNOLFFBQVE7SUFDUixlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixlQUFlO0lBQ2YsVUFBVTtJQUNWO0VBQ0YsQ0FBQztBQUNILENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sT0FBTyxHQUFJLEVBQUUsSUFBSztFQUN0QixNQUFNO0lBQUUsT0FBTztJQUFFLGVBQWU7SUFBRTtFQUFnQixDQUFDLEdBQUcsa0JBQWtCLENBQUMsRUFBRSxDQUFDO0VBRTVFLGVBQWUsQ0FBQyxNQUFNLEdBQUcsSUFBSTtFQUM3QixlQUFlLENBQUMsUUFBUSxHQUFHLElBQUk7RUFDL0IsZUFBZSxDQUFDLFFBQVEsR0FBRyxJQUFJO0VBQy9CLE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSTtBQUN6QixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLFdBQVcsR0FBSSxFQUFFLElBQUs7RUFDMUIsTUFBTTtJQUFFLE9BQU87SUFBRSxlQUFlO0lBQUU7RUFBZ0IsQ0FBQyxHQUFHLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztFQUU1RSxlQUFlLENBQUMsTUFBTSxHQUFHLElBQUk7RUFDN0IsZUFBZSxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDO0VBQ25ELGVBQWUsQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQztFQUNuRCxPQUFPLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUM7QUFDN0MsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxNQUFNLEdBQUksRUFBRSxJQUFLO0VBQ3JCLE1BQU07SUFBRSxPQUFPO0lBQUUsZUFBZTtJQUFFO0VBQWdCLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7RUFFNUUsZUFBZSxDQUFDLE1BQU0sR0FBRyxLQUFLO0VBQzlCLGVBQWUsQ0FBQyxRQUFRLEdBQUcsS0FBSztFQUNoQyxlQUFlLENBQUMsUUFBUSxHQUFHLEtBQUs7RUFDaEMsT0FBTyxDQUFDLFFBQVEsR0FBRyxLQUFLO0FBQzFCLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sZUFBZSxHQUFJLFdBQVcsSUFBSztFQUN2QyxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztFQUVqRCxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO0VBRWpDLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO0VBRW5ELElBQUksQ0FBQyxRQUFRLEVBQUU7SUFDYixNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsU0FBUywwQkFBMEIsQ0FBQztFQUN6RDtFQUVBLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxFQUFFO0VBQzVCLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsY0FBYyxRQUFRLElBQUksQ0FBQztFQUN0RSxNQUFNLE1BQU0sR0FBRyxHQUFHLFFBQVEsUUFBUTtFQUNsQyxNQUFNLFdBQVcsR0FBRyxHQUFHLFFBQVEsUUFBUTtFQUN2QyxNQUFNLGVBQWUsR0FBRyxHQUFHLFFBQVEsaUJBQWlCO0VBQ3BELE1BQU0sb0JBQW9CLEdBQUcsRUFBRTtFQUMvQixNQUFNO0lBQUU7RUFBYSxDQUFDLEdBQUcsVUFBVSxDQUFDLE9BQU87RUFDM0MsTUFBTTtJQUFFO0VBQVksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxPQUFPO0VBQzFDLElBQUksY0FBYztFQUVsQixJQUFJLFdBQVcsRUFBRTtJQUNmLG9CQUFvQixDQUFDLElBQUksQ0FBQztNQUFFO0lBQVksQ0FBQyxDQUFDO0VBQzVDO0VBRUEsSUFBSSxZQUFZLEVBQUU7SUFDaEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRTtNQUM5RCxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztNQUVwQyxJQUFJLFFBQVEsQ0FBQyxLQUFLLEtBQUssWUFBWSxFQUFFO1FBQ25DLGNBQWMsR0FBRyxRQUFRO1FBQ3pCO01BQ0Y7SUFDRjtFQUNGOztFQUVBO0FBQ0Y7QUFDQTtBQUNBO0VBQ0UsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsY0FBYyxRQUFRLElBQUksQ0FBQyxFQUFFO0lBQ3BFLE1BQU0sSUFBSSxLQUFLLENBQ2IsR0FBRyxTQUFTLFFBQVEsUUFBUSxpREFDOUIsQ0FBQztFQUNILENBQUMsTUFBTTtJQUNMLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQztFQUM3QztFQUVBLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQztFQUMzQyxRQUFRLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7RUFDNUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO0VBQ3ZDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUM7RUFDbkQsUUFBUSxDQUFDLEVBQUUsR0FBRyxFQUFFO0VBQ2hCLFFBQVEsQ0FBQyxLQUFLLEdBQUcsRUFBRTtFQUVuQixDQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxPQUFPLENBQUUsSUFBSSxJQUFLO0lBQzlELElBQUksUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRTtNQUMvQixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztNQUN6QyxvQkFBb0IsQ0FBQyxJQUFJLENBQUM7UUFBRSxDQUFDLElBQUksR0FBRztNQUFNLENBQUMsQ0FBQztNQUM1QyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQztJQUNoQztFQUNGLENBQUMsQ0FBQzs7RUFFRjtFQUNBLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDO0VBQzdDLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQztFQUNsQyxLQUFLLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUM7RUFDdkMsS0FBSyxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDO0VBQzNDLEtBQUssQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsTUFBTSxDQUFDO0VBQy9DLEtBQUssQ0FBQyxZQUFZLENBQUMsa0JBQWtCLEVBQUUsZUFBZSxDQUFDO0VBQ3ZELEtBQUssQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQztFQUM1QyxLQUFLLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQztFQUMzQyxLQUFLLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUM7RUFDekMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDO0VBQ3hDLEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQztFQUNsQyxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUM7RUFDdEMsb0JBQW9CLENBQUMsT0FBTyxDQUFFLElBQUksSUFDaEMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUUsR0FBRyxJQUFLO0lBQ2pDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO0lBQ2hELEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQztFQUNoQyxDQUFDLENBQ0gsQ0FBQztFQUVELFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDO0VBRXBELFVBQVUsQ0FBQyxrQkFBa0IsQ0FDM0IsV0FBVyxFQUNYLFNBQVMsQ0FBQyxVQUFVO0FBQ3hCLG1CQUFtQixnQ0FBZ0M7QUFDbkQsdUNBQXVDLHdCQUF3QjtBQUMvRDtBQUNBLHFCQUFxQiw0QkFBNEI7QUFDakQscUJBQXFCLGdDQUFnQztBQUNyRCxxREFBcUQsd0JBQXdCO0FBQzdFO0FBQ0E7QUFDQTtBQUNBLGNBQWMsTUFBTTtBQUNwQixpQkFBaUIsVUFBVTtBQUMzQjtBQUNBLDJCQUEyQixXQUFXO0FBQ3RDO0FBQ0E7QUFDQSxvQkFBb0IsWUFBWTtBQUNoQyxrQkFBa0IsZUFBZTtBQUNqQztBQUNBO0FBQ0EsY0FDRSxDQUFDO0VBRUQsSUFBSSxjQUFjLEVBQUU7SUFDbEIsTUFBTTtNQUFFO0lBQVEsQ0FBQyxHQUFHLGtCQUFrQixDQUFDLFVBQVUsQ0FBQztJQUNsRCxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLEtBQUssQ0FBQztJQUNsRCxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQztJQUNoRCxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQztFQUNwRDtFQUVBLElBQUksUUFBUSxDQUFDLFFBQVEsRUFBRTtJQUNyQixPQUFPLENBQUMsVUFBVSxDQUFDO0lBQ25CLFFBQVEsQ0FBQyxRQUFRLEdBQUcsS0FBSztFQUMzQjtFQUVBLElBQUksUUFBUSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsRUFBRTtJQUMxQyxXQUFXLENBQUMsVUFBVSxDQUFDO0lBQ3ZCLFFBQVEsQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDO0VBQzNDO0VBRUEsVUFBVSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsTUFBTTtBQUN0QyxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxlQUFlLEdBQUcsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFO0VBQUUsU0FBUztFQUFFO0FBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLO0VBQ3pFLE1BQU07SUFBRSxPQUFPO0lBQUUsTUFBTTtJQUFFO0VBQWdCLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7RUFFbkUsSUFBSSxlQUFlLEVBQUU7SUFDbkIsZUFBZSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMseUJBQXlCLENBQUM7SUFDM0QsZUFBZSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO0VBQ2hEO0VBRUEsSUFBSSxNQUFNLEVBQUU7SUFDVixPQUFPLENBQUMsWUFBWSxDQUFDLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUM7SUFDeEQsTUFBTSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDO0lBQ3BDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDO0lBRS9DLElBQUksQ0FBQyxhQUFhLEVBQUU7TUFDbEIsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWTtNQUMzRCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxZQUFZO01BRTVELElBQUksWUFBWSxHQUFHLGFBQWEsRUFBRTtRQUNoQyxNQUFNLENBQUMsU0FBUyxHQUFHLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWTtNQUN2RDtNQUVBLElBQUksTUFBTSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFO1FBQ3ZDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVM7TUFDckM7SUFDRjtJQUVBLElBQUksQ0FBQyxTQUFTLEVBQUU7TUFDZCxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQUU7TUFBYyxDQUFDLENBQUM7SUFDakM7RUFDRixDQUFDLE1BQU07SUFDTCxPQUFPLENBQUMsWUFBWSxDQUFDLHVCQUF1QixFQUFFLEVBQUUsQ0FBQztJQUNqRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7RUFDakI7QUFDRixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLEdBQUcsRUFBRSxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSztFQUNqRSxNQUFNLFlBQVksR0FBSSxJQUFJLElBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsMEJBQTBCLEVBQUUsTUFBTSxDQUFDO0VBRWxELElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSztJQUNqRCxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckIsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQztJQUMvQixJQUFJLEdBQUcsS0FBSyxPQUFPLElBQUksV0FBVyxFQUFFO01BQ2xDLE1BQU0sT0FBTyxHQUFHLElBQUksTUFBTSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUM7TUFDNUMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7TUFFcEMsSUFBSSxPQUFPLEVBQUU7UUFDWCxPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7TUFDakM7TUFFQSxPQUFPLEVBQUU7SUFDWDtJQUNBLE9BQU8sWUFBWSxDQUFDLEtBQUssQ0FBQztFQUM1QixDQUFDLENBQUM7RUFFRixJQUFJLEdBQUcsT0FBTyxJQUFJLElBQUk7RUFFdEIsT0FBTyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQzlCLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sV0FBVyxHQUFJLEVBQUUsSUFBSztFQUMxQixNQUFNO0lBQ0osVUFBVTtJQUNWLFFBQVE7SUFDUixPQUFPO0lBQ1AsTUFBTTtJQUNOLFFBQVE7SUFDUixVQUFVO0lBQ1Y7RUFDRixDQUFDLEdBQUcsa0JBQWtCLENBQUMsRUFBRSxDQUFDO0VBQzFCLElBQUksY0FBYztFQUNsQixJQUFJLFlBQVk7RUFFaEIsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLE1BQU0sQ0FBQyxFQUFFLFdBQVc7RUFFaEQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQztFQUN0RCxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxjQUFjO0VBQzFELE1BQU0sS0FBSyxHQUFHLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQztFQUUzRSxNQUFNLE9BQU8sR0FBRyxFQUFFO0VBQ2xCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUU7SUFDOUQsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDcEMsTUFBTSxRQUFRLEdBQUcsR0FBRyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFO0lBRXZELElBQ0UsUUFBUSxDQUFDLEtBQUssS0FDYixnQkFBZ0IsSUFDZixVQUFVLElBQ1YsQ0FBQyxVQUFVLElBQ1gsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDNUI7TUFDQSxJQUFJLFFBQVEsQ0FBQyxLQUFLLElBQUksUUFBUSxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUMsS0FBSyxFQUFFO1FBQ3ZELGNBQWMsR0FBRyxRQUFRO01BQzNCO01BRUEsSUFBSSxnQkFBZ0IsSUFBSSxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNsRSxZQUFZLEdBQUcsUUFBUTtNQUN6QjtNQUNBLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3hCO0VBQ0Y7RUFFQSxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsTUFBTTtFQUNqQyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssS0FBSztJQUNoRCxNQUFNLFFBQVEsR0FBRyxHQUFHLGdCQUFnQixHQUFHLEtBQUssRUFBRTtJQUM5QyxNQUFNLE9BQU8sR0FBRyxDQUFDLGlCQUFpQixDQUFDO0lBQ25DLElBQUksUUFBUSxHQUFHLElBQUk7SUFDbkIsSUFBSSxZQUFZLEdBQUcsT0FBTztJQUUxQixJQUFJLFFBQVEsS0FBSyxjQUFjLEVBQUU7TUFDL0IsT0FBTyxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRSx5QkFBeUIsQ0FBQztNQUNuRSxRQUFRLEdBQUcsR0FBRztNQUNkLFlBQVksR0FBRyxNQUFNO0lBQ3ZCO0lBRUEsSUFBSSxDQUFDLGNBQWMsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFO01BQ2xDLE9BQU8sQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUM7TUFDdkMsUUFBUSxHQUFHLEdBQUc7SUFDaEI7SUFFQSxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztJQUV2QyxFQUFFLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQy9DLEVBQUUsQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDM0MsRUFBRSxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsWUFBWSxDQUFDO0lBQzlDLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQztJQUMvQixFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNDLEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQztJQUNyQyxFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUM7SUFDakMsRUFBRSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUMzQyxFQUFFLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJO0lBRTVCLE9BQU8sRUFBRTtFQUNYLENBQUMsQ0FBQztFQUVGLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO0VBQzlDLFNBQVMsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLEdBQUcsaUJBQWlCLGNBQWMsQ0FBQztFQUNuRSxTQUFTLENBQUMsV0FBVyxHQUFHLGtCQUFrQjtFQUUxQyxNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUs7RUFFckIsSUFBSSxVQUFVLEVBQUU7SUFDZCxNQUFNLENBQUMsU0FBUyxHQUFHLEVBQUU7SUFDckIsVUFBVSxDQUFDLE9BQU8sQ0FBRSxJQUFJLElBQ3RCLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUNoRCxDQUFDO0VBQ0gsQ0FBQyxNQUFNO0lBQ0wsTUFBTSxDQUFDLFNBQVMsR0FBRyxFQUFFO0lBQ3JCLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDO0VBQ3REO0VBRUEsT0FBTyxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDO0VBRTdDLFFBQVEsQ0FBQyxXQUFXLEdBQUcsVUFBVSxHQUM3QixHQUFHLFVBQVUsVUFBVSxVQUFVLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLGFBQWEsR0FDN0QsYUFBYTtFQUVqQixJQUFJLFdBQVc7RUFFZixJQUFJLFVBQVUsSUFBSSxjQUFjLEVBQUU7SUFDaEMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxjQUFjLEVBQUUsQ0FBQztFQUMxRCxDQUFDLE1BQU0sSUFBSSxnQkFBZ0IsSUFBSSxZQUFZLEVBQUU7SUFDM0MsV0FBVyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztFQUN4RDtFQUVBLElBQUksV0FBVyxFQUFFO0lBQ2YsZUFBZSxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUU7TUFDbkMsU0FBUyxFQUFFO0lBQ2IsQ0FBQyxDQUFDO0VBQ0o7QUFDRixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLFFBQVEsR0FBSSxFQUFFLElBQUs7RUFDdkIsTUFBTTtJQUFFLE9BQU87SUFBRSxNQUFNO0lBQUUsUUFBUTtJQUFFO0VBQWdCLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7RUFFN0UsUUFBUSxDQUFDLFNBQVMsR0FBRyxFQUFFO0VBRXZCLE9BQU8sQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQztFQUM5QyxPQUFPLENBQUMsWUFBWSxDQUFDLHVCQUF1QixFQUFFLEVBQUUsQ0FBQztFQUVqRCxJQUFJLGVBQWUsRUFBRTtJQUNuQixlQUFlLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQztFQUM3RDtFQUVBLE1BQU0sQ0FBQyxTQUFTLEdBQUcsQ0FBQztFQUNwQixNQUFNLENBQUMsTUFBTSxHQUFHLElBQUk7QUFDdEIsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxVQUFVLEdBQUksWUFBWSxJQUFLO0VBQ25DLE1BQU07SUFBRSxVQUFVO0lBQUUsUUFBUTtJQUFFO0VBQVEsQ0FBQyxHQUFHLGtCQUFrQixDQUFDLFlBQVksQ0FBQztFQUUxRSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7RUFDeEQsa0JBQWtCLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxXQUFXLENBQUM7RUFDckQsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUM7RUFDbEQsUUFBUSxDQUFDLFVBQVUsQ0FBQztFQUNwQixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDakIsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxVQUFVLEdBQUksYUFBYSxJQUFLO0VBQ3BDLE1BQU07SUFBRSxVQUFVO0lBQUUsTUFBTTtJQUFFLFFBQVE7SUFBRTtFQUFRLENBQUMsR0FDN0Msa0JBQWtCLENBQUMsYUFBYSxDQUFDO0VBQ25DLE1BQU0sU0FBUyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU07RUFFaEMsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLGtCQUFrQixDQUFDLFFBQVEsQ0FBQztFQUNoRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLENBQUMsT0FBTyxDQUFDO0VBQzlDLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLHdCQUF3QixDQUFDO0VBRXJELElBQUksU0FBUyxFQUFFLFdBQVcsQ0FBQyxVQUFVLENBQUM7RUFDdEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2pCLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sY0FBYyxHQUFJLEVBQUUsSUFBSztFQUM3QixNQUFNO0lBQUUsVUFBVTtJQUFFLFFBQVE7SUFBRTtFQUFRLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7RUFFaEUsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLEtBQUs7RUFDbEMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQztFQUV0RCxJQUFJLFdBQVcsRUFBRTtJQUNmLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUU7TUFDOUQsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7TUFDcEMsSUFBSSxRQUFRLENBQUMsS0FBSyxLQUFLLFdBQVcsRUFBRTtRQUNsQyxJQUFJLFVBQVUsS0FBSyxRQUFRLENBQUMsSUFBSSxFQUFFO1VBQ2hDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQzVDO1FBQ0EsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUM7UUFDbEQ7TUFDRjtJQUNGO0VBQ0Y7RUFFQSxJQUFJLFVBQVUsRUFBRTtJQUNkLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztFQUM3QjtBQUNGLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0saUJBQWlCLEdBQUksRUFBRSxJQUFLO0VBQ2hDLE1BQU07SUFBRSxVQUFVO0lBQUUsUUFBUTtJQUFFLE9BQU87SUFBRTtFQUFTLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7RUFFMUUsUUFBUSxDQUFDLFdBQVcsR0FBRyxFQUFFO0VBRXpCLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUM7RUFFdEQsSUFBSSxVQUFVLEVBQUU7SUFDZCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFO01BQzlELE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO01BQ3BDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLFVBQVUsRUFBRTtRQUM5QyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUM1QyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQztRQUMxQyxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQztRQUNsRDtNQUNGO0lBQ0Y7RUFDRjtFQUVBLGNBQWMsQ0FBQyxVQUFVLENBQUM7QUFDNUIsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxZQUFZLEdBQUksS0FBSyxJQUFLO0VBQzlCLE1BQU07SUFBRSxVQUFVO0lBQUU7RUFBUSxDQUFDLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztFQUVoRSxRQUFRLENBQUMsVUFBVSxDQUFDO0VBQ3BCLGNBQWMsQ0FBQyxVQUFVLENBQUM7RUFDMUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2pCLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sbUJBQW1CLEdBQUksS0FBSyxJQUFLO0VBQ3JDLE1BQU07SUFBRSxVQUFVO0lBQUU7RUFBTyxDQUFDLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztFQUUvRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7SUFDakIsV0FBVyxDQUFDLFVBQVUsQ0FBQztFQUN6QjtFQUVBLE1BQU0sWUFBWSxHQUNoQixNQUFNLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLElBQ3pDLE1BQU0sQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO0VBRW5DLElBQUksWUFBWSxFQUFFO0lBQ2hCLGVBQWUsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDO0VBQzNDO0VBRUEsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQ3hCLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sb0JBQW9CLEdBQUksS0FBSyxJQUFLO0VBQ3RDLE1BQU07SUFBRSxVQUFVO0lBQUU7RUFBTyxDQUFDLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztFQUMvRCxNQUFNLFNBQVMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNO0VBRWhDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztFQUU3QixJQUFJLFNBQVMsRUFBRTtJQUNiLFFBQVEsQ0FBQyxVQUFVLENBQUM7RUFDdEI7RUFFQSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDeEIsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSx3QkFBd0IsR0FBSSxLQUFLLElBQUs7RUFDMUMsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLE1BQU07RUFDcEMsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLFdBQVc7RUFFaEQsSUFBSSxZQUFZLEVBQUU7SUFDaEIsZUFBZSxDQUFDLGVBQWUsRUFBRSxZQUFZLENBQUM7RUFDaEQ7RUFFQSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDeEIsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSx5QkFBeUIsR0FBSSxLQUFLLElBQUs7RUFDM0MsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7RUFDeEIsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQ3hCLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0seUJBQXlCLEdBQUksS0FBSyxJQUFLO0VBQzNDLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0VBQ3hCLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUN4QixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLHNCQUFzQixHQUFJLEtBQUssSUFBSztFQUN4QyxNQUFNO0lBQUUsVUFBVTtJQUFFLE1BQU07SUFBRTtFQUFnQixDQUFDLEdBQUcsa0JBQWtCLENBQ2hFLEtBQUssQ0FBQyxNQUNSLENBQUM7RUFDRCxNQUFNLFlBQVksR0FBRyxlQUFlLElBQUksZUFBZSxDQUFDLGVBQWU7RUFDdkUsTUFBTSxTQUFTLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTTtFQUVoQyxlQUFlLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQztFQUV6QyxJQUFJLFNBQVMsRUFBRTtJQUNiLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztFQUN4QjtFQUVBLElBQUksQ0FBQyxZQUFZLEVBQUU7SUFDakIsUUFBUSxDQUFDLFVBQVUsQ0FBQztFQUN0QjtBQUNGLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxlQUFlLEdBQUksWUFBWSxJQUFLO0VBQ3hDLE1BQU0sa0JBQWtCLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQ3hELHlCQUNGLENBQUM7RUFFRCxJQUFJLGtCQUFrQixFQUFFO0VBRXhCLGVBQWUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFO0lBQzFDLGFBQWEsRUFBRTtFQUNqQixDQUFDLENBQUM7QUFDSixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLFVBQVUsR0FBSSxFQUFFLElBQUs7RUFDekIsTUFBTTtJQUFFLFVBQVU7SUFBRSxNQUFNO0lBQUU7RUFBUSxDQUFDLEdBQUcsa0JBQWtCLENBQUMsRUFBRSxDQUFDO0VBRTlELElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRTtJQUNqQixXQUFXLENBQUMsVUFBVSxDQUFDO0VBQ3pCLENBQUMsTUFBTTtJQUNMLFFBQVEsQ0FBQyxVQUFVLENBQUM7RUFDdEI7RUFFQSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDakIsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxvQkFBb0IsR0FBSSxFQUFFLElBQUs7RUFDbkMsTUFBTTtJQUFFLFVBQVU7SUFBRTtFQUFPLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7RUFFckQsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO0lBQ2pCLFdBQVcsQ0FBQyxVQUFVLENBQUM7RUFDekI7QUFDRixDQUFDO0FBRUQsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUN2QjtFQUNFLENBQUMsS0FBSyxHQUFHO0lBQ1AsQ0FBQyxLQUFLLElBQUk7TUFDUixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7TUFDbkIsb0JBQW9CLENBQUMsSUFBSSxDQUFDO0lBQzVCLENBQUM7SUFDRCxDQUFDLGtCQUFrQixJQUFJO01BQ3JCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtNQUNuQixVQUFVLENBQUMsSUFBSSxDQUFDO0lBQ2xCLENBQUM7SUFDRCxDQUFDLFdBQVcsSUFBSTtNQUNkLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtNQUNuQixVQUFVLENBQUMsSUFBSSxDQUFDO0lBQ2xCLENBQUM7SUFDRCxDQUFDLGtCQUFrQixJQUFJO01BQ3JCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtNQUNuQixVQUFVLENBQUMsSUFBSSxDQUFDO0lBQ2xCO0VBQ0YsQ0FBQztFQUNELFFBQVEsRUFBRTtJQUNSLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRTtNQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEVBQUU7UUFDdkMsY0FBYyxDQUFDLElBQUksQ0FBQztRQUNwQixRQUFRLENBQUMsSUFBSSxDQUFDO01BQ2hCO0lBQ0Y7RUFDRixDQUFDO0VBQ0QsT0FBTyxFQUFFO0lBQ1AsQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDO01BQ2xCLE1BQU0sRUFBRTtJQUNWLENBQUMsQ0FBQztJQUNGLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztNQUNkLEtBQUssRUFBRSxvQkFBb0I7TUFDM0IsU0FBUyxFQUFFLG1CQUFtQjtNQUM5QixJQUFJLEVBQUU7SUFDUixDQUFDLENBQUM7SUFDRixDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUM7TUFDcEIsT0FBTyxFQUFFLHNCQUFzQjtNQUMvQixFQUFFLEVBQUUsc0JBQXNCO01BQzFCLFNBQVMsRUFBRSx3QkFBd0I7TUFDbkMsSUFBSSxFQUFFLHdCQUF3QjtNQUM5QixLQUFLLEVBQUUseUJBQXlCO01BQ2hDLEdBQUcsRUFBRSx5QkFBeUI7TUFDOUIsV0FBVyxFQUFFO0lBQ2YsQ0FBQztFQUNILENBQUM7RUFDRCxLQUFLLEVBQUU7SUFDTCxDQUFDLEtBQUssSUFBSTtNQUNSLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO01BQzFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLHdCQUF3QixDQUFDO01BQ3JELFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFDbkI7RUFDRixDQUFDO0VBQ0QsU0FBUyxFQUFFO0lBQ1QsQ0FBQyxXQUFXLElBQUk7TUFDZCxlQUFlLENBQUMsSUFBSSxDQUFDO0lBQ3ZCO0VBQ0Y7QUFDRixDQUFDLEVBQ0Q7RUFDRSxJQUFJLENBQUMsSUFBSSxFQUFFO0lBQ1QsZUFBZSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUUsVUFBVSxJQUFLO01BQ3ZELGVBQWUsQ0FBQyxVQUFVLENBQUM7SUFDN0IsQ0FBQyxDQUFDO0VBQ0osQ0FBQztFQUNELGtCQUFrQjtFQUNsQixlQUFlO0VBQ2YscUJBQXFCO0VBQ3JCLE9BQU87RUFDUCxNQUFNO0VBQ04sV0FBVztFQUNYLFFBQVE7RUFDUjtBQUNGLENBQ0YsQ0FBQztBQUVELE1BQU0sQ0FBQyxPQUFPLEdBQUcsUUFBUTs7Ozs7QUNsMEJ6QixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUM7QUFDekMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLHdDQUF3QyxDQUFDO0FBQ2xFLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQztBQUM5RCxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsaURBQWlELENBQUM7QUFDbEYsTUFBTTtFQUFFLE1BQU0sRUFBRTtBQUFPLENBQUMsR0FBRyxPQUFPLENBQUMsZ0NBQWdDLENBQUM7QUFDcEUsTUFBTTtFQUFFO0FBQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQztBQUMzRCxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsOENBQThDLENBQUM7QUFDN0UsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLDZDQUE2QyxDQUFDO0FBQzFFLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyx5Q0FBeUMsQ0FBQztBQUVwRSxNQUFNLGlCQUFpQixHQUFHLEdBQUcsTUFBTSxjQUFjO0FBQ2pELE1BQU0seUJBQXlCLEdBQUcsR0FBRyxpQkFBaUIsV0FBVztBQUNqRSxNQUFNLDZCQUE2QixHQUFHLEdBQUcsaUJBQWlCLGVBQWU7QUFDekUsTUFBTSx3QkFBd0IsR0FBRyxHQUFHLGlCQUFpQixVQUFVO0FBQy9ELE1BQU0sZ0NBQWdDLEdBQUcsR0FBRyxpQkFBaUIsa0JBQWtCO0FBQy9FLE1BQU0sZ0NBQWdDLEdBQUcsR0FBRyxpQkFBaUIsa0JBQWtCO0FBQy9FLE1BQU0sd0JBQXdCLEdBQUcsR0FBRyxpQkFBaUIsVUFBVTtBQUMvRCxNQUFNLDBCQUEwQixHQUFHLEdBQUcsaUJBQWlCLFlBQVk7QUFDbkUsTUFBTSx3QkFBd0IsR0FBRyxHQUFHLGlCQUFpQixVQUFVO0FBQy9ELE1BQU0sbUJBQW1CLEdBQUcsR0FBRywwQkFBMEIsUUFBUTtBQUVqRSxNQUFNLDJCQUEyQixHQUFHLEdBQUcsbUJBQW1CLFdBQVc7QUFDckUsTUFBTSw0QkFBNEIsR0FBRyxHQUFHLG1CQUFtQixZQUFZO0FBQ3ZFLE1BQU0sa0NBQWtDLEdBQUcsR0FBRyxtQkFBbUIsa0JBQWtCO0FBQ25GLE1BQU0saUNBQWlDLEdBQUcsR0FBRyxtQkFBbUIsaUJBQWlCO0FBQ2pGLE1BQU0sOEJBQThCLEdBQUcsR0FBRyxtQkFBbUIsY0FBYztBQUMzRSxNQUFNLDhCQUE4QixHQUFHLEdBQUcsbUJBQW1CLGNBQWM7QUFDM0UsTUFBTSx5QkFBeUIsR0FBRyxHQUFHLG1CQUFtQixTQUFTO0FBQ2pFLE1BQU0sb0NBQW9DLEdBQUcsR0FBRyxtQkFBbUIsb0JBQW9CO0FBQ3ZGLE1BQU0sa0NBQWtDLEdBQUcsR0FBRyxtQkFBbUIsa0JBQWtCO0FBQ25GLE1BQU0sZ0NBQWdDLEdBQUcsR0FBRyxtQkFBbUIsZ0JBQWdCO0FBQy9FLE1BQU0sNEJBQTRCLEdBQUcsR0FBRywwQkFBMEIsaUJBQWlCO0FBQ25GLE1BQU0sNkJBQTZCLEdBQUcsR0FBRywwQkFBMEIsa0JBQWtCO0FBQ3JGLE1BQU0sd0JBQXdCLEdBQUcsR0FBRywwQkFBMEIsYUFBYTtBQUMzRSxNQUFNLHlCQUF5QixHQUFHLEdBQUcsMEJBQTBCLGNBQWM7QUFDN0UsTUFBTSw4QkFBOEIsR0FBRyxHQUFHLDBCQUEwQixtQkFBbUI7QUFDdkYsTUFBTSw2QkFBNkIsR0FBRyxHQUFHLDBCQUEwQixrQkFBa0I7QUFDckYsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLDBCQUEwQixTQUFTO0FBQ25FLE1BQU0sNEJBQTRCLEdBQUcsR0FBRyxvQkFBb0IsV0FBVztBQUN2RSxNQUFNLDZCQUE2QixHQUFHLEdBQUcsb0JBQW9CLFlBQVk7QUFDekUsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLDBCQUEwQixRQUFRO0FBQ2pFLE1BQU0sMkJBQTJCLEdBQUcsR0FBRyxtQkFBbUIsV0FBVztBQUNyRSxNQUFNLDRCQUE0QixHQUFHLEdBQUcsbUJBQW1CLFlBQVk7QUFDdkUsTUFBTSxrQ0FBa0MsR0FBRyxHQUFHLDBCQUEwQix1QkFBdUI7QUFDL0YsTUFBTSw4QkFBOEIsR0FBRyxHQUFHLDBCQUEwQixtQkFBbUI7QUFDdkYsTUFBTSwwQkFBMEIsR0FBRyxHQUFHLDBCQUEwQixlQUFlO0FBQy9FLE1BQU0sMkJBQTJCLEdBQUcsR0FBRywwQkFBMEIsZ0JBQWdCO0FBQ2pGLE1BQU0sMEJBQTBCLEdBQUcsR0FBRywwQkFBMEIsZUFBZTtBQUMvRSxNQUFNLG9CQUFvQixHQUFHLEdBQUcsMEJBQTBCLFNBQVM7QUFDbkUsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLDBCQUEwQixPQUFPO0FBQy9ELE1BQU0sbUJBQW1CLEdBQUcsR0FBRywwQkFBMEIsUUFBUTtBQUNqRSxNQUFNLGdDQUFnQyxHQUFHLEdBQUcsbUJBQW1CLGdCQUFnQjtBQUMvRSxNQUFNLDBCQUEwQixHQUFHLEdBQUcsMEJBQTBCLGVBQWU7QUFDL0UsTUFBTSwwQkFBMEIsR0FBRyxHQUFHLDBCQUEwQixlQUFlO0FBRS9FLE1BQU0sV0FBVyxHQUFHLElBQUksaUJBQWlCLEVBQUU7QUFDM0MsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLHdCQUF3QixFQUFFO0FBQ3pELE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxnQ0FBZ0MsRUFBRTtBQUN6RSxNQUFNLDBCQUEwQixHQUFHLElBQUksZ0NBQWdDLEVBQUU7QUFDekUsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLDBCQUEwQixFQUFFO0FBQzdELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSx3QkFBd0IsRUFBRTtBQUN6RCxNQUFNLGFBQWEsR0FBRyxJQUFJLG1CQUFtQixFQUFFO0FBQy9DLE1BQU0scUJBQXFCLEdBQUcsSUFBSSwyQkFBMkIsRUFBRTtBQUMvRCxNQUFNLDJCQUEyQixHQUFHLElBQUksaUNBQWlDLEVBQUU7QUFDM0UsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLDRCQUE0QixFQUFFO0FBQ2pFLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSw2QkFBNkIsRUFBRTtBQUNuRSxNQUFNLGtCQUFrQixHQUFHLElBQUksd0JBQXdCLEVBQUU7QUFDekQsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLHlCQUF5QixFQUFFO0FBQzNELE1BQU0sdUJBQXVCLEdBQUcsSUFBSSw2QkFBNkIsRUFBRTtBQUNuRSxNQUFNLHdCQUF3QixHQUFHLElBQUksOEJBQThCLEVBQUU7QUFDckUsTUFBTSxjQUFjLEdBQUcsSUFBSSxvQkFBb0IsRUFBRTtBQUNqRCxNQUFNLGFBQWEsR0FBRyxJQUFJLG1CQUFtQixFQUFFO0FBQy9DLE1BQU0sNEJBQTRCLEdBQUcsSUFBSSxrQ0FBa0MsRUFBRTtBQUM3RSxNQUFNLHdCQUF3QixHQUFHLElBQUksOEJBQThCLEVBQUU7QUFDckUsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLDBCQUEwQixFQUFFO0FBQzdELE1BQU0scUJBQXFCLEdBQUcsSUFBSSwyQkFBMkIsRUFBRTtBQUMvRCxNQUFNLG9CQUFvQixHQUFHLElBQUksMEJBQTBCLEVBQUU7QUFDN0QsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLDRCQUE0QixFQUFFO0FBQ2pFLE1BQU0scUJBQXFCLEdBQUcsSUFBSSwyQkFBMkIsRUFBRTtBQUUvRCxNQUFNLGtCQUFrQixHQUFHLDJCQUEyQjtBQUV0RCxNQUFNLFlBQVksR0FBRyxDQUNuQixTQUFTLEVBQ1QsVUFBVSxFQUNWLE9BQU8sRUFDUCxPQUFPLEVBQ1AsS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sUUFBUSxFQUNSLFdBQVcsRUFDWCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsQ0FDWDtBQUVELE1BQU0sa0JBQWtCLEdBQUcsQ0FDekIsUUFBUSxFQUNSLFFBQVEsRUFDUixTQUFTLEVBQ1QsV0FBVyxFQUNYLFVBQVUsRUFDVixRQUFRLEVBQ1IsVUFBVSxDQUNYO0FBRUQsTUFBTSxhQUFhLEdBQUcsRUFBRTtBQUV4QixNQUFNLFVBQVUsR0FBRyxFQUFFO0FBRXJCLE1BQU0sZ0JBQWdCLEdBQUcsWUFBWTtBQUNyQyxNQUFNLDRCQUE0QixHQUFHLFlBQVk7QUFDakQsTUFBTSxvQkFBb0IsR0FBRyxZQUFZO0FBRXpDLE1BQU0scUJBQXFCLEdBQUcsa0JBQWtCO0FBRWhELE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxHQUFHLFNBQVMsS0FDN0MsU0FBUyxDQUFDLEdBQUcsQ0FBRSxLQUFLLElBQUssS0FBSyxHQUFHLHFCQUFxQixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztBQUVwRSxNQUFNLHFCQUFxQixHQUFHLHlCQUF5QixDQUNyRCxzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDeEIsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixxQkFDRixDQUFDO0FBRUQsTUFBTSxzQkFBc0IsR0FBRyx5QkFBeUIsQ0FDdEQsc0JBQ0YsQ0FBQztBQUVELE1BQU0scUJBQXFCLEdBQUcseUJBQXlCLENBQ3JELDRCQUE0QixFQUM1Qix3QkFBd0IsRUFDeEIscUJBQ0YsQ0FBQzs7QUFFRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxXQUFXLEVBQUUsS0FBSyxLQUFLO0VBQ2xELElBQUksS0FBSyxLQUFLLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFO0lBQ3BDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0VBQ3hCO0VBRUEsT0FBTyxXQUFXO0FBQ3BCLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sT0FBTyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEtBQUs7RUFDckMsTUFBTSxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO0VBQzNCLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUM7RUFDdEMsT0FBTyxPQUFPO0FBQ2hCLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sS0FBSyxHQUFHLENBQUEsS0FBTTtFQUNsQixNQUFNLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDO0VBQzFCLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztFQUM3QixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7RUFDaEMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0VBQ2xDLE9BQU8sT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ2xDLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxZQUFZLEdBQUksSUFBSSxJQUFLO0VBQzdCLE1BQU0sT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztFQUMzQixPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztFQUMzRCxPQUFPLE9BQU87QUFDaEIsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLGNBQWMsR0FBSSxJQUFJLElBQUs7RUFDL0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO0VBQzNCLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztFQUMvRCxPQUFPLE9BQU87QUFDaEIsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sS0FBSztFQUNsQyxNQUFNLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztFQUN6QyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQztFQUM1QyxPQUFPLE9BQU87QUFDaEIsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sS0FBSyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDOztBQUU1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsS0FBSyxPQUFPLENBQUMsS0FBSyxFQUFFLFFBQVEsR0FBRyxDQUFDLENBQUM7O0FBRWxFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxLQUFLLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLENBQUM7O0FBRWhFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sV0FBVyxHQUFJLEtBQUssSUFBSztFQUM3QixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7RUFDaEMsT0FBTyxPQUFPLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQztBQUNsQyxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxTQUFTLEdBQUksS0FBSyxJQUFLO0VBQzNCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztFQUNoQyxPQUFPLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztBQUN0QyxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxTQUFTLEdBQUcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxLQUFLO0VBQ3RDLE1BQU0sT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0VBRXpDLE1BQU0sU0FBUyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLFNBQVMsSUFBSSxFQUFFO0VBQzVELE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDO0VBQ2hELG1CQUFtQixDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUM7RUFFdkMsT0FBTyxPQUFPO0FBQ2hCLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQUssRUFBRSxTQUFTLEtBQUssU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQzs7QUFFcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQUssRUFBRSxRQUFRLEtBQUssU0FBUyxDQUFDLEtBQUssRUFBRSxRQUFRLEdBQUcsRUFBRSxDQUFDOztBQUVyRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsS0FBSyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxDQUFDOztBQUVoRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssS0FBSztFQUNqQyxNQUFNLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztFQUV6QyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztFQUN2QixtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDO0VBRW5DLE9BQU8sT0FBTztBQUNoQixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxLQUFLO0VBQy9CLE1BQU0sT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0VBRXpDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztFQUNoQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztFQUN6QixtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDO0VBRW5DLE9BQU8sT0FBTztBQUNoQixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxLQUFLO0VBQzVCLElBQUksT0FBTyxHQUFHLEtBQUs7RUFFbkIsSUFBSSxLQUFLLEdBQUcsS0FBSyxFQUFFO0lBQ2pCLE9BQU8sR0FBRyxLQUFLO0VBQ2pCO0VBRUEsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUNwQyxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxLQUFLO0VBQzVCLElBQUksT0FBTyxHQUFHLEtBQUs7RUFFbkIsSUFBSSxLQUFLLEdBQUcsS0FBSyxFQUFFO0lBQ2pCLE9BQU8sR0FBRyxLQUFLO0VBQ2pCO0VBRUEsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUNwQyxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxLQUM5QixLQUFLLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQzs7QUFFL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLFdBQVcsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLEtBQy9CLFVBQVUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDOztBQUVuRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssS0FDN0IsV0FBVyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7O0FBRWxFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLHdCQUF3QixHQUFHLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEtBQUs7RUFDM0QsSUFBSSxPQUFPLEdBQUcsSUFBSTtFQUVsQixJQUFJLElBQUksR0FBRyxPQUFPLEVBQUU7SUFDbEIsT0FBTyxHQUFHLE9BQU87RUFDbkIsQ0FBQyxNQUFNLElBQUksT0FBTyxJQUFJLElBQUksR0FBRyxPQUFPLEVBQUU7SUFDcEMsT0FBTyxHQUFHLE9BQU87RUFDbkI7RUFFQSxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQ3BDLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sS0FDbkQsSUFBSSxJQUFJLE9BQU8sS0FBSyxDQUFDLE9BQU8sSUFBSSxJQUFJLElBQUksT0FBTyxDQUFDOztBQUVsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxLQUN6RCxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxJQUFLLE9BQU8sSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBUTs7QUFFN0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sS0FDeEQsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxPQUFPLElBQzNDLE9BQU8sSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQVE7O0FBRXhEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLGVBQWUsR0FBRyxDQUN0QixVQUFVLEVBQ1YsVUFBVSxHQUFHLG9CQUFvQixFQUNqQyxVQUFVLEdBQUcsS0FBSyxLQUNmO0VBQ0gsSUFBSSxJQUFJO0VBQ1IsSUFBSSxLQUFLO0VBQ1QsSUFBSSxHQUFHO0VBQ1AsSUFBSSxJQUFJO0VBQ1IsSUFBSSxNQUFNO0VBRVYsSUFBSSxVQUFVLEVBQUU7SUFDZCxJQUFJLFFBQVE7SUFDWixJQUFJLE1BQU07SUFDVixJQUFJLE9BQU87SUFFWCxJQUFJLFVBQVUsS0FBSyw0QkFBNEIsRUFBRTtNQUMvQyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDckQsQ0FBQyxNQUFNO01BQ0wsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3JEO0lBRUEsSUFBSSxPQUFPLEVBQUU7TUFDWCxNQUFNLEdBQUcsUUFBUSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7TUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDekIsSUFBSSxHQUFHLE1BQU07UUFDYixJQUFJLFVBQVUsRUFBRTtVQUNkLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUM7VUFDeEIsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN0QixNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sZUFBZSxHQUNuQixXQUFXLEdBQUksV0FBVyxHQUFHLEVBQUUsSUFBSSxPQUFPLENBQUMsTUFBTztZQUNwRCxJQUFJLEdBQUcsZUFBZSxHQUFHLE1BQU07VUFDakM7UUFDRjtNQUNGO0lBQ0Y7SUFFQSxJQUFJLFFBQVEsRUFBRTtNQUNaLE1BQU0sR0FBRyxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztNQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUN6QixLQUFLLEdBQUcsTUFBTTtRQUNkLElBQUksVUFBVSxFQUFFO1VBQ2QsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQztVQUMxQixLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDO1FBQzdCO01BQ0Y7SUFDRjtJQUVBLElBQUksS0FBSyxJQUFJLE1BQU0sSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFO01BQ25DLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztNQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUN6QixHQUFHLEdBQUcsTUFBTTtRQUNaLElBQUksVUFBVSxFQUFFO1VBQ2QsTUFBTSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztVQUMzRCxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDO1VBQ3RCLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLEdBQUcsQ0FBQztRQUN4QztNQUNGO0lBQ0Y7SUFFQSxJQUFJLEtBQUssSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtNQUNoQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQztJQUN0QztFQUNGO0VBRUEsT0FBTyxJQUFJO0FBQ2IsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sVUFBVSxHQUFHLENBQUMsSUFBSSxFQUFFLFVBQVUsR0FBRyxvQkFBb0IsS0FBSztFQUM5RCxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLEtBQUssT0FBTyxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUM7RUFFakUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQztFQUNqQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7RUFDMUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0VBRS9CLElBQUksVUFBVSxLQUFLLDRCQUE0QixFQUFFO0lBQy9DLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7RUFDNUU7RUFFQSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO0FBQzVFLENBQUM7O0FBRUQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLGNBQWMsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLEtBQUs7RUFDN0MsTUFBTSxJQUFJLEdBQUcsRUFBRTtFQUNmLElBQUksR0FBRyxHQUFHLEVBQUU7RUFFWixJQUFJLENBQUMsR0FBRyxDQUFDO0VBQ1QsT0FBTyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRTtJQUMzQixHQUFHLEdBQUcsRUFBRTtJQUVSLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO0lBQ3ZDLE9BQU8sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxPQUFPLEVBQUU7TUFDbkQsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7TUFDdkMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7TUFDbkQsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7TUFDWixDQUFDLElBQUksQ0FBQztJQUNSO0lBRUEsR0FBRyxDQUFDLE9BQU8sQ0FBRSxPQUFPLElBQUs7TUFDdkIsRUFBRSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUM7SUFDaEQsQ0FBQyxDQUFDO0lBRUYsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7RUFDZjtFQUVBLE9BQU8sSUFBSTtBQUNiLENBQUM7QUFFRCxNQUFNLGVBQWUsR0FBSSxJQUFJLElBQUs7RUFDaEMsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUM7RUFDakQsSUFBSSxDQUFDLE9BQU8sQ0FBRSxPQUFPLElBQUs7SUFDeEIsU0FBUyxDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUM7RUFDdkQsQ0FBQyxDQUFDO0VBRUYsT0FBTyxTQUFTO0FBQ2xCLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEVBQUUsRUFBRSxLQUFLLEdBQUcsRUFBRSxLQUFLO0VBQzdDLE1BQU0sZUFBZSxHQUFHLEVBQUU7RUFDMUIsZUFBZSxDQUFDLEtBQUssR0FBRyxLQUFLO0VBRTdCLE1BQU0sS0FBSyxHQUFHLElBQUksV0FBVyxDQUFDLFFBQVEsRUFBRTtJQUN0QyxPQUFPLEVBQUUsSUFBSTtJQUNiLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLE1BQU0sRUFBRTtNQUFFO0lBQU07RUFDbEIsQ0FBQyxDQUFDO0VBQ0YsZUFBZSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7QUFDdEMsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sb0JBQW9CLEdBQUksRUFBRSxJQUFLO0VBQ25DLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO0VBRTVDLElBQUksQ0FBQyxZQUFZLEVBQUU7SUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsV0FBVyxFQUFFLENBQUM7RUFDNUQ7RUFFQSxNQUFNLGVBQWUsR0FBRyxZQUFZLENBQUMsYUFBYSxDQUNoRCwwQkFDRixDQUFDO0VBQ0QsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDLGFBQWEsQ0FDaEQsMEJBQ0YsQ0FBQztFQUNELE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUM7RUFDbkUsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQztFQUNsRSxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDO0VBQy9ELE1BQU0sZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUM7RUFFbEUsTUFBTSxTQUFTLEdBQUcsZUFBZSxDQUMvQixlQUFlLENBQUMsS0FBSyxFQUNyQiw0QkFBNEIsRUFDNUIsSUFDRixDQUFDO0VBQ0QsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUM7RUFFM0QsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0VBQzlELE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztFQUM3RCxNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7RUFDN0QsTUFBTSxTQUFTLEdBQUcsZUFBZSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO0VBQ2pFLE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztFQUVyRSxJQUFJLE9BQU8sSUFBSSxPQUFPLElBQUksT0FBTyxHQUFHLE9BQU8sRUFBRTtJQUMzQyxNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxDQUFDO0VBQzlEO0VBRUEsT0FBTztJQUNMLFlBQVk7SUFDWixPQUFPO0lBQ1AsV0FBVztJQUNYLFlBQVk7SUFDWixPQUFPO0lBQ1AsZ0JBQWdCO0lBQ2hCLFlBQVk7SUFDWixTQUFTO0lBQ1QsZUFBZTtJQUNmLGVBQWU7SUFDZixVQUFVO0lBQ1YsU0FBUztJQUNULFdBQVc7SUFDWDtFQUNGLENBQUM7QUFDSCxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLE9BQU8sR0FBSSxFQUFFLElBQUs7RUFDdEIsTUFBTTtJQUFFLGVBQWU7SUFBRTtFQUFZLENBQUMsR0FBRyxvQkFBb0IsQ0FBQyxFQUFFLENBQUM7RUFFakUsV0FBVyxDQUFDLFFBQVEsR0FBRyxJQUFJO0VBQzNCLGVBQWUsQ0FBQyxRQUFRLEdBQUcsSUFBSTtBQUNqQyxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLFdBQVcsR0FBSSxFQUFFLElBQUs7RUFDMUIsTUFBTTtJQUFFLGVBQWU7SUFBRTtFQUFZLENBQUMsR0FBRyxvQkFBb0IsQ0FBQyxFQUFFLENBQUM7RUFFakUsV0FBVyxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDO0VBQy9DLGVBQWUsQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQztBQUNyRCxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLE1BQU0sR0FBSSxFQUFFLElBQUs7RUFDckIsTUFBTTtJQUFFLGVBQWU7SUFBRTtFQUFZLENBQUMsR0FBRyxvQkFBb0IsQ0FBQyxFQUFFLENBQUM7RUFFakUsV0FBVyxDQUFDLFFBQVEsR0FBRyxLQUFLO0VBQzVCLGVBQWUsQ0FBQyxRQUFRLEdBQUcsS0FBSztBQUNsQyxDQUFDOztBQUVEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLGtCQUFrQixHQUFJLEVBQUUsSUFBSztFQUNqQyxNQUFNO0lBQUUsZUFBZTtJQUFFLE9BQU87SUFBRTtFQUFRLENBQUMsR0FBRyxvQkFBb0IsQ0FBQyxFQUFFLENBQUM7RUFFdEUsTUFBTSxVQUFVLEdBQUcsZUFBZSxDQUFDLEtBQUs7RUFDeEMsSUFBSSxTQUFTLEdBQUcsS0FBSztFQUVyQixJQUFJLFVBQVUsRUFBRTtJQUNkLFNBQVMsR0FBRyxJQUFJO0lBRWhCLE1BQU0sZUFBZSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzdDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUUsR0FBRyxJQUFLO01BQ3RELElBQUksS0FBSztNQUNULE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO01BQ2hDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssR0FBRyxNQUFNO01BQ3pDLE9BQU8sS0FBSztJQUNkLENBQUMsQ0FBQztJQUVGLElBQUksS0FBSyxJQUFJLEdBQUcsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFO01BQ2hDLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUM7TUFFL0MsSUFDRSxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxJQUNsQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxHQUFHLElBQzNCLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLElBQUksSUFDaEMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQy9CLHFCQUFxQixDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLEVBQ2xEO1FBQ0EsU0FBUyxHQUFHLEtBQUs7TUFDbkI7SUFDRjtFQUNGO0VBRUEsT0FBTyxTQUFTO0FBQ2xCLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0saUJBQWlCLEdBQUksRUFBRSxJQUFLO0VBQ2hDLE1BQU07SUFBRTtFQUFnQixDQUFDLEdBQUcsb0JBQW9CLENBQUMsRUFBRSxDQUFDO0VBQ3BELE1BQU0sU0FBUyxHQUFHLGtCQUFrQixDQUFDLGVBQWUsQ0FBQztFQUVyRCxJQUFJLFNBQVMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsRUFBRTtJQUNuRCxlQUFlLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUM7RUFDdkQ7RUFFQSxJQUFJLENBQUMsU0FBUyxJQUFJLGVBQWUsQ0FBQyxpQkFBaUIsS0FBSyxrQkFBa0IsRUFBRTtJQUMxRSxlQUFlLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO0VBQ3ZDO0FBQ0YsQ0FBQzs7QUFFRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxvQkFBb0IsR0FBSSxFQUFFLElBQUs7RUFDbkMsTUFBTTtJQUFFLGVBQWU7SUFBRTtFQUFVLENBQUMsR0FBRyxvQkFBb0IsQ0FBQyxFQUFFLENBQUM7RUFDL0QsSUFBSSxRQUFRLEdBQUcsRUFBRTtFQUVqQixJQUFJLFNBQVMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxFQUFFO0lBQ3hDLFFBQVEsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDO0VBQ2xDO0VBRUEsSUFBSSxlQUFlLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRTtJQUN0QyxrQkFBa0IsQ0FBQyxlQUFlLEVBQUUsUUFBUSxDQUFDO0VBQy9DO0FBQ0YsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLGdCQUFnQixHQUFHLENBQUMsRUFBRSxFQUFFLFVBQVUsS0FBSztFQUMzQyxNQUFNLFVBQVUsR0FBRyxlQUFlLENBQUMsVUFBVSxDQUFDO0VBRTlDLElBQUksVUFBVSxFQUFFO0lBQ2QsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLFVBQVUsRUFBRSw0QkFBNEIsQ0FBQztJQUUxRSxNQUFNO01BQUUsWUFBWTtNQUFFLGVBQWU7TUFBRTtJQUFnQixDQUFDLEdBQ3RELG9CQUFvQixDQUFDLEVBQUUsQ0FBQztJQUUxQixrQkFBa0IsQ0FBQyxlQUFlLEVBQUUsVUFBVSxDQUFDO0lBQy9DLGtCQUFrQixDQUFDLGVBQWUsRUFBRSxhQUFhLENBQUM7SUFFbEQsaUJBQWlCLENBQUMsWUFBWSxDQUFDO0VBQ2pDO0FBQ0YsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxpQkFBaUIsR0FBSSxFQUFFLElBQUs7RUFDaEMsTUFBTSxZQUFZLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7RUFDNUMsTUFBTTtJQUFFO0VBQWEsQ0FBQyxHQUFHLFlBQVksQ0FBQyxPQUFPO0VBRTdDLE1BQU0sZUFBZSxHQUFHLFlBQVksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDO0VBRTNELElBQUksQ0FBQyxlQUFlLEVBQUU7SUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLFdBQVcseUJBQXlCLENBQUM7RUFDMUQ7RUFFQSxJQUFJLGVBQWUsQ0FBQyxLQUFLLEVBQUU7SUFDekIsZUFBZSxDQUFDLEtBQUssR0FBRyxFQUFFO0VBQzVCO0VBRUEsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUM3QixZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxlQUFlLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FDcEUsQ0FBQztFQUNELFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLE9BQU8sR0FDbEMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUNuQixnQkFBZ0I7RUFFcEIsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUM3QixZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxlQUFlLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FDcEUsQ0FBQztFQUNELElBQUksT0FBTyxFQUFFO0lBQ1gsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztFQUNwRDtFQUVBLE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO0VBQ3JELGVBQWUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDO0VBRXhELE1BQU0sZUFBZSxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztFQUNuRCxlQUFlLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsQ0FBQztFQUMvRCxlQUFlLENBQUMsSUFBSSxHQUFHLE1BQU07RUFFN0IsZUFBZSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUM7RUFDNUMsZUFBZSxDQUFDLGtCQUFrQixDQUNoQyxXQUFXLEVBQ1gsU0FBUyxDQUFDLFVBQVU7QUFDeEIsbUNBQW1DLHdCQUF3QjtBQUMzRCxrQkFBa0IsMEJBQTBCO0FBQzVDLDhCQUE4Qix3QkFBd0IsMkNBQ3BELENBQUM7RUFFRCxlQUFlLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7RUFDbkQsZUFBZSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO0VBQzlDLGVBQWUsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU07RUFDdEMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZ0NBQWdDLENBQUM7RUFDL0QsZUFBZSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7RUFDckMsZUFBZSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7RUFDdkMsZUFBZSxDQUFDLFFBQVEsR0FBRyxLQUFLO0VBRWhDLFlBQVksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDO0VBQ3pDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDO0VBRXpELElBQUksWUFBWSxFQUFFO0lBQ2hCLGdCQUFnQixDQUFDLFlBQVksRUFBRSxZQUFZLENBQUM7RUFDOUM7RUFFQSxJQUFJLGVBQWUsQ0FBQyxRQUFRLEVBQUU7SUFDNUIsT0FBTyxDQUFDLFlBQVksQ0FBQztJQUNyQixlQUFlLENBQUMsUUFBUSxHQUFHLEtBQUs7RUFDbEM7RUFFQSxJQUFJLGVBQWUsQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLEVBQUU7SUFDakQsV0FBVyxDQUFDLFlBQVksQ0FBQztJQUN6QixlQUFlLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQztFQUNsRDtBQUNGLENBQUM7O0FBRUQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLGNBQWMsR0FBRyxDQUFDLEVBQUUsRUFBRSxjQUFjLEtBQUs7RUFDN0MsTUFBTTtJQUNKLFlBQVk7SUFDWixVQUFVO0lBQ1YsUUFBUTtJQUNSLFlBQVk7SUFDWixPQUFPO0lBQ1AsT0FBTztJQUNQO0VBQ0YsQ0FBQyxHQUFHLG9CQUFvQixDQUFDLEVBQUUsQ0FBQztFQUM1QixNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQztFQUMxQixJQUFJLGFBQWEsR0FBRyxjQUFjLElBQUksVUFBVTtFQUVoRCxNQUFNLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxNQUFNO0VBRTNDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0VBQzdDLE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztFQUM3QyxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7RUFFL0MsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7RUFDN0MsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7RUFFN0MsTUFBTSxvQkFBb0IsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDO0VBRXRELE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxhQUFhLENBQUM7RUFDaEQsTUFBTSxtQkFBbUIsR0FBRyxXQUFXLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQztFQUMvRCxNQUFNLG1CQUFtQixHQUFHLFdBQVcsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDO0VBRS9ELE1BQU0sbUJBQW1CLEdBQUcsWUFBWSxJQUFJLGFBQWE7RUFDekQsTUFBTSxjQUFjLEdBQUcsU0FBUyxJQUFJLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxTQUFTLENBQUM7RUFDdkUsTUFBTSxZQUFZLEdBQUcsU0FBUyxJQUFJLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxTQUFTLENBQUM7RUFFckUsTUFBTSxvQkFBb0IsR0FBRyxTQUFTLElBQUksT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7RUFDcEUsTUFBTSxrQkFBa0IsR0FBRyxTQUFTLElBQUksT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7RUFFaEUsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQztFQUU3QyxNQUFNLGdCQUFnQixHQUFJLFlBQVksSUFBSztJQUN6QyxNQUFNLE9BQU8sR0FBRyxDQUFDLG1CQUFtQixDQUFDO0lBQ3JDLE1BQU0sR0FBRyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsQyxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckMsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUV2QyxNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDO0lBRTlDLElBQUksUUFBUSxHQUFHLElBQUk7SUFFbkIsTUFBTSxVQUFVLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQztJQUN6RSxNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQztJQUV4RCxJQUFJLFdBQVcsQ0FBQyxZQUFZLEVBQUUsU0FBUyxDQUFDLEVBQUU7TUFDeEMsT0FBTyxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQztJQUNsRDtJQUVBLElBQUksV0FBVyxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsRUFBRTtNQUMxQyxPQUFPLENBQUMsSUFBSSxDQUFDLGlDQUFpQyxDQUFDO0lBQ2pEO0lBRUEsSUFBSSxXQUFXLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxFQUFFO01BQ3hDLE9BQU8sQ0FBQyxJQUFJLENBQUMsOEJBQThCLENBQUM7SUFDOUM7SUFFQSxJQUFJLFVBQVUsRUFBRTtNQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUM7SUFDNUM7SUFFQSxJQUFJLFNBQVMsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLEVBQUU7TUFDdkMsT0FBTyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQztJQUN6QztJQUVBLElBQUksU0FBUyxFQUFFO01BQ2IsSUFBSSxTQUFTLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxFQUFFO1FBQ3RDLE9BQU8sQ0FBQyxJQUFJLENBQUMsOEJBQThCLENBQUM7TUFDOUM7TUFFQSxJQUFJLFNBQVMsQ0FBQyxZQUFZLEVBQUUsY0FBYyxDQUFDLEVBQUU7UUFDM0MsT0FBTyxDQUFDLElBQUksQ0FBQyxvQ0FBb0MsQ0FBQztNQUNwRDtNQUVBLElBQUksU0FBUyxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsRUFBRTtRQUN6QyxPQUFPLENBQUMsSUFBSSxDQUFDLGtDQUFrQyxDQUFDO01BQ2xEO01BRUEsSUFDRSxxQkFBcUIsQ0FDbkIsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixrQkFDRixDQUFDLEVBQ0Q7UUFDQSxPQUFPLENBQUMsSUFBSSxDQUFDLGdDQUFnQyxDQUFDO01BQ2hEO0lBQ0Y7SUFFQSxJQUFJLFNBQVMsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDLEVBQUU7TUFDeEMsUUFBUSxHQUFHLEdBQUc7TUFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDO0lBQzNDO0lBRUEsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztJQUNwQyxNQUFNLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxTQUFTLENBQUM7SUFFNUMsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7SUFDNUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO0lBQ2xDLEdBQUcsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQztJQUN0QyxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLEdBQUcsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQztJQUNqQyxHQUFHLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLEdBQUcsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQztJQUNuQyxHQUFHLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUM7SUFDN0MsR0FBRyxDQUFDLFlBQVksQ0FDZCxZQUFZLEVBQ1osU0FBUyxDQUFDLFVBQVUsR0FBRyxHQUFHLElBQUksUUFBUSxJQUFJLElBQUksSUFBSSxNQUFNLEVBQzFELENBQUM7SUFDRCxHQUFHLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxVQUFVLEdBQUcsTUFBTSxHQUFHLE9BQU8sQ0FBQztJQUNoRSxJQUFJLFVBQVUsS0FBSyxJQUFJLEVBQUU7TUFDdkIsR0FBRyxDQUFDLFFBQVEsR0FBRyxJQUFJO0lBQ3JCO0lBQ0EsR0FBRyxDQUFDLFdBQVcsR0FBRyxHQUFHO0lBRXJCLE9BQU8sR0FBRztFQUNaLENBQUM7O0VBRUQ7RUFDQSxhQUFhLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQztFQUV6QyxNQUFNLElBQUksR0FBRyxFQUFFO0VBRWYsT0FDRSxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsSUFDaEIsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssWUFBWSxJQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQ3JCO0lBQ0EsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMxQyxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7RUFDM0M7RUFFQSxNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztFQUV6QyxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7RUFDMUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsb0JBQW9CO0VBQ2hELFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsWUFBWSxDQUFDLFlBQVksSUFBSTtFQUN4RCxXQUFXLENBQUMsTUFBTSxHQUFHLEtBQUs7RUFDMUIsV0FBVyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsVUFBVTtBQUM5QyxnQ0FBZ0MsMEJBQTBCO0FBQzFELG9CQUFvQixrQkFBa0I7QUFDdEMsc0JBQXNCLG1CQUFtQixJQUFJLGdDQUFnQztBQUM3RTtBQUNBO0FBQ0EscUJBQXFCLDRCQUE0QjtBQUNqRDtBQUNBLGNBQWMsbUJBQW1CLEdBQUcscUJBQXFCLEdBQUcsRUFBRTtBQUM5RDtBQUNBO0FBQ0Esc0JBQXNCLG1CQUFtQixJQUFJLGdDQUFnQztBQUM3RTtBQUNBO0FBQ0EscUJBQXFCLDZCQUE2QjtBQUNsRDtBQUNBLGNBQWMsbUJBQW1CLEdBQUcscUJBQXFCLEdBQUcsRUFBRTtBQUM5RDtBQUNBO0FBQ0Esc0JBQXNCLG1CQUFtQixJQUFJLDBCQUEwQjtBQUN2RTtBQUNBO0FBQ0EscUJBQXFCLDhCQUE4QixpQkFBaUIsVUFBVTtBQUM5RSxhQUFhLFVBQVU7QUFDdkI7QUFDQTtBQUNBLHFCQUFxQiw2QkFBNkIsaUJBQWlCLFdBQVc7QUFDOUUsYUFBYSxXQUFXO0FBQ3hCO0FBQ0Esc0JBQXNCLG1CQUFtQixJQUFJLGdDQUFnQztBQUM3RTtBQUNBO0FBQ0EscUJBQXFCLHlCQUF5QjtBQUM5QztBQUNBLGNBQWMsbUJBQW1CLEdBQUcscUJBQXFCLEdBQUcsRUFBRTtBQUM5RDtBQUNBO0FBQ0Esc0JBQXNCLG1CQUFtQixJQUFJLGdDQUFnQztBQUM3RTtBQUNBO0FBQ0EscUJBQXFCLHdCQUF3QjtBQUM3QztBQUNBLGNBQWMsbUJBQW1CLEdBQUcscUJBQXFCLEdBQUcsRUFBRTtBQUM5RDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7RUFFSCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQztFQUM3QyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxvQkFBb0IsQ0FBQztFQUVqRCxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQztFQUNqRCxLQUFLLENBQUMscUJBQXFCLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQztFQUNuRCxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztFQUNqRCxTQUFTLENBQUMscUJBQXFCLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQztFQUUxRCxNQUFNLFVBQVUsR0FBRztJQUNqQixNQUFNLEVBQUUsR0FBRztJQUNYLE1BQU0sRUFBRSxHQUFHO0lBQ1gsT0FBTyxFQUFFLEdBQUc7SUFDWixTQUFTLEVBQUUsR0FBRztJQUNkLFFBQVEsRUFBRSxJQUFJO0lBQ2QsTUFBTSxFQUFFLElBQUk7SUFDWixRQUFRLEVBQUU7RUFDWixDQUFDO0VBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUUsR0FBRyxJQUFLO0lBQ3ZDLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO0lBQ3ZDLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLDBCQUEwQixDQUFDO0lBQ3BELEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQztJQUMvQixFQUFFLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUM7SUFDbEMsRUFBRSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDO0lBQ2hDLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO0VBQ3JELENBQUMsQ0FBQztFQUVGLE1BQU0sU0FBUyxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUM7RUFDNUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUM7O0VBRW5EO0VBQ0EsTUFBTSwyQkFBMkIsR0FDL0IsV0FBVyxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQztFQUVqRCwyQkFBMkIsQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDO0VBRXJFLFVBQVUsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUM7RUFFM0QsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUM7RUFFcEQsTUFBTSxRQUFRLEdBQUcsRUFBRTtFQUVuQixJQUFJLFNBQVMsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDLEVBQUU7SUFDeEMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7RUFDaEM7RUFFQSxJQUFJLGlCQUFpQixFQUFFO0lBQ3JCLFFBQVEsQ0FBQyxJQUFJLENBQ1gscURBQXFELEVBQ3JELG1DQUFtQyxFQUNuQyw0Q0FBNEMsRUFDNUMsNERBQTRELEVBQzVELCtEQUNGLENBQUM7SUFDRCxRQUFRLENBQUMsV0FBVyxHQUFHLEVBQUU7RUFDM0IsQ0FBQyxNQUFNO0lBQ0wsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsSUFBSSxXQUFXLEVBQUUsQ0FBQztFQUMvQztFQUNBLFFBQVEsQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7RUFFMUMsT0FBTyxXQUFXO0FBQ3BCLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sbUJBQW1CLEdBQUksU0FBUyxJQUFLO0VBQ3pDLElBQUksU0FBUyxDQUFDLFFBQVEsRUFBRTtFQUN4QixNQUFNO0lBQUUsVUFBVTtJQUFFLFlBQVk7SUFBRSxPQUFPO0lBQUU7RUFBUSxDQUFDLEdBQ2xELG9CQUFvQixDQUFDLFNBQVMsQ0FBQztFQUNqQyxJQUFJLElBQUksR0FBRyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztFQUNwQyxJQUFJLEdBQUcsd0JBQXdCLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUM7RUFDdkQsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUM7RUFFcEQsSUFBSSxXQUFXLEdBQUcsV0FBVyxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQztFQUNuRSxJQUFJLFdBQVcsQ0FBQyxRQUFRLEVBQUU7SUFDeEIsV0FBVyxHQUFHLFdBQVcsQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUM7RUFDL0Q7RUFDQSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDckIsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxvQkFBb0IsR0FBSSxTQUFTLElBQUs7RUFDMUMsSUFBSSxTQUFTLENBQUMsUUFBUSxFQUFFO0VBQ3hCLE1BQU07SUFBRSxVQUFVO0lBQUUsWUFBWTtJQUFFLE9BQU87SUFBRTtFQUFRLENBQUMsR0FDbEQsb0JBQW9CLENBQUMsU0FBUyxDQUFDO0VBQ2pDLElBQUksSUFBSSxHQUFHLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO0VBQ3JDLElBQUksR0FBRyx3QkFBd0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQztFQUN2RCxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQztFQUVwRCxJQUFJLFdBQVcsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUFDO0VBQ3BFLElBQUksV0FBVyxDQUFDLFFBQVEsRUFBRTtJQUN4QixXQUFXLEdBQUcsV0FBVyxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQztFQUMvRDtFQUNBLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNyQixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLGdCQUFnQixHQUFJLFNBQVMsSUFBSztFQUN0QyxJQUFJLFNBQVMsQ0FBQyxRQUFRLEVBQUU7RUFDeEIsTUFBTTtJQUFFLFVBQVU7SUFBRSxZQUFZO0lBQUUsT0FBTztJQUFFO0VBQVEsQ0FBQyxHQUNsRCxvQkFBb0IsQ0FBQyxTQUFTLENBQUM7RUFDakMsSUFBSSxJQUFJLEdBQUcsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7RUFDckMsSUFBSSxHQUFHLHdCQUF3QixDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDO0VBQ3ZELE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO0VBRXBELElBQUksV0FBVyxHQUFHLFdBQVcsQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUM7RUFDaEUsSUFBSSxXQUFXLENBQUMsUUFBUSxFQUFFO0lBQ3hCLFdBQVcsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDO0VBQy9EO0VBQ0EsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3JCLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sZUFBZSxHQUFJLFNBQVMsSUFBSztFQUNyQyxJQUFJLFNBQVMsQ0FBQyxRQUFRLEVBQUU7RUFDeEIsTUFBTTtJQUFFLFVBQVU7SUFBRSxZQUFZO0lBQUUsT0FBTztJQUFFO0VBQVEsQ0FBQyxHQUNsRCxvQkFBb0IsQ0FBQyxTQUFTLENBQUM7RUFDakMsSUFBSSxJQUFJLEdBQUcsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7RUFDcEMsSUFBSSxHQUFHLHdCQUF3QixDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDO0VBQ3ZELE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO0VBRXBELElBQUksV0FBVyxHQUFHLFdBQVcsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUM7RUFDL0QsSUFBSSxXQUFXLENBQUMsUUFBUSxFQUFFO0lBQ3hCLFdBQVcsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDO0VBQy9EO0VBQ0EsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3JCLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sWUFBWSxHQUFJLEVBQUUsSUFBSztFQUMzQixNQUFNO0lBQUUsWUFBWTtJQUFFLFVBQVU7SUFBRTtFQUFTLENBQUMsR0FBRyxvQkFBb0IsQ0FBQyxFQUFFLENBQUM7RUFFdkUsWUFBWSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsd0JBQXdCLENBQUM7RUFDdkQsVUFBVSxDQUFDLE1BQU0sR0FBRyxJQUFJO0VBQ3hCLFFBQVEsQ0FBQyxXQUFXLEdBQUcsRUFBRTtBQUMzQixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLFVBQVUsR0FBSSxjQUFjLElBQUs7RUFDckMsSUFBSSxjQUFjLENBQUMsUUFBUSxFQUFFO0VBRTdCLE1BQU07SUFBRSxZQUFZO0lBQUU7RUFBZ0IsQ0FBQyxHQUNyQyxvQkFBb0IsQ0FBQyxjQUFjLENBQUM7RUFFdEMsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0VBQzlELFlBQVksQ0FBQyxZQUFZLENBQUM7RUFFMUIsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3pCLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sY0FBYyxHQUFJLEVBQUUsSUFBSztFQUM3QixJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7RUFDakIsTUFBTTtJQUFFLFVBQVU7SUFBRSxTQUFTO0lBQUUsT0FBTztJQUFFLE9BQU87SUFBRTtFQUFZLENBQUMsR0FDNUQsb0JBQW9CLENBQUMsRUFBRSxDQUFDO0VBRTFCLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRTtJQUNyQixNQUFNLGFBQWEsR0FBRyx3QkFBd0IsQ0FDNUMsU0FBUyxJQUFJLFdBQVcsSUFBSSxLQUFLLENBQUMsQ0FBQyxFQUNuQyxPQUFPLEVBQ1AsT0FDRixDQUFDO0lBQ0QsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUM7SUFDN0QsV0FBVyxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0VBQzFELENBQUMsTUFBTTtJQUNMLFlBQVksQ0FBQyxFQUFFLENBQUM7RUFDbEI7QUFDRixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLHVCQUF1QixHQUFJLEVBQUUsSUFBSztFQUN0QyxNQUFNO0lBQUUsVUFBVTtJQUFFLFNBQVM7SUFBRSxPQUFPO0lBQUU7RUFBUSxDQUFDLEdBQUcsb0JBQW9CLENBQUMsRUFBRSxDQUFDO0VBQzVFLE1BQU0sYUFBYSxHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU07RUFFeEMsSUFBSSxhQUFhLElBQUksU0FBUyxFQUFFO0lBQzlCLE1BQU0sYUFBYSxHQUFHLHdCQUF3QixDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDO0lBQzNFLGNBQWMsQ0FBQyxVQUFVLEVBQUUsYUFBYSxDQUFDO0VBQzNDO0FBQ0YsQ0FBQzs7QUFFRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxFQUFFLEVBQUUsY0FBYyxLQUFLO0VBQ3BELE1BQU07SUFBRSxVQUFVO0lBQUUsUUFBUTtJQUFFLFlBQVk7SUFBRSxPQUFPO0lBQUU7RUFBUSxDQUFDLEdBQzVELG9CQUFvQixDQUFDLEVBQUUsQ0FBQztFQUUxQixNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7RUFDN0MsTUFBTSxZQUFZLEdBQUcsY0FBYyxJQUFJLElBQUksR0FBRyxhQUFhLEdBQUcsY0FBYztFQUU1RSxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssS0FBSztJQUNoRCxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQztJQUVsRCxNQUFNLFVBQVUsR0FBRywyQkFBMkIsQ0FDNUMsWUFBWSxFQUNaLE9BQU8sRUFDUCxPQUNGLENBQUM7SUFFRCxJQUFJLFFBQVEsR0FBRyxJQUFJO0lBRW5CLE1BQU0sT0FBTyxHQUFHLENBQUMsb0JBQW9CLENBQUM7SUFDdEMsTUFBTSxVQUFVLEdBQUcsS0FBSyxLQUFLLGFBQWE7SUFFMUMsSUFBSSxLQUFLLEtBQUssWUFBWSxFQUFFO01BQzFCLFFBQVEsR0FBRyxHQUFHO01BQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQztJQUM1QztJQUVBLElBQUksVUFBVSxFQUFFO01BQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQztJQUM3QztJQUVBLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO0lBQzVDLEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQztJQUNsQyxHQUFHLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUM7SUFDdEMsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QyxHQUFHLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUM7SUFDckMsR0FBRyxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDO0lBQ3JDLEdBQUcsQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLFVBQVUsR0FBRyxNQUFNLEdBQUcsT0FBTyxDQUFDO0lBQ2hFLElBQUksVUFBVSxLQUFLLElBQUksRUFBRTtNQUN2QixHQUFHLENBQUMsUUFBUSxHQUFHLElBQUk7SUFDckI7SUFDQSxHQUFHLENBQUMsV0FBVyxHQUFHLEtBQUs7SUFFdkIsT0FBTyxHQUFHO0VBQ1osQ0FBQyxDQUFDO0VBRUYsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7RUFDaEQsVUFBVSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO0VBQ3pDLFVBQVUsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLDJCQUEyQixDQUFDO0VBRTdELE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDO0VBQzdDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLG9CQUFvQixDQUFDO0VBQ2pELEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQztFQUUxQyxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztFQUM1QyxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUMsVUFBVSxDQUFDO0VBQzdDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDO0VBQ25ELFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDO0VBRXBELE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztFQUMxQyxXQUFXLENBQUMscUJBQXFCLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQztFQUMxRCxVQUFVLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDO0VBRTNELFFBQVEsQ0FBQyxXQUFXLEdBQUcsaUJBQWlCO0VBRXhDLE9BQU8sV0FBVztBQUNwQixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLFdBQVcsR0FBSSxPQUFPLElBQUs7RUFDL0IsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFO0VBQ3RCLE1BQU07SUFBRSxVQUFVO0lBQUUsWUFBWTtJQUFFLE9BQU87SUFBRTtFQUFRLENBQUMsR0FDbEQsb0JBQW9CLENBQUMsT0FBTyxDQUFDO0VBQy9CLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7RUFDekQsSUFBSSxJQUFJLEdBQUcsUUFBUSxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUM7RUFDaEQsSUFBSSxHQUFHLHdCQUF3QixDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDO0VBQ3ZELE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO0VBQ3BELFdBQVcsQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMxRCxDQUFDOztBQUVEOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEVBQUUsRUFBRSxhQUFhLEtBQUs7RUFDbEQsTUFBTTtJQUFFLFVBQVU7SUFBRSxRQUFRO0lBQUUsWUFBWTtJQUFFLE9BQU87SUFBRTtFQUFRLENBQUMsR0FDNUQsb0JBQW9CLENBQUMsRUFBRSxDQUFDO0VBRTFCLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztFQUMvQyxNQUFNLFdBQVcsR0FBRyxhQUFhLElBQUksSUFBSSxHQUFHLFlBQVksR0FBRyxhQUFhO0VBRXhFLElBQUksV0FBVyxHQUFHLFdBQVc7RUFDN0IsV0FBVyxJQUFJLFdBQVcsR0FBRyxVQUFVO0VBQ3ZDLFdBQVcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUM7RUFFdEMsTUFBTSxxQkFBcUIsR0FBRywwQkFBMEIsQ0FDdEQsT0FBTyxDQUFDLFlBQVksRUFBRSxXQUFXLEdBQUcsQ0FBQyxDQUFDLEVBQ3RDLE9BQU8sRUFDUCxPQUNGLENBQUM7RUFFRCxNQUFNLHFCQUFxQixHQUFHLDBCQUEwQixDQUN0RCxPQUFPLENBQUMsWUFBWSxFQUFFLFdBQVcsR0FBRyxVQUFVLENBQUMsRUFDL0MsT0FBTyxFQUNQLE9BQ0YsQ0FBQztFQUVELE1BQU0sS0FBSyxHQUFHLEVBQUU7RUFDaEIsSUFBSSxTQUFTLEdBQUcsV0FBVztFQUMzQixPQUFPLEtBQUssQ0FBQyxNQUFNLEdBQUcsVUFBVSxFQUFFO0lBQ2hDLE1BQU0sVUFBVSxHQUFHLDBCQUEwQixDQUMzQyxPQUFPLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxFQUNoQyxPQUFPLEVBQ1AsT0FDRixDQUFDO0lBRUQsSUFBSSxRQUFRLEdBQUcsSUFBSTtJQUVuQixNQUFNLE9BQU8sR0FBRyxDQUFDLG1CQUFtQixDQUFDO0lBQ3JDLE1BQU0sVUFBVSxHQUFHLFNBQVMsS0FBSyxZQUFZO0lBRTdDLElBQUksU0FBUyxLQUFLLFdBQVcsRUFBRTtNQUM3QixRQUFRLEdBQUcsR0FBRztNQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUM7SUFDM0M7SUFFQSxJQUFJLFVBQVUsRUFBRTtNQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUM7SUFDNUM7SUFFQSxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztJQUM1QyxHQUFHLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUM7SUFDbEMsR0FBRyxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDO0lBQ3RDLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsU0FBUyxDQUFDO0lBQ3pDLEdBQUcsQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLFVBQVUsR0FBRyxNQUFNLEdBQUcsT0FBTyxDQUFDO0lBQ2hFLElBQUksVUFBVSxLQUFLLElBQUksRUFBRTtNQUN2QixHQUFHLENBQUMsUUFBUSxHQUFHLElBQUk7SUFDckI7SUFDQSxHQUFHLENBQUMsV0FBVyxHQUFHLFNBQVM7SUFFM0IsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDZixTQUFTLElBQUksQ0FBQztFQUNoQjtFQUVBLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQzs7RUFFMUM7RUFDQSxNQUFNLG9CQUFvQixHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO0VBQzFELG9CQUFvQixDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO0VBQ25ELG9CQUFvQixDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsMEJBQTBCLENBQUM7O0VBRXRFO0VBQ0EsTUFBTSxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQztFQUN4RCxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLG9CQUFvQixDQUFDOztFQUU1RDtFQUNBLE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUM7RUFDMUQsTUFBTSxxQkFBcUIsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQzs7RUFFMUQ7RUFDQSxNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO0VBQ3pELGdCQUFnQixDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO0VBQy9DLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsa0NBQWtDLENBQUM7RUFDMUUsZ0JBQWdCLENBQUMsWUFBWSxDQUMzQixZQUFZLEVBQ1osaUJBQWlCLFVBQVUsUUFDN0IsQ0FBQztFQUNELElBQUkscUJBQXFCLEtBQUssSUFBSSxFQUFFO0lBQ2xDLGdCQUFnQixDQUFDLFFBQVEsR0FBRyxJQUFJO0VBQ2xDO0VBQ0EsZ0JBQWdCLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxVQUFVLE9BQU87O0VBRXhEO0VBQ0EsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7RUFDckQsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO0VBQzNDLFlBQVksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLDhCQUE4QixDQUFDO0VBQ2xFLFlBQVksQ0FBQyxZQUFZLENBQ3ZCLFlBQVksRUFDWixvQkFBb0IsVUFBVSxRQUNoQyxDQUFDO0VBQ0QsSUFBSSxxQkFBcUIsS0FBSyxJQUFJLEVBQUU7SUFDbEMsWUFBWSxDQUFDLFFBQVEsR0FBRyxJQUFJO0VBQzlCO0VBQ0EsWUFBWSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsVUFBVSxPQUFPOztFQUVwRDtFQUNBLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDO0VBQ2xELFVBQVUsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLG9CQUFvQixDQUFDO0VBQ3RELFVBQVUsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQzs7RUFFL0M7RUFDQSxNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztFQUMxQyxNQUFNLGNBQWMsR0FBRyxlQUFlLENBQUMsU0FBUyxDQUFDOztFQUVqRDtFQUNBLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsY0FBYyxDQUFDOztFQUU3RDtFQUNBLE1BQU0sNEJBQTRCLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7RUFDakUsNEJBQTRCLENBQUMscUJBQXFCLENBQ2hELFdBQVcsRUFDWCxnQkFDRixDQUFDOztFQUVEO0VBQ0EsTUFBTSw2QkFBNkIsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztFQUNsRSw2QkFBNkIsQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQztFQUMxRCw2QkFBNkIsQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDOztFQUU1RTtFQUNBLE1BQU0sNEJBQTRCLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7RUFDakUsNEJBQTRCLENBQUMscUJBQXFCLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQzs7RUFFN0U7RUFDQSxxQkFBcUIsQ0FBQyxxQkFBcUIsQ0FDekMsV0FBVyxFQUNYLDRCQUNGLENBQUM7RUFDRCxxQkFBcUIsQ0FBQyxxQkFBcUIsQ0FDekMsV0FBVyxFQUNYLDZCQUNGLENBQUM7RUFDRCxxQkFBcUIsQ0FBQyxxQkFBcUIsQ0FDekMsV0FBVyxFQUNYLDRCQUNGLENBQUM7O0VBRUQ7RUFDQSxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUscUJBQXFCLENBQUM7O0VBRTVFO0VBQ0EsZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsV0FBVyxFQUFFLGtCQUFrQixDQUFDOztFQUV2RTtFQUNBLG9CQUFvQixDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQzs7RUFFekU7RUFDQSxXQUFXLENBQUMscUJBQXFCLENBQUMsV0FBVyxFQUFFLG9CQUFvQixDQUFDOztFQUVwRTtFQUNBLFVBQVUsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUM7RUFFM0QsUUFBUSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUMsVUFBVSxpQkFBaUIsV0FBVyxPQUNyRSxXQUFXLEdBQUcsVUFBVSxHQUFHLENBQUMsa0JBQ1o7RUFFbEIsT0FBTyxXQUFXO0FBQ3BCLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sd0JBQXdCLEdBQUksRUFBRSxJQUFLO0VBQ3ZDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtFQUVqQixNQUFNO0lBQUUsVUFBVTtJQUFFLFlBQVk7SUFBRSxPQUFPO0lBQUU7RUFBUSxDQUFDLEdBQ2xELG9CQUFvQixDQUFDLEVBQUUsQ0FBQztFQUMxQixNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDO0VBQzlELE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztFQUVyRCxJQUFJLFlBQVksR0FBRyxZQUFZLEdBQUcsVUFBVTtFQUM1QyxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDO0VBRXhDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDO0VBQ2hELE1BQU0sVUFBVSxHQUFHLHdCQUF3QixDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDO0VBQ25FLE1BQU0sV0FBVyxHQUFHLG9CQUFvQixDQUN0QyxVQUFVLEVBQ1YsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUN6QixDQUFDO0VBRUQsSUFBSSxXQUFXLEdBQUcsV0FBVyxDQUFDLGFBQWEsQ0FBQyw0QkFBNEIsQ0FBQztFQUN6RSxJQUFJLFdBQVcsQ0FBQyxRQUFRLEVBQUU7SUFDeEIsV0FBVyxHQUFHLFdBQVcsQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUM7RUFDL0Q7RUFDQSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDckIsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxvQkFBb0IsR0FBSSxFQUFFLElBQUs7RUFDbkMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0VBRWpCLE1BQU07SUFBRSxVQUFVO0lBQUUsWUFBWTtJQUFFLE9BQU87SUFBRTtFQUFRLENBQUMsR0FDbEQsb0JBQW9CLENBQUMsRUFBRSxDQUFDO0VBQzFCLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUM7RUFDOUQsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO0VBRXJELElBQUksWUFBWSxHQUFHLFlBQVksR0FBRyxVQUFVO0VBQzVDLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUM7RUFFeEMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUM7RUFDaEQsTUFBTSxVQUFVLEdBQUcsd0JBQXdCLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUM7RUFDbkUsTUFBTSxXQUFXLEdBQUcsb0JBQW9CLENBQ3RDLFVBQVUsRUFDVixVQUFVLENBQUMsV0FBVyxDQUFDLENBQ3pCLENBQUM7RUFFRCxJQUFJLFdBQVcsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDLHdCQUF3QixDQUFDO0VBQ3JFLElBQUksV0FBVyxDQUFDLFFBQVEsRUFBRTtJQUN4QixXQUFXLEdBQUcsV0FBVyxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQztFQUMvRDtFQUNBLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNyQixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLFVBQVUsR0FBSSxNQUFNLElBQUs7RUFDN0IsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFO0VBQ3JCLE1BQU07SUFBRSxVQUFVO0lBQUUsWUFBWTtJQUFFLE9BQU87SUFBRTtFQUFRLENBQUMsR0FDbEQsb0JBQW9CLENBQUMsTUFBTSxDQUFDO0VBQzlCLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztFQUNuRCxJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQztFQUM5QyxJQUFJLEdBQUcsd0JBQXdCLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUM7RUFDdkQsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUM7RUFDcEQsV0FBVyxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzFELENBQUM7O0FBRUQ7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sd0JBQXdCLEdBQUksS0FBSyxJQUFLO0VBQzFDLE1BQU07SUFBRSxZQUFZO0lBQUU7RUFBZ0IsQ0FBQyxHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7RUFFNUUsWUFBWSxDQUFDLFlBQVksQ0FBQztFQUMxQixlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7RUFFdkIsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQ3hCLENBQUM7O0FBRUQ7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sY0FBYyxHQUFJLFlBQVksSUFBTSxLQUFLLElBQUs7RUFDbEQsTUFBTTtJQUFFLFVBQVU7SUFBRSxZQUFZO0lBQUUsT0FBTztJQUFFO0VBQVEsQ0FBQyxHQUFHLG9CQUFvQixDQUN6RSxLQUFLLENBQUMsTUFDUixDQUFDO0VBRUQsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQztFQUV2QyxNQUFNLFVBQVUsR0FBRyx3QkFBd0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQztFQUNuRSxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsRUFBRTtJQUN4QyxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQztJQUMxRCxXQUFXLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7RUFDMUQ7RUFDQSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDeEIsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxnQkFBZ0IsR0FBRyxjQUFjLENBQUUsSUFBSSxJQUFLLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7O0FBRXBFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLGtCQUFrQixHQUFHLGNBQWMsQ0FBRSxJQUFJLElBQUssUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQzs7QUFFdEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sa0JBQWtCLEdBQUcsY0FBYyxDQUFFLElBQUksSUFBSyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDOztBQUVyRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxtQkFBbUIsR0FBRyxjQUFjLENBQUUsSUFBSSxJQUFLLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7O0FBRXRFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLGtCQUFrQixHQUFHLGNBQWMsQ0FBRSxJQUFJLElBQUssV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDOztBQUV0RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUUsSUFBSSxJQUFLLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQzs7QUFFbkU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sc0JBQXNCLEdBQUcsY0FBYyxDQUFFLElBQUksSUFBSyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDOztBQUUzRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxvQkFBb0IsR0FBRyxjQUFjLENBQUUsSUFBSSxJQUFLLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7O0FBRXpFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLDJCQUEyQixHQUFHLGNBQWMsQ0FBRSxJQUFJLElBQUssUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQzs7QUFFL0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0seUJBQXlCLEdBQUcsY0FBYyxDQUFFLElBQUksSUFBSyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDOztBQUU3RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLHVCQUF1QixHQUFJLE1BQU0sSUFBSztFQUMxQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUU7RUFFckIsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQztFQUV2RCxNQUFNLG1CQUFtQixHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSztFQUNwRCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUs7RUFFdEMsSUFBSSxTQUFTLEtBQUssbUJBQW1CLEVBQUU7RUFFdkMsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFDLFNBQVMsQ0FBQztFQUNoRCxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQztFQUM3RCxXQUFXLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDMUQsQ0FBQzs7QUFFRDs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSwwQkFBMEIsR0FBSSxhQUFhLElBQU0sS0FBSyxJQUFLO0VBQy9ELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNO0VBQzVCLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7RUFDekQsTUFBTTtJQUFFLFVBQVU7SUFBRSxZQUFZO0lBQUUsT0FBTztJQUFFO0VBQVEsQ0FBQyxHQUNsRCxvQkFBb0IsQ0FBQyxPQUFPLENBQUM7RUFDL0IsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUM7RUFFekQsSUFBSSxhQUFhLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQztFQUNoRCxhQUFhLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsYUFBYSxDQUFDLENBQUM7RUFFeEQsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUM7RUFDbEQsTUFBTSxVQUFVLEdBQUcsd0JBQXdCLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUM7RUFDbkUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEVBQUU7SUFDekMsTUFBTSxXQUFXLEdBQUcscUJBQXFCLENBQ3ZDLFVBQVUsRUFDVixVQUFVLENBQUMsUUFBUSxDQUFDLENBQ3RCLENBQUM7SUFDRCxXQUFXLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7RUFDM0Q7RUFDQSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDeEIsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxpQkFBaUIsR0FBRywwQkFBMEIsQ0FBRSxLQUFLLElBQUssS0FBSyxHQUFHLENBQUMsQ0FBQzs7QUFFMUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sbUJBQW1CLEdBQUcsMEJBQTBCLENBQUUsS0FBSyxJQUFLLEtBQUssR0FBRyxDQUFDLENBQUM7O0FBRTVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLG1CQUFtQixHQUFHLDBCQUEwQixDQUFFLEtBQUssSUFBSyxLQUFLLEdBQUcsQ0FBQyxDQUFDOztBQUU1RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxvQkFBb0IsR0FBRywwQkFBMEIsQ0FBRSxLQUFLLElBQUssS0FBSyxHQUFHLENBQUMsQ0FBQzs7QUFFN0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sbUJBQW1CLEdBQUcsMEJBQTBCLENBQ25ELEtBQUssSUFBSyxLQUFLLEdBQUksS0FBSyxHQUFHLENBQzlCLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sa0JBQWtCLEdBQUcsMEJBQTBCLENBQ2xELEtBQUssSUFBSyxLQUFLLEdBQUcsQ0FBQyxHQUFJLEtBQUssR0FBRyxDQUNsQyxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLHVCQUF1QixHQUFHLDBCQUEwQixDQUFDLE1BQU0sRUFBRSxDQUFDOztBQUVwRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxxQkFBcUIsR0FBRywwQkFBMEIsQ0FBQyxNQUFNLENBQUMsQ0FBQzs7QUFFakU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSx3QkFBd0IsR0FBSSxPQUFPLElBQUs7RUFDNUMsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFO0VBQ3RCLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsNEJBQTRCLENBQUMsRUFBRTtFQUU5RCxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO0VBRXRELE1BQU0sV0FBVyxHQUFHLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUM7RUFDOUQsV0FBVyxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzNELENBQUM7O0FBRUQ7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0seUJBQXlCLEdBQUksWUFBWSxJQUFNLEtBQUssSUFBSztFQUM3RCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTTtFQUMzQixNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO0VBQ3ZELE1BQU07SUFBRSxVQUFVO0lBQUUsWUFBWTtJQUFFLE9BQU87SUFBRTtFQUFRLENBQUMsR0FDbEQsb0JBQW9CLENBQUMsTUFBTSxDQUFDO0VBQzlCLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDO0VBRXZELElBQUksWUFBWSxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUM7RUFDN0MsWUFBWSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQztFQUV4QyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQztFQUNoRCxNQUFNLFVBQVUsR0FBRyx3QkFBd0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQztFQUNuRSxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsRUFBRTtJQUN4QyxNQUFNLFdBQVcsR0FBRyxvQkFBb0IsQ0FDdEMsVUFBVSxFQUNWLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FDekIsQ0FBQztJQUNELFdBQVcsQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztFQUMxRDtFQUNBLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUN4QixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLGdCQUFnQixHQUFHLHlCQUF5QixDQUFFLElBQUksSUFBSyxJQUFJLEdBQUcsQ0FBQyxDQUFDOztBQUV0RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxrQkFBa0IsR0FBRyx5QkFBeUIsQ0FBRSxJQUFJLElBQUssSUFBSSxHQUFHLENBQUMsQ0FBQzs7QUFFeEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sa0JBQWtCLEdBQUcseUJBQXlCLENBQUUsSUFBSSxJQUFLLElBQUksR0FBRyxDQUFDLENBQUM7O0FBRXhFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLG1CQUFtQixHQUFHLHlCQUF5QixDQUFFLElBQUksSUFBSyxJQUFJLEdBQUcsQ0FBQyxDQUFDOztBQUV6RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxrQkFBa0IsR0FBRyx5QkFBeUIsQ0FDakQsSUFBSSxJQUFLLElBQUksR0FBSSxJQUFJLEdBQUcsQ0FDM0IsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxpQkFBaUIsR0FBRyx5QkFBeUIsQ0FDaEQsSUFBSSxJQUFLLElBQUksR0FBRyxDQUFDLEdBQUksSUFBSSxHQUFHLENBQy9CLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sb0JBQW9CLEdBQUcseUJBQXlCLENBQ25ELElBQUksSUFBSyxJQUFJLEdBQUcsVUFDbkIsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxzQkFBc0IsR0FBRyx5QkFBeUIsQ0FDckQsSUFBSSxJQUFLLElBQUksR0FBRyxVQUNuQixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sdUJBQXVCLEdBQUksTUFBTSxJQUFLO0VBQzFDLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRTtFQUNyQixJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLDJCQUEyQixDQUFDLEVBQUU7RUFFNUQsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztFQUVwRCxNQUFNLFdBQVcsR0FBRyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDO0VBQzNELFdBQVcsQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMxRCxDQUFDOztBQUVEOztBQUVBOztBQUVBLE1BQU0sVUFBVSxHQUFJLFNBQVMsSUFBSztFQUNoQyxNQUFNLG1CQUFtQixHQUFJLEVBQUUsSUFBSztJQUNsQyxNQUFNO01BQUU7SUFBVyxDQUFDLEdBQUcsb0JBQW9CLENBQUMsRUFBRSxDQUFDO0lBQy9DLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUM7SUFFdkQsTUFBTSxhQUFhLEdBQUcsQ0FBQztJQUN2QixNQUFNLFlBQVksR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQztJQUNqRCxNQUFNLFlBQVksR0FBRyxpQkFBaUIsQ0FBQyxhQUFhLENBQUM7SUFDckQsTUFBTSxXQUFXLEdBQUcsaUJBQWlCLENBQUMsWUFBWSxDQUFDO0lBQ25ELE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBRTdELE1BQU0sU0FBUyxHQUFHLFVBQVUsS0FBSyxZQUFZO0lBQzdDLE1BQU0sVUFBVSxHQUFHLFVBQVUsS0FBSyxhQUFhO0lBQy9DLE1BQU0sVUFBVSxHQUFHLFVBQVUsS0FBSyxDQUFDLENBQUM7SUFFcEMsT0FBTztNQUNMLGlCQUFpQjtNQUNqQixVQUFVO01BQ1YsWUFBWTtNQUNaLFVBQVU7TUFDVixXQUFXO01BQ1g7SUFDRixDQUFDO0VBQ0gsQ0FBQztFQUVELE9BQU87SUFDTCxRQUFRLENBQUMsS0FBSyxFQUFFO01BQ2QsTUFBTTtRQUFFLFlBQVk7UUFBRSxTQUFTO1FBQUU7TUFBVyxDQUFDLEdBQUcsbUJBQW1CLENBQ2pFLEtBQUssQ0FBQyxNQUNSLENBQUM7TUFFRCxJQUFJLFNBQVMsSUFBSSxVQUFVLEVBQUU7UUFDM0IsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3RCLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztNQUN0QjtJQUNGLENBQUM7SUFDRCxPQUFPLENBQUMsS0FBSyxFQUFFO01BQ2IsTUFBTTtRQUFFLFdBQVc7UUFBRSxVQUFVO1FBQUU7TUFBVyxDQUFDLEdBQUcsbUJBQW1CLENBQ2pFLEtBQUssQ0FBQyxNQUNSLENBQUM7TUFFRCxJQUFJLFVBQVUsSUFBSSxVQUFVLEVBQUU7UUFDNUIsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3RCLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztNQUNyQjtJQUNGO0VBQ0YsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLHlCQUF5QixHQUFHLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQztBQUNuRSxNQUFNLDBCQUEwQixHQUFHLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQztBQUNyRSxNQUFNLHlCQUF5QixHQUFHLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQzs7QUFFbkU7O0FBRUE7O0FBRUEsTUFBTSxnQkFBZ0IsR0FBRztFQUN2QixDQUFDLEtBQUssR0FBRztJQUNQLENBQUMsa0JBQWtCLElBQUk7TUFDckIsY0FBYyxDQUFDLElBQUksQ0FBQztJQUN0QixDQUFDO0lBQ0QsQ0FBQyxhQUFhLElBQUk7TUFDaEIsVUFBVSxDQUFDLElBQUksQ0FBQztJQUNsQixDQUFDO0lBQ0QsQ0FBQyxjQUFjLElBQUk7TUFDakIsV0FBVyxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBQ0QsQ0FBQyxhQUFhLElBQUk7TUFDaEIsVUFBVSxDQUFDLElBQUksQ0FBQztJQUNsQixDQUFDO0lBQ0QsQ0FBQyx1QkFBdUIsSUFBSTtNQUMxQixvQkFBb0IsQ0FBQyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUNELENBQUMsbUJBQW1CLElBQUk7TUFDdEIsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFDRCxDQUFDLHNCQUFzQixJQUFJO01BQ3pCLG1CQUFtQixDQUFDLElBQUksQ0FBQztJQUMzQixDQUFDO0lBQ0QsQ0FBQyxrQkFBa0IsSUFBSTtNQUNyQixlQUFlLENBQUMsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxDQUFDLDRCQUE0QixJQUFJO01BQy9CLHdCQUF3QixDQUFDLElBQUksQ0FBQztJQUNoQyxDQUFDO0lBQ0QsQ0FBQyx3QkFBd0IsSUFBSTtNQUMzQixvQkFBb0IsQ0FBQyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUNELENBQUMsd0JBQXdCLElBQUk7TUFDM0IsTUFBTSxXQUFXLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDO01BQy9DLFdBQVcsQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBQ0QsQ0FBQyx1QkFBdUIsSUFBSTtNQUMxQixNQUFNLFdBQVcsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUM7TUFDOUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFEO0VBQ0YsQ0FBQztFQUNELEtBQUssRUFBRTtJQUNMLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxFQUFFO01BQzVCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYztNQUMzQyxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLE9BQU8sRUFBRTtRQUNsQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7TUFDeEI7SUFDRjtFQUNGLENBQUM7RUFDRCxPQUFPLEVBQUU7SUFDUCxDQUFDLDBCQUEwQixFQUFFLEtBQUssRUFBRTtNQUNsQyxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssYUFBYSxFQUFFO1FBQ25DLGlCQUFpQixDQUFDLElBQUksQ0FBQztNQUN6QjtJQUNGLENBQUM7SUFDRCxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUM7TUFDdEIsRUFBRSxFQUFFLGdCQUFnQjtNQUNwQixPQUFPLEVBQUUsZ0JBQWdCO01BQ3pCLElBQUksRUFBRSxrQkFBa0I7TUFDeEIsU0FBUyxFQUFFLGtCQUFrQjtNQUM3QixJQUFJLEVBQUUsa0JBQWtCO01BQ3hCLFNBQVMsRUFBRSxrQkFBa0I7TUFDN0IsS0FBSyxFQUFFLG1CQUFtQjtNQUMxQixVQUFVLEVBQUUsbUJBQW1CO01BQy9CLElBQUksRUFBRSxrQkFBa0I7TUFDeEIsR0FBRyxFQUFFLGlCQUFpQjtNQUN0QixRQUFRLEVBQUUsc0JBQXNCO01BQ2hDLE1BQU0sRUFBRSxvQkFBb0I7TUFDNUIsZ0JBQWdCLEVBQUUsMkJBQTJCO01BQzdDLGNBQWMsRUFBRSx5QkFBeUI7TUFDekMsR0FBRyxFQUFFLHlCQUF5QixDQUFDO0lBQ2pDLENBQUMsQ0FBQztJQUNGLENBQUMsb0JBQW9CLEdBQUcsTUFBTSxDQUFDO01BQzdCLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQyxRQUFRO01BQ3ZDLFdBQVcsRUFBRSx5QkFBeUIsQ0FBQztJQUN6QyxDQUFDLENBQUM7SUFDRixDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUM7TUFDdkIsRUFBRSxFQUFFLGlCQUFpQjtNQUNyQixPQUFPLEVBQUUsaUJBQWlCO01BQzFCLElBQUksRUFBRSxtQkFBbUI7TUFDekIsU0FBUyxFQUFFLG1CQUFtQjtNQUM5QixJQUFJLEVBQUUsbUJBQW1CO01BQ3pCLFNBQVMsRUFBRSxtQkFBbUI7TUFDOUIsS0FBSyxFQUFFLG9CQUFvQjtNQUMzQixVQUFVLEVBQUUsb0JBQW9CO01BQ2hDLElBQUksRUFBRSxtQkFBbUI7TUFDekIsR0FBRyxFQUFFLGtCQUFrQjtNQUN2QixRQUFRLEVBQUUsdUJBQXVCO01BQ2pDLE1BQU0sRUFBRTtJQUNWLENBQUMsQ0FBQztJQUNGLENBQUMscUJBQXFCLEdBQUcsTUFBTSxDQUFDO01BQzlCLEdBQUcsRUFBRSwwQkFBMEIsQ0FBQyxRQUFRO01BQ3hDLFdBQVcsRUFBRSwwQkFBMEIsQ0FBQztJQUMxQyxDQUFDLENBQUM7SUFDRixDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUM7TUFDdEIsRUFBRSxFQUFFLGdCQUFnQjtNQUNwQixPQUFPLEVBQUUsZ0JBQWdCO01BQ3pCLElBQUksRUFBRSxrQkFBa0I7TUFDeEIsU0FBUyxFQUFFLGtCQUFrQjtNQUM3QixJQUFJLEVBQUUsa0JBQWtCO01BQ3hCLFNBQVMsRUFBRSxrQkFBa0I7TUFDN0IsS0FBSyxFQUFFLG1CQUFtQjtNQUMxQixVQUFVLEVBQUUsbUJBQW1CO01BQy9CLElBQUksRUFBRSxrQkFBa0I7TUFDeEIsR0FBRyxFQUFFLGlCQUFpQjtNQUN0QixRQUFRLEVBQUUsc0JBQXNCO01BQ2hDLE1BQU0sRUFBRTtJQUNWLENBQUMsQ0FBQztJQUNGLENBQUMsb0JBQW9CLEdBQUcsTUFBTSxDQUFDO01BQzdCLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQyxRQUFRO01BQ3ZDLFdBQVcsRUFBRSx5QkFBeUIsQ0FBQztJQUN6QyxDQUFDLENBQUM7SUFDRixDQUFDLG9CQUFvQixFQUFFLEtBQUssRUFBRTtNQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsT0FBTztJQUM3QyxDQUFDO0lBQ0QsQ0FBQyxXQUFXLEVBQUUsS0FBSyxFQUFFO01BQ25CLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNwQixNQUFNLEVBQUU7TUFDVixDQUFDLENBQUM7TUFFRixNQUFNLENBQUMsS0FBSyxDQUFDO0lBQ2Y7RUFDRixDQUFDO0VBQ0QsUUFBUSxFQUFFO0lBQ1IsQ0FBQywwQkFBMEIsSUFBSTtNQUM3QixpQkFBaUIsQ0FBQyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUNELENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRTtNQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEVBQUU7UUFDdkMsWUFBWSxDQUFDLElBQUksQ0FBQztNQUNwQjtJQUNGO0VBQ0YsQ0FBQztFQUNELEtBQUssRUFBRTtJQUNMLENBQUMsMEJBQTBCLElBQUk7TUFDN0Isb0JBQW9CLENBQUMsSUFBSSxDQUFDO01BQzFCLHVCQUF1QixDQUFDLElBQUksQ0FBQztJQUMvQjtFQUNGO0FBQ0YsQ0FBQztBQUVELElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFO0VBQ2xCLGdCQUFnQixDQUFDLFNBQVMsR0FBRztJQUMzQixDQUFDLDJCQUEyQixJQUFJO01BQzlCLHVCQUF1QixDQUFDLElBQUksQ0FBQztJQUMvQixDQUFDO0lBQ0QsQ0FBQyxjQUFjLElBQUk7TUFDakIsd0JBQXdCLENBQUMsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFDRCxDQUFDLGFBQWEsSUFBSTtNQUNoQix1QkFBdUIsQ0FBQyxJQUFJLENBQUM7SUFDL0I7RUFDRixDQUFDO0FBQ0g7QUFFQSxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsZ0JBQWdCLEVBQUU7RUFDNUMsSUFBSSxDQUFDLElBQUksRUFBRTtJQUNULGVBQWUsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFFLFlBQVksSUFBSztNQUMzRCxpQkFBaUIsQ0FBQyxZQUFZLENBQUM7SUFDakMsQ0FBQyxDQUFDO0VBQ0osQ0FBQztFQUNELG9CQUFvQjtFQUNwQixPQUFPO0VBQ1AsV0FBVztFQUNYLE1BQU07RUFDTixrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQixjQUFjO0VBQ2Q7QUFDRixDQUFDLENBQUM7O0FBRUY7O0FBRUEsTUFBTSxDQUFDLE9BQU8sR0FBRyxVQUFVOzs7OztBQ3B0RTNCLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyx3Q0FBd0MsQ0FBQztBQUNsRSxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsc0NBQXNDLENBQUM7QUFDOUQsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLGlEQUFpRCxDQUFDO0FBQ2xGLE1BQU07RUFBRSxNQUFNLEVBQUU7QUFBTyxDQUFDLEdBQUcsT0FBTyxDQUFDLGdDQUFnQyxDQUFDO0FBQ3BFLE1BQU07RUFDSixvQkFBb0I7RUFDcEIsa0JBQWtCO0VBQ2xCO0FBQ0YsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxpQ0FBaUMsQ0FBQztBQUU5QyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsTUFBTSxjQUFjO0FBQ2pELE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxNQUFNLG9CQUFvQjtBQUM3RCxNQUFNLG1DQUFtQyxHQUFHLEdBQUcsdUJBQXVCLGVBQWU7QUFDckYsTUFBTSxpQ0FBaUMsR0FBRyxHQUFHLHVCQUF1QixhQUFhO0FBRWpGLE1BQU0sV0FBVyxHQUFHLElBQUksaUJBQWlCLEVBQUU7QUFDM0MsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLHVCQUF1QixFQUFFO0FBQ3ZELE1BQU0sNkJBQTZCLEdBQUcsSUFBSSxtQ0FBbUMsRUFBRTtBQUMvRSxNQUFNLDJCQUEyQixHQUFHLElBQUksaUNBQWlDLEVBQUU7QUFFM0UsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZOztBQUVyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0seUJBQXlCLEdBQUksRUFBRSxJQUFLO0VBQ3hDLE1BQU0saUJBQWlCLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztFQUV2RCxJQUFJLENBQUMsaUJBQWlCLEVBQUU7SUFDdEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsaUJBQWlCLEVBQUUsQ0FBQztFQUNsRTtFQUVBLE1BQU0sWUFBWSxHQUFHLGlCQUFpQixDQUFDLGFBQWEsQ0FDbEQsNkJBQ0YsQ0FBQztFQUNELE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLGFBQWEsQ0FDaEQsMkJBQ0YsQ0FBQztFQUVELE9BQU87SUFDTCxpQkFBaUI7SUFDakIsWUFBWTtJQUNaO0VBQ0YsQ0FBQztBQUNILENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sc0JBQXNCLEdBQUksRUFBRSxJQUFLO0VBQ3JDLE1BQU07SUFBRSxpQkFBaUI7SUFBRSxZQUFZO0lBQUU7RUFBVyxDQUFDLEdBQ25ELHlCQUF5QixDQUFDLEVBQUUsQ0FBQztFQUMvQixNQUFNO0lBQUU7RUFBZ0IsQ0FBQyxHQUFHLG9CQUFvQixDQUFDLFlBQVksQ0FBQztFQUM5RCxNQUFNLFdBQVcsR0FBRyxlQUFlLENBQUMsS0FBSztFQUV6QyxJQUFJLFdBQVcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxFQUFFO0lBQ3ZELFVBQVUsQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLFdBQVc7SUFDeEMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsV0FBVztJQUMxQyxVQUFVLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxXQUFXO0VBQzlDLENBQUMsTUFBTTtJQUNMLFVBQVUsQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRTtJQUNwRSxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxFQUFFO0lBQ2pDLFVBQVUsQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLEVBQUU7RUFDckM7RUFFQSx1QkFBdUIsQ0FBQyxVQUFVLENBQUM7QUFDckMsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxvQkFBb0IsR0FBSSxFQUFFLElBQUs7RUFDbkMsTUFBTTtJQUFFLGlCQUFpQjtJQUFFLFlBQVk7SUFBRTtFQUFXLENBQUMsR0FDbkQseUJBQXlCLENBQUMsRUFBRSxDQUFDO0VBQy9CLE1BQU07SUFBRTtFQUFnQixDQUFDLEdBQUcsb0JBQW9CLENBQUMsVUFBVSxDQUFDO0VBQzVELE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQyxLQUFLO0VBRXpDLElBQUksV0FBVyxJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLEVBQUU7SUFDdkQsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsV0FBVztJQUMxQyxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxXQUFXO0lBQzVDLFlBQVksQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLFdBQVc7RUFDaEQsQ0FBQyxNQUFNO0lBQ0wsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFO0lBQ3RFLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLEVBQUU7SUFDbkMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsRUFBRTtFQUN2QztFQUVBLHVCQUF1QixDQUFDLFlBQVksQ0FBQztBQUN2QyxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLHNCQUFzQixHQUFJLEVBQUUsSUFBSztFQUNyQyxNQUFNLGlCQUFpQixHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUM7RUFFdkQsTUFBTSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLGlCQUFpQixDQUFDO0VBRXJFLElBQUksQ0FBQyxVQUFVLEVBQUU7SUFDZixNQUFNLElBQUksS0FBSyxDQUNiLEdBQUcsaUJBQWlCLDBCQUEwQixXQUFXLFlBQzNELENBQUM7RUFDSDtFQUVBLElBQUksQ0FBQyxRQUFRLEVBQUU7SUFDYixNQUFNLElBQUksS0FBSyxDQUNiLEdBQUcsaUJBQWlCLHVCQUF1QixXQUFXLFdBQ3hELENBQUM7RUFDSDtFQUVBLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLG1DQUFtQyxDQUFDO0VBQzdELFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxDQUFDO0VBRXpELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO0lBQ3RDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsZ0JBQWdCO0VBQ3REO0VBRUEsTUFBTTtJQUFFO0VBQVEsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLE9BQU87RUFDN0MsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsT0FBTztFQUNwQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxPQUFPO0VBRWxDLE1BQU07SUFBRTtFQUFRLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxPQUFPO0VBQzdDLElBQUksT0FBTyxFQUFFO0lBQ1gsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsT0FBTztJQUNwQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxPQUFPO0VBQ3BDO0VBRUEsc0JBQXNCLENBQUMsaUJBQWlCLENBQUM7RUFDekMsb0JBQW9CLENBQUMsaUJBQWlCLENBQUM7QUFDekMsQ0FBQztBQUVELE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FDOUI7RUFDRSxjQUFjLEVBQUU7SUFDZCxDQUFDLDZCQUE2QixJQUFJO01BQ2hDLHNCQUFzQixDQUFDLElBQUksQ0FBQztJQUM5QixDQUFDO0lBQ0QsQ0FBQywyQkFBMkIsSUFBSTtNQUM5QixvQkFBb0IsQ0FBQyxJQUFJLENBQUM7SUFDNUI7RUFDRjtBQUNGLENBQUMsRUFDRDtFQUNFLElBQUksQ0FBQyxJQUFJLEVBQUU7SUFDVCxlQUFlLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFFLGlCQUFpQixJQUFLO01BQ3RFLHNCQUFzQixDQUFDLGlCQUFpQixDQUFDO0lBQzNDLENBQUMsQ0FBQztFQUNKO0FBQ0YsQ0FDRixDQUFDO0FBRUQsTUFBTSxDQUFDLE9BQU8sR0FBRyxlQUFlOzs7OztBQ3pLaEMsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLGlEQUFpRCxDQUFDO0FBQ2xGLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyx3Q0FBd0MsQ0FBQztBQUNsRSxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMseUNBQXlDLENBQUM7QUFDcEUsTUFBTTtFQUFFLE1BQU0sRUFBRTtBQUFPLENBQUMsR0FBRyxPQUFPLENBQUMsZ0NBQWdDLENBQUM7QUFFcEUsTUFBTSxjQUFjLEdBQUcsR0FBRyxNQUFNLGFBQWE7QUFDN0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxjQUFjLEVBQUU7QUFDckMsTUFBTSxXQUFXLEdBQUcsR0FBRyxNQUFNLG9CQUFvQjtBQUNqRCxNQUFNLFlBQVksR0FBRyxHQUFHLE1BQU0scUJBQXFCO0FBQ25ELE1BQU0sS0FBSyxHQUFHLElBQUksV0FBVyxFQUFFO0FBQy9CLE1BQU0sU0FBUyxHQUFHLEdBQUcsTUFBTSxrQkFBa0I7QUFDN0MsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLE1BQU0sMkJBQTJCO0FBQy9ELE1BQU0sYUFBYSxHQUFHLEdBQUcsTUFBTSxzQkFBc0I7QUFDckQsTUFBTSxxQkFBcUIsR0FBRyxHQUFHLE1BQU0sOEJBQThCO0FBQ3JFLE1BQU0sY0FBYyxHQUFHLEdBQUcsTUFBTSx1QkFBdUI7QUFDdkQsTUFBTSxZQUFZLEdBQUcsR0FBRyxNQUFNLHFCQUFxQjtBQUNuRCxNQUFNLDJCQUEyQixHQUFHLEdBQUcsTUFBTSxxQ0FBcUM7QUFDbEYsTUFBTSxlQUFlLEdBQUcsR0FBRyxNQUFNLHdCQUF3QjtBQUN6RCxNQUFNLFVBQVUsR0FBRyxHQUFHLE1BQU0sbUJBQW1CO0FBQy9DLE1BQU0sYUFBYSxHQUFHLFlBQVk7QUFDbEMsTUFBTSxrQkFBa0IsR0FBRyxrQkFBa0I7QUFDN0MsTUFBTSwwQkFBMEIsR0FBRyxHQUFHLE1BQU0sNEJBQTRCO0FBQ3hFLE1BQU0scUJBQXFCLEdBQUcsR0FBRywwQkFBMEIsV0FBVztBQUN0RSxNQUFNLGlCQUFpQixHQUFHLEdBQUcsMEJBQTBCLE9BQU87QUFDOUQsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLDBCQUEwQixRQUFRO0FBQ2hFLE1BQU0sbUJBQW1CLEdBQUcsR0FBRywwQkFBMEIsU0FBUztBQUNsRSxNQUFNLG1CQUFtQixHQUFHLEdBQUcsMEJBQTBCLFNBQVM7QUFDbEUsTUFBTSxhQUFhLEdBQUcsR0FBRyxNQUFNLFVBQVU7QUFDekMsTUFBTSxVQUFVLEdBQ2QsZ0ZBQWdGO0FBRWxGLElBQUksYUFBYSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ25DLElBQUksdUJBQXVCLEdBQUcsRUFBRTtBQUNoQyxJQUFJLHdCQUF3QixHQUFHLEVBQUU7O0FBRWpDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sbUJBQW1CLEdBQUksRUFBRSxJQUFLO0VBQ2xDLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO0VBRXZDLElBQUksQ0FBQyxVQUFVLEVBQUU7SUFDZixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixRQUFRLEVBQUUsQ0FBQztFQUN6RDtFQUVBLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO0VBRS9DLE9BQU87SUFDTCxVQUFVO0lBQ1Y7RUFDRixDQUFDO0FBQ0gsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxPQUFPLEdBQUksRUFBRSxJQUFLO0VBQ3RCLE1BQU07SUFBRSxVQUFVO0lBQUU7RUFBUSxDQUFDLEdBQUcsbUJBQW1CLENBQUMsRUFBRSxDQUFDO0VBRXZELE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSTtFQUN2QixVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUM7QUFDMUMsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxXQUFXLEdBQUksRUFBRSxJQUFLO0VBQzFCLE1BQU07SUFBRTtFQUFXLENBQUMsR0FBRyxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7RUFFOUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO0FBQzFDLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sTUFBTSxHQUFJLEVBQUUsSUFBSztFQUNyQixNQUFNO0lBQUUsVUFBVTtJQUFFO0VBQVEsQ0FBQyxHQUFHLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztFQUV2RCxPQUFPLENBQUMsUUFBUSxHQUFHLEtBQUs7RUFDeEIsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDO0VBQzNDLFVBQVUsQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDO0FBQzdDLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sV0FBVyxHQUFJLENBQUMsSUFBSztFQUN6QixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztFQUN6QixJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxHQUFHO0VBQ3hCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLE9BQU8sT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRTtFQUN2RCxPQUFPLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtBQUNqRCxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLGFBQWEsR0FBSSxJQUFJLElBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDOztBQUV2RTtBQUNBLE1BQU0sY0FBYyxHQUFJLElBQUksSUFDMUIsR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFOztBQUV2RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sYUFBYSxHQUFJLFdBQVcsSUFBSztFQUNyQyxNQUFNLGVBQWUsR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQztFQUM1RCxNQUFNLFVBQVUsR0FBRyxlQUFlLEdBQUcsT0FBTyxHQUFHLE1BQU07RUFFckQsT0FBTyxVQUFVO0FBQ25CLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLGdCQUFnQixHQUFJLFdBQVcsSUFBSztFQUN4QyxNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztFQUNyRCxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztFQUNoRCxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQzs7RUFFekM7RUFDQSxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUM7RUFDNUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDO0VBQ3RDLGVBQWUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQztFQUM3QyxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUM7RUFDNUIsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDOztFQUV0QztFQUNBLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO0VBQ3ZCLFdBQVcsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUM7RUFDNUQsV0FBVyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLFVBQVUsQ0FBQztFQUNoRSxVQUFVLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQztFQUNuQyxlQUFlLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQztFQUV2QyxPQUFPLFVBQVU7QUFDbkIsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLHlCQUF5QixHQUFJLFdBQVcsSUFBSztFQUNqRCxNQUFNLGVBQWUsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztFQUNyRCxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFDO0VBQzdDLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO0VBQ2xELE1BQU0sUUFBUSxHQUFHLFFBQVEsVUFBVSxVQUFVO0VBQzdDLE1BQU0sVUFBVSxHQUFHLG9CQUFvQjs7RUFFdkM7RUFDQSx1QkFBdUIsR0FBRyxHQUFHLFFBQVEsSUFBSSxVQUFVLEVBQUU7O0VBRXJEO0VBQ0EsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUM7RUFDOUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDOztFQUVoRDtFQUNBLFdBQVcsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLHVCQUF1QixDQUFDO0VBQy9ELFlBQVksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLFVBQVUsZ0JBQWdCLGVBQWUsS0FBSyxRQUFRLHdCQUF3QixZQUFZLEtBQUssVUFBVSxTQUFTOztFQUVySjtFQUNBLFdBQVcsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUM7O0VBRTlEO0VBQ0EsSUFDRSxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFDcEMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQ3RDO0lBQ0EsZUFBZSxDQUFDLGFBQWEsQ0FBQyxJQUFJLGVBQWUsRUFBRSxDQUFDLENBQUMsU0FBUyxHQUFHLEVBQUU7RUFDckU7RUFFQSxPQUFPLFlBQVk7QUFDckIsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLGtCQUFrQixHQUFJLFdBQVcsSUFBSztFQUMxQyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztFQUM5QyxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFDO0VBQzdDLE1BQU0sZUFBZSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO0VBQ3JELE1BQU0sZUFBZSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztFQUUvRCx3QkFBd0IsR0FBRyxNQUFNLFVBQVUsWUFBWTs7RUFFdkQ7RUFDQSxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUM7RUFDckMsUUFBUSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDOztFQUU1QztFQUNBLFFBQVEsQ0FBQyxXQUFXLEdBQUcsd0JBQXdCOztFQUUvQztFQUNBLGVBQWUsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQztBQUN6RCxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLGdCQUFnQixHQUFJLFdBQVcsSUFBSztFQUN4QyxNQUFNLGVBQWUsR0FDbkIsV0FBVyxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsSUFDekMsV0FBVyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUM7RUFDdEMsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsV0FBVyxDQUFDO0VBQ2hELE1BQU0sWUFBWSxHQUFHLHlCQUF5QixDQUFDLFdBQVcsQ0FBQztFQUMzRCxNQUFNO0lBQUU7RUFBVyxDQUFDLEdBQUcsbUJBQW1CLENBQUMsV0FBVyxDQUFDO0VBRXZELElBQUksZUFBZSxFQUFFO0lBQ25CLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQztFQUMxQyxDQUFDLE1BQU07SUFDTCxrQkFBa0IsQ0FBQyxXQUFXLENBQUM7RUFDakM7RUFFQSxPQUFPO0lBQUUsWUFBWTtJQUFFO0VBQVcsQ0FBQztBQUNyQyxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFVBQVUsRUFBRSxZQUFZLEtBQUs7RUFDdEQsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLGdCQUFnQixDQUFDLElBQUksYUFBYSxFQUFFLENBQUM7RUFDckUsTUFBTSxxQkFBcUIsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUNwRCxJQUFJLHFCQUFxQixFQUMzQixDQUFDO0VBQ0QsTUFBTSxtQkFBbUIsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUNsRCxJQUFJLDJCQUEyQixFQUNqQyxDQUFDOztFQUVEO0FBQ0Y7QUFDQTtBQUNBO0VBQ0UsTUFBTSxZQUFZLEdBQUksSUFBSSxJQUFLO0lBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztFQUNuQyxDQUFDOztFQUVEO0VBQ0EsSUFBSSxxQkFBcUIsRUFBRTtJQUN6QixxQkFBcUIsQ0FBQyxTQUFTLEdBQUcsRUFBRTtFQUN0Qzs7RUFFQTtFQUNBLElBQUksbUJBQW1CLEVBQUU7SUFDdkIsbUJBQW1CLENBQUMsU0FBUyxHQUFHLEVBQUU7SUFDbEMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUM7RUFDakQ7O0VBRUE7RUFDQSxJQUFJLFlBQVksS0FBSyxJQUFJLEVBQUU7SUFDekIsSUFBSSxZQUFZLEVBQUU7TUFDaEIsWUFBWSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUM7SUFDeEM7SUFDQSxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQztFQUMxRDtBQUNGLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLG1CQUFtQixHQUFHLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxTQUFTLEtBQUs7RUFDbkUsTUFBTSxRQUFRLEdBQUcsYUFBYTtFQUM5QixJQUFJLGFBQWEsR0FBRyx3QkFBd0I7O0VBRTVDO0VBQ0EsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtJQUMxQixhQUFhLEdBQUcsK0JBQStCLFNBQVMsRUFBRTtFQUM1RCxDQUFDLE1BQU0sSUFBSSxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtJQUMvQixhQUFhLEdBQUcscUJBQ2QsU0FBUyxDQUFDLE1BQU0sV0FDUCxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO0VBQ25DOztFQUVBO0VBQ0EsVUFBVSxDQUFDLE1BQU07SUFDZixRQUFRLENBQUMsV0FBVyxHQUFHLGFBQWE7RUFDdEMsQ0FBQyxFQUFFLElBQUksQ0FBQztBQUNWLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLGlCQUFpQixHQUFHLENBQUMsV0FBVyxFQUFFLFNBQVMsS0FBSztFQUNwRCxNQUFNLG1CQUFtQixHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO0VBQ3pELE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztFQUMxRCxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksa0JBQWtCLEVBQUUsQ0FBQztFQUN2RSxJQUFJLGNBQWMsR0FBRyxhQUFhO0VBQ2xDLElBQUksa0JBQWtCLEdBQUcsRUFBRTtFQUUzQixJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO0lBQzFCLGtCQUFrQixHQUFHLFNBQVMsQ0FBQyxVQUFVLHNEQUFzRCxjQUFjLFNBQVM7RUFDeEgsQ0FBQyxNQUFNLElBQUksU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7SUFDL0IsY0FBYyxHQUFHLGNBQWM7SUFDL0Isa0JBQWtCLEdBQUcsU0FBUyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsTUFBTSx3REFBd0QsY0FBYyxTQUFTO0VBQzdJOztFQUVBO0VBQ0EsWUFBWSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDO0VBQzNDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUM7RUFDeEQsbUJBQW1CLENBQUMsU0FBUyxHQUFHLGtCQUFrQjtFQUNsRCxVQUFVLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLFlBQVksQ0FBQzs7RUFFMUQ7RUFDQSxXQUFXLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxjQUFjLENBQUM7QUFDeEQsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsTUFBTSxZQUFZLEdBQUcsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxVQUFVLEtBQUs7RUFDakUsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLO0VBQ2hDLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxjQUFjLEVBQUUsQ0FBQztFQUM1RCxNQUFNLGFBQWEsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksYUFBYSxFQUFFLENBQUM7RUFDcEUsTUFBTSxTQUFTLEdBQUcsRUFBRTs7RUFFcEI7RUFDQSxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDOztFQUUzQztFQUNBLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUU7SUFDNUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLENBQUMsQ0FBQztJQUMvQixNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtJQUNsQyxJQUFJLE9BQU87O0lBRVg7SUFDQSxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQzs7SUFFeEI7SUFDQSxNQUFNLENBQUMsV0FBVyxHQUFHLFNBQVMsa0JBQWtCLENBQUEsRUFBRztNQUNqRCxPQUFPLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztNQUVqRCxZQUFZLENBQUMsa0JBQWtCLENBQzdCLFVBQVUsRUFDVixTQUFTLENBQUMsVUFBVSxlQUFlLGFBQWE7QUFDeEQscUJBQXFCLE9BQU8sVUFBVSxVQUFVLG1CQUFtQiwwQkFBMEIsSUFBSSxhQUFhLE1BQU0sUUFBUTtBQUM1SCxjQUNNLENBQUM7SUFDSCxDQUFDOztJQUVEO0lBQ0EsTUFBTSxDQUFDLFNBQVMsR0FBRyxTQUFTLGlCQUFpQixDQUFBLEVBQUc7TUFDOUMsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUM7TUFDckQsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUNoQyxZQUFZLENBQUMsWUFBWSxDQUN2QixTQUFTLEVBQ1QsK0JBQStCLFVBQVUsMEJBQTBCLGlCQUFpQixJQUN0RixDQUFDO01BQ0gsQ0FBQyxNQUFNLElBQ0wsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQzVCLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUM5QjtRQUNBLFlBQVksQ0FBQyxZQUFZLENBQ3ZCLFNBQVMsRUFDVCwrQkFBK0IsVUFBVSwwQkFBMEIsa0JBQWtCLElBQ3ZGLENBQUM7TUFDSCxDQUFDLE1BQU0sSUFDTCxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFDNUIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQ2hDO1FBQ0EsWUFBWSxDQUFDLFlBQVksQ0FDdkIsU0FBUyxFQUNULCtCQUErQixVQUFVLDBCQUEwQixtQkFBbUIsSUFDeEYsQ0FBQztNQUNILENBQUMsTUFBTSxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3ZFLFlBQVksQ0FBQyxZQUFZLENBQ3ZCLFNBQVMsRUFDVCwrQkFBK0IsVUFBVSwwQkFBMEIsbUJBQW1CLElBQ3hGLENBQUM7TUFDSCxDQUFDLE1BQU07UUFDTCxZQUFZLENBQUMsWUFBWSxDQUN2QixTQUFTLEVBQ1QsK0JBQStCLFVBQVUsMEJBQTBCLHFCQUFxQixJQUMxRixDQUFDO01BQ0g7O01BRUE7TUFDQSxZQUFZLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUM7TUFDNUMsWUFBWSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTTtJQUNsQyxDQUFDO0lBRUQsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7TUFDaEIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEM7RUFDRjtFQUVBLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7SUFDMUI7SUFDQSxXQUFXLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSx1QkFBdUIsQ0FBQztFQUNqRSxDQUFDLE1BQU07SUFDTCxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDO0VBQzNDO0VBRUEsbUJBQW1CLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUM7QUFDMUQsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFVBQVUsS0FBSztFQUN4RSxNQUFNLGlCQUFpQixHQUFHLFdBQVcsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO0VBQzVELFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDOztFQUUvQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUNFLE1BQU0sVUFBVSxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssS0FBSztJQUNsQyxJQUFJLFdBQVcsR0FBRyxLQUFLO0lBQ3ZCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQy9CLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRTtNQUNaLFdBQVcsR0FBRyxJQUFJO0lBQ3BCO0lBQ0EsT0FBTyxXQUFXO0VBQ3BCLENBQUM7O0VBRUQ7RUFDQSxJQUFJLGlCQUFpQixFQUFFO0lBQ3JCLE1BQU0sYUFBYSxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDbEQsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7O0lBRWxEO0lBQ0EsSUFBSSxlQUFlLEdBQUcsSUFBSTtJQUMxQixNQUFNLFlBQVksR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUs7SUFDM0QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRTtNQUMvQyxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDO01BQzVCLElBQUksZUFBZSxFQUFFO1FBQ25CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUU7VUFDaEQsTUFBTSxRQUFRLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQztVQUNqQyxlQUFlLEdBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUMvQixVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztVQUNwRCxJQUFJLGVBQWUsRUFBRTtZQUNuQixhQUFhLEdBQUcsSUFBSTtZQUNwQjtVQUNGO1FBQ0Y7TUFDRixDQUFDLE1BQU07SUFDVDs7SUFFQTtJQUNBLElBQUksQ0FBQyxlQUFlLEVBQUU7TUFDcEIsaUJBQWlCLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQztNQUMzQyxXQUFXLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDO01BQ3hCLFVBQVUsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQztNQUNsRCxZQUFZLENBQUMsV0FBVyxHQUN0QixXQUFXLENBQUMsT0FBTyxDQUFDLFlBQVksSUFBSSxnQ0FBZ0M7TUFDdEUsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUM7TUFDdkQsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUM7TUFDNUMsYUFBYSxHQUFHLEtBQUs7TUFDckIsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO01BQ2xCLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNyQjtFQUNGO0FBQ0YsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLFlBQVksR0FBRyxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFVBQVUsS0FBSztFQUNyRSxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxVQUFVLENBQUM7RUFDakUsSUFBSSxhQUFhLEtBQUssSUFBSSxFQUFFO0lBQzFCLFlBQVksQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxVQUFVLENBQUM7RUFDNUQ7QUFDRixDQUFDO0FBRUQsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUN4QixDQUFDLENBQUMsRUFDRjtFQUNFLElBQUksQ0FBQyxJQUFJLEVBQUU7SUFDVCxlQUFlLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBRSxXQUFXLElBQUs7TUFDdkQsTUFBTTtRQUFFLFlBQVk7UUFBRTtNQUFXLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUM7TUFFbEUsVUFBVSxDQUFDLGdCQUFnQixDQUN6QixVQUFVLEVBQ1YsU0FBUyxjQUFjLENBQUEsRUFBRztRQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUM7TUFDaEMsQ0FBQyxFQUNELEtBQ0YsQ0FBQztNQUVELFVBQVUsQ0FBQyxnQkFBZ0IsQ0FDekIsV0FBVyxFQUNYLFNBQVMsZUFBZSxDQUFBLEVBQUc7UUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO01BQ25DLENBQUMsRUFDRCxLQUNGLENBQUM7TUFFRCxVQUFVLENBQUMsZ0JBQWdCLENBQ3pCLE1BQU0sRUFDTixTQUFTLFVBQVUsQ0FBQSxFQUFHO1FBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztNQUNuQyxDQUFDLEVBQ0QsS0FDRixDQUFDO01BRUQsV0FBVyxDQUFDLGdCQUFnQixDQUMxQixRQUFRLEVBQ1AsQ0FBQyxJQUFLLFlBQVksQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxVQUFVLENBQUMsRUFDN0QsS0FDRixDQUFDO0lBQ0gsQ0FBQyxDQUFDO0VBQ0osQ0FBQztFQUNELFFBQVEsQ0FBQyxJQUFJLEVBQUU7SUFDYixlQUFlLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBRSxXQUFXLElBQUs7TUFDcEQsTUFBTSxtQkFBbUIsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDLGFBQWE7TUFDbkUsbUJBQW1CLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FDNUMsV0FBVyxFQUNYLG1CQUNGLENBQUM7TUFDRDtNQUNBLFdBQVcsQ0FBQyxTQUFTLEdBQUcsY0FBYztJQUN4QyxDQUFDLENBQUM7RUFDSixDQUFDO0VBQ0QsbUJBQW1CO0VBQ25CLE9BQU87RUFDUCxXQUFXO0VBQ1g7QUFDRixDQUNGLENBQUM7QUFFRCxNQUFNLENBQUMsT0FBTyxHQUFHLFNBQVM7Ozs7O0FDbGxCMUIsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLHdDQUF3QyxDQUFDO0FBQ2xFLE1BQU07RUFBRTtBQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsZ0NBQWdDLENBQUM7QUFDM0QsTUFBTTtFQUFFLE1BQU0sRUFBRTtBQUFPLENBQUMsR0FBRyxPQUFPLENBQUMsZ0NBQWdDLENBQUM7QUFFcEUsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLGNBQWM7QUFDdEMsTUFBTSxHQUFHLEdBQUcsR0FBRyxLQUFLLE1BQU07QUFDMUIsTUFBTSxNQUFNLEdBQUcsR0FBRyxHQUFHLEtBQUssTUFBTSx1QkFBdUI7QUFDdkQsTUFBTSxjQUFjLEdBQUcsR0FBRzs7QUFFMUI7QUFDQTtBQUNBO0FBQ0EsU0FBUyxTQUFTLENBQUEsRUFBRztFQUNuQixJQUFJLE1BQU0sQ0FBQyxVQUFVLEdBQUcsY0FBYyxFQUFFO0lBQ3RDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLEtBQUssTUFBTTtJQUM1RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQzs7SUFFdEM7SUFDQSxVQUFVLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFFLE1BQU0sSUFBSztNQUN0RCxNQUFNLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUM7SUFDN0MsQ0FBQyxDQUFDO0lBRUYsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxNQUFNLENBQUM7RUFDN0M7QUFDRjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLGFBQWEsQ0FBQyxRQUFRLEVBQUU7RUFDL0IsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7RUFFL0MsSUFBSSxDQUFDLFNBQVMsRUFBRTtJQUNkO0VBQ0Y7RUFFQSxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO0VBRXZELFlBQVksQ0FBQyxPQUFPLENBQUUsY0FBYyxJQUFLO0lBQ3ZDLE1BQU0scUJBQXFCLEdBQUcsY0FBYyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7SUFDbEUsTUFBTSxnQkFBZ0IsR0FDcEIsY0FBYyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxjQUFjLENBQUMsT0FBTztJQUVuRSxNQUFNLGNBQWMsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLGdCQUFnQjs7SUFFN0Q7SUFDQSxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQztJQUN6RCxVQUFVLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxxQkFBcUIsQ0FBQztJQUN2RCxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FDekIsR0FBRyxNQUFNLCtCQUErQixFQUN4QyxRQUNGLENBQUM7SUFDRCxVQUFVLENBQUMsV0FBVyxHQUFHLGNBQWMsQ0FBQyxXQUFXO0lBRW5ELElBQUksUUFBUSxFQUFFO01BQ1osVUFBVSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLE9BQU8sQ0FBQztNQUMzRCxNQUFNLE1BQU0sR0FBRyxHQUFHLE1BQU0scUJBQXFCLElBQUksQ0FBQyxLQUFLLENBQ3JELElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQ2xCLENBQUMsRUFBRTtNQUVILFVBQVUsQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQztNQUNoRCxVQUFVLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUM7TUFDakQsY0FBYyxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO01BQzVELFVBQVUsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQztJQUMzQzs7SUFFQTtJQUNBLGNBQWMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO0lBQ2hDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztFQUN6QixDQUFDLENBQUM7QUFDSjtBQUVBLE1BQU0sTUFBTSxHQUFJLEtBQUssSUFBSztFQUN4QixhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztBQUM5QixDQUFDO0FBRUQsTUFBTSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQ3ZCO0VBQ0UsQ0FBQyxLQUFLLEdBQUc7SUFDUCxDQUFDLE1BQU0sR0FBRztFQUNaO0FBQ0YsQ0FBQyxFQUNEO0VBQ0U7RUFDQSxjQUFjO0VBRWQsSUFBSSxDQUFBLEVBQUc7SUFDTCxhQUFhLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxjQUFjLENBQUM7SUFDakQsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUNyQyxlQUFlLGNBQWMsR0FBRyxHQUFHLEtBQ3JDLENBQUM7SUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7RUFDekMsQ0FBQztFQUVELFFBQVEsQ0FBQSxFQUFHO0lBQ1QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDO0VBQzVDO0FBQ0YsQ0FDRixDQUFDOzs7OztBQ3JHRCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUM7QUFDekMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLHdDQUF3QyxDQUFDO0FBQ2xFLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQztBQUM5RCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsc0NBQXNDLENBQUM7QUFDOUQsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLDBDQUEwQyxDQUFDO0FBQ3JFLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQywrQkFBK0IsQ0FBQztBQUMxRCxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsK0NBQStDLENBQUM7QUFFL0UsTUFBTTtFQUFFO0FBQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQztBQUMzRCxNQUFNO0VBQUUsTUFBTSxFQUFFO0FBQU8sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQztBQUVwRSxNQUFNLElBQUksR0FBRyxNQUFNO0FBQ25CLE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxTQUFTO0FBQ2xDLE1BQU0sR0FBRyxHQUFHLElBQUksTUFBTSxNQUFNO0FBQzVCLE1BQU0sYUFBYSxHQUFHLElBQUksTUFBTSxnQkFBZ0I7QUFDaEQsTUFBTSxXQUFXLEdBQUcsSUFBSSxNQUFNLGVBQWU7QUFDN0MsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLE1BQU0sb0JBQW9CO0FBQ3ZELE1BQU0sV0FBVyxHQUFHLFVBQVUsTUFBTSxZQUFZO0FBQ2hELE1BQU0sU0FBUyxHQUFHLEdBQUcsR0FBRyxJQUFJO0FBQzVCLE1BQU0sd0JBQXdCLEdBQUcsaUJBQWlCO0FBQ2xELE1BQU0sT0FBTyxHQUFHLElBQUksTUFBTSxXQUFXO0FBQ3JDLE1BQU0sWUFBWSxHQUFHLElBQUksTUFBTSxhQUFhO0FBQzVDLE1BQU0sT0FBTyxHQUFHLElBQUksTUFBTSxVQUFVO0FBQ3BDLE1BQU0sT0FBTyxHQUFHLEdBQUcsWUFBWSxNQUFNLE1BQU0sVUFBVTtBQUNyRCxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0FBQ3pDLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxNQUFNLEtBQUssYUFBYSxLQUFLLEdBQUcsS0FBSyxHQUFHLHdCQUF3QjtBQUN2RyxNQUFNLGNBQWMsR0FBRyxJQUFJLHdCQUF3QixHQUFHO0FBRXRELE1BQU0sWUFBWSxHQUFHLDJCQUEyQjtBQUNoRCxNQUFNLGFBQWEsR0FBRyxZQUFZO0FBRWxDLElBQUksVUFBVTtBQUNkLElBQUksU0FBUztBQUNiLElBQUksY0FBYztBQUVsQixNQUFNLFFBQVEsR0FBRyxDQUFBLEtBQU0sUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQztBQUNyRTtBQUNBO0FBQ0EsTUFBTSxRQUFRLEdBQ1osU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQ3RDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO0FBQ3pDLE1BQU0sZUFBZSxHQUFHLGNBQWMsQ0FBQyxDQUFDO0FBQ3hDLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FDM0IsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUMvQixnQkFBZ0IsQ0FBQyxlQUFlLENBQUM7QUFDcEMsTUFBTSxpQkFBaUIsR0FBRyxHQUN4QixRQUFRLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQy9DLFFBQVEsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsSUFDN0M7QUFFSixNQUFNLGVBQWUsR0FBRyxDQUFBLEtBQU07RUFDNUIsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLENBQUMsVUFBVTtFQUNuRSxjQUFjLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDO0VBRTVELGNBQWMsQ0FBQyxPQUFPLENBQUUsYUFBYSxJQUFLO0lBQ3hDLElBQUksYUFBYSxLQUFLLFlBQVksRUFBRTtNQUNsQyxhQUFhLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUM7TUFDL0MsYUFBYSxDQUFDLFlBQVksQ0FBQyx3QkFBd0IsRUFBRSxFQUFFLENBQUM7SUFDMUQ7RUFDRixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxlQUFlLEdBQUcsQ0FBQSxLQUFNO0VBQzVCLGNBQWMsR0FBRyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDO0VBRTFELElBQUksQ0FBQyxjQUFjLEVBQUU7SUFDbkI7RUFDRjs7RUFFQTtFQUNBLGNBQWMsQ0FBQyxPQUFPLENBQUUsYUFBYSxJQUFLO0lBQ3hDLGFBQWEsQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDO0lBQzVDLGFBQWEsQ0FBQyxlQUFlLENBQUMsd0JBQXdCLENBQUM7RUFDekQsQ0FBQyxDQUFDO0FBQ0osQ0FBQzs7QUFFRDtBQUNBLE1BQU0saUJBQWlCLEdBQUksTUFBTSxJQUFLO0VBQ3BDLElBQUksTUFBTSxFQUFFO0lBQ1YsZUFBZSxDQUFDLENBQUM7RUFDbkIsQ0FBQyxNQUFNO0lBQ0wsZUFBZSxDQUFDLENBQUM7RUFDbkI7QUFDRixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxjQUFjLEdBQUcsQ0FBQSxLQUFNO0VBQzNCLElBQUksUUFBUSxFQUFFO0lBQ1osUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQztFQUMxQztBQUNGLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSx1QkFBdUIsR0FBSSxJQUFJLElBQUs7RUFDeEMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLE1BQU0sQ0FBQyxPQUFPLElBQUk7RUFDcEQsSUFBSSxRQUFRLEVBQUU7SUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUscUJBQXFCLENBQUM7RUFDOUQ7QUFDRixDQUFDO0FBRUQsTUFBTSxTQUFTLEdBQUksTUFBTSxJQUFLO0VBQzVCLE1BQU07SUFBRTtFQUFLLENBQUMsR0FBRyxRQUFRO0VBQ3pCLE1BQU0sVUFBVSxHQUFHLE9BQU8sTUFBTSxLQUFLLFNBQVMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztFQUVyRSx1QkFBdUIsQ0FBQyxJQUFJLENBQUM7RUFFN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQztFQUUvQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFFLEVBQUUsSUFDekIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FDL0MsQ0FBQztFQUVELFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztFQUV2QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztFQUNwRCxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQztFQUVsRCxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksR0FDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEtBQUssaUJBQWlCLEdBQ3pDLGVBQWUsR0FDZixpQkFBaUI7RUFFdkIsaUJBQWlCLENBQUMsVUFBVSxDQUFDO0VBRTdCLElBQUksVUFBVSxJQUFJLFdBQVcsRUFBRTtJQUM3QjtJQUNBO0lBQ0EsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0VBQ3JCLENBQUMsTUFBTSxJQUNMLENBQUMsVUFBVSxJQUNYLFVBQVUsSUFDVixnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLEtBQUssTUFBTSxFQUMvQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0VBQ3BCO0VBRUEsT0FBTyxVQUFVO0FBQ25CLENBQUM7QUFFRCxNQUFNLE1BQU0sR0FBRyxDQUFBLEtBQU07RUFDbkIsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO0VBRXhELElBQUksUUFBUSxDQUFDLENBQUMsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxFQUFFO0lBQ3RFO0lBQ0E7SUFDQTtJQUNBLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7RUFDMUM7QUFDRixDQUFDO0FBRUQsTUFBTSxXQUFXLEdBQUcsQ0FBQSxLQUFNLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUM7QUFFdEUsTUFBTSxxQkFBcUIsR0FBRyxDQUFBLEtBQU07RUFDbEMsSUFBSSxDQUFDLFNBQVMsRUFBRTtJQUNkO0VBQ0Y7RUFFQSxNQUFNLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQztFQUN4QixTQUFTLEdBQUcsSUFBSTtBQUNsQixDQUFDO0FBRUQsTUFBTSxjQUFjLEdBQUksS0FBSyxJQUFLO0VBQ2hDLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDOztFQUU1RDtFQUNBLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRTtJQUN0QyxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUMzRCxJQUFJLFVBQVUsRUFBRTtNQUNkLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQjtFQUNGO0FBQ0YsQ0FBQztBQUVELE1BQU0sWUFBWSxHQUFJLEtBQUssSUFBSztFQUM5QixxQkFBcUIsQ0FBQyxDQUFDO0VBQ3ZCLGNBQWMsQ0FBQyxLQUFLLENBQUM7QUFDdkIsQ0FBQztBQUVELFVBQVUsR0FBRyxRQUFRLENBQ25CO0VBQ0UsQ0FBQyxLQUFLLEdBQUc7SUFDUCxDQUFDLFdBQVcsSUFBSTtNQUNkO01BQ0EsSUFBSSxTQUFTLEtBQUssSUFBSSxFQUFFO1FBQ3RCLHFCQUFxQixDQUFDLENBQUM7TUFDekI7TUFDQTtNQUNBO01BQ0EsSUFBSSxDQUFDLFNBQVMsRUFBRTtRQUNkLFNBQVMsR0FBRyxJQUFJO1FBQ2hCLE1BQU0sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDO01BQ3pCOztNQUVBO01BQ0EsT0FBTyxLQUFLO0lBQ2QsQ0FBQztJQUNELENBQUMsSUFBSSxHQUFHLHFCQUFxQjtJQUM3QixDQUFDLE9BQU8sR0FBRyxTQUFTO0lBQ3BCLENBQUMsT0FBTyxHQUFHLFNBQVM7SUFDcEIsQ0FBQyxTQUFTLElBQUk7TUFDWjtNQUNBO01BQ0E7O01BRUE7TUFDQTtNQUNBLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztNQUU3QyxJQUFJLEdBQUcsRUFBRTtRQUNQLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFFLEdBQUcsSUFBSyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO01BQ2pFOztNQUVBO01BQ0EsSUFBSSxRQUFRLENBQUMsQ0FBQyxFQUFFO1FBQ2QsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQztNQUM5QztJQUNGO0VBQ0YsQ0FBQztFQUNELE9BQU8sRUFBRTtJQUNQLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQztNQUFFLE1BQU0sRUFBRTtJQUFhLENBQUM7RUFDaEQsQ0FBQztFQUNELFFBQVEsRUFBRTtJQUNSLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRTtNQUNuQixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7TUFFN0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFO1FBQ3RDLHFCQUFxQixDQUFDLENBQUM7TUFDekI7SUFDRjtFQUNGO0FBQ0YsQ0FBQyxFQUNEO0VBQ0UsSUFBSSxDQUFDLElBQUksRUFBRTtJQUNULE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDO0lBRXhFLElBQUksYUFBYSxFQUFFO01BQ2pCLFVBQVUsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLGFBQWEsRUFBRTtRQUM5QyxNQUFNLEVBQUU7TUFDVixDQUFDLENBQUM7SUFDSjtJQUVBLGNBQWMsQ0FBQyxDQUFDO0lBQ2hCLE1BQU0sQ0FBQyxDQUFDO0lBQ1IsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDO0VBQ2xELENBQUM7RUFDRCxRQUFRLENBQUEsRUFBRztJQUNULE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQztJQUNuRCxTQUFTLEdBQUcsS0FBSztFQUNuQixDQUFDO0VBQ0QsU0FBUyxFQUFFLElBQUk7RUFDZjtBQUNGLENBQ0YsQ0FBQztBQUVELE1BQU0sQ0FBQyxPQUFPLEdBQUcsVUFBVTs7Ozs7QUMxUTNCLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUM7QUFDckMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDO0FBQ3pDLE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyxpREFBaUQsQ0FBQztBQUNsRixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsd0NBQXdDLENBQUM7QUFDbEUsTUFBTTtFQUFFLE1BQU0sRUFBRTtBQUFPLENBQUMsR0FBRyxPQUFPLENBQUMsZ0NBQWdDLENBQUM7QUFDcEUsTUFBTTtFQUFFO0FBQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQztBQUMzRCxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMseUNBQXlDLENBQUM7QUFFcEUsTUFBTSxhQUFhLEdBQUcsR0FBRyxNQUFNLFVBQVU7QUFDekMsTUFBTSxvQkFBb0IsR0FBRyxPQUFPO0FBQ3BDLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztBQUN2RSxNQUFNLHNCQUFzQixHQUFHLGNBQWM7QUFDN0MsTUFBTSwrQkFBK0IsR0FBRyxJQUFJO0FBQzVDLE1BQU0seUJBQXlCLEdBQUcsQ0FBQztBQUNuQyxNQUFNLHVCQUF1QixHQUFHLGlCQUFpQjtBQUNqRCxNQUFNLHFCQUFxQixHQUFHLEdBQUc7QUFDakMsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLE1BQU0sY0FBYztBQUNqRCxNQUFNLHdCQUF3QixHQUFHLEdBQUcsTUFBTSxTQUFTO0FBQ25ELE1BQU0scUJBQXFCLEdBQUcsR0FBRyxpQkFBaUIsT0FBTztBQUN6RCxNQUFNLHNCQUFzQixHQUFHLEdBQUcsaUJBQWlCLFFBQVE7QUFDM0QsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLGlCQUFpQixRQUFRO0FBQzNELE1BQU0sOEJBQThCLEdBQUcsR0FBRyxzQkFBc0IsV0FBVztBQUMzRSxNQUFNLHNCQUFzQixHQUFHLEdBQUcsaUJBQWlCLFFBQVE7QUFDM0QsTUFBTSx1QkFBdUIsR0FBRyxHQUFHLGlCQUFpQixXQUFXO0FBQy9ELE1BQU0sWUFBWSxHQUFHLE1BQU07O0FBRTNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLFNBQVMsR0FBSSxFQUFFLElBQUs7RUFDeEIsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDLElBQUksc0JBQXNCLEVBQUUsQ0FBQztFQUN4RSxFQUFFLENBQUMsR0FBRyxDQUFFLENBQUMsSUFBSztJQUNaLElBQUksQ0FBQyxDQUFDLGNBQWMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLGlCQUFpQixJQUFJLENBQUMsRUFBRTtNQUN6RCxRQUFRLENBQUMsT0FBTyxDQUFFLElBQUksSUFBSyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztNQUNoRSxRQUFRLENBQ0wsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUMxQyxTQUFTLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQztNQUMvQixPQUFPLElBQUk7SUFDYjtJQUNBLE9BQU8sS0FBSztFQUNkLENBQUMsQ0FBQztBQUNKLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSwwQkFBMEIsR0FBRyxDQUNqQyxxQkFBcUIsRUFDckIsb0JBQW9CLEtBQ2pCO0VBQ0g7RUFDQSxNQUFNLHlCQUF5QixHQUFHLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FDL0Qsb0JBQW9CLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUMvQixvQkFBb0I7RUFDeEIsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQztFQUVuRSx5QkFBeUIsQ0FBQyxPQUFPLENBQUUsV0FBVyxJQUFLO0lBQ2pELElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUU7TUFDckQsTUFBTSxJQUFJLEtBQUssQ0FDYiw4RkFBOEYsV0FBVztBQUNqSCxtRUFBbUUsMEJBQTBCO0FBQzdGLDRFQUNNLENBQUM7SUFDSDtFQUNGLENBQUMsQ0FBQztFQUVGLE1BQU0sb0JBQW9CLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FDckMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLHlCQUF5QixDQUMxRCxDQUFDO0VBRUQsT0FBTyxvQkFBb0I7QUFDN0IsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0seUJBQXlCLEdBQUcsQ0FDaEMscUJBQXFCLEVBQ3JCLG9CQUFvQixLQUNqQjtFQUNILE1BQU0sZUFBZSxHQUFHLDBCQUEwQixDQUNoRCxxQkFBcUIsRUFDckIsb0JBQ0YsQ0FBQzs7RUFFRDtFQUNBLE1BQU0sc0JBQXNCLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBRSxPQUFPLElBQUs7SUFDakUsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztJQUNyRCxNQUFNLGNBQWMsR0FDbEIsWUFBWSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxLQUFLLE1BQU0sSUFDbkQsWUFBWSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxLQUFLLFFBQVE7SUFFMUQsT0FBTyxjQUFjO0VBQ3ZCLENBQUMsQ0FBQztFQUVGLE9BQU8sc0JBQXNCO0FBQy9CLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsTUFBTSxrQkFBa0IsR0FBSSxlQUFlLElBQUs7RUFDOUMsTUFBTSxVQUFVLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztFQUMzRCxPQUFPLFVBQVU7QUFDbkIsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxpQkFBaUIsR0FBRyxDQUFBLEtBQU07RUFDOUIsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUM5QyxJQUFJLHdCQUF3QixFQUM5QixDQUFDO0VBQ0QsT0FBTyxjQUFjO0FBQ3ZCLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLFlBQVksR0FBSSxPQUFPLElBQUs7RUFDaEMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FDL0IsV0FBVyxDQUFDO0VBQ2I7RUFBQSxDQUNDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsR0FBRztFQUN6QjtFQUFBLENBQ0MsT0FBTyxDQUFDLFFBQVEsRUFBRSxHQUFHO0VBQ3RCO0VBQUEsQ0FDQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztFQUV4QixJQUFJLEVBQUU7RUFDTixJQUFJLE1BQU0sR0FBRyxDQUFDO0VBQ2QsR0FBRztJQUNELEVBQUUsR0FBRyxNQUFNOztJQUVYO0lBQ0E7SUFDQSxNQUFNLElBQUksQ0FBQztJQUNYLElBQUksTUFBTSxHQUFHLENBQUMsRUFBRTtNQUNkLEVBQUUsSUFBSSxJQUFJLE1BQU0sRUFBRTtJQUNwQjtFQUNGLENBQUMsUUFBUSxRQUFRLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztFQUVwQyxPQUFPLEVBQUU7QUFDWCxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLFlBQVksR0FBSSxLQUFLLElBQUs7RUFDOUIsSUFBSSxFQUFFOztFQUVOO0VBQ0EsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxDQUFDLEVBQUU7SUFDakMsRUFBRSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7RUFDbEQsQ0FBQyxNQUFNO0lBQ0wsRUFBRSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO0VBQ3pDO0VBRUEsT0FBTyxFQUFFO0FBQ1gsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxxQkFBcUIsR0FBSSxFQUFFLElBQUs7RUFDcEMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLGlCQUFpQixFQUFFLENBQUM7RUFDbkUsTUFBTSxxQkFBcUIsR0FDekIsV0FBVyxDQUFDLE9BQU8sQ0FBQyxZQUFZLElBQUkseUJBQXlCO0VBRS9ELE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDWixRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsRUFBRSxDQUFDLFNBQVMsR0FBRyxxQkFBcUI7SUFDekMsS0FBSyxFQUFFO0VBQ1QsQ0FBQyxDQUFDO0VBRUYsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRTtJQUMzQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO0VBQ2pEO0FBQ0YsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQSxNQUFNLHNCQUFzQixHQUFHLENBQUEsS0FBTTtFQUNuQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0VBQ2xELElBQUksWUFBWSxFQUFFO0lBQ2hCLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDO0lBQ3ZELElBQUksU0FBUyxFQUFFO01BQ2IscUJBQXFCLENBQUMsU0FBUyxDQUFDO0lBQ2xDO0VBQ0Y7QUFDRixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLGVBQWUsR0FBSSxXQUFXLElBQUs7RUFDdkMsTUFBTSxrQkFBa0IsR0FBRyxTQUFTLENBQUMsVUFBVSxHQUM3QyxXQUFXLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxzQkFBc0IsRUFDdkQ7RUFDRixNQUFNLDBCQUEwQixHQUFHLFNBQVMsQ0FBQyxVQUFVLEdBQ3JELFdBQVcsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLElBQUksK0JBQStCLEVBQ3hFO0VBQ0YsTUFBTSxtQkFBbUIsR0FBRyxTQUFTLENBQUMsVUFBVSxHQUM5QyxXQUFXLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSSx1QkFBdUIsRUFDekQ7RUFDRixNQUFNLGtCQUFrQixHQUFHLFNBQVMsQ0FBQyxVQUFVLEdBQzdDLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxJQUFJLHFCQUFxQixFQUN0RDtFQUNGLE1BQU0sd0JBQXdCLEdBQUcsU0FBUyxDQUFDLFVBQVUsR0FDbkQsV0FBVyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsSUFBSSxZQUFZLEVBQ3ZEO0VBQ0YsTUFBTSx3QkFBd0IsR0FBRyxTQUFTLENBQUMsVUFBVSxHQUNuRCxXQUFXLENBQUMsT0FBTyxDQUFDLGVBQWUsSUFBSSxvQkFBb0IsRUFDM0Q7RUFFRixNQUFNLE9BQU8sR0FBRztJQUNkLElBQUksRUFBRSxJQUFJO0lBQ1YsVUFBVSxFQUFFLG1CQUFtQjtJQUMvQixTQUFTLEVBQUUsQ0FBQyxrQkFBa0I7RUFDaEMsQ0FBQztFQUVELE1BQU0sZUFBZSxHQUFHLHlCQUF5QixDQUMvQyx3QkFBd0IsRUFDeEIsd0JBQ0YsQ0FBQztFQUNELE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO0VBQy9DLFNBQVMsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLGtCQUFrQixDQUFDO0VBQ3hELFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDO0VBRTlDLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsMEJBQTBCLENBQUM7RUFDekUsY0FBYyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUM7RUFDckQsY0FBYyxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDO0VBQzVDLGNBQWMsQ0FBQyxXQUFXLEdBQUcsa0JBQWtCO0VBQy9DLFNBQVMsQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDO0VBRXJDLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO0VBQ2xELGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDO0VBQ25ELFNBQVMsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDO0VBRXBDLGVBQWUsQ0FBQyxPQUFPLENBQUUsRUFBRSxJQUFLO0lBQzlCLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO0lBQzdDLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDO0lBQzVDLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDO0lBQzdDLE1BQU0saUJBQWlCLEdBQUcsRUFBRSxDQUFDLFdBQVc7SUFDeEMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNwQyxNQUFNLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQyxlQUFlLENBQUM7SUFDM0QsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQztJQUVsQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQztJQUU5QyxJQUFJLEdBQUcsS0FBSyxlQUFlLEVBQUU7TUFDM0IsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsOEJBQThCLENBQUM7SUFDeEQ7SUFFQSxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxJQUFJLFNBQVMsRUFBRSxDQUFDO0lBQzlDLFFBQVEsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLHNCQUFzQixDQUFDO0lBQ3RELFFBQVEsQ0FBQyxXQUFXLEdBQUcsaUJBQWlCO0lBRXhDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQztJQUN2QyxTQUFTLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSx3QkFBd0IsQ0FBQztJQUN6RCxFQUFFLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQztJQUVqRCxhQUFhLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQztJQUNuQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQztFQUNoQyxDQUFDLENBQUM7RUFFRixXQUFXLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQztFQUVsQyxNQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDO0VBQ3RDLE1BQU0sZUFBZSxHQUFHLElBQUksTUFBTSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUM7RUFFM0UsVUFBVSxDQUFDLE9BQU8sQ0FBRSxHQUFHLElBQUs7SUFDMUIsZUFBZSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7RUFDOUIsQ0FBQyxDQUFDO0FBQ0osQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxtQkFBbUIsR0FBSSxFQUFFLElBQUs7RUFDbEMsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0VBQ25FLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDO0FBQzFDLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sbUJBQW1CLEdBQUksS0FBSyxJQUFLO0VBQ3JDLE1BQU0sRUFBRSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7RUFDOUIsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7RUFDaEQsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLGFBQWE7RUFFekMsSUFBSSxNQUFNLEVBQUU7SUFDVixNQUFNLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDbEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2QsTUFBTSxDQUFDLGdCQUFnQixDQUNyQixNQUFNLEVBQ04sSUFBSSxDQUFDLE1BQU07TUFDVCxNQUFNLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyQyxDQUFDLENBQ0gsQ0FBQztFQUNILENBQUMsTUFBTTtJQUNMO0VBQUE7RUFFRixxQkFBcUIsQ0FBQyxZQUFZLENBQUM7QUFDckMsQ0FBQztBQUVELE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUMvQjtFQUNFLENBQUMsS0FBSyxHQUFHO0lBQ1AsQ0FBQyxJQUFJLHNCQUFzQixFQUFFLEVBQUUsS0FBSyxFQUFFO01BQ3BDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztNQUN0QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7TUFDbkIsbUJBQW1CLENBQUMsSUFBSSxDQUFDO0lBQzNCO0VBQ0YsQ0FBQztFQUNELE9BQU8sRUFBRTtJQUNQLENBQUMsSUFBSSxzQkFBc0IsRUFBRSxHQUFHLE1BQU0sQ0FBQztNQUNyQyxLQUFLLEVBQUU7SUFDVCxDQUFDO0VBQ0g7QUFDRixDQUFDLEVBQ0Q7RUFDRSxJQUFJLENBQUMsSUFBSSxFQUFFO0lBQ1QsZUFBZSxDQUFDLElBQUksaUJBQWlCLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUUsV0FBVyxJQUFLO01BQ3RFLGVBQWUsQ0FBQyxXQUFXLENBQUM7TUFDNUIsc0JBQXNCLENBQUMsQ0FBQztJQUMxQixDQUFDLENBQUM7RUFDSjtBQUNGLENBQ0YsQ0FBQztBQUVELE1BQU0sQ0FBQyxPQUFPLEdBQUcsZ0JBQWdCOzs7OztBQ2pYakMsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLGlEQUFpRCxDQUFDO0FBQ2xGLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyx3Q0FBd0MsQ0FBQztBQUNsRSxNQUFNO0VBQUUsTUFBTSxFQUFFO0FBQU8sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQztBQUVwRSxNQUFNLFlBQVksR0FBRyxHQUFHLE1BQU0sU0FBUztBQUN2QyxNQUFNLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBRTtBQUNqQyxNQUFNLElBQUksR0FBRyxHQUFHLE1BQU0sYUFBYTtBQUNuQyxNQUFNLFlBQVksR0FBRyxHQUFHLElBQUksV0FBVztBQUN2QyxNQUFNLFdBQVcsR0FBRyxhQUFhOztBQUVqQztBQUNBLE1BQU0sWUFBWSxHQUFHLFdBQVc7QUFDaEMsTUFBTSxZQUFZLEdBQUcsR0FBRzs7QUFFeEI7QUFDQSxNQUFNLHNCQUFzQixHQUFJLEtBQUssSUFBSztFQUN4QyxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsV0FBVyxFQUFFLENBQUM7RUFDeEQsSUFBSSxXQUFXLEVBQUU7SUFDZixLQUFLLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDO0lBQ25ELEtBQUssQ0FBQyxZQUFZLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxDQUFDO0lBQ25ELEtBQUssQ0FBQyxlQUFlLENBQUMsR0FBRyxXQUFXLEVBQUUsQ0FBQztFQUN6QyxDQUFDLE1BQU07SUFDTDtFQUNGO0VBRUEsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7RUFDNUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO0VBQ3pCLEtBQUssQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQztFQUU1QyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztFQUM5QyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUM7RUFDbkMsT0FBTyxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDO0VBQzNDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsR0FBRyxLQUFLLENBQUMsRUFBRSxNQUFNO0VBQzlCLE9BQU8sQ0FBQyxXQUFXLEdBQUcsV0FBVztFQUVqQyxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQztFQUMxQixLQUFLLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO0VBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO0FBQzFCLENBQUM7QUFFRCxNQUFNLGNBQWMsR0FBSSxFQUFFLElBQUs7RUFDN0IsTUFBTTtJQUFFO0VBQU0sQ0FBQyxHQUFHLEVBQUU7RUFDcEIsTUFBTSxjQUFjLEdBQUcsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFO0VBRXZFLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDO0VBQzFDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsS0FBSztFQUMxQixPQUFPLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQztBQUNqQyxDQUFDO0FBRUQsTUFBTSxhQUFhLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLEtBQzVDLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztBQUV4RSxNQUFNLFNBQVMsR0FBSSxLQUFLLElBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFFL0QsTUFBTSxRQUFRLEdBQUksS0FBSyxJQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQU07QUFFbkUsTUFBTSxrQkFBa0IsR0FBSSxFQUFFLElBQUs7RUFDakMsTUFBTSxnQkFBZ0IsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU87RUFDM0MsTUFBTSxXQUFXLEdBQUcsZ0JBQWdCLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXO0VBQzlELE1BQU07SUFBRTtFQUFNLENBQUMsR0FBRyxFQUFFO0VBQ3BCLE1BQU0sR0FBRyxHQUFHLFdBQVcsQ0FBQyxNQUFNO0VBQzlCLElBQUksUUFBUSxHQUFHLEVBQUU7RUFDakIsSUFBSSxDQUFDO0VBQ0wsSUFBSSxTQUFTO0VBRWIsTUFBTSxXQUFXLEdBQUcsYUFBYSxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQztFQUUxRCxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsU0FBUyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUU7SUFDMUMsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlDLE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMvRCxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFFL0QsSUFDRyxhQUFhLElBQUksS0FBSyxJQUN0QixnQkFBZ0IsSUFBSSxhQUFhLElBQUksS0FBTSxFQUM1QztNQUNBLFFBQVEsSUFBSSxXQUFXLENBQUMsU0FBUyxDQUFDO01BQ2xDLFNBQVMsSUFBSSxDQUFDO0lBQ2hCLENBQUMsTUFBTSxJQUNKLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxLQUFLLElBQUksYUFBYSxJQUM1QyxnQkFBZ0IsS0FDYixhQUFhLElBQUksQ0FBQyxLQUFLLElBQU0sYUFBYSxJQUFJLENBQUMsS0FBTSxDQUFFLEVBQzNEO01BQ0EsT0FBTyxRQUFRO0lBQ2pCLENBQUMsTUFBTTtNQUNMLFFBQVEsSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQzVCO0lBQ0E7SUFDQSxJQUFJLFdBQVcsQ0FBQyxTQUFTLENBQUMsS0FBSyxTQUFTLEVBQUU7TUFDeEM7SUFDRjtFQUNGO0VBRUEsT0FBTyxRQUFRO0FBQ2pCLENBQUM7QUFFRCxNQUFNLGlCQUFpQixHQUFJLEVBQUUsSUFBSztFQUNoQyxNQUFNLE9BQU8sR0FBRyxFQUFFO0VBQ2xCLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO0VBQ3JDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDO0VBRTNDLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyxFQUFFLENBQUM7RUFDbEMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDO0VBQ25ELE1BQU0sQ0FBQyxXQUFXLEdBQUcsRUFBRTtFQUN2QixNQUFNLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEQsQ0FBQztBQUVELE1BQU0sZUFBZSxHQUFHO0VBQ3RCLEtBQUssRUFBRTtJQUNMLENBQUMsTUFBTSxJQUFJO01BQ1QsaUJBQWlCLENBQUMsSUFBSSxDQUFDO0lBQ3pCO0VBQ0Y7QUFDRixDQUFDO0FBRUQsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLGVBQWUsRUFBRTtFQUMxQyxJQUFJLENBQUMsSUFBSSxFQUFFO0lBQ1QsZUFBZSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUUsV0FBVyxJQUFLO01BQ3JELHNCQUFzQixDQUFDLFdBQVcsQ0FBQztJQUNyQyxDQUFDLENBQUM7RUFDSjtBQUNGLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxPQUFPLEdBQUcsU0FBUzs7Ozs7QUM1SDFCLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztBQUN6QyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsd0NBQXdDLENBQUM7QUFDbEUsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLHNDQUFzQyxDQUFDO0FBQzlELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQywwQ0FBMEMsQ0FBQztBQUNyRSxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsK0JBQStCLENBQUM7QUFFMUQsTUFBTTtFQUFFO0FBQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQztBQUMzRCxNQUFNO0VBQUUsTUFBTSxFQUFFO0FBQU8sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQztBQUVwRSxNQUFNLElBQUksR0FBRyxNQUFNO0FBQ25CLE1BQU0sUUFBUSxHQUFHLElBQUksTUFBTSxXQUFXO0FBQ3RDLE1BQU0sWUFBWSxHQUFHLElBQUksTUFBTSxvQkFBb0I7QUFDbkQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLE1BQU0sb0JBQW9CO0FBQ3ZELE1BQU0scUJBQXFCLEdBQUcsSUFBSSxNQUFNLHlCQUF5QjtBQUNqRSxNQUFNLGdCQUFnQixHQUFHLFVBQVUsTUFBTSxpQkFBaUI7QUFDMUQsTUFBTSxjQUFjLEdBQUcsR0FBRyxRQUFRLElBQUk7QUFFdEMsSUFBSSxnQkFBZ0I7QUFDcEIsSUFBSSxjQUFjO0FBRWxCLE1BQU0sZUFBZSxHQUFHLENBQUEsS0FDdEIsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUM7QUFFL0QsTUFBTSwwQkFBMEIsR0FBRyxDQUFBLEtBQU07RUFDdkMsSUFBSSxDQUFDLGNBQWMsRUFBRTtJQUNuQjtFQUNGO0VBRUEsTUFBTSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUM7RUFDN0IsY0FBYyxHQUFHLElBQUk7QUFDdkIsQ0FBQztBQUVELE1BQU0sbUJBQW1CLEdBQUksS0FBSyxJQUFLO0VBQ3JDLE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUM7RUFFdEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEVBQUU7SUFDM0Msa0JBQWtCLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7RUFDNUQ7QUFDRixDQUFDO0FBRUQsTUFBTSxZQUFZLEdBQUksS0FBSyxJQUFLO0VBQzlCLDBCQUEwQixDQUFDLENBQUM7RUFDNUIsbUJBQW1CLENBQUMsS0FBSyxDQUFDO0FBQzVCLENBQUM7QUFFRCxnQkFBZ0IsR0FBRyxRQUFRLENBQ3pCO0VBQ0UsQ0FBQyxLQUFLLEdBQUc7SUFDUCxDQUFDLGdCQUFnQixJQUFJO01BQ25CLElBQUksY0FBYyxLQUFLLElBQUksRUFBRTtRQUMzQiwwQkFBMEIsQ0FBQyxDQUFDO01BQzlCO01BQ0EsSUFBSSxjQUFjLEtBQUssSUFBSSxFQUFFO1FBQzNCLDBCQUEwQixDQUFDLENBQUM7UUFDNUIsT0FBTyxLQUFLO01BQ2Q7TUFDQSxJQUFJLENBQUMsY0FBYyxFQUFFO1FBQ25CLGNBQWMsR0FBRyxJQUFJO1FBQ3JCLE1BQU0sQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDO01BQzlCO01BRUEsT0FBTyxLQUFLO0lBQ2QsQ0FBQztJQUNELENBQUMsSUFBSSxHQUFHLDBCQUEwQjtJQUNsQyxDQUFDLGNBQWMsSUFBSTtNQUNqQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUM7TUFFN0MsSUFBSSxHQUFHLEVBQUU7UUFDUCxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBRSxHQUFHLElBQUssU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztNQUNqRTtJQUNGO0VBQ0YsQ0FBQztFQUNELE9BQU8sRUFBRTtJQUNQLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDO01BQUUsTUFBTSxFQUFFO0lBQWEsQ0FBQztFQUNyRCxDQUFDO0VBQ0QsUUFBUSxFQUFFO0lBQ1IsQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLEVBQUU7TUFDeEIsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7TUFFdkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFO1FBQzNDLDBCQUEwQixDQUFDLENBQUM7TUFDOUI7SUFDRjtFQUNGO0FBQ0YsQ0FBQyxFQUNEO0VBQ0UsSUFBSSxDQUFDLElBQUksRUFBRTtJQUNULE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQzVDLElBQUksR0FDSixJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztJQUVwQyxJQUFJLGFBQWEsRUFBRTtNQUNqQixnQkFBZ0IsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLGFBQWEsRUFBRTtRQUNwRCxNQUFNLEVBQUU7TUFDVixDQUFDLENBQUM7SUFDSjtFQUNGLENBQUM7RUFDRCxRQUFRLENBQUEsRUFBRztJQUNULGNBQWMsR0FBRyxLQUFLO0VBQ3hCLENBQUM7RUFDRCxTQUFTLEVBQUU7QUFDYixDQUNGLENBQUM7QUFFRCxNQUFNLENBQUMsT0FBTyxHQUFHLGdCQUFnQjs7Ozs7QUN4R2pDLE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyxpREFBaUQsQ0FBQztBQUNsRixNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsMENBQTBDLENBQUM7QUFDckUsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLCtDQUErQyxDQUFDO0FBQy9FLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyx3Q0FBd0MsQ0FBQztBQUVsRSxNQUFNO0VBQUUsTUFBTSxFQUFFO0FBQU8sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQztBQUVwRSxNQUFNLGVBQWUsR0FBRyxHQUFHLE1BQU0sUUFBUTtBQUN6QyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsZUFBZSxVQUFVO0FBQ3RELE1BQU0saUJBQWlCLEdBQUcsR0FBRyxlQUFlLFVBQVU7QUFDdEQsTUFBTSxnQkFBZ0IsR0FBRyxpQkFBaUI7QUFDMUMsTUFBTSxnQkFBZ0IsR0FBRyxrQkFBa0I7QUFDM0MsTUFBTSxzQkFBc0IsR0FBRyxtQkFBbUI7QUFDbEQsTUFBTSwwQkFBMEIsR0FBRyxtQkFBbUI7QUFDdEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxlQUFlLEVBQUU7QUFDbkMsTUFBTSxhQUFhLEdBQUcsSUFBSSxpQkFBaUIsZ0JBQWdCO0FBQzNELE1BQU0sWUFBWSxHQUFHLEdBQUcsaUJBQWlCLE1BQU0sZ0JBQWdCLEdBQUc7QUFDbEUsTUFBTSxPQUFPLEdBQUcsS0FBSyxnQkFBZ0Isa0JBQWtCO0FBQ3ZELE1BQU0sT0FBTyxHQUFHLEdBQUcsWUFBWSxNQUFNLGlCQUFpQixTQUFTLHNCQUFzQixJQUFJO0FBQ3pGLE1BQU0sVUFBVSxHQUFHLGlCQUFpQixpQkFBaUIsc0JBQXNCO0FBQzNFLE1BQU0saUJBQWlCLEdBQUcsSUFBSSwwQkFBMEIsR0FBRztBQUUzRCxNQUFNLFlBQVksR0FBRyxzQkFBc0I7QUFDM0MsTUFBTSxtQkFBbUIsR0FBRyxpQkFBaUI7QUFDN0MsTUFBTSxhQUFhLEdBQUcsWUFBWTtBQUNsQyxNQUFNLFlBQVksR0FBRyxXQUFXO0FBRWhDLElBQUksS0FBSztBQUNULElBQUksb0JBQW9CO0FBQ3hCLElBQUksc0JBQXNCO0FBRTFCLE1BQU0sUUFBUSxHQUFHLENBQUEsS0FBTSxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDO0FBQ3JFLE1BQU0sZUFBZSxHQUFHLGNBQWMsQ0FBQyxDQUFDOztBQUV4QztBQUNBO0FBQ0E7QUFDQSxNQUFNLFdBQVcsR0FBRyxDQUFBLEtBQU07RUFDeEIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQztBQUN0QyxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSx1QkFBdUIsR0FBRyxDQUFBLEtBQU07RUFDcEMsb0JBQW9CLEdBQUcsTUFBTSxDQUMxQixnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQy9CLGdCQUFnQixDQUFDLGVBQWUsQ0FBQztFQUNwQyxzQkFBc0IsR0FBRyxHQUN2QixRQUFRLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsR0FDcEQsUUFBUSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUM3QztBQUNOLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUyxXQUFXLENBQUMsS0FBSyxFQUFFO0VBQzFCLElBQUksY0FBYztFQUNsQixJQUFJLGNBQWMsR0FBRyxLQUFLLENBQUMsTUFBTTtFQUNqQyxNQUFNO0lBQUU7RUFBSyxDQUFDLEdBQUcsUUFBUTtFQUN6QixNQUFNLFVBQVUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0VBQzlCLE1BQU0sT0FBTyxHQUFHLGNBQWMsR0FDMUIsY0FBYyxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsR0FDNUMsUUFBUSxDQUFDLGFBQWEsQ0FBQywrQkFBK0IsQ0FBQztFQUMzRCxNQUFNLFdBQVcsR0FBRyxVQUFVLEdBQzFCLFFBQVEsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQ2hDLFFBQVEsQ0FBQyxhQUFhLENBQUMsK0JBQStCLENBQUM7O0VBRTNEO0VBQ0EsSUFBSSxDQUFDLFdBQVcsRUFBRTtJQUNoQixPQUFPLEtBQUs7RUFDZDtFQUVBLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEdBQ3hELFdBQVcsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEdBQ3hDLFdBQVcsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO0VBQzNDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQ3pDLFdBQVcsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUN4QyxDQUFDO0VBQ0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUM7RUFDOUMsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQzs7RUFFeEU7RUFDQTtFQUNBLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksV0FBVyxLQUFLLElBQUksRUFBRTtJQUNwRCxjQUFjLEdBQUcsV0FBVyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7RUFDMUQ7O0VBRUE7RUFDQSxJQUFJLGNBQWMsRUFBRTtJQUNsQjtJQUNBO0lBQ0E7SUFDQSxJQUFJLGNBQWMsQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtNQUNqRCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFO1FBQ3BDLGNBQWMsR0FBRyxTQUFTLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsTUFBTSxFQUFFO1FBQ3ZFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQztNQUN6QyxDQUFDLE1BQU07UUFDTCxjQUFjLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7TUFDMUM7TUFDQSxXQUFXLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxjQUFjLENBQUM7SUFDekQ7O0lBRUE7SUFDQTtJQUNBO0lBQ0EsSUFBSSxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksZUFBZSxFQUFFLENBQUMsRUFBRTtNQUNqRCxJQUNFLGNBQWMsQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsSUFDN0MsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLGdCQUFnQixHQUFHLENBQUMsRUFDL0M7UUFDQTtNQUFBLENBQ0QsTUFBTTtRQUNMLE9BQU8sS0FBSztNQUNkO0lBQ0Y7RUFDRjtFQUVBLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUM7RUFDL0MsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQztFQUN2RCxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxVQUFVLENBQUM7O0VBRXZEO0VBQ0E7RUFDQTtFQUNBLElBQUksZUFBZSxFQUFFO0lBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFLFVBQVUsQ0FBQztFQUN4RDs7RUFFQTtFQUNBO0VBQ0EsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksS0FBSyxzQkFBc0IsRUFBRTtJQUN0RCxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUM7RUFDNUMsQ0FBQyxNQUFNO0lBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsc0JBQXNCO0VBQ2xEOztFQUVBO0VBQ0EsSUFBSSxVQUFVLElBQUksV0FBVyxFQUFFO0lBQzdCOztJQUVBO0lBQ0E7SUFDQSxJQUFJLGVBQWUsRUFBRTtNQUNuQixLQUFLLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxXQUFXLENBQUM7SUFDMUMsQ0FBQyxNQUFNO01BQ0wsS0FBSyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsV0FBVyxFQUFFO1FBQ3ZDLE1BQU0sRUFBRTtNQUNWLENBQUMsQ0FBQztJQUNKOztJQUVBO0lBQ0EsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO0lBQ2xDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQzs7SUFFbkI7SUFDQSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFFLFFBQVEsSUFBSztNQUMxRCxRQUFRLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7TUFDNUMsUUFBUSxDQUFDLFlBQVksQ0FBQywwQkFBMEIsRUFBRSxFQUFFLENBQUM7SUFDdkQsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxNQUFNLElBQUksQ0FBQyxVQUFVLElBQUksVUFBVSxJQUFJLFdBQVcsRUFBRTtJQUNuRDtJQUNBO0lBQ0EsUUFBUSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLENBQUMsT0FBTyxDQUFFLFFBQVEsSUFBSztNQUNqRSxRQUFRLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQztNQUN2QyxRQUFRLENBQUMsZUFBZSxDQUFDLDBCQUEwQixDQUFDO0lBQ3RELENBQUMsQ0FBQzs7SUFFRjtJQUNBLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQixLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7RUFDcEM7RUFFQSxPQUFPLFVBQVU7QUFDbkI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLGlCQUFpQixHQUFJLGFBQWEsSUFBSztFQUMzQyxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztFQUNoRCxNQUFNLDJCQUEyQixHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO0VBQ2pFLE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQztFQUU1RCx1QkFBdUIsQ0FBQyxDQUFDO0VBRXpCLDJCQUEyQixDQUFDLFlBQVksQ0FBQyxzQkFBc0IsRUFBRSxPQUFPLENBQUM7RUFDekUsMkJBQTJCLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNO0VBQ2xELDJCQUEyQixDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDO0VBRS9ELGVBQWUsQ0FBQyxPQUFPLENBQUUsU0FBUyxJQUFLO0lBQ3JDLDJCQUEyQixDQUFDLFlBQVksQ0FDdEMsaUJBQWlCLFNBQVMsQ0FBQyxJQUFJLEVBQUUsRUFDakMsU0FBUyxDQUFDLEtBQ1osQ0FBQztFQUNILENBQUMsQ0FBQztFQUVGLE9BQU8sMkJBQTJCO0FBQ3BDLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLGtCQUFrQixHQUFHLENBQUMsYUFBYSxFQUFFLG1CQUFtQixLQUFLO0VBQ2pFLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO0VBQ2hELE1BQU0sY0FBYyxHQUFHLGFBQWEsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUM7RUFDcEUsTUFBTSxlQUFlLEdBQUcsYUFBYSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQztFQUN0RSxNQUFNLGVBQWUsR0FBRyxhQUFhLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDO0VBRTFFLElBQUksQ0FBQyxjQUFjLEVBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxPQUFPLHVDQUF1QyxDQUFDO0VBRXBFLElBQUksQ0FBQyxlQUFlLEVBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxPQUFPLHVDQUF1QyxDQUFDOztFQUVwRTtFQUNBLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO0VBQ2xELG1CQUFtQixDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDO0VBQy9DLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxjQUFjLENBQUM7RUFDbkUsbUJBQW1CLENBQUMsWUFBWSxDQUFDLGtCQUFrQixFQUFFLGVBQWUsQ0FBQztFQUVyRSxJQUFJLGVBQWUsRUFBRTtJQUNuQixtQkFBbUIsQ0FBQyxZQUFZLENBQUMsc0JBQXNCLEVBQUUsZUFBZSxDQUFDO0VBQzNFOztFQUVBO0VBQ0EsTUFBTSxZQUFZLEdBQUcsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDO0VBQ2xFLFlBQVksQ0FBQyxPQUFPLENBQUUsRUFBRSxJQUFLO0lBQzNCLEVBQUUsQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQztFQUMzQyxDQUFDLENBQUM7O0VBRUY7RUFDQSxhQUFhLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQztFQUNuQyxhQUFhLENBQUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDO0VBQ2hELGFBQWEsQ0FBQyxlQUFlLENBQUMsa0JBQWtCLENBQUM7RUFDakQsYUFBYSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO0VBRTVDLE9BQU8sbUJBQW1CO0FBQzVCLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sWUFBWSxHQUFJLGFBQWEsSUFBSztFQUN0QyxNQUFNLFlBQVksR0FBRyxhQUFhO0VBQ2xDLE1BQU0sbUJBQW1CLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7RUFDekQsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7O0VBRWhEO0VBQ0EsbUJBQW1CLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLENBQUM7RUFDbEUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUM7O0VBRTNDO0VBQ0EsbUJBQW1CLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztFQUN0QyxVQUFVLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQzs7RUFFL0I7RUFDQSxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLENBQUM7RUFFckQsT0FBTyxtQkFBbUI7QUFDNUIsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxVQUFVLEdBQUksYUFBYSxJQUFLO0VBQ3BDLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO0VBRWhELElBQUksQ0FBQyxPQUFPLEVBQUU7SUFDWixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDO0VBQy9DOztFQUVBO0VBQ0EsTUFBTSwyQkFBMkIsR0FBRyxpQkFBaUIsQ0FBQyxhQUFhLENBQUM7RUFDcEUsYUFBYSxDQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQzs7RUFFaEQ7RUFDQSxNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDOztFQUVsRDtFQUNBO0VBQ0E7RUFDQSxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUM7QUFDM0MsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxZQUFZLEdBQUksYUFBYSxJQUFLO0VBQ3RDLE1BQU0sWUFBWSxHQUFHLGFBQWE7RUFDbEMsTUFBTSxtQkFBbUIsR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDLGFBQWE7RUFDcEUsTUFBTSxPQUFPLEdBQUcsbUJBQW1CLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQzs7RUFFdEQ7RUFDQSxJQUFJLENBQUMsT0FBTyxFQUFFO0lBQ1o7RUFDRjtFQUVBLE1BQU0sMkJBQTJCLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FDeEQsMEJBQTBCLE9BQU8sSUFDbkMsQ0FBQztFQUVELElBQUksMkJBQTJCLEVBQUU7SUFDL0IsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxVQUFVLENBQUM7SUFDMUUsZUFBZSxDQUFDLE9BQU8sQ0FBRSxTQUFTLElBQUs7TUFDckMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO1FBQy9DO1FBQ0EsWUFBWSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDO01BQ3ZFO0lBQ0YsQ0FBQyxDQUFDO0lBRUYsMkJBQTJCLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQztJQUMvQywyQkFBMkIsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUNuRCwyQkFDRixDQUFDO0VBQ0g7RUFFQSxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDO0FBQ3BFLENBQUM7QUFFRCxLQUFLLEdBQUcsUUFBUSxDQUNkLENBQUMsQ0FBQyxFQUNGO0VBQ0UsSUFBSSxDQUFDLElBQUksRUFBRTtJQUNULGVBQWUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFFLFdBQVcsSUFBSztNQUNwRCxNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsRUFBRTtNQUU5QixVQUFVLENBQUMsV0FBVyxDQUFDOztNQUV2QjtNQUNBLGVBQWUsQ0FBQyxtQkFBbUIsT0FBTyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUM5RCxZQUFZLElBQUs7UUFDaEI7UUFDQSxJQUFJLFlBQVksQ0FBQyxRQUFRLEtBQUssR0FBRyxFQUFFO1VBQ2pDO1VBQ0EsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDOztVQUUzQztVQUNBLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUcsQ0FBQyxJQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQ25FOztRQUVBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7O1FBRUEsWUFBWSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUM7TUFDckQsQ0FDRixDQUFDO0lBQ0gsQ0FBQyxDQUFDO0VBQ0osQ0FBQztFQUNELFFBQVEsQ0FBQyxJQUFJLEVBQUU7SUFDYixlQUFlLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBRSxXQUFXLElBQUs7TUFDcEQsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLEVBQUU7TUFDOUIsWUFBWSxDQUFDLFdBQVcsQ0FBQztNQUV6QixlQUFlLENBQUMsbUJBQW1CLE9BQU8sSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FDOUQsWUFBWSxJQUNYLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUN6RCxDQUFDO0lBQ0gsQ0FBQyxDQUFDO0VBQ0osQ0FBQztFQUNELFNBQVMsRUFBRSxJQUFJO0VBQ2Y7QUFDRixDQUNGLENBQUM7QUFFRCxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUs7Ozs7O0FDdFl0QixNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsaURBQWlELENBQUM7QUFDbEYsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLHdDQUF3QyxDQUFDO0FBRWxFLE1BQU07RUFBRSxNQUFNLEVBQUU7QUFBTyxDQUFDLEdBQUcsT0FBTyxDQUFDLGdDQUFnQyxDQUFDO0FBRXBFLE1BQU0sZUFBZSxHQUFHLEdBQUcsTUFBTSxRQUFRO0FBQ3pDLE1BQU0sS0FBSyxHQUFHLElBQUksZUFBZSxFQUFFOztBQUVuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxhQUFhLEdBQUksV0FBVyxJQUFLO0VBQ3JDLE1BQU0sV0FBVyxHQUFHLFdBQVc7RUFDL0IsTUFBTSxXQUFXLEdBQUcsSUFBSTtFQUN4QixNQUFNLFlBQVksR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLGVBQWU7RUFDeEQsTUFBTSxJQUFJLEdBQUcsWUFBWSxJQUFJLFdBQVc7RUFDeEMsTUFBTSxJQUFJLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxRQUFRO0VBQ3pDLE1BQU0sR0FBRyxHQUFHLFdBQVcsQ0FBQyxLQUFLO0VBQzdCO0VBQ0E7RUFDQSxNQUFNLEdBQUcsR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUc7RUFFbEQsSUFBSSxPQUFPO0VBRVgsSUFBSSxJQUFJLEVBQUU7SUFDUixPQUFPLEdBQUcsR0FBRyxHQUFHLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxHQUFHLEVBQUU7RUFDM0MsQ0FBQyxNQUFNO0lBQ0wsT0FBTyxHQUFHLEdBQUcsR0FBRyxJQUFJLElBQUksSUFBSSxHQUFHLEVBQUU7RUFDbkM7RUFFQSxXQUFXLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQztBQUNyRCxDQUFDO0FBRUQsTUFBTSxXQUFXLEdBQUc7RUFDbEIsTUFBTSxFQUFFO0lBQ04sQ0FBQyxLQUFLLElBQUk7TUFDUixhQUFhLENBQUMsSUFBSSxDQUFDO0lBQ3JCO0VBQ0Y7QUFDRixDQUFDO0FBRUQsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLFdBQVcsRUFBRTtFQUNsQyxJQUFJLENBQUMsSUFBSSxFQUFFO0lBQ1QsZUFBZSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUUsV0FBVyxJQUFLO01BQ3BELGFBQWEsQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQyxDQUFDO0VBQ0osQ0FBQztFQUNEO0FBQ0YsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLOzs7OztBQ2hFdEIsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDO0FBQ3pDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyx3Q0FBd0MsQ0FBQztBQUNsRSxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsc0NBQXNDLENBQUM7QUFFOUQsTUFBTTtFQUFFO0FBQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQztBQUUzRCxNQUFNLE1BQU0sR0FBRyxtQkFBbUI7QUFDbEMsTUFBTSxJQUFJLEdBQUcsaUJBQWlCO0FBQzlCLE1BQU0sS0FBSyxHQUFHLGVBQWU7QUFDN0IsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLENBQUM7O0FBRTFCLElBQUksVUFBVTtBQUVkLE1BQU0sT0FBTyxHQUFJLE1BQU0sSUFBSztFQUMxQixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztFQUN2QyxPQUFPLE9BQU8sR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO0FBQzdFLENBQUM7QUFFRCxNQUFNLFlBQVksR0FBRyxDQUFDLE1BQU0sRUFBRSxNQUFNLEtBQUs7RUFDdkMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztFQUU1QixJQUFJLENBQUMsSUFBSSxFQUFFO0lBQ1QsTUFBTSxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksK0JBQStCLE9BQU8sR0FBRyxDQUFDO0VBQ3RFOztFQUVBO0VBQ0EsTUFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNO0VBQ3RCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxNQUFNO0VBQ3JCOztFQUVBLElBQUksQ0FBQyxNQUFNLEVBQUU7SUFDWDtFQUNGO0VBRUEsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7RUFFdkMsSUFBSSxLQUFLLEVBQUU7SUFDVCxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7RUFDZjtFQUNBO0VBQ0E7RUFDQSxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU07SUFDbEMsSUFBSSxVQUFVLEVBQUU7TUFDZCxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDL0I7SUFFQSxRQUFRLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUM7RUFDcEQsQ0FBQyxDQUFDOztFQUVGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxVQUFVLENBQUMsTUFBTTtJQUNmLFFBQVEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQztFQUNqRCxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFBLEVBQUc7RUFDcEIsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7RUFDeEIsVUFBVSxHQUFHLElBQUk7QUFDbkI7QUFFQSxTQUFTLFVBQVUsQ0FBQSxFQUFHO0VBQ3BCLFlBQVksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDO0VBQ3pCLFVBQVUsR0FBRyxTQUFTO0FBQ3hCO0FBRUEsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUNyQjtFQUNFLENBQUMsS0FBSyxHQUFHO0lBQ1AsQ0FBQyxNQUFNLEdBQUc7RUFDWjtBQUNGLENBQUMsRUFDRDtFQUNFLElBQUksQ0FBQyxNQUFNLEVBQUU7SUFDWCxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBRSxNQUFNLElBQUs7TUFDekMsWUFBWSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7SUFDN0IsQ0FBQyxDQUFDO0VBQ0osQ0FBQztFQUNELFFBQVEsQ0FBQSxFQUFHO0lBQ1Q7SUFDQSxVQUFVLEdBQUcsU0FBUztFQUN4QjtBQUNGLENBQ0YsQ0FBQztBQUVELE1BQU0sQ0FBQyxPQUFPLEdBQUcsTUFBTTs7Ozs7QUN4RnZCLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUM7QUFDckMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLHdDQUF3QyxDQUFDO0FBQ2xFLE1BQU07RUFBRTtBQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsZ0NBQWdDLENBQUM7QUFDM0QsTUFBTTtFQUFFLE1BQU0sRUFBRTtBQUFPLENBQUMsR0FBRyxPQUFPLENBQUMsZ0NBQWdDLENBQUM7QUFFcEUsTUFBTSxJQUFJLEdBQUcsSUFBSSxNQUFNLHlCQUF5QixNQUFNLG9DQUFvQztBQUMxRixNQUFNLFdBQVcsR0FBRyxjQUFjO0FBRWxDLFNBQVMsV0FBVyxDQUFBLEVBQUc7RUFDckI7RUFDQTtFQUNBLE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0VBQy9DLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQ3BDLEVBQUUsS0FBSyxHQUFHLEdBQUcsV0FBVyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUN2QyxDQUFDO0VBRUQsSUFBSSxNQUFNLEVBQUU7SUFDVixNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxHQUFHO0lBQzFCLE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUNsQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDZCxNQUFNLENBQUMsZ0JBQWdCLENBQ3JCLE1BQU0sRUFDTixJQUFJLENBQUMsTUFBTTtNQUNULE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLENBQUMsQ0FDSCxDQUFDO0VBQ0gsQ0FBQyxNQUFNO0lBQ0w7RUFBQTtBQUVKO0FBRUEsTUFBTSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUM7RUFDeEIsQ0FBQyxLQUFLLEdBQUc7SUFDUCxDQUFDLElBQUksR0FBRztFQUNWO0FBQ0YsQ0FBQyxDQUFDOzs7OztBQ25DRixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsc0NBQXNDLENBQUM7QUFDOUQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLHdDQUF3QyxDQUFDO0FBQ2xFLE1BQU07RUFBRTtBQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsZ0NBQWdDLENBQUM7QUFDM0QsTUFBTTtFQUFFLE1BQU0sRUFBRTtBQUFPLENBQUMsR0FBRyxPQUFPLENBQUMsZ0NBQWdDLENBQUM7QUFDcEUsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLHlDQUF5QyxDQUFDO0FBRXBFLE1BQU0sS0FBSyxHQUFHLElBQUksTUFBTSxRQUFRO0FBQ2hDLE1BQU0sTUFBTSxHQUFHLFdBQVc7QUFDMUIsTUFBTSxTQUFTLEdBQUcsV0FBVztBQUM3QixNQUFNLFVBQVUsR0FBRyxZQUFZO0FBQy9CLE1BQU0sYUFBYSxHQUFHLGlCQUFpQjtBQUN2QyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsTUFBTSx3QkFBd0I7QUFDM0QsTUFBTSxXQUFXLEdBQUcsSUFBSSxpQkFBaUIsRUFBRTtBQUMzQyxNQUFNLGVBQWUsR0FBRyxtQkFBbUI7QUFDM0MsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLE1BQU0saURBQWlEOztBQUV2RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxZQUFZLEdBQUcsQ0FBQyxFQUFFLEVBQUUsS0FBSyxLQUM3QixFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFDOUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLElBQzVCLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVzs7QUFFaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxlQUFlLEdBQUcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxLQUFLLENBQUMsT0FBTyxFQUFFLE9BQU8sS0FBSztFQUNwRTtFQUNBLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxXQUFXLEdBQUcsT0FBTyxHQUFHLE9BQU8sRUFBRSxLQUFLLENBQUM7RUFDbkUsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLFdBQVcsR0FBRyxPQUFPLEdBQUcsT0FBTyxFQUFFLEtBQUssQ0FBQzs7RUFFbkU7RUFDQSxJQUNFLE1BQU0sSUFDTixNQUFNLElBQ04sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUM3QixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQzdCO0lBQ0EsT0FBTyxNQUFNLEdBQUcsTUFBTTtFQUN4QjtFQUNBO0VBQ0EsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxRQUFRLEVBQUU7SUFDakUsT0FBTyxFQUFFLElBQUk7SUFDYixpQkFBaUIsRUFBRTtFQUNyQixDQUFDLENBQUM7QUFDSixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sZ0JBQWdCLEdBQUksS0FBSyxJQUFLO0VBQ2xDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDO0VBQzlDLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBRSxNQUFNLElBQUssTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLENBQUM7QUFDcEUsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxlQUFlLEdBQUksTUFBTSxJQUFLO0VBQ2xDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxTQUFTO0VBQ25DLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssU0FBUztFQUNqRSxNQUFNLFFBQVEsR0FDWixNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLFNBQVMsSUFDekMsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxVQUFVLElBQzFDLEtBQUs7RUFDUCxNQUFNLFdBQVcsR0FBRyxHQUFHLFVBQVUsZ0NBQy9CLFFBQVEsR0FDSixHQUFHLGVBQWUsR0FBRyxVQUFVLFNBQVMsRUFBRSxHQUFHLFVBQVUsVUFBVSxFQUFFLEVBQUUsR0FDckUsVUFBVSxFQUNkO0VBQ0YsTUFBTSxpQkFBaUIsR0FBRyxvQkFBb0IsVUFBVSxPQUN0RCxlQUFlLEdBQUcsVUFBVSxHQUFHLFNBQVMsU0FDakM7RUFDVCxNQUFNLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUM7RUFDOUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLGlCQUFpQixDQUFDO0FBQzVFLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLFNBQVMsR0FBSSxNQUFNLElBQUs7RUFDNUIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7RUFDOUIsZUFBZSxDQUFDLE1BQU0sQ0FBQztBQUN6QixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sUUFBUSxHQUFHLENBQUMsTUFBTSxFQUFFLFdBQVcsS0FBSztFQUN4QyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxXQUFXLEtBQUssSUFBSSxHQUFHLFVBQVUsR0FBRyxTQUFTLENBQUM7RUFDMUUsZUFBZSxDQUFDLE1BQU0sQ0FBQztFQUV2QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUM7O0VBRTFEO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0VBRUE7RUFDQSxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7RUFDM0QsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7RUFDNUQsTUFBTSxlQUFlLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7RUFDbEQsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUUsRUFBRSxJQUFLO0lBQzNFLEVBQUUsQ0FBQyxLQUFLLENBQ0wsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FDakIsT0FBTyxDQUFFLEVBQUUsSUFBSyxFQUFFLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDMUQsRUFBRSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxZQUFZLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDO0lBQ25FLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO0VBQ3ZCLENBQUMsQ0FBQztFQUVGLE9BQU8sSUFBSTtBQUNiLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBSyxFQUFFLFlBQVksS0FBSztFQUNoRCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVM7RUFDeEQsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxTQUFTO0VBQ3ZFLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxTQUFTO0VBQzFDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxrQkFBa0I7RUFDM0MsSUFBSSxVQUFVLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFO0lBQ3pELE1BQU0sZ0JBQWdCLEdBQUcsb0JBQW9CLE9BQU8sc0JBQXNCLFdBQVcsT0FDbkYsZUFBZSxHQUFHLFNBQVMsR0FBRyxVQUFVLFNBQ2pDO0lBQ1QsVUFBVSxDQUFDLFNBQVMsR0FBRyxnQkFBZ0I7RUFDekMsQ0FBQyxNQUFNO0lBQ0wsTUFBTSxJQUFJLEtBQUssQ0FDYixtRkFDRixDQUFDO0VBQ0g7QUFDRixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLFVBQVUsR0FBRyxDQUFDLE1BQU0sRUFBRSxXQUFXLEtBQUs7RUFDMUMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7RUFDbkMsSUFBSSxhQUFhLEdBQUcsV0FBVztFQUMvQixJQUFJLE9BQU8sYUFBYSxLQUFLLFNBQVMsRUFBRTtJQUN0QyxhQUFhLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxTQUFTO0VBQzNEO0VBRUEsSUFBSSxDQUFDLEtBQUssRUFBRTtJQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxlQUFlLHFCQUFxQixLQUFLLEVBQUUsQ0FBQztFQUNqRTtFQUVBLGFBQWEsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQztFQUU3QyxJQUFJLGFBQWEsRUFBRTtJQUNqQixnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUUsV0FBVyxJQUFLO01BQy9DLElBQUksV0FBVyxLQUFLLE1BQU0sRUFBRTtRQUMxQixTQUFTLENBQUMsV0FBVyxDQUFDO01BQ3hCO0lBQ0YsQ0FBQyxDQUFDO0lBQ0YsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQztFQUNqQztBQUNGLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsTUFBTSxrQkFBa0IsR0FBSSxNQUFNLElBQUs7RUFDckMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7RUFDakQsUUFBUSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDO0VBQ3RDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDO0VBQ3pDO0VBQ0EsUUFBUSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsVUFBVTtBQUMzQyxnQkFBZ0IsTUFBTTtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7RUFDRCxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQztFQUM1QixlQUFlLENBQUMsTUFBTSxDQUFDO0FBQ3pCLENBQUM7QUFFRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQ3BCO0VBQ0UsQ0FBQyxLQUFLLEdBQUc7SUFDUCxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUU7TUFDbkIsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO01BQ3RCLFVBQVUsQ0FDUixLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsRUFDckMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxLQUN4RCxTQUNKLENBQUM7SUFDSDtFQUNGO0FBQ0YsQ0FBQyxFQUNEO0VBQ0UsSUFBSSxDQUFDLElBQUksRUFBRTtJQUNULE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDO0lBQ3JELGVBQWUsQ0FBQyxPQUFPLENBQUUsTUFBTSxJQUFLLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRS9ELE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQ3ZDLE1BQU0sSUFDTCxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLFNBQVMsSUFDekMsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxVQUNwQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ0osSUFBSSxPQUFPLFdBQVcsS0FBSyxXQUFXLEVBQUU7TUFDdEM7TUFDQTtJQUNGO0lBQ0EsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7SUFDaEQsSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFO01BQ3pCLFVBQVUsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDO0lBQy9CLENBQUMsTUFBTSxJQUFJLE9BQU8sS0FBSyxVQUFVLEVBQUU7TUFDakMsVUFBVSxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUM7SUFDaEM7RUFDRixDQUFDO0VBQ0QsS0FBSztFQUNMLGVBQWU7RUFDZjtBQUNGLENBQ0YsQ0FBQztBQUVELE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSzs7Ozs7QUNqUXRCLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyx3Q0FBd0MsQ0FBQztBQUNsRSxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsaURBQWlELENBQUM7QUFDbEYsTUFBTTtFQUFFLE1BQU0sRUFBRTtBQUFPLENBQUMsR0FBRyxPQUFPLENBQUMsZ0NBQWdDLENBQUM7QUFDcEUsTUFBTTtFQUNKLGVBQWU7RUFDZjtBQUNGLENBQUMsR0FBRyxPQUFPLENBQUMsK0JBQStCLENBQUM7QUFFNUMsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLE1BQU0sY0FBYztBQUNqRCxNQUFNLFdBQVcsR0FBRyxJQUFJLGlCQUFpQixFQUFFO0FBQzNDLE1BQU0sUUFBUSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUM1QixNQUFNLFFBQVEsR0FBRyxDQUFDO0FBQ2xCLE1BQU0sWUFBWSxHQUFHLEVBQUU7QUFDdkIsTUFBTSxRQUFRLEdBQUcsQ0FBQztBQUVsQixNQUFNLGNBQWMsR0FBRztFQUNyQixNQUFNLEVBQ0osc0VBQXNFO0VBQ3hFLGFBQWEsRUFBRSxRQUFRO0VBQ3ZCLGVBQWUsRUFBRSxlQUFlO0VBQ2hDLGlCQUFpQixFQUFFO0FBQ3JCLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxlQUFlLEdBQUksT0FBTyxJQUFLO0VBQ25DLElBQUksT0FBTztFQUVYLElBQUksT0FBTyxFQUFFO0lBQ1gsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBRSxHQUFHLElBQUs7TUFDcEQsSUFBSSxLQUFLO01BQ1QsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7TUFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxHQUFHLE1BQU07TUFDekMsT0FBTyxLQUFLO0lBQ2QsQ0FBQyxDQUFDO0lBRUYsSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUU7TUFDakMsT0FBTyxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsSUFBSTtJQUM3QjtFQUNGO0VBRUEsT0FBTyxPQUFPO0FBQ2hCLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sbUJBQW1CLEdBQUksRUFBRSxJQUFLO0VBQ2xDLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO0VBRTVDLE1BQU0sY0FBYyxHQUFHLFlBQVksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDO0VBRTFELElBQUksQ0FBQyxjQUFjLEVBQUU7SUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLFdBQVcseUJBQXlCLENBQUM7RUFDMUQ7RUFFQSxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztFQUVqRCxDQUNFLElBQUksRUFDSixNQUFNLEVBQ04sVUFBVSxFQUNWLFlBQVksRUFDWixpQkFBaUIsRUFDakIsVUFBVSxFQUNWLGVBQWUsQ0FDaEIsQ0FBQyxPQUFPLENBQUUsSUFBSSxJQUFLO0lBQ2xCLElBQUksY0FBYyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRTtNQUNyQyxNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztNQUMvQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7TUFDbEMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7SUFDdEM7RUFDRixDQUFDLENBQUM7RUFFRixNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLEtBQUssT0FBTyxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUM7RUFFakUsTUFBTSxjQUFjLEdBQUksT0FBTyxJQUFLO0lBQ2xDLE1BQU0sTUFBTSxHQUFHLE9BQU8sR0FBRyxFQUFFO0lBQzNCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUN2QyxNQUFNLE1BQU0sR0FBRyxNQUFNLEdBQUcsRUFBRSxJQUFJLEVBQUU7SUFDaEMsTUFBTSxJQUFJLEdBQUcsTUFBTSxHQUFHLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSTtJQUV0QyxPQUFPO01BQ0wsTUFBTTtNQUNOLE1BQU07TUFDTixNQUFNO01BQ047SUFDRixDQUFDO0VBQ0gsQ0FBQztFQUVELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQ3RCLFFBQVEsRUFDUixlQUFlLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxRQUNuRCxDQUFDO0VBQ0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FDdEIsUUFBUSxFQUNSLGVBQWUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLFFBQ25ELENBQUM7RUFDRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUNyQixJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxZQUFZLENBQzlELENBQUM7RUFFRCxJQUFJLFlBQVk7RUFDaEIsS0FBSyxJQUFJLElBQUksR0FBRyxPQUFPLEVBQUUsSUFBSSxJQUFJLE9BQU8sRUFBRSxJQUFJLElBQUksSUFBSSxFQUFFO0lBQ3RELE1BQU07TUFBRSxNQUFNO01BQUUsTUFBTTtNQUFFLE1BQU07TUFBRTtJQUFLLENBQUMsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDO0lBRTdELE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO0lBQy9DLE1BQU0sQ0FBQyxLQUFLLEdBQUcsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUU7SUFDOUQsTUFBTSxDQUFDLElBQUksR0FBRyxHQUFHLE1BQU0sSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksRUFBRTtJQUN2RCxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLEtBQUssRUFBRTtNQUN4QyxZQUFZLEdBQUcsTUFBTSxDQUFDLEtBQUs7SUFDN0I7SUFDQSxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztFQUM5QjtFQUVBLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQzs7RUFFM0M7RUFDQSxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBRSxHQUFHLElBQUs7SUFDM0MsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDO0VBQ2pELENBQUMsQ0FBQztFQUNGLFlBQVksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEdBQUcsTUFBTTtFQUM5QyxZQUFZLENBQUMsT0FBTyxDQUFDLFlBQVksR0FBRyxZQUFZO0VBRWhELFlBQVksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDO0VBQ2xDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN6QixDQUFDO0FBRUQsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUN6QixDQUFDLENBQUMsRUFDRjtFQUNFLElBQUksQ0FBQyxJQUFJLEVBQUU7SUFDVCxlQUFlLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBRSxZQUFZLElBQUs7TUFDM0QsbUJBQW1CLENBQUMsWUFBWSxDQUFDO01BQ2pDLGVBQWUsQ0FBQyxZQUFZLENBQUM7SUFDL0IsQ0FBQyxDQUFDO0VBQ0osQ0FBQztFQUNEO0FBQ0YsQ0FDRixDQUFDO0FBRUQsTUFBTSxDQUFDLE9BQU8sR0FBRyxVQUFVOzs7OztBQ25KM0I7QUFDQSxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUM7QUFDekMsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLGlEQUFpRCxDQUFDO0FBQ2xGLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyx3Q0FBd0MsQ0FBQztBQUNsRSxNQUFNO0VBQUUsTUFBTSxFQUFFO0FBQU8sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQztBQUNwRSxNQUFNLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyw4Q0FBOEMsQ0FBQztBQUVuRixNQUFNLElBQUksR0FBRyxNQUFNO0FBQ25CLE1BQU0sT0FBTyxHQUFHLElBQUksTUFBTSxVQUFVO0FBQ3BDLE1BQU0sZUFBZSxHQUFHLElBQUksTUFBTSxtQkFBbUI7QUFDckQsTUFBTSxxQkFBcUIsR0FBRyxHQUFHLE1BQU0sbUJBQW1CO0FBQzFELE1BQU0sYUFBYSxHQUFHLEdBQUcsTUFBTSxVQUFVO0FBQ3pDLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxNQUFNLGdCQUFnQjtBQUNwRCxNQUFNLFNBQVMsR0FBRyxRQUFRO0FBQzFCLE1BQU0sYUFBYSxHQUFHLFlBQVk7QUFDbEMsTUFBTSxhQUFhLEdBQUcsQ0FBQztBQUN2QixNQUFNLGtCQUFrQixHQUFHLEdBQUcsTUFBTSxzQkFBc0I7O0FBRTFEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLGtCQUFrQixHQUFJLE9BQU8sSUFBSztFQUN0QyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsVUFBVTtFQUNsQyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksa0JBQWtCLEVBQUUsQ0FBQztFQUU1RCxPQUFPO0lBQUUsT0FBTztJQUFFLE9BQU87SUFBRTtFQUFLLENBQUM7QUFDbkMsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sV0FBVyxHQUFHLENBQUMsV0FBVyxFQUFFLGNBQWMsRUFBRSxRQUFRLEtBQUs7RUFDN0QsV0FBVyxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDOztFQUVoRDtFQUNBO0VBQ0EsV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDOztFQUVwQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ0UsTUFBTSxnQkFBZ0IsR0FBSSxNQUFNLElBQUs7SUFDbkMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxrQkFBa0IsT0FBTyxDQUFDO0lBQzFELFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsa0JBQWtCLFVBQVUsQ0FBQztJQUM3RCxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLGtCQUFrQixTQUFTLENBQUM7SUFDNUQsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxrQkFBa0IsUUFBUSxDQUFDO0lBQzNELFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsa0JBQWtCLEtBQUssTUFBTSxFQUFFLENBQUM7RUFDL0QsQ0FBQzs7RUFFRDtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUNFLE1BQU0sbUJBQW1CLEdBQUksQ0FBQyxJQUFLO0lBQ2pDO0lBQ0EsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsSUFBSTtJQUNsQixDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJO0lBQ3JCLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUk7SUFDcEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSTtJQUNuQixDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJO0VBQ3ZCLENBQUM7O0VBRUQ7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztFQUVFLE1BQU0sWUFBWSxHQUFHLENBQUMsTUFBTSxFQUFFLGFBQWEsS0FDekMsUUFBUSxDQUNOLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsRUFDL0QsRUFDRixDQUFDOztFQUVIO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0VBRUE7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDRSxNQUFNLHFCQUFxQixHQUFHLENBQzVCLGNBQWMsRUFDZCxpQkFBaUIsRUFDakIsT0FBTyxLQUNKO0lBQ0gsTUFBTSxNQUFNLEdBQ1YsWUFBWSxDQUFDLE9BQU8sRUFBRSxVQUFVLGNBQWMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUNqRCxpQkFBaUIsR0FBRyxZQUFZLENBQUMsT0FBTyxFQUFFLFVBQVUsY0FBYyxFQUFFLENBQUMsR0FDckUsaUJBQWlCO0lBRXZCLE9BQU8sTUFBTTtFQUNmLENBQUM7O0VBRUQ7QUFDRjtBQUNBO0FBQ0E7RUFDRSxNQUFNLFdBQVcsR0FBSSxDQUFDLElBQUs7SUFDekIsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4Qjs7SUFFQSxNQUFNLFNBQVMsR0FBRyxxQkFBcUIsQ0FDckMsS0FBSyxFQUNMLENBQUMsQ0FBQyxZQUFZLEVBQ2QsY0FDRixDQUFDO0lBRUQsTUFBTSxVQUFVLEdBQUcscUJBQXFCLENBQ3RDLE1BQU0sRUFDTixDQUFDLENBQUMsV0FBVyxFQUNiLGNBQ0YsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQUssQ0FBQztJQUN2QixDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQztJQUN0QixDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxJQUFJLGFBQWEsSUFBSSxDQUFDLENBQUM7SUFDckM7SUFDQSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLFNBQVMsV0FBVyxVQUFVLEdBQUcsQ0FBQyxJQUFJO0VBQzdELENBQUM7O0VBRUQ7QUFDRjtBQUNBO0FBQ0E7RUFDRSxNQUFNLGNBQWMsR0FBSSxDQUFDLElBQUs7SUFDNUIsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO0lBRXRCLE1BQU0sVUFBVSxHQUFHLHFCQUFxQixDQUN0QyxNQUFNLEVBQ04sQ0FBQyxDQUFDLFdBQVcsRUFDYixjQUNGLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7SUFDMUIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSztJQUNwQixDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxHQUFHLGFBQWEsV0FBVyxVQUFVLEdBQUcsQ0FBQyxJQUFJO0VBQ2hFLENBQUM7O0VBRUQ7QUFDRjtBQUNBO0FBQ0E7RUFDRSxNQUFNLGFBQWEsR0FBSSxDQUFDLElBQUs7SUFDM0IsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO0lBRXRCLE1BQU0sU0FBUyxHQUFHLHFCQUFxQixDQUNyQyxLQUFLLEVBQ0wsQ0FBQyxDQUFDLFlBQVksRUFDZCxjQUNGLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7SUFDekIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsS0FBSztJQUNuQixDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxHQUNiLGNBQWMsQ0FBQyxVQUFVLEdBQUcsY0FBYyxDQUFDLFdBQVcsR0FBRyxhQUFhLElBQ3BFO0lBQ0osQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxTQUFTLEdBQUcsQ0FBQyxVQUFVO0VBQzlDLENBQUM7O0VBRUQ7QUFDRjtBQUNBO0FBQ0E7RUFDRSxNQUFNLFlBQVksR0FBSSxDQUFDLElBQUs7SUFDMUIsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO0lBRXRCLE1BQU0sU0FBUyxHQUFHLHFCQUFxQixDQUNyQyxLQUFLLEVBQ0wsQ0FBQyxDQUFDLFlBQVksRUFDZCxjQUNGLENBQUM7O0lBRUQ7SUFDQSxNQUFNLFVBQVUsR0FBRyxxQkFBcUIsQ0FDdEMsTUFBTSxFQUNOLGNBQWMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLFdBQVcsR0FDckMsY0FBYyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsV0FBVyxHQUN6QyxDQUFDLENBQUMsV0FBVyxFQUNqQixjQUNGLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7SUFDeEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsS0FBSztJQUNuQixDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLGFBQWEsSUFBSTtJQUNwQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLFNBQVMsR0FBRyxDQUFDLFVBQ2hDLGNBQWMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLFdBQVcsR0FBRyxVQUFVLEdBQUcsQ0FBQyxVQUFVLElBQ2xFLENBQUMsQ0FBQztFQUNSLENBQUM7O0VBRUQ7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7RUFFRSxNQUFNLFdBQVcsR0FBRyxDQUFDO0VBRXJCLFNBQVMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLE9BQU8sR0FBRyxDQUFDLEVBQUU7SUFDOUM7SUFDQSxNQUFNLFNBQVMsR0FBRyxDQUNoQixXQUFXLEVBQ1gsY0FBYyxFQUNkLGFBQWEsRUFDYixZQUFZLENBQ2I7SUFFRCxJQUFJLGtCQUFrQixHQUFHLEtBQUs7O0lBRTlCO0lBQ0EsU0FBUyxZQUFZLENBQUMsQ0FBQyxFQUFFO01BQ3ZCLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUU7UUFDeEIsTUFBTSxHQUFHLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUN4QixHQUFHLENBQUMsT0FBTyxDQUFDO1FBRVosSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxFQUFFO1VBQ2pDO1VBQ0EsWUFBWSxDQUFFLENBQUMsSUFBSSxDQUFFLENBQUM7UUFDeEIsQ0FBQyxNQUFNO1VBQ0wsa0JBQWtCLEdBQUcsSUFBSTtRQUMzQjtNQUNGO0lBQ0Y7SUFFQSxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ2Y7SUFDQSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7TUFDdkIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUM7TUFDekMsSUFBSSxPQUFPLElBQUksV0FBVyxFQUFFO1FBQzFCO1FBQ0EsZ0JBQWdCLENBQUMsT0FBTyxFQUFHLE9BQU8sSUFBSSxDQUFFLENBQUM7TUFDM0M7SUFDRjtFQUNGO0VBRUEsUUFBUSxRQUFRO0lBQ2QsS0FBSyxLQUFLO01BQ1IsV0FBVyxDQUFDLFdBQVcsQ0FBQztNQUN4QixJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLEVBQUU7UUFDckMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDO01BQy9CO01BQ0E7SUFDRixLQUFLLFFBQVE7TUFDWCxjQUFjLENBQUMsV0FBVyxDQUFDO01BQzNCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsRUFBRTtRQUNyQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUM7TUFDL0I7TUFDQTtJQUNGLEtBQUssT0FBTztNQUNWLGFBQWEsQ0FBQyxXQUFXLENBQUM7TUFDMUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxFQUFFO1FBQ3JDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQztNQUMvQjtNQUNBO0lBQ0YsS0FBSyxNQUFNO01BQ1QsWUFBWSxDQUFDLFdBQVcsQ0FBQztNQUN6QixJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLEVBQUU7UUFDckMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDO01BQy9CO01BQ0E7SUFFRjtNQUNFO01BQ0E7RUFDSjs7RUFFQTtBQUNGO0FBQ0E7QUFDQTtFQUNFLFVBQVUsQ0FBQyxNQUFNO0lBQ2YsV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDO0VBQzFDLENBQUMsRUFBRSxFQUFFLENBQUM7QUFDUixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxXQUFXLEdBQUksV0FBVyxJQUFLO0VBQ25DLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQztFQUMzQyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7RUFDdkMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUM7RUFDaEQsV0FBVyxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDO0FBQ2pELENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLGVBQWUsR0FBSSxjQUFjLElBQUs7RUFDMUMsTUFBTSxTQUFTLEdBQUcsV0FBVyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLE1BQU0sRUFBRTtFQUMxRSxNQUFNLGNBQWMsR0FBRyxjQUFjLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQztFQUMzRCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztFQUM5QyxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztFQUNsRCxNQUFNLGlCQUFpQixHQUFHLGNBQWMsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDO0VBQ3JFLElBQUksUUFBUSxHQUFHLGNBQWMsQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDOztFQUUzRDtFQUNBLElBQUksQ0FBQyxRQUFRLEVBQUU7SUFDYixRQUFRLEdBQUcsS0FBSztJQUNoQixjQUFjLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxRQUFRLENBQUM7RUFDeEQ7O0VBRUE7RUFDQSxjQUFjLENBQUMsWUFBWSxDQUFDLGtCQUFrQixFQUFFLFNBQVMsQ0FBQztFQUMxRCxjQUFjLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUM7RUFDNUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUM7RUFDdkMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDO0VBQzlDLGNBQWMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDOztFQUVuRDtFQUNBLGNBQWMsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUM7O0VBRS9EO0VBQ0EsT0FBTyxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUM7RUFDbkMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDO0VBQ3BDLE9BQU8sQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDOztFQUVoQztFQUNBLElBQUksaUJBQWlCLEVBQUU7SUFDckIsTUFBTSxZQUFZLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUNqRCxZQUFZLENBQUMsT0FBTyxDQUFFLFNBQVMsSUFBSyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztFQUN2RTs7RUFFQTtFQUNBLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDO0VBQzdDLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQztFQUN6QyxXQUFXLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUM7RUFDM0MsV0FBVyxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDOztFQUUvQztFQUNBLFdBQVcsQ0FBQyxXQUFXLEdBQUcsY0FBYztFQUV4QyxPQUFPO0lBQUUsV0FBVztJQUFFLFFBQVE7SUFBRSxjQUFjO0lBQUU7RUFBUSxDQUFDO0FBQzNELENBQUM7O0FBRUQ7QUFDQTtBQUNBOztBQUVBLE1BQU0sWUFBWSxHQUFHLENBQUEsS0FBTTtFQUN6QixNQUFNLGNBQWMsR0FBRyxlQUFlLENBQUMsSUFBSSxrQkFBa0IsSUFBSSxTQUFTLEVBQUUsQ0FBQztFQUU3RSxJQUFJLENBQUMsY0FBYyxFQUFFO0lBQ25CO0VBQ0Y7RUFFQSxjQUFjLENBQUMsT0FBTyxDQUFFLGFBQWEsSUFBSyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDdkUsQ0FBQzs7QUFFRDtBQUNBLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FDdEI7RUFDRSxtQkFBbUIsRUFBRTtJQUNuQixDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUU7TUFDWCxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsTUFBTTtNQUN4QixNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsUUFBUTs7TUFFcEM7TUFDQSxJQUFJLFdBQVcsS0FBSyxRQUFRLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUM3RCxlQUFlLENBQUMsT0FBTyxDQUFDO01BQzFCO0lBQ0YsQ0FBQztJQUNELENBQUMsZUFBZSxFQUFFLENBQUMsRUFBRTtNQUNuQixNQUFNO1FBQUUsT0FBTztRQUFFO01BQUssQ0FBQyxHQUFHLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7TUFFdEQsV0FBVyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFDdEQ7RUFDRixDQUFDO0VBQ0QsUUFBUSxFQUFFO0lBQ1IsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxFQUFFO01BQ25CLE1BQU07UUFBRTtNQUFLLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO01BRTdDLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFDbkI7RUFDRixDQUFDO0VBQ0QsT0FBTyxFQUFFO0lBQ1AsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO01BQUUsTUFBTSxFQUFFO0lBQWEsQ0FBQztFQUN6QztBQUNGLENBQUMsRUFDRDtFQUNFLElBQUksQ0FBQyxJQUFJLEVBQUU7SUFDVCxlQUFlLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBRSxjQUFjLElBQUs7TUFDekQsZUFBZSxDQUFDLGNBQWMsQ0FBQztNQUUvQixNQUFNO1FBQUUsSUFBSTtRQUFFO01BQVEsQ0FBQyxHQUFHLGtCQUFrQixDQUFDLGNBQWMsQ0FBQztNQUM1RCxPQUFPLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pFLENBQUMsQ0FBQztFQUNKLENBQUM7RUFDRCxRQUFRLENBQUMsSUFBSSxFQUFFO0lBQ2IsZUFBZSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUUsY0FBYyxJQUFLO01BQ3pELGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDO0lBQy9ELENBQUMsQ0FBQztFQUNKLENBQUM7RUFDRCxLQUFLLEVBQUUsZUFBZTtFQUN0QixrQkFBa0I7RUFDbEIsSUFBSSxFQUFFLFdBQVc7RUFDakIsSUFBSSxFQUFFO0FBQ1IsQ0FDRixDQUFDO0FBRUQsTUFBTSxDQUFDLE9BQU8sR0FBRyxPQUFPOzs7OztBQzFheEIsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLHdDQUF3QyxDQUFDO0FBQ2xFLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyw4Q0FBOEMsQ0FBQztBQUN4RSxNQUFNO0VBQUUsTUFBTSxFQUFFO0FBQU8sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQztBQUNwRSxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsaURBQWlELENBQUM7QUFFbEYsTUFBTSxjQUFjLEdBQ2xCLGtFQUFrRTtBQUNwRSxNQUFNLGNBQWMsR0FBRyxJQUFJLE1BQU0sa0JBQWtCOztBQUVuRDtBQUNBLE1BQU0sWUFBWSxHQUFJLEVBQUUsSUFBSyxRQUFRLENBQUMsRUFBRSxDQUFDOztBQUV6QztBQUNBLE1BQU0sbUJBQW1CLEdBQUksS0FBSyxJQUFLO0VBQ3JDLE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxDQUFDLFVBQVU7RUFDNUMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7RUFDeEMsTUFBTSxlQUFlLEdBQUcsR0FBRyxPQUFPLGFBQWE7RUFDL0MsS0FBSyxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsRUFBRSxlQUFlLENBQUM7RUFFdkQsTUFBTSxzQkFBc0IsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztFQUU3RCxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxDQUFDO0VBQ2pFLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDO0VBQ25ELHNCQUFzQixDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDO0VBQzFELHNCQUFzQixDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDO0VBQ3hELHNCQUFzQixDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDO0VBQzFELG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQztBQUNwRCxDQUFDOztBQUVEO0FBQ0EsTUFBTSxtQkFBbUIsR0FBSSxLQUFLLElBQUs7RUFDckMsTUFBTSxtQkFBbUIsR0FBRyxLQUFLLENBQUMsVUFBVTtFQUM1QyxNQUFNLGNBQWMsR0FBRyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUM7RUFDM0UsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLHlCQUF5QixDQUFDO0VBRXZFLEtBQUssQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLGlCQUFpQixDQUFDO0VBRXRELGNBQWMsQ0FBQyxPQUFPLENBQUUsUUFBUSxJQUFLO0lBQ25DLElBQUksYUFBYSxHQUFHLG1CQUFtQjtJQUN2QyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsNEJBQTRCLENBQUMsRUFBRTtNQUNwRCxhQUFhLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyw0QkFBNEIsQ0FBQztJQUNsRTtJQUNBLE1BQU0sVUFBVSxHQUFHLEdBQUcsUUFBUSxDQUFDLFdBQVcsSUFBSSxhQUFhLEdBQUc7SUFDOUQsUUFBUSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDO0VBQ2pELENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLGlCQUFpQixHQUFJLEtBQUssSUFBSztFQUNuQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUM7RUFDMUIsbUJBQW1CLENBQUMsS0FBSyxDQUFDO0FBQzVCLENBQUM7QUFFRCxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQ3hCO0VBQ0UsY0FBYyxFQUFFO0lBQ2QsQ0FBQyxjQUFjLEVBQUUsS0FBSyxFQUFFO01BQ3RCLFlBQVksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQzVCO0VBQ0Y7QUFDRixDQUFDLEVBQ0Q7RUFDRSxJQUFJLENBQUMsSUFBSSxFQUFFO0lBQ1QsZUFBZSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUUsS0FBSyxJQUNsRCxpQkFBaUIsQ0FBQyxLQUFLLENBQ3pCLENBQUM7RUFDSDtBQUNGLENBQ0YsQ0FBQztBQUVELE1BQU0sQ0FBQyxPQUFPLEdBQUcsU0FBUzs7Ozs7QUNyRTFCLE1BQU0sQ0FBQyxPQUFPLEdBQUc7RUFDZixNQUFNLEVBQUU7QUFDVixDQUFDOzs7OztBQ0ZELE1BQU0sQ0FBQyxPQUFPLEdBQUc7RUFDZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxLQUFLLEVBQUU7QUFDVCxDQUFDOzs7OztBQ2RELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxrQ0FBa0MsQ0FBQztBQUM3RCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsK0JBQStCLENBQUM7QUFDdkQsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLCtCQUErQixDQUFDO0FBQ3ZELE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyx3Q0FBd0MsQ0FBQztBQUN4RSxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsa0NBQWtDLENBQUM7QUFDNUQsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLG9DQUFvQyxDQUFDO0FBQ2hFLE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQywwQ0FBMEMsQ0FBQztBQUMzRSxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsbUNBQW1DLENBQUM7QUFDOUQsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLCtCQUErQixDQUFDO0FBQ3ZELE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLDJDQUEyQyxDQUFDO0FBQzdFLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQztBQUM5RCxNQUFNLGdCQUFnQixHQUFHLE9BQU8sQ0FBQywwQ0FBMEMsQ0FBQztBQUM1RSxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsOEJBQThCLENBQUM7QUFDckQsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLCtCQUErQixDQUFDO0FBQzNELE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxrQ0FBa0MsQ0FBQztBQUM1RCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsOEJBQThCLENBQUM7QUFDckQsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLCtCQUErQixDQUFDO0FBQ3ZELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQztBQUN6RCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsOEJBQThCLENBQUM7QUFDckQsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLG9DQUFvQyxDQUFDO0FBQ2hFLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQztBQUN6RCxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsbUNBQW1DLENBQUM7QUFFOUQsTUFBTSxDQUFDLE9BQU8sR0FBRztFQUNmLFNBQVM7RUFDVCxNQUFNO0VBQ04sTUFBTTtFQUNOLGNBQWM7RUFDZCxRQUFRO0VBQ1IsVUFBVTtFQUNWLGVBQWU7RUFDZixTQUFTO0VBQ1QsTUFBTTtFQUNOLGdCQUFnQjtFQUNoQixTQUFTO0VBQ1QsZ0JBQWdCO0VBQ2hCLEtBQUs7RUFDTCxVQUFVO0VBQ1YsUUFBUTtFQUNSLEtBQUs7RUFDTCxNQUFNO0VBQ04sT0FBTztFQUNQLEtBQUs7RUFDTCxVQUFVO0VBQ1YsT0FBTztFQUNQO0FBQ0YsQ0FBQzs7Ozs7QUM5Q0Q7QUFDQTtBQUNBLENBQUMsWUFBWTtFQUNYLElBQUksT0FBTyxNQUFNLENBQUMsV0FBVyxLQUFLLFVBQVUsRUFBRSxPQUFPLEtBQUs7RUFFMUQsU0FBUyxXQUFXLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRTtJQUNuQyxNQUFNLE1BQU0sR0FBRyxPQUFPLElBQUk7TUFDeEIsT0FBTyxFQUFFLEtBQUs7TUFDZCxVQUFVLEVBQUUsS0FBSztNQUNqQixNQUFNLEVBQUU7SUFDVixDQUFDO0lBQ0QsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUM7SUFDL0MsR0FBRyxDQUFDLGVBQWUsQ0FDakIsS0FBSyxFQUNMLE1BQU0sQ0FBQyxPQUFPLEVBQ2QsTUFBTSxDQUFDLFVBQVUsRUFDakIsTUFBTSxDQUFDLE1BQ1QsQ0FBQztJQUNELE9BQU8sR0FBRztFQUNaO0VBRUEsTUFBTSxDQUFDLFdBQVcsR0FBRyxXQUFXO0FBQ2xDLENBQUMsRUFBRSxDQUFDOzs7OztBQ3RCSixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLFNBQVM7QUFDNUMsTUFBTSxNQUFNLEdBQUcsUUFBUTtBQUV2QixJQUFJLEVBQUUsTUFBTSxJQUFJLE9BQU8sQ0FBQyxFQUFFO0VBQ3hCLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRTtJQUNyQyxHQUFHLENBQUEsRUFBRztNQUNKLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7SUFDbEMsQ0FBQztJQUNELEdBQUcsQ0FBQyxLQUFLLEVBQUU7TUFDVCxJQUFJLEtBQUssRUFBRTtRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztNQUMvQixDQUFDLE1BQU07UUFDTCxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQztNQUM5QjtJQUNGO0VBQ0YsQ0FBQyxDQUFDO0FBQ0o7Ozs7O0FDaEJBO0FBQ0EsT0FBTyxDQUFDLG9CQUFvQixDQUFDO0FBQzdCO0FBQ0EsT0FBTyxDQUFDLGtCQUFrQixDQUFDO0FBQzNCO0FBQ0EsT0FBTyxDQUFDLGlCQUFpQixDQUFDO0FBQzFCO0FBQ0EsT0FBTyxDQUFDLGdCQUFnQixDQUFDO0FBQ3pCO0FBQ0EsT0FBTyxDQUFDLGlCQUFpQixDQUFDOzs7OztBQ1QxQixNQUFNLENBQUMsS0FBSyxHQUNWLE1BQU0sQ0FBQyxLQUFLLElBQ1osU0FBUyxLQUFLLENBQUMsS0FBSyxFQUFFO0VBQ3BCO0VBQ0EsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxLQUFLLEtBQUs7QUFDckQsQ0FBQzs7Ozs7QUNMSDtBQUNBLENBQUUsVUFBVSxPQUFPLEVBQUU7RUFDbkIsTUFBTSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsQ0FBQztBQUM1QixDQUFDLENBQUUsWUFBWTtFQUNiO0VBQ0EsU0FBUyxLQUFLLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFO0lBQ3ZDO0lBQ0EsSUFBSSxNQUFNLEVBQUU7TUFDVjtNQUNBLElBQUksUUFBUSxHQUFHLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQzlDLE9BQU8sR0FDTCxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUM7TUFDbEU7TUFDQSxPQUFPLElBQUksR0FBRyxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDO01BQy9DO01BQ0E7TUFDRTtNQUNBLElBQUksS0FBSyxHQUFHLFFBQVEsQ0FBQyxVQUFVLEdBQ3pCLFFBQVEsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQy9CLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDeEIsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQzFCLEdBQUcsQ0FBQyxZQUFZLElBQUksNEJBQTRCLEVBQ2hELEdBQ0YsQ0FBQyxFQUNILEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUV2QjtRQUNBLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztNQUNqQztNQUNBLElBQUksR0FBRyxFQUFFO1FBQ1AsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1VBQzlDLElBQUksSUFBSSxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1VBQzVCLFlBQVksS0FBSyxJQUFJLENBQUMsSUFBSSxJQUN4QixNQUFNLEtBQUssSUFBSSxDQUFDLElBQUksSUFDcEIsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDekM7TUFDRjtNQUNBLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO01BQUU7TUFDdkIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7SUFDaEM7RUFDRjtFQUNBLFNBQVMsb0JBQW9CLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRTtJQUN0QztJQUNDLEdBQUcsQ0FBQyxrQkFBa0IsR0FBRyxZQUFZO01BQ3BDO01BQ0EsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLFVBQVUsRUFBRTtRQUN4QjtRQUNBLElBQUksY0FBYyxHQUFHLEdBQUcsQ0FBQyxlQUFlO1FBQ3hDO1FBQ0EsY0FBYyxLQUNWLGNBQWMsR0FBRyxHQUFHLENBQUMsZUFBZSxHQUNwQyxRQUFRLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxFQUMvQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsWUFBWTtRQUFHO1FBQ3BEO1FBQ0EsY0FBYyxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUMsTUFBTSxLQUN0QyxjQUFjLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFDMUMsR0FBRyxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUUsQ0FBQztRQUFFO1FBQzNCLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUksRUFBRTtVQUN4QztVQUNBLElBQUksTUFBTSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztVQUN2QztVQUNBLE1BQU0sS0FDSCxNQUFNLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQ2xDLGNBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1VBQ3pDO1VBQ0EsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO1FBQzdDLENBQUMsQ0FBQztNQUNOO0lBQ0YsQ0FBQztJQUFHO0lBQ0YsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7RUFDNUI7RUFDQSxTQUFTLGFBQWEsQ0FBQyxPQUFPLEVBQUU7SUFDOUIsU0FBUyxVQUFVLENBQUEsRUFBRztNQUNwQjtNQUNBLElBQ0UsOEJBQThCLElBQzlCLElBQUksQ0FBQyxNQUFNLEdBQUcsOEJBQThCLElBQUksQ0FBQyxFQUNqRDtRQUNBLE9BQU8sS0FBSyxxQkFBcUIsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO01BQ25EO01BQ0E7TUFDQTtNQUNBO01BQ0EsOEJBQThCLEdBQUcsQ0FBQztNQUNsQztNQUNBO01BQ0U7TUFDQSxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQ2IsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBRW5CO1FBQ0E7UUFDQSxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1VBQ25CLE1BQU0sR0FBRyxHQUFHLENBQUMsVUFBVTtVQUN2QixHQUFHLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQztVQUM1QixHQUFHLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUNsRSxJQUNHLENBQUMsR0FBRyxJQUNILElBQUksQ0FBQyxhQUFhLEtBQ2pCLEdBQUcsR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUM5QyxHQUFHLElBQUksR0FBRyxFQUNWO1VBQ0EsSUFBSSxRQUFRLEVBQUU7WUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUU7Y0FDbEQ7Y0FDQSxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQztjQUN2QjtjQUNBLElBQUksUUFBUSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO2dCQUMzQixHQUFHLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN0QixFQUFFLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7Y0FDekI7Y0FDQSxJQUFJLEdBQUcsQ0FBQyxNQUFNLEVBQUU7Z0JBQ2Q7Z0JBQ0EsSUFBSSxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQztnQkFDdkI7Z0JBQ0EsR0FBRyxLQUNDLEdBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxjQUFjLENBQUMsQ0FBQyxFQUM1QyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsRUFDcEIsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQ1QsR0FBRyxDQUFDLE9BQU8sR0FBRyxFQUFHLENBQUM7Z0JBQUU7Z0JBQ3JCLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2tCQUNmLE1BQU0sRUFBRSxNQUFNO2tCQUNkLEdBQUcsRUFBRSxHQUFHO2tCQUNSLEVBQUUsRUFBRTtnQkFDTixDQUFDLENBQUM7Z0JBQUU7Z0JBQ0osb0JBQW9CLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQztjQUNsQyxDQUFDLE1BQU07Z0JBQ0w7Z0JBQ0EsS0FBSyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUM7Y0FDdEQ7WUFDRixDQUFDLE1BQU07Y0FDTDtjQUNBLEVBQUUsS0FBSyxFQUFFLEVBQUUsOEJBQThCO1lBQzNDO1VBQ0Y7UUFDRixDQUFDLE1BQU07VUFDTDtVQUNBLEVBQUUsS0FBSztRQUNUO01BQ0Y7TUFDQTtNQUNBLHFCQUFxQixDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7SUFDdkM7SUFDQSxJQUFJLFFBQVE7TUFDVixJQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztNQUN0QixTQUFTLEdBQUcseUNBQXlDO01BQ3JELFFBQVEsR0FBRyx3QkFBd0I7TUFDbkMsV0FBVyxHQUFHLHFCQUFxQjtNQUNuQyxNQUFNLEdBQUcsa0JBQWtCO01BQzNCLFFBQVEsR0FBRyxNQUFNLENBQUMsR0FBRyxLQUFLLE1BQU0sQ0FBQyxJQUFJO0lBQ3ZDLFFBQVEsR0FDTixVQUFVLElBQUksSUFBSSxHQUNkLElBQUksQ0FBQyxRQUFRLEdBQ2IsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQ25DLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEtBQUssSUFDekQsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUNuRCxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxRQUFTO0lBQ3BEO0lBQ0EsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO01BQ2YscUJBQXFCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixJQUFJLFVBQVU7TUFDbEUsSUFBSSxHQUFHLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUM7TUFDM0MsOEJBQThCLEdBQUcsQ0FBQztJQUNwQztJQUNBLFFBQVEsSUFBSSxVQUFVLENBQUMsQ0FBQztFQUMxQjtFQUNBLFNBQVMsY0FBYyxDQUFDLElBQUksRUFBRTtJQUM1QixLQUNFLElBQUksR0FBRyxHQUFHLElBQUksRUFDZCxLQUFLLEtBQUssR0FBRyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLEdBQUcsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBRTlELENBQUM7SUFDSCxPQUFPLEdBQUc7RUFDWjtFQUNBLE9BQU8sYUFBYTtBQUN0QixDQUFDLENBQUM7Ozs7O0FDOUtGLE1BQU0sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLENBQUM7O0FBRTVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxDQUFDLGFBQWEsQ0FBQztBQUV0QixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO0FBRWpDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7QUFDckMsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLDJCQUEyQixDQUFDO0FBRTFELEtBQUssQ0FBQyxVQUFVLEdBQUcsVUFBVTtBQUU3QixNQUFNLGNBQWMsR0FBRyxDQUFBLEtBQU07RUFDM0IsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLElBQUk7RUFDNUIsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUUsR0FBRyxJQUFLO0lBQ3ZDLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUM7SUFDaEMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7RUFDckIsQ0FBQyxDQUFDO0VBQ0YsYUFBYSxDQUFDLENBQUM7QUFDakIsQ0FBQztBQUVELElBQUksUUFBUSxDQUFDLFVBQVUsS0FBSyxTQUFTLEVBQUU7RUFDckMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixFQUFFLGNBQWMsRUFBRTtJQUFFLElBQUksRUFBRTtFQUFLLENBQUMsQ0FBQztBQUMvRSxDQUFDLE1BQU07RUFDTCxjQUFjLENBQUMsQ0FBQztBQUNsQjtBQUVBLE9BQU8sQ0FBQyxPQUFPLEdBQUcsS0FBSztBQUN2QixPQUFPLENBQUMsY0FBYyxHQUFHLGNBQWM7Ozs7O0FDL0J2QyxNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsWUFBWSxHQUFHLFFBQVEsS0FBSyxZQUFZLENBQUMsYUFBYTs7Ozs7QUNBeEUsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQztBQUN2QyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsbUJBQW1CLENBQUM7O0FBRTdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFHLEdBQUcsS0FDdEIsU0FBUyxTQUFTLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUU7RUFDekMsR0FBRyxDQUFDLE9BQU8sQ0FBRSxNQUFNLElBQUs7SUFDdEIsSUFBSSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxVQUFVLEVBQUU7TUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO0lBQ2pDO0VBQ0YsQ0FBQyxDQUFDO0FBQ0osQ0FBQzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsTUFBTSxFQUFFLEtBQUssS0FDN0IsUUFBUSxDQUNOLE1BQU0sRUFDTixNQUFNLENBQ0o7RUFDRSxFQUFFLEVBQUUsUUFBUSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7RUFDM0IsR0FBRyxFQUFFLFFBQVEsQ0FBQyxVQUFVLEVBQUUsUUFBUTtBQUNwQyxDQUFDLEVBQ0QsS0FDRixDQUNGLENBQUM7Ozs7O0FDbkNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsTUFBTSxDQUFDLE9BQU8sR0FBRyxTQUFTLFFBQVEsQ0FBQyxRQUFRLEVBQUUsS0FBSyxHQUFHLEdBQUcsRUFBRTtFQUN4RCxJQUFJLEtBQUssR0FBRyxJQUFJO0VBQ2hCLE9BQU8sQ0FBQyxHQUFHLElBQUksS0FBSztJQUNsQixNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztJQUMxQixLQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNO01BQzlCLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztJQUM1QixDQUFDLEVBQUUsS0FBSyxDQUFDO0VBQ1gsQ0FBQztBQUNILENBQUM7Ozs7O0FDakJELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUM7QUFDdkMsTUFBTTtFQUFFO0FBQU8sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUM7QUFDdEMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztBQUN0QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO0FBQ2xDLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztBQUVqRCxNQUFNLFNBQVMsR0FDYixnTEFBZ0w7QUFFbEwsTUFBTSxVQUFVLEdBQUksT0FBTyxJQUFLO0VBQzlCLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUM7RUFDcEQsTUFBTSxZQUFZLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0VBQ3pDLE1BQU0sV0FBVyxHQUFHLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7O0VBRW5FO0VBQ0E7RUFDQSxTQUFTLFFBQVEsQ0FBQyxLQUFLLEVBQUU7SUFDdkIsSUFBSSxhQUFhLENBQUMsQ0FBQyxLQUFLLFdBQVcsRUFBRTtNQUNuQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7TUFDdEIsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RCO0VBQ0Y7RUFFQSxTQUFTLE9BQU8sQ0FBQyxLQUFLLEVBQUU7SUFDdEIsSUFBSSxhQUFhLENBQUMsQ0FBQyxLQUFLLFlBQVksRUFBRTtNQUNwQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7TUFDdEIsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCO0lBQ0E7SUFDQTtJQUNBO0lBQUEsS0FDSyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRTtNQUNyRCxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7TUFDdEIsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RCO0VBQ0Y7RUFFQSxPQUFPO0lBQ0wsWUFBWTtJQUNaLFdBQVc7SUFDWCxRQUFRO0lBQ1I7RUFDRixDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxPQUFPLEVBQUUscUJBQXFCLEdBQUcsQ0FBQyxDQUFDLEtBQUs7RUFDeEQsTUFBTSxlQUFlLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztFQUMzQyxNQUFNLFFBQVEsR0FBRyxxQkFBcUI7RUFDdEMsTUFBTTtJQUFFLEdBQUc7SUFBRTtFQUFPLENBQUMsR0FBRyxRQUFRO0VBRWhDLElBQUksTUFBTSxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxHQUFHLEdBQUcsTUFBTTs7RUFFekM7RUFDQTtFQUNBO0VBQ0EsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUN4QixNQUFNLENBQ0o7SUFDRSxHQUFHLEVBQUUsZUFBZSxDQUFDLFFBQVE7SUFDN0IsV0FBVyxFQUFFLGVBQWUsQ0FBQztFQUMvQixDQUFDLEVBQ0QscUJBQ0YsQ0FDRixDQUFDO0VBRUQsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUN4QjtJQUNFLE9BQU8sRUFBRTtFQUNYLENBQUMsRUFDRDtJQUNFLElBQUksQ0FBQSxFQUFHO01BQ0w7TUFDQTtNQUNBLElBQUksZUFBZSxDQUFDLFlBQVksRUFBRTtRQUNoQyxlQUFlLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO01BQ3RDO0lBQ0YsQ0FBQztJQUNELE1BQU0sQ0FBQyxRQUFRLEVBQUU7TUFDZixJQUFJLFFBQVEsRUFBRTtRQUNaLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztNQUNYLENBQUMsTUFBTTtRQUNMLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztNQUNaO0lBQ0Y7RUFDRixDQUNGLENBQUM7RUFFRCxPQUFPLFNBQVM7QUFDbEIsQ0FBQzs7Ozs7QUN4RkQ7QUFDQSxTQUFTLG1CQUFtQixDQUMxQixFQUFFLEVBQ0YsR0FBRyxHQUFHLE1BQU0sRUFDWixLQUFLLEdBQUcsUUFBUSxDQUFDLGVBQWUsRUFDaEM7RUFDQSxNQUFNLElBQUksR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUMsQ0FBQztFQUV2QyxPQUNFLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUNiLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUNkLElBQUksQ0FBQyxNQUFNLEtBQUssR0FBRyxDQUFDLFdBQVcsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLElBQ3RELElBQUksQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDO0FBRXZEO0FBRUEsTUFBTSxDQUFDLE9BQU8sR0FBRyxtQkFBbUI7Ozs7O0FDaEJwQztBQUNBLFNBQVMsV0FBVyxDQUFBLEVBQUc7RUFDckIsT0FDRSxPQUFPLFNBQVMsS0FBSyxXQUFXLEtBQy9CLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLElBQzlDLFNBQVMsQ0FBQyxRQUFRLEtBQUssVUFBVSxJQUFJLFNBQVMsQ0FBQyxjQUFjLEdBQUcsQ0FBRSxDQUFDLElBQ3RFLENBQUMsTUFBTSxDQUFDLFFBQVE7QUFFcEI7QUFFQSxNQUFNLENBQUMsT0FBTyxHQUFHLFdBQVc7Ozs7O0FDVjVCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLENBQUUsVUFBVSxPQUFPLEVBQUU7RUFDbkIsTUFBTSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsQ0FBQztBQUM1QixDQUFDLENBQUUsWUFBWTtFQUNiLFlBQVk7O0VBRVosSUFBSSxTQUFTLEdBQUc7SUFDZCxPQUFPLEVBQUUsV0FBVztJQUVwQixTQUFTLEVBQUU7TUFDVCxHQUFHLEVBQUUsT0FBTztNQUNaLEdBQUcsRUFBRSxNQUFNO01BQ1gsR0FBRyxFQUFFLE1BQU07TUFDWCxHQUFHLEVBQUUsUUFBUTtNQUNiLEdBQUcsRUFBRSxRQUFRO01BQ2IsR0FBRyxFQUFFO0lBQ1AsQ0FBQztJQUVELFNBQVMsRUFBRSxTQUFBLENBQVUsQ0FBQyxFQUFFO01BQ3RCLE9BQU8sU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEO0FBQ0o7QUFDQTtJQUNJLFVBQVUsRUFBRSxTQUFBLENBQVUsT0FBTyxFQUFFO01BQzdCLElBQUksTUFBTSxHQUFHLEVBQUU7TUFFZixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUN2QyxNQUFNLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRTtVQUM1QixJQUFJLEtBQUssR0FBRyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUU7VUFDbEMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQzdCLFNBQVMsQ0FBQyxPQUFPLEVBQ2pCLFNBQVMsQ0FBQyxTQUNaLENBQUM7UUFDSDtNQUNGO01BRUEsT0FBTyxNQUFNO0lBQ2YsQ0FBQztJQUNEO0FBQ0o7QUFDQTtJQUNJLGNBQWMsRUFBRSxTQUFBLENBQVUsT0FBTyxFQUFFO01BQ2pDLElBQUksSUFBSSxHQUFHLFNBQVMsQ0FBQyxNQUFNO01BQzNCLElBQUksTUFBTSxHQUFHLElBQUksS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7TUFDL0MsS0FBSyxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUUsSUFBSSxHQUFHLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUN0QyxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUM7TUFDcEM7TUFFQSxJQUFJLE9BQU8sR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FDdEMsU0FBUyxFQUNULENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FDekIsQ0FBQztNQUNELE9BQU87UUFDTCxNQUFNLEVBQUUsT0FBTztRQUNmLFFBQVEsRUFBRSxTQUFBLENBQUEsRUFBWTtVQUNwQixPQUFPLDRCQUE0QjtRQUNyQyxDQUFDO1FBQ0QsSUFBSSxFQUNGLGlFQUFpRSxHQUNqRTtNQUNKLENBQUM7SUFDSCxDQUFDO0lBQ0Q7QUFDSjtBQUNBO0FBQ0E7SUFDSSxjQUFjLEVBQUUsU0FBQSxDQUFBLEVBQVk7TUFDMUIsSUFBSSxJQUFJLEdBQUcsU0FBUyxDQUFDLE1BQU07TUFDM0IsSUFBSSxXQUFXLEdBQUcsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDO01BQ2pDLEtBQUssSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFLElBQUksR0FBRyxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDdEMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUM7TUFDckM7TUFFQSxJQUFJLFVBQVUsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLFVBQVUsR0FBRyxFQUFFO1FBQzlDLE9BQU8sR0FBRyxDQUFDLE1BQU07TUFDbkIsQ0FBQyxDQUFDO01BQ0YsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUM1QjtFQUNGLENBQUM7RUFFRCxPQUFPLFNBQVM7QUFDbEIsQ0FBQyxDQUFDOzs7OztBQ25HRixNQUFNLENBQUMsT0FBTyxHQUFHLFNBQVMsaUJBQWlCLENBQUEsRUFBRztFQUM1QztFQUNBLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO0VBQzNDLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLFFBQVE7RUFDakMsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLENBQUM7RUFDakMsS0FBSyxDQUFDLEtBQUssQ0FBQyxlQUFlLEdBQUcsV0FBVyxDQUFDLENBQUM7RUFDM0MsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDOztFQUVoQztFQUNBLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO0VBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDOztFQUV4QjtFQUNBLE1BQU0sY0FBYyxHQUFHLEdBQUcsS0FBSyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxJQUFJOztFQUVuRTtFQUNBLEtBQUssQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztFQUVuQyxPQUFPLGNBQWM7QUFDdkIsQ0FBQzs7Ozs7QUNuQkQsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLFNBQVMsR0FBSSxLQUFLLElBQ3RCLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxDQUFDOztBQUU1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLFFBQVEsRUFBRSxPQUFPLEtBQUs7RUFDdEMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUM7RUFDM0MsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUU7SUFDaEMsT0FBTyxTQUFTO0VBQ2xCO0VBRUEsSUFBSSxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtJQUNuRCxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztFQUN6QjtFQUVBLE9BQU8sU0FBUztBQUNsQixDQUFDOzs7OztBQzdCRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLFNBQVMsR0FBSSxLQUFLLElBQ3RCLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxDQUFDOztBQUU1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLFFBQVEsRUFBRSxPQUFPLEtBQUs7RUFDdEMsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUU7SUFDaEMsT0FBTyxFQUFFO0VBQ1g7RUFFQSxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO0lBQ25DLE9BQU8sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7RUFDN0I7RUFFQSxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDO0VBQ3BELE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztBQUM5QyxDQUFDOzs7OztBQzVCRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLEtBQUs7RUFDaEMsS0FBSyxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUM7RUFDM0MsS0FBSyxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDO0VBQ3hDLEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLElBQUksR0FBRyxVQUFVLEdBQUcsTUFBTSxDQUFDO0FBQ3hELENBQUM7Ozs7O0FDVEQsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDO0FBQ2hELE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQztBQUV0RCxNQUFNLFFBQVEsR0FBRyxlQUFlO0FBQ2hDLE1BQU0sT0FBTyxHQUFHLGNBQWM7QUFDOUIsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCO0FBQ2xDLE1BQU0sU0FBUyxHQUFHLGdCQUFnQjs7QUFFbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sV0FBVyxHQUFJLFFBQVEsSUFDM0IsUUFBUSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUcsSUFBSSxJQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUM7O0FBRTlFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sQ0FBQyxPQUFPLEdBQUksRUFBRSxJQUFLO0VBQ3ZCO0VBQ0E7RUFDQTtFQUNBLE1BQU0sT0FBTyxHQUNYLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxNQUFNO0VBRWpFLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0VBQ3ZELE1BQU0sQ0FBQyxPQUFPLENBQUUsS0FBSyxJQUFLLGVBQWUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7RUFFMUQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEVBQUU7SUFDL0IsRUFBRSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQztFQUM1QztFQUVBLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDO0VBQzNDLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksV0FBVyxDQUFDLFFBQVEsQ0FBQztFQUVwRSxFQUFFLENBQUMsV0FBVyxHQUFHLE9BQU8sR0FBRyxRQUFRLEdBQUcsUUFBUSxDQUFDLENBQUM7RUFDaEQsRUFBRSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDO0VBQ2pDLE9BQU8sT0FBTztBQUNoQixDQUFDOzs7OztBQzdDRCxNQUFNLFFBQVEsR0FBRyxlQUFlO0FBQ2hDLE1BQU0sUUFBUSxHQUFHLGVBQWU7QUFDaEMsTUFBTSxNQUFNLEdBQUcsUUFBUTtBQUV2QixNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsS0FBSztFQUNyQyxJQUFJLFlBQVksR0FBRyxRQUFRO0VBRTNCLElBQUksT0FBTyxZQUFZLEtBQUssU0FBUyxFQUFFO0lBQ3JDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLE9BQU87RUFDMUQ7RUFFQSxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUM7RUFFM0MsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7RUFDeEMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7RUFDNUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtJQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLEVBQUUsR0FBRyxDQUFDO0VBQzVEO0VBRUEsSUFBSSxZQUFZLEVBQUU7SUFDaEIsUUFBUSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7RUFDbEMsQ0FBQyxNQUFNO0lBQ0wsUUFBUSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO0VBQ25DO0VBRUEsT0FBTyxZQUFZO0FBQ3JCLENBQUM7Ozs7O0FDMUJELE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7QUFDdEMsTUFBTTtFQUFFLE1BQU0sRUFBRTtBQUFPLENBQUMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDO0FBRS9DLE1BQU0sYUFBYSxHQUFHLEdBQUcsTUFBTSwyQkFBMkI7QUFFMUQsTUFBTSxDQUFDLE9BQU8sR0FBRyxTQUFTLFFBQVEsQ0FBQyxFQUFFLEVBQUU7RUFDckMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUI7RUFDdkMsTUFBTSxTQUFTLEdBQ2IsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEdBQ2hCLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLEdBQzFCLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO0VBRWpDLElBQUksQ0FBQyxTQUFTLEVBQUU7SUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxFQUFFLEdBQUcsQ0FBQztFQUNqRTtFQUVBLElBQUksYUFBYSxHQUFHLEVBQUU7RUFDdEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEtBQUs7SUFDbkQsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFO01BQzlCLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO01BQ2pFLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDO01BQzFDLE1BQU0saUJBQWlCLEdBQUcsb0JBQW9CLGFBQWEsSUFBSTtNQUMvRCxNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUM7TUFDcEUsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDLFVBQVU7TUFDckMsTUFBTSxzQkFBc0IsR0FBRyxlQUFlLENBQUMsYUFBYSxDQUMxRCwwQkFDRixDQUFDO01BRUQsTUFBTSxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7TUFDL0MsaUJBQWlCLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDO01BRTFELElBQUksQ0FBQyxpQkFBaUIsRUFBRTtRQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxhQUFhLEdBQUcsQ0FBQztNQUN4RTs7TUFFQTtNQUNBLE1BQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLElBQUksaUJBQWlCO01BQ3pFLE1BQU0sZ0JBQWdCLEdBQ3BCLEVBQUUsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLElBQUksbUJBQW1CO01BQ3hELElBQUksZUFBZSxHQUFHLEdBQUcsaUJBQWlCLENBQUMsV0FBVyxHQUFHO01BRXpELElBQUksaUJBQWlCLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRTtRQUN2RCxlQUFlLElBQUksY0FBYztNQUNuQyxDQUFDLE1BQU07UUFDTCxlQUFlLElBQUksZ0JBQWdCO01BQ3JDOztNQUVBO01BQ0EsaUJBQWlCLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUM7O01BRTdEO01BQ0EsYUFBYSxJQUFJLEdBQUcsZUFBZSxJQUFJOztNQUV2QztNQUNBLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxNQUFNO1FBQ3BDLHNCQUFzQixDQUFDLFdBQVcsR0FBRyxhQUFhO01BQ3BELENBQUMsRUFBRSxJQUFJLENBQUM7TUFFUixjQUFjLENBQUMsQ0FBQztJQUNsQjtFQUNGLENBQUMsQ0FBQztBQUNKLENBQUMiLCJmaWxlIjoiZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbigpe2Z1bmN0aW9uIHIoZSxuLHQpe2Z1bmN0aW9uIG8oaSxmKXtpZighbltpXSl7aWYoIWVbaV0pe3ZhciBjPVwiZnVuY3Rpb25cIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmU7aWYoIWYmJmMpcmV0dXJuIGMoaSwhMCk7aWYodSlyZXR1cm4gdShpLCEwKTt2YXIgYT1uZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGUgJ1wiK2krXCInXCIpO3Rocm93IGEuY29kZT1cIk1PRFVMRV9OT1RfRk9VTkRcIixhfXZhciBwPW5baV09e2V4cG9ydHM6e319O2VbaV1bMF0uY2FsbChwLmV4cG9ydHMsZnVuY3Rpb24ocil7dmFyIG49ZVtpXVsxXVtyXTtyZXR1cm4gbyhufHxyKX0scCxwLmV4cG9ydHMscixlLG4sdCl9cmV0dXJuIG5baV0uZXhwb3J0c31mb3IodmFyIHU9XCJmdW5jdGlvblwiPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZSxpPTA7aTx0Lmxlbmd0aDtpKyspbyh0W2ldKTtyZXR1cm4gb31yZXR1cm4gcn0pKCkiLCIvKlxuICogY2xhc3NMaXN0LmpzOiBDcm9zcy1icm93c2VyIGZ1bGwgZWxlbWVudC5jbGFzc0xpc3QgaW1wbGVtZW50YXRpb24uXG4gKiAxLjEuMjAxNzA0MjdcbiAqXG4gKiBCeSBFbGkgR3JleSwgaHR0cDovL2VsaWdyZXkuY29tXG4gKiBMaWNlbnNlOiBEZWRpY2F0ZWQgdG8gdGhlIHB1YmxpYyBkb21haW4uXG4gKiAgIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZWxpZ3JleS9jbGFzc0xpc3QuanMvYmxvYi9tYXN0ZXIvTElDRU5TRS5tZFxuICovXG5cbi8qZ2xvYmFsIHNlbGYsIGRvY3VtZW50LCBET01FeGNlcHRpb24gKi9cblxuLyohIEBzb3VyY2UgaHR0cDovL3B1cmwuZWxpZ3JleS5jb20vZ2l0aHViL2NsYXNzTGlzdC5qcy9ibG9iL21hc3Rlci9jbGFzc0xpc3QuanMgKi9cblxuaWYgKFwiZG9jdW1lbnRcIiBpbiB3aW5kb3cuc2VsZikge1xuXG4vLyBGdWxsIHBvbHlmaWxsIGZvciBicm93c2VycyB3aXRoIG5vIGNsYXNzTGlzdCBzdXBwb3J0XG4vLyBJbmNsdWRpbmcgSUUgPCBFZGdlIG1pc3NpbmcgU1ZHRWxlbWVudC5jbGFzc0xpc3RcbmlmICghKFwiY2xhc3NMaXN0XCIgaW4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcIl9cIikpIFxuXHR8fCBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMgJiYgIShcImNsYXNzTGlzdFwiIGluIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXCJnXCIpKSkge1xuXG4oZnVuY3Rpb24gKHZpZXcpIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cbmlmICghKCdFbGVtZW50JyBpbiB2aWV3KSkgcmV0dXJuO1xuXG52YXJcblx0ICBjbGFzc0xpc3RQcm9wID0gXCJjbGFzc0xpc3RcIlxuXHQsIHByb3RvUHJvcCA9IFwicHJvdG90eXBlXCJcblx0LCBlbGVtQ3RyUHJvdG8gPSB2aWV3LkVsZW1lbnRbcHJvdG9Qcm9wXVxuXHQsIG9iakN0ciA9IE9iamVjdFxuXHQsIHN0clRyaW0gPSBTdHJpbmdbcHJvdG9Qcm9wXS50cmltIHx8IGZ1bmN0aW9uICgpIHtcblx0XHRyZXR1cm4gdGhpcy5yZXBsYWNlKC9eXFxzK3xcXHMrJC9nLCBcIlwiKTtcblx0fVxuXHQsIGFyckluZGV4T2YgPSBBcnJheVtwcm90b1Byb3BdLmluZGV4T2YgfHwgZnVuY3Rpb24gKGl0ZW0pIHtcblx0XHR2YXJcblx0XHRcdCAgaSA9IDBcblx0XHRcdCwgbGVuID0gdGhpcy5sZW5ndGhcblx0XHQ7XG5cdFx0Zm9yICg7IGkgPCBsZW47IGkrKykge1xuXHRcdFx0aWYgKGkgaW4gdGhpcyAmJiB0aGlzW2ldID09PSBpdGVtKSB7XG5cdFx0XHRcdHJldHVybiBpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gLTE7XG5cdH1cblx0Ly8gVmVuZG9yczogcGxlYXNlIGFsbG93IGNvbnRlbnQgY29kZSB0byBpbnN0YW50aWF0ZSBET01FeGNlcHRpb25zXG5cdCwgRE9NRXggPSBmdW5jdGlvbiAodHlwZSwgbWVzc2FnZSkge1xuXHRcdHRoaXMubmFtZSA9IHR5cGU7XG5cdFx0dGhpcy5jb2RlID0gRE9NRXhjZXB0aW9uW3R5cGVdO1xuXHRcdHRoaXMubWVzc2FnZSA9IG1lc3NhZ2U7XG5cdH1cblx0LCBjaGVja1Rva2VuQW5kR2V0SW5kZXggPSBmdW5jdGlvbiAoY2xhc3NMaXN0LCB0b2tlbikge1xuXHRcdGlmICh0b2tlbiA9PT0gXCJcIikge1xuXHRcdFx0dGhyb3cgbmV3IERPTUV4KFxuXHRcdFx0XHQgIFwiU1lOVEFYX0VSUlwiXG5cdFx0XHRcdCwgXCJBbiBpbnZhbGlkIG9yIGlsbGVnYWwgc3RyaW5nIHdhcyBzcGVjaWZpZWRcIlxuXHRcdFx0KTtcblx0XHR9XG5cdFx0aWYgKC9cXHMvLnRlc3QodG9rZW4pKSB7XG5cdFx0XHR0aHJvdyBuZXcgRE9NRXgoXG5cdFx0XHRcdCAgXCJJTlZBTElEX0NIQVJBQ1RFUl9FUlJcIlxuXHRcdFx0XHQsIFwiU3RyaW5nIGNvbnRhaW5zIGFuIGludmFsaWQgY2hhcmFjdGVyXCJcblx0XHRcdCk7XG5cdFx0fVxuXHRcdHJldHVybiBhcnJJbmRleE9mLmNhbGwoY2xhc3NMaXN0LCB0b2tlbik7XG5cdH1cblx0LCBDbGFzc0xpc3QgPSBmdW5jdGlvbiAoZWxlbSkge1xuXHRcdHZhclxuXHRcdFx0ICB0cmltbWVkQ2xhc3NlcyA9IHN0clRyaW0uY2FsbChlbGVtLmdldEF0dHJpYnV0ZShcImNsYXNzXCIpIHx8IFwiXCIpXG5cdFx0XHQsIGNsYXNzZXMgPSB0cmltbWVkQ2xhc3NlcyA/IHRyaW1tZWRDbGFzc2VzLnNwbGl0KC9cXHMrLykgOiBbXVxuXHRcdFx0LCBpID0gMFxuXHRcdFx0LCBsZW4gPSBjbGFzc2VzLmxlbmd0aFxuXHRcdDtcblx0XHRmb3IgKDsgaSA8IGxlbjsgaSsrKSB7XG5cdFx0XHR0aGlzLnB1c2goY2xhc3Nlc1tpXSk7XG5cdFx0fVxuXHRcdHRoaXMuX3VwZGF0ZUNsYXNzTmFtZSA9IGZ1bmN0aW9uICgpIHtcblx0XHRcdGVsZW0uc2V0QXR0cmlidXRlKFwiY2xhc3NcIiwgdGhpcy50b1N0cmluZygpKTtcblx0XHR9O1xuXHR9XG5cdCwgY2xhc3NMaXN0UHJvdG8gPSBDbGFzc0xpc3RbcHJvdG9Qcm9wXSA9IFtdXG5cdCwgY2xhc3NMaXN0R2V0dGVyID0gZnVuY3Rpb24gKCkge1xuXHRcdHJldHVybiBuZXcgQ2xhc3NMaXN0KHRoaXMpO1xuXHR9XG47XG4vLyBNb3N0IERPTUV4Y2VwdGlvbiBpbXBsZW1lbnRhdGlvbnMgZG9uJ3QgYWxsb3cgY2FsbGluZyBET01FeGNlcHRpb24ncyB0b1N0cmluZygpXG4vLyBvbiBub24tRE9NRXhjZXB0aW9ucy4gRXJyb3IncyB0b1N0cmluZygpIGlzIHN1ZmZpY2llbnQgaGVyZS5cbkRPTUV4W3Byb3RvUHJvcF0gPSBFcnJvcltwcm90b1Byb3BdO1xuY2xhc3NMaXN0UHJvdG8uaXRlbSA9IGZ1bmN0aW9uIChpKSB7XG5cdHJldHVybiB0aGlzW2ldIHx8IG51bGw7XG59O1xuY2xhc3NMaXN0UHJvdG8uY29udGFpbnMgPSBmdW5jdGlvbiAodG9rZW4pIHtcblx0dG9rZW4gKz0gXCJcIjtcblx0cmV0dXJuIGNoZWNrVG9rZW5BbmRHZXRJbmRleCh0aGlzLCB0b2tlbikgIT09IC0xO1xufTtcbmNsYXNzTGlzdFByb3RvLmFkZCA9IGZ1bmN0aW9uICgpIHtcblx0dmFyXG5cdFx0ICB0b2tlbnMgPSBhcmd1bWVudHNcblx0XHQsIGkgPSAwXG5cdFx0LCBsID0gdG9rZW5zLmxlbmd0aFxuXHRcdCwgdG9rZW5cblx0XHQsIHVwZGF0ZWQgPSBmYWxzZVxuXHQ7XG5cdGRvIHtcblx0XHR0b2tlbiA9IHRva2Vuc1tpXSArIFwiXCI7XG5cdFx0aWYgKGNoZWNrVG9rZW5BbmRHZXRJbmRleCh0aGlzLCB0b2tlbikgPT09IC0xKSB7XG5cdFx0XHR0aGlzLnB1c2godG9rZW4pO1xuXHRcdFx0dXBkYXRlZCA9IHRydWU7XG5cdFx0fVxuXHR9XG5cdHdoaWxlICgrK2kgPCBsKTtcblxuXHRpZiAodXBkYXRlZCkge1xuXHRcdHRoaXMuX3VwZGF0ZUNsYXNzTmFtZSgpO1xuXHR9XG59O1xuY2xhc3NMaXN0UHJvdG8ucmVtb3ZlID0gZnVuY3Rpb24gKCkge1xuXHR2YXJcblx0XHQgIHRva2VucyA9IGFyZ3VtZW50c1xuXHRcdCwgaSA9IDBcblx0XHQsIGwgPSB0b2tlbnMubGVuZ3RoXG5cdFx0LCB0b2tlblxuXHRcdCwgdXBkYXRlZCA9IGZhbHNlXG5cdFx0LCBpbmRleFxuXHQ7XG5cdGRvIHtcblx0XHR0b2tlbiA9IHRva2Vuc1tpXSArIFwiXCI7XG5cdFx0aW5kZXggPSBjaGVja1Rva2VuQW5kR2V0SW5kZXgodGhpcywgdG9rZW4pO1xuXHRcdHdoaWxlIChpbmRleCAhPT0gLTEpIHtcblx0XHRcdHRoaXMuc3BsaWNlKGluZGV4LCAxKTtcblx0XHRcdHVwZGF0ZWQgPSB0cnVlO1xuXHRcdFx0aW5kZXggPSBjaGVja1Rva2VuQW5kR2V0SW5kZXgodGhpcywgdG9rZW4pO1xuXHRcdH1cblx0fVxuXHR3aGlsZSAoKytpIDwgbCk7XG5cblx0aWYgKHVwZGF0ZWQpIHtcblx0XHR0aGlzLl91cGRhdGVDbGFzc05hbWUoKTtcblx0fVxufTtcbmNsYXNzTGlzdFByb3RvLnRvZ2dsZSA9IGZ1bmN0aW9uICh0b2tlbiwgZm9yY2UpIHtcblx0dG9rZW4gKz0gXCJcIjtcblxuXHR2YXJcblx0XHQgIHJlc3VsdCA9IHRoaXMuY29udGFpbnModG9rZW4pXG5cdFx0LCBtZXRob2QgPSByZXN1bHQgP1xuXHRcdFx0Zm9yY2UgIT09IHRydWUgJiYgXCJyZW1vdmVcIlxuXHRcdDpcblx0XHRcdGZvcmNlICE9PSBmYWxzZSAmJiBcImFkZFwiXG5cdDtcblxuXHRpZiAobWV0aG9kKSB7XG5cdFx0dGhpc1ttZXRob2RdKHRva2VuKTtcblx0fVxuXG5cdGlmIChmb3JjZSA9PT0gdHJ1ZSB8fCBmb3JjZSA9PT0gZmFsc2UpIHtcblx0XHRyZXR1cm4gZm9yY2U7XG5cdH0gZWxzZSB7XG5cdFx0cmV0dXJuICFyZXN1bHQ7XG5cdH1cbn07XG5jbGFzc0xpc3RQcm90by50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHtcblx0cmV0dXJuIHRoaXMuam9pbihcIiBcIik7XG59O1xuXG5pZiAob2JqQ3RyLmRlZmluZVByb3BlcnR5KSB7XG5cdHZhciBjbGFzc0xpc3RQcm9wRGVzYyA9IHtcblx0XHQgIGdldDogY2xhc3NMaXN0R2V0dGVyXG5cdFx0LCBlbnVtZXJhYmxlOiB0cnVlXG5cdFx0LCBjb25maWd1cmFibGU6IHRydWVcblx0fTtcblx0dHJ5IHtcblx0XHRvYmpDdHIuZGVmaW5lUHJvcGVydHkoZWxlbUN0clByb3RvLCBjbGFzc0xpc3RQcm9wLCBjbGFzc0xpc3RQcm9wRGVzYyk7XG5cdH0gY2F0Y2ggKGV4KSB7IC8vIElFIDggZG9lc24ndCBzdXBwb3J0IGVudW1lcmFibGU6dHJ1ZVxuXHRcdC8vIGFkZGluZyB1bmRlZmluZWQgdG8gZmlnaHQgdGhpcyBpc3N1ZSBodHRwczovL2dpdGh1Yi5jb20vZWxpZ3JleS9jbGFzc0xpc3QuanMvaXNzdWVzLzM2XG5cdFx0Ly8gbW9kZXJuaWUgSUU4LU1TVzcgbWFjaGluZSBoYXMgSUU4IDguMC42MDAxLjE4NzAyIGFuZCBpcyBhZmZlY3RlZFxuXHRcdGlmIChleC5udW1iZXIgPT09IHVuZGVmaW5lZCB8fCBleC5udW1iZXIgPT09IC0weDdGRjVFQzU0KSB7XG5cdFx0XHRjbGFzc0xpc3RQcm9wRGVzYy5lbnVtZXJhYmxlID0gZmFsc2U7XG5cdFx0XHRvYmpDdHIuZGVmaW5lUHJvcGVydHkoZWxlbUN0clByb3RvLCBjbGFzc0xpc3RQcm9wLCBjbGFzc0xpc3RQcm9wRGVzYyk7XG5cdFx0fVxuXHR9XG59IGVsc2UgaWYgKG9iakN0cltwcm90b1Byb3BdLl9fZGVmaW5lR2V0dGVyX18pIHtcblx0ZWxlbUN0clByb3RvLl9fZGVmaW5lR2V0dGVyX18oY2xhc3NMaXN0UHJvcCwgY2xhc3NMaXN0R2V0dGVyKTtcbn1cblxufSh3aW5kb3cuc2VsZikpO1xuXG59XG5cbi8vIFRoZXJlIGlzIGZ1bGwgb3IgcGFydGlhbCBuYXRpdmUgY2xhc3NMaXN0IHN1cHBvcnQsIHNvIGp1c3QgY2hlY2sgaWYgd2UgbmVlZFxuLy8gdG8gbm9ybWFsaXplIHRoZSBhZGQvcmVtb3ZlIGFuZCB0b2dnbGUgQVBJcy5cblxuKGZ1bmN0aW9uICgpIHtcblx0XCJ1c2Ugc3RyaWN0XCI7XG5cblx0dmFyIHRlc3RFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcIl9cIik7XG5cblx0dGVzdEVsZW1lbnQuY2xhc3NMaXN0LmFkZChcImMxXCIsIFwiYzJcIik7XG5cblx0Ly8gUG9seWZpbGwgZm9yIElFIDEwLzExIGFuZCBGaXJlZm94IDwyNiwgd2hlcmUgY2xhc3NMaXN0LmFkZCBhbmRcblx0Ly8gY2xhc3NMaXN0LnJlbW92ZSBleGlzdCBidXQgc3VwcG9ydCBvbmx5IG9uZSBhcmd1bWVudCBhdCBhIHRpbWUuXG5cdGlmICghdGVzdEVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKFwiYzJcIikpIHtcblx0XHR2YXIgY3JlYXRlTWV0aG9kID0gZnVuY3Rpb24obWV0aG9kKSB7XG5cdFx0XHR2YXIgb3JpZ2luYWwgPSBET01Ub2tlbkxpc3QucHJvdG90eXBlW21ldGhvZF07XG5cblx0XHRcdERPTVRva2VuTGlzdC5wcm90b3R5cGVbbWV0aG9kXSA9IGZ1bmN0aW9uKHRva2VuKSB7XG5cdFx0XHRcdHZhciBpLCBsZW4gPSBhcmd1bWVudHMubGVuZ3RoO1xuXG5cdFx0XHRcdGZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykge1xuXHRcdFx0XHRcdHRva2VuID0gYXJndW1lbnRzW2ldO1xuXHRcdFx0XHRcdG9yaWdpbmFsLmNhbGwodGhpcywgdG9rZW4pO1xuXHRcdFx0XHR9XG5cdFx0XHR9O1xuXHRcdH07XG5cdFx0Y3JlYXRlTWV0aG9kKCdhZGQnKTtcblx0XHRjcmVhdGVNZXRob2QoJ3JlbW92ZScpO1xuXHR9XG5cblx0dGVzdEVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZShcImMzXCIsIGZhbHNlKTtcblxuXHQvLyBQb2x5ZmlsbCBmb3IgSUUgMTAgYW5kIEZpcmVmb3ggPDI0LCB3aGVyZSBjbGFzc0xpc3QudG9nZ2xlIGRvZXMgbm90XG5cdC8vIHN1cHBvcnQgdGhlIHNlY29uZCBhcmd1bWVudC5cblx0aWYgKHRlc3RFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhcImMzXCIpKSB7XG5cdFx0dmFyIF90b2dnbGUgPSBET01Ub2tlbkxpc3QucHJvdG90eXBlLnRvZ2dsZTtcblxuXHRcdERPTVRva2VuTGlzdC5wcm90b3R5cGUudG9nZ2xlID0gZnVuY3Rpb24odG9rZW4sIGZvcmNlKSB7XG5cdFx0XHRpZiAoMSBpbiBhcmd1bWVudHMgJiYgIXRoaXMuY29udGFpbnModG9rZW4pID09PSAhZm9yY2UpIHtcblx0XHRcdFx0cmV0dXJuIGZvcmNlO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0cmV0dXJuIF90b2dnbGUuY2FsbCh0aGlzLCB0b2tlbik7XG5cdFx0XHR9XG5cdFx0fTtcblxuXHR9XG5cblx0dGVzdEVsZW1lbnQgPSBudWxsO1xufSgpKTtcblxufVxuIiwiLy8gZWxlbWVudC1jbG9zZXN0IHwgQ0MwLTEuMCB8IGdpdGh1Yi5jb20vam9uYXRoYW50bmVhbC9jbG9zZXN0XG5cbihmdW5jdGlvbiAoRWxlbWVudFByb3RvKSB7XG5cdGlmICh0eXBlb2YgRWxlbWVudFByb3RvLm1hdGNoZXMgIT09ICdmdW5jdGlvbicpIHtcblx0XHRFbGVtZW50UHJvdG8ubWF0Y2hlcyA9IEVsZW1lbnRQcm90by5tc01hdGNoZXNTZWxlY3RvciB8fCBFbGVtZW50UHJvdG8ubW96TWF0Y2hlc1NlbGVjdG9yIHx8IEVsZW1lbnRQcm90by53ZWJraXRNYXRjaGVzU2VsZWN0b3IgfHwgZnVuY3Rpb24gbWF0Y2hlcyhzZWxlY3Rvcikge1xuXHRcdFx0dmFyIGVsZW1lbnQgPSB0aGlzO1xuXHRcdFx0dmFyIGVsZW1lbnRzID0gKGVsZW1lbnQuZG9jdW1lbnQgfHwgZWxlbWVudC5vd25lckRvY3VtZW50KS5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKTtcblx0XHRcdHZhciBpbmRleCA9IDA7XG5cblx0XHRcdHdoaWxlIChlbGVtZW50c1tpbmRleF0gJiYgZWxlbWVudHNbaW5kZXhdICE9PSBlbGVtZW50KSB7XG5cdFx0XHRcdCsraW5kZXg7XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiBCb29sZWFuKGVsZW1lbnRzW2luZGV4XSk7XG5cdFx0fTtcblx0fVxuXG5cdGlmICh0eXBlb2YgRWxlbWVudFByb3RvLmNsb3Nlc3QgIT09ICdmdW5jdGlvbicpIHtcblx0XHRFbGVtZW50UHJvdG8uY2xvc2VzdCA9IGZ1bmN0aW9uIGNsb3Nlc3Qoc2VsZWN0b3IpIHtcblx0XHRcdHZhciBlbGVtZW50ID0gdGhpcztcblxuXHRcdFx0d2hpbGUgKGVsZW1lbnQgJiYgZWxlbWVudC5ub2RlVHlwZSA9PT0gMSkge1xuXHRcdFx0XHRpZiAoZWxlbWVudC5tYXRjaGVzKHNlbGVjdG9yKSkge1xuXHRcdFx0XHRcdHJldHVybiBlbGVtZW50O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0ZWxlbWVudCA9IGVsZW1lbnQucGFyZW50Tm9kZTtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fTtcblx0fVxufSkod2luZG93LkVsZW1lbnQucHJvdG90eXBlKTtcbiIsIi8qIGdsb2JhbCBkZWZpbmUsIEtleWJvYXJkRXZlbnQsIG1vZHVsZSAqL1xuXG4oZnVuY3Rpb24gKCkge1xuXG4gIHZhciBrZXlib2FyZGV2ZW50S2V5UG9seWZpbGwgPSB7XG4gICAgcG9seWZpbGw6IHBvbHlmaWxsLFxuICAgIGtleXM6IHtcbiAgICAgIDM6ICdDYW5jZWwnLFxuICAgICAgNjogJ0hlbHAnLFxuICAgICAgODogJ0JhY2tzcGFjZScsXG4gICAgICA5OiAnVGFiJyxcbiAgICAgIDEyOiAnQ2xlYXInLFxuICAgICAgMTM6ICdFbnRlcicsXG4gICAgICAxNjogJ1NoaWZ0JyxcbiAgICAgIDE3OiAnQ29udHJvbCcsXG4gICAgICAxODogJ0FsdCcsXG4gICAgICAxOTogJ1BhdXNlJyxcbiAgICAgIDIwOiAnQ2Fwc0xvY2snLFxuICAgICAgMjc6ICdFc2NhcGUnLFxuICAgICAgMjg6ICdDb252ZXJ0JyxcbiAgICAgIDI5OiAnTm9uQ29udmVydCcsXG4gICAgICAzMDogJ0FjY2VwdCcsXG4gICAgICAzMTogJ01vZGVDaGFuZ2UnLFxuICAgICAgMzI6ICcgJyxcbiAgICAgIDMzOiAnUGFnZVVwJyxcbiAgICAgIDM0OiAnUGFnZURvd24nLFxuICAgICAgMzU6ICdFbmQnLFxuICAgICAgMzY6ICdIb21lJyxcbiAgICAgIDM3OiAnQXJyb3dMZWZ0JyxcbiAgICAgIDM4OiAnQXJyb3dVcCcsXG4gICAgICAzOTogJ0Fycm93UmlnaHQnLFxuICAgICAgNDA6ICdBcnJvd0Rvd24nLFxuICAgICAgNDE6ICdTZWxlY3QnLFxuICAgICAgNDI6ICdQcmludCcsXG4gICAgICA0MzogJ0V4ZWN1dGUnLFxuICAgICAgNDQ6ICdQcmludFNjcmVlbicsXG4gICAgICA0NTogJ0luc2VydCcsXG4gICAgICA0NjogJ0RlbGV0ZScsXG4gICAgICA0ODogWycwJywgJyknXSxcbiAgICAgIDQ5OiBbJzEnLCAnISddLFxuICAgICAgNTA6IFsnMicsICdAJ10sXG4gICAgICA1MTogWyczJywgJyMnXSxcbiAgICAgIDUyOiBbJzQnLCAnJCddLFxuICAgICAgNTM6IFsnNScsICclJ10sXG4gICAgICA1NDogWyc2JywgJ14nXSxcbiAgICAgIDU1OiBbJzcnLCAnJiddLFxuICAgICAgNTY6IFsnOCcsICcqJ10sXG4gICAgICA1NzogWyc5JywgJygnXSxcbiAgICAgIDkxOiAnT1MnLFxuICAgICAgOTM6ICdDb250ZXh0TWVudScsXG4gICAgICAxNDQ6ICdOdW1Mb2NrJyxcbiAgICAgIDE0NTogJ1Njcm9sbExvY2snLFxuICAgICAgMTgxOiAnVm9sdW1lTXV0ZScsXG4gICAgICAxODI6ICdWb2x1bWVEb3duJyxcbiAgICAgIDE4MzogJ1ZvbHVtZVVwJyxcbiAgICAgIDE4NjogWyc7JywgJzonXSxcbiAgICAgIDE4NzogWyc9JywgJysnXSxcbiAgICAgIDE4ODogWycsJywgJzwnXSxcbiAgICAgIDE4OTogWyctJywgJ18nXSxcbiAgICAgIDE5MDogWycuJywgJz4nXSxcbiAgICAgIDE5MTogWycvJywgJz8nXSxcbiAgICAgIDE5MjogWydgJywgJ34nXSxcbiAgICAgIDIxOTogWydbJywgJ3snXSxcbiAgICAgIDIyMDogWydcXFxcJywgJ3wnXSxcbiAgICAgIDIyMTogWyddJywgJ30nXSxcbiAgICAgIDIyMjogW1wiJ1wiLCAnXCInXSxcbiAgICAgIDIyNDogJ01ldGEnLFxuICAgICAgMjI1OiAnQWx0R3JhcGgnLFxuICAgICAgMjQ2OiAnQXR0bicsXG4gICAgICAyNDc6ICdDclNlbCcsXG4gICAgICAyNDg6ICdFeFNlbCcsXG4gICAgICAyNDk6ICdFcmFzZUVvZicsXG4gICAgICAyNTA6ICdQbGF5JyxcbiAgICAgIDI1MTogJ1pvb21PdXQnXG4gICAgfVxuICB9O1xuXG4gIC8vIEZ1bmN0aW9uIGtleXMgKEYxLTI0KS5cbiAgdmFyIGk7XG4gIGZvciAoaSA9IDE7IGkgPCAyNTsgaSsrKSB7XG4gICAga2V5Ym9hcmRldmVudEtleVBvbHlmaWxsLmtleXNbMTExICsgaV0gPSAnRicgKyBpO1xuICB9XG5cbiAgLy8gUHJpbnRhYmxlIEFTQ0lJIGNoYXJhY3RlcnMuXG4gIHZhciBsZXR0ZXIgPSAnJztcbiAgZm9yIChpID0gNjU7IGkgPCA5MTsgaSsrKSB7XG4gICAgbGV0dGVyID0gU3RyaW5nLmZyb21DaGFyQ29kZShpKTtcbiAgICBrZXlib2FyZGV2ZW50S2V5UG9seWZpbGwua2V5c1tpXSA9IFtsZXR0ZXIudG9Mb3dlckNhc2UoKSwgbGV0dGVyLnRvVXBwZXJDYXNlKCldO1xuICB9XG5cbiAgZnVuY3Rpb24gcG9seWZpbGwgKCkge1xuICAgIGlmICghKCdLZXlib2FyZEV2ZW50JyBpbiB3aW5kb3cpIHx8XG4gICAgICAgICdrZXknIGluIEtleWJvYXJkRXZlbnQucHJvdG90eXBlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gUG9seWZpbGwgYGtleWAgb24gYEtleWJvYXJkRXZlbnRgLlxuICAgIHZhciBwcm90byA9IHtcbiAgICAgIGdldDogZnVuY3Rpb24gKHgpIHtcbiAgICAgICAgdmFyIGtleSA9IGtleWJvYXJkZXZlbnRLZXlQb2x5ZmlsbC5rZXlzW3RoaXMud2hpY2ggfHwgdGhpcy5rZXlDb2RlXTtcblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShrZXkpKSB7XG4gICAgICAgICAga2V5ID0ga2V5Wyt0aGlzLnNoaWZ0S2V5XTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBrZXk7XG4gICAgICB9XG4gICAgfTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoS2V5Ym9hcmRFdmVudC5wcm90b3R5cGUsICdrZXknLCBwcm90byk7XG4gICAgcmV0dXJuIHByb3RvO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZCkge1xuICAgIGRlZmluZSgna2V5Ym9hcmRldmVudC1rZXktcG9seWZpbGwnLCBrZXlib2FyZGV2ZW50S2V5UG9seWZpbGwpO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBleHBvcnRzICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuICAgIG1vZHVsZS5leHBvcnRzID0ga2V5Ym9hcmRldmVudEtleVBvbHlmaWxsO1xuICB9IGVsc2UgaWYgKHdpbmRvdykge1xuICAgIHdpbmRvdy5rZXlib2FyZGV2ZW50S2V5UG9seWZpbGwgPSBrZXlib2FyZGV2ZW50S2V5UG9seWZpbGw7XG4gIH1cblxufSkoKTtcbiIsIi8qXG5vYmplY3QtYXNzaWduXG4oYykgU2luZHJlIFNvcmh1c1xuQGxpY2Vuc2UgTUlUXG4qL1xuXG4ndXNlIHN0cmljdCc7XG4vKiBlc2xpbnQtZGlzYWJsZSBuby11bnVzZWQtdmFycyAqL1xudmFyIGdldE93blByb3BlcnR5U3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM7XG52YXIgaGFzT3duUHJvcGVydHkgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xudmFyIHByb3BJc0VudW1lcmFibGUgPSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlO1xuXG5mdW5jdGlvbiB0b09iamVjdCh2YWwpIHtcblx0aWYgKHZhbCA9PT0gbnVsbCB8fCB2YWwgPT09IHVuZGVmaW5lZCkge1xuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoJ09iamVjdC5hc3NpZ24gY2Fubm90IGJlIGNhbGxlZCB3aXRoIG51bGwgb3IgdW5kZWZpbmVkJyk7XG5cdH1cblxuXHRyZXR1cm4gT2JqZWN0KHZhbCk7XG59XG5cbmZ1bmN0aW9uIHNob3VsZFVzZU5hdGl2ZSgpIHtcblx0dHJ5IHtcblx0XHRpZiAoIU9iamVjdC5hc3NpZ24pIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cblx0XHQvLyBEZXRlY3QgYnVnZ3kgcHJvcGVydHkgZW51bWVyYXRpb24gb3JkZXIgaW4gb2xkZXIgVjggdmVyc2lvbnMuXG5cblx0XHQvLyBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvdjgvaXNzdWVzL2RldGFpbD9pZD00MTE4XG5cdFx0dmFyIHRlc3QxID0gbmV3IFN0cmluZygnYWJjJyk7ICAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLW5ldy13cmFwcGVyc1xuXHRcdHRlc3QxWzVdID0gJ2RlJztcblx0XHRpZiAoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGVzdDEpWzBdID09PSAnNScpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cblx0XHQvLyBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvdjgvaXNzdWVzL2RldGFpbD9pZD0zMDU2XG5cdFx0dmFyIHRlc3QyID0ge307XG5cdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCAxMDsgaSsrKSB7XG5cdFx0XHR0ZXN0MlsnXycgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGkpXSA9IGk7XG5cdFx0fVxuXHRcdHZhciBvcmRlcjIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0ZXN0MikubWFwKGZ1bmN0aW9uIChuKSB7XG5cdFx0XHRyZXR1cm4gdGVzdDJbbl07XG5cdFx0fSk7XG5cdFx0aWYgKG9yZGVyMi5qb2luKCcnKSAhPT0gJzAxMjM0NTY3ODknKSB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXG5cdFx0Ly8gaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL3Y4L2lzc3Vlcy9kZXRhaWw/aWQ9MzA1NlxuXHRcdHZhciB0ZXN0MyA9IHt9O1xuXHRcdCdhYmNkZWZnaGlqa2xtbm9wcXJzdCcuc3BsaXQoJycpLmZvckVhY2goZnVuY3Rpb24gKGxldHRlcikge1xuXHRcdFx0dGVzdDNbbGV0dGVyXSA9IGxldHRlcjtcblx0XHR9KTtcblx0XHRpZiAoT2JqZWN0LmtleXMoT2JqZWN0LmFzc2lnbih7fSwgdGVzdDMpKS5qb2luKCcnKSAhPT1cblx0XHRcdFx0J2FiY2RlZmdoaWprbG1ub3BxcnN0Jykge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblxuXHRcdHJldHVybiB0cnVlO1xuXHR9IGNhdGNoIChlcnIpIHtcblx0XHQvLyBXZSBkb24ndCBleHBlY3QgYW55IG9mIHRoZSBhYm92ZSB0byB0aHJvdywgYnV0IGJldHRlciB0byBiZSBzYWZlLlxuXHRcdHJldHVybiBmYWxzZTtcblx0fVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHNob3VsZFVzZU5hdGl2ZSgpID8gT2JqZWN0LmFzc2lnbiA6IGZ1bmN0aW9uICh0YXJnZXQsIHNvdXJjZSkge1xuXHR2YXIgZnJvbTtcblx0dmFyIHRvID0gdG9PYmplY3QodGFyZ2V0KTtcblx0dmFyIHN5bWJvbHM7XG5cblx0Zm9yICh2YXIgcyA9IDE7IHMgPCBhcmd1bWVudHMubGVuZ3RoOyBzKyspIHtcblx0XHRmcm9tID0gT2JqZWN0KGFyZ3VtZW50c1tzXSk7XG5cblx0XHRmb3IgKHZhciBrZXkgaW4gZnJvbSkge1xuXHRcdFx0aWYgKGhhc093blByb3BlcnR5LmNhbGwoZnJvbSwga2V5KSkge1xuXHRcdFx0XHR0b1trZXldID0gZnJvbVtrZXldO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGlmIChnZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcblx0XHRcdHN5bWJvbHMgPSBnZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZnJvbSk7XG5cdFx0XHRmb3IgKHZhciBpID0gMDsgaSA8IHN5bWJvbHMubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0aWYgKHByb3BJc0VudW1lcmFibGUuY2FsbChmcm9tLCBzeW1ib2xzW2ldKSkge1xuXHRcdFx0XHRcdHRvW3N5bWJvbHNbaV1dID0gZnJvbVtzeW1ib2xzW2ldXTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHJldHVybiB0bztcbn07XG4iLCJjb25zdCBhc3NpZ24gPSByZXF1aXJlKCdvYmplY3QtYXNzaWduJyk7XG5jb25zdCBkZWxlZ2F0ZSA9IHJlcXVpcmUoJy4uL2RlbGVnYXRlJyk7XG5jb25zdCBkZWxlZ2F0ZUFsbCA9IHJlcXVpcmUoJy4uL2RlbGVnYXRlQWxsJyk7XG5cbmNvbnN0IERFTEVHQVRFX1BBVFRFUk4gPSAvXiguKyk6ZGVsZWdhdGVcXCgoLispXFwpJC87XG5jb25zdCBTUEFDRSA9ICcgJztcblxuY29uc3QgZ2V0TGlzdGVuZXJzID0gZnVuY3Rpb24odHlwZSwgaGFuZGxlcikge1xuICB2YXIgbWF0Y2ggPSB0eXBlLm1hdGNoKERFTEVHQVRFX1BBVFRFUk4pO1xuICB2YXIgc2VsZWN0b3I7XG4gIGlmIChtYXRjaCkge1xuICAgIHR5cGUgPSBtYXRjaFsxXTtcbiAgICBzZWxlY3RvciA9IG1hdGNoWzJdO1xuICB9XG5cbiAgdmFyIG9wdGlvbnM7XG4gIGlmICh0eXBlb2YgaGFuZGxlciA9PT0gJ29iamVjdCcpIHtcbiAgICBvcHRpb25zID0ge1xuICAgICAgY2FwdHVyZTogcG9wS2V5KGhhbmRsZXIsICdjYXB0dXJlJyksXG4gICAgICBwYXNzaXZlOiBwb3BLZXkoaGFuZGxlciwgJ3Bhc3NpdmUnKVxuICAgIH07XG4gIH1cblxuICB2YXIgbGlzdGVuZXIgPSB7XG4gICAgc2VsZWN0b3I6IHNlbGVjdG9yLFxuICAgIGRlbGVnYXRlOiAodHlwZW9mIGhhbmRsZXIgPT09ICdvYmplY3QnKVxuICAgICAgPyBkZWxlZ2F0ZUFsbChoYW5kbGVyKVxuICAgICAgOiBzZWxlY3RvclxuICAgICAgICA/IGRlbGVnYXRlKHNlbGVjdG9yLCBoYW5kbGVyKVxuICAgICAgICA6IGhhbmRsZXIsXG4gICAgb3B0aW9uczogb3B0aW9uc1xuICB9O1xuXG4gIGlmICh0eXBlLmluZGV4T2YoU1BBQ0UpID4gLTEpIHtcbiAgICByZXR1cm4gdHlwZS5zcGxpdChTUEFDRSkubWFwKGZ1bmN0aW9uKF90eXBlKSB7XG4gICAgICByZXR1cm4gYXNzaWduKHt0eXBlOiBfdHlwZX0sIGxpc3RlbmVyKTtcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBsaXN0ZW5lci50eXBlID0gdHlwZTtcbiAgICByZXR1cm4gW2xpc3RlbmVyXTtcbiAgfVxufTtcblxudmFyIHBvcEtleSA9IGZ1bmN0aW9uKG9iaiwga2V5KSB7XG4gIHZhciB2YWx1ZSA9IG9ialtrZXldO1xuICBkZWxldGUgb2JqW2tleV07XG4gIHJldHVybiB2YWx1ZTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gYmVoYXZpb3IoZXZlbnRzLCBwcm9wcykge1xuICBjb25zdCBsaXN0ZW5lcnMgPSBPYmplY3Qua2V5cyhldmVudHMpXG4gICAgLnJlZHVjZShmdW5jdGlvbihtZW1vLCB0eXBlKSB7XG4gICAgICB2YXIgbGlzdGVuZXJzID0gZ2V0TGlzdGVuZXJzKHR5cGUsIGV2ZW50c1t0eXBlXSk7XG4gICAgICByZXR1cm4gbWVtby5jb25jYXQobGlzdGVuZXJzKTtcbiAgICB9LCBbXSk7XG5cbiAgcmV0dXJuIGFzc2lnbih7XG4gICAgYWRkOiBmdW5jdGlvbiBhZGRCZWhhdmlvcihlbGVtZW50KSB7XG4gICAgICBsaXN0ZW5lcnMuZm9yRWFjaChmdW5jdGlvbihsaXN0ZW5lcikge1xuICAgICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICAgbGlzdGVuZXIudHlwZSxcbiAgICAgICAgICBsaXN0ZW5lci5kZWxlZ2F0ZSxcbiAgICAgICAgICBsaXN0ZW5lci5vcHRpb25zXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIHJlbW92ZTogZnVuY3Rpb24gcmVtb3ZlQmVoYXZpb3IoZWxlbWVudCkge1xuICAgICAgbGlzdGVuZXJzLmZvckVhY2goZnVuY3Rpb24obGlzdGVuZXIpIHtcbiAgICAgICAgZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFxuICAgICAgICAgIGxpc3RlbmVyLnR5cGUsXG4gICAgICAgICAgbGlzdGVuZXIuZGVsZWdhdGUsXG4gICAgICAgICAgbGlzdGVuZXIub3B0aW9uc1xuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfVxuICB9LCBwcm9wcyk7XG59O1xuIiwibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBjb21wb3NlKGZ1bmN0aW9ucykge1xuICByZXR1cm4gZnVuY3Rpb24oZSkge1xuICAgIHJldHVybiBmdW5jdGlvbnMuc29tZShmdW5jdGlvbihmbikge1xuICAgICAgcmV0dXJuIGZuLmNhbGwodGhpcywgZSkgPT09IGZhbHNlO1xuICAgIH0sIHRoaXMpO1xuICB9O1xufTtcbiIsIi8vIHBvbHlmaWxsIEVsZW1lbnQucHJvdG90eXBlLmNsb3Nlc3RcbnJlcXVpcmUoJ2VsZW1lbnQtY2xvc2VzdCcpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGRlbGVnYXRlKHNlbGVjdG9yLCBmbikge1xuICByZXR1cm4gZnVuY3Rpb24gZGVsZWdhdGlvbihldmVudCkge1xuICAgIHZhciB0YXJnZXQgPSBldmVudC50YXJnZXQuY2xvc2VzdChzZWxlY3Rvcik7XG4gICAgaWYgKHRhcmdldCkge1xuICAgICAgcmV0dXJuIGZuLmNhbGwodGFyZ2V0LCBldmVudCk7XG4gICAgfVxuICB9XG59O1xuIiwiY29uc3QgZGVsZWdhdGUgPSByZXF1aXJlKCcuLi9kZWxlZ2F0ZScpO1xuY29uc3QgY29tcG9zZSA9IHJlcXVpcmUoJy4uL2NvbXBvc2UnKTtcblxuY29uc3QgU1BMQVQgPSAnKic7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gZGVsZWdhdGVBbGwoc2VsZWN0b3JzKSB7XG4gIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhzZWxlY3RvcnMpXG5cbiAgLy8gWFhYIG9wdGltaXphdGlvbjogaWYgdGhlcmUgaXMgb25seSBvbmUgaGFuZGxlciBhbmQgaXQgYXBwbGllcyB0b1xuICAvLyBhbGwgZWxlbWVudHMgKHRoZSBcIipcIiBDU1Mgc2VsZWN0b3IpLCB0aGVuIGp1c3QgcmV0dXJuIHRoYXRcbiAgLy8gaGFuZGxlclxuICBpZiAoa2V5cy5sZW5ndGggPT09IDEgJiYga2V5c1swXSA9PT0gU1BMQVQpIHtcbiAgICByZXR1cm4gc2VsZWN0b3JzW1NQTEFUXTtcbiAgfVxuXG4gIGNvbnN0IGRlbGVnYXRlcyA9IGtleXMucmVkdWNlKGZ1bmN0aW9uKG1lbW8sIHNlbGVjdG9yKSB7XG4gICAgbWVtby5wdXNoKGRlbGVnYXRlKHNlbGVjdG9yLCBzZWxlY3RvcnNbc2VsZWN0b3JdKSk7XG4gICAgcmV0dXJuIG1lbW87XG4gIH0sIFtdKTtcbiAgcmV0dXJuIGNvbXBvc2UoZGVsZWdhdGVzKTtcbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGlnbm9yZShlbGVtZW50LCBmbikge1xuICByZXR1cm4gZnVuY3Rpb24gaWdub3JhbmNlKGUpIHtcbiAgICBpZiAoZWxlbWVudCAhPT0gZS50YXJnZXQgJiYgIWVsZW1lbnQuY29udGFpbnMoZS50YXJnZXQpKSB7XG4gICAgICByZXR1cm4gZm4uY2FsbCh0aGlzLCBlKTtcbiAgICB9XG4gIH07XG59O1xuIiwibW9kdWxlLmV4cG9ydHMgPSB7XG4gIGJlaGF2aW9yOiAgICAgcmVxdWlyZSgnLi9iZWhhdmlvcicpLFxuICBkZWxlZ2F0ZTogICAgIHJlcXVpcmUoJy4vZGVsZWdhdGUnKSxcbiAgZGVsZWdhdGVBbGw6ICByZXF1aXJlKCcuL2RlbGVnYXRlQWxsJyksXG4gIGlnbm9yZTogICAgICAgcmVxdWlyZSgnLi9pZ25vcmUnKSxcbiAga2V5bWFwOiAgICAgICByZXF1aXJlKCcuL2tleW1hcCcpLFxufTtcbiIsInJlcXVpcmUoJ2tleWJvYXJkZXZlbnQta2V5LXBvbHlmaWxsJyk7XG5cbi8vIHRoZXNlIGFyZSB0aGUgb25seSByZWxldmFudCBtb2RpZmllcnMgc3VwcG9ydGVkIG9uIGFsbCBwbGF0Zm9ybXMsXG4vLyBhY2NvcmRpbmcgdG8gTUROOlxuLy8gPGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9LZXlib2FyZEV2ZW50L2dldE1vZGlmaWVyU3RhdGU+XG5jb25zdCBNT0RJRklFUlMgPSB7XG4gICdBbHQnOiAgICAgICdhbHRLZXknLFxuICAnQ29udHJvbCc6ICAnY3RybEtleScsXG4gICdDdHJsJzogICAgICdjdHJsS2V5JyxcbiAgJ1NoaWZ0JzogICAgJ3NoaWZ0S2V5J1xufTtcblxuY29uc3QgTU9ESUZJRVJfU0VQQVJBVE9SID0gJysnO1xuXG5jb25zdCBnZXRFdmVudEtleSA9IGZ1bmN0aW9uKGV2ZW50LCBoYXNNb2RpZmllcnMpIHtcbiAgdmFyIGtleSA9IGV2ZW50LmtleTtcbiAgaWYgKGhhc01vZGlmaWVycykge1xuICAgIGZvciAodmFyIG1vZGlmaWVyIGluIE1PRElGSUVSUykge1xuICAgICAgaWYgKGV2ZW50W01PRElGSUVSU1ttb2RpZmllcl1dID09PSB0cnVlKSB7XG4gICAgICAgIGtleSA9IFttb2RpZmllciwga2V5XS5qb2luKE1PRElGSUVSX1NFUEFSQVRPUik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBrZXk7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGtleW1hcChrZXlzKSB7XG4gIGNvbnN0IGhhc01vZGlmaWVycyA9IE9iamVjdC5rZXlzKGtleXMpLnNvbWUoZnVuY3Rpb24oa2V5KSB7XG4gICAgcmV0dXJuIGtleS5pbmRleE9mKE1PRElGSUVSX1NFUEFSQVRPUikgPiAtMTtcbiAgfSk7XG4gIHJldHVybiBmdW5jdGlvbihldmVudCkge1xuICAgIHZhciBrZXkgPSBnZXRFdmVudEtleShldmVudCwgaGFzTW9kaWZpZXJzKTtcbiAgICByZXR1cm4gW2tleSwga2V5LnRvTG93ZXJDYXNlKCldXG4gICAgICAucmVkdWNlKGZ1bmN0aW9uKHJlc3VsdCwgX2tleSkge1xuICAgICAgICBpZiAoX2tleSBpbiBrZXlzKSB7XG4gICAgICAgICAgcmVzdWx0ID0ga2V5c1trZXldLmNhbGwodGhpcywgZXZlbnQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9LCB1bmRlZmluZWQpO1xuICB9O1xufTtcblxubW9kdWxlLmV4cG9ydHMuTU9ESUZJRVJTID0gTU9ESUZJRVJTO1xuIiwibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBvbmNlKGxpc3RlbmVyLCBvcHRpb25zKSB7XG4gIHZhciB3cmFwcGVkID0gZnVuY3Rpb24gd3JhcHBlZE9uY2UoZSkge1xuICAgIGUuY3VycmVudFRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKGUudHlwZSwgd3JhcHBlZCwgb3B0aW9ucyk7XG4gICAgcmV0dXJuIGxpc3RlbmVyLmNhbGwodGhpcywgZSk7XG4gIH07XG4gIHJldHVybiB3cmFwcGVkO1xufTtcblxuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgUkVfVFJJTSA9IC8oXlxccyspfChcXHMrJCkvZztcbnZhciBSRV9TUExJVCA9IC9cXHMrLztcblxudmFyIHRyaW0gPSBTdHJpbmcucHJvdG90eXBlLnRyaW1cbiAgPyBmdW5jdGlvbihzdHIpIHsgcmV0dXJuIHN0ci50cmltKCk7IH1cbiAgOiBmdW5jdGlvbihzdHIpIHsgcmV0dXJuIHN0ci5yZXBsYWNlKFJFX1RSSU0sICcnKTsgfTtcblxudmFyIHF1ZXJ5QnlJZCA9IGZ1bmN0aW9uKGlkKSB7XG4gIHJldHVybiB0aGlzLnF1ZXJ5U2VsZWN0b3IoJ1tpZD1cIicgKyBpZC5yZXBsYWNlKC9cIi9nLCAnXFxcXFwiJykgKyAnXCJdJyk7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIHJlc29sdmVJZHMoaWRzLCBkb2MpIHtcbiAgaWYgKHR5cGVvZiBpZHMgIT09ICdzdHJpbmcnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBhIHN0cmluZyBidXQgZ290ICcgKyAodHlwZW9mIGlkcykpO1xuICB9XG5cbiAgaWYgKCFkb2MpIHtcbiAgICBkb2MgPSB3aW5kb3cuZG9jdW1lbnQ7XG4gIH1cblxuICB2YXIgZ2V0RWxlbWVudEJ5SWQgPSBkb2MuZ2V0RWxlbWVudEJ5SWRcbiAgICA/IGRvYy5nZXRFbGVtZW50QnlJZC5iaW5kKGRvYylcbiAgICA6IHF1ZXJ5QnlJZC5iaW5kKGRvYyk7XG5cbiAgaWRzID0gdHJpbShpZHMpLnNwbGl0KFJFX1NQTElUKTtcblxuICAvLyBYWFggd2UgY2FuIHNob3J0LWNpcmN1aXQgaGVyZSBiZWNhdXNlIHRyaW1taW5nIGFuZCBzcGxpdHRpbmcgYVxuICAvLyBzdHJpbmcgb2YganVzdCB3aGl0ZXNwYWNlIHByb2R1Y2VzIGFuIGFycmF5IGNvbnRhaW5pbmcgYSBzaW5nbGUsXG4gIC8vIGVtcHR5IHN0cmluZ1xuICBpZiAoaWRzLmxlbmd0aCA9PT0gMSAmJiBpZHNbMF0gPT09ICcnKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgcmV0dXJuIGlkc1xuICAgIC5tYXAoZnVuY3Rpb24oaWQpIHtcbiAgICAgIHZhciBlbCA9IGdldEVsZW1lbnRCeUlkKGlkKTtcbiAgICAgIGlmICghZWwpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdubyBlbGVtZW50IHdpdGggaWQ6IFwiJyArIGlkICsgJ1wiJyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZWw7XG4gICAgfSk7XG59O1xuIiwiY29uc3QgYmVoYXZpb3IgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvYmVoYXZpb3JcIik7XG5jb25zdCB0b2dnbGVGb3JtSW5wdXQgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvdG9nZ2xlLWZvcm0taW5wdXRcIik7XG5cbmNvbnN0IHsgQ0xJQ0sgfSA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy9ldmVudHNcIik7XG5jb25zdCB7IHByZWZpeDogUFJFRklYIH0gPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvY29uZmlnXCIpO1xuXG5jb25zdCBMSU5LID0gYC4ke1BSRUZJWH0tc2hvdy1wYXNzd29yZGA7XG5cbmZ1bmN0aW9uIHRvZ2dsZShldmVudCkge1xuICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB0b2dnbGVGb3JtSW5wdXQodGhpcyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmVoYXZpb3Ioe1xuICBbQ0xJQ0tdOiB7XG4gICAgW0xJTktdOiB0b2dnbGUsXG4gIH0sXG59KTtcbiIsImNvbnN0IHNlbGVjdCA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9zZWxlY3RcIik7XG5jb25zdCBiZWhhdmlvciA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9iZWhhdmlvclwiKTtcbmNvbnN0IHRvZ2dsZSA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy90b2dnbGVcIik7XG5jb25zdCBpc0VsZW1lbnRJblZpZXdwb3J0ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2lzLWluLXZpZXdwb3J0XCIpO1xuY29uc3QgeyBDTElDSyB9ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL2V2ZW50c1wiKTtcbmNvbnN0IHsgcHJlZml4OiBQUkVGSVggfSA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy9jb25maWdcIik7XG5cbmNvbnN0IEFDQ09SRElPTiA9IGAuJHtQUkVGSVh9LWFjY29yZGlvbiwgLiR7UFJFRklYfS1hY2NvcmRpb24tLWJvcmRlcmVkYDtcbmNvbnN0IEJBTk5FUl9CVVRUT04gPSBgLiR7UFJFRklYfS1iYW5uZXJfX2J1dHRvbmA7XG5jb25zdCBCVVRUT04gPSBgLiR7UFJFRklYfS1hY2NvcmRpb25fX2J1dHRvblthcmlhLWNvbnRyb2xzXTpub3QoJHtCQU5ORVJfQlVUVE9OfSlgO1xuY29uc3QgRVhQQU5ERUQgPSBcImFyaWEtZXhwYW5kZWRcIjtcbmNvbnN0IE1VTFRJU0VMRUNUQUJMRSA9IFwiZGF0YS1hbGxvdy1tdWx0aXBsZVwiO1xuXG4vKipcbiAqIEdldCBhbiBBcnJheSBvZiBidXR0b24gZWxlbWVudHMgYmVsb25naW5nIGRpcmVjdGx5IHRvIHRoZSBnaXZlblxuICogYWNjb3JkaW9uIGVsZW1lbnQuXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBhY2NvcmRpb25cbiAqIEByZXR1cm4ge2FycmF5PEhUTUxCdXR0b25FbGVtZW50Pn1cbiAqL1xuY29uc3QgZ2V0QWNjb3JkaW9uQnV0dG9ucyA9IChhY2NvcmRpb24pID0+IHtcbiAgY29uc3QgYnV0dG9ucyA9IHNlbGVjdChCVVRUT04sIGFjY29yZGlvbik7XG5cbiAgcmV0dXJuIGJ1dHRvbnMuZmlsdGVyKChidXR0b24pID0+IGJ1dHRvbi5jbG9zZXN0KEFDQ09SRElPTikgPT09IGFjY29yZGlvbik7XG59O1xuXG4vKipcbiAqIFRvZ2dsZSBhIGJ1dHRvbidzIFwicHJlc3NlZFwiIHN0YXRlLCBvcHRpb25hbGx5IHByb3ZpZGluZyBhIHRhcmdldFxuICogc3RhdGUuXG4gKlxuICogQHBhcmFtIHtIVE1MQnV0dG9uRWxlbWVudH0gYnV0dG9uXG4gKiBAcGFyYW0ge2Jvb2xlYW4/fSBleHBhbmRlZCBJZiBubyBzdGF0ZSBpcyBwcm92aWRlZCwgdGhlIGN1cnJlbnRcbiAqIHN0YXRlIHdpbGwgYmUgdG9nZ2xlZCAoZnJvbSBmYWxzZSB0byB0cnVlLCBhbmQgdmljZS12ZXJzYSkuXG4gKiBAcmV0dXJuIHtib29sZWFufSB0aGUgcmVzdWx0aW5nIHN0YXRlXG4gKi9cbmNvbnN0IHRvZ2dsZUJ1dHRvbiA9IChidXR0b24sIGV4cGFuZGVkKSA9PiB7XG4gIGNvbnN0IGFjY29yZGlvbiA9IGJ1dHRvbi5jbG9zZXN0KEFDQ09SRElPTik7XG4gIGxldCBzYWZlRXhwYW5kZWQgPSBleHBhbmRlZDtcblxuICBpZiAoIWFjY29yZGlvbikge1xuICAgIHRocm93IG5ldyBFcnJvcihgJHtCVVRUT059IGlzIG1pc3Npbmcgb3V0ZXIgJHtBQ0NPUkRJT059YCk7XG4gIH1cblxuICBzYWZlRXhwYW5kZWQgPSB0b2dnbGUoYnV0dG9uLCBleHBhbmRlZCk7XG5cbiAgLy8gWFhYIG11bHRpc2VsZWN0YWJsZSBpcyBvcHQtaW4sIHRvIHByZXNlcnZlIGxlZ2FjeSBiZWhhdmlvclxuICBjb25zdCBtdWx0aXNlbGVjdGFibGUgPSBhY2NvcmRpb24uaGFzQXR0cmlidXRlKE1VTFRJU0VMRUNUQUJMRSk7XG5cbiAgaWYgKHNhZmVFeHBhbmRlZCAmJiAhbXVsdGlzZWxlY3RhYmxlKSB7XG4gICAgZ2V0QWNjb3JkaW9uQnV0dG9ucyhhY2NvcmRpb24pLmZvckVhY2goKG90aGVyKSA9PiB7XG4gICAgICBpZiAob3RoZXIgIT09IGJ1dHRvbikge1xuICAgICAgICB0b2dnbGUob3RoZXIsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufTtcblxuLyoqXG4gKiBAcGFyYW0ge0hUTUxCdXR0b25FbGVtZW50fSBidXR0b25cbiAqIEByZXR1cm4ge2Jvb2xlYW59IHRydWVcbiAqL1xuY29uc3Qgc2hvd0J1dHRvbiA9IChidXR0b24pID0+IHRvZ2dsZUJ1dHRvbihidXR0b24sIHRydWUpO1xuXG4vKipcbiAqIEBwYXJhbSB7SFRNTEJ1dHRvbkVsZW1lbnR9IGJ1dHRvblxuICogQHJldHVybiB7Ym9vbGVhbn0gZmFsc2VcbiAqL1xuY29uc3QgaGlkZUJ1dHRvbiA9IChidXR0b24pID0+IHRvZ2dsZUJ1dHRvbihidXR0b24sIGZhbHNlKTtcblxuY29uc3QgYWNjb3JkaW9uID0gYmVoYXZpb3IoXG4gIHtcbiAgICBbQ0xJQ0tdOiB7XG4gICAgICBbQlVUVE9OXSgpIHtcbiAgICAgICAgdG9nZ2xlQnV0dG9uKHRoaXMpO1xuXG4gICAgICAgIGlmICh0aGlzLmdldEF0dHJpYnV0ZShFWFBBTkRFRCkgPT09IFwidHJ1ZVwiKSB7XG4gICAgICAgICAgLy8gV2Ugd2VyZSBqdXN0IGV4cGFuZGVkLCBidXQgaWYgYW5vdGhlciBhY2NvcmRpb24gd2FzIGFsc28ganVzdFxuICAgICAgICAgIC8vIGNvbGxhcHNlZCwgd2UgbWF5IG5vIGxvbmdlciBiZSBpbiB0aGUgdmlld3BvcnQuIFRoaXMgZW5zdXJlc1xuICAgICAgICAgIC8vIHRoYXQgd2UgYXJlIHN0aWxsIHZpc2libGUsIHNvIHRoZSB1c2VyIGlzbid0IGNvbmZ1c2VkLlxuICAgICAgICAgIGlmICghaXNFbGVtZW50SW5WaWV3cG9ydCh0aGlzKSkgdGhpcy5zY3JvbGxJbnRvVmlldygpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG4gIHtcbiAgICBpbml0KHJvb3QpIHtcbiAgICAgIHNlbGVjdChCVVRUT04sIHJvb3QpLmZvckVhY2goKGJ1dHRvbikgPT4ge1xuICAgICAgICBjb25zdCBleHBhbmRlZCA9IGJ1dHRvbi5nZXRBdHRyaWJ1dGUoRVhQQU5ERUQpID09PSBcInRydWVcIjtcbiAgICAgICAgdG9nZ2xlQnV0dG9uKGJ1dHRvbiwgZXhwYW5kZWQpO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBBQ0NPUkRJT04sXG4gICAgQlVUVE9OLFxuICAgIHNob3c6IHNob3dCdXR0b24sXG4gICAgaGlkZTogaGlkZUJ1dHRvbixcbiAgICB0b2dnbGU6IHRvZ2dsZUJ1dHRvbixcbiAgICBnZXRCdXR0b25zOiBnZXRBY2NvcmRpb25CdXR0b25zLFxuICB9LFxuKTtcblxubW9kdWxlLmV4cG9ydHMgPSBhY2NvcmRpb247XG4iLCJjb25zdCBiZWhhdmlvciA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9iZWhhdmlvclwiKTtcbmNvbnN0IHNlbGVjdCA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9zZWxlY3RcIik7XG5jb25zdCB7IENMSUNLIH0gPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvZXZlbnRzXCIpO1xuY29uc3QgeyBwcmVmaXg6IFBSRUZJWCB9ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL2NvbmZpZ1wiKTtcbmNvbnN0IHRvZ2dsZSA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy90b2dnbGVcIik7XG5cbmNvbnN0IEhFQURFUiA9IGAuJHtQUkVGSVh9LWJhbm5lcl9faGVhZGVyYDtcbmNvbnN0IEVYUEFOREVEX0NMQVNTID0gYCR7UFJFRklYfS1iYW5uZXJfX2hlYWRlci0tZXhwYW5kZWRgO1xuY29uc3QgQkFOTkVSX0JVVFRPTiA9IGAke0hFQURFUn0gW2FyaWEtY29udHJvbHNdYDtcblxuLyoqXG4gKiBUb2dnbGUgQmFubmVyIGRpc3BsYXkgYW5kIGNsYXNzLlxuICogQHBhcmFtIHtFdmVudH0gZXZlbnRcbiAqL1xuY29uc3QgdG9nZ2xlQmFubmVyID0gZnVuY3Rpb24gdG9nZ2xlRWwoZXZlbnQpIHtcbiAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgY29uc3QgdHJpZ2dlciA9IGV2ZW50LnRhcmdldC5jbG9zZXN0KEJBTk5FUl9CVVRUT04pO1xuXG4gIHRvZ2dsZSh0cmlnZ2VyKTtcbiAgdGhpcy5jbG9zZXN0KEhFQURFUikuY2xhc3NMaXN0LnRvZ2dsZShFWFBBTkRFRF9DTEFTUyk7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGJlaGF2aW9yKFxuICB7XG4gICAgW0NMSUNLXToge1xuICAgICAgW0JBTk5FUl9CVVRUT05dOiB0b2dnbGVCYW5uZXIsXG4gICAgfSxcbiAgfSxcbiAge1xuICAgIGluaXQocm9vdCkge1xuICAgICAgc2VsZWN0KEJBTk5FUl9CVVRUT04sIHJvb3QpLmZvckVhY2goKGJ1dHRvbikgPT4ge1xuICAgICAgICBjb25zdCBleHBhbmRlZCA9IGJ1dHRvbi5nZXRBdHRyaWJ1dGUoRVhQQU5ERURfQ0xBU1MpID09PSBcInRydWVcIjtcbiAgICAgICAgdG9nZ2xlKGJ1dHRvbiwgZXhwYW5kZWQpO1xuICAgICAgfSk7XG4gICAgfSxcbiAgfSxcbik7XG4iLCJjb25zdCBrZXltYXAgPSByZXF1aXJlKFwicmVjZXB0b3Iva2V5bWFwXCIpO1xuY29uc3QgYmVoYXZpb3IgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvYmVoYXZpb3JcIik7XG5cbmNvbnN0IEFOQ0hPUl9CVVRUT04gPSBgYVtjbGFzcyo9XCJ1c2EtYnV0dG9uXCJdYDtcblxuY29uc3QgdG9nZ2xlQnV0dG9uID0gKGV2ZW50KSA9PiB7XG4gIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIGV2ZW50LnRhcmdldC5jbGljaygpO1xufTtcblxuY29uc3QgYW5jaG9yQnV0dG9uID0gYmVoYXZpb3Ioe1xuICBrZXlkb3duOiB7XG4gICAgW0FOQ0hPUl9CVVRUT05dOiBrZXltYXAoe1xuICAgICAgXCIgXCI6IHRvZ2dsZUJ1dHRvbixcbiAgICB9KSxcbiAgfSxcbn0pO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGFuY2hvckJ1dHRvbjtcbiIsImNvbnN0IHNlbGVjdCA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9zZWxlY3RcIik7XG5jb25zdCBiZWhhdmlvciA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9iZWhhdmlvclwiKTtcbmNvbnN0IGRlYm91bmNlID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2RlYm91bmNlXCIpO1xuY29uc3QgeyBwcmVmaXg6IFBSRUZJWCB9ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL2NvbmZpZ1wiKTtcblxuY29uc3QgQ0hBUkFDVEVSX0NPVU5UX0NMQVNTID0gYCR7UFJFRklYfS1jaGFyYWN0ZXItY291bnRgO1xuY29uc3QgQ0hBUkFDVEVSX0NPVU5UID0gYC4ke0NIQVJBQ1RFUl9DT1VOVF9DTEFTU31gO1xuY29uc3QgSU5QVVQgPSBgLiR7UFJFRklYfS1jaGFyYWN0ZXItY291bnRfX2ZpZWxkYDtcbmNvbnN0IE1FU1NBR0UgPSBgLiR7UFJFRklYfS1jaGFyYWN0ZXItY291bnRfX21lc3NhZ2VgO1xuY29uc3QgVkFMSURBVElPTl9NRVNTQUdFID0gXCJUaGUgY29udGVudCBpcyB0b28gbG9uZy5cIjtcbmNvbnN0IE1FU1NBR0VfSU5WQUxJRF9DTEFTUyA9IGAke1BSRUZJWH0tY2hhcmFjdGVyLWNvdW50X19zdGF0dXMtLWludmFsaWRgO1xuY29uc3QgU1RBVFVTX01FU1NBR0VfQ0xBU1MgPSBgJHtDSEFSQUNURVJfQ09VTlRfQ0xBU1N9X19zdGF0dXNgO1xuY29uc3QgU1RBVFVTX01FU1NBR0VfU1JfT05MWV9DTEFTUyA9IGAke0NIQVJBQ1RFUl9DT1VOVF9DTEFTU31fX3NyLXN0YXR1c2A7XG5jb25zdCBTVEFUVVNfTUVTU0FHRSA9IGAuJHtTVEFUVVNfTUVTU0FHRV9DTEFTU31gO1xuY29uc3QgU1RBVFVTX01FU1NBR0VfU1JfT05MWSA9IGAuJHtTVEFUVVNfTUVTU0FHRV9TUl9PTkxZX0NMQVNTfWA7XG5jb25zdCBERUZBVUxUX1NUQVRVU19MQUJFTCA9IGBjaGFyYWN0ZXJzIGFsbG93ZWRgO1xuXG4vKipcbiAqIFJldHVybnMgdGhlIHJvb3QgYW5kIG1lc3NhZ2UgZWxlbWVudCBmb3IgYW4gY2hhcmFjdGVyIGNvdW50IGlucHV0XG4gKlxuICogQHBhcmFtIHtIVE1MSW5wdXRFbGVtZW50fEhUTUxUZXh0QXJlYUVsZW1lbnR9IGlucHV0RWwgVGhlIGNoYXJhY3RlciBjb3VudCBpbnB1dCBlbGVtZW50XG4gKiBAcmV0dXJucyB7Q2hhcmFjdGVyQ291bnRFbGVtZW50c30gZWxlbWVudHMgVGhlIHJvb3QgYW5kIG1lc3NhZ2UgZWxlbWVudC5cbiAqL1xuY29uc3QgZ2V0Q2hhcmFjdGVyQ291bnRFbGVtZW50cyA9IChpbnB1dEVsKSA9PiB7XG4gIGNvbnN0IGNoYXJhY3RlckNvdW50RWwgPSBpbnB1dEVsLmNsb3Nlc3QoQ0hBUkFDVEVSX0NPVU5UKTtcblxuICBpZiAoIWNoYXJhY3RlckNvdW50RWwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYCR7SU5QVVR9IGlzIG1pc3Npbmcgb3V0ZXIgJHtDSEFSQUNURVJfQ09VTlR9YCk7XG4gIH1cblxuICBjb25zdCBtZXNzYWdlRWwgPSBjaGFyYWN0ZXJDb3VudEVsLnF1ZXJ5U2VsZWN0b3IoTUVTU0FHRSk7XG5cbiAgaWYgKCFtZXNzYWdlRWwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYCR7Q0hBUkFDVEVSX0NPVU5UfSBpcyBtaXNzaW5nIGlubmVyICR7TUVTU0FHRX1gKTtcbiAgfVxuXG4gIHJldHVybiB7IGNoYXJhY3RlckNvdW50RWwsIG1lc3NhZ2VFbCB9O1xufTtcblxuLyoqXG4gKiBNb3ZlIG1heGxlbmd0aCBhdHRyaWJ1dGUgdG8gYSBkYXRhIGF0dHJpYnV0ZSBvbiB1c2EtY2hhcmFjdGVyLWNvdW50XG4gKlxuICogQHBhcmFtIHtIVE1MSW5wdXRFbGVtZW50fEhUTUxUZXh0QXJlYUVsZW1lbnR9IGlucHV0RWwgVGhlIGNoYXJhY3RlciBjb3VudCBpbnB1dCBlbGVtZW50XG4gKi9cbmNvbnN0IHNldERhdGFMZW5ndGggPSAoaW5wdXRFbCkgPT4ge1xuICBjb25zdCB7IGNoYXJhY3RlckNvdW50RWwgfSA9IGdldENoYXJhY3RlckNvdW50RWxlbWVudHMoaW5wdXRFbCk7XG5cbiAgY29uc3QgbWF4bGVuZ3RoID0gaW5wdXRFbC5nZXRBdHRyaWJ1dGUoXCJtYXhsZW5ndGhcIik7XG5cbiAgaWYgKCFtYXhsZW5ndGgpIHJldHVybjtcblxuICBpbnB1dEVsLnJlbW92ZUF0dHJpYnV0ZShcIm1heGxlbmd0aFwiKTtcbiAgY2hhcmFjdGVyQ291bnRFbC5zZXRBdHRyaWJ1dGUoXCJkYXRhLW1heGxlbmd0aFwiLCBtYXhsZW5ndGgpO1xufTtcblxuLyoqXG4gKiBDcmVhdGUgYW5kIGFwcGVuZCBzdGF0dXMgbWVzc2FnZXMgZm9yIHZpc3VhbCBhbmQgc2NyZWVuIHJlYWRlcnNcbiAqXG4gKiBAcGFyYW0ge0hUTUxEaXZFbGVtZW50fSBjaGFyYWN0ZXJDb3VudEVsIC0gRGl2IHdpdGggYC51c2EtY2hhcmFjdGVyLWNvdW50YCBjbGFzc1xuICogQGRlc2NyaXB0aW9uICBDcmVhdGUgdHdvIHN0YXR1cyBtZXNzYWdlcyBmb3IgbnVtYmVyIG9mIGNoYXJhY3RlcnMgbGVmdDtcbiAqIG9uZSB2aXN1YWwgc3RhdHVzIGFuZCBhbm90aGVyIGZvciBzY3JlZW4gcmVhZGVyc1xuICovXG5jb25zdCBjcmVhdGVTdGF0dXNNZXNzYWdlcyA9IChjaGFyYWN0ZXJDb3VudEVsKSA9PiB7XG4gIGNvbnN0IHN0YXR1c01lc3NhZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICBjb25zdCBzclN0YXR1c01lc3NhZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICBjb25zdCBtYXhMZW5ndGggPSBjaGFyYWN0ZXJDb3VudEVsLmRhdGFzZXQubWF4bGVuZ3RoO1xuICBjb25zdCBkZWZhdWx0TWVzc2FnZSA9IGAke21heExlbmd0aH0gJHtERUZBVUxUX1NUQVRVU19MQUJFTH1gO1xuXG4gIHN0YXR1c01lc3NhZ2UuY2xhc3NMaXN0LmFkZChgJHtTVEFUVVNfTUVTU0FHRV9DTEFTU31gLCBcInVzYS1oaW50XCIpO1xuICBzclN0YXR1c01lc3NhZ2UuY2xhc3NMaXN0LmFkZChcbiAgICBgJHtTVEFUVVNfTUVTU0FHRV9TUl9PTkxZX0NMQVNTfWAsXG4gICAgXCJ1c2Etc3Itb25seVwiLFxuICApO1xuXG4gIHN0YXR1c01lc3NhZ2Uuc2V0QXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIiwgdHJ1ZSk7XG4gIHNyU3RhdHVzTWVzc2FnZS5zZXRBdHRyaWJ1dGUoXCJhcmlhLWxpdmVcIiwgXCJwb2xpdGVcIik7XG5cbiAgc3RhdHVzTWVzc2FnZS50ZXh0Q29udGVudCA9IGRlZmF1bHRNZXNzYWdlO1xuICBzclN0YXR1c01lc3NhZ2UudGV4dENvbnRlbnQgPSBkZWZhdWx0TWVzc2FnZTtcblxuICBjaGFyYWN0ZXJDb3VudEVsLmFwcGVuZChzdGF0dXNNZXNzYWdlLCBzclN0YXR1c01lc3NhZ2UpO1xufTtcblxuLyoqXG4gKiBSZXR1cm5zIG1lc3NhZ2Ugd2l0aCBob3cgbWFueSBjaGFyYWN0ZXJzIGFyZSBsZWZ0XG4gKlxuICogQHBhcmFtIHtudW1iZXJ9IGN1cnJlbnRMZW5ndGggLSBUaGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgdXNlZFxuICogQHBhcmFtIHtudW1iZXJ9IG1heExlbmd0aCAtIFRoZSB0b3RhbCBudW1iZXIgb2YgY2hhcmFjdGVycyBhbGxvd2VkXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBBIHN0cmluZyBkZXNjcmlwdGlvbiBvZiBob3cgbWFueSBjaGFyYWN0ZXJzIGFyZSBsZWZ0XG4gKi9cbmNvbnN0IGdldENvdW50TWVzc2FnZSA9IChjdXJyZW50TGVuZ3RoLCBtYXhMZW5ndGgpID0+IHtcbiAgbGV0IG5ld01lc3NhZ2UgPSBcIlwiO1xuXG4gIGlmIChjdXJyZW50TGVuZ3RoID09PSAwKSB7XG4gICAgbmV3TWVzc2FnZSA9IGAke21heExlbmd0aH0gJHtERUZBVUxUX1NUQVRVU19MQUJFTH1gO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGRpZmZlcmVuY2UgPSBNYXRoLmFicyhtYXhMZW5ndGggLSBjdXJyZW50TGVuZ3RoKTtcbiAgICBjb25zdCBjaGFyYWN0ZXJzID0gYGNoYXJhY3RlciR7ZGlmZmVyZW5jZSA9PT0gMSA/IFwiXCIgOiBcInNcIn1gO1xuICAgIGNvbnN0IGd1aWRhbmNlID0gY3VycmVudExlbmd0aCA+IG1heExlbmd0aCA/IFwib3ZlciBsaW1pdFwiIDogXCJsZWZ0XCI7XG5cbiAgICBuZXdNZXNzYWdlID0gYCR7ZGlmZmVyZW5jZX0gJHtjaGFyYWN0ZXJzfSAke2d1aWRhbmNlfWA7XG4gIH1cblxuICByZXR1cm4gbmV3TWVzc2FnZTtcbn07XG5cbi8qKlxuICogVXBkYXRlcyB0aGUgY2hhcmFjdGVyIGNvdW50IHN0YXR1cyBmb3Igc2NyZWVuIHJlYWRlcnMgYWZ0ZXIgYSAxMDAwbXMgZGVsYXkuXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gbXNnRWwgLSBUaGUgc2NyZWVuIHJlYWRlciBzdGF0dXMgbWVzc2FnZSBlbGVtZW50XG4gKiBAcGFyYW0ge3N0cmluZ30gc3RhdHVzTWVzc2FnZSAtIEEgc3RyaW5nIG9mIHRoZSBjdXJyZW50IGNoYXJhY3RlciBzdGF0dXNcbiAqL1xuY29uc3Qgc3JVcGRhdGVTdGF0dXMgPSBkZWJvdW5jZSgobXNnRWwsIHN0YXR1c01lc3NhZ2UpID0+IHtcbiAgY29uc3Qgc3JTdGF0dXNNZXNzYWdlID0gbXNnRWw7XG4gIHNyU3RhdHVzTWVzc2FnZS50ZXh0Q29udGVudCA9IHN0YXR1c01lc3NhZ2U7XG59LCAxMDAwKTtcblxuLyoqXG4gKiBVcGRhdGUgdGhlIGNoYXJhY3RlciBjb3VudCBjb21wb25lbnRcbiAqXG4gKiBAZGVzY3JpcHRpb24gT24gaW5wdXQsIGl0IHdpbGwgdXBkYXRlIHZpc3VhbCBzdGF0dXMsIHNjcmVlbnJlYWRlclxuICogc3RhdHVzIGFuZCB1cGRhdGUgaW5wdXQgdmFsaWRhdGlvbiAoaWYgb3ZlciBjaGFyYWN0ZXIgbGVuZ3RoKVxuICogQHBhcmFtIHtIVE1MSW5wdXRFbGVtZW50fEhUTUxUZXh0QXJlYUVsZW1lbnR9IGlucHV0RWwgVGhlIGNoYXJhY3RlciBjb3VudCBpbnB1dCBlbGVtZW50XG4gKi9cbmNvbnN0IHVwZGF0ZUNvdW50TWVzc2FnZSA9IChpbnB1dEVsKSA9PiB7XG4gIGNvbnN0IHsgY2hhcmFjdGVyQ291bnRFbCB9ID0gZ2V0Q2hhcmFjdGVyQ291bnRFbGVtZW50cyhpbnB1dEVsKTtcbiAgY29uc3QgY3VycmVudExlbmd0aCA9IGlucHV0RWwudmFsdWUubGVuZ3RoO1xuICBjb25zdCBtYXhMZW5ndGggPSBwYXJzZUludChcbiAgICBjaGFyYWN0ZXJDb3VudEVsLmdldEF0dHJpYnV0ZShcImRhdGEtbWF4bGVuZ3RoXCIpLFxuICAgIDEwLFxuICApO1xuICBjb25zdCBzdGF0dXNNZXNzYWdlID0gY2hhcmFjdGVyQ291bnRFbC5xdWVyeVNlbGVjdG9yKFNUQVRVU19NRVNTQUdFKTtcbiAgY29uc3Qgc3JTdGF0dXNNZXNzYWdlID0gY2hhcmFjdGVyQ291bnRFbC5xdWVyeVNlbGVjdG9yKFxuICAgIFNUQVRVU19NRVNTQUdFX1NSX09OTFksXG4gICk7XG4gIGNvbnN0IGN1cnJlbnRTdGF0dXNNZXNzYWdlID0gZ2V0Q291bnRNZXNzYWdlKGN1cnJlbnRMZW5ndGgsIG1heExlbmd0aCk7XG5cbiAgaWYgKCFtYXhMZW5ndGgpIHJldHVybjtcblxuICBjb25zdCBpc092ZXJMaW1pdCA9IGN1cnJlbnRMZW5ndGggJiYgY3VycmVudExlbmd0aCA+IG1heExlbmd0aDtcblxuICBzdGF0dXNNZXNzYWdlLnRleHRDb250ZW50ID0gY3VycmVudFN0YXR1c01lc3NhZ2U7XG4gIHNyVXBkYXRlU3RhdHVzKHNyU3RhdHVzTWVzc2FnZSwgY3VycmVudFN0YXR1c01lc3NhZ2UpO1xuXG4gIGlmIChpc092ZXJMaW1pdCAmJiAhaW5wdXRFbC52YWxpZGF0aW9uTWVzc2FnZSkge1xuICAgIGlucHV0RWwuc2V0Q3VzdG9tVmFsaWRpdHkoVkFMSURBVElPTl9NRVNTQUdFKTtcbiAgfVxuXG4gIGlmICghaXNPdmVyTGltaXQgJiYgaW5wdXRFbC52YWxpZGF0aW9uTWVzc2FnZSA9PT0gVkFMSURBVElPTl9NRVNTQUdFKSB7XG4gICAgaW5wdXRFbC5zZXRDdXN0b21WYWxpZGl0eShcIlwiKTtcbiAgfVxuXG4gIHN0YXR1c01lc3NhZ2UuY2xhc3NMaXN0LnRvZ2dsZShNRVNTQUdFX0lOVkFMSURfQ0xBU1MsIGlzT3ZlckxpbWl0KTtcbn07XG5cbi8qKlxuICogSW5pdGlhbGl6ZSBjb21wb25lbnRcbiAqXG4gKiBAZGVzY3JpcHRpb24gT24gaW5pdCB0aGlzIGZ1bmN0aW9uIHdpbGwgY3JlYXRlIGVsZW1lbnRzIGFuZCB1cGRhdGUgYW55XG4gKiBhdHRyaWJ1dGVzIHNvIGl0IGNhbiB0ZWxsIHRoZSB1c2VyIGhvdyBtYW55IGNoYXJhY3RlcnMgYXJlIGxlZnQuXG4gKiBAcGFyYW0gIHtIVE1MSW5wdXRFbGVtZW50fEhUTUxUZXh0QXJlYUVsZW1lbnR9IGlucHV0RWwgdGhlIGNvbXBvbmVudHMgaW5wdXRcbiAqL1xuY29uc3QgZW5oYW5jZUNoYXJhY3RlckNvdW50ID0gKGlucHV0RWwpID0+IHtcbiAgY29uc3QgeyBjaGFyYWN0ZXJDb3VudEVsLCBtZXNzYWdlRWwgfSA9IGdldENoYXJhY3RlckNvdW50RWxlbWVudHMoaW5wdXRFbCk7XG5cbiAgLy8gSGlkZSBoaW50IGFuZCByZW1vdmUgYXJpYS1saXZlIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuICBtZXNzYWdlRWwuY2xhc3NMaXN0LmFkZChcInVzYS1zci1vbmx5XCIpO1xuICBtZXNzYWdlRWwucmVtb3ZlQXR0cmlidXRlKFwiYXJpYS1saXZlXCIpO1xuXG4gIHNldERhdGFMZW5ndGgoaW5wdXRFbCk7XG4gIGNyZWF0ZVN0YXR1c01lc3NhZ2VzKGNoYXJhY3RlckNvdW50RWwpO1xufTtcblxuY29uc3QgY2hhcmFjdGVyQ291bnQgPSBiZWhhdmlvcihcbiAge1xuICAgIGlucHV0OiB7XG4gICAgICBbSU5QVVRdKCkge1xuICAgICAgICB1cGRhdGVDb3VudE1lc3NhZ2UodGhpcyk7XG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG4gIHtcbiAgICBpbml0KHJvb3QpIHtcbiAgICAgIHNlbGVjdChJTlBVVCwgcm9vdCkuZm9yRWFjaCgoaW5wdXQpID0+IGVuaGFuY2VDaGFyYWN0ZXJDb3VudChpbnB1dCkpO1xuICAgIH0sXG4gICAgTUVTU0FHRV9JTlZBTElEX0NMQVNTLFxuICAgIFZBTElEQVRJT05fTUVTU0FHRSxcbiAgICBTVEFUVVNfTUVTU0FHRV9DTEFTUyxcbiAgICBTVEFUVVNfTUVTU0FHRV9TUl9PTkxZX0NMQVNTLFxuICAgIERFRkFVTFRfU1RBVFVTX0xBQkVMLFxuICAgIGNyZWF0ZVN0YXR1c01lc3NhZ2VzLFxuICAgIGdldENvdW50TWVzc2FnZSxcbiAgICB1cGRhdGVDb3VudE1lc3NhZ2UsXG4gIH0sXG4pO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGNoYXJhY3RlckNvdW50O1xuIiwiY29uc3Qga2V5bWFwID0gcmVxdWlyZShcInJlY2VwdG9yL2tleW1hcFwiKTtcbmNvbnN0IHNlbGVjdE9yTWF0Y2hlcyA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9zZWxlY3Qtb3ItbWF0Y2hlc1wiKTtcbmNvbnN0IGJlaGF2aW9yID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2JlaGF2aW9yXCIpO1xuY29uc3QgU2FuaXRpemVyID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3Nhbml0aXplclwiKTtcbmNvbnN0IHsgcHJlZml4OiBQUkVGSVggfSA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy9jb25maWdcIik7XG5jb25zdCB7IENMSUNLIH0gPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvZXZlbnRzXCIpO1xuXG5jb25zdCBDT01CT19CT1hfQ0xBU1MgPSBgJHtQUkVGSVh9LWNvbWJvLWJveGA7XG5jb25zdCBDT01CT19CT1hfUFJJU1RJTkVfQ0xBU1MgPSBgJHtDT01CT19CT1hfQ0xBU1N9LS1wcmlzdGluZWA7XG5jb25zdCBTRUxFQ1RfQ0xBU1MgPSBgJHtDT01CT19CT1hfQ0xBU1N9X19zZWxlY3RgO1xuY29uc3QgSU5QVVRfQ0xBU1MgPSBgJHtDT01CT19CT1hfQ0xBU1N9X19pbnB1dGA7XG5jb25zdCBDTEVBUl9JTlBVVF9CVVRUT05fQ0xBU1MgPSBgJHtDT01CT19CT1hfQ0xBU1N9X19jbGVhci1pbnB1dGA7XG5jb25zdCBDTEVBUl9JTlBVVF9CVVRUT05fV1JBUFBFUl9DTEFTUyA9IGAke0NMRUFSX0lOUFVUX0JVVFRPTl9DTEFTU31fX3dyYXBwZXJgO1xuY29uc3QgSU5QVVRfQlVUVE9OX1NFUEFSQVRPUl9DTEFTUyA9IGAke0NPTUJPX0JPWF9DTEFTU31fX2lucHV0LWJ1dHRvbi1zZXBhcmF0b3JgO1xuY29uc3QgVE9HR0xFX0xJU1RfQlVUVE9OX0NMQVNTID0gYCR7Q09NQk9fQk9YX0NMQVNTfV9fdG9nZ2xlLWxpc3RgO1xuY29uc3QgVE9HR0xFX0xJU1RfQlVUVE9OX1dSQVBQRVJfQ0xBU1MgPSBgJHtUT0dHTEVfTElTVF9CVVRUT05fQ0xBU1N9X193cmFwcGVyYDtcbmNvbnN0IExJU1RfQ0xBU1MgPSBgJHtDT01CT19CT1hfQ0xBU1N9X19saXN0YDtcbmNvbnN0IExJU1RfT1BUSU9OX0NMQVNTID0gYCR7Q09NQk9fQk9YX0NMQVNTfV9fbGlzdC1vcHRpb25gO1xuY29uc3QgTElTVF9PUFRJT05fRk9DVVNFRF9DTEFTUyA9IGAke0xJU1RfT1BUSU9OX0NMQVNTfS0tZm9jdXNlZGA7XG5jb25zdCBMSVNUX09QVElPTl9TRUxFQ1RFRF9DTEFTUyA9IGAke0xJU1RfT1BUSU9OX0NMQVNTfS0tc2VsZWN0ZWRgO1xuY29uc3QgU1RBVFVTX0NMQVNTID0gYCR7Q09NQk9fQk9YX0NMQVNTfV9fc3RhdHVzYDtcblxuY29uc3QgQ09NQk9fQk9YID0gYC4ke0NPTUJPX0JPWF9DTEFTU31gO1xuY29uc3QgU0VMRUNUID0gYC4ke1NFTEVDVF9DTEFTU31gO1xuY29uc3QgSU5QVVQgPSBgLiR7SU5QVVRfQ0xBU1N9YDtcbmNvbnN0IENMRUFSX0lOUFVUX0JVVFRPTiA9IGAuJHtDTEVBUl9JTlBVVF9CVVRUT05fQ0xBU1N9YDtcbmNvbnN0IFRPR0dMRV9MSVNUX0JVVFRPTiA9IGAuJHtUT0dHTEVfTElTVF9CVVRUT05fQ0xBU1N9YDtcbmNvbnN0IExJU1QgPSBgLiR7TElTVF9DTEFTU31gO1xuY29uc3QgTElTVF9PUFRJT04gPSBgLiR7TElTVF9PUFRJT05fQ0xBU1N9YDtcbmNvbnN0IExJU1RfT1BUSU9OX0ZPQ1VTRUQgPSBgLiR7TElTVF9PUFRJT05fRk9DVVNFRF9DTEFTU31gO1xuY29uc3QgTElTVF9PUFRJT05fU0VMRUNURUQgPSBgLiR7TElTVF9PUFRJT05fU0VMRUNURURfQ0xBU1N9YDtcbmNvbnN0IFNUQVRVUyA9IGAuJHtTVEFUVVNfQ0xBU1N9YDtcblxuY29uc3QgREVGQVVMVF9GSUxURVIgPSBcIi4qe3txdWVyeX19LipcIjtcblxuY29uc3Qgbm9vcCA9ICgpID0+IHt9O1xuXG4vKipcbiAqIHNldCB0aGUgdmFsdWUgb2YgdGhlIGVsZW1lbnQgYW5kIGRpc3BhdGNoIGEgY2hhbmdlIGV2ZW50XG4gKlxuICogQHBhcmFtIHtIVE1MSW5wdXRFbGVtZW50fEhUTUxTZWxlY3RFbGVtZW50fSBlbCBUaGUgZWxlbWVudCB0byB1cGRhdGVcbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZSBUaGUgbmV3IHZhbHVlIG9mIHRoZSBlbGVtZW50XG4gKi9cbmNvbnN0IGNoYW5nZUVsZW1lbnRWYWx1ZSA9IChlbCwgdmFsdWUgPSBcIlwiKSA9PiB7XG4gIGNvbnN0IGVsZW1lbnRUb0NoYW5nZSA9IGVsO1xuICBlbGVtZW50VG9DaGFuZ2UudmFsdWUgPSB2YWx1ZTtcblxuICBjb25zdCBldmVudCA9IG5ldyBDdXN0b21FdmVudChcImNoYW5nZVwiLCB7XG4gICAgYnViYmxlczogdHJ1ZSxcbiAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICAgIGRldGFpbDogeyB2YWx1ZSB9LFxuICB9KTtcbiAgZWxlbWVudFRvQ2hhbmdlLmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xufTtcblxuLyoqXG4gKiBUaGUgZWxlbWVudHMgd2l0aGluIHRoZSBjb21ibyBib3guXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBDb21ib0JveENvbnRleHRcbiAqIEBwcm9wZXJ0eSB7SFRNTEVsZW1lbnR9IGNvbWJvQm94RWxcbiAqIEBwcm9wZXJ0eSB7SFRNTFNlbGVjdEVsZW1lbnR9IHNlbGVjdEVsXG4gKiBAcHJvcGVydHkge0hUTUxJbnB1dEVsZW1lbnR9IGlucHV0RWxcbiAqIEBwcm9wZXJ0eSB7SFRNTFVMaXN0RWxlbWVudH0gbGlzdEVsXG4gKiBAcHJvcGVydHkge0hUTUxEaXZFbGVtZW50fSBzdGF0dXNFbFxuICogQHByb3BlcnR5IHtIVE1MTElFbGVtZW50fSBmb2N1c2VkT3B0aW9uRWxcbiAqIEBwcm9wZXJ0eSB7SFRNTExJRWxlbWVudH0gc2VsZWN0ZWRPcHRpb25FbFxuICogQHByb3BlcnR5IHtIVE1MQnV0dG9uRWxlbWVudH0gdG9nZ2xlTGlzdEJ0bkVsXG4gKiBAcHJvcGVydHkge0hUTUxCdXR0b25FbGVtZW50fSBjbGVhcklucHV0QnRuRWxcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gaXNQcmlzdGluZVxuICogQHByb3BlcnR5IHtib29sZWFufSBkaXNhYmxlRmlsdGVyaW5nXG4gKi9cblxuLyoqXG4gKiBHZXQgYW4gb2JqZWN0IG9mIGVsZW1lbnRzIGJlbG9uZ2luZyBkaXJlY3RseSB0byB0aGUgZ2l2ZW5cbiAqIGNvbWJvIGJveCBjb21wb25lbnQuXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgdGhlIGVsZW1lbnQgd2l0aGluIHRoZSBjb21ibyBib3hcbiAqIEByZXR1cm5zIHtDb21ib0JveENvbnRleHR9IGVsZW1lbnRzXG4gKi9cbmNvbnN0IGdldENvbWJvQm94Q29udGV4dCA9IChlbCkgPT4ge1xuICBjb25zdCBjb21ib0JveEVsID0gZWwuY2xvc2VzdChDT01CT19CT1gpO1xuXG4gIGlmICghY29tYm9Cb3hFbCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgRWxlbWVudCBpcyBtaXNzaW5nIG91dGVyICR7Q09NQk9fQk9YfWApO1xuICB9XG5cbiAgY29uc3Qgc2VsZWN0RWwgPSBjb21ib0JveEVsLnF1ZXJ5U2VsZWN0b3IoU0VMRUNUKTtcbiAgY29uc3QgaW5wdXRFbCA9IGNvbWJvQm94RWwucXVlcnlTZWxlY3RvcihJTlBVVCk7XG4gIGNvbnN0IGxpc3RFbCA9IGNvbWJvQm94RWwucXVlcnlTZWxlY3RvcihMSVNUKTtcbiAgY29uc3Qgc3RhdHVzRWwgPSBjb21ib0JveEVsLnF1ZXJ5U2VsZWN0b3IoU1RBVFVTKTtcbiAgY29uc3QgZm9jdXNlZE9wdGlvbkVsID0gY29tYm9Cb3hFbC5xdWVyeVNlbGVjdG9yKExJU1RfT1BUSU9OX0ZPQ1VTRUQpO1xuICBjb25zdCBzZWxlY3RlZE9wdGlvbkVsID0gY29tYm9Cb3hFbC5xdWVyeVNlbGVjdG9yKExJU1RfT1BUSU9OX1NFTEVDVEVEKTtcbiAgY29uc3QgdG9nZ2xlTGlzdEJ0bkVsID0gY29tYm9Cb3hFbC5xdWVyeVNlbGVjdG9yKFRPR0dMRV9MSVNUX0JVVFRPTik7XG4gIGNvbnN0IGNsZWFySW5wdXRCdG5FbCA9IGNvbWJvQm94RWwucXVlcnlTZWxlY3RvcihDTEVBUl9JTlBVVF9CVVRUT04pO1xuXG4gIGNvbnN0IGlzUHJpc3RpbmUgPSBjb21ib0JveEVsLmNsYXNzTGlzdC5jb250YWlucyhDT01CT19CT1hfUFJJU1RJTkVfQ0xBU1MpO1xuICBjb25zdCBkaXNhYmxlRmlsdGVyaW5nID0gY29tYm9Cb3hFbC5kYXRhc2V0LmRpc2FibGVGaWx0ZXJpbmcgPT09IFwidHJ1ZVwiO1xuXG4gIHJldHVybiB7XG4gICAgY29tYm9Cb3hFbCxcbiAgICBzZWxlY3RFbCxcbiAgICBpbnB1dEVsLFxuICAgIGxpc3RFbCxcbiAgICBzdGF0dXNFbCxcbiAgICBmb2N1c2VkT3B0aW9uRWwsXG4gICAgc2VsZWN0ZWRPcHRpb25FbCxcbiAgICB0b2dnbGVMaXN0QnRuRWwsXG4gICAgY2xlYXJJbnB1dEJ0bkVsLFxuICAgIGlzUHJpc3RpbmUsXG4gICAgZGlzYWJsZUZpbHRlcmluZyxcbiAgfTtcbn07XG5cbi8qKlxuICogRGlzYWJsZSB0aGUgY29tYm8tYm94IGNvbXBvbmVudFxuICpcbiAqIEBwYXJhbSB7SFRNTElucHV0RWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGNvbWJvIGJveCBjb21wb25lbnRcbiAqL1xuY29uc3QgZGlzYWJsZSA9IChlbCkgPT4ge1xuICBjb25zdCB7IGlucHV0RWwsIHRvZ2dsZUxpc3RCdG5FbCwgY2xlYXJJbnB1dEJ0bkVsIH0gPSBnZXRDb21ib0JveENvbnRleHQoZWwpO1xuXG4gIGNsZWFySW5wdXRCdG5FbC5oaWRkZW4gPSB0cnVlO1xuICBjbGVhcklucHV0QnRuRWwuZGlzYWJsZWQgPSB0cnVlO1xuICB0b2dnbGVMaXN0QnRuRWwuZGlzYWJsZWQgPSB0cnVlO1xuICBpbnB1dEVsLmRpc2FibGVkID0gdHJ1ZTtcbn07XG5cbi8qKlxuICogQ2hlY2sgZm9yIGFyaWEtZGlzYWJsZWQgb24gaW5pdGlhbGl6YXRpb25cbiAqXG4gKiBAcGFyYW0ge0hUTUxJbnB1dEVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBjb21ibyBib3ggY29tcG9uZW50XG4gKi9cbmNvbnN0IGFyaWFEaXNhYmxlID0gKGVsKSA9PiB7XG4gIGNvbnN0IHsgaW5wdXRFbCwgdG9nZ2xlTGlzdEJ0bkVsLCBjbGVhcklucHV0QnRuRWwgfSA9IGdldENvbWJvQm94Q29udGV4dChlbCk7XG5cbiAgY2xlYXJJbnB1dEJ0bkVsLmhpZGRlbiA9IHRydWU7XG4gIGNsZWFySW5wdXRCdG5FbC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWRpc2FibGVkXCIsIHRydWUpO1xuICB0b2dnbGVMaXN0QnRuRWwuc2V0QXR0cmlidXRlKFwiYXJpYS1kaXNhYmxlZFwiLCB0cnVlKTtcbiAgaW5wdXRFbC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWRpc2FibGVkXCIsIHRydWUpO1xufTtcblxuLyoqXG4gKiBFbmFibGUgdGhlIGNvbWJvLWJveCBjb21wb25lbnRcbiAqXG4gKiBAcGFyYW0ge0hUTUxJbnB1dEVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBjb21ibyBib3ggY29tcG9uZW50XG4gKi9cbmNvbnN0IGVuYWJsZSA9IChlbCkgPT4ge1xuICBjb25zdCB7IGlucHV0RWwsIHRvZ2dsZUxpc3RCdG5FbCwgY2xlYXJJbnB1dEJ0bkVsIH0gPSBnZXRDb21ib0JveENvbnRleHQoZWwpO1xuXG4gIGNsZWFySW5wdXRCdG5FbC5oaWRkZW4gPSBmYWxzZTtcbiAgY2xlYXJJbnB1dEJ0bkVsLmRpc2FibGVkID0gZmFsc2U7XG4gIHRvZ2dsZUxpc3RCdG5FbC5kaXNhYmxlZCA9IGZhbHNlO1xuICBpbnB1dEVsLmRpc2FibGVkID0gZmFsc2U7XG59O1xuXG4vKipcbiAqIEVuaGFuY2UgYSBzZWxlY3QgZWxlbWVudCBpbnRvIGEgY29tYm8gYm94IGNvbXBvbmVudC5cbiAqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBfY29tYm9Cb3hFbCBUaGUgaW5pdGlhbCBlbGVtZW50IG9mIHRoZSBjb21ibyBib3ggY29tcG9uZW50XG4gKi9cbmNvbnN0IGVuaGFuY2VDb21ib0JveCA9IChfY29tYm9Cb3hFbCkgPT4ge1xuICBjb25zdCBjb21ib0JveEVsID0gX2NvbWJvQm94RWwuY2xvc2VzdChDT01CT19CT1gpO1xuXG4gIGlmIChjb21ib0JveEVsLmRhdGFzZXQuZW5oYW5jZWQpIHJldHVybjtcblxuICBjb25zdCBzZWxlY3RFbCA9IGNvbWJvQm94RWwucXVlcnlTZWxlY3RvcihcInNlbGVjdFwiKTtcblxuICBpZiAoIXNlbGVjdEVsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGAke0NPTUJPX0JPWH0gaXMgbWlzc2luZyBpbm5lciBzZWxlY3RgKTtcbiAgfVxuXG4gIGNvbnN0IHNlbGVjdElkID0gc2VsZWN0RWwuaWQ7XG4gIGNvbnN0IHNlbGVjdExhYmVsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgbGFiZWxbZm9yPVwiJHtzZWxlY3RJZH1cIl1gKTtcbiAgY29uc3QgbGlzdElkID0gYCR7c2VsZWN0SWR9LS1saXN0YDtcbiAgY29uc3QgbGlzdElkTGFiZWwgPSBgJHtzZWxlY3RJZH0tbGFiZWxgO1xuICBjb25zdCBhc3Npc3RpdmVIaW50SUQgPSBgJHtzZWxlY3RJZH0tLWFzc2lzdGl2ZUhpbnRgO1xuICBjb25zdCBhZGRpdGlvbmFsQXR0cmlidXRlcyA9IFtdO1xuICBjb25zdCB7IGRlZmF1bHRWYWx1ZSB9ID0gY29tYm9Cb3hFbC5kYXRhc2V0O1xuICBjb25zdCB7IHBsYWNlaG9sZGVyIH0gPSBjb21ib0JveEVsLmRhdGFzZXQ7XG4gIGxldCBzZWxlY3RlZE9wdGlvbjtcblxuICBpZiAocGxhY2Vob2xkZXIpIHtcbiAgICBhZGRpdGlvbmFsQXR0cmlidXRlcy5wdXNoKHsgcGxhY2Vob2xkZXIgfSk7XG4gIH1cblxuICBpZiAoZGVmYXVsdFZhbHVlKSB7XG4gICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IHNlbGVjdEVsLm9wdGlvbnMubGVuZ3RoOyBpIDwgbGVuOyBpICs9IDEpIHtcbiAgICAgIGNvbnN0IG9wdGlvbkVsID0gc2VsZWN0RWwub3B0aW9uc1tpXTtcblxuICAgICAgaWYgKG9wdGlvbkVsLnZhbHVlID09PSBkZWZhdWx0VmFsdWUpIHtcbiAgICAgICAgc2VsZWN0ZWRPcHRpb24gPSBvcHRpb25FbDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRocm93IGVycm9yIGlmIGNvbWJvYm94IGlzIG1pc3NpbmcgYSBsYWJlbCBvciBsYWJlbCBpcyBtaXNzaW5nXG4gICAqIGBmb3JgIGF0dHJpYnV0ZS4gT3RoZXJ3aXNlLCBzZXQgdGhlIElEIHRvIG1hdGNoIHRoZSA8dWw+IGFyaWEtbGFiZWxsZWRieVxuICAgKi9cbiAgaWYgKCFzZWxlY3RMYWJlbCB8fCAhc2VsZWN0TGFiZWwubWF0Y2hlcyhgbGFiZWxbZm9yPVwiJHtzZWxlY3RJZH1cIl1gKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGAke0NPTUJPX0JPWH0gZm9yICR7c2VsZWN0SWR9IGlzIGVpdGhlciBtaXNzaW5nIGEgbGFiZWwgb3IgYSBcImZvclwiIGF0dHJpYnV0ZWAsXG4gICAgKTtcbiAgfSBlbHNlIHtcbiAgICBzZWxlY3RMYWJlbC5zZXRBdHRyaWJ1dGUoXCJpZFwiLCBsaXN0SWRMYWJlbCk7XG4gIH1cblxuICBzZWxlY3RMYWJlbC5zZXRBdHRyaWJ1dGUoXCJpZFwiLCBsaXN0SWRMYWJlbCk7XG4gIHNlbGVjdEVsLnNldEF0dHJpYnV0ZShcImFyaWEtaGlkZGVuXCIsIFwidHJ1ZVwiKTtcbiAgc2VsZWN0RWwuc2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIiwgXCItMVwiKTtcbiAgc2VsZWN0RWwuY2xhc3NMaXN0LmFkZChcInVzYS1zci1vbmx5XCIsIFNFTEVDVF9DTEFTUyk7XG4gIHNlbGVjdEVsLmlkID0gXCJcIjtcbiAgc2VsZWN0RWwudmFsdWUgPSBcIlwiO1xuXG4gIFtcInJlcXVpcmVkXCIsIFwiYXJpYS1sYWJlbFwiLCBcImFyaWEtbGFiZWxsZWRieVwiXS5mb3JFYWNoKChuYW1lKSA9PiB7XG4gICAgaWYgKHNlbGVjdEVsLmhhc0F0dHJpYnV0ZShuYW1lKSkge1xuICAgICAgY29uc3QgdmFsdWUgPSBzZWxlY3RFbC5nZXRBdHRyaWJ1dGUobmFtZSk7XG4gICAgICBhZGRpdGlvbmFsQXR0cmlidXRlcy5wdXNoKHsgW25hbWVdOiB2YWx1ZSB9KTtcbiAgICAgIHNlbGVjdEVsLnJlbW92ZUF0dHJpYnV0ZShuYW1lKTtcbiAgICB9XG4gIH0pO1xuXG4gIC8vIHNhbml0aXplIGRvZXNuJ3QgbGlrZSBmdW5jdGlvbnMgaW4gdGVtcGxhdGUgbGl0ZXJhbHNcbiAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIik7XG4gIGlucHV0LnNldEF0dHJpYnV0ZShcImlkXCIsIHNlbGVjdElkKTtcbiAgaW5wdXQuc2V0QXR0cmlidXRlKFwiYXJpYS1vd25zXCIsIGxpc3RJZCk7XG4gIGlucHV0LnNldEF0dHJpYnV0ZShcImFyaWEtY29udHJvbHNcIiwgbGlzdElkKTtcbiAgaW5wdXQuc2V0QXR0cmlidXRlKFwiYXJpYS1hdXRvY29tcGxldGVcIiwgXCJsaXN0XCIpO1xuICBpbnB1dC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWRlc2NyaWJlZGJ5XCIsIGFzc2lzdGl2ZUhpbnRJRCk7XG4gIGlucHV0LnNldEF0dHJpYnV0ZShcImFyaWEtZXhwYW5kZWRcIiwgXCJmYWxzZVwiKTtcbiAgaW5wdXQuc2V0QXR0cmlidXRlKFwiYXV0b2NhcGl0YWxpemVcIiwgXCJvZmZcIik7XG4gIGlucHV0LnNldEF0dHJpYnV0ZShcImF1dG9jb21wbGV0ZVwiLCBcIm9mZlwiKTtcbiAgaW5wdXQuc2V0QXR0cmlidXRlKFwiY2xhc3NcIiwgSU5QVVRfQ0xBU1MpO1xuICBpbnB1dC5zZXRBdHRyaWJ1dGUoXCJ0eXBlXCIsIFwidGV4dFwiKTtcbiAgaW5wdXQuc2V0QXR0cmlidXRlKFwicm9sZVwiLCBcImNvbWJvYm94XCIpO1xuICBhZGRpdGlvbmFsQXR0cmlidXRlcy5mb3JFYWNoKChhdHRyKSA9PlxuICAgIE9iamVjdC5rZXlzKGF0dHIpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSBTYW5pdGl6ZXIuZXNjYXBlSFRNTGAke2F0dHJba2V5XX1gO1xuICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKGtleSwgdmFsdWUpO1xuICAgIH0pLFxuICApO1xuXG4gIGNvbWJvQm94RWwuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KFwiYmVmb3JlZW5kXCIsIGlucHV0KTtcblxuICBjb21ib0JveEVsLmluc2VydEFkamFjZW50SFRNTChcbiAgICBcImJlZm9yZWVuZFwiLFxuICAgIFNhbml0aXplci5lc2NhcGVIVE1MYFxuICAgIDxzcGFuIGNsYXNzPVwiJHtDTEVBUl9JTlBVVF9CVVRUT05fV1JBUFBFUl9DTEFTU31cIiB0YWJpbmRleD1cIi0xXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiJHtDTEVBUl9JTlBVVF9CVVRUT05fQ0xBU1N9XCIgYXJpYS1sYWJlbD1cIkNsZWFyIHRoZSBzZWxlY3QgY29udGVudHNcIj4mbmJzcDs8L2J1dHRvbj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiJHtJTlBVVF9CVVRUT05fU0VQQVJBVE9SX0NMQVNTfVwiPiZuYnNwOzwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiJHtUT0dHTEVfTElTVF9CVVRUT05fV1JBUFBFUl9DTEFTU31cIiB0YWJpbmRleD1cIi0xXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiLTFcIiBjbGFzcz1cIiR7VE9HR0xFX0xJU1RfQlVUVE9OX0NMQVNTfVwiIGFyaWEtbGFiZWw9XCJUb2dnbGUgdGhlIGRyb3Bkb3duIGxpc3RcIj4mbmJzcDs8L2J1dHRvbj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDx1bFxuICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgaWQ9XCIke2xpc3RJZH1cIlxuICAgICAgICBjbGFzcz1cIiR7TElTVF9DTEFTU31cIlxuICAgICAgICByb2xlPVwibGlzdGJveFwiXG4gICAgICAgIGFyaWEtbGFiZWxsZWRieT1cIiR7bGlzdElkTGFiZWx9XCJcbiAgICAgICAgaGlkZGVuPlxuICAgICAgPC91bD5cbiAgICAgIDxkaXYgY2xhc3M9XCIke1NUQVRVU19DTEFTU30gdXNhLXNyLW9ubHlcIiByb2xlPVwic3RhdHVzXCI+PC9kaXY+XG4gICAgICA8c3BhbiBpZD1cIiR7YXNzaXN0aXZlSGludElEfVwiIGNsYXNzPVwidXNhLXNyLW9ubHlcIj5cbiAgICAgICAgV2hlbiBhdXRvY29tcGxldGUgcmVzdWx0cyBhcmUgYXZhaWxhYmxlIHVzZSB1cCBhbmQgZG93biBhcnJvd3MgdG8gcmV2aWV3IGFuZCBlbnRlciB0byBzZWxlY3QuXG4gICAgICAgIFRvdWNoIGRldmljZSB1c2VycywgZXhwbG9yZSBieSB0b3VjaCBvciB3aXRoIHN3aXBlIGdlc3R1cmVzLlxuICAgICAgPC9zcGFuPmAsXG4gICk7XG5cbiAgaWYgKHNlbGVjdGVkT3B0aW9uKSB7XG4gICAgY29uc3QgeyBpbnB1dEVsIH0gPSBnZXRDb21ib0JveENvbnRleHQoY29tYm9Cb3hFbCk7XG4gICAgY2hhbmdlRWxlbWVudFZhbHVlKHNlbGVjdEVsLCBzZWxlY3RlZE9wdGlvbi52YWx1ZSk7XG4gICAgY2hhbmdlRWxlbWVudFZhbHVlKGlucHV0RWwsIHNlbGVjdGVkT3B0aW9uLnRleHQpO1xuICAgIGNvbWJvQm94RWwuY2xhc3NMaXN0LmFkZChDT01CT19CT1hfUFJJU1RJTkVfQ0xBU1MpO1xuICB9XG5cbiAgaWYgKHNlbGVjdEVsLmRpc2FibGVkKSB7XG4gICAgZGlzYWJsZShjb21ib0JveEVsKTtcbiAgICBzZWxlY3RFbC5kaXNhYmxlZCA9IGZhbHNlO1xuICB9XG5cbiAgaWYgKHNlbGVjdEVsLmhhc0F0dHJpYnV0ZShcImFyaWEtZGlzYWJsZWRcIikpIHtcbiAgICBhcmlhRGlzYWJsZShjb21ib0JveEVsKTtcbiAgICBzZWxlY3RFbC5yZW1vdmVBdHRyaWJ1dGUoXCJhcmlhLWRpc2FibGVkXCIpO1xuICB9XG5cbiAgY29tYm9Cb3hFbC5kYXRhc2V0LmVuaGFuY2VkID0gXCJ0cnVlXCI7XG59O1xuXG4vKipcbiAqIE1hbmFnZSB0aGUgZm9jdXNlZCBlbGVtZW50IHdpdGhpbiB0aGUgbGlzdCBvcHRpb25zIHdoZW5cbiAqIG5hdmlnYXRpbmcgdmlhIGtleWJvYXJkLlxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsIEFuIGFuY2hvciBlbGVtZW50IHdpdGhpbiB0aGUgY29tYm8gYm94IGNvbXBvbmVudFxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gbmV4dEVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBjb21ibyBib3ggY29tcG9uZW50XG4gKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyBvcHRpb25zXG4gKiBAcGFyYW0ge2Jvb2xlYW59IG9wdGlvbnMuc2tpcEZvY3VzIHNraXAgZm9jdXMgb2YgaGlnaGxpZ2h0ZWQgaXRlbVxuICogQHBhcmFtIHtib29sZWFufSBvcHRpb25zLnByZXZlbnRTY3JvbGwgc2hvdWxkIHNraXAgcHJvY2VkdXJlIHRvIHNjcm9sbCB0byBlbGVtZW50XG4gKi9cbmNvbnN0IGhpZ2hsaWdodE9wdGlvbiA9IChlbCwgbmV4dEVsLCB7IHNraXBGb2N1cywgcHJldmVudFNjcm9sbCB9ID0ge30pID0+IHtcbiAgY29uc3QgeyBpbnB1dEVsLCBsaXN0RWwsIGZvY3VzZWRPcHRpb25FbCB9ID0gZ2V0Q29tYm9Cb3hDb250ZXh0KGVsKTtcblxuICBpZiAoZm9jdXNlZE9wdGlvbkVsKSB7XG4gICAgZm9jdXNlZE9wdGlvbkVsLmNsYXNzTGlzdC5yZW1vdmUoTElTVF9PUFRJT05fRk9DVVNFRF9DTEFTUyk7XG4gICAgZm9jdXNlZE9wdGlvbkVsLnNldEF0dHJpYnV0ZShcInRhYkluZGV4XCIsIFwiLTFcIik7XG4gIH1cblxuICBpZiAobmV4dEVsKSB7XG4gICAgaW5wdXRFbC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnRcIiwgbmV4dEVsLmlkKTtcbiAgICBuZXh0RWwuc2V0QXR0cmlidXRlKFwidGFiSW5kZXhcIiwgXCIwXCIpO1xuICAgIG5leHRFbC5jbGFzc0xpc3QuYWRkKExJU1RfT1BUSU9OX0ZPQ1VTRURfQ0xBU1MpO1xuXG4gICAgaWYgKCFwcmV2ZW50U2Nyb2xsKSB7XG4gICAgICBjb25zdCBvcHRpb25Cb3R0b20gPSBuZXh0RWwub2Zmc2V0VG9wICsgbmV4dEVsLm9mZnNldEhlaWdodDtcbiAgICAgIGNvbnN0IGN1cnJlbnRCb3R0b20gPSBsaXN0RWwuc2Nyb2xsVG9wICsgbGlzdEVsLm9mZnNldEhlaWdodDtcblxuICAgICAgaWYgKG9wdGlvbkJvdHRvbSA+IGN1cnJlbnRCb3R0b20pIHtcbiAgICAgICAgbGlzdEVsLnNjcm9sbFRvcCA9IG9wdGlvbkJvdHRvbSAtIGxpc3RFbC5vZmZzZXRIZWlnaHQ7XG4gICAgICB9XG5cbiAgICAgIGlmIChuZXh0RWwub2Zmc2V0VG9wIDwgbGlzdEVsLnNjcm9sbFRvcCkge1xuICAgICAgICBsaXN0RWwuc2Nyb2xsVG9wID0gbmV4dEVsLm9mZnNldFRvcDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIXNraXBGb2N1cykge1xuICAgICAgbmV4dEVsLmZvY3VzKHsgcHJldmVudFNjcm9sbCB9KTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaW5wdXRFbC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnRcIiwgXCJcIik7XG4gICAgaW5wdXRFbC5mb2N1cygpO1xuICB9XG59O1xuXG4vKipcbiAqIEdlbmVyYXRlIGEgZHluYW1pYyByZWd1bGFyIGV4cHJlc3Npb24gYmFzZWQgb2ZmIG9mIGEgcmVwbGFjZWFibGUgYW5kIHBvc3NpYmx5IGZpbHRlcmVkIHZhbHVlLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBlbCBBbiBlbGVtZW50IHdpdGhpbiB0aGUgY29tYm8gYm94IGNvbXBvbmVudFxuICogQHBhcmFtIHtzdHJpbmd9IHF1ZXJ5IFRoZSB2YWx1ZSB0byB1c2UgaW4gdGhlIHJlZ3VsYXIgZXhwcmVzc2lvblxuICogQHBhcmFtIHtvYmplY3R9IGV4dHJhcyBBbiBvYmplY3Qgb2YgcmVndWxhciBleHByZXNzaW9ucyB0byByZXBsYWNlIGFuZCBmaWx0ZXIgdGhlIHF1ZXJ5XG4gKi9cbmNvbnN0IGdlbmVyYXRlRHluYW1pY1JlZ0V4cCA9IChmaWx0ZXIsIHF1ZXJ5ID0gXCJcIiwgZXh0cmFzID0ge30pID0+IHtcbiAgY29uc3QgZXNjYXBlUmVnRXhwID0gKHRleHQpID0+XG4gICAgdGV4dC5yZXBsYWNlKC9bLVtcXF17fSgpKis/LixcXFxcXiR8I1xcc10vZywgXCJcXFxcJCZcIik7XG5cbiAgbGV0IGZpbmQgPSBmaWx0ZXIucmVwbGFjZSgve3soLio/KX19L2csIChtLCAkMSkgPT4ge1xuICAgIGNvbnN0IGtleSA9ICQxLnRyaW0oKTtcbiAgICBjb25zdCBxdWVyeUZpbHRlciA9IGV4dHJhc1trZXldO1xuICAgIGlmIChrZXkgIT09IFwicXVlcnlcIiAmJiBxdWVyeUZpbHRlcikge1xuICAgICAgY29uc3QgbWF0Y2hlciA9IG5ldyBSZWdFeHAocXVlcnlGaWx0ZXIsIFwiaVwiKTtcbiAgICAgIGNvbnN0IG1hdGNoZXMgPSBxdWVyeS5tYXRjaChtYXRjaGVyKTtcblxuICAgICAgaWYgKG1hdGNoZXMpIHtcbiAgICAgICAgcmV0dXJuIGVzY2FwZVJlZ0V4cChtYXRjaGVzWzFdKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfVxuICAgIHJldHVybiBlc2NhcGVSZWdFeHAocXVlcnkpO1xuICB9KTtcblxuICBmaW5kID0gYF4oPzoke2ZpbmR9KSRgO1xuXG4gIHJldHVybiBuZXcgUmVnRXhwKGZpbmQsIFwiaVwiKTtcbn07XG5cbi8qKlxuICogRGlzcGxheSB0aGUgb3B0aW9uIGxpc3Qgb2YgYSBjb21ibyBib3ggY29tcG9uZW50LlxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBjb21ibyBib3ggY29tcG9uZW50XG4gKi9cbmNvbnN0IGRpc3BsYXlMaXN0ID0gKGVsKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjb21ib0JveEVsLFxuICAgIHNlbGVjdEVsLFxuICAgIGlucHV0RWwsXG4gICAgbGlzdEVsLFxuICAgIHN0YXR1c0VsLFxuICAgIGlzUHJpc3RpbmUsXG4gICAgZGlzYWJsZUZpbHRlcmluZyxcbiAgfSA9IGdldENvbWJvQm94Q29udGV4dChlbCk7XG4gIGxldCBzZWxlY3RlZEl0ZW1JZDtcbiAgbGV0IGZpcnN0Rm91bmRJZDtcblxuICBjb25zdCBsaXN0T3B0aW9uQmFzZUlkID0gYCR7bGlzdEVsLmlkfS0tb3B0aW9uLWA7XG5cbiAgY29uc3QgaW5wdXRWYWx1ZSA9IChpbnB1dEVsLnZhbHVlIHx8IFwiXCIpLnRvTG93ZXJDYXNlKCk7XG4gIGNvbnN0IGZpbHRlciA9IGNvbWJvQm94RWwuZGF0YXNldC5maWx0ZXIgfHwgREVGQVVMVF9GSUxURVI7XG4gIGNvbnN0IHJlZ2V4ID0gZ2VuZXJhdGVEeW5hbWljUmVnRXhwKGZpbHRlciwgaW5wdXRWYWx1ZSwgY29tYm9Cb3hFbC5kYXRhc2V0KTtcblxuICBjb25zdCBvcHRpb25zID0gW107XG4gIGZvciAobGV0IGkgPSAwLCBsZW4gPSBzZWxlY3RFbC5vcHRpb25zLmxlbmd0aDsgaSA8IGxlbjsgaSArPSAxKSB7XG4gICAgY29uc3Qgb3B0aW9uRWwgPSBzZWxlY3RFbC5vcHRpb25zW2ldO1xuICAgIGNvbnN0IG9wdGlvbklkID0gYCR7bGlzdE9wdGlvbkJhc2VJZH0ke29wdGlvbnMubGVuZ3RofWA7XG5cbiAgICBpZiAoXG4gICAgICBvcHRpb25FbC52YWx1ZSAmJlxuICAgICAgKGRpc2FibGVGaWx0ZXJpbmcgfHxcbiAgICAgICAgaXNQcmlzdGluZSB8fFxuICAgICAgICAhaW5wdXRWYWx1ZSB8fFxuICAgICAgICByZWdleC50ZXN0KG9wdGlvbkVsLnRleHQpKVxuICAgICkge1xuICAgICAgaWYgKHNlbGVjdEVsLnZhbHVlICYmIG9wdGlvbkVsLnZhbHVlID09PSBzZWxlY3RFbC52YWx1ZSkge1xuICAgICAgICBzZWxlY3RlZEl0ZW1JZCA9IG9wdGlvbklkO1xuICAgICAgfVxuXG4gICAgICBpZiAoZGlzYWJsZUZpbHRlcmluZyAmJiAhZmlyc3RGb3VuZElkICYmIHJlZ2V4LnRlc3Qob3B0aW9uRWwudGV4dCkpIHtcbiAgICAgICAgZmlyc3RGb3VuZElkID0gb3B0aW9uSWQ7XG4gICAgICB9XG4gICAgICBvcHRpb25zLnB1c2gob3B0aW9uRWwpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IG51bU9wdGlvbnMgPSBvcHRpb25zLmxlbmd0aDtcbiAgY29uc3Qgb3B0aW9uSHRtbCA9IG9wdGlvbnMubWFwKChvcHRpb24sIGluZGV4KSA9PiB7XG4gICAgY29uc3Qgb3B0aW9uSWQgPSBgJHtsaXN0T3B0aW9uQmFzZUlkfSR7aW5kZXh9YDtcbiAgICBjb25zdCBjbGFzc2VzID0gW0xJU1RfT1BUSU9OX0NMQVNTXTtcbiAgICBsZXQgdGFiaW5kZXggPSBcIi0xXCI7XG4gICAgbGV0IGFyaWFTZWxlY3RlZCA9IFwiZmFsc2VcIjtcblxuICAgIGlmIChvcHRpb25JZCA9PT0gc2VsZWN0ZWRJdGVtSWQpIHtcbiAgICAgIGNsYXNzZXMucHVzaChMSVNUX09QVElPTl9TRUxFQ1RFRF9DTEFTUywgTElTVF9PUFRJT05fRk9DVVNFRF9DTEFTUyk7XG4gICAgICB0YWJpbmRleCA9IFwiMFwiO1xuICAgICAgYXJpYVNlbGVjdGVkID0gXCJ0cnVlXCI7XG4gICAgfVxuXG4gICAgaWYgKCFzZWxlY3RlZEl0ZW1JZCAmJiBpbmRleCA9PT0gMCkge1xuICAgICAgY2xhc3Nlcy5wdXNoKExJU1RfT1BUSU9OX0ZPQ1VTRURfQ0xBU1MpO1xuICAgICAgdGFiaW5kZXggPSBcIjBcIjtcbiAgICB9XG5cbiAgICBjb25zdCBsaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJsaVwiKTtcblxuICAgIGxpLnNldEF0dHJpYnV0ZShcImFyaWEtc2V0c2l6ZVwiLCBvcHRpb25zLmxlbmd0aCk7XG4gICAgbGkuc2V0QXR0cmlidXRlKFwiYXJpYS1wb3NpbnNldFwiLCBpbmRleCArIDEpO1xuICAgIGxpLnNldEF0dHJpYnV0ZShcImFyaWEtc2VsZWN0ZWRcIiwgYXJpYVNlbGVjdGVkKTtcbiAgICBsaS5zZXRBdHRyaWJ1dGUoXCJpZFwiLCBvcHRpb25JZCk7XG4gICAgbGkuc2V0QXR0cmlidXRlKFwiY2xhc3NcIiwgY2xhc3Nlcy5qb2luKFwiIFwiKSk7XG4gICAgbGkuc2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIiwgdGFiaW5kZXgpO1xuICAgIGxpLnNldEF0dHJpYnV0ZShcInJvbGVcIiwgXCJvcHRpb25cIik7XG4gICAgbGkuc2V0QXR0cmlidXRlKFwiZGF0YS12YWx1ZVwiLCBvcHRpb24udmFsdWUpO1xuICAgIGxpLnRleHRDb250ZW50ID0gb3B0aW9uLnRleHQ7XG5cbiAgICByZXR1cm4gbGk7XG4gIH0pO1xuXG4gIGNvbnN0IG5vUmVzdWx0cyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJsaVwiKTtcbiAgbm9SZXN1bHRzLnNldEF0dHJpYnV0ZShcImNsYXNzXCIsIGAke0xJU1RfT1BUSU9OX0NMQVNTfS0tbm8tcmVzdWx0c2ApO1xuICBub1Jlc3VsdHMudGV4dENvbnRlbnQgPSBcIk5vIHJlc3VsdHMgZm91bmRcIjtcblxuICBsaXN0RWwuaGlkZGVuID0gZmFsc2U7XG5cbiAgaWYgKG51bU9wdGlvbnMpIHtcbiAgICBsaXN0RWwuaW5uZXJIVE1MID0gXCJcIjtcbiAgICBvcHRpb25IdG1sLmZvckVhY2goKGl0ZW0pID0+XG4gICAgICBsaXN0RWwuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KFwiYmVmb3JlZW5kXCIsIGl0ZW0pLFxuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgbGlzdEVsLmlubmVySFRNTCA9IFwiXCI7XG4gICAgbGlzdEVsLmluc2VydEFkamFjZW50RWxlbWVudChcImJlZm9yZWVuZFwiLCBub1Jlc3VsdHMpO1xuICB9XG5cbiAgaW5wdXRFbC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWV4cGFuZGVkXCIsIFwidHJ1ZVwiKTtcblxuICBzdGF0dXNFbC50ZXh0Q29udGVudCA9IG51bU9wdGlvbnNcbiAgICA/IGAke251bU9wdGlvbnN9IHJlc3VsdCR7bnVtT3B0aW9ucyA+IDEgPyBcInNcIiA6IFwiXCJ9IGF2YWlsYWJsZS5gXG4gICAgOiBcIk5vIHJlc3VsdHMuXCI7XG5cbiAgbGV0IGl0ZW1Ub0ZvY3VzO1xuXG4gIGlmIChpc1ByaXN0aW5lICYmIHNlbGVjdGVkSXRlbUlkKSB7XG4gICAgaXRlbVRvRm9jdXMgPSBsaXN0RWwucXVlcnlTZWxlY3RvcihgIyR7c2VsZWN0ZWRJdGVtSWR9YCk7XG4gIH0gZWxzZSBpZiAoZGlzYWJsZUZpbHRlcmluZyAmJiBmaXJzdEZvdW5kSWQpIHtcbiAgICBpdGVtVG9Gb2N1cyA9IGxpc3RFbC5xdWVyeVNlbGVjdG9yKGAjJHtmaXJzdEZvdW5kSWR9YCk7XG4gIH1cblxuICBpZiAoaXRlbVRvRm9jdXMpIHtcbiAgICBoaWdobGlnaHRPcHRpb24obGlzdEVsLCBpdGVtVG9Gb2N1cywge1xuICAgICAgc2tpcEZvY3VzOiB0cnVlLFxuICAgIH0pO1xuICB9XG59O1xuXG4vKipcbiAqIEhpZGUgdGhlIG9wdGlvbiBsaXN0IG9mIGEgY29tYm8gYm94IGNvbXBvbmVudC5cbiAqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbCBBbiBlbGVtZW50IHdpdGhpbiB0aGUgY29tYm8gYm94IGNvbXBvbmVudFxuICovXG5jb25zdCBoaWRlTGlzdCA9IChlbCkgPT4ge1xuICBjb25zdCB7IGlucHV0RWwsIGxpc3RFbCwgc3RhdHVzRWwsIGZvY3VzZWRPcHRpb25FbCB9ID0gZ2V0Q29tYm9Cb3hDb250ZXh0KGVsKTtcblxuICBzdGF0dXNFbC5pbm5lckhUTUwgPSBcIlwiO1xuXG4gIGlucHV0RWwuc2V0QXR0cmlidXRlKFwiYXJpYS1leHBhbmRlZFwiLCBcImZhbHNlXCIpO1xuICBpbnB1dEVsLnNldEF0dHJpYnV0ZShcImFyaWEtYWN0aXZlZGVzY2VuZGFudFwiLCBcIlwiKTtcblxuICBpZiAoZm9jdXNlZE9wdGlvbkVsKSB7XG4gICAgZm9jdXNlZE9wdGlvbkVsLmNsYXNzTGlzdC5yZW1vdmUoTElTVF9PUFRJT05fRk9DVVNFRF9DTEFTUyk7XG4gIH1cblxuICBsaXN0RWwuc2Nyb2xsVG9wID0gMDtcbiAgbGlzdEVsLmhpZGRlbiA9IHRydWU7XG59O1xuXG4vKipcbiAqIFNlbGVjdCBhbiBvcHRpb24gbGlzdCBvZiB0aGUgY29tYm8gYm94IGNvbXBvbmVudC5cbiAqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBsaXN0T3B0aW9uRWwgVGhlIGxpc3Qgb3B0aW9uIGJlaW5nIHNlbGVjdGVkXG4gKi9cbmNvbnN0IHNlbGVjdEl0ZW0gPSAobGlzdE9wdGlvbkVsKSA9PiB7XG4gIGNvbnN0IHsgY29tYm9Cb3hFbCwgc2VsZWN0RWwsIGlucHV0RWwgfSA9IGdldENvbWJvQm94Q29udGV4dChsaXN0T3B0aW9uRWwpO1xuXG4gIGNoYW5nZUVsZW1lbnRWYWx1ZShzZWxlY3RFbCwgbGlzdE9wdGlvbkVsLmRhdGFzZXQudmFsdWUpO1xuICBjaGFuZ2VFbGVtZW50VmFsdWUoaW5wdXRFbCwgbGlzdE9wdGlvbkVsLnRleHRDb250ZW50KTtcbiAgY29tYm9Cb3hFbC5jbGFzc0xpc3QuYWRkKENPTUJPX0JPWF9QUklTVElORV9DTEFTUyk7XG4gIGhpZGVMaXN0KGNvbWJvQm94RWwpO1xuICBpbnB1dEVsLmZvY3VzKCk7XG59O1xuXG4vKipcbiAqIENsZWFyIHRoZSBpbnB1dCBvZiB0aGUgY29tYm8gYm94XG4gKlxuICogQHBhcmFtIHtIVE1MQnV0dG9uRWxlbWVudH0gY2xlYXJCdXR0b25FbCBUaGUgY2xlYXIgaW5wdXQgYnV0dG9uXG4gKi9cbmNvbnN0IGNsZWFySW5wdXQgPSAoY2xlYXJCdXR0b25FbCkgPT4ge1xuICBjb25zdCB7IGNvbWJvQm94RWwsIGxpc3RFbCwgc2VsZWN0RWwsIGlucHV0RWwgfSA9XG4gICAgZ2V0Q29tYm9Cb3hDb250ZXh0KGNsZWFyQnV0dG9uRWwpO1xuICBjb25zdCBsaXN0U2hvd24gPSAhbGlzdEVsLmhpZGRlbjtcblxuICBpZiAoc2VsZWN0RWwudmFsdWUpIGNoYW5nZUVsZW1lbnRWYWx1ZShzZWxlY3RFbCk7XG4gIGlmIChpbnB1dEVsLnZhbHVlKSBjaGFuZ2VFbGVtZW50VmFsdWUoaW5wdXRFbCk7XG4gIGNvbWJvQm94RWwuY2xhc3NMaXN0LnJlbW92ZShDT01CT19CT1hfUFJJU1RJTkVfQ0xBU1MpO1xuXG4gIGlmIChsaXN0U2hvd24pIGRpc3BsYXlMaXN0KGNvbWJvQm94RWwpO1xuICBpbnB1dEVsLmZvY3VzKCk7XG59O1xuXG4vKipcbiAqIFJlc2V0IHRoZSBzZWxlY3QgYmFzZWQgb2ZmIG9mIGN1cnJlbnRseSBzZXQgc2VsZWN0IHZhbHVlXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGNvbWJvIGJveCBjb21wb25lbnRcbiAqL1xuY29uc3QgcmVzZXRTZWxlY3Rpb24gPSAoZWwpID0+IHtcbiAgY29uc3QgeyBjb21ib0JveEVsLCBzZWxlY3RFbCwgaW5wdXRFbCB9ID0gZ2V0Q29tYm9Cb3hDb250ZXh0KGVsKTtcblxuICBjb25zdCBzZWxlY3RWYWx1ZSA9IHNlbGVjdEVsLnZhbHVlO1xuICBjb25zdCBpbnB1dFZhbHVlID0gKGlucHV0RWwudmFsdWUgfHwgXCJcIikudG9Mb3dlckNhc2UoKTtcblxuICBpZiAoc2VsZWN0VmFsdWUpIHtcbiAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gc2VsZWN0RWwub3B0aW9ucy5sZW5ndGg7IGkgPCBsZW47IGkgKz0gMSkge1xuICAgICAgY29uc3Qgb3B0aW9uRWwgPSBzZWxlY3RFbC5vcHRpb25zW2ldO1xuICAgICAgaWYgKG9wdGlvbkVsLnZhbHVlID09PSBzZWxlY3RWYWx1ZSkge1xuICAgICAgICBpZiAoaW5wdXRWYWx1ZSAhPT0gb3B0aW9uRWwudGV4dCkge1xuICAgICAgICAgIGNoYW5nZUVsZW1lbnRWYWx1ZShpbnB1dEVsLCBvcHRpb25FbC50ZXh0KTtcbiAgICAgICAgfVxuICAgICAgICBjb21ib0JveEVsLmNsYXNzTGlzdC5hZGQoQ09NQk9fQk9YX1BSSVNUSU5FX0NMQVNTKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChpbnB1dFZhbHVlKSB7XG4gICAgY2hhbmdlRWxlbWVudFZhbHVlKGlucHV0RWwpO1xuICB9XG59O1xuXG4vKipcbiAqIFNlbGVjdCBhbiBvcHRpb24gbGlzdCBvZiB0aGUgY29tYm8gYm94IGNvbXBvbmVudCBiYXNlZCBvZmYgb2ZcbiAqIGhhdmluZyBhIGN1cnJlbnQgZm9jdXNlZCBsaXN0IG9wdGlvbiBvclxuICogaGF2aW5nIHRlc3QgdGhhdCBjb21wbGV0ZWx5IG1hdGNoZXMgYSBsaXN0IG9wdGlvbi5cbiAqIE90aGVyd2lzZSBpdCBjbGVhcnMgdGhlIGlucHV0IGFuZCBzZWxlY3QuXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGNvbWJvIGJveCBjb21wb25lbnRcbiAqL1xuY29uc3QgY29tcGxldGVTZWxlY3Rpb24gPSAoZWwpID0+IHtcbiAgY29uc3QgeyBjb21ib0JveEVsLCBzZWxlY3RFbCwgaW5wdXRFbCwgc3RhdHVzRWwgfSA9IGdldENvbWJvQm94Q29udGV4dChlbCk7XG5cbiAgc3RhdHVzRWwudGV4dENvbnRlbnQgPSBcIlwiO1xuXG4gIGNvbnN0IGlucHV0VmFsdWUgPSAoaW5wdXRFbC52YWx1ZSB8fCBcIlwiKS50b0xvd2VyQ2FzZSgpO1xuXG4gIGlmIChpbnB1dFZhbHVlKSB7XG4gICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IHNlbGVjdEVsLm9wdGlvbnMubGVuZ3RoOyBpIDwgbGVuOyBpICs9IDEpIHtcbiAgICAgIGNvbnN0IG9wdGlvbkVsID0gc2VsZWN0RWwub3B0aW9uc1tpXTtcbiAgICAgIGlmIChvcHRpb25FbC50ZXh0LnRvTG93ZXJDYXNlKCkgPT09IGlucHV0VmFsdWUpIHtcbiAgICAgICAgY2hhbmdlRWxlbWVudFZhbHVlKHNlbGVjdEVsLCBvcHRpb25FbC52YWx1ZSk7XG4gICAgICAgIGNoYW5nZUVsZW1lbnRWYWx1ZShpbnB1dEVsLCBvcHRpb25FbC50ZXh0KTtcbiAgICAgICAgY29tYm9Cb3hFbC5jbGFzc0xpc3QuYWRkKENPTUJPX0JPWF9QUklTVElORV9DTEFTUyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXNldFNlbGVjdGlvbihjb21ib0JveEVsKTtcbn07XG5cbi8qKlxuICogSGFuZGxlIHRoZSBlc2NhcGUgZXZlbnQgd2l0aGluIHRoZSBjb21ibyBib3ggY29tcG9uZW50LlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgQW4gZXZlbnQgd2l0aGluIHRoZSBjb21ibyBib3ggY29tcG9uZW50XG4gKi9cbmNvbnN0IGhhbmRsZUVzY2FwZSA9IChldmVudCkgPT4ge1xuICBjb25zdCB7IGNvbWJvQm94RWwsIGlucHV0RWwgfSA9IGdldENvbWJvQm94Q29udGV4dChldmVudC50YXJnZXQpO1xuXG4gIGhpZGVMaXN0KGNvbWJvQm94RWwpO1xuICByZXNldFNlbGVjdGlvbihjb21ib0JveEVsKTtcbiAgaW5wdXRFbC5mb2N1cygpO1xufTtcblxuLyoqXG4gKiBIYW5kbGUgdGhlIGRvd24gZXZlbnQgd2l0aGluIHRoZSBjb21ibyBib3ggY29tcG9uZW50LlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgQW4gZXZlbnQgd2l0aGluIHRoZSBjb21ibyBib3ggY29tcG9uZW50XG4gKi9cbmNvbnN0IGhhbmRsZURvd25Gcm9tSW5wdXQgPSAoZXZlbnQpID0+IHtcbiAgY29uc3QgeyBjb21ib0JveEVsLCBsaXN0RWwgfSA9IGdldENvbWJvQm94Q29udGV4dChldmVudC50YXJnZXQpO1xuXG4gIGlmIChsaXN0RWwuaGlkZGVuKSB7XG4gICAgZGlzcGxheUxpc3QoY29tYm9Cb3hFbCk7XG4gIH1cblxuICBjb25zdCBuZXh0T3B0aW9uRWwgPVxuICAgIGxpc3RFbC5xdWVyeVNlbGVjdG9yKExJU1RfT1BUSU9OX0ZPQ1VTRUQpIHx8XG4gICAgbGlzdEVsLnF1ZXJ5U2VsZWN0b3IoTElTVF9PUFRJT04pO1xuXG4gIGlmIChuZXh0T3B0aW9uRWwpIHtcbiAgICBoaWdobGlnaHRPcHRpb24oY29tYm9Cb3hFbCwgbmV4dE9wdGlvbkVsKTtcbiAgfVxuXG4gIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG59O1xuXG4vKipcbiAqIEhhbmRsZSB0aGUgZW50ZXIgZXZlbnQgZnJvbSBhbiBpbnB1dCBlbGVtZW50IHdpdGhpbiB0aGUgY29tYm8gYm94IGNvbXBvbmVudC5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IEFuIGV2ZW50IHdpdGhpbiB0aGUgY29tYm8gYm94IGNvbXBvbmVudFxuICovXG5jb25zdCBoYW5kbGVFbnRlckZyb21JbnB1dCA9IChldmVudCkgPT4ge1xuICBjb25zdCB7IGNvbWJvQm94RWwsIGxpc3RFbCB9ID0gZ2V0Q29tYm9Cb3hDb250ZXh0KGV2ZW50LnRhcmdldCk7XG4gIGNvbnN0IGxpc3RTaG93biA9ICFsaXN0RWwuaGlkZGVuO1xuXG4gIGNvbXBsZXRlU2VsZWN0aW9uKGNvbWJvQm94RWwpO1xuXG4gIGlmIChsaXN0U2hvd24pIHtcbiAgICBoaWRlTGlzdChjb21ib0JveEVsKTtcbiAgfVxuXG4gIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG59O1xuXG4vKipcbiAqIEhhbmRsZSB0aGUgZG93biBldmVudCB3aXRoaW4gdGhlIGNvbWJvIGJveCBjb21wb25lbnQuXG4gKlxuICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudCBBbiBldmVudCB3aXRoaW4gdGhlIGNvbWJvIGJveCBjb21wb25lbnRcbiAqL1xuY29uc3QgaGFuZGxlRG93bkZyb21MaXN0T3B0aW9uID0gKGV2ZW50KSA9PiB7XG4gIGNvbnN0IGZvY3VzZWRPcHRpb25FbCA9IGV2ZW50LnRhcmdldDtcbiAgY29uc3QgbmV4dE9wdGlvbkVsID0gZm9jdXNlZE9wdGlvbkVsLm5leHRTaWJsaW5nO1xuXG4gIGlmIChuZXh0T3B0aW9uRWwpIHtcbiAgICBoaWdobGlnaHRPcHRpb24oZm9jdXNlZE9wdGlvbkVsLCBuZXh0T3B0aW9uRWwpO1xuICB9XG5cbiAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbn07XG5cbi8qKlxuICogSGFuZGxlIHRoZSBzcGFjZSBldmVudCBmcm9tIGFuIGxpc3Qgb3B0aW9uIGVsZW1lbnQgd2l0aGluIHRoZSBjb21ibyBib3ggY29tcG9uZW50LlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgQW4gZXZlbnQgd2l0aGluIHRoZSBjb21ibyBib3ggY29tcG9uZW50XG4gKi9cbmNvbnN0IGhhbmRsZVNwYWNlRnJvbUxpc3RPcHRpb24gPSAoZXZlbnQpID0+IHtcbiAgc2VsZWN0SXRlbShldmVudC50YXJnZXQpO1xuICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xufTtcblxuLyoqXG4gKiBIYW5kbGUgdGhlIGVudGVyIGV2ZW50IGZyb20gbGlzdCBvcHRpb24gd2l0aGluIHRoZSBjb21ibyBib3ggY29tcG9uZW50LlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgQW4gZXZlbnQgd2l0aGluIHRoZSBjb21ibyBib3ggY29tcG9uZW50XG4gKi9cbmNvbnN0IGhhbmRsZUVudGVyRnJvbUxpc3RPcHRpb24gPSAoZXZlbnQpID0+IHtcbiAgc2VsZWN0SXRlbShldmVudC50YXJnZXQpO1xuICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xufTtcblxuLyoqXG4gKiBIYW5kbGUgdGhlIHVwIGV2ZW50IGZyb20gbGlzdCBvcHRpb24gd2l0aGluIHRoZSBjb21ibyBib3ggY29tcG9uZW50LlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgQW4gZXZlbnQgd2l0aGluIHRoZSBjb21ibyBib3ggY29tcG9uZW50XG4gKi9cbmNvbnN0IGhhbmRsZVVwRnJvbUxpc3RPcHRpb24gPSAoZXZlbnQpID0+IHtcbiAgY29uc3QgeyBjb21ib0JveEVsLCBsaXN0RWwsIGZvY3VzZWRPcHRpb25FbCB9ID0gZ2V0Q29tYm9Cb3hDb250ZXh0KFxuICAgIGV2ZW50LnRhcmdldCxcbiAgKTtcbiAgY29uc3QgbmV4dE9wdGlvbkVsID0gZm9jdXNlZE9wdGlvbkVsICYmIGZvY3VzZWRPcHRpb25FbC5wcmV2aW91c1NpYmxpbmc7XG4gIGNvbnN0IGxpc3RTaG93biA9ICFsaXN0RWwuaGlkZGVuO1xuXG4gIGhpZ2hsaWdodE9wdGlvbihjb21ib0JveEVsLCBuZXh0T3B0aW9uRWwpO1xuXG4gIGlmIChsaXN0U2hvd24pIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgaWYgKCFuZXh0T3B0aW9uRWwpIHtcbiAgICBoaWRlTGlzdChjb21ib0JveEVsKTtcbiAgfVxufTtcblxuLyoqXG4gKiBTZWxlY3QgbGlzdCBvcHRpb24gb24gdGhlIG1vdXNlb3ZlciBldmVudC5cbiAqXG4gKiBAcGFyYW0ge01vdXNlRXZlbnR9IGV2ZW50IFRoZSBtb3VzZW92ZXIgZXZlbnRcbiAqIEBwYXJhbSB7SFRNTExJRWxlbWVudH0gbGlzdE9wdGlvbkVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBjb21ibyBib3ggY29tcG9uZW50XG4gKi9cbmNvbnN0IGhhbmRsZU1vdXNlb3ZlciA9IChsaXN0T3B0aW9uRWwpID0+IHtcbiAgY29uc3QgaXNDdXJyZW50bHlGb2N1c2VkID0gbGlzdE9wdGlvbkVsLmNsYXNzTGlzdC5jb250YWlucyhcbiAgICBMSVNUX09QVElPTl9GT0NVU0VEX0NMQVNTLFxuICApO1xuXG4gIGlmIChpc0N1cnJlbnRseUZvY3VzZWQpIHJldHVybjtcblxuICBoaWdobGlnaHRPcHRpb24obGlzdE9wdGlvbkVsLCBsaXN0T3B0aW9uRWwsIHtcbiAgICBwcmV2ZW50U2Nyb2xsOiB0cnVlLFxuICB9KTtcbn07XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBsaXN0IHdoZW4gdGhlIGJ1dHRvbiBpcyBjbGlja2VkXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGNvbWJvIGJveCBjb21wb25lbnRcbiAqL1xuY29uc3QgdG9nZ2xlTGlzdCA9IChlbCkgPT4ge1xuICBjb25zdCB7IGNvbWJvQm94RWwsIGxpc3RFbCwgaW5wdXRFbCB9ID0gZ2V0Q29tYm9Cb3hDb250ZXh0KGVsKTtcblxuICBpZiAobGlzdEVsLmhpZGRlbikge1xuICAgIGRpc3BsYXlMaXN0KGNvbWJvQm94RWwpO1xuICB9IGVsc2Uge1xuICAgIGhpZGVMaXN0KGNvbWJvQm94RWwpO1xuICB9XG5cbiAgaW5wdXRFbC5mb2N1cygpO1xufTtcblxuLyoqXG4gKiBIYW5kbGUgY2xpY2sgZnJvbSBpbnB1dFxuICpcbiAqIEBwYXJhbSB7SFRNTElucHV0RWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGNvbWJvIGJveCBjb21wb25lbnRcbiAqL1xuY29uc3QgaGFuZGxlQ2xpY2tGcm9tSW5wdXQgPSAoZWwpID0+IHtcbiAgY29uc3QgeyBjb21ib0JveEVsLCBsaXN0RWwgfSA9IGdldENvbWJvQm94Q29udGV4dChlbCk7XG5cbiAgaWYgKGxpc3RFbC5oaWRkZW4pIHtcbiAgICBkaXNwbGF5TGlzdChjb21ib0JveEVsKTtcbiAgfVxufTtcblxuY29uc3QgY29tYm9Cb3ggPSBiZWhhdmlvcihcbiAge1xuICAgIFtDTElDS106IHtcbiAgICAgIFtJTlBVVF0oKSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG4gICAgICAgIGhhbmRsZUNsaWNrRnJvbUlucHV0KHRoaXMpO1xuICAgICAgfSxcbiAgICAgIFtUT0dHTEVfTElTVF9CVVRUT05dKCkge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuICAgICAgICB0b2dnbGVMaXN0KHRoaXMpO1xuICAgICAgfSxcbiAgICAgIFtMSVNUX09QVElPTl0oKSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG4gICAgICAgIHNlbGVjdEl0ZW0odGhpcyk7XG4gICAgICB9LFxuICAgICAgW0NMRUFSX0lOUFVUX0JVVFRPTl0oKSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG4gICAgICAgIGNsZWFySW5wdXQodGhpcyk7XG4gICAgICB9LFxuICAgIH0sXG4gICAgZm9jdXNvdXQ6IHtcbiAgICAgIFtDT01CT19CT1hdKGV2ZW50KSB7XG4gICAgICAgIGlmICghdGhpcy5jb250YWlucyhldmVudC5yZWxhdGVkVGFyZ2V0KSkge1xuICAgICAgICAgIHJlc2V0U2VsZWN0aW9uKHRoaXMpO1xuICAgICAgICAgIGhpZGVMaXN0KHRoaXMpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0sXG4gICAga2V5ZG93bjoge1xuICAgICAgW0NPTUJPX0JPWF06IGtleW1hcCh7XG4gICAgICAgIEVzY2FwZTogaGFuZGxlRXNjYXBlLFxuICAgICAgfSksXG4gICAgICBbSU5QVVRdOiBrZXltYXAoe1xuICAgICAgICBFbnRlcjogaGFuZGxlRW50ZXJGcm9tSW5wdXQsXG4gICAgICAgIEFycm93RG93bjogaGFuZGxlRG93bkZyb21JbnB1dCxcbiAgICAgICAgRG93bjogaGFuZGxlRG93bkZyb21JbnB1dCxcbiAgICAgIH0pLFxuICAgICAgW0xJU1RfT1BUSU9OXToga2V5bWFwKHtcbiAgICAgICAgQXJyb3dVcDogaGFuZGxlVXBGcm9tTGlzdE9wdGlvbixcbiAgICAgICAgVXA6IGhhbmRsZVVwRnJvbUxpc3RPcHRpb24sXG4gICAgICAgIEFycm93RG93bjogaGFuZGxlRG93bkZyb21MaXN0T3B0aW9uLFxuICAgICAgICBEb3duOiBoYW5kbGVEb3duRnJvbUxpc3RPcHRpb24sXG4gICAgICAgIEVudGVyOiBoYW5kbGVFbnRlckZyb21MaXN0T3B0aW9uLFxuICAgICAgICBcIiBcIjogaGFuZGxlU3BhY2VGcm9tTGlzdE9wdGlvbixcbiAgICAgICAgXCJTaGlmdCtUYWJcIjogbm9vcCxcbiAgICAgIH0pLFxuICAgIH0sXG4gICAgaW5wdXQ6IHtcbiAgICAgIFtJTlBVVF0oKSB7XG4gICAgICAgIGNvbnN0IGNvbWJvQm94RWwgPSB0aGlzLmNsb3Nlc3QoQ09NQk9fQk9YKTtcbiAgICAgICAgY29tYm9Cb3hFbC5jbGFzc0xpc3QucmVtb3ZlKENPTUJPX0JPWF9QUklTVElORV9DTEFTUyk7XG4gICAgICAgIGRpc3BsYXlMaXN0KHRoaXMpO1xuICAgICAgfSxcbiAgICB9LFxuICAgIG1vdXNlb3Zlcjoge1xuICAgICAgW0xJU1RfT1BUSU9OXSgpIHtcbiAgICAgICAgaGFuZGxlTW91c2VvdmVyKHRoaXMpO1xuICAgICAgfSxcbiAgICB9LFxuICB9LFxuICB7XG4gICAgaW5pdChyb290KSB7XG4gICAgICBzZWxlY3RPck1hdGNoZXMoQ09NQk9fQk9YLCByb290KS5mb3JFYWNoKChjb21ib0JveEVsKSA9PiB7XG4gICAgICAgIGVuaGFuY2VDb21ib0JveChjb21ib0JveEVsKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgZ2V0Q29tYm9Cb3hDb250ZXh0LFxuICAgIGVuaGFuY2VDb21ib0JveCxcbiAgICBnZW5lcmF0ZUR5bmFtaWNSZWdFeHAsXG4gICAgZGlzYWJsZSxcbiAgICBlbmFibGUsXG4gICAgZGlzcGxheUxpc3QsXG4gICAgaGlkZUxpc3QsXG4gICAgQ09NQk9fQk9YX0NMQVNTLFxuICB9LFxuKTtcblxubW9kdWxlLmV4cG9ydHMgPSBjb21ib0JveDtcbiIsImNvbnN0IGtleW1hcCA9IHJlcXVpcmUoXCJyZWNlcHRvci9rZXltYXBcIik7XG5jb25zdCBiZWhhdmlvciA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9iZWhhdmlvclwiKTtcbmNvbnN0IHNlbGVjdCA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9zZWxlY3RcIik7XG5jb25zdCBzZWxlY3RPck1hdGNoZXMgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvc2VsZWN0LW9yLW1hdGNoZXNcIik7XG5jb25zdCB7IHByZWZpeDogUFJFRklYIH0gPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvY29uZmlnXCIpO1xuY29uc3QgeyBDTElDSyB9ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL2V2ZW50c1wiKTtcbmNvbnN0IGFjdGl2ZUVsZW1lbnQgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvYWN0aXZlLWVsZW1lbnRcIik7XG5jb25zdCBpc0lvc0RldmljZSA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9pcy1pb3MtZGV2aWNlXCIpO1xuY29uc3QgU2FuaXRpemVyID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3Nhbml0aXplclwiKTtcblxuY29uc3QgREFURV9QSUNLRVJfQ0xBU1MgPSBgJHtQUkVGSVh9LWRhdGUtcGlja2VyYDtcbmNvbnN0IERBVEVfUElDS0VSX1dSQVBQRVJfQ0xBU1MgPSBgJHtEQVRFX1BJQ0tFUl9DTEFTU31fX3dyYXBwZXJgO1xuY29uc3QgREFURV9QSUNLRVJfSU5JVElBTElaRURfQ0xBU1MgPSBgJHtEQVRFX1BJQ0tFUl9DTEFTU30tLWluaXRpYWxpemVkYDtcbmNvbnN0IERBVEVfUElDS0VSX0FDVElWRV9DTEFTUyA9IGAke0RBVEVfUElDS0VSX0NMQVNTfS0tYWN0aXZlYDtcbmNvbnN0IERBVEVfUElDS0VSX0lOVEVSTkFMX0lOUFVUX0NMQVNTID0gYCR7REFURV9QSUNLRVJfQ0xBU1N9X19pbnRlcm5hbC1pbnB1dGA7XG5jb25zdCBEQVRFX1BJQ0tFUl9FWFRFUk5BTF9JTlBVVF9DTEFTUyA9IGAke0RBVEVfUElDS0VSX0NMQVNTfV9fZXh0ZXJuYWwtaW5wdXRgO1xuY29uc3QgREFURV9QSUNLRVJfQlVUVE9OX0NMQVNTID0gYCR7REFURV9QSUNLRVJfQ0xBU1N9X19idXR0b25gO1xuY29uc3QgREFURV9QSUNLRVJfQ0FMRU5EQVJfQ0xBU1MgPSBgJHtEQVRFX1BJQ0tFUl9DTEFTU31fX2NhbGVuZGFyYDtcbmNvbnN0IERBVEVfUElDS0VSX1NUQVRVU19DTEFTUyA9IGAke0RBVEVfUElDS0VSX0NMQVNTfV9fc3RhdHVzYDtcbmNvbnN0IENBTEVOREFSX0RBVEVfQ0xBU1MgPSBgJHtEQVRFX1BJQ0tFUl9DQUxFTkRBUl9DTEFTU31fX2RhdGVgO1xuXG5jb25zdCBDQUxFTkRBUl9EQVRFX0ZPQ1VTRURfQ0xBU1MgPSBgJHtDQUxFTkRBUl9EQVRFX0NMQVNTfS0tZm9jdXNlZGA7XG5jb25zdCBDQUxFTkRBUl9EQVRFX1NFTEVDVEVEX0NMQVNTID0gYCR7Q0FMRU5EQVJfREFURV9DTEFTU30tLXNlbGVjdGVkYDtcbmNvbnN0IENBTEVOREFSX0RBVEVfUFJFVklPVVNfTU9OVEhfQ0xBU1MgPSBgJHtDQUxFTkRBUl9EQVRFX0NMQVNTfS0tcHJldmlvdXMtbW9udGhgO1xuY29uc3QgQ0FMRU5EQVJfREFURV9DVVJSRU5UX01PTlRIX0NMQVNTID0gYCR7Q0FMRU5EQVJfREFURV9DTEFTU30tLWN1cnJlbnQtbW9udGhgO1xuY29uc3QgQ0FMRU5EQVJfREFURV9ORVhUX01PTlRIX0NMQVNTID0gYCR7Q0FMRU5EQVJfREFURV9DTEFTU30tLW5leHQtbW9udGhgO1xuY29uc3QgQ0FMRU5EQVJfREFURV9SQU5HRV9EQVRFX0NMQVNTID0gYCR7Q0FMRU5EQVJfREFURV9DTEFTU30tLXJhbmdlLWRhdGVgO1xuY29uc3QgQ0FMRU5EQVJfREFURV9UT0RBWV9DTEFTUyA9IGAke0NBTEVOREFSX0RBVEVfQ0xBU1N9LS10b2RheWA7XG5jb25zdCBDQUxFTkRBUl9EQVRFX1JBTkdFX0RBVEVfU1RBUlRfQ0xBU1MgPSBgJHtDQUxFTkRBUl9EQVRFX0NMQVNTfS0tcmFuZ2UtZGF0ZS1zdGFydGA7XG5jb25zdCBDQUxFTkRBUl9EQVRFX1JBTkdFX0RBVEVfRU5EX0NMQVNTID0gYCR7Q0FMRU5EQVJfREFURV9DTEFTU30tLXJhbmdlLWRhdGUtZW5kYDtcbmNvbnN0IENBTEVOREFSX0RBVEVfV0lUSElOX1JBTkdFX0NMQVNTID0gYCR7Q0FMRU5EQVJfREFURV9DTEFTU30tLXdpdGhpbi1yYW5nZWA7XG5jb25zdCBDQUxFTkRBUl9QUkVWSU9VU19ZRUFSX0NMQVNTID0gYCR7REFURV9QSUNLRVJfQ0FMRU5EQVJfQ0xBU1N9X19wcmV2aW91cy15ZWFyYDtcbmNvbnN0IENBTEVOREFSX1BSRVZJT1VTX01PTlRIX0NMQVNTID0gYCR7REFURV9QSUNLRVJfQ0FMRU5EQVJfQ0xBU1N9X19wcmV2aW91cy1tb250aGA7XG5jb25zdCBDQUxFTkRBUl9ORVhUX1lFQVJfQ0xBU1MgPSBgJHtEQVRFX1BJQ0tFUl9DQUxFTkRBUl9DTEFTU31fX25leHQteWVhcmA7XG5jb25zdCBDQUxFTkRBUl9ORVhUX01PTlRIX0NMQVNTID0gYCR7REFURV9QSUNLRVJfQ0FMRU5EQVJfQ0xBU1N9X19uZXh0LW1vbnRoYDtcbmNvbnN0IENBTEVOREFSX01PTlRIX1NFTEVDVElPTl9DTEFTUyA9IGAke0RBVEVfUElDS0VSX0NBTEVOREFSX0NMQVNTfV9fbW9udGgtc2VsZWN0aW9uYDtcbmNvbnN0IENBTEVOREFSX1lFQVJfU0VMRUNUSU9OX0NMQVNTID0gYCR7REFURV9QSUNLRVJfQ0FMRU5EQVJfQ0xBU1N9X195ZWFyLXNlbGVjdGlvbmA7XG5jb25zdCBDQUxFTkRBUl9NT05USF9DTEFTUyA9IGAke0RBVEVfUElDS0VSX0NBTEVOREFSX0NMQVNTfV9fbW9udGhgO1xuY29uc3QgQ0FMRU5EQVJfTU9OVEhfRk9DVVNFRF9DTEFTUyA9IGAke0NBTEVOREFSX01PTlRIX0NMQVNTfS0tZm9jdXNlZGA7XG5jb25zdCBDQUxFTkRBUl9NT05USF9TRUxFQ1RFRF9DTEFTUyA9IGAke0NBTEVOREFSX01PTlRIX0NMQVNTfS0tc2VsZWN0ZWRgO1xuY29uc3QgQ0FMRU5EQVJfWUVBUl9DTEFTUyA9IGAke0RBVEVfUElDS0VSX0NBTEVOREFSX0NMQVNTfV9feWVhcmA7XG5jb25zdCBDQUxFTkRBUl9ZRUFSX0ZPQ1VTRURfQ0xBU1MgPSBgJHtDQUxFTkRBUl9ZRUFSX0NMQVNTfS0tZm9jdXNlZGA7XG5jb25zdCBDQUxFTkRBUl9ZRUFSX1NFTEVDVEVEX0NMQVNTID0gYCR7Q0FMRU5EQVJfWUVBUl9DTEFTU30tLXNlbGVjdGVkYDtcbmNvbnN0IENBTEVOREFSX1BSRVZJT1VTX1lFQVJfQ0hVTktfQ0xBU1MgPSBgJHtEQVRFX1BJQ0tFUl9DQUxFTkRBUl9DTEFTU31fX3ByZXZpb3VzLXllYXItY2h1bmtgO1xuY29uc3QgQ0FMRU5EQVJfTkVYVF9ZRUFSX0NIVU5LX0NMQVNTID0gYCR7REFURV9QSUNLRVJfQ0FMRU5EQVJfQ0xBU1N9X19uZXh0LXllYXItY2h1bmtgO1xuY29uc3QgQ0FMRU5EQVJfREFURV9QSUNLRVJfQ0xBU1MgPSBgJHtEQVRFX1BJQ0tFUl9DQUxFTkRBUl9DTEFTU31fX2RhdGUtcGlja2VyYDtcbmNvbnN0IENBTEVOREFSX01PTlRIX1BJQ0tFUl9DTEFTUyA9IGAke0RBVEVfUElDS0VSX0NBTEVOREFSX0NMQVNTfV9fbW9udGgtcGlja2VyYDtcbmNvbnN0IENBTEVOREFSX1lFQVJfUElDS0VSX0NMQVNTID0gYCR7REFURV9QSUNLRVJfQ0FMRU5EQVJfQ0xBU1N9X195ZWFyLXBpY2tlcmA7XG5jb25zdCBDQUxFTkRBUl9UQUJMRV9DTEFTUyA9IGAke0RBVEVfUElDS0VSX0NBTEVOREFSX0NMQVNTfV9fdGFibGVgO1xuY29uc3QgQ0FMRU5EQVJfUk9XX0NMQVNTID0gYCR7REFURV9QSUNLRVJfQ0FMRU5EQVJfQ0xBU1N9X19yb3dgO1xuY29uc3QgQ0FMRU5EQVJfQ0VMTF9DTEFTUyA9IGAke0RBVEVfUElDS0VSX0NBTEVOREFSX0NMQVNTfV9fY2VsbGA7XG5jb25zdCBDQUxFTkRBUl9DRUxMX0NFTlRFUl9JVEVNU19DTEFTUyA9IGAke0NBTEVOREFSX0NFTExfQ0xBU1N9LS1jZW50ZXItaXRlbXNgO1xuY29uc3QgQ0FMRU5EQVJfTU9OVEhfTEFCRUxfQ0xBU1MgPSBgJHtEQVRFX1BJQ0tFUl9DQUxFTkRBUl9DTEFTU31fX21vbnRoLWxhYmVsYDtcbmNvbnN0IENBTEVOREFSX0RBWV9PRl9XRUVLX0NMQVNTID0gYCR7REFURV9QSUNLRVJfQ0FMRU5EQVJfQ0xBU1N9X19kYXktb2Ytd2Vla2A7XG5cbmNvbnN0IERBVEVfUElDS0VSID0gYC4ke0RBVEVfUElDS0VSX0NMQVNTfWA7XG5jb25zdCBEQVRFX1BJQ0tFUl9CVVRUT04gPSBgLiR7REFURV9QSUNLRVJfQlVUVE9OX0NMQVNTfWA7XG5jb25zdCBEQVRFX1BJQ0tFUl9JTlRFUk5BTF9JTlBVVCA9IGAuJHtEQVRFX1BJQ0tFUl9JTlRFUk5BTF9JTlBVVF9DTEFTU31gO1xuY29uc3QgREFURV9QSUNLRVJfRVhURVJOQUxfSU5QVVQgPSBgLiR7REFURV9QSUNLRVJfRVhURVJOQUxfSU5QVVRfQ0xBU1N9YDtcbmNvbnN0IERBVEVfUElDS0VSX0NBTEVOREFSID0gYC4ke0RBVEVfUElDS0VSX0NBTEVOREFSX0NMQVNTfWA7XG5jb25zdCBEQVRFX1BJQ0tFUl9TVEFUVVMgPSBgLiR7REFURV9QSUNLRVJfU1RBVFVTX0NMQVNTfWA7XG5jb25zdCBDQUxFTkRBUl9EQVRFID0gYC4ke0NBTEVOREFSX0RBVEVfQ0xBU1N9YDtcbmNvbnN0IENBTEVOREFSX0RBVEVfRk9DVVNFRCA9IGAuJHtDQUxFTkRBUl9EQVRFX0ZPQ1VTRURfQ0xBU1N9YDtcbmNvbnN0IENBTEVOREFSX0RBVEVfQ1VSUkVOVF9NT05USCA9IGAuJHtDQUxFTkRBUl9EQVRFX0NVUlJFTlRfTU9OVEhfQ0xBU1N9YDtcbmNvbnN0IENBTEVOREFSX1BSRVZJT1VTX1lFQVIgPSBgLiR7Q0FMRU5EQVJfUFJFVklPVVNfWUVBUl9DTEFTU31gO1xuY29uc3QgQ0FMRU5EQVJfUFJFVklPVVNfTU9OVEggPSBgLiR7Q0FMRU5EQVJfUFJFVklPVVNfTU9OVEhfQ0xBU1N9YDtcbmNvbnN0IENBTEVOREFSX05FWFRfWUVBUiA9IGAuJHtDQUxFTkRBUl9ORVhUX1lFQVJfQ0xBU1N9YDtcbmNvbnN0IENBTEVOREFSX05FWFRfTU9OVEggPSBgLiR7Q0FMRU5EQVJfTkVYVF9NT05USF9DTEFTU31gO1xuY29uc3QgQ0FMRU5EQVJfWUVBUl9TRUxFQ1RJT04gPSBgLiR7Q0FMRU5EQVJfWUVBUl9TRUxFQ1RJT05fQ0xBU1N9YDtcbmNvbnN0IENBTEVOREFSX01PTlRIX1NFTEVDVElPTiA9IGAuJHtDQUxFTkRBUl9NT05USF9TRUxFQ1RJT05fQ0xBU1N9YDtcbmNvbnN0IENBTEVOREFSX01PTlRIID0gYC4ke0NBTEVOREFSX01PTlRIX0NMQVNTfWA7XG5jb25zdCBDQUxFTkRBUl9ZRUFSID0gYC4ke0NBTEVOREFSX1lFQVJfQ0xBU1N9YDtcbmNvbnN0IENBTEVOREFSX1BSRVZJT1VTX1lFQVJfQ0hVTksgPSBgLiR7Q0FMRU5EQVJfUFJFVklPVVNfWUVBUl9DSFVOS19DTEFTU31gO1xuY29uc3QgQ0FMRU5EQVJfTkVYVF9ZRUFSX0NIVU5LID0gYC4ke0NBTEVOREFSX05FWFRfWUVBUl9DSFVOS19DTEFTU31gO1xuY29uc3QgQ0FMRU5EQVJfREFURV9QSUNLRVIgPSBgLiR7Q0FMRU5EQVJfREFURV9QSUNLRVJfQ0xBU1N9YDtcbmNvbnN0IENBTEVOREFSX01PTlRIX1BJQ0tFUiA9IGAuJHtDQUxFTkRBUl9NT05USF9QSUNLRVJfQ0xBU1N9YDtcbmNvbnN0IENBTEVOREFSX1lFQVJfUElDS0VSID0gYC4ke0NBTEVOREFSX1lFQVJfUElDS0VSX0NMQVNTfWA7XG5jb25zdCBDQUxFTkRBUl9NT05USF9GT0NVU0VEID0gYC4ke0NBTEVOREFSX01PTlRIX0ZPQ1VTRURfQ0xBU1N9YDtcbmNvbnN0IENBTEVOREFSX1lFQVJfRk9DVVNFRCA9IGAuJHtDQUxFTkRBUl9ZRUFSX0ZPQ1VTRURfQ0xBU1N9YDtcblxuY29uc3QgVkFMSURBVElPTl9NRVNTQUdFID0gXCJQbGVhc2UgZW50ZXIgYSB2YWxpZCBkYXRlXCI7XG5cbmNvbnN0IE1PTlRIX0xBQkVMUyA9IFtcbiAgXCJKYW51YXJ5XCIsXG4gIFwiRmVicnVhcnlcIixcbiAgXCJNYXJjaFwiLFxuICBcIkFwcmlsXCIsXG4gIFwiTWF5XCIsXG4gIFwiSnVuZVwiLFxuICBcIkp1bHlcIixcbiAgXCJBdWd1c3RcIixcbiAgXCJTZXB0ZW1iZXJcIixcbiAgXCJPY3RvYmVyXCIsXG4gIFwiTm92ZW1iZXJcIixcbiAgXCJEZWNlbWJlclwiLFxuXTtcblxuY29uc3QgREFZX09GX1dFRUtfTEFCRUxTID0gW1xuICBcIlN1bmRheVwiLFxuICBcIk1vbmRheVwiLFxuICBcIlR1ZXNkYXlcIixcbiAgXCJXZWRuZXNkYXlcIixcbiAgXCJUaHVyc2RheVwiLFxuICBcIkZyaWRheVwiLFxuICBcIlNhdHVyZGF5XCIsXG5dO1xuXG5jb25zdCBFTlRFUl9LRVlDT0RFID0gMTM7XG5cbmNvbnN0IFlFQVJfQ0hVTksgPSAxMjtcblxuY29uc3QgREVGQVVMVF9NSU5fREFURSA9IFwiMDAwMC0wMS0wMVwiO1xuY29uc3QgREVGQVVMVF9FWFRFUk5BTF9EQVRFX0ZPUk1BVCA9IFwiTU0vREQvWVlZWVwiO1xuY29uc3QgSU5URVJOQUxfREFURV9GT1JNQVQgPSBcIllZWVktTU0tRERcIjtcblxuY29uc3QgTk9UX0RJU0FCTEVEX1NFTEVDVE9SID0gXCI6bm90KFtkaXNhYmxlZF0pXCI7XG5cbmNvbnN0IHByb2Nlc3NGb2N1c2FibGVTZWxlY3RvcnMgPSAoLi4uc2VsZWN0b3JzKSA9PlxuICBzZWxlY3RvcnMubWFwKChxdWVyeSkgPT4gcXVlcnkgKyBOT1RfRElTQUJMRURfU0VMRUNUT1IpLmpvaW4oXCIsIFwiKTtcblxuY29uc3QgREFURV9QSUNLRVJfRk9DVVNBQkxFID0gcHJvY2Vzc0ZvY3VzYWJsZVNlbGVjdG9ycyhcbiAgQ0FMRU5EQVJfUFJFVklPVVNfWUVBUixcbiAgQ0FMRU5EQVJfUFJFVklPVVNfTU9OVEgsXG4gIENBTEVOREFSX1lFQVJfU0VMRUNUSU9OLFxuICBDQUxFTkRBUl9NT05USF9TRUxFQ1RJT04sXG4gIENBTEVOREFSX05FWFRfWUVBUixcbiAgQ0FMRU5EQVJfTkVYVF9NT05USCxcbiAgQ0FMRU5EQVJfREFURV9GT0NVU0VELFxuKTtcblxuY29uc3QgTU9OVEhfUElDS0VSX0ZPQ1VTQUJMRSA9IHByb2Nlc3NGb2N1c2FibGVTZWxlY3RvcnMoXG4gIENBTEVOREFSX01PTlRIX0ZPQ1VTRUQsXG4pO1xuXG5jb25zdCBZRUFSX1BJQ0tFUl9GT0NVU0FCTEUgPSBwcm9jZXNzRm9jdXNhYmxlU2VsZWN0b3JzKFxuICBDQUxFTkRBUl9QUkVWSU9VU19ZRUFSX0NIVU5LLFxuICBDQUxFTkRBUl9ORVhUX1lFQVJfQ0hVTkssXG4gIENBTEVOREFSX1lFQVJfRk9DVVNFRCxcbik7XG5cbi8vICNyZWdpb24gRGF0ZSBNYW5pcHVsYXRpb24gRnVuY3Rpb25zXG5cbi8qKlxuICogS2VlcCBkYXRlIHdpdGhpbiBtb250aC4gTW9udGggd291bGQgb25seSBiZSBvdmVyIGJ5IDEgdG8gMyBkYXlzXG4gKlxuICogQHBhcmFtIHtEYXRlfSBkYXRlVG9DaGVjayB0aGUgZGF0ZSBvYmplY3QgdG8gY2hlY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtb250aCB0aGUgY29ycmVjdCBtb250aFxuICogQHJldHVybnMge0RhdGV9IHRoZSBkYXRlLCBjb3JyZWN0ZWQgaWYgbmVlZGVkXG4gKi9cbmNvbnN0IGtlZXBEYXRlV2l0aGluTW9udGggPSAoZGF0ZVRvQ2hlY2ssIG1vbnRoKSA9PiB7XG4gIGlmIChtb250aCAhPT0gZGF0ZVRvQ2hlY2suZ2V0TW9udGgoKSkge1xuICAgIGRhdGVUb0NoZWNrLnNldERhdGUoMCk7XG4gIH1cblxuICByZXR1cm4gZGF0ZVRvQ2hlY2s7XG59O1xuXG4vKipcbiAqIFNldCBkYXRlIGZyb20gbW9udGggZGF5IHllYXJcbiAqXG4gKiBAcGFyYW0ge251bWJlcn0geWVhciB0aGUgeWVhciB0byBzZXRcbiAqIEBwYXJhbSB7bnVtYmVyfSBtb250aCB0aGUgbW9udGggdG8gc2V0ICh6ZXJvLWluZGV4ZWQpXG4gKiBAcGFyYW0ge251bWJlcn0gZGF0ZSB0aGUgZGF0ZSB0byBzZXRcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgc2V0IGRhdGVcbiAqL1xuY29uc3Qgc2V0RGF0ZSA9ICh5ZWFyLCBtb250aCwgZGF0ZSkgPT4ge1xuICBjb25zdCBuZXdEYXRlID0gbmV3IERhdGUoMCk7XG4gIG5ld0RhdGUuc2V0RnVsbFllYXIoeWVhciwgbW9udGgsIGRhdGUpO1xuICByZXR1cm4gbmV3RGF0ZTtcbn07XG5cbi8qKlxuICogdG9kYXlzIGRhdGVcbiAqXG4gKiBAcmV0dXJucyB7RGF0ZX0gdG9kYXlzIGRhdGVcbiAqL1xuY29uc3QgdG9kYXkgPSAoKSA9PiB7XG4gIGNvbnN0IG5ld0RhdGUgPSBuZXcgRGF0ZSgpO1xuICBjb25zdCBkYXkgPSBuZXdEYXRlLmdldERhdGUoKTtcbiAgY29uc3QgbW9udGggPSBuZXdEYXRlLmdldE1vbnRoKCk7XG4gIGNvbnN0IHllYXIgPSBuZXdEYXRlLmdldEZ1bGxZZWFyKCk7XG4gIHJldHVybiBzZXREYXRlKHllYXIsIG1vbnRoLCBkYXkpO1xufTtcblxuLyoqXG4gKiBTZXQgZGF0ZSB0byBmaXJzdCBkYXkgb2YgdGhlIG1vbnRoXG4gKlxuICogQHBhcmFtIHtudW1iZXJ9IGRhdGUgdGhlIGRhdGUgdG8gYWRqdXN0XG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIGFkanVzdGVkIGRhdGVcbiAqL1xuY29uc3Qgc3RhcnRPZk1vbnRoID0gKGRhdGUpID0+IHtcbiAgY29uc3QgbmV3RGF0ZSA9IG5ldyBEYXRlKDApO1xuICBuZXdEYXRlLnNldEZ1bGxZZWFyKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpLCAxKTtcbiAgcmV0dXJuIG5ld0RhdGU7XG59O1xuXG4vKipcbiAqIFNldCBkYXRlIHRvIGxhc3QgZGF5IG9mIHRoZSBtb250aFxuICpcbiAqIEBwYXJhbSB7bnVtYmVyfSBkYXRlIHRoZSBkYXRlIHRvIGFkanVzdFxuICogQHJldHVybnMge0RhdGV9IHRoZSBhZGp1c3RlZCBkYXRlXG4gKi9cbmNvbnN0IGxhc3REYXlPZk1vbnRoID0gKGRhdGUpID0+IHtcbiAgY29uc3QgbmV3RGF0ZSA9IG5ldyBEYXRlKDApO1xuICBuZXdEYXRlLnNldEZ1bGxZZWFyKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpICsgMSwgMCk7XG4gIHJldHVybiBuZXdEYXRlO1xufTtcblxuLyoqXG4gKiBBZGQgZGF5cyB0byBkYXRlXG4gKlxuICogQHBhcmFtIHtEYXRlfSBfZGF0ZSB0aGUgZGF0ZSB0byBhZGp1c3RcbiAqIEBwYXJhbSB7bnVtYmVyfSBudW1EYXlzIHRoZSBkaWZmZXJlbmNlIGluIGRheXNcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgYWRqdXN0ZWQgZGF0ZVxuICovXG5jb25zdCBhZGREYXlzID0gKF9kYXRlLCBudW1EYXlzKSA9PiB7XG4gIGNvbnN0IG5ld0RhdGUgPSBuZXcgRGF0ZShfZGF0ZS5nZXRUaW1lKCkpO1xuICBuZXdEYXRlLnNldERhdGUobmV3RGF0ZS5nZXREYXRlKCkgKyBudW1EYXlzKTtcbiAgcmV0dXJuIG5ld0RhdGU7XG59O1xuXG4vKipcbiAqIFN1YnRyYWN0IGRheXMgZnJvbSBkYXRlXG4gKlxuICogQHBhcmFtIHtEYXRlfSBfZGF0ZSB0aGUgZGF0ZSB0byBhZGp1c3RcbiAqIEBwYXJhbSB7bnVtYmVyfSBudW1EYXlzIHRoZSBkaWZmZXJlbmNlIGluIGRheXNcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgYWRqdXN0ZWQgZGF0ZVxuICovXG5jb25zdCBzdWJEYXlzID0gKF9kYXRlLCBudW1EYXlzKSA9PiBhZGREYXlzKF9kYXRlLCAtbnVtRGF5cyk7XG5cbi8qKlxuICogQWRkIHdlZWtzIHRvIGRhdGVcbiAqXG4gKiBAcGFyYW0ge0RhdGV9IF9kYXRlIHRoZSBkYXRlIHRvIGFkanVzdFxuICogQHBhcmFtIHtudW1iZXJ9IG51bVdlZWtzIHRoZSBkaWZmZXJlbmNlIGluIHdlZWtzXG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIGFkanVzdGVkIGRhdGVcbiAqL1xuY29uc3QgYWRkV2Vla3MgPSAoX2RhdGUsIG51bVdlZWtzKSA9PiBhZGREYXlzKF9kYXRlLCBudW1XZWVrcyAqIDcpO1xuXG4vKipcbiAqIFN1YnRyYWN0IHdlZWtzIGZyb20gZGF0ZVxuICpcbiAqIEBwYXJhbSB7RGF0ZX0gX2RhdGUgdGhlIGRhdGUgdG8gYWRqdXN0XG4gKiBAcGFyYW0ge251bWJlcn0gbnVtV2Vla3MgdGhlIGRpZmZlcmVuY2UgaW4gd2Vla3NcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgYWRqdXN0ZWQgZGF0ZVxuICovXG5jb25zdCBzdWJXZWVrcyA9IChfZGF0ZSwgbnVtV2Vla3MpID0+IGFkZFdlZWtzKF9kYXRlLCAtbnVtV2Vla3MpO1xuXG4vKipcbiAqIFNldCBkYXRlIHRvIHRoZSBzdGFydCBvZiB0aGUgd2VlayAoU3VuZGF5KVxuICpcbiAqIEBwYXJhbSB7RGF0ZX0gX2RhdGUgdGhlIGRhdGUgdG8gYWRqdXN0XG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIGFkanVzdGVkIGRhdGVcbiAqL1xuY29uc3Qgc3RhcnRPZldlZWsgPSAoX2RhdGUpID0+IHtcbiAgY29uc3QgZGF5T2ZXZWVrID0gX2RhdGUuZ2V0RGF5KCk7XG4gIHJldHVybiBzdWJEYXlzKF9kYXRlLCBkYXlPZldlZWspO1xufTtcblxuLyoqXG4gKiBTZXQgZGF0ZSB0byB0aGUgZW5kIG9mIHRoZSB3ZWVrIChTYXR1cmRheSlcbiAqXG4gKiBAcGFyYW0ge0RhdGV9IF9kYXRlIHRoZSBkYXRlIHRvIGFkanVzdFxuICogQHBhcmFtIHtudW1iZXJ9IG51bVdlZWtzIHRoZSBkaWZmZXJlbmNlIGluIHdlZWtzXG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIGFkanVzdGVkIGRhdGVcbiAqL1xuY29uc3QgZW5kT2ZXZWVrID0gKF9kYXRlKSA9PiB7XG4gIGNvbnN0IGRheU9mV2VlayA9IF9kYXRlLmdldERheSgpO1xuICByZXR1cm4gYWRkRGF5cyhfZGF0ZSwgNiAtIGRheU9mV2Vlayk7XG59O1xuXG4vKipcbiAqIEFkZCBtb250aHMgdG8gZGF0ZSBhbmQga2VlcCBkYXRlIHdpdGhpbiBtb250aFxuICpcbiAqIEBwYXJhbSB7RGF0ZX0gX2RhdGUgdGhlIGRhdGUgdG8gYWRqdXN0XG4gKiBAcGFyYW0ge251bWJlcn0gbnVtTW9udGhzIHRoZSBkaWZmZXJlbmNlIGluIG1vbnRoc1xuICogQHJldHVybnMge0RhdGV9IHRoZSBhZGp1c3RlZCBkYXRlXG4gKi9cbmNvbnN0IGFkZE1vbnRocyA9IChfZGF0ZSwgbnVtTW9udGhzKSA9PiB7XG4gIGNvbnN0IG5ld0RhdGUgPSBuZXcgRGF0ZShfZGF0ZS5nZXRUaW1lKCkpO1xuXG4gIGNvbnN0IGRhdGVNb250aCA9IChuZXdEYXRlLmdldE1vbnRoKCkgKyAxMiArIG51bU1vbnRocykgJSAxMjtcbiAgbmV3RGF0ZS5zZXRNb250aChuZXdEYXRlLmdldE1vbnRoKCkgKyBudW1Nb250aHMpO1xuICBrZWVwRGF0ZVdpdGhpbk1vbnRoKG5ld0RhdGUsIGRhdGVNb250aCk7XG5cbiAgcmV0dXJuIG5ld0RhdGU7XG59O1xuXG4vKipcbiAqIFN1YnRyYWN0IG1vbnRocyBmcm9tIGRhdGVcbiAqXG4gKiBAcGFyYW0ge0RhdGV9IF9kYXRlIHRoZSBkYXRlIHRvIGFkanVzdFxuICogQHBhcmFtIHtudW1iZXJ9IG51bU1vbnRocyB0aGUgZGlmZmVyZW5jZSBpbiBtb250aHNcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgYWRqdXN0ZWQgZGF0ZVxuICovXG5jb25zdCBzdWJNb250aHMgPSAoX2RhdGUsIG51bU1vbnRocykgPT4gYWRkTW9udGhzKF9kYXRlLCAtbnVtTW9udGhzKTtcblxuLyoqXG4gKiBBZGQgeWVhcnMgdG8gZGF0ZSBhbmQga2VlcCBkYXRlIHdpdGhpbiBtb250aFxuICpcbiAqIEBwYXJhbSB7RGF0ZX0gX2RhdGUgdGhlIGRhdGUgdG8gYWRqdXN0XG4gKiBAcGFyYW0ge251bWJlcn0gbnVtWWVhcnMgdGhlIGRpZmZlcmVuY2UgaW4geWVhcnNcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgYWRqdXN0ZWQgZGF0ZVxuICovXG5jb25zdCBhZGRZZWFycyA9IChfZGF0ZSwgbnVtWWVhcnMpID0+IGFkZE1vbnRocyhfZGF0ZSwgbnVtWWVhcnMgKiAxMik7XG5cbi8qKlxuICogU3VidHJhY3QgeWVhcnMgZnJvbSBkYXRlXG4gKlxuICogQHBhcmFtIHtEYXRlfSBfZGF0ZSB0aGUgZGF0ZSB0byBhZGp1c3RcbiAqIEBwYXJhbSB7bnVtYmVyfSBudW1ZZWFycyB0aGUgZGlmZmVyZW5jZSBpbiB5ZWFyc1xuICogQHJldHVybnMge0RhdGV9IHRoZSBhZGp1c3RlZCBkYXRlXG4gKi9cbmNvbnN0IHN1YlllYXJzID0gKF9kYXRlLCBudW1ZZWFycykgPT4gYWRkWWVhcnMoX2RhdGUsIC1udW1ZZWFycyk7XG5cbi8qKlxuICogU2V0IG1vbnRocyBvZiBkYXRlXG4gKlxuICogQHBhcmFtIHtEYXRlfSBfZGF0ZSB0aGUgZGF0ZSB0byBhZGp1c3RcbiAqIEBwYXJhbSB7bnVtYmVyfSBtb250aCB6ZXJvLWluZGV4ZWQgbW9udGggdG8gc2V0XG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIGFkanVzdGVkIGRhdGVcbiAqL1xuY29uc3Qgc2V0TW9udGggPSAoX2RhdGUsIG1vbnRoKSA9PiB7XG4gIGNvbnN0IG5ld0RhdGUgPSBuZXcgRGF0ZShfZGF0ZS5nZXRUaW1lKCkpO1xuXG4gIG5ld0RhdGUuc2V0TW9udGgobW9udGgpO1xuICBrZWVwRGF0ZVdpdGhpbk1vbnRoKG5ld0RhdGUsIG1vbnRoKTtcblxuICByZXR1cm4gbmV3RGF0ZTtcbn07XG5cbi8qKlxuICogU2V0IHllYXIgb2YgZGF0ZVxuICpcbiAqIEBwYXJhbSB7RGF0ZX0gX2RhdGUgdGhlIGRhdGUgdG8gYWRqdXN0XG4gKiBAcGFyYW0ge251bWJlcn0geWVhciB0aGUgeWVhciB0byBzZXRcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgYWRqdXN0ZWQgZGF0ZVxuICovXG5jb25zdCBzZXRZZWFyID0gKF9kYXRlLCB5ZWFyKSA9PiB7XG4gIGNvbnN0IG5ld0RhdGUgPSBuZXcgRGF0ZShfZGF0ZS5nZXRUaW1lKCkpO1xuXG4gIGNvbnN0IG1vbnRoID0gbmV3RGF0ZS5nZXRNb250aCgpO1xuICBuZXdEYXRlLnNldEZ1bGxZZWFyKHllYXIpO1xuICBrZWVwRGF0ZVdpdGhpbk1vbnRoKG5ld0RhdGUsIG1vbnRoKTtcblxuICByZXR1cm4gbmV3RGF0ZTtcbn07XG5cbi8qKlxuICogUmV0dXJuIHRoZSBlYXJsaWVzdCBkYXRlXG4gKlxuICogQHBhcmFtIHtEYXRlfSBkYXRlQSBkYXRlIHRvIGNvbXBhcmVcbiAqIEBwYXJhbSB7RGF0ZX0gZGF0ZUIgZGF0ZSB0byBjb21wYXJlXG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIGVhcmxpZXN0IGRhdGVcbiAqL1xuY29uc3QgbWluID0gKGRhdGVBLCBkYXRlQikgPT4ge1xuICBsZXQgbmV3RGF0ZSA9IGRhdGVBO1xuXG4gIGlmIChkYXRlQiA8IGRhdGVBKSB7XG4gICAgbmV3RGF0ZSA9IGRhdGVCO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBEYXRlKG5ld0RhdGUuZ2V0VGltZSgpKTtcbn07XG5cbi8qKlxuICogUmV0dXJuIHRoZSBsYXRlc3QgZGF0ZVxuICpcbiAqIEBwYXJhbSB7RGF0ZX0gZGF0ZUEgZGF0ZSB0byBjb21wYXJlXG4gKiBAcGFyYW0ge0RhdGV9IGRhdGVCIGRhdGUgdG8gY29tcGFyZVxuICogQHJldHVybnMge0RhdGV9IHRoZSBsYXRlc3QgZGF0ZVxuICovXG5jb25zdCBtYXggPSAoZGF0ZUEsIGRhdGVCKSA9PiB7XG4gIGxldCBuZXdEYXRlID0gZGF0ZUE7XG5cbiAgaWYgKGRhdGVCID4gZGF0ZUEpIHtcbiAgICBuZXdEYXRlID0gZGF0ZUI7XG4gIH1cblxuICByZXR1cm4gbmV3IERhdGUobmV3RGF0ZS5nZXRUaW1lKCkpO1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiBkYXRlcyBhcmUgdGhlIGluIHRoZSBzYW1lIHllYXJcbiAqXG4gKiBAcGFyYW0ge0RhdGV9IGRhdGVBIGRhdGUgdG8gY29tcGFyZVxuICogQHBhcmFtIHtEYXRlfSBkYXRlQiBkYXRlIHRvIGNvbXBhcmVcbiAqIEByZXR1cm5zIHtib29sZWFufSBhcmUgZGF0ZXMgaW4gdGhlIHNhbWUgeWVhclxuICovXG5jb25zdCBpc1NhbWVZZWFyID0gKGRhdGVBLCBkYXRlQikgPT5cbiAgZGF0ZUEgJiYgZGF0ZUIgJiYgZGF0ZUEuZ2V0RnVsbFllYXIoKSA9PT0gZGF0ZUIuZ2V0RnVsbFllYXIoKTtcblxuLyoqXG4gKiBDaGVjayBpZiBkYXRlcyBhcmUgdGhlIGluIHRoZSBzYW1lIG1vbnRoXG4gKlxuICogQHBhcmFtIHtEYXRlfSBkYXRlQSBkYXRlIHRvIGNvbXBhcmVcbiAqIEBwYXJhbSB7RGF0ZX0gZGF0ZUIgZGF0ZSB0byBjb21wYXJlXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gYXJlIGRhdGVzIGluIHRoZSBzYW1lIG1vbnRoXG4gKi9cbmNvbnN0IGlzU2FtZU1vbnRoID0gKGRhdGVBLCBkYXRlQikgPT5cbiAgaXNTYW1lWWVhcihkYXRlQSwgZGF0ZUIpICYmIGRhdGVBLmdldE1vbnRoKCkgPT09IGRhdGVCLmdldE1vbnRoKCk7XG5cbi8qKlxuICogQ2hlY2sgaWYgZGF0ZXMgYXJlIHRoZSBzYW1lIGRhdGVcbiAqXG4gKiBAcGFyYW0ge0RhdGV9IGRhdGVBIHRoZSBkYXRlIHRvIGNvbXBhcmVcbiAqIEBwYXJhbSB7RGF0ZX0gZGF0ZUEgdGhlIGRhdGUgdG8gY29tcGFyZVxuICogQHJldHVybnMge2Jvb2xlYW59IGFyZSBkYXRlcyB0aGUgc2FtZSBkYXRlXG4gKi9cbmNvbnN0IGlzU2FtZURheSA9IChkYXRlQSwgZGF0ZUIpID0+XG4gIGlzU2FtZU1vbnRoKGRhdGVBLCBkYXRlQikgJiYgZGF0ZUEuZ2V0RGF0ZSgpID09PSBkYXRlQi5nZXREYXRlKCk7XG5cbi8qKlxuICogcmV0dXJuIGEgbmV3IGRhdGUgd2l0aGluIG1pbmltdW0gYW5kIG1heGltdW0gZGF0ZVxuICpcbiAqIEBwYXJhbSB7RGF0ZX0gZGF0ZSBkYXRlIHRvIGNoZWNrXG4gKiBAcGFyYW0ge0RhdGV9IG1pbkRhdGUgbWluaW11bSBkYXRlIHRvIGFsbG93XG4gKiBAcGFyYW0ge0RhdGV9IG1heERhdGUgbWF4aW11bSBkYXRlIHRvIGFsbG93XG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIGRhdGUgYmV0d2VlbiBtaW4gYW5kIG1heFxuICovXG5jb25zdCBrZWVwRGF0ZUJldHdlZW5NaW5BbmRNYXggPSAoZGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSkgPT4ge1xuICBsZXQgbmV3RGF0ZSA9IGRhdGU7XG5cbiAgaWYgKGRhdGUgPCBtaW5EYXRlKSB7XG4gICAgbmV3RGF0ZSA9IG1pbkRhdGU7XG4gIH0gZWxzZSBpZiAobWF4RGF0ZSAmJiBkYXRlID4gbWF4RGF0ZSkge1xuICAgIG5ld0RhdGUgPSBtYXhEYXRlO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBEYXRlKG5ld0RhdGUuZ2V0VGltZSgpKTtcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgZGF0ZXMgaXMgdmFsaWQuXG4gKlxuICogQHBhcmFtIHtEYXRlfSBkYXRlIGRhdGUgdG8gY2hlY2tcbiAqIEBwYXJhbSB7RGF0ZX0gbWluRGF0ZSBtaW5pbXVtIGRhdGUgdG8gYWxsb3dcbiAqIEBwYXJhbSB7RGF0ZX0gbWF4RGF0ZSBtYXhpbXVtIGRhdGUgdG8gYWxsb3dcbiAqIEByZXR1cm4ge2Jvb2xlYW59IGlzIHRoZXJlIGEgZGF5IHdpdGhpbiB0aGUgbW9udGggd2l0aGluIG1pbiBhbmQgbWF4IGRhdGVzXG4gKi9cbmNvbnN0IGlzRGF0ZVdpdGhpbk1pbkFuZE1heCA9IChkYXRlLCBtaW5EYXRlLCBtYXhEYXRlKSA9PlxuICBkYXRlID49IG1pbkRhdGUgJiYgKCFtYXhEYXRlIHx8IGRhdGUgPD0gbWF4RGF0ZSk7XG5cbi8qKlxuICogQ2hlY2sgaWYgZGF0ZXMgbW9udGggaXMgaW52YWxpZC5cbiAqXG4gKiBAcGFyYW0ge0RhdGV9IGRhdGUgZGF0ZSB0byBjaGVja1xuICogQHBhcmFtIHtEYXRlfSBtaW5EYXRlIG1pbmltdW0gZGF0ZSB0byBhbGxvd1xuICogQHBhcmFtIHtEYXRlfSBtYXhEYXRlIG1heGltdW0gZGF0ZSB0byBhbGxvd1xuICogQHJldHVybiB7Ym9vbGVhbn0gaXMgdGhlIG1vbnRoIG91dHNpZGUgbWluIG9yIG1heCBkYXRlc1xuICovXG5jb25zdCBpc0RhdGVzTW9udGhPdXRzaWRlTWluT3JNYXggPSAoZGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSkgPT5cbiAgbGFzdERheU9mTW9udGgoZGF0ZSkgPCBtaW5EYXRlIHx8IChtYXhEYXRlICYmIHN0YXJ0T2ZNb250aChkYXRlKSA+IG1heERhdGUpO1xuXG4vKipcbiAqIENoZWNrIGlmIGRhdGVzIHllYXIgaXMgaW52YWxpZC5cbiAqXG4gKiBAcGFyYW0ge0RhdGV9IGRhdGUgZGF0ZSB0byBjaGVja1xuICogQHBhcmFtIHtEYXRlfSBtaW5EYXRlIG1pbmltdW0gZGF0ZSB0byBhbGxvd1xuICogQHBhcmFtIHtEYXRlfSBtYXhEYXRlIG1heGltdW0gZGF0ZSB0byBhbGxvd1xuICogQHJldHVybiB7Ym9vbGVhbn0gaXMgdGhlIG1vbnRoIG91dHNpZGUgbWluIG9yIG1heCBkYXRlc1xuICovXG5jb25zdCBpc0RhdGVzWWVhck91dHNpZGVNaW5Pck1heCA9IChkYXRlLCBtaW5EYXRlLCBtYXhEYXRlKSA9PlxuICBsYXN0RGF5T2ZNb250aChzZXRNb250aChkYXRlLCAxMSkpIDwgbWluRGF0ZSB8fFxuICAobWF4RGF0ZSAmJiBzdGFydE9mTW9udGgoc2V0TW9udGgoZGF0ZSwgMCkpID4gbWF4RGF0ZSk7XG5cbi8qKlxuICogUGFyc2UgYSBkYXRlIHdpdGggZm9ybWF0IE0tRC1ZWVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBkYXRlU3RyaW5nIHRoZSBkYXRlIHN0cmluZyB0byBwYXJzZVxuICogQHBhcmFtIHtzdHJpbmd9IGRhdGVGb3JtYXQgdGhlIGZvcm1hdCBvZiB0aGUgZGF0ZSBzdHJpbmdcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gYWRqdXN0RGF0ZSBzaG91bGQgdGhlIGRhdGUgYmUgYWRqdXN0ZWRcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgcGFyc2VkIGRhdGVcbiAqL1xuY29uc3QgcGFyc2VEYXRlU3RyaW5nID0gKFxuICBkYXRlU3RyaW5nLFxuICBkYXRlRm9ybWF0ID0gSU5URVJOQUxfREFURV9GT1JNQVQsXG4gIGFkanVzdERhdGUgPSBmYWxzZSxcbikgPT4ge1xuICBsZXQgZGF0ZTtcbiAgbGV0IG1vbnRoO1xuICBsZXQgZGF5O1xuICBsZXQgeWVhcjtcbiAgbGV0IHBhcnNlZDtcblxuICBpZiAoZGF0ZVN0cmluZykge1xuICAgIGxldCBtb250aFN0cjtcbiAgICBsZXQgZGF5U3RyO1xuICAgIGxldCB5ZWFyU3RyO1xuXG4gICAgaWYgKGRhdGVGb3JtYXQgPT09IERFRkFVTFRfRVhURVJOQUxfREFURV9GT1JNQVQpIHtcbiAgICAgIFttb250aFN0ciwgZGF5U3RyLCB5ZWFyU3RyXSA9IGRhdGVTdHJpbmcuc3BsaXQoXCIvXCIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBbeWVhclN0ciwgbW9udGhTdHIsIGRheVN0cl0gPSBkYXRlU3RyaW5nLnNwbGl0KFwiLVwiKTtcbiAgICB9XG5cbiAgICBpZiAoeWVhclN0cikge1xuICAgICAgcGFyc2VkID0gcGFyc2VJbnQoeWVhclN0ciwgMTApO1xuICAgICAgaWYgKCFOdW1iZXIuaXNOYU4ocGFyc2VkKSkge1xuICAgICAgICB5ZWFyID0gcGFyc2VkO1xuICAgICAgICBpZiAoYWRqdXN0RGF0ZSkge1xuICAgICAgICAgIHllYXIgPSBNYXRoLm1heCgwLCB5ZWFyKTtcbiAgICAgICAgICBpZiAoeWVhclN0ci5sZW5ndGggPCAzKSB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50WWVhciA9IHRvZGF5KCkuZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRZZWFyU3R1YiA9XG4gICAgICAgICAgICAgIGN1cnJlbnRZZWFyIC0gKGN1cnJlbnRZZWFyICUgMTAgKiogeWVhclN0ci5sZW5ndGgpO1xuICAgICAgICAgICAgeWVhciA9IGN1cnJlbnRZZWFyU3R1YiArIHBhcnNlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobW9udGhTdHIpIHtcbiAgICAgIHBhcnNlZCA9IHBhcnNlSW50KG1vbnRoU3RyLCAxMCk7XG4gICAgICBpZiAoIU51bWJlci5pc05hTihwYXJzZWQpKSB7XG4gICAgICAgIG1vbnRoID0gcGFyc2VkO1xuICAgICAgICBpZiAoYWRqdXN0RGF0ZSkge1xuICAgICAgICAgIG1vbnRoID0gTWF0aC5tYXgoMSwgbW9udGgpO1xuICAgICAgICAgIG1vbnRoID0gTWF0aC5taW4oMTIsIG1vbnRoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChtb250aCAmJiBkYXlTdHIgJiYgeWVhciAhPSBudWxsKSB7XG4gICAgICBwYXJzZWQgPSBwYXJzZUludChkYXlTdHIsIDEwKTtcbiAgICAgIGlmICghTnVtYmVyLmlzTmFOKHBhcnNlZCkpIHtcbiAgICAgICAgZGF5ID0gcGFyc2VkO1xuICAgICAgICBpZiAoYWRqdXN0RGF0ZSkge1xuICAgICAgICAgIGNvbnN0IGxhc3REYXlPZlRoZU1vbnRoID0gc2V0RGF0ZSh5ZWFyLCBtb250aCwgMCkuZ2V0RGF0ZSgpO1xuICAgICAgICAgIGRheSA9IE1hdGgubWF4KDEsIGRheSk7XG4gICAgICAgICAgZGF5ID0gTWF0aC5taW4obGFzdERheU9mVGhlTW9udGgsIGRheSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobW9udGggJiYgZGF5ICYmIHllYXIgIT0gbnVsbCkge1xuICAgICAgZGF0ZSA9IHNldERhdGUoeWVhciwgbW9udGggLSAxLCBkYXkpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkYXRlO1xufTtcblxuLyoqXG4gKiBGb3JtYXQgYSBkYXRlIHRvIGZvcm1hdCBNTS1ERC1ZWVlZXG4gKlxuICogQHBhcmFtIHtEYXRlfSBkYXRlIHRoZSBkYXRlIHRvIGZvcm1hdFxuICogQHBhcmFtIHtzdHJpbmd9IGRhdGVGb3JtYXQgdGhlIGZvcm1hdCBvZiB0aGUgZGF0ZSBzdHJpbmdcbiAqIEByZXR1cm5zIHtzdHJpbmd9IHRoZSBmb3JtYXR0ZWQgZGF0ZSBzdHJpbmdcbiAqL1xuY29uc3QgZm9ybWF0RGF0ZSA9IChkYXRlLCBkYXRlRm9ybWF0ID0gSU5URVJOQUxfREFURV9GT1JNQVQpID0+IHtcbiAgY29uc3QgcGFkWmVyb3MgPSAodmFsdWUsIGxlbmd0aCkgPT4gYDAwMDAke3ZhbHVlfWAuc2xpY2UoLWxlbmd0aCk7XG5cbiAgY29uc3QgbW9udGggPSBkYXRlLmdldE1vbnRoKCkgKyAxO1xuICBjb25zdCBkYXkgPSBkYXRlLmdldERhdGUoKTtcbiAgY29uc3QgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKTtcblxuICBpZiAoZGF0ZUZvcm1hdCA9PT0gREVGQVVMVF9FWFRFUk5BTF9EQVRFX0ZPUk1BVCkge1xuICAgIHJldHVybiBbcGFkWmVyb3MobW9udGgsIDIpLCBwYWRaZXJvcyhkYXksIDIpLCBwYWRaZXJvcyh5ZWFyLCA0KV0uam9pbihcIi9cIik7XG4gIH1cblxuICByZXR1cm4gW3BhZFplcm9zKHllYXIsIDQpLCBwYWRaZXJvcyhtb250aCwgMiksIHBhZFplcm9zKGRheSwgMildLmpvaW4oXCItXCIpO1xufTtcblxuLy8gI2VuZHJlZ2lvbiBEYXRlIE1hbmlwdWxhdGlvbiBGdW5jdGlvbnNcblxuLyoqXG4gKiBDcmVhdGUgYSBncmlkIHN0cmluZyBmcm9tIGFuIGFycmF5IG9mIGh0bWwgc3RyaW5nc1xuICpcbiAqIEBwYXJhbSB7c3RyaW5nW119IGh0bWxBcnJheSB0aGUgYXJyYXkgb2YgaHRtbCBpdGVtc1xuICogQHBhcmFtIHtudW1iZXJ9IHJvd1NpemUgdGhlIGxlbmd0aCBvZiBhIHJvd1xuICogQHJldHVybnMge3N0cmluZ30gdGhlIGdyaWQgc3RyaW5nXG4gKi9cbmNvbnN0IGxpc3RUb0dyaWRIdG1sID0gKGh0bWxBcnJheSwgcm93U2l6ZSkgPT4ge1xuICBjb25zdCBncmlkID0gW107XG4gIGxldCByb3cgPSBbXTtcblxuICBsZXQgaSA9IDA7XG4gIHdoaWxlIChpIDwgaHRtbEFycmF5Lmxlbmd0aCkge1xuICAgIHJvdyA9IFtdO1xuXG4gICAgY29uc3QgdHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidHJcIik7XG4gICAgd2hpbGUgKGkgPCBodG1sQXJyYXkubGVuZ3RoICYmIHJvdy5sZW5ndGggPCByb3dTaXplKSB7XG4gICAgICBjb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJ0ZFwiKTtcbiAgICAgIHRkLmluc2VydEFkamFjZW50RWxlbWVudChcImJlZm9yZWVuZFwiLCBodG1sQXJyYXlbaV0pO1xuICAgICAgcm93LnB1c2godGQpO1xuICAgICAgaSArPSAxO1xuICAgIH1cblxuICAgIHJvdy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XG4gICAgICB0ci5pbnNlcnRBZGphY2VudEVsZW1lbnQoXCJiZWZvcmVlbmRcIiwgZWxlbWVudCk7XG4gICAgfSk7XG5cbiAgICBncmlkLnB1c2godHIpO1xuICB9XG5cbiAgcmV0dXJuIGdyaWQ7XG59O1xuXG5jb25zdCBjcmVhdGVUYWJsZUJvZHkgPSAoZ3JpZCkgPT4ge1xuICBjb25zdCB0YWJsZUJvZHkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidGJvZHlcIik7XG4gIGdyaWQuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgIHRhYmxlQm9keS5pbnNlcnRBZGphY2VudEVsZW1lbnQoXCJiZWZvcmVlbmRcIiwgZWxlbWVudCk7XG4gIH0pO1xuXG4gIHJldHVybiB0YWJsZUJvZHk7XG59O1xuXG4vKipcbiAqIHNldCB0aGUgdmFsdWUgb2YgdGhlIGVsZW1lbnQgYW5kIGRpc3BhdGNoIGEgY2hhbmdlIGV2ZW50XG4gKlxuICogQHBhcmFtIHtIVE1MSW5wdXRFbGVtZW50fSBlbCBUaGUgZWxlbWVudCB0byB1cGRhdGVcbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZSBUaGUgbmV3IHZhbHVlIG9mIHRoZSBlbGVtZW50XG4gKi9cbmNvbnN0IGNoYW5nZUVsZW1lbnRWYWx1ZSA9IChlbCwgdmFsdWUgPSBcIlwiKSA9PiB7XG4gIGNvbnN0IGVsZW1lbnRUb0NoYW5nZSA9IGVsO1xuICBlbGVtZW50VG9DaGFuZ2UudmFsdWUgPSB2YWx1ZTtcblxuICBjb25zdCBldmVudCA9IG5ldyBDdXN0b21FdmVudChcImNoYW5nZVwiLCB7XG4gICAgYnViYmxlczogdHJ1ZSxcbiAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICAgIGRldGFpbDogeyB2YWx1ZSB9LFxuICB9KTtcbiAgZWxlbWVudFRvQ2hhbmdlLmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xufTtcblxuLyoqXG4gKiBUaGUgcHJvcGVydGllcyBhbmQgZWxlbWVudHMgd2l0aGluIHRoZSBkYXRlIHBpY2tlci5cbiAqIEB0eXBlZGVmIHtPYmplY3R9IERhdGVQaWNrZXJDb250ZXh0XG4gKiBAcHJvcGVydHkge0hUTUxEaXZFbGVtZW50fSBjYWxlbmRhckVsXG4gKiBAcHJvcGVydHkge0hUTUxFbGVtZW50fSBkYXRlUGlja2VyRWxcbiAqIEBwcm9wZXJ0eSB7SFRNTElucHV0RWxlbWVudH0gaW50ZXJuYWxJbnB1dEVsXG4gKiBAcHJvcGVydHkge0hUTUxJbnB1dEVsZW1lbnR9IGV4dGVybmFsSW5wdXRFbFxuICogQHByb3BlcnR5IHtIVE1MRGl2RWxlbWVudH0gc3RhdHVzRWxcbiAqIEBwcm9wZXJ0eSB7SFRNTERpdkVsZW1lbnR9IGZpcnN0WWVhckNodW5rRWxcbiAqIEBwcm9wZXJ0eSB7RGF0ZX0gY2FsZW5kYXJEYXRlXG4gKiBAcHJvcGVydHkge0RhdGV9IG1pbkRhdGVcbiAqIEBwcm9wZXJ0eSB7RGF0ZX0gbWF4RGF0ZVxuICogQHByb3BlcnR5IHtEYXRlfSBzZWxlY3RlZERhdGVcbiAqIEBwcm9wZXJ0eSB7RGF0ZX0gcmFuZ2VEYXRlXG4gKiBAcHJvcGVydHkge0RhdGV9IGRlZmF1bHREYXRlXG4gKi9cblxuLyoqXG4gKiBHZXQgYW4gb2JqZWN0IG9mIHRoZSBwcm9wZXJ0aWVzIGFuZCBlbGVtZW50cyBiZWxvbmdpbmcgZGlyZWN0bHkgdG8gdGhlIGdpdmVuXG4gKiBkYXRlIHBpY2tlciBjb21wb25lbnQuXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgdGhlIGVsZW1lbnQgd2l0aGluIHRoZSBkYXRlIHBpY2tlclxuICogQHJldHVybnMge0RhdGVQaWNrZXJDb250ZXh0fSBlbGVtZW50c1xuICovXG5jb25zdCBnZXREYXRlUGlja2VyQ29udGV4dCA9IChlbCkgPT4ge1xuICBjb25zdCBkYXRlUGlja2VyRWwgPSBlbC5jbG9zZXN0KERBVEVfUElDS0VSKTtcblxuICBpZiAoIWRhdGVQaWNrZXJFbCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgRWxlbWVudCBpcyBtaXNzaW5nIG91dGVyICR7REFURV9QSUNLRVJ9YCk7XG4gIH1cblxuICBjb25zdCBpbnRlcm5hbElucHV0RWwgPSBkYXRlUGlja2VyRWwucXVlcnlTZWxlY3RvcihcbiAgICBEQVRFX1BJQ0tFUl9JTlRFUk5BTF9JTlBVVCxcbiAgKTtcbiAgY29uc3QgZXh0ZXJuYWxJbnB1dEVsID0gZGF0ZVBpY2tlckVsLnF1ZXJ5U2VsZWN0b3IoXG4gICAgREFURV9QSUNLRVJfRVhURVJOQUxfSU5QVVQsXG4gICk7XG4gIGNvbnN0IGNhbGVuZGFyRWwgPSBkYXRlUGlja2VyRWwucXVlcnlTZWxlY3RvcihEQVRFX1BJQ0tFUl9DQUxFTkRBUik7XG4gIGNvbnN0IHRvZ2dsZUJ0bkVsID0gZGF0ZVBpY2tlckVsLnF1ZXJ5U2VsZWN0b3IoREFURV9QSUNLRVJfQlVUVE9OKTtcbiAgY29uc3Qgc3RhdHVzRWwgPSBkYXRlUGlja2VyRWwucXVlcnlTZWxlY3RvcihEQVRFX1BJQ0tFUl9TVEFUVVMpO1xuICBjb25zdCBmaXJzdFllYXJDaHVua0VsID0gZGF0ZVBpY2tlckVsLnF1ZXJ5U2VsZWN0b3IoQ0FMRU5EQVJfWUVBUik7XG5cbiAgY29uc3QgaW5wdXREYXRlID0gcGFyc2VEYXRlU3RyaW5nKFxuICAgIGV4dGVybmFsSW5wdXRFbC52YWx1ZSxcbiAgICBERUZBVUxUX0VYVEVSTkFMX0RBVEVfRk9STUFULFxuICAgIHRydWUsXG4gICk7XG4gIGNvbnN0IHNlbGVjdGVkRGF0ZSA9IHBhcnNlRGF0ZVN0cmluZyhpbnRlcm5hbElucHV0RWwudmFsdWUpO1xuXG4gIGNvbnN0IGNhbGVuZGFyRGF0ZSA9IHBhcnNlRGF0ZVN0cmluZyhjYWxlbmRhckVsLmRhdGFzZXQudmFsdWUpO1xuICBjb25zdCBtaW5EYXRlID0gcGFyc2VEYXRlU3RyaW5nKGRhdGVQaWNrZXJFbC5kYXRhc2V0Lm1pbkRhdGUpO1xuICBjb25zdCBtYXhEYXRlID0gcGFyc2VEYXRlU3RyaW5nKGRhdGVQaWNrZXJFbC5kYXRhc2V0Lm1heERhdGUpO1xuICBjb25zdCByYW5nZURhdGUgPSBwYXJzZURhdGVTdHJpbmcoZGF0ZVBpY2tlckVsLmRhdGFzZXQucmFuZ2VEYXRlKTtcbiAgY29uc3QgZGVmYXVsdERhdGUgPSBwYXJzZURhdGVTdHJpbmcoZGF0ZVBpY2tlckVsLmRhdGFzZXQuZGVmYXVsdERhdGUpO1xuXG4gIGlmIChtaW5EYXRlICYmIG1heERhdGUgJiYgbWluRGF0ZSA+IG1heERhdGUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJNaW5pbXVtIGRhdGUgY2Fubm90IGJlIGFmdGVyIG1heGltdW0gZGF0ZVwiKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgY2FsZW5kYXJEYXRlLFxuICAgIG1pbkRhdGUsXG4gICAgdG9nZ2xlQnRuRWwsXG4gICAgc2VsZWN0ZWREYXRlLFxuICAgIG1heERhdGUsXG4gICAgZmlyc3RZZWFyQ2h1bmtFbCxcbiAgICBkYXRlUGlja2VyRWwsXG4gICAgaW5wdXREYXRlLFxuICAgIGludGVybmFsSW5wdXRFbCxcbiAgICBleHRlcm5hbElucHV0RWwsXG4gICAgY2FsZW5kYXJFbCxcbiAgICByYW5nZURhdGUsXG4gICAgZGVmYXVsdERhdGUsXG4gICAgc3RhdHVzRWwsXG4gIH07XG59O1xuXG4vKipcbiAqIERpc2FibGUgdGhlIGRhdGUgcGlja2VyIGNvbXBvbmVudFxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBkYXRlIHBpY2tlciBjb21wb25lbnRcbiAqL1xuY29uc3QgZGlzYWJsZSA9IChlbCkgPT4ge1xuICBjb25zdCB7IGV4dGVybmFsSW5wdXRFbCwgdG9nZ2xlQnRuRWwgfSA9IGdldERhdGVQaWNrZXJDb250ZXh0KGVsKTtcblxuICB0b2dnbGVCdG5FbC5kaXNhYmxlZCA9IHRydWU7XG4gIGV4dGVybmFsSW5wdXRFbC5kaXNhYmxlZCA9IHRydWU7XG59O1xuXG4vKipcbiAqIENoZWNrIGZvciBhcmlhLWRpc2FibGVkIG9uIGluaXRpYWxpemF0aW9uXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGRhdGUgcGlja2VyIGNvbXBvbmVudFxuICovXG5jb25zdCBhcmlhRGlzYWJsZSA9IChlbCkgPT4ge1xuICBjb25zdCB7IGV4dGVybmFsSW5wdXRFbCwgdG9nZ2xlQnRuRWwgfSA9IGdldERhdGVQaWNrZXJDb250ZXh0KGVsKTtcblxuICB0b2dnbGVCdG5FbC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWRpc2FibGVkXCIsIHRydWUpO1xuICBleHRlcm5hbElucHV0RWwuc2V0QXR0cmlidXRlKFwiYXJpYS1kaXNhYmxlZFwiLCB0cnVlKTtcbn07XG5cbi8qKlxuICogRW5hYmxlIHRoZSBkYXRlIHBpY2tlciBjb21wb25lbnRcbiAqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbCBBbiBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKi9cbmNvbnN0IGVuYWJsZSA9IChlbCkgPT4ge1xuICBjb25zdCB7IGV4dGVybmFsSW5wdXRFbCwgdG9nZ2xlQnRuRWwgfSA9IGdldERhdGVQaWNrZXJDb250ZXh0KGVsKTtcblxuICB0b2dnbGVCdG5FbC5kaXNhYmxlZCA9IGZhbHNlO1xuICBleHRlcm5hbElucHV0RWwuZGlzYWJsZWQgPSBmYWxzZTtcbn07XG5cbi8vICNyZWdpb24gVmFsaWRhdGlvblxuXG4vKipcbiAqIFZhbGlkYXRlIHRoZSB2YWx1ZSBpbiB0aGUgaW5wdXQgYXMgYSB2YWxpZCBkYXRlIG9mIGZvcm1hdCBNL0QvWVlZWVxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBkYXRlIHBpY2tlciBjb21wb25lbnRcbiAqL1xuY29uc3QgaXNEYXRlSW5wdXRJbnZhbGlkID0gKGVsKSA9PiB7XG4gIGNvbnN0IHsgZXh0ZXJuYWxJbnB1dEVsLCBtaW5EYXRlLCBtYXhEYXRlIH0gPSBnZXREYXRlUGlja2VyQ29udGV4dChlbCk7XG5cbiAgY29uc3QgZGF0ZVN0cmluZyA9IGV4dGVybmFsSW5wdXRFbC52YWx1ZTtcbiAgbGV0IGlzSW52YWxpZCA9IGZhbHNlO1xuXG4gIGlmIChkYXRlU3RyaW5nKSB7XG4gICAgaXNJbnZhbGlkID0gdHJ1ZTtcblxuICAgIGNvbnN0IGRhdGVTdHJpbmdQYXJ0cyA9IGRhdGVTdHJpbmcuc3BsaXQoXCIvXCIpO1xuICAgIGNvbnN0IFttb250aCwgZGF5LCB5ZWFyXSA9IGRhdGVTdHJpbmdQYXJ0cy5tYXAoKHN0cikgPT4ge1xuICAgICAgbGV0IHZhbHVlO1xuICAgICAgY29uc3QgcGFyc2VkID0gcGFyc2VJbnQoc3RyLCAxMCk7XG4gICAgICBpZiAoIU51bWJlci5pc05hTihwYXJzZWQpKSB2YWx1ZSA9IHBhcnNlZDtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9KTtcblxuICAgIGlmIChtb250aCAmJiBkYXkgJiYgeWVhciAhPSBudWxsKSB7XG4gICAgICBjb25zdCBjaGVja0RhdGUgPSBzZXREYXRlKHllYXIsIG1vbnRoIC0gMSwgZGF5KTtcblxuICAgICAgaWYgKFxuICAgICAgICBjaGVja0RhdGUuZ2V0TW9udGgoKSA9PT0gbW9udGggLSAxICYmXG4gICAgICAgIGNoZWNrRGF0ZS5nZXREYXRlKCkgPT09IGRheSAmJlxuICAgICAgICBjaGVja0RhdGUuZ2V0RnVsbFllYXIoKSA9PT0geWVhciAmJlxuICAgICAgICBkYXRlU3RyaW5nUGFydHNbMl0ubGVuZ3RoID09PSA0ICYmXG4gICAgICAgIGlzRGF0ZVdpdGhpbk1pbkFuZE1heChjaGVja0RhdGUsIG1pbkRhdGUsIG1heERhdGUpXG4gICAgICApIHtcbiAgICAgICAgaXNJbnZhbGlkID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGlzSW52YWxpZDtcbn07XG5cbi8qKlxuICogVmFsaWRhdGUgdGhlIHZhbHVlIGluIHRoZSBpbnB1dCBhcyBhIHZhbGlkIGRhdGUgb2YgZm9ybWF0IE0vRC9ZWVlZXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGRhdGUgcGlja2VyIGNvbXBvbmVudFxuICovXG5jb25zdCB2YWxpZGF0ZURhdGVJbnB1dCA9IChlbCkgPT4ge1xuICBjb25zdCB7IGV4dGVybmFsSW5wdXRFbCB9ID0gZ2V0RGF0ZVBpY2tlckNvbnRleHQoZWwpO1xuICBjb25zdCBpc0ludmFsaWQgPSBpc0RhdGVJbnB1dEludmFsaWQoZXh0ZXJuYWxJbnB1dEVsKTtcblxuICBpZiAoaXNJbnZhbGlkICYmICFleHRlcm5hbElucHV0RWwudmFsaWRhdGlvbk1lc3NhZ2UpIHtcbiAgICBleHRlcm5hbElucHV0RWwuc2V0Q3VzdG9tVmFsaWRpdHkoVkFMSURBVElPTl9NRVNTQUdFKTtcbiAgfVxuXG4gIGlmICghaXNJbnZhbGlkICYmIGV4dGVybmFsSW5wdXRFbC52YWxpZGF0aW9uTWVzc2FnZSA9PT0gVkFMSURBVElPTl9NRVNTQUdFKSB7XG4gICAgZXh0ZXJuYWxJbnB1dEVsLnNldEN1c3RvbVZhbGlkaXR5KFwiXCIpO1xuICB9XG59O1xuXG4vLyAjZW5kcmVnaW9uIFZhbGlkYXRpb25cblxuLyoqXG4gKiBFbmFibGUgdGhlIGRhdGUgcGlja2VyIGNvbXBvbmVudFxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBkYXRlIHBpY2tlciBjb21wb25lbnRcbiAqL1xuY29uc3QgcmVjb25jaWxlSW5wdXRWYWx1ZXMgPSAoZWwpID0+IHtcbiAgY29uc3QgeyBpbnRlcm5hbElucHV0RWwsIGlucHV0RGF0ZSB9ID0gZ2V0RGF0ZVBpY2tlckNvbnRleHQoZWwpO1xuICBsZXQgbmV3VmFsdWUgPSBcIlwiO1xuXG4gIGlmIChpbnB1dERhdGUgJiYgIWlzRGF0ZUlucHV0SW52YWxpZChlbCkpIHtcbiAgICBuZXdWYWx1ZSA9IGZvcm1hdERhdGUoaW5wdXREYXRlKTtcbiAgfVxuXG4gIGlmIChpbnRlcm5hbElucHV0RWwudmFsdWUgIT09IG5ld1ZhbHVlKSB7XG4gICAgY2hhbmdlRWxlbWVudFZhbHVlKGludGVybmFsSW5wdXRFbCwgbmV3VmFsdWUpO1xuICB9XG59O1xuXG4vKipcbiAqIFNlbGVjdCB0aGUgdmFsdWUgb2YgdGhlIGRhdGUgcGlja2VyIGlucHV0cy5cbiAqXG4gKiBAcGFyYW0ge0hUTUxCdXR0b25FbGVtZW50fSBlbCBBbiBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKiBAcGFyYW0ge3N0cmluZ30gZGF0ZVN0cmluZyBUaGUgZGF0ZSBzdHJpbmcgdG8gdXBkYXRlIGluIFlZWVktTU0tREQgZm9ybWF0XG4gKi9cbmNvbnN0IHNldENhbGVuZGFyVmFsdWUgPSAoZWwsIGRhdGVTdHJpbmcpID0+IHtcbiAgY29uc3QgcGFyc2VkRGF0ZSA9IHBhcnNlRGF0ZVN0cmluZyhkYXRlU3RyaW5nKTtcblxuICBpZiAocGFyc2VkRGF0ZSkge1xuICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSBmb3JtYXREYXRlKHBhcnNlZERhdGUsIERFRkFVTFRfRVhURVJOQUxfREFURV9GT1JNQVQpO1xuXG4gICAgY29uc3QgeyBkYXRlUGlja2VyRWwsIGludGVybmFsSW5wdXRFbCwgZXh0ZXJuYWxJbnB1dEVsIH0gPVxuICAgICAgZ2V0RGF0ZVBpY2tlckNvbnRleHQoZWwpO1xuXG4gICAgY2hhbmdlRWxlbWVudFZhbHVlKGludGVybmFsSW5wdXRFbCwgZGF0ZVN0cmluZyk7XG4gICAgY2hhbmdlRWxlbWVudFZhbHVlKGV4dGVybmFsSW5wdXRFbCwgZm9ybWF0dGVkRGF0ZSk7XG5cbiAgICB2YWxpZGF0ZURhdGVJbnB1dChkYXRlUGlja2VyRWwpO1xuICB9XG59O1xuXG4vKipcbiAqIEVuaGFuY2UgYW4gaW5wdXQgd2l0aCB0aGUgZGF0ZSBwaWNrZXIgZWxlbWVudHNcbiAqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbCBUaGUgaW5pdGlhbCB3cmFwcGluZyBlbGVtZW50IG9mIHRoZSBkYXRlIHBpY2tlciBjb21wb25lbnRcbiAqL1xuY29uc3QgZW5oYW5jZURhdGVQaWNrZXIgPSAoZWwpID0+IHtcbiAgY29uc3QgZGF0ZVBpY2tlckVsID0gZWwuY2xvc2VzdChEQVRFX1BJQ0tFUik7XG4gIGNvbnN0IHsgZGVmYXVsdFZhbHVlIH0gPSBkYXRlUGlja2VyRWwuZGF0YXNldDtcblxuICBjb25zdCBpbnRlcm5hbElucHV0RWwgPSBkYXRlUGlja2VyRWwucXVlcnlTZWxlY3RvcihgaW5wdXRgKTtcblxuICBpZiAoIWludGVybmFsSW5wdXRFbCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgJHtEQVRFX1BJQ0tFUn0gaXMgbWlzc2luZyBpbm5lciBpbnB1dGApO1xuICB9XG5cbiAgaWYgKGludGVybmFsSW5wdXRFbC52YWx1ZSkge1xuICAgIGludGVybmFsSW5wdXRFbC52YWx1ZSA9IFwiXCI7XG4gIH1cblxuICBjb25zdCBtaW5EYXRlID0gcGFyc2VEYXRlU3RyaW5nKFxuICAgIGRhdGVQaWNrZXJFbC5kYXRhc2V0Lm1pbkRhdGUgfHwgaW50ZXJuYWxJbnB1dEVsLmdldEF0dHJpYnV0ZShcIm1pblwiKSxcbiAgKTtcbiAgZGF0ZVBpY2tlckVsLmRhdGFzZXQubWluRGF0ZSA9IG1pbkRhdGVcbiAgICA/IGZvcm1hdERhdGUobWluRGF0ZSlcbiAgICA6IERFRkFVTFRfTUlOX0RBVEU7XG5cbiAgY29uc3QgbWF4RGF0ZSA9IHBhcnNlRGF0ZVN0cmluZyhcbiAgICBkYXRlUGlja2VyRWwuZGF0YXNldC5tYXhEYXRlIHx8IGludGVybmFsSW5wdXRFbC5nZXRBdHRyaWJ1dGUoXCJtYXhcIiksXG4gICk7XG4gIGlmIChtYXhEYXRlKSB7XG4gICAgZGF0ZVBpY2tlckVsLmRhdGFzZXQubWF4RGF0ZSA9IGZvcm1hdERhdGUobWF4RGF0ZSk7XG4gIH1cblxuICBjb25zdCBjYWxlbmRhcldyYXBwZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICBjYWxlbmRhcldyYXBwZXIuY2xhc3NMaXN0LmFkZChEQVRFX1BJQ0tFUl9XUkFQUEVSX0NMQVNTKTtcblxuICBjb25zdCBleHRlcm5hbElucHV0RWwgPSBpbnRlcm5hbElucHV0RWwuY2xvbmVOb2RlKCk7XG4gIGV4dGVybmFsSW5wdXRFbC5jbGFzc0xpc3QuYWRkKERBVEVfUElDS0VSX0VYVEVSTkFMX0lOUFVUX0NMQVNTKTtcbiAgZXh0ZXJuYWxJbnB1dEVsLnR5cGUgPSBcInRleHRcIjtcblxuICBjYWxlbmRhcldyYXBwZXIuYXBwZW5kQ2hpbGQoZXh0ZXJuYWxJbnB1dEVsKTtcbiAgY2FsZW5kYXJXcmFwcGVyLmluc2VydEFkamFjZW50SFRNTChcbiAgICBcImJlZm9yZWVuZFwiLFxuICAgIFNhbml0aXplci5lc2NhcGVIVE1MYFxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiJHtEQVRFX1BJQ0tFUl9CVVRUT05fQ0xBU1N9XCIgYXJpYS1oYXNwb3B1cD1cInRydWVcIiBhcmlhLWxhYmVsPVwiVG9nZ2xlIGNhbGVuZGFyXCI+PC9idXR0b24+XG4gICAgPGRpdiBjbGFzcz1cIiR7REFURV9QSUNLRVJfQ0FMRU5EQVJfQ0xBU1N9XCIgcm9sZT1cImFwcGxpY2F0aW9uXCIgaGlkZGVuPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ1c2Etc3Itb25seSAke0RBVEVfUElDS0VSX1NUQVRVU19DTEFTU31cIiByb2xlPVwic3RhdHVzXCIgYXJpYS1saXZlPVwicG9saXRlXCI+PC9kaXY+YCxcbiAgKTtcblxuICBpbnRlcm5hbElucHV0RWwuc2V0QXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIiwgXCJ0cnVlXCIpO1xuICBpbnRlcm5hbElucHV0RWwuc2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIiwgXCItMVwiKTtcbiAgaW50ZXJuYWxJbnB1dEVsLnN0eWxlLmRpc3BsYXkgPSBcIm5vbmVcIjtcbiAgaW50ZXJuYWxJbnB1dEVsLmNsYXNzTGlzdC5hZGQoREFURV9QSUNLRVJfSU5URVJOQUxfSU5QVVRfQ0xBU1MpO1xuICBpbnRlcm5hbElucHV0RWwucmVtb3ZlQXR0cmlidXRlKFwiaWRcIik7XG4gIGludGVybmFsSW5wdXRFbC5yZW1vdmVBdHRyaWJ1dGUoXCJuYW1lXCIpO1xuICBpbnRlcm5hbElucHV0RWwucmVxdWlyZWQgPSBmYWxzZTtcblxuICBkYXRlUGlja2VyRWwuYXBwZW5kQ2hpbGQoY2FsZW5kYXJXcmFwcGVyKTtcbiAgZGF0ZVBpY2tlckVsLmNsYXNzTGlzdC5hZGQoREFURV9QSUNLRVJfSU5JVElBTElaRURfQ0xBU1MpO1xuXG4gIGlmIChkZWZhdWx0VmFsdWUpIHtcbiAgICBzZXRDYWxlbmRhclZhbHVlKGRhdGVQaWNrZXJFbCwgZGVmYXVsdFZhbHVlKTtcbiAgfVxuXG4gIGlmIChpbnRlcm5hbElucHV0RWwuZGlzYWJsZWQpIHtcbiAgICBkaXNhYmxlKGRhdGVQaWNrZXJFbCk7XG4gICAgaW50ZXJuYWxJbnB1dEVsLmRpc2FibGVkID0gZmFsc2U7XG4gIH1cblxuICBpZiAoaW50ZXJuYWxJbnB1dEVsLmhhc0F0dHJpYnV0ZShcImFyaWEtZGlzYWJsZWRcIikpIHtcbiAgICBhcmlhRGlzYWJsZShkYXRlUGlja2VyRWwpO1xuICAgIGludGVybmFsSW5wdXRFbC5yZW1vdmVBdHRyaWJ1dGUoXCJhcmlhLWRpc2FibGVkXCIpO1xuICB9XG59O1xuXG4vLyAjcmVnaW9uIENhbGVuZGFyIC0gRGF0ZSBTZWxlY3Rpb24gVmlld1xuXG4vKipcbiAqIHJlbmRlciB0aGUgY2FsZW5kYXIuXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGRhdGUgcGlja2VyIGNvbXBvbmVudFxuICogQHBhcmFtIHtEYXRlfSBfZGF0ZVRvRGlzcGxheSBhIGRhdGUgdG8gcmVuZGVyIG9uIHRoZSBjYWxlbmRhclxuICogQHJldHVybnMge0hUTUxFbGVtZW50fSBhIHJlZmVyZW5jZSB0byB0aGUgbmV3IGNhbGVuZGFyIGVsZW1lbnRcbiAqL1xuY29uc3QgcmVuZGVyQ2FsZW5kYXIgPSAoZWwsIF9kYXRlVG9EaXNwbGF5KSA9PiB7XG4gIGNvbnN0IHtcbiAgICBkYXRlUGlja2VyRWwsXG4gICAgY2FsZW5kYXJFbCxcbiAgICBzdGF0dXNFbCxcbiAgICBzZWxlY3RlZERhdGUsXG4gICAgbWF4RGF0ZSxcbiAgICBtaW5EYXRlLFxuICAgIHJhbmdlRGF0ZSxcbiAgfSA9IGdldERhdGVQaWNrZXJDb250ZXh0KGVsKTtcbiAgY29uc3QgdG9kYXlzRGF0ZSA9IHRvZGF5KCk7XG4gIGxldCBkYXRlVG9EaXNwbGF5ID0gX2RhdGVUb0Rpc3BsYXkgfHwgdG9kYXlzRGF0ZTtcblxuICBjb25zdCBjYWxlbmRhcldhc0hpZGRlbiA9IGNhbGVuZGFyRWwuaGlkZGVuO1xuXG4gIGNvbnN0IGZvY3VzZWREYXRlID0gYWRkRGF5cyhkYXRlVG9EaXNwbGF5LCAwKTtcbiAgY29uc3QgZm9jdXNlZE1vbnRoID0gZGF0ZVRvRGlzcGxheS5nZXRNb250aCgpO1xuICBjb25zdCBmb2N1c2VkWWVhciA9IGRhdGVUb0Rpc3BsYXkuZ2V0RnVsbFllYXIoKTtcblxuICBjb25zdCBwcmV2TW9udGggPSBzdWJNb250aHMoZGF0ZVRvRGlzcGxheSwgMSk7XG4gIGNvbnN0IG5leHRNb250aCA9IGFkZE1vbnRocyhkYXRlVG9EaXNwbGF5LCAxKTtcblxuICBjb25zdCBjdXJyZW50Rm9ybWF0dGVkRGF0ZSA9IGZvcm1hdERhdGUoZGF0ZVRvRGlzcGxheSk7XG5cbiAgY29uc3QgZmlyc3RPZk1vbnRoID0gc3RhcnRPZk1vbnRoKGRhdGVUb0Rpc3BsYXkpO1xuICBjb25zdCBwcmV2QnV0dG9uc0Rpc2FibGVkID0gaXNTYW1lTW9udGgoZGF0ZVRvRGlzcGxheSwgbWluRGF0ZSk7XG4gIGNvbnN0IG5leHRCdXR0b25zRGlzYWJsZWQgPSBpc1NhbWVNb250aChkYXRlVG9EaXNwbGF5LCBtYXhEYXRlKTtcblxuICBjb25zdCByYW5nZUNvbmNsdXNpb25EYXRlID0gc2VsZWN0ZWREYXRlIHx8IGRhdGVUb0Rpc3BsYXk7XG4gIGNvbnN0IHJhbmdlU3RhcnREYXRlID0gcmFuZ2VEYXRlICYmIG1pbihyYW5nZUNvbmNsdXNpb25EYXRlLCByYW5nZURhdGUpO1xuICBjb25zdCByYW5nZUVuZERhdGUgPSByYW5nZURhdGUgJiYgbWF4KHJhbmdlQ29uY2x1c2lvbkRhdGUsIHJhbmdlRGF0ZSk7XG5cbiAgY29uc3Qgd2l0aGluUmFuZ2VTdGFydERhdGUgPSByYW5nZURhdGUgJiYgYWRkRGF5cyhyYW5nZVN0YXJ0RGF0ZSwgMSk7XG4gIGNvbnN0IHdpdGhpblJhbmdlRW5kRGF0ZSA9IHJhbmdlRGF0ZSAmJiBzdWJEYXlzKHJhbmdlRW5kRGF0ZSwgMSk7XG5cbiAgY29uc3QgbW9udGhMYWJlbCA9IE1PTlRIX0xBQkVMU1tmb2N1c2VkTW9udGhdO1xuXG4gIGNvbnN0IGdlbmVyYXRlRGF0ZUh0bWwgPSAoZGF0ZVRvUmVuZGVyKSA9PiB7XG4gICAgY29uc3QgY2xhc3NlcyA9IFtDQUxFTkRBUl9EQVRFX0NMQVNTXTtcbiAgICBjb25zdCBkYXkgPSBkYXRlVG9SZW5kZXIuZ2V0RGF0ZSgpO1xuICAgIGNvbnN0IG1vbnRoID0gZGF0ZVRvUmVuZGVyLmdldE1vbnRoKCk7XG4gICAgY29uc3QgeWVhciA9IGRhdGVUb1JlbmRlci5nZXRGdWxsWWVhcigpO1xuICAgIGNvbnN0IGRheU9mV2VlayA9IGRhdGVUb1JlbmRlci5nZXREYXkoKTtcblxuICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSBmb3JtYXREYXRlKGRhdGVUb1JlbmRlcik7XG5cbiAgICBsZXQgdGFiaW5kZXggPSBcIi0xXCI7XG5cbiAgICBjb25zdCBpc0Rpc2FibGVkID0gIWlzRGF0ZVdpdGhpbk1pbkFuZE1heChkYXRlVG9SZW5kZXIsIG1pbkRhdGUsIG1heERhdGUpO1xuICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSBpc1NhbWVEYXkoZGF0ZVRvUmVuZGVyLCBzZWxlY3RlZERhdGUpO1xuXG4gICAgaWYgKGlzU2FtZU1vbnRoKGRhdGVUb1JlbmRlciwgcHJldk1vbnRoKSkge1xuICAgICAgY2xhc3Nlcy5wdXNoKENBTEVOREFSX0RBVEVfUFJFVklPVVNfTU9OVEhfQ0xBU1MpO1xuICAgIH1cblxuICAgIGlmIChpc1NhbWVNb250aChkYXRlVG9SZW5kZXIsIGZvY3VzZWREYXRlKSkge1xuICAgICAgY2xhc3Nlcy5wdXNoKENBTEVOREFSX0RBVEVfQ1VSUkVOVF9NT05USF9DTEFTUyk7XG4gICAgfVxuXG4gICAgaWYgKGlzU2FtZU1vbnRoKGRhdGVUb1JlbmRlciwgbmV4dE1vbnRoKSkge1xuICAgICAgY2xhc3Nlcy5wdXNoKENBTEVOREFSX0RBVEVfTkVYVF9NT05USF9DTEFTUyk7XG4gICAgfVxuXG4gICAgaWYgKGlzU2VsZWN0ZWQpIHtcbiAgICAgIGNsYXNzZXMucHVzaChDQUxFTkRBUl9EQVRFX1NFTEVDVEVEX0NMQVNTKTtcbiAgICB9XG5cbiAgICBpZiAoaXNTYW1lRGF5KGRhdGVUb1JlbmRlciwgdG9kYXlzRGF0ZSkpIHtcbiAgICAgIGNsYXNzZXMucHVzaChDQUxFTkRBUl9EQVRFX1RPREFZX0NMQVNTKTtcbiAgICB9XG5cbiAgICBpZiAocmFuZ2VEYXRlKSB7XG4gICAgICBpZiAoaXNTYW1lRGF5KGRhdGVUb1JlbmRlciwgcmFuZ2VEYXRlKSkge1xuICAgICAgICBjbGFzc2VzLnB1c2goQ0FMRU5EQVJfREFURV9SQU5HRV9EQVRFX0NMQVNTKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzU2FtZURheShkYXRlVG9SZW5kZXIsIHJhbmdlU3RhcnREYXRlKSkge1xuICAgICAgICBjbGFzc2VzLnB1c2goQ0FMRU5EQVJfREFURV9SQU5HRV9EQVRFX1NUQVJUX0NMQVNTKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzU2FtZURheShkYXRlVG9SZW5kZXIsIHJhbmdlRW5kRGF0ZSkpIHtcbiAgICAgICAgY2xhc3Nlcy5wdXNoKENBTEVOREFSX0RBVEVfUkFOR0VfREFURV9FTkRfQ0xBU1MpO1xuICAgICAgfVxuXG4gICAgICBpZiAoXG4gICAgICAgIGlzRGF0ZVdpdGhpbk1pbkFuZE1heChcbiAgICAgICAgICBkYXRlVG9SZW5kZXIsXG4gICAgICAgICAgd2l0aGluUmFuZ2VTdGFydERhdGUsXG4gICAgICAgICAgd2l0aGluUmFuZ2VFbmREYXRlLFxuICAgICAgICApXG4gICAgICApIHtcbiAgICAgICAgY2xhc3Nlcy5wdXNoKENBTEVOREFSX0RBVEVfV0lUSElOX1JBTkdFX0NMQVNTKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaXNTYW1lRGF5KGRhdGVUb1JlbmRlciwgZm9jdXNlZERhdGUpKSB7XG4gICAgICB0YWJpbmRleCA9IFwiMFwiO1xuICAgICAgY2xhc3Nlcy5wdXNoKENBTEVOREFSX0RBVEVfRk9DVVNFRF9DTEFTUyk7XG4gICAgfVxuXG4gICAgY29uc3QgbW9udGhTdHIgPSBNT05USF9MQUJFTFNbbW9udGhdO1xuICAgIGNvbnN0IGRheVN0ciA9IERBWV9PRl9XRUVLX0xBQkVMU1tkYXlPZldlZWtdO1xuXG4gICAgY29uc3QgYnRuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiKTtcbiAgICBidG4uc2V0QXR0cmlidXRlKFwidHlwZVwiLCBcImJ1dHRvblwiKTtcbiAgICBidG4uc2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIiwgdGFiaW5kZXgpO1xuICAgIGJ0bi5zZXRBdHRyaWJ1dGUoXCJjbGFzc1wiLCBjbGFzc2VzLmpvaW4oXCIgXCIpKTtcbiAgICBidG4uc2V0QXR0cmlidXRlKFwiZGF0YS1kYXlcIiwgZGF5KTtcbiAgICBidG4uc2V0QXR0cmlidXRlKFwiZGF0YS1tb250aFwiLCBtb250aCArIDEpO1xuICAgIGJ0bi5zZXRBdHRyaWJ1dGUoXCJkYXRhLXllYXJcIiwgeWVhcik7XG4gICAgYnRuLnNldEF0dHJpYnV0ZShcImRhdGEtdmFsdWVcIiwgZm9ybWF0dGVkRGF0ZSk7XG4gICAgYnRuLnNldEF0dHJpYnV0ZShcbiAgICAgIFwiYXJpYS1sYWJlbFwiLFxuICAgICAgU2FuaXRpemVyLmVzY2FwZUhUTUxgJHtkYXl9ICR7bW9udGhTdHJ9ICR7eWVhcn0gJHtkYXlTdHJ9YCxcbiAgICApO1xuICAgIGJ0bi5zZXRBdHRyaWJ1dGUoXCJhcmlhLXNlbGVjdGVkXCIsIGlzU2VsZWN0ZWQgPyBcInRydWVcIiA6IFwiZmFsc2VcIik7XG4gICAgaWYgKGlzRGlzYWJsZWQgPT09IHRydWUpIHtcbiAgICAgIGJ0bi5kaXNhYmxlZCA9IHRydWU7XG4gICAgfVxuICAgIGJ0bi50ZXh0Q29udGVudCA9IGRheTtcblxuICAgIHJldHVybiBidG47XG4gIH07XG5cbiAgLy8gc2V0IGRhdGUgdG8gZmlyc3QgcmVuZGVyZWQgZGF5XG4gIGRhdGVUb0Rpc3BsYXkgPSBzdGFydE9mV2VlayhmaXJzdE9mTW9udGgpO1xuXG4gIGNvbnN0IGRheXMgPSBbXTtcblxuICB3aGlsZSAoXG4gICAgZGF5cy5sZW5ndGggPCAyOCB8fFxuICAgIGRhdGVUb0Rpc3BsYXkuZ2V0TW9udGgoKSA9PT0gZm9jdXNlZE1vbnRoIHx8XG4gICAgZGF5cy5sZW5ndGggJSA3ICE9PSAwXG4gICkge1xuICAgIGRheXMucHVzaChnZW5lcmF0ZURhdGVIdG1sKGRhdGVUb0Rpc3BsYXkpKTtcbiAgICBkYXRlVG9EaXNwbGF5ID0gYWRkRGF5cyhkYXRlVG9EaXNwbGF5LCAxKTtcbiAgfVxuXG4gIGNvbnN0IGRhdGVzR3JpZCA9IGxpc3RUb0dyaWRIdG1sKGRheXMsIDcpO1xuXG4gIGNvbnN0IG5ld0NhbGVuZGFyID0gY2FsZW5kYXJFbC5jbG9uZU5vZGUoKTtcbiAgbmV3Q2FsZW5kYXIuZGF0YXNldC52YWx1ZSA9IGN1cnJlbnRGb3JtYXR0ZWREYXRlO1xuICBuZXdDYWxlbmRhci5zdHlsZS50b3AgPSBgJHtkYXRlUGlja2VyRWwub2Zmc2V0SGVpZ2h0fXB4YDtcbiAgbmV3Q2FsZW5kYXIuaGlkZGVuID0gZmFsc2U7XG4gIG5ld0NhbGVuZGFyLmlubmVySFRNTCA9IFNhbml0aXplci5lc2NhcGVIVE1MYFxuICAgIDxkaXYgdGFiaW5kZXg9XCItMVwiIGNsYXNzPVwiJHtDQUxFTkRBUl9EQVRFX1BJQ0tFUl9DTEFTU31cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCIke0NBTEVOREFSX1JPV19DTEFTU31cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIiR7Q0FMRU5EQVJfQ0VMTF9DTEFTU30gJHtDQUxFTkRBUl9DRUxMX0NFTlRFUl9JVEVNU19DTEFTU31cIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiJHtDQUxFTkRBUl9QUkVWSU9VU19ZRUFSX0NMQVNTfVwiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiTmF2aWdhdGUgYmFjayBvbmUgeWVhclwiXG4gICAgICAgICAgICAke3ByZXZCdXR0b25zRGlzYWJsZWQgPyBgZGlzYWJsZWQ9XCJkaXNhYmxlZFwiYCA6IFwiXCJ9XG4gICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIiR7Q0FMRU5EQVJfQ0VMTF9DTEFTU30gJHtDQUxFTkRBUl9DRUxMX0NFTlRFUl9JVEVNU19DTEFTU31cIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiJHtDQUxFTkRBUl9QUkVWSU9VU19NT05USF9DTEFTU31cIlxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIk5hdmlnYXRlIGJhY2sgb25lIG1vbnRoXCJcbiAgICAgICAgICAgICR7cHJldkJ1dHRvbnNEaXNhYmxlZCA/IGBkaXNhYmxlZD1cImRpc2FibGVkXCJgIDogXCJcIn1cbiAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiJHtDQUxFTkRBUl9DRUxMX0NMQVNTfSAke0NBTEVOREFSX01PTlRIX0xBQkVMX0NMQVNTfVwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCIke0NBTEVOREFSX01PTlRIX1NFTEVDVElPTl9DTEFTU31cIiBhcmlhLWxhYmVsPVwiJHttb250aExhYmVsfS4gU2VsZWN0IG1vbnRoXCJcbiAgICAgICAgICA+JHttb250aExhYmVsfTwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCIke0NBTEVOREFSX1lFQVJfU0VMRUNUSU9OX0NMQVNTfVwiIGFyaWEtbGFiZWw9XCIke2ZvY3VzZWRZZWFyfS4gU2VsZWN0IHllYXJcIlxuICAgICAgICAgID4ke2ZvY3VzZWRZZWFyfTwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIiR7Q0FMRU5EQVJfQ0VMTF9DTEFTU30gJHtDQUxFTkRBUl9DRUxMX0NFTlRFUl9JVEVNU19DTEFTU31cIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiJHtDQUxFTkRBUl9ORVhUX01PTlRIX0NMQVNTfVwiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiTmF2aWdhdGUgZm9yd2FyZCBvbmUgbW9udGhcIlxuICAgICAgICAgICAgJHtuZXh0QnV0dG9uc0Rpc2FibGVkID8gYGRpc2FibGVkPVwiZGlzYWJsZWRcImAgOiBcIlwifVxuICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCIke0NBTEVOREFSX0NFTExfQ0xBU1N9ICR7Q0FMRU5EQVJfQ0VMTF9DRU5URVJfSVRFTVNfQ0xBU1N9XCI+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cIiR7Q0FMRU5EQVJfTkVYVF9ZRUFSX0NMQVNTfVwiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiTmF2aWdhdGUgZm9yd2FyZCBvbmUgeWVhclwiXG4gICAgICAgICAgICAke25leHRCdXR0b25zRGlzYWJsZWQgPyBgZGlzYWJsZWQ9XCJkaXNhYmxlZFwiYCA6IFwiXCJ9XG4gICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIGA7XG5cbiAgY29uc3QgdGFibGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidGFibGVcIik7XG4gIHRhYmxlLnNldEF0dHJpYnV0ZShcImNsYXNzXCIsIENBTEVOREFSX1RBQkxFX0NMQVNTKTtcblxuICBjb25zdCB0YWJsZUhlYWQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidGhlYWRcIik7XG4gIHRhYmxlLmluc2VydEFkamFjZW50RWxlbWVudChcImJlZm9yZWVuZFwiLCB0YWJsZUhlYWQpO1xuICBjb25zdCB0YWJsZUhlYWRSb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidHJcIik7XG4gIHRhYmxlSGVhZC5pbnNlcnRBZGphY2VudEVsZW1lbnQoXCJiZWZvcmVlbmRcIiwgdGFibGVIZWFkUm93KTtcblxuICBjb25zdCBkYXlzT2ZXZWVrID0ge1xuICAgIFN1bmRheTogXCJTXCIsXG4gICAgTW9uZGF5OiBcIk1cIixcbiAgICBUdWVzZGF5OiBcIlRcIixcbiAgICBXZWRuZXNkYXk6IFwiV1wiLFxuICAgIFRodXJzZGF5OiBcIlRoXCIsXG4gICAgRnJpZGF5OiBcIkZyXCIsXG4gICAgU2F0dXJkYXk6IFwiU1wiLFxuICB9O1xuXG4gIE9iamVjdC5rZXlzKGRheXNPZldlZWspLmZvckVhY2goKGtleSkgPT4ge1xuICAgIGNvbnN0IHRoID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInRoXCIpO1xuICAgIHRoLnNldEF0dHJpYnV0ZShcImNsYXNzXCIsIENBTEVOREFSX0RBWV9PRl9XRUVLX0NMQVNTKTtcbiAgICB0aC5zZXRBdHRyaWJ1dGUoXCJzY29wZVwiLCBcImNvbFwiKTtcbiAgICB0aC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWxhYmVsXCIsIGtleSk7XG4gICAgdGgudGV4dENvbnRlbnQgPSBkYXlzT2ZXZWVrW2tleV07XG4gICAgdGFibGVIZWFkUm93Lmluc2VydEFkamFjZW50RWxlbWVudChcImJlZm9yZWVuZFwiLCB0aCk7XG4gIH0pO1xuXG4gIGNvbnN0IHRhYmxlQm9keSA9IGNyZWF0ZVRhYmxlQm9keShkYXRlc0dyaWQpO1xuICB0YWJsZS5pbnNlcnRBZGphY2VudEVsZW1lbnQoXCJiZWZvcmVlbmRcIiwgdGFibGVCb2R5KTtcblxuICAvLyBDb250YWluZXIgZm9yIFllYXJzLCBNb250aHMsIGFuZCBEYXlzXG4gIGNvbnN0IGRhdGVQaWNrZXJDYWxlbmRhckNvbnRhaW5lciA9XG4gICAgbmV3Q2FsZW5kYXIucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9EQVRFX1BJQ0tFUik7XG5cbiAgZGF0ZVBpY2tlckNhbGVuZGFyQ29udGFpbmVyLmluc2VydEFkamFjZW50RWxlbWVudChcImJlZm9yZWVuZFwiLCB0YWJsZSk7XG5cbiAgY2FsZW5kYXJFbC5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChuZXdDYWxlbmRhciwgY2FsZW5kYXJFbCk7XG5cbiAgZGF0ZVBpY2tlckVsLmNsYXNzTGlzdC5hZGQoREFURV9QSUNLRVJfQUNUSVZFX0NMQVNTKTtcblxuICBjb25zdCBzdGF0dXNlcyA9IFtdO1xuXG4gIGlmIChpc1NhbWVEYXkoc2VsZWN0ZWREYXRlLCBmb2N1c2VkRGF0ZSkpIHtcbiAgICBzdGF0dXNlcy5wdXNoKFwiU2VsZWN0ZWQgZGF0ZVwiKTtcbiAgfVxuXG4gIGlmIChjYWxlbmRhcldhc0hpZGRlbikge1xuICAgIHN0YXR1c2VzLnB1c2goXG4gICAgICBcIllvdSBjYW4gbmF2aWdhdGUgYnkgZGF5IHVzaW5nIGxlZnQgYW5kIHJpZ2h0IGFycm93c1wiLFxuICAgICAgXCJXZWVrcyBieSB1c2luZyB1cCBhbmQgZG93biBhcnJvd3NcIixcbiAgICAgIFwiTW9udGhzIGJ5IHVzaW5nIHBhZ2UgdXAgYW5kIHBhZ2UgZG93biBrZXlzXCIsXG4gICAgICBcIlllYXJzIGJ5IHVzaW5nIHNoaWZ0IHBsdXMgcGFnZSB1cCBhbmQgc2hpZnQgcGx1cyBwYWdlIGRvd25cIixcbiAgICAgIFwiSG9tZSBhbmQgZW5kIGtleXMgbmF2aWdhdGUgdG8gdGhlIGJlZ2lubmluZyBhbmQgZW5kIG9mIGEgd2Vla1wiLFxuICAgICk7XG4gICAgc3RhdHVzRWwudGV4dENvbnRlbnQgPSBcIlwiO1xuICB9IGVsc2Uge1xuICAgIHN0YXR1c2VzLnB1c2goYCR7bW9udGhMYWJlbH0gJHtmb2N1c2VkWWVhcn1gKTtcbiAgfVxuICBzdGF0dXNFbC50ZXh0Q29udGVudCA9IHN0YXR1c2VzLmpvaW4oXCIuIFwiKTtcblxuICByZXR1cm4gbmV3Q2FsZW5kYXI7XG59O1xuXG4vKipcbiAqIE5hdmlnYXRlIGJhY2sgb25lIHllYXIgYW5kIGRpc3BsYXkgdGhlIGNhbGVuZGFyLlxuICpcbiAqIEBwYXJhbSB7SFRNTEJ1dHRvbkVsZW1lbnR9IF9idXR0b25FbCBBbiBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKi9cbmNvbnN0IGRpc3BsYXlQcmV2aW91c1llYXIgPSAoX2J1dHRvbkVsKSA9PiB7XG4gIGlmIChfYnV0dG9uRWwuZGlzYWJsZWQpIHJldHVybjtcbiAgY29uc3QgeyBjYWxlbmRhckVsLCBjYWxlbmRhckRhdGUsIG1pbkRhdGUsIG1heERhdGUgfSA9XG4gICAgZ2V0RGF0ZVBpY2tlckNvbnRleHQoX2J1dHRvbkVsKTtcbiAgbGV0IGRhdGUgPSBzdWJZZWFycyhjYWxlbmRhckRhdGUsIDEpO1xuICBkYXRlID0ga2VlcERhdGVCZXR3ZWVuTWluQW5kTWF4KGRhdGUsIG1pbkRhdGUsIG1heERhdGUpO1xuICBjb25zdCBuZXdDYWxlbmRhciA9IHJlbmRlckNhbGVuZGFyKGNhbGVuZGFyRWwsIGRhdGUpO1xuXG4gIGxldCBuZXh0VG9Gb2N1cyA9IG5ld0NhbGVuZGFyLnF1ZXJ5U2VsZWN0b3IoQ0FMRU5EQVJfUFJFVklPVVNfWUVBUik7XG4gIGlmIChuZXh0VG9Gb2N1cy5kaXNhYmxlZCkge1xuICAgIG5leHRUb0ZvY3VzID0gbmV3Q2FsZW5kYXIucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9EQVRFX1BJQ0tFUik7XG4gIH1cbiAgbmV4dFRvRm9jdXMuZm9jdXMoKTtcbn07XG5cbi8qKlxuICogTmF2aWdhdGUgYmFjayBvbmUgbW9udGggYW5kIGRpc3BsYXkgdGhlIGNhbGVuZGFyLlxuICpcbiAqIEBwYXJhbSB7SFRNTEJ1dHRvbkVsZW1lbnR9IF9idXR0b25FbCBBbiBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKi9cbmNvbnN0IGRpc3BsYXlQcmV2aW91c01vbnRoID0gKF9idXR0b25FbCkgPT4ge1xuICBpZiAoX2J1dHRvbkVsLmRpc2FibGVkKSByZXR1cm47XG4gIGNvbnN0IHsgY2FsZW5kYXJFbCwgY2FsZW5kYXJEYXRlLCBtaW5EYXRlLCBtYXhEYXRlIH0gPVxuICAgIGdldERhdGVQaWNrZXJDb250ZXh0KF9idXR0b25FbCk7XG4gIGxldCBkYXRlID0gc3ViTW9udGhzKGNhbGVuZGFyRGF0ZSwgMSk7XG4gIGRhdGUgPSBrZWVwRGF0ZUJldHdlZW5NaW5BbmRNYXgoZGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSk7XG4gIGNvbnN0IG5ld0NhbGVuZGFyID0gcmVuZGVyQ2FsZW5kYXIoY2FsZW5kYXJFbCwgZGF0ZSk7XG5cbiAgbGV0IG5leHRUb0ZvY3VzID0gbmV3Q2FsZW5kYXIucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9QUkVWSU9VU19NT05USCk7XG4gIGlmIChuZXh0VG9Gb2N1cy5kaXNhYmxlZCkge1xuICAgIG5leHRUb0ZvY3VzID0gbmV3Q2FsZW5kYXIucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9EQVRFX1BJQ0tFUik7XG4gIH1cbiAgbmV4dFRvRm9jdXMuZm9jdXMoKTtcbn07XG5cbi8qKlxuICogTmF2aWdhdGUgZm9yd2FyZCBvbmUgbW9udGggYW5kIGRpc3BsYXkgdGhlIGNhbGVuZGFyLlxuICpcbiAqIEBwYXJhbSB7SFRNTEJ1dHRvbkVsZW1lbnR9IF9idXR0b25FbCBBbiBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKi9cbmNvbnN0IGRpc3BsYXlOZXh0TW9udGggPSAoX2J1dHRvbkVsKSA9PiB7XG4gIGlmIChfYnV0dG9uRWwuZGlzYWJsZWQpIHJldHVybjtcbiAgY29uc3QgeyBjYWxlbmRhckVsLCBjYWxlbmRhckRhdGUsIG1pbkRhdGUsIG1heERhdGUgfSA9XG4gICAgZ2V0RGF0ZVBpY2tlckNvbnRleHQoX2J1dHRvbkVsKTtcbiAgbGV0IGRhdGUgPSBhZGRNb250aHMoY2FsZW5kYXJEYXRlLCAxKTtcbiAgZGF0ZSA9IGtlZXBEYXRlQmV0d2Vlbk1pbkFuZE1heChkYXRlLCBtaW5EYXRlLCBtYXhEYXRlKTtcbiAgY29uc3QgbmV3Q2FsZW5kYXIgPSByZW5kZXJDYWxlbmRhcihjYWxlbmRhckVsLCBkYXRlKTtcblxuICBsZXQgbmV4dFRvRm9jdXMgPSBuZXdDYWxlbmRhci5xdWVyeVNlbGVjdG9yKENBTEVOREFSX05FWFRfTU9OVEgpO1xuICBpZiAobmV4dFRvRm9jdXMuZGlzYWJsZWQpIHtcbiAgICBuZXh0VG9Gb2N1cyA9IG5ld0NhbGVuZGFyLnF1ZXJ5U2VsZWN0b3IoQ0FMRU5EQVJfREFURV9QSUNLRVIpO1xuICB9XG4gIG5leHRUb0ZvY3VzLmZvY3VzKCk7XG59O1xuXG4vKipcbiAqIE5hdmlnYXRlIGZvcndhcmQgb25lIHllYXIgYW5kIGRpc3BsYXkgdGhlIGNhbGVuZGFyLlxuICpcbiAqIEBwYXJhbSB7SFRNTEJ1dHRvbkVsZW1lbnR9IF9idXR0b25FbCBBbiBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKi9cbmNvbnN0IGRpc3BsYXlOZXh0WWVhciA9IChfYnV0dG9uRWwpID0+IHtcbiAgaWYgKF9idXR0b25FbC5kaXNhYmxlZCkgcmV0dXJuO1xuICBjb25zdCB7IGNhbGVuZGFyRWwsIGNhbGVuZGFyRGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSB9ID1cbiAgICBnZXREYXRlUGlja2VyQ29udGV4dChfYnV0dG9uRWwpO1xuICBsZXQgZGF0ZSA9IGFkZFllYXJzKGNhbGVuZGFyRGF0ZSwgMSk7XG4gIGRhdGUgPSBrZWVwRGF0ZUJldHdlZW5NaW5BbmRNYXgoZGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSk7XG4gIGNvbnN0IG5ld0NhbGVuZGFyID0gcmVuZGVyQ2FsZW5kYXIoY2FsZW5kYXJFbCwgZGF0ZSk7XG5cbiAgbGV0IG5leHRUb0ZvY3VzID0gbmV3Q2FsZW5kYXIucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9ORVhUX1lFQVIpO1xuICBpZiAobmV4dFRvRm9jdXMuZGlzYWJsZWQpIHtcbiAgICBuZXh0VG9Gb2N1cyA9IG5ld0NhbGVuZGFyLnF1ZXJ5U2VsZWN0b3IoQ0FMRU5EQVJfREFURV9QSUNLRVIpO1xuICB9XG4gIG5leHRUb0ZvY3VzLmZvY3VzKCk7XG59O1xuXG4vKipcbiAqIEhpZGUgdGhlIGNhbGVuZGFyIG9mIGEgZGF0ZSBwaWNrZXIgY29tcG9uZW50LlxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBkYXRlIHBpY2tlciBjb21wb25lbnRcbiAqL1xuY29uc3QgaGlkZUNhbGVuZGFyID0gKGVsKSA9PiB7XG4gIGNvbnN0IHsgZGF0ZVBpY2tlckVsLCBjYWxlbmRhckVsLCBzdGF0dXNFbCB9ID0gZ2V0RGF0ZVBpY2tlckNvbnRleHQoZWwpO1xuXG4gIGRhdGVQaWNrZXJFbC5jbGFzc0xpc3QucmVtb3ZlKERBVEVfUElDS0VSX0FDVElWRV9DTEFTUyk7XG4gIGNhbGVuZGFyRWwuaGlkZGVuID0gdHJ1ZTtcbiAgc3RhdHVzRWwudGV4dENvbnRlbnQgPSBcIlwiO1xufTtcblxuLyoqXG4gKiBTZWxlY3QgYSBkYXRlIHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50LlxuICpcbiAqIEBwYXJhbSB7SFRNTEJ1dHRvbkVsZW1lbnR9IGNhbGVuZGFyRGF0ZUVsIEEgZGF0ZSBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKi9cbmNvbnN0IHNlbGVjdERhdGUgPSAoY2FsZW5kYXJEYXRlRWwpID0+IHtcbiAgaWYgKGNhbGVuZGFyRGF0ZUVsLmRpc2FibGVkKSByZXR1cm47XG5cbiAgY29uc3QgeyBkYXRlUGlja2VyRWwsIGV4dGVybmFsSW5wdXRFbCB9ID1cbiAgICBnZXREYXRlUGlja2VyQ29udGV4dChjYWxlbmRhckRhdGVFbCk7XG5cbiAgc2V0Q2FsZW5kYXJWYWx1ZShjYWxlbmRhckRhdGVFbCwgY2FsZW5kYXJEYXRlRWwuZGF0YXNldC52YWx1ZSk7XG4gIGhpZGVDYWxlbmRhcihkYXRlUGlja2VyRWwpO1xuXG4gIGV4dGVybmFsSW5wdXRFbC5mb2N1cygpO1xufTtcblxuLyoqXG4gKiBUb2dnbGUgdGhlIGNhbGVuZGFyLlxuICpcbiAqIEBwYXJhbSB7SFRNTEJ1dHRvbkVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBkYXRlIHBpY2tlciBjb21wb25lbnRcbiAqL1xuY29uc3QgdG9nZ2xlQ2FsZW5kYXIgPSAoZWwpID0+IHtcbiAgaWYgKGVsLmRpc2FibGVkKSByZXR1cm47XG4gIGNvbnN0IHsgY2FsZW5kYXJFbCwgaW5wdXREYXRlLCBtaW5EYXRlLCBtYXhEYXRlLCBkZWZhdWx0RGF0ZSB9ID1cbiAgICBnZXREYXRlUGlja2VyQ29udGV4dChlbCk7XG5cbiAgaWYgKGNhbGVuZGFyRWwuaGlkZGVuKSB7XG4gICAgY29uc3QgZGF0ZVRvRGlzcGxheSA9IGtlZXBEYXRlQmV0d2Vlbk1pbkFuZE1heChcbiAgICAgIGlucHV0RGF0ZSB8fCBkZWZhdWx0RGF0ZSB8fCB0b2RheSgpLFxuICAgICAgbWluRGF0ZSxcbiAgICAgIG1heERhdGUsXG4gICAgKTtcbiAgICBjb25zdCBuZXdDYWxlbmRhciA9IHJlbmRlckNhbGVuZGFyKGNhbGVuZGFyRWwsIGRhdGVUb0Rpc3BsYXkpO1xuICAgIG5ld0NhbGVuZGFyLnF1ZXJ5U2VsZWN0b3IoQ0FMRU5EQVJfREFURV9GT0NVU0VEKS5mb2N1cygpO1xuICB9IGVsc2Uge1xuICAgIGhpZGVDYWxlbmRhcihlbCk7XG4gIH1cbn07XG5cbi8qKlxuICogVXBkYXRlIHRoZSBjYWxlbmRhciB3aGVuIHZpc2libGUuXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgYW4gZWxlbWVudCB3aXRoaW4gdGhlIGRhdGUgcGlja2VyXG4gKi9cbmNvbnN0IHVwZGF0ZUNhbGVuZGFySWZWaXNpYmxlID0gKGVsKSA9PiB7XG4gIGNvbnN0IHsgY2FsZW5kYXJFbCwgaW5wdXREYXRlLCBtaW5EYXRlLCBtYXhEYXRlIH0gPSBnZXREYXRlUGlja2VyQ29udGV4dChlbCk7XG4gIGNvbnN0IGNhbGVuZGFyU2hvd24gPSAhY2FsZW5kYXJFbC5oaWRkZW47XG5cbiAgaWYgKGNhbGVuZGFyU2hvd24gJiYgaW5wdXREYXRlKSB7XG4gICAgY29uc3QgZGF0ZVRvRGlzcGxheSA9IGtlZXBEYXRlQmV0d2Vlbk1pbkFuZE1heChpbnB1dERhdGUsIG1pbkRhdGUsIG1heERhdGUpO1xuICAgIHJlbmRlckNhbGVuZGFyKGNhbGVuZGFyRWwsIGRhdGVUb0Rpc3BsYXkpO1xuICB9XG59O1xuXG4vLyAjZW5kcmVnaW9uIENhbGVuZGFyIC0gRGF0ZSBTZWxlY3Rpb24gVmlld1xuXG4vLyAjcmVnaW9uIENhbGVuZGFyIC0gTW9udGggU2VsZWN0aW9uIFZpZXdcbi8qKlxuICogRGlzcGxheSB0aGUgbW9udGggc2VsZWN0aW9uIHNjcmVlbiBpbiB0aGUgZGF0ZSBwaWNrZXIuXG4gKlxuICogQHBhcmFtIHtIVE1MQnV0dG9uRWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGRhdGUgcGlja2VyIGNvbXBvbmVudFxuICogQHJldHVybnMge0hUTUxFbGVtZW50fSBhIHJlZmVyZW5jZSB0byB0aGUgbmV3IGNhbGVuZGFyIGVsZW1lbnRcbiAqL1xuY29uc3QgZGlzcGxheU1vbnRoU2VsZWN0aW9uID0gKGVsLCBtb250aFRvRGlzcGxheSkgPT4ge1xuICBjb25zdCB7IGNhbGVuZGFyRWwsIHN0YXR1c0VsLCBjYWxlbmRhckRhdGUsIG1pbkRhdGUsIG1heERhdGUgfSA9XG4gICAgZ2V0RGF0ZVBpY2tlckNvbnRleHQoZWwpO1xuXG4gIGNvbnN0IHNlbGVjdGVkTW9udGggPSBjYWxlbmRhckRhdGUuZ2V0TW9udGgoKTtcbiAgY29uc3QgZm9jdXNlZE1vbnRoID0gbW9udGhUb0Rpc3BsYXkgPT0gbnVsbCA/IHNlbGVjdGVkTW9udGggOiBtb250aFRvRGlzcGxheTtcblxuICBjb25zdCBtb250aHMgPSBNT05USF9MQUJFTFMubWFwKChtb250aCwgaW5kZXgpID0+IHtcbiAgICBjb25zdCBtb250aFRvQ2hlY2sgPSBzZXRNb250aChjYWxlbmRhckRhdGUsIGluZGV4KTtcblxuICAgIGNvbnN0IGlzRGlzYWJsZWQgPSBpc0RhdGVzTW9udGhPdXRzaWRlTWluT3JNYXgoXG4gICAgICBtb250aFRvQ2hlY2ssXG4gICAgICBtaW5EYXRlLFxuICAgICAgbWF4RGF0ZSxcbiAgICApO1xuXG4gICAgbGV0IHRhYmluZGV4ID0gXCItMVwiO1xuXG4gICAgY29uc3QgY2xhc3NlcyA9IFtDQUxFTkRBUl9NT05USF9DTEFTU107XG4gICAgY29uc3QgaXNTZWxlY3RlZCA9IGluZGV4ID09PSBzZWxlY3RlZE1vbnRoO1xuXG4gICAgaWYgKGluZGV4ID09PSBmb2N1c2VkTW9udGgpIHtcbiAgICAgIHRhYmluZGV4ID0gXCIwXCI7XG4gICAgICBjbGFzc2VzLnB1c2goQ0FMRU5EQVJfTU9OVEhfRk9DVVNFRF9DTEFTUyk7XG4gICAgfVxuXG4gICAgaWYgKGlzU2VsZWN0ZWQpIHtcbiAgICAgIGNsYXNzZXMucHVzaChDQUxFTkRBUl9NT05USF9TRUxFQ1RFRF9DTEFTUyk7XG4gICAgfVxuXG4gICAgY29uc3QgYnRuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiKTtcbiAgICBidG4uc2V0QXR0cmlidXRlKFwidHlwZVwiLCBcImJ1dHRvblwiKTtcbiAgICBidG4uc2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIiwgdGFiaW5kZXgpO1xuICAgIGJ0bi5zZXRBdHRyaWJ1dGUoXCJjbGFzc1wiLCBjbGFzc2VzLmpvaW4oXCIgXCIpKTtcbiAgICBidG4uc2V0QXR0cmlidXRlKFwiZGF0YS12YWx1ZVwiLCBpbmRleCk7XG4gICAgYnRuLnNldEF0dHJpYnV0ZShcImRhdGEtbGFiZWxcIiwgbW9udGgpO1xuICAgIGJ0bi5zZXRBdHRyaWJ1dGUoXCJhcmlhLXNlbGVjdGVkXCIsIGlzU2VsZWN0ZWQgPyBcInRydWVcIiA6IFwiZmFsc2VcIik7XG4gICAgaWYgKGlzRGlzYWJsZWQgPT09IHRydWUpIHtcbiAgICAgIGJ0bi5kaXNhYmxlZCA9IHRydWU7XG4gICAgfVxuICAgIGJ0bi50ZXh0Q29udGVudCA9IG1vbnRoO1xuXG4gICAgcmV0dXJuIGJ0bjtcbiAgfSk7XG5cbiAgY29uc3QgbW9udGhzSHRtbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XG4gIG1vbnRoc0h0bWwuc2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIiwgXCItMVwiKTtcbiAgbW9udGhzSHRtbC5zZXRBdHRyaWJ1dGUoXCJjbGFzc1wiLCBDQUxFTkRBUl9NT05USF9QSUNLRVJfQ0xBU1MpO1xuXG4gIGNvbnN0IHRhYmxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInRhYmxlXCIpO1xuICB0YWJsZS5zZXRBdHRyaWJ1dGUoXCJjbGFzc1wiLCBDQUxFTkRBUl9UQUJMRV9DTEFTUyk7XG4gIHRhYmxlLnNldEF0dHJpYnV0ZShcInJvbGVcIiwgXCJwcmVzZW50YXRpb25cIik7XG5cbiAgY29uc3QgbW9udGhzR3JpZCA9IGxpc3RUb0dyaWRIdG1sKG1vbnRocywgMyk7XG4gIGNvbnN0IHRhYmxlQm9keSA9IGNyZWF0ZVRhYmxlQm9keShtb250aHNHcmlkKTtcbiAgdGFibGUuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KFwiYmVmb3JlZW5kXCIsIHRhYmxlQm9keSk7XG4gIG1vbnRoc0h0bWwuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KFwiYmVmb3JlZW5kXCIsIHRhYmxlKTtcblxuICBjb25zdCBuZXdDYWxlbmRhciA9IGNhbGVuZGFyRWwuY2xvbmVOb2RlKCk7XG4gIG5ld0NhbGVuZGFyLmluc2VydEFkamFjZW50RWxlbWVudChcImJlZm9yZWVuZFwiLCBtb250aHNIdG1sKTtcbiAgY2FsZW5kYXJFbC5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChuZXdDYWxlbmRhciwgY2FsZW5kYXJFbCk7XG5cbiAgc3RhdHVzRWwudGV4dENvbnRlbnQgPSBcIlNlbGVjdCBhIG1vbnRoLlwiO1xuXG4gIHJldHVybiBuZXdDYWxlbmRhcjtcbn07XG5cbi8qKlxuICogU2VsZWN0IGEgbW9udGggaW4gdGhlIGRhdGUgcGlja2VyIGNvbXBvbmVudC5cbiAqXG4gKiBAcGFyYW0ge0hUTUxCdXR0b25FbGVtZW50fSBtb250aEVsIEFuIG1vbnRoIGVsZW1lbnQgd2l0aGluIHRoZSBkYXRlIHBpY2tlciBjb21wb25lbnRcbiAqL1xuY29uc3Qgc2VsZWN0TW9udGggPSAobW9udGhFbCkgPT4ge1xuICBpZiAobW9udGhFbC5kaXNhYmxlZCkgcmV0dXJuO1xuICBjb25zdCB7IGNhbGVuZGFyRWwsIGNhbGVuZGFyRGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSB9ID1cbiAgICBnZXREYXRlUGlja2VyQ29udGV4dChtb250aEVsKTtcbiAgY29uc3Qgc2VsZWN0ZWRNb250aCA9IHBhcnNlSW50KG1vbnRoRWwuZGF0YXNldC52YWx1ZSwgMTApO1xuICBsZXQgZGF0ZSA9IHNldE1vbnRoKGNhbGVuZGFyRGF0ZSwgc2VsZWN0ZWRNb250aCk7XG4gIGRhdGUgPSBrZWVwRGF0ZUJldHdlZW5NaW5BbmRNYXgoZGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSk7XG4gIGNvbnN0IG5ld0NhbGVuZGFyID0gcmVuZGVyQ2FsZW5kYXIoY2FsZW5kYXJFbCwgZGF0ZSk7XG4gIG5ld0NhbGVuZGFyLnF1ZXJ5U2VsZWN0b3IoQ0FMRU5EQVJfREFURV9GT0NVU0VEKS5mb2N1cygpO1xufTtcblxuLy8gI2VuZHJlZ2lvbiBDYWxlbmRhciAtIE1vbnRoIFNlbGVjdGlvbiBWaWV3XG5cbi8vICNyZWdpb24gQ2FsZW5kYXIgLSBZZWFyIFNlbGVjdGlvbiBWaWV3XG5cbi8qKlxuICogRGlzcGxheSB0aGUgeWVhciBzZWxlY3Rpb24gc2NyZWVuIGluIHRoZSBkYXRlIHBpY2tlci5cbiAqXG4gKiBAcGFyYW0ge0hUTUxCdXR0b25FbGVtZW50fSBlbCBBbiBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKiBAcGFyYW0ge251bWJlcn0geWVhclRvRGlzcGxheSB5ZWFyIHRvIGRpc3BsYXkgaW4geWVhciBzZWxlY3Rpb25cbiAqIEByZXR1cm5zIHtIVE1MRWxlbWVudH0gYSByZWZlcmVuY2UgdG8gdGhlIG5ldyBjYWxlbmRhciBlbGVtZW50XG4gKi9cbmNvbnN0IGRpc3BsYXlZZWFyU2VsZWN0aW9uID0gKGVsLCB5ZWFyVG9EaXNwbGF5KSA9PiB7XG4gIGNvbnN0IHsgY2FsZW5kYXJFbCwgc3RhdHVzRWwsIGNhbGVuZGFyRGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSB9ID1cbiAgICBnZXREYXRlUGlja2VyQ29udGV4dChlbCk7XG5cbiAgY29uc3Qgc2VsZWN0ZWRZZWFyID0gY2FsZW5kYXJEYXRlLmdldEZ1bGxZZWFyKCk7XG4gIGNvbnN0IGZvY3VzZWRZZWFyID0geWVhclRvRGlzcGxheSA9PSBudWxsID8gc2VsZWN0ZWRZZWFyIDogeWVhclRvRGlzcGxheTtcblxuICBsZXQgeWVhclRvQ2h1bmsgPSBmb2N1c2VkWWVhcjtcbiAgeWVhclRvQ2h1bmsgLT0geWVhclRvQ2h1bmsgJSBZRUFSX0NIVU5LO1xuICB5ZWFyVG9DaHVuayA9IE1hdGgubWF4KDAsIHllYXJUb0NodW5rKTtcblxuICBjb25zdCBwcmV2WWVhckNodW5rRGlzYWJsZWQgPSBpc0RhdGVzWWVhck91dHNpZGVNaW5Pck1heChcbiAgICBzZXRZZWFyKGNhbGVuZGFyRGF0ZSwgeWVhclRvQ2h1bmsgLSAxKSxcbiAgICBtaW5EYXRlLFxuICAgIG1heERhdGUsXG4gICk7XG5cbiAgY29uc3QgbmV4dFllYXJDaHVua0Rpc2FibGVkID0gaXNEYXRlc1llYXJPdXRzaWRlTWluT3JNYXgoXG4gICAgc2V0WWVhcihjYWxlbmRhckRhdGUsIHllYXJUb0NodW5rICsgWUVBUl9DSFVOSyksXG4gICAgbWluRGF0ZSxcbiAgICBtYXhEYXRlLFxuICApO1xuXG4gIGNvbnN0IHllYXJzID0gW107XG4gIGxldCB5ZWFySW5kZXggPSB5ZWFyVG9DaHVuaztcbiAgd2hpbGUgKHllYXJzLmxlbmd0aCA8IFlFQVJfQ0hVTkspIHtcbiAgICBjb25zdCBpc0Rpc2FibGVkID0gaXNEYXRlc1llYXJPdXRzaWRlTWluT3JNYXgoXG4gICAgICBzZXRZZWFyKGNhbGVuZGFyRGF0ZSwgeWVhckluZGV4KSxcbiAgICAgIG1pbkRhdGUsXG4gICAgICBtYXhEYXRlLFxuICAgICk7XG5cbiAgICBsZXQgdGFiaW5kZXggPSBcIi0xXCI7XG5cbiAgICBjb25zdCBjbGFzc2VzID0gW0NBTEVOREFSX1lFQVJfQ0xBU1NdO1xuICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSB5ZWFySW5kZXggPT09IHNlbGVjdGVkWWVhcjtcblxuICAgIGlmICh5ZWFySW5kZXggPT09IGZvY3VzZWRZZWFyKSB7XG4gICAgICB0YWJpbmRleCA9IFwiMFwiO1xuICAgICAgY2xhc3Nlcy5wdXNoKENBTEVOREFSX1lFQVJfRk9DVVNFRF9DTEFTUyk7XG4gICAgfVxuXG4gICAgaWYgKGlzU2VsZWN0ZWQpIHtcbiAgICAgIGNsYXNzZXMucHVzaChDQUxFTkRBUl9ZRUFSX1NFTEVDVEVEX0NMQVNTKTtcbiAgICB9XG5cbiAgICBjb25zdCBidG4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIpO1xuICAgIGJ0bi5zZXRBdHRyaWJ1dGUoXCJ0eXBlXCIsIFwiYnV0dG9uXCIpO1xuICAgIGJ0bi5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLCB0YWJpbmRleCk7XG4gICAgYnRuLnNldEF0dHJpYnV0ZShcImNsYXNzXCIsIGNsYXNzZXMuam9pbihcIiBcIikpO1xuICAgIGJ0bi5zZXRBdHRyaWJ1dGUoXCJkYXRhLXZhbHVlXCIsIHllYXJJbmRleCk7XG4gICAgYnRuLnNldEF0dHJpYnV0ZShcImFyaWEtc2VsZWN0ZWRcIiwgaXNTZWxlY3RlZCA/IFwidHJ1ZVwiIDogXCJmYWxzZVwiKTtcbiAgICBpZiAoaXNEaXNhYmxlZCA9PT0gdHJ1ZSkge1xuICAgICAgYnRuLmRpc2FibGVkID0gdHJ1ZTtcbiAgICB9XG4gICAgYnRuLnRleHRDb250ZW50ID0geWVhckluZGV4O1xuXG4gICAgeWVhcnMucHVzaChidG4pO1xuICAgIHllYXJJbmRleCArPSAxO1xuICB9XG5cbiAgY29uc3QgbmV3Q2FsZW5kYXIgPSBjYWxlbmRhckVsLmNsb25lTm9kZSgpO1xuXG4gIC8vIGNyZWF0ZSB0aGUgeWVhcnMgY2FsZW5kYXIgd3JhcHBlclxuICBjb25zdCB5ZWFyc0NhbGVuZGFyV3JhcHBlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XG4gIHllYXJzQ2FsZW5kYXJXcmFwcGVyLnNldEF0dHJpYnV0ZShcInRhYmluZGV4XCIsIFwiLTFcIik7XG4gIHllYXJzQ2FsZW5kYXJXcmFwcGVyLnNldEF0dHJpYnV0ZShcImNsYXNzXCIsIENBTEVOREFSX1lFQVJfUElDS0VSX0NMQVNTKTtcblxuICAvLyBjcmVhdGUgdGFibGUgcGFyZW50XG4gIGNvbnN0IHllYXJzVGFibGVQYXJlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidGFibGVcIik7XG4gIHllYXJzVGFibGVQYXJlbnQuc2V0QXR0cmlidXRlKFwiY2xhc3NcIiwgQ0FMRU5EQVJfVEFCTEVfQ0xBU1MpO1xuXG4gIC8vIGNyZWF0ZSB0YWJsZSBib2R5IGFuZCB0YWJsZSByb3dcbiAgY29uc3QgeWVhcnNIVE1MVGFibGVCb2R5ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInRib2R5XCIpO1xuICBjb25zdCB5ZWFyc0hUTUxUYWJsZUJvZHlSb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidHJcIik7XG5cbiAgLy8gY3JlYXRlIHByZXZpb3VzIGJ1dHRvblxuICBjb25zdCBwcmV2aW91c1llYXJzQnRuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiKTtcbiAgcHJldmlvdXNZZWFyc0J0bi5zZXRBdHRyaWJ1dGUoXCJ0eXBlXCIsIFwiYnV0dG9uXCIpO1xuICBwcmV2aW91c1llYXJzQnRuLnNldEF0dHJpYnV0ZShcImNsYXNzXCIsIENBTEVOREFSX1BSRVZJT1VTX1lFQVJfQ0hVTktfQ0xBU1MpO1xuICBwcmV2aW91c1llYXJzQnRuLnNldEF0dHJpYnV0ZShcbiAgICBcImFyaWEtbGFiZWxcIixcbiAgICBgTmF2aWdhdGUgYmFjayAke1lFQVJfQ0hVTkt9IHllYXJzYCxcbiAgKTtcbiAgaWYgKHByZXZZZWFyQ2h1bmtEaXNhYmxlZCA9PT0gdHJ1ZSkge1xuICAgIHByZXZpb3VzWWVhcnNCdG4uZGlzYWJsZWQgPSB0cnVlO1xuICB9XG4gIHByZXZpb3VzWWVhcnNCdG4uaW5uZXJIVE1MID0gU2FuaXRpemVyLmVzY2FwZUhUTUxgJm5ic3BgO1xuXG4gIC8vIGNyZWF0ZSBuZXh0IGJ1dHRvblxuICBjb25zdCBuZXh0WWVhcnNCdG4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIpO1xuICBuZXh0WWVhcnNCdG4uc2V0QXR0cmlidXRlKFwidHlwZVwiLCBcImJ1dHRvblwiKTtcbiAgbmV4dFllYXJzQnRuLnNldEF0dHJpYnV0ZShcImNsYXNzXCIsIENBTEVOREFSX05FWFRfWUVBUl9DSFVOS19DTEFTUyk7XG4gIG5leHRZZWFyc0J0bi5zZXRBdHRyaWJ1dGUoXG4gICAgXCJhcmlhLWxhYmVsXCIsXG4gICAgYE5hdmlnYXRlIGZvcndhcmQgJHtZRUFSX0NIVU5LfSB5ZWFyc2AsXG4gICk7XG4gIGlmIChuZXh0WWVhckNodW5rRGlzYWJsZWQgPT09IHRydWUpIHtcbiAgICBuZXh0WWVhcnNCdG4uZGlzYWJsZWQgPSB0cnVlO1xuICB9XG4gIG5leHRZZWFyc0J0bi5pbm5lckhUTUwgPSBTYW5pdGl6ZXIuZXNjYXBlSFRNTGAmbmJzcGA7XG5cbiAgLy8gY3JlYXRlIHRoZSBhY3R1YWwgeWVhcnMgdGFibGVcbiAgY29uc3QgeWVhcnNUYWJsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJ0YWJsZVwiKTtcbiAgeWVhcnNUYWJsZS5zZXRBdHRyaWJ1dGUoXCJjbGFzc1wiLCBDQUxFTkRBUl9UQUJMRV9DTEFTUyk7XG4gIHllYXJzVGFibGUuc2V0QXR0cmlidXRlKFwicm9sZVwiLCBcInByZXNlbnRhdGlvblwiKTtcblxuICAvLyBjcmVhdGUgdGhlIHllYXJzIGNoaWxkIHRhYmxlXG4gIGNvbnN0IHllYXJzR3JpZCA9IGxpc3RUb0dyaWRIdG1sKHllYXJzLCAzKTtcbiAgY29uc3QgeWVhcnNUYWJsZUJvZHkgPSBjcmVhdGVUYWJsZUJvZHkoeWVhcnNHcmlkKTtcblxuICAvLyBhcHBlbmQgdGhlIGdyaWQgdG8gdGhlIHllYXJzIGNoaWxkIHRhYmxlXG4gIHllYXJzVGFibGUuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KFwiYmVmb3JlZW5kXCIsIHllYXJzVGFibGVCb2R5KTtcblxuICAvLyBjcmVhdGUgdGhlIHByZXYgYnV0dG9uIHRkIGFuZCBhcHBlbmQgdGhlIHByZXYgYnV0dG9uXG4gIGNvbnN0IHllYXJzSFRNTFRhYmxlQm9keURldGFpbFByZXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidGRcIik7XG4gIHllYXJzSFRNTFRhYmxlQm9keURldGFpbFByZXYuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KFxuICAgIFwiYmVmb3JlZW5kXCIsXG4gICAgcHJldmlvdXNZZWFyc0J0bixcbiAgKTtcblxuICAvLyBjcmVhdGUgdGhlIHllYXJzIHRkIGFuZCBhcHBlbmQgdGhlIHllYXJzIGNoaWxkIHRhYmxlXG4gIGNvbnN0IHllYXJzSFRNTFRhYmxlQm9keVllYXJzRGV0YWlsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInRkXCIpO1xuICB5ZWFyc0hUTUxUYWJsZUJvZHlZZWFyc0RldGFpbC5zZXRBdHRyaWJ1dGUoXCJjb2xzcGFuXCIsIFwiM1wiKTtcbiAgeWVhcnNIVE1MVGFibGVCb2R5WWVhcnNEZXRhaWwuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KFwiYmVmb3JlZW5kXCIsIHllYXJzVGFibGUpO1xuXG4gIC8vIGNyZWF0ZSB0aGUgbmV4dCBidXR0b24gdGQgYW5kIGFwcGVuZCB0aGUgbmV4dCBidXR0b25cbiAgY29uc3QgeWVhcnNIVE1MVGFibGVCb2R5RGV0YWlsTmV4dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJ0ZFwiKTtcbiAgeWVhcnNIVE1MVGFibGVCb2R5RGV0YWlsTmV4dC5pbnNlcnRBZGphY2VudEVsZW1lbnQoXCJiZWZvcmVlbmRcIiwgbmV4dFllYXJzQnRuKTtcblxuICAvLyBhcHBlbmQgdGhlIHRocmVlIHRkIHRvIHRoZSB5ZWFycyBjaGlsZCB0YWJsZSByb3dcbiAgeWVhcnNIVE1MVGFibGVCb2R5Um93Lmluc2VydEFkamFjZW50RWxlbWVudChcbiAgICBcImJlZm9yZWVuZFwiLFxuICAgIHllYXJzSFRNTFRhYmxlQm9keURldGFpbFByZXYsXG4gICk7XG4gIHllYXJzSFRNTFRhYmxlQm9keVJvdy5pbnNlcnRBZGphY2VudEVsZW1lbnQoXG4gICAgXCJiZWZvcmVlbmRcIixcbiAgICB5ZWFyc0hUTUxUYWJsZUJvZHlZZWFyc0RldGFpbCxcbiAgKTtcbiAgeWVhcnNIVE1MVGFibGVCb2R5Um93Lmluc2VydEFkamFjZW50RWxlbWVudChcbiAgICBcImJlZm9yZWVuZFwiLFxuICAgIHllYXJzSFRNTFRhYmxlQm9keURldGFpbE5leHQsXG4gICk7XG5cbiAgLy8gYXBwZW5kIHRoZSB0YWJsZSByb3cgdG8gdGhlIHllYXJzIGNoaWxkIHRhYmxlIGJvZHlcbiAgeWVhcnNIVE1MVGFibGVCb2R5Lmluc2VydEFkamFjZW50RWxlbWVudChcImJlZm9yZWVuZFwiLCB5ZWFyc0hUTUxUYWJsZUJvZHlSb3cpO1xuXG4gIC8vIGFwcGVuZCB0aGUgeWVhcnMgdGFibGUgYm9keSB0byB0aGUgeWVhcnMgcGFyZW50IHRhYmxlXG4gIHllYXJzVGFibGVQYXJlbnQuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KFwiYmVmb3JlZW5kXCIsIHllYXJzSFRNTFRhYmxlQm9keSk7XG5cbiAgLy8gYXBwZW5kIHRoZSBwYXJlbnQgdGFibGUgdG8gdGhlIGNhbGVuZGFyIHdyYXBwZXJcbiAgeWVhcnNDYWxlbmRhcldyYXBwZXIuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KFwiYmVmb3JlZW5kXCIsIHllYXJzVGFibGVQYXJlbnQpO1xuXG4gIC8vIGFwcGVuZCB0aGUgeWVhcnMgY2FsZW5kZXIgdG8gdGhlIG5ldyBjYWxlbmRhclxuICBuZXdDYWxlbmRhci5pbnNlcnRBZGphY2VudEVsZW1lbnQoXCJiZWZvcmVlbmRcIiwgeWVhcnNDYWxlbmRhcldyYXBwZXIpO1xuXG4gIC8vIHJlcGxhY2UgY2FsZW5kYXJcbiAgY2FsZW5kYXJFbC5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChuZXdDYWxlbmRhciwgY2FsZW5kYXJFbCk7XG5cbiAgc3RhdHVzRWwudGV4dENvbnRlbnQgPSBTYW5pdGl6ZXIuZXNjYXBlSFRNTGBTaG93aW5nIHllYXJzICR7eWVhclRvQ2h1bmt9IHRvICR7XG4gICAgeWVhclRvQ2h1bmsgKyBZRUFSX0NIVU5LIC0gMVxuICB9LiBTZWxlY3QgYSB5ZWFyLmA7XG5cbiAgcmV0dXJuIG5ld0NhbGVuZGFyO1xufTtcblxuLyoqXG4gKiBOYXZpZ2F0ZSBiYWNrIGJ5IHllYXJzIGFuZCBkaXNwbGF5IHRoZSB5ZWFyIHNlbGVjdGlvbiBzY3JlZW4uXG4gKlxuICogQHBhcmFtIHtIVE1MQnV0dG9uRWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGRhdGUgcGlja2VyIGNvbXBvbmVudFxuICovXG5jb25zdCBkaXNwbGF5UHJldmlvdXNZZWFyQ2h1bmsgPSAoZWwpID0+IHtcbiAgaWYgKGVsLmRpc2FibGVkKSByZXR1cm47XG5cbiAgY29uc3QgeyBjYWxlbmRhckVsLCBjYWxlbmRhckRhdGUsIG1pbkRhdGUsIG1heERhdGUgfSA9XG4gICAgZ2V0RGF0ZVBpY2tlckNvbnRleHQoZWwpO1xuICBjb25zdCB5ZWFyRWwgPSBjYWxlbmRhckVsLnF1ZXJ5U2VsZWN0b3IoQ0FMRU5EQVJfWUVBUl9GT0NVU0VEKTtcbiAgY29uc3Qgc2VsZWN0ZWRZZWFyID0gcGFyc2VJbnQoeWVhckVsLnRleHRDb250ZW50LCAxMCk7XG5cbiAgbGV0IGFkanVzdGVkWWVhciA9IHNlbGVjdGVkWWVhciAtIFlFQVJfQ0hVTks7XG4gIGFkanVzdGVkWWVhciA9IE1hdGgubWF4KDAsIGFkanVzdGVkWWVhcik7XG5cbiAgY29uc3QgZGF0ZSA9IHNldFllYXIoY2FsZW5kYXJEYXRlLCBhZGp1c3RlZFllYXIpO1xuICBjb25zdCBjYXBwZWREYXRlID0ga2VlcERhdGVCZXR3ZWVuTWluQW5kTWF4KGRhdGUsIG1pbkRhdGUsIG1heERhdGUpO1xuICBjb25zdCBuZXdDYWxlbmRhciA9IGRpc3BsYXlZZWFyU2VsZWN0aW9uKFxuICAgIGNhbGVuZGFyRWwsXG4gICAgY2FwcGVkRGF0ZS5nZXRGdWxsWWVhcigpLFxuICApO1xuXG4gIGxldCBuZXh0VG9Gb2N1cyA9IG5ld0NhbGVuZGFyLnF1ZXJ5U2VsZWN0b3IoQ0FMRU5EQVJfUFJFVklPVVNfWUVBUl9DSFVOSyk7XG4gIGlmIChuZXh0VG9Gb2N1cy5kaXNhYmxlZCkge1xuICAgIG5leHRUb0ZvY3VzID0gbmV3Q2FsZW5kYXIucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9ZRUFSX1BJQ0tFUik7XG4gIH1cbiAgbmV4dFRvRm9jdXMuZm9jdXMoKTtcbn07XG5cbi8qKlxuICogTmF2aWdhdGUgZm9yd2FyZCBieSB5ZWFycyBhbmQgZGlzcGxheSB0aGUgeWVhciBzZWxlY3Rpb24gc2NyZWVuLlxuICpcbiAqIEBwYXJhbSB7SFRNTEJ1dHRvbkVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBkYXRlIHBpY2tlciBjb21wb25lbnRcbiAqL1xuY29uc3QgZGlzcGxheU5leHRZZWFyQ2h1bmsgPSAoZWwpID0+IHtcbiAgaWYgKGVsLmRpc2FibGVkKSByZXR1cm47XG5cbiAgY29uc3QgeyBjYWxlbmRhckVsLCBjYWxlbmRhckRhdGUsIG1pbkRhdGUsIG1heERhdGUgfSA9XG4gICAgZ2V0RGF0ZVBpY2tlckNvbnRleHQoZWwpO1xuICBjb25zdCB5ZWFyRWwgPSBjYWxlbmRhckVsLnF1ZXJ5U2VsZWN0b3IoQ0FMRU5EQVJfWUVBUl9GT0NVU0VEKTtcbiAgY29uc3Qgc2VsZWN0ZWRZZWFyID0gcGFyc2VJbnQoeWVhckVsLnRleHRDb250ZW50LCAxMCk7XG5cbiAgbGV0IGFkanVzdGVkWWVhciA9IHNlbGVjdGVkWWVhciArIFlFQVJfQ0hVTks7XG4gIGFkanVzdGVkWWVhciA9IE1hdGgubWF4KDAsIGFkanVzdGVkWWVhcik7XG5cbiAgY29uc3QgZGF0ZSA9IHNldFllYXIoY2FsZW5kYXJEYXRlLCBhZGp1c3RlZFllYXIpO1xuICBjb25zdCBjYXBwZWREYXRlID0ga2VlcERhdGVCZXR3ZWVuTWluQW5kTWF4KGRhdGUsIG1pbkRhdGUsIG1heERhdGUpO1xuICBjb25zdCBuZXdDYWxlbmRhciA9IGRpc3BsYXlZZWFyU2VsZWN0aW9uKFxuICAgIGNhbGVuZGFyRWwsXG4gICAgY2FwcGVkRGF0ZS5nZXRGdWxsWWVhcigpLFxuICApO1xuXG4gIGxldCBuZXh0VG9Gb2N1cyA9IG5ld0NhbGVuZGFyLnF1ZXJ5U2VsZWN0b3IoQ0FMRU5EQVJfTkVYVF9ZRUFSX0NIVU5LKTtcbiAgaWYgKG5leHRUb0ZvY3VzLmRpc2FibGVkKSB7XG4gICAgbmV4dFRvRm9jdXMgPSBuZXdDYWxlbmRhci5xdWVyeVNlbGVjdG9yKENBTEVOREFSX1lFQVJfUElDS0VSKTtcbiAgfVxuICBuZXh0VG9Gb2N1cy5mb2N1cygpO1xufTtcblxuLyoqXG4gKiBTZWxlY3QgYSB5ZWFyIGluIHRoZSBkYXRlIHBpY2tlciBjb21wb25lbnQuXG4gKlxuICogQHBhcmFtIHtIVE1MQnV0dG9uRWxlbWVudH0geWVhckVsIEEgeWVhciBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKi9cbmNvbnN0IHNlbGVjdFllYXIgPSAoeWVhckVsKSA9PiB7XG4gIGlmICh5ZWFyRWwuZGlzYWJsZWQpIHJldHVybjtcbiAgY29uc3QgeyBjYWxlbmRhckVsLCBjYWxlbmRhckRhdGUsIG1pbkRhdGUsIG1heERhdGUgfSA9XG4gICAgZ2V0RGF0ZVBpY2tlckNvbnRleHQoeWVhckVsKTtcbiAgY29uc3Qgc2VsZWN0ZWRZZWFyID0gcGFyc2VJbnQoeWVhckVsLmlubmVySFRNTCwgMTApO1xuICBsZXQgZGF0ZSA9IHNldFllYXIoY2FsZW5kYXJEYXRlLCBzZWxlY3RlZFllYXIpO1xuICBkYXRlID0ga2VlcERhdGVCZXR3ZWVuTWluQW5kTWF4KGRhdGUsIG1pbkRhdGUsIG1heERhdGUpO1xuICBjb25zdCBuZXdDYWxlbmRhciA9IHJlbmRlckNhbGVuZGFyKGNhbGVuZGFyRWwsIGRhdGUpO1xuICBuZXdDYWxlbmRhci5xdWVyeVNlbGVjdG9yKENBTEVOREFSX0RBVEVfRk9DVVNFRCkuZm9jdXMoKTtcbn07XG5cbi8vICNlbmRyZWdpb24gQ2FsZW5kYXIgLSBZZWFyIFNlbGVjdGlvbiBWaWV3XG5cbi8vICNyZWdpb24gQ2FsZW5kYXIgRXZlbnQgSGFuZGxpbmdcblxuLyoqXG4gKiBIaWRlIHRoZSBjYWxlbmRhci5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50XG4gKi9cbmNvbnN0IGhhbmRsZUVzY2FwZUZyb21DYWxlbmRhciA9IChldmVudCkgPT4ge1xuICBjb25zdCB7IGRhdGVQaWNrZXJFbCwgZXh0ZXJuYWxJbnB1dEVsIH0gPSBnZXREYXRlUGlja2VyQ29udGV4dChldmVudC50YXJnZXQpO1xuXG4gIGhpZGVDYWxlbmRhcihkYXRlUGlja2VyRWwpO1xuICBleHRlcm5hbElucHV0RWwuZm9jdXMoKTtcblxuICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xufTtcblxuLy8gI2VuZHJlZ2lvbiBDYWxlbmRhciBFdmVudCBIYW5kbGluZ1xuXG4vLyAjcmVnaW9uIENhbGVuZGFyIERhdGUgRXZlbnQgSGFuZGxpbmdcblxuLyoqXG4gKiBBZGp1c3QgdGhlIGRhdGUgYW5kIGRpc3BsYXkgdGhlIGNhbGVuZGFyIGlmIG5lZWRlZC5cbiAqXG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBhZGp1c3REYXRlRm4gZnVuY3Rpb24gdGhhdCByZXR1cm5zIHRoZSBhZGp1c3RlZCBkYXRlXG4gKi9cbmNvbnN0IGFkanVzdENhbGVuZGFyID0gKGFkanVzdERhdGVGbikgPT4gKGV2ZW50KSA9PiB7XG4gIGNvbnN0IHsgY2FsZW5kYXJFbCwgY2FsZW5kYXJEYXRlLCBtaW5EYXRlLCBtYXhEYXRlIH0gPSBnZXREYXRlUGlja2VyQ29udGV4dChcbiAgICBldmVudC50YXJnZXQsXG4gICk7XG5cbiAgY29uc3QgZGF0ZSA9IGFkanVzdERhdGVGbihjYWxlbmRhckRhdGUpO1xuXG4gIGNvbnN0IGNhcHBlZERhdGUgPSBrZWVwRGF0ZUJldHdlZW5NaW5BbmRNYXgoZGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSk7XG4gIGlmICghaXNTYW1lRGF5KGNhbGVuZGFyRGF0ZSwgY2FwcGVkRGF0ZSkpIHtcbiAgICBjb25zdCBuZXdDYWxlbmRhciA9IHJlbmRlckNhbGVuZGFyKGNhbGVuZGFyRWwsIGNhcHBlZERhdGUpO1xuICAgIG5ld0NhbGVuZGFyLnF1ZXJ5U2VsZWN0b3IoQ0FMRU5EQVJfREFURV9GT0NVU0VEKS5mb2N1cygpO1xuICB9XG4gIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG59O1xuXG4vKipcbiAqIE5hdmlnYXRlIGJhY2sgb25lIHdlZWsgYW5kIGRpc3BsYXkgdGhlIGNhbGVuZGFyLlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgdGhlIGtleWRvd24gZXZlbnRcbiAqL1xuY29uc3QgaGFuZGxlVXBGcm9tRGF0ZSA9IGFkanVzdENhbGVuZGFyKChkYXRlKSA9PiBzdWJXZWVrcyhkYXRlLCAxKSk7XG5cbi8qKlxuICogTmF2aWdhdGUgZm9yd2FyZCBvbmUgd2VlayBhbmQgZGlzcGxheSB0aGUgY2FsZW5kYXIuXG4gKlxuICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudCB0aGUga2V5ZG93biBldmVudFxuICovXG5jb25zdCBoYW5kbGVEb3duRnJvbURhdGUgPSBhZGp1c3RDYWxlbmRhcigoZGF0ZSkgPT4gYWRkV2Vla3MoZGF0ZSwgMSkpO1xuXG4vKipcbiAqIE5hdmlnYXRlIGJhY2sgb25lIGRheSBhbmQgZGlzcGxheSB0aGUgY2FsZW5kYXIuXG4gKlxuICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudCB0aGUga2V5ZG93biBldmVudFxuICovXG5jb25zdCBoYW5kbGVMZWZ0RnJvbURhdGUgPSBhZGp1c3RDYWxlbmRhcigoZGF0ZSkgPT4gc3ViRGF5cyhkYXRlLCAxKSk7XG5cbi8qKlxuICogTmF2aWdhdGUgZm9yd2FyZCBvbmUgZGF5IGFuZCBkaXNwbGF5IHRoZSBjYWxlbmRhci5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50XG4gKi9cbmNvbnN0IGhhbmRsZVJpZ2h0RnJvbURhdGUgPSBhZGp1c3RDYWxlbmRhcigoZGF0ZSkgPT4gYWRkRGF5cyhkYXRlLCAxKSk7XG5cbi8qKlxuICogTmF2aWdhdGUgdG8gdGhlIHN0YXJ0IG9mIHRoZSB3ZWVrIGFuZCBkaXNwbGF5IHRoZSBjYWxlbmRhci5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50XG4gKi9cbmNvbnN0IGhhbmRsZUhvbWVGcm9tRGF0ZSA9IGFkanVzdENhbGVuZGFyKChkYXRlKSA9PiBzdGFydE9mV2VlayhkYXRlKSk7XG5cbi8qKlxuICogTmF2aWdhdGUgdG8gdGhlIGVuZCBvZiB0aGUgd2VlayBhbmQgZGlzcGxheSB0aGUgY2FsZW5kYXIuXG4gKlxuICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudCB0aGUga2V5ZG93biBldmVudFxuICovXG5jb25zdCBoYW5kbGVFbmRGcm9tRGF0ZSA9IGFkanVzdENhbGVuZGFyKChkYXRlKSA9PiBlbmRPZldlZWsoZGF0ZSkpO1xuXG4vKipcbiAqIE5hdmlnYXRlIGZvcndhcmQgb25lIG1vbnRoIGFuZCBkaXNwbGF5IHRoZSBjYWxlbmRhci5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50XG4gKi9cbmNvbnN0IGhhbmRsZVBhZ2VEb3duRnJvbURhdGUgPSBhZGp1c3RDYWxlbmRhcigoZGF0ZSkgPT4gYWRkTW9udGhzKGRhdGUsIDEpKTtcblxuLyoqXG4gKiBOYXZpZ2F0ZSBiYWNrIG9uZSBtb250aCBhbmQgZGlzcGxheSB0aGUgY2FsZW5kYXIuXG4gKlxuICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudCB0aGUga2V5ZG93biBldmVudFxuICovXG5jb25zdCBoYW5kbGVQYWdlVXBGcm9tRGF0ZSA9IGFkanVzdENhbGVuZGFyKChkYXRlKSA9PiBzdWJNb250aHMoZGF0ZSwgMSkpO1xuXG4vKipcbiAqIE5hdmlnYXRlIGZvcndhcmQgb25lIHllYXIgYW5kIGRpc3BsYXkgdGhlIGNhbGVuZGFyLlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgdGhlIGtleWRvd24gZXZlbnRcbiAqL1xuY29uc3QgaGFuZGxlU2hpZnRQYWdlRG93bkZyb21EYXRlID0gYWRqdXN0Q2FsZW5kYXIoKGRhdGUpID0+IGFkZFllYXJzKGRhdGUsIDEpKTtcblxuLyoqXG4gKiBOYXZpZ2F0ZSBiYWNrIG9uZSB5ZWFyIGFuZCBkaXNwbGF5IHRoZSBjYWxlbmRhci5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50XG4gKi9cbmNvbnN0IGhhbmRsZVNoaWZ0UGFnZVVwRnJvbURhdGUgPSBhZGp1c3RDYWxlbmRhcigoZGF0ZSkgPT4gc3ViWWVhcnMoZGF0ZSwgMSkpO1xuXG4vKipcbiAqIGRpc3BsYXkgdGhlIGNhbGVuZGFyIGZvciB0aGUgbW91c2VvdmVyIGRhdGUuXG4gKlxuICogQHBhcmFtIHtNb3VzZUV2ZW50fSBldmVudCBUaGUgbW91c2VvdmVyIGV2ZW50XG4gKiBAcGFyYW0ge0hUTUxCdXR0b25FbGVtZW50fSBkYXRlRWwgQSBkYXRlIGVsZW1lbnQgd2l0aGluIHRoZSBkYXRlIHBpY2tlciBjb21wb25lbnRcbiAqL1xuY29uc3QgaGFuZGxlTW91c2VvdmVyRnJvbURhdGUgPSAoZGF0ZUVsKSA9PiB7XG4gIGlmIChkYXRlRWwuZGlzYWJsZWQpIHJldHVybjtcblxuICBjb25zdCBjYWxlbmRhckVsID0gZGF0ZUVsLmNsb3Nlc3QoREFURV9QSUNLRVJfQ0FMRU5EQVIpO1xuXG4gIGNvbnN0IGN1cnJlbnRDYWxlbmRhckRhdGUgPSBjYWxlbmRhckVsLmRhdGFzZXQudmFsdWU7XG4gIGNvbnN0IGhvdmVyRGF0ZSA9IGRhdGVFbC5kYXRhc2V0LnZhbHVlO1xuXG4gIGlmIChob3ZlckRhdGUgPT09IGN1cnJlbnRDYWxlbmRhckRhdGUpIHJldHVybjtcblxuICBjb25zdCBkYXRlVG9EaXNwbGF5ID0gcGFyc2VEYXRlU3RyaW5nKGhvdmVyRGF0ZSk7XG4gIGNvbnN0IG5ld0NhbGVuZGFyID0gcmVuZGVyQ2FsZW5kYXIoY2FsZW5kYXJFbCwgZGF0ZVRvRGlzcGxheSk7XG4gIG5ld0NhbGVuZGFyLnF1ZXJ5U2VsZWN0b3IoQ0FMRU5EQVJfREFURV9GT0NVU0VEKS5mb2N1cygpO1xufTtcblxuLy8gI2VuZHJlZ2lvbiBDYWxlbmRhciBEYXRlIEV2ZW50IEhhbmRsaW5nXG5cbi8vICNyZWdpb24gQ2FsZW5kYXIgTW9udGggRXZlbnQgSGFuZGxpbmdcblxuLyoqXG4gKiBBZGp1c3QgdGhlIG1vbnRoIGFuZCBkaXNwbGF5IHRoZSBtb250aCBzZWxlY3Rpb24gc2NyZWVuIGlmIG5lZWRlZC5cbiAqXG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBhZGp1c3RNb250aEZuIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgYWRqdXN0ZWQgbW9udGhcbiAqL1xuY29uc3QgYWRqdXN0TW9udGhTZWxlY3Rpb25TY3JlZW4gPSAoYWRqdXN0TW9udGhGbikgPT4gKGV2ZW50KSA9PiB7XG4gIGNvbnN0IG1vbnRoRWwgPSBldmVudC50YXJnZXQ7XG4gIGNvbnN0IHNlbGVjdGVkTW9udGggPSBwYXJzZUludChtb250aEVsLmRhdGFzZXQudmFsdWUsIDEwKTtcbiAgY29uc3QgeyBjYWxlbmRhckVsLCBjYWxlbmRhckRhdGUsIG1pbkRhdGUsIG1heERhdGUgfSA9XG4gICAgZ2V0RGF0ZVBpY2tlckNvbnRleHQobW9udGhFbCk7XG4gIGNvbnN0IGN1cnJlbnREYXRlID0gc2V0TW9udGgoY2FsZW5kYXJEYXRlLCBzZWxlY3RlZE1vbnRoKTtcblxuICBsZXQgYWRqdXN0ZWRNb250aCA9IGFkanVzdE1vbnRoRm4oc2VsZWN0ZWRNb250aCk7XG4gIGFkanVzdGVkTW9udGggPSBNYXRoLm1heCgwLCBNYXRoLm1pbigxMSwgYWRqdXN0ZWRNb250aCkpO1xuXG4gIGNvbnN0IGRhdGUgPSBzZXRNb250aChjYWxlbmRhckRhdGUsIGFkanVzdGVkTW9udGgpO1xuICBjb25zdCBjYXBwZWREYXRlID0ga2VlcERhdGVCZXR3ZWVuTWluQW5kTWF4KGRhdGUsIG1pbkRhdGUsIG1heERhdGUpO1xuICBpZiAoIWlzU2FtZU1vbnRoKGN1cnJlbnREYXRlLCBjYXBwZWREYXRlKSkge1xuICAgIGNvbnN0IG5ld0NhbGVuZGFyID0gZGlzcGxheU1vbnRoU2VsZWN0aW9uKFxuICAgICAgY2FsZW5kYXJFbCxcbiAgICAgIGNhcHBlZERhdGUuZ2V0TW9udGgoKSxcbiAgICApO1xuICAgIG5ld0NhbGVuZGFyLnF1ZXJ5U2VsZWN0b3IoQ0FMRU5EQVJfTU9OVEhfRk9DVVNFRCkuZm9jdXMoKTtcbiAgfVxuICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xufTtcblxuLyoqXG4gKiBOYXZpZ2F0ZSBiYWNrIHRocmVlIG1vbnRocyBhbmQgZGlzcGxheSB0aGUgbW9udGggc2VsZWN0aW9uIHNjcmVlbi5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50XG4gKi9cbmNvbnN0IGhhbmRsZVVwRnJvbU1vbnRoID0gYWRqdXN0TW9udGhTZWxlY3Rpb25TY3JlZW4oKG1vbnRoKSA9PiBtb250aCAtIDMpO1xuXG4vKipcbiAqIE5hdmlnYXRlIGZvcndhcmQgdGhyZWUgbW9udGhzIGFuZCBkaXNwbGF5IHRoZSBtb250aCBzZWxlY3Rpb24gc2NyZWVuLlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgdGhlIGtleWRvd24gZXZlbnRcbiAqL1xuY29uc3QgaGFuZGxlRG93bkZyb21Nb250aCA9IGFkanVzdE1vbnRoU2VsZWN0aW9uU2NyZWVuKChtb250aCkgPT4gbW9udGggKyAzKTtcblxuLyoqXG4gKiBOYXZpZ2F0ZSBiYWNrIG9uZSBtb250aCBhbmQgZGlzcGxheSB0aGUgbW9udGggc2VsZWN0aW9uIHNjcmVlbi5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50XG4gKi9cbmNvbnN0IGhhbmRsZUxlZnRGcm9tTW9udGggPSBhZGp1c3RNb250aFNlbGVjdGlvblNjcmVlbigobW9udGgpID0+IG1vbnRoIC0gMSk7XG5cbi8qKlxuICogTmF2aWdhdGUgZm9yd2FyZCBvbmUgbW9udGggYW5kIGRpc3BsYXkgdGhlIG1vbnRoIHNlbGVjdGlvbiBzY3JlZW4uXG4gKlxuICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudCB0aGUga2V5ZG93biBldmVudFxuICovXG5jb25zdCBoYW5kbGVSaWdodEZyb21Nb250aCA9IGFkanVzdE1vbnRoU2VsZWN0aW9uU2NyZWVuKChtb250aCkgPT4gbW9udGggKyAxKTtcblxuLyoqXG4gKiBOYXZpZ2F0ZSB0byB0aGUgc3RhcnQgb2YgdGhlIHJvdyBvZiBtb250aHMgYW5kIGRpc3BsYXkgdGhlIG1vbnRoIHNlbGVjdGlvbiBzY3JlZW4uXG4gKlxuICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudCB0aGUga2V5ZG93biBldmVudFxuICovXG5jb25zdCBoYW5kbGVIb21lRnJvbU1vbnRoID0gYWRqdXN0TW9udGhTZWxlY3Rpb25TY3JlZW4oXG4gIChtb250aCkgPT4gbW9udGggLSAobW9udGggJSAzKSxcbik7XG5cbi8qKlxuICogTmF2aWdhdGUgdG8gdGhlIGVuZCBvZiB0aGUgcm93IG9mIG1vbnRocyBhbmQgZGlzcGxheSB0aGUgbW9udGggc2VsZWN0aW9uIHNjcmVlbi5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50XG4gKi9cbmNvbnN0IGhhbmRsZUVuZEZyb21Nb250aCA9IGFkanVzdE1vbnRoU2VsZWN0aW9uU2NyZWVuKFxuICAobW9udGgpID0+IG1vbnRoICsgMiAtIChtb250aCAlIDMpLFxuKTtcblxuLyoqXG4gKiBOYXZpZ2F0ZSB0byB0aGUgbGFzdCBtb250aCAoRGVjZW1iZXIpIGFuZCBkaXNwbGF5IHRoZSBtb250aCBzZWxlY3Rpb24gc2NyZWVuLlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgdGhlIGtleWRvd24gZXZlbnRcbiAqL1xuY29uc3QgaGFuZGxlUGFnZURvd25Gcm9tTW9udGggPSBhZGp1c3RNb250aFNlbGVjdGlvblNjcmVlbigoKSA9PiAxMSk7XG5cbi8qKlxuICogTmF2aWdhdGUgdG8gdGhlIGZpcnN0IG1vbnRoIChKYW51YXJ5KSBhbmQgZGlzcGxheSB0aGUgbW9udGggc2VsZWN0aW9uIHNjcmVlbi5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50XG4gKi9cbmNvbnN0IGhhbmRsZVBhZ2VVcEZyb21Nb250aCA9IGFkanVzdE1vbnRoU2VsZWN0aW9uU2NyZWVuKCgpID0+IDApO1xuXG4vKipcbiAqIHVwZGF0ZSB0aGUgZm9jdXMgb24gYSBtb250aCB3aGVuIHRoZSBtb3VzZSBtb3Zlcy5cbiAqXG4gKiBAcGFyYW0ge01vdXNlRXZlbnR9IGV2ZW50IFRoZSBtb3VzZW92ZXIgZXZlbnRcbiAqIEBwYXJhbSB7SFRNTEJ1dHRvbkVsZW1lbnR9IG1vbnRoRWwgQSBtb250aCBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKi9cbmNvbnN0IGhhbmRsZU1vdXNlb3ZlckZyb21Nb250aCA9IChtb250aEVsKSA9PiB7XG4gIGlmIChtb250aEVsLmRpc2FibGVkKSByZXR1cm47XG4gIGlmIChtb250aEVsLmNsYXNzTGlzdC5jb250YWlucyhDQUxFTkRBUl9NT05USF9GT0NVU0VEX0NMQVNTKSkgcmV0dXJuO1xuXG4gIGNvbnN0IGZvY3VzTW9udGggPSBwYXJzZUludChtb250aEVsLmRhdGFzZXQudmFsdWUsIDEwKTtcblxuICBjb25zdCBuZXdDYWxlbmRhciA9IGRpc3BsYXlNb250aFNlbGVjdGlvbihtb250aEVsLCBmb2N1c01vbnRoKTtcbiAgbmV3Q2FsZW5kYXIucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9NT05USF9GT0NVU0VEKS5mb2N1cygpO1xufTtcblxuLy8gI2VuZHJlZ2lvbiBDYWxlbmRhciBNb250aCBFdmVudCBIYW5kbGluZ1xuXG4vLyAjcmVnaW9uIENhbGVuZGFyIFllYXIgRXZlbnQgSGFuZGxpbmdcblxuLyoqXG4gKiBBZGp1c3QgdGhlIHllYXIgYW5kIGRpc3BsYXkgdGhlIHllYXIgc2VsZWN0aW9uIHNjcmVlbiBpZiBuZWVkZWQuXG4gKlxuICogQHBhcmFtIHtmdW5jdGlvbn0gYWRqdXN0WWVhckZuIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgYWRqdXN0ZWQgeWVhclxuICovXG5jb25zdCBhZGp1c3RZZWFyU2VsZWN0aW9uU2NyZWVuID0gKGFkanVzdFllYXJGbikgPT4gKGV2ZW50KSA9PiB7XG4gIGNvbnN0IHllYXJFbCA9IGV2ZW50LnRhcmdldDtcbiAgY29uc3Qgc2VsZWN0ZWRZZWFyID0gcGFyc2VJbnQoeWVhckVsLmRhdGFzZXQudmFsdWUsIDEwKTtcbiAgY29uc3QgeyBjYWxlbmRhckVsLCBjYWxlbmRhckRhdGUsIG1pbkRhdGUsIG1heERhdGUgfSA9XG4gICAgZ2V0RGF0ZVBpY2tlckNvbnRleHQoeWVhckVsKTtcbiAgY29uc3QgY3VycmVudERhdGUgPSBzZXRZZWFyKGNhbGVuZGFyRGF0ZSwgc2VsZWN0ZWRZZWFyKTtcblxuICBsZXQgYWRqdXN0ZWRZZWFyID0gYWRqdXN0WWVhckZuKHNlbGVjdGVkWWVhcik7XG4gIGFkanVzdGVkWWVhciA9IE1hdGgubWF4KDAsIGFkanVzdGVkWWVhcik7XG5cbiAgY29uc3QgZGF0ZSA9IHNldFllYXIoY2FsZW5kYXJEYXRlLCBhZGp1c3RlZFllYXIpO1xuICBjb25zdCBjYXBwZWREYXRlID0ga2VlcERhdGVCZXR3ZWVuTWluQW5kTWF4KGRhdGUsIG1pbkRhdGUsIG1heERhdGUpO1xuICBpZiAoIWlzU2FtZVllYXIoY3VycmVudERhdGUsIGNhcHBlZERhdGUpKSB7XG4gICAgY29uc3QgbmV3Q2FsZW5kYXIgPSBkaXNwbGF5WWVhclNlbGVjdGlvbihcbiAgICAgIGNhbGVuZGFyRWwsXG4gICAgICBjYXBwZWREYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgKTtcbiAgICBuZXdDYWxlbmRhci5xdWVyeVNlbGVjdG9yKENBTEVOREFSX1lFQVJfRk9DVVNFRCkuZm9jdXMoKTtcbiAgfVxuICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xufTtcblxuLyoqXG4gKiBOYXZpZ2F0ZSBiYWNrIHRocmVlIHllYXJzIGFuZCBkaXNwbGF5IHRoZSB5ZWFyIHNlbGVjdGlvbiBzY3JlZW4uXG4gKlxuICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudCB0aGUga2V5ZG93biBldmVudFxuICovXG5jb25zdCBoYW5kbGVVcEZyb21ZZWFyID0gYWRqdXN0WWVhclNlbGVjdGlvblNjcmVlbigoeWVhcikgPT4geWVhciAtIDMpO1xuXG4vKipcbiAqIE5hdmlnYXRlIGZvcndhcmQgdGhyZWUgeWVhcnMgYW5kIGRpc3BsYXkgdGhlIHllYXIgc2VsZWN0aW9uIHNjcmVlbi5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50XG4gKi9cbmNvbnN0IGhhbmRsZURvd25Gcm9tWWVhciA9IGFkanVzdFllYXJTZWxlY3Rpb25TY3JlZW4oKHllYXIpID0+IHllYXIgKyAzKTtcblxuLyoqXG4gKiBOYXZpZ2F0ZSBiYWNrIG9uZSB5ZWFyIGFuZCBkaXNwbGF5IHRoZSB5ZWFyIHNlbGVjdGlvbiBzY3JlZW4uXG4gKlxuICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudCB0aGUga2V5ZG93biBldmVudFxuICovXG5jb25zdCBoYW5kbGVMZWZ0RnJvbVllYXIgPSBhZGp1c3RZZWFyU2VsZWN0aW9uU2NyZWVuKCh5ZWFyKSA9PiB5ZWFyIC0gMSk7XG5cbi8qKlxuICogTmF2aWdhdGUgZm9yd2FyZCBvbmUgeWVhciBhbmQgZGlzcGxheSB0aGUgeWVhciBzZWxlY3Rpb24gc2NyZWVuLlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgdGhlIGtleWRvd24gZXZlbnRcbiAqL1xuY29uc3QgaGFuZGxlUmlnaHRGcm9tWWVhciA9IGFkanVzdFllYXJTZWxlY3Rpb25TY3JlZW4oKHllYXIpID0+IHllYXIgKyAxKTtcblxuLyoqXG4gKiBOYXZpZ2F0ZSB0byB0aGUgc3RhcnQgb2YgdGhlIHJvdyBvZiB5ZWFycyBhbmQgZGlzcGxheSB0aGUgeWVhciBzZWxlY3Rpb24gc2NyZWVuLlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgdGhlIGtleWRvd24gZXZlbnRcbiAqL1xuY29uc3QgaGFuZGxlSG9tZUZyb21ZZWFyID0gYWRqdXN0WWVhclNlbGVjdGlvblNjcmVlbihcbiAgKHllYXIpID0+IHllYXIgLSAoeWVhciAlIDMpLFxuKTtcblxuLyoqXG4gKiBOYXZpZ2F0ZSB0byB0aGUgZW5kIG9mIHRoZSByb3cgb2YgeWVhcnMgYW5kIGRpc3BsYXkgdGhlIHllYXIgc2VsZWN0aW9uIHNjcmVlbi5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50XG4gKi9cbmNvbnN0IGhhbmRsZUVuZEZyb21ZZWFyID0gYWRqdXN0WWVhclNlbGVjdGlvblNjcmVlbihcbiAgKHllYXIpID0+IHllYXIgKyAyIC0gKHllYXIgJSAzKSxcbik7XG5cbi8qKlxuICogTmF2aWdhdGUgdG8gYmFjayAxMiB5ZWFycyBhbmQgZGlzcGxheSB0aGUgeWVhciBzZWxlY3Rpb24gc2NyZWVuLlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgdGhlIGtleWRvd24gZXZlbnRcbiAqL1xuY29uc3QgaGFuZGxlUGFnZVVwRnJvbVllYXIgPSBhZGp1c3RZZWFyU2VsZWN0aW9uU2NyZWVuKFxuICAoeWVhcikgPT4geWVhciAtIFlFQVJfQ0hVTkssXG4pO1xuXG4vKipcbiAqIE5hdmlnYXRlIGZvcndhcmQgMTIgeWVhcnMgYW5kIGRpc3BsYXkgdGhlIHllYXIgc2VsZWN0aW9uIHNjcmVlbi5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50XG4gKi9cbmNvbnN0IGhhbmRsZVBhZ2VEb3duRnJvbVllYXIgPSBhZGp1c3RZZWFyU2VsZWN0aW9uU2NyZWVuKFxuICAoeWVhcikgPT4geWVhciArIFlFQVJfQ0hVTkssXG4pO1xuXG4vKipcbiAqIHVwZGF0ZSB0aGUgZm9jdXMgb24gYSB5ZWFyIHdoZW4gdGhlIG1vdXNlIG1vdmVzLlxuICpcbiAqIEBwYXJhbSB7TW91c2VFdmVudH0gZXZlbnQgVGhlIG1vdXNlb3ZlciBldmVudFxuICogQHBhcmFtIHtIVE1MQnV0dG9uRWxlbWVudH0gZGF0ZUVsIEEgeWVhciBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKi9cbmNvbnN0IGhhbmRsZU1vdXNlb3ZlckZyb21ZZWFyID0gKHllYXJFbCkgPT4ge1xuICBpZiAoeWVhckVsLmRpc2FibGVkKSByZXR1cm47XG4gIGlmICh5ZWFyRWwuY2xhc3NMaXN0LmNvbnRhaW5zKENBTEVOREFSX1lFQVJfRk9DVVNFRF9DTEFTUykpIHJldHVybjtcblxuICBjb25zdCBmb2N1c1llYXIgPSBwYXJzZUludCh5ZWFyRWwuZGF0YXNldC52YWx1ZSwgMTApO1xuXG4gIGNvbnN0IG5ld0NhbGVuZGFyID0gZGlzcGxheVllYXJTZWxlY3Rpb24oeWVhckVsLCBmb2N1c1llYXIpO1xuICBuZXdDYWxlbmRhci5xdWVyeVNlbGVjdG9yKENBTEVOREFSX1lFQVJfRk9DVVNFRCkuZm9jdXMoKTtcbn07XG5cbi8vICNlbmRyZWdpb24gQ2FsZW5kYXIgWWVhciBFdmVudCBIYW5kbGluZ1xuXG4vLyAjcmVnaW9uIEZvY3VzIEhhbmRsaW5nIEV2ZW50IEhhbmRsaW5nXG5cbmNvbnN0IHRhYkhhbmRsZXIgPSAoZm9jdXNhYmxlKSA9PiB7XG4gIGNvbnN0IGdldEZvY3VzYWJsZUNvbnRleHQgPSAoZWwpID0+IHtcbiAgICBjb25zdCB7IGNhbGVuZGFyRWwgfSA9IGdldERhdGVQaWNrZXJDb250ZXh0KGVsKTtcbiAgICBjb25zdCBmb2N1c2FibGVFbGVtZW50cyA9IHNlbGVjdChmb2N1c2FibGUsIGNhbGVuZGFyRWwpO1xuXG4gICAgY29uc3QgZmlyc3RUYWJJbmRleCA9IDA7XG4gICAgY29uc3QgbGFzdFRhYkluZGV4ID0gZm9jdXNhYmxlRWxlbWVudHMubGVuZ3RoIC0gMTtcbiAgICBjb25zdCBmaXJzdFRhYlN0b3AgPSBmb2N1c2FibGVFbGVtZW50c1tmaXJzdFRhYkluZGV4XTtcbiAgICBjb25zdCBsYXN0VGFiU3RvcCA9IGZvY3VzYWJsZUVsZW1lbnRzW2xhc3RUYWJJbmRleF07XG4gICAgY29uc3QgZm9jdXNJbmRleCA9IGZvY3VzYWJsZUVsZW1lbnRzLmluZGV4T2YoYWN0aXZlRWxlbWVudCgpKTtcblxuICAgIGNvbnN0IGlzTGFzdFRhYiA9IGZvY3VzSW5kZXggPT09IGxhc3RUYWJJbmRleDtcbiAgICBjb25zdCBpc0ZpcnN0VGFiID0gZm9jdXNJbmRleCA9PT0gZmlyc3RUYWJJbmRleDtcbiAgICBjb25zdCBpc05vdEZvdW5kID0gZm9jdXNJbmRleCA9PT0gLTE7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZm9jdXNhYmxlRWxlbWVudHMsXG4gICAgICBpc05vdEZvdW5kLFxuICAgICAgZmlyc3RUYWJTdG9wLFxuICAgICAgaXNGaXJzdFRhYixcbiAgICAgIGxhc3RUYWJTdG9wLFxuICAgICAgaXNMYXN0VGFiLFxuICAgIH07XG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICB0YWJBaGVhZChldmVudCkge1xuICAgICAgY29uc3QgeyBmaXJzdFRhYlN0b3AsIGlzTGFzdFRhYiwgaXNOb3RGb3VuZCB9ID0gZ2V0Rm9jdXNhYmxlQ29udGV4dChcbiAgICAgICAgZXZlbnQudGFyZ2V0LFxuICAgICAgKTtcblxuICAgICAgaWYgKGlzTGFzdFRhYiB8fCBpc05vdEZvdW5kKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGZpcnN0VGFiU3RvcC5mb2N1cygpO1xuICAgICAgfVxuICAgIH0sXG4gICAgdGFiQmFjayhldmVudCkge1xuICAgICAgY29uc3QgeyBsYXN0VGFiU3RvcCwgaXNGaXJzdFRhYiwgaXNOb3RGb3VuZCB9ID0gZ2V0Rm9jdXNhYmxlQ29udGV4dChcbiAgICAgICAgZXZlbnQudGFyZ2V0LFxuICAgICAgKTtcblxuICAgICAgaWYgKGlzRmlyc3RUYWIgfHwgaXNOb3RGb3VuZCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBsYXN0VGFiU3RvcC5mb2N1cygpO1xuICAgICAgfVxuICAgIH0sXG4gIH07XG59O1xuXG5jb25zdCBkYXRlUGlja2VyVGFiRXZlbnRIYW5kbGVyID0gdGFiSGFuZGxlcihEQVRFX1BJQ0tFUl9GT0NVU0FCTEUpO1xuY29uc3QgbW9udGhQaWNrZXJUYWJFdmVudEhhbmRsZXIgPSB0YWJIYW5kbGVyKE1PTlRIX1BJQ0tFUl9GT0NVU0FCTEUpO1xuY29uc3QgeWVhclBpY2tlclRhYkV2ZW50SGFuZGxlciA9IHRhYkhhbmRsZXIoWUVBUl9QSUNLRVJfRk9DVVNBQkxFKTtcblxuLy8gI2VuZHJlZ2lvbiBGb2N1cyBIYW5kbGluZyBFdmVudCBIYW5kbGluZ1xuXG4vLyAjcmVnaW9uIERhdGUgUGlja2VyIEV2ZW50IERlbGVnYXRpb24gUmVnaXN0cmF0aW9uIC8gQ29tcG9uZW50XG5cbmNvbnN0IGRhdGVQaWNrZXJFdmVudHMgPSB7XG4gIFtDTElDS106IHtcbiAgICBbREFURV9QSUNLRVJfQlVUVE9OXSgpIHtcbiAgICAgIHRvZ2dsZUNhbGVuZGFyKHRoaXMpO1xuICAgIH0sXG4gICAgW0NBTEVOREFSX0RBVEVdKCkge1xuICAgICAgc2VsZWN0RGF0ZSh0aGlzKTtcbiAgICB9LFxuICAgIFtDQUxFTkRBUl9NT05USF0oKSB7XG4gICAgICBzZWxlY3RNb250aCh0aGlzKTtcbiAgICB9LFxuICAgIFtDQUxFTkRBUl9ZRUFSXSgpIHtcbiAgICAgIHNlbGVjdFllYXIodGhpcyk7XG4gICAgfSxcbiAgICBbQ0FMRU5EQVJfUFJFVklPVVNfTU9OVEhdKCkge1xuICAgICAgZGlzcGxheVByZXZpb3VzTW9udGgodGhpcyk7XG4gICAgfSxcbiAgICBbQ0FMRU5EQVJfTkVYVF9NT05USF0oKSB7XG4gICAgICBkaXNwbGF5TmV4dE1vbnRoKHRoaXMpO1xuICAgIH0sXG4gICAgW0NBTEVOREFSX1BSRVZJT1VTX1lFQVJdKCkge1xuICAgICAgZGlzcGxheVByZXZpb3VzWWVhcih0aGlzKTtcbiAgICB9LFxuICAgIFtDQUxFTkRBUl9ORVhUX1lFQVJdKCkge1xuICAgICAgZGlzcGxheU5leHRZZWFyKHRoaXMpO1xuICAgIH0sXG4gICAgW0NBTEVOREFSX1BSRVZJT1VTX1lFQVJfQ0hVTktdKCkge1xuICAgICAgZGlzcGxheVByZXZpb3VzWWVhckNodW5rKHRoaXMpO1xuICAgIH0sXG4gICAgW0NBTEVOREFSX05FWFRfWUVBUl9DSFVOS10oKSB7XG4gICAgICBkaXNwbGF5TmV4dFllYXJDaHVuayh0aGlzKTtcbiAgICB9LFxuICAgIFtDQUxFTkRBUl9NT05USF9TRUxFQ1RJT05dKCkge1xuICAgICAgY29uc3QgbmV3Q2FsZW5kYXIgPSBkaXNwbGF5TW9udGhTZWxlY3Rpb24odGhpcyk7XG4gICAgICBuZXdDYWxlbmRhci5xdWVyeVNlbGVjdG9yKENBTEVOREFSX01PTlRIX0ZPQ1VTRUQpLmZvY3VzKCk7XG4gICAgfSxcbiAgICBbQ0FMRU5EQVJfWUVBUl9TRUxFQ1RJT05dKCkge1xuICAgICAgY29uc3QgbmV3Q2FsZW5kYXIgPSBkaXNwbGF5WWVhclNlbGVjdGlvbih0aGlzKTtcbiAgICAgIG5ld0NhbGVuZGFyLnF1ZXJ5U2VsZWN0b3IoQ0FMRU5EQVJfWUVBUl9GT0NVU0VEKS5mb2N1cygpO1xuICAgIH0sXG4gIH0sXG4gIGtleXVwOiB7XG4gICAgW0RBVEVfUElDS0VSX0NBTEVOREFSXShldmVudCkge1xuICAgICAgY29uc3Qga2V5ZG93biA9IHRoaXMuZGF0YXNldC5rZXlkb3duS2V5Q29kZTtcbiAgICAgIGlmIChgJHtldmVudC5rZXlDb2RlfWAgIT09IGtleWRvd24pIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9LFxuICB9LFxuICBrZXlkb3duOiB7XG4gICAgW0RBVEVfUElDS0VSX0VYVEVSTkFMX0lOUFVUXShldmVudCkge1xuICAgICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IEVOVEVSX0tFWUNPREUpIHtcbiAgICAgICAgdmFsaWRhdGVEYXRlSW5wdXQodGhpcyk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbQ0FMRU5EQVJfREFURV06IGtleW1hcCh7XG4gICAgICBVcDogaGFuZGxlVXBGcm9tRGF0ZSxcbiAgICAgIEFycm93VXA6IGhhbmRsZVVwRnJvbURhdGUsXG4gICAgICBEb3duOiBoYW5kbGVEb3duRnJvbURhdGUsXG4gICAgICBBcnJvd0Rvd246IGhhbmRsZURvd25Gcm9tRGF0ZSxcbiAgICAgIExlZnQ6IGhhbmRsZUxlZnRGcm9tRGF0ZSxcbiAgICAgIEFycm93TGVmdDogaGFuZGxlTGVmdEZyb21EYXRlLFxuICAgICAgUmlnaHQ6IGhhbmRsZVJpZ2h0RnJvbURhdGUsXG4gICAgICBBcnJvd1JpZ2h0OiBoYW5kbGVSaWdodEZyb21EYXRlLFxuICAgICAgSG9tZTogaGFuZGxlSG9tZUZyb21EYXRlLFxuICAgICAgRW5kOiBoYW5kbGVFbmRGcm9tRGF0ZSxcbiAgICAgIFBhZ2VEb3duOiBoYW5kbGVQYWdlRG93bkZyb21EYXRlLFxuICAgICAgUGFnZVVwOiBoYW5kbGVQYWdlVXBGcm9tRGF0ZSxcbiAgICAgIFwiU2hpZnQrUGFnZURvd25cIjogaGFuZGxlU2hpZnRQYWdlRG93bkZyb21EYXRlLFxuICAgICAgXCJTaGlmdCtQYWdlVXBcIjogaGFuZGxlU2hpZnRQYWdlVXBGcm9tRGF0ZSxcbiAgICAgIFRhYjogZGF0ZVBpY2tlclRhYkV2ZW50SGFuZGxlci50YWJBaGVhZCxcbiAgICB9KSxcbiAgICBbQ0FMRU5EQVJfREFURV9QSUNLRVJdOiBrZXltYXAoe1xuICAgICAgVGFiOiBkYXRlUGlja2VyVGFiRXZlbnRIYW5kbGVyLnRhYkFoZWFkLFxuICAgICAgXCJTaGlmdCtUYWJcIjogZGF0ZVBpY2tlclRhYkV2ZW50SGFuZGxlci50YWJCYWNrLFxuICAgIH0pLFxuICAgIFtDQUxFTkRBUl9NT05USF06IGtleW1hcCh7XG4gICAgICBVcDogaGFuZGxlVXBGcm9tTW9udGgsXG4gICAgICBBcnJvd1VwOiBoYW5kbGVVcEZyb21Nb250aCxcbiAgICAgIERvd246IGhhbmRsZURvd25Gcm9tTW9udGgsXG4gICAgICBBcnJvd0Rvd246IGhhbmRsZURvd25Gcm9tTW9udGgsXG4gICAgICBMZWZ0OiBoYW5kbGVMZWZ0RnJvbU1vbnRoLFxuICAgICAgQXJyb3dMZWZ0OiBoYW5kbGVMZWZ0RnJvbU1vbnRoLFxuICAgICAgUmlnaHQ6IGhhbmRsZVJpZ2h0RnJvbU1vbnRoLFxuICAgICAgQXJyb3dSaWdodDogaGFuZGxlUmlnaHRGcm9tTW9udGgsXG4gICAgICBIb21lOiBoYW5kbGVIb21lRnJvbU1vbnRoLFxuICAgICAgRW5kOiBoYW5kbGVFbmRGcm9tTW9udGgsXG4gICAgICBQYWdlRG93bjogaGFuZGxlUGFnZURvd25Gcm9tTW9udGgsXG4gICAgICBQYWdlVXA6IGhhbmRsZVBhZ2VVcEZyb21Nb250aCxcbiAgICB9KSxcbiAgICBbQ0FMRU5EQVJfTU9OVEhfUElDS0VSXToga2V5bWFwKHtcbiAgICAgIFRhYjogbW9udGhQaWNrZXJUYWJFdmVudEhhbmRsZXIudGFiQWhlYWQsXG4gICAgICBcIlNoaWZ0K1RhYlwiOiBtb250aFBpY2tlclRhYkV2ZW50SGFuZGxlci50YWJCYWNrLFxuICAgIH0pLFxuICAgIFtDQUxFTkRBUl9ZRUFSXToga2V5bWFwKHtcbiAgICAgIFVwOiBoYW5kbGVVcEZyb21ZZWFyLFxuICAgICAgQXJyb3dVcDogaGFuZGxlVXBGcm9tWWVhcixcbiAgICAgIERvd246IGhhbmRsZURvd25Gcm9tWWVhcixcbiAgICAgIEFycm93RG93bjogaGFuZGxlRG93bkZyb21ZZWFyLFxuICAgICAgTGVmdDogaGFuZGxlTGVmdEZyb21ZZWFyLFxuICAgICAgQXJyb3dMZWZ0OiBoYW5kbGVMZWZ0RnJvbVllYXIsXG4gICAgICBSaWdodDogaGFuZGxlUmlnaHRGcm9tWWVhcixcbiAgICAgIEFycm93UmlnaHQ6IGhhbmRsZVJpZ2h0RnJvbVllYXIsXG4gICAgICBIb21lOiBoYW5kbGVIb21lRnJvbVllYXIsXG4gICAgICBFbmQ6IGhhbmRsZUVuZEZyb21ZZWFyLFxuICAgICAgUGFnZURvd246IGhhbmRsZVBhZ2VEb3duRnJvbVllYXIsXG4gICAgICBQYWdlVXA6IGhhbmRsZVBhZ2VVcEZyb21ZZWFyLFxuICAgIH0pLFxuICAgIFtDQUxFTkRBUl9ZRUFSX1BJQ0tFUl06IGtleW1hcCh7XG4gICAgICBUYWI6IHllYXJQaWNrZXJUYWJFdmVudEhhbmRsZXIudGFiQWhlYWQsXG4gICAgICBcIlNoaWZ0K1RhYlwiOiB5ZWFyUGlja2VyVGFiRXZlbnRIYW5kbGVyLnRhYkJhY2ssXG4gICAgfSksXG4gICAgW0RBVEVfUElDS0VSX0NBTEVOREFSXShldmVudCkge1xuICAgICAgdGhpcy5kYXRhc2V0LmtleWRvd25LZXlDb2RlID0gZXZlbnQua2V5Q29kZTtcbiAgICB9LFxuICAgIFtEQVRFX1BJQ0tFUl0oZXZlbnQpIHtcbiAgICAgIGNvbnN0IGtleU1hcCA9IGtleW1hcCh7XG4gICAgICAgIEVzY2FwZTogaGFuZGxlRXNjYXBlRnJvbUNhbGVuZGFyLFxuICAgICAgfSk7XG5cbiAgICAgIGtleU1hcChldmVudCk7XG4gICAgfSxcbiAgfSxcbiAgZm9jdXNvdXQ6IHtcbiAgICBbREFURV9QSUNLRVJfRVhURVJOQUxfSU5QVVRdKCkge1xuICAgICAgdmFsaWRhdGVEYXRlSW5wdXQodGhpcyk7XG4gICAgfSxcbiAgICBbREFURV9QSUNLRVJdKGV2ZW50KSB7XG4gICAgICBpZiAoIXRoaXMuY29udGFpbnMoZXZlbnQucmVsYXRlZFRhcmdldCkpIHtcbiAgICAgICAgaGlkZUNhbGVuZGFyKHRoaXMpO1xuICAgICAgfVxuICAgIH0sXG4gIH0sXG4gIGlucHV0OiB7XG4gICAgW0RBVEVfUElDS0VSX0VYVEVSTkFMX0lOUFVUXSgpIHtcbiAgICAgIHJlY29uY2lsZUlucHV0VmFsdWVzKHRoaXMpO1xuICAgICAgdXBkYXRlQ2FsZW5kYXJJZlZpc2libGUodGhpcyk7XG4gICAgfSxcbiAgfSxcbn07XG5cbmlmICghaXNJb3NEZXZpY2UoKSkge1xuICBkYXRlUGlja2VyRXZlbnRzLm1vdXNlb3ZlciA9IHtcbiAgICBbQ0FMRU5EQVJfREFURV9DVVJSRU5UX01PTlRIXSgpIHtcbiAgICAgIGhhbmRsZU1vdXNlb3ZlckZyb21EYXRlKHRoaXMpO1xuICAgIH0sXG4gICAgW0NBTEVOREFSX01PTlRIXSgpIHtcbiAgICAgIGhhbmRsZU1vdXNlb3ZlckZyb21Nb250aCh0aGlzKTtcbiAgICB9LFxuICAgIFtDQUxFTkRBUl9ZRUFSXSgpIHtcbiAgICAgIGhhbmRsZU1vdXNlb3ZlckZyb21ZZWFyKHRoaXMpO1xuICAgIH0sXG4gIH07XG59XG5cbmNvbnN0IGRhdGVQaWNrZXIgPSBiZWhhdmlvcihkYXRlUGlja2VyRXZlbnRzLCB7XG4gIGluaXQocm9vdCkge1xuICAgIHNlbGVjdE9yTWF0Y2hlcyhEQVRFX1BJQ0tFUiwgcm9vdCkuZm9yRWFjaCgoZGF0ZVBpY2tlckVsKSA9PiB7XG4gICAgICBlbmhhbmNlRGF0ZVBpY2tlcihkYXRlUGlja2VyRWwpO1xuICAgIH0pO1xuICB9LFxuICBnZXREYXRlUGlja2VyQ29udGV4dCxcbiAgZGlzYWJsZSxcbiAgYXJpYURpc2FibGUsXG4gIGVuYWJsZSxcbiAgaXNEYXRlSW5wdXRJbnZhbGlkLFxuICBzZXRDYWxlbmRhclZhbHVlLFxuICB2YWxpZGF0ZURhdGVJbnB1dCxcbiAgcmVuZGVyQ2FsZW5kYXIsXG4gIHVwZGF0ZUNhbGVuZGFySWZWaXNpYmxlLFxufSk7XG5cbi8vICNlbmRyZWdpb24gRGF0ZSBQaWNrZXIgRXZlbnQgRGVsZWdhdGlvbiBSZWdpc3RyYXRpb24gLyBDb21wb25lbnRcblxubW9kdWxlLmV4cG9ydHMgPSBkYXRlUGlja2VyO1xuIiwiY29uc3QgYmVoYXZpb3IgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvYmVoYXZpb3JcIik7XG5jb25zdCBzZWxlY3QgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvc2VsZWN0XCIpO1xuY29uc3Qgc2VsZWN0T3JNYXRjaGVzID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3NlbGVjdC1vci1tYXRjaGVzXCIpO1xuY29uc3QgeyBwcmVmaXg6IFBSRUZJWCB9ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL2NvbmZpZ1wiKTtcbmNvbnN0IHtcbiAgZ2V0RGF0ZVBpY2tlckNvbnRleHQsXG4gIGlzRGF0ZUlucHV0SW52YWxpZCxcbiAgdXBkYXRlQ2FsZW5kYXJJZlZpc2libGUsXG59ID0gcmVxdWlyZShcIi4uLy4uL3VzYS1kYXRlLXBpY2tlci9zcmMvaW5kZXhcIik7XG5cbmNvbnN0IERBVEVfUElDS0VSX0NMQVNTID0gYCR7UFJFRklYfS1kYXRlLXBpY2tlcmA7XG5jb25zdCBEQVRFX1JBTkdFX1BJQ0tFUl9DTEFTUyA9IGAke1BSRUZJWH0tZGF0ZS1yYW5nZS1waWNrZXJgO1xuY29uc3QgREFURV9SQU5HRV9QSUNLRVJfUkFOR0VfU1RBUlRfQ0xBU1MgPSBgJHtEQVRFX1JBTkdFX1BJQ0tFUl9DTEFTU31fX3JhbmdlLXN0YXJ0YDtcbmNvbnN0IERBVEVfUkFOR0VfUElDS0VSX1JBTkdFX0VORF9DTEFTUyA9IGAke0RBVEVfUkFOR0VfUElDS0VSX0NMQVNTfV9fcmFuZ2UtZW5kYDtcblxuY29uc3QgREFURV9QSUNLRVIgPSBgLiR7REFURV9QSUNLRVJfQ0xBU1N9YDtcbmNvbnN0IERBVEVfUkFOR0VfUElDS0VSID0gYC4ke0RBVEVfUkFOR0VfUElDS0VSX0NMQVNTfWA7XG5jb25zdCBEQVRFX1JBTkdFX1BJQ0tFUl9SQU5HRV9TVEFSVCA9IGAuJHtEQVRFX1JBTkdFX1BJQ0tFUl9SQU5HRV9TVEFSVF9DTEFTU31gO1xuY29uc3QgREFURV9SQU5HRV9QSUNLRVJfUkFOR0VfRU5EID0gYC4ke0RBVEVfUkFOR0VfUElDS0VSX1JBTkdFX0VORF9DTEFTU31gO1xuXG5jb25zdCBERUZBVUxUX01JTl9EQVRFID0gXCIwMDAwLTAxLTAxXCI7XG5cbi8qKlxuICogVGhlIHByb3BlcnRpZXMgYW5kIGVsZW1lbnRzIHdpdGhpbiB0aGUgZGF0ZSByYW5nZSBwaWNrZXIuXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBEYXRlUmFuZ2VQaWNrZXJDb250ZXh0XG4gKiBAcHJvcGVydHkge0hUTUxFbGVtZW50fSBkYXRlUmFuZ2VQaWNrZXJFbFxuICogQHByb3BlcnR5IHtIVE1MRWxlbWVudH0gcmFuZ2VTdGFydEVsXG4gKiBAcHJvcGVydHkge0hUTUxFbGVtZW50fSByYW5nZUVuZEVsXG4gKi9cblxuLyoqXG4gKiBHZXQgYW4gb2JqZWN0IG9mIHRoZSBwcm9wZXJ0aWVzIGFuZCBlbGVtZW50cyBiZWxvbmdpbmcgZGlyZWN0bHkgdG8gdGhlIGdpdmVuXG4gKiBkYXRlIHBpY2tlciBjb21wb25lbnQuXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgdGhlIGVsZW1lbnQgd2l0aGluIHRoZSBkYXRlIHBpY2tlclxuICogQHJldHVybnMge0RhdGVSYW5nZVBpY2tlckNvbnRleHR9IGVsZW1lbnRzXG4gKi9cbmNvbnN0IGdldERhdGVSYW5nZVBpY2tlckNvbnRleHQgPSAoZWwpID0+IHtcbiAgY29uc3QgZGF0ZVJhbmdlUGlja2VyRWwgPSBlbC5jbG9zZXN0KERBVEVfUkFOR0VfUElDS0VSKTtcblxuICBpZiAoIWRhdGVSYW5nZVBpY2tlckVsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBFbGVtZW50IGlzIG1pc3Npbmcgb3V0ZXIgJHtEQVRFX1JBTkdFX1BJQ0tFUn1gKTtcbiAgfVxuXG4gIGNvbnN0IHJhbmdlU3RhcnRFbCA9IGRhdGVSYW5nZVBpY2tlckVsLnF1ZXJ5U2VsZWN0b3IoXG4gICAgREFURV9SQU5HRV9QSUNLRVJfUkFOR0VfU1RBUlQsXG4gICk7XG4gIGNvbnN0IHJhbmdlRW5kRWwgPSBkYXRlUmFuZ2VQaWNrZXJFbC5xdWVyeVNlbGVjdG9yKFxuICAgIERBVEVfUkFOR0VfUElDS0VSX1JBTkdFX0VORCxcbiAgKTtcblxuICByZXR1cm4ge1xuICAgIGRhdGVSYW5nZVBpY2tlckVsLFxuICAgIHJhbmdlU3RhcnRFbCxcbiAgICByYW5nZUVuZEVsLFxuICB9O1xufTtcblxuLyoqXG4gKiBoYW5kbGUgdXBkYXRlIGZyb20gcmFuZ2Ugc3RhcnQgZGF0ZSBwaWNrZXJcbiAqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbCBhbiBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSByYW5nZSBwaWNrZXJcbiAqL1xuY29uc3QgaGFuZGxlUmFuZ2VTdGFydFVwZGF0ZSA9IChlbCkgPT4ge1xuICBjb25zdCB7IGRhdGVSYW5nZVBpY2tlckVsLCByYW5nZVN0YXJ0RWwsIHJhbmdlRW5kRWwgfSA9XG4gICAgZ2V0RGF0ZVJhbmdlUGlja2VyQ29udGV4dChlbCk7XG4gIGNvbnN0IHsgaW50ZXJuYWxJbnB1dEVsIH0gPSBnZXREYXRlUGlja2VyQ29udGV4dChyYW5nZVN0YXJ0RWwpO1xuICBjb25zdCB1cGRhdGVkRGF0ZSA9IGludGVybmFsSW5wdXRFbC52YWx1ZTtcblxuICBpZiAodXBkYXRlZERhdGUgJiYgIWlzRGF0ZUlucHV0SW52YWxpZChpbnRlcm5hbElucHV0RWwpKSB7XG4gICAgcmFuZ2VFbmRFbC5kYXRhc2V0Lm1pbkRhdGUgPSB1cGRhdGVkRGF0ZTtcbiAgICByYW5nZUVuZEVsLmRhdGFzZXQucmFuZ2VEYXRlID0gdXBkYXRlZERhdGU7XG4gICAgcmFuZ2VFbmRFbC5kYXRhc2V0LmRlZmF1bHREYXRlID0gdXBkYXRlZERhdGU7XG4gIH0gZWxzZSB7XG4gICAgcmFuZ2VFbmRFbC5kYXRhc2V0Lm1pbkRhdGUgPSBkYXRlUmFuZ2VQaWNrZXJFbC5kYXRhc2V0Lm1pbkRhdGUgfHwgXCJcIjtcbiAgICByYW5nZUVuZEVsLmRhdGFzZXQucmFuZ2VEYXRlID0gXCJcIjtcbiAgICByYW5nZUVuZEVsLmRhdGFzZXQuZGVmYXVsdERhdGUgPSBcIlwiO1xuICB9XG5cbiAgdXBkYXRlQ2FsZW5kYXJJZlZpc2libGUocmFuZ2VFbmRFbCk7XG59O1xuXG4vKipcbiAqIGhhbmRsZSB1cGRhdGUgZnJvbSByYW5nZSBzdGFydCBkYXRlIHBpY2tlclxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsIGFuIGVsZW1lbnQgd2l0aGluIHRoZSBkYXRlIHJhbmdlIHBpY2tlclxuICovXG5jb25zdCBoYW5kbGVSYW5nZUVuZFVwZGF0ZSA9IChlbCkgPT4ge1xuICBjb25zdCB7IGRhdGVSYW5nZVBpY2tlckVsLCByYW5nZVN0YXJ0RWwsIHJhbmdlRW5kRWwgfSA9XG4gICAgZ2V0RGF0ZVJhbmdlUGlja2VyQ29udGV4dChlbCk7XG4gIGNvbnN0IHsgaW50ZXJuYWxJbnB1dEVsIH0gPSBnZXREYXRlUGlja2VyQ29udGV4dChyYW5nZUVuZEVsKTtcbiAgY29uc3QgdXBkYXRlZERhdGUgPSBpbnRlcm5hbElucHV0RWwudmFsdWU7XG5cbiAgaWYgKHVwZGF0ZWREYXRlICYmICFpc0RhdGVJbnB1dEludmFsaWQoaW50ZXJuYWxJbnB1dEVsKSkge1xuICAgIHJhbmdlU3RhcnRFbC5kYXRhc2V0Lm1heERhdGUgPSB1cGRhdGVkRGF0ZTtcbiAgICByYW5nZVN0YXJ0RWwuZGF0YXNldC5yYW5nZURhdGUgPSB1cGRhdGVkRGF0ZTtcbiAgICByYW5nZVN0YXJ0RWwuZGF0YXNldC5kZWZhdWx0RGF0ZSA9IHVwZGF0ZWREYXRlO1xuICB9IGVsc2Uge1xuICAgIHJhbmdlU3RhcnRFbC5kYXRhc2V0Lm1heERhdGUgPSBkYXRlUmFuZ2VQaWNrZXJFbC5kYXRhc2V0Lm1heERhdGUgfHwgXCJcIjtcbiAgICByYW5nZVN0YXJ0RWwuZGF0YXNldC5yYW5nZURhdGUgPSBcIlwiO1xuICAgIHJhbmdlU3RhcnRFbC5kYXRhc2V0LmRlZmF1bHREYXRlID0gXCJcIjtcbiAgfVxuXG4gIHVwZGF0ZUNhbGVuZGFySWZWaXNpYmxlKHJhbmdlU3RhcnRFbCk7XG59O1xuXG4vKipcbiAqIEVuaGFuY2UgYW4gaW5wdXQgd2l0aCB0aGUgZGF0ZSBwaWNrZXIgZWxlbWVudHNcbiAqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbCBUaGUgaW5pdGlhbCB3cmFwcGluZyBlbGVtZW50IG9mIHRoZSBkYXRlIHJhbmdlIHBpY2tlciBjb21wb25lbnRcbiAqL1xuY29uc3QgZW5oYW5jZURhdGVSYW5nZVBpY2tlciA9IChlbCkgPT4ge1xuICBjb25zdCBkYXRlUmFuZ2VQaWNrZXJFbCA9IGVsLmNsb3Nlc3QoREFURV9SQU5HRV9QSUNLRVIpO1xuXG4gIGNvbnN0IFtyYW5nZVN0YXJ0LCByYW5nZUVuZF0gPSBzZWxlY3QoREFURV9QSUNLRVIsIGRhdGVSYW5nZVBpY2tlckVsKTtcblxuICBpZiAoIXJhbmdlU3RhcnQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgJHtEQVRFX1JBTkdFX1BJQ0tFUn0gaXMgbWlzc2luZyBpbm5lciB0d28gJyR7REFURV9QSUNLRVJ9JyBlbGVtZW50c2AsXG4gICAgKTtcbiAgfVxuXG4gIGlmICghcmFuZ2VFbmQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgJHtEQVRFX1JBTkdFX1BJQ0tFUn0gaXMgbWlzc2luZyBzZWNvbmQgJyR7REFURV9QSUNLRVJ9JyBlbGVtZW50YCxcbiAgICApO1xuICB9XG5cbiAgcmFuZ2VTdGFydC5jbGFzc0xpc3QuYWRkKERBVEVfUkFOR0VfUElDS0VSX1JBTkdFX1NUQVJUX0NMQVNTKTtcbiAgcmFuZ2VFbmQuY2xhc3NMaXN0LmFkZChEQVRFX1JBTkdFX1BJQ0tFUl9SQU5HRV9FTkRfQ0xBU1MpO1xuXG4gIGlmICghZGF0ZVJhbmdlUGlja2VyRWwuZGF0YXNldC5taW5EYXRlKSB7XG4gICAgZGF0ZVJhbmdlUGlja2VyRWwuZGF0YXNldC5taW5EYXRlID0gREVGQVVMVF9NSU5fREFURTtcbiAgfVxuXG4gIGNvbnN0IHsgbWluRGF0ZSB9ID0gZGF0ZVJhbmdlUGlja2VyRWwuZGF0YXNldDtcbiAgcmFuZ2VTdGFydC5kYXRhc2V0Lm1pbkRhdGUgPSBtaW5EYXRlO1xuICByYW5nZUVuZC5kYXRhc2V0Lm1pbkRhdGUgPSBtaW5EYXRlO1xuXG4gIGNvbnN0IHsgbWF4RGF0ZSB9ID0gZGF0ZVJhbmdlUGlja2VyRWwuZGF0YXNldDtcbiAgaWYgKG1heERhdGUpIHtcbiAgICByYW5nZVN0YXJ0LmRhdGFzZXQubWF4RGF0ZSA9IG1heERhdGU7XG4gICAgcmFuZ2VFbmQuZGF0YXNldC5tYXhEYXRlID0gbWF4RGF0ZTtcbiAgfVxuXG4gIGhhbmRsZVJhbmdlU3RhcnRVcGRhdGUoZGF0ZVJhbmdlUGlja2VyRWwpO1xuICBoYW5kbGVSYW5nZUVuZFVwZGF0ZShkYXRlUmFuZ2VQaWNrZXJFbCk7XG59O1xuXG5jb25zdCBkYXRlUmFuZ2VQaWNrZXIgPSBiZWhhdmlvcihcbiAge1xuICAgIFwiaW5wdXQgY2hhbmdlXCI6IHtcbiAgICAgIFtEQVRFX1JBTkdFX1BJQ0tFUl9SQU5HRV9TVEFSVF0oKSB7XG4gICAgICAgIGhhbmRsZVJhbmdlU3RhcnRVcGRhdGUodGhpcyk7XG4gICAgICB9LFxuICAgICAgW0RBVEVfUkFOR0VfUElDS0VSX1JBTkdFX0VORF0oKSB7XG4gICAgICAgIGhhbmRsZVJhbmdlRW5kVXBkYXRlKHRoaXMpO1xuICAgICAgfSxcbiAgICB9LFxuICB9LFxuICB7XG4gICAgaW5pdChyb290KSB7XG4gICAgICBzZWxlY3RPck1hdGNoZXMoREFURV9SQU5HRV9QSUNLRVIsIHJvb3QpLmZvckVhY2goKGRhdGVSYW5nZVBpY2tlckVsKSA9PiB7XG4gICAgICAgIGVuaGFuY2VEYXRlUmFuZ2VQaWNrZXIoZGF0ZVJhbmdlUGlja2VyRWwpO1xuICAgICAgfSk7XG4gICAgfSxcbiAgfSxcbik7XG5cbm1vZHVsZS5leHBvcnRzID0gZGF0ZVJhbmdlUGlja2VyO1xuIiwiY29uc3Qgc2VsZWN0T3JNYXRjaGVzID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3NlbGVjdC1vci1tYXRjaGVzXCIpO1xuY29uc3QgYmVoYXZpb3IgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvYmVoYXZpb3JcIik7XG5jb25zdCBTYW5pdGl6ZXIgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvc2FuaXRpemVyXCIpO1xuY29uc3QgeyBwcmVmaXg6IFBSRUZJWCB9ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL2NvbmZpZ1wiKTtcblxuY29uc3QgRFJPUFpPTkVfQ0xBU1MgPSBgJHtQUkVGSVh9LWZpbGUtaW5wdXRgO1xuY29uc3QgRFJPUFpPTkUgPSBgLiR7RFJPUFpPTkVfQ0xBU1N9YDtcbmNvbnN0IElOUFVUX0NMQVNTID0gYCR7UFJFRklYfS1maWxlLWlucHV0X19pbnB1dGA7XG5jb25zdCBUQVJHRVRfQ0xBU1MgPSBgJHtQUkVGSVh9LWZpbGUtaW5wdXRfX3RhcmdldGA7XG5jb25zdCBJTlBVVCA9IGAuJHtJTlBVVF9DTEFTU31gO1xuY29uc3QgQk9YX0NMQVNTID0gYCR7UFJFRklYfS1maWxlLWlucHV0X19ib3hgO1xuY29uc3QgSU5TVFJVQ1RJT05TX0NMQVNTID0gYCR7UFJFRklYfS1maWxlLWlucHV0X19pbnN0cnVjdGlvbnNgO1xuY29uc3QgUFJFVklFV19DTEFTUyA9IGAke1BSRUZJWH0tZmlsZS1pbnB1dF9fcHJldmlld2A7XG5jb25zdCBQUkVWSUVXX0hFQURJTkdfQ0xBU1MgPSBgJHtQUkVGSVh9LWZpbGUtaW5wdXRfX3ByZXZpZXctaGVhZGluZ2A7XG5jb25zdCBESVNBQkxFRF9DTEFTUyA9IGAke1BSRUZJWH0tZmlsZS1pbnB1dC0tZGlzYWJsZWRgO1xuY29uc3QgQ0hPT1NFX0NMQVNTID0gYCR7UFJFRklYfS1maWxlLWlucHV0X19jaG9vc2VgO1xuY29uc3QgQUNDRVBURURfRklMRV9NRVNTQUdFX0NMQVNTID0gYCR7UFJFRklYfS1maWxlLWlucHV0X19hY2NlcHRlZC1maWxlcy1tZXNzYWdlYDtcbmNvbnN0IERSQUdfVEVYVF9DTEFTUyA9IGAke1BSRUZJWH0tZmlsZS1pbnB1dF9fZHJhZy10ZXh0YDtcbmNvbnN0IERSQUdfQ0xBU1MgPSBgJHtQUkVGSVh9LWZpbGUtaW5wdXQtLWRyYWdgO1xuY29uc3QgTE9BRElOR19DTEFTUyA9IFwiaXMtbG9hZGluZ1wiO1xuY29uc3QgSU5WQUxJRF9GSUxFX0NMQVNTID0gXCJoYXMtaW52YWxpZC1maWxlXCI7XG5jb25zdCBHRU5FUklDX1BSRVZJRVdfQ0xBU1NfTkFNRSA9IGAke1BSRUZJWH0tZmlsZS1pbnB1dF9fcHJldmlldy1pbWFnZWA7XG5jb25zdCBHRU5FUklDX1BSRVZJRVdfQ0xBU1MgPSBgJHtHRU5FUklDX1BSRVZJRVdfQ0xBU1NfTkFNRX0tLWdlbmVyaWNgO1xuY29uc3QgUERGX1BSRVZJRVdfQ0xBU1MgPSBgJHtHRU5FUklDX1BSRVZJRVdfQ0xBU1NfTkFNRX0tLXBkZmA7XG5jb25zdCBXT1JEX1BSRVZJRVdfQ0xBU1MgPSBgJHtHRU5FUklDX1BSRVZJRVdfQ0xBU1NfTkFNRX0tLXdvcmRgO1xuY29uc3QgVklERU9fUFJFVklFV19DTEFTUyA9IGAke0dFTkVSSUNfUFJFVklFV19DTEFTU19OQU1FfS0tdmlkZW9gO1xuY29uc3QgRVhDRUxfUFJFVklFV19DTEFTUyA9IGAke0dFTkVSSUNfUFJFVklFV19DTEFTU19OQU1FfS0tZXhjZWxgO1xuY29uc3QgU1JfT05MWV9DTEFTUyA9IGAke1BSRUZJWH0tc3Itb25seWA7XG5jb25zdCBTUEFDRVJfR0lGID1cbiAgXCJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTdcIjtcblxubGV0IFRZUEVfSVNfVkFMSUQgPSBCb29sZWFuKHRydWUpOyAvLyBsb2dpYyBnYXRlIGZvciBjaGFuZ2UgbGlzdGVuZXJcbmxldCBERUZBVUxUX0FSSUFfTEFCRUxfVEVYVCA9IFwiXCI7XG5sZXQgREVGQVVMVF9GSUxFX1NUQVRVU19URVhUID0gXCJcIjtcblxuLyoqXG4gKiBUaGUgcHJvcGVydGllcyBhbmQgZWxlbWVudHMgd2l0aGluIHRoZSBmaWxlIGlucHV0LlxuICogQHR5cGVkZWYge09iamVjdH0gRmlsZUlucHV0Q29udGV4dFxuICogQHByb3BlcnR5IHtIVE1MRGl2RWxlbWVudH0gZHJvcFpvbmVFbFxuICogQHByb3BlcnR5IHtIVE1MSW5wdXRFbGVtZW50fSBpbnB1dEVsXG4gKi9cblxuLyoqXG4gKiBHZXQgYW4gb2JqZWN0IG9mIHRoZSBwcm9wZXJ0aWVzIGFuZCBlbGVtZW50cyBiZWxvbmdpbmcgZGlyZWN0bHkgdG8gdGhlIGdpdmVuXG4gKiBmaWxlIGlucHV0IGNvbXBvbmVudC5cbiAqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbCB0aGUgZWxlbWVudCB3aXRoaW4gdGhlIGZpbGUgaW5wdXRcbiAqIEByZXR1cm5zIHtGaWxlSW5wdXRDb250ZXh0fSBlbGVtZW50c1xuICovXG5jb25zdCBnZXRGaWxlSW5wdXRDb250ZXh0ID0gKGVsKSA9PiB7XG4gIGNvbnN0IGRyb3Bab25lRWwgPSBlbC5jbG9zZXN0KERST1BaT05FKTtcblxuICBpZiAoIWRyb3Bab25lRWwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEVsZW1lbnQgaXMgbWlzc2luZyBvdXRlciAke0RST1BaT05FfWApO1xuICB9XG5cbiAgY29uc3QgaW5wdXRFbCA9IGRyb3Bab25lRWwucXVlcnlTZWxlY3RvcihJTlBVVCk7XG5cbiAgcmV0dXJuIHtcbiAgICBkcm9wWm9uZUVsLFxuICAgIGlucHV0RWwsXG4gIH07XG59O1xuXG4vKipcbiAqIERpc2FibGUgdGhlIGZpbGUgaW5wdXQgY29tcG9uZW50XG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGZpbGUgaW5wdXQgY29tcG9uZW50XG4gKi9cbmNvbnN0IGRpc2FibGUgPSAoZWwpID0+IHtcbiAgY29uc3QgeyBkcm9wWm9uZUVsLCBpbnB1dEVsIH0gPSBnZXRGaWxlSW5wdXRDb250ZXh0KGVsKTtcblxuICBpbnB1dEVsLmRpc2FibGVkID0gdHJ1ZTtcbiAgZHJvcFpvbmVFbC5jbGFzc0xpc3QuYWRkKERJU0FCTEVEX0NMQVNTKTtcbn07XG5cbi8qKlxuICogU2V0IGFyaWEtZGlzYWJsZWQgYXR0cmlidXRlIHRvIGZpbGUgaW5wdXQgY29tcG9uZW50XG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGZpbGUgaW5wdXQgY29tcG9uZW50XG4gKi9cbmNvbnN0IGFyaWFEaXNhYmxlID0gKGVsKSA9PiB7XG4gIGNvbnN0IHsgZHJvcFpvbmVFbCB9ID0gZ2V0RmlsZUlucHV0Q29udGV4dChlbCk7XG5cbiAgZHJvcFpvbmVFbC5jbGFzc0xpc3QuYWRkKERJU0FCTEVEX0NMQVNTKTtcbn07XG5cbi8qKlxuICogRW5hYmxlIHRoZSBmaWxlIGlucHV0IGNvbXBvbmVudFxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBmaWxlIGlucHV0IGNvbXBvbmVudFxuICovXG5jb25zdCBlbmFibGUgPSAoZWwpID0+IHtcbiAgY29uc3QgeyBkcm9wWm9uZUVsLCBpbnB1dEVsIH0gPSBnZXRGaWxlSW5wdXRDb250ZXh0KGVsKTtcblxuICBpbnB1dEVsLmRpc2FibGVkID0gZmFsc2U7XG4gIGRyb3Bab25lRWwuY2xhc3NMaXN0LnJlbW92ZShESVNBQkxFRF9DTEFTUyk7XG4gIGRyb3Bab25lRWwucmVtb3ZlQXR0cmlidXRlKFwiYXJpYS1kaXNhYmxlZFwiKTtcbn07XG5cbi8qKlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBzIHNwZWNpYWwgY2hhcmFjdGVyc1xuICogQHJldHVybnMge1N0cmluZ30gcmVwbGFjZXMgc3BlY2lmaWVkIHZhbHVlc1xuICovXG5jb25zdCByZXBsYWNlTmFtZSA9IChzKSA9PiB7XG4gIGNvbnN0IGMgPSBzLmNoYXJDb2RlQXQoMCk7XG4gIGlmIChjID09PSAzMikgcmV0dXJuIFwiLVwiO1xuICBpZiAoYyA+PSA2NSAmJiBjIDw9IDkwKSByZXR1cm4gYGltZ18ke3MudG9Mb3dlckNhc2UoKX1gO1xuICByZXR1cm4gYF9fJHsoXCIwMDBcIiwgYy50b1N0cmluZygxNikpLnNsaWNlKC00KX1gO1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGFuIElEIG5hbWUgZm9yIGVhY2ggZmlsZSB0aGF0IHN0cmlwcyBhbGwgaW52YWxpZCBjaGFyYWN0ZXJzLlxuICogQHBhcmFtIHtTdHJpbmd9IG5hbWUgLSBuYW1lIG9mIHRoZSBmaWxlIGFkZGVkIHRvIGZpbGUgaW5wdXQgKHNlYXJjaHZhbHVlKVxuICogQHJldHVybnMge1N0cmluZ30gc2FtZSBjaGFyYWN0ZXJzIGFzIHRoZSBuYW1lIHdpdGggaW52YWxpZCBjaGFycyByZW1vdmVkIChuZXd2YWx1ZSlcbiAqL1xuY29uc3QgbWFrZVNhZmVGb3JJRCA9IChuYW1lKSA9PiBuYW1lLnJlcGxhY2UoL1teYS16MC05XS9nLCByZXBsYWNlTmFtZSk7XG5cbi8vIFRha2VzIGEgZ2VuZXJhdGVkIHNhZmUgSUQgYW5kIGNyZWF0ZXMgYSB1bmlxdWUgSUQuXG5jb25zdCBjcmVhdGVVbmlxdWVJRCA9IChuYW1lKSA9PlxuICBgJHtuYW1lfS0ke01hdGguZmxvb3IoRGF0ZS5ub3coKS50b1N0cmluZygpIC8gMTAwMCl9YDtcblxuLyoqXG4gKiBEZXRlcm1pbmVzIGlmIHRoZSBzaW5ndWxhciBvciBwbHVyYWwgaXRlbSBsYWJlbCBzaG91bGQgYmUgdXNlZFxuICogRGV0ZXJtaW5hdGlvbiBpcyBiYXNlZCBvbiB0aGUgcHJlc2VuY2Ugb2YgdGhlIGBtdWx0aXBsZWAgYXR0cmlidXRlXG4gKlxuICogQHBhcmFtIHtIVE1MSW5wdXRFbGVtZW50fSBmaWxlSW5wdXRFbCAtIFRoZSBpbnB1dCBlbGVtZW50LlxuICogQHJldHVybnMge0hUTUxEaXZFbGVtZW50fSBUaGUgc2luZ3VsYXIgb3IgcGx1cmFsIHZlcnNpb24gb2YgXCJpdGVtXCJcbiAqL1xuY29uc3QgZ2V0SXRlbXNMYWJlbCA9IChmaWxlSW5wdXRFbCkgPT4ge1xuICBjb25zdCBhY2NlcHRzTXVsdGlwbGUgPSBmaWxlSW5wdXRFbC5oYXNBdHRyaWJ1dGUoXCJtdWx0aXBsZVwiKTtcbiAgY29uc3QgaXRlbXNMYWJlbCA9IGFjY2VwdHNNdWx0aXBsZSA/IFwiZmlsZXNcIiA6IFwiZmlsZVwiO1xuXG4gIHJldHVybiBpdGVtc0xhYmVsO1xufTtcblxuLyoqXG4gKiBTY2FmZm9sZCB0aGUgZmlsZSBpbnB1dCBjb21wb25lbnQgd2l0aCBhIHBhcmVudCB3cmFwcGVyIGFuZFxuICogQ3JlYXRlIGEgdGFyZ2V0IGFyZWEgb3ZlcmxheSBmb3IgZHJhZyBhbmQgZHJvcCBmdW5jdGlvbmFsaXR5XG4gKlxuICogQHBhcmFtIHtIVE1MSW5wdXRFbGVtZW50fSBmaWxlSW5wdXRFbCAtIFRoZSBpbnB1dCBlbGVtZW50LlxuICogQHJldHVybnMge0hUTUxEaXZFbGVtZW50fSBUaGUgZHJhZyBhbmQgZHJvcCB0YXJnZXQgYXJlYS5cbiAqL1xuY29uc3QgY3JlYXRlVGFyZ2V0QXJlYSA9IChmaWxlSW5wdXRFbCkgPT4ge1xuICBjb25zdCBmaWxlSW5wdXRQYXJlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICBjb25zdCBkcm9wVGFyZ2V0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgY29uc3QgYm94ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcblxuICAvLyBBZGRzIGNsYXNzIG5hbWVzIGFuZCBvdGhlciBhdHRyaWJ1dGVzXG4gIGZpbGVJbnB1dEVsLmNsYXNzTGlzdC5yZW1vdmUoRFJPUFpPTkVfQ0xBU1MpO1xuICBmaWxlSW5wdXRFbC5jbGFzc0xpc3QuYWRkKElOUFVUX0NMQVNTKTtcbiAgZmlsZUlucHV0UGFyZW50LmNsYXNzTGlzdC5hZGQoRFJPUFpPTkVfQ0xBU1MpO1xuICBib3guY2xhc3NMaXN0LmFkZChCT1hfQ0xBU1MpO1xuICBkcm9wVGFyZ2V0LmNsYXNzTGlzdC5hZGQoVEFSR0VUX0NMQVNTKTtcblxuICAvLyBBZGRzIGNoaWxkIGVsZW1lbnRzIHRvIHRoZSBET01cbiAgZHJvcFRhcmdldC5wcmVwZW5kKGJveCk7XG4gIGZpbGVJbnB1dEVsLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGRyb3BUYXJnZXQsIGZpbGVJbnB1dEVsKTtcbiAgZmlsZUlucHV0RWwucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZmlsZUlucHV0UGFyZW50LCBkcm9wVGFyZ2V0KTtcbiAgZHJvcFRhcmdldC5hcHBlbmRDaGlsZChmaWxlSW5wdXRFbCk7XG4gIGZpbGVJbnB1dFBhcmVudC5hcHBlbmRDaGlsZChkcm9wVGFyZ2V0KTtcblxuICByZXR1cm4gZHJvcFRhcmdldDtcbn07XG5cbi8qKlxuICogQnVpbGQgdGhlIHZpc2libGUgZWxlbWVudCB3aXRoIGRlZmF1bHQgaW50ZXJhY3Rpb24gaW5zdHJ1Y3Rpb25zLlxuICpcbiAqIEBwYXJhbSB7SFRNTElucHV0RWxlbWVudH0gZmlsZUlucHV0RWwgLSBUaGUgaW5wdXQgZWxlbWVudC5cbiAqIEByZXR1cm5zIHtIVE1MRGl2RWxlbWVudH0gVGhlIGNvbnRhaW5lciBmb3IgdmlzaWJsZSBpbnRlcmFjdGlvbiBpbnN0cnVjdGlvbnMuXG4gKi9cbmNvbnN0IGNyZWF0ZVZpc2libGVJbnN0cnVjdGlvbnMgPSAoZmlsZUlucHV0RWwpID0+IHtcbiAgY29uc3QgZmlsZUlucHV0UGFyZW50ID0gZmlsZUlucHV0RWwuY2xvc2VzdChEUk9QWk9ORSk7XG4gIGNvbnN0IGl0ZW1zTGFiZWwgPSBnZXRJdGVtc0xhYmVsKGZpbGVJbnB1dEVsKTtcbiAgY29uc3QgaW5zdHJ1Y3Rpb25zID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgY29uc3QgZHJhZ1RleHQgPSBgRHJhZyAke2l0ZW1zTGFiZWx9IGhlcmUgb3JgO1xuICBjb25zdCBjaG9vc2VUZXh0ID0gXCJjaG9vc2UgZnJvbSBmb2xkZXJcIjtcblxuICAvLyBDcmVhdGUgaW5zdHJ1Y3Rpb25zIHRleHQgZm9yIGFyaWEtbGFiZWxcbiAgREVGQVVMVF9BUklBX0xBQkVMX1RFWFQgPSBgJHtkcmFnVGV4dH0gJHtjaG9vc2VUZXh0fWA7XG5cbiAgLy8gQWRkcyBjbGFzcyBuYW1lcyBhbmQgb3RoZXIgYXR0cmlidXRlc1xuICBpbnN0cnVjdGlvbnMuY2xhc3NMaXN0LmFkZChJTlNUUlVDVElPTlNfQ0xBU1MpO1xuICBpbnN0cnVjdGlvbnMuc2V0QXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIiwgXCJ0cnVlXCIpO1xuXG4gIC8vIEFkZCBpbml0aWFsIGluc3RydWN0aW9ucyBmb3IgaW5wdXQgdXNhZ2VcbiAgZmlsZUlucHV0RWwuc2V0QXR0cmlidXRlKFwiYXJpYS1sYWJlbFwiLCBERUZBVUxUX0FSSUFfTEFCRUxfVEVYVCk7XG4gIGluc3RydWN0aW9ucy5pbm5lckhUTUwgPSBTYW5pdGl6ZXIuZXNjYXBlSFRNTGA8c3BhbiBjbGFzcz1cIiR7RFJBR19URVhUX0NMQVNTfVwiPiR7ZHJhZ1RleHR9PC9zcGFuPiA8c3BhbiBjbGFzcz1cIiR7Q0hPT1NFX0NMQVNTfVwiPiR7Y2hvb3NlVGV4dH08L3NwYW4+YDtcblxuICAvLyBBZGQgdGhlIGluc3RydWN0aW9ucyBlbGVtZW50IHRvIHRoZSBET01cbiAgZmlsZUlucHV0RWwucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaW5zdHJ1Y3Rpb25zLCBmaWxlSW5wdXRFbCk7XG5cbiAgLy8gSUUxMSBhbmQgRWRnZSBkbyBub3Qgc3VwcG9ydCBkcm9wIGZpbGVzIG9uIGZpbGUgaW5wdXRzLCBzbyB3ZSd2ZSByZW1vdmVkIHRleHQgdGhhdCBpbmRpY2F0ZXMgdGhhdFxuICBpZiAoXG4gICAgL3J2OjExLjAvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpIHx8XG4gICAgL0VkZ2VcXC9cXGQuL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KVxuICApIHtcbiAgICBmaWxlSW5wdXRQYXJlbnQucXVlcnlTZWxlY3RvcihgLiR7RFJBR19URVhUX0NMQVNTfWApLm91dGVySFRNTCA9IFwiXCI7XG4gIH1cblxuICByZXR1cm4gaW5zdHJ1Y3Rpb25zO1xufTtcblxuLyoqXG4gKiBCdWlsZCBhIHNjcmVlbiByZWFkZXItb25seSBtZXNzYWdlIGVsZW1lbnQgdGhhdCBjb250YWlucyBmaWxlIHN0YXR1cyB1cGRhdGVzIGFuZFxuICogQ3JlYXRlIGFuZCBzZXQgdGhlIGRlZmF1bHQgZmlsZSBzdGF0dXMgbWVzc2FnZVxuICpcbiAqIEBwYXJhbSB7SFRNTElucHV0RWxlbWVudH0gZmlsZUlucHV0RWwgLSBUaGUgaW5wdXQgZWxlbWVudC5cbiAqL1xuY29uc3QgY3JlYXRlU1JPbmx5U3RhdHVzID0gKGZpbGVJbnB1dEVsKSA9PiB7XG4gIGNvbnN0IHN0YXR1c0VsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgY29uc3QgaXRlbXNMYWJlbCA9IGdldEl0ZW1zTGFiZWwoZmlsZUlucHV0RWwpO1xuICBjb25zdCBmaWxlSW5wdXRQYXJlbnQgPSBmaWxlSW5wdXRFbC5jbG9zZXN0KERST1BaT05FKTtcbiAgY29uc3QgZmlsZUlucHV0VGFyZ2V0ID0gZmlsZUlucHV0RWwuY2xvc2VzdChgLiR7VEFSR0VUX0NMQVNTfWApO1xuXG4gIERFRkFVTFRfRklMRV9TVEFUVVNfVEVYVCA9IGBObyAke2l0ZW1zTGFiZWx9IHNlbGVjdGVkLmA7XG5cbiAgLy8gQWRkcyBjbGFzcyBuYW1lcyBhbmQgb3RoZXIgYXR0cmlidXRlc1xuICBzdGF0dXNFbC5jbGFzc0xpc3QuYWRkKFNSX09OTFlfQ0xBU1MpO1xuICBzdGF0dXNFbC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWxpdmVcIiwgXCJwb2xpdGVcIik7XG5cbiAgLy8gQWRkIGluaXRpYWwgZmlsZSBzdGF0dXMgbWVzc2FnZVxuICBzdGF0dXNFbC50ZXh0Q29udGVudCA9IERFRkFVTFRfRklMRV9TVEFUVVNfVEVYVDtcblxuICAvLyBBZGQgdGhlIHN0YXR1cyBlbGVtZW50IHRvIHRoZSBET01cbiAgZmlsZUlucHV0UGFyZW50Lmluc2VydEJlZm9yZShzdGF0dXNFbCwgZmlsZUlucHV0VGFyZ2V0KTtcbn07XG5cbi8qKlxuICogU2NhZmZvbGQgdGhlIGNvbXBvbmVudCB3aXRoIGFsbCByZXF1aXJlZCBlbGVtZW50c1xuICpcbiAqIEBwYXJhbSB7SFRNTElucHV0RWxlbWVudH0gZmlsZUlucHV0RWwgLSBUaGUgb3JpZ2luYWwgaW5wdXQgZWxlbWVudC5cbiAqL1xuY29uc3QgZW5oYW5jZUZpbGVJbnB1dCA9IChmaWxlSW5wdXRFbCkgPT4ge1xuICBjb25zdCBpc0lucHV0RGlzYWJsZWQgPVxuICAgIGZpbGVJbnB1dEVsLmhhc0F0dHJpYnV0ZShcImFyaWEtZGlzYWJsZWRcIikgfHxcbiAgICBmaWxlSW5wdXRFbC5oYXNBdHRyaWJ1dGUoXCJkaXNhYmxlZFwiKTtcbiAgY29uc3QgZHJvcFRhcmdldCA9IGNyZWF0ZVRhcmdldEFyZWEoZmlsZUlucHV0RWwpO1xuICBjb25zdCBpbnN0cnVjdGlvbnMgPSBjcmVhdGVWaXNpYmxlSW5zdHJ1Y3Rpb25zKGZpbGVJbnB1dEVsKTtcbiAgY29uc3QgeyBkcm9wWm9uZUVsIH0gPSBnZXRGaWxlSW5wdXRDb250ZXh0KGZpbGVJbnB1dEVsKTtcblxuICBpZiAoaXNJbnB1dERpc2FibGVkKSB7XG4gICAgZHJvcFpvbmVFbC5jbGFzc0xpc3QuYWRkKERJU0FCTEVEX0NMQVNTKTtcbiAgfSBlbHNlIHtcbiAgICBjcmVhdGVTUk9ubHlTdGF0dXMoZmlsZUlucHV0RWwpO1xuICB9XG5cbiAgcmV0dXJuIHsgaW5zdHJ1Y3Rpb25zLCBkcm9wVGFyZ2V0IH07XG59O1xuXG4vKipcbiAqIFJlbW92ZXMgaW1hZ2UgcHJldmlld3NcbiAqIFdlIHdhbnQgdG8gc3RhcnQgd2l0aCBhIGNsZWFuIGxpc3QgZXZlcnkgdGltZSBmaWxlcyBhcmUgYWRkZWQgdG8gdGhlIGZpbGUgaW5wdXRcbiAqXG4gKiBAcGFyYW0ge0hUTUxEaXZFbGVtZW50fSBkcm9wVGFyZ2V0IC0gVGhlIGRyYWcgYW5kIGRyb3AgdGFyZ2V0IGFyZWEuXG4gKiBAcGFyYW0ge0hUTUxEaXZFbGVtZW50fSBpbnN0cnVjdGlvbnMgLSBUaGUgY29udGFpbmVyIGZvciB2aXNpYmxlIGludGVyYWN0aW9uIGluc3RydWN0aW9ucy5cbiAqL1xuY29uc3QgcmVtb3ZlT2xkUHJldmlld3MgPSAoZHJvcFRhcmdldCwgaW5zdHJ1Y3Rpb25zKSA9PiB7XG4gIGNvbnN0IGZpbGVQcmV2aWV3cyA9IGRyb3BUYXJnZXQucXVlcnlTZWxlY3RvckFsbChgLiR7UFJFVklFV19DTEFTU31gKTtcbiAgY29uc3QgY3VycmVudFByZXZpZXdIZWFkaW5nID0gZHJvcFRhcmdldC5xdWVyeVNlbGVjdG9yKFxuICAgIGAuJHtQUkVWSUVXX0hFQURJTkdfQ0xBU1N9YCxcbiAgKTtcbiAgY29uc3QgY3VycmVudEVycm9yTWVzc2FnZSA9IGRyb3BUYXJnZXQucXVlcnlTZWxlY3RvcihcbiAgICBgLiR7QUNDRVBURURfRklMRV9NRVNTQUdFX0NMQVNTfWAsXG4gICk7XG5cbiAgLyoqXG4gICAqIGZpbmRzIHRoZSBwYXJlbnQgb2YgdGhlIHBhc3NlZCBub2RlIGFuZCByZW1vdmVzIHRoZSBjaGlsZFxuICAgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBub2RlXG4gICAqL1xuICBjb25zdCByZW1vdmVJbWFnZXMgPSAobm9kZSkgPT4ge1xuICAgIG5vZGUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChub2RlKTtcbiAgfTtcblxuICAvLyBSZW1vdmUgdGhlIGhlYWRpbmcgYWJvdmUgdGhlIHByZXZpZXdzXG4gIGlmIChjdXJyZW50UHJldmlld0hlYWRpbmcpIHtcbiAgICBjdXJyZW50UHJldmlld0hlYWRpbmcub3V0ZXJIVE1MID0gXCJcIjtcbiAgfVxuXG4gIC8vIFJlbW92ZSBleGlzdGluZyBlcnJvciBtZXNzYWdlc1xuICBpZiAoY3VycmVudEVycm9yTWVzc2FnZSkge1xuICAgIGN1cnJlbnRFcnJvck1lc3NhZ2Uub3V0ZXJIVE1MID0gXCJcIjtcbiAgICBkcm9wVGFyZ2V0LmNsYXNzTGlzdC5yZW1vdmUoSU5WQUxJRF9GSUxFX0NMQVNTKTtcbiAgfVxuXG4gIC8vIEdldCByaWQgb2YgZXhpc3RpbmcgcHJldmlld3MgaWYgdGhleSBleGlzdCwgc2hvdyBpbnN0cnVjdGlvbnNcbiAgaWYgKGZpbGVQcmV2aWV3cyAhPT0gbnVsbCkge1xuICAgIGlmIChpbnN0cnVjdGlvbnMpIHtcbiAgICAgIGluc3RydWN0aW9ucy5yZW1vdmVBdHRyaWJ1dGUoXCJoaWRkZW5cIik7XG4gICAgfVxuICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoZmlsZVByZXZpZXdzLCByZW1vdmVJbWFnZXMpO1xuICB9XG59O1xuXG4vKipcbiAqIFVwZGF0ZSB0aGUgc2NyZWVuIHJlYWRlci1vbmx5IHN0YXR1cyBtZXNzYWdlIGFmdGVyIGludGVyYWN0aW9uXG4gKlxuICogQHBhcmFtIHtIVE1MRGl2RWxlbWVudH0gc3RhdHVzRWxlbWVudCAtIFRoZSBzY3JlZW4gcmVhZGVyLW9ubHkgY29udGFpbmVyIGZvciBmaWxlIHN0YXR1cyB1cGRhdGVzLlxuICogQHBhcmFtIHtPYmplY3R9IGZpbGVOYW1lcyAtIFRoZSBzZWxlY3RlZCBmaWxlcyBmb3VuZCBpbiB0aGUgZmlsZUxpc3Qgb2JqZWN0LlxuICogQHBhcmFtIHtBcnJheX0gZmlsZVN0b3JlIC0gVGhlIGFycmF5IG9mIHVwbG9hZGVkIGZpbGUgbmFtZXMgY3JlYXRlZCBmcm9tIHRoZSBmaWxlTmFtZXMgb2JqZWN0LlxuICovXG5jb25zdCB1cGRhdGVTdGF0dXNNZXNzYWdlID0gKHN0YXR1c0VsZW1lbnQsIGZpbGVOYW1lcywgZmlsZVN0b3JlKSA9PiB7XG4gIGNvbnN0IHN0YXR1c0VsID0gc3RhdHVzRWxlbWVudDtcbiAgbGV0IHN0YXR1c01lc3NhZ2UgPSBERUZBVUxUX0ZJTEVfU1RBVFVTX1RFWFQ7XG5cbiAgLy8gSWYgZmlsZXMgYWRkZWQsIHVwZGF0ZSB0aGUgc3RhdHVzIG1lc3NhZ2Ugd2l0aCBmaWxlIG5hbWUocylcbiAgaWYgKGZpbGVOYW1lcy5sZW5ndGggPT09IDEpIHtcbiAgICBzdGF0dXNNZXNzYWdlID0gYFlvdSBoYXZlIHNlbGVjdGVkIHRoZSBmaWxlOiAke2ZpbGVTdG9yZX1gO1xuICB9IGVsc2UgaWYgKGZpbGVOYW1lcy5sZW5ndGggPiAxKSB7XG4gICAgc3RhdHVzTWVzc2FnZSA9IGBZb3UgaGF2ZSBzZWxlY3RlZCAke1xuICAgICAgZmlsZU5hbWVzLmxlbmd0aFxuICAgIH0gZmlsZXM6ICR7ZmlsZVN0b3JlLmpvaW4oXCIsIFwiKX1gO1xuICB9XG5cbiAgLy8gQWRkIGRlbGF5IHRvIGVuY291cmFnZSBzY3JlZW4gcmVhZGVyIHJlYWRvdXRcbiAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgc3RhdHVzRWwudGV4dENvbnRlbnQgPSBzdGF0dXNNZXNzYWdlO1xuICB9LCAxMDAwKTtcbn07XG5cbi8qKlxuICogU2hvdyB0aGUgcHJldmlldyBoZWFkaW5nLCBoaWRlIHRoZSBpbml0aWFsIGluc3RydWN0aW9ucyBhbmRcbiAqIFVwZGF0ZSB0aGUgYXJpYS1sYWJlbCB3aXRoIG5ldyBpbnN0cnVjdGlvbnMgdGV4dFxuICpcbiAqIEBwYXJhbSB7SFRNTElucHV0RWxlbWVudH0gZmlsZUlucHV0RWwgLSBUaGUgaW5wdXQgZWxlbWVudC5cbiAqIEBwYXJhbSB7T2JqZWN0fSBmaWxlTmFtZXMgLSBUaGUgc2VsZWN0ZWQgZmlsZXMgZm91bmQgaW4gdGhlIGZpbGVMaXN0IG9iamVjdC5cbiAqL1xuY29uc3QgYWRkUHJldmlld0hlYWRpbmcgPSAoZmlsZUlucHV0RWwsIGZpbGVOYW1lcykgPT4ge1xuICBjb25zdCBmaWxlUHJldmlld3NIZWFkaW5nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgY29uc3QgZHJvcFRhcmdldCA9IGZpbGVJbnB1dEVsLmNsb3Nlc3QoYC4ke1RBUkdFVF9DTEFTU31gKTtcbiAgY29uc3QgaW5zdHJ1Y3Rpb25zID0gZHJvcFRhcmdldC5xdWVyeVNlbGVjdG9yKGAuJHtJTlNUUlVDVElPTlNfQ0xBU1N9YCk7XG4gIGxldCBjaGFuZ2VJdGVtVGV4dCA9IFwiQ2hhbmdlIGZpbGVcIjtcbiAgbGV0IHByZXZpZXdIZWFkaW5nVGV4dCA9IFwiXCI7XG5cbiAgaWYgKGZpbGVOYW1lcy5sZW5ndGggPT09IDEpIHtcbiAgICBwcmV2aWV3SGVhZGluZ1RleHQgPSBTYW5pdGl6ZXIuZXNjYXBlSFRNTGBTZWxlY3RlZCBmaWxlIDxzcGFuIGNsYXNzPVwidXNhLWZpbGUtaW5wdXRfX2Nob29zZVwiPiR7Y2hhbmdlSXRlbVRleHR9PC9zcGFuPmA7XG4gIH0gZWxzZSBpZiAoZmlsZU5hbWVzLmxlbmd0aCA+IDEpIHtcbiAgICBjaGFuZ2VJdGVtVGV4dCA9IFwiQ2hhbmdlIGZpbGVzXCI7XG4gICAgcHJldmlld0hlYWRpbmdUZXh0ID0gU2FuaXRpemVyLmVzY2FwZUhUTUxgJHtmaWxlTmFtZXMubGVuZ3RofSBmaWxlcyBzZWxlY3RlZCA8c3BhbiBjbGFzcz1cInVzYS1maWxlLWlucHV0X19jaG9vc2VcIj4ke2NoYW5nZUl0ZW1UZXh0fTwvc3Bhbj5gO1xuICB9XG5cbiAgLy8gSGlkZXMgbnVsbCBzdGF0ZSBjb250ZW50IGFuZCBzZXRzIHByZXZpZXcgaGVhZGluZ1xuICBpbnN0cnVjdGlvbnMuc2V0QXR0cmlidXRlKFwiaGlkZGVuXCIsIFwidHJ1ZVwiKTtcbiAgZmlsZVByZXZpZXdzSGVhZGluZy5jbGFzc0xpc3QuYWRkKFBSRVZJRVdfSEVBRElOR19DTEFTUyk7XG4gIGZpbGVQcmV2aWV3c0hlYWRpbmcuaW5uZXJIVE1MID0gcHJldmlld0hlYWRpbmdUZXh0O1xuICBkcm9wVGFyZ2V0Lmluc2VydEJlZm9yZShmaWxlUHJldmlld3NIZWFkaW5nLCBpbnN0cnVjdGlvbnMpO1xuXG4gIC8vIFVwZGF0ZSBhcmlhIGxhYmVsIHRvIG1hdGNoIHRoZSB2aXNpYmxlIGFjdGlvbiB0ZXh0XG4gIGZpbGVJbnB1dEVsLnNldEF0dHJpYnV0ZShcImFyaWEtbGFiZWxcIiwgY2hhbmdlSXRlbVRleHQpO1xufTtcblxuLyoqXG4gKiBXaGVuIG5ldyBmaWxlcyBhcmUgYXBwbGllZCB0byBmaWxlIGlucHV0LCB0aGlzIGZ1bmN0aW9uIGdlbmVyYXRlcyBwcmV2aWV3c1xuICogYW5kIHJlbW92ZXMgb2xkIG9uZXMuXG4gKlxuICogQHBhcmFtIHtldmVudH0gZVxuICogQHBhcmFtIHtIVE1MSW5wdXRFbGVtZW50fSBmaWxlSW5wdXRFbCAtIFRoZSBpbnB1dCBlbGVtZW50LlxuICogQHBhcmFtIHtIVE1MRGl2RWxlbWVudH0gaW5zdHJ1Y3Rpb25zIC0gVGhlIGNvbnRhaW5lciBmb3IgdmlzaWJsZSBpbnRlcmFjdGlvbiBpbnN0cnVjdGlvbnMuXG4gKiBAcGFyYW0ge0hUTUxEaXZFbGVtZW50fSBkcm9wVGFyZ2V0IC0gVGhlIGRyYWcgYW5kIGRyb3AgdGFyZ2V0IGFyZWEuXG4gKi9cblxuY29uc3QgaGFuZGxlQ2hhbmdlID0gKGUsIGZpbGVJbnB1dEVsLCBpbnN0cnVjdGlvbnMsIGRyb3BUYXJnZXQpID0+IHtcbiAgY29uc3QgZmlsZU5hbWVzID0gZS50YXJnZXQuZmlsZXM7XG4gIGNvbnN0IGlucHV0UGFyZW50ID0gZHJvcFRhcmdldC5jbG9zZXN0KGAuJHtEUk9QWk9ORV9DTEFTU31gKTtcbiAgY29uc3Qgc3RhdHVzRWxlbWVudCA9IGlucHV0UGFyZW50LnF1ZXJ5U2VsZWN0b3IoYC4ke1NSX09OTFlfQ0xBU1N9YCk7XG4gIGNvbnN0IGZpbGVTdG9yZSA9IFtdO1xuXG4gIC8vIEZpcnN0LCBnZXQgcmlkIG9mIGV4aXN0aW5nIHByZXZpZXdzXG4gIHJlbW92ZU9sZFByZXZpZXdzKGRyb3BUYXJnZXQsIGluc3RydWN0aW9ucyk7XG5cbiAgLy8gVGhlbiwgaXRlcmF0ZSB0aHJvdWdoIGZpbGVzIGxpc3QgYW5kIGNyZWF0ZSBwcmV2aWV3c1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGZpbGVOYW1lcy5sZW5ndGg7IGkgKz0gMSkge1xuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgY29uc3QgZmlsZU5hbWUgPSBmaWxlTmFtZXNbaV0ubmFtZTtcbiAgICBsZXQgaW1hZ2VJZDtcblxuICAgIC8vIFB1c2ggdXBkYXRlZCBmaWxlIG5hbWVzIGludG8gdGhlIHN0b3JlIGFycmF5XG4gICAgZmlsZVN0b3JlLnB1c2goZmlsZU5hbWUpO1xuXG4gICAgLy8gU3RhcnRzIHdpdGggYSBsb2FkaW5nIGltYWdlIHdoaWxlIHByZXZpZXcgaXMgY3JlYXRlZFxuICAgIHJlYWRlci5vbmxvYWRzdGFydCA9IGZ1bmN0aW9uIGNyZWF0ZUxvYWRpbmdJbWFnZSgpIHtcbiAgICAgIGltYWdlSWQgPSBjcmVhdGVVbmlxdWVJRChtYWtlU2FmZUZvcklEKGZpbGVOYW1lKSk7XG5cbiAgICAgIGluc3RydWN0aW9ucy5pbnNlcnRBZGphY2VudEhUTUwoXG4gICAgICAgIFwiYWZ0ZXJlbmRcIixcbiAgICAgICAgU2FuaXRpemVyLmVzY2FwZUhUTUxgPGRpdiBjbGFzcz1cIiR7UFJFVklFV19DTEFTU31cIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICA8aW1nIGlkPVwiJHtpbWFnZUlkfVwiIHNyYz1cIiR7U1BBQ0VSX0dJRn1cIiBhbHQ9XCJcIiBjbGFzcz1cIiR7R0VORVJJQ19QUkVWSUVXX0NMQVNTX05BTUV9ICR7TE9BRElOR19DTEFTU31cIi8+JHtmaWxlTmFtZX1cbiAgICAgICAgPGRpdj5gLFxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgLy8gTm90IGFsbCBmaWxlcyB3aWxsIGJlIGFibGUgdG8gZ2VuZXJhdGUgcHJldmlld3MuIEluIGNhc2UgdGhpcyBoYXBwZW5zLCB3ZSBwcm92aWRlIHNldmVyYWwgdHlwZXMgXCJnZW5lcmljIHByZXZpZXdzXCIgYmFzZWQgb24gdGhlIGZpbGUgZXh0ZW5zaW9uLlxuICAgIHJlYWRlci5vbmxvYWRlbmQgPSBmdW5jdGlvbiBjcmVhdGVGaWxlUHJldmlldygpIHtcbiAgICAgIGNvbnN0IHByZXZpZXdJbWFnZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGltYWdlSWQpO1xuICAgICAgaWYgKGZpbGVOYW1lLmluZGV4T2YoXCIucGRmXCIpID4gMCkge1xuICAgICAgICBwcmV2aWV3SW1hZ2Uuc2V0QXR0cmlidXRlKFxuICAgICAgICAgIFwib25lcnJvclwiLFxuICAgICAgICAgIGB0aGlzLm9uZXJyb3I9bnVsbDt0aGlzLnNyYz1cIiR7U1BBQ0VSX0dJRn1cIjsgdGhpcy5jbGFzc0xpc3QuYWRkKFwiJHtQREZfUFJFVklFV19DTEFTU31cIilgLFxuICAgICAgICApO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgZmlsZU5hbWUuaW5kZXhPZihcIi5kb2NcIikgPiAwIHx8XG4gICAgICAgIGZpbGVOYW1lLmluZGV4T2YoXCIucGFnZXNcIikgPiAwXG4gICAgICApIHtcbiAgICAgICAgcHJldmlld0ltYWdlLnNldEF0dHJpYnV0ZShcbiAgICAgICAgICBcIm9uZXJyb3JcIixcbiAgICAgICAgICBgdGhpcy5vbmVycm9yPW51bGw7dGhpcy5zcmM9XCIke1NQQUNFUl9HSUZ9XCI7IHRoaXMuY2xhc3NMaXN0LmFkZChcIiR7V09SRF9QUkVWSUVXX0NMQVNTfVwiKWAsXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICBmaWxlTmFtZS5pbmRleE9mKFwiLnhsc1wiKSA+IDAgfHxcbiAgICAgICAgZmlsZU5hbWUuaW5kZXhPZihcIi5udW1iZXJzXCIpID4gMFxuICAgICAgKSB7XG4gICAgICAgIHByZXZpZXdJbWFnZS5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgXCJvbmVycm9yXCIsXG4gICAgICAgICAgYHRoaXMub25lcnJvcj1udWxsO3RoaXMuc3JjPVwiJHtTUEFDRVJfR0lGfVwiOyB0aGlzLmNsYXNzTGlzdC5hZGQoXCIke0VYQ0VMX1BSRVZJRVdfQ0xBU1N9XCIpYCxcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSBpZiAoZmlsZU5hbWUuaW5kZXhPZihcIi5tb3ZcIikgPiAwIHx8IGZpbGVOYW1lLmluZGV4T2YoXCIubXA0XCIpID4gMCkge1xuICAgICAgICBwcmV2aWV3SW1hZ2Uuc2V0QXR0cmlidXRlKFxuICAgICAgICAgIFwib25lcnJvclwiLFxuICAgICAgICAgIGB0aGlzLm9uZXJyb3I9bnVsbDt0aGlzLnNyYz1cIiR7U1BBQ0VSX0dJRn1cIjsgdGhpcy5jbGFzc0xpc3QuYWRkKFwiJHtWSURFT19QUkVWSUVXX0NMQVNTfVwiKWAsXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwcmV2aWV3SW1hZ2Uuc2V0QXR0cmlidXRlKFxuICAgICAgICAgIFwib25lcnJvclwiLFxuICAgICAgICAgIGB0aGlzLm9uZXJyb3I9bnVsbDt0aGlzLnNyYz1cIiR7U1BBQ0VSX0dJRn1cIjsgdGhpcy5jbGFzc0xpc3QuYWRkKFwiJHtHRU5FUklDX1BSRVZJRVdfQ0xBU1N9XCIpYCxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVtb3ZlcyBsb2FkZXIgYW5kIGRpc3BsYXlzIHByZXZpZXdcbiAgICAgIHByZXZpZXdJbWFnZS5jbGFzc0xpc3QucmVtb3ZlKExPQURJTkdfQ0xBU1MpO1xuICAgICAgcHJldmlld0ltYWdlLnNyYyA9IHJlYWRlci5yZXN1bHQ7XG4gICAgfTtcblxuICAgIGlmIChmaWxlTmFtZXNbaV0pIHtcbiAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGVOYW1lc1tpXSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGZpbGVOYW1lcy5sZW5ndGggPT09IDApIHtcbiAgICAvLyBSZXNldCBpbnB1dCBhcmlhLWxhYmVsIHdpdGggZGVmYXVsdCBtZXNzYWdlXG4gICAgZmlsZUlucHV0RWwuc2V0QXR0cmlidXRlKFwiYXJpYS1sYWJlbFwiLCBERUZBVUxUX0FSSUFfTEFCRUxfVEVYVCk7XG4gIH0gZWxzZSB7XG4gICAgYWRkUHJldmlld0hlYWRpbmcoZmlsZUlucHV0RWwsIGZpbGVOYW1lcyk7XG4gIH1cblxuICB1cGRhdGVTdGF0dXNNZXNzYWdlKHN0YXR1c0VsZW1lbnQsIGZpbGVOYW1lcywgZmlsZVN0b3JlKTtcbn07XG5cbi8qKlxuICogV2hlbiB1c2luZyBhbiBBY2NlcHQgYXR0cmlidXRlLCBpbnZhbGlkIGZpbGVzIHdpbGwgYmUgaGlkZGVuIGZyb21cbiAqIGZpbGUgYnJvd3NlciwgYnV0IHRoZXkgY2FuIHN0aWxsIGJlIGRyYWdnZWQgdG8gdGhlIGlucHV0LiBUaGlzXG4gKiBmdW5jdGlvbiBwcmV2ZW50cyB0aGVtIGZyb20gYmVpbmcgZHJhZ2dlZCBhbmQgcmVtb3ZlcyBlcnJvciBzdGF0ZXNcbiAqIHdoZW4gY29ycmVjdCBmaWxlcyBhcmUgYWRkZWQuXG4gKlxuICogQHBhcmFtIHtldmVudH0gZVxuICogQHBhcmFtIHtIVE1MSW5wdXRFbGVtZW50fSBmaWxlSW5wdXRFbCAtIFRoZSBpbnB1dCBlbGVtZW50LlxuICogQHBhcmFtIHtIVE1MRGl2RWxlbWVudH0gaW5zdHJ1Y3Rpb25zIC0gVGhlIGNvbnRhaW5lciBmb3IgdmlzaWJsZSBpbnRlcmFjdGlvbiBpbnN0cnVjdGlvbnMuXG4gKiBAcGFyYW0ge0hUTUxEaXZFbGVtZW50fSBkcm9wVGFyZ2V0IC0gVGhlIGRyYWcgYW5kIGRyb3AgdGFyZ2V0IGFyZWEuXG4gKi9cbmNvbnN0IHByZXZlbnRJbnZhbGlkRmlsZXMgPSAoZSwgZmlsZUlucHV0RWwsIGluc3RydWN0aW9ucywgZHJvcFRhcmdldCkgPT4ge1xuICBjb25zdCBhY2NlcHRlZEZpbGVzQXR0ciA9IGZpbGVJbnB1dEVsLmdldEF0dHJpYnV0ZShcImFjY2VwdFwiKTtcbiAgZHJvcFRhcmdldC5jbGFzc0xpc3QucmVtb3ZlKElOVkFMSURfRklMRV9DTEFTUyk7XG5cbiAgLyoqXG4gICAqIFdlIGNhbiBwcm9iYWJseSBtb3ZlIGF3YXkgZnJvbSB0aGlzIG9uY2UgSUUxMSBzdXBwb3J0IHN0b3BzLCBhbmQgcmVwbGFjZVxuICAgKiB3aXRoIGEgc2ltcGxlIGVzIGAuaW5jbHVkZXNgXG4gICAqIGNoZWNrIGlmIGVsZW1lbnQgaXMgaW4gYXJyYXlcbiAgICogY2hlY2sgaWYgMSBvciBtb3JlIGFscGhhYmV0cyBhcmUgaW4gc3RyaW5nXG4gICAqIGlmIGVsZW1lbnQgaXMgcHJlc2VudCByZXR1cm4gdGhlIHBvc2l0aW9uIHZhbHVlIGFuZCAtMSBvdGhlcndpc2VcbiAgICogQHBhcmFtIHtPYmplY3R9IGZpbGVcbiAgICogQHBhcmFtIHtTdHJpbmd9IHZhbHVlXG4gICAqIEByZXR1cm5zIHtCb29sZWFufVxuICAgKi9cbiAgY29uc3QgaXNJbmNsdWRlZCA9IChmaWxlLCB2YWx1ZSkgPT4ge1xuICAgIGxldCByZXR1cm5WYWx1ZSA9IGZhbHNlO1xuICAgIGNvbnN0IHBvcyA9IGZpbGUuaW5kZXhPZih2YWx1ZSk7XG4gICAgaWYgKHBvcyA+PSAwKSB7XG4gICAgICByZXR1cm5WYWx1ZSA9IHRydWU7XG4gICAgfVxuICAgIHJldHVybiByZXR1cm5WYWx1ZTtcbiAgfTtcblxuICAvLyBSdW5zIGlmIG9ubHkgc3BlY2lmaWMgZmlsZXMgYXJlIGFjY2VwdGVkXG4gIGlmIChhY2NlcHRlZEZpbGVzQXR0cikge1xuICAgIGNvbnN0IGFjY2VwdGVkRmlsZXMgPSBhY2NlcHRlZEZpbGVzQXR0ci5zcGxpdChcIixcIik7XG4gICAgY29uc3QgZXJyb3JNZXNzYWdlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcblxuICAgIC8vIElmIG11bHRpcGxlIGZpbGVzIGFyZSBkcmFnZ2VkLCB0aGlzIGl0ZXJhdGVzIHRocm91Z2ggdGhlbSBhbmQgbG9vayBmb3IgYW55IGZpbGVzIHRoYXQgYXJlIG5vdCBhY2NlcHRlZC5cbiAgICBsZXQgYWxsRmlsZXNBbGxvd2VkID0gdHJ1ZTtcbiAgICBjb25zdCBzY2FubmVkRmlsZXMgPSBlLnRhcmdldC5maWxlcyB8fCBlLmRhdGFUcmFuc2Zlci5maWxlcztcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNjYW5uZWRGaWxlcy5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgY29uc3QgZmlsZSA9IHNjYW5uZWRGaWxlc1tpXTtcbiAgICAgIGlmIChhbGxGaWxlc0FsbG93ZWQpIHtcbiAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBhY2NlcHRlZEZpbGVzLmxlbmd0aDsgaiArPSAxKSB7XG4gICAgICAgICAgY29uc3QgZmlsZVR5cGUgPSBhY2NlcHRlZEZpbGVzW2pdO1xuICAgICAgICAgIGFsbEZpbGVzQWxsb3dlZCA9XG4gICAgICAgICAgICBmaWxlLm5hbWUuaW5kZXhPZihmaWxlVHlwZSkgPiAwIHx8XG4gICAgICAgICAgICBpc0luY2x1ZGVkKGZpbGUudHlwZSwgZmlsZVR5cGUucmVwbGFjZSgvXFwqL2csIFwiXCIpKTtcbiAgICAgICAgICBpZiAoYWxsRmlsZXNBbGxvd2VkKSB7XG4gICAgICAgICAgICBUWVBFX0lTX1ZBTElEID0gdHJ1ZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGJyZWFrO1xuICAgIH1cblxuICAgIC8vIElmIGRyYWdnZWQgZmlsZXMgYXJlIG5vdCBhY2NlcHRlZCwgdGhpcyByZW1vdmVzIHRoZW0gZnJvbSB0aGUgdmFsdWUgb2YgdGhlIGlucHV0IGFuZCBjcmVhdGVzIGFuZCBlcnJvciBzdGF0ZVxuICAgIGlmICghYWxsRmlsZXNBbGxvd2VkKSB7XG4gICAgICByZW1vdmVPbGRQcmV2aWV3cyhkcm9wVGFyZ2V0LCBpbnN0cnVjdGlvbnMpO1xuICAgICAgZmlsZUlucHV0RWwudmFsdWUgPSBcIlwiOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICBkcm9wVGFyZ2V0Lmluc2VydEJlZm9yZShlcnJvck1lc3NhZ2UsIGZpbGVJbnB1dEVsKTtcbiAgICAgIGVycm9yTWVzc2FnZS50ZXh0Q29udGVudCA9XG4gICAgICAgIGZpbGVJbnB1dEVsLmRhdGFzZXQuZXJyb3JtZXNzYWdlIHx8IGBUaGlzIGlzIG5vdCBhIHZhbGlkIGZpbGUgdHlwZS5gO1xuICAgICAgZXJyb3JNZXNzYWdlLmNsYXNzTGlzdC5hZGQoQUNDRVBURURfRklMRV9NRVNTQUdFX0NMQVNTKTtcbiAgICAgIGRyb3BUYXJnZXQuY2xhc3NMaXN0LmFkZChJTlZBTElEX0ZJTEVfQ0xBU1MpO1xuICAgICAgVFlQRV9JU19WQUxJRCA9IGZhbHNlO1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gIH1cbn07XG5cbi8qKlxuICogMS4gcGFzc2VzIHRocm91Z2ggZ2F0ZSBmb3IgcHJldmVudGluZyBpbnZhbGlkIGZpbGVzXG4gKiAyLiBoYW5kbGVzIHVwZGF0ZXMgaWYgZmlsZSBpcyB2YWxpZFxuICpcbiAqIEBwYXJhbSB7ZXZlbnR9IGV2ZW50XG4gKiBAcGFyYW0ge0hUTUxJbnB1dEVsZW1lbnR9IGZpbGVJbnB1dEVsIC0gVGhlIGlucHV0IGVsZW1lbnQuXG4gKiBAcGFyYW0ge0hUTUxEaXZFbGVtZW50fSBpbnN0cnVjdGlvbnMgLSBUaGUgY29udGFpbmVyIGZvciB2aXNpYmxlIGludGVyYWN0aW9uIGluc3RydWN0aW9ucy5cbiAqIEBwYXJhbSB7SFRNTERpdkVsZW1lbnR9IGRyb3BUYXJnZXQgLSBUaGUgZHJhZyBhbmQgZHJvcCB0YXJnZXQgYXJlYS5cbiAqL1xuY29uc3QgaGFuZGxlVXBsb2FkID0gKGV2ZW50LCBmaWxlSW5wdXRFbCwgaW5zdHJ1Y3Rpb25zLCBkcm9wVGFyZ2V0KSA9PiB7XG4gIHByZXZlbnRJbnZhbGlkRmlsZXMoZXZlbnQsIGZpbGVJbnB1dEVsLCBpbnN0cnVjdGlvbnMsIGRyb3BUYXJnZXQpO1xuICBpZiAoVFlQRV9JU19WQUxJRCA9PT0gdHJ1ZSkge1xuICAgIGhhbmRsZUNoYW5nZShldmVudCwgZmlsZUlucHV0RWwsIGluc3RydWN0aW9ucywgZHJvcFRhcmdldCk7XG4gIH1cbn07XG5cbmNvbnN0IGZpbGVJbnB1dCA9IGJlaGF2aW9yKFxuICB7fSxcbiAge1xuICAgIGluaXQocm9vdCkge1xuICAgICAgc2VsZWN0T3JNYXRjaGVzKERST1BaT05FLCByb290KS5mb3JFYWNoKChmaWxlSW5wdXRFbCkgPT4ge1xuICAgICAgICBjb25zdCB7IGluc3RydWN0aW9ucywgZHJvcFRhcmdldCB9ID0gZW5oYW5jZUZpbGVJbnB1dChmaWxlSW5wdXRFbCk7XG5cbiAgICAgICAgZHJvcFRhcmdldC5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAgIFwiZHJhZ292ZXJcIixcbiAgICAgICAgICBmdW5jdGlvbiBoYW5kbGVEcmFnT3ZlcigpIHtcbiAgICAgICAgICAgIHRoaXMuY2xhc3NMaXN0LmFkZChEUkFHX0NMQVNTKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGZhbHNlLFxuICAgICAgICApO1xuXG4gICAgICAgIGRyb3BUYXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgICBcImRyYWdsZWF2ZVwiLFxuICAgICAgICAgIGZ1bmN0aW9uIGhhbmRsZURyYWdMZWF2ZSgpIHtcbiAgICAgICAgICAgIHRoaXMuY2xhc3NMaXN0LnJlbW92ZShEUkFHX0NMQVNTKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGZhbHNlLFxuICAgICAgICApO1xuXG4gICAgICAgIGRyb3BUYXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgICBcImRyb3BcIixcbiAgICAgICAgICBmdW5jdGlvbiBoYW5kbGVEcm9wKCkge1xuICAgICAgICAgICAgdGhpcy5jbGFzc0xpc3QucmVtb3ZlKERSQUdfQ0xBU1MpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZmFsc2UsXG4gICAgICAgICk7XG5cbiAgICAgICAgZmlsZUlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgICBcImNoYW5nZVwiLFxuICAgICAgICAgIChlKSA9PiBoYW5kbGVVcGxvYWQoZSwgZmlsZUlucHV0RWwsIGluc3RydWN0aW9ucywgZHJvcFRhcmdldCksXG4gICAgICAgICAgZmFsc2UsXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIHRlYXJkb3duKHJvb3QpIHtcbiAgICAgIHNlbGVjdE9yTWF0Y2hlcyhJTlBVVCwgcm9vdCkuZm9yRWFjaCgoZmlsZUlucHV0RWwpID0+IHtcbiAgICAgICAgY29uc3QgZmlsZUlucHV0VG9wRWxlbWVudCA9IGZpbGVJbnB1dEVsLnBhcmVudEVsZW1lbnQucGFyZW50RWxlbWVudDtcbiAgICAgICAgZmlsZUlucHV0VG9wRWxlbWVudC5wYXJlbnRFbGVtZW50LnJlcGxhY2VDaGlsZChcbiAgICAgICAgICBmaWxlSW5wdXRFbCxcbiAgICAgICAgICBmaWxlSW5wdXRUb3BFbGVtZW50LFxuICAgICAgICApO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICAgICAgZmlsZUlucHV0RWwuY2xhc3NOYW1lID0gRFJPUFpPTkVfQ0xBU1M7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIGdldEZpbGVJbnB1dENvbnRleHQsXG4gICAgZGlzYWJsZSxcbiAgICBhcmlhRGlzYWJsZSxcbiAgICBlbmFibGUsXG4gIH0sXG4pO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZpbGVJbnB1dDtcbiIsImNvbnN0IGJlaGF2aW9yID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2JlaGF2aW9yXCIpO1xuY29uc3QgeyBDTElDSyB9ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL2V2ZW50c1wiKTtcbmNvbnN0IHsgcHJlZml4OiBQUkVGSVggfSA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy9jb25maWdcIik7XG5cbmNvbnN0IFNDT1BFID0gYC4ke1BSRUZJWH0tZm9vdGVyLS1iaWdgO1xuY29uc3QgTkFWID0gYCR7U0NPUEV9IG5hdmA7XG5jb25zdCBCVVRUT04gPSBgJHtOQVZ9IC4ke1BSRUZJWH0tZm9vdGVyX19wcmltYXJ5LWxpbmtgO1xuY29uc3QgSElERV9NQVhfV0lEVEggPSA0ODA7XG5cbi8qKlxuICogRXhwYW5kcyBzZWxlY3RlZCBmb290ZXIgbWVudSBwYW5lbCwgd2hpbGUgY29sbGFwc2luZyBvdGhlcnNcbiAqL1xuZnVuY3Rpb24gc2hvd1BhbmVsKCkge1xuICBpZiAod2luZG93LmlubmVyV2lkdGggPCBISURFX01BWF9XSURUSCkge1xuICAgIGNvbnN0IGlzT3BlbiA9IHRoaXMuZ2V0QXR0cmlidXRlKFwiYXJpYS1leHBhbmRlZFwiKSA9PT0gXCJ0cnVlXCI7XG4gICAgY29uc3QgdGhpc0Zvb3RlciA9IHRoaXMuY2xvc2VzdChTQ09QRSk7XG5cbiAgICAvLyBDbG9zZSBhbGwgb3RoZXIgbWVudXNcbiAgICB0aGlzRm9vdGVyLnF1ZXJ5U2VsZWN0b3JBbGwoQlVUVE9OKS5mb3JFYWNoKChidXR0b24pID0+IHtcbiAgICAgIGJ1dHRvbi5zZXRBdHRyaWJ1dGUoXCJhcmlhLWV4cGFuZGVkXCIsIGZhbHNlKTtcbiAgICB9KTtcblxuICAgIHRoaXMuc2V0QXR0cmlidXRlKFwiYXJpYS1leHBhbmRlZFwiLCAhaXNPcGVuKTtcbiAgfVxufVxuXG4vKipcbiAqIFN3YXBzIHRoZSA8aDQ+IGVsZW1lbnQgZm9yIGEgPGJ1dHRvbj4gZWxlbWVudCAoYW5kIHZpY2UtdmVyc2EpIGFuZCBzZXRzIGlkXG4gKiBvZiBtZW51IGxpc3RcbiAqXG4gKiBAcGFyYW0ge0Jvb2xlYW59IGlzTW9iaWxlIC0gSWYgdGhlIGZvb3RlciBpcyBpbiBtb2JpbGUgY29uZmlndXJhdGlvblxuICovXG5mdW5jdGlvbiB0b2dnbGVIdG1sVGFnKGlzTW9iaWxlKSB7XG4gIGNvbnN0IGJpZ0Zvb3RlciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoU0NPUEUpO1xuXG4gIGlmICghYmlnRm9vdGVyKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgcHJpbWFyeUxpbmtzID0gYmlnRm9vdGVyLnF1ZXJ5U2VsZWN0b3JBbGwoQlVUVE9OKTtcblxuICBwcmltYXJ5TGlua3MuZm9yRWFjaCgoY3VycmVudEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBjdXJyZW50RWxlbWVudENsYXNzZXMgPSBjdXJyZW50RWxlbWVudC5nZXRBdHRyaWJ1dGUoXCJjbGFzc1wiKTtcbiAgICBjb25zdCBwcmVzZXJ2ZWRIdG1sVGFnID1cbiAgICAgIGN1cnJlbnRFbGVtZW50LmdldEF0dHJpYnV0ZShcImRhdGEtdGFnXCIpIHx8IGN1cnJlbnRFbGVtZW50LnRhZ05hbWU7XG5cbiAgICBjb25zdCBuZXdFbGVtZW50VHlwZSA9IGlzTW9iaWxlID8gXCJidXR0b25cIiA6IHByZXNlcnZlZEh0bWxUYWc7XG5cbiAgICAvLyBDcmVhdGUgdGhlIG5ldyBlbGVtZW50XG4gICAgY29uc3QgbmV3RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQobmV3RWxlbWVudFR5cGUpO1xuICAgIG5ld0VsZW1lbnQuc2V0QXR0cmlidXRlKFwiY2xhc3NcIiwgY3VycmVudEVsZW1lbnRDbGFzc2VzKTtcbiAgICBuZXdFbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoXG4gICAgICBgJHtQUkVGSVh9LWZvb3Rlcl9fcHJpbWFyeS1saW5rLS1idXR0b25gLFxuICAgICAgaXNNb2JpbGUsXG4gICAgKTtcbiAgICBuZXdFbGVtZW50LnRleHRDb250ZW50ID0gY3VycmVudEVsZW1lbnQudGV4dENvbnRlbnQ7XG5cbiAgICBpZiAoaXNNb2JpbGUpIHtcbiAgICAgIG5ld0VsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS10YWdcIiwgY3VycmVudEVsZW1lbnQudGFnTmFtZSk7XG4gICAgICBjb25zdCBtZW51SWQgPSBgJHtQUkVGSVh9LWZvb3Rlci1tZW51LWxpc3QtJHtNYXRoLmZsb29yKFxuICAgICAgICBNYXRoLnJhbmRvbSgpICogMTAwMDAwLFxuICAgICAgKX1gO1xuXG4gICAgICBuZXdFbGVtZW50LnNldEF0dHJpYnV0ZShcImFyaWEtY29udHJvbHNcIiwgbWVudUlkKTtcbiAgICAgIG5ld0VsZW1lbnQuc2V0QXR0cmlidXRlKFwiYXJpYS1leHBhbmRlZFwiLCBcImZhbHNlXCIpO1xuICAgICAgY3VycmVudEVsZW1lbnQubmV4dEVsZW1lbnRTaWJsaW5nLnNldEF0dHJpYnV0ZShcImlkXCIsIG1lbnVJZCk7XG4gICAgICBuZXdFbGVtZW50LnNldEF0dHJpYnV0ZShcInR5cGVcIiwgXCJidXR0b25cIik7XG4gICAgfVxuXG4gICAgLy8gSW5zZXJ0IHRoZSBuZXcgZWxlbWVudCBhbmQgZGVsZXRlIHRoZSBvbGRcbiAgICBjdXJyZW50RWxlbWVudC5hZnRlcihuZXdFbGVtZW50KTtcbiAgICBjdXJyZW50RWxlbWVudC5yZW1vdmUoKTtcbiAgfSk7XG59XG5cbmNvbnN0IHJlc2l6ZSA9IChldmVudCkgPT4ge1xuICB0b2dnbGVIdG1sVGFnKGV2ZW50Lm1hdGNoZXMpO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBiZWhhdmlvcihcbiAge1xuICAgIFtDTElDS106IHtcbiAgICAgIFtCVVRUT05dOiBzaG93UGFuZWwsXG4gICAgfSxcbiAgfSxcbiAge1xuICAgIC8vIGV4cG9ydCBmb3IgdXNlIGVsc2V3aGVyZVxuICAgIEhJREVfTUFYX1dJRFRILFxuXG4gICAgaW5pdCgpIHtcbiAgICAgIHRvZ2dsZUh0bWxUYWcod2luZG93LmlubmVyV2lkdGggPCBISURFX01BWF9XSURUSCk7XG4gICAgICB0aGlzLm1lZGlhUXVlcnlMaXN0ID0gd2luZG93Lm1hdGNoTWVkaWEoXG4gICAgICAgIGAobWF4LXdpZHRoOiAke0hJREVfTUFYX1dJRFRIIC0gMC4xfXB4KWAsXG4gICAgICApO1xuICAgICAgdGhpcy5tZWRpYVF1ZXJ5TGlzdC5hZGRMaXN0ZW5lcihyZXNpemUpO1xuICAgIH0sXG5cbiAgICB0ZWFyZG93bigpIHtcbiAgICAgIHRoaXMubWVkaWFRdWVyeUxpc3QucmVtb3ZlTGlzdGVuZXIocmVzaXplKTtcbiAgICB9LFxuICB9LFxuKTtcbiIsImNvbnN0IGtleW1hcCA9IHJlcXVpcmUoXCJyZWNlcHRvci9rZXltYXBcIik7XG5jb25zdCBiZWhhdmlvciA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9iZWhhdmlvclwiKTtcbmNvbnN0IHNlbGVjdCA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9zZWxlY3RcIik7XG5jb25zdCB0b2dnbGUgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvdG9nZ2xlXCIpO1xuY29uc3QgRm9jdXNUcmFwID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2ZvY3VzLXRyYXBcIik7XG5jb25zdCBhY2NvcmRpb24gPSByZXF1aXJlKFwiLi4vLi4vdXNhLWFjY29yZGlvbi9zcmMvaW5kZXhcIik7XG5jb25zdCBTY3JvbGxCYXJXaWR0aCA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9zY3JvbGxiYXItd2lkdGhcIik7XG5cbmNvbnN0IHsgQ0xJQ0sgfSA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy9ldmVudHNcIik7XG5jb25zdCB7IHByZWZpeDogUFJFRklYIH0gPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvY29uZmlnXCIpO1xuXG5jb25zdCBCT0RZID0gXCJib2R5XCI7XG5jb25zdCBIRUFERVIgPSBgLiR7UFJFRklYfS1oZWFkZXJgO1xuY29uc3QgTkFWID0gYC4ke1BSRUZJWH0tbmF2YDtcbmNvbnN0IE5BVl9DT05UQUlORVIgPSBgLiR7UFJFRklYfS1uYXYtY29udGFpbmVyYDtcbmNvbnN0IE5BVl9QUklNQVJZID0gYC4ke1BSRUZJWH0tbmF2X19wcmltYXJ5YDtcbmNvbnN0IE5BVl9QUklNQVJZX0lURU0gPSBgLiR7UFJFRklYfS1uYXZfX3ByaW1hcnktaXRlbWA7XG5jb25zdCBOQVZfQ09OVFJPTCA9IGBidXR0b24uJHtQUkVGSVh9LW5hdl9fbGlua2A7XG5jb25zdCBOQVZfTElOS1MgPSBgJHtOQVZ9IGFgO1xuY29uc3QgTk9OX05BVl9ISURERU5fQVRUUklCVVRFID0gYGRhdGEtbmF2LWhpZGRlbmA7XG5jb25zdCBPUEVORVJTID0gYC4ke1BSRUZJWH0tbWVudS1idG5gO1xuY29uc3QgQ0xPU0VfQlVUVE9OID0gYC4ke1BSRUZJWH0tbmF2X19jbG9zZWA7XG5jb25zdCBPVkVSTEFZID0gYC4ke1BSRUZJWH0tb3ZlcmxheWA7XG5jb25zdCBDTE9TRVJTID0gYCR7Q0xPU0VfQlVUVE9OfSwgLiR7UFJFRklYfS1vdmVybGF5YDtcbmNvbnN0IFRPR0dMRVMgPSBbTkFWLCBPVkVSTEFZXS5qb2luKFwiLCBcIik7XG5jb25zdCBOT05fTkFWX0VMRU1FTlRTID0gYGJvZHkgKjpub3QoJHtIRUFERVJ9LCAke05BVl9DT05UQUlORVJ9LCAke05BVn0sICR7TkFWfSAqKTpub3QoW2FyaWEtaGlkZGVuXSlgO1xuY29uc3QgTk9OX05BVl9ISURERU4gPSBgWyR7Tk9OX05BVl9ISURERU5fQVRUUklCVVRFfV1gO1xuXG5jb25zdCBBQ1RJVkVfQ0xBU1MgPSBcInVzYS1qcy1tb2JpbGUtbmF2LS1hY3RpdmVcIjtcbmNvbnN0IFZJU0lCTEVfQ0xBU1MgPSBcImlzLXZpc2libGVcIjtcblxubGV0IG5hdmlnYXRpb247XG5sZXQgbmF2QWN0aXZlO1xubGV0IG5vbk5hdkVsZW1lbnRzO1xuXG5jb25zdCBpc0FjdGl2ZSA9ICgpID0+IGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKEFDVElWRV9DTEFTUyk7XG4vLyBEZXRlY3QgU2FmYXJpXG4vLyBOb3RlOiBDaHJvbWUgYWxzbyByZXBvcnRzIHRoZSBTYWZhcmkgdXNlckFnZW50IHNvIHRoaXMgc3BlY2lmaWNhbGx5IGV4Y2x1ZGVzIENocm9tZS5cbmNvbnN0IGlzU2FmYXJpID1cbiAgbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmNsdWRlcyhcIlNhZmFyaVwiKSAmJlxuICAhbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmNsdWRlcyhcIkNocm9tZVwiKTtcbmNvbnN0IFNDUk9MTEJBUl9XSURUSCA9IFNjcm9sbEJhcldpZHRoKCk7XG5jb25zdCBJTklUSUFMX1BBRERJTkcgPSB3aW5kb3dcbiAgLmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSlcbiAgLmdldFByb3BlcnR5VmFsdWUoXCJwYWRkaW5nLXJpZ2h0XCIpO1xuY29uc3QgVEVNUE9SQVJZX1BBRERJTkcgPSBgJHtcbiAgcGFyc2VJbnQoSU5JVElBTF9QQURESU5HLnJlcGxhY2UoL3B4LywgXCJcIiksIDEwKSArXG4gIHBhcnNlSW50KFNDUk9MTEJBUl9XSURUSC5yZXBsYWNlKC9weC8sIFwiXCIpLCAxMClcbn1weGA7XG5cbmNvbnN0IGhpZGVOb25OYXZJdGVtcyA9ICgpID0+IHtcbiAgY29uc3QgaGVhZGVyUGFyZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgJHtIRUFERVJ9YCkucGFyZW50Tm9kZTtcbiAgbm9uTmF2RWxlbWVudHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKE5PTl9OQVZfRUxFTUVOVFMpO1xuXG4gIG5vbk5hdkVsZW1lbnRzLmZvckVhY2goKG5vbk5hdkVsZW1lbnQpID0+IHtcbiAgICBpZiAobm9uTmF2RWxlbWVudCAhPT0gaGVhZGVyUGFyZW50KSB7XG4gICAgICBub25OYXZFbGVtZW50LnNldEF0dHJpYnV0ZShcImFyaWEtaGlkZGVuXCIsIHRydWUpO1xuICAgICAgbm9uTmF2RWxlbWVudC5zZXRBdHRyaWJ1dGUoTk9OX05BVl9ISURERU5fQVRUUklCVVRFLCBcIlwiKTtcbiAgICB9XG4gIH0pO1xufTtcblxuY29uc3Qgc2hvd05vbk5hdkl0ZW1zID0gKCkgPT4ge1xuICBub25OYXZFbGVtZW50cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoTk9OX05BVl9ISURERU4pO1xuXG4gIGlmICghbm9uTmF2RWxlbWVudHMpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBSZW1vdmUgYXJpYS1oaWRkZW4gZnJvbSBub24taGVhZGVyIGVsZW1lbnRzXG4gIG5vbk5hdkVsZW1lbnRzLmZvckVhY2goKG5vbk5hdkVsZW1lbnQpID0+IHtcbiAgICBub25OYXZFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShcImFyaWEtaGlkZGVuXCIpO1xuICAgIG5vbk5hdkVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKE5PTl9OQVZfSElEREVOX0FUVFJJQlVURSk7XG4gIH0pO1xufTtcblxuLy8gVG9nZ2xlIGFsbCBub24taGVhZGVyIGVsZW1lbnRzICMzNTI3LlxuY29uc3QgdG9nZ2xlTm9uTmF2SXRlbXMgPSAoYWN0aXZlKSA9PiB7XG4gIGlmIChhY3RpdmUpIHtcbiAgICBoaWRlTm9uTmF2SXRlbXMoKTtcbiAgfSBlbHNlIHtcbiAgICBzaG93Tm9uTmF2SXRlbXMoKTtcbiAgfVxufTtcblxuLyoqXG4gKiBEZXRlY3QgU2FmYXJpIGFuZCBhZGQgYm9keSBjbGFzcyBmb3IgYSBTYWZhcmktb25seSBDU1MgYnVnIGZpeC5cbiAqIE1vcmUgZGV0YWlscyBpbiBodHRwczovL2dpdGh1Yi5jb20vdXN3ZHMvdXN3ZHMvcHVsbC81NDQzXG4gKi9cbmNvbnN0IGFkZFNhZmFyaUNsYXNzID0gKCkgPT4ge1xuICBpZiAoaXNTYWZhcmkpIHtcbiAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoXCJpcy1zYWZhcmlcIik7XG4gIH1cbn07XG5cbi8qKlxuICogU2V0IHRoZSB2YWx1ZSBmb3IgdGhlIC0tc2Nyb2xsdG9wIENTUyB2YXIgd2hlbiB0aGUgbW9iaWxlIG1lbnUgaXMgb3Blbi5cbiAqIFRoaXMgYWxsb3dzIHRoZSBDU1MgdG8gbG9jayB0aGUgY3VycmVudCBzY3JvbGwgcG9zaXRpb24gaW4gU2FmYXJpXG4gKiB3aGVuIG92ZXJmbG93LXkgaXMgc2V0IHRvIHNjcm9sbC5cbiAqIE1vcmUgZGV0YWlscyBpbiBodHRwczovL2dpdGh1Yi5jb20vdXN3ZHMvdXN3ZHMvcHVsbC81NDQzXG4gKi9cbmNvbnN0IHNldFNhZmFyaVNjcm9sbFBvc2l0aW9uID0gKGJvZHkpID0+IHtcbiAgY29uc3QgY3VycmVudFNjcm9sbFBvc2l0aW9uID0gYC0ke3dpbmRvdy5zY3JvbGxZfXB4YDtcbiAgaWYgKGlzU2FmYXJpKSB7XG4gICAgYm9keS5zdHlsZS5zZXRQcm9wZXJ0eShcIi0tc2Nyb2xsdG9wXCIsIGN1cnJlbnRTY3JvbGxQb3NpdGlvbik7XG4gIH1cbn07XG5cbmNvbnN0IHRvZ2dsZU5hdiA9IChhY3RpdmUpID0+IHtcbiAgY29uc3QgeyBib2R5IH0gPSBkb2N1bWVudDtcbiAgY29uc3Qgc2FmZUFjdGl2ZSA9IHR5cGVvZiBhY3RpdmUgPT09IFwiYm9vbGVhblwiID8gYWN0aXZlIDogIWlzQWN0aXZlKCk7XG5cbiAgc2V0U2FmYXJpU2Nyb2xsUG9zaXRpb24oYm9keSk7XG5cbiAgYm9keS5jbGFzc0xpc3QudG9nZ2xlKEFDVElWRV9DTEFTUywgc2FmZUFjdGl2ZSk7XG5cbiAgc2VsZWN0KFRPR0dMRVMpLmZvckVhY2goKGVsKSA9PlxuICAgIGVsLmNsYXNzTGlzdC50b2dnbGUoVklTSUJMRV9DTEFTUywgc2FmZUFjdGl2ZSksXG4gICk7XG5cbiAgbmF2aWdhdGlvbi5mb2N1c1RyYXAudXBkYXRlKHNhZmVBY3RpdmUpO1xuXG4gIGNvbnN0IGNsb3NlQnV0dG9uID0gYm9keS5xdWVyeVNlbGVjdG9yKENMT1NFX0JVVFRPTik7XG4gIGNvbnN0IG1lbnVCdXR0b24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKE9QRU5FUlMpO1xuXG4gIGJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0ID1cbiAgICBib2R5LnN0eWxlLnBhZGRpbmdSaWdodCA9PT0gVEVNUE9SQVJZX1BBRERJTkdcbiAgICAgID8gSU5JVElBTF9QQURESU5HXG4gICAgICA6IFRFTVBPUkFSWV9QQURESU5HO1xuXG4gIHRvZ2dsZU5vbk5hdkl0ZW1zKHNhZmVBY3RpdmUpO1xuXG4gIGlmIChzYWZlQWN0aXZlICYmIGNsb3NlQnV0dG9uKSB7XG4gICAgLy8gVGhlIG1vYmlsZSBuYXYgd2FzIGp1c3QgYWN0aXZhdGVkLiBGb2N1cyBvbiB0aGUgY2xvc2UgYnV0dG9uLCB3aGljaCBpc1xuICAgIC8vIGp1c3QgYmVmb3JlIGFsbCB0aGUgbmF2IGVsZW1lbnRzIGluIHRoZSB0YWIgb3JkZXIuXG4gICAgY2xvc2VCdXR0b24uZm9jdXMoKTtcbiAgfSBlbHNlIGlmIChcbiAgICAhc2FmZUFjdGl2ZSAmJlxuICAgIG1lbnVCdXR0b24gJiZcbiAgICBnZXRDb21wdXRlZFN0eWxlKG1lbnVCdXR0b24pLmRpc3BsYXkgIT09IFwibm9uZVwiXG4gICkge1xuICAgIC8vIFRoZSBtb2JpbGUgbmF2IHdhcyBqdXN0IGRlYWN0aXZhdGVkLiBXZSBkb24ndCB3YW50IHRoZSBmb2N1cyB0b1xuICAgIC8vIGRpc2FwcGVhciBpbnRvIHRoZSB2b2lkLCBzbyBmb2N1cyBvbiB0aGUgbWVudSBidXR0b24gaWYgaXQnc1xuICAgIC8vIHZpc2libGUgKHRoaXMgbWF5IGhhdmUgYmVlbiB3aGF0IHRoZSB1c2VyIHdhcyBqdXN0IGZvY3VzZWQgb24sXG4gICAgLy8gaWYgdGhleSB0cmlnZ2VyZWQgdGhlIG1vYmlsZSBuYXYgYnkgbWlzdGFrZSkuXG4gICAgbWVudUJ1dHRvbi5mb2N1cygpO1xuICB9XG5cbiAgcmV0dXJuIHNhZmVBY3RpdmU7XG59O1xuXG5jb25zdCByZXNpemUgPSAoKSA9PiB7XG4gIGNvbnN0IGNsb3NlciA9IGRvY3VtZW50LmJvZHkucXVlcnlTZWxlY3RvcihDTE9TRV9CVVRUT04pO1xuXG4gIGlmIChpc0FjdGl2ZSgpICYmIGNsb3NlciAmJiBjbG9zZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggPT09IDApIHtcbiAgICAvLyBXaGVuIHRoZSBtb2JpbGUgbmF2IGlzIGFjdGl2ZSwgYW5kIHRoZSBjbG9zZSBib3ggaXNuJ3QgdmlzaWJsZSxcbiAgICAvLyB3ZSBrbm93IHRoZSB1c2VyJ3Mgdmlld3BvcnQgaGFzIGJlZW4gcmVzaXplZCB0byBiZSBsYXJnZXIuXG4gICAgLy8gTGV0J3MgbWFrZSB0aGUgcGFnZSBzdGF0ZSBjb25zaXN0ZW50IGJ5IGRlYWN0aXZhdGluZyB0aGUgbW9iaWxlIG5hdi5cbiAgICBuYXZpZ2F0aW9uLnRvZ2dsZU5hdi5jYWxsKGNsb3NlciwgZmFsc2UpO1xuICB9XG59O1xuXG5jb25zdCBvbk1lbnVDbG9zZSA9ICgpID0+IG5hdmlnYXRpb24udG9nZ2xlTmF2LmNhbGwobmF2aWdhdGlvbiwgZmFsc2UpO1xuXG5jb25zdCBoaWRlQWN0aXZlTmF2RHJvcGRvd24gPSAoKSA9PiB7XG4gIGlmICghbmF2QWN0aXZlKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdG9nZ2xlKG5hdkFjdGl2ZSwgZmFsc2UpO1xuICBuYXZBY3RpdmUgPSBudWxsO1xufTtcblxuY29uc3QgZm9jdXNOYXZCdXR0b24gPSAoZXZlbnQpID0+IHtcbiAgY29uc3QgcGFyZW50TmF2SXRlbSA9IGV2ZW50LnRhcmdldC5jbG9zZXN0KE5BVl9QUklNQVJZX0lURU0pO1xuXG4gIC8vIE9ubHkgc2hpZnQgZm9jdXMgaWYgd2l0aGluIGRyb3Bkb3duXG4gIGlmICghZXZlbnQudGFyZ2V0Lm1hdGNoZXMoTkFWX0NPTlRST0wpKSB7XG4gICAgY29uc3QgbmF2Q29udHJvbCA9IHBhcmVudE5hdkl0ZW0ucXVlcnlTZWxlY3RvcihOQVZfQ09OVFJPTCk7XG4gICAgaWYgKG5hdkNvbnRyb2wpIHtcbiAgICAgIG5hdkNvbnRyb2wuZm9jdXMoKTtcbiAgICB9XG4gIH1cbn07XG5cbmNvbnN0IGhhbmRsZUVzY2FwZSA9IChldmVudCkgPT4ge1xuICBoaWRlQWN0aXZlTmF2RHJvcGRvd24oKTtcbiAgZm9jdXNOYXZCdXR0b24oZXZlbnQpO1xufTtcblxubmF2aWdhdGlvbiA9IGJlaGF2aW9yKFxuICB7XG4gICAgW0NMSUNLXToge1xuICAgICAgW05BVl9DT05UUk9MXSgpIHtcbiAgICAgICAgLy8gSWYgYW5vdGhlciBuYXYgaXMgb3BlbiwgY2xvc2UgaXRcbiAgICAgICAgaWYgKG5hdkFjdGl2ZSAhPT0gdGhpcykge1xuICAgICAgICAgIGhpZGVBY3RpdmVOYXZEcm9wZG93bigpO1xuICAgICAgICB9XG4gICAgICAgIC8vIHN0b3JlIGEgcmVmZXJlbmNlIHRvIHRoZSBsYXN0IGNsaWNrZWQgbmF2IGxpbmsgZWxlbWVudCwgc28gd2VcbiAgICAgICAgLy8gY2FuIGhpZGUgdGhlIGRyb3Bkb3duIGlmIGFub3RoZXIgZWxlbWVudCBvbiB0aGUgcGFnZSBpcyBjbGlja2VkXG4gICAgICAgIGlmICghbmF2QWN0aXZlKSB7XG4gICAgICAgICAgbmF2QWN0aXZlID0gdGhpcztcbiAgICAgICAgICB0b2dnbGUobmF2QWN0aXZlLCB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERvIHRoaXMgc28gdGhlIGV2ZW50IGhhbmRsZXIgb24gdGhlIGJvZHkgZG9lc24ndCBmaXJlXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0sXG4gICAgICBbQk9EWV06IGhpZGVBY3RpdmVOYXZEcm9wZG93bixcbiAgICAgIFtPUEVORVJTXTogdG9nZ2xlTmF2LFxuICAgICAgW0NMT1NFUlNdOiB0b2dnbGVOYXYsXG4gICAgICBbTkFWX0xJTktTXSgpIHtcbiAgICAgICAgLy8gQSBuYXZpZ2F0aW9uIGxpbmsgaGFzIGJlZW4gY2xpY2tlZCEgV2Ugd2FudCB0byBjb2xsYXBzZSBhbnlcbiAgICAgICAgLy8gaGllcmFyY2hpY2FsIG5hdmlnYXRpb24gVUkgaXQncyBhIHBhcnQgb2YsIHNvIHRoYXQgdGhlIHVzZXJcbiAgICAgICAgLy8gY2FuIGZvY3VzIG9uIHdoYXRldmVyIHRoZXkndmUganVzdCBzZWxlY3RlZC5cblxuICAgICAgICAvLyBTb21lIG5hdmlnYXRpb24gbGlua3MgYXJlIGluc2lkZSBhY2NvcmRpb25zOyB3aGVuIHRoZXkncmVcbiAgICAgICAgLy8gY2xpY2tlZCwgd2Ugd2FudCB0byBjb2xsYXBzZSB0aG9zZSBhY2NvcmRpb25zLlxuICAgICAgICBjb25zdCBhY2MgPSB0aGlzLmNsb3Nlc3QoYWNjb3JkaW9uLkFDQ09SRElPTik7XG5cbiAgICAgICAgaWYgKGFjYykge1xuICAgICAgICAgIGFjY29yZGlvbi5nZXRCdXR0b25zKGFjYykuZm9yRWFjaCgoYnRuKSA9PiBhY2NvcmRpb24uaGlkZShidG4pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIHRoZSBtb2JpbGUgbmF2aWdhdGlvbiBtZW51IGlzIGFjdGl2ZSwgd2Ugd2FudCB0byBoaWRlIGl0LlxuICAgICAgICBpZiAoaXNBY3RpdmUoKSkge1xuICAgICAgICAgIG5hdmlnYXRpb24udG9nZ2xlTmF2LmNhbGwobmF2aWdhdGlvbiwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0sXG4gICAga2V5ZG93bjoge1xuICAgICAgW05BVl9QUklNQVJZXToga2V5bWFwKHsgRXNjYXBlOiBoYW5kbGVFc2NhcGUgfSksXG4gICAgfSxcbiAgICBmb2N1c291dDoge1xuICAgICAgW05BVl9QUklNQVJZXShldmVudCkge1xuICAgICAgICBjb25zdCBuYXYgPSBldmVudC50YXJnZXQuY2xvc2VzdChOQVZfUFJJTUFSWSk7XG5cbiAgICAgICAgaWYgKCFuYXYuY29udGFpbnMoZXZlbnQucmVsYXRlZFRhcmdldCkpIHtcbiAgICAgICAgICBoaWRlQWN0aXZlTmF2RHJvcGRvd24oKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9LFxuICB9LFxuICB7XG4gICAgaW5pdChyb290KSB7XG4gICAgICBjb25zdCB0cmFwQ29udGFpbmVyID0gcm9vdC5tYXRjaGVzKE5BVikgPyByb290IDogcm9vdC5xdWVyeVNlbGVjdG9yKE5BVik7XG5cbiAgICAgIGlmICh0cmFwQ29udGFpbmVyKSB7XG4gICAgICAgIG5hdmlnYXRpb24uZm9jdXNUcmFwID0gRm9jdXNUcmFwKHRyYXBDb250YWluZXIsIHtcbiAgICAgICAgICBFc2NhcGU6IG9uTWVudUNsb3NlLFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgYWRkU2FmYXJpQ2xhc3MoKTtcbiAgICAgIHJlc2l6ZSgpO1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgcmVzaXplLCBmYWxzZSk7XG4gICAgfSxcbiAgICB0ZWFyZG93bigpIHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHJlc2l6ZSwgZmFsc2UpO1xuICAgICAgbmF2QWN0aXZlID0gZmFsc2U7XG4gICAgfSxcbiAgICBmb2N1c1RyYXA6IG51bGwsXG4gICAgdG9nZ2xlTmF2LFxuICB9LFxuKTtcblxubW9kdWxlLmV4cG9ydHMgPSBuYXZpZ2F0aW9uO1xuIiwiY29uc3Qgb25jZSA9IHJlcXVpcmUoXCJyZWNlcHRvci9vbmNlXCIpO1xuY29uc3Qga2V5bWFwID0gcmVxdWlyZShcInJlY2VwdG9yL2tleW1hcFwiKTtcbmNvbnN0IHNlbGVjdE9yTWF0Y2hlcyA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9zZWxlY3Qtb3ItbWF0Y2hlc1wiKTtcbmNvbnN0IGJlaGF2aW9yID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2JlaGF2aW9yXCIpO1xuY29uc3QgeyBwcmVmaXg6IFBSRUZJWCB9ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL2NvbmZpZ1wiKTtcbmNvbnN0IHsgQ0xJQ0sgfSA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy9ldmVudHNcIik7XG5jb25zdCBTYW5pdGl6ZXIgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvc2FuaXRpemVyXCIpO1xuXG5jb25zdCBDVVJSRU5UX0NMQVNTID0gYCR7UFJFRklYfS1jdXJyZW50YDtcbmNvbnN0IElOX1BBR0VfTkFWX0hFQURJTkdTID0gXCJoMiBoM1wiO1xuY29uc3QgSU5fUEFHRV9OQVZfVkFMSURfSEVBRElOR1MgPSBbXCJoMVwiLCBcImgyXCIsIFwiaDNcIiwgXCJoNFwiLCBcImg1XCIsIFwiaDZcIl07XG5jb25zdCBJTl9QQUdFX05BVl9USVRMRV9URVhUID0gXCJPbiB0aGlzIHBhZ2VcIjtcbmNvbnN0IElOX1BBR0VfTkFWX1RJVExFX0hFQURJTkdfTEVWRUwgPSBcImg0XCI7XG5jb25zdCBJTl9QQUdFX05BVl9TQ1JPTExfT0ZGU0VUID0gMDtcbmNvbnN0IElOX1BBR0VfTkFWX1JPT1RfTUFSR0lOID0gXCIwcHggMHB4IDBweCAwcHhcIjtcbmNvbnN0IElOX1BBR0VfTkFWX1RIUkVTSE9MRCA9IFwiMVwiO1xuY29uc3QgSU5fUEFHRV9OQVZfQ0xBU1MgPSBgJHtQUkVGSVh9LWluLXBhZ2UtbmF2YDtcbmNvbnN0IElOX1BBR0VfTkFWX0FOQ0hPUl9DTEFTUyA9IGAke1BSRUZJWH0tYW5jaG9yYDtcbmNvbnN0IElOX1BBR0VfTkFWX05BVl9DTEFTUyA9IGAke0lOX1BBR0VfTkFWX0NMQVNTfV9fbmF2YDtcbmNvbnN0IElOX1BBR0VfTkFWX0xJU1RfQ0xBU1MgPSBgJHtJTl9QQUdFX05BVl9DTEFTU31fX2xpc3RgO1xuY29uc3QgSU5fUEFHRV9OQVZfSVRFTV9DTEFTUyA9IGAke0lOX1BBR0VfTkFWX0NMQVNTfV9faXRlbWA7XG5jb25zdCBJTl9QQUdFX05BVl9QUklNQVJZX0lURU1fQ0xBU1MgPSBgJHtJTl9QQUdFX05BVl9JVEVNX0NMQVNTfS0tcHJpbWFyeWA7XG5jb25zdCBJTl9QQUdFX05BVl9MSU5LX0NMQVNTID0gYCR7SU5fUEFHRV9OQVZfQ0xBU1N9X19saW5rYDtcbmNvbnN0IElOX1BBR0VfTkFWX1RJVExFX0NMQVNTID0gYCR7SU5fUEFHRV9OQVZfQ0xBU1N9X19oZWFkaW5nYDtcbmNvbnN0IE1BSU5fRUxFTUVOVCA9IFwibWFpblwiO1xuXG4vKipcbiAqIFNldCB0aGUgYWN0aXZlIGxpbmsgc3RhdGUgZm9yIHRoZSBjdXJyZW50bHkgb2JzZXJ2ZWQgc2VjdGlvblxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBpbi1wYWdlIG5hdiBjb21wb25lbnRcbiAqL1xuY29uc3Qgc2V0QWN0aXZlID0gKGVsKSA9PiB7XG4gIGNvbnN0IGFsbExpbmtzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChgLiR7SU5fUEFHRV9OQVZfTElOS19DTEFTU31gKTtcbiAgZWwubWFwKChpKSA9PiB7XG4gICAgaWYgKGkuaXNJbnRlcnNlY3RpbmcgPT09IHRydWUgJiYgaS5pbnRlcnNlY3Rpb25SYXRpbyA+PSAxKSB7XG4gICAgICBhbGxMaW5rcy5mb3JFYWNoKChsaW5rKSA9PiBsaW5rLmNsYXNzTGlzdC5yZW1vdmUoQ1VSUkVOVF9DTEFTUykpO1xuICAgICAgZG9jdW1lbnRcbiAgICAgICAgLnF1ZXJ5U2VsZWN0b3IoYGFbaHJlZj1cIiMke2kudGFyZ2V0LmlkfVwiXWApXG4gICAgICAgIC5jbGFzc0xpc3QuYWRkKENVUlJFTlRfQ0xBU1MpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfSk7XG59O1xuXG4vKipcbiAqIFJldHVybiBhbiBhcnJheSBvZiB0aGUgZGVzaWduYXRlZCBoZWFkaW5nIHR5cGVzIGZvdW5kIGluIHRoZSBkZXNpZ25hdGVkIGNvbnRlbnQgcmVnaW9uLlxuICogVGhyb3cgYW4gZXJyb3IgaWYgYW4gaW52YWxpZCBoZWFkZXIgZWxlbWVudCBpcyBkZXNpZ25hdGVkLlxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IHNlbGVjdGVkQ29udGVudFJlZ2lvbiBUaGUgY29udGVudCByZWdpb24gdGhlIGNvbXBvbmVudCBzaG91bGQgcHVsbCBoZWFkZXJzIGZyb21cbiAqIEBwYXJhbSB7U3RyaW5nfSBzZWxlY3RlZEhlYWRpbmdUeXBlcyBUaGUgbGlzdCBvZiBoZWFkaW5nIHR5cGVzIHRoYXQgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSBuYXYgbGlzdFxuICpcbiAqIEByZXR1cm4ge0FycmF5fSAtIEFuIGFycmF5IG9mIGRlc2lnbmF0ZWQgaGVhZGluZyB0eXBlcyBmcm9tIHRoZSBkZXNpZ25hdGVkIGNvbnRlbnQgcmVnaW9uXG4gKi9cbmNvbnN0IGNyZWF0ZVNlY3Rpb25IZWFkaW5nc0FycmF5ID0gKFxuICBzZWxlY3RlZENvbnRlbnRSZWdpb24sXG4gIHNlbGVjdGVkSGVhZGluZ1R5cGVzLFxuKSA9PiB7XG4gIC8vIENvbnZlcnQgZGVzaWduYXRlZCBoZWFkaW5ncyBsaXN0IHRvIGFuIGFycmF5XG4gIGNvbnN0IHNlbGVjdGVkSGVhZGluZ1R5cGVzQXJyYXkgPSBzZWxlY3RlZEhlYWRpbmdUeXBlcy5pbmRleE9mKFwiIFwiKVxuICAgID8gc2VsZWN0ZWRIZWFkaW5nVHlwZXMuc3BsaXQoXCIgXCIpXG4gICAgOiBzZWxlY3RlZEhlYWRpbmdUeXBlcztcbiAgY29uc3QgY29udGVudFJlZ2lvbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0ZWRDb250ZW50UmVnaW9uKTtcblxuICBzZWxlY3RlZEhlYWRpbmdUeXBlc0FycmF5LmZvckVhY2goKGhlYWRpbmdUeXBlKSA9PiB7XG4gICAgaWYgKCFJTl9QQUdFX05BVl9WQUxJRF9IRUFESU5HUy5pbmNsdWRlcyhoZWFkaW5nVHlwZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEluLXBhZ2UgbmF2aWdhdGlvbjogZGF0YS1oZWFkaW5nLWVsZW1lbnRzIGF0dHJpYnV0ZSBkZWZpbmVkIHdpdGggYW4gaW52YWxpZCBoZWFkaW5nIHR5cGU6IFwiJHtoZWFkaW5nVHlwZX1cIi5cbiAgICAgICAgRGVmaW5lIHRoZSBhdHRyaWJ1dGUgd2l0aCBvbmUgb3IgbW9yZSBvZiB0aGUgZm9sbG93aW5nOiBcIiR7SU5fUEFHRV9OQVZfVkFMSURfSEVBRElOR1N9XCIuXG4gICAgICAgIERvIG5vdCB1c2UgY29tbWFzIG9yIG90aGVyIHB1bmN0dWF0aW9uIGluIHRoZSBhdHRyaWJ1dGUgZGVmaW5pdGlvbi5gLFxuICAgICAgKTtcbiAgICB9XG4gIH0pO1xuXG4gIGNvbnN0IHNlY3Rpb25IZWFkaW5nc0FycmF5ID0gQXJyYXkuZnJvbShcbiAgICBjb250ZW50UmVnaW9uLnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0ZWRIZWFkaW5nVHlwZXNBcnJheSksXG4gICk7XG5cbiAgcmV0dXJuIHNlY3Rpb25IZWFkaW5nc0FycmF5O1xufTtcblxuLyoqXG4gKiBSZXR1cm4gYW4gYXJyYXkgb2YgdGhlIHZpc2libGUgaGVhZGluZ3MgZnJvbSBzZWN0aW9uSGVhZGluZ3NBcnJheS5cbiAqIFRoaXMgZnVuY3Rpb24gcmVtb3ZlcyBoZWFkaW5ncyB0aGF0IGFyZSBoaWRkZW4gd2l0aCBkaXNwbGF5Om5vbmUgb3IgdmlzaWJpbGl0eTpub25lIHN0eWxlIHJ1bGVzLlxuICogVGhlc2UgaXRlbXMgd2lsbCBiZSBhZGRlZCB0byB0aGUgY29tcG9uZW50IG5hdiBsaXN0LlxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IHNlbGVjdGVkQ29udGVudFJlZ2lvbiBUaGUgY29udGVudCByZWdpb24gdGhlIGNvbXBvbmVudCBzaG91bGQgcHVsbCBoZWFkZXJzIGZyb21cbiAqIEBwYXJhbSB7U3RyaW5nfSBzZWxlY3RlZEhlYWRpbmdUeXBlcyBUaGUgbGlzdCBvZiBoZWFkaW5nIHR5cGVzIHRoYXQgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSBuYXYgbGlzdFxuICpcbiAqIEByZXR1cm4ge0FycmF5fSAtIEFuIGFycmF5IG9mIHZpc2libGUgaGVhZGluZ3MgZnJvbSB0aGUgZGVzaWduYXRlZCBjb250ZW50IHJlZ2lvblxuICovXG5jb25zdCBnZXRWaXNpYmxlU2VjdGlvbkhlYWRpbmdzID0gKFxuICBzZWxlY3RlZENvbnRlbnRSZWdpb24sXG4gIHNlbGVjdGVkSGVhZGluZ1R5cGVzLFxuKSA9PiB7XG4gIGNvbnN0IHNlY3Rpb25IZWFkaW5ncyA9IGNyZWF0ZVNlY3Rpb25IZWFkaW5nc0FycmF5KFxuICAgIHNlbGVjdGVkQ29udGVudFJlZ2lvbixcbiAgICBzZWxlY3RlZEhlYWRpbmdUeXBlcyxcbiAgKTtcblxuICAvLyBGaW5kIGFsbCBoZWFkaW5ncyB3aXRoIGhpZGRlbiBzdHlsaW5nIGFuZCByZW1vdmUgdGhlbSBmcm9tIHRoZSBhcnJheVxuICBjb25zdCB2aXNpYmxlU2VjdGlvbkhlYWRpbmdzID0gc2VjdGlvbkhlYWRpbmdzLmZpbHRlcigoaGVhZGluZykgPT4ge1xuICAgIGNvbnN0IGhlYWRpbmdTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGhlYWRpbmcpO1xuICAgIGNvbnN0IHZpc2libGVIZWFkaW5nID1cbiAgICAgIGhlYWRpbmdTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKFwiZGlzcGxheVwiKSAhPT0gXCJub25lXCIgJiZcbiAgICAgIGhlYWRpbmdTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKFwidmlzaWJpbGl0eVwiKSAhPT0gXCJoaWRkZW5cIjtcblxuICAgIHJldHVybiB2aXNpYmxlSGVhZGluZztcbiAgfSk7XG5cbiAgcmV0dXJuIHZpc2libGVTZWN0aW9uSGVhZGluZ3M7XG59O1xuXG4vKipcbiAqIFJldHVybiB0aGUgaGlnaGVzdC1sZXZlbCBoZWFkZXIgdGFnIGluY2x1ZGVkIGluIHRoZSBsaW5rIGxpc3RcbiAqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBzZWN0aW9uSGVhZGluZ3MgVGhlIGFycmF5IG9mIGhlYWRpbmdzIHNlbGVjdGVkIGZvciBpbmNsdXNpb24gaW4gdGhlIGxpbmsgbGlzdFxuICpcbiAqIEByZXR1cm4ge3RhZ05hbWV9IC0gVGhlIHRhZyBuYW1lIGZvciB0aGUgaGlnaGVzdCBsZXZlbCBvZiBoZWFkZXIgaW4gdGhlIGxpbmsgbGlzdFxuICovXG5cbmNvbnN0IGdldFRvcExldmVsSGVhZGluZyA9IChzZWN0aW9uSGVhZGluZ3MpID0+IHtcbiAgY29uc3QgdG9wSGVhZGluZyA9IHNlY3Rpb25IZWFkaW5nc1swXS50YWdOYW1lLnRvTG93ZXJDYXNlKCk7XG4gIHJldHVybiB0b3BIZWFkaW5nO1xufTtcblxuLyoqXG4gKiBSZXR1cm4gYSBub2RlIGxpc3Qgb2Ygc2VjdGlvbiBhbmNob3IgdGFnc1xuICpcbiAqIEByZXR1cm4ge0hUTUxFbGVtZW50W119IC0gQW4gYXJyYXkgb2YgRE9NIG5vZGVzXG4gKi9cbmNvbnN0IGdldFNlY3Rpb25BbmNob3JzID0gKCkgPT4ge1xuICBjb25zdCBzZWN0aW9uQW5jaG9ycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgYC4ke0lOX1BBR0VfTkFWX0FOQ0hPUl9DTEFTU31gLFxuICApO1xuICByZXR1cm4gc2VjdGlvbkFuY2hvcnM7XG59O1xuXG4vKipcbiAqIEdlbmVyYXRlcyBhIHVuaXF1ZSBJRCBmb3IgdGhlIGdpdmVuIGhlYWRpbmcgZWxlbWVudC5cbiAqXG4gKiBAcGFyYW0ge0hUTUxIZWFkaW5nRWxlbWVudH0gaGVhZGluZ1xuICpcbiAqIEByZXR1cm4ge3N0cmluZ30gLSBVbmlxdWUgSURcbiAqL1xuY29uc3QgZ2V0SGVhZGluZ0lkID0gKGhlYWRpbmcpID0+IHtcbiAgY29uc3QgYmFzZUlkID0gaGVhZGluZy50ZXh0Q29udGVudFxuICAgIC50b0xvd2VyQ2FzZSgpXG4gICAgLy8gUmVwbGFjZSBub24tYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgd2l0aCBkYXNoZXNcbiAgICAucmVwbGFjZSgvW15hLXpcXGRdL2csIFwiLVwiKVxuICAgIC8vIFJlcGxhY2UgYSBzZXF1ZW5jZSBvZiB0d28gb3IgbW9yZSBkYXNoZXMgd2l0aCBhIHNpbmdsZSBkYXNoXG4gICAgLnJlcGxhY2UoLy17Mix9L2csIFwiLVwiKVxuICAgIC8vIFRyaW0gbGVhZGluZyBvciB0cmFpbGluZyBkYXNoICh0aGVyZSBzaG91bGQgb25seSBldmVyIGJlIG9uZSlcbiAgICAucmVwbGFjZSgvXi18LSQvZywgXCJcIik7XG5cbiAgbGV0IGlkO1xuICBsZXQgc3VmZml4ID0gMDtcbiAgZG8ge1xuICAgIGlkID0gYmFzZUlkO1xuXG4gICAgLy8gVG8gYXZvaWQgY29uZmxpY3RzIHdpdGggZXhpc3RpbmcgSURzIG9uIHRoZSBwYWdlLCBsb29wIGFuZCBhcHBlbmQgYW5cbiAgICAvLyBpbmNyZW1lbnRlZCBzdWZmaXggdW50aWwgYSB1bmlxdWUgSUQgaXMgZm91bmQuXG4gICAgc3VmZml4ICs9IDE7XG4gICAgaWYgKHN1ZmZpeCA+IDEpIHtcbiAgICAgIGlkICs9IGAtJHtzdWZmaXh9YDtcbiAgICB9XG4gIH0gd2hpbGUgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSk7XG5cbiAgcmV0dXJuIGlkO1xufTtcblxuLyoqXG4gKiBSZXR1cm4gYSBzZWN0aW9uIGlkL2FuY2hvciBoYXNoIHdpdGhvdXQgdGhlIG51bWJlciBzaWduXG4gKlxuICogQHJldHVybiB7U3RyaW5nfSAtIElkIHZhbHVlIHdpdGggdGhlIG51bWJlciBzaWduIHJlbW92ZWRcbiAqL1xuY29uc3QgZ2V0U2VjdGlvbklkID0gKHZhbHVlKSA9PiB7XG4gIGxldCBpZDtcblxuICAvLyBDaGVjayBpZiB2YWx1ZSBpcyBhbiBldmVudCBvciBlbGVtZW50IGFuZCBnZXQgdGhlIGNsZWFuZWQgdXAgaWRcbiAgaWYgKHZhbHVlICYmIHZhbHVlLm5vZGVUeXBlID09PSAxKSB7XG4gICAgaWQgPSB2YWx1ZS5nZXRBdHRyaWJ1dGUoXCJocmVmXCIpLnJlcGxhY2UoXCIjXCIsIFwiXCIpO1xuICB9IGVsc2Uge1xuICAgIGlkID0gdmFsdWUudGFyZ2V0Lmhhc2gucmVwbGFjZShcIiNcIiwgXCJcIik7XG4gIH1cblxuICByZXR1cm4gaWQ7XG59O1xuXG4vKipcbiAqIFNjcm9sbCBzbW9vdGhseSB0byBhIHNlY3Rpb24gYmFzZWQgb24gdGhlIHBhc3NlZCBpbiBlbGVtZW50XG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gLSBJZCB2YWx1ZSB3aXRoIHRoZSBudW1iZXIgc2lnbiByZW1vdmVkXG4gKi9cbmNvbnN0IGhhbmRsZVNjcm9sbFRvU2VjdGlvbiA9IChlbCkgPT4ge1xuICBjb25zdCBpblBhZ2VOYXZFbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYC4ke0lOX1BBR0VfTkFWX0NMQVNTfWApO1xuICBjb25zdCBpblBhZ2VOYXZTY3JvbGxPZmZzZXQgPVxuICAgIGluUGFnZU5hdkVsLmRhdGFzZXQuc2Nyb2xsT2Zmc2V0IHx8IElOX1BBR0VfTkFWX1NDUk9MTF9PRkZTRVQ7XG5cbiAgd2luZG93LnNjcm9sbCh7XG4gICAgYmVoYXZpb3I6IFwic21vb3RoXCIsXG4gICAgdG9wOiBlbC5vZmZzZXRUb3AgLSBpblBhZ2VOYXZTY3JvbGxPZmZzZXQsXG4gICAgYmxvY2s6IFwic3RhcnRcIixcbiAgfSk7XG5cbiAgaWYgKHdpbmRvdy5sb2NhdGlvbi5oYXNoLnNsaWNlKDEpICE9PSBlbC5pZCkge1xuICAgIHdpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZShudWxsLCBcIlwiLCBgIyR7ZWwuaWR9YCk7XG4gIH1cbn07XG5cbi8qKlxuICogU2Nyb2xscyB0aGUgcGFnZSB0byB0aGUgc2VjdGlvbiBjb3JyZXNwb25kaW5nIHRvIHRoZSBjdXJyZW50IGhhc2ggZnJhZ21lbnQsIGlmIG9uZSBleGlzdHMuXG4gKi9cbmNvbnN0IHNjcm9sbFRvQ3VycmVudFNlY3Rpb24gPSAoKSA9PiB7XG4gIGNvbnN0IGhhc2hGcmFnbWVudCA9IHdpbmRvdy5sb2NhdGlvbi5oYXNoLnNsaWNlKDEpO1xuICBpZiAoaGFzaEZyYWdtZW50KSB7XG4gICAgY29uc3QgYW5jaG9yVGFnID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaGFzaEZyYWdtZW50KTtcbiAgICBpZiAoYW5jaG9yVGFnKSB7XG4gICAgICBoYW5kbGVTY3JvbGxUb1NlY3Rpb24oYW5jaG9yVGFnKTtcbiAgICB9XG4gIH1cbn07XG5cbi8qKlxuICogQ3JlYXRlIHRoZSBpbi1wYWdlIG5hdmlnYXRpb24gY29tcG9uZW50XG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gaW5QYWdlTmF2RWwgVGhlIGluLXBhZ2UgbmF2IGVsZW1lbnRcbiAqL1xuY29uc3QgY3JlYXRlSW5QYWdlTmF2ID0gKGluUGFnZU5hdkVsKSA9PiB7XG4gIGNvbnN0IGluUGFnZU5hdlRpdGxlVGV4dCA9IFNhbml0aXplci5lc2NhcGVIVE1MYCR7XG4gICAgaW5QYWdlTmF2RWwuZGF0YXNldC50aXRsZVRleHQgfHwgSU5fUEFHRV9OQVZfVElUTEVfVEVYVFxuICB9YDtcbiAgY29uc3QgaW5QYWdlTmF2VGl0bGVIZWFkaW5nTGV2ZWwgPSBTYW5pdGl6ZXIuZXNjYXBlSFRNTGAke1xuICAgIGluUGFnZU5hdkVsLmRhdGFzZXQudGl0bGVIZWFkaW5nTGV2ZWwgfHwgSU5fUEFHRV9OQVZfVElUTEVfSEVBRElOR19MRVZFTFxuICB9YDtcbiAgY29uc3QgaW5QYWdlTmF2Um9vdE1hcmdpbiA9IFNhbml0aXplci5lc2NhcGVIVE1MYCR7XG4gICAgaW5QYWdlTmF2RWwuZGF0YXNldC5yb290TWFyZ2luIHx8IElOX1BBR0VfTkFWX1JPT1RfTUFSR0lOXG4gIH1gO1xuICBjb25zdCBpblBhZ2VOYXZUaHJlc2hvbGQgPSBTYW5pdGl6ZXIuZXNjYXBlSFRNTGAke1xuICAgIGluUGFnZU5hdkVsLmRhdGFzZXQudGhyZXNob2xkIHx8IElOX1BBR0VfTkFWX1RIUkVTSE9MRFxuICB9YDtcbiAgY29uc3QgaW5QYWdlTmF2Q29udGVudFNlbGVjdG9yID0gU2FuaXRpemVyLmVzY2FwZUhUTUxgJHtcbiAgICBpblBhZ2VOYXZFbC5kYXRhc2V0Lm1haW5Db250ZW50U2VsZWN0b3IgfHwgTUFJTl9FTEVNRU5UXG4gIH1gO1xuICBjb25zdCBpblBhZ2VOYXZIZWFkaW5nU2VsZWN0b3IgPSBTYW5pdGl6ZXIuZXNjYXBlSFRNTGAke1xuICAgIGluUGFnZU5hdkVsLmRhdGFzZXQuaGVhZGluZ0VsZW1lbnRzIHx8IElOX1BBR0VfTkFWX0hFQURJTkdTXG4gIH1gO1xuXG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgcm9vdDogbnVsbCxcbiAgICByb290TWFyZ2luOiBpblBhZ2VOYXZSb290TWFyZ2luLFxuICAgIHRocmVzaG9sZDogW2luUGFnZU5hdlRocmVzaG9sZF0sXG4gIH07XG5cbiAgY29uc3Qgc2VjdGlvbkhlYWRpbmdzID0gZ2V0VmlzaWJsZVNlY3Rpb25IZWFkaW5ncyhcbiAgICBpblBhZ2VOYXZDb250ZW50U2VsZWN0b3IsXG4gICAgaW5QYWdlTmF2SGVhZGluZ1NlbGVjdG9yLFxuICApO1xuICBjb25zdCBpblBhZ2VOYXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwibmF2XCIpO1xuICBpblBhZ2VOYXYuc2V0QXR0cmlidXRlKFwiYXJpYS1sYWJlbFwiLCBpblBhZ2VOYXZUaXRsZVRleHQpO1xuICBpblBhZ2VOYXYuY2xhc3NMaXN0LmFkZChJTl9QQUdFX05BVl9OQVZfQ0xBU1MpO1xuXG4gIGNvbnN0IGluUGFnZU5hdlRpdGxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChpblBhZ2VOYXZUaXRsZUhlYWRpbmdMZXZlbCk7XG4gIGluUGFnZU5hdlRpdGxlLmNsYXNzTGlzdC5hZGQoSU5fUEFHRV9OQVZfVElUTEVfQ0xBU1MpO1xuICBpblBhZ2VOYXZUaXRsZS5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLCBcIjBcIik7XG4gIGluUGFnZU5hdlRpdGxlLnRleHRDb250ZW50ID0gaW5QYWdlTmF2VGl0bGVUZXh0O1xuICBpblBhZ2VOYXYuYXBwZW5kQ2hpbGQoaW5QYWdlTmF2VGl0bGUpO1xuXG4gIGNvbnN0IGluUGFnZU5hdkxpc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidWxcIik7XG4gIGluUGFnZU5hdkxpc3QuY2xhc3NMaXN0LmFkZChJTl9QQUdFX05BVl9MSVNUX0NMQVNTKTtcbiAgaW5QYWdlTmF2LmFwcGVuZENoaWxkKGluUGFnZU5hdkxpc3QpO1xuXG4gIHNlY3Rpb25IZWFkaW5ncy5mb3JFYWNoKChlbCkgPT4ge1xuICAgIGNvbnN0IGxpc3RJdGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImxpXCIpO1xuICAgIGNvbnN0IG5hdkxpbmtzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIik7XG4gICAgY29uc3QgYW5jaG9yVGFnID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIik7XG4gICAgY29uc3QgdGV4dENvbnRlbnRPZkxpbmsgPSBlbC50ZXh0Q29udGVudDtcbiAgICBjb25zdCB0YWcgPSBlbC50YWdOYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgdG9wSGVhZGluZ0xldmVsID0gZ2V0VG9wTGV2ZWxIZWFkaW5nKHNlY3Rpb25IZWFkaW5ncyk7XG4gICAgY29uc3QgaGVhZGluZ0lkID0gZ2V0SGVhZGluZ0lkKGVsKTtcblxuICAgIGxpc3RJdGVtLmNsYXNzTGlzdC5hZGQoSU5fUEFHRV9OQVZfSVRFTV9DTEFTUyk7XG5cbiAgICBpZiAodGFnID09PSB0b3BIZWFkaW5nTGV2ZWwpIHtcbiAgICAgIGxpc3RJdGVtLmNsYXNzTGlzdC5hZGQoSU5fUEFHRV9OQVZfUFJJTUFSWV9JVEVNX0NMQVNTKTtcbiAgICB9XG5cbiAgICBuYXZMaW5rcy5zZXRBdHRyaWJ1dGUoXCJocmVmXCIsIGAjJHtoZWFkaW5nSWR9YCk7XG4gICAgbmF2TGlua3Muc2V0QXR0cmlidXRlKFwiY2xhc3NcIiwgSU5fUEFHRV9OQVZfTElOS19DTEFTUyk7XG4gICAgbmF2TGlua3MudGV4dENvbnRlbnQgPSB0ZXh0Q29udGVudE9mTGluaztcblxuICAgIGFuY2hvclRhZy5zZXRBdHRyaWJ1dGUoXCJpZFwiLCBoZWFkaW5nSWQpO1xuICAgIGFuY2hvclRhZy5zZXRBdHRyaWJ1dGUoXCJjbGFzc1wiLCBJTl9QQUdFX05BVl9BTkNIT1JfQ0xBU1MpO1xuICAgIGVsLmluc2VydEFkamFjZW50RWxlbWVudChcImFmdGVyYmVnaW5cIiwgYW5jaG9yVGFnKTtcblxuICAgIGluUGFnZU5hdkxpc3QuYXBwZW5kQ2hpbGQobGlzdEl0ZW0pO1xuICAgIGxpc3RJdGVtLmFwcGVuZENoaWxkKG5hdkxpbmtzKTtcbiAgfSk7XG5cbiAgaW5QYWdlTmF2RWwuYXBwZW5kQ2hpbGQoaW5QYWdlTmF2KTtcblxuICBjb25zdCBhbmNob3JUYWdzID0gZ2V0U2VjdGlvbkFuY2hvcnMoKTtcbiAgY29uc3Qgb2JzZXJ2ZVNlY3Rpb25zID0gbmV3IHdpbmRvdy5JbnRlcnNlY3Rpb25PYnNlcnZlcihzZXRBY3RpdmUsIG9wdGlvbnMpO1xuXG4gIGFuY2hvclRhZ3MuZm9yRWFjaCgodGFnKSA9PiB7XG4gICAgb2JzZXJ2ZVNlY3Rpb25zLm9ic2VydmUodGFnKTtcbiAgfSk7XG59O1xuXG4vKipcbiAqIEhhbmRsZSBjbGljayBmcm9tIGxpbmtcbiAqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbCBBbiBlbGVtZW50IHdpdGhpbiB0aGUgaW4tcGFnZSBuYXYgY29tcG9uZW50XG4gKi9cbmNvbnN0IGhhbmRsZUNsaWNrRnJvbUxpbmsgPSAoZWwpID0+IHtcbiAgY29uc3QgZWxlbWVudFRvU2Nyb2xsVG8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbC5oYXNoLnNsaWNlKDEpKTtcbiAgaGFuZGxlU2Nyb2xsVG9TZWN0aW9uKGVsZW1lbnRUb1Njcm9sbFRvKTtcbn07XG5cbi8qKlxuICogSGFuZGxlIHRoZSBlbnRlciBldmVudCBmcm9tIGEgbGluayB3aXRoaW4gdGhlIGluLXBhZ2UgbmF2IGNvbXBvbmVudFxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgQW4gZXZlbnQgd2l0aGluIHRoZSBpbi1wYWdlIG5hdiBjb21wb25lbnRcbiAqL1xuY29uc3QgaGFuZGxlRW50ZXJGcm9tTGluayA9IChldmVudCkgPT4ge1xuICBjb25zdCBpZCA9IGdldFNlY3Rpb25JZChldmVudCk7XG4gIGNvbnN0IHRhcmdldEFuY2hvciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtcbiAgY29uc3QgdGFyZ2V0ID0gdGFyZ2V0QW5jaG9yLnBhcmVudEVsZW1lbnQ7XG5cbiAgaWYgKHRhcmdldCkge1xuICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLCAwKTtcbiAgICB0YXJnZXQuZm9jdXMoKTtcbiAgICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgIFwiYmx1clwiLFxuICAgICAgb25jZSgoKSA9PiB7XG4gICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLCAtMSk7XG4gICAgICB9KSxcbiAgICApO1xuICB9IGVsc2Uge1xuICAgIC8vIHRocm93IGFuIGVycm9yP1xuICB9XG4gIGhhbmRsZVNjcm9sbFRvU2VjdGlvbih0YXJnZXRBbmNob3IpO1xufTtcblxuY29uc3QgaW5QYWdlTmF2aWdhdGlvbiA9IGJlaGF2aW9yKFxuICB7XG4gICAgW0NMSUNLXToge1xuICAgICAgW2AuJHtJTl9QQUdFX05BVl9MSU5LX0NMQVNTfWBdKGV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG4gICAgICAgIGhhbmRsZUNsaWNrRnJvbUxpbmsodGhpcyk7XG4gICAgICB9LFxuICAgIH0sXG4gICAga2V5ZG93bjoge1xuICAgICAgW2AuJHtJTl9QQUdFX05BVl9MSU5LX0NMQVNTfWBdOiBrZXltYXAoe1xuICAgICAgICBFbnRlcjogaGFuZGxlRW50ZXJGcm9tTGluayxcbiAgICAgIH0pLFxuICAgIH0sXG4gIH0sXG4gIHtcbiAgICBpbml0KHJvb3QpIHtcbiAgICAgIHNlbGVjdE9yTWF0Y2hlcyhgLiR7SU5fUEFHRV9OQVZfQ0xBU1N9YCwgcm9vdCkuZm9yRWFjaCgoaW5QYWdlTmF2RWwpID0+IHtcbiAgICAgICAgY3JlYXRlSW5QYWdlTmF2KGluUGFnZU5hdkVsKTtcbiAgICAgICAgc2Nyb2xsVG9DdXJyZW50U2VjdGlvbigpO1xuICAgICAgfSk7XG4gICAgfSxcbiAgfSxcbik7XG5cbm1vZHVsZS5leHBvcnRzID0gaW5QYWdlTmF2aWdhdGlvbjtcbiIsImNvbnN0IHNlbGVjdE9yTWF0Y2hlcyA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9zZWxlY3Qtb3ItbWF0Y2hlc1wiKTtcbmNvbnN0IGJlaGF2aW9yID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2JlaGF2aW9yXCIpO1xuY29uc3QgeyBwcmVmaXg6IFBSRUZJWCB9ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL2NvbmZpZ1wiKTtcblxuY29uc3QgTUFTS0VEX0NMQVNTID0gYCR7UFJFRklYfS1tYXNrZWRgO1xuY29uc3QgTUFTS0VEID0gYC4ke01BU0tFRF9DTEFTU31gO1xuY29uc3QgTUFTSyA9IGAke1BSRUZJWH0taW5wdXQtbWFza2A7XG5jb25zdCBNQVNLX0NPTlRFTlQgPSBgJHtNQVNLfS0tY29udGVudGA7XG5jb25zdCBQTEFDRUhPTERFUiA9IFwicGxhY2Vob2xkZXJcIjtcblxuLy8gVXNlciBkZWZpbmVkIFZhbHVlc1xuY29uc3QgbWFza2VkTnVtYmVyID0gXCJfI2REbU15WTlcIjtcbmNvbnN0IG1hc2tlZExldHRlciA9IFwiQVwiO1xuXG4vLyByZXBsYWNlcyBlYWNoIG1hc2tlZCBpbnB1dCB3aXRoIGEgc2hlbGwgY29udGFpbmluZyB0aGUgaW5wdXQgYW5kIGl0J3MgbWFzay5cbmNvbnN0IGNyZWF0ZU1hc2tlZElucHV0U2hlbGwgPSAoaW5wdXQpID0+IHtcbiAgY29uc3QgcGxhY2Vob2xkZXIgPSBpbnB1dC5nZXRBdHRyaWJ1dGUoYCR7UExBQ0VIT0xERVJ9YCk7XG4gIGlmIChwbGFjZWhvbGRlcikge1xuICAgIGlucHV0LnNldEF0dHJpYnV0ZShcIm1heGxlbmd0aFwiLCBwbGFjZWhvbGRlci5sZW5ndGgpO1xuICAgIGlucHV0LnNldEF0dHJpYnV0ZShcImRhdGEtcGxhY2Vob2xkZXJcIiwgcGxhY2Vob2xkZXIpO1xuICAgIGlucHV0LnJlbW92ZUF0dHJpYnV0ZShgJHtQTEFDRUhPTERFUn1gKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBzaGVsbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIpO1xuICBzaGVsbC5jbGFzc0xpc3QuYWRkKE1BU0spO1xuICBzaGVsbC5zZXRBdHRyaWJ1dGUoXCJkYXRhLW1hc2tcIiwgcGxhY2Vob2xkZXIpO1xuXG4gIGNvbnN0IGNvbnRlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3BhblwiKTtcbiAgY29udGVudC5jbGFzc0xpc3QuYWRkKE1BU0tfQ09OVEVOVCk7XG4gIGNvbnRlbnQuc2V0QXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIiwgXCJ0cnVlXCIpO1xuICBjb250ZW50LmlkID0gYCR7aW5wdXQuaWR9TWFza2A7XG4gIGNvbnRlbnQudGV4dENvbnRlbnQgPSBwbGFjZWhvbGRlcjtcblxuICBzaGVsbC5hcHBlbmRDaGlsZChjb250ZW50KTtcbiAgaW5wdXQucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoc2hlbGwsIGlucHV0KTtcbiAgc2hlbGwuYXBwZW5kQ2hpbGQoaW5wdXQpO1xufTtcblxuY29uc3Qgc2V0VmFsdWVPZk1hc2sgPSAoZWwpID0+IHtcbiAgY29uc3QgeyB2YWx1ZSB9ID0gZWw7XG4gIGNvbnN0IHBsYWNlaG9sZGVyVmFsID0gYCR7ZWwuZGF0YXNldC5wbGFjZWhvbGRlci5zdWJzdHIodmFsdWUubGVuZ3RoKX1gO1xuXG4gIGNvbnN0IHRoZUlFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJpXCIpO1xuICB0aGVJRWwudGV4dENvbnRlbnQgPSB2YWx1ZTtcbiAgcmV0dXJuIFt0aGVJRWwsIHBsYWNlaG9sZGVyVmFsXTtcbn07XG5cbmNvbnN0IHN0cmlwcGVkVmFsdWUgPSAoaXNDaGFyc2V0UHJlc2VudCwgdmFsdWUpID0+XG4gIGlzQ2hhcnNldFByZXNlbnQgPyB2YWx1ZS5yZXBsYWNlKC9cXFcvZywgXCJcIikgOiB2YWx1ZS5yZXBsYWNlKC9cXEQvZywgXCJcIik7XG5cbmNvbnN0IGlzSW50ZWdlciA9ICh2YWx1ZSkgPT4gIU51bWJlci5pc05hTihwYXJzZUludCh2YWx1ZSwgMTApKTtcblxuY29uc3QgaXNMZXR0ZXIgPSAodmFsdWUpID0+ICh2YWx1ZSA/IHZhbHVlLm1hdGNoKC9bQS1aXS9pKSA6IGZhbHNlKTtcblxuY29uc3QgaGFuZGxlQ3VycmVudFZhbHVlID0gKGVsKSA9PiB7XG4gIGNvbnN0IGlzQ2hhcnNldFByZXNlbnQgPSBlbC5kYXRhc2V0LmNoYXJzZXQ7XG4gIGNvbnN0IHBsYWNlaG9sZGVyID0gaXNDaGFyc2V0UHJlc2VudCB8fCBlbC5kYXRhc2V0LnBsYWNlaG9sZGVyO1xuICBjb25zdCB7IHZhbHVlIH0gPSBlbDtcbiAgY29uc3QgbGVuID0gcGxhY2Vob2xkZXIubGVuZ3RoO1xuICBsZXQgbmV3VmFsdWUgPSBcIlwiO1xuICBsZXQgaTtcbiAgbGV0IGNoYXJJbmRleDtcblxuICBjb25zdCBzdHJpcHBlZFZhbCA9IHN0cmlwcGVkVmFsdWUoaXNDaGFyc2V0UHJlc2VudCwgdmFsdWUpO1xuXG4gIGZvciAoaSA9IDAsIGNoYXJJbmRleCA9IDA7IGkgPCBsZW47IGkgKz0gMSkge1xuICAgIGNvbnN0IGlzSW50ID0gaXNJbnRlZ2VyKHN0cmlwcGVkVmFsW2NoYXJJbmRleF0pO1xuICAgIGNvbnN0IGlzTGV0ID0gaXNMZXR0ZXIoc3RyaXBwZWRWYWxbY2hhckluZGV4XSk7XG4gICAgY29uc3QgbWF0Y2hlc051bWJlciA9IG1hc2tlZE51bWJlci5pbmRleE9mKHBsYWNlaG9sZGVyW2ldKSA+PSAwO1xuICAgIGNvbnN0IG1hdGNoZXNMZXR0ZXIgPSBtYXNrZWRMZXR0ZXIuaW5kZXhPZihwbGFjZWhvbGRlcltpXSkgPj0gMDtcblxuICAgIGlmIChcbiAgICAgIChtYXRjaGVzTnVtYmVyICYmIGlzSW50KSB8fFxuICAgICAgKGlzQ2hhcnNldFByZXNlbnQgJiYgbWF0Y2hlc0xldHRlciAmJiBpc0xldClcbiAgICApIHtcbiAgICAgIG5ld1ZhbHVlICs9IHN0cmlwcGVkVmFsW2NoYXJJbmRleF07XG4gICAgICBjaGFySW5kZXggKz0gMTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgKCFpc0NoYXJzZXRQcmVzZW50ICYmICFpc0ludCAmJiBtYXRjaGVzTnVtYmVyKSB8fFxuICAgICAgKGlzQ2hhcnNldFByZXNlbnQgJiZcbiAgICAgICAgKChtYXRjaGVzTGV0dGVyICYmICFpc0xldCkgfHwgKG1hdGNoZXNOdW1iZXIgJiYgIWlzSW50KSkpXG4gICAgKSB7XG4gICAgICByZXR1cm4gbmV3VmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5ld1ZhbHVlICs9IHBsYWNlaG9sZGVyW2ldO1xuICAgIH1cbiAgICAvLyBicmVhayBpZiBubyBjaGFyYWN0ZXJzIGxlZnQgYW5kIHRoZSBwYXR0ZXJuIGlzIG5vbi1zcGVjaWFsIGNoYXJhY3RlclxuICAgIGlmIChzdHJpcHBlZFZhbFtjaGFySW5kZXhdID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBuZXdWYWx1ZTtcbn07XG5cbmNvbnN0IGhhbmRsZVZhbHVlQ2hhbmdlID0gKGVsKSA9PiB7XG4gIGNvbnN0IGlucHV0RWwgPSBlbDtcbiAgY29uc3QgaWQgPSBpbnB1dEVsLmdldEF0dHJpYnV0ZShcImlkXCIpO1xuICBpbnB1dEVsLnZhbHVlID0gaGFuZGxlQ3VycmVudFZhbHVlKGlucHV0RWwpO1xuXG4gIGNvbnN0IG1hc2tWYWwgPSBzZXRWYWx1ZU9mTWFzayhlbCk7XG4gIGNvbnN0IG1hc2tFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGAke2lkfU1hc2tgKTtcbiAgbWFza0VsLnRleHRDb250ZW50ID0gXCJcIjtcbiAgbWFza0VsLnJlcGxhY2VDaGlsZHJlbihtYXNrVmFsWzBdLCBtYXNrVmFsWzFdKTtcbn07XG5cbmNvbnN0IGlucHV0TWFza0V2ZW50cyA9IHtcbiAga2V5dXA6IHtcbiAgICBbTUFTS0VEXSgpIHtcbiAgICAgIGhhbmRsZVZhbHVlQ2hhbmdlKHRoaXMpO1xuICAgIH0sXG4gIH0sXG59O1xuXG5jb25zdCBpbnB1dE1hc2sgPSBiZWhhdmlvcihpbnB1dE1hc2tFdmVudHMsIHtcbiAgaW5pdChyb290KSB7XG4gICAgc2VsZWN0T3JNYXRjaGVzKE1BU0tFRCwgcm9vdCkuZm9yRWFjaCgobWFza2VkSW5wdXQpID0+IHtcbiAgICAgIGNyZWF0ZU1hc2tlZElucHV0U2hlbGwobWFza2VkSW5wdXQpO1xuICAgIH0pO1xuICB9LFxufSk7XG5cbm1vZHVsZS5leHBvcnRzID0gaW5wdXRNYXNrO1xuIiwiY29uc3Qga2V5bWFwID0gcmVxdWlyZShcInJlY2VwdG9yL2tleW1hcFwiKTtcbmNvbnN0IGJlaGF2aW9yID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2JlaGF2aW9yXCIpO1xuY29uc3QgdG9nZ2xlID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3RvZ2dsZVwiKTtcbmNvbnN0IEZvY3VzVHJhcCA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9mb2N1cy10cmFwXCIpO1xuY29uc3QgYWNjb3JkaW9uID0gcmVxdWlyZShcIi4uLy4uL3VzYS1hY2NvcmRpb24vc3JjL2luZGV4XCIpO1xuXG5jb25zdCB7IENMSUNLIH0gPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvZXZlbnRzXCIpO1xuY29uc3QgeyBwcmVmaXg6IFBSRUZJWCB9ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL2NvbmZpZ1wiKTtcblxuY29uc3QgQk9EWSA9IFwiYm9keVwiO1xuY29uc3QgTEFOR1VBR0UgPSBgLiR7UFJFRklYfS1sYW5ndWFnZWA7XG5jb25zdCBMQU5HVUFHRV9TVUIgPSBgLiR7UFJFRklYfS1sYW5ndWFnZV9fc3VibWVudWA7XG5jb25zdCBMQU5HVUFHRV9QUklNQVJZID0gYC4ke1BSRUZJWH0tbGFuZ3VhZ2VfX3ByaW1hcnlgO1xuY29uc3QgTEFOR1VBR0VfUFJJTUFSWV9JVEVNID0gYC4ke1BSRUZJWH0tbGFuZ3VhZ2VfX3ByaW1hcnktaXRlbWA7XG5jb25zdCBMQU5HVUFHRV9DT05UUk9MID0gYGJ1dHRvbi4ke1BSRUZJWH0tbGFuZ3VhZ2VfX2xpbmtgO1xuY29uc3QgTEFOR1VBR0VfTElOS1MgPSBgJHtMQU5HVUFHRX0gYWA7XG5cbmxldCBsYW5ndWFnZVNlbGVjdG9yO1xubGV0IGxhbmd1YWdlQWN0aXZlO1xuXG5jb25zdCBvbkxhbmd1YWdlQ2xvc2UgPSAoKSA9PlxuICBsYW5ndWFnZVNlbGVjdG9yLnRvZ2dsZUxhbmd1YWdlLmNhbGwobGFuZ3VhZ2VTZWxlY3RvciwgZmFsc2UpO1xuXG5jb25zdCBoaWRlQWN0aXZlTGFuZ3VhZ2VEcm9wZG93biA9ICgpID0+IHtcbiAgaWYgKCFsYW5ndWFnZUFjdGl2ZSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHRvZ2dsZShsYW5ndWFnZUFjdGl2ZSwgZmFsc2UpO1xuICBsYW5ndWFnZUFjdGl2ZSA9IG51bGw7XG59O1xuXG5jb25zdCBmb2N1c0xhbmd1YWdlQnV0dG9uID0gKGV2ZW50KSA9PiB7XG4gIGNvbnN0IHBhcmVudExhbmd1YWdlSXRlbSA9IGV2ZW50LnRhcmdldC5jbG9zZXN0KExBTkdVQUdFX1BSSU1BUllfSVRFTSk7XG5cbiAgaWYgKCFldmVudC50YXJnZXQubWF0Y2hlcyhMQU5HVUFHRV9DT05UUk9MKSkge1xuICAgIHBhcmVudExhbmd1YWdlSXRlbS5xdWVyeVNlbGVjdG9yKExBTkdVQUdFX0NPTlRST0wpLmZvY3VzKCk7XG4gIH1cbn07XG5cbmNvbnN0IGhhbmRsZUVzY2FwZSA9IChldmVudCkgPT4ge1xuICBoaWRlQWN0aXZlTGFuZ3VhZ2VEcm9wZG93bigpO1xuICBmb2N1c0xhbmd1YWdlQnV0dG9uKGV2ZW50KTtcbn07XG5cbmxhbmd1YWdlU2VsZWN0b3IgPSBiZWhhdmlvcihcbiAge1xuICAgIFtDTElDS106IHtcbiAgICAgIFtMQU5HVUFHRV9DT05UUk9MXSgpIHtcbiAgICAgICAgaWYgKGxhbmd1YWdlQWN0aXZlICE9PSB0aGlzKSB7XG4gICAgICAgICAgaGlkZUFjdGl2ZUxhbmd1YWdlRHJvcGRvd24oKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobGFuZ3VhZ2VBY3RpdmUgPT09IHRoaXMpIHtcbiAgICAgICAgICBoaWRlQWN0aXZlTGFuZ3VhZ2VEcm9wZG93bigpO1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWxhbmd1YWdlQWN0aXZlKSB7XG4gICAgICAgICAgbGFuZ3VhZ2VBY3RpdmUgPSB0aGlzO1xuICAgICAgICAgIHRvZ2dsZShsYW5ndWFnZUFjdGl2ZSwgdHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9LFxuICAgICAgW0JPRFldOiBoaWRlQWN0aXZlTGFuZ3VhZ2VEcm9wZG93bixcbiAgICAgIFtMQU5HVUFHRV9MSU5LU10oKSB7XG4gICAgICAgIGNvbnN0IGFjYyA9IHRoaXMuY2xvc2VzdChhY2NvcmRpb24uQUNDT1JESU9OKTtcblxuICAgICAgICBpZiAoYWNjKSB7XG4gICAgICAgICAgYWNjb3JkaW9uLmdldEJ1dHRvbnMoYWNjKS5mb3JFYWNoKChidG4pID0+IGFjY29yZGlvbi5oaWRlKGJ0bikpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0sXG4gICAga2V5ZG93bjoge1xuICAgICAgW0xBTkdVQUdFX1BSSU1BUlldOiBrZXltYXAoeyBFc2NhcGU6IGhhbmRsZUVzY2FwZSB9KSxcbiAgICB9LFxuICAgIGZvY3Vzb3V0OiB7XG4gICAgICBbTEFOR1VBR0VfUFJJTUFSWV0oZXZlbnQpIHtcbiAgICAgICAgY29uc3QgbGFuZ3VhZ2UgPSBldmVudC50YXJnZXQuY2xvc2VzdChMQU5HVUFHRV9QUklNQVJZKTtcblxuICAgICAgICBpZiAoIWxhbmd1YWdlLmNvbnRhaW5zKGV2ZW50LnJlbGF0ZWRUYXJnZXQpKSB7XG4gICAgICAgICAgaGlkZUFjdGl2ZUxhbmd1YWdlRHJvcGRvd24oKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9LFxuICB9LFxuICB7XG4gICAgaW5pdChyb290KSB7XG4gICAgICBjb25zdCB0cmFwQ29udGFpbmVyID0gcm9vdC5tYXRjaGVzKExBTkdVQUdFX1NVQilcbiAgICAgICAgPyByb290XG4gICAgICAgIDogcm9vdC5xdWVyeVNlbGVjdG9yKExBTkdVQUdFX1NVQik7XG5cbiAgICAgIGlmICh0cmFwQ29udGFpbmVyKSB7XG4gICAgICAgIGxhbmd1YWdlU2VsZWN0b3IuZm9jdXNUcmFwID0gRm9jdXNUcmFwKHRyYXBDb250YWluZXIsIHtcbiAgICAgICAgICBFc2NhcGU6IG9uTGFuZ3VhZ2VDbG9zZSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICB0ZWFyZG93bigpIHtcbiAgICAgIGxhbmd1YWdlQWN0aXZlID0gZmFsc2U7XG4gICAgfSxcbiAgICBmb2N1c1RyYXA6IG51bGwsXG4gIH0sXG4pO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGxhbmd1YWdlU2VsZWN0b3I7XG4iLCJjb25zdCBzZWxlY3RPck1hdGNoZXMgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvc2VsZWN0LW9yLW1hdGNoZXNcIik7XG5jb25zdCBGb2N1c1RyYXAgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvZm9jdXMtdHJhcFwiKTtcbmNvbnN0IFNjcm9sbEJhcldpZHRoID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3Njcm9sbGJhci13aWR0aFwiKTtcbmNvbnN0IGJlaGF2aW9yID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2JlaGF2aW9yXCIpO1xuXG5jb25zdCB7IHByZWZpeDogUFJFRklYIH0gPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvY29uZmlnXCIpO1xuXG5jb25zdCBNT0RBTF9DTEFTU05BTUUgPSBgJHtQUkVGSVh9LW1vZGFsYDtcbmNvbnN0IE9WRVJMQVlfQ0xBU1NOQU1FID0gYCR7TU9EQUxfQ0xBU1NOQU1FfS1vdmVybGF5YDtcbmNvbnN0IFdSQVBQRVJfQ0xBU1NOQU1FID0gYCR7TU9EQUxfQ0xBU1NOQU1FfS13cmFwcGVyYDtcbmNvbnN0IE9QRU5FUl9BVFRSSUJVVEUgPSBcImRhdGEtb3Blbi1tb2RhbFwiO1xuY29uc3QgQ0xPU0VSX0FUVFJJQlVURSA9IFwiZGF0YS1jbG9zZS1tb2RhbFwiO1xuY29uc3QgRk9SQ0VfQUNUSU9OX0FUVFJJQlVURSA9IFwiZGF0YS1mb3JjZS1hY3Rpb25cIjtcbmNvbnN0IE5PTl9NT0RBTF9ISURERU5fQVRUUklCVVRFID0gYGRhdGEtbW9kYWwtaGlkZGVuYDtcbmNvbnN0IE1PREFMID0gYC4ke01PREFMX0NMQVNTTkFNRX1gO1xuY29uc3QgSU5JVElBTF9GT0NVUyA9IGAuJHtXUkFQUEVSX0NMQVNTTkFNRX0gKltkYXRhLWZvY3VzXWA7XG5jb25zdCBDTE9TRV9CVVRUT04gPSBgJHtXUkFQUEVSX0NMQVNTTkFNRX0gKlske0NMT1NFUl9BVFRSSUJVVEV9XWA7XG5jb25zdCBPUEVORVJTID0gYCpbJHtPUEVORVJfQVRUUklCVVRFfV1bYXJpYS1jb250cm9sc11gO1xuY29uc3QgQ0xPU0VSUyA9IGAke0NMT1NFX0JVVFRPTn0sIC4ke09WRVJMQVlfQ0xBU1NOQU1FfTpub3QoWyR7Rk9SQ0VfQUNUSU9OX0FUVFJJQlVURX1dKWA7XG5jb25zdCBOT05fTU9EQUxTID0gYGJvZHkgPiAqOm5vdCguJHtXUkFQUEVSX0NMQVNTTkFNRX0pOm5vdChbYXJpYS1oaWRkZW5dKWA7XG5jb25zdCBOT05fTU9EQUxTX0hJRERFTiA9IGBbJHtOT05fTU9EQUxfSElEREVOX0FUVFJJQlVURX1dYDtcblxuY29uc3QgQUNUSVZFX0NMQVNTID0gXCJ1c2EtanMtbW9kYWwtLWFjdGl2ZVwiO1xuY29uc3QgUFJFVkVOVF9DTElDS19DTEFTUyA9IFwidXNhLWpzLW5vLWNsaWNrXCI7XG5jb25zdCBWSVNJQkxFX0NMQVNTID0gXCJpcy12aXNpYmxlXCI7XG5jb25zdCBISURERU5fQ0xBU1MgPSBcImlzLWhpZGRlblwiO1xuXG5sZXQgbW9kYWw7XG5sZXQgSU5JVElBTF9CT0RZX1BBRERJTkc7XG5sZXQgVEVNUE9SQVJZX0JPRFlfUEFERElORztcblxuY29uc3QgaXNBY3RpdmUgPSAoKSA9PiBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucyhBQ1RJVkVfQ0xBU1MpO1xuY29uc3QgU0NST0xMQkFSX1dJRFRIID0gU2Nyb2xsQmFyV2lkdGgoKTtcblxuLyoqXG4gKiAgQ2xvc2VzIG1vZGFsIHdoZW4gYm91bmQgdG8gYSBidXR0b24gYW5kIHByZXNzZWQuXG4gKi9cbmNvbnN0IG9uTWVudUNsb3NlID0gKCkgPT4ge1xuICBtb2RhbC50b2dnbGVNb2RhbC5jYWxsKG1vZGFsLCBmYWxzZSk7XG59O1xuXG4vKipcbiAqIFNldCB0aGUgdmFsdWUgZm9yIHRlbXBvcmFyeSBib2R5IHBhZGRpbmcgdGhhdCB3aWxsIGJlIGFwcGxpZWQgd2hlbiB0aGUgbW9kYWwgaXMgb3Blbi5cbiAqIFZhbHVlIGlzIGNyZWF0ZWQgYnkgY2hlY2tpbmcgZm9yIGluaXRpYWwgYm9keSBwYWRkaW5nIGFuZCBhZGRpbmcgdGhlIHdpZHRoIG9mIHRoZSBzY3JvbGxiYXIuXG4gKi9cbmNvbnN0IHNldFRlbXBvcmFyeUJvZHlQYWRkaW5nID0gKCkgPT4ge1xuICBJTklUSUFMX0JPRFlfUEFERElORyA9IHdpbmRvd1xuICAgIC5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpXG4gICAgLmdldFByb3BlcnR5VmFsdWUoXCJwYWRkaW5nLXJpZ2h0XCIpO1xuICBURU1QT1JBUllfQk9EWV9QQURESU5HID0gYCR7XG4gICAgcGFyc2VJbnQoSU5JVElBTF9CT0RZX1BBRERJTkcucmVwbGFjZSgvcHgvLCBcIlwiKSwgMTApICtcbiAgICBwYXJzZUludChTQ1JPTExCQVJfV0lEVEgucmVwbGFjZSgvcHgvLCBcIlwiKSwgMTApXG4gIH1weGA7XG59O1xuXG4vKipcbiAqICBUb2dnbGUgdGhlIHZpc2liaWxpdHkgb2YgYSBtb2RhbCB3aW5kb3dcbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50LlxuICogQHJldHVybnMge2Jvb2xlYW59IHNhZmVBY3RpdmUgaWYgbW9iaWxlIGlzIG9wZW4uXG4gKi9cbmZ1bmN0aW9uIHRvZ2dsZU1vZGFsKGV2ZW50KSB7XG4gIGxldCBvcmlnaW5hbE9wZW5lcjtcbiAgbGV0IGNsaWNrZWRFbGVtZW50ID0gZXZlbnQudGFyZ2V0O1xuICBjb25zdCB7IGJvZHkgfSA9IGRvY3VtZW50O1xuICBjb25zdCBzYWZlQWN0aXZlID0gIWlzQWN0aXZlKCk7XG4gIGNvbnN0IG1vZGFsSWQgPSBjbGlja2VkRWxlbWVudFxuICAgID8gY2xpY2tlZEVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiYXJpYS1jb250cm9sc1wiKVxuICAgIDogZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi51c2EtbW9kYWwtd3JhcHBlci5pcy12aXNpYmxlXCIpO1xuICBjb25zdCB0YXJnZXRNb2RhbCA9IHNhZmVBY3RpdmVcbiAgICA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG1vZGFsSWQpXG4gICAgOiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnVzYS1tb2RhbC13cmFwcGVyLmlzLXZpc2libGVcIik7XG5cbiAgLy8gaWYgdGhlcmUgaXMgbm8gbW9kYWwgd2UgcmV0dXJuIGVhcmx5XG4gIGlmICghdGFyZ2V0TW9kYWwpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBvcGVuRm9jdXNFbCA9IHRhcmdldE1vZGFsLnF1ZXJ5U2VsZWN0b3IoSU5JVElBTF9GT0NVUylcbiAgICA/IHRhcmdldE1vZGFsLnF1ZXJ5U2VsZWN0b3IoSU5JVElBTF9GT0NVUylcbiAgICA6IHRhcmdldE1vZGFsLnF1ZXJ5U2VsZWN0b3IoXCIudXNhLW1vZGFsXCIpO1xuICBjb25zdCByZXR1cm5Gb2N1cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFxuICAgIHRhcmdldE1vZGFsLmdldEF0dHJpYnV0ZShcImRhdGEtb3BlbmVyXCIpLFxuICApO1xuICBjb25zdCBtZW51QnV0dG9uID0gYm9keS5xdWVyeVNlbGVjdG9yKE9QRU5FUlMpO1xuICBjb25zdCBmb3JjZVVzZXJBY3Rpb24gPSB0YXJnZXRNb2RhbC5nZXRBdHRyaWJ1dGUoRk9SQ0VfQUNUSU9OX0FUVFJJQlVURSk7XG5cbiAgLy8gU2V0cyB0aGUgY2xpY2tlZCBlbGVtZW50IHRvIHRoZSBjbG9zZSBidXR0b25cbiAgLy8gc28gZXNjIGtleSBhbHdheXMgY2xvc2VzIG1vZGFsXG4gIGlmIChldmVudC50eXBlID09PSBcImtleWRvd25cIiAmJiB0YXJnZXRNb2RhbCAhPT0gbnVsbCkge1xuICAgIGNsaWNrZWRFbGVtZW50ID0gdGFyZ2V0TW9kYWwucXVlcnlTZWxlY3RvcihDTE9TRV9CVVRUT04pO1xuICB9XG5cbiAgLy8gV2hlbiB3ZSdyZSBub3QgaGl0dGluZyB0aGUgZXNjYXBlIGtleeKAplxuICBpZiAoY2xpY2tlZEVsZW1lbnQpIHtcbiAgICAvLyBNYWtlIHN1cmUgd2UgY2xpY2sgdGhlIG9wZW5lclxuICAgIC8vIElmIGl0IGRvZXNuJ3QgaGF2ZSBhbiBJRCwgbWFrZSBvbmVcbiAgICAvLyBTdG9yZSBpZCBhcyBkYXRhIGF0dHJpYnV0ZSBvbiBtb2RhbFxuICAgIGlmIChjbGlja2VkRWxlbWVudC5oYXNBdHRyaWJ1dGUoT1BFTkVSX0FUVFJJQlVURSkpIHtcbiAgICAgIGlmICh0aGlzLmdldEF0dHJpYnV0ZShcImlkXCIpID09PSBudWxsKSB7XG4gICAgICAgIG9yaWdpbmFsT3BlbmVyID0gYG1vZGFsLSR7TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogOTAwMDAwKSArIDEwMDAwMH1gO1xuICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZShcImlkXCIsIG9yaWdpbmFsT3BlbmVyKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9yaWdpbmFsT3BlbmVyID0gdGhpcy5nZXRBdHRyaWJ1dGUoXCJpZFwiKTtcbiAgICAgIH1cbiAgICAgIHRhcmdldE1vZGFsLnNldEF0dHJpYnV0ZShcImRhdGEtb3BlbmVyXCIsIG9yaWdpbmFsT3BlbmVyKTtcbiAgICB9XG5cbiAgICAvLyBUaGlzIGJhc2ljYWxseSBzdG9wcyB0aGUgcHJvcGFnYXRpb24gaWYgdGhlIGVsZW1lbnRcbiAgICAvLyBpcyBpbnNpZGUgdGhlIG1vZGFsIGFuZCBub3QgYSBjbG9zZSBidXR0b24gb3JcbiAgICAvLyBlbGVtZW50IGluc2lkZSBhIGNsb3NlIGJ1dHRvblxuICAgIGlmIChjbGlja2VkRWxlbWVudC5jbG9zZXN0KGAuJHtNT0RBTF9DTEFTU05BTUV9YCkpIHtcbiAgICAgIGlmIChcbiAgICAgICAgY2xpY2tlZEVsZW1lbnQuaGFzQXR0cmlidXRlKENMT1NFUl9BVFRSSUJVVEUpIHx8XG4gICAgICAgIGNsaWNrZWRFbGVtZW50LmNsb3Nlc3QoYFske0NMT1NFUl9BVFRSSUJVVEV9XWApXG4gICAgICApIHtcbiAgICAgICAgLy8gZG8gbm90aGluZy4gbW92ZSBvbi5cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBib2R5LmNsYXNzTGlzdC50b2dnbGUoQUNUSVZFX0NMQVNTLCBzYWZlQWN0aXZlKTtcbiAgdGFyZ2V0TW9kYWwuY2xhc3NMaXN0LnRvZ2dsZShWSVNJQkxFX0NMQVNTLCBzYWZlQWN0aXZlKTtcbiAgdGFyZ2V0TW9kYWwuY2xhc3NMaXN0LnRvZ2dsZShISURERU5fQ0xBU1MsICFzYWZlQWN0aXZlKTtcblxuICAvLyBJZiB1c2VyIGlzIGZvcmNlZCB0byB0YWtlIGFuIGFjdGlvbiwgYWRkaW5nXG4gIC8vIGEgY2xhc3MgdG8gdGhlIGJvZHkgdGhhdCBwcmV2ZW50cyBjbGlja2luZyB1bmRlcm5lYXRoXG4gIC8vIG92ZXJsYXlcbiAgaWYgKGZvcmNlVXNlckFjdGlvbikge1xuICAgIGJvZHkuY2xhc3NMaXN0LnRvZ2dsZShQUkVWRU5UX0NMSUNLX0NMQVNTLCBzYWZlQWN0aXZlKTtcbiAgfVxuXG4gIC8vIFRlbXBvcmFyaWx5IGluY3JlYXNlIGJvZHkgcGFkZGluZyB0byBpbmNsdWRlIHRoZSB3aWR0aCBvZiB0aGUgc2Nyb2xsYmFyLlxuICAvLyBUaGlzIGFjY291bnRzIGZvciB0aGUgY29udGVudCBzaGlmdCB3aGVuIHRoZSBzY3JvbGxiYXIgaXMgcmVtb3ZlZCBvbiBtb2RhbCBvcGVuLlxuICBpZiAoYm9keS5zdHlsZS5wYWRkaW5nUmlnaHQgPT09IFRFTVBPUkFSWV9CT0RZX1BBRERJTkcpIHtcbiAgICBib2R5LnN0eWxlLnJlbW92ZVByb3BlcnR5KFwicGFkZGluZy1yaWdodFwiKTtcbiAgfSBlbHNlIHtcbiAgICBib2R5LnN0eWxlLnBhZGRpbmdSaWdodCA9IFRFTVBPUkFSWV9CT0RZX1BBRERJTkc7XG4gIH1cblxuICAvLyBIYW5kbGUgdGhlIGZvY3VzIGFjdGlvbnNcbiAgaWYgKHNhZmVBY3RpdmUgJiYgb3BlbkZvY3VzRWwpIHtcbiAgICAvLyBUaGUgbW9kYWwgd2luZG93IGlzIG9wZW5lZC4gRm9jdXMgaXMgc2V0IHRvIGNsb3NlIGJ1dHRvbi5cblxuICAgIC8vIEJpbmRzIGVzY2FwZSBrZXkgaWYgd2UncmUgbm90IGZvcmNpbmdcbiAgICAvLyB0aGUgdXNlciB0byB0YWtlIGFuIGFjdGlvblxuICAgIGlmIChmb3JjZVVzZXJBY3Rpb24pIHtcbiAgICAgIG1vZGFsLmZvY3VzVHJhcCA9IEZvY3VzVHJhcCh0YXJnZXRNb2RhbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG1vZGFsLmZvY3VzVHJhcCA9IEZvY3VzVHJhcCh0YXJnZXRNb2RhbCwge1xuICAgICAgICBFc2NhcGU6IG9uTWVudUNsb3NlLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gSGFuZGxlcyBmb2N1cyBzZXR0aW5nIGFuZCBpbnRlcmFjdGlvbnNcbiAgICBtb2RhbC5mb2N1c1RyYXAudXBkYXRlKHNhZmVBY3RpdmUpO1xuICAgIG9wZW5Gb2N1c0VsLmZvY3VzKCk7XG5cbiAgICAvLyBIaWRlcyBldmVyeXRoaW5nIHRoYXQgaXMgbm90IHRoZSBtb2RhbCBmcm9tIHNjcmVlbiByZWFkZXJzXG4gICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChOT05fTU9EQUxTKS5mb3JFYWNoKChub25Nb2RhbCkgPT4ge1xuICAgICAgbm9uTW9kYWwuc2V0QXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIiwgXCJ0cnVlXCIpO1xuICAgICAgbm9uTW9kYWwuc2V0QXR0cmlidXRlKE5PTl9NT0RBTF9ISURERU5fQVRUUklCVVRFLCBcIlwiKTtcbiAgICB9KTtcbiAgfSBlbHNlIGlmICghc2FmZUFjdGl2ZSAmJiBtZW51QnV0dG9uICYmIHJldHVybkZvY3VzKSB7XG4gICAgLy8gVGhlIG1vZGFsIHdpbmRvdyBpcyBjbG9zZWQuXG4gICAgLy8gTm9uLW1vZGFscyBub3cgYWNjZXNpYmxlIHRvIHNjcmVlbiByZWFkZXJcbiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKE5PTl9NT0RBTFNfSElEREVOKS5mb3JFYWNoKChub25Nb2RhbCkgPT4ge1xuICAgICAgbm9uTW9kYWwucmVtb3ZlQXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIik7XG4gICAgICBub25Nb2RhbC5yZW1vdmVBdHRyaWJ1dGUoTk9OX01PREFMX0hJRERFTl9BVFRSSUJVVEUpO1xuICAgIH0pO1xuXG4gICAgLy8gRm9jdXMgaXMgcmV0dXJuZWQgdG8gdGhlIG9wZW5lclxuICAgIHJldHVybkZvY3VzLmZvY3VzKCk7XG4gICAgbW9kYWwuZm9jdXNUcmFwLnVwZGF0ZShzYWZlQWN0aXZlKTtcbiAgfVxuXG4gIHJldHVybiBzYWZlQWN0aXZlO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBwbGFjZWhvbGRlciB3aXRoIGRhdGEgYXR0cmlidXRlcyBmb3IgY2xlYW51cCBmdW5jdGlvbi5cbiAqIFRoZSBjbGVhbnVwIGZ1bmN0aW9uIHVzZXMgdGhpcyBwbGFjZWhvbGRlciB0byBlYXNpbHkgcmVzdG9yZSB0aGUgb3JpZ2luYWwgTW9kYWwgSFRNTCBvbiB0ZWFyZG93bi5cbiAqXG4gKiBAcGFyYW0ge0hUTUxEaXZFbGVtZW50fSBiYXNlQ29tcG9uZW50IC0gTW9kYWwgSFRNTCBmcm9tIHRoZSBET00uXG4gKiBAcmV0dXJucyB7SFRNTERpdkVsZW1lbnR9IFBsYWNlaG9sZGVyIHVzZWQgZm9yIGNsZWFudXAgZnVuY3Rpb24uXG4gKi9cbmNvbnN0IGNyZWF0ZVBsYWNlSG9sZGVyID0gKGJhc2VDb21wb25lbnQpID0+IHtcbiAgY29uc3QgbW9kYWxJRCA9IGJhc2VDb21wb25lbnQuZ2V0QXR0cmlidXRlKFwiaWRcIik7XG4gIGNvbnN0IG9yaWdpbmFsTG9jYXRpb25QbGFjZUhvbGRlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XG4gIGNvbnN0IG1vZGFsQXR0cmlidXRlcyA9IEFycmF5LmZyb20oYmFzZUNvbXBvbmVudC5hdHRyaWJ1dGVzKTtcblxuICBzZXRUZW1wb3JhcnlCb2R5UGFkZGluZygpO1xuXG4gIG9yaWdpbmFsTG9jYXRpb25QbGFjZUhvbGRlci5zZXRBdHRyaWJ1dGUoYGRhdGEtcGxhY2Vob2xkZXItZm9yYCwgbW9kYWxJRCk7XG4gIG9yaWdpbmFsTG9jYXRpb25QbGFjZUhvbGRlci5zdHlsZS5kaXNwbGF5ID0gXCJub25lXCI7XG4gIG9yaWdpbmFsTG9jYXRpb25QbGFjZUhvbGRlci5zZXRBdHRyaWJ1dGUoXCJhcmlhLWhpZGRlblwiLCBcInRydWVcIik7XG5cbiAgbW9kYWxBdHRyaWJ1dGVzLmZvckVhY2goKGF0dHJpYnV0ZSkgPT4ge1xuICAgIG9yaWdpbmFsTG9jYXRpb25QbGFjZUhvbGRlci5zZXRBdHRyaWJ1dGUoXG4gICAgICBgZGF0YS1vcmlnaW5hbC0ke2F0dHJpYnV0ZS5uYW1lfWAsXG4gICAgICBhdHRyaWJ1dGUudmFsdWUsXG4gICAgKTtcbiAgfSk7XG5cbiAgcmV0dXJuIG9yaWdpbmFsTG9jYXRpb25QbGFjZUhvbGRlcjtcbn07XG5cbi8qKlxuICogTW92ZXMgbmVjZXNzYXJ5IGF0dHJpYnV0ZXMgZnJvbSBNb2RhbCBIVE1MIHRvIHdyYXBwZXIgZWxlbWVudC5cbiAqXG4gKiBAcGFyYW0ge0hUTUxEaXZFbGVtZW50fSBiYXNlQ29tcG9uZW50IC0gTW9kYWwgSFRNTCBpbiB0aGUgRE9NLlxuICogQHBhcmFtIHtIVE1MRGl2RWxlbWVudH0gbW9kYWxDb250ZW50V3JhcHBlciAtIE1vZGFsIGNvbXBvbmVudCB3cmFwcGVyIGVsZW1lbnQuXG4gKiBAcmV0dXJucyBNb2RhbCB3cmFwcGVyIHdpdGggY29ycmVjdCBhdHRyaWJ1dGVzLlxuICovXG5jb25zdCBzZXRNb2RhbEF0dHJpYnV0ZXMgPSAoYmFzZUNvbXBvbmVudCwgbW9kYWxDb250ZW50V3JhcHBlcikgPT4ge1xuICBjb25zdCBtb2RhbElEID0gYmFzZUNvbXBvbmVudC5nZXRBdHRyaWJ1dGUoXCJpZFwiKTtcbiAgY29uc3QgYXJpYUxhYmVsbGVkQnkgPSBiYXNlQ29tcG9uZW50LmdldEF0dHJpYnV0ZShcImFyaWEtbGFiZWxsZWRieVwiKTtcbiAgY29uc3QgYXJpYURlc2NyaWJlZEJ5ID0gYmFzZUNvbXBvbmVudC5nZXRBdHRyaWJ1dGUoXCJhcmlhLWRlc2NyaWJlZGJ5XCIpO1xuICBjb25zdCBmb3JjZVVzZXJBY3Rpb24gPSBiYXNlQ29tcG9uZW50Lmhhc0F0dHJpYnV0ZShGT1JDRV9BQ1RJT05fQVRUUklCVVRFKTtcblxuICBpZiAoIWFyaWFMYWJlbGxlZEJ5KVxuICAgIHRocm93IG5ldyBFcnJvcihgJHttb2RhbElEfSBpcyBtaXNzaW5nIGFyaWEtbGFiZWxsZWRieSBhdHRyaWJ1dGVgKTtcblxuICBpZiAoIWFyaWFEZXNjcmliZWRCeSlcbiAgICB0aHJvdyBuZXcgRXJyb3IoYCR7bW9kYWxJRH0gaXMgbWlzc2luZyBhcmlhLWRlc3JpYmVkYnkgYXR0cmlidXRlYCk7XG5cbiAgLy8gU2V0IGF0dHJpYnV0ZXNcbiAgbW9kYWxDb250ZW50V3JhcHBlci5zZXRBdHRyaWJ1dGUoXCJyb2xlXCIsIFwiZGlhbG9nXCIpO1xuICBtb2RhbENvbnRlbnRXcmFwcGVyLnNldEF0dHJpYnV0ZShcImlkXCIsIG1vZGFsSUQpO1xuICBtb2RhbENvbnRlbnRXcmFwcGVyLnNldEF0dHJpYnV0ZShcImFyaWEtbGFiZWxsZWRieVwiLCBhcmlhTGFiZWxsZWRCeSk7XG4gIG1vZGFsQ29udGVudFdyYXBwZXIuc2V0QXR0cmlidXRlKFwiYXJpYS1kZXNjcmliZWRieVwiLCBhcmlhRGVzY3JpYmVkQnkpO1xuXG4gIGlmIChmb3JjZVVzZXJBY3Rpb24pIHtcbiAgICBtb2RhbENvbnRlbnRXcmFwcGVyLnNldEF0dHJpYnV0ZShGT1JDRV9BQ1RJT05fQVRUUklCVVRFLCBmb3JjZVVzZXJBY3Rpb24pO1xuICB9XG5cbiAgLy8gQWRkIGFyaWEtY29udHJvbHNcbiAgY29uc3QgbW9kYWxDbG9zZXJzID0gbW9kYWxDb250ZW50V3JhcHBlci5xdWVyeVNlbGVjdG9yQWxsKENMT1NFUlMpO1xuICBtb2RhbENsb3NlcnMuZm9yRWFjaCgoZWwpID0+IHtcbiAgICBlbC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWNvbnRyb2xzXCIsIG1vZGFsSUQpO1xuICB9KTtcblxuICAvLyBVcGRhdGUgdGhlIGJhc2UgZWxlbWVudCBIVE1MXG4gIGJhc2VDb21wb25lbnQucmVtb3ZlQXR0cmlidXRlKFwiaWRcIik7XG4gIGJhc2VDb21wb25lbnQucmVtb3ZlQXR0cmlidXRlKFwiYXJpYS1sYWJlbGxlZGJ5XCIpO1xuICBiYXNlQ29tcG9uZW50LnJlbW92ZUF0dHJpYnV0ZShcImFyaWEtZGVzY3JpYmVkYnlcIik7XG4gIGJhc2VDb21wb25lbnQuc2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIiwgXCItMVwiKTtcblxuICByZXR1cm4gbW9kYWxDb250ZW50V3JhcHBlcjtcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhIGhpZGRlbiBtb2RhbCBjb250ZW50IHdyYXBwZXIuXG4gKiBSZWJ1aWxkcyB0aGUgb3JpZ2luYWwgTW9kYWwgSFRNTCBpbiB0aGUgbmV3IHdyYXBwZXIgYW5kIGFkZHMgYSBwYWdlIG92ZXJsYXkuXG4gKiBUaGVuIG1vdmVzIG9yaWdpbmFsIE1vZGFsIEhUTUwgYXR0cmlidXRlcyB0byB0aGUgbmV3IHdyYXBwZXIuXG4gKlxuICogQHBhcmFtIHtIVE1MRGl2RWxlbWVudH0gYmFzZUNvbXBvbmVudCAtIE9yaWdpbmFsIE1vZGFsIEhUTUwgaW4gdGhlIERPTS5cbiAqIEByZXR1cm5zIE1vZGFsIGNvbXBvbmVudCAtIE1vZGFsIHdyYXBwZXIgdy8gbmVzdGVkIE92ZXJsYXkgYW5kIE1vZGFsIENvbnRlbnQuXG4gKi9cbmNvbnN0IHJlYnVpbGRNb2RhbCA9IChiYXNlQ29tcG9uZW50KSA9PiB7XG4gIGNvbnN0IG1vZGFsQ29udGVudCA9IGJhc2VDb21wb25lbnQ7XG4gIGNvbnN0IG1vZGFsQ29udGVudFdyYXBwZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICBjb25zdCBvdmVybGF5RGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcblxuICAvLyBBZGQgY2xhc3Nlc1xuICBtb2RhbENvbnRlbnRXcmFwcGVyLmNsYXNzTGlzdC5hZGQoSElEREVOX0NMQVNTLCBXUkFQUEVSX0NMQVNTTkFNRSk7XG4gIG92ZXJsYXlEaXYuY2xhc3NMaXN0LmFkZChPVkVSTEFZX0NMQVNTTkFNRSk7XG5cbiAgLy8gUmVidWlsZCB0aGUgbW9kYWwgZWxlbWVudFxuICBtb2RhbENvbnRlbnRXcmFwcGVyLmFwcGVuZChvdmVybGF5RGl2KTtcbiAgb3ZlcmxheURpdi5hcHBlbmQobW9kYWxDb250ZW50KTtcblxuICAvLyBBZGQgYXR0cmlidXRlc1xuICBzZXRNb2RhbEF0dHJpYnV0ZXMobW9kYWxDb250ZW50LCBtb2RhbENvbnRlbnRXcmFwcGVyKTtcblxuICByZXR1cm4gbW9kYWxDb250ZW50V3JhcHBlcjtcbn07XG5cbi8qKlxuICogIEJ1aWxkcyBtb2RhbCB3aW5kb3cgZnJvbSBiYXNlIEhUTUwgYW5kIGFwcGVuZHMgdG8gdGhlIGVuZCBvZiB0aGUgRE9NLlxuICpcbiAqIEBwYXJhbSB7SFRNTERpdkVsZW1lbnR9IGJhc2VDb21wb25lbnQgLSBUaGUgbW9kYWwgZGl2IGVsZW1lbnQgaW4gdGhlIERPTS5cbiAqL1xuY29uc3Qgc2V0VXBNb2RhbCA9IChiYXNlQ29tcG9uZW50KSA9PiB7XG4gIGNvbnN0IG1vZGFsSUQgPSBiYXNlQ29tcG9uZW50LmdldEF0dHJpYnV0ZShcImlkXCIpO1xuXG4gIGlmICghbW9kYWxJRCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgTW9kYWwgbWFya3VwIGlzIG1pc3NpbmcgSURgKTtcbiAgfVxuXG4gIC8vIENyZWF0ZSBwbGFjZWhvbGRlciB3aGVyZSBtb2RhbCBpcyBmb3IgY2xlYW51cFxuICBjb25zdCBvcmlnaW5hbExvY2F0aW9uUGxhY2VIb2xkZXIgPSBjcmVhdGVQbGFjZUhvbGRlcihiYXNlQ29tcG9uZW50KTtcbiAgYmFzZUNvbXBvbmVudC5hZnRlcihvcmlnaW5hbExvY2F0aW9uUGxhY2VIb2xkZXIpO1xuXG4gIC8vIEJ1aWxkIG1vZGFsIGNvbXBvbmVudFxuICBjb25zdCBtb2RhbENvbXBvbmVudCA9IHJlYnVpbGRNb2RhbChiYXNlQ29tcG9uZW50KTtcblxuICAvLyBNb3ZlIGFsbCBtb2RhbHMgdG8gdGhlIGVuZCBvZiB0aGUgRE9NLiBEb2luZyB0aGlzIGFsbG93cyB1cyB0b1xuICAvLyBtb3JlIGVhc2lseSBmaW5kIHRoZSBlbGVtZW50cyB0byBoaWRlIGZyb20gc2NyZWVuIHJlYWRlcnNcbiAgLy8gd2hlbiB0aGUgbW9kYWwgaXMgb3Blbi5cbiAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChtb2RhbENvbXBvbmVudCk7XG59O1xuXG4vKipcbiAqIFJlbW92ZXMgZHluYW1pY2FsbHkgY3JlYXRlZCBNb2RhbCBhbmQgV3JhcHBlciBlbGVtZW50cyBhbmQgcmVzdG9yZXMgb3JpZ2luYWwgTW9kYWwgSFRNTC5cbiAqXG4gKiBAcGFyYW0ge0hUTUxEaXZFbGVtZW50fSBiYXNlQ29tcG9uZW50IC0gVGhlIG1vZGFsIGRpdiBlbGVtZW50IGluIHRoZSBET00uXG4gKi9cbmNvbnN0IGNsZWFuVXBNb2RhbCA9IChiYXNlQ29tcG9uZW50KSA9PiB7XG4gIGNvbnN0IG1vZGFsQ29udGVudCA9IGJhc2VDb21wb25lbnQ7XG4gIGNvbnN0IG1vZGFsQ29udGVudFdyYXBwZXIgPSBtb2RhbENvbnRlbnQucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICBjb25zdCBtb2RhbElEID0gbW9kYWxDb250ZW50V3JhcHBlci5nZXRBdHRyaWJ1dGUoXCJpZFwiKTtcblxuICAvLyBpZiB0aGVyZSBpcyBubyBtb2RhbElELCByZXR1cm4gZWFybHlcbiAgaWYgKCFtb2RhbElEKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3Qgb3JpZ2luYWxMb2NhdGlvblBsYWNlSG9sZGVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICBgW2RhdGEtcGxhY2Vob2xkZXItZm9yPVwiJHttb2RhbElEfVwiXWAsXG4gICk7XG5cbiAgaWYgKG9yaWdpbmFsTG9jYXRpb25QbGFjZUhvbGRlcikge1xuICAgIGNvbnN0IG1vZGFsQXR0cmlidXRlcyA9IEFycmF5LmZyb20ob3JpZ2luYWxMb2NhdGlvblBsYWNlSG9sZGVyLmF0dHJpYnV0ZXMpO1xuICAgIG1vZGFsQXR0cmlidXRlcy5mb3JFYWNoKChhdHRyaWJ1dGUpID0+IHtcbiAgICAgIGlmIChhdHRyaWJ1dGUubmFtZS5zdGFydHNXaXRoKFwiZGF0YS1vcmlnaW5hbC1cIikpIHtcbiAgICAgICAgLy8gZGF0YS1vcmlnaW5hbC0gaXMgMTQgbG9uZ1xuICAgICAgICBtb2RhbENvbnRlbnQuc2V0QXR0cmlidXRlKGF0dHJpYnV0ZS5uYW1lLnN1YnN0cigxNCksIGF0dHJpYnV0ZS52YWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBvcmlnaW5hbExvY2F0aW9uUGxhY2VIb2xkZXIuYWZ0ZXIobW9kYWxDb250ZW50KTtcbiAgICBvcmlnaW5hbExvY2F0aW9uUGxhY2VIb2xkZXIucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChcbiAgICAgIG9yaWdpbmFsTG9jYXRpb25QbGFjZUhvbGRlcixcbiAgICApO1xuICB9XG5cbiAgbW9kYWxDb250ZW50V3JhcHBlci5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKG1vZGFsQ29udGVudFdyYXBwZXIpO1xufTtcblxubW9kYWwgPSBiZWhhdmlvcihcbiAge30sXG4gIHtcbiAgICBpbml0KHJvb3QpIHtcbiAgICAgIHNlbGVjdE9yTWF0Y2hlcyhNT0RBTCwgcm9vdCkuZm9yRWFjaCgobW9kYWxXaW5kb3cpID0+IHtcbiAgICAgICAgY29uc3QgbW9kYWxJZCA9IG1vZGFsV2luZG93LmlkO1xuXG4gICAgICAgIHNldFVwTW9kYWwobW9kYWxXaW5kb3cpO1xuXG4gICAgICAgIC8vIFF1ZXJ5IGFsbCBvcGVuZXJzIGFuZCBjbG9zZXJzIGluY2x1ZGluZyB0aGUgb3ZlcmxheVxuICAgICAgICBzZWxlY3RPck1hdGNoZXMoYFthcmlhLWNvbnRyb2xzPVwiJHttb2RhbElkfVwiXWAsIGRvY3VtZW50KS5mb3JFYWNoKFxuICAgICAgICAgIChtb2RhbFRyaWdnZXIpID0+IHtcbiAgICAgICAgICAgIC8vIElmIG1vZGFsVHJpZ2dlciBpcyBhbiBhbmNob3IuLi5cbiAgICAgICAgICAgIGlmIChtb2RhbFRyaWdnZXIubm9kZU5hbWUgPT09IFwiQVwiKSB7XG4gICAgICAgICAgICAgIC8vIFR1cm4gYW5jaG9yIGxpbmtzIGludG8gYnV0dG9ucyBmb3Igc2NyZWVuIHJlYWRlcnNcbiAgICAgICAgICAgICAgbW9kYWxUcmlnZ2VyLnNldEF0dHJpYnV0ZShcInJvbGVcIiwgXCJidXR0b25cIik7XG5cbiAgICAgICAgICAgICAgLy8gUHJldmVudCBtb2RhbCB0cmlnZ2VycyBmcm9tIGFjdGluZyBsaWtlIGxpbmtzXG4gICAgICAgICAgICAgIG1vZGFsVHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgKGUpID0+IGUucHJldmVudERlZmF1bHQoKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIENhbiB1bmNvbW1lbnQgd2hlbiBhcmlhLWhhc3BvcHVwPVwiZGlhbG9nXCIgaXMgc3VwcG9ydGVkXG4gICAgICAgICAgICAvLyBodHRwczovL2ExMXlzdXBwb3J0LmlvL3RlY2gvYXJpYS9hcmlhLWhhc3BvcHVwX2F0dHJpYnV0ZVxuICAgICAgICAgICAgLy8gTW9zdCBzY3JlZW4gcmVhZGVycyBzdXBwb3J0IGFyaWEtaGFzcG9wdXAsIGJ1dCBtaWdodCBhbm5vdW5jZVxuICAgICAgICAgICAgLy8gYXMgb3BlbmluZyBhIG1lbnUgaWYgXCJkaWFsb2dcIiBpcyBub3Qgc3VwcG9ydGVkLlxuICAgICAgICAgICAgLy8gbW9kYWxUcmlnZ2VyLnNldEF0dHJpYnV0ZShcImFyaWEtaGFzcG9wdXBcIiwgXCJkaWFsb2dcIik7XG5cbiAgICAgICAgICAgIG1vZGFsVHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdG9nZ2xlTW9kYWwpO1xuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIHRlYXJkb3duKHJvb3QpIHtcbiAgICAgIHNlbGVjdE9yTWF0Y2hlcyhNT0RBTCwgcm9vdCkuZm9yRWFjaCgobW9kYWxXaW5kb3cpID0+IHtcbiAgICAgICAgY29uc3QgbW9kYWxJZCA9IG1vZGFsV2luZG93LmlkO1xuICAgICAgICBjbGVhblVwTW9kYWwobW9kYWxXaW5kb3cpO1xuXG4gICAgICAgIHNlbGVjdE9yTWF0Y2hlcyhgW2FyaWEtY29udHJvbHM9XCIke21vZGFsSWR9XCJdYCwgZG9jdW1lbnQpLmZvckVhY2goXG4gICAgICAgICAgKG1vZGFsVHJpZ2dlcikgPT5cbiAgICAgICAgICAgIG1vZGFsVHJpZ2dlci5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdG9nZ2xlTW9kYWwpLFxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBmb2N1c1RyYXA6IG51bGwsXG4gICAgdG9nZ2xlTW9kYWwsXG4gIH0sXG4pO1xuXG5tb2R1bGUuZXhwb3J0cyA9IG1vZGFsO1xuIiwiY29uc3Qgc2VsZWN0T3JNYXRjaGVzID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3NlbGVjdC1vci1tYXRjaGVzXCIpO1xuY29uc3QgYmVoYXZpb3IgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvYmVoYXZpb3JcIik7XG5cbmNvbnN0IHsgcHJlZml4OiBQUkVGSVggfSA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy9jb25maWdcIik7XG5cbmNvbnN0IFJBTkdFX0NMQVNTTkFNRSA9IGAke1BSRUZJWH0tcmFuZ2VgO1xuY29uc3QgUkFOR0UgPSBgLiR7UkFOR0VfQ0xBU1NOQU1FfWA7XG5cbi8qKlxuICogVXBkYXRlIHJhbmdlIGNhbGxvdXQgZm9yIHNjcmVlbiByZWFkZXJzIHVzaW5nIHRoZSBvcHRpb25hbCBkYXRhIGF0dHJpYnV0ZXMuXG4gKlxuICogR2V0IG9wdGlvbmFsIGRhdGEgYXR0cmlidXRlcywgY29uc3RydWN0IGFuZCBhcHBlbmRzIGFyaWEtdmFsdWV0ZXh0IGF0dHJpYnV0ZS5cbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIDxpbnB1dCBpZD1cInVzYS1yYW5nZVwiIGNsYXNzPVwidXNhLXJhbmdlXCIgdHlwZT1cInJhbmdlXCIgbWluPVwiMFwiIG1heD1cIjEwMFwiIHN0ZXA9XCIxMFwiIHZhbHVlPVwiMjBcIiBkYXRhLXRleHQtdW5pdD1cImRlZ3JlZXNcIj5cbiAqXG4gKiBDYWxsb3V0IHJldHVybnMgXCIyMCBkZWdyZWVzIG9mIDEwMC5cIlxuICpcbiAqIDxpbnB1dCBpZD1cInVzYS1yYW5nZVwiIGNsYXNzPVwidXNhLXJhbmdlXCIgdHlwZT1cInJhbmdlXCIgbWluPVwiMFwiIG1heD1cIjEwMFwiIHN0ZXA9XCIxMFwiIHZhbHVlPVwiMjBcIiBkYXRhLXRleHQtcHJlcG9zaXRpb249XCJkZVwiPlxuICpcbiAqIENhbGxvdXQgcmV0dXJucyBcIjIwIGRlIDEwMC5cIlxuICpcbiAqIEBwYXJhbSB7SFRNTElucHV0RWxlbWVudH0gdGFyZ2V0UmFuZ2UgLSBUaGUgcmFuZ2Ugc2xpZGVyIGlucHV0IGVsZW1lbnRcbiAqL1xuY29uc3QgdXBkYXRlQ2FsbG91dCA9ICh0YXJnZXRSYW5nZSkgPT4ge1xuICBjb25zdCByYW5nZVNsaWRlciA9IHRhcmdldFJhbmdlO1xuICBjb25zdCBkZWZhdWx0UHJlcCA9IFwib2ZcIjtcbiAgY29uc3Qgb3B0aW9uYWxQcmVwID0gcmFuZ2VTbGlkZXIuZGF0YXNldC50ZXh0UHJlcG9zaXRpb247XG4gIGNvbnN0IHByZXAgPSBvcHRpb25hbFByZXAgfHwgZGVmYXVsdFByZXA7XG4gIGNvbnN0IHVuaXQgPSByYW5nZVNsaWRlci5kYXRhc2V0LnRleHRVbml0O1xuICBjb25zdCB2YWwgPSByYW5nZVNsaWRlci52YWx1ZTtcbiAgLy8gTm90ZTogMTAwIGlzIHRoZSBtYXggYXR0cmlidXRlJ3MgbmF0aXZlIGRlZmF1bHQgdmFsdWUgb24gcmFuZ2UgaW5wdXRzXG4gIC8vIFJlZmVyZW5jZTogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSFRNTC9FbGVtZW50L2lucHV0L3JhbmdlI3ZhbGlkYXRpb25cbiAgY29uc3QgbWF4ID0gcmFuZ2VTbGlkZXIuZ2V0QXR0cmlidXRlKFwibWF4XCIpIHx8IDEwMDtcblxuICBsZXQgY2FsbG91dDtcblxuICBpZiAodW5pdCkge1xuICAgIGNhbGxvdXQgPSBgJHt2YWx9ICR7dW5pdH0gJHtwcmVwfSAke21heH1gO1xuICB9IGVsc2Uge1xuICAgIGNhbGxvdXQgPSBgJHt2YWx9ICR7cHJlcH0gJHttYXh9YDtcbiAgfVxuXG4gIHJhbmdlU2xpZGVyLnNldEF0dHJpYnV0ZShcImFyaWEtdmFsdWV0ZXh0XCIsIGNhbGxvdXQpO1xufTtcblxuY29uc3QgcmFuZ2VFdmVudHMgPSB7XG4gIGNoYW5nZToge1xuICAgIFtSQU5HRV0oKSB7XG4gICAgICB1cGRhdGVDYWxsb3V0KHRoaXMpO1xuICAgIH0sXG4gIH0sXG59O1xuXG5jb25zdCByYW5nZSA9IGJlaGF2aW9yKHJhbmdlRXZlbnRzLCB7XG4gIGluaXQocm9vdCkge1xuICAgIHNlbGVjdE9yTWF0Y2hlcyhSQU5HRSwgcm9vdCkuZm9yRWFjaCgocmFuZ2VTbGlkZXIpID0+IHtcbiAgICAgIHVwZGF0ZUNhbGxvdXQocmFuZ2VTbGlkZXIpO1xuICAgIH0pO1xuICB9LFxuICB1cGRhdGVDYWxsb3V0LFxufSk7XG5cbm1vZHVsZS5leHBvcnRzID0gcmFuZ2U7XG4iLCJjb25zdCBpZ25vcmUgPSByZXF1aXJlKFwicmVjZXB0b3IvaWdub3JlXCIpO1xuY29uc3QgYmVoYXZpb3IgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvYmVoYXZpb3JcIik7XG5jb25zdCBzZWxlY3QgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvc2VsZWN0XCIpO1xuXG5jb25zdCB7IENMSUNLIH0gPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvZXZlbnRzXCIpO1xuXG5jb25zdCBCVVRUT04gPSBcIi5qcy1zZWFyY2gtYnV0dG9uXCI7XG5jb25zdCBGT1JNID0gXCIuanMtc2VhcmNoLWZvcm1cIjtcbmNvbnN0IElOUFVUID0gXCJbdHlwZT1zZWFyY2hdXCI7XG5jb25zdCBDT05URVhUID0gXCJoZWFkZXJcIjsgLy8gWFhYXG5cbmxldCBsYXN0QnV0dG9uO1xuXG5jb25zdCBnZXRGb3JtID0gKGJ1dHRvbikgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gYnV0dG9uLmNsb3Nlc3QoQ09OVEVYVCk7XG4gIHJldHVybiBjb250ZXh0ID8gY29udGV4dC5xdWVyeVNlbGVjdG9yKEZPUk0pIDogZG9jdW1lbnQucXVlcnlTZWxlY3RvcihGT1JNKTtcbn07XG5cbmNvbnN0IHRvZ2dsZVNlYXJjaCA9IChidXR0b24sIGFjdGl2ZSkgPT4ge1xuICBjb25zdCBmb3JtID0gZ2V0Rm9ybShidXR0b24pO1xuXG4gIGlmICghZm9ybSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgTm8gJHtGT1JNfSBmb3VuZCBmb3Igc2VhcmNoIHRvZ2dsZSBpbiAke0NPTlRFWFR9IWApO1xuICB9XG5cbiAgLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbiAgYnV0dG9uLmhpZGRlbiA9IGFjdGl2ZTtcbiAgZm9ybS5oaWRkZW4gPSAhYWN0aXZlO1xuICAvKiBlc2xpbnQtZW5hYmxlICovXG5cbiAgaWYgKCFhY3RpdmUpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBpbnB1dCA9IGZvcm0ucXVlcnlTZWxlY3RvcihJTlBVVCk7XG5cbiAgaWYgKGlucHV0KSB7XG4gICAgaW5wdXQuZm9jdXMoKTtcbiAgfVxuICAvLyB3aGVuIHRoZSB1c2VyIGNsaWNrcyBfb3V0c2lkZV8gb2YgdGhlIGZvcm0gdy9pZ25vcmUoKTogaGlkZSB0aGVcbiAgLy8gc2VhcmNoLCB0aGVuIHJlbW92ZSB0aGUgbGlzdGVuZXJcbiAgY29uc3QgbGlzdGVuZXIgPSBpZ25vcmUoZm9ybSwgKCkgPT4ge1xuICAgIGlmIChsYXN0QnV0dG9uKSB7XG4gICAgICBoaWRlU2VhcmNoLmNhbGwobGFzdEJ1dHRvbik7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgICB9XG5cbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXIoQ0xJQ0ssIGxpc3RlbmVyKTtcbiAgfSk7XG5cbiAgLy8gTm9ybWFsbHkgd2Ugd291bGQganVzdCBydW4gdGhpcyBjb2RlIHdpdGhvdXQgYSB0aW1lb3V0LCBidXRcbiAgLy8gSUUxMSBhbmQgRWRnZSB3aWxsIGFjdHVhbGx5IGNhbGwgdGhlIGxpc3RlbmVyICppbW1lZGlhdGVseSogYmVjYXVzZVxuICAvLyB0aGV5IGFyZSBjdXJyZW50bHkgaGFuZGxpbmcgdGhpcyBleGFjdCB0eXBlIG9mIGV2ZW50LCBzbyB3ZSdsbFxuICAvLyBtYWtlIHN1cmUgdGhlIGJyb3dzZXIgaXMgZG9uZSBoYW5kbGluZyB0aGUgY3VycmVudCBjbGljayBldmVudCxcbiAgLy8gaWYgYW55LCBiZWZvcmUgd2UgYXR0YWNoIHRoZSBsaXN0ZW5lci5cbiAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKENMSUNLLCBsaXN0ZW5lcik7XG4gIH0sIDApO1xufTtcblxuZnVuY3Rpb24gc2hvd1NlYXJjaCgpIHtcbiAgdG9nZ2xlU2VhcmNoKHRoaXMsIHRydWUpO1xuICBsYXN0QnV0dG9uID0gdGhpcztcbn1cblxuZnVuY3Rpb24gaGlkZVNlYXJjaCgpIHtcbiAgdG9nZ2xlU2VhcmNoKHRoaXMsIGZhbHNlKTtcbiAgbGFzdEJ1dHRvbiA9IHVuZGVmaW5lZDtcbn1cblxuY29uc3Qgc2VhcmNoID0gYmVoYXZpb3IoXG4gIHtcbiAgICBbQ0xJQ0tdOiB7XG4gICAgICBbQlVUVE9OXTogc2hvd1NlYXJjaCxcbiAgICB9LFxuICB9LFxuICB7XG4gICAgaW5pdCh0YXJnZXQpIHtcbiAgICAgIHNlbGVjdChCVVRUT04sIHRhcmdldCkuZm9yRWFjaCgoYnV0dG9uKSA9PiB7XG4gICAgICAgIHRvZ2dsZVNlYXJjaChidXR0b24sIGZhbHNlKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgdGVhcmRvd24oKSB7XG4gICAgICAvLyBmb3JnZXQgdGhlIGxhc3QgYnV0dG9uIGNsaWNrZWRcbiAgICAgIGxhc3RCdXR0b24gPSB1bmRlZmluZWQ7XG4gICAgfSxcbiAgfSxcbik7XG5cbm1vZHVsZS5leHBvcnRzID0gc2VhcmNoO1xuIiwiY29uc3Qgb25jZSA9IHJlcXVpcmUoXCJyZWNlcHRvci9vbmNlXCIpO1xuY29uc3QgYmVoYXZpb3IgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvYmVoYXZpb3JcIik7XG5jb25zdCB7IENMSUNLIH0gPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvZXZlbnRzXCIpO1xuY29uc3QgeyBwcmVmaXg6IFBSRUZJWCB9ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL2NvbmZpZ1wiKTtcblxuY29uc3QgTElOSyA9IGAuJHtQUkVGSVh9LXNraXBuYXZbaHJlZl49XCIjXCJdLCAuJHtQUkVGSVh9LWZvb3Rlcl9fcmV0dXJuLXRvLXRvcCBbaHJlZl49XCIjXCJdYDtcbmNvbnN0IE1BSU5DT05URU5UID0gXCJtYWluLWNvbnRlbnRcIjtcblxuZnVuY3Rpb24gc2V0VGFiaW5kZXgoKSB7XG4gIC8vIE5COiB3ZSBrbm93IGJlY2F1c2Ugb2YgdGhlIHNlbGVjdG9yIHdlJ3JlIGRlbGVnYXRpbmcgdG8gYmVsb3cgdGhhdCB0aGVcbiAgLy8gaHJlZiBhbHJlYWR5IGJlZ2lucyB3aXRoICcjJ1xuICBjb25zdCBpZCA9IGVuY29kZVVSSSh0aGlzLmdldEF0dHJpYnV0ZShcImhyZWZcIikpO1xuICBjb25zdCB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcbiAgICBpZCA9PT0gXCIjXCIgPyBNQUlOQ09OVEVOVCA6IGlkLnNsaWNlKDEpLFxuICApO1xuXG4gIGlmICh0YXJnZXQpIHtcbiAgICB0YXJnZXQuc3R5bGUub3V0bGluZSA9IFwiMFwiO1xuICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLCAwKTtcbiAgICB0YXJnZXQuZm9jdXMoKTtcbiAgICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgIFwiYmx1clwiLFxuICAgICAgb25jZSgoKSA9PiB7XG4gICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLCAtMSk7XG4gICAgICB9KSxcbiAgICApO1xuICB9IGVsc2Uge1xuICAgIC8vIHRocm93IGFuIGVycm9yP1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmVoYXZpb3Ioe1xuICBbQ0xJQ0tdOiB7XG4gICAgW0xJTktdOiBzZXRUYWJpbmRleCxcbiAgfSxcbn0pO1xuIiwiY29uc3Qgc2VsZWN0ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3NlbGVjdFwiKTtcbmNvbnN0IGJlaGF2aW9yID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2JlaGF2aW9yXCIpO1xuY29uc3QgeyBDTElDSyB9ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL2V2ZW50c1wiKTtcbmNvbnN0IHsgcHJlZml4OiBQUkVGSVggfSA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy9jb25maWdcIik7XG5jb25zdCBTYW5pdGl6ZXIgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvc2FuaXRpemVyXCIpO1xuXG5jb25zdCBUQUJMRSA9IGAuJHtQUkVGSVh9LXRhYmxlYDtcbmNvbnN0IFNPUlRFRCA9IFwiYXJpYS1zb3J0XCI7XG5jb25zdCBBU0NFTkRJTkcgPSBcImFzY2VuZGluZ1wiO1xuY29uc3QgREVTQ0VORElORyA9IFwiZGVzY2VuZGluZ1wiO1xuY29uc3QgU09SVF9PVkVSUklERSA9IFwiZGF0YS1zb3J0LXZhbHVlXCI7XG5jb25zdCBTT1JUX0JVVFRPTl9DTEFTUyA9IGAke1BSRUZJWH0tdGFibGVfX2hlYWRlcl9fYnV0dG9uYDtcbmNvbnN0IFNPUlRfQlVUVE9OID0gYC4ke1NPUlRfQlVUVE9OX0NMQVNTfWA7XG5jb25zdCBTT1JUQUJMRV9IRUFERVIgPSBgdGhbZGF0YS1zb3J0YWJsZV1gO1xuY29uc3QgQU5OT1VOQ0VNRU5UX1JFR0lPTiA9IGAuJHtQUkVGSVh9LXRhYmxlX19hbm5vdW5jZW1lbnQtcmVnaW9uW2FyaWEtbGl2ZT1cInBvbGl0ZVwiXWA7XG5cbi8qKiBHZXRzIHRoZSBkYXRhLXNvcnQtdmFsdWUgYXR0cmlidXRlIHZhbHVlLCBpZiBwcm92aWRlZCDigJQgb3RoZXJ3aXNlLCBnZXRzXG4gKiB0aGUgaW5uZXJUZXh0IG9yIHRleHRDb250ZW50IOKAlCBvZiB0aGUgY2hpbGQgZWxlbWVudCAoSFRNTFRhYmxlQ2VsbEVsZW1lbnQpXG4gKiBhdCB0aGUgc3BlY2lmaWVkIGluZGV4IG9mIHRoZSBnaXZlbiB0YWJsZSByb3dcbiAqXG4gKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcbiAqIEBwYXJhbSB7YXJyYXk8SFRNTFRhYmxlUm93RWxlbWVudD59IHRyXG4gKiBAcmV0dXJuIHtib29sZWFufVxuICovXG5jb25zdCBnZXRDZWxsVmFsdWUgPSAodHIsIGluZGV4KSA9PlxuICB0ci5jaGlsZHJlbltpbmRleF0uZ2V0QXR0cmlidXRlKFNPUlRfT1ZFUlJJREUpIHx8XG4gIHRyLmNoaWxkcmVuW2luZGV4XS5pbm5lclRleHQgfHxcbiAgdHIuY2hpbGRyZW5baW5kZXhdLnRleHRDb250ZW50O1xuXG4vKipcbiAqIENvbXBhcmVzIHRoZSB2YWx1ZXMgb2YgdHdvIHJvdyBhcnJheSBpdGVtcyBhdCB0aGUgZ2l2ZW4gaW5kZXgsIHRoZW4gc29ydHMgYnkgdGhlIGdpdmVuIGRpcmVjdGlvblxuICogQHBhcmFtIHtudW1iZXJ9IGluZGV4XG4gKiBAcGFyYW0ge3N0cmluZ30gZGlyZWN0aW9uXG4gKiBAcmV0dXJuIHtib29sZWFufVxuICovXG5jb25zdCBjb21wYXJlRnVuY3Rpb24gPSAoaW5kZXgsIGlzQXNjZW5kaW5nKSA9PiAodGhpc1JvdywgbmV4dFJvdykgPT4ge1xuICAvLyBnZXQgdmFsdWVzIHRvIGNvbXBhcmUgZnJvbSBkYXRhIGF0dHJpYnV0ZSBvciBjZWxsIGNvbnRlbnRcbiAgY29uc3QgdmFsdWUxID0gZ2V0Q2VsbFZhbHVlKGlzQXNjZW5kaW5nID8gdGhpc1JvdyA6IG5leHRSb3csIGluZGV4KTtcbiAgY29uc3QgdmFsdWUyID0gZ2V0Q2VsbFZhbHVlKGlzQXNjZW5kaW5nID8gbmV4dFJvdyA6IHRoaXNSb3csIGluZGV4KTtcblxuICAvLyBpZiBuZWl0aGVyIHZhbHVlIGlzIGVtcHR5LCBhbmQgaWYgYm90aCB2YWx1ZXMgYXJlIGFscmVhZHkgbnVtYmVycywgY29tcGFyZSBudW1lcmljYWxseVxuICBpZiAoXG4gICAgdmFsdWUxICYmXG4gICAgdmFsdWUyICYmXG4gICAgIU51bWJlci5pc05hTihOdW1iZXIodmFsdWUxKSkgJiZcbiAgICAhTnVtYmVyLmlzTmFOKE51bWJlcih2YWx1ZTIpKVxuICApIHtcbiAgICByZXR1cm4gdmFsdWUxIC0gdmFsdWUyO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgY29tcGFyZSBhbHBoYWJldGljYWxseSBiYXNlZCBvbiBjdXJyZW50IHVzZXIgbG9jYWxlXG4gIHJldHVybiB2YWx1ZTEudG9TdHJpbmcoKS5sb2NhbGVDb21wYXJlKHZhbHVlMiwgbmF2aWdhdG9yLmxhbmd1YWdlLCB7XG4gICAgbnVtZXJpYzogdHJ1ZSxcbiAgICBpZ25vcmVQdW5jdHVhdGlvbjogdHJ1ZSxcbiAgfSk7XG59O1xuXG4vKipcbiAqIEdldCBhbiBBcnJheSBvZiBjb2x1bW4gaGVhZGVycyBlbGVtZW50cyBiZWxvbmdpbmcgZGlyZWN0bHkgdG8gdGhlIGdpdmVuXG4gKiB0YWJsZSBlbGVtZW50LlxuICogQHBhcmFtIHtIVE1MVGFibGVFbGVtZW50fSB0YWJsZVxuICogQHJldHVybiB7YXJyYXk8SFRNTFRhYmxlSGVhZGVyQ2VsbEVsZW1lbnQ+fVxuICovXG5jb25zdCBnZXRDb2x1bW5IZWFkZXJzID0gKHRhYmxlKSA9PiB7XG4gIGNvbnN0IGhlYWRlcnMgPSBzZWxlY3QoU09SVEFCTEVfSEVBREVSLCB0YWJsZSk7XG4gIHJldHVybiBoZWFkZXJzLmZpbHRlcigoaGVhZGVyKSA9PiBoZWFkZXIuY2xvc2VzdChUQUJMRSkgPT09IHRhYmxlKTtcbn07XG5cbi8qKlxuICogVXBkYXRlIHRoZSBidXR0b24gbGFiZWwgd2l0aGluIHRoZSBnaXZlbiBoZWFkZXIgZWxlbWVudCwgcmVzZXR0aW5nIGl0XG4gKiB0byB0aGUgZGVmYXVsdCBzdGF0ZSAocmVhZHkgdG8gc29ydCBhc2NlbmRpbmcpIGlmIGl0J3Mgbm8gbG9uZ2VyIHNvcnRlZFxuICogQHBhcmFtIHtIVE1MVGFibGVIZWFkZXJDZWxsRWxlbWVudH0gaGVhZGVyXG4gKi9cbmNvbnN0IHVwZGF0ZVNvcnRMYWJlbCA9IChoZWFkZXIpID0+IHtcbiAgY29uc3QgaGVhZGVyTmFtZSA9IGhlYWRlci5pbm5lclRleHQ7XG4gIGNvbnN0IHNvcnRlZEFzY2VuZGluZyA9IGhlYWRlci5nZXRBdHRyaWJ1dGUoU09SVEVEKSA9PT0gQVNDRU5ESU5HO1xuICBjb25zdCBpc1NvcnRlZCA9XG4gICAgaGVhZGVyLmdldEF0dHJpYnV0ZShTT1JURUQpID09PSBBU0NFTkRJTkcgfHxcbiAgICBoZWFkZXIuZ2V0QXR0cmlidXRlKFNPUlRFRCkgPT09IERFU0NFTkRJTkcgfHxcbiAgICBmYWxzZTtcbiAgY29uc3QgaGVhZGVyTGFiZWwgPSBgJHtoZWFkZXJOYW1lfSwgc29ydGFibGUgY29sdW1uLCBjdXJyZW50bHkgJHtcbiAgICBpc1NvcnRlZFxuICAgICAgPyBgJHtzb3J0ZWRBc2NlbmRpbmcgPyBgc29ydGVkICR7QVNDRU5ESU5HfWAgOiBgc29ydGVkICR7REVTQ0VORElOR31gfWBcbiAgICAgIDogXCJ1bnNvcnRlZFwiXG4gIH1gO1xuICBjb25zdCBoZWFkZXJCdXR0b25MYWJlbCA9IGBDbGljayB0byBzb3J0IGJ5ICR7aGVhZGVyTmFtZX0gaW4gJHtcbiAgICBzb3J0ZWRBc2NlbmRpbmcgPyBERVNDRU5ESU5HIDogQVNDRU5ESU5HXG4gIH0gb3JkZXIuYDtcbiAgaGVhZGVyLnNldEF0dHJpYnV0ZShcImFyaWEtbGFiZWxcIiwgaGVhZGVyTGFiZWwpO1xuICBoZWFkZXIucXVlcnlTZWxlY3RvcihTT1JUX0JVVFRPTikuc2V0QXR0cmlidXRlKFwidGl0bGVcIiwgaGVhZGVyQnV0dG9uTGFiZWwpO1xufTtcblxuLyoqXG4gKiBSZW1vdmUgdGhlIGFyaWEtc29ydCBhdHRyaWJ1dGUgb24gdGhlIGdpdmVuIGhlYWRlciBlbGVtZW50LCBhbmQgcmVzZXQgdGhlIGxhYmVsIGFuZCBidXR0b24gaWNvblxuICogQHBhcmFtIHtIVE1MVGFibGVIZWFkZXJDZWxsRWxlbWVudH0gaGVhZGVyXG4gKi9cbmNvbnN0IHVuc2V0U29ydCA9IChoZWFkZXIpID0+IHtcbiAgaGVhZGVyLnJlbW92ZUF0dHJpYnV0ZShTT1JURUQpO1xuICB1cGRhdGVTb3J0TGFiZWwoaGVhZGVyKTtcbn07XG5cbi8qKlxuICogU29ydCByb3dzIGVpdGhlciBhc2NlbmRpbmcgb3IgZGVzY2VuZGluZywgYmFzZWQgb24gYSBnaXZlbiBoZWFkZXIncyBhcmlhLXNvcnQgYXR0cmlidXRlXG4gKiBAcGFyYW0ge0hUTUxUYWJsZUhlYWRlckNlbGxFbGVtZW50fSBoZWFkZXJcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNBc2NlbmRpbmdcbiAqIEByZXR1cm4ge2Jvb2xlYW59IHRydWVcbiAqL1xuY29uc3Qgc29ydFJvd3MgPSAoaGVhZGVyLCBpc0FzY2VuZGluZykgPT4ge1xuICBoZWFkZXIuc2V0QXR0cmlidXRlKFNPUlRFRCwgaXNBc2NlbmRpbmcgPT09IHRydWUgPyBERVNDRU5ESU5HIDogQVNDRU5ESU5HKTtcbiAgdXBkYXRlU29ydExhYmVsKGhlYWRlcik7XG5cbiAgY29uc3QgdGJvZHkgPSBoZWFkZXIuY2xvc2VzdChUQUJMRSkucXVlcnlTZWxlY3RvcihcInRib2R5XCIpO1xuXG4gIC8vIFdlIGNhbiB1c2UgQXJyYXkuZnJvbSgpIGFuZCBBcnJheS5zb3J0KCkgaW5zdGVhZCBvbmNlIHdlIGRyb3AgSUUxMSBzdXBwb3J0LCBsaWtlbHkgaW4gdGhlIHN1bW1lciBvZiAyMDIxXG4gIC8vXG4gIC8vIEFycmF5LmZyb20odGJvZHkucXVlcnlTZWxlY3RvckFsbCgndHInKS5zb3J0KFxuICAvLyAgIGNvbXBhcmVGdW5jdGlvbihcbiAgLy8gICAgIEFycmF5LmZyb20oaGVhZGVyLnBhcmVudE5vZGUuY2hpbGRyZW4pLmluZGV4T2YoaGVhZGVyKSxcbiAgLy8gICAgICFpc0FzY2VuZGluZylcbiAgLy8gICApXG4gIC8vIC5mb3JFYWNoKHRyID0+IHRib2R5LmFwcGVuZENoaWxkKHRyKSApO1xuXG4gIC8vIFtdLnNsaWNlLmNhbGwoKSB0dXJucyBhcnJheS1saWtlIHNldHMgaW50byB0cnVlIGFycmF5cyBzbyB0aGF0IHdlIGNhbiBzb3J0IHRoZW1cbiAgY29uc3QgYWxsUm93cyA9IFtdLnNsaWNlLmNhbGwodGJvZHkucXVlcnlTZWxlY3RvckFsbChcInRyXCIpKTtcbiAgY29uc3QgYWxsSGVhZGVycyA9IFtdLnNsaWNlLmNhbGwoaGVhZGVyLnBhcmVudE5vZGUuY2hpbGRyZW4pO1xuICBjb25zdCB0aGlzSGVhZGVySW5kZXggPSBhbGxIZWFkZXJzLmluZGV4T2YoaGVhZGVyKTtcbiAgYWxsUm93cy5zb3J0KGNvbXBhcmVGdW5jdGlvbih0aGlzSGVhZGVySW5kZXgsICFpc0FzY2VuZGluZykpLmZvckVhY2goKHRyKSA9PiB7XG4gICAgW10uc2xpY2VcbiAgICAgIC5jYWxsKHRyLmNoaWxkcmVuKVxuICAgICAgLmZvckVhY2goKHRkKSA9PiB0ZC5yZW1vdmVBdHRyaWJ1dGUoXCJkYXRhLXNvcnQtYWN0aXZlXCIpKTtcbiAgICB0ci5jaGlsZHJlblt0aGlzSGVhZGVySW5kZXhdLnNldEF0dHJpYnV0ZShcImRhdGEtc29ydC1hY3RpdmVcIiwgdHJ1ZSk7XG4gICAgdGJvZHkuYXBwZW5kQ2hpbGQodHIpO1xuICB9KTtcblxuICByZXR1cm4gdHJ1ZTtcbn07XG5cbi8qKlxuICogVXBkYXRlIHRoZSBsaXZlIHJlZ2lvbiBpbW1lZGlhdGVseSBmb2xsb3dpbmcgdGhlIHRhYmxlIHdoZW5ldmVyIHNvcnQgY2hhbmdlcy5cbiAqIEBwYXJhbSB7SFRNTFRhYmxlRWxlbWVudH0gdGFibGVcbiAqIEBwYXJhbSB7SFRNTFRhYmxlSGVhZGVyQ2VsbEVsZW1lbnR9IHNvcnRlZEhlYWRlclxuICovXG5cbmNvbnN0IHVwZGF0ZUxpdmVSZWdpb24gPSAodGFibGUsIHNvcnRlZEhlYWRlcikgPT4ge1xuICBjb25zdCBjYXB0aW9uID0gdGFibGUucXVlcnlTZWxlY3RvcihcImNhcHRpb25cIikuaW5uZXJUZXh0O1xuICBjb25zdCBzb3J0ZWRBc2NlbmRpbmcgPSBzb3J0ZWRIZWFkZXIuZ2V0QXR0cmlidXRlKFNPUlRFRCkgPT09IEFTQ0VORElORztcbiAgY29uc3QgaGVhZGVyTGFiZWwgPSBzb3J0ZWRIZWFkZXIuaW5uZXJUZXh0O1xuICBjb25zdCBsaXZlUmVnaW9uID0gdGFibGUubmV4dEVsZW1lbnRTaWJsaW5nO1xuICBpZiAobGl2ZVJlZ2lvbiAmJiBsaXZlUmVnaW9uLm1hdGNoZXMoQU5OT1VOQ0VNRU5UX1JFR0lPTikpIHtcbiAgICBjb25zdCBzb3J0QW5ub3VuY2VtZW50ID0gYFRoZSB0YWJsZSBuYW1lZCBcIiR7Y2FwdGlvbn1cIiBpcyBub3cgc29ydGVkIGJ5ICR7aGVhZGVyTGFiZWx9IGluICR7XG4gICAgICBzb3J0ZWRBc2NlbmRpbmcgPyBBU0NFTkRJTkcgOiBERVNDRU5ESU5HXG4gICAgfSBvcmRlci5gO1xuICAgIGxpdmVSZWdpb24uaW5uZXJUZXh0ID0gc29ydEFubm91bmNlbWVudDtcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgVGFibGUgY29udGFpbmluZyBhIHNvcnRhYmxlIGNvbHVtbiBoZWFkZXIgaXMgbm90IGZvbGxvd2VkIGJ5IGFuIGFyaWEtbGl2ZSByZWdpb24uYCxcbiAgICApO1xuICB9XG59O1xuXG4vKipcbiAqIFRvZ2dsZSBhIGhlYWRlcidzIHNvcnQgc3RhdGUsIG9wdGlvbmFsbHkgcHJvdmlkaW5nIGEgdGFyZ2V0XG4gKiBzdGF0ZS5cbiAqXG4gKiBAcGFyYW0ge0hUTUxUYWJsZUhlYWRlckNlbGxFbGVtZW50fSBoZWFkZXJcbiAqIEBwYXJhbSB7Ym9vbGVhbj99IGlzQXNjZW5kaW5nIElmIG5vIHN0YXRlIGlzIHByb3ZpZGVkLCB0aGUgY3VycmVudFxuICogc3RhdGUgd2lsbCBiZSB0b2dnbGVkIChmcm9tIGZhbHNlIHRvIHRydWUsIGFuZCB2aWNlLXZlcnNhKS5cbiAqL1xuY29uc3QgdG9nZ2xlU29ydCA9IChoZWFkZXIsIGlzQXNjZW5kaW5nKSA9PiB7XG4gIGNvbnN0IHRhYmxlID0gaGVhZGVyLmNsb3Nlc3QoVEFCTEUpO1xuICBsZXQgc2FmZUFzY2VuZGluZyA9IGlzQXNjZW5kaW5nO1xuICBpZiAodHlwZW9mIHNhZmVBc2NlbmRpbmcgIT09IFwiYm9vbGVhblwiKSB7XG4gICAgc2FmZUFzY2VuZGluZyA9IGhlYWRlci5nZXRBdHRyaWJ1dGUoU09SVEVEKSA9PT0gQVNDRU5ESU5HO1xuICB9XG5cbiAgaWYgKCF0YWJsZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgJHtTT1JUQUJMRV9IRUFERVJ9IGlzIG1pc3Npbmcgb3V0ZXIgJHtUQUJMRX1gKTtcbiAgfVxuXG4gIHNhZmVBc2NlbmRpbmcgPSBzb3J0Um93cyhoZWFkZXIsIGlzQXNjZW5kaW5nKTtcblxuICBpZiAoc2FmZUFzY2VuZGluZykge1xuICAgIGdldENvbHVtbkhlYWRlcnModGFibGUpLmZvckVhY2goKG90aGVySGVhZGVyKSA9PiB7XG4gICAgICBpZiAob3RoZXJIZWFkZXIgIT09IGhlYWRlcikge1xuICAgICAgICB1bnNldFNvcnQob3RoZXJIZWFkZXIpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHVwZGF0ZUxpdmVSZWdpb24odGFibGUsIGhlYWRlcik7XG4gIH1cbn07XG5cbi8qKlxuICoqIEluc2VydHMgYSBidXR0b24gd2l0aCBpY29uIGluc2lkZSBhIHNvcnRhYmxlIGhlYWRlclxuICogQHBhcmFtIHtIVE1MVGFibGVIZWFkZXJDZWxsRWxlbWVudH0gaGVhZGVyXG4gKi9cblxuY29uc3QgY3JlYXRlSGVhZGVyQnV0dG9uID0gKGhlYWRlcikgPT4ge1xuICBjb25zdCBidXR0b25FbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIik7XG4gIGJ1dHRvbkVsLnNldEF0dHJpYnV0ZShcInRhYmluZGV4XCIsIFwiMFwiKTtcbiAgYnV0dG9uRWwuY2xhc3NMaXN0LmFkZChTT1JUX0JVVFRPTl9DTEFTUyk7XG4gIC8vIElDT05fU09VUkNFXG4gIGJ1dHRvbkVsLmlubmVySFRNTCA9IFNhbml0aXplci5lc2NhcGVIVE1MYFxuICA8c3ZnIGNsYXNzPVwiJHtQUkVGSVh9LWljb25cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPlxuICAgIDxnIGNsYXNzPVwiZGVzY2VuZGluZ1wiIGZpbGw9XCJ0cmFuc3BhcmVudFwiPlxuICAgICAgPHBhdGggZD1cIk0xNyAxN0wxNS41OSAxNS41OUwxMi45OTk5IDE4LjE3VjJIMTAuOTk5OVYxOC4xN0w4LjQxIDE1LjU4TDcgMTdMMTEuOTk5OSAyMkwxNyAxN1pcIiAvPlxuICAgIDwvZz5cbiAgICA8ZyBjbGFzcz1cImFzY2VuZGluZ1wiIGZpbGw9XCJ0cmFuc3BhcmVudFwiPlxuICAgICAgPHBhdGggdHJhbnNmb3JtPVwicm90YXRlKDE4MCwgMTIsIDEyKVwiIGQ9XCJNMTcgMTdMMTUuNTkgMTUuNTlMMTIuOTk5OSAxOC4xN1YySDEwLjk5OTlWMTguMTdMOC40MSAxNS41OEw3IDE3TDExLjk5OTkgMjJMMTcgMTdaXCIgLz5cbiAgICA8L2c+XG4gICAgPGcgY2xhc3M9XCJ1bnNvcnRlZFwiIGZpbGw9XCJ0cmFuc3BhcmVudFwiPlxuICAgICAgPHBvbHlnb24gcG9pbnRzPVwiMTUuMTcgMTUgMTMgMTcuMTcgMTMgNi44MyAxNS4xNyA5IDE2LjU4IDcuNTkgMTIgMyA3LjQxIDcuNTkgOC44MyA5IDExIDYuODMgMTEgMTcuMTcgOC44MyAxNSA3LjQyIDE2LjQxIDEyIDIxIDE2LjU5IDE2LjQxIDE1LjE3IDE1XCIvPlxuICAgIDwvZz5cbiAgPC9zdmc+XG4gIGA7XG4gIGhlYWRlci5hcHBlbmRDaGlsZChidXR0b25FbCk7XG4gIHVwZGF0ZVNvcnRMYWJlbChoZWFkZXIpO1xufTtcblxuY29uc3QgdGFibGUgPSBiZWhhdmlvcihcbiAge1xuICAgIFtDTElDS106IHtcbiAgICAgIFtTT1JUX0JVVFRPTl0oZXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdG9nZ2xlU29ydChcbiAgICAgICAgICBldmVudC50YXJnZXQuY2xvc2VzdChTT1JUQUJMRV9IRUFERVIpLFxuICAgICAgICAgIGV2ZW50LnRhcmdldC5jbG9zZXN0KFNPUlRBQkxFX0hFQURFUikuZ2V0QXR0cmlidXRlKFNPUlRFRCkgPT09XG4gICAgICAgICAgICBBU0NFTkRJTkcsXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG4gIHtcbiAgICBpbml0KHJvb3QpIHtcbiAgICAgIGNvbnN0IHNvcnRhYmxlSGVhZGVycyA9IHNlbGVjdChTT1JUQUJMRV9IRUFERVIsIHJvb3QpO1xuICAgICAgc29ydGFibGVIZWFkZXJzLmZvckVhY2goKGhlYWRlcikgPT4gY3JlYXRlSGVhZGVyQnV0dG9uKGhlYWRlcikpO1xuXG4gICAgICBjb25zdCBmaXJzdFNvcnRlZCA9IHNvcnRhYmxlSGVhZGVycy5maWx0ZXIoXG4gICAgICAgIChoZWFkZXIpID0+XG4gICAgICAgICAgaGVhZGVyLmdldEF0dHJpYnV0ZShTT1JURUQpID09PSBBU0NFTkRJTkcgfHxcbiAgICAgICAgICBoZWFkZXIuZ2V0QXR0cmlidXRlKFNPUlRFRCkgPT09IERFU0NFTkRJTkcsXG4gICAgICApWzBdO1xuICAgICAgaWYgKHR5cGVvZiBmaXJzdFNvcnRlZCA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAvLyBubyBzb3J0YWJsZSBoZWFkZXJzIGZvdW5kXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHNvcnREaXIgPSBmaXJzdFNvcnRlZC5nZXRBdHRyaWJ1dGUoU09SVEVEKTtcbiAgICAgIGlmIChzb3J0RGlyID09PSBBU0NFTkRJTkcpIHtcbiAgICAgICAgdG9nZ2xlU29ydChmaXJzdFNvcnRlZCwgdHJ1ZSk7XG4gICAgICB9IGVsc2UgaWYgKHNvcnREaXIgPT09IERFU0NFTkRJTkcpIHtcbiAgICAgICAgdG9nZ2xlU29ydChmaXJzdFNvcnRlZCwgZmFsc2UpO1xuICAgICAgfVxuICAgIH0sXG4gICAgVEFCTEUsXG4gICAgU09SVEFCTEVfSEVBREVSLFxuICAgIFNPUlRfQlVUVE9OLFxuICB9LFxuKTtcblxubW9kdWxlLmV4cG9ydHMgPSB0YWJsZTtcbiIsImNvbnN0IGJlaGF2aW9yID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2JlaGF2aW9yXCIpO1xuY29uc3Qgc2VsZWN0T3JNYXRjaGVzID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3NlbGVjdC1vci1tYXRjaGVzXCIpO1xuY29uc3QgeyBwcmVmaXg6IFBSRUZJWCB9ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL2NvbmZpZ1wiKTtcbmNvbnN0IHtcbiAgQ09NQk9fQk9YX0NMQVNTLFxuICBlbmhhbmNlQ29tYm9Cb3gsXG59ID0gcmVxdWlyZShcIi4uLy4uL3VzYS1jb21iby1ib3gvc3JjL2luZGV4XCIpO1xuXG5jb25zdCBUSU1FX1BJQ0tFUl9DTEFTUyA9IGAke1BSRUZJWH0tdGltZS1waWNrZXJgO1xuY29uc3QgVElNRV9QSUNLRVIgPSBgLiR7VElNRV9QSUNLRVJfQ0xBU1N9YDtcbmNvbnN0IE1BWF9USU1FID0gNjAgKiAyNCAtIDE7XG5jb25zdCBNSU5fVElNRSA9IDA7XG5jb25zdCBERUZBVUxUX1NURVAgPSAzMDtcbmNvbnN0IE1JTl9TVEVQID0gMTtcblxuY29uc3QgRklMVEVSX0RBVEFTRVQgPSB7XG4gIGZpbHRlcjpcbiAgICBcIjA/e3sgaG91clF1ZXJ5RmlsdGVyIH19Ont7bWludXRlUXVlcnlGaWx0ZXJ9fS4qe3sgYXBRdWVyeUZpbHRlciB9fW0/XCIsXG4gIGFwUXVlcnlGaWx0ZXI6IFwiKFthcF0pXCIsXG4gIGhvdXJRdWVyeUZpbHRlcjogXCIoWzEtOV1bMC0yXT8pXCIsXG4gIG1pbnV0ZVF1ZXJ5RmlsdGVyOiBcIltcXFxcZF0rOihbMC05XXswLDJ9KVwiLFxufTtcblxuLyoqXG4gKiBQYXJzZSBhIHN0cmluZyBvZiBoaDptbSBpbnRvIG1pbnV0ZXNcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gdGltZVN0ciB0aGUgdGltZSBzdHJpbmcgdG8gcGFyc2VcbiAqIEByZXR1cm5zIHtudW1iZXJ9IHRoZSBudW1iZXIgb2YgbWludXRlc1xuICovXG5jb25zdCBwYXJzZVRpbWVTdHJpbmcgPSAodGltZVN0cikgPT4ge1xuICBsZXQgbWludXRlcztcblxuICBpZiAodGltZVN0cikge1xuICAgIGNvbnN0IFtob3VycywgbWluc10gPSB0aW1lU3RyLnNwbGl0KFwiOlwiKS5tYXAoKHN0cikgPT4ge1xuICAgICAgbGV0IHZhbHVlO1xuICAgICAgY29uc3QgcGFyc2VkID0gcGFyc2VJbnQoc3RyLCAxMCk7XG4gICAgICBpZiAoIU51bWJlci5pc05hTihwYXJzZWQpKSB2YWx1ZSA9IHBhcnNlZDtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9KTtcblxuICAgIGlmIChob3VycyAhPSBudWxsICYmIG1pbnMgIT0gbnVsbCkge1xuICAgICAgbWludXRlcyA9IGhvdXJzICogNjAgKyBtaW5zO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtaW51dGVzO1xufTtcblxuLyoqXG4gKiBFbmhhbmNlIGFuIGlucHV0IHdpdGggdGhlIGRhdGUgcGlja2VyIGVsZW1lbnRzXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgVGhlIGluaXRpYWwgd3JhcHBpbmcgZWxlbWVudCBvZiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKi9cbmNvbnN0IHRyYW5zZm9ybVRpbWVQaWNrZXIgPSAoZWwpID0+IHtcbiAgY29uc3QgdGltZVBpY2tlckVsID0gZWwuY2xvc2VzdChUSU1FX1BJQ0tFUik7XG5cbiAgY29uc3QgaW5pdGlhbElucHV0RWwgPSB0aW1lUGlja2VyRWwucXVlcnlTZWxlY3RvcihgaW5wdXRgKTtcblxuICBpZiAoIWluaXRpYWxJbnB1dEVsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGAke1RJTUVfUElDS0VSfSBpcyBtaXNzaW5nIGlubmVyIGlucHV0YCk7XG4gIH1cblxuICBjb25zdCBzZWxlY3RFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzZWxlY3RcIik7XG5cbiAgW1xuICAgIFwiaWRcIixcbiAgICBcIm5hbWVcIixcbiAgICBcInJlcXVpcmVkXCIsXG4gICAgXCJhcmlhLWxhYmVsXCIsXG4gICAgXCJhcmlhLWxhYmVsbGVkYnlcIixcbiAgICBcImRpc2FibGVkXCIsXG4gICAgXCJhcmlhLWRpc2FibGVkXCIsXG4gIF0uZm9yRWFjaCgobmFtZSkgPT4ge1xuICAgIGlmIChpbml0aWFsSW5wdXRFbC5oYXNBdHRyaWJ1dGUobmFtZSkpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gaW5pdGlhbElucHV0RWwuZ2V0QXR0cmlidXRlKG5hbWUpO1xuICAgICAgc2VsZWN0RWwuc2V0QXR0cmlidXRlKG5hbWUsIHZhbHVlKTtcbiAgICAgIGluaXRpYWxJbnB1dEVsLnJlbW92ZUF0dHJpYnV0ZShuYW1lKTtcbiAgICB9XG4gIH0pO1xuXG4gIGNvbnN0IHBhZFplcm9zID0gKHZhbHVlLCBsZW5ndGgpID0+IGAwMDAwJHt2YWx1ZX1gLnNsaWNlKC1sZW5ndGgpO1xuXG4gIGNvbnN0IGdldFRpbWVDb250ZXh0ID0gKG1pbnV0ZXMpID0+IHtcbiAgICBjb25zdCBtaW51dGUgPSBtaW51dGVzICUgNjA7XG4gICAgY29uc3QgaG91cjI0ID0gTWF0aC5mbG9vcihtaW51dGVzIC8gNjApO1xuICAgIGNvbnN0IGhvdXIxMiA9IGhvdXIyNCAlIDEyIHx8IDEyO1xuICAgIGNvbnN0IGFtcG0gPSBob3VyMjQgPCAxMiA/IFwiYW1cIiA6IFwicG1cIjtcblxuICAgIHJldHVybiB7XG4gICAgICBtaW51dGUsXG4gICAgICBob3VyMjQsXG4gICAgICBob3VyMTIsXG4gICAgICBhbXBtLFxuICAgIH07XG4gIH07XG5cbiAgY29uc3QgbWluVGltZSA9IE1hdGgubWF4KFxuICAgIE1JTl9USU1FLFxuICAgIHBhcnNlVGltZVN0cmluZyh0aW1lUGlja2VyRWwuZGF0YXNldC5taW5UaW1lKSB8fCBNSU5fVElNRSxcbiAgKTtcbiAgY29uc3QgbWF4VGltZSA9IE1hdGgubWluKFxuICAgIE1BWF9USU1FLFxuICAgIHBhcnNlVGltZVN0cmluZyh0aW1lUGlja2VyRWwuZGF0YXNldC5tYXhUaW1lKSB8fCBNQVhfVElNRSxcbiAgKTtcbiAgY29uc3Qgc3RlcCA9IE1hdGguZmxvb3IoXG4gICAgTWF0aC5tYXgoTUlOX1NURVAsIHRpbWVQaWNrZXJFbC5kYXRhc2V0LnN0ZXAgfHwgREVGQVVMVF9TVEVQKSxcbiAgKTtcblxuICBsZXQgZGVmYXVsdFZhbHVlO1xuICBmb3IgKGxldCB0aW1lID0gbWluVGltZTsgdGltZSA8PSBtYXhUaW1lOyB0aW1lICs9IHN0ZXApIHtcbiAgICBjb25zdCB7IG1pbnV0ZSwgaG91cjI0LCBob3VyMTIsIGFtcG0gfSA9IGdldFRpbWVDb250ZXh0KHRpbWUpO1xuXG4gICAgY29uc3Qgb3B0aW9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcIm9wdGlvblwiKTtcbiAgICBvcHRpb24udmFsdWUgPSBgJHtwYWRaZXJvcyhob3VyMjQsIDIpfToke3BhZFplcm9zKG1pbnV0ZSwgMil9YDtcbiAgICBvcHRpb24udGV4dCA9IGAke2hvdXIxMn06JHtwYWRaZXJvcyhtaW51dGUsIDIpfSR7YW1wbX1gO1xuICAgIGlmIChvcHRpb24udGV4dCA9PT0gaW5pdGlhbElucHV0RWwudmFsdWUpIHtcbiAgICAgIGRlZmF1bHRWYWx1ZSA9IG9wdGlvbi52YWx1ZTtcbiAgICB9XG4gICAgc2VsZWN0RWwuYXBwZW5kQ2hpbGQob3B0aW9uKTtcbiAgfVxuXG4gIHRpbWVQaWNrZXJFbC5jbGFzc0xpc3QuYWRkKENPTUJPX0JPWF9DTEFTUyk7XG5cbiAgLy8gY29tYm8gYm94IHByb3BlcnRpZXNcbiAgT2JqZWN0LmtleXMoRklMVEVSX0RBVEFTRVQpLmZvckVhY2goKGtleSkgPT4ge1xuICAgIHRpbWVQaWNrZXJFbC5kYXRhc2V0W2tleV0gPSBGSUxURVJfREFUQVNFVFtrZXldO1xuICB9KTtcbiAgdGltZVBpY2tlckVsLmRhdGFzZXQuZGlzYWJsZUZpbHRlcmluZyA9IFwidHJ1ZVwiO1xuICB0aW1lUGlja2VyRWwuZGF0YXNldC5kZWZhdWx0VmFsdWUgPSBkZWZhdWx0VmFsdWU7XG5cbiAgdGltZVBpY2tlckVsLmFwcGVuZENoaWxkKHNlbGVjdEVsKTtcbiAgaW5pdGlhbElucHV0RWwucmVtb3ZlKCk7XG59O1xuXG5jb25zdCB0aW1lUGlja2VyID0gYmVoYXZpb3IoXG4gIHt9LFxuICB7XG4gICAgaW5pdChyb290KSB7XG4gICAgICBzZWxlY3RPck1hdGNoZXMoVElNRV9QSUNLRVIsIHJvb3QpLmZvckVhY2goKHRpbWVQaWNrZXJFbCkgPT4ge1xuICAgICAgICB0cmFuc2Zvcm1UaW1lUGlja2VyKHRpbWVQaWNrZXJFbCk7XG4gICAgICAgIGVuaGFuY2VDb21ib0JveCh0aW1lUGlja2VyRWwpO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBGSUxURVJfREFUQVNFVCxcbiAgfSxcbik7XG5cbm1vZHVsZS5leHBvcnRzID0gdGltZVBpY2tlcjtcbiIsIi8vIFRvb2x0aXBzXG5jb25zdCBrZXltYXAgPSByZXF1aXJlKFwicmVjZXB0b3Iva2V5bWFwXCIpO1xuY29uc3Qgc2VsZWN0T3JNYXRjaGVzID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3NlbGVjdC1vci1tYXRjaGVzXCIpO1xuY29uc3QgYmVoYXZpb3IgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvYmVoYXZpb3JcIik7XG5jb25zdCB7IHByZWZpeDogUFJFRklYIH0gPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvY29uZmlnXCIpO1xuY29uc3QgaXNFbGVtZW50SW5WaWV3cG9ydCA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9pcy1pbi12aWV3cG9ydFwiKTtcblxuY29uc3QgQk9EWSA9IFwiYm9keVwiO1xuY29uc3QgVE9PTFRJUCA9IGAuJHtQUkVGSVh9LXRvb2x0aXBgO1xuY29uc3QgVE9PTFRJUF9UUklHR0VSID0gYC4ke1BSRUZJWH0tdG9vbHRpcF9fdHJpZ2dlcmA7XG5jb25zdCBUT09MVElQX1RSSUdHRVJfQ0xBU1MgPSBgJHtQUkVGSVh9LXRvb2x0aXBfX3RyaWdnZXJgO1xuY29uc3QgVE9PTFRJUF9DTEFTUyA9IGAke1BSRUZJWH0tdG9vbHRpcGA7XG5jb25zdCBUT09MVElQX0JPRFlfQ0xBU1MgPSBgJHtQUkVGSVh9LXRvb2x0aXBfX2JvZHlgO1xuY29uc3QgU0VUX0NMQVNTID0gXCJpcy1zZXRcIjtcbmNvbnN0IFZJU0lCTEVfQ0xBU1MgPSBcImlzLXZpc2libGVcIjtcbmNvbnN0IFRSSUFOR0xFX1NJWkUgPSA1O1xuY29uc3QgQURKVVNUX1dJRFRIX0NMQVNTID0gYCR7UFJFRklYfS10b29sdGlwX19ib2R5LS13cmFwYDtcblxuLyoqXG4gKlxuICogQHBhcmFtIHtET01FbGVtZW50fSB0cmlnZ2VyIC0gVGhlIHRvb2x0aXAgdHJpZ2dlclxuICogQHJldHVybnMge29iamVjdH0gRWxlbWVudHMgZm9yIGluaXRpYWxpemVkIHRvb2x0aXA7IGluY2x1ZGVzIHRyaWdnZXIsIHdyYXBwZXIsIGFuZCBib2R5XG4gKi9cbmNvbnN0IGdldFRvb2x0aXBFbGVtZW50cyA9ICh0cmlnZ2VyKSA9PiB7XG4gIGNvbnN0IHdyYXBwZXIgPSB0cmlnZ2VyLnBhcmVudE5vZGU7XG4gIGNvbnN0IGJvZHkgPSB3cmFwcGVyLnF1ZXJ5U2VsZWN0b3IoYC4ke1RPT0xUSVBfQk9EWV9DTEFTU31gKTtcblxuICByZXR1cm4geyB0cmlnZ2VyLCB3cmFwcGVyLCBib2R5IH07XG59O1xuXG4vKipcbiAqIFNob3dzIHRoZSB0b29sdGlwXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSB0b29sdGlwVHJpZ2dlciAtIHRoZSBlbGVtZW50IHRoYXQgaW5pdGlhbGl6ZXMgdGhlIHRvb2x0aXBcbiAqL1xuY29uc3Qgc2hvd1Rvb2xUaXAgPSAodG9vbHRpcEJvZHksIHRvb2x0aXBUcmlnZ2VyLCBwb3NpdGlvbikgPT4ge1xuICB0b29sdGlwQm9keS5zZXRBdHRyaWJ1dGUoXCJhcmlhLWhpZGRlblwiLCBcImZhbHNlXCIpO1xuXG4gIC8vIFRoaXMgc2V0cyB1cCB0aGUgdG9vbHRpcCBib2R5LiBUaGUgb3BhY2l0eSBpcyAwLCBidXRcbiAgLy8gd2UgY2FuIGJlZ2luIHJ1bm5pbmcgdGhlIGNhbGN1bGF0aW9ucyBiZWxvdy5cbiAgdG9vbHRpcEJvZHkuY2xhc3NMaXN0LmFkZChTRVRfQ0xBU1MpO1xuXG4gIC8qKlxuICAgKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCBib2R5IHdoZW4gdGhlIHRyaWdnZXIgaXMgaG92ZXJlZFxuICAgKiBSZW1vdmVzIG9sZCBwb3NpdGlvbmluZyBjbGFzc25hbWVzIGFuZCByZWFwcGxpZXMuIFRoaXMgYWxsb3dzXG4gICAqIHBvc2l0aW9uaW5nIHRvIGNoYW5nZSBpbiBjYXNlIHRoZSB1c2VyIHJlc2l6ZXMgYnJvd3NlciBvciBET00gbWFuaXB1bGF0aW9uXG4gICAqIGNhdXNlcyB0b29sdGlwIHRvIGdldCBjbGlwcGVkIGZyb20gdmlld3BvcnRcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNldFBvcyAtIGNhbiBiZSBcInRvcFwiLCBcImJvdHRvbVwiLCBcInJpZ2h0XCIsIFwibGVmdFwiXG4gICAqL1xuICBjb25zdCBzZXRQb3NpdGlvbkNsYXNzID0gKHNldFBvcykgPT4ge1xuICAgIHRvb2x0aXBCb2R5LmNsYXNzTGlzdC5yZW1vdmUoYCR7VE9PTFRJUF9CT0RZX0NMQVNTfS0tdG9wYCk7XG4gICAgdG9vbHRpcEJvZHkuY2xhc3NMaXN0LnJlbW92ZShgJHtUT09MVElQX0JPRFlfQ0xBU1N9LS1ib3R0b21gKTtcbiAgICB0b29sdGlwQm9keS5jbGFzc0xpc3QucmVtb3ZlKGAke1RPT0xUSVBfQk9EWV9DTEFTU30tLXJpZ2h0YCk7XG4gICAgdG9vbHRpcEJvZHkuY2xhc3NMaXN0LnJlbW92ZShgJHtUT09MVElQX0JPRFlfQ0xBU1N9LS1sZWZ0YCk7XG4gICAgdG9vbHRpcEJvZHkuY2xhc3NMaXN0LmFkZChgJHtUT09MVElQX0JPRFlfQ0xBU1N9LS0ke3NldFBvc31gKTtcbiAgfTtcblxuICAvKipcbiAgICogUmVtb3ZlcyBvbGQgcG9zaXRpb25pbmcgc3R5bGVzLiBUaGlzIGFsbG93c1xuICAgKiByZS1wb3NpdGlvbmluZyB0byBjaGFuZ2Ugd2l0aG91dCBpbmhlcml0aW5nIG90aGVyXG4gICAqIGR5bmFtaWMgc3R5bGVzXG4gICAqXG4gICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGUgLSB0aGlzIGlzIHRoZSB0b29sdGlwIGJvZHlcbiAgICovXG4gIGNvbnN0IHJlc2V0UG9zaXRpb25TdHlsZXMgPSAoZSkgPT4ge1xuICAgIC8vIHdlIGRvbid0IG92ZXJyaWRlIGFueXRoaW5nIGluIHRoZSBzdHlsZXNoZWV0IHdoZW4gZmluZGluZyBhbHQgcG9zaXRpb25zXG4gICAgZS5zdHlsZS50b3AgPSBudWxsO1xuICAgIGUuc3R5bGUuYm90dG9tID0gbnVsbDtcbiAgICBlLnN0eWxlLnJpZ2h0ID0gbnVsbDtcbiAgICBlLnN0eWxlLmxlZnQgPSBudWxsO1xuICAgIGUuc3R5bGUubWFyZ2luID0gbnVsbDtcbiAgfTtcblxuICAvKipcbiAgICogZ2V0IG1hcmdpbiBvZmZzZXQgY2FsY3VsYXRpb25zXG4gICAqXG4gICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IHRhcmdldCAtIHRoaXMgaXMgdGhlIHRvb2x0aXAgYm9keVxuICAgKiBAcGFyYW0ge1N0cmluZ30gcHJvcGVydHlWYWx1ZSAtIHRoaXMgaXMgdGhlIHRvb2x0aXAgYm9keVxuICAgKi9cblxuICBjb25zdCBvZmZzZXRNYXJnaW4gPSAodGFyZ2V0LCBwcm9wZXJ0eVZhbHVlKSA9PlxuICAgIHBhcnNlSW50KFxuICAgICAgd2luZG93LmdldENvbXB1dGVkU3R5bGUodGFyZ2V0KS5nZXRQcm9wZXJ0eVZhbHVlKHByb3BlcnR5VmFsdWUpLFxuICAgICAgMTAsXG4gICAgKTtcblxuICAvLyBvZmZzZXRMZWZ0ID0gdGhlIGxlZnQgcG9zaXRpb24sIGFuZCBtYXJnaW4gb2YgdGhlIGVsZW1lbnQsIHRoZSBsZWZ0XG4gIC8vIHBhZGRpbmcsIHNjcm9sbGJhciBhbmQgYm9yZGVyIG9mIHRoZSBvZmZzZXRQYXJlbnQgZWxlbWVudFxuICAvLyBvZmZzZXRXaWR0aCA9IFRoZSBvZmZzZXRXaWR0aCBwcm9wZXJ0eSByZXR1cm5zIHRoZSB2aWV3YWJsZSB3aWR0aCBvZiBhblxuICAvLyBlbGVtZW50IGluIHBpeGVscywgaW5jbHVkaW5nIHBhZGRpbmcsIGJvcmRlciBhbmQgc2Nyb2xsYmFyLCBidXQgbm90XG4gIC8vIHRoZSBtYXJnaW4uXG5cbiAgLyoqXG4gICAqIENhbGN1bGF0ZSBtYXJnaW4gb2Zmc2V0XG4gICAqIHRvb2x0aXAgdHJpZ2dlciBtYXJnaW4ocG9zaXRpb24pIG9mZnNldCArIHRvb2x0aXBCb2R5IG9mZnNldFdpZHRoXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBtYXJnaW5Qb3NpdGlvblxuICAgKiBAcGFyYW0ge051bWJlcn0gdG9vbHRpcEJvZHlPZmZzZXRcbiAgICogQHBhcmFtIHtIVE1MRWxlbWVudH0gdHJpZ2dlclxuICAgKi9cbiAgY29uc3QgY2FsY3VsYXRlTWFyZ2luT2Zmc2V0ID0gKFxuICAgIG1hcmdpblBvc2l0aW9uLFxuICAgIHRvb2x0aXBCb2R5T2Zmc2V0LFxuICAgIHRyaWdnZXIsXG4gICkgPT4ge1xuICAgIGNvbnN0IG9mZnNldCA9XG4gICAgICBvZmZzZXRNYXJnaW4odHJpZ2dlciwgYG1hcmdpbi0ke21hcmdpblBvc2l0aW9ufWApID4gMFxuICAgICAgICA/IHRvb2x0aXBCb2R5T2Zmc2V0IC0gb2Zmc2V0TWFyZ2luKHRyaWdnZXIsIGBtYXJnaW4tJHttYXJnaW5Qb3NpdGlvbn1gKVxuICAgICAgICA6IHRvb2x0aXBCb2R5T2Zmc2V0O1xuXG4gICAgcmV0dXJuIG9mZnNldDtcbiAgfTtcblxuICAvKipcbiAgICogUG9zaXRpb25zIHRvb2x0aXAgYXQgdGhlIHRvcFxuICAgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlIC0gdGhpcyBpcyB0aGUgdG9vbHRpcCBib2R5XG4gICAqL1xuICBjb25zdCBwb3NpdGlvblRvcCA9IChlKSA9PiB7XG4gICAgcmVzZXRQb3NpdGlvblN0eWxlcyhlKTsgLy8gZW5zdXJlcyB3ZSBzdGFydCBmcm9tIHRoZSBzYW1lIHBvaW50XG4gICAgLy8gZ2V0IGRldGFpbHMgb24gdGhlIGVsZW1lbnRzIG9iamVjdCB3aXRoXG5cbiAgICBjb25zdCB0b3BNYXJnaW4gPSBjYWxjdWxhdGVNYXJnaW5PZmZzZXQoXG4gICAgICBcInRvcFwiLFxuICAgICAgZS5vZmZzZXRIZWlnaHQsXG4gICAgICB0b29sdGlwVHJpZ2dlcixcbiAgICApO1xuXG4gICAgY29uc3QgbGVmdE1hcmdpbiA9IGNhbGN1bGF0ZU1hcmdpbk9mZnNldChcbiAgICAgIFwibGVmdFwiLFxuICAgICAgZS5vZmZzZXRXaWR0aCxcbiAgICAgIHRvb2x0aXBUcmlnZ2VyLFxuICAgICk7XG5cbiAgICBzZXRQb3NpdGlvbkNsYXNzKFwidG9wXCIpO1xuICAgIGUuc3R5bGUubGVmdCA9IGA1MCVgOyAvLyBjZW50ZXIgdGhlIGVsZW1lbnRcbiAgICBlLnN0eWxlLnRvcCA9IGAtJHtUUklBTkdMRV9TSVpFfXB4YDsgLy8gY29uc2lkZXIgdGhlIHBzZXVkbyBlbGVtZW50XG4gICAgLy8gYXBwbHkgb3VyIG1hcmdpbnMgYmFzZWQgb24gdGhlIG9mZnNldFxuICAgIGUuc3R5bGUubWFyZ2luID0gYC0ke3RvcE1hcmdpbn1weCAwIDAgLSR7bGVmdE1hcmdpbiAvIDJ9cHhgO1xuICB9O1xuXG4gIC8qKlxuICAgKiBQb3NpdGlvbnMgdG9vbHRpcCBhdCB0aGUgYm90dG9tXG4gICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGUgLSB0aGlzIGlzIHRoZSB0b29sdGlwIGJvZHlcbiAgICovXG4gIGNvbnN0IHBvc2l0aW9uQm90dG9tID0gKGUpID0+IHtcbiAgICByZXNldFBvc2l0aW9uU3R5bGVzKGUpO1xuXG4gICAgY29uc3QgbGVmdE1hcmdpbiA9IGNhbGN1bGF0ZU1hcmdpbk9mZnNldChcbiAgICAgIFwibGVmdFwiLFxuICAgICAgZS5vZmZzZXRXaWR0aCxcbiAgICAgIHRvb2x0aXBUcmlnZ2VyLFxuICAgICk7XG5cbiAgICBzZXRQb3NpdGlvbkNsYXNzKFwiYm90dG9tXCIpO1xuICAgIGUuc3R5bGUubGVmdCA9IGA1MCVgO1xuICAgIGUuc3R5bGUubWFyZ2luID0gYCR7VFJJQU5HTEVfU0laRX1weCAwIDAgLSR7bGVmdE1hcmdpbiAvIDJ9cHhgO1xuICB9O1xuXG4gIC8qKlxuICAgKiBQb3NpdGlvbnMgdG9vbHRpcCBhdCB0aGUgcmlnaHRcbiAgICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZSAtIHRoaXMgaXMgdGhlIHRvb2x0aXAgYm9keVxuICAgKi9cbiAgY29uc3QgcG9zaXRpb25SaWdodCA9IChlKSA9PiB7XG4gICAgcmVzZXRQb3NpdGlvblN0eWxlcyhlKTtcblxuICAgIGNvbnN0IHRvcE1hcmdpbiA9IGNhbGN1bGF0ZU1hcmdpbk9mZnNldChcbiAgICAgIFwidG9wXCIsXG4gICAgICBlLm9mZnNldEhlaWdodCxcbiAgICAgIHRvb2x0aXBUcmlnZ2VyLFxuICAgICk7XG5cbiAgICBzZXRQb3NpdGlvbkNsYXNzKFwicmlnaHRcIik7XG4gICAgZS5zdHlsZS50b3AgPSBgNTAlYDtcbiAgICBlLnN0eWxlLmxlZnQgPSBgJHtcbiAgICAgIHRvb2x0aXBUcmlnZ2VyLm9mZnNldExlZnQgKyB0b29sdGlwVHJpZ2dlci5vZmZzZXRXaWR0aCArIFRSSUFOR0xFX1NJWkVcbiAgICB9cHhgO1xuICAgIGUuc3R5bGUubWFyZ2luID0gYC0ke3RvcE1hcmdpbiAvIDJ9cHggMCAwIDBgO1xuICB9O1xuXG4gIC8qKlxuICAgKiBQb3NpdGlvbnMgdG9vbHRpcCBhdCB0aGUgcmlnaHRcbiAgICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZSAtIHRoaXMgaXMgdGhlIHRvb2x0aXAgYm9keVxuICAgKi9cbiAgY29uc3QgcG9zaXRpb25MZWZ0ID0gKGUpID0+IHtcbiAgICByZXNldFBvc2l0aW9uU3R5bGVzKGUpO1xuXG4gICAgY29uc3QgdG9wTWFyZ2luID0gY2FsY3VsYXRlTWFyZ2luT2Zmc2V0KFxuICAgICAgXCJ0b3BcIixcbiAgICAgIGUub2Zmc2V0SGVpZ2h0LFxuICAgICAgdG9vbHRpcFRyaWdnZXIsXG4gICAgKTtcblxuICAgIC8vIHdlIGhhdmUgdG8gY2hlY2sgZm9yIHNvbWUgdXRpbGl0eSBtYXJnaW5zXG4gICAgY29uc3QgbGVmdE1hcmdpbiA9IGNhbGN1bGF0ZU1hcmdpbk9mZnNldChcbiAgICAgIFwibGVmdFwiLFxuICAgICAgdG9vbHRpcFRyaWdnZXIub2Zmc2V0TGVmdCA+IGUub2Zmc2V0V2lkdGhcbiAgICAgICAgPyB0b29sdGlwVHJpZ2dlci5vZmZzZXRMZWZ0IC0gZS5vZmZzZXRXaWR0aFxuICAgICAgICA6IGUub2Zmc2V0V2lkdGgsXG4gICAgICB0b29sdGlwVHJpZ2dlcixcbiAgICApO1xuXG4gICAgc2V0UG9zaXRpb25DbGFzcyhcImxlZnRcIik7XG4gICAgZS5zdHlsZS50b3AgPSBgNTAlYDtcbiAgICBlLnN0eWxlLmxlZnQgPSBgLSR7VFJJQU5HTEVfU0laRX1weGA7XG4gICAgZS5zdHlsZS5tYXJnaW4gPSBgLSR7dG9wTWFyZ2luIC8gMn1weCAwIDAgJHtcbiAgICAgIHRvb2x0aXBUcmlnZ2VyLm9mZnNldExlZnQgPiBlLm9mZnNldFdpZHRoID8gbGVmdE1hcmdpbiA6IC1sZWZ0TWFyZ2luXG4gICAgfXB4YDsgLy8gYWRqdXN0IHRoZSBtYXJnaW5cbiAgfTtcblxuICAvKipcbiAgICogV2UgdHJ5IHRvIHNldCB0aGUgcG9zaXRpb24gYmFzZWQgb24gdGhlXG4gICAqIG9yaWdpbmFsIGludGVudGlvbiwgYnV0IG1ha2UgYWRqdXN0bWVudHNcbiAgICogaWYgdGhlIGVsZW1lbnQgaXMgY2xpcHBlZCBvdXQgb2YgdGhlIHZpZXdwb3J0XG4gICAqIHdlIGNvbnN0cmFpbiB0aGUgd2lkdGggb25seSBhcyBhIGxhc3QgcmVzb3J0XG4gICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsZW1lbnQoYWxpYXMgdG9vbHRpcEJvZHkpXG4gICAqIEBwYXJhbSB7TnVtYmVyfSBhdHRlbXB0ICgtLWZsYWcpXG4gICAqL1xuXG4gIGNvbnN0IG1heEF0dGVtcHRzID0gMjtcblxuICBmdW5jdGlvbiBmaW5kQmVzdFBvc2l0aW9uKGVsZW1lbnQsIGF0dGVtcHQgPSAxKSB7XG4gICAgLy8gY3JlYXRlIGFycmF5IG9mIG9wdGlvbmFsIHBvc2l0aW9uc1xuICAgIGNvbnN0IHBvc2l0aW9ucyA9IFtcbiAgICAgIHBvc2l0aW9uVG9wLFxuICAgICAgcG9zaXRpb25Cb3R0b20sXG4gICAgICBwb3NpdGlvblJpZ2h0LFxuICAgICAgcG9zaXRpb25MZWZ0LFxuICAgIF07XG5cbiAgICBsZXQgaGFzVmlzaWJsZVBvc2l0aW9uID0gZmFsc2U7XG5cbiAgICAvLyB3ZSB0YWtlIGEgcmVjdXJzaXZlIGFwcHJvYWNoXG4gICAgZnVuY3Rpb24gdHJ5UG9zaXRpb25zKGkpIHtcbiAgICAgIGlmIChpIDwgcG9zaXRpb25zLmxlbmd0aCkge1xuICAgICAgICBjb25zdCBwb3MgPSBwb3NpdGlvbnNbaV07XG4gICAgICAgIHBvcyhlbGVtZW50KTtcblxuICAgICAgICBpZiAoIWlzRWxlbWVudEluVmlld3BvcnQoZWxlbWVudCkpIHtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICAgICAgICB0cnlQb3NpdGlvbnMoKGkgKz0gMSkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGhhc1Zpc2libGVQb3NpdGlvbiA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0cnlQb3NpdGlvbnMoMCk7XG4gICAgLy8gaWYgd2UgY2FuJ3QgZmluZCBhIHBvc2l0aW9uIHdlIGNvbXByZXNzIGl0IGFuZCB0cnkgYWdhaW5cbiAgICBpZiAoIWhhc1Zpc2libGVQb3NpdGlvbikge1xuICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKEFESlVTVF9XSURUSF9DTEFTUyk7XG4gICAgICBpZiAoYXR0ZW1wdCA8PSBtYXhBdHRlbXB0cykge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICAgICAgZmluZEJlc3RQb3NpdGlvbihlbGVtZW50LCAoYXR0ZW1wdCArPSAxKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3dpdGNoIChwb3NpdGlvbikge1xuICAgIGNhc2UgXCJ0b3BcIjpcbiAgICAgIHBvc2l0aW9uVG9wKHRvb2x0aXBCb2R5KTtcbiAgICAgIGlmICghaXNFbGVtZW50SW5WaWV3cG9ydCh0b29sdGlwQm9keSkpIHtcbiAgICAgICAgZmluZEJlc3RQb3NpdGlvbih0b29sdGlwQm9keSk7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlIFwiYm90dG9tXCI6XG4gICAgICBwb3NpdGlvbkJvdHRvbSh0b29sdGlwQm9keSk7XG4gICAgICBpZiAoIWlzRWxlbWVudEluVmlld3BvcnQodG9vbHRpcEJvZHkpKSB7XG4gICAgICAgIGZpbmRCZXN0UG9zaXRpb24odG9vbHRpcEJvZHkpO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSBcInJpZ2h0XCI6XG4gICAgICBwb3NpdGlvblJpZ2h0KHRvb2x0aXBCb2R5KTtcbiAgICAgIGlmICghaXNFbGVtZW50SW5WaWV3cG9ydCh0b29sdGlwQm9keSkpIHtcbiAgICAgICAgZmluZEJlc3RQb3NpdGlvbih0b29sdGlwQm9keSk7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlIFwibGVmdFwiOlxuICAgICAgcG9zaXRpb25MZWZ0KHRvb2x0aXBCb2R5KTtcbiAgICAgIGlmICghaXNFbGVtZW50SW5WaWV3cG9ydCh0b29sdGlwQm9keSkpIHtcbiAgICAgICAgZmluZEJlc3RQb3NpdGlvbih0b29sdGlwQm9keSk7XG4gICAgICB9XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICAvLyBza2lwIGRlZmF1bHQgY2FzZVxuICAgICAgYnJlYWs7XG4gIH1cblxuICAvKipcbiAgICogQWN0dWFsbHkgc2hvdyB0aGUgdG9vbHRpcC4gVGhlIFZJU0lCTEVfQ0xBU1NcbiAgICogd2lsbCBjaGFuZ2UgdGhlIG9wYWNpdHkgdG8gMVxuICAgKi9cbiAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgdG9vbHRpcEJvZHkuY2xhc3NMaXN0LmFkZChWSVNJQkxFX0NMQVNTKTtcbiAgfSwgMjApO1xufTtcblxuLyoqXG4gKiBSZW1vdmVzIGFsbCB0aGUgcHJvcGVydGllcyB0byBzaG93IGFuZCBwb3NpdGlvbiB0aGUgdG9vbHRpcCxcbiAqIGFuZCByZXNldHMgdGhlIHRvb2x0aXAgcG9zaXRpb24gdG8gdGhlIG9yaWdpbmFsIGludGVudGlvblxuICogaW4gY2FzZSB0aGUgd2luZG93IGlzIHJlc2l6ZWQgb3IgdGhlIGVsZW1lbnQgaXMgbW92ZWQgdGhyb3VnaFxuICogRE9NIG1hbmlwdWxhdGlvbi5cbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IHRvb2x0aXBCb2R5IC0gVGhlIGJvZHkgb2YgdGhlIHRvb2x0aXBcbiAqL1xuY29uc3QgaGlkZVRvb2xUaXAgPSAodG9vbHRpcEJvZHkpID0+IHtcbiAgdG9vbHRpcEJvZHkuY2xhc3NMaXN0LnJlbW92ZShWSVNJQkxFX0NMQVNTKTtcbiAgdG9vbHRpcEJvZHkuY2xhc3NMaXN0LnJlbW92ZShTRVRfQ0xBU1MpO1xuICB0b29sdGlwQm9keS5jbGFzc0xpc3QucmVtb3ZlKEFESlVTVF9XSURUSF9DTEFTUyk7XG4gIHRvb2x0aXBCb2R5LnNldEF0dHJpYnV0ZShcImFyaWEtaGlkZGVuXCIsIFwidHJ1ZVwiKTtcbn07XG5cbi8qKlxuICogU2V0dXAgdGhlIHRvb2x0aXAgY29tcG9uZW50XG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSB0b29sdGlwVHJpZ2dlciBUaGUgZWxlbWVudCB0aGF0IGNyZWF0ZXMgdGhlIHRvb2x0aXBcbiAqL1xuY29uc3Qgc2V0VXBBdHRyaWJ1dGVzID0gKHRvb2x0aXBUcmlnZ2VyKSA9PiB7XG4gIGNvbnN0IHRvb2x0aXBJRCA9IGB0b29sdGlwLSR7TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogOTAwMDAwKSArIDEwMDAwMH1gO1xuICBjb25zdCB0b29sdGlwQ29udGVudCA9IHRvb2x0aXBUcmlnZ2VyLmdldEF0dHJpYnV0ZShcInRpdGxlXCIpO1xuICBjb25zdCB3cmFwcGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInNwYW5cIik7XG4gIGNvbnN0IHRvb2x0aXBCb2R5ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInNwYW5cIik7XG4gIGNvbnN0IGFkZGl0aW9uYWxDbGFzc2VzID0gdG9vbHRpcFRyaWdnZXIuZ2V0QXR0cmlidXRlKFwiZGF0YS1jbGFzc2VzXCIpO1xuICBsZXQgcG9zaXRpb24gPSB0b29sdGlwVHJpZ2dlci5nZXRBdHRyaWJ1dGUoXCJkYXRhLXBvc2l0aW9uXCIpO1xuXG4gIC8vIEFwcGx5IGRlZmF1bHQgcG9zaXRpb24gaWYgbm90IHNldCBhcyBhdHRyaWJ1dGVcbiAgaWYgKCFwb3NpdGlvbikge1xuICAgIHBvc2l0aW9uID0gXCJ0b3BcIjtcbiAgICB0b29sdGlwVHJpZ2dlci5zZXRBdHRyaWJ1dGUoXCJkYXRhLXBvc2l0aW9uXCIsIHBvc2l0aW9uKTtcbiAgfVxuXG4gIC8vIFNldCB1cCB0b29sdGlwIGF0dHJpYnV0ZXNcbiAgdG9vbHRpcFRyaWdnZXIuc2V0QXR0cmlidXRlKFwiYXJpYS1kZXNjcmliZWRieVwiLCB0b29sdGlwSUQpO1xuICB0b29sdGlwVHJpZ2dlci5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLCBcIjBcIik7XG4gIHRvb2x0aXBUcmlnZ2VyLnJlbW92ZUF0dHJpYnV0ZShcInRpdGxlXCIpO1xuICB0b29sdGlwVHJpZ2dlci5jbGFzc0xpc3QucmVtb3ZlKFRPT0xUSVBfQ0xBU1MpO1xuICB0b29sdGlwVHJpZ2dlci5jbGFzc0xpc3QuYWRkKFRPT0xUSVBfVFJJR0dFUl9DTEFTUyk7XG5cbiAgLy8gaW5zZXJ0IHdyYXBwZXIgYmVmb3JlIGVsIGluIHRoZSBET00gdHJlZVxuICB0b29sdGlwVHJpZ2dlci5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh3cmFwcGVyLCB0b29sdGlwVHJpZ2dlcik7XG5cbiAgLy8gc2V0IHVwIHRoZSB3cmFwcGVyXG4gIHdyYXBwZXIuYXBwZW5kQ2hpbGQodG9vbHRpcFRyaWdnZXIpO1xuICB3cmFwcGVyLmNsYXNzTGlzdC5hZGQoVE9PTFRJUF9DTEFTUyk7XG4gIHdyYXBwZXIuYXBwZW5kQ2hpbGQodG9vbHRpcEJvZHkpO1xuXG4gIC8vIEFwcGx5IGFkZGl0aW9uYWwgY2xhc3MgbmFtZXMgdG8gd3JhcHBlciBlbGVtZW50XG4gIGlmIChhZGRpdGlvbmFsQ2xhc3Nlcykge1xuICAgIGNvbnN0IGNsYXNzZXNBcnJheSA9IGFkZGl0aW9uYWxDbGFzc2VzLnNwbGl0KFwiIFwiKTtcbiAgICBjbGFzc2VzQXJyYXkuZm9yRWFjaCgoY2xhc3NuYW1lKSA9PiB3cmFwcGVyLmNsYXNzTGlzdC5hZGQoY2xhc3NuYW1lKSk7XG4gIH1cblxuICAvLyBzZXQgdXAgdGhlIHRvb2x0aXAgYm9keVxuICB0b29sdGlwQm9keS5jbGFzc0xpc3QuYWRkKFRPT0xUSVBfQk9EWV9DTEFTUyk7XG4gIHRvb2x0aXBCb2R5LnNldEF0dHJpYnV0ZShcImlkXCIsIHRvb2x0aXBJRCk7XG4gIHRvb2x0aXBCb2R5LnNldEF0dHJpYnV0ZShcInJvbGVcIiwgXCJ0b29sdGlwXCIpO1xuICB0b29sdGlwQm9keS5zZXRBdHRyaWJ1dGUoXCJhcmlhLWhpZGRlblwiLCBcInRydWVcIik7XG5cbiAgLy8gcGxhY2UgdGhlIHRleHQgaW4gdGhlIHRvb2x0aXBcbiAgdG9vbHRpcEJvZHkudGV4dENvbnRlbnQgPSB0b29sdGlwQ29udGVudDtcblxuICByZXR1cm4geyB0b29sdGlwQm9keSwgcG9zaXRpb24sIHRvb2x0aXBDb250ZW50LCB3cmFwcGVyIH07XG59O1xuXG4vKipcbiAqIEhpZGUgYWxsIGFjdGl2ZSB0b29sdGlwcyB3aGVuIGVzY2FwZSBrZXkgaXMgcHJlc3NlZC5cbiAqL1xuXG5jb25zdCBoYW5kbGVFc2NhcGUgPSAoKSA9PiB7XG4gIGNvbnN0IGFjdGl2ZVRvb2x0aXBzID0gc2VsZWN0T3JNYXRjaGVzKGAuJHtUT09MVElQX0JPRFlfQ0xBU1N9LiR7U0VUX0NMQVNTfWApO1xuXG4gIGlmICghYWN0aXZlVG9vbHRpcHMpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBhY3RpdmVUb29sdGlwcy5mb3JFYWNoKChhY3RpdmVUb29sdGlwKSA9PiBoaWRlVG9vbFRpcChhY3RpdmVUb29sdGlwKSk7XG59O1xuXG4vLyBTZXR1cCBvdXIgZnVuY3Rpb24gdG8gcnVuIG9uIHZhcmlvdXMgZXZlbnRzXG5jb25zdCB0b29sdGlwID0gYmVoYXZpb3IoXG4gIHtcbiAgICBcIm1vdXNlb3ZlciBmb2N1c2luXCI6IHtcbiAgICAgIFtUT09MVElQXShlKSB7XG4gICAgICAgIGNvbnN0IHRyaWdnZXIgPSBlLnRhcmdldDtcbiAgICAgICAgY29uc3QgZWxlbWVudFR5cGUgPSB0cmlnZ2VyLm5vZGVOYW1lO1xuXG4gICAgICAgIC8vIEluaXRpYWxpemUgdG9vbHRpcCBpZiBpdCBoYXNuJ3QgYWxyZWFkeVxuICAgICAgICBpZiAoZWxlbWVudFR5cGUgPT09IFwiQlVUVE9OXCIgJiYgdHJpZ2dlci5oYXNBdHRyaWJ1dGUoXCJ0aXRsZVwiKSkge1xuICAgICAgICAgIHNldFVwQXR0cmlidXRlcyh0cmlnZ2VyKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFtUT09MVElQX1RSSUdHRVJdKGUpIHtcbiAgICAgICAgY29uc3QgeyB0cmlnZ2VyLCBib2R5IH0gPSBnZXRUb29sdGlwRWxlbWVudHMoZS50YXJnZXQpO1xuXG4gICAgICAgIHNob3dUb29sVGlwKGJvZHksIHRyaWdnZXIsIHRyaWdnZXIuZGF0YXNldC5wb3NpdGlvbik7XG4gICAgICB9LFxuICAgIH0sXG4gICAgZm9jdXNvdXQ6IHtcbiAgICAgIFtUT09MVElQX1RSSUdHRVJdKGUpIHtcbiAgICAgICAgY29uc3QgeyBib2R5IH0gPSBnZXRUb29sdGlwRWxlbWVudHMoZS50YXJnZXQpO1xuXG4gICAgICAgIGhpZGVUb29sVGlwKGJvZHkpO1xuICAgICAgfSxcbiAgICB9LFxuICAgIGtleWRvd246IHtcbiAgICAgIFtCT0RZXToga2V5bWFwKHsgRXNjYXBlOiBoYW5kbGVFc2NhcGUgfSksXG4gICAgfSxcbiAgfSxcbiAge1xuICAgIGluaXQocm9vdCkge1xuICAgICAgc2VsZWN0T3JNYXRjaGVzKFRPT0xUSVAsIHJvb3QpLmZvckVhY2goKHRvb2x0aXBUcmlnZ2VyKSA9PiB7XG4gICAgICAgIHNldFVwQXR0cmlidXRlcyh0b29sdGlwVHJpZ2dlcik7XG5cbiAgICAgICAgY29uc3QgeyBib2R5LCB3cmFwcGVyIH0gPSBnZXRUb29sdGlwRWxlbWVudHModG9vbHRpcFRyaWdnZXIpO1xuICAgICAgICB3cmFwcGVyLmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZWxlYXZlXCIsICgpID0+IGhpZGVUb29sVGlwKGJvZHkpKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgdGVhcmRvd24ocm9vdCkge1xuICAgICAgc2VsZWN0T3JNYXRjaGVzKFRPT0xUSVAsIHJvb3QpLmZvckVhY2goKHRvb2x0aXBXcmFwcGVyKSA9PiB7XG4gICAgICAgIHRvb2x0aXBXcmFwcGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZWxlYXZlXCIsIGhpZGVUb29sVGlwKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgc2V0dXA6IHNldFVwQXR0cmlidXRlcyxcbiAgICBnZXRUb29sdGlwRWxlbWVudHMsXG4gICAgc2hvdzogc2hvd1Rvb2xUaXAsXG4gICAgaGlkZTogaGlkZVRvb2xUaXAsXG4gIH0sXG4pO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHRvb2x0aXA7XG4iLCJjb25zdCBiZWhhdmlvciA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9iZWhhdmlvclwiKTtcbmNvbnN0IHZhbGlkYXRlID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3ZhbGlkYXRlLWlucHV0XCIpO1xuY29uc3QgeyBwcmVmaXg6IFBSRUZJWCB9ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL2NvbmZpZ1wiKTtcbmNvbnN0IHNlbGVjdE9yTWF0Y2hlcyA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9zZWxlY3Qtb3ItbWF0Y2hlc1wiKTtcblxuY29uc3QgVkFMSURBVEVfSU5QVVQgPVxuICBcImlucHV0W2RhdGEtdmFsaWRhdGlvbi1lbGVtZW50XSx0ZXh0YXJlYVtkYXRhLXZhbGlkYXRpb24tZWxlbWVudF1cIjtcbmNvbnN0IENIRUNLTElTVF9JVEVNID0gYC4ke1BSRUZJWH0tY2hlY2tsaXN0X19pdGVtYDtcblxuLy8gVHJpZ2dlciB2YWxpZGF0aW9uIG9uIGlucHV0IGNoYW5nZVxuY29uc3QgaGFuZGxlQ2hhbmdlID0gKGVsKSA9PiB2YWxpZGF0ZShlbCk7XG5cbi8vIENyZWF0ZSBjb250YWluZXIgdG8gaG9sZCBhcmlhIHJlYWRvdXRcbmNvbnN0IGNyZWF0ZVN0YXR1c0VsZW1lbnQgPSAoaW5wdXQpID0+IHtcbiAgY29uc3QgdmFsaWRhdGlvbkNvbnRhaW5lciA9IGlucHV0LnBhcmVudE5vZGU7XG4gIGNvbnN0IGlucHV0SUQgPSBpbnB1dC5nZXRBdHRyaWJ1dGUoXCJpZFwiKTtcbiAgY29uc3Qgc3RhdHVzU3VtbWFyeUlEID0gYCR7aW5wdXRJRH0tc3Itc3VtbWFyeWA7XG4gIGlucHV0LnNldEF0dHJpYnV0ZShcImFyaWEtZGVzY3JpYmVkYnlcIiwgc3RhdHVzU3VtbWFyeUlEKTtcblxuICBjb25zdCBzdGF0dXNTdW1tYXJ5Q29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInNwYW5cIik7XG5cbiAgc3RhdHVzU3VtbWFyeUNvbnRhaW5lci5zZXRBdHRyaWJ1dGUoXCJkYXRhLXZhbGlkYXRpb24tc3RhdHVzXCIsIFwiXCIpO1xuICBzdGF0dXNTdW1tYXJ5Q29udGFpbmVyLmNsYXNzTGlzdC5hZGQoXCJ1c2Etc3Itb25seVwiKTtcbiAgc3RhdHVzU3VtbWFyeUNvbnRhaW5lci5zZXRBdHRyaWJ1dGUoXCJhcmlhLWxpdmVcIiwgXCJwb2xpdGVcIik7XG4gIHN0YXR1c1N1bW1hcnlDb250YWluZXIuc2V0QXR0cmlidXRlKFwiYXJpYS1hdG9taWNcIiwgdHJ1ZSk7XG4gIHN0YXR1c1N1bW1hcnlDb250YWluZXIuc2V0QXR0cmlidXRlKFwiaWRcIiwgc3RhdHVzU3VtbWFyeUlEKTtcbiAgdmFsaWRhdGlvbkNvbnRhaW5lci5hcHBlbmQoc3RhdHVzU3VtbWFyeUNvbnRhaW5lcik7XG59O1xuXG4vLyBTZXQgdXAgY2hlY2tsaXN0IGl0ZW1zIHdpdGggaW5pdGlhbCBhcmlhLWxhYmVsIChpbmNvbXBsZXRlKSB2YWx1ZXNcbmNvbnN0IGNyZWF0ZUluaXRpYWxTdGF0dXMgPSAoaW5wdXQpID0+IHtcbiAgY29uc3QgdmFsaWRhdGlvbkNvbnRhaW5lciA9IGlucHV0LnBhcmVudE5vZGU7XG4gIGNvbnN0IGNoZWNrbGlzdEl0ZW1zID0gdmFsaWRhdGlvbkNvbnRhaW5lci5xdWVyeVNlbGVjdG9yQWxsKENIRUNLTElTVF9JVEVNKTtcbiAgY29uc3QgdmFsaWRhdGlvbkVsZW1lbnQgPSBpbnB1dC5nZXRBdHRyaWJ1dGUoXCJkYXRhLXZhbGlkYXRpb24tZWxlbWVudFwiKTtcblxuICBpbnB1dC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWNvbnRyb2xzXCIsIHZhbGlkYXRpb25FbGVtZW50KTtcblxuICBjaGVja2xpc3RJdGVtcy5mb3JFYWNoKChsaXN0SXRlbSkgPT4ge1xuICAgIGxldCBjdXJyZW50U3RhdHVzID0gXCJzdGF0dXMgaW5jb21wbGV0ZVwiO1xuICAgIGlmIChpbnB1dC5oYXNBdHRyaWJ1dGUoXCJkYXRhLXZhbGlkYXRpb24taW5jb21wbGV0ZVwiKSkge1xuICAgICAgY3VycmVudFN0YXR1cyA9IGlucHV0LmdldEF0dHJpYnV0ZShcImRhdGEtdmFsaWRhdGlvbi1pbmNvbXBsZXRlXCIpO1xuICAgIH1cbiAgICBjb25zdCBpdGVtU3RhdHVzID0gYCR7bGlzdEl0ZW0udGV4dENvbnRlbnR9ICR7Y3VycmVudFN0YXR1c30gYDtcbiAgICBsaXN0SXRlbS5zZXRBdHRyaWJ1dGUoXCJhcmlhLWxhYmVsXCIsIGl0ZW1TdGF0dXMpO1xuICB9KTtcbn07XG5cbmNvbnN0IGVuaGFuY2VWYWxpZGF0aW9uID0gKGlucHV0KSA9PiB7XG4gIGNyZWF0ZVN0YXR1c0VsZW1lbnQoaW5wdXQpO1xuICBjcmVhdGVJbml0aWFsU3RhdHVzKGlucHV0KTtcbn07XG5cbmNvbnN0IHZhbGlkYXRvciA9IGJlaGF2aW9yKFxuICB7XG4gICAgXCJpbnB1dCBjaGFuZ2VcIjoge1xuICAgICAgW1ZBTElEQVRFX0lOUFVUXShldmVudCkge1xuICAgICAgICBoYW5kbGVDaGFuZ2UoZXZlbnQudGFyZ2V0KTtcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbiAge1xuICAgIGluaXQocm9vdCkge1xuICAgICAgc2VsZWN0T3JNYXRjaGVzKFZBTElEQVRFX0lOUFVULCByb290KS5mb3JFYWNoKChpbnB1dCkgPT5cbiAgICAgICAgZW5oYW5jZVZhbGlkYXRpb24oaW5wdXQpLFxuICAgICAgKTtcbiAgICB9LFxuICB9LFxuKTtcblxubW9kdWxlLmV4cG9ydHMgPSB2YWxpZGF0b3I7XG4iLCJtb2R1bGUuZXhwb3J0cyA9IHtcbiAgcHJlZml4OiBcInVzYVwiLFxufTtcbiIsIm1vZHVsZS5leHBvcnRzID0ge1xuICAvLyBUaGlzIHVzZWQgdG8gYmUgY29uZGl0aW9uYWxseSBkZXBlbmRlbnQgb24gd2hldGhlciB0aGVcbiAgLy8gYnJvd3NlciBzdXBwb3J0ZWQgdG91Y2ggZXZlbnRzOyBpZiBpdCBkaWQsIGBDTElDS2Agd2FzIHNldCB0b1xuICAvLyBgdG91Y2hzdGFydGAuICBIb3dldmVyLCB0aGlzIGhhZCBkb3duc2lkZXM6XG4gIC8vXG4gIC8vICogSXQgcHJlLWVtcHRlZCBtb2JpbGUgYnJvd3NlcnMnIGRlZmF1bHQgYmVoYXZpb3Igb2YgZGV0ZWN0aW5nXG4gIC8vICAgd2hldGhlciBhIHRvdWNoIHR1cm5lZCBpbnRvIGEgc2Nyb2xsLCB0aGVyZWJ5IHByZXZlbnRpbmdcbiAgLy8gICB1c2VycyBmcm9tIHVzaW5nIHNvbWUgb2Ygb3VyIGNvbXBvbmVudHMgYXMgc2Nyb2xsIHN1cmZhY2VzLlxuICAvL1xuICAvLyAqIFNvbWUgZGV2aWNlcywgc3VjaCBhcyB0aGUgTWljcm9zb2Z0IFN1cmZhY2UgUHJvLCBzdXBwb3J0ICpib3RoKlxuICAvLyAgIHRvdWNoIGFuZCBjbGlja3MuIFRoaXMgbWVhbnQgdGhlIGNvbmRpdGlvbmFsIGVmZmVjdGl2ZWx5IGRyb3BwZWRcbiAgLy8gICBzdXBwb3J0IGZvciB0aGUgdXNlcidzIG1vdXNlLCBmcnVzdHJhdGluZyB1c2VycyB3aG8gcHJlZmVycmVkXG4gIC8vICAgaXQgb24gdGhvc2Ugc3lzdGVtcy5cbiAgQ0xJQ0s6IFwiY2xpY2tcIixcbn07XG4iLCJjb25zdCBhY2NvcmRpb24gPSByZXF1aXJlKFwiLi4vLi4vLi4vdXNhLWFjY29yZGlvbi9zcmMvaW5kZXhcIik7XG5jb25zdCBiYW5uZXIgPSByZXF1aXJlKFwiLi4vLi4vLi4vdXNhLWJhbm5lci9zcmMvaW5kZXhcIik7XG5jb25zdCBidXR0b24gPSByZXF1aXJlKFwiLi4vLi4vLi4vdXNhLWJ1dHRvbi9zcmMvaW5kZXhcIik7XG5jb25zdCBjaGFyYWN0ZXJDb3VudCA9IHJlcXVpcmUoXCIuLi8uLi8uLi91c2EtY2hhcmFjdGVyLWNvdW50L3NyYy9pbmRleFwiKTtcbmNvbnN0IGNvbWJvQm94ID0gcmVxdWlyZShcIi4uLy4uLy4uL3VzYS1jb21iby1ib3gvc3JjL2luZGV4XCIpO1xuY29uc3QgZGF0ZVBpY2tlciA9IHJlcXVpcmUoXCIuLi8uLi8uLi91c2EtZGF0ZS1waWNrZXIvc3JjL2luZGV4XCIpO1xuY29uc3QgZGF0ZVJhbmdlUGlja2VyID0gcmVxdWlyZShcIi4uLy4uLy4uL3VzYS1kYXRlLXJhbmdlLXBpY2tlci9zcmMvaW5kZXhcIik7XG5jb25zdCBmaWxlSW5wdXQgPSByZXF1aXJlKFwiLi4vLi4vLi4vdXNhLWZpbGUtaW5wdXQvc3JjL2luZGV4XCIpO1xuY29uc3QgZm9vdGVyID0gcmVxdWlyZShcIi4uLy4uLy4uL3VzYS1mb290ZXIvc3JjL2luZGV4XCIpO1xuY29uc3QgaW5QYWdlTmF2aWdhdGlvbiA9IHJlcXVpcmUoXCIuLi8uLi8uLi91c2EtaW4tcGFnZS1uYXZpZ2F0aW9uL3NyYy9pbmRleFwiKTtcbmNvbnN0IGlucHV0TWFzayA9IHJlcXVpcmUoXCIuLi8uLi8uLi91c2EtaW5wdXQtbWFzay9zcmMvaW5kZXhcIik7XG5jb25zdCBsYW5ndWFnZVNlbGVjdG9yID0gcmVxdWlyZShcIi4uLy4uLy4uL3VzYS1sYW5ndWFnZS1zZWxlY3Rvci9zcmMvaW5kZXhcIik7XG5jb25zdCBtb2RhbCA9IHJlcXVpcmUoXCIuLi8uLi8uLi91c2EtbW9kYWwvc3JjL2luZGV4XCIpO1xuY29uc3QgbmF2aWdhdGlvbiA9IHJlcXVpcmUoXCIuLi8uLi8uLi91c2EtaGVhZGVyL3NyYy9pbmRleFwiKTtcbmNvbnN0IHBhc3N3b3JkID0gcmVxdWlyZShcIi4uLy4uLy4uL191c2EtcGFzc3dvcmQvc3JjL2luZGV4XCIpO1xuY29uc3QgcmFuZ2UgPSByZXF1aXJlKFwiLi4vLi4vLi4vdXNhLXJhbmdlL3NyYy9pbmRleFwiKTtcbmNvbnN0IHNlYXJjaCA9IHJlcXVpcmUoXCIuLi8uLi8uLi91c2Etc2VhcmNoL3NyYy9pbmRleFwiKTtcbmNvbnN0IHNraXBuYXYgPSByZXF1aXJlKFwiLi4vLi4vLi4vdXNhLXNraXBuYXYvc3JjL2luZGV4XCIpO1xuY29uc3QgdGFibGUgPSByZXF1aXJlKFwiLi4vLi4vLi4vdXNhLXRhYmxlL3NyYy9pbmRleFwiKTtcbmNvbnN0IHRpbWVQaWNrZXIgPSByZXF1aXJlKFwiLi4vLi4vLi4vdXNhLXRpbWUtcGlja2VyL3NyYy9pbmRleFwiKTtcbmNvbnN0IHRvb2x0aXAgPSByZXF1aXJlKFwiLi4vLi4vLi4vdXNhLXRvb2x0aXAvc3JjL2luZGV4XCIpO1xuY29uc3QgdmFsaWRhdG9yID0gcmVxdWlyZShcIi4uLy4uLy4uL3VzYS12YWxpZGF0aW9uL3NyYy9pbmRleFwiKTtcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIGFjY29yZGlvbixcbiAgYmFubmVyLFxuICBidXR0b24sXG4gIGNoYXJhY3RlckNvdW50LFxuICBjb21ib0JveCxcbiAgZGF0ZVBpY2tlcixcbiAgZGF0ZVJhbmdlUGlja2VyLFxuICBmaWxlSW5wdXQsXG4gIGZvb3RlcixcbiAgaW5QYWdlTmF2aWdhdGlvbixcbiAgaW5wdXRNYXNrLFxuICBsYW5ndWFnZVNlbGVjdG9yLFxuICBtb2RhbCxcbiAgbmF2aWdhdGlvbixcbiAgcGFzc3dvcmQsXG4gIHJhbmdlLFxuICBzZWFyY2gsXG4gIHNraXBuYXYsXG4gIHRhYmxlLFxuICB0aW1lUGlja2VyLFxuICB0b29sdGlwLFxuICB2YWxpZGF0b3IsXG59O1xuIiwiLyogZXNsaW50LWRpc2FibGUgY29uc2lzdGVudC1yZXR1cm4gKi9cbi8qIGVzbGludC1kaXNhYmxlIGZ1bmMtbmFtZXMgKi9cbihmdW5jdGlvbiAoKSB7XG4gIGlmICh0eXBlb2Ygd2luZG93LkN1c3RvbUV2ZW50ID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBmYWxzZTtcblxuICBmdW5jdGlvbiBDdXN0b21FdmVudChldmVudCwgX3BhcmFtcykge1xuICAgIGNvbnN0IHBhcmFtcyA9IF9wYXJhbXMgfHwge1xuICAgICAgYnViYmxlczogZmFsc2UsXG4gICAgICBjYW5jZWxhYmxlOiBmYWxzZSxcbiAgICAgIGRldGFpbDogbnVsbCxcbiAgICB9O1xuICAgIGNvbnN0IGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KFwiQ3VzdG9tRXZlbnRcIik7XG4gICAgZXZ0LmluaXRDdXN0b21FdmVudChcbiAgICAgIGV2ZW50LFxuICAgICAgcGFyYW1zLmJ1YmJsZXMsXG4gICAgICBwYXJhbXMuY2FuY2VsYWJsZSxcbiAgICAgIHBhcmFtcy5kZXRhaWwsXG4gICAgKTtcbiAgICByZXR1cm4gZXZ0O1xuICB9XG5cbiAgd2luZG93LkN1c3RvbUV2ZW50ID0gQ3VzdG9tRXZlbnQ7XG59KSgpO1xuIiwiY29uc3QgZWxwcm90byA9IHdpbmRvdy5IVE1MRWxlbWVudC5wcm90b3R5cGU7XG5jb25zdCBISURERU4gPSBcImhpZGRlblwiO1xuXG5pZiAoIShISURERU4gaW4gZWxwcm90bykpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVscHJvdG8sIEhJRERFTiwge1xuICAgIGdldCgpIHtcbiAgICAgIHJldHVybiB0aGlzLmhhc0F0dHJpYnV0ZShISURERU4pO1xuICAgIH0sXG4gICAgc2V0KHZhbHVlKSB7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoSElEREVOLCBcIlwiKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKEhJRERFTik7XG4gICAgICB9XG4gICAgfSxcbiAgfSk7XG59XG4iLCIvLyBwb2x5ZmlsbHMgSFRNTEVsZW1lbnQucHJvdG90eXBlLmNsYXNzTGlzdCBhbmQgRE9NVG9rZW5MaXN0XG5yZXF1aXJlKFwiY2xhc3NsaXN0LXBvbHlmaWxsXCIpO1xuLy8gcG9seWZpbGxzIEhUTUxFbGVtZW50LnByb3RvdHlwZS5oaWRkZW5cbnJlcXVpcmUoXCIuL2VsZW1lbnQtaGlkZGVuXCIpO1xuLy8gcG9seWZpbGxzIE51bWJlci5pc05hTigpXG5yZXF1aXJlKFwiLi9udW1iZXItaXMtbmFuXCIpO1xuLy8gcG9seWZpbGxzIEN1c3RvbUV2ZW50XG5yZXF1aXJlKFwiLi9jdXN0b20tZXZlbnRcIik7XG4vLyBwb2x5ZmlsbHMgc3ZnNGV2ZXJ5Ym9keVxucmVxdWlyZShcIi4vc3ZnNGV2ZXJ5Ym9keVwiKTtcbiIsIk51bWJlci5pc05hTiA9XG4gIE51bWJlci5pc05hTiB8fFxuICBmdW5jdGlvbiBpc05hTihpbnB1dCkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAgICByZXR1cm4gdHlwZW9mIGlucHV0ID09PSBcIm51bWJlclwiICYmIGlucHV0ICE9PSBpbnB1dDtcbiAgfTtcbiIsIi8qIGVzbGludC1kaXNhYmxlICovXG4hKGZ1bmN0aW9uIChmYWN0b3J5KSB7XG4gIG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgpO1xufSkoZnVuY3Rpb24gKCkge1xuICAvKiEgc3ZnNGV2ZXJ5Ym9keSB2Mi4xLjkgfCBnaXRodWIuY29tL2pvbmF0aGFudG5lYWwvc3ZnNGV2ZXJ5Ym9keSAqL1xuICBmdW5jdGlvbiBlbWJlZChwYXJlbnQsIHN2ZywgdGFyZ2V0LCB1c2UpIHtcbiAgICAvLyBpZiB0aGUgdGFyZ2V0IGV4aXN0c1xuICAgIGlmICh0YXJnZXQpIHtcbiAgICAgIC8vIGNyZWF0ZSBhIGRvY3VtZW50IGZyYWdtZW50IHRvIGhvbGQgdGhlIGNvbnRlbnRzIG9mIHRoZSB0YXJnZXRcbiAgICAgIHZhciBmcmFnbWVudCA9IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxcbiAgICAgICAgdmlld0JveCA9XG4gICAgICAgICAgIXN2Zy5oYXNBdHRyaWJ1dGUoXCJ2aWV3Qm94XCIpICYmIHRhcmdldC5nZXRBdHRyaWJ1dGUoXCJ2aWV3Qm94XCIpO1xuICAgICAgLy8gY29uZGl0aW9uYWxseSBzZXQgdGhlIHZpZXdCb3ggb24gdGhlIHN2Z1xuICAgICAgdmlld0JveCAmJiBzdmcuc2V0QXR0cmlidXRlKFwidmlld0JveFwiLCB2aWV3Qm94KTtcbiAgICAgIC8vIGNvcHkgdGhlIGNvbnRlbnRzIG9mIHRoZSBjbG9uZSBpbnRvIHRoZSBmcmFnbWVudFxuICAgICAgZm9yIChcbiAgICAgICAgLy8gY2xvbmUgdGhlIHRhcmdldFxuICAgICAgICB2YXIgY2xvbmUgPSBkb2N1bWVudC5pbXBvcnROb2RlXG4gICAgICAgICAgICA/IGRvY3VtZW50LmltcG9ydE5vZGUodGFyZ2V0LCAhMClcbiAgICAgICAgICAgIDogdGFyZ2V0LmNsb25lTm9kZSghMCksXG4gICAgICAgICAgZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhcbiAgICAgICAgICAgIHN2Zy5uYW1lc3BhY2VVUkkgfHwgXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLFxuICAgICAgICAgICAgXCJnXCIsXG4gICAgICAgICAgKTtcbiAgICAgICAgY2xvbmUuY2hpbGROb2Rlcy5sZW5ndGg7XG5cbiAgICAgICkge1xuICAgICAgICBnLmFwcGVuZENoaWxkKGNsb25lLmZpcnN0Q2hpbGQpO1xuICAgICAgfVxuICAgICAgaWYgKHVzZSkge1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgdXNlLmF0dHJpYnV0ZXMubGVuZ3RoID4gaTsgaSsrKSB7XG4gICAgICAgICAgdmFyIGF0dHIgPSB1c2UuYXR0cmlidXRlc1tpXTtcbiAgICAgICAgICBcInhsaW5rOmhyZWZcIiAhPT0gYXR0ci5uYW1lICYmXG4gICAgICAgICAgICBcImhyZWZcIiAhPT0gYXR0ci5uYW1lICYmXG4gICAgICAgICAgICBnLnNldEF0dHJpYnV0ZShhdHRyLm5hbWUsIGF0dHIudmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBmcmFnbWVudC5hcHBlbmRDaGlsZChnKSwgLy8gYXBwZW5kIHRoZSBmcmFnbWVudCBpbnRvIHRoZSBzdmdcbiAgICAgICAgcGFyZW50LmFwcGVuZENoaWxkKGZyYWdtZW50KTtcbiAgICB9XG4gIH1cbiAgZnVuY3Rpb24gbG9hZHJlYWR5c3RhdGVjaGFuZ2UoeGhyLCB1c2UpIHtcbiAgICAvLyBsaXN0ZW4gdG8gY2hhbmdlcyBpbiB0aGUgcmVxdWVzdFxuICAgICh4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24gKCkge1xuICAgICAgLy8gaWYgdGhlIHJlcXVlc3QgaXMgcmVhZHlcbiAgICAgIGlmICg0ID09PSB4aHIucmVhZHlTdGF0ZSkge1xuICAgICAgICAvLyBnZXQgdGhlIGNhY2hlZCBodG1sIGRvY3VtZW50XG4gICAgICAgIHZhciBjYWNoZWREb2N1bWVudCA9IHhoci5fY2FjaGVkRG9jdW1lbnQ7XG4gICAgICAgIC8vIGVuc3VyZSB0aGUgY2FjaGVkIGh0bWwgZG9jdW1lbnQgYmFzZWQgb24gdGhlIHhociByZXNwb25zZVxuICAgICAgICBjYWNoZWREb2N1bWVudCB8fFxuICAgICAgICAgICgoY2FjaGVkRG9jdW1lbnQgPSB4aHIuX2NhY2hlZERvY3VtZW50ID1cbiAgICAgICAgICAgIGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudChcIlwiKSksXG4gICAgICAgICAgKGNhY2hlZERvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0geGhyLnJlc3BvbnNlVGV4dCksIC8vIGVuc3VyZSBkb21haW5zIGFyZSB0aGUgc2FtZSwgb3RoZXJ3aXNlIHdlJ2xsIGhhdmUgaXNzdWVzIGFwcGVuZGluZyB0aGVcbiAgICAgICAgICAvLyBlbGVtZW50IGluIElFIDExXG4gICAgICAgICAgY2FjaGVkRG9jdW1lbnQuZG9tYWluICE9PSBkb2N1bWVudC5kb21haW4gJiZcbiAgICAgICAgICAgIChjYWNoZWREb2N1bWVudC5kb21haW4gPSBkb2N1bWVudC5kb21haW4pLFxuICAgICAgICAgICh4aHIuX2NhY2hlZFRhcmdldCA9IHt9KSksIC8vIGNsZWFyIHRoZSB4aHIgZW1iZWRzIGxpc3QgYW5kIGVtYmVkIGVhY2ggaXRlbVxuICAgICAgICAgIHhoci5fZW1iZWRzLnNwbGljZSgwKS5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgICAgICAgIC8vIGdldCB0aGUgY2FjaGVkIHRhcmdldFxuICAgICAgICAgICAgdmFyIHRhcmdldCA9IHhoci5fY2FjaGVkVGFyZ2V0W2l0ZW0uaWRdO1xuICAgICAgICAgICAgLy8gZW5zdXJlIHRoZSBjYWNoZWQgdGFyZ2V0XG4gICAgICAgICAgICB0YXJnZXQgfHxcbiAgICAgICAgICAgICAgKHRhcmdldCA9IHhoci5fY2FjaGVkVGFyZ2V0W2l0ZW0uaWRdID1cbiAgICAgICAgICAgICAgICBjYWNoZWREb2N1bWVudC5nZXRFbGVtZW50QnlJZChpdGVtLmlkKSksXG4gICAgICAgICAgICAgIC8vIGVtYmVkIHRoZSB0YXJnZXQgaW50byB0aGUgc3ZnXG4gICAgICAgICAgICAgIGVtYmVkKGl0ZW0ucGFyZW50LCBpdGVtLnN2ZywgdGFyZ2V0LCB1c2UpO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pLCAvLyB0ZXN0IHRoZSByZWFkeSBzdGF0ZSBjaGFuZ2UgaW1tZWRpYXRlbHlcbiAgICAgIHhoci5vbnJlYWR5c3RhdGVjaGFuZ2UoKTtcbiAgfVxuICBmdW5jdGlvbiBzdmc0ZXZlcnlib2R5KHJhd29wdHMpIHtcbiAgICBmdW5jdGlvbiBvbmludGVydmFsKCkge1xuICAgICAgLy8gaWYgYWxsIDx1c2U+cyBpbiB0aGUgYXJyYXkgYXJlIGJlaW5nIGJ5cGFzc2VkLCBkb24ndCBwcm9jZWVkLlxuICAgICAgaWYgKFxuICAgICAgICBudW1iZXJPZlN2Z1VzZUVsZW1lbnRzVG9CeXBhc3MgJiZcbiAgICAgICAgdXNlcy5sZW5ndGggLSBudW1iZXJPZlN2Z1VzZUVsZW1lbnRzVG9CeXBhc3MgPD0gMFxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiB2b2lkIHJlcXVlc3RBbmltYXRpb25GcmFtZShvbmludGVydmFsLCA2Nyk7XG4gICAgICB9XG4gICAgICAvLyBpZiB0aGVyZSBhcmUgPHVzZT5zIHRvIHByb2Nlc3MsIHByb2NlZWQuXG4gICAgICAvLyByZXNldCB0aGUgYnlwYXNzIGNvdW50ZXIsIHNpbmNlIHRoZSBjb3VudGVyIHdpbGwgYmUgaW5jcmVtZW50ZWQgZm9yIGV2ZXJ5IGJ5cGFzc2VkIGVsZW1lbnQsXG4gICAgICAvLyBldmVuIG9uZXMgdGhhdCB3ZXJlIGNvdW50ZWQgYmVmb3JlLlxuICAgICAgbnVtYmVyT2ZTdmdVc2VFbGVtZW50c1RvQnlwYXNzID0gMDtcbiAgICAgIC8vIHdoaWxlIHRoZSBpbmRleCBleGlzdHMgaW4gdGhlIGxpdmUgPHVzZT4gY29sbGVjdGlvblxuICAgICAgZm9yIChcbiAgICAgICAgLy8gZ2V0IHRoZSBjYWNoZWQgPHVzZT4gaW5kZXhcbiAgICAgICAgdmFyIGluZGV4ID0gMDtcbiAgICAgICAgaW5kZXggPCB1c2VzLmxlbmd0aDtcblxuICAgICAgKSB7XG4gICAgICAgIC8vIGdldCB0aGUgY3VycmVudCA8dXNlPlxuICAgICAgICB2YXIgdXNlID0gdXNlc1tpbmRleF0sXG4gICAgICAgICAgcGFyZW50ID0gdXNlLnBhcmVudE5vZGUsXG4gICAgICAgICAgc3ZnID0gZ2V0U1ZHQW5jZXN0b3IocGFyZW50KSxcbiAgICAgICAgICBzcmMgPSB1c2UuZ2V0QXR0cmlidXRlKFwieGxpbms6aHJlZlwiKSB8fCB1c2UuZ2V0QXR0cmlidXRlKFwiaHJlZlwiKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICghc3JjICYmXG4gICAgICAgICAgICBvcHRzLmF0dHJpYnV0ZU5hbWUgJiZcbiAgICAgICAgICAgIChzcmMgPSB1c2UuZ2V0QXR0cmlidXRlKG9wdHMuYXR0cmlidXRlTmFtZSkpLFxuICAgICAgICAgIHN2ZyAmJiBzcmMpXG4gICAgICAgICkge1xuICAgICAgICAgIGlmIChwb2x5ZmlsbCkge1xuICAgICAgICAgICAgaWYgKCFvcHRzLnZhbGlkYXRlIHx8IG9wdHMudmFsaWRhdGUoc3JjLCBzdmcsIHVzZSkpIHtcbiAgICAgICAgICAgICAgLy8gcmVtb3ZlIHRoZSA8dXNlPiBlbGVtZW50XG4gICAgICAgICAgICAgIHBhcmVudC5yZW1vdmVDaGlsZCh1c2UpO1xuICAgICAgICAgICAgICAvLyBwYXJzZSB0aGUgc3JjIGFuZCBnZXQgdGhlIHVybCBhbmQgaWRcbiAgICAgICAgICAgICAgdmFyIHNyY1NwbGl0ID0gc3JjLnNwbGl0KFwiI1wiKSxcbiAgICAgICAgICAgICAgICB1cmwgPSBzcmNTcGxpdC5zaGlmdCgpLFxuICAgICAgICAgICAgICAgIGlkID0gc3JjU3BsaXQuam9pbihcIiNcIik7XG4gICAgICAgICAgICAgIC8vIGlmIHRoZSBsaW5rIGlzIGV4dGVybmFsXG4gICAgICAgICAgICAgIGlmICh1cmwubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgLy8gZ2V0IHRoZSBjYWNoZWQgeGhyIHJlcXVlc3RcbiAgICAgICAgICAgICAgICB2YXIgeGhyID0gcmVxdWVzdHNbdXJsXTtcbiAgICAgICAgICAgICAgICAvLyBlbnN1cmUgdGhlIHhociByZXF1ZXN0IGV4aXN0c1xuICAgICAgICAgICAgICAgIHhociB8fFxuICAgICAgICAgICAgICAgICAgKCh4aHIgPSByZXF1ZXN0c1t1cmxdID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCkpLFxuICAgICAgICAgICAgICAgICAgeGhyLm9wZW4oXCJHRVRcIiwgdXJsKSxcbiAgICAgICAgICAgICAgICAgIHhoci5zZW5kKCksXG4gICAgICAgICAgICAgICAgICAoeGhyLl9lbWJlZHMgPSBbXSkpLCAvLyBhZGQgdGhlIHN2ZyBhbmQgaWQgYXMgYW4gaXRlbSB0byB0aGUgeGhyIGVtYmVkcyBsaXN0XG4gICAgICAgICAgICAgICAgICB4aHIuX2VtYmVkcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50OiBwYXJlbnQsXG4gICAgICAgICAgICAgICAgICAgIHN2Zzogc3ZnLFxuICAgICAgICAgICAgICAgICAgICBpZDogaWQsXG4gICAgICAgICAgICAgICAgICB9KSwgLy8gcHJlcGFyZSB0aGUgeGhyIHJlYWR5IHN0YXRlIGNoYW5nZSBldmVudFxuICAgICAgICAgICAgICAgICAgbG9hZHJlYWR5c3RhdGVjaGFuZ2UoeGhyLCB1c2UpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIGVtYmVkIHRoZSBsb2NhbCBpZCBpbnRvIHRoZSBzdmdcbiAgICAgICAgICAgICAgICBlbWJlZChwYXJlbnQsIHN2ZywgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpLCB1c2UpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBpbmNyZWFzZSB0aGUgaW5kZXggd2hlbiB0aGUgcHJldmlvdXMgdmFsdWUgd2FzIG5vdCBcInZhbGlkXCJcbiAgICAgICAgICAgICAgKytpbmRleCwgKytudW1iZXJPZlN2Z1VzZUVsZW1lbnRzVG9CeXBhc3M7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIGluY3JlYXNlIHRoZSBpbmRleCB3aGVuIHRoZSBwcmV2aW91cyB2YWx1ZSB3YXMgbm90IFwidmFsaWRcIlxuICAgICAgICAgICsraW5kZXg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIGNvbnRpbnVlIHRoZSBpbnRlcnZhbFxuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKG9uaW50ZXJ2YWwsIDY3KTtcbiAgICB9XG4gICAgdmFyIHBvbHlmaWxsLFxuICAgICAgb3B0cyA9IE9iamVjdChyYXdvcHRzKSxcbiAgICAgIG5ld2VySUVVQSA9IC9cXGJUcmlkZW50XFwvWzU2N11cXGJ8XFxiTVNJRSAoPzo5fDEwKVxcLjBcXGIvLFxuICAgICAgd2Via2l0VUEgPSAvXFxiQXBwbGVXZWJLaXRcXC8oXFxkKylcXGIvLFxuICAgICAgb2xkZXJFZGdlVUEgPSAvXFxiRWRnZVxcLzEyXFwuKFxcZCspXFxiLyxcbiAgICAgIGVkZ2VVQSA9IC9cXGJFZGdlXFwvLihcXGQrKVxcYi8sXG4gICAgICBpbklmcmFtZSA9IHdpbmRvdy50b3AgIT09IHdpbmRvdy5zZWxmO1xuICAgIHBvbHlmaWxsID1cbiAgICAgIFwicG9seWZpbGxcIiBpbiBvcHRzXG4gICAgICAgID8gb3B0cy5wb2x5ZmlsbFxuICAgICAgICA6IG5ld2VySUVVQS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpIHx8XG4gICAgICAgICAgKG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2gob2xkZXJFZGdlVUEpIHx8IFtdKVsxXSA8IDEwNTQ3IHx8XG4gICAgICAgICAgKG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2god2Via2l0VUEpIHx8IFtdKVsxXSA8IDUzNyB8fFxuICAgICAgICAgIChlZGdlVUEudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSAmJiBpbklmcmFtZSk7XG4gICAgLy8gY3JlYXRlIHhociByZXF1ZXN0cyBvYmplY3RcbiAgICB2YXIgcmVxdWVzdHMgPSB7fSxcbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSA9IHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHwgc2V0VGltZW91dCxcbiAgICAgIHVzZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcInVzZVwiKSxcbiAgICAgIG51bWJlck9mU3ZnVXNlRWxlbWVudHNUb0J5cGFzcyA9IDA7XG4gICAgLy8gY29uZGl0aW9uYWxseSBzdGFydCB0aGUgaW50ZXJ2YWwgaWYgdGhlIHBvbHlmaWxsIGlzIGFjdGl2ZVxuICAgIHBvbHlmaWxsICYmIG9uaW50ZXJ2YWwoKTtcbiAgfVxuICBmdW5jdGlvbiBnZXRTVkdBbmNlc3Rvcihub2RlKSB7XG4gICAgZm9yIChcbiAgICAgIHZhciBzdmcgPSBub2RlO1xuICAgICAgXCJzdmdcIiAhPT0gc3ZnLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgJiYgKHN2ZyA9IHN2Zy5wYXJlbnROb2RlKTtcblxuICAgICkge31cbiAgICByZXR1cm4gc3ZnO1xuICB9XG4gIHJldHVybiBzdmc0ZXZlcnlib2R5O1xufSk7XG4iLCJ3aW5kb3cudXN3ZHNQcmVzZW50ID0gdHJ1ZTsgLy8gR0xPQkFMIHZhcmlhYmxlIHRvIGluZGljYXRlIHRoYXQgdGhlIHVzd2RzLmpzIGhhcyBsb2FkZWQgaW4gdGhlIERPTS5cblxuLyoqXG4gKiBUaGUgJ3BvbHlmaWxscycgZGVmaW5lIGtleSBFQ01BU2NyaXB0IDUgbWV0aG9kcyB0aGF0IG1heSBiZSBtaXNzaW5nIGZyb21cbiAqIG9sZGVyIGJyb3dzZXJzLCBzbyBtdXN0IGJlIGxvYWRlZCBmaXJzdC5cbiAqL1xucmVxdWlyZShcIi4vcG9seWZpbGxzXCIpO1xuXG5jb25zdCB1c3dkcyA9IHJlcXVpcmUoXCIuL2NvbmZpZ1wiKTtcblxuY29uc3QgY29tcG9uZW50cyA9IHJlcXVpcmUoXCIuL2luZGV4XCIpO1xuY29uc3Qgc3ZnNGV2ZXJ5Ym9keSA9IHJlcXVpcmUoXCIuL3BvbHlmaWxscy9zdmc0ZXZlcnlib2R5XCIpO1xuXG51c3dkcy5jb21wb25lbnRzID0gY29tcG9uZW50cztcblxuY29uc3QgaW5pdENvbXBvbmVudHMgPSAoKSA9PiB7XG4gIGNvbnN0IHRhcmdldCA9IGRvY3VtZW50LmJvZHk7XG4gIE9iamVjdC5rZXlzKGNvbXBvbmVudHMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgIGNvbnN0IGJlaGF2aW9yID0gY29tcG9uZW50c1trZXldO1xuICAgIGJlaGF2aW9yLm9uKHRhcmdldCk7XG4gIH0pO1xuICBzdmc0ZXZlcnlib2R5KCk7XG59O1xuXG5pZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gXCJsb2FkaW5nXCIpIHtcbiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcIkRPTUNvbnRlbnRMb2FkZWRcIiwgaW5pdENvbXBvbmVudHMsIHsgb25jZTogdHJ1ZSB9KTtcbn0gZWxzZSB7XG4gIGluaXRDb21wb25lbnRzKCk7XG59XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHVzd2RzO1xuZXhwb3J0cy5pbml0Q29tcG9uZW50cyA9IGluaXRDb21wb25lbnRzO1xuIiwibW9kdWxlLmV4cG9ydHMgPSAoaHRtbERvY3VtZW50ID0gZG9jdW1lbnQpID0+IGh0bWxEb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuIiwiY29uc3QgYXNzaWduID0gcmVxdWlyZShcIm9iamVjdC1hc3NpZ25cIik7XG5jb25zdCBCZWhhdmlvciA9IHJlcXVpcmUoXCJyZWNlcHRvci9iZWhhdmlvclwiKTtcblxuLyoqXG4gKiBAbmFtZSBzZXF1ZW5jZVxuICogQHBhcmFtIHsuLi5GdW5jdGlvbn0gc2VxIGFuIGFycmF5IG9mIGZ1bmN0aW9uc1xuICogQHJldHVybiB7IGNsb3N1cmUgfSBjYWxsSG9va3NcbiAqL1xuLy8gV2UgdXNlIGEgbmFtZWQgZnVuY3Rpb24gaGVyZSBiZWNhdXNlIHdlIHdhbnQgaXQgdG8gaW5oZXJpdCBpdHMgbGV4aWNhbCBzY29wZVxuLy8gZnJvbSB0aGUgYmVoYXZpb3IgcHJvcHMgb2JqZWN0LCBub3QgZnJvbSB0aGUgbW9kdWxlXG5jb25zdCBzZXF1ZW5jZSA9ICguLi5zZXEpID0+XG4gIGZ1bmN0aW9uIGNhbGxIb29rcyh0YXJnZXQgPSBkb2N1bWVudC5ib2R5KSB7XG4gICAgc2VxLmZvckVhY2goKG1ldGhvZCkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiB0aGlzW21ldGhvZF0gPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICB0aGlzW21ldGhvZF0uY2FsbCh0aGlzLCB0YXJnZXQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4vKipcbiAqIEBuYW1lIGJlaGF2aW9yXG4gKiBAcGFyYW0ge29iamVjdH0gZXZlbnRzXG4gKiBAcGFyYW0ge29iamVjdD99IHByb3BzXG4gKiBAcmV0dXJuIHtyZWNlcHRvci5iZWhhdmlvcn1cbiAqL1xubW9kdWxlLmV4cG9ydHMgPSAoZXZlbnRzLCBwcm9wcykgPT5cbiAgQmVoYXZpb3IoXG4gICAgZXZlbnRzLFxuICAgIGFzc2lnbihcbiAgICAgIHtcbiAgICAgICAgb246IHNlcXVlbmNlKFwiaW5pdFwiLCBcImFkZFwiKSxcbiAgICAgICAgb2ZmOiBzZXF1ZW5jZShcInRlYXJkb3duXCIsIFwicmVtb3ZlXCIpLFxuICAgICAgfSxcbiAgICAgIHByb3BzLFxuICAgICksXG4gICk7XG4iLCIvKipcbiAqIENhbGwgYSBmdW5jdGlvbiBldmVyeSBYIGFtb3VudCBvZiBtaWxsaXNlY29uZHMuXG4gKlxuICogQHBhcmFtICB7RnVuY3Rpb259IGNhbGxiYWNrIC0gQSBjYWxsYmFjayBmdW5jdGlvbiB0byBiZSBkZWJvdW5jZWRcbiAqIEBwYXJhbSAge251bWJlcn0gZGVsYXkgLSBNaWxsaXNlY29uZHMgdG8gd2FpdCBiZWZvcmUgY2FsbGluZyBmdW5jdGlvblxuICogQHJldHVybnMge0Z1bmN0aW9ufSBBIGRlYm91bmNlZCBmdW5jdGlvblxuICogQGV4YW1wbGUgY29uc3QgdXBkYXRlU3RhdHVzID0gZGVib3VuY2UoKHN0cmluZykgPT4gY29uc29sZS5sb2coc3RyaW5nKSwgMjAwMClcbiAqL1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGRlYm91bmNlKGNhbGxiYWNrLCBkZWxheSA9IDUwMCkge1xuICBsZXQgdGltZXIgPSBudWxsO1xuICByZXR1cm4gKC4uLmFyZ3MpID0+IHtcbiAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRpbWVyKTtcbiAgICB0aW1lciA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNhbGxiYWNrLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgIH0sIGRlbGF5KTtcbiAgfTtcbn07XG4iLCJjb25zdCBhc3NpZ24gPSByZXF1aXJlKFwib2JqZWN0LWFzc2lnblwiKTtcbmNvbnN0IHsga2V5bWFwIH0gPSByZXF1aXJlKFwicmVjZXB0b3JcIik7XG5jb25zdCBiZWhhdmlvciA9IHJlcXVpcmUoXCIuL2JlaGF2aW9yXCIpO1xuY29uc3Qgc2VsZWN0ID0gcmVxdWlyZShcIi4vc2VsZWN0XCIpO1xuY29uc3QgYWN0aXZlRWxlbWVudCA9IHJlcXVpcmUoXCIuL2FjdGl2ZS1lbGVtZW50XCIpO1xuXG5jb25zdCBGT0NVU0FCTEUgPVxuICAnYVtocmVmXSwgYXJlYVtocmVmXSwgaW5wdXQ6bm90KFtkaXNhYmxlZF0pLCBzZWxlY3Q6bm90KFtkaXNhYmxlZF0pLCB0ZXh0YXJlYTpub3QoW2Rpc2FibGVkXSksIGJ1dHRvbjpub3QoW2Rpc2FibGVkXSksIGlmcmFtZSwgb2JqZWN0LCBlbWJlZCwgW3RhYmluZGV4PVwiMFwiXSwgW2NvbnRlbnRlZGl0YWJsZV0nO1xuXG5jb25zdCB0YWJIYW5kbGVyID0gKGNvbnRleHQpID0+IHtcbiAgY29uc3QgZm9jdXNhYmxlRWxlbWVudHMgPSBzZWxlY3QoRk9DVVNBQkxFLCBjb250ZXh0KTtcbiAgY29uc3QgZmlyc3RUYWJTdG9wID0gZm9jdXNhYmxlRWxlbWVudHNbMF07XG4gIGNvbnN0IGxhc3RUYWJTdG9wID0gZm9jdXNhYmxlRWxlbWVudHNbZm9jdXNhYmxlRWxlbWVudHMubGVuZ3RoIC0gMV07XG5cbiAgLy8gU3BlY2lhbCBydWxlcyBmb3Igd2hlbiB0aGUgdXNlciBpcyB0YWJiaW5nIGZvcndhcmQgZnJvbSB0aGUgbGFzdCBmb2N1c2FibGUgZWxlbWVudCxcbiAgLy8gb3Igd2hlbiB0YWJiaW5nIGJhY2t3YXJkcyBmcm9tIHRoZSBmaXJzdCBmb2N1c2FibGUgZWxlbWVudFxuICBmdW5jdGlvbiB0YWJBaGVhZChldmVudCkge1xuICAgIGlmIChhY3RpdmVFbGVtZW50KCkgPT09IGxhc3RUYWJTdG9wKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZmlyc3RUYWJTdG9wLmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gdGFiQmFjayhldmVudCkge1xuICAgIGlmIChhY3RpdmVFbGVtZW50KCkgPT09IGZpcnN0VGFiU3RvcCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGxhc3RUYWJTdG9wLmZvY3VzKCk7XG4gICAgfVxuICAgIC8vIFRoaXMgY2hlY2tzIGlmIHlvdSB3YW50IHRvIHNldCB0aGUgaW5pdGlhbCBmb2N1cyB0byBhIGNvbnRhaW5lclxuICAgIC8vIGluc3RlYWQgb2YgYW4gZWxlbWVudCB3aXRoaW4sIGFuZCB0aGUgdXNlciB0YWJzIGJhY2suXG4gICAgLy8gVGhlbiB3ZSBzZXQgdGhlIGZvY3VzIHRvIHRoZSBmaXJzdFxuICAgIGVsc2UgaWYgKCFmb2N1c2FibGVFbGVtZW50cy5pbmNsdWRlcyhhY3RpdmVFbGVtZW50KCkpKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZmlyc3RUYWJTdG9wLmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBmaXJzdFRhYlN0b3AsXG4gICAgbGFzdFRhYlN0b3AsXG4gICAgdGFiQWhlYWQsXG4gICAgdGFiQmFjayxcbiAgfTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gKGNvbnRleHQsIGFkZGl0aW9uYWxLZXlCaW5kaW5ncyA9IHt9KSA9PiB7XG4gIGNvbnN0IHRhYkV2ZW50SGFuZGxlciA9IHRhYkhhbmRsZXIoY29udGV4dCk7XG4gIGNvbnN0IGJpbmRpbmdzID0gYWRkaXRpb25hbEtleUJpbmRpbmdzO1xuICBjb25zdCB7IEVzYywgRXNjYXBlIH0gPSBiaW5kaW5ncztcblxuICBpZiAoRXNjYXBlICYmICFFc2MpIGJpbmRpbmdzLkVzYyA9IEVzY2FwZTtcblxuICAvLyAgVE9ETzogSW4gdGhlIGZ1dHVyZSwgbG9vcCBvdmVyIGFkZGl0aW9uYWwga2V5YmluZGluZ3MgYW5kIHBhc3MgYW4gYXJyYXlcbiAgLy8gb2YgZnVuY3Rpb25zLCBpZiBuZWNlc3NhcnksIHRvIHRoZSBtYXAga2V5cy4gVGhlbiBwZW9wbGUgaW1wbGVtZW50aW5nXG4gIC8vIHRoZSBmb2N1cyB0cmFwIGNvdWxkIHBhc3MgY2FsbGJhY2tzIHRvIGZpcmUgd2hlbiB0YWJiaW5nXG4gIGNvbnN0IGtleU1hcHBpbmdzID0ga2V5bWFwKFxuICAgIGFzc2lnbihcbiAgICAgIHtcbiAgICAgICAgVGFiOiB0YWJFdmVudEhhbmRsZXIudGFiQWhlYWQsXG4gICAgICAgIFwiU2hpZnQrVGFiXCI6IHRhYkV2ZW50SGFuZGxlci50YWJCYWNrLFxuICAgICAgfSxcbiAgICAgIGFkZGl0aW9uYWxLZXlCaW5kaW5ncyxcbiAgICApLFxuICApO1xuXG4gIGNvbnN0IGZvY3VzVHJhcCA9IGJlaGF2aW9yKFxuICAgIHtcbiAgICAgIGtleWRvd246IGtleU1hcHBpbmdzLFxuICAgIH0sXG4gICAge1xuICAgICAgaW5pdCgpIHtcbiAgICAgICAgLy8gVE9ETzogaXMgdGhpcyBkZXNpcmVhYmxlIGJlaGF2aW9yPyBTaG91bGQgdGhlIHRyYXAgYWx3YXlzIGRvIHRoaXMgYnkgZGVmYXVsdCBvciBzaG91bGRcbiAgICAgICAgLy8gdGhlIGNvbXBvbmVudCBnZXR0aW5nIGRlY29yYXRlZCBoYW5kbGUgdGhpcz9cbiAgICAgICAgaWYgKHRhYkV2ZW50SGFuZGxlci5maXJzdFRhYlN0b3ApIHtcbiAgICAgICAgICB0YWJFdmVudEhhbmRsZXIuZmlyc3RUYWJTdG9wLmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB1cGRhdGUoaXNBY3RpdmUpIHtcbiAgICAgICAgaWYgKGlzQWN0aXZlKSB7XG4gICAgICAgICAgdGhpcy5vbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMub2ZmKCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSxcbiAgKTtcblxuICByZXR1cm4gZm9jdXNUcmFwO1xufTtcbiIsIi8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS83NTU3NDMzXG5mdW5jdGlvbiBpc0VsZW1lbnRJblZpZXdwb3J0KFxuICBlbCxcbiAgd2luID0gd2luZG93LFxuICBkb2NFbCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxcbikge1xuICBjb25zdCByZWN0ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgcmV0dXJuIChcbiAgICByZWN0LnRvcCA+PSAwICYmXG4gICAgcmVjdC5sZWZ0ID49IDAgJiZcbiAgICByZWN0LmJvdHRvbSA8PSAod2luLmlubmVySGVpZ2h0IHx8IGRvY0VsLmNsaWVudEhlaWdodCkgJiZcbiAgICByZWN0LnJpZ2h0IDw9ICh3aW4uaW5uZXJXaWR0aCB8fCBkb2NFbC5jbGllbnRXaWR0aClcbiAgKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpc0VsZW1lbnRJblZpZXdwb3J0O1xuIiwiLy8gaU9TIGRldGVjdGlvbiBmcm9tOiBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS85MDM5ODg1LzE3NzcxMFxuZnVuY3Rpb24gaXNJb3NEZXZpY2UoKSB7XG4gIHJldHVybiAoXG4gICAgdHlwZW9mIG5hdmlnYXRvciAhPT0gXCJ1bmRlZmluZWRcIiAmJlxuICAgIChuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC8oaVBvZHxpUGhvbmV8aVBhZCkvZykgfHxcbiAgICAgIChuYXZpZ2F0b3IucGxhdGZvcm0gPT09IFwiTWFjSW50ZWxcIiAmJiBuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMgPiAxKSkgJiZcbiAgICAhd2luZG93Lk1TU3RyZWFtXG4gICk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNJb3NEZXZpY2U7XG4iLCIvKiBlc2xpbnQtZGlzYWJsZSAqL1xuLyogZ2xvYmFscyBkZWZpbmUsIG1vZHVsZSAqL1xuXG4vKipcbiAqIEEgc2ltcGxlIGxpYnJhcnkgdG8gaGVscCB5b3UgZXNjYXBlIEhUTUwgdXNpbmcgdGVtcGxhdGUgc3RyaW5ncy5cbiAqXG4gKiBJdCdzIHRoZSBjb3VudGVycGFydCB0byBvdXIgZXNsaW50IFwibm8tdW5zYWZlLWlubmVyaHRtbFwiIHBsdWdpbiB0aGF0IGhlbHBzIHVzXG4gKiBhdm9pZCB1bnNhZmUgY29kaW5nIHByYWN0aWNlcy5cbiAqIEEgZnVsbCB3cml0ZS11cCBvZiB0aGUgSG93cyBhbmQgV2h5cyBhcmUgZG9jdW1lbnRlZFxuICogZm9yIGRldmVsb3BlcnMgYXRcbiAqICBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9GaXJlZm94X09TL1NlY3VyaXR5L1NlY3VyaXR5X0F1dG9tYXRpb25cbiAqIHdpdGggYWRkaXRpb25hbCBiYWNrZ3JvdW5kIGluZm9ybWF0aW9uIGFuZCBkZXNpZ24gZG9jcyBhdFxuICogIGh0dHBzOi8vd2lraS5tb3ppbGxhLm9yZy9Vc2VyOkZicmF1bi9HYWlhL1NhZmVpbm5lckhUTUxSb2FkbWFwXG4gKlxuICovXG5cbiEoZnVuY3Rpb24gKGZhY3RvcnkpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCk7XG59KShmdW5jdGlvbiAoKSB7XG4gIFwidXNlIHN0cmljdFwiO1xuXG4gIHZhciBTYW5pdGl6ZXIgPSB7XG4gICAgX2VudGl0eTogL1smPD5cIicvXS9nLFxuXG4gICAgX2VudGl0aWVzOiB7XG4gICAgICBcIiZcIjogXCImYW1wO1wiLFxuICAgICAgXCI8XCI6IFwiJmx0O1wiLFxuICAgICAgXCI+XCI6IFwiJmd0O1wiLFxuICAgICAgJ1wiJzogXCImcXVvdDtcIixcbiAgICAgIFwiJ1wiOiBcIiZhcG9zO1wiLFxuICAgICAgXCIvXCI6IFwiJiN4MkY7XCIsXG4gICAgfSxcblxuICAgIGdldEVudGl0eTogZnVuY3Rpb24gKHMpIHtcbiAgICAgIHJldHVybiBTYW5pdGl6ZXIuX2VudGl0aWVzW3NdO1xuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBFc2NhcGVzIEhUTUwgZm9yIGFsbCB2YWx1ZXMgaW4gYSB0YWdnZWQgdGVtcGxhdGUgc3RyaW5nLlxuICAgICAqL1xuICAgIGVzY2FwZUhUTUw6IGZ1bmN0aW9uIChzdHJpbmdzKSB7XG4gICAgICB2YXIgcmVzdWx0ID0gXCJcIjtcblxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHJpbmdzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHJlc3VsdCArPSBzdHJpbmdzW2ldO1xuICAgICAgICBpZiAoaSArIDEgPCBhcmd1bWVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgdmFyIHZhbHVlID0gYXJndW1lbnRzW2kgKyAxXSB8fCBcIlwiO1xuICAgICAgICAgIHJlc3VsdCArPSBTdHJpbmcodmFsdWUpLnJlcGxhY2UoXG4gICAgICAgICAgICBTYW5pdGl6ZXIuX2VudGl0eSxcbiAgICAgICAgICAgIFNhbml0aXplci5nZXRFbnRpdHksXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogRXNjYXBlcyBIVE1MIGFuZCByZXR1cm5zIGEgd3JhcHBlZCBvYmplY3QgdG8gYmUgdXNlZCBkdXJpbmcgRE9NIGluc2VydGlvblxuICAgICAqL1xuICAgIGNyZWF0ZVNhZmVIVE1MOiBmdW5jdGlvbiAoc3RyaW5ncykge1xuICAgICAgdmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoO1xuICAgICAgdmFyIHZhbHVlcyA9IG5ldyBBcnJheShfbGVuID4gMSA/IF9sZW4gLSAxIDogMCk7XG4gICAgICBmb3IgKHZhciBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgICB2YWx1ZXNbX2tleSAtIDFdID0gYXJndW1lbnRzW19rZXldO1xuICAgICAgfVxuXG4gICAgICB2YXIgZXNjYXBlZCA9IFNhbml0aXplci5lc2NhcGVIVE1MLmFwcGx5KFxuICAgICAgICBTYW5pdGl6ZXIsXG4gICAgICAgIFtzdHJpbmdzXS5jb25jYXQodmFsdWVzKSxcbiAgICAgICk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBfX2h0bWw6IGVzY2FwZWQsXG4gICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIFwiW29iamVjdCBXcmFwcGVkSFRNTE9iamVjdF1cIjtcbiAgICAgICAgfSxcbiAgICAgICAgaW5mbzpcbiAgICAgICAgICBcIlRoaXMgaXMgYSB3cmFwcGVkIEhUTUwgb2JqZWN0LiBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vclwiICtcbiAgICAgICAgICBcImcvZW4tVVMvRmlyZWZveF9PUy9TZWN1cml0eS9TZWN1cml0eV9BdXRvbWF0aW9uIGZvciBtb3JlLlwiLFxuICAgICAgfTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIFVud3JhcCBzYWZlIEhUTUwgY3JlYXRlZCBieSBjcmVhdGVTYWZlSFRNTCBvciBhIGN1c3RvbSByZXBsYWNlbWVudCB0aGF0XG4gICAgICogdW5kZXJ3ZW50IHNlY3VyaXR5IHJldmlldy5cbiAgICAgKi9cbiAgICB1bndyYXBTYWZlSFRNTDogZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoO1xuICAgICAgdmFyIGh0bWxPYmplY3RzID0gbmV3IEFycmF5KF9sZW4pO1xuICAgICAgZm9yICh2YXIgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICAgICAgaHRtbE9iamVjdHNbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgICB9XG5cbiAgICAgIHZhciBtYXJrdXBMaXN0ID0gaHRtbE9iamVjdHMubWFwKGZ1bmN0aW9uIChvYmopIHtcbiAgICAgICAgcmV0dXJuIG9iai5fX2h0bWw7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBtYXJrdXBMaXN0LmpvaW4oXCJcIik7XG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4gU2FuaXRpemVyO1xufSk7XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGdldFNjcm9sbGJhcldpZHRoKCkge1xuICAvLyBDcmVhdGluZyBpbnZpc2libGUgY29udGFpbmVyXG4gIGNvbnN0IG91dGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgb3V0ZXIuc3R5bGUudmlzaWJpbGl0eSA9IFwiaGlkZGVuXCI7XG4gIG91dGVyLnN0eWxlLm92ZXJmbG93ID0gXCJzY3JvbGxcIjsgLy8gZm9yY2luZyBzY3JvbGxiYXIgdG8gYXBwZWFyXG4gIG91dGVyLnN0eWxlLm1zT3ZlcmZsb3dTdHlsZSA9IFwic2Nyb2xsYmFyXCI7IC8vIG5lZWRlZCBmb3IgV2luSlMgYXBwc1xuICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG91dGVyKTtcblxuICAvLyBDcmVhdGluZyBpbm5lciBlbGVtZW50IGFuZCBwbGFjaW5nIGl0IGluIHRoZSBjb250YWluZXJcbiAgY29uc3QgaW5uZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICBvdXRlci5hcHBlbmRDaGlsZChpbm5lcik7XG5cbiAgLy8gQ2FsY3VsYXRpbmcgZGlmZmVyZW5jZSBiZXR3ZWVuIGNvbnRhaW5lcidzIGZ1bGwgd2lkdGggYW5kIHRoZSBjaGlsZCB3aWR0aFxuICBjb25zdCBzY3JvbGxiYXJXaWR0aCA9IGAke291dGVyLm9mZnNldFdpZHRoIC0gaW5uZXIub2Zmc2V0V2lkdGh9cHhgO1xuXG4gIC8vIFJlbW92aW5nIHRlbXBvcmFyeSBlbGVtZW50cyBmcm9tIHRoZSBET01cbiAgb3V0ZXIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChvdXRlcik7XG5cbiAgcmV0dXJuIHNjcm9sbGJhcldpZHRoO1xufTtcbiIsImNvbnN0IHNlbGVjdCA9IHJlcXVpcmUoXCIuL3NlbGVjdFwiKTtcbi8qKlxuICogQG5hbWUgaXNFbGVtZW50XG4gKiBAZGVzYyByZXR1cm5zIHdoZXRoZXIgb3Igbm90IHRoZSBnaXZlbiBhcmd1bWVudCBpcyBhIERPTSBlbGVtZW50LlxuICogQHBhcmFtIHthbnl9IHZhbHVlXG4gKiBAcmV0dXJuIHtib29sZWFufVxuICovXG5jb25zdCBpc0VsZW1lbnQgPSAodmFsdWUpID0+XG4gIHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIiAmJiB2YWx1ZS5ub2RlVHlwZSA9PT0gMTtcblxuLyoqXG4gKiBAbmFtZSBzZWxlY3RPck1hdGNoZXNcbiAqIEBkZXNjIHNlbGVjdHMgZWxlbWVudHMgZnJvbSB0aGUgRE9NIGJ5IGNsYXNzIHNlbGVjdG9yIG9yIElEIHNlbGVjdG9yLlxuICogQHBhcmFtIHtzdHJpbmd9IHNlbGVjdG9yIC0gVGhlIHNlbGVjdG9yIHRvIHRyYXZlcnNlIHRoZSBET00gd2l0aC5cbiAqIEBwYXJhbSB7RG9jdW1lbnR8SFRNTEVsZW1lbnQ/fSBjb250ZXh0IC0gVGhlIGNvbnRleHQgdG8gdHJhdmVyc2UgdGhlIERPTVxuICogICBpbi4gSWYgbm90IHByb3ZpZGVkLCBpdCBkZWZhdWx0cyB0byB0aGUgZG9jdW1lbnQuXG4gKiBAcmV0dXJuIHtIVE1MRWxlbWVudFtdfSAtIEFuIGFycmF5IG9mIERPTSBub2RlcyBvciBhbiBlbXB0eSBhcnJheS5cbiAqL1xubW9kdWxlLmV4cG9ydHMgPSAoc2VsZWN0b3IsIGNvbnRleHQpID0+IHtcbiAgY29uc3Qgc2VsZWN0aW9uID0gc2VsZWN0KHNlbGVjdG9yLCBjb250ZXh0KTtcbiAgaWYgKHR5cGVvZiBzZWxlY3RvciAhPT0gXCJzdHJpbmdcIikge1xuICAgIHJldHVybiBzZWxlY3Rpb247XG4gIH1cblxuICBpZiAoaXNFbGVtZW50KGNvbnRleHQpICYmIGNvbnRleHQubWF0Y2hlcyhzZWxlY3RvcikpIHtcbiAgICBzZWxlY3Rpb24ucHVzaChjb250ZXh0KTtcbiAgfVxuXG4gIHJldHVybiBzZWxlY3Rpb247XG59O1xuIiwiLyoqXG4gKiBAbmFtZSBpc0VsZW1lbnRcbiAqIEBkZXNjIHJldHVybnMgd2hldGhlciBvciBub3QgdGhlIGdpdmVuIGFyZ3VtZW50IGlzIGEgRE9NIGVsZW1lbnQuXG4gKiBAcGFyYW0ge2FueX0gdmFsdWVcbiAqIEByZXR1cm4ge2Jvb2xlYW59XG4gKi9cbmNvbnN0IGlzRWxlbWVudCA9ICh2YWx1ZSkgPT5cbiAgdmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiICYmIHZhbHVlLm5vZGVUeXBlID09PSAxO1xuXG4vKipcbiAqIEBuYW1lIHNlbGVjdFxuICogQGRlc2Mgc2VsZWN0cyBlbGVtZW50cyBmcm9tIHRoZSBET00gYnkgY2xhc3Mgc2VsZWN0b3Igb3IgSUQgc2VsZWN0b3IuXG4gKiBAcGFyYW0ge3N0cmluZ30gc2VsZWN0b3IgLSBUaGUgc2VsZWN0b3IgdG8gdHJhdmVyc2UgdGhlIERPTSB3aXRoLlxuICogQHBhcmFtIHtEb2N1bWVudHxIVE1MRWxlbWVudD99IGNvbnRleHQgLSBUaGUgY29udGV4dCB0byB0cmF2ZXJzZSB0aGUgRE9NXG4gKiAgIGluLiBJZiBub3QgcHJvdmlkZWQsIGl0IGRlZmF1bHRzIHRvIHRoZSBkb2N1bWVudC5cbiAqIEByZXR1cm4ge0hUTUxFbGVtZW50W119IC0gQW4gYXJyYXkgb2YgRE9NIG5vZGVzIG9yIGFuIGVtcHR5IGFycmF5LlxuICovXG5tb2R1bGUuZXhwb3J0cyA9IChzZWxlY3RvciwgY29udGV4dCkgPT4ge1xuICBpZiAodHlwZW9mIHNlbGVjdG9yICE9PSBcInN0cmluZ1wiKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgaWYgKCFjb250ZXh0IHx8ICFpc0VsZW1lbnQoY29udGV4dCkpIHtcbiAgICBjb250ZXh0ID0gd2luZG93LmRvY3VtZW50OyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gIH1cblxuICBjb25zdCBzZWxlY3Rpb24gPSBjb250ZXh0LnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpO1xuICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoc2VsZWN0aW9uKTtcbn07XG4iLCIvKipcbiAqIEZsaXBzIGdpdmVuIElOUFVUIGVsZW1lbnRzIGJldHdlZW4gbWFza2VkIChoaWRpbmcgdGhlIGZpZWxkIHZhbHVlKSBhbmQgdW5tYXNrZWRcbiAqIEBwYXJhbSB7QXJyYXkuSFRNTEVsZW1lbnR9IGZpZWxkcyAtIEFuIGFycmF5IG9mIElOUFVUIGVsZW1lbnRzXG4gKiBAcGFyYW0ge0Jvb2xlYW59IG1hc2sgLSBXaGV0aGVyIHRoZSBtYXNrIHNob3VsZCBiZSBhcHBsaWVkLCBoaWRpbmcgdGhlIGZpZWxkIHZhbHVlXG4gKi9cbm1vZHVsZS5leHBvcnRzID0gKGZpZWxkLCBtYXNrKSA9PiB7XG4gIGZpZWxkLnNldEF0dHJpYnV0ZShcImF1dG9jYXBpdGFsaXplXCIsIFwib2ZmXCIpO1xuICBmaWVsZC5zZXRBdHRyaWJ1dGUoXCJhdXRvY29ycmVjdFwiLCBcIm9mZlwiKTtcbiAgZmllbGQuc2V0QXR0cmlidXRlKFwidHlwZVwiLCBtYXNrID8gXCJwYXNzd29yZFwiIDogXCJ0ZXh0XCIpO1xufTtcbiIsImNvbnN0IHJlc29sdmVJZFJlZnMgPSByZXF1aXJlKFwicmVzb2x2ZS1pZC1yZWZzXCIpO1xuY29uc3QgdG9nZ2xlRmllbGRNYXNrID0gcmVxdWlyZShcIi4vdG9nZ2xlLWZpZWxkLW1hc2tcIik7XG5cbmNvbnN0IENPTlRST0xTID0gXCJhcmlhLWNvbnRyb2xzXCI7XG5jb25zdCBQUkVTU0VEID0gXCJhcmlhLXByZXNzZWRcIjtcbmNvbnN0IFNIT1dfQVRUUiA9IFwiZGF0YS1zaG93LXRleHRcIjtcbmNvbnN0IEhJREVfQVRUUiA9IFwiZGF0YS1oaWRlLXRleHRcIjtcblxuLyoqXG4gKiBSZXBsYWNlIHRoZSB3b3JkIFwiU2hvd1wiIChvciBcInNob3dcIikgd2l0aCBcIkhpZGVcIiAob3IgXCJoaWRlXCIpIGluIGEgc3RyaW5nLlxuICogQHBhcmFtIHtzdHJpbmd9IHNob3dUZXh0XG4gKiBAcmV0dXJuIHtzdHJvbmd9IGhpZGVUZXh0XG4gKi9cbmNvbnN0IGdldEhpZGVUZXh0ID0gKHNob3dUZXh0KSA9PlxuICBzaG93VGV4dC5yZXBsYWNlKC9cXGJTaG93XFxiL2ksIChzaG93KSA9PiBgJHtzaG93WzBdID09PSBcIlNcIiA/IFwiSFwiIDogXCJoXCJ9aWRlYCk7XG5cbi8qKlxuICogQ29tcG9uZW50IHRoYXQgZGVjb3JhdGVzIGFuIEhUTUwgZWxlbWVudCB3aXRoIHRoZSBhYmlsaXR5IHRvIHRvZ2dsZSB0aGVcbiAqIG1hc2tlZCBzdGF0ZSBvZiBhbiBpbnB1dCBmaWVsZCAobGlrZSBhIHBhc3N3b3JkKSB3aGVuIGNsaWNrZWQuXG4gKiBUaGUgaWRzIG9mIHRoZSBmaWVsZHMgdG8gYmUgbWFza2VkIHdpbGwgYmUgcHVsbGVkIGRpcmVjdGx5IGZyb20gdGhlIGJ1dHRvbidzXG4gKiBgYXJpYS1jb250cm9sc2AgYXR0cmlidXRlLlxuICpcbiAqIEBwYXJhbSAge0hUTUxFbGVtZW50fSBlbCAgICBQYXJlbnQgZWxlbWVudCBjb250YWluaW5nIHRoZSBmaWVsZHMgdG8gYmUgbWFza2VkXG4gKiBAcmV0dXJuIHtib29sZWFufVxuICovXG5tb2R1bGUuZXhwb3J0cyA9IChlbCkgPT4ge1xuICAvLyB0aGlzIGlzIHRoZSAqdGFyZ2V0KiBzdGF0ZTpcbiAgLy8gKiBpZiB0aGUgZWxlbWVudCBoYXMgdGhlIGF0dHIgYW5kIGl0J3MgIT09IFwidHJ1ZVwiLCBwcmVzc2VkIGlzIHRydWVcbiAgLy8gKiBvdGhlcndpc2UsIHByZXNzZWQgaXMgZmFsc2VcbiAgY29uc3QgcHJlc3NlZCA9XG4gICAgZWwuaGFzQXR0cmlidXRlKFBSRVNTRUQpICYmIGVsLmdldEF0dHJpYnV0ZShQUkVTU0VEKSAhPT0gXCJ0cnVlXCI7XG5cbiAgY29uc3QgZmllbGRzID0gcmVzb2x2ZUlkUmVmcyhlbC5nZXRBdHRyaWJ1dGUoQ09OVFJPTFMpKTtcbiAgZmllbGRzLmZvckVhY2goKGZpZWxkKSA9PiB0b2dnbGVGaWVsZE1hc2soZmllbGQsIHByZXNzZWQpKTtcblxuICBpZiAoIWVsLmhhc0F0dHJpYnV0ZShTSE9XX0FUVFIpKSB7XG4gICAgZWwuc2V0QXR0cmlidXRlKFNIT1dfQVRUUiwgZWwudGV4dENvbnRlbnQpO1xuICB9XG5cbiAgY29uc3Qgc2hvd1RleHQgPSBlbC5nZXRBdHRyaWJ1dGUoU0hPV19BVFRSKTtcbiAgY29uc3QgaGlkZVRleHQgPSBlbC5nZXRBdHRyaWJ1dGUoSElERV9BVFRSKSB8fCBnZXRIaWRlVGV4dChzaG93VGV4dCk7XG5cbiAgZWwudGV4dENvbnRlbnQgPSBwcmVzc2VkID8gc2hvd1RleHQgOiBoaWRlVGV4dDsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICBlbC5zZXRBdHRyaWJ1dGUoUFJFU1NFRCwgcHJlc3NlZCk7XG4gIHJldHVybiBwcmVzc2VkO1xufTtcbiIsImNvbnN0IEVYUEFOREVEID0gXCJhcmlhLWV4cGFuZGVkXCI7XG5jb25zdCBDT05UUk9MUyA9IFwiYXJpYS1jb250cm9sc1wiO1xuY29uc3QgSElEREVOID0gXCJoaWRkZW5cIjtcblxubW9kdWxlLmV4cG9ydHMgPSAoYnV0dG9uLCBleHBhbmRlZCkgPT4ge1xuICBsZXQgc2FmZUV4cGFuZGVkID0gZXhwYW5kZWQ7XG5cbiAgaWYgKHR5cGVvZiBzYWZlRXhwYW5kZWQgIT09IFwiYm9vbGVhblwiKSB7XG4gICAgc2FmZUV4cGFuZGVkID0gYnV0dG9uLmdldEF0dHJpYnV0ZShFWFBBTkRFRCkgPT09IFwiZmFsc2VcIjtcbiAgfVxuXG4gIGJ1dHRvbi5zZXRBdHRyaWJ1dGUoRVhQQU5ERUQsIHNhZmVFeHBhbmRlZCk7XG5cbiAgY29uc3QgaWQgPSBidXR0b24uZ2V0QXR0cmlidXRlKENPTlRST0xTKTtcbiAgY29uc3QgY29udHJvbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7XG4gIGlmICghY29udHJvbHMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIHRvZ2dsZSB0YXJnZXQgZm91bmQgd2l0aCBpZDogXCIke2lkfVwiYCk7XG4gIH1cblxuICBpZiAoc2FmZUV4cGFuZGVkKSB7XG4gICAgY29udHJvbHMucmVtb3ZlQXR0cmlidXRlKEhJRERFTik7XG4gIH0gZWxzZSB7XG4gICAgY29udHJvbHMuc2V0QXR0cmlidXRlKEhJRERFTiwgXCJcIik7XG4gIH1cblxuICByZXR1cm4gc2FmZUV4cGFuZGVkO1xufTtcbiIsImNvbnN0IGRlYm91bmNlID0gcmVxdWlyZShcIi4vZGVib3VuY2VcIik7XG5jb25zdCB7IHByZWZpeDogUFJFRklYIH0gPSByZXF1aXJlKFwiLi4vY29uZmlnXCIpO1xuXG5jb25zdCBDSEVDS0VEX0NMQVNTID0gYCR7UFJFRklYfS1jaGVja2xpc3RfX2l0ZW0tLWNoZWNrZWRgO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIHZhbGlkYXRlKGVsKSB7XG4gIGNvbnN0IGlkID0gZWwuZGF0YXNldC52YWxpZGF0aW9uRWxlbWVudDtcbiAgY29uc3QgY2hlY2tMaXN0ID1cbiAgICBpZC5jaGFyQXQoMCkgPT09IFwiI1wiXG4gICAgICA/IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoaWQpXG4gICAgICA6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtcblxuICBpZiAoIWNoZWNrTGlzdCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgTm8gdmFsaWRhdGlvbiBlbGVtZW50IGZvdW5kIHdpdGggaWQ6IFwiJHtpZH1cImApO1xuICB9XG5cbiAgbGV0IHN0YXR1c1N1bW1hcnkgPSBcIlwiO1xuICBPYmplY3QuZW50cmllcyhlbC5kYXRhc2V0KS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICBpZiAoa2V5LnN0YXJ0c1dpdGgoXCJ2YWxpZGF0ZVwiKSkge1xuICAgICAgY29uc3QgdmFsaWRhdG9yTmFtZSA9IGtleS5zdWJzdHIoXCJ2YWxpZGF0ZVwiLmxlbmd0aCkudG9Mb3dlckNhc2UoKTtcbiAgICAgIGNvbnN0IHZhbGlkYXRvclBhdHRlcm4gPSBuZXcgUmVnRXhwKHZhbHVlKTtcbiAgICAgIGNvbnN0IHZhbGlkYXRvclNlbGVjdG9yID0gYFtkYXRhLXZhbGlkYXRvcj1cIiR7dmFsaWRhdG9yTmFtZX1cIl1gO1xuICAgICAgY29uc3QgdmFsaWRhdG9yQ2hlY2tib3ggPSBjaGVja0xpc3QucXVlcnlTZWxlY3Rvcih2YWxpZGF0b3JTZWxlY3Rvcik7XG4gICAgICBjb25zdCB2YWxpZGF0b3JQYXJlbnQgPSBlbC5wYXJlbnROb2RlO1xuICAgICAgY29uc3Qgc3RhdHVzU3VtbWFyeUNvbnRhaW5lciA9IHZhbGlkYXRvclBhcmVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgICBgW2RhdGEtdmFsaWRhdGlvbi1zdGF0dXNdYCxcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IGNoZWNrZWQgPSB2YWxpZGF0b3JQYXR0ZXJuLnRlc3QoZWwudmFsdWUpO1xuICAgICAgdmFsaWRhdG9yQ2hlY2tib3guY2xhc3NMaXN0LnRvZ2dsZShDSEVDS0VEX0NMQVNTLCBjaGVja2VkKTtcblxuICAgICAgaWYgKCF2YWxpZGF0b3JDaGVja2JveCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIHZhbGlkYXRvciBjaGVja2JveCBmb3VuZCBmb3I6IFwiJHt2YWxpZGF0b3JOYW1lfVwiYCk7XG4gICAgICB9XG5cbiAgICAgIC8vIENyZWF0ZSBzdGF0dXMgcmVwb3J0cyBmb3IgY2hlY2tsaXN0IGl0ZW1zXG4gICAgICBjb25zdCBzdGF0dXNDb21wbGV0ZSA9IGVsLmRhdGFzZXQudmFsaWRhdGlvbkNvbXBsZXRlIHx8IFwic3RhdHVzIGNvbXBsZXRlXCI7XG4gICAgICBjb25zdCBzdGF0dXNJbmNvbXBsZXRlID1cbiAgICAgICAgZWwuZGF0YXNldC52YWxpZGF0aW9uSW5jb21wbGV0ZSB8fCBcInN0YXR1cyBpbmNvbXBsZXRlXCI7XG4gICAgICBsZXQgY2hlY2tib3hDb250ZW50ID0gYCR7dmFsaWRhdG9yQ2hlY2tib3gudGV4dENvbnRlbnR9IGA7XG5cbiAgICAgIGlmICh2YWxpZGF0b3JDaGVja2JveC5jbGFzc0xpc3QuY29udGFpbnMoQ0hFQ0tFRF9DTEFTUykpIHtcbiAgICAgICAgY2hlY2tib3hDb250ZW50ICs9IHN0YXR1c0NvbXBsZXRlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2hlY2tib3hDb250ZW50ICs9IHN0YXR1c0luY29tcGxldGU7XG4gICAgICB9XG5cbiAgICAgIC8vIG1vdmUgc3RhdHVzIHVwZGF0ZXMgdG8gYXJpYS1sYWJlbCBvbiBjaGVja2xpc3QgaXRlbVxuICAgICAgdmFsaWRhdG9yQ2hlY2tib3guc2V0QXR0cmlidXRlKFwiYXJpYS1sYWJlbFwiLCBjaGVja2JveENvbnRlbnQpO1xuXG4gICAgICAvLyBDcmVhdGUgYSBzdW1tYXJ5IG9mIHN0YXR1cyBmb3IgYWxsIGNoZWNrbGlzdCBpdGVtc1xuICAgICAgc3RhdHVzU3VtbWFyeSArPSBgJHtjaGVja2JveENvbnRlbnR9LiBgO1xuXG4gICAgICAvLyBBZGQgc3VtbWFyeSB0byBzY3JlZW4gcmVhZGVyIHN1bW1hcnkgY29udGFpbmVyLCBhZnRlciBhIGRlbGF5XG4gICAgICBjb25zdCBzclVwZGF0ZVN0YXR1cyA9IGRlYm91bmNlKCgpID0+IHtcbiAgICAgICAgc3RhdHVzU3VtbWFyeUNvbnRhaW5lci50ZXh0Q29udGVudCA9IHN0YXR1c1N1bW1hcnk7XG4gICAgICB9LCAxMDAwKTtcblxuICAgICAgc3JVcGRhdGVTdGF0dXMoKTtcbiAgICB9XG4gIH0pO1xufTtcbiJdfQ== diff --git a/app/javascript/uswds/uswds.min.js b/app/javascript/uswds/uswds.min.js new file mode 100644 index 00000000..9dbe22de --- /dev/null +++ b/app/javascript/uswds/uswds.min.js @@ -0,0 +1,88 @@ +!function s(a,n,i){function o(t,e){if(!n[t]){if(!a[t]){var r="function"==typeof require&&require;if(!e&&r)return r(t,!0);if(c)return c(t,!0);throw(e=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",e}r=n[t]={exports:{}},a[t][0].call(r.exports,function(e){return o(a[t][1][e]||e)},r,r.exports,s,a,n,i)}return n[t].exports}for(var c="function"==typeof require&&require,e=0;e"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"'],224:"Meta",225:"AltGraph",246:"Attn",247:"CrSel",248:"ExSel",249:"EraseEof",250:"Play",251:"ZoomOut"}},a=1;a<25;a++)s.keys[111+a]="F"+a;var n="";for(a=65;a<91;a++)n=String.fromCharCode(a),s.keys[a]=[n.toLowerCase(),n.toUpperCase()];"function"==typeof define&&define.amd?define("keyboardevent-key-polyfill",s):void 0!==r&&void 0!==t?t.exports=s:window&&(window.keyboardeventKeyPolyfill=s)},{}],4:[function(e,t,r){"use strict";var c=Object.getOwnPropertySymbols,l=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(Object.assign){var e=new String("abc");if(e[5]="de","5"!==Object.getOwnPropertyNames(e)[0]){for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;var s,a=Object.getOwnPropertyNames(t).map(function(e){return t[e]});if("0123456789"===a.join(""))return s={},"abcdefghijklmnopqrst".split("").forEach(function(e){s[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},s)).join("")?1:void 0}}}catch(e){}}()?Object.assign:function(e,t){for(var r,s=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),a=1;a{return s(l,t).filter(e=>e.closest(c)===t)},p=(t,e)=>{var r=t.closest(c);if(!r)throw new Error(l+" is missing outer "+c);var e=n(t,e),s=r.hasAttribute("data-allow-multiple");e&&!s&&d(r).forEach(e=>{e!==t&&n(e,!1)})};e=a({[o]:{[l](){p(this),"true"!==this.getAttribute(u)||i(this)||this.scrollIntoView()}}},{init(e){s(l,e).forEach(e=>{var t="true"===e.getAttribute(u);p(e,t)})},ACCORDION:c,BUTTON:l,show:e=>p(e,!0),hide:e=>p(e,!1),toggle:p,getButtons:d});t.exports=e},{"../../uswds-core/src/js/config":36,"../../uswds-core/src/js/events":37,"../../uswds-core/src/js/utils/behavior":46,"../../uswds-core/src/js/utils/is-in-viewport":49,"../../uswds-core/src/js/utils/select":54,"../../uswds-core/src/js/utils/toggle":57}],16:[function(e,t,r){"use strict";var s=e("../../uswds-core/src/js/utils/behavior");const a=e("../../uswds-core/src/js/utils/select");var n=e("../../uswds-core/src/js/events")["CLICK"],i=e("../../uswds-core/src/js/config")["prefix"];const o=e("../../uswds-core/src/js/utils/toggle"),c=`.${i}-banner__header`,l=i+"-banner__header--expanded",u=c+" [aria-controls]";t.exports=s({[n]:{[u]:function(e){e.preventDefault();e=e.target.closest(u);o(e),this.closest(c).classList.toggle(l)}}},{init(e){a(u,e).forEach(e=>{var t="true"===e.getAttribute(l);o(e,t)})}})},{"../../uswds-core/src/js/config":36,"../../uswds-core/src/js/events":37,"../../uswds-core/src/js/utils/behavior":46,"../../uswds-core/src/js/utils/select":54,"../../uswds-core/src/js/utils/toggle":57}],17:[function(e,t,r){"use strict";var s=e("receptor/keymap"),e=e("../../uswds-core/src/js/utils/behavior")({keydown:{'a[class*="usa-button"]':s({" ":e=>{e.preventDefault(),e.target.click()}})}});t.exports=e},{"../../uswds-core/src/js/utils/behavior":46,"receptor/keymap":11}],18:[function(e,t,r){"use strict";const s=e("../../uswds-core/src/js/utils/select");var a=e("../../uswds-core/src/js/utils/behavior"),n=e("../../uswds-core/src/js/utils/debounce"),e=e("../../uswds-core/src/js/config")["prefix"],i=e+"-character-count";const o="."+i,c=`.${e}-character-count__field`,l=`.${e}-character-count__message`,u="The content is too long.",d=e+"-character-count__status--invalid",p=i+"__status",b=i+"__sr-status",f="."+p,h="."+b,m="characters allowed",v=e=>{e=e.closest(o);if(!e)throw new Error(c+" is missing outer "+o);var t=e.querySelector(l);if(t)return{characterCountEl:e,messageEl:t};throw new Error(o+" is missing inner "+l)},g=e=>{var t=document.createElement("div"),r=document.createElement("div"),s=e.dataset.maxlength+" "+m;t.classList.add(""+p,"usa-hint"),r.classList.add(""+b,"usa-sr-only"),t.setAttribute("aria-hidden",!0),r.setAttribute("aria-live","polite"),t.textContent=s,r.textContent=s,e.append(t,r)},w=(e,t)=>{let r="";var s;return r=0===e?t+" "+m:(s=Math.abs(t-e))+` ${"character"+(1===s?"":"s")} `+(t{e.textContent=t},1e3),E=e=>{var t=v(e)["characterCountEl"],r=e.value.length,s=parseInt(t.getAttribute("data-maxlength"),10),a=t.querySelector(f),t=t.querySelector(h),n=w(r,s);s&&(s=r&&s{var t,{characterCountEl:r,messageEl:s}=v(e);s.classList.add("usa-sr-only"),s.removeAttribute("aria-live"),s=e,e=v(s).characterCountEl,(t=s.getAttribute("maxlength"))&&(s.removeAttribute("maxlength"),e.setAttribute("data-maxlength",t)),g(r)};e=a({input:{[c](){E(this)}}},{init(e){s(c,e).forEach(e=>A(e))},MESSAGE_INVALID_CLASS:d,VALIDATION_MESSAGE:u,STATUS_MESSAGE_CLASS:p,STATUS_MESSAGE_SR_ONLY_CLASS:b,DEFAULT_STATUS_LABEL:m,createStatusMessages:g,getCountMessage:w,updateCountMessage:E});t.exports=e},{"../../uswds-core/src/js/config":36,"../../uswds-core/src/js/utils/behavior":46,"../../uswds-core/src/js/utils/debounce":47,"../../uswds-core/src/js/utils/select":54}],19:[function(e,t,I){"use strict";var r=e("receptor/keymap");const s=e("../../uswds-core/src/js/utils/select-or-matches");var a=e("../../uswds-core/src/js/utils/behavior");const b=e("../../uswds-core/src/js/utils/sanitizer");var n=e("../../uswds-core/src/js/config")["prefix"],e=e("../../uswds-core/src/js/events")["CLICK"],n=n+"-combo-box";const f=n+"--pristine",h=n+"__select",m=n+"__input",v=n+"__clear-input",O=v+"__wrapper",B=n+"__input-button-separator",g=n+"__toggle-list",H=g+"__wrapper",w=n+"__list",y=n+"__list-option",E=y+"--focused",A=y+"--selected",x=n+"__status",j="."+n,P="."+h,u="."+m,d="."+v,p="."+g,F="."+w,i="."+y,L="."+E,R="."+A,Y="."+x,U=".*{{query}}.*";const _=(e,t="")=>{e.value=t,t=new CustomEvent("change",{bubbles:!0,cancelable:!0,detail:{value:t}});e.dispatchEvent(t)},S=e=>{var t,r,s,a,n,i,o,c,l,e=e.closest(j);if(e)return t=e.querySelector(P),r=e.querySelector(u),s=e.querySelector(F),a=e.querySelector(Y),n=e.querySelector(L),i=e.querySelector(R),o=e.querySelector(p),c=e.querySelector(d),l=e.classList.contains(f),{comboBoxEl:e,selectEl:t,inputEl:r,listEl:s,statusEl:a,focusedOptionEl:n,selectedOptionEl:i,toggleListBtnEl:o,clearInputBtnEl:c,isPristine:l,disableFiltering:"true"===e.dataset.disableFiltering};throw new Error("Element is missing outer "+j)},D=e=>{var{inputEl:e,toggleListBtnEl:t,clearInputBtnEl:r}=S(e);r.hidden=!0,r.disabled=!0,t.disabled=!0,e.disabled=!0};const o=e=>{e=e.closest(j);if(!e.dataset.enhanced){const u=e.querySelector("select");if(!u)throw new Error(j+" is missing inner select");var t=u.id,s=document.querySelector(`label[for="${t}"]`),a=t+"--list",n=t+"-label",i=t+"--assistiveHint";const d=[];var o=e.dataset["defaultValue"],c=e.dataset["placeholder"];let r;if(c&&d.push({placeholder:c}),o)for(let e=0,t=u.options.length;e{var t;u.hasAttribute(e)&&(t=u.getAttribute(e),d.push({[e]:t}),u.removeAttribute(e))});const p=document.createElement("input");p.setAttribute("id",t),p.setAttribute("aria-owns",a),p.setAttribute("aria-controls",a),p.setAttribute("aria-autocomplete","list"),p.setAttribute("aria-describedby",i),p.setAttribute("aria-expanded","false"),p.setAttribute("autocapitalize","off"),p.setAttribute("autocomplete","off"),p.setAttribute("class",m),p.setAttribute("type","text"),p.setAttribute("role","combobox"),d.forEach(r=>Object.keys(r).forEach(e=>{var t=b.escapeHTML`${r[e]}`;p.setAttribute(e,t)})),e.insertAdjacentElement("beforeend",p),e.insertAdjacentHTML("beforeend",b.escapeHTML` + + + +   + + + + +
+ + When autocomplete results are available use up and down arrows to review and enter to select. + Touch device users, explore by touch or with swipe gestures. + `),r&&(c=S(e)["inputEl"],_(u,r.value),_(c,r.text),e.classList.add(f)),u.disabled&&(D(e),u.disabled=!1),u.hasAttribute("aria-disabled")&&(s=e,{inputEl:s,toggleListBtnEl:t,clearInputBtnEl:a}=S(s),a.hidden=!0,a.setAttribute("aria-disabled",!0),t.setAttribute("aria-disabled",!0),s.setAttribute("aria-disabled",!0),u.removeAttribute("aria-disabled")),e.dataset.enhanced="true"}},C=(e,t,{skipFocus:r,preventScroll:s}={})=>{var{inputEl:e,listEl:a,focusedOptionEl:n}=S(e);n&&(n.classList.remove(E),n.setAttribute("tabIndex","-1")),t?(e.setAttribute("aria-activedescendant",t.id),t.setAttribute("tabIndex","0"),t.classList.add(E),s||(n=t.offsetTop+t.offsetHeight,a.scrollTop+a.offsetHeight{const n=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");e=`^(?:${e.replace(/{{(.*?)}}/g,(e,t)=>{var t=t.trim(),r=a[t];return"query"!==t&&r?(t=new RegExp(r,"i"),(r=s.match(t))?n(r[1]):""):n(s)})})$`;return new RegExp(e,"i")},c=e=>{const{comboBoxEl:t,selectEl:r,inputEl:s,listEl:a,statusEl:n,isPristine:i,disableFiltering:o}=S(e);let c,l;const u=a.id+"--option-";var d=(s.value||"").toLowerCase(),e=t.dataset.filter||U,p=$(e,d,t.dataset);const b=[];for(let e=0,t=r.options.length;e{var r=u+t,s=[y];let a="-1",n="false";r===c&&(s.push(A,E),a="0",n="true"),c||0!==t||(s.push(E),a="0");var i=document.createElement("li");return i.setAttribute("aria-setsize",b.length),i.setAttribute("aria-posinset",t+1),i.setAttribute("aria-selected",n),i.setAttribute("id",r),i.setAttribute("class",s.join(" ")),i.setAttribute("tabindex",a),i.setAttribute("role","option"),i.setAttribute("data-value",e.value),i.textContent=e.text,i}),v=document.createElement("li");v.setAttribute("class",y+"--no-results"),v.textContent="No results found",a.hidden=!1,e?(a.innerHTML="",m.forEach(e=>a.insertAdjacentElement("beforeend",e))):(a.innerHTML="",a.insertAdjacentElement("beforeend",v)),s.setAttribute("aria-expanded","true"),n.textContent=e?e+` result${1{var{inputEl:e,listEl:t,statusEl:r,focusedOptionEl:s}=S(e);r.innerHTML="",e.setAttribute("aria-expanded","false"),e.setAttribute("aria-activedescendant",""),s&&s.classList.remove(E),t.scrollTop=0,t.hidden=!0},T=e=>{var{comboBoxEl:t,selectEl:r,inputEl:s}=S(e);_(r,e.dataset.value),_(s,e.textContent),t.classList.add(f),l(t),s.focus()},k=e=>{var{comboBoxEl:r,selectEl:s,inputEl:a}=S(e),n=s.value,i=(a.value||"").toLowerCase();if(n)for(let e=0,t=s.options.length;e{var{comboBoxEl:t,listEl:r}=S(e.target),r=(r.hidden&&c(t),r.querySelector(L)||r.querySelector(i));r&&C(t,r),e.preventDefault()},q=e=>{var t=e.target,r=t.nextSibling;r&&C(t,r),e.preventDefault()},N=e=>{var{comboBoxEl:t,listEl:r,focusedOptionEl:s}=S(e.target),s=s&&s.previousSibling,r=!r.hidden;C(t,s),r&&e.preventDefault(),s||l(t)};a=a({[e]:{[u](){var e,t;this.disabled||(e=this,{comboBoxEl:e,listEl:t}=S(e),t.hidden&&c(e))},[p](){var e,t,r;this.disabled||(e=this,{comboBoxEl:e,listEl:t,inputEl:r}=S(e),(t.hidden?c:l)(e),r.focus())},[i](){this.disabled||T(this)},[d](){var e,t,r,s;this.disabled||(e=this,{comboBoxEl:e,listEl:s,selectEl:t,inputEl:r}=S(e),s=!s.hidden,t.value&&_(t),r.value&&_(r),e.classList.remove(f),s&&c(e),r.focus())}},focusout:{[j](e){this.contains(e.relatedTarget)||(k(this),l(this))}},keydown:{[j]:r({Escape:e=>{var{comboBoxEl:e,inputEl:t}=S(e.target);l(e),k(e),t.focus()}}),[u]:r({Enter:e=>{var{comboBoxEl:t,listEl:r}=S(e.target),r=!r.hidden;(e=>{var{comboBoxEl:r,selectEl:s,inputEl:a,statusEl:e}=S(e),n=(e.textContent="",(a.value||"").toLowerCase());if(n)for(let e=0,t=s.options.length;e{T(e.target),e.preventDefault()}," ":e=>{T(e.target),e.preventDefault()},"Shift+Tab":()=>{}})},input:{[u](){this.closest(j).classList.remove(f),c(this)}},mouseover:{[i](){var e;(e=this).classList.contains(E)||C(e,e,{preventScroll:!0})}}},{init(e){s(j,e).forEach(e=>{o(e)})},getComboBoxContext:S,enhanceComboBox:o,generateDynamicRegExp:$,disable:D,enable:e=>{var{inputEl:e,toggleListBtnEl:t,clearInputBtnEl:r}=S(e);r.hidden=!1,r.disabled=!1,t.disabled=!1,e.disabled=!1},displayList:c,hideList:l,COMBO_BOX_CLASS:n});t.exports=a},{"../../uswds-core/src/js/config":36,"../../uswds-core/src/js/events":37,"../../uswds-core/src/js/utils/behavior":46,"../../uswds-core/src/js/utils/sanitizer":51,"../../uswds-core/src/js/utils/select-or-matches":53,"receptor/keymap":11}],20:[function(e,E,A){"use strict";const t=e("receptor/keymap");var _=e("../../uswds-core/src/js/utils/behavior");const S=e("../../uswds-core/src/js/utils/select"),P=e("../../uswds-core/src/js/utils/select-or-matches");var r=e("../../uswds-core/src/js/config")["prefix"],F=e("../../uswds-core/src/js/events")["CLICK"];const R=e("../../uswds-core/src/js/utils/active-element");var Y=e("../../uswds-core/src/js/utils/is-ios-device");const D=e("../../uswds-core/src/js/utils/sanitizer");e=r+"-date-picker";const U=e+"__wrapper",V=e+"--initialized",K=e+"--active",W=e+"__internal-input",z=e+"__external-input",Q=e+"__button",n=e+"__calendar",G=e+"__status",C=n+"__date",Z=C+"--focused",X=C+"--selected",J=C+"--previous-month",ee=C+"--current-month",te=C+"--next-month",re=C+"--range-date",se=C+"--today",ae=C+"--range-date-start",ne=C+"--range-date-end",ie=C+"--within-range",oe=n+"__previous-year",ce=n+"__previous-month",le=n+"__next-year",ue=n+"__next-month",de=n+"__month-selection",pe=n+"__year-selection",p=n+"__month",be=p+"--focused",fe=p+"--selected",x=n+"__year",he=x+"--focused",me=x+"--selected",ve=n+"__previous-year-chunk",ge=n+"__next-year-chunk",we=n+"__date-picker",ye=n+"__month-picker",Ee=n+"__year-picker",$=n+"__table",Ae=n+"__row",T=n+"__cell",k=T+"--center-items",xe=n+"__month-label",je=n+"__day-of-week",f="."+e,Le="."+Q,_e="."+W,h="."+z,m="."+n,Se="."+G;r="."+C;const o="."+Z;e="."+ee;const De="."+oe,Ce="."+ce,$e="."+le,Te="."+ue;var ke="."+pe,Me="."+de,qe="."+p;const v="."+x,Ne="."+ve,Ie="."+ge,M="."+we;var Oe="."+ye;const Be="."+Ee,He="."+be,c="."+he,Pe="Please enter a valid date",Fe=["January","February","March","April","May","June","July","August","September","October","November","December"],Re=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],j=12,Ye="MM/DD/YYYY",Ue="YYYY-MM-DD";var s=(...e)=>e.map(e=>e+":not([disabled])").join(", "),Ve=s(De,Ce,ke,Me,$e,Te,o),Ke=s(He),s=s(Ne,Ie,c);const We=(e,t)=>(t!==e.getMonth()&&e.setDate(0),e),ze=(e,t,r)=>{var s=new Date(0);return s.setFullYear(e,t,r),s},Qe=()=>{var e=new Date,t=e.getDate(),r=e.getMonth(),e=e.getFullYear();return ze(e,r,t)},Ge=e=>{var t=new Date(0);return t.setFullYear(e.getFullYear(),e.getMonth(),1),t},Ze=e=>{var t=new Date(0);return t.setFullYear(e.getFullYear(),e.getMonth()+1,0),t},q=(e,t)=>{e=new Date(e.getTime());return e.setDate(e.getDate()+t),e},Xe=(e,t)=>q(e,-t),Je=(e,t)=>q(e,7*t),et=e=>{var t=e.getDay();return Xe(e,t)},N=(e,t)=>{var e=new Date(e.getTime()),r=(e.getMonth()+12+t)%12;return e.setMonth(e.getMonth()+t),We(e,r),e},tt=(e,t)=>N(e,-t),rt=(e,t)=>N(e,12*t),st=(e,t)=>rt(e,-t),b=(e,t)=>{e=new Date(e.getTime());return e.setMonth(t),We(e,t),e},L=(e,t)=>{var e=new Date(e.getTime()),r=e.getMonth();return e.setFullYear(t),We(e,r),e},at=(e,t)=>{let r=t{let r=ee&&t&&e.getFullYear()===t.getFullYear(),I=(e,t)=>it(e,t)&&e.getMonth()===t.getMonth(),O=(e,t)=>I(e,t)&&e.getDate()===t.getDate(),l=(e,t,r)=>{let s=e;return et<=e&&(!r||e<=r),ct=(e,t,r)=>Ze(e)r,lt=(e,t,r)=>Ze(b(e,11))r,g=(s,a=Ue,n=!1)=>{let i,o,c,l,u;if(s){let e,t,r;a===Ye?[e,t,r]=s.split("/"):[r,e,t]=s.split("-"),r&&(u=parseInt(r,10),Number.isNaN(u)||(l=u,n&&(l=Math.max(0,l),r.length<3)&&(s=(a=Qe().getFullYear())-a%10**r.length,l=s+u))),e&&(u=parseInt(e,10),Number.isNaN(u)||(o=u,n&&(o=Math.max(1,o),o=Math.min(12,o)))),o&&t&&null!=l&&(u=parseInt(t,10),Number.isNaN(u)||(c=u,n&&(a=ze(l,o,0).getDate(),c=Math.max(1,c),c=Math.min(a,c)))),o&&c&&null!=l&&(i=ze(l,o-1,c))}return i},B=(e,t=Ue)=>{var r=(e,t)=>("0000"+e).slice(-t),s=e.getMonth()+1,a=e.getDate(),e=e.getFullYear();return t===Ye?[r(s,2),r(a,2),r(e,4)].join("/"):[r(e,4),r(s,2),r(a,2)].join("-")},ut=(e,t)=>{var r=[],s=[];let a=0;for(;a{i.insertAdjacentElement("beforeend",e)}),r.push(i)}return r},dt=e=>{const t=document.createElement("tbody");return e.forEach(e=>{t.insertAdjacentElement("beforeend",e)}),t},pt=(e,t="")=>{e.value=t,t=new CustomEvent("change",{bubbles:!0,cancelable:!0,detail:{value:t}});e.dispatchEvent(t)},H=e=>{e=e.closest(f);if(!e)throw new Error("Element is missing outer "+f);var t=e.querySelector(_e),r=e.querySelector(h),s=e.querySelector(m),a=e.querySelector(Le),n=e.querySelector(Se),i=e.querySelector(v),o=g(r.value,Ye,!0),c=g(t.value),l=g(s.dataset.value),u=g(e.dataset.minDate),d=g(e.dataset.maxDate),p=g(e.dataset.rangeDate),b=g(e.dataset.defaultDate);if(u&&d&&d{var{externalInputEl:e,toggleBtnEl:t}=H(e);t.disabled=!0,e.disabled=!0},ft=e=>{var{externalInputEl:e,toggleBtnEl:t}=H(e);t.setAttribute("aria-disabled",!0),e.setAttribute("aria-disabled",!0)};const ht=e=>{var t,r,s,a,{externalInputEl:e,minDate:n,maxDate:i}=H(e),e=e.value;let o=!1;return o=e&&(o=!0,[t,r,s]=(e=e.split("/")).map(e=>{let t;e=parseInt(e,10);return t=Number.isNaN(e)?t:e}),t)&&r&&null!=s&&(a=ze(s,t-1,r)).getMonth()===t-1&&a.getDate()===r&&a.getFullYear()===s&&4===e[2].length&&ot(a,n,i)?!1:o},mt=e=>{var e=H(e)["externalInputEl"],t=ht(e);t&&!e.validationMessage&&e.setCustomValidity(Pe),t||e.validationMessage!==Pe||e.setCustomValidity("")},vt=(e,t)=>{var r,s,a=g(t);a&&(a=B(a,Ye),{datePickerEl:e,internalInputEl:r,externalInputEl:s}=H(e),pt(r,t),pt(s,a),mt(e))},u=(e,t)=>{const{datePickerEl:r,calendarEl:s,statusEl:a,selectedDate:d,maxDate:p,minDate:b,rangeDate:f}=H(e),h=Qe();let n=t||h;e=s.hidden;const m=q(n,0);var i=n.getMonth(),t=n.getFullYear();const v=tt(n,1),g=N(n,1);var o=B(n),c=Ge(n),l=I(n,b),u=I(n,p),w=d||n;const y=f&&at(w,f),E=f&&nt(w,f),A=f&&q(y,1),x=f&&Xe(E,1);for(var w=Fe[i],j=(n=et(c),[]);j.length<28||n.getMonth()===i||j.length%7!=0;)j.push((e=>{var t=[C],r=e.getDate(),s=e.getMonth(),a=e.getFullYear(),n=e.getDay(),i=B(e);let o="-1";var c=!ot(e,b,p),l=O(e,d),e=(I(e,v)&&t.push(J),I(e,m)&&t.push(ee),I(e,g)&&t.push(te),l&&t.push(X),O(e,h)&&t.push(se),f&&(O(e,f)&&t.push(re),O(e,y)&&t.push(ae),O(e,E)&&t.push(ne),ot(e,A,x))&&t.push(ie),O(e,m)&&(o="0",t.push(Z)),Fe[s]),n=Re[n],u=document.createElement("button");return u.setAttribute("type","button"),u.setAttribute("tabindex",o),u.setAttribute("class",t.join(" ")),u.setAttribute("data-day",r),u.setAttribute("data-month",s+1),u.setAttribute("data-year",a),u.setAttribute("data-value",i),u.setAttribute("aria-label",D.escapeHTML`${r} ${e} ${a} ${n}`),u.setAttribute("aria-selected",l?"true":"false"),!0==c&&(u.disabled=!0),u.textContent=r,u})(n)),n=q(n,1);var c=ut(j,7),L=s.cloneNode(),o=(L.dataset.value=o,L.style.top=r.offsetHeight+"px",L.hidden=!1,L.innerHTML=D.escapeHTML` +
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+ `,document.createElement("table")),l=(o.setAttribute("class",$),document.createElement("thead"));o.insertAdjacentElement("beforeend",l);const _=document.createElement("tr"),S=(l.insertAdjacentElement("beforeend",_),{Sunday:"S",Monday:"M",Tuesday:"T",Wednesday:"W",Thursday:"Th",Friday:"Fr",Saturday:"S"});Object.keys(S).forEach(e=>{var t=document.createElement("th");t.setAttribute("class",je),t.setAttribute("scope","col"),t.setAttribute("aria-label",e),t.textContent=S[e],_.insertAdjacentElement("beforeend",t)});u=dt(c);o.insertAdjacentElement("beforeend",u);L.querySelector(M).insertAdjacentElement("beforeend",o),s.parentNode.replaceChild(L,s),r.classList.add(K);l=[];return O(d,m)&&l.push("Selected date"),e?(l.push("You can navigate by day using left and right arrows","Weeks by using up and down arrows","Months by using page up and page down keys","Years by using shift plus page up and shift plus page down","Home and end keys navigate to the beginning and end of a week"),a.textContent=""):l.push(w+" "+t),a.textContent=l.join(". "),L},gt=e=>{var{datePickerEl:e,calendarEl:t,statusEl:r}=H(e);e.classList.remove(K),t.hidden=!0,r.textContent=""},wt=e=>{var{calendarEl:e,inputDate:t,minDate:r,maxDate:s}=H(e);!e.hidden&&t&&(t=l(t,r,s),u(e,t))},yt=(e,t)=>{const{calendarEl:r,statusEl:s,calendarDate:o,minDate:c,maxDate:l}=H(e),u=o.getMonth(),d=null==t?u:t;var e=Fe.map((e,t)=>{var r=b(o,t),r=ct(r,c,l);let s="-1";var a=[p],n=t===u,i=(t===d&&(s="0",a.push(be)),n&&a.push(fe),document.createElement("button"));return i.setAttribute("type","button"),i.setAttribute("tabindex",s),i.setAttribute("class",a.join(" ")),i.setAttribute("data-value",t),i.setAttribute("data-label",e),i.setAttribute("aria-selected",n?"true":"false"),!0===r&&(i.disabled=!0),i.textContent=e,i}),t=document.createElement("div"),a=(t.setAttribute("tabindex","-1"),t.setAttribute("class",ye),document.createElement("table")),e=(a.setAttribute("class",$),a.setAttribute("role","presentation"),ut(e,3)),e=dt(e),e=(a.insertAdjacentElement("beforeend",e),t.insertAdjacentElement("beforeend",a),r.cloneNode());return e.insertAdjacentElement("beforeend",t),r.parentNode.replaceChild(e,r),s.textContent="Select a month.",e},d=(e,t)=>{var{calendarEl:e,statusEl:r,calendarDate:s,minDate:a,maxDate:n}=H(e),i=s.getFullYear(),o=null==t?i:t,t=o,c=(t-=t%j,t=Math.max(0,t),lt(L(s,t-1),a,n)),l=lt(L(s,t+j),a,n),u=[];let d=t;for(;u.length{var{datePickerEl:t,externalInputEl:r}=H(e.target);gt(t),r.focus(),e.preventDefault()};var a=i=>e=>{var{calendarEl:t,calendarDate:r,minDate:s,maxDate:a}=H(e.target),n=i(r),n=l(n,s,a);O(r,n)||u(t,n).querySelector(o).focus(),e.preventDefault()},At=a(e=>{return e=e,t=1,Je(e,-t);var t}),xt=a(e=>Je(e,1)),jt=a(e=>Xe(e,1)),Lt=a(e=>q(e,1)),_t=a(e=>et(e)),St=a(e=>{return t=(e=e).getDay(),q(e,6-t);var t}),Dt=a(e=>N(e,1)),Ct=a(e=>tt(e,1)),$t=a(e=>rt(e,1)),a=a(e=>st(e,1));var i=o=>e=>{var t=e.target,r=parseInt(t.dataset.value,10),{calendarEl:t,calendarDate:s,minDate:a,maxDate:n}=H(t),i=b(s,r),r=o(r),r=Math.max(0,Math.min(11,r)),s=b(s,r),r=l(s,a,n);I(i,r)||yt(t,r.getMonth()).querySelector(He).focus(),e.preventDefault()},Tt=i(e=>e-3),kt=i(e=>e+3),Mt=i(e=>e-1),qt=i(e=>e+1),Nt=i(e=>e-e%3),It=i(e=>e+2-e%3),Ot=i(()=>11),i=i(()=>0);var w=o=>e=>{var t=e.target,r=parseInt(t.dataset.value,10),{calendarEl:t,calendarDate:s,minDate:a,maxDate:n}=H(t),i=L(s,r),r=o(r),r=Math.max(0,r),s=L(s,r),r=l(s,a,n);it(i,r)||d(t,r.getFullYear()).querySelector(c).focus(),e.preventDefault()},Bt=w(e=>e-3),Ht=w(e=>e+3),Pt=w(e=>e-1),Ft=w(e=>e+1),Rt=w(e=>e-e%3),Yt=w(e=>e+2-e%3),Ut=w(e=>e-j),w=w(e=>e+j);var y=n=>{const a=e=>{var e=H(e)["calendarEl"],e=S(n,e),t=e.length-1,r=e[0],s=e[t],a=e.indexOf(R());return{focusableElements:e,isNotFound:-1===a,firstTabStop:r,isFirstTab:0===a,lastTabStop:s,isLastTab:a===t}};return{tabAhead(e){var{firstTabStop:t,isLastTab:r,isNotFound:s}=a(e.target);(r||s)&&(e.preventDefault(),t.focus())},tabBack(e){var{lastTabStop:t,isFirstTab:r,isNotFound:s}=a(e.target);(r||s)&&(e.preventDefault(),t.focus())}}},Ve=y(Ve),Ke=y(Ke),y=y(s),s={[F]:{[Le](){var e,t,r,s,a,n;(e=this).disabled||({calendarEl:t,inputDate:n,minDate:r,maxDate:s,defaultDate:a}=H(e),t.hidden?(n=l(n||a||Qe(),r,s),u(t,n).querySelector(o).focus()):gt(e))},[r](){var e,t,r;(e=this).disabled||({datePickerEl:t,externalInputEl:r}=H(e),vt(e,e.dataset.value),gt(t),r.focus())},[qe](){var e,t,r,s,a;(e=this).disabled||({calendarEl:t,calendarDate:a,minDate:r,maxDate:s}=H(e),e=parseInt(e.dataset.value,10),a=b(a,e),a=l(a,r,s),u(t,a).querySelector(o).focus())},[v](){var e,t,r,s,a;(e=this).disabled||({calendarEl:t,calendarDate:a,minDate:r,maxDate:s}=H(e),e=parseInt(e.innerHTML,10),a=L(a,e),a=l(a,r,s),u(t,a).querySelector(o).focus())},[Ce](){var t=this;if(!t.disabled){var{calendarEl:t,calendarDate:r,minDate:s,maxDate:a}=H(t),r=tt(r,1),r=l(r,s,a),s=u(t,r);let e=s.querySelector(Ce);(e=e.disabled?s.querySelector(M):e).focus()}},[Te](){var t=this;if(!t.disabled){var{calendarEl:t,calendarDate:r,minDate:s,maxDate:a}=H(t),r=N(r,1),r=l(r,s,a),s=u(t,r);let e=s.querySelector(Te);(e=e.disabled?s.querySelector(M):e).focus()}},[De](){var t=this;if(!t.disabled){var{calendarEl:t,calendarDate:r,minDate:s,maxDate:a}=H(t),r=st(r,1),r=l(r,s,a),s=u(t,r);let e=s.querySelector(De);(e=e.disabled?s.querySelector(M):e).focus()}},[$e](){var t=this;if(!t.disabled){var{calendarEl:t,calendarDate:r,minDate:s,maxDate:a}=H(t),r=rt(r,1),r=l(r,s,a),s=u(t,r);let e=s.querySelector($e);(e=e.disabled?s.querySelector(M):e).focus()}},[Ne](){var t=this;if(!t.disabled){var{calendarEl:t,calendarDate:r,minDate:s,maxDate:a}=H(t),n=t.querySelector(c),n=parseInt(n.textContent,10)-j,n=Math.max(0,n),r=L(r,n),n=l(r,s,a),r=d(t,n.getFullYear());let e=r.querySelector(Ne);(e=e.disabled?r.querySelector(Be):e).focus()}},[Ie](){var t=this;if(!t.disabled){var{calendarEl:t,calendarDate:r,minDate:s,maxDate:a}=H(t),n=t.querySelector(c),n=parseInt(n.textContent,10)+j,n=Math.max(0,n),r=L(r,n),n=l(r,s,a),r=d(t,n.getFullYear());let e=r.querySelector(Ie);(e=e.disabled?r.querySelector(Be):e).focus()}},[Me](){yt(this).querySelector(He).focus()},[ke](){d(this).querySelector(c).focus()}},keyup:{[m](e){var t=this.dataset.keydownKeyCode;""+e.keyCode!==t&&e.preventDefault()}},keydown:{[h](e){13===e.keyCode&&mt(this)},[r]:t({Up:At,ArrowUp:At,Down:xt,ArrowDown:xt,Left:jt,ArrowLeft:jt,Right:Lt,ArrowRight:Lt,Home:_t,End:St,PageDown:Dt,PageUp:Ct,"Shift+PageDown":$t,"Shift+PageUp":a,Tab:Ve.tabAhead}),[M]:t({Tab:Ve.tabAhead,"Shift+Tab":Ve.tabBack}),[qe]:t({Up:Tt,ArrowUp:Tt,Down:kt,ArrowDown:kt,Left:Mt,ArrowLeft:Mt,Right:qt,ArrowRight:qt,Home:Nt,End:It,PageDown:Ot,PageUp:i}),[Oe]:t({Tab:Ke.tabAhead,"Shift+Tab":Ke.tabBack}),[v]:t({Up:Bt,ArrowUp:Bt,Down:Ht,ArrowDown:Ht,Left:Pt,ArrowLeft:Pt,Right:Ft,ArrowRight:Ft,Home:Rt,End:Yt,PageDown:w,PageUp:Ut}),[Be]:t({Tab:y.tabAhead,"Shift+Tab":y.tabBack}),[m](e){this.dataset.keydownKeyCode=e.keyCode},[f](e){t({Escape:Et})(e)}},focusout:{[h](){mt(this)},[f](e){this.contains(e.relatedTarget)||gt(this)}},input:{[h](){{var t=this,{internalInputEl:r,inputDate:s}=H(t);let e="";s&&!ht(t)&&(e=B(s)),r.value!==e&&pt(r,e)}wt(this)}}},F=(Y()||(s.mouseover={[e](){var e,t,r;(e=this).disabled||(r=(t=e.closest(m)).dataset.value,(e=e.dataset.value)!==r&&(r=g(e),u(t,r).querySelector(o).focus()))},[qe](){var e,t;(e=this).disabled||e.classList.contains(be)||(t=parseInt(e.dataset.value,10),yt(e,t).querySelector(He).focus())},[v](){var e,t;(e=this).disabled||e.classList.contains(he)||(t=parseInt(e.dataset.value,10),d(e,t).querySelector(c).focus())}}),_(s,{init(e){P(f,e).forEach(e=>{var t=(e=e.closest(f)).dataset.defaultValue,r=e.querySelector("input");if(!r)throw new Error(f+" is missing inner input");r.value&&(r.value="");var s=g(e.dataset.minDate||r.getAttribute("min"));e.dataset.minDate=s?B(s):"0000-01-01",(s=g(e.dataset.maxDate||r.getAttribute("max")))&&(e.dataset.maxDate=B(s));(s=document.createElement("div")).classList.add(U);var a=r.cloneNode();a.classList.add(z),a.type="text",s.appendChild(a),s.insertAdjacentHTML("beforeend",D.escapeHTML` + + +
`),r.setAttribute("aria-hidden","true"),r.setAttribute("tabindex","-1"),r.style.display="none",r.classList.add(W),r.removeAttribute("id"),r.removeAttribute("name"),r.required=!1,e.appendChild(s),e.classList.add(V),t&&vt(e,t),r.disabled&&(bt(e),r.disabled=!1),r.hasAttribute("aria-disabled")&&(ft(e),r.removeAttribute("aria-disabled"))})},getDatePickerContext:H,disable:bt,ariaDisable:ft,enable:e=>{var{externalInputEl:e,toggleBtnEl:t}=H(e);t.disabled=!1,e.disabled=!1},isDateInputInvalid:ht,setCalendarValue:vt,validateDateInput:mt,renderCalendar:u,updateCalendarIfVisible:wt}));E.exports=F},{"../../uswds-core/src/js/config":36,"../../uswds-core/src/js/events":37,"../../uswds-core/src/js/utils/active-element":45,"../../uswds-core/src/js/utils/behavior":46,"../../uswds-core/src/js/utils/is-ios-device":50,"../../uswds-core/src/js/utils/sanitizer":51,"../../uswds-core/src/js/utils/select":54,"../../uswds-core/src/js/utils/select-or-matches":53,"receptor/keymap":11}],21:[function(e,t,r){"use strict";var s=e("../../uswds-core/src/js/utils/behavior");const a=e("../../uswds-core/src/js/utils/select"),n=e("../../uswds-core/src/js/utils/select-or-matches");var i=e("../../uswds-core/src/js/config")["prefix"];const{getDatePickerContext:o,isDateInputInvalid:c,updateCalendarIfVisible:l}=e("../../usa-date-picker/src/index");e=i+"-date-range-picker";const u=e+"__range-start",d=e+"__range-end",p="."+(i+"-date-picker"),b="."+e,f="."+u,h="."+d,m=e=>{var t,r,e=e.closest(b);if(e)return t=e.querySelector(f),r=e.querySelector(h),{dateRangePickerEl:e,rangeStartEl:t,rangeEndEl:r};throw new Error("Element is missing outer "+b)},v=e=>{var{dateRangePickerEl:e,rangeStartEl:t,rangeEndEl:r}=m(e),t=o(t)["internalInputEl"],s=t.value;s&&!c(t)?(r.dataset.minDate=s,r.dataset.rangeDate=s,r.dataset.defaultDate=s):(r.dataset.minDate=e.dataset.minDate||"",r.dataset.rangeDate="",r.dataset.defaultDate=""),l(r)},g=e=>{var{dateRangePickerEl:e,rangeStartEl:t,rangeEndEl:r}=m(e),r=o(r)["internalInputEl"],s=r.value;s&&!c(r)?(t.dataset.maxDate=s,t.dataset.rangeDate=s,t.dataset.defaultDate=s):(t.dataset.maxDate=e.dataset.maxDate||"",t.dataset.rangeDate="",t.dataset.defaultDate=""),l(t)};i=s({"input change":{[f](){v(this)},[h](){g(this)}}},{init(e){n(b,e).forEach(e=>{var e=(e=e).closest(b),[t,r]=a(p,e);if(!t)throw new Error(`${b} is missing inner two '${p}' elements`);if(!r)throw new Error(`${b} is missing second '${p}' element`);t.classList.add(u),r.classList.add(d),e.dataset.minDate||(e.dataset.minDate="0000-01-01");var s=e.dataset["minDate"];(s=(t.dataset.minDate=s,r.dataset.minDate=s,e.dataset)["maxDate"])&&(t.dataset.maxDate=s,r.dataset.maxDate=s),v(e),g(e)})}});t.exports=i},{"../../usa-date-picker/src/index":20,"../../uswds-core/src/js/config":36,"../../uswds-core/src/js/utils/behavior":46,"../../uswds-core/src/js/utils/select":54,"../../uswds-core/src/js/utils/select-or-matches":53}],22:[function(e,t,I){"use strict";const r=e("../../uswds-core/src/js/utils/select-or-matches");var s=e("../../uswds-core/src/js/utils/behavior");const g=e("../../uswds-core/src/js/utils/sanitizer");e=e("../../uswds-core/src/js/config").prefix;const w=e+"-file-input",c="."+w,l=e+"-file-input__input",u=e+"-file-input__target",a="."+l,d=e+"-file-input__box",p=e+"-file-input__instructions",y=e+"-file-input__preview",o=e+"-file-input__preview-heading",b=e+"-file-input--disabled",f=e+"-file-input__choose",E=e+"-file-input__accepted-files-message",h=e+"-file-input__drag-text",n=e+"-file-input--drag",A="is-loading",x="has-invalid-file",j=e+"-file-input__preview-image",L=j+"--generic",_=j+"--pdf",S=j+"--word",D=j+"--video",C=j+"--excel",$=e+"-sr-only",T="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";let k=Boolean(!0),M="",m="";const v=e=>{var t,e=e.closest(c);if(e)return t=e.querySelector(a),{dropZoneEl:e,inputEl:t};throw new Error("Element is missing outer "+c)};const i=e=>{var t=e.charCodeAt(0);return 32===t?"-":65<=t&&t<=90?"img_"+e.toLowerCase():"__"+t.toString(16).slice(-4)},O=e=>e.replace(/[^a-z0-9]/g,i),B=e=>e+"-"+Math.floor(Date.now().toString()/1e3),q=e=>{return e.hasAttribute("multiple")?"files":"file"},H=e=>{var t,r,s,a=e.hasAttribute("aria-disabled")||e.hasAttribute("disabled"),n=(t=e,r=document.createElement("div"),i=document.createElement("div"),n=document.createElement("div"),t.classList.remove(w),t.classList.add(l),r.classList.add(w),n.classList.add(d),i.classList.add(u),i.prepend(n),t.parentNode.insertBefore(i,t),t.parentNode.insertBefore(r,i),i.appendChild(t),r.appendChild(i),i),i=(r=(t=e).closest(c),i=q(t),s=document.createElement("div"),i=`Drag ${i} here or`,o="choose from folder",M=i+" "+o,s.classList.add(p),s.setAttribute("aria-hidden","true"),t.setAttribute("aria-label",M),s.innerHTML=g.escapeHTML`${i} ${o}`,t.parentNode.insertBefore(s,t),(/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent))&&(r.querySelector("."+h).outerHTML=""),s),o=v(e)["dropZoneEl"];return a?o.classList.add(b):(t=e,r=document.createElement("div"),s=q(t),a=t.closest(c),t=t.closest("."+u),m=`No ${s} selected.`,r.classList.add($),r.setAttribute("aria-live","polite"),r.textContent=m,a.insertBefore(r,t)),{instructions:i,dropTarget:n}},N=(e,t)=>{var r=e.querySelectorAll("."+y),s=e.querySelector("."+o),a=e.querySelector("."+E);s&&(s.outerHTML=""),a&&(a.outerHTML="",e.classList.remove(x)),null!==r&&(t&&t.removeAttribute("hidden"),Array.prototype.forEach.call(r,e=>{e.parentNode.removeChild(e)}))},P=(e,t,r)=>{const s=e;let a=m;1===t.length?a="You have selected the file: "+r:1{s.textContent=a},1e3)},F=(e,t)=>{var r=document.createElement("div"),s=e.closest("."+u),a=s.querySelector("."+p);let n="Change file",i="";1===t.length?i=g.escapeHTML`Selected file ${n}`:1${n}`),a.setAttribute("hidden","true"),r.classList.add(o),r.innerHTML=i,s.insertBefore(r,a),e.setAttribute("aria-label",n)},R=(e,t,r,s)=>{var a=e,n=t,i=r,o=s,c=n.getAttribute("accept");if(o.classList.remove(x),c){var l=c.split(","),c=document.createElement("div");let t=!0;var u=a.target.files||a.dataTransfer.files;for(let e=0;e{let r=!1;e=e.indexOf(t);return r=0<=e?!0:r})(d.type,p.replace(/\*/g,""))){k=!0;break}}}t||(N(o,i),n.value="",o.insertBefore(c,n),c.textContent=n.dataset.errormessage||"This is not a valid file type.",c.classList.add(E),o.classList.add(x),k=!1,a.preventDefault(),a.stopPropagation())}if(!0===k){var i=t,b=r,n=s,f=(c=e).target.files,c=n.closest("."+w).querySelector("."+$),h=[];N(n,b);for(let e=0;e