From 80d4cd26be3dbb983494495fe6e62061da3dc427 Mon Sep 17 00:00:00 2001 From: Rich Garner Date: Fri, 10 Jan 2025 09:46:50 -0500 Subject: [PATCH] Initial commit --- .browserslistrc | 4 + .circleci/config.yml | 102 + .codeclimate.yml | 12 + .editorconfig | 17 + .eslintignore | 1 + .eslintrc.yml | 24 + .gitattributes | 2 + .github/CODEOWNERS | 67 + .../component-proposals.yml | 98 + .github/ISSUE_TEMPLATE.md | 29 + .github/ISSUE_TEMPLATE/bug_report.yaml | 79 + .github/ISSUE_TEMPLATE/feature_request.yaml | 52 + .github/PULL_REQUEST_TEMPLATE.md | 136 + .github/workflows/add-issue-labels.yml | 21 + .github/workflows/add-to-project.yml | 17 + .github/workflows/codeql-analysis.yml | 85 + .gitignore | 29 + .npmignore | 13 + .nvmrc | 1 + .prettierignore | 9 + .snyk | 134 + .storybook/main.js | 139 + .storybook/preview-head.html | 27 + .storybook/preview.js | 21 + .stylelintrc.json | 11 + .tool-versions | 1 + CONTRIBUTING.md | 149 + LICENSE.md | 83 + README.md | 570 ++ SECURITY.md | 22 + assets/css/styles.css | 2 + assets/css/styles.css.map | 1 + .../merriweather/Latin-Merriweather-Black.ttf | Bin 0 -> 47828 bytes .../Latin-Merriweather-Black.woff | Bin 0 -> 26568 bytes .../Latin-Merriweather-Black.woff2 | Bin 0 -> 21036 bytes .../Latin-Merriweather-BlackItalic.ttf | Bin 0 -> 41000 bytes .../Latin-Merriweather-BlackItalic.woff | Bin 0 -> 24324 bytes .../Latin-Merriweather-BlackItalic.woff2 | Bin 0 -> 19384 bytes .../merriweather/Latin-Merriweather-Bold.ttf | Bin 0 -> 47228 bytes .../merriweather/Latin-Merriweather-Bold.woff | Bin 0 -> 26892 bytes .../Latin-Merriweather-Bold.woff2 | Bin 0 -> 21308 bytes .../Latin-Merriweather-BoldItalic.ttf | Bin 0 -> 40472 bytes .../Latin-Merriweather-BoldItalic.woff | Bin 0 -> 24464 bytes .../Latin-Merriweather-BoldItalic.woff2 | Bin 0 -> 19568 bytes .../Latin-Merriweather-Italic.ttf | Bin 0 -> 39480 bytes .../Latin-Merriweather-Italic.woff | Bin 0 -> 24152 bytes .../Latin-Merriweather-Italic.woff2 | Bin 0 -> 19252 bytes .../merriweather/Latin-Merriweather-Light.ttf | Bin 0 -> 49164 bytes .../Latin-Merriweather-Light.woff | Bin 0 -> 26988 bytes .../Latin-Merriweather-Light.woff2 | Bin 0 -> 21260 bytes .../Latin-Merriweather-LightItalic.ttf | Bin 0 -> 39456 bytes .../Latin-Merriweather-LightItalic.woff | Bin 0 -> 23808 bytes .../Latin-Merriweather-LightItalic.woff2 | Bin 0 -> 18976 bytes .../Latin-Merriweather-Regular.ttf | Bin 0 -> 49484 bytes .../Latin-Merriweather-Regular.woff | Bin 0 -> 27512 bytes .../Latin-Merriweather-Regular.woff2 | Bin 0 -> 21692 bytes .../fonts/public-sans/PublicSans-Black.ttf | Bin 0 -> 79168 bytes .../fonts/public-sans/PublicSans-Black.woff | Bin 0 -> 38904 bytes .../fonts/public-sans/PublicSans-Black.woff2 | Bin 0 -> 31584 bytes .../public-sans/PublicSans-BlackItalic.ttf | Bin 0 -> 79016 bytes .../public-sans/PublicSans-BlackItalic.woff | Bin 0 -> 39580 bytes .../public-sans/PublicSans-BlackItalic.woff2 | Bin 0 -> 32192 bytes .../fonts/public-sans/PublicSans-Bold.ttf | Bin 0 -> 79468 bytes .../fonts/public-sans/PublicSans-Bold.woff | Bin 0 -> 40048 bytes .../fonts/public-sans/PublicSans-Bold.woff2 | Bin 0 -> 32404 bytes .../public-sans/PublicSans-BoldItalic.ttf | Bin 0 -> 79272 bytes .../public-sans/PublicSans-BoldItalic.woff | Bin 0 -> 40672 bytes .../public-sans/PublicSans-BoldItalic.woff2 | Bin 0 -> 33212 bytes .../public-sans/PublicSans-ExtraBold.ttf | Bin 0 -> 79904 bytes .../public-sans/PublicSans-ExtraBold.woff | Bin 0 -> 40144 bytes .../public-sans/PublicSans-ExtraBold.woff2 | Bin 0 -> 32700 bytes .../PublicSans-ExtraBoldItalic.ttf | Bin 0 -> 79768 bytes .../PublicSans-ExtraBoldItalic.woff | Bin 0 -> 40660 bytes .../PublicSans-ExtraBoldItalic.woff2 | Bin 0 -> 33160 bytes .../public-sans/PublicSans-ExtraLight.ttf | Bin 0 -> 80400 bytes .../public-sans/PublicSans-ExtraLight.woff | Bin 0 -> 40036 bytes .../public-sans/PublicSans-ExtraLight.woff2 | Bin 0 -> 32480 bytes .../PublicSans-ExtraLightItalic.ttf | Bin 0 -> 80296 bytes .../PublicSans-ExtraLightItalic.woff | Bin 0 -> 40504 bytes .../PublicSans-ExtraLightItalic.woff2 | Bin 0 -> 33044 bytes .../fonts/public-sans/PublicSans-Italic.ttf | Bin 0 -> 79568 bytes .../fonts/public-sans/PublicSans-Italic.woff | Bin 0 -> 40524 bytes .../fonts/public-sans/PublicSans-Italic.woff2 | Bin 0 -> 33036 bytes .../fonts/public-sans/PublicSans-Light.ttf | Bin 0 -> 79784 bytes .../fonts/public-sans/PublicSans-Light.woff | Bin 0 -> 40168 bytes .../fonts/public-sans/PublicSans-Light.woff2 | Bin 0 -> 32608 bytes .../public-sans/PublicSans-LightItalic.ttf | Bin 0 -> 79296 bytes .../public-sans/PublicSans-LightItalic.woff | Bin 0 -> 40480 bytes .../public-sans/PublicSans-LightItalic.woff2 | Bin 0 -> 32916 bytes .../fonts/public-sans/PublicSans-Medium.ttf | Bin 0 -> 79904 bytes .../fonts/public-sans/PublicSans-Medium.woff | Bin 0 -> 40244 bytes .../fonts/public-sans/PublicSans-Medium.woff2 | Bin 0 -> 32688 bytes .../public-sans/PublicSans-MediumItalic.ttf | Bin 0 -> 79372 bytes .../public-sans/PublicSans-MediumItalic.woff | Bin 0 -> 40500 bytes .../public-sans/PublicSans-MediumItalic.woff2 | Bin 0 -> 33088 bytes .../fonts/public-sans/PublicSans-Regular.ttf | Bin 0 -> 79904 bytes .../fonts/public-sans/PublicSans-Regular.woff | Bin 0 -> 40112 bytes .../public-sans/PublicSans-Regular.woff2 | Bin 0 -> 32548 bytes .../fonts/public-sans/PublicSans-SemiBold.ttf | Bin 0 -> 79296 bytes .../public-sans/PublicSans-SemiBold.woff | Bin 0 -> 40084 bytes .../public-sans/PublicSans-SemiBold.woff2 | Bin 0 -> 32588 bytes .../public-sans/PublicSans-SemiBoldItalic.ttf | Bin 0 -> 79352 bytes .../PublicSans-SemiBoldItalic.woff | Bin 0 -> 40532 bytes .../PublicSans-SemiBoldItalic.woff2 | Bin 0 -> 33060 bytes .../fonts/public-sans/PublicSans-Thin.ttf | Bin 0 -> 77708 bytes .../fonts/public-sans/PublicSans-Thin.woff | Bin 0 -> 38480 bytes .../fonts/public-sans/PublicSans-Thin.woff2 | Bin 0 -> 31120 bytes .../public-sans/PublicSans-ThinItalic.ttf | Bin 0 -> 76964 bytes .../public-sans/PublicSans-ThinItalic.woff | Bin 0 -> 38908 bytes .../public-sans/PublicSans-ThinItalic.woff2 | Bin 0 -> 31608 bytes .../roboto-mono/roboto-mono-v5-latin-100.ttf | Bin 0 -> 31836 bytes .../roboto-mono/roboto-mono-v5-latin-100.woff | Bin 0 -> 20080 bytes .../roboto-mono-v5-latin-100.woff2 | Bin 0 -> 16656 bytes .../roboto-mono-v5-latin-100italic.ttf | Bin 0 -> 31808 bytes .../roboto-mono-v5-latin-100italic.woff | Bin 0 -> 20716 bytes .../roboto-mono-v5-latin-100italic.woff2 | Bin 0 -> 17008 bytes .../roboto-mono/roboto-mono-v5-latin-300.ttf | Bin 0 -> 32160 bytes .../roboto-mono/roboto-mono-v5-latin-300.woff | Bin 0 -> 19884 bytes .../roboto-mono-v5-latin-300.woff2 | Bin 0 -> 16380 bytes .../roboto-mono-v5-latin-300italic.ttf | Bin 0 -> 32596 bytes .../roboto-mono-v5-latin-300italic.woff | Bin 0 -> 21052 bytes .../roboto-mono-v5-latin-300italic.woff2 | Bin 0 -> 17340 bytes .../roboto-mono/roboto-mono-v5-latin-500.ttf | Bin 0 -> 31168 bytes .../roboto-mono/roboto-mono-v5-latin-500.woff | Bin 0 -> 19656 bytes .../roboto-mono-v5-latin-500.woff2 | Bin 0 -> 16016 bytes .../roboto-mono-v5-latin-500italic.ttf | Bin 0 -> 32816 bytes .../roboto-mono-v5-latin-500italic.woff | Bin 0 -> 21128 bytes .../roboto-mono-v5-latin-500italic.woff2 | Bin 0 -> 17480 bytes .../roboto-mono/roboto-mono-v5-latin-700.ttf | Bin 0 -> 31092 bytes .../roboto-mono/roboto-mono-v5-latin-700.woff | Bin 0 -> 19564 bytes .../roboto-mono-v5-latin-700.woff2 | Bin 0 -> 15956 bytes .../roboto-mono-v5-latin-700italic.ttf | Bin 0 -> 32564 bytes .../roboto-mono-v5-latin-700italic.woff | Bin 0 -> 21132 bytes .../roboto-mono-v5-latin-700italic.woff2 | Bin 0 -> 17336 bytes .../roboto-mono-v5-latin-italic.ttf | Bin 0 -> 32336 bytes .../roboto-mono-v5-latin-italic.woff | Bin 0 -> 21096 bytes .../roboto-mono-v5-latin-italic.woff2 | Bin 0 -> 17312 bytes .../roboto-mono-v5-latin-regular.ttf | Bin 0 -> 31052 bytes .../roboto-mono-v5-latin-regular.woff | Bin 0 -> 19576 bytes .../roboto-mono-v5-latin-regular.woff2 | Bin 0 -> 16028 bytes .../sourcesanspro-black-webfont.ttf | Bin 0 -> 54096 bytes .../sourcesanspro-black-webfont.woff | Bin 0 -> 24888 bytes .../sourcesanspro-black-webfont.woff2 | Bin 0 -> 19560 bytes .../sourcesanspro-blackitalic-webfont.ttf | Bin 0 -> 38784 bytes .../sourcesanspro-blackitalic-webfont.woff | Bin 0 -> 19540 bytes .../sourcesanspro-blackitalic-webfont.woff2 | Bin 0 -> 15636 bytes .../sourcesanspro-bold-webfont.ttf | Bin 0 -> 54340 bytes .../sourcesanspro-bold-webfont.woff | Bin 0 -> 26040 bytes .../sourcesanspro-bold-webfont.woff2 | Bin 0 -> 20368 bytes .../sourcesanspro-bolditalic-webfont.ttf | Bin 0 -> 38760 bytes .../sourcesanspro-bolditalic-webfont.woff | Bin 0 -> 20164 bytes .../sourcesanspro-bolditalic-webfont.woff2 | Bin 0 -> 16416 bytes .../sourcesanspro-extralight-webfont.ttf | Bin 0 -> 53996 bytes .../sourcesanspro-extralight-webfont.woff | Bin 0 -> 25184 bytes .../sourcesanspro-extralight-webfont.woff2 | Bin 0 -> 19772 bytes ...sourcesanspro-extralightitalic-webfont.ttf | Bin 0 -> 39120 bytes ...ourcesanspro-extralightitalic-webfont.woff | Bin 0 -> 19548 bytes ...urcesanspro-extralightitalic-webfont.woff2 | Bin 0 -> 15728 bytes .../sourcesanspro-italic-webfont.ttf | Bin 0 -> 38848 bytes .../sourcesanspro-italic-webfont.woff | Bin 0 -> 20204 bytes .../sourcesanspro-italic-webfont.woff2 | Bin 0 -> 16372 bytes .../sourcesanspro-light-webfont.ttf | Bin 0 -> 54504 bytes .../sourcesanspro-light-webfont.woff | Bin 0 -> 25956 bytes .../sourcesanspro-light-webfont.woff2 | Bin 0 -> 20412 bytes .../sourcesanspro-lightitalic-webfont.ttf | Bin 0 -> 39144 bytes .../sourcesanspro-lightitalic-webfont.woff | Bin 0 -> 20256 bytes .../sourcesanspro-lightitalic-webfont.woff2 | Bin 0 -> 16316 bytes .../sourcesanspro-regular-webfont.ttf | Bin 0 -> 54432 bytes .../sourcesanspro-regular-webfont.woff | Bin 0 -> 26140 bytes .../sourcesanspro-regular-webfont.woff2 | Bin 0 -> 20540 bytes .../sourcesanspro-semibold-webfont.ttf | Bin 0 -> 54400 bytes .../sourcesanspro-semibold-webfont.woff | Bin 0 -> 26144 bytes .../sourcesanspro-semibold-webfont.woff2 | Bin 0 -> 20500 bytes .../sourcesanspro-semibolditalic-webfont.ttf | Bin 0 -> 38848 bytes .../sourcesanspro-semibolditalic-webfont.woff | Bin 0 -> 20084 bytes ...sourcesanspro-semibolditalic-webfont.woff2 | Bin 0 -> 16404 bytes .../images/checkbox-indeterminate-alt.svg | 1 + .../uswds/images/checkbox-indeterminate.svg | 1 + assets/uswds/images/circle-124.png | Bin 0 -> 1352 bytes assets/uswds/images/circle-gray-20.svg | 1 + assets/uswds/images/correct8-alt.svg | 1 + assets/uswds/images/correct8.svg | 1 + assets/uswds/images/favicons/favicon-114.png | Bin 0 -> 1469 bytes assets/uswds/images/favicons/favicon-144.png | Bin 0 -> 1817 bytes assets/uswds/images/favicons/favicon-16.png | Bin 0 -> 373 bytes assets/uswds/images/favicons/favicon-192.png | Bin 0 -> 2326 bytes assets/uswds/images/favicons/favicon-40.png | Bin 0 -> 667 bytes assets/uswds/images/favicons/favicon-57.png | Bin 0 -> 896 bytes assets/uswds/images/favicons/favicon-72.png | Bin 0 -> 1029 bytes assets/uswds/images/favicons/favicon.ico | Bin 0 -> 15086 bytes assets/uswds/images/favicons/favicon.png | Bin 0 -> 2851 bytes assets/uswds/images/file-excel.svg | 1 + assets/uswds/images/file-pdf.svg | 1 + assets/uswds/images/file-video.svg | 1 + assets/uswds/images/file-word.svg | 1 + assets/uswds/images/file.svg | 1 + assets/uswds/images/hero.jpg | Bin 0 -> 146561 bytes assets/uswds/images/hero.webp | Bin 0 -> 104736 bytes assets/uswds/images/icon-dot-gov.svg | 1 + assets/uswds/images/icon-https.svg | 1 + assets/uswds/images/loader.gif | Bin 0 -> 7437 bytes assets/uswds/images/loader.svg | 1 + assets/uswds/images/lock.svg | 1 + assets/uswds/images/logo-img.png | Bin 0 -> 1022 bytes .../images/material-icons-deprecated/eco.svg | 1 + .../material-icons-deprecated/facebook.svg | 1 + .../info_outline.svg | 1 + .../lightbulb_outline.svg | 1 + .../lock_outline.svg | 1 + assets/uswds/images/material-icons/10k.svg | 1 + assets/uswds/images/material-icons/10mp.svg | 1 + assets/uswds/images/material-icons/11mp.svg | 1 + assets/uswds/images/material-icons/123.svg | 1 + assets/uswds/images/material-icons/12mp.svg | 1 + assets/uswds/images/material-icons/13mp.svg | 1 + assets/uswds/images/material-icons/14mp.svg | 1 + assets/uswds/images/material-icons/15mp.svg | 1 + assets/uswds/images/material-icons/16mp.svg | 1 + assets/uswds/images/material-icons/17mp.svg | 1 + .../images/material-icons/18_up_rating.svg | 1 + assets/uswds/images/material-icons/18mp.svg | 1 + assets/uswds/images/material-icons/19mp.svg | 1 + assets/uswds/images/material-icons/1k.svg | 1 + .../uswds/images/material-icons/1k_plus.svg | 1 + .../images/material-icons/1x_mobiledata.svg | 1 + assets/uswds/images/material-icons/20mp.svg | 1 + assets/uswds/images/material-icons/21mp.svg | 1 + assets/uswds/images/material-icons/22mp.svg | 1 + assets/uswds/images/material-icons/23mp.svg | 1 + assets/uswds/images/material-icons/24mp.svg | 1 + assets/uswds/images/material-icons/2k.svg | 1 + .../uswds/images/material-icons/2k_plus.svg | 1 + assets/uswds/images/material-icons/2mp.svg | 1 + assets/uswds/images/material-icons/30fps.svg | 1 + .../images/material-icons/30fps_select.svg | 1 + assets/uswds/images/material-icons/360.svg | 1 + .../images/material-icons/3d_rotation.svg | 1 + .../images/material-icons/3g_mobiledata.svg | 1 + assets/uswds/images/material-icons/3k.svg | 1 + .../uswds/images/material-icons/3k_plus.svg | 1 + assets/uswds/images/material-icons/3mp.svg | 1 + assets/uswds/images/material-icons/3p.svg | 1 + .../images/material-icons/4g_mobiledata.svg | 1 + .../material-icons/4g_plus_mobiledata.svg | 1 + assets/uswds/images/material-icons/4k.svg | 1 + .../uswds/images/material-icons/4k_plus.svg | 1 + assets/uswds/images/material-icons/4mp.svg | 1 + assets/uswds/images/material-icons/5g.svg | 1 + assets/uswds/images/material-icons/5k.svg | 1 + .../uswds/images/material-icons/5k_plus.svg | 1 + assets/uswds/images/material-icons/5mp.svg | 1 + assets/uswds/images/material-icons/60fps.svg | 1 + .../images/material-icons/60fps_select.svg | 1 + .../images/material-icons/6_ft_apart.svg | 1 + assets/uswds/images/material-icons/6k.svg | 1 + .../uswds/images/material-icons/6k_plus.svg | 1 + assets/uswds/images/material-icons/6mp.svg | 1 + assets/uswds/images/material-icons/7k.svg | 1 + .../uswds/images/material-icons/7k_plus.svg | 1 + assets/uswds/images/material-icons/7mp.svg | 1 + assets/uswds/images/material-icons/8k.svg | 1 + .../uswds/images/material-icons/8k_plus.svg | 1 + assets/uswds/images/material-icons/8mp.svg | 1 + assets/uswds/images/material-icons/9k.svg | 1 + .../uswds/images/material-icons/9k_plus.svg | 1 + assets/uswds/images/material-icons/9mp.svg | 1 + assets/uswds/images/material-icons/abc.svg | 1 + .../uswds/images/material-icons/ac_unit.svg | 1 + .../images/material-icons/access_alarm.svg | 1 + .../images/material-icons/access_alarms.svg | 1 + .../images/material-icons/access_time.svg | 1 + .../material-icons/access_time_filled.svg | 1 + .../images/material-icons/accessibility.svg | 1 + .../material-icons/accessibility_new.svg | 1 + .../images/material-icons/accessible.svg | 1 + .../material-icons/accessible_forward.svg | 1 + .../images/material-icons/account_balance.svg | 1 + .../material-icons/account_balance_wallet.svg | 1 + .../images/material-icons/account_box.svg | 1 + .../images/material-icons/account_circle.svg | 1 + .../images/material-icons/account_tree.svg | 1 + .../uswds/images/material-icons/ad_units.svg | 1 + assets/uswds/images/material-icons/adb.svg | 1 + assets/uswds/images/material-icons/add.svg | 1 + .../images/material-icons/add_a_photo.svg | 1 + .../uswds/images/material-icons/add_alarm.svg | 1 + .../uswds/images/material-icons/add_alert.svg | 1 + .../uswds/images/material-icons/add_box.svg | 1 + .../images/material-icons/add_business.svg | 1 + .../uswds/images/material-icons/add_card.svg | 1 + .../uswds/images/material-icons/add_chart.svg | 1 + .../images/material-icons/add_circle.svg | 1 + .../material-icons/add_circle_outline.svg | 1 + .../images/material-icons/add_comment.svg | 1 + .../uswds/images/material-icons/add_home.svg | 1 + .../images/material-icons/add_home_work.svg | 1 + .../images/material-icons/add_ic_call.svg | 1 + .../uswds/images/material-icons/add_link.svg | 1 + .../images/material-icons/add_location.svg | 1 + .../material-icons/add_location_alt.svg | 1 + .../images/material-icons/add_moderator.svg | 1 + .../material-icons/add_photo_alternate.svg | 1 + .../images/material-icons/add_reaction.svg | 1 + .../uswds/images/material-icons/add_road.svg | 1 + .../material-icons/add_shopping_cart.svg | 1 + .../uswds/images/material-icons/add_task.svg | 1 + .../images/material-icons/add_to_drive.svg | 1 + .../material-icons/add_to_home_screen.svg | 1 + .../images/material-icons/add_to_photos.svg | 1 + .../images/material-icons/add_to_queue.svg | 1 + .../uswds/images/material-icons/addchart.svg | 1 + .../images/material-icons/adf_scanner.svg | 1 + assets/uswds/images/material-icons/adjust.svg | 1 + .../material-icons/admin_panel_settings.svg | 1 + .../uswds/images/material-icons/ads_click.svg | 1 + .../images/material-icons/agriculture.svg | 1 + assets/uswds/images/material-icons/air.svg | 1 + .../material-icons/airline_seat_flat.svg | 1 + .../airline_seat_flat_angled.svg | 1 + .../airline_seat_individual_suite.svg | 1 + .../airline_seat_legroom_extra.svg | 1 + .../airline_seat_legroom_normal.svg | 1 + .../airline_seat_legroom_reduced.svg | 1 + .../airline_seat_recline_extra.svg | 1 + .../airline_seat_recline_normal.svg | 1 + .../images/material-icons/airline_stops.svg | 1 + .../uswds/images/material-icons/airlines.svg | 1 + .../images/material-icons/airplane_ticket.svg | 1 + .../material-icons/airplanemode_active.svg | 1 + .../material-icons/airplanemode_inactive.svg | 1 + .../uswds/images/material-icons/airplay.svg | 1 + .../images/material-icons/airport_shuttle.svg | 1 + assets/uswds/images/material-icons/alarm.svg | 1 + .../uswds/images/material-icons/alarm_add.svg | 1 + .../uswds/images/material-icons/alarm_off.svg | 1 + .../uswds/images/material-icons/alarm_on.svg | 1 + assets/uswds/images/material-icons/album.svg | 1 + .../align_horizontal_center.svg | 1 + .../material-icons/align_horizontal_left.svg | 1 + .../material-icons/align_horizontal_right.svg | 1 + .../material-icons/align_vertical_bottom.svg | 1 + .../material-icons/align_vertical_center.svg | 1 + .../material-icons/align_vertical_top.svg | 1 + .../uswds/images/material-icons/all_inbox.svg | 1 + .../images/material-icons/all_inclusive.svg | 1 + .../uswds/images/material-icons/all_out.svg | 1 + .../uswds/images/material-icons/alt_route.svg | 1 + .../images/material-icons/alternate_email.svg | 1 + .../uswds/images/material-icons/analytics.svg | 1 + assets/uswds/images/material-icons/anchor.svg | 1 + .../uswds/images/material-icons/android.svg | 1 + .../uswds/images/material-icons/animation.svg | 1 + .../images/material-icons/announcement.svg | 1 + assets/uswds/images/material-icons/aod.svg | 1 + .../uswds/images/material-icons/apartment.svg | 1 + assets/uswds/images/material-icons/api.svg | 1 + .../images/material-icons/app_blocking.svg | 1 + .../material-icons/app_registration.svg | 1 + .../material-icons/app_settings_alt.svg | 1 + .../images/material-icons/app_shortcut.svg | 1 + .../uswds/images/material-icons/approval.svg | 1 + assets/uswds/images/material-icons/apps.svg | 1 + .../images/material-icons/apps_outage.svg | 1 + .../images/material-icons/architecture.svg | 1 + .../uswds/images/material-icons/archive.svg | 1 + .../images/material-icons/area_chart.svg | 1 + .../images/material-icons/arrow_back.svg | 1 + .../images/material-icons/arrow_back_ios.svg | 1 + .../material-icons/arrow_back_ios_new.svg | 1 + .../material-icons/arrow_circle_down.svg | 1 + .../material-icons/arrow_circle_left.svg | 1 + .../material-icons/arrow_circle_right.svg | 1 + .../images/material-icons/arrow_circle_up.svg | 1 + .../images/material-icons/arrow_downward.svg | 1 + .../images/material-icons/arrow_drop_down.svg | 1 + .../material-icons/arrow_drop_down_circle.svg | 1 + .../images/material-icons/arrow_drop_up.svg | 1 + .../images/material-icons/arrow_forward.svg | 1 + .../material-icons/arrow_forward_ios.svg | 1 + .../images/material-icons/arrow_left.svg | 1 + .../images/material-icons/arrow_outward.svg | 1 + .../images/material-icons/arrow_right.svg | 1 + .../images/material-icons/arrow_right_alt.svg | 1 + .../images/material-icons/arrow_upward.svg | 1 + .../uswds/images/material-icons/art_track.svg | 1 + .../uswds/images/material-icons/article.svg | 1 + .../images/material-icons/aspect_ratio.svg | 1 + .../images/material-icons/assessment.svg | 1 + .../images/material-icons/assignment.svg | 1 + .../images/material-icons/assignment_ind.svg | 1 + .../images/material-icons/assignment_late.svg | 1 + .../material-icons/assignment_return.svg | 1 + .../material-icons/assignment_returned.svg | 1 + .../material-icons/assignment_turned_in.svg | 1 + .../images/material-icons/assist_walker.svg | 1 + .../uswds/images/material-icons/assistant.svg | 1 + .../material-icons/assistant_direction.svg | 1 + .../images/material-icons/assistant_photo.svg | 1 + .../material-icons/assured_workload.svg | 1 + assets/uswds/images/material-icons/atm.svg | 1 + .../images/material-icons/attach_email.svg | 1 + .../images/material-icons/attach_file.svg | 1 + .../images/material-icons/attach_money.svg | 1 + .../images/material-icons/attachment.svg | 1 + .../images/material-icons/attractions.svg | 1 + .../images/material-icons/attribution.svg | 1 + .../images/material-icons/audio_file.svg | 1 + .../images/material-icons/audiotrack.svg | 1 + .../images/material-icons/auto_awesome.svg | 1 + .../material-icons/auto_awesome_mosaic.svg | 1 + .../material-icons/auto_awesome_motion.svg | 1 + .../images/material-icons/auto_delete.svg | 1 + .../images/material-icons/auto_fix_high.svg | 1 + .../images/material-icons/auto_fix_normal.svg | 1 + .../images/material-icons/auto_fix_off.svg | 1 + .../images/material-icons/auto_graph.svg | 1 + .../uswds/images/material-icons/auto_mode.svg | 1 + .../images/material-icons/auto_stories.svg | 1 + .../images/material-icons/autofps_select.svg | 1 + .../uswds/images/material-icons/autorenew.svg | 1 + .../uswds/images/material-icons/av_timer.svg | 1 + .../material-icons/baby_changing_station.svg | 1 + .../uswds/images/material-icons/back_hand.svg | 1 + .../uswds/images/material-icons/backpack.svg | 1 + .../uswds/images/material-icons/backspace.svg | 1 + assets/uswds/images/material-icons/backup.svg | 1 + .../images/material-icons/backup_table.svg | 1 + assets/uswds/images/material-icons/badge.svg | 1 + .../images/material-icons/bakery_dining.svg | 1 + .../uswds/images/material-icons/balance.svg | 1 + .../uswds/images/material-icons/balcony.svg | 1 + assets/uswds/images/material-icons/ballot.svg | 1 + .../uswds/images/material-icons/bar_chart.svg | 1 + .../material-icons/batch_prediction.svg | 1 + .../uswds/images/material-icons/bathroom.svg | 1 + .../uswds/images/material-icons/bathtub.svg | 1 + .../images/material-icons/battery_0_bar.svg | 1 + .../images/material-icons/battery_1_bar.svg | 1 + .../images/material-icons/battery_2_bar.svg | 1 + .../images/material-icons/battery_3_bar.svg | 1 + .../images/material-icons/battery_4_bar.svg | 1 + .../images/material-icons/battery_5_bar.svg | 1 + .../images/material-icons/battery_6_bar.svg | 1 + .../images/material-icons/battery_alert.svg | 1 + .../material-icons/battery_charging_full.svg | 1 + .../images/material-icons/battery_full.svg | 1 + .../images/material-icons/battery_saver.svg | 1 + .../images/material-icons/battery_std.svg | 1 + .../images/material-icons/battery_unknown.svg | 1 + .../images/material-icons/beach_access.svg | 1 + assets/uswds/images/material-icons/bed.svg | 1 + .../images/material-icons/bedroom_baby.svg | 1 + .../images/material-icons/bedroom_child.svg | 1 + .../images/material-icons/bedroom_parent.svg | 1 + .../uswds/images/material-icons/bedtime.svg | 1 + .../images/material-icons/bedtime_off.svg | 1 + .../uswds/images/material-icons/beenhere.svg | 1 + assets/uswds/images/material-icons/bento.svg | 1 + .../images/material-icons/bike_scooter.svg | 1 + .../uswds/images/material-icons/biotech.svg | 1 + .../uswds/images/material-icons/blender.svg | 1 + assets/uswds/images/material-icons/blind.svg | 1 + assets/uswds/images/material-icons/blinds.svg | 1 + .../images/material-icons/blinds_closed.svg | 1 + assets/uswds/images/material-icons/block.svg | 1 + .../uswds/images/material-icons/bloodtype.svg | 1 + .../uswds/images/material-icons/bluetooth.svg | 1 + .../images/material-icons/bluetooth_audio.svg | 1 + .../material-icons/bluetooth_connected.svg | 1 + .../material-icons/bluetooth_disabled.svg | 1 + .../images/material-icons/bluetooth_drive.svg | 1 + .../material-icons/bluetooth_searching.svg | 1 + .../images/material-icons/blur_circular.svg | 1 + .../images/material-icons/blur_linear.svg | 1 + .../uswds/images/material-icons/blur_off.svg | 1 + .../uswds/images/material-icons/blur_on.svg | 1 + assets/uswds/images/material-icons/bolt.svg | 1 + assets/uswds/images/material-icons/book.svg | 1 + .../images/material-icons/book_online.svg | 1 + .../uswds/images/material-icons/bookmark.svg | 1 + .../images/material-icons/bookmark_add.svg | 1 + .../images/material-icons/bookmark_added.svg | 1 + .../images/material-icons/bookmark_border.svg | 1 + .../images/material-icons/bookmark_remove.svg | 1 + .../uswds/images/material-icons/bookmarks.svg | 1 + .../images/material-icons/border_all.svg | 1 + .../images/material-icons/border_bottom.svg | 1 + .../images/material-icons/border_clear.svg | 1 + .../images/material-icons/border_color.svg | 1 + .../material-icons/border_horizontal.svg | 1 + .../images/material-icons/border_inner.svg | 1 + .../images/material-icons/border_left.svg | 1 + .../images/material-icons/border_outer.svg | 1 + .../images/material-icons/border_right.svg | 1 + .../images/material-icons/border_style.svg | 1 + .../images/material-icons/border_top.svg | 1 + .../images/material-icons/border_vertical.svg | 1 + assets/uswds/images/material-icons/boy.svg | 1 + .../material-icons/branding_watermark.svg | 1 + .../material-icons/breakfast_dining.svg | 1 + .../images/material-icons/brightness_1.svg | 1 + .../images/material-icons/brightness_2.svg | 1 + .../images/material-icons/brightness_3.svg | 1 + .../images/material-icons/brightness_4.svg | 1 + .../images/material-icons/brightness_5.svg | 1 + .../images/material-icons/brightness_6.svg | 1 + .../images/material-icons/brightness_7.svg | 1 + .../images/material-icons/brightness_auto.svg | 1 + .../images/material-icons/brightness_high.svg | 1 + .../images/material-icons/brightness_low.svg | 1 + .../material-icons/brightness_medium.svg | 1 + .../material-icons/broadcast_on_home.svg | 1 + .../material-icons/broadcast_on_personal.svg | 1 + .../images/material-icons/broken_image.svg | 1 + .../images/material-icons/browse_gallery.svg | 1 + .../material-icons/browser_not_supported.svg | 1 + .../images/material-icons/browser_updated.svg | 1 + .../images/material-icons/brunch_dining.svg | 1 + assets/uswds/images/material-icons/brush.svg | 1 + .../images/material-icons/bubble_chart.svg | 1 + .../images/material-icons/bug_report.svg | 1 + assets/uswds/images/material-icons/build.svg | 1 + .../images/material-icons/build_circle.svg | 1 + .../uswds/images/material-icons/bungalow.svg | 1 + .../images/material-icons/burst_mode.svg | 1 + .../uswds/images/material-icons/bus_alert.svg | 1 + .../uswds/images/material-icons/business.svg | 1 + .../images/material-icons/business_center.svg | 1 + assets/uswds/images/material-icons/cabin.svg | 1 + assets/uswds/images/material-icons/cable.svg | 1 + assets/uswds/images/material-icons/cached.svg | 1 + assets/uswds/images/material-icons/cake.svg | 1 + .../uswds/images/material-icons/calculate.svg | 1 + .../images/material-icons/calendar_month.svg | 1 + .../images/material-icons/calendar_today.svg | 1 + .../material-icons/calendar_view_day.svg | 1 + .../material-icons/calendar_view_month.svg | 1 + .../material-icons/calendar_view_week.svg | 1 + assets/uswds/images/material-icons/call.svg | 1 + .../uswds/images/material-icons/call_end.svg | 1 + .../uswds/images/material-icons/call_made.svg | 1 + .../images/material-icons/call_merge.svg | 1 + .../images/material-icons/call_missed.svg | 1 + .../material-icons/call_missed_outgoing.svg | 1 + .../images/material-icons/call_received.svg | 1 + .../images/material-icons/call_split.svg | 1 + .../images/material-icons/call_to_action.svg | 1 + assets/uswds/images/material-icons/camera.svg | 1 + .../images/material-icons/camera_alt.svg | 1 + .../images/material-icons/camera_enhance.svg | 1 + .../images/material-icons/camera_front.svg | 1 + .../images/material-icons/camera_indoor.svg | 1 + .../images/material-icons/camera_outdoor.svg | 1 + .../images/material-icons/camera_rear.svg | 1 + .../images/material-icons/camera_roll.svg | 1 + .../images/material-icons/cameraswitch.svg | 1 + .../uswds/images/material-icons/campaign.svg | 1 + assets/uswds/images/material-icons/cancel.svg | 1 + .../material-icons/cancel_presentation.svg | 1 + .../material-icons/cancel_schedule_send.svg | 1 + .../material-icons/candlestick_chart.svg | 1 + .../uswds/images/material-icons/car_crash.svg | 1 + .../images/material-icons/car_rental.svg | 1 + .../images/material-icons/car_repair.svg | 1 + .../images/material-icons/card_giftcard.svg | 1 + .../images/material-icons/card_membership.svg | 1 + .../images/material-icons/card_travel.svg | 1 + .../uswds/images/material-icons/carpenter.svg | 1 + assets/uswds/images/material-icons/cases.svg | 1 + assets/uswds/images/material-icons/casino.svg | 1 + assets/uswds/images/material-icons/cast.svg | 1 + .../images/material-icons/cast_connected.svg | 1 + .../material-icons/cast_for_education.svg | 1 + assets/uswds/images/material-icons/castle.svg | 1 + .../material-icons/catching_pokemon.svg | 1 + .../uswds/images/material-icons/category.svg | 1 + .../images/material-icons/celebration.svg | 1 + .../images/material-icons/cell_tower.svg | 1 + .../uswds/images/material-icons/cell_wifi.svg | 1 + .../material-icons/center_focus_strong.svg | 1 + .../material-icons/center_focus_weak.svg | 1 + assets/uswds/images/material-icons/chair.svg | 1 + .../uswds/images/material-icons/chair_alt.svg | 1 + assets/uswds/images/material-icons/chalet.svg | 1 + .../images/material-icons/change_circle.svg | 1 + .../images/material-icons/change_history.svg | 1 + .../material-icons/charging_station.svg | 1 + assets/uswds/images/material-icons/chat.svg | 1 + .../images/material-icons/chat_bubble.svg | 1 + .../material-icons/chat_bubble_outline.svg | 1 + assets/uswds/images/material-icons/check.svg | 1 + .../uswds/images/material-icons/check_box.svg | 1 + .../check_box_outline_blank.svg | 1 + .../images/material-icons/check_circle.svg | 1 + .../material-icons/check_circle_outline.svg | 1 + .../uswds/images/material-icons/checklist.svg | 1 + .../images/material-icons/checklist_rtl.svg | 1 + .../uswds/images/material-icons/checkroom.svg | 1 + .../images/material-icons/chevron_left.svg | 1 + .../images/material-icons/chevron_right.svg | 1 + .../images/material-icons/child_care.svg | 1 + .../images/material-icons/child_friendly.svg | 1 + .../material-icons/chrome_reader_mode.svg | 1 + assets/uswds/images/material-icons/church.svg | 1 + assets/uswds/images/material-icons/circle.svg | 1 + .../material-icons/circle_notifications.svg | 1 + assets/uswds/images/material-icons/class.svg | 1 + .../images/material-icons/clean_hands.svg | 1 + .../material-icons/cleaning_services.svg | 1 + assets/uswds/images/material-icons/clear.svg | 1 + .../uswds/images/material-icons/clear_all.svg | 1 + assets/uswds/images/material-icons/close.svg | 1 + .../material-icons/close_fullscreen.svg | 1 + .../images/material-icons/closed_caption.svg | 1 + .../closed_caption_disabled.svg | 1 + .../material-icons/closed_caption_off.svg | 1 + assets/uswds/images/material-icons/cloud.svg | 1 + .../images/material-icons/cloud_circle.svg | 1 + .../images/material-icons/cloud_done.svg | 1 + .../images/material-icons/cloud_download.svg | 1 + .../uswds/images/material-icons/cloud_off.svg | 1 + .../images/material-icons/cloud_queue.svg | 1 + .../images/material-icons/cloud_sync.svg | 1 + .../images/material-icons/cloud_upload.svg | 1 + assets/uswds/images/material-icons/co2.svg | 1 + .../images/material-icons/co_present.svg | 1 + assets/uswds/images/material-icons/code.svg | 1 + .../uswds/images/material-icons/code_off.svg | 1 + assets/uswds/images/material-icons/coffee.svg | 1 + .../images/material-icons/coffee_maker.svg | 1 + .../images/material-icons/collections.svg | 1 + .../material-icons/collections_bookmark.svg | 1 + .../images/material-icons/color_lens.svg | 1 + .../uswds/images/material-icons/colorize.svg | 1 + .../uswds/images/material-icons/comment.svg | 1 + .../images/material-icons/comment_bank.svg | 1 + .../material-icons/comments_disabled.svg | 1 + assets/uswds/images/material-icons/commit.svg | 1 + .../uswds/images/material-icons/commute.svg | 1 + .../uswds/images/material-icons/compare.svg | 1 + .../images/material-icons/compare_arrows.svg | 1 + .../material-icons/compass_calibration.svg | 1 + .../uswds/images/material-icons/compost.svg | 1 + .../uswds/images/material-icons/compress.svg | 1 + .../uswds/images/material-icons/computer.svg | 1 + .../material-icons/confirmation_number.svg | 1 + .../connect_without_contact.svg | 1 + .../images/material-icons/connected_tv.svg | 1 + .../material-icons/connecting_airports.svg | 1 + .../images/material-icons/construction.svg | 1 + .../material-icons/contact_emergency.svg | 1 + .../images/material-icons/contact_mail.svg | 1 + .../images/material-icons/contact_page.svg | 1 + .../images/material-icons/contact_phone.svg | 1 + .../images/material-icons/contact_support.svg | 1 + .../images/material-icons/contactless.svg | 1 + .../uswds/images/material-icons/contacts.svg | 1 + .../images/material-icons/content_copy.svg | 1 + .../images/material-icons/content_cut.svg | 1 + .../images/material-icons/content_paste.svg | 1 + .../material-icons/content_paste_go.svg | 1 + .../material-icons/content_paste_off.svg | 1 + .../material-icons/content_paste_search.svg | 1 + .../uswds/images/material-icons/contrast.svg | 1 + .../images/material-icons/control_camera.svg | 1 + .../images/material-icons/control_point.svg | 1 + .../control_point_duplicate.svg | 1 + assets/uswds/images/material-icons/cookie.svg | 1 + .../uswds/images/material-icons/copy_all.svg | 1 + .../uswds/images/material-icons/copyright.svg | 1 + .../images/material-icons/coronavirus.svg | 1 + .../images/material-icons/corporate_fare.svg | 1 + .../uswds/images/material-icons/cottage.svg | 1 + .../images/material-icons/countertops.svg | 1 + assets/uswds/images/material-icons/create.svg | 1 + .../material-icons/create_new_folder.svg | 1 + .../images/material-icons/credit_card.svg | 1 + .../images/material-icons/credit_card_off.svg | 1 + .../images/material-icons/credit_score.svg | 1 + assets/uswds/images/material-icons/crib.svg | 1 + .../images/material-icons/crisis_alert.svg | 1 + assets/uswds/images/material-icons/crop.svg | 1 + .../uswds/images/material-icons/crop_16_9.svg | 1 + .../uswds/images/material-icons/crop_3_2.svg | 1 + .../uswds/images/material-icons/crop_5_4.svg | 1 + .../uswds/images/material-icons/crop_7_5.svg | 1 + .../uswds/images/material-icons/crop_din.svg | 1 + .../uswds/images/material-icons/crop_free.svg | 1 + .../images/material-icons/crop_landscape.svg | 1 + .../images/material-icons/crop_original.svg | 1 + .../images/material-icons/crop_portrait.svg | 1 + .../images/material-icons/crop_rotate.svg | 1 + .../images/material-icons/crop_square.svg | 1 + .../images/material-icons/cruelty_free.svg | 1 + assets/uswds/images/material-icons/css.svg | 1 + .../material-icons/currency_bitcoin.svg | 1 + .../material-icons/currency_exchange.svg | 1 + .../images/material-icons/currency_franc.svg | 1 + .../images/material-icons/currency_lira.svg | 1 + .../images/material-icons/currency_pound.svg | 1 + .../images/material-icons/currency_ruble.svg | 1 + .../images/material-icons/currency_rupee.svg | 1 + .../images/material-icons/currency_yen.svg | 1 + .../images/material-icons/currency_yuan.svg | 1 + .../uswds/images/material-icons/curtains.svg | 1 + .../images/material-icons/curtains_closed.svg | 1 + .../uswds/images/material-icons/cyclone.svg | 1 + .../uswds/images/material-icons/dangerous.svg | 1 + .../uswds/images/material-icons/dark_mode.svg | 1 + .../uswds/images/material-icons/dashboard.svg | 1 + .../material-icons/dashboard_customize.svg | 1 + .../images/material-icons/data_array.svg | 1 + .../material-icons/data_exploration.svg | 1 + .../images/material-icons/data_object.svg | 1 + .../images/material-icons/data_saver_off.svg | 1 + .../images/material-icons/data_saver_on.svg | 1 + .../material-icons/data_thresholding.svg | 1 + .../images/material-icons/data_usage.svg | 1 + .../uswds/images/material-icons/dataset.svg | 1 + .../images/material-icons/dataset_linked.svg | 1 + .../images/material-icons/date_range.svg | 1 + assets/uswds/images/material-icons/deblur.svg | 1 + assets/uswds/images/material-icons/deck.svg | 1 + assets/uswds/images/material-icons/dehaze.svg | 1 + assets/uswds/images/material-icons/delete.svg | 1 + .../images/material-icons/delete_forever.svg | 1 + .../images/material-icons/delete_outline.svg | 1 + .../images/material-icons/delete_sweep.svg | 1 + .../images/material-icons/delivery_dining.svg | 1 + .../images/material-icons/density_large.svg | 1 + .../images/material-icons/density_medium.svg | 1 + .../images/material-icons/density_small.svg | 1 + .../images/material-icons/departure_board.svg | 1 + .../images/material-icons/description.svg | 1 + .../uswds/images/material-icons/deselect.svg | 1 + .../images/material-icons/design_services.svg | 1 + assets/uswds/images/material-icons/desk.svg | 1 + .../desktop_access_disabled.svg | 1 + .../images/material-icons/desktop_mac.svg | 1 + .../images/material-icons/desktop_windows.svg | 1 + .../uswds/images/material-icons/details.svg | 1 + .../images/material-icons/developer_board.svg | 1 + .../material-icons/developer_board_off.svg | 1 + .../images/material-icons/developer_mode.svg | 1 + .../images/material-icons/device_hub.svg | 1 + .../material-icons/device_thermostat.svg | 1 + .../images/material-icons/device_unknown.svg | 1 + .../uswds/images/material-icons/devices.svg | 1 + .../images/material-icons/devices_fold.svg | 1 + .../images/material-icons/devices_other.svg | 1 + .../images/material-icons/dialer_sip.svg | 1 + .../uswds/images/material-icons/dialpad.svg | 1 + .../uswds/images/material-icons/diamond.svg | 1 + .../images/material-icons/difference.svg | 1 + assets/uswds/images/material-icons/dining.svg | 1 + .../images/material-icons/dinner_dining.svg | 1 + .../images/material-icons/directions.svg | 1 + .../images/material-icons/directions_bike.svg | 1 + .../images/material-icons/directions_boat.svg | 1 + .../material-icons/directions_boat_filled.svg | 1 + .../images/material-icons/directions_bus.svg | 1 + .../material-icons/directions_bus_filled.svg | 1 + .../images/material-icons/directions_car.svg | 1 + .../material-icons/directions_car_filled.svg | 1 + .../images/material-icons/directions_off.svg | 1 + .../material-icons/directions_railway.svg | 1 + .../directions_railway_filled.svg | 1 + .../images/material-icons/directions_run.svg | 1 + .../material-icons/directions_subway.svg | 1 + .../directions_subway_filled.svg | 1 + .../material-icons/directions_transit.svg | 1 + .../directions_transit_filled.svg | 1 + .../images/material-icons/directions_walk.svg | 1 + .../images/material-icons/dirty_lens.svg | 1 + .../material-icons/disabled_by_default.svg | 1 + .../material-icons/disabled_visible.svg | 1 + .../uswds/images/material-icons/disc_full.svg | 1 + .../uswds/images/material-icons/discount.svg | 1 + .../material-icons/display_settings.svg | 1 + .../images/material-icons/diversity_1.svg | 1 + .../images/material-icons/diversity_2.svg | 1 + .../images/material-icons/diversity_3.svg | 1 + assets/uswds/images/material-icons/dns.svg | 1 + .../images/material-icons/do_disturb.svg | 1 + .../images/material-icons/do_disturb_alt.svg | 1 + .../images/material-icons/do_disturb_off.svg | 1 + .../images/material-icons/do_disturb_on.svg | 1 + .../images/material-icons/do_not_disturb.svg | 1 + .../material-icons/do_not_disturb_alt.svg | 1 + .../material-icons/do_not_disturb_off.svg | 1 + .../material-icons/do_not_disturb_on.svg | 1 + .../do_not_disturb_on_total_silence.svg | 1 + .../images/material-icons/do_not_step.svg | 1 + .../images/material-icons/do_not_touch.svg | 1 + assets/uswds/images/material-icons/dock.svg | 1 + .../material-icons/document_scanner.svg | 1 + assets/uswds/images/material-icons/domain.svg | 1 + .../images/material-icons/domain_add.svg | 1 + .../images/material-icons/domain_disabled.svg | 1 + .../material-icons/domain_verification.svg | 1 + assets/uswds/images/material-icons/done.svg | 1 + .../uswds/images/material-icons/done_all.svg | 1 + .../images/material-icons/done_outline.svg | 1 + .../images/material-icons/donut_large.svg | 1 + .../images/material-icons/donut_small.svg | 1 + .../uswds/images/material-icons/door_back.svg | 1 + .../images/material-icons/door_front.svg | 1 + .../images/material-icons/door_sliding.svg | 1 + .../uswds/images/material-icons/doorbell.svg | 1 + .../images/material-icons/double_arrow.svg | 1 + .../images/material-icons/downhill_skiing.svg | 1 + .../uswds/images/material-icons/download.svg | 1 + .../images/material-icons/download_done.svg | 1 + .../material-icons/download_for_offline.svg | 1 + .../images/material-icons/downloading.svg | 1 + assets/uswds/images/material-icons/drafts.svg | 1 + .../images/material-icons/drag_handle.svg | 1 + .../images/material-icons/drag_indicator.svg | 1 + assets/uswds/images/material-icons/draw.svg | 1 + .../uswds/images/material-icons/drive_eta.svg | 1 + .../images/material-icons/drive_file_move.svg | 1 + .../material-icons/drive_file_move_rtl.svg | 1 + .../drive_file_rename_outline.svg | 1 + .../material-icons/drive_folder_upload.svg | 1 + assets/uswds/images/material-icons/dry.svg | 1 + .../images/material-icons/dry_cleaning.svg | 1 + assets/uswds/images/material-icons/duo.svg | 1 + assets/uswds/images/material-icons/dvr.svg | 1 + .../images/material-icons/dynamic_feed.svg | 1 + .../images/material-icons/dynamic_form.svg | 1 + .../images/material-icons/e_mobiledata.svg | 1 + .../uswds/images/material-icons/earbuds.svg | 1 + .../images/material-icons/earbuds_battery.svg | 1 + assets/uswds/images/material-icons/east.svg | 1 + .../images/material-icons/edgesensor_high.svg | 1 + .../images/material-icons/edgesensor_low.svg | 1 + assets/uswds/images/material-icons/edit.svg | 1 + .../images/material-icons/edit_attributes.svg | 1 + .../images/material-icons/edit_calendar.svg | 1 + .../images/material-icons/edit_location.svg | 1 + .../material-icons/edit_location_alt.svg | 1 + .../uswds/images/material-icons/edit_note.svg | 1 + .../material-icons/edit_notifications.svg | 1 + .../uswds/images/material-icons/edit_off.svg | 1 + .../uswds/images/material-icons/edit_road.svg | 1 + assets/uswds/images/material-icons/egg.svg | 1 + .../uswds/images/material-icons/egg_alt.svg | 1 + assets/uswds/images/material-icons/eject.svg | 1 + .../uswds/images/material-icons/elderly.svg | 1 + .../images/material-icons/elderly_woman.svg | 1 + .../images/material-icons/electric_bike.svg | 1 + .../images/material-icons/electric_bolt.svg | 1 + .../images/material-icons/electric_car.svg | 1 + .../images/material-icons/electric_meter.svg | 1 + .../images/material-icons/electric_moped.svg | 1 + .../material-icons/electric_rickshaw.svg | 1 + .../material-icons/electric_scooter.svg | 1 + .../material-icons/electrical_services.svg | 1 + .../uswds/images/material-icons/elevator.svg | 1 + assets/uswds/images/material-icons/email.svg | 1 + .../uswds/images/material-icons/emergency.svg | 1 + .../material-icons/emergency_recording.svg | 1 + .../images/material-icons/emergency_share.svg | 1 + .../images/material-icons/emoji_emotions.svg | 1 + .../images/material-icons/emoji_events.svg | 1 + .../material-icons/emoji_food_beverage.svg | 1 + .../images/material-icons/emoji_nature.svg | 1 + .../images/material-icons/emoji_objects.svg | 1 + .../images/material-icons/emoji_people.svg | 1 + .../images/material-icons/emoji_symbols.svg | 1 + .../material-icons/emoji_transportation.svg | 1 + .../material-icons/energy_savings_leaf.svg | 1 + .../images/material-icons/engineering.svg | 1 + .../material-icons/enhanced_encryption.svg | 1 + .../uswds/images/material-icons/equalizer.svg | 1 + assets/uswds/images/material-icons/error.svg | 1 + .../images/material-icons/error_outline.svg | 1 + .../uswds/images/material-icons/escalator.svg | 1 + .../material-icons/escalator_warning.svg | 1 + assets/uswds/images/material-icons/euro.svg | 1 + .../images/material-icons/euro_symbol.svg | 1 + .../images/material-icons/ev_station.svg | 1 + assets/uswds/images/material-icons/event.svg | 1 + .../images/material-icons/event_available.svg | 1 + .../images/material-icons/event_busy.svg | 1 + .../images/material-icons/event_note.svg | 1 + .../images/material-icons/event_repeat.svg | 1 + .../images/material-icons/event_seat.svg | 1 + .../images/material-icons/exit_to_app.svg | 1 + assets/uswds/images/material-icons/expand.svg | 1 + .../material-icons/expand_circle_down.svg | 1 + .../images/material-icons/expand_less.svg | 1 + .../images/material-icons/expand_more.svg | 1 + .../uswds/images/material-icons/explicit.svg | 1 + .../uswds/images/material-icons/explore.svg | 1 + .../images/material-icons/explore_off.svg | 1 + .../uswds/images/material-icons/exposure.svg | 1 + .../images/material-icons/exposure_neg_1.svg | 1 + .../images/material-icons/exposure_neg_2.svg | 1 + .../images/material-icons/exposure_plus_1.svg | 1 + .../images/material-icons/exposure_plus_2.svg | 1 + .../images/material-icons/exposure_zero.svg | 1 + .../uswds/images/material-icons/extension.svg | 1 + .../images/material-icons/extension_off.svg | 1 + assets/uswds/images/material-icons/face.svg | 1 + assets/uswds/images/material-icons/face_2.svg | 1 + assets/uswds/images/material-icons/face_3.svg | 1 + assets/uswds/images/material-icons/face_4.svg | 1 + assets/uswds/images/material-icons/face_5.svg | 1 + assets/uswds/images/material-icons/face_6.svg | 1 + .../face_retouching_natural.svg | 1 + .../material-icons/face_retouching_off.svg | 1 + .../images/material-icons/fact_check.svg | 1 + .../uswds/images/material-icons/factory.svg | 1 + .../images/material-icons/family_restroom.svg | 1 + .../images/material-icons/fast_forward.svg | 1 + .../images/material-icons/fast_rewind.svg | 1 + .../uswds/images/material-icons/fastfood.svg | 1 + .../uswds/images/material-icons/favorite.svg | 1 + .../images/material-icons/favorite_border.svg | 1 + assets/uswds/images/material-icons/fax.svg | 1 + .../material-icons/featured_play_list.svg | 1 + .../images/material-icons/featured_video.svg | 1 + assets/uswds/images/material-icons/feed.svg | 1 + .../uswds/images/material-icons/feedback.svg | 1 + assets/uswds/images/material-icons/female.svg | 1 + assets/uswds/images/material-icons/fence.svg | 1 + .../uswds/images/material-icons/festival.svg | 1 + .../uswds/images/material-icons/fiber_dvr.svg | 1 + .../material-icons/fiber_manual_record.svg | 1 + .../uswds/images/material-icons/fiber_new.svg | 1 + .../uswds/images/material-icons/fiber_pin.svg | 1 + .../material-icons/fiber_smart_record.svg | 1 + .../uswds/images/material-icons/file_copy.svg | 1 + .../images/material-icons/file_download.svg | 1 + .../material-icons/file_download_done.svg | 1 + .../material-icons/file_download_off.svg | 1 + .../uswds/images/material-icons/file_open.svg | 1 + .../images/material-icons/file_present.svg | 1 + .../images/material-icons/file_upload.svg | 1 + assets/uswds/images/material-icons/filter.svg | 1 + .../uswds/images/material-icons/filter_1.svg | 1 + .../uswds/images/material-icons/filter_2.svg | 1 + .../uswds/images/material-icons/filter_3.svg | 1 + .../uswds/images/material-icons/filter_4.svg | 1 + .../uswds/images/material-icons/filter_5.svg | 1 + .../uswds/images/material-icons/filter_6.svg | 1 + .../uswds/images/material-icons/filter_7.svg | 1 + .../uswds/images/material-icons/filter_8.svg | 1 + .../uswds/images/material-icons/filter_9.svg | 1 + .../images/material-icons/filter_9_plus.svg | 1 + .../images/material-icons/filter_alt.svg | 1 + .../images/material-icons/filter_alt_off.svg | 1 + .../images/material-icons/filter_b_and_w.svg | 1 + .../material-icons/filter_center_focus.svg | 1 + .../images/material-icons/filter_drama.svg | 1 + .../images/material-icons/filter_frames.svg | 1 + .../images/material-icons/filter_hdr.svg | 1 + .../images/material-icons/filter_list.svg | 1 + .../images/material-icons/filter_list_off.svg | 1 + .../images/material-icons/filter_none.svg | 1 + .../material-icons/filter_tilt_shift.svg | 1 + .../images/material-icons/filter_vintage.svg | 1 + .../images/material-icons/find_in_page.svg | 1 + .../images/material-icons/find_replace.svg | 1 + .../images/material-icons/fingerprint.svg | 1 + .../material-icons/fire_extinguisher.svg | 1 + .../material-icons/fire_hydrant_alt.svg | 1 + .../images/material-icons/fire_truck.svg | 1 + .../uswds/images/material-icons/fireplace.svg | 1 + .../images/material-icons/first_page.svg | 1 + .../images/material-icons/fit_screen.svg | 1 + assets/uswds/images/material-icons/fitbit.svg | 1 + .../images/material-icons/fitness_center.svg | 1 + assets/uswds/images/material-icons/flag.svg | 1 + .../images/material-icons/flag_circle.svg | 1 + assets/uswds/images/material-icons/flaky.svg | 1 + assets/uswds/images/material-icons/flare.svg | 1 + .../images/material-icons/flash_auto.svg | 1 + .../uswds/images/material-icons/flash_off.svg | 1 + .../uswds/images/material-icons/flash_on.svg | 1 + .../images/material-icons/flashlight_off.svg | 1 + .../images/material-icons/flashlight_on.svg | 1 + .../uswds/images/material-icons/flatware.svg | 1 + assets/uswds/images/material-icons/flight.svg | 1 + .../images/material-icons/flight_class.svg | 1 + .../images/material-icons/flight_land.svg | 1 + .../images/material-icons/flight_takeoff.svg | 1 + assets/uswds/images/material-icons/flip.svg | 1 + .../material-icons/flip_camera_android.svg | 1 + .../images/material-icons/flip_camera_ios.svg | 1 + .../images/material-icons/flip_to_back.svg | 1 + .../images/material-icons/flip_to_front.svg | 1 + assets/uswds/images/material-icons/flood.svg | 1 + .../images/material-icons/fluorescent.svg | 1 + .../images/material-icons/flutter_dash.svg | 1 + .../uswds/images/material-icons/fmd_bad.svg | 1 + .../uswds/images/material-icons/fmd_good.svg | 1 + assets/uswds/images/material-icons/folder.svg | 1 + .../images/material-icons/folder_copy.svg | 1 + .../images/material-icons/folder_delete.svg | 1 + .../images/material-icons/folder_off.svg | 1 + .../images/material-icons/folder_open.svg | 1 + .../images/material-icons/folder_shared.svg | 1 + .../images/material-icons/folder_special.svg | 1 + .../images/material-icons/folder_zip.svg | 1 + .../material-icons/follow_the_signs.svg | 1 + .../images/material-icons/font_download.svg | 1 + .../material-icons/font_download_off.svg | 1 + .../uswds/images/material-icons/food_bank.svg | 1 + assets/uswds/images/material-icons/forest.svg | 1 + .../uswds/images/material-icons/fork_left.svg | 1 + .../images/material-icons/fork_right.svg | 1 + .../material-icons/format_align_center.svg | 1 + .../material-icons/format_align_justify.svg | 1 + .../material-icons/format_align_left.svg | 1 + .../material-icons/format_align_right.svg | 1 + .../images/material-icons/format_bold.svg | 1 + .../images/material-icons/format_clear.svg | 1 + .../material-icons/format_color_fill.svg | 1 + .../material-icons/format_color_reset.svg | 1 + .../material-icons/format_color_text.svg | 1 + .../material-icons/format_indent_decrease.svg | 1 + .../material-icons/format_indent_increase.svg | 1 + .../images/material-icons/format_italic.svg | 1 + .../material-icons/format_line_spacing.svg | 1 + .../material-icons/format_list_bulleted.svg | 1 + .../material-icons/format_list_numbered.svg | 1 + .../format_list_numbered_rtl.svg | 1 + .../images/material-icons/format_overline.svg | 1 + .../images/material-icons/format_paint.svg | 1 + .../images/material-icons/format_quote.svg | 1 + .../images/material-icons/format_shapes.svg | 1 + .../images/material-icons/format_size.svg | 1 + .../material-icons/format_strikethrough.svg | 1 + .../format_textdirection_l_to_r.svg | 1 + .../format_textdirection_r_to_l.svg | 1 + .../material-icons/format_underlined.svg | 1 + assets/uswds/images/material-icons/fort.svg | 1 + assets/uswds/images/material-icons/forum.svg | 1 + .../uswds/images/material-icons/forward.svg | 1 + .../images/material-icons/forward_10.svg | 1 + .../images/material-icons/forward_30.svg | 1 + .../uswds/images/material-icons/forward_5.svg | 1 + .../material-icons/forward_to_inbox.svg | 1 + .../images/material-icons/foundation.svg | 1 + .../images/material-icons/free_breakfast.svg | 1 + .../material-icons/free_cancellation.svg | 1 + .../images/material-icons/front_hand.svg | 1 + .../images/material-icons/fullscreen.svg | 1 + .../images/material-icons/fullscreen_exit.svg | 1 + .../uswds/images/material-icons/functions.svg | 1 + .../images/material-icons/g_mobiledata.svg | 1 + .../images/material-icons/g_translate.svg | 1 + .../uswds/images/material-icons/gamepad.svg | 1 + assets/uswds/images/material-icons/games.svg | 1 + assets/uswds/images/material-icons/garage.svg | 1 + .../uswds/images/material-icons/gas_meter.svg | 1 + assets/uswds/images/material-icons/gavel.svg | 1 + .../material-icons/generating_tokens.svg | 1 + .../uswds/images/material-icons/gesture.svg | 1 + .../uswds/images/material-icons/get_app.svg | 1 + assets/uswds/images/material-icons/gif.svg | 1 + .../uswds/images/material-icons/gif_box.svg | 1 + assets/uswds/images/material-icons/girl.svg | 1 + assets/uswds/images/material-icons/gite.svg | 1 + .../images/material-icons/golf_course.svg | 1 + .../uswds/images/material-icons/gpp_bad.svg | 1 + .../uswds/images/material-icons/gpp_good.svg | 1 + .../uswds/images/material-icons/gpp_maybe.svg | 1 + .../uswds/images/material-icons/gps_fixed.svg | 1 + .../images/material-icons/gps_not_fixed.svg | 1 + .../uswds/images/material-icons/gps_off.svg | 1 + assets/uswds/images/material-icons/grade.svg | 1 + .../uswds/images/material-icons/gradient.svg | 1 + .../uswds/images/material-icons/grading.svg | 1 + assets/uswds/images/material-icons/grain.svg | 1 + .../images/material-icons/graphic_eq.svg | 1 + assets/uswds/images/material-icons/grass.svg | 1 + .../uswds/images/material-icons/grid_3x3.svg | 1 + .../uswds/images/material-icons/grid_4x4.svg | 1 + .../material-icons/grid_goldenratio.svg | 1 + .../uswds/images/material-icons/grid_off.svg | 1 + .../uswds/images/material-icons/grid_on.svg | 1 + .../uswds/images/material-icons/grid_view.svg | 1 + assets/uswds/images/material-icons/group.svg | 1 + .../uswds/images/material-icons/group_add.svg | 1 + .../uswds/images/material-icons/group_off.svg | 1 + .../images/material-icons/group_remove.svg | 1 + .../images/material-icons/group_work.svg | 1 + assets/uswds/images/material-icons/groups.svg | 1 + .../uswds/images/material-icons/groups_2.svg | 1 + .../uswds/images/material-icons/groups_3.svg | 1 + .../images/material-icons/h_mobiledata.svg | 1 + .../material-icons/h_plus_mobiledata.svg | 1 + assets/uswds/images/material-icons/hail.svg | 1 + .../uswds/images/material-icons/handshake.svg | 1 + .../uswds/images/material-icons/handyman.svg | 1 + .../uswds/images/material-icons/hardware.svg | 1 + assets/uswds/images/material-icons/hd.svg | 1 + .../uswds/images/material-icons/hdr_auto.svg | 1 + .../images/material-icons/hdr_auto_select.svg | 1 + .../material-icons/hdr_enhanced_select.svg | 1 + .../uswds/images/material-icons/hdr_off.svg | 1 + .../images/material-icons/hdr_off_select.svg | 1 + assets/uswds/images/material-icons/hdr_on.svg | 1 + .../images/material-icons/hdr_on_select.svg | 1 + .../uswds/images/material-icons/hdr_plus.svg | 1 + .../images/material-icons/hdr_strong.svg | 1 + .../uswds/images/material-icons/hdr_weak.svg | 1 + .../images/material-icons/headphones.svg | 1 + .../material-icons/headphones_battery.svg | 1 + .../uswds/images/material-icons/headset.svg | 1 + .../images/material-icons/headset_mic.svg | 1 + .../images/material-icons/headset_off.svg | 1 + .../uswds/images/material-icons/healing.svg | 1 + .../material-icons/health_and_safety.svg | 1 + .../uswds/images/material-icons/hearing.svg | 1 + .../material-icons/hearing_disabled.svg | 1 + .../images/material-icons/heart_broken.svg | 1 + .../uswds/images/material-icons/heat_pump.svg | 1 + assets/uswds/images/material-icons/height.svg | 1 + assets/uswds/images/material-icons/help.svg | 1 + .../images/material-icons/help_center.svg | 1 + .../images/material-icons/help_outline.svg | 1 + assets/uswds/images/material-icons/hevc.svg | 1 + .../uswds/images/material-icons/hexagon.svg | 1 + .../images/material-icons/hide_image.svg | 1 + .../images/material-icons/hide_source.svg | 1 + .../images/material-icons/high_quality.svg | 1 + .../uswds/images/material-icons/highlight.svg | 1 + .../images/material-icons/highlight_alt.svg | 1 + .../images/material-icons/highlight_off.svg | 1 + assets/uswds/images/material-icons/hiking.svg | 1 + .../uswds/images/material-icons/history.svg | 1 + .../images/material-icons/history_edu.svg | 1 + .../material-icons/history_toggle_off.svg | 1 + assets/uswds/images/material-icons/hive.svg | 1 + assets/uswds/images/material-icons/hls.svg | 1 + .../uswds/images/material-icons/hls_off.svg | 1 + .../images/material-icons/holiday_village.svg | 1 + assets/uswds/images/material-icons/home.svg | 1 + .../uswds/images/material-icons/home_max.svg | 1 + .../uswds/images/material-icons/home_mini.svg | 1 + .../material-icons/home_repair_service.svg | 1 + .../uswds/images/material-icons/home_work.svg | 1 + .../material-icons/horizontal_distribute.svg | 1 + .../images/material-icons/horizontal_rule.svg | 1 + .../material-icons/horizontal_split.svg | 1 + .../uswds/images/material-icons/hot_tub.svg | 1 + assets/uswds/images/material-icons/hotel.svg | 1 + .../images/material-icons/hotel_class.svg | 1 + .../material-icons/hourglass_bottom.svg | 1 + .../material-icons/hourglass_disabled.svg | 1 + .../images/material-icons/hourglass_empty.svg | 1 + .../images/material-icons/hourglass_full.svg | 1 + .../images/material-icons/hourglass_top.svg | 1 + assets/uswds/images/material-icons/house.svg | 1 + .../images/material-icons/house_siding.svg | 1 + .../uswds/images/material-icons/houseboat.svg | 1 + .../images/material-icons/how_to_reg.svg | 1 + .../images/material-icons/how_to_vote.svg | 1 + assets/uswds/images/material-icons/html.svg | 1 + assets/uswds/images/material-icons/http.svg | 1 + assets/uswds/images/material-icons/https.svg | 1 + assets/uswds/images/material-icons/hub.svg | 1 + assets/uswds/images/material-icons/hvac.svg | 1 + .../images/material-icons/ice_skating.svg | 1 + .../uswds/images/material-icons/icecream.svg | 1 + assets/uswds/images/material-icons/image.svg | 1 + .../material-icons/image_aspect_ratio.svg | 1 + .../material-icons/image_not_supported.svg | 1 + .../images/material-icons/image_search.svg | 1 + .../material-icons/imagesearch_roller.svg | 1 + .../images/material-icons/import_contacts.svg | 1 + .../images/material-icons/import_export.svg | 1 + .../material-icons/important_devices.svg | 1 + assets/uswds/images/material-icons/inbox.svg | 1 + .../material-icons/incomplete_circle.svg | 1 + .../indeterminate_check_box.svg | 1 + assets/uswds/images/material-icons/info.svg | 1 + assets/uswds/images/material-icons/input.svg | 1 + .../images/material-icons/insert_chart.svg | 1 + .../material-icons/insert_chart_outlined.svg | 1 + .../images/material-icons/insert_comment.svg | 1 + .../material-icons/insert_drive_file.svg | 1 + .../images/material-icons/insert_emoticon.svg | 1 + .../material-icons/insert_invitation.svg | 1 + .../images/material-icons/insert_link.svg | 1 + .../material-icons/insert_page_break.svg | 1 + .../images/material-icons/insert_photo.svg | 1 + .../uswds/images/material-icons/insights.svg | 1 + .../images/material-icons/install_desktop.svg | 1 + .../images/material-icons/install_mobile.svg | 1 + .../integration_instructions.svg | 1 + .../uswds/images/material-icons/interests.svg | 1 + .../material-icons/interpreter_mode.svg | 1 + .../uswds/images/material-icons/inventory.svg | 1 + .../images/material-icons/inventory_2.svg | 1 + .../images/material-icons/invert_colors.svg | 1 + .../material-icons/invert_colors_off.svg | 1 + .../uswds/images/material-icons/ios_share.svg | 1 + assets/uswds/images/material-icons/iron.svg | 1 + assets/uswds/images/material-icons/iso.svg | 1 + .../images/material-icons/javascript.svg | 1 + .../uswds/images/material-icons/join_full.svg | 1 + .../images/material-icons/join_inner.svg | 1 + .../uswds/images/material-icons/join_left.svg | 1 + .../images/material-icons/join_right.svg | 1 + .../uswds/images/material-icons/kayaking.svg | 1 + .../images/material-icons/kebab_dining.svg | 1 + assets/uswds/images/material-icons/key.svg | 1 + .../uswds/images/material-icons/key_off.svg | 1 + .../uswds/images/material-icons/keyboard.svg | 1 + .../images/material-icons/keyboard_alt.svg | 1 + .../material-icons/keyboard_arrow_down.svg | 1 + .../material-icons/keyboard_arrow_left.svg | 1 + .../material-icons/keyboard_arrow_right.svg | 1 + .../material-icons/keyboard_arrow_up.svg | 1 + .../material-icons/keyboard_backspace.svg | 1 + .../material-icons/keyboard_capslock.svg | 1 + .../material-icons/keyboard_command_key.svg | 1 + .../material-icons/keyboard_control_key.svg | 1 + .../keyboard_double_arrow_down.svg | 1 + .../keyboard_double_arrow_left.svg | 1 + .../keyboard_double_arrow_right.svg | 1 + .../keyboard_double_arrow_up.svg | 1 + .../images/material-icons/keyboard_hide.svg | 1 + .../material-icons/keyboard_option_key.svg | 1 + .../images/material-icons/keyboard_return.svg | 1 + .../images/material-icons/keyboard_tab.svg | 1 + .../images/material-icons/keyboard_voice.svg | 1 + .../uswds/images/material-icons/king_bed.svg | 1 + .../uswds/images/material-icons/kitchen.svg | 1 + .../images/material-icons/kitesurfing.svg | 1 + assets/uswds/images/material-icons/label.svg | 1 + .../images/material-icons/label_important.svg | 1 + .../uswds/images/material-icons/label_off.svg | 1 + assets/uswds/images/material-icons/lan.svg | 1 + .../uswds/images/material-icons/landscape.svg | 1 + .../uswds/images/material-icons/landslide.svg | 1 + .../uswds/images/material-icons/language.svg | 1 + assets/uswds/images/material-icons/laptop.svg | 1 + .../material-icons/laptop_chromebook.svg | 1 + .../images/material-icons/laptop_mac.svg | 1 + .../images/material-icons/laptop_windows.svg | 1 + .../uswds/images/material-icons/last_page.svg | 1 + assets/uswds/images/material-icons/launch.svg | 1 + assets/uswds/images/material-icons/layers.svg | 1 + .../images/material-icons/layers_clear.svg | 1 + .../images/material-icons/leaderboard.svg | 1 + .../uswds/images/material-icons/leak_add.svg | 1 + .../images/material-icons/leak_remove.svg | 1 + .../images/material-icons/legend_toggle.svg | 1 + assets/uswds/images/material-icons/lens.svg | 1 + .../uswds/images/material-icons/lens_blur.svg | 1 + .../images/material-icons/library_add.svg | 1 + .../material-icons/library_add_check.svg | 1 + .../images/material-icons/library_books.svg | 1 + .../images/material-icons/library_music.svg | 1 + assets/uswds/images/material-icons/light.svg | 1 + .../images/material-icons/light_mode.svg | 1 + .../uswds/images/material-icons/lightbulb.svg | 1 + .../material-icons/lightbulb_circle.svg | 1 + .../uswds/images/material-icons/line_axis.svg | 1 + .../images/material-icons/line_style.svg | 1 + .../images/material-icons/line_weight.svg | 1 + .../images/material-icons/linear_scale.svg | 1 + assets/uswds/images/material-icons/link.svg | 1 + .../uswds/images/material-icons/link_off.svg | 1 + .../images/material-icons/linked_camera.svg | 1 + assets/uswds/images/material-icons/liquor.svg | 1 + assets/uswds/images/material-icons/list.svg | 1 + .../uswds/images/material-icons/list_alt.svg | 1 + .../uswds/images/material-icons/live_help.svg | 1 + .../uswds/images/material-icons/live_tv.svg | 1 + assets/uswds/images/material-icons/living.svg | 1 + .../images/material-icons/local_activity.svg | 1 + .../images/material-icons/local_airport.svg | 1 + .../uswds/images/material-icons/local_atm.svg | 1 + .../uswds/images/material-icons/local_bar.svg | 1 + .../images/material-icons/local_cafe.svg | 1 + .../images/material-icons/local_car_wash.svg | 1 + .../local_convenience_store.svg | 1 + .../images/material-icons/local_dining.svg | 1 + .../images/material-icons/local_drink.svg | 1 + .../material-icons/local_fire_department.svg | 1 + .../images/material-icons/local_florist.svg | 1 + .../material-icons/local_gas_station.svg | 1 + .../material-icons/local_grocery_store.svg | 1 + .../images/material-icons/local_hospital.svg | 1 + .../images/material-icons/local_hotel.svg | 1 + .../material-icons/local_laundry_service.svg | 1 + .../images/material-icons/local_library.svg | 1 + .../images/material-icons/local_mall.svg | 1 + .../images/material-icons/local_movies.svg | 1 + .../images/material-icons/local_offer.svg | 1 + .../images/material-icons/local_parking.svg | 1 + .../images/material-icons/local_pharmacy.svg | 1 + .../images/material-icons/local_phone.svg | 1 + .../images/material-icons/local_pizza.svg | 1 + .../images/material-icons/local_play.svg | 1 + .../images/material-icons/local_police.svg | 1 + .../material-icons/local_post_office.svg | 1 + .../images/material-icons/local_printshop.svg | 1 + .../uswds/images/material-icons/local_see.svg | 1 + .../images/material-icons/local_shipping.svg | 1 + .../images/material-icons/local_taxi.svg | 1 + .../images/material-icons/location_city.svg | 1 + .../material-icons/location_disabled.svg | 1 + .../images/material-icons/location_off.svg | 1 + .../images/material-icons/location_on.svg | 1 + .../material-icons/location_searching.svg | 1 + assets/uswds/images/material-icons/lock.svg | 1 + .../images/material-icons/lock_clock.svg | 1 + .../uswds/images/material-icons/lock_open.svg | 1 + .../images/material-icons/lock_person.svg | 1 + .../images/material-icons/lock_reset.svg | 1 + assets/uswds/images/material-icons/login.svg | 1 + .../uswds/images/material-icons/logo_dev.svg | 1 + assets/uswds/images/material-icons/logout.svg | 1 + assets/uswds/images/material-icons/looks.svg | 1 + .../uswds/images/material-icons/looks_3.svg | 1 + .../uswds/images/material-icons/looks_4.svg | 1 + .../uswds/images/material-icons/looks_5.svg | 1 + .../uswds/images/material-icons/looks_6.svg | 1 + .../uswds/images/material-icons/looks_one.svg | 1 + .../uswds/images/material-icons/looks_two.svg | 1 + assets/uswds/images/material-icons/loop.svg | 1 + assets/uswds/images/material-icons/loupe.svg | 1 + .../images/material-icons/low_priority.svg | 1 + .../uswds/images/material-icons/loyalty.svg | 1 + .../images/material-icons/lte_mobiledata.svg | 1 + .../material-icons/lte_plus_mobiledata.svg | 1 + .../uswds/images/material-icons/luggage.svg | 1 + .../images/material-icons/lunch_dining.svg | 1 + assets/uswds/images/material-icons/lyrics.svg | 1 + .../uswds/images/material-icons/macro_off.svg | 1 + assets/uswds/images/material-icons/mail.svg | 1 + .../uswds/images/material-icons/mail_lock.svg | 1 + .../images/material-icons/mail_outline.svg | 1 + assets/uswds/images/material-icons/male.svg | 1 + assets/uswds/images/material-icons/man.svg | 1 + assets/uswds/images/material-icons/man_2.svg | 1 + assets/uswds/images/material-icons/man_3.svg | 1 + assets/uswds/images/material-icons/man_4.svg | 1 + .../images/material-icons/manage_accounts.svg | 1 + .../images/material-icons/manage_history.svg | 1 + .../images/material-icons/manage_search.svg | 1 + assets/uswds/images/material-icons/map.svg | 1 + .../images/material-icons/maps_home_work.svg | 1 + .../uswds/images/material-icons/maps_ugc.svg | 1 + assets/uswds/images/material-icons/margin.svg | 1 + .../images/material-icons/mark_as_unread.svg | 1 + .../images/material-icons/mark_chat_read.svg | 1 + .../material-icons/mark_chat_unread.svg | 1 + .../images/material-icons/mark_email_read.svg | 1 + .../material-icons/mark_email_unread.svg | 1 + .../material-icons/mark_unread_chat_alt.svg | 1 + .../images/material-icons/markunread.svg | 1 + .../material-icons/markunread_mailbox.svg | 1 + assets/uswds/images/material-icons/masks.svg | 1 + .../uswds/images/material-icons/maximize.svg | 1 + .../material-icons/media_bluetooth_off.svg | 1 + .../material-icons/media_bluetooth_on.svg | 1 + .../uswds/images/material-icons/mediation.svg | 1 + .../material-icons/medical_information.svg | 1 + .../material-icons/medical_services.svg | 1 + .../images/material-icons/medication.svg | 1 + .../material-icons/medication_liquid.svg | 1 + .../images/material-icons/meeting_room.svg | 1 + assets/uswds/images/material-icons/memory.svg | 1 + assets/uswds/images/material-icons/menu.svg | 1 + .../uswds/images/material-icons/menu_book.svg | 1 + .../uswds/images/material-icons/menu_open.svg | 1 + assets/uswds/images/material-icons/merge.svg | 1 + .../images/material-icons/merge_type.svg | 1 + .../uswds/images/material-icons/message.svg | 1 + assets/uswds/images/material-icons/mic.svg | 1 + .../material-icons/mic_external_off.svg | 1 + .../images/material-icons/mic_external_on.svg | 1 + .../uswds/images/material-icons/mic_none.svg | 1 + .../uswds/images/material-icons/mic_off.svg | 1 + .../uswds/images/material-icons/microwave.svg | 1 + .../images/material-icons/military_tech.svg | 1 + .../uswds/images/material-icons/minimize.svg | 1 + .../images/material-icons/minor_crash.svg | 1 + .../material-icons/miscellaneous_services.svg | 1 + .../material-icons/missed_video_call.svg | 1 + assets/uswds/images/material-icons/mms.svg | 1 + .../images/material-icons/mobile_friendly.svg | 1 + .../images/material-icons/mobile_off.svg | 1 + .../material-icons/mobile_screen_share.svg | 1 + .../images/material-icons/mobiledata_off.svg | 1 + assets/uswds/images/material-icons/mode.svg | 1 + .../images/material-icons/mode_comment.svg | 1 + .../uswds/images/material-icons/mode_edit.svg | 1 + .../material-icons/mode_edit_outline.svg | 1 + .../images/material-icons/mode_fan_off.svg | 1 + .../images/material-icons/mode_night.svg | 1 + .../images/material-icons/mode_of_travel.svg | 1 + .../images/material-icons/mode_standby.svg | 1 + .../images/material-icons/model_training.svg | 1 + .../images/material-icons/monetization_on.svg | 1 + assets/uswds/images/material-icons/money.svg | 1 + .../uswds/images/material-icons/money_off.svg | 1 + .../images/material-icons/money_off_csred.svg | 1 + .../uswds/images/material-icons/monitor.svg | 1 + .../images/material-icons/monitor_heart.svg | 1 + .../images/material-icons/monitor_weight.svg | 1 + .../material-icons/monochrome_photos.svg | 1 + assets/uswds/images/material-icons/mood.svg | 1 + .../uswds/images/material-icons/mood_bad.svg | 1 + assets/uswds/images/material-icons/moped.svg | 1 + assets/uswds/images/material-icons/more.svg | 1 + .../images/material-icons/more_horiz.svg | 1 + .../uswds/images/material-icons/more_time.svg | 1 + .../uswds/images/material-icons/more_vert.svg | 1 + assets/uswds/images/material-icons/mosque.svg | 1 + .../material-icons/motion_photos_auto.svg | 1 + .../material-icons/motion_photos_off.svg | 1 + .../material-icons/motion_photos_on.svg | 1 + .../material-icons/motion_photos_pause.svg | 1 + .../material-icons/motion_photos_paused.svg | 1 + assets/uswds/images/material-icons/mouse.svg | 1 + .../uswds/images/material-icons/move_down.svg | 1 + .../images/material-icons/move_to_inbox.svg | 1 + .../uswds/images/material-icons/move_up.svg | 1 + assets/uswds/images/material-icons/movie.svg | 1 + .../images/material-icons/movie_creation.svg | 1 + .../images/material-icons/movie_filter.svg | 1 + assets/uswds/images/material-icons/moving.svg | 1 + assets/uswds/images/material-icons/mp.svg | 1 + .../images/material-icons/multiline_chart.svg | 1 + .../images/material-icons/multiple_stop.svg | 1 + assets/uswds/images/material-icons/museum.svg | 1 + .../images/material-icons/music_note.svg | 1 + .../uswds/images/material-icons/music_off.svg | 1 + .../images/material-icons/music_video.svg | 1 + .../images/material-icons/my_location.svg | 1 + assets/uswds/images/material-icons/nat.svg | 1 + assets/uswds/images/material-icons/nature.svg | 1 + .../images/material-icons/nature_people.svg | 1 + .../images/material-icons/navigate_before.svg | 1 + .../images/material-icons/navigate_next.svg | 1 + .../images/material-icons/navigation.svg | 1 + .../uswds/images/material-icons/near_me.svg | 1 + .../material-icons/near_me_disabled.svg | 1 + .../images/material-icons/nearby_error.svg | 1 + .../images/material-icons/nearby_off.svg | 1 + .../material-icons/nest_cam_wired_stand.svg | 1 + .../images/material-icons/network_cell.svg | 1 + .../images/material-icons/network_check.svg | 1 + .../images/material-icons/network_locked.svg | 1 + .../images/material-icons/network_ping.svg | 1 + .../images/material-icons/network_wifi.svg | 1 + .../material-icons/network_wifi_1_bar.svg | 1 + .../material-icons/network_wifi_2_bar.svg | 1 + .../material-icons/network_wifi_3_bar.svg | 1 + .../uswds/images/material-icons/new_label.svg | 1 + .../images/material-icons/new_releases.svg | 1 + .../uswds/images/material-icons/newspaper.svg | 1 + .../uswds/images/material-icons/next_plan.svg | 1 + .../uswds/images/material-icons/next_week.svg | 1 + assets/uswds/images/material-icons/nfc.svg | 1 + .../images/material-icons/night_shelter.svg | 1 + .../uswds/images/material-icons/nightlife.svg | 1 + .../images/material-icons/nightlight.svg | 1 + .../material-icons/nightlight_round.svg | 1 + .../images/material-icons/nights_stay.svg | 1 + .../images/material-icons/no_accounts.svg | 1 + .../material-icons/no_adult_content.svg | 1 + .../images/material-icons/no_backpack.svg | 1 + .../uswds/images/material-icons/no_cell.svg | 1 + .../uswds/images/material-icons/no_crash.svg | 1 + .../uswds/images/material-icons/no_drinks.svg | 1 + .../images/material-icons/no_encryption.svg | 1 + .../no_encryption_gmailerrorred.svg | 1 + .../uswds/images/material-icons/no_flash.svg | 1 + .../uswds/images/material-icons/no_food.svg | 1 + .../images/material-icons/no_luggage.svg | 1 + .../uswds/images/material-icons/no_meals.svg | 1 + .../images/material-icons/no_meeting_room.svg | 1 + .../images/material-icons/no_photography.svg | 1 + assets/uswds/images/material-icons/no_sim.svg | 1 + .../images/material-icons/no_stroller.svg | 1 + .../images/material-icons/no_transfer.svg | 1 + .../images/material-icons/noise_aware.svg | 1 + .../material-icons/noise_control_off.svg | 1 + .../images/material-icons/nordic_walking.svg | 1 + assets/uswds/images/material-icons/north.svg | 1 + .../images/material-icons/north_east.svg | 1 + .../images/material-icons/north_west.svg | 1 + .../images/material-icons/not_accessible.svg | 1 + .../images/material-icons/not_interested.svg | 1 + .../material-icons/not_listed_location.svg | 1 + .../images/material-icons/not_started.svg | 1 + assets/uswds/images/material-icons/note.svg | 1 + .../uswds/images/material-icons/note_add.svg | 1 + .../uswds/images/material-icons/note_alt.svg | 1 + assets/uswds/images/material-icons/notes.svg | 1 + .../material-icons/notification_add.svg | 1 + .../material-icons/notification_important.svg | 1 + .../images/material-icons/notifications.svg | 1 + .../material-icons/notifications_active.svg | 1 + .../material-icons/notifications_none.svg | 1 + .../material-icons/notifications_off.svg | 1 + .../material-icons/notifications_paused.svg | 1 + .../uswds/images/material-icons/numbers.svg | 1 + .../images/material-icons/offline_bolt.svg | 1 + .../images/material-icons/offline_pin.svg | 1 + .../images/material-icons/offline_share.svg | 1 + .../images/material-icons/oil_barrel.svg | 1 + .../material-icons/on_device_training.svg | 1 + .../images/material-icons/ondemand_video.svg | 1 + .../material-icons/online_prediction.svg | 1 + .../uswds/images/material-icons/opacity.svg | 1 + .../images/material-icons/open_in_browser.svg | 1 + .../images/material-icons/open_in_full.svg | 1 + .../images/material-icons/open_in_new.svg | 1 + .../images/material-icons/open_in_new_off.svg | 1 + .../uswds/images/material-icons/open_with.svg | 1 + .../images/material-icons/other_houses.svg | 1 + .../uswds/images/material-icons/outbound.svg | 1 + assets/uswds/images/material-icons/outbox.svg | 1 + .../images/material-icons/outdoor_grill.svg | 1 + assets/uswds/images/material-icons/outlet.svg | 1 + .../images/material-icons/outlined_flag.svg | 1 + assets/uswds/images/material-icons/output.svg | 1 + .../uswds/images/material-icons/padding.svg | 1 + assets/uswds/images/material-icons/pages.svg | 1 + .../uswds/images/material-icons/pageview.svg | 1 + assets/uswds/images/material-icons/paid.svg | 1 + .../uswds/images/material-icons/palette.svg | 1 + .../uswds/images/material-icons/pan_tool.svg | 1 + .../images/material-icons/pan_tool_alt.svg | 1 + .../uswds/images/material-icons/panorama.svg | 1 + .../material-icons/panorama_fish_eye.svg | 1 + .../material-icons/panorama_horizontal.svg | 1 + .../panorama_horizontal_select.svg | 1 + .../material-icons/panorama_photosphere.svg | 1 + .../panorama_photosphere_select.svg | 1 + .../material-icons/panorama_vertical.svg | 1 + .../panorama_vertical_select.svg | 1 + .../material-icons/panorama_wide_angle.svg | 1 + .../panorama_wide_angle_select.svg | 1 + .../images/material-icons/paragliding.svg | 1 + assets/uswds/images/material-icons/park.svg | 1 + .../images/material-icons/party_mode.svg | 1 + .../uswds/images/material-icons/password.svg | 1 + .../uswds/images/material-icons/pattern.svg | 1 + assets/uswds/images/material-icons/pause.svg | 1 + .../images/material-icons/pause_circle.svg | 1 + .../material-icons/pause_circle_filled.svg | 1 + .../material-icons/pause_circle_outline.svg | 1 + .../material-icons/pause_presentation.svg | 1 + .../uswds/images/material-icons/payment.svg | 1 + .../uswds/images/material-icons/payments.svg | 1 + .../images/material-icons/pedal_bike.svg | 1 + .../uswds/images/material-icons/pending.svg | 1 + .../images/material-icons/pending_actions.svg | 1 + .../uswds/images/material-icons/pentagon.svg | 1 + assets/uswds/images/material-icons/people.svg | 1 + .../images/material-icons/people_alt.svg | 1 + .../images/material-icons/people_outline.svg | 1 + .../uswds/images/material-icons/percent.svg | 1 + .../images/material-icons/perm_camera_mic.svg | 1 + .../material-icons/perm_contact_calendar.svg | 1 + .../material-icons/perm_data_setting.svg | 1 + .../perm_device_information.svg | 1 + .../images/material-icons/perm_identity.svg | 1 + .../images/material-icons/perm_media.svg | 1 + .../images/material-icons/perm_phone_msg.svg | 1 + .../images/material-icons/perm_scan_wifi.svg | 1 + assets/uswds/images/material-icons/person.svg | 1 + .../uswds/images/material-icons/person_2.svg | 1 + .../uswds/images/material-icons/person_3.svg | 1 + .../uswds/images/material-icons/person_4.svg | 1 + .../images/material-icons/person_add.svg | 1 + .../images/material-icons/person_add_alt.svg | 1 + .../material-icons/person_add_alt_1.svg | 1 + .../material-icons/person_add_disabled.svg | 1 + .../images/material-icons/person_off.svg | 1 + .../images/material-icons/person_outline.svg | 1 + .../images/material-icons/person_pin.svg | 1 + .../material-icons/person_pin_circle.svg | 1 + .../images/material-icons/person_remove.svg | 1 + .../material-icons/person_remove_alt_1.svg | 1 + .../images/material-icons/person_search.svg | 1 + .../images/material-icons/personal_injury.svg | 1 + .../images/material-icons/personal_video.svg | 1 + .../images/material-icons/pest_control.svg | 1 + .../material-icons/pest_control_rodent.svg | 1 + assets/uswds/images/material-icons/pets.svg | 1 + .../uswds/images/material-icons/phishing.svg | 1 + assets/uswds/images/material-icons/phone.svg | 1 + .../images/material-icons/phone_android.svg | 1 + .../phone_bluetooth_speaker.svg | 1 + .../images/material-icons/phone_callback.svg | 1 + .../images/material-icons/phone_disabled.svg | 1 + .../images/material-icons/phone_enabled.svg | 1 + .../images/material-icons/phone_forwarded.svg | 1 + .../images/material-icons/phone_iphone.svg | 1 + .../images/material-icons/phone_locked.svg | 1 + .../images/material-icons/phone_missed.svg | 1 + .../images/material-icons/phone_paused.svg | 1 + .../uswds/images/material-icons/phonelink.svg | 1 + .../images/material-icons/phonelink_erase.svg | 1 + .../images/material-icons/phonelink_lock.svg | 1 + .../images/material-icons/phonelink_off.svg | 1 + .../images/material-icons/phonelink_ring.svg | 1 + .../images/material-icons/phonelink_setup.svg | 1 + assets/uswds/images/material-icons/photo.svg | 1 + .../images/material-icons/photo_album.svg | 1 + .../images/material-icons/photo_camera.svg | 1 + .../material-icons/photo_camera_back.svg | 1 + .../material-icons/photo_camera_front.svg | 1 + .../images/material-icons/photo_filter.svg | 1 + .../images/material-icons/photo_library.svg | 1 + .../photo_size_select_actual.svg | 1 + .../photo_size_select_large.svg | 1 + .../photo_size_select_small.svg | 1 + assets/uswds/images/material-icons/php.svg | 1 + assets/uswds/images/material-icons/piano.svg | 1 + .../uswds/images/material-icons/piano_off.svg | 1 + .../images/material-icons/picture_as_pdf.svg | 1 + .../material-icons/picture_in_picture.svg | 1 + .../material-icons/picture_in_picture_alt.svg | 1 + .../uswds/images/material-icons/pie_chart.svg | 1 + .../material-icons/pie_chart_outline.svg | 1 + assets/uswds/images/material-icons/pin.svg | 1 + .../uswds/images/material-icons/pin_drop.svg | 1 + .../uswds/images/material-icons/pin_end.svg | 1 + .../images/material-icons/pin_invoke.svg | 1 + assets/uswds/images/material-icons/pinch.svg | 1 + .../material-icons/pivot_table_chart.svg | 1 + assets/uswds/images/material-icons/pix.svg | 1 + assets/uswds/images/material-icons/place.svg | 1 + .../images/material-icons/plagiarism.svg | 1 + .../images/material-icons/play_arrow.svg | 1 + .../images/material-icons/play_circle.svg | 1 + .../material-icons/play_circle_filled.svg | 1 + .../material-icons/play_circle_outline.svg | 1 + .../images/material-icons/play_disabled.svg | 1 + .../images/material-icons/play_for_work.svg | 1 + .../images/material-icons/play_lesson.svg | 1 + .../images/material-icons/playlist_add.svg | 1 + .../material-icons/playlist_add_check.svg | 1 + .../playlist_add_check_circle.svg | 1 + .../material-icons/playlist_add_circle.svg | 1 + .../images/material-icons/playlist_play.svg | 1 + .../images/material-icons/playlist_remove.svg | 1 + .../uswds/images/material-icons/plumbing.svg | 1 + .../uswds/images/material-icons/plus_one.svg | 1 + .../uswds/images/material-icons/podcasts.svg | 1 + .../images/material-icons/point_of_sale.svg | 1 + assets/uswds/images/material-icons/policy.svg | 1 + assets/uswds/images/material-icons/poll.svg | 1 + .../uswds/images/material-icons/polyline.svg | 1 + .../uswds/images/material-icons/polymer.svg | 1 + assets/uswds/images/material-icons/pool.svg | 1 + .../material-icons/portable_wifi_off.svg | 1 + .../uswds/images/material-icons/portrait.svg | 1 + .../uswds/images/material-icons/post_add.svg | 1 + assets/uswds/images/material-icons/power.svg | 1 + .../images/material-icons/power_input.svg | 1 + .../uswds/images/material-icons/power_off.svg | 1 + .../material-icons/power_settings_new.svg | 1 + .../precision_manufacturing.svg | 1 + .../images/material-icons/pregnant_woman.svg | 1 + .../images/material-icons/present_to_all.svg | 1 + .../uswds/images/material-icons/preview.svg | 1 + .../images/material-icons/price_change.svg | 1 + .../images/material-icons/price_check.svg | 1 + assets/uswds/images/material-icons/print.svg | 1 + .../images/material-icons/print_disabled.svg | 1 + .../images/material-icons/priority_high.svg | 1 + .../images/material-icons/privacy_tip.svg | 1 + .../material-icons/private_connectivity.svg | 1 + .../production_quantity_limits.svg | 1 + .../uswds/images/material-icons/propane.svg | 1 + .../images/material-icons/propane_tank.svg | 1 + .../images/material-icons/psychology.svg | 1 + .../images/material-icons/psychology_alt.svg | 1 + assets/uswds/images/material-icons/public.svg | 1 + .../images/material-icons/public_off.svg | 1 + .../uswds/images/material-icons/publish.svg | 1 + .../material-icons/published_with_changes.svg | 1 + .../images/material-icons/punch_clock.svg | 1 + .../uswds/images/material-icons/push_pin.svg | 1 + .../uswds/images/material-icons/qr_code.svg | 1 + .../uswds/images/material-icons/qr_code_2.svg | 1 + .../images/material-icons/qr_code_scanner.svg | 1 + .../images/material-icons/query_builder.svg | 1 + .../images/material-icons/query_stats.svg | 1 + .../images/material-icons/question_answer.svg | 1 + .../images/material-icons/question_mark.svg | 1 + assets/uswds/images/material-icons/queue.svg | 1 + .../images/material-icons/queue_music.svg | 1 + .../images/material-icons/queue_play_next.svg | 1 + .../images/material-icons/quickreply.svg | 1 + assets/uswds/images/material-icons/quiz.svg | 1 + .../images/material-icons/r_mobiledata.svg | 1 + assets/uswds/images/material-icons/radar.svg | 1 + assets/uswds/images/material-icons/radio.svg | 1 + .../material-icons/radio_button_checked.svg | 1 + .../material-icons/radio_button_unchecked.svg | 1 + .../images/material-icons/railway_alert.svg | 1 + .../images/material-icons/ramen_dining.svg | 1 + .../uswds/images/material-icons/ramp_left.svg | 1 + .../images/material-icons/ramp_right.svg | 1 + .../images/material-icons/rate_review.svg | 1 + .../uswds/images/material-icons/raw_off.svg | 1 + assets/uswds/images/material-icons/raw_on.svg | 1 + .../uswds/images/material-icons/read_more.svg | 1 + .../material-icons/real_estate_agent.svg | 1 + .../uswds/images/material-icons/receipt.svg | 1 + .../images/material-icons/receipt_long.svg | 1 + .../images/material-icons/recent_actors.svg | 1 + .../uswds/images/material-icons/recommend.svg | 1 + .../material-icons/record_voice_over.svg | 1 + .../uswds/images/material-icons/rectangle.svg | 1 + .../uswds/images/material-icons/recycling.svg | 1 + assets/uswds/images/material-icons/redeem.svg | 1 + assets/uswds/images/material-icons/redo.svg | 1 + .../images/material-icons/reduce_capacity.svg | 1 + .../uswds/images/material-icons/refresh.svg | 1 + .../images/material-icons/remember_me.svg | 1 + assets/uswds/images/material-icons/remove.svg | 1 + .../images/material-icons/remove_circle.svg | 1 + .../material-icons/remove_circle_outline.svg | 1 + .../images/material-icons/remove_done.svg | 1 + .../material-icons/remove_from_queue.svg | 1 + .../material-icons/remove_moderator.svg | 1 + .../images/material-icons/remove_red_eye.svg | 1 + .../images/material-icons/remove_road.svg | 1 + .../material-icons/remove_shopping_cart.svg | 1 + .../uswds/images/material-icons/reorder.svg | 1 + .../images/material-icons/repartition.svg | 1 + assets/uswds/images/material-icons/repeat.svg | 1 + .../uswds/images/material-icons/repeat_on.svg | 1 + .../images/material-icons/repeat_one.svg | 1 + .../images/material-icons/repeat_one_on.svg | 1 + assets/uswds/images/material-icons/replay.svg | 1 + .../uswds/images/material-icons/replay_10.svg | 1 + .../uswds/images/material-icons/replay_30.svg | 1 + .../uswds/images/material-icons/replay_5.svg | 1 + .../material-icons/replay_circle_filled.svg | 1 + assets/uswds/images/material-icons/reply.svg | 1 + .../uswds/images/material-icons/reply_all.svg | 1 + assets/uswds/images/material-icons/report.svg | 1 + .../material-icons/report_gmailerrorred.svg | 1 + .../images/material-icons/report_off.svg | 1 + .../images/material-icons/report_problem.svg | 1 + .../images/material-icons/request_page.svg | 1 + .../images/material-icons/request_quote.svg | 1 + .../uswds/images/material-icons/reset_tv.svg | 1 + .../images/material-icons/restart_alt.svg | 1 + .../images/material-icons/restaurant.svg | 1 + .../images/material-icons/restaurant_menu.svg | 1 + .../uswds/images/material-icons/restore.svg | 1 + .../material-icons/restore_from_trash.svg | 1 + .../images/material-icons/restore_page.svg | 1 + .../uswds/images/material-icons/reviews.svg | 1 + .../uswds/images/material-icons/rice_bowl.svg | 1 + .../images/material-icons/ring_volume.svg | 1 + assets/uswds/images/material-icons/rocket.svg | 1 + .../images/material-icons/rocket_launch.svg | 1 + .../images/material-icons/roller_shades.svg | 1 + .../material-icons/roller_shades_closed.svg | 1 + .../images/material-icons/roller_skating.svg | 1 + .../uswds/images/material-icons/roofing.svg | 1 + assets/uswds/images/material-icons/room.svg | 1 + .../material-icons/room_preferences.svg | 1 + .../images/material-icons/room_service.svg | 1 + .../material-icons/rotate_90_degrees_ccw.svg | 1 + .../material-icons/rotate_90_degrees_cw.svg | 1 + .../images/material-icons/rotate_left.svg | 1 + .../images/material-icons/rotate_right.svg | 1 + .../images/material-icons/roundabout_left.svg | 1 + .../material-icons/roundabout_right.svg | 1 + .../images/material-icons/rounded_corner.svg | 1 + assets/uswds/images/material-icons/route.svg | 1 + assets/uswds/images/material-icons/router.svg | 1 + assets/uswds/images/material-icons/rowing.svg | 1 + .../uswds/images/material-icons/rss_feed.svg | 1 + assets/uswds/images/material-icons/rsvp.svg | 1 + assets/uswds/images/material-icons/rtt.svg | 1 + assets/uswds/images/material-icons/rule.svg | 1 + .../images/material-icons/rule_folder.svg | 1 + .../images/material-icons/run_circle.svg | 1 + .../material-icons/running_with_errors.svg | 1 + .../uswds/images/material-icons/rv_hookup.svg | 1 + .../images/material-icons/safety_check.svg | 1 + .../images/material-icons/safety_divider.svg | 1 + .../uswds/images/material-icons/sailing.svg | 1 + .../uswds/images/material-icons/sanitizer.svg | 1 + .../uswds/images/material-icons/satellite.svg | 1 + .../images/material-icons/satellite_alt.svg | 1 + assets/uswds/images/material-icons/save.svg | 1 + .../uswds/images/material-icons/save_alt.svg | 1 + .../uswds/images/material-icons/save_as.svg | 1 + .../images/material-icons/saved_search.svg | 1 + .../uswds/images/material-icons/savings.svg | 1 + assets/uswds/images/material-icons/scale.svg | 1 + .../uswds/images/material-icons/scanner.svg | 1 + .../images/material-icons/scatter_plot.svg | 1 + .../uswds/images/material-icons/schedule.svg | 1 + .../images/material-icons/schedule_send.svg | 1 + assets/uswds/images/material-icons/schema.svg | 1 + assets/uswds/images/material-icons/school.svg | 1 + .../uswds/images/material-icons/science.svg | 1 + assets/uswds/images/material-icons/score.svg | 1 + .../images/material-icons/scoreboard.svg | 1 + .../material-icons/screen_lock_landscape.svg | 1 + .../material-icons/screen_lock_portrait.svg | 1 + .../material-icons/screen_lock_rotation.svg | 1 + .../images/material-icons/screen_rotation.svg | 1 + .../material-icons/screen_rotation_alt.svg | 1 + .../material-icons/screen_search_desktop.svg | 1 + .../images/material-icons/screen_share.svg | 1 + .../images/material-icons/screenshot.svg | 1 + .../material-icons/screenshot_monitor.svg | 1 + .../images/material-icons/scuba_diving.svg | 1 + assets/uswds/images/material-icons/sd.svg | 1 + .../uswds/images/material-icons/sd_card.svg | 1 + .../images/material-icons/sd_card_alert.svg | 1 + .../images/material-icons/sd_storage.svg | 1 + assets/uswds/images/material-icons/search.svg | 1 + .../images/material-icons/search_off.svg | 1 + .../uswds/images/material-icons/security.svg | 1 + .../images/material-icons/security_update.svg | 1 + .../material-icons/security_update_good.svg | 1 + .../security_update_warning.svg | 1 + .../uswds/images/material-icons/segment.svg | 1 + .../images/material-icons/select_all.svg | 1 + .../material-icons/self_improvement.svg | 1 + assets/uswds/images/material-icons/sell.svg | 1 + assets/uswds/images/material-icons/send.svg | 1 + .../material-icons/send_and_archive.svg | 1 + .../material-icons/send_time_extension.svg | 1 + .../images/material-icons/send_to_mobile.svg | 1 + .../images/material-icons/sensor_door.svg | 1 + .../images/material-icons/sensor_occupied.svg | 1 + .../images/material-icons/sensor_window.svg | 1 + .../uswds/images/material-icons/sensors.svg | 1 + .../images/material-icons/sensors_off.svg | 1 + .../material-icons/sentiment_dissatisfied.svg | 1 + .../material-icons/sentiment_neutral.svg | 1 + .../material-icons/sentiment_satisfied.svg | 1 + .../sentiment_satisfied_alt.svg | 1 + .../sentiment_very_dissatisfied.svg | 1 + .../sentiment_very_satisfied.svg | 1 + .../uswds/images/material-icons/set_meal.svg | 1 + .../uswds/images/material-icons/settings.svg | 1 + .../material-icons/settings_accessibility.svg | 1 + .../material-icons/settings_applications.svg | 1 + .../settings_backup_restore.svg | 1 + .../material-icons/settings_bluetooth.svg | 1 + .../material-icons/settings_brightness.svg | 1 + .../images/material-icons/settings_cell.svg | 1 + .../material-icons/settings_ethernet.svg | 1 + .../material-icons/settings_input_antenna.svg | 1 + .../settings_input_component.svg | 1 + .../settings_input_composite.svg | 1 + .../material-icons/settings_input_hdmi.svg | 1 + .../material-icons/settings_input_svideo.svg | 1 + .../material-icons/settings_overscan.svg | 1 + .../images/material-icons/settings_phone.svg | 1 + .../images/material-icons/settings_power.svg | 1 + .../images/material-icons/settings_remote.svg | 1 + .../material-icons/settings_suggest.svg | 1 + .../settings_system_daydream.svg | 1 + .../images/material-icons/settings_voice.svg | 1 + .../images/material-icons/severe_cold.svg | 1 + .../images/material-icons/shape_line.svg | 1 + assets/uswds/images/material-icons/share.svg | 1 + .../images/material-icons/share_location.svg | 1 + assets/uswds/images/material-icons/shield.svg | 1 + .../images/material-icons/shield_moon.svg | 1 + assets/uswds/images/material-icons/shop.svg | 1 + assets/uswds/images/material-icons/shop_2.svg | 1 + .../uswds/images/material-icons/shop_two.svg | 1 + .../images/material-icons/shopping_bag.svg | 1 + .../images/material-icons/shopping_basket.svg | 1 + .../images/material-icons/shopping_cart.svg | 1 + .../material-icons/shopping_cart_checkout.svg | 1 + .../images/material-icons/short_text.svg | 1 + .../uswds/images/material-icons/shortcut.svg | 1 + .../images/material-icons/show_chart.svg | 1 + assets/uswds/images/material-icons/shower.svg | 1 + .../uswds/images/material-icons/shuffle.svg | 1 + .../images/material-icons/shuffle_on.svg | 1 + .../images/material-icons/shutter_speed.svg | 1 + assets/uswds/images/material-icons/sick.svg | 1 + .../images/material-icons/sign_language.svg | 1 + .../material-icons/signal_cellular_0_bar.svg | 1 + .../material-icons/signal_cellular_4_bar.svg | 1 + .../material-icons/signal_cellular_alt.svg | 1 + .../signal_cellular_alt_1_bar.svg | 1 + .../signal_cellular_alt_2_bar.svg | 1 + ...l_cellular_connected_no_internet_0_bar.svg | 1 + ...l_cellular_connected_no_internet_4_bar.svg | 1 + .../material-icons/signal_cellular_no_sim.svg | 1 + .../material-icons/signal_cellular_nodata.svg | 1 + .../material-icons/signal_cellular_null.svg | 1 + .../material-icons/signal_cellular_off.svg | 1 + .../material-icons/signal_wifi_0_bar.svg | 1 + .../material-icons/signal_wifi_4_bar.svg | 1 + .../material-icons/signal_wifi_4_bar_lock.svg | 1 + .../images/material-icons/signal_wifi_bad.svg | 1 + .../signal_wifi_connected_no_internet_4.svg | 1 + .../images/material-icons/signal_wifi_off.svg | 1 + .../signal_wifi_statusbar_4_bar.svg | 1 + ...wifi_statusbar_connected_no_internet_4.svg | 1 + .../signal_wifi_statusbar_null.svg | 1 + .../uswds/images/material-icons/signpost.svg | 1 + .../uswds/images/material-icons/sim_card.svg | 1 + .../images/material-icons/sim_card_alert.svg | 1 + .../material-icons/sim_card_download.svg | 1 + .../images/material-icons/single_bed.svg | 1 + assets/uswds/images/material-icons/sip.svg | 1 + .../images/material-icons/skateboarding.svg | 1 + .../uswds/images/material-icons/skip_next.svg | 1 + .../images/material-icons/skip_previous.svg | 1 + .../uswds/images/material-icons/sledding.svg | 1 + .../uswds/images/material-icons/slideshow.svg | 1 + .../material-icons/slow_motion_video.svg | 1 + .../images/material-icons/smart_button.svg | 1 + .../images/material-icons/smart_display.svg | 1 + .../images/material-icons/smart_screen.svg | 1 + .../uswds/images/material-icons/smart_toy.svg | 1 + .../images/material-icons/smartphone.svg | 1 + .../images/material-icons/smoke_free.svg | 1 + .../images/material-icons/smoking_rooms.svg | 1 + assets/uswds/images/material-icons/sms.svg | 1 + .../images/material-icons/sms_failed.svg | 1 + .../images/material-icons/snippet_folder.svg | 1 + assets/uswds/images/material-icons/snooze.svg | 1 + .../images/material-icons/snowboarding.svg | 1 + .../images/material-icons/snowmobile.svg | 1 + .../images/material-icons/snowshoeing.svg | 1 + assets/uswds/images/material-icons/soap.svg | 1 + .../images/material-icons/social_distance.svg | 1 + .../images/material-icons/solar_power.svg | 1 + assets/uswds/images/material-icons/sort.svg | 1 + .../images/material-icons/sort_by_alpha.svg | 1 + assets/uswds/images/material-icons/sos.svg | 1 + .../images/material-icons/soup_kitchen.svg | 1 + assets/uswds/images/material-icons/source.svg | 1 + assets/uswds/images/material-icons/south.svg | 1 + .../images/material-icons/south_america.svg | 1 + .../images/material-icons/south_east.svg | 1 + .../images/material-icons/south_west.svg | 1 + assets/uswds/images/material-icons/spa.svg | 1 + .../uswds/images/material-icons/space_bar.svg | 1 + .../images/material-icons/space_dashboard.svg | 1 + .../images/material-icons/spatial_audio.svg | 1 + .../material-icons/spatial_audio_off.svg | 1 + .../material-icons/spatial_tracking.svg | 1 + .../uswds/images/material-icons/speaker.svg | 1 + .../images/material-icons/speaker_group.svg | 1 + .../images/material-icons/speaker_notes.svg | 1 + .../material-icons/speaker_notes_off.svg | 1 + .../images/material-icons/speaker_phone.svg | 1 + assets/uswds/images/material-icons/speed.svg | 1 + .../images/material-icons/spellcheck.svg | 1 + .../images/material-icons/splitscreen.svg | 1 + assets/uswds/images/material-icons/spoke.svg | 1 + assets/uswds/images/material-icons/sports.svg | 1 + .../images/material-icons/sports_bar.svg | 1 + .../images/material-icons/sports_baseball.svg | 1 + .../material-icons/sports_basketball.svg | 1 + .../images/material-icons/sports_cricket.svg | 1 + .../images/material-icons/sports_esports.svg | 1 + .../images/material-icons/sports_football.svg | 1 + .../images/material-icons/sports_golf.svg | 1 + .../material-icons/sports_gymnastics.svg | 1 + .../images/material-icons/sports_handball.svg | 1 + .../images/material-icons/sports_hockey.svg | 1 + .../images/material-icons/sports_kabaddi.svg | 1 + .../material-icons/sports_martial_arts.svg | 1 + .../images/material-icons/sports_mma.svg | 1 + .../material-icons/sports_motorsports.svg | 1 + .../images/material-icons/sports_rugby.svg | 1 + .../images/material-icons/sports_score.svg | 1 + .../images/material-icons/sports_soccer.svg | 1 + .../images/material-icons/sports_tennis.svg | 1 + .../material-icons/sports_volleyball.svg | 1 + assets/uswds/images/material-icons/square.svg | 1 + .../images/material-icons/square_foot.svg | 1 + .../images/material-icons/ssid_chart.svg | 1 + .../material-icons/stacked_bar_chart.svg | 1 + .../material-icons/stacked_line_chart.svg | 1 + .../uswds/images/material-icons/stadium.svg | 1 + assets/uswds/images/material-icons/stairs.svg | 1 + assets/uswds/images/material-icons/star.svg | 1 + .../images/material-icons/star_border.svg | 1 + .../material-icons/star_border_purple500.svg | 1 + .../uswds/images/material-icons/star_half.svg | 1 + .../images/material-icons/star_outline.svg | 1 + .../images/material-icons/star_purple500.svg | 1 + .../uswds/images/material-icons/star_rate.svg | 1 + assets/uswds/images/material-icons/stars.svg | 1 + assets/uswds/images/material-icons/start.svg | 1 + .../material-icons/stay_current_landscape.svg | 1 + .../material-icons/stay_current_portrait.svg | 1 + .../material-icons/stay_primary_landscape.svg | 1 + .../material-icons/stay_primary_portrait.svg | 1 + .../images/material-icons/sticky_note_2.svg | 1 + assets/uswds/images/material-icons/stop.svg | 1 + .../images/material-icons/stop_circle.svg | 1 + .../material-icons/stop_screen_share.svg | 1 + .../uswds/images/material-icons/storage.svg | 1 + assets/uswds/images/material-icons/store.svg | 1 + .../material-icons/store_mall_directory.svg | 1 + .../images/material-icons/storefront.svg | 1 + assets/uswds/images/material-icons/storm.svg | 1 + .../uswds/images/material-icons/straight.svg | 1 + .../images/material-icons/straighten.svg | 1 + assets/uswds/images/material-icons/stream.svg | 1 + .../images/material-icons/streetview.svg | 1 + .../images/material-icons/strikethrough_s.svg | 1 + .../uswds/images/material-icons/stroller.svg | 1 + assets/uswds/images/material-icons/style.svg | 1 + .../subdirectory_arrow_left.svg | 1 + .../subdirectory_arrow_right.svg | 1 + .../uswds/images/material-icons/subject.svg | 1 + .../uswds/images/material-icons/subscript.svg | 1 + .../images/material-icons/subscriptions.svg | 1 + .../uswds/images/material-icons/subtitles.svg | 1 + .../images/material-icons/subtitles_off.svg | 1 + assets/uswds/images/material-icons/subway.svg | 1 + .../uswds/images/material-icons/summarize.svg | 1 + .../images/material-icons/superscript.svg | 1 + .../material-icons/supervised_user_circle.svg | 1 + .../material-icons/supervisor_account.svg | 1 + .../uswds/images/material-icons/support.svg | 1 + .../images/material-icons/support_agent.svg | 1 + .../uswds/images/material-icons/surfing.svg | 1 + .../images/material-icons/surround_sound.svg | 1 + .../images/material-icons/swap_calls.svg | 1 + .../images/material-icons/swap_horiz.svg | 1 + .../material-icons/swap_horizontal_circle.svg | 1 + .../uswds/images/material-icons/swap_vert.svg | 1 + .../material-icons/swap_vertical_circle.svg | 1 + assets/uswds/images/material-icons/swipe.svg | 1 + .../images/material-icons/swipe_down.svg | 1 + .../images/material-icons/swipe_down_alt.svg | 1 + .../images/material-icons/swipe_left.svg | 1 + .../images/material-icons/swipe_left_alt.svg | 1 + .../images/material-icons/swipe_right.svg | 1 + .../images/material-icons/swipe_right_alt.svg | 1 + .../uswds/images/material-icons/swipe_up.svg | 1 + .../images/material-icons/swipe_up_alt.svg | 1 + .../images/material-icons/swipe_vertical.svg | 1 + .../material-icons/switch_access_shortcut.svg | 1 + .../switch_access_shortcut_add.svg | 1 + .../images/material-icons/switch_account.svg | 1 + .../images/material-icons/switch_camera.svg | 1 + .../images/material-icons/switch_left.svg | 1 + .../images/material-icons/switch_right.svg | 1 + .../images/material-icons/switch_video.svg | 1 + .../uswds/images/material-icons/synagogue.svg | 1 + assets/uswds/images/material-icons/sync.svg | 1 + .../uswds/images/material-icons/sync_alt.svg | 1 + .../images/material-icons/sync_disabled.svg | 1 + .../uswds/images/material-icons/sync_lock.svg | 1 + .../images/material-icons/sync_problem.svg | 1 + .../material-icons/system_security_update.svg | 1 + .../system_security_update_good.svg | 1 + .../system_security_update_warning.svg | 1 + .../images/material-icons/system_update.svg | 1 + .../material-icons/system_update_alt.svg | 1 + assets/uswds/images/material-icons/tab.svg | 1 + .../images/material-icons/tab_unselected.svg | 1 + .../uswds/images/material-icons/table_bar.svg | 1 + .../images/material-icons/table_chart.svg | 1 + .../material-icons/table_restaurant.svg | 1 + .../images/material-icons/table_rows.svg | 1 + .../images/material-icons/table_view.svg | 1 + assets/uswds/images/material-icons/tablet.svg | 1 + .../images/material-icons/tablet_android.svg | 1 + .../images/material-icons/tablet_mac.svg | 1 + assets/uswds/images/material-icons/tag.svg | 1 + .../uswds/images/material-icons/tag_faces.svg | 1 + .../images/material-icons/takeout_dining.svg | 1 + .../images/material-icons/tap_and_play.svg | 1 + assets/uswds/images/material-icons/tapas.svg | 1 + assets/uswds/images/material-icons/task.svg | 1 + .../uswds/images/material-icons/task_alt.svg | 1 + .../images/material-icons/taxi_alert.svg | 1 + .../images/material-icons/temple_buddhist.svg | 1 + .../images/material-icons/temple_hindu.svg | 1 + .../uswds/images/material-icons/terminal.svg | 1 + .../uswds/images/material-icons/terrain.svg | 1 + .../images/material-icons/text_decrease.svg | 1 + .../images/material-icons/text_fields.svg | 1 + .../images/material-icons/text_format.svg | 1 + .../images/material-icons/text_increase.svg | 1 + .../images/material-icons/text_rotate_up.svg | 1 + .../material-icons/text_rotate_vertical.svg | 1 + .../text_rotation_angledown.svg | 1 + .../material-icons/text_rotation_angleup.svg | 1 + .../material-icons/text_rotation_down.svg | 1 + .../material-icons/text_rotation_none.svg | 1 + .../images/material-icons/text_snippet.svg | 1 + .../uswds/images/material-icons/textsms.svg | 1 + .../uswds/images/material-icons/texture.svg | 1 + .../images/material-icons/theater_comedy.svg | 1 + .../uswds/images/material-icons/theaters.svg | 1 + .../images/material-icons/thermostat.svg | 1 + .../images/material-icons/thermostat_auto.svg | 1 + .../images/material-icons/thumb_down.svg | 1 + .../images/material-icons/thumb_down_alt.svg | 1 + .../material-icons/thumb_down_off_alt.svg | 1 + .../uswds/images/material-icons/thumb_up.svg | 1 + .../images/material-icons/thumb_up_alt.svg | 1 + .../material-icons/thumb_up_off_alt.svg | 1 + .../images/material-icons/thumbs_up_down.svg | 1 + .../images/material-icons/thunderstorm.svg | 1 + .../images/material-icons/time_to_leave.svg | 1 + .../uswds/images/material-icons/timelapse.svg | 1 + .../uswds/images/material-icons/timeline.svg | 1 + assets/uswds/images/material-icons/timer.svg | 1 + .../uswds/images/material-icons/timer_10.svg | 1 + .../images/material-icons/timer_10_select.svg | 1 + .../uswds/images/material-icons/timer_3.svg | 1 + .../images/material-icons/timer_3_select.svg | 1 + .../uswds/images/material-icons/timer_off.svg | 1 + .../material-icons/tips_and_updates.svg | 1 + .../images/material-icons/tire_repair.svg | 1 + assets/uswds/images/material-icons/title.svg | 1 + assets/uswds/images/material-icons/toc.svg | 1 + assets/uswds/images/material-icons/today.svg | 1 + .../images/material-icons/toggle_off.svg | 1 + .../uswds/images/material-icons/toggle_on.svg | 1 + assets/uswds/images/material-icons/token.svg | 1 + assets/uswds/images/material-icons/toll.svg | 1 + .../uswds/images/material-icons/tonality.svg | 1 + assets/uswds/images/material-icons/topic.svg | 1 + .../uswds/images/material-icons/tornado.svg | 1 + .../uswds/images/material-icons/touch_app.svg | 1 + assets/uswds/images/material-icons/tour.svg | 1 + assets/uswds/images/material-icons/toys.svg | 1 + .../images/material-icons/track_changes.svg | 1 + .../uswds/images/material-icons/traffic.svg | 1 + assets/uswds/images/material-icons/train.svg | 1 + assets/uswds/images/material-icons/tram.svg | 1 + .../images/material-icons/transcribe.svg | 1 + .../transfer_within_a_station.svg | 1 + .../uswds/images/material-icons/transform.svg | 1 + .../images/material-icons/transgender.svg | 1 + .../material-icons/transit_enterexit.svg | 1 + .../uswds/images/material-icons/translate.svg | 1 + .../images/material-icons/travel_explore.svg | 1 + .../images/material-icons/trending_down.svg | 1 + .../images/material-icons/trending_flat.svg | 1 + .../images/material-icons/trending_up.svg | 1 + .../images/material-icons/trip_origin.svg | 1 + .../images/material-icons/troubleshoot.svg | 1 + assets/uswds/images/material-icons/try.svg | 1 + .../uswds/images/material-icons/tsunami.svg | 1 + assets/uswds/images/material-icons/tty.svg | 1 + assets/uswds/images/material-icons/tune.svg | 1 + .../uswds/images/material-icons/tungsten.svg | 1 + .../uswds/images/material-icons/turn_left.svg | 1 + .../images/material-icons/turn_right.svg | 1 + .../images/material-icons/turn_sharp_left.svg | 1 + .../material-icons/turn_sharp_right.svg | 1 + .../material-icons/turn_slight_left.svg | 1 + .../material-icons/turn_slight_right.svg | 1 + .../uswds/images/material-icons/turned_in.svg | 1 + .../images/material-icons/turned_in_not.svg | 1 + assets/uswds/images/material-icons/tv.svg | 1 + assets/uswds/images/material-icons/tv_off.svg | 1 + .../images/material-icons/two_wheeler.svg | 1 + .../images/material-icons/type_specimen.svg | 1 + .../images/material-icons/u_turn_left.svg | 1 + .../images/material-icons/u_turn_right.svg | 1 + .../uswds/images/material-icons/umbrella.svg | 1 + .../uswds/images/material-icons/unarchive.svg | 1 + assets/uswds/images/material-icons/undo.svg | 1 + .../images/material-icons/unfold_less.svg | 1 + .../material-icons/unfold_less_double.svg | 1 + .../images/material-icons/unfold_more.svg | 1 + .../material-icons/unfold_more_double.svg | 1 + .../images/material-icons/unpublished.svg | 1 + .../images/material-icons/unsubscribe.svg | 1 + .../uswds/images/material-icons/upcoming.svg | 1 + assets/uswds/images/material-icons/update.svg | 1 + .../images/material-icons/update_disabled.svg | 1 + .../uswds/images/material-icons/upgrade.svg | 1 + assets/uswds/images/material-icons/upload.svg | 1 + .../images/material-icons/upload_file.svg | 1 + assets/uswds/images/material-icons/usb.svg | 1 + .../uswds/images/material-icons/usb_off.svg | 1 + .../uswds/images/material-icons/vaccines.svg | 1 + .../uswds/images/material-icons/vape_free.svg | 1 + .../images/material-icons/vaping_rooms.svg | 1 + .../uswds/images/material-icons/verified.svg | 1 + .../images/material-icons/verified_user.svg | 1 + .../material-icons/vertical_align_bottom.svg | 1 + .../material-icons/vertical_align_center.svg | 1 + .../material-icons/vertical_align_top.svg | 1 + .../material-icons/vertical_distribute.svg | 1 + .../images/material-icons/vertical_shades.svg | 1 + .../material-icons/vertical_shades_closed.svg | 1 + .../images/material-icons/vertical_split.svg | 1 + .../uswds/images/material-icons/vibration.svg | 1 + .../images/material-icons/video_call.svg | 1 + .../material-icons/video_camera_back.svg | 1 + .../material-icons/video_camera_front.svg | 1 + .../images/material-icons/video_chat.svg | 1 + .../images/material-icons/video_file.svg | 1 + .../images/material-icons/video_label.svg | 1 + .../images/material-icons/video_library.svg | 1 + .../images/material-icons/video_settings.svg | 1 + .../images/material-icons/video_stable.svg | 1 + .../uswds/images/material-icons/videocam.svg | 1 + .../images/material-icons/videocam_off.svg | 1 + .../images/material-icons/videogame_asset.svg | 1 + .../material-icons/videogame_asset_off.svg | 1 + .../images/material-icons/view_agenda.svg | 1 + .../images/material-icons/view_array.svg | 1 + .../images/material-icons/view_carousel.svg | 1 + .../images/material-icons/view_column.svg | 1 + .../images/material-icons/view_comfy.svg | 1 + .../images/material-icons/view_comfy_alt.svg | 1 + .../images/material-icons/view_compact.svg | 1 + .../material-icons/view_compact_alt.svg | 1 + .../uswds/images/material-icons/view_cozy.svg | 1 + .../uswds/images/material-icons/view_day.svg | 1 + .../images/material-icons/view_headline.svg | 1 + .../images/material-icons/view_in_ar.svg | 1 + .../images/material-icons/view_kanban.svg | 1 + .../uswds/images/material-icons/view_list.svg | 1 + .../images/material-icons/view_module.svg | 1 + .../images/material-icons/view_quilt.svg | 1 + .../images/material-icons/view_sidebar.svg | 1 + .../images/material-icons/view_stream.svg | 1 + .../images/material-icons/view_timeline.svg | 1 + .../uswds/images/material-icons/view_week.svg | 1 + .../uswds/images/material-icons/vignette.svg | 1 + assets/uswds/images/material-icons/villa.svg | 1 + .../images/material-icons/visibility.svg | 1 + .../images/material-icons/visibility_off.svg | 1 + .../images/material-icons/voice_chat.svg | 1 + .../images/material-icons/voice_over_off.svg | 1 + .../uswds/images/material-icons/voicemail.svg | 1 + .../uswds/images/material-icons/volcano.svg | 1 + .../images/material-icons/volume_down.svg | 1 + .../images/material-icons/volume_mute.svg | 1 + .../images/material-icons/volume_off.svg | 1 + .../uswds/images/material-icons/volume_up.svg | 1 + .../material-icons/volunteer_activism.svg | 1 + .../uswds/images/material-icons/vpn_key.svg | 1 + .../images/material-icons/vpn_key_off.svg | 1 + .../uswds/images/material-icons/vpn_lock.svg | 1 + assets/uswds/images/material-icons/vrpano.svg | 1 + assets/uswds/images/material-icons/wallet.svg | 1 + .../uswds/images/material-icons/wallpaper.svg | 1 + .../uswds/images/material-icons/warehouse.svg | 1 + .../uswds/images/material-icons/warning.svg | 1 + .../images/material-icons/warning_amber.svg | 1 + assets/uswds/images/material-icons/wash.svg | 1 + assets/uswds/images/material-icons/watch.svg | 1 + .../images/material-icons/watch_later.svg | 1 + .../uswds/images/material-icons/watch_off.svg | 1 + assets/uswds/images/material-icons/water.svg | 1 + .../images/material-icons/water_damage.svg | 1 + .../images/material-icons/water_drop.svg | 1 + .../images/material-icons/waterfall_chart.svg | 1 + assets/uswds/images/material-icons/waves.svg | 1 + .../images/material-icons/waving_hand.svg | 1 + .../uswds/images/material-icons/wb_auto.svg | 1 + .../uswds/images/material-icons/wb_cloudy.svg | 1 + .../images/material-icons/wb_incandescent.svg | 1 + .../images/material-icons/wb_iridescent.svg | 1 + .../uswds/images/material-icons/wb_shade.svg | 1 + .../uswds/images/material-icons/wb_sunny.svg | 1 + .../images/material-icons/wb_twilight.svg | 1 + assets/uswds/images/material-icons/wc.svg | 1 + assets/uswds/images/material-icons/web.svg | 1 + .../uswds/images/material-icons/web_asset.svg | 1 + .../images/material-icons/web_asset_off.svg | 1 + .../images/material-icons/web_stories.svg | 1 + .../uswds/images/material-icons/webhook.svg | 1 + .../uswds/images/material-icons/weekend.svg | 1 + assets/uswds/images/material-icons/west.svg | 1 + .../uswds/images/material-icons/whatshot.svg | 1 + .../material-icons/wheelchair_pickup.svg | 1 + .../images/material-icons/where_to_vote.svg | 1 + .../uswds/images/material-icons/widgets.svg | 1 + .../images/material-icons/width_full.svg | 1 + .../images/material-icons/width_normal.svg | 1 + .../images/material-icons/width_wide.svg | 1 + assets/uswds/images/material-icons/wifi.svg | 1 + .../images/material-icons/wifi_1_bar.svg | 1 + .../images/material-icons/wifi_2_bar.svg | 1 + .../images/material-icons/wifi_calling.svg | 1 + .../images/material-icons/wifi_calling_3.svg | 1 + .../images/material-icons/wifi_channel.svg | 1 + .../uswds/images/material-icons/wifi_find.svg | 1 + .../uswds/images/material-icons/wifi_lock.svg | 1 + .../uswds/images/material-icons/wifi_off.svg | 1 + .../images/material-icons/wifi_password.svg | 1 + .../material-icons/wifi_protected_setup.svg | 1 + .../images/material-icons/wifi_tethering.svg | 1 + .../material-icons/wifi_tethering_error.svg | 1 + .../material-icons/wifi_tethering_off.svg | 1 + .../images/material-icons/wind_power.svg | 1 + assets/uswds/images/material-icons/window.svg | 1 + .../uswds/images/material-icons/wine_bar.svg | 1 + assets/uswds/images/material-icons/woman.svg | 1 + .../uswds/images/material-icons/woman_2.svg | 1 + assets/uswds/images/material-icons/work.svg | 1 + .../images/material-icons/work_history.svg | 1 + .../uswds/images/material-icons/work_off.svg | 1 + .../images/material-icons/work_outline.svg | 1 + .../material-icons/workspace_premium.svg | 1 + .../images/material-icons/workspaces.svg | 1 + .../uswds/images/material-icons/wrap_text.svg | 1 + .../images/material-icons/wrong_location.svg | 1 + .../uswds/images/material-icons/wysiwyg.svg | 1 + assets/uswds/images/material-icons/yard.svg | 1 + .../material-icons/youtube_searched_for.svg | 1 + .../uswds/images/material-icons/zoom_in.svg | 1 + .../images/material-icons/zoom_in_map.svg | 1 + .../uswds/images/material-icons/zoom_out.svg | 1 + .../images/material-icons/zoom_out_map.svg | 1 + assets/uswds/images/sprite.svg | 1 + assets/uswds/images/us_flag.svg | 1 + assets/uswds/images/us_flag_small.png | Bin 0 -> 244 bytes .../uswds/images/usa-icons-bg/add--white.svg | 1 + .../images/usa-icons-bg/arrow_back--white.svg | 1 + .../usa-icons-bg/calendar_today--white.svg | 1 + .../images/usa-icons-bg/check--blue-60v.svg | 1 + .../usa-icons-bg/check_circle--white.svg | 1 + .../images/usa-icons-bg/close--white.svg | 1 + .../images/usa-icons-bg/error--white.svg | 1 + .../usa-icons-bg/expand_less--white.svg | 1 + .../expand_more--blue-warm-70v.svg | 1 + .../usa-icons-bg/expand_more--white.svg | 1 + .../uswds/images/usa-icons-bg/info--white.svg | 1 + .../images/usa-icons-bg/launch--white.svg | 1 + .../usa-icons-bg/navigate_before--white.svg | 1 + .../navigate_far_before--white.svg | 1 + .../usa-icons-bg/navigate_far_next--white.svg | 1 + .../usa-icons-bg/navigate_next--white.svg | 1 + .../images/usa-icons-bg/remove--white.svg | 1 + .../images/usa-icons-bg/search--white.svg | 1 + .../images/usa-icons-bg/warning--white.svg | 1 + .../images/usa-icons/accessibility_new.svg | 1 + .../images/usa-icons/accessible_forward.svg | 1 + .../images/usa-icons/account_balance.svg | 1 + assets/uswds/images/usa-icons/account_box.svg | 1 + .../uswds/images/usa-icons/account_circle.svg | 1 + assets/uswds/images/usa-icons/add.svg | 1 + assets/uswds/images/usa-icons/add_circle.svg | 1 + .../images/usa-icons/add_circle_outline.svg | 1 + assets/uswds/images/usa-icons/alarm.svg | 1 + .../images/usa-icons/alternate_email.svg | 1 + .../uswds/images/usa-icons/announcement.svg | 1 + assets/uswds/images/usa-icons/api.svg | 1 + assets/uswds/images/usa-icons/arrow_back.svg | 1 + .../uswds/images/usa-icons/arrow_downward.svg | 1 + .../images/usa-icons/arrow_drop_down.svg | 1 + .../uswds/images/usa-icons/arrow_drop_up.svg | 1 + .../uswds/images/usa-icons/arrow_forward.svg | 1 + .../uswds/images/usa-icons/arrow_upward.svg | 1 + assets/uswds/images/usa-icons/assessment.svg | 1 + assets/uswds/images/usa-icons/attach_file.svg | 1 + .../uswds/images/usa-icons/attach_money.svg | 1 + assets/uswds/images/usa-icons/autorenew.svg | 1 + assets/uswds/images/usa-icons/backpack.svg | 1 + assets/uswds/images/usa-icons/bathtub.svg | 1 + assets/uswds/images/usa-icons/bedding.svg | 1 + assets/uswds/images/usa-icons/bookmark.svg | 1 + assets/uswds/images/usa-icons/bug_report.svg | 1 + assets/uswds/images/usa-icons/build.svg | 1 + .../uswds/images/usa-icons/calendar_today.svg | 1 + assets/uswds/images/usa-icons/campaign.svg | 1 + assets/uswds/images/usa-icons/camping.svg | 1 + assets/uswds/images/usa-icons/cancel.svg | 1 + assets/uswds/images/usa-icons/chat.svg | 1 + assets/uswds/images/usa-icons/check.svg | 1 + .../usa-icons/check_box_outline_blank.svg | 1 + .../uswds/images/usa-icons/check_circle.svg | 1 + .../images/usa-icons/check_circle_outline.svg | 1 + assets/uswds/images/usa-icons/checkroom.svg | 1 + .../uswds/images/usa-icons/chevron_left.svg | 1 + .../uswds/images/usa-icons/chevron_right.svg | 1 + assets/uswds/images/usa-icons/clean_hands.svg | 1 + assets/uswds/images/usa-icons/close.svg | 1 + .../uswds/images/usa-icons/closed_caption.svg | 1 + assets/uswds/images/usa-icons/clothes.svg | 1 + assets/uswds/images/usa-icons/cloud.svg | 1 + assets/uswds/images/usa-icons/code.svg | 1 + assets/uswds/images/usa-icons/comment.svg | 1 + .../usa-icons/connect_without_contact.svg | 1 + .../uswds/images/usa-icons/construction.svg | 1 + .../images/usa-icons/construction_worker.svg | 1 + .../uswds/images/usa-icons/contact_page.svg | 1 + .../uswds/images/usa-icons/content_copy.svg | 1 + assets/uswds/images/usa-icons/coronavirus.svg | 1 + assets/uswds/images/usa-icons/credit_card.svg | 1 + assets/uswds/images/usa-icons/deck.svg | 1 + assets/uswds/images/usa-icons/delete.svg | 1 + .../images/usa-icons/device_thermostat.svg | 1 + assets/uswds/images/usa-icons/directions.svg | 1 + .../images/usa-icons/directions_bike.svg | 1 + .../uswds/images/usa-icons/directions_bus.svg | 1 + .../uswds/images/usa-icons/directions_car.svg | 1 + .../images/usa-icons/directions_walk.svg | 1 + .../uswds/images/usa-icons/do_not_disturb.svg | 1 + .../uswds/images/usa-icons/do_not_touch.svg | 1 + assets/uswds/images/usa-icons/drag_handle.svg | 1 + assets/uswds/images/usa-icons/eco.svg | 1 + assets/uswds/images/usa-icons/edit.svg | 1 + .../images/usa-icons/electrical_services.svg | 1 + .../uswds/images/usa-icons/emoji_events.svg | 1 + assets/uswds/images/usa-icons/error.svg | 1 + .../uswds/images/usa-icons/error_outline.svg | 1 + assets/uswds/images/usa-icons/event.svg | 1 + assets/uswds/images/usa-icons/expand_less.svg | 1 + assets/uswds/images/usa-icons/expand_more.svg | 1 + assets/uswds/images/usa-icons/facebook.svg | 1 + .../uswds/images/usa-icons/fast_forward.svg | 1 + assets/uswds/images/usa-icons/fast_rewind.svg | 1 + assets/uswds/images/usa-icons/favorite.svg | 1 + .../images/usa-icons/favorite_border.svg | 1 + assets/uswds/images/usa-icons/fax.svg | 1 + .../uswds/images/usa-icons/file_download.svg | 1 + .../uswds/images/usa-icons/file_present.svg | 1 + assets/uswds/images/usa-icons/file_upload.svg | 1 + assets/uswds/images/usa-icons/filter_alt.svg | 1 + assets/uswds/images/usa-icons/filter_list.svg | 1 + assets/uswds/images/usa-icons/fingerprint.svg | 1 + assets/uswds/images/usa-icons/first_page.svg | 1 + assets/uswds/images/usa-icons/flag.svg | 1 + assets/uswds/images/usa-icons/flickr.svg | 1 + assets/uswds/images/usa-icons/flight.svg | 1 + assets/uswds/images/usa-icons/flooding.svg | 1 + assets/uswds/images/usa-icons/folder.svg | 1 + assets/uswds/images/usa-icons/folder_open.svg | 1 + .../uswds/images/usa-icons/format_quote.svg | 1 + assets/uswds/images/usa-icons/format_size.svg | 1 + assets/uswds/images/usa-icons/forum.svg | 1 + assets/uswds/images/usa-icons/github.svg | 1 + assets/uswds/images/usa-icons/grid_view.svg | 1 + assets/uswds/images/usa-icons/group_add.svg | 1 + assets/uswds/images/usa-icons/groups.svg | 1 + assets/uswds/images/usa-icons/hearing.svg | 1 + assets/uswds/images/usa-icons/help.svg | 1 + .../uswds/images/usa-icons/help_outline.svg | 1 + .../uswds/images/usa-icons/highlight_off.svg | 1 + assets/uswds/images/usa-icons/history.svg | 1 + assets/uswds/images/usa-icons/home.svg | 1 + assets/uswds/images/usa-icons/hospital.svg | 1 + assets/uswds/images/usa-icons/hotel.svg | 1 + .../images/usa-icons/hourglass_empty.svg | 1 + assets/uswds/images/usa-icons/hurricane.svg | 1 + .../uswds/images/usa-icons/identification.svg | 1 + assets/uswds/images/usa-icons/image.svg | 1 + assets/uswds/images/usa-icons/info.svg | 1 + .../uswds/images/usa-icons/info_outline.svg | 1 + assets/uswds/images/usa-icons/insights.svg | 1 + assets/uswds/images/usa-icons/instagram.svg | 1 + assets/uswds/images/usa-icons/keyboard.svg | 1 + assets/uswds/images/usa-icons/label.svg | 1 + assets/uswds/images/usa-icons/language.svg | 1 + assets/uswds/images/usa-icons/last_page.svg | 1 + assets/uswds/images/usa-icons/launch.svg | 1 + assets/uswds/images/usa-icons/lightbulb.svg | 1 + .../images/usa-icons/lightbulb_outline.svg | 1 + assets/uswds/images/usa-icons/link.svg | 1 + assets/uswds/images/usa-icons/link_off.svg | 1 + assets/uswds/images/usa-icons/linkedin.svg | 1 + assets/uswds/images/usa-icons/list.svg | 1 + assets/uswds/images/usa-icons/local_cafe.svg | 1 + .../usa-icons/local_fire_department.svg | 1 + .../images/usa-icons/local_gas_station.svg | 1 + .../images/usa-icons/local_grocery_store.svg | 1 + .../uswds/images/usa-icons/local_hospital.svg | 1 + .../usa-icons/local_laundry_service.svg | 1 + .../uswds/images/usa-icons/local_library.svg | 1 + assets/uswds/images/usa-icons/local_offer.svg | 1 + .../uswds/images/usa-icons/local_parking.svg | 1 + .../uswds/images/usa-icons/local_pharmacy.svg | 1 + .../uswds/images/usa-icons/local_police.svg | 1 + assets/uswds/images/usa-icons/local_taxi.svg | 1 + .../uswds/images/usa-icons/location_city.svg | 1 + assets/uswds/images/usa-icons/location_on.svg | 1 + assets/uswds/images/usa-icons/lock.svg | 1 + assets/uswds/images/usa-icons/lock_open.svg | 1 + .../uswds/images/usa-icons/lock_outline.svg | 1 + assets/uswds/images/usa-icons/login.svg | 1 + assets/uswds/images/usa-icons/logout.svg | 1 + assets/uswds/images/usa-icons/loop.svg | 1 + assets/uswds/images/usa-icons/mail.svg | 1 + .../uswds/images/usa-icons/mail_outline.svg | 1 + assets/uswds/images/usa-icons/map.svg | 1 + assets/uswds/images/usa-icons/masks.svg | 1 + .../images/usa-icons/medical_services.svg | 1 + assets/uswds/images/usa-icons/menu.svg | 1 + .../uswds/images/usa-icons/military_tech.svg | 1 + assets/uswds/images/usa-icons/more_horiz.svg | 1 + assets/uswds/images/usa-icons/more_vert.svg | 1 + assets/uswds/images/usa-icons/my_location.svg | 1 + .../images/usa-icons/navigate_before.svg | 1 + .../images/usa-icons/navigate_far_before.svg | 1 + .../images/usa-icons/navigate_far_next.svg | 1 + .../uswds/images/usa-icons/navigate_next.svg | 1 + assets/uswds/images/usa-icons/near_me.svg | 1 + .../uswds/images/usa-icons/notifications.svg | 1 + .../images/usa-icons/notifications_active.svg | 1 + .../images/usa-icons/notifications_none.svg | 1 + .../images/usa-icons/notifications_off.svg | 1 + assets/uswds/images/usa-icons/park.svg | 1 + assets/uswds/images/usa-icons/people.svg | 1 + assets/uswds/images/usa-icons/person.svg | 1 + assets/uswds/images/usa-icons/pets.svg | 1 + assets/uswds/images/usa-icons/phone.svg | 1 + .../uswds/images/usa-icons/photo_camera.svg | 1 + assets/uswds/images/usa-icons/print.svg | 1 + .../uswds/images/usa-icons/priority_high.svg | 1 + assets/uswds/images/usa-icons/public.svg | 1 + assets/uswds/images/usa-icons/push_pin.svg | 1 + .../usa-icons/radio_button_unchecked.svg | 1 + assets/uswds/images/usa-icons/rain.svg | 1 + .../images/usa-icons/reduce_capacity.svg | 1 + assets/uswds/images/usa-icons/remove.svg | 1 + .../uswds/images/usa-icons/remove_circle.svg | 1 + assets/uswds/images/usa-icons/report.svg | 1 + assets/uswds/images/usa-icons/restaurant.svg | 1 + assets/uswds/images/usa-icons/rss_feed.svg | 1 + .../uswds/images/usa-icons/safety_divider.svg | 1 + assets/uswds/images/usa-icons/sanitizer.svg | 1 + assets/uswds/images/usa-icons/save_alt.svg | 1 + assets/uswds/images/usa-icons/schedule.svg | 1 + assets/uswds/images/usa-icons/school.svg | 1 + assets/uswds/images/usa-icons/science.svg | 1 + assets/uswds/images/usa-icons/search.svg | 1 + assets/uswds/images/usa-icons/security.svg | 1 + assets/uswds/images/usa-icons/send.svg | 1 + .../usa-icons/sentiment_dissatisfied.svg | 1 + .../images/usa-icons/sentiment_neutral.svg | 1 + .../images/usa-icons/sentiment_satisfied.svg | 1 + .../usa-icons/sentiment_satisfied_alt.svg | 1 + .../usa-icons/sentiment_very_dissatisfied.svg | 1 + assets/uswds/images/usa-icons/settings.svg | 1 + .../uswds/images/usa-icons/severe_weather.svg | 1 + assets/uswds/images/usa-icons/share.svg | 1 + assets/uswds/images/usa-icons/shield.svg | 1 + .../images/usa-icons/shopping_basket.svg | 1 + assets/uswds/images/usa-icons/snow.svg | 1 + assets/uswds/images/usa-icons/soap.svg | 1 + .../images/usa-icons/social_distance.svg | 1 + assets/uswds/images/usa-icons/sort_arrow.svg | 1 + assets/uswds/images/usa-icons/spellcheck.svg | 1 + assets/uswds/images/usa-icons/star.svg | 1 + assets/uswds/images/usa-icons/star_half.svg | 1 + .../uswds/images/usa-icons/star_outline.svg | 1 + assets/uswds/images/usa-icons/store.svg | 1 + assets/uswds/images/usa-icons/support.svg | 1 + .../uswds/images/usa-icons/support_agent.svg | 1 + assets/uswds/images/usa-icons/text_fields.svg | 1 + .../uswds/images/usa-icons/thumb_down_alt.svg | 1 + .../uswds/images/usa-icons/thumb_up_alt.svg | 1 + assets/uswds/images/usa-icons/timer.svg | 1 + assets/uswds/images/usa-icons/toggle_off.svg | 1 + assets/uswds/images/usa-icons/toggle_on.svg | 1 + assets/uswds/images/usa-icons/topic.svg | 1 + assets/uswds/images/usa-icons/tornado.svg | 1 + assets/uswds/images/usa-icons/translate.svg | 1 + .../uswds/images/usa-icons/trending_down.svg | 1 + assets/uswds/images/usa-icons/trending_up.svg | 1 + assets/uswds/images/usa-icons/twitter.svg | 1 + assets/uswds/images/usa-icons/undo.svg | 1 + assets/uswds/images/usa-icons/unfold_less.svg | 1 + assets/uswds/images/usa-icons/unfold_more.svg | 1 + assets/uswds/images/usa-icons/update.svg | 1 + assets/uswds/images/usa-icons/upload_file.svg | 1 + assets/uswds/images/usa-icons/verified.svg | 1 + .../uswds/images/usa-icons/verified_user.svg | 1 + assets/uswds/images/usa-icons/visibility.svg | 1 + .../uswds/images/usa-icons/visibility_off.svg | 1 + assets/uswds/images/usa-icons/volume_off.svg | 1 + assets/uswds/images/usa-icons/warning.svg | 1 + assets/uswds/images/usa-icons/wash.svg | 1 + assets/uswds/images/usa-icons/wifi.svg | 1 + assets/uswds/images/usa-icons/work.svg | 1 + assets/uswds/images/usa-icons/x.svg | 1 + assets/uswds/images/usa-icons/youtube.svg | 1 + assets/uswds/images/usa-icons/zoom_in.svg | 1 + assets/uswds/images/usa-icons/zoom_out.svg | 1 + .../uswds/images/usa-icons/zoom_out_map.svg | 1 + assets/uswds/images/uswds-icons/bedding.svg | 1 + assets/uswds/images/uswds-icons/camping.svg | 1 + .../uswds/images/uswds-icons/chevron_left.svg | 1 + .../images/uswds-icons/chevron_right.svg | 1 + assets/uswds/images/uswds-icons/clothes.svg | 1 + .../uswds-icons/construction_worker.svg | 1 + assets/uswds/images/uswds-icons/flickr.svg | 1 + assets/uswds/images/uswds-icons/flooding.svg | 1 + assets/uswds/images/uswds-icons/github.svg | 1 + assets/uswds/images/uswds-icons/hospital.svg | 1 + assets/uswds/images/uswds-icons/hurricane.svg | 1 + .../images/uswds-icons/identification.svg | 1 + assets/uswds/images/uswds-icons/instagram.svg | 1 + assets/uswds/images/uswds-icons/linkedin.svg | 1 + .../uswds-icons/navigate_far_before.svg | 1 + .../images/uswds-icons/navigate_far_next.svg | 1 + assets/uswds/images/uswds-icons/rain.svg | 1 + .../images/uswds-icons/severe_weather.svg | 1 + assets/uswds/images/uswds-icons/snow.svg | 1 + .../uswds/images/uswds-icons/sort_arrow.svg | 1 + assets/uswds/images/uswds-icons/tornado.svg | 1 + assets/uswds/images/uswds-icons/twitter.svg | 1 + assets/uswds/images/uswds-icons/x.svg | 1 + assets/uswds/images/uswds-icons/youtube.svg | 1 + assets/uswds/js/uswds-init.js | 24 + assets/uswds/js/uswds-init.min.js | 2 + assets/uswds/js/uswds-init.min.js.map | 1 + assets/uswds/js/uswds.js | 7137 ++++++++++++++++ assets/uswds/js/uswds.min.js | 84 + assets/uswds/js/uswds.min.js.map | 1 + config/rename-material-icons.sh | 29 + gulpfile.js | 101 + index.html | 3 + package-lock.json | 7597 +++++++++++++++++ package.json | 34 + packages/_usa-password/src/index.js | 18 + packages/_usa-password/src/usa-password.json | 10 + packages/_usa-password/src/usa-password.twig | 9 + packages/templates/usa-address-form.twig | 88 + packages/templates/usa-base/_base.twig | 14 + .../templates/usa-base/includes/_banner.twig | 38 + .../templates/usa-base/includes/_footer.twig | 64 + .../templates/usa-base/includes/_header.twig | 1 + .../usa-base/includes/_identifier.twig | 93 + .../templates/usa-base/includes/_skipnav.twig | 6 + .../_usa-create-account-inner.twig | 67 + .../usa-create-account.json | 34 + .../usa-create-account.stories.js | 18 + .../usa-create-account.twig | 5 + .../usa-create-account~lang-es.json | 34 + .../includes/_usa-docs-inner.twig | 88 + .../templates/usa-documentation/usa-docs.json | 49 + .../usa-documentation/usa-docs.stories.js | 20 + .../templates/usa-documentation/usa-docs.twig | 5 + packages/templates/usa-error/usa-error.json | 19 + .../templates/usa-error/usa-error.stories.js | 17 + packages/templates/usa-error/usa-error.twig | 54 + .../usa-error/usa-error~lang-es.json | 19 + .../includes/_usa-landing-inner.twig | 71 + .../templates/usa-landing/usa-landing.json | 4 + .../usa-landing/usa-landing.stories.js | 11 + .../templates/usa-landing/usa-landing.twig | 5 + packages/templates/usa-name-form.twig | 29 + .../templates/usa-password-reset-form.twig | 34 + .../templates/usa-sign-in/includes/_max.twig | 32 + .../includes/_usa-sign-in-inner.twig | 23 + .../includes/_usa-sign-in-multiple-inner.twig | 48 + .../usa-sign-in/includes/_value-props.twig | 39 + .../usa-sign-in--multiple.json | 25 + .../usa-sign-in--multiple.twig | 5 + .../usa-sign-in--multiple~lang-es.json | 24 + .../usa-sign-in-form/usa-sign-in-form.twig | 46 + .../templates/usa-sign-in/usa-sign-in.json | 42 + .../usa-sign-in/usa-sign-in.stories.js | 30 + .../templates/usa-sign-in/usa-sign-in.twig | 5 + .../usa-sign-in/usa-sign-in~lang-es.json | 42 + packages/usa-accordion/_index.scss | 6 + packages/usa-accordion/src/content/index.js | 3 + .../src/content/usa-accordion.json | 33 + .../src/content/usa-accordion~bordered.json | 32 + .../usa-accordion~multiselectable.json | 33 + packages/usa-accordion/src/index.js | 100 + packages/usa-accordion/src/styles/_index.scss | 1 + .../src/styles/_usa-accordion.scss | 198 + .../usa-accordion/src/test/accordion.spec.js | 113 + packages/usa-accordion/src/test/template.html | 16 + .../test-patterns/test-accordion-icon.twig | 9 + .../src/usa-accordion.stories.js | 29 + packages/usa-accordion/src/usa-accordion.twig | 13 + packages/usa-add-aspect/_index.scss | 5 + .../src/test/test-usa-add-aspect.twig | 353 + .../src/usa-add-aspect.stories.js | 12 + .../usa-add-aspect/src/usa-add-aspect.twig | 32 + packages/usa-alert/_index.scss | 6 + packages/usa-alert/src/content/index.js | 10 + .../src/content/test-usa-alert-content.json | 86 + packages/usa-alert/src/content/usa-alert.json | 6 + .../src/content/usa-alert~emergency.json | 6 + .../src/content/usa-alert~error.json | 6 + .../usa-alert/src/content/usa-alert~info.json | 5 + .../src/content/usa-alert~no-header.json | 4 + .../src/content/usa-alert~no-icon.json | 4 + .../usa-alert/src/content/usa-alert~slim.json | 4 + .../src/content/usa-alert~success.json | 5 + .../src/content/usa-alert~warning.json | 5 + packages/usa-alert/src/styles/_index.scss | 4 + packages/usa-alert/src/styles/_usa-alert.scss | 60 + .../test-patterns/test-alert-comparison.twig | 16 + .../test-patterns/test-alert-in-template.twig | 22 + .../test-patterns/test-usa-alert-lists.twig | 30 + packages/usa-alert/src/usa-alert.stories.js | 75 + packages/usa-alert/src/usa-alert.twig | 10 + packages/usa-banner/_index.scss | 6 + packages/usa-banner/src/content/index.js | 4 + .../usa-banner/src/content/usa-banner.json | 17 + .../src/content/usa-banner~lang-es.json | 17 + .../src/content/usa-banner~mil-lang-es.json | 17 + .../src/content/usa-banner~mil.json | 17 + packages/usa-banner/src/img/icon-dot-gov.svg | 1 + packages/usa-banner/src/img/icon-https.svg | 1 + packages/usa-banner/src/img/lock.svg | 1 + packages/usa-banner/src/img/us_flag.svg | 1 + packages/usa-banner/src/img/us_flag_small.png | Bin 0 -> 244 bytes packages/usa-banner/src/index.js | 37 + packages/usa-banner/src/styles/_index.scss | 4 + .../usa-banner/src/styles/_usa-banner.scss | 371 + packages/usa-banner/src/test/banner.spec.js | 57 + packages/usa-banner/src/test/template.html | 46 + packages/usa-banner/src/usa-banner.stories.js | 37 + packages/usa-banner/src/usa-banner.twig | 45 + packages/usa-breadcrumb/_index.scss | 6 + packages/usa-breadcrumb/src/content/index.js | 2 + .../src/content/usa-breadcrumb--wrap.json | 4 + .../src/content/usa-breadcrumb.json | 4 + .../metadata/usa-breadcrumb--metadata.twig | 26 + .../usa-breadcrumb/src/styles/_index.scss | 4 + .../src/styles/_usa-breadcrumb.scss | 192 + .../src/usa-breadcrumb.stories.js | 14 + .../usa-breadcrumb/src/usa-breadcrumb.twig | 22 + packages/usa-button-group/_index.scss | 5 + .../usa-button-group/src/content/index.js | 2 + .../src/content/usa-button-group.json | 7 + .../content/usa-button-group~segmented.json | 13 + .../usa-button-group/src/styles/_index.scss | 4 + .../src/styles/_usa-button-group.scss | 162 + .../test-usa-button-group--nested.twig | 49 + .../test-usa-button-group--text-wrapping.twig | 21 + .../src/usa-button-group.stories.js | 48 + .../src/usa-button-group.twig | 47 + packages/usa-button/_index.scss | 5 + packages/usa-button/src/content/index.js | 9 + .../usa-button/src/content/usa-button.json | 6 + .../src/content/usa-button~accent-cool.json | 4 + .../src/content/usa-button~accent-warm.json | 4 + .../src/content/usa-button~base.json | 4 + .../src/content/usa-button~big.json | 4 + .../content/usa-button~outline-inverse.json | 4 + .../src/content/usa-button~outline.json | 4 + .../src/content/usa-button~secondary.json | 4 + .../src/content/usa-button~unstyled.json | 4 + packages/usa-button/src/index.js | 19 + packages/usa-button/src/styles/_index.scss | 4 + .../usa-button/src/styles/_usa-button.scss | 238 + .../usa-button--links/usa-button--links.twig | 22 + packages/usa-button/src/usa-button.stories.js | 106 + packages/usa-button/src/usa-button.twig | 48 + packages/usa-card/_index.scss | 5 + packages/usa-card/src/content/index.js | 4 + packages/usa-card/src/content/usa-card.json | 23 + .../usa-card/src/content/usa-card~flag.json | 30 + .../usa-card/src/content/usa-card~media.json | 54 + .../src/content/usa-card~standard.json | 61 + packages/usa-card/src/styles/_index.scss | 4 + packages/usa-card/src/styles/_usa-card.scss | 353 + .../src/test/test-patterns/test-usa-card.json | 101 + packages/usa-card/src/usa-card.stories.js | 22 + packages/usa-card/src/usa-card.twig | 39 + packages/usa-character-count/_index.scss | 5 + packages/usa-character-count/src/index.js | 221 + .../src/styles/_index.scss | 4 + .../src/styles/_usa-character-count.scss | 11 + .../src/test/character-count.spec.js | 170 + .../src/test/character-count.template.html | 7 + .../test/invalid-template-no-message.spec.js | 35 + .../invalid-template-no-message.template.html | 6 + .../test/invalid-template-no-wrapper.spec.js | 34 + .../invalid-template-no-wrapper.template.html | 7 + ...st-usa-character-count--no-form-group.twig | 14 + .../test-usa-character-count--no-label.twig | 15 + ...valid-template-multiple-validators.spec.js | 98 + ...template-multiple-validators.template.html | 7 + .../test/valid-template-no-maxlength.spec.js | 61 + .../valid-template-no-maxlength.template.html | 7 + .../src/usa-character-count.stories.js | 55 + .../src/usa-character-count.twig | 38 + packages/usa-checkbox/_index.scss | 8 + .../src/img/checkbox-indeterminate-alt.svg | 1 + .../src/img/checkbox-indeterminate.svg | 1 + .../usa-checkbox/src/img/correct8-alt.svg | 1 + packages/usa-checkbox/src/img/correct8.svg | 1 + packages/usa-checkbox/src/styles/_index.scss | 4 + .../src/styles/_usa-checkbox.scss | 100 + .../test/test-patterns/test-usa-checkbox.twig | 41 + .../test-usa-multi-column-checkboxes.twig | 25 + .../usa-checkbox/src/usa-checkbox--tile.twig | 58 + .../usa-checkbox/src/usa-checkbox.stories.js | 73 + packages/usa-checkbox/src/usa-checkbox.twig | 53 + packages/usa-checklist/_index.scss | 6 + packages/usa-checklist/src/styles/_index.scss | 4 + .../src/styles/_usa-checklist.scss | 19 + .../src/usa-checklist.stories.js | 9 + packages/usa-checklist/src/usa-checklist.twig | 7 + packages/usa-collection/_index.scss | 5 + .../usa-collection/src/styles/_index.scss | 4 + .../src/styles/_usa-collection.scss | 110 + .../src/usa-collection--fancy-date.twig | 44 + .../src/usa-collection--media.twig | 56 + .../src/usa-collection--only-headers.twig | 69 + .../src/usa-collection.stories.js | 18 + .../usa-collection/src/usa-collection.twig | 53 + packages/usa-combo-box/_index.scss | 6 + packages/usa-combo-box/src/index.js | 902 ++ packages/usa-combo-box/src/styles/_index.scss | 4 + .../src/styles/_usa-combo-box.scss | 202 + .../src/test/combo-box-change-event.spec.js | 240 + .../test/combo-box-change-event.template.html | 72 + .../src/test/combo-box-default-value.spec.js | 55 + .../combo-box-default-value.template.html | 72 + .../test/combo-box-disable-filtering.spec.js | 65 + .../combo-box-disable-filtering.template.html | 72 + .../src/test/combo-box-disabled.spec.js | 79 + .../src/test/combo-box-disabled.template.html | 72 + .../src/test/combo-box-filter.spec.js | 55 + .../src/test/combo-box-filter.template.html | 72 + .../src/test/combo-box-placeholder.spec.js | 48 + .../test/combo-box-placeholder.template.html | 72 + .../combo-box-subsequent-selection.spec.js | 156 + ...mbo-box-subsequent-selection.template.html | 72 + .../usa-combo-box/src/test/combo-box.spec.js | 583 ++ .../src/test/combo-box.template.html | 73 + packages/usa-combo-box/src/test/events.js | 115 + .../src/test/generateDynamicRegExp.spec.js | 37 + .../test/invalid-template-no-select.spec.js | 24 + .../invalid-template-no-select.template.html | 4 + .../test-patterns/test-usa-combo-box.twig | 30 + packages/usa-combo-box/src/usa-combo-box.json | 9 + .../src/usa-combo-box.stories.js | 36 + packages/usa-combo-box/src/usa-combo-box.twig | 81 + packages/usa-content/_index.scss | 5 + packages/usa-content/src/styles/_index.scss | 4 + .../usa-content/src/styles/_usa-content.scss | 9 + packages/usa-dark-background/_index.scss | 5 + .../src/styles/_index.scss | 4 + .../src/styles/_usa-dark-background.scss | 20 + packages/usa-date-picker/_index.scss | 7 + packages/usa-date-picker/src/index.js | 2278 +++++ .../usa-date-picker/src/styles/_index.scss | 4 + .../src/styles/_usa-date-picker.scss | 529 ++ .../src/test/date-picker-default-date.spec.js | 97 + .../date-picker-default-date.template.html | 13 + .../test/date-picker-default-value.spec.js | 67 + .../date-picker-default-value.template.html | 13 + .../src/test/date-picker-disabled.spec.js | 62 + .../test/date-picker-disabled.template.html | 14 + .../src/test/date-picker-focus-trap.spec.js | 75 + .../date-picker-min-date-max-date.spec.js | 1012 +++ ...ate-picker-min-date-max-date.template.html | 12 + .../test/date-picker-month-selection.spec.js | 157 + .../src/test/date-picker-mousemove.spec.js | 99 + .../src/test/date-picker-range-date.spec.js | 160 + .../test/date-picker-range-date.template.html | 13 + .../test/date-picker-year-selection.spec.js | 155 + .../src/test/date-picker.spec.js | 1127 +++ .../src/test/date-picker.template.html | 8 + packages/usa-date-picker/src/test/events.js | 261 + .../test/invalid-template-no-input.spec.js | 35 + .../invalid-template-no-input.template.html | 3 + .../test/invalid-template-no-wrapper.spec.js | 39 + .../invalid-template-no-wrapper.template.html | 3 + .../src/usa-date-picker.stories.js | 118 + .../usa-date-picker/src/usa-date-picker.twig | 21 + packages/usa-date-range-picker/_index.scss | 2 + .../src/date-range-picker.stories.js | 102 + packages/usa-date-range-picker/src/index.js | 170 + ...ate-range-picker-min-date-max-date.spec.js | 224 + ...nge-picker-min-date-max-date.template.html | 39 + .../src/test/date-range-picker.spec.js | 165 + .../src/test/date-range-picker.template.html | 35 + .../usa-date-range-picker/src/test/events.js | 233 + .../test/invalid-template-no-input.spec.js | 31 + .../invalid-template-no-input.template.html | 3 + .../test/invalid-template-no-wrapper.spec.js | 56 + .../invalid-template-no-wrapper.template.html | 31 + .../test/invalid-template-one-input.spec.js | 40 + .../invalid-template-one-input.template.html | 18 + .../src/usa-date-range-picker.twig | 40 + packages/usa-display/_index.scss | 5 + packages/usa-display/src/styles/_index.scss | 4 + .../usa-display/src/styles/_usa-display.scss | 14 + packages/usa-embed-container/_index.scss | 5 + .../src/styles/_index.scss | 4 + .../src/styles/_usa-embed-container.scss | 18 + .../src/usa-embed-container.stories.js | 14 + .../src/usa-embed-container.twig | 3 + packages/usa-error-message/_index.scss | 5 + .../usa-error-message/src/styles/_index.scss | 4 + .../src/styles/_usa-error-message.scss | 8 + packages/usa-fieldset/_index.scss | 6 + packages/usa-fieldset/src/styles/_index.scss | 4 + .../src/styles/_usa-fieldset.scss | 8 + packages/usa-file-input/_index.scss | 5 + packages/usa-file-input/src/content/index.js | 5 + .../src/content/usa-file-input.json | 9 + .../src/content/usa-file-input~error.json | 9 + .../src/content/usa-file-input~multiple.json | 9 + .../src/content/usa-file-input~specific.json | 9 + .../src/content/usa-file-input~wildcard.json | 9 + .../usa-file-input/src/img/file-excel.svg | 1 + packages/usa-file-input/src/img/file-pdf.svg | 1 + .../usa-file-input/src/img/file-video.svg | 1 + packages/usa-file-input/src/img/file-word.svg | 1 + packages/usa-file-input/src/img/file.svg | 1 + packages/usa-file-input/src/img/loader.gif | Bin 0 -> 7437 bytes packages/usa-file-input/src/img/loader.svg | 1 + packages/usa-file-input/src/index.js | 607 ++ .../usa-file-input/src/styles/_index.scss | 4 + .../src/styles/_usa-file-input.scss | 217 + .../src/test/file-input-accepts.spec.js | 178 + .../src/test/file-input-disabled.spec.js | 44 + .../test/file-input-disabled.template.html | 13 + .../test/file-input-multiple.template.html | 13 + .../src/test/file-input-single.template.html | 10 + .../src/test/file-input.spec.js | 83 + .../src/test/single-file-input.spec.js | 40 + .../usa-file-input/src/test/template.html | 11 + .../test-patterns/test-usa-file-input.twig | 4 + .../src/usa-file-input.stories.js | 66 + .../usa-file-input/src/usa-file-input.twig | 32 + packages/usa-fonts/_index.scss | 1 + packages/usa-fonts/src/usa-fonts.json | 14 + packages/usa-fonts/src/usa-fonts.stories.js | 16 + packages/usa-fonts/src/usa-fonts.twig | 50 + packages/usa-footer/_index.scss | 12 + .../usa-footer-nav-primary--big.twig | 20 + .../src/_includes/usa-footer-nav-primary.twig | 22 + .../usa-footer/src/_includes/usa-signup.twig | 8 + .../src/_includes/usa-social-nav.twig | 12 + packages/usa-footer/src/index.js | 102 + packages/usa-footer/src/styles/_index.scss | 4 + .../usa-footer/src/styles/_usa-footer.scss | 368 + packages/usa-footer/src/test/footer.spec.js | 136 + packages/usa-footer/src/test/template.html | 156 + .../src/usa-footer--big/usa-footer--big.json | 95 + .../src/usa-footer--big/usa-footer--big.twig | 16 + .../usa-footer--slim/usa-footer--slim.json | 32 + .../usa-footer--slim/usa-footer--slim.twig | 43 + packages/usa-footer/src/usa-footer.json | 39 + packages/usa-footer/src/usa-footer.stories.js | 24 + packages/usa-footer/src/usa-footer.twig | 48 + packages/usa-form-group/_index.scss | 5 + .../usa-form-group/src/styles/_index.scss | 4 + .../src/styles/_usa-form-group.scss | 21 + packages/usa-form/_index.scss | 5 + packages/usa-form/src/styles/_index.scss | 4 + packages/usa-form/src/styles/_usa-form.scss | 57 + .../src/test/test-pattern/test-usa-form.twig | 395 + packages/usa-form/src/usa-form.stories.js | 75 + packages/usa-graphic-list/_index.scss | 6 + .../usa-graphic-list/src/styles/_index.scss | 4 + .../src/styles/_usa-graphic-list.scss | 44 + .../src/usa-graphic-list.json | 4 + .../src/usa-graphic-list.stories.js | 11 + .../src/usa-graphic-list.twig | 36 + packages/usa-header/_index.scss | 11 + .../usa-header/src/_includes/usa-navbar.twig | 11 + packages/usa-header/src/index.js | 267 + packages/usa-header/src/styles/_index.scss | 7 + .../usa-header/src/styles/_usa-header.scss | 299 + .../usa-header/src/styles/_usa-megamenu.scss | 97 + .../src/styles/_usa-nav-container.scss | 9 + .../usa-header/src/styles/_usa-navbar.scss | 18 + .../usa-header--extended-megamenu.json | 99 + .../usa-header--extended.json | 51 + .../usa-header--extended.twig | 10 + packages/usa-header/src/usa-header.json | 63 + packages/usa-header/src/usa-header.stories.js | 50 + packages/usa-header/src/usa-header.twig | 12 + .../usa-header/src/usa-header~megamenu.json | 111 + packages/usa-hero/_index.scss | 6 + packages/usa-hero/src/img/_hero.png | Bin 0 -> 623866 bytes packages/usa-hero/src/img/hero.jpg | Bin 0 -> 146561 bytes packages/usa-hero/src/img/hero.webp | Bin 0 -> 104736 bytes packages/usa-hero/src/styles/_index.scss | 4 + packages/usa-hero/src/styles/_usa-hero.scss | 38 + packages/usa-hero/src/usa-hero.json | 11 + packages/usa-hero/src/usa-hero.stories.js | 11 + packages/usa-hero/src/usa-hero.twig | 18 + packages/usa-hint/_index.scss | 6 + packages/usa-hint/src/styles/_index.scss | 4 + packages/usa-hint/src/styles/_usa-hint.scss | 10 + packages/usa-icon-list/_index.scss | 6 + packages/usa-icon-list/src/content/index.js | 5 + .../src/content/usa-icon-list.json | 26 + .../usa-icon-list~custom-size-rich.json | 27 + .../content/usa-icon-list~custom-size.json | 27 + .../content/usa-icon-list~rich-content.json | 26 + .../content/usa-icon-list~simple-content.json | 34 + packages/usa-icon-list/src/styles/_index.scss | 5 + .../src/styles/_usa-icon-list.scss | 161 + .../src/usa-icon-list.stories.js | 30 + packages/usa-icon-list/src/usa-icon-list.twig | 20 + packages/usa-icon/_index.scss | 5 + .../src/img/material-icons-deprecated/eco.svg | 1 + .../material-icons-deprecated/facebook.svg | 1 + .../info_outline.svg | 1 + .../lightbulb_outline.svg | 1 + .../lock_outline.svg | 1 + .../img/template/uswds-icon-template.sketch | Bin 0 -> 17351 bytes .../src/img/usa-icons-bg/add--white.svg | 1 + .../img/usa-icons-bg/arrow_back--white.svg | 1 + .../usa-icons-bg/calendar_today--white.svg | 1 + .../src/img/usa-icons-bg/check--blue-60v.svg | 1 + .../img/usa-icons-bg/check_circle--white.svg | 1 + .../src/img/usa-icons-bg/close--white.svg | 1 + .../src/img/usa-icons-bg/error--white.svg | 1 + .../img/usa-icons-bg/expand_less--white.svg | 1 + .../expand_more--blue-warm-70v.svg | 1 + .../img/usa-icons-bg/expand_more--white.svg | 1 + .../src/img/usa-icons-bg/info--white.svg | 1 + .../src/img/usa-icons-bg/launch--white.svg | 1 + .../usa-icons-bg/navigate_before--white.svg | 1 + .../navigate_far_before--white.svg | 1 + .../usa-icons-bg/navigate_far_next--white.svg | 1 + .../img/usa-icons-bg/navigate_next--white.svg | 1 + .../src/img/usa-icons-bg/remove--white.svg | 1 + .../src/img/usa-icons-bg/search--white.svg | 1 + .../src/img/usa-icons-bg/warning--white.svg | 1 + .../usa-icon/src/img/uswds-icons/bedding.svg | 1 + .../usa-icon/src/img/uswds-icons/camping.svg | 1 + .../src/img/uswds-icons/chevron_left.svg | 1 + .../src/img/uswds-icons/chevron_right.svg | 1 + .../usa-icon/src/img/uswds-icons/clothes.svg | 1 + .../img/uswds-icons/construction_worker.svg | 1 + .../usa-icon/src/img/uswds-icons/flickr.svg | 1 + .../usa-icon/src/img/uswds-icons/flooding.svg | 1 + .../usa-icon/src/img/uswds-icons/github.svg | 1 + .../usa-icon/src/img/uswds-icons/hospital.svg | 1 + .../src/img/uswds-icons/hurricane.svg | 1 + .../src/img/uswds-icons/identification.svg | 1 + .../src/img/uswds-icons/instagram.svg | 1 + .../usa-icon/src/img/uswds-icons/linkedin.svg | 1 + .../img/uswds-icons/navigate_far_before.svg | 1 + .../src/img/uswds-icons/navigate_far_next.svg | 1 + .../usa-icon/src/img/uswds-icons/rain.svg | 1 + .../src/img/uswds-icons/severe_weather.svg | 1 + .../usa-icon/src/img/uswds-icons/snow.svg | 1 + .../src/img/uswds-icons/sort_arrow.svg | 1 + .../usa-icon/src/img/uswds-icons/tornado.svg | 1 + .../usa-icon/src/img/uswds-icons/twitter.svg | 1 + packages/usa-icon/src/img/uswds-icons/x.svg | 1 + .../usa-icon/src/img/uswds-icons/youtube.svg | 1 + packages/usa-icon/src/styles/_index.scss | 4 + packages/usa-icon/src/styles/_usa-icon.scss | 27 + .../src/usa-icon--sizes/usa-icon--sizes.json | 937 ++ .../usa-icon--sizes.stories.js | 21 + .../src/usa-icon--sizes/usa-icon--sizes.twig | 39 + packages/usa-icon/src/usa-icon.json | 1009 +++ packages/usa-icon/src/usa-icon.stories.js | 21 + packages/usa-icon/src/usa-icon.twig | 51 + packages/usa-icon/src/usa-icons.config.js | 255 + packages/usa-identifier/_index.scss | 6 + packages/usa-identifier/src/content/index.js | 8 + .../src/content/usa-identifier.json | 63 + .../src/content/usa-identifier~lang-es.json | 64 + ...usa-identifier~multiple-logos-lang-es.json | 64 + .../usa-identifier~multiple-logos.json | 64 + .../usa-identifier~no-logos-lang-es.json | 64 + .../src/content/usa-identifier~no-logos.json | 64 + ...dentifier~taxpayer-disclaimer-lang-es.json | 64 + .../usa-identifier~taxpayer-disclaimer.json | 64 + .../usa-identifier/src/img/circle-gray-20.svg | 1 + packages/usa-identifier/src/img/logo-img.png | Bin 0 -> 1022 bytes .../usa-identifier/src/styles/_index.scss | 4 + .../src/styles/_usa-identifier.scss | 166 + .../src/usa-identifier.stories.js | 41 + .../usa-identifier/src/usa-identifier.twig | 83 + packages/usa-in-page-navigation/_index.scss | 5 + packages/usa-in-page-navigation/src/index.js | 370 + .../src/styles/_index.scss | 4 + .../src/styles/_usa-in-page-navigation.scss | 134 + .../in-page-navigation-custom-content.spec.js | 79 + ...ge-navigation-custom-content.template.html | 11 + .../in-page-navigation-custom-heading.spec.js | 70 + ...ge-navigation-custom-heading.template.html | 13 + .../src/test/in-page-navigation.spec.js | 188 + .../src/test/template.html | 18 + .../test-custom-content-selector.twig | 20 + .../test-custom-header-selector.twig | 37 + .../test-patterns/test-hidden-headers.twig | 43 + .../src/usa-in-page-navigation.json | 52 + .../src/usa-in-page-navigation.stories.js | 44 + .../src/usa-in-page-navigation.twig | 37 + packages/usa-input-list/_index.scss | 4 + .../usa-input-list/src/styles/_index.scss | 4 + .../src/styles/_usa-input-list.scss | 14 + packages/usa-input-mask/_index.scss | 5 + packages/usa-input-mask/src/content/index.js | 4 + .../content/usa-input-mask-alphanumeric.json | 10 + .../src/content/usa-input-mask-phone.json | 9 + .../src/content/usa-input-mask-ssn.json | 9 + .../src/content/usa-input-mask-zip.json | 9 + packages/usa-input-mask/src/index.js | 125 + .../usa-input-mask/src/styles/_index.scss | 5 + .../src/styles/_usa-input-mask.scss | 37 + .../src/test/input-mask-alphanumeric.spec.js | 55 + .../input-mask-alphanumeric.template.html | 22 + .../src/test/input-mask-phone.spec.js | 55 + .../src/test/input-mask-phone.template.html | 20 + .../src/test/input-mask-zip-code.spec.js | 55 + .../test/input-mask-zip-code.template.html | 21 + .../src/test/input-mask.spec.js | 55 + .../src/test/input-mask.template.html | 21 + .../src/usa-input-mask.stories.js | 44 + .../usa-input-mask/src/usa-input-mask.twig | 17 + packages/usa-input-prefix-suffix/_index.scss | 6 + .../src/styles/_index.scss | 1 + .../src/styles/_usa-input-prefix-suffix.scss | 95 + .../src/usa-input-prefix-suffix.stories.js | 44 + .../src/usa-input-prefix.twig | 37 + .../src/usa-input-suffix.twig | 12 + packages/usa-input/_index.scss | 5 + packages/usa-input/src/styles/_index.scss | 4 + packages/usa-input/src/styles/_usa-input.scss | 34 + .../usa-input/src/usa-input--showcase.twig | 29 + packages/usa-input/src/usa-input.stories.js | 55 + packages/usa-input/src/usa-input.twig | 26 + packages/usa-intro/_index.scss | 5 + packages/usa-intro/src/styles/_index.scss | 4 + packages/usa-intro/src/styles/_usa-intro.scss | 11 + packages/usa-label/_index.scss | 5 + packages/usa-label/src/styles/_index.scss | 4 + packages/usa-label/src/styles/_usa-label.scss | 14 + packages/usa-language-selector/_index.scss | 6 + packages/usa-language-selector/src/index.js | 105 + .../src/styles/_index.scss | 4 + .../src/styles/_usa-language-selector.scss | 105 + .../src/test/language-selector.spec.js | 91 + .../src/test/template.html | 63 + .../usa-language-selector--header.json | 101 + .../usa-language-selector--header.twig | 80 + .../usa-language-selector--three-or-more.json | 44 + .../usa-language-selector--three-or-more.twig | 27 + .../usa-language-selector--unstyled.json | 44 + .../usa-language-selector--unstyled.twig | 27 + .../src/usa-language-selector.json | 6 + .../src/usa-language-selector.stories.js | 29 + .../src/usa-language-selector.twig | 5 + packages/usa-layout-docs/_index.scss | 5 + .../usa-layout-docs/src/styles/_index.scss | 4 + .../src/styles/_usa-layout-docs.scss | 26 + packages/usa-layout-grid/_index.scss | 5 + .../usa-layout-grid/src/styles/_index.scss | 4 + .../src/styles/_usa-layout-grid.scss | 166 + packages/usa-legend/_index.scss | 5 + packages/usa-legend/src/styles/_index.scss | 4 + .../usa-legend/src/styles/_usa-legend.scss | 11 + packages/usa-link/_index.scss | 6 + packages/usa-link/src/styles/_index.scss | 4 + packages/usa-link/src/styles/_usa-link.scss | 17 + packages/usa-link/src/usa-link.stories.js | 9 + packages/usa-link/src/usa-link.twig | 16 + packages/usa-list/_index.scss | 1 + packages/usa-list/src/styles/_index.scss | 4 + packages/usa-list/src/styles/_usa-list.scss | 16 + packages/usa-list/src/usa-list.stories.js | 9 + packages/usa-list/src/usa-list.twig | 28 + packages/usa-media-block/_index.scss | 1 + .../usa-media-block/src/img/circle-124.png | Bin 0 -> 1352 bytes .../usa-media-block/src/styles/_index.scss | 4 + .../src/styles/_usa-media-block.scss | 14 + .../usa-media-block/src/usa-media-block.json | 3 + .../src/usa-media-block.stories.js | 11 + .../usa-media-block/src/usa-media-block.twig | 43 + packages/usa-memorable-date/_index.scss | 7 + .../usa-memorable-date/src/styles/_index.scss | 4 + .../src/styles/_usa-memorable-date.scss | 51 + .../src/usa-memorable-date.stories.js | 26 + .../src/usa-memorable-date.twig | 43 + packages/usa-modal/_index.scss | 6 + packages/usa-modal/src/content/index.js | 3 + packages/usa-modal/src/content/usa-modal.json | 33 + .../src/content/usa-modal~forced-action.json | 28 + .../src/content/usa-modal~large.json | 32 + packages/usa-modal/src/index.js | 391 + packages/usa-modal/src/styles/_index.scss | 1 + packages/usa-modal/src/styles/_usa-modal.scss | 179 + packages/usa-modal/src/test/modal.spec.js | 160 + packages/usa-modal/src/test/template.html | 53 + .../test-usa-modal--nested-forms.twig | 60 + packages/usa-modal/src/usa-modal.stories.js | 26 + packages/usa-modal/src/usa-modal.twig | 73 + packages/usa-nav/_index.scss | 8 + packages/usa-nav/src/styles/_index.scss | 4 + packages/usa-nav/src/styles/_usa-nav.scss | 517 ++ packages/usa-nav/src/test/navigation.spec.js | 198 + packages/usa-nav/src/test/template.html | 79 + packages/usa-nav/src/usa-nav.json | 24 + .../usa-nav__primary/_primary-menu-macro.twig | 66 + .../usa-nav-primary.stories.js | 20 + .../usa-nav__primary/usa-nav__primary.json | 103 + .../usa-nav__primary/usa-nav__primary.twig | 7 + .../usa-nav-secondary.stories.js | 17 + .../usa-nav__secondary.json | 14 + .../usa-nav__secondary.twig | 14 + packages/usa-pagination/_index.scss | 5 + packages/usa-pagination/src/content/index.js | 4 + .../src/content/usa-pagination.json | 18 + .../src/content/usa-pagination~lang-es.json | 18 + .../usa-pagination~unbounded-lang-es.json | 18 + .../src/content/usa-pagination~unbounded.json | 18 + .../src/includes/_pagination-arrow.twig | 34 + .../src/includes/_pagination-button.twig | 19 + .../_pagination-numbers--default.twig | 66 + .../_pagination-numbers--unbounded.twig | 38 + .../usa-pagination/src/styles/_index.scss | 4 + .../src/styles/_usa-pagination.scss | 179 + .../test-patterns/test-pagination-all.twig | 394 + .../src/usa-pagination.stories.js | 30 + .../usa-pagination/src/usa-pagination.twig | 34 + packages/usa-paragraph/_index.scss | 5 + packages/usa-paragraph/src/styles/_index.scss | 4 + .../src/styles/_usa-paragraph.scss | 5 + packages/usa-process-list/_index.scss | 5 + .../usa-process-list/src/styles/_index.scss | 4 + .../src/styles/_usa-process-list.scss | 108 + .../src/usa-process-list--custom-sizing.twig | 14 + .../src/usa-process-list--no-text.twig | 11 + .../src/usa-process-list.stories.js | 15 + .../src/usa-process-list.twig | 19 + packages/usa-prose/_index.scss | 5 + packages/usa-prose/src/styles/_index.scss | 4 + packages/usa-prose/src/styles/_usa-prose.scss | 83 + packages/usa-prose/src/usa-prose.stories.js | 9 + packages/usa-prose/src/usa-prose.twig | 1 + packages/usa-radio/_index.scss | 8 + packages/usa-radio/src/styles/_index.scss | 4 + packages/usa-radio/src/styles/_usa-radio.scss | 91 + packages/usa-radio/src/usa-radio--tile.twig | 52 + packages/usa-radio/src/usa-radio.stories.js | 59 + packages/usa-radio/src/usa-radio.twig | 51 + packages/usa-range/_index.scss | 6 + packages/usa-range/src/index.js | 65 + packages/usa-range/src/styles/_index.scss | 4 + packages/usa-range/src/styles/_usa-range.scss | 132 + .../sr-callout-with-preposition.spec.html | 12 + .../test/sr-callout-with-preposition.spec.js | 71 + .../usa-range/src/test/sr-callout.spec.html | 12 + .../usa-range/src/test/sr-callout.spec.js | 71 + packages/usa-range/src/usa-range.stories.js | 53 + packages/usa-range/src/usa-range.twig | 16 + packages/usa-search/_index.scss | 9 + packages/usa-search/src/content/index.js | 6 + .../usa-search/src/content/usa-search.json | 8 + .../src/content/usa-search~big-lang-es.json | 8 + .../src/content/usa-search~big.json | 8 + .../src/content/usa-search~lang-es.json | 8 + .../src/content/usa-search~small-lang-es.json | 8 + .../src/content/usa-search~small.json | 8 + packages/usa-search/src/index.js | 89 + packages/usa-search/src/styles/_index.scss | 4 + .../usa-search/src/styles/_usa-search.scss | 141 + packages/usa-search/src/usa-search.stories.js | 36 + packages/usa-search/src/usa-search.twig | 28 + packages/usa-section/_index.scss | 5 + packages/usa-section/src/content/index.js | 3 + .../usa-section/src/content/usa-section.json | 5 + .../src/content/usa-section~dark.json | 5 + .../src/content/usa-section~light.json | 5 + packages/usa-section/src/styles/_index.scss | 4 + .../usa-section/src/styles/_usa-section.scss | 44 + .../usa-section/src/usa-section.stories.js | 17 + packages/usa-section/src/usa-section.twig | 6 + packages/usa-select/_index.scss | 7 + packages/usa-select/src/styles/_index.scss | 4 + .../usa-select/src/styles/_usa-select.scss | 51 + .../test-patterns/usa-select--multiple.twig | 12 + packages/usa-select/src/usa-select.stories.js | 34 + packages/usa-select/src/usa-select.twig | 16 + packages/usa-sidenav/_index.scss | 5 + packages/usa-sidenav/src/styles/_index.scss | 4 + .../usa-sidenav/src/styles/_usa-sidenav.scss | 21 + .../test-patterns/test-sidenav-button.twig | 50 + packages/usa-sidenav/src/usa-sidenav.json | 15 + .../usa-sidenav/src/usa-sidenav.stories.js | 23 + packages/usa-sidenav/src/usa-sidenav.twig | 27 + .../src/usa-sidenav~one-level.json | 15 + .../src/usa-sidenav~three-levels.json | 40 + .../src/usa-sidenav~two-levels.json | 29 + packages/usa-site-alert/_index.scss | 5 + packages/usa-site-alert/src/content/index.js | 7 + .../src/content/usa-site-alert.json | 6 + .../usa-site-alert~emergency-list.json | 7 + .../usa-site-alert~emergency-no-header.json | 6 + .../usa-site-alert~emergency-no-icon.json | 6 + .../usa-site-alert~emergency-slim.json | 6 + .../src/content/usa-site-alert~emergency.json | 6 + .../src/content/usa-site-alert~info.json | 6 + .../usa-site-alert/src/styles/_index.scss | 4 + .../src/styles/_usa-site-alert.scss | 68 + .../src/usa-site-alert.stories.js | 37 + .../usa-site-alert/src/usa-site-alert.twig | 18 + packages/usa-site-title/_index.scss | 2 + .../usa-site-title/src/usa-site-title.json | 4 + .../src/usa-site-title.stories.js | 11 + .../usa-site-title/src/usa-site-title.twig | 7 + packages/usa-skipnav/_index.scss | 5 + packages/usa-skipnav/src/index.js | 36 + packages/usa-skipnav/src/styles/_index.scss | 4 + .../usa-skipnav/src/styles/_usa-skipnav.scss | 27 + packages/usa-skipnav/src/test/skipnav.spec.js | 46 + packages/usa-skipnav/src/test/template.html | 8 + packages/usa-skipnav/src/usa-skipnav.json | 5 + .../usa-skipnav/src/usa-skipnav.stories.js | 11 + packages/usa-skipnav/src/usa-skipnav.twig | 3 + packages/usa-step-indicator/_index.scss | 6 + .../usa-step-indicator/src/content/index.js | 9 + .../src/content/usa-step-indicator.json | 32 + ...usa-step-indicator~center-counters-sm.json | 33 + .../usa-step-indicator~center-counters.json | 33 + .../usa-step-indicator~center-no-labels.json | 33 + .../content/usa-step-indicator~center.json | 33 + .../usa-step-indicator~counters-sm.json | 33 + .../content/usa-step-indicator~counters.json | 33 + .../content/usa-step-indicator~no-labels.json | 33 + .../src/content/usa-step-indicator~short.json | 23 + .../usa-step-indicator/src/styles/_index.scss | 4 + .../src/styles/_usa-step-indicator.scss | 455 + .../src/usa-step-indicator.stories.js | 45 + .../src/usa-step-indicator.twig | 24 + packages/usa-summary-box/_index.scss | 6 + .../usa-summary-box/src/styles/_index.scss | 4 + .../src/styles/_usa-summary-box.scss | 66 + .../src/usa-summary-box.stories.js | 9 + .../usa-summary-box/src/usa-summary-box.twig | 15 + packages/usa-table/_index.scss | 5 + packages/usa-table/src/index.js | 258 + packages/usa-table/src/styles/_index.scss | 4 + packages/usa-table/src/styles/_usa-table.scss | 48 + packages/usa-table/src/test/table.spec.js | 173 + packages/usa-table/src/test/template.html | 47 + ...st-usa-table--multiple-sticky-headers.twig | 199 + .../usa-table--scrollable.json | 69 + .../usa-table--scrollable.stories.js | 32 + .../usa-table--scrollable.twig | 1 + ...usa-table--scrollable~compact-striped.json | 4 + .../usa-table--scrollable~compact.json | 4 + .../usa-table--scrollable~striped.json | 4 + .../usa-table--sortable.json | 3 + .../usa-table--sortable.twig | 247 + .../usa-table--stacked.json | 68 + .../usa-table--stacked.stories.js | 23 + .../usa-table--stacked.twig | 36 + .../usa-table--stacked~borderless.json | 4 + .../usa-table--stacked~header-borderless.json | 4 + .../usa-table--stacked~header.json | 4 + packages/usa-table/src/usa-table.json | 68 + packages/usa-table/src/usa-table.stories.js | 61 + packages/usa-table/src/usa-table.twig | 50 + .../usa-table/src/usa-table~borderless.json | 68 + .../usa-table/src/usa-table~stickyheader.json | 4 + packages/usa-table/src/usa-table~striped.json | 68 + packages/usa-tag/_index.scss | 5 + packages/usa-tag/src/content/index.js | 2 + packages/usa-tag/src/content/usa-tag.json | 3 + packages/usa-tag/src/content/usa-tag~big.json | 4 + packages/usa-tag/src/styles/_index.scss | 4 + packages/usa-tag/src/styles/_usa-tag.scss | 20 + packages/usa-tag/src/usa-tag.stories.js | 14 + packages/usa-tag/src/usa-tag.twig | 1 + packages/usa-textarea/_index.scss | 5 + packages/usa-textarea/src/styles/_index.scss | 4 + .../src/styles/_usa-textarea.scss | 16 + packages/usa-time-picker/_index.scss | 8 + packages/usa-time-picker/src/index.js | 148 + .../usa-time-picker/src/styles/_index.scss | 4 + .../src/styles/_usa-time-picker.scss | 3 + .../src/test/time-picker-regex.spec.js | 93 + .../src/test/time-picker.spec.js | 123 + .../src/test/time-picker.template.html | 16 + .../src/usa-time-picker.stories.js | 31 + .../usa-time-picker/src/usa-time-picker.twig | 16 + packages/usa-tooltip/_index.scss | 5 + packages/usa-tooltip/src/index.js | 427 + packages/usa-tooltip/src/styles/_index.scss | 4 + .../usa-tooltip/src/styles/_usa-tooltip.scss | 153 + packages/usa-tooltip/src/test/template.html | 1 + .../test-usa-tooltip-no-wrapper.twig | 12 + .../test-usa-tooltip-utilities.twig | 118 + .../usa-tooltip/src/test/tooltips.spec.js | 123 + .../src/usa-tooltip--utilities.twig | 14 + .../usa-tooltip/src/usa-tooltip.stories.js | 18 + packages/usa-tooltip/src/usa-tooltip.twig | 14 + packages/usa-type-line-length/_index.scss | 2 + .../src/usa-type-line-length.twig | 3 + packages/usa-type-setting/_index.scss | 2 + .../src/usa-type-setting--headings.twig | 92 + .../src/usa-type-setting--line-length.twig | 3 + .../src/usa-type-setting.twig | 100 + packages/usa-type-spacing/_index.scss | 2 + .../src/usa-type-spacing.twig | 51 + packages/usa-validation/_index.scss | 9 + packages/usa-validation/src/index.js | 70 + .../src/test/template-textarea.html | 14 + .../usa-validation/src/test/template.html | 24 + .../src/test/validator-textarea.spec.js | 81 + .../usa-validation/src/test/validator.spec.js | 78 + .../src/usa-validation--textarea.twig | 16 + .../src/usa-validation.stories.js | 12 + .../usa-validation/src/usa-validation.twig | 17 + packages/uswds-core/README.md | 5 + packages/uswds-core/_functionsOLD.scss | 2300 +++++ packages/uswds-core/_index.scss | 1 + .../merriweather/Latin-Merriweather-Black.ttf | Bin 0 -> 47828 bytes .../Latin-Merriweather-Black.woff | Bin 0 -> 26568 bytes .../Latin-Merriweather-Black.woff2 | Bin 0 -> 21036 bytes .../Latin-Merriweather-BlackItalic.ttf | Bin 0 -> 41000 bytes .../Latin-Merriweather-BlackItalic.woff | Bin 0 -> 24324 bytes .../Latin-Merriweather-BlackItalic.woff2 | Bin 0 -> 19384 bytes .../merriweather/Latin-Merriweather-Bold.ttf | Bin 0 -> 47228 bytes .../merriweather/Latin-Merriweather-Bold.woff | Bin 0 -> 26892 bytes .../Latin-Merriweather-Bold.woff2 | Bin 0 -> 21308 bytes .../Latin-Merriweather-BoldItalic.ttf | Bin 0 -> 40472 bytes .../Latin-Merriweather-BoldItalic.woff | Bin 0 -> 24464 bytes .../Latin-Merriweather-BoldItalic.woff2 | Bin 0 -> 19568 bytes .../Latin-Merriweather-Italic.ttf | Bin 0 -> 39480 bytes .../Latin-Merriweather-Italic.woff | Bin 0 -> 24152 bytes .../Latin-Merriweather-Italic.woff2 | Bin 0 -> 19252 bytes .../merriweather/Latin-Merriweather-Light.ttf | Bin 0 -> 49164 bytes .../Latin-Merriweather-Light.woff | Bin 0 -> 26988 bytes .../Latin-Merriweather-Light.woff2 | Bin 0 -> 21260 bytes .../Latin-Merriweather-LightItalic.ttf | Bin 0 -> 39456 bytes .../Latin-Merriweather-LightItalic.woff | Bin 0 -> 23808 bytes .../Latin-Merriweather-LightItalic.woff2 | Bin 0 -> 18976 bytes .../Latin-Merriweather-Regular.ttf | Bin 0 -> 49484 bytes .../Latin-Merriweather-Regular.woff | Bin 0 -> 27512 bytes .../Latin-Merriweather-Regular.woff2 | Bin 0 -> 21692 bytes .../fonts/public-sans/PublicSans-Black.ttf | Bin 0 -> 79168 bytes .../fonts/public-sans/PublicSans-Black.woff | Bin 0 -> 38904 bytes .../fonts/public-sans/PublicSans-Black.woff2 | Bin 0 -> 31584 bytes .../public-sans/PublicSans-BlackItalic.ttf | Bin 0 -> 79016 bytes .../public-sans/PublicSans-BlackItalic.woff | Bin 0 -> 39580 bytes .../public-sans/PublicSans-BlackItalic.woff2 | Bin 0 -> 32192 bytes .../fonts/public-sans/PublicSans-Bold.ttf | Bin 0 -> 79468 bytes .../fonts/public-sans/PublicSans-Bold.woff | Bin 0 -> 40048 bytes .../fonts/public-sans/PublicSans-Bold.woff2 | Bin 0 -> 32404 bytes .../public-sans/PublicSans-BoldItalic.ttf | Bin 0 -> 79272 bytes .../public-sans/PublicSans-BoldItalic.woff | Bin 0 -> 40672 bytes .../public-sans/PublicSans-BoldItalic.woff2 | Bin 0 -> 33212 bytes .../public-sans/PublicSans-ExtraBold.ttf | Bin 0 -> 79904 bytes .../public-sans/PublicSans-ExtraBold.woff | Bin 0 -> 40144 bytes .../public-sans/PublicSans-ExtraBold.woff2 | Bin 0 -> 32700 bytes .../PublicSans-ExtraBoldItalic.ttf | Bin 0 -> 79768 bytes .../PublicSans-ExtraBoldItalic.woff | Bin 0 -> 40660 bytes .../PublicSans-ExtraBoldItalic.woff2 | Bin 0 -> 33160 bytes .../public-sans/PublicSans-ExtraLight.ttf | Bin 0 -> 80400 bytes .../public-sans/PublicSans-ExtraLight.woff | Bin 0 -> 40036 bytes .../public-sans/PublicSans-ExtraLight.woff2 | Bin 0 -> 32480 bytes .../PublicSans-ExtraLightItalic.ttf | Bin 0 -> 80296 bytes .../PublicSans-ExtraLightItalic.woff | Bin 0 -> 40504 bytes .../PublicSans-ExtraLightItalic.woff2 | Bin 0 -> 33044 bytes .../fonts/public-sans/PublicSans-Italic.ttf | Bin 0 -> 79568 bytes .../fonts/public-sans/PublicSans-Italic.woff | Bin 0 -> 40524 bytes .../fonts/public-sans/PublicSans-Italic.woff2 | Bin 0 -> 33036 bytes .../fonts/public-sans/PublicSans-Light.ttf | Bin 0 -> 79784 bytes .../fonts/public-sans/PublicSans-Light.woff | Bin 0 -> 40168 bytes .../fonts/public-sans/PublicSans-Light.woff2 | Bin 0 -> 32608 bytes .../public-sans/PublicSans-LightItalic.ttf | Bin 0 -> 79296 bytes .../public-sans/PublicSans-LightItalic.woff | Bin 0 -> 40480 bytes .../public-sans/PublicSans-LightItalic.woff2 | Bin 0 -> 32916 bytes .../fonts/public-sans/PublicSans-Medium.ttf | Bin 0 -> 79904 bytes .../fonts/public-sans/PublicSans-Medium.woff | Bin 0 -> 40244 bytes .../fonts/public-sans/PublicSans-Medium.woff2 | Bin 0 -> 32688 bytes .../public-sans/PublicSans-MediumItalic.ttf | Bin 0 -> 79372 bytes .../public-sans/PublicSans-MediumItalic.woff | Bin 0 -> 40500 bytes .../public-sans/PublicSans-MediumItalic.woff2 | Bin 0 -> 33088 bytes .../fonts/public-sans/PublicSans-Regular.ttf | Bin 0 -> 79904 bytes .../fonts/public-sans/PublicSans-Regular.woff | Bin 0 -> 40112 bytes .../public-sans/PublicSans-Regular.woff2 | Bin 0 -> 32548 bytes .../fonts/public-sans/PublicSans-SemiBold.ttf | Bin 0 -> 79296 bytes .../public-sans/PublicSans-SemiBold.woff | Bin 0 -> 40084 bytes .../public-sans/PublicSans-SemiBold.woff2 | Bin 0 -> 32588 bytes .../public-sans/PublicSans-SemiBoldItalic.ttf | Bin 0 -> 79352 bytes .../PublicSans-SemiBoldItalic.woff | Bin 0 -> 40532 bytes .../PublicSans-SemiBoldItalic.woff2 | Bin 0 -> 33060 bytes .../fonts/public-sans/PublicSans-Thin.ttf | Bin 0 -> 77708 bytes .../fonts/public-sans/PublicSans-Thin.woff | Bin 0 -> 38480 bytes .../fonts/public-sans/PublicSans-Thin.woff2 | Bin 0 -> 31120 bytes .../public-sans/PublicSans-ThinItalic.ttf | Bin 0 -> 76964 bytes .../public-sans/PublicSans-ThinItalic.woff | Bin 0 -> 38908 bytes .../public-sans/PublicSans-ThinItalic.woff2 | Bin 0 -> 31608 bytes .../roboto-mono/roboto-mono-v5-latin-100.ttf | Bin 0 -> 31836 bytes .../roboto-mono/roboto-mono-v5-latin-100.woff | Bin 0 -> 20080 bytes .../roboto-mono-v5-latin-100.woff2 | Bin 0 -> 16656 bytes .../roboto-mono-v5-latin-100italic.ttf | Bin 0 -> 31808 bytes .../roboto-mono-v5-latin-100italic.woff | Bin 0 -> 20716 bytes .../roboto-mono-v5-latin-100italic.woff2 | Bin 0 -> 17008 bytes .../roboto-mono/roboto-mono-v5-latin-300.ttf | Bin 0 -> 32160 bytes .../roboto-mono/roboto-mono-v5-latin-300.woff | Bin 0 -> 19884 bytes .../roboto-mono-v5-latin-300.woff2 | Bin 0 -> 16380 bytes .../roboto-mono-v5-latin-300italic.ttf | Bin 0 -> 32596 bytes .../roboto-mono-v5-latin-300italic.woff | Bin 0 -> 21052 bytes .../roboto-mono-v5-latin-300italic.woff2 | Bin 0 -> 17340 bytes .../roboto-mono/roboto-mono-v5-latin-500.ttf | Bin 0 -> 31168 bytes .../roboto-mono/roboto-mono-v5-latin-500.woff | Bin 0 -> 19656 bytes .../roboto-mono-v5-latin-500.woff2 | Bin 0 -> 16016 bytes .../roboto-mono-v5-latin-500italic.ttf | Bin 0 -> 32816 bytes .../roboto-mono-v5-latin-500italic.woff | Bin 0 -> 21128 bytes .../roboto-mono-v5-latin-500italic.woff2 | Bin 0 -> 17480 bytes .../roboto-mono/roboto-mono-v5-latin-700.ttf | Bin 0 -> 31092 bytes .../roboto-mono/roboto-mono-v5-latin-700.woff | Bin 0 -> 19564 bytes .../roboto-mono-v5-latin-700.woff2 | Bin 0 -> 15956 bytes .../roboto-mono-v5-latin-700italic.ttf | Bin 0 -> 32564 bytes .../roboto-mono-v5-latin-700italic.woff | Bin 0 -> 21132 bytes .../roboto-mono-v5-latin-700italic.woff2 | Bin 0 -> 17336 bytes .../roboto-mono-v5-latin-italic.ttf | Bin 0 -> 32336 bytes .../roboto-mono-v5-latin-italic.woff | Bin 0 -> 21096 bytes .../roboto-mono-v5-latin-italic.woff2 | Bin 0 -> 17312 bytes .../roboto-mono-v5-latin-regular.ttf | Bin 0 -> 31052 bytes .../roboto-mono-v5-latin-regular.woff | Bin 0 -> 19576 bytes .../roboto-mono-v5-latin-regular.woff2 | Bin 0 -> 16028 bytes .../sourcesanspro-black-webfont.ttf | Bin 0 -> 54096 bytes .../sourcesanspro-black-webfont.woff | Bin 0 -> 24888 bytes .../sourcesanspro-black-webfont.woff2 | Bin 0 -> 19560 bytes .../sourcesanspro-blackitalic-webfont.ttf | Bin 0 -> 38784 bytes .../sourcesanspro-blackitalic-webfont.woff | Bin 0 -> 19540 bytes .../sourcesanspro-blackitalic-webfont.woff2 | Bin 0 -> 15636 bytes .../sourcesanspro-bold-webfont.ttf | Bin 0 -> 54340 bytes .../sourcesanspro-bold-webfont.woff | Bin 0 -> 26040 bytes .../sourcesanspro-bold-webfont.woff2 | Bin 0 -> 20368 bytes .../sourcesanspro-bolditalic-webfont.ttf | Bin 0 -> 38760 bytes .../sourcesanspro-bolditalic-webfont.woff | Bin 0 -> 20164 bytes .../sourcesanspro-bolditalic-webfont.woff2 | Bin 0 -> 16416 bytes .../sourcesanspro-extralight-webfont.ttf | Bin 0 -> 53996 bytes .../sourcesanspro-extralight-webfont.woff | Bin 0 -> 25184 bytes .../sourcesanspro-extralight-webfont.woff2 | Bin 0 -> 19772 bytes ...sourcesanspro-extralightitalic-webfont.ttf | Bin 0 -> 39120 bytes ...ourcesanspro-extralightitalic-webfont.woff | Bin 0 -> 19548 bytes ...urcesanspro-extralightitalic-webfont.woff2 | Bin 0 -> 15728 bytes .../sourcesanspro-italic-webfont.ttf | Bin 0 -> 38848 bytes .../sourcesanspro-italic-webfont.woff | Bin 0 -> 20204 bytes .../sourcesanspro-italic-webfont.woff2 | Bin 0 -> 16372 bytes .../sourcesanspro-light-webfont.ttf | Bin 0 -> 54504 bytes .../sourcesanspro-light-webfont.woff | Bin 0 -> 25956 bytes .../sourcesanspro-light-webfont.woff2 | Bin 0 -> 20412 bytes .../sourcesanspro-lightitalic-webfont.ttf | Bin 0 -> 39144 bytes .../sourcesanspro-lightitalic-webfont.woff | Bin 0 -> 20256 bytes .../sourcesanspro-lightitalic-webfont.woff2 | Bin 0 -> 16316 bytes .../sourcesanspro-regular-webfont.ttf | Bin 0 -> 54432 bytes .../sourcesanspro-regular-webfont.woff | Bin 0 -> 26140 bytes .../sourcesanspro-regular-webfont.woff2 | Bin 0 -> 20540 bytes .../sourcesanspro-semibold-webfont.ttf | Bin 0 -> 54400 bytes .../sourcesanspro-semibold-webfont.woff | Bin 0 -> 26144 bytes .../sourcesanspro-semibold-webfont.woff2 | Bin 0 -> 20500 bytes .../sourcesanspro-semibolditalic-webfont.ttf | Bin 0 -> 38848 bytes .../sourcesanspro-semibolditalic-webfont.woff | Bin 0 -> 20084 bytes ...sourcesanspro-semibolditalic-webfont.woff2 | Bin 0 -> 16404 bytes .../src/img/favicons/favicon-114.png | Bin 0 -> 1469 bytes .../src/img/favicons/favicon-144.png | Bin 0 -> 1817 bytes .../src/img/favicons/favicon-16.png | Bin 0 -> 373 bytes .../src/img/favicons/favicon-192.png | Bin 0 -> 2326 bytes .../src/img/favicons/favicon-40.png | Bin 0 -> 667 bytes .../src/img/favicons/favicon-57.png | Bin 0 -> 896 bytes .../src/img/favicons/favicon-72.png | Bin 0 -> 1029 bytes .../uswds-core/src/img/favicons/favicon.ico | Bin 0 -> 15086 bytes .../uswds-core/src/img/favicons/favicon.png | Bin 0 -> 2851 bytes packages/uswds-core/src/js/config.js | 3 + packages/uswds-core/src/js/events.js | 15 + packages/uswds-core/src/js/index.js | 47 + packages/uswds-core/src/js/start.js | 24 + packages/uswds-core/src/js/uswds-init.js | 24 + .../uswds-core/src/js/utils/active-element.js | 1 + packages/uswds-core/src/js/utils/behavior.js | 30 + packages/uswds-core/src/js/utils/debounce.js | 18 + .../uswds-core/src/js/utils/focus-trap.js | 84 + .../uswds-core/src/js/utils/is-in-viewport.js | 17 + .../uswds-core/src/js/utils/is-ios-device.js | 11 + packages/uswds-core/src/js/utils/sanitizer.js | 100 + .../src/js/utils/scrollbar-width.js | 20 + .../src/js/utils/select-or-matches.js | 30 + packages/uswds-core/src/js/utils/select.js | 29 + .../src/js/utils/test/.eslintrc.yml | 9 + .../src/js/utils/test/.mocharc.json | 7 + .../src/js/utils/test/behavior.spec.js | 58 + .../src/js/utils/test/is-in-viewport.spec.js | 34 + .../src/js/utils/test/select.spec.js | 33 + .../src/js/utils/test/select.template.html | 7 + .../js/utils/test/toggle-field-mask.spec.js | 32 + .../js/utils/test/toggle-form-input.spec.js | 50 + .../src/js/utils/test/toggle.template.html | 6 + packages/uswds-core/src/js/utils/test/util.js | 31 + .../src/js/utils/toggle-field-mask.js | 10 + .../src/js/utils/toggle-form-input.js | 46 + packages/uswds-core/src/js/utils/toggle.js | 27 + .../uswds-core/src/js/utils/validate-input.js | 62 + packages/uswds-core/src/styles/_defaults.scss | 8 + .../uswds-core/src/styles/_deprecated.scss | 39 + packages/uswds-core/src/styles/_index.scss | 12 + .../uswds-core/src/styles/_notifications.scss | 224 + .../uswds-core/src/styles/_properties.scss | 713 ++ packages/uswds-core/src/styles/_test.scss | 8 + .../src/styles/functions/_index.scss | 8 + .../src/styles/functions/color/_index.scss | 22 + .../functions/color/advanced-color.scss | 103 + .../functions/color/calculate-grade.scss | 101 + .../color/color-token-assignment.scss | 30 + .../functions/color/color-token-family.scss | 29 + .../functions/color/color-token-grade.scss | 33 + .../functions/color/color-token-type.scss | 23 + .../functions/color/color-token-variant.scss | 31 + .../color/decompose-color-token.scss | 84 + .../color/get-color-token-from-bg.scss | 70 + .../color/get-link-tokens-from-bg.scss | 132 + .../functions/color/get-system-color.scss | 78 + .../color/is-accessible-magic-number.scss | 25 + .../styles/functions/color/is-color-dark.scss | 35 + .../functions/color/is-color-token.scss | 19 + .../color/is-system-color-token.scss | 21 + .../functions/color/is-theme-color-token.scss | 19 + .../src/styles/functions/color/luminance.scss | 38 + .../styles/functions/color/magic-number.scss | 37 + .../styles/functions/color/next-token.scss | 156 + .../functions/color/set-theme-color.scss | 69 + .../styles/functions/color/test-color.scss | 44 + .../functions/color/wcag-magic-number.scss | 21 + .../src/styles/functions/font/_index.scss | 8 + .../src/styles/functions/font/cap-height.scss | 24 + .../functions/font/convert-to-font-type.scss | 23 + .../styles/functions/font/font-sources.scss | 31 + .../styles/functions/font/get-font-stack.scss | 65 + .../functions/font/get-typeface-token.scss | 30 + .../functions/font/normalize-type-scale.scss | 27 + .../functions/font/system-type-scale.scss | 28 + .../font/validate-typeface-token.scss | 27 + .../src/styles/functions/general/_index.scss | 18 + .../functions/general/append-important.scss | 21 + .../src/styles/functions/general/de-list.scss | 29 + .../functions/general/error-not-token.scss | 21 + .../src/styles/functions/general/error.scss | 17 + .../styles/functions/general/get-default.scss | 19 + .../styles/functions/general/get-last.scss | 20 + .../functions/general/has-important.scss | 23 + .../styles/functions/general/map-collect.scss | 30 + .../functions/general/map-deep-get.scss | 30 + .../styles/functions/general/multi-cat.scss | 24 + .../src/styles/functions/general/remove.scss | 29 + .../styles/functions/general/smart-quote.scss | 40 + .../styles/functions/general/str-replace.scss | 28 + .../styles/functions/general/str-split.scss | 28 + .../styles/functions/general/strip-unit.scss | 24 + .../src/styles/functions/general/to-map.scss | 37 + .../styles/functions/general/to-number.scss | 61 + .../src/styles/functions/general/unpack.scss | 37 + .../src/styles/functions/grid/_index.scss | 2 + .../functions/grid/calc-gap-offset.scss | 26 + .../src/styles/functions/grid/columns.scss | 33 + .../src/styles/functions/math/_index.scss | 1 + .../src/styles/functions/math/pow.scss | 117 + .../src/styles/functions/output/_index.scss | 4 + .../functions/output/get-standard-values.scss | 18 + .../functions/output/get-uswds-value.scss | 79 + .../src/styles/functions/output/ns.scss | 25 + .../functions/output/number-to-token.scss | 28 + .../src/styles/functions/units/_index.scss | 7 + .../src/styles/functions/units/_root.scss | 13 + .../src/styles/functions/units/px-to-rem.scss | 23 + .../styles/functions/units/px-to-user-em.scss | 24 + .../src/styles/functions/units/rem-to-px.scss | 24 + .../functions/units/rem-to-user-em.scss | 23 + .../functions/units/spacing-multiple.scss | 25 + .../src/styles/functions/units/units.scss | 36 + .../styles/functions/utilities/_index.scss | 4 + .../src/styles/functions/utilities/color.scss | 82 + .../src/styles/functions/utilities/etc.scss | 268 + .../functions/utilities/line-height.scss | 59 + .../functions/utilities/utility-font.scss | 47 + .../uswds-core/src/styles/mixins/_index.scss | 6 + .../src/styles/mixins/_utility-builder.scss | 368 + .../src/styles/mixins/general/_index.scss | 20 + .../src/styles/mixins/general/add-aspect.scss | 50 + .../mixins/general/add-background-svg.scss | 10 + .../src/styles/mixins/general/add-bar.scss | 49 + .../general/add-checkbox-placeholder.scss | 17 + .../styles/mixins/general/add-kerning.scss | 4 + .../general/add-responsive-site-margins.scss | 10 + .../mixins/general/add-success-mark.scss | 10 + .../mixins/general/button-disabled.scss | 14 + .../mixins/general/button-unstyled.scss | 71 + .../src/styles/mixins/general/clearfix.scss | 7 + .../styles/mixins/general/external-link.scss | 41 + .../styles/mixins/general/focus-outline.scss | 17 + .../src/styles/mixins/general/font-face.scss | 109 + .../src/styles/mixins/general/icon.scss | 207 + .../styles/mixins/general/layout-grid.scss | 138 + .../mixins/general/media-block-img.scss | 6 + .../src/styles/mixins/general/media-link.scss | 5 + .../src/styles/mixins/general/nav-list.scss | 107 + .../styles/mixins/general/screen-reader.scss | 23 + .../src/styles/mixins/general/table.scss | 418 + .../src/styles/mixins/helpers/_index.scss | 13 + .../mixins/helpers/add-label-styles.scss | 17 + .../mixins/helpers/add-link-styles.scss | 51 + .../mixins/helpers/alert-status-styles.scss | 166 + .../src/styles/mixins/helpers/at-media.scss | 70 + .../mixins/helpers/border-box-sizing.scss | 21 + .../helpers/checkbox-and-radio-colors.scss | 242 + .../styles/mixins/helpers/format-input.scss | 5 + .../styles/mixins/helpers/format-label.scss | 5 + .../styles/mixins/helpers/override-prose.scss | 6 + .../mixins/helpers/set-icon-from-bg.scss | 17 + .../mixins/helpers/set-link-from-bg.scss | 47 + .../mixins/helpers/set-text-and-bg.scss | 26 + .../mixins/helpers/set-text-from-bg.scss | 22 + .../mixins/layout-grid/_grid-container.scss | 26 + .../styles/mixins/layout-grid/_grid-row.scss | 12 + .../src/styles/mixins/layout-grid/_index.scss | 2 + .../src/styles/mixins/typography/_index.scss | 7 + .../mixins/typography/add-list-reset.scss | 18 + .../styles/mixins/typography/headings.scss | 80 + .../src/styles/mixins/typography/typeset.scss | 93 + .../mixins/typography/unstyled-list.scss | 13 + .../mixins/typography/usa-content-styles.scss | 59 + .../styles/mixins/typography/usa-list.scss | 38 + .../mixins/typography/usa-table-styles.scss | 39 + .../styles/mixins/utilities/_align-items.scss | 19 + .../styles/mixins/utilities/_align-self.scss | 11 + .../mixins/utilities/_background-color.scss | 15 + .../mixins/utilities/_border-color.scss | 17 + .../mixins/utilities/_border-radius.scss | 79 + .../mixins/utilities/_border-width.scss | 44 + .../src/styles/mixins/utilities/_border.scss | 151 + .../src/styles/mixins/utilities/_bottom.scss | 17 + .../src/styles/mixins/utilities/_circle.scss | 15 + .../src/styles/mixins/utilities/_color.scss | 17 + .../src/styles/mixins/utilities/_cursor.scss | 17 + .../styles/mixins/utilities/_disabled.scss | 57 + .../src/styles/mixins/utilities/_display.scss | 17 + .../mixins/utilities/_flex-direction.scss | 17 + .../src/styles/mixins/utilities/_flex.scss | 57 + .../src/styles/mixins/utilities/_float.scss | 17 + .../styles/mixins/utilities/_font-weight.scss | 17 + .../src/styles/mixins/utilities/_font.scss | 44 + .../src/styles/mixins/utilities/_height.scss | 17 + .../src/styles/mixins/utilities/_index.scss | 48 + .../mixins/utilities/_justify-content.scss | 17 + .../src/styles/mixins/utilities/_left.scss | 17 + .../styles/mixins/utilities/_line-height.scss | 19 + .../src/styles/mixins/utilities/_margin.scss | 109 + .../styles/mixins/utilities/_max-height.scss | 17 + .../styles/mixins/utilities/_max-width.scss | 17 + .../src/styles/mixins/utilities/_measure.scss | 17 + .../styles/mixins/utilities/_min-height.scss | 17 + .../styles/mixins/utilities/_min-width.scss | 17 + .../src/styles/mixins/utilities/_order.scss | 17 + .../mixins/utilities/_outline-color.scss | 17 + .../src/styles/mixins/utilities/_outline.scss | 46 + .../styles/mixins/utilities/_overflow.scss | 43 + .../src/styles/mixins/utilities/_padding.scss | 55 + .../src/styles/mixins/utilities/_pin.scss | 90 + .../styles/mixins/utilities/_position.scss | 17 + .../src/styles/mixins/utilities/_right.scss | 17 + .../src/styles/mixins/utilities/_shadow.scss | 17 + .../src/styles/mixins/utilities/_square.scss | 11 + .../styles/mixins/utilities/_text-align.scss | 17 + .../utilities/_text-decoration-color.scss | 17 + .../mixins/utilities/_text-decoration.scss | 26 + .../styles/mixins/utilities/_text-indent.scss | 17 + .../src/styles/mixins/utilities/_text.scss | 78 + .../src/styles/mixins/utilities/_top.scss | 16 + .../mixins/utilities/_vertical-align.scss | 17 + .../styles/mixins/utilities/_white-space.scss | 17 + .../src/styles/mixins/utilities/_width.scss | 17 + .../src/styles/mixins/utilities/_z-index.scss | 17 + .../src/styles/placeholders/_forms.scss | 29 + .../src/styles/placeholders/_index.scss | 2 + .../src/styles/placeholders/_list.scss | 27 + .../src/styles/settings/_index.scss | 6 + .../src/styles/settings/_settings-color.scss | 149 + .../styles/settings/_settings-components.scss | 225 + .../styles/settings/_settings-general.scss | 120 + .../styles/settings/_settings-spacing.scss | 90 + .../styles/settings/_settings-typography.scss | 433 + .../styles/settings/_settings-utilities.scss | 1102 +++ .../uswds-core/src/styles/tokens/_index.scss | 3 + .../tokens/color/_black-transparent.scss | 14 + .../src/styles/tokens/color/_blue-cool.scss | 26 + .../src/styles/tokens/color/_blue-warm.scss | 26 + .../src/styles/tokens/color/_blue.scss | 26 + .../src/styles/tokens/color/_cyan.scss | 26 + .../src/styles/tokens/color/_global.scss | 5 + .../src/styles/tokens/color/_gold.scss | 26 + .../src/styles/tokens/color/_gray-cool.scss | 18 + .../src/styles/tokens/color/_gray-warm.scss | 18 + .../src/styles/tokens/color/_gray.scss | 19 + .../src/styles/tokens/color/_green-cool.scss | 26 + .../src/styles/tokens/color/_green-warm.scss | 26 + .../src/styles/tokens/color/_green.scss | 26 + .../src/styles/tokens/color/_index.scss | 10 + .../src/styles/tokens/color/_indigo-cool.scss | 26 + .../src/styles/tokens/color/_indigo-warm.scss | 26 + .../src/styles/tokens/color/_indigo.scss | 26 + .../src/styles/tokens/color/_magenta.scss | 26 + .../src/styles/tokens/color/_mint-cool.scss | 26 + .../src/styles/tokens/color/_mint.scss | 26 + .../src/styles/tokens/color/_orange-warm.scss | 26 + .../src/styles/tokens/color/_orange.scss | 26 + .../src/styles/tokens/color/_red-cool.scss | 26 + .../src/styles/tokens/color/_red-warm.scss | 26 + .../src/styles/tokens/color/_red.scss | 26 + .../src/styles/tokens/color/_violet-warm.scss | 26 + .../src/styles/tokens/color/_violet.scss | 26 + .../tokens/color/_white-transparent.scss | 14 + .../src/styles/tokens/color/_yellow.scss | 26 + .../tokens/color/assignments-theme-color.scss | 69 + .../color/high-contrast-mode-colors.scss | 19 + .../tokens/color/shortcodes-color-all.scss | 12 + .../tokens/color/shortcodes-color-basic.scss | 29 + .../color/shortcodes-color-project.scss | 8 + .../tokens/color/shortcodes-color-state.scss | 56 + .../tokens/color/shortcodes-color-system.scss | 1067 +++ .../tokens/color/shortcodes-color-theme.scss | 112 + .../styles/tokens/color/system-colors.scss | 60 + .../src/styles/tokens/font/_index.scss | 6 + .../styles/tokens/font/base-cap-height.scss | 1 + .../src/styles/tokens/font/line-height.scss | 14 + .../src/styles/tokens/font/measure.scss | 12 + .../src/styles/tokens/font/stacks.scss | 8 + .../src/styles/tokens/font/type-scale.scss | 23 + .../src/styles/tokens/font/typefaces.scss | 164 + .../src/styles/tokens/units/_index.scss | 8 + .../src/styles/tokens/units/breakpoints.scss | 9 + .../src/styles/tokens/units/column-gaps.scss | 11 + .../src/styles/tokens/units/grid-base.scss | 1 + .../src/styles/tokens/units/input-widths.scss | 11 + .../tokens/units/layout-grid-widths.scss | 16 + .../src/styles/tokens/units/neg-prefix.scss | 1 + .../src/styles/tokens/units/spacing-em.scss | 8 + .../src/styles/tokens/units/spacing.scss | 106 + .../src/styles/variables/_index.scss | 26 + .../src/styles/variables/aspect-ratios.scss | 16 + .../variables/border-high-contrast.scss | 5 + .../src/styles/variables/border-radius.scss | 19 + .../src/styles/variables/color-families.scss | 10 + .../variables/color-palette-grayscale.scss | 3 + .../styles/variables/color-theme-grades.scss | 9 + .../src/styles/variables/column-gaps.scss | 7 + .../styles/variables/font-role-tokens.scss | 9 + .../styles/variables/font-type-tokens.scss | 43 + .../uswds-core/src/styles/variables/grid.scss | 7 + .../variables/luminance-grade-ranges.scss | 56 + .../styles/variables/luminance-values.scss | 84 + .../src/styles/variables/namespace.scss | 4 + .../styles/variables/project-cap-heights.scss | 18 + .../src/styles/variables/project-colors.scss | 129 + .../styles/variables/project-defaults.scss | 9 + .../src/styles/variables/project-easing.scss | 6 + .../styles/variables/project-font-stacks.scss | 27 + .../styles/variables/project-font-types.scss | 13 + .../variables/project-font-weights.scss | 11 + .../src/styles/variables/project-spacing.scss | 92 + .../src/styles/variables/separator.scss | 3 + .../styles/variables/size-touch-target.scss | 1 + .../styles/variables/theme-color-grades.scss | 34 + .../src/styles/variables/type-scale.scss | 18 + .../styles/variables/wcag-magic-numbers.scss | 5 + packages/uswds-core/src/test/sass.spec.js | 9 + packages/uswds-core/src/test/tests.scss | 734 ++ .../src/theme/_uswds-theme-custom-styles.scss | 23 + .../uswds-core/src/theme/_uswds-theme.scss | 15 + packages/uswds-core/src/theme/styles.scss | 3 + packages/uswds-elements/_index.scss | 1 + packages/uswds-elements/lib/_normalize.scss | 245 + packages/uswds-elements/src/styles/_body.scss | 6 + .../uswds-elements/src/styles/_focus.scss | 22 + packages/uswds-elements/src/styles/_img.scss | 9 + .../uswds-elements/src/styles/_index.scss | 5 + .../uswds-elements/src/styles/_sizing.scss | 16 + .../src/styles/_typography.scss | 37 + packages/uswds-fonts/_index.scss | 5 + .../uswds-fonts/src/styles/_font-face.scss | 16 + packages/uswds-fonts/src/styles/_index.scss | 1 + packages/uswds-form-controls/_index.scss | 23 + packages/uswds-form-templates/_index.scss | 8 + packages/uswds-global/_index.scss | 5 + packages/uswds-helpers/_index.scss | 1 + packages/uswds-helpers/src/styles/_index.scss | 2 + .../uswds-helpers/src/styles/_usa-focus.scss | 5 + .../src/styles/_usa-sr-only.scss | 5 + packages/uswds-tokens/colors/blue-cool.json | 40 + packages/uswds-tokens/colors/blue-warm.json | 40 + packages/uswds-tokens/colors/blue.json | 40 + packages/uswds-tokens/colors/cyan.json | 40 + packages/uswds-tokens/colors/gold.json | 40 + packages/uswds-tokens/colors/gray-cool.json | 29 + packages/uswds-tokens/colors/gray-warm.json | 29 + packages/uswds-tokens/colors/gray.json | 30 + packages/uswds-tokens/colors/green-cool.json | 40 + packages/uswds-tokens/colors/green-warm.json | 40 + packages/uswds-tokens/colors/green.json | 40 + packages/uswds-tokens/colors/indigo-cool.json | 40 + packages/uswds-tokens/colors/indigo-warm.json | 40 + packages/uswds-tokens/colors/indigo.json | 40 + packages/uswds-tokens/colors/magenta.json | 40 + packages/uswds-tokens/colors/mint-cool.json | 40 + packages/uswds-tokens/colors/mint.json | 40 + packages/uswds-tokens/colors/orange-warm.json | 40 + packages/uswds-tokens/colors/orange.json | 40 + packages/uswds-tokens/colors/red-cool.json | 40 + packages/uswds-tokens/colors/red-warm.json | 40 + packages/uswds-tokens/colors/red.json | 40 + packages/uswds-tokens/colors/violet-warm.json | 40 + packages/uswds-tokens/colors/violet.json | 40 + packages/uswds-tokens/colors/yellow.json | 40 + packages/uswds-typography/_index.scss | 10 + packages/uswds-utilities/_index.scss | 2 + .../uswds-utilities/src/styles/_index.scss | 11 + .../src/styles/functions/_index.scss | 1 + .../src/styles/functions/get-palettes.scss | 36 + .../src/styles/palettes/_color-palettes.scss | 59 + .../styles/palettes/_default-palettes.scss | 82 + .../src/styles/palettes/_font-palettes.scss | 2765 ++++++ .../src/styles/palettes/_index.scss | 5 + .../styles/palettes/_palette-registry.scss | 53 + .../styles/palettes/_spacing-palettes.scss | 145 + .../colors/_black-transparent-palettes.scss | 18 + .../palettes/colors/_blue-cool-palettes.scss | 72 + .../palettes/colors/_blue-palettes.scss | 69 + .../palettes/colors/_blue-warm-palettes.scss | 72 + .../palettes/colors/_cyan-palettes.scss | 69 + .../palettes/colors/_gold-palettes.scss | 69 + .../palettes/colors/_gray-cool-palettes.scss | 43 + .../palettes/colors/_gray-palettes.scss | 43 + .../palettes/colors/_gray-warm-palettes.scss | 43 + .../palettes/colors/_green-cool-palettes.scss | 72 + .../palettes/colors/_green-palettes.scss | 69 + .../palettes/colors/_green-warm-palettes.scss | 72 + .../src/styles/palettes/colors/_index.scss | 27 + .../colors/_indigo-cool-palettes.scss | 73 + .../palettes/colors/_indigo-palettes.scss | 69 + .../colors/_indigo-warm-palettes.scss | 73 + .../palettes/colors/_magenta-palettes.scss | 70 + .../palettes/colors/_mint-cool-palettes.scss | 72 + .../palettes/colors/_mint-palettes.scss | 69 + .../palettes/colors/_orange-palettes.scss | 69 + .../colors/_orange-warm-palettes.scss | 73 + .../palettes/colors/_red-cool-palettes.scss | 71 + .../styles/palettes/colors/_red-palettes.scss | 69 + .../palettes/colors/_red-warm-palettes.scss | 71 + .../palettes/colors/_violet-palettes.scss | 69 + .../colors/_violet-warm-palettes.scss | 73 + .../colors/_white-transparent-palettes.scss | 18 + .../palettes/colors/_yellow-palettes.scss | 69 + .../src/styles/rules/_index.scss | 57 + .../src/styles/rules/_package.scss | 65 + .../src/styles/rules/add-aspect.scss | 69 + .../src/styles/rules/add-list-reset.scss | 46 + .../src/styles/rules/align-items.scss | 34 + .../src/styles/rules/align-self.scss | 34 + .../src/styles/rules/background-color.scss | 36 + .../src/styles/rules/border-color.scss | 37 + .../src/styles/rules/border-radius.scss | 56 + .../src/styles/rules/border-style.scss | 34 + .../src/styles/rules/border-width.scss | 48 + .../src/styles/rules/border.scss | 53 + .../src/styles/rules/bottom.scss | 35 + .../src/styles/rules/box-shadow.scss | 34 + .../src/styles/rules/circle.scss | 41 + .../src/styles/rules/clearfix.scss | 38 + .../src/styles/rules/color.scss | 37 + .../src/styles/rules/cursor.scss | 31 + .../src/styles/rules/display.scss | 31 + .../src/styles/rules/flex-direction.scss | 38 + .../src/styles/rules/flex-wrap.scss | 38 + .../src/styles/rules/flex.scss | 39 + .../src/styles/rules/float.scss | 31 + .../src/styles/rules/font-family.scss | 40 + .../src/styles/rules/font-feature.scss | 35 + .../src/styles/rules/font-style.scss | 38 + .../src/styles/rules/font-weight.scss | 38 + .../src/styles/rules/font.scss | 31 + .../src/styles/rules/height.scss | 31 + .../src/styles/rules/justify-content.scss | 34 + .../src/styles/rules/left.scss | 31 + .../src/styles/rules/letter-spacing.scss | 34 + .../src/styles/rules/line-height.scss | 34 + .../src/styles/rules/margin.scss | 74 + .../src/styles/rules/max-height.scss | 34 + .../src/styles/rules/max-width.scss | 34 + .../src/styles/rules/measure.scss | 33 + .../src/styles/rules/min-height.scss | 34 + .../src/styles/rules/min-width.scss | 34 + .../src/styles/rules/opacity.scss | 35 + .../src/styles/rules/order.scss | 35 + .../src/styles/rules/outline-color.scss | 37 + .../src/styles/rules/outline.scss | 35 + .../src/styles/rules/overflow.scss | 38 + .../src/styles/rules/padding.scss | 49 + .../uswds-utilities/src/styles/rules/pin.scss | 109 + .../src/styles/rules/position.scss | 34 + .../src/styles/rules/right.scss | 31 + .../src/styles/rules/square.scss | 38 + .../src/styles/rules/text-align.scss | 34 + .../styles/rules/text-decoration-color.scss | 35 + .../src/styles/rules/text-decoration.scss | 34 + .../src/styles/rules/text-indent.scss | 34 + .../src/styles/rules/text-transform.scss | 34 + .../uswds-utilities/src/styles/rules/top.scss | 31 + .../src/styles/rules/vertical-align.scss | 34 + .../src/styles/rules/whitespace.scss | 34 + .../src/styles/rules/width.scss | 31 + .../src/styles/rules/z-index.scss | 35 + .../src/styles/utility-fonts.scss | 36 + .../state-color/test-state-color.twig | 14 + .../state-color/test-state-color.yml | 26 + .../src/test/test-patterns/test-usa-flex.twig | 432 + packages/uswds-validation/_index.scss | 7 + packages/uswds/_index.scss | 55 + sass/styles.scss | 10 + sass/uswds/_uswds-theme-custom-styles.scss | 23 + sass/uswds/_uswds-theme.scss | 15 + sass/uswds/styles.scss | 3 + security/README.md | 13 + security/uswds-2.10.0-zip-hash.txt | 1 + security/uswds-2.10.1-zip-hash.txt | 1 + security/uswds-2.10.2-zip-hash.txt | 1 + security/uswds-2.10.3-zip-hash.txt | 1 + security/uswds-2.11.0-zip-hash.txt | 1 + security/uswds-2.11.1-zip-hash.txt | 1 + security/uswds-2.11.2-zip-hash.txt | 1 + security/uswds-2.12.0-zip-hash.txt | 1 + security/uswds-2.12.1-zip-hash.txt | 1 + security/uswds-2.12.2-zip-hash.txt | 1 + security/uswds-2.13.0-zip-hash.txt | 1 + security/uswds-2.13.1-zip-hash.txt | 1 + security/uswds-2.13.2-zip-hash.txt | 1 + security/uswds-2.13.3-zip-hash.txt | 1 + security/uswds-2.14.0-beta.1-zip-hash.txt | 1 + security/uswds-2.9.0-zip-hash.txt | 1 + security/uswds-3.0.0-beta.1-zip-hash.txt | 1 + security/uswds-3.0.0-beta.2-zip-hash.txt | 1 + security/uswds-3.0.0-beta.3-zip-hash.txt | 1 + security/uswds-3.0.0-beta.4-zip-hash.txt | 1 + security/uswds-3.0.0-beta.5-zip-hash.txt | 1 + security/uswds-3.0.0-zip-hash.txt | 1 + security/uswds-3.0.1-zip-hash.txt | 1 + security/uswds-3.0.2-zip-hash.txt | 1 + security/uswds-3.1.0-zip-hash.txt | 1 + security/uswds-3.10.0-zip-hash.txt | 1 + security/uswds-3.11.0-zip-hash.txt | 1 + security/uswds-3.2.0-zip-hash.txt | 1 + security/uswds-3.3.0-zip-hash.txt | 1 + security/uswds-3.4.0-zip-hash.txt | 1 + security/uswds-3.4.1-zip-hash.txt | 1 + security/uswds-3.5.0-zip-hash.txt | 1 + security/uswds-3.6.0-zip-hash.txt | 1 + security/uswds-3.6.1-zip-hash.txt | 1 + security/uswds-3.7.0-zip-hash.txt | 1 + security/uswds-3.7.1-zip-hash.txt | 1 + security/uswds-3.8.0-zip-hash.txt | 1 + security/uswds-3.8.1-zip-hash.txt | 1 + security/uswds-3.8.2-zip-hash.txt | 1 + security/uswds-3.9.0-zip-hash.txt | 1 + src/stylesheets/packages/_usa-accordion.scss | 4 + src/stylesheets/packages/_usa-alert.scss | 4 + src/stylesheets/packages/_usa-banner.scss | 4 + src/stylesheets/packages/_usa-breadcrumb.scss | 4 + .../packages/_usa-button-group.scss | 4 + src/stylesheets/packages/_usa-button.scss | 4 + src/stylesheets/packages/_usa-card.scss | 4 + .../packages/_usa-character-count.scss | 4 + src/stylesheets/packages/_usa-checkbox.scss | 4 + src/stylesheets/packages/_usa-checklist.scss | 4 + src/stylesheets/packages/_usa-collection.scss | 4 + src/stylesheets/packages/_usa-combo-box.scss | 4 + src/stylesheets/packages/_usa-content.scss | 4 + .../packages/_usa-dark-background.scss | 4 + .../packages/_usa-date-picker.scss | 4 + src/stylesheets/packages/_usa-display.scss | 4 + .../packages/_usa-embed-container.scss | 4 + .../packages/_usa-error-message.scss | 4 + src/stylesheets/packages/_usa-fieldset.scss | 4 + src/stylesheets/packages/_usa-file-input.scss | 4 + src/stylesheets/packages/_usa-footer.scss | 4 + src/stylesheets/packages/_usa-form-group.scss | 4 + src/stylesheets/packages/_usa-form.scss | 4 + .../packages/_usa-graphic-list.scss | 4 + src/stylesheets/packages/_usa-header.scss | 4 + src/stylesheets/packages/_usa-hero.scss | 4 + src/stylesheets/packages/_usa-hint.scss | 4 + src/stylesheets/packages/_usa-icon-list.scss | 5 + src/stylesheets/packages/_usa-icon.scss | 4 + src/stylesheets/packages/_usa-identifier.scss | 4 + .../packages/_usa-input-prefix-suffix.scss | 5 + src/stylesheets/packages/_usa-input.scss | 4 + src/stylesheets/packages/_usa-intro.scss | 4 + src/stylesheets/packages/_usa-label.scss | 4 + .../packages/_usa-layout-docs.scss | 4 + .../packages/_usa-layout-grid.scss | 4 + src/stylesheets/packages/_usa-legend.scss | 4 + src/stylesheets/packages/_usa-link.scss | 4 + src/stylesheets/packages/_usa-list.scss | 4 + .../packages/_usa-media-block.scss | 4 + src/stylesheets/packages/_usa-megamenu.scss | 4 + .../packages/_usa-memorable-date.scss | 4 + src/stylesheets/packages/_usa-modal.scss | 5 + .../packages/_usa-nav-container.scss | 4 + src/stylesheets/packages/_usa-nav.scss | 4 + src/stylesheets/packages/_usa-navbar.scss | 4 + src/stylesheets/packages/_usa-pagination.scss | 4 + src/stylesheets/packages/_usa-paragraph.scss | 4 + .../packages/_usa-process-list.scss | 4 + src/stylesheets/packages/_usa-prose.scss | 4 + src/stylesheets/packages/_usa-radio.scss | 4 + src/stylesheets/packages/_usa-range.scss | 4 + src/stylesheets/packages/_usa-search.scss | 4 + src/stylesheets/packages/_usa-section.scss | 4 + src/stylesheets/packages/_usa-select.scss | 4 + src/stylesheets/packages/_usa-sidenav.scss | 4 + src/stylesheets/packages/_usa-site-alert.scss | 4 + src/stylesheets/packages/_usa-skipnav.scss | 4 + .../packages/_usa-step-indicator.scss | 4 + .../packages/_usa-summary-box.scss | 4 + src/stylesheets/packages/_usa-table.scss | 4 + src/stylesheets/packages/_usa-tag.scss | 4 + src/stylesheets/packages/_usa-textarea.scss | 4 + .../packages/_usa-time-picker.scss | 4 + src/stylesheets/packages/_usa-tooltip.scss | 4 + .../packages/_uswds-components.scss | 45 + src/stylesheets/packages/_uswds-core.scss | 3 + src/stylesheets/packages/_uswds-elements.scss | 1 + src/stylesheets/packages/_uswds-fonts.scss | 3 + .../packages/_uswds-form-controls.scss | 23 + .../packages/_uswds-form-templates.scss | 8 + src/stylesheets/packages/_uswds-global.scss | 6 + src/stylesheets/packages/_uswds-helpers.scss | 3 + .../packages/_uswds-typography.scss | 10 + .../packages/_uswds-utilities.scss | 9 + .../packages/_uswds-validation.scss | 7 + src/stylesheets/uswds.scss | 1 + src/test/build.spec.js | 59 + src/test/include.spec.js | 31 + svgo.config.js | 12 + tasks/build.js | 29 + tasks/clean.js | 22 + tasks/copy.js | 50 + tasks/flags.js | 19 + tasks/javascript.js | 67 + tasks/lint.js | 58 + tasks/release.js | 66 + tasks/sass.js | 44 + tasks/svg-sprite.js | 62 + tasks/test.js | 19 + tasks/utils/cflags.js | 4 + tasks/utils/doc-util.js | 52 + tasks/watch.js | 38 + tsconfig.json | 14 + webpack.twig.config.js | 149 + 4164 files changed, 86340 insertions(+) create mode 100644 .browserslistrc create mode 100644 .circleci/config.yml create mode 100644 .codeclimate.yml create mode 100644 .editorconfig create mode 100644 .eslintignore create mode 100644 .eslintrc.yml create mode 100644 .gitattributes create mode 100644 .github/CODEOWNERS create mode 100644 .github/DISCUSSION_TEMPLATE/component-proposals.yml create mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yaml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yaml create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .github/workflows/add-issue-labels.yml create mode 100644 .github/workflows/add-to-project.yml create mode 100644 .github/workflows/codeql-analysis.yml create mode 100644 .gitignore create mode 100644 .npmignore create mode 100644 .nvmrc create mode 100644 .prettierignore create mode 100644 .snyk create mode 100644 .storybook/main.js create mode 100644 .storybook/preview-head.html create mode 100644 .storybook/preview.js create mode 100644 .stylelintrc.json create mode 100644 .tool-versions create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE.md create mode 100644 README.md create mode 100644 SECURITY.md create mode 100644 assets/css/styles.css create mode 100644 assets/css/styles.css.map create mode 100644 assets/uswds/fonts/merriweather/Latin-Merriweather-Black.ttf create mode 100644 assets/uswds/fonts/merriweather/Latin-Merriweather-Black.woff create mode 100644 assets/uswds/fonts/merriweather/Latin-Merriweather-Black.woff2 create mode 100644 assets/uswds/fonts/merriweather/Latin-Merriweather-BlackItalic.ttf create mode 100644 assets/uswds/fonts/merriweather/Latin-Merriweather-BlackItalic.woff create mode 100644 assets/uswds/fonts/merriweather/Latin-Merriweather-BlackItalic.woff2 create mode 100644 assets/uswds/fonts/merriweather/Latin-Merriweather-Bold.ttf create mode 100644 assets/uswds/fonts/merriweather/Latin-Merriweather-Bold.woff create mode 100644 assets/uswds/fonts/merriweather/Latin-Merriweather-Bold.woff2 create mode 100644 assets/uswds/fonts/merriweather/Latin-Merriweather-BoldItalic.ttf create mode 100644 assets/uswds/fonts/merriweather/Latin-Merriweather-BoldItalic.woff create mode 100644 assets/uswds/fonts/merriweather/Latin-Merriweather-BoldItalic.woff2 create mode 100644 assets/uswds/fonts/merriweather/Latin-Merriweather-Italic.ttf create mode 100644 assets/uswds/fonts/merriweather/Latin-Merriweather-Italic.woff create mode 100644 assets/uswds/fonts/merriweather/Latin-Merriweather-Italic.woff2 create mode 100644 assets/uswds/fonts/merriweather/Latin-Merriweather-Light.ttf create mode 100644 assets/uswds/fonts/merriweather/Latin-Merriweather-Light.woff create mode 100644 assets/uswds/fonts/merriweather/Latin-Merriweather-Light.woff2 create mode 100644 assets/uswds/fonts/merriweather/Latin-Merriweather-LightItalic.ttf create mode 100644 assets/uswds/fonts/merriweather/Latin-Merriweather-LightItalic.woff create mode 100644 assets/uswds/fonts/merriweather/Latin-Merriweather-LightItalic.woff2 create mode 100644 assets/uswds/fonts/merriweather/Latin-Merriweather-Regular.ttf create mode 100644 assets/uswds/fonts/merriweather/Latin-Merriweather-Regular.woff create mode 100644 assets/uswds/fonts/merriweather/Latin-Merriweather-Regular.woff2 create mode 100644 assets/uswds/fonts/public-sans/PublicSans-Black.ttf create mode 100644 assets/uswds/fonts/public-sans/PublicSans-Black.woff create mode 100644 assets/uswds/fonts/public-sans/PublicSans-Black.woff2 create mode 100644 assets/uswds/fonts/public-sans/PublicSans-BlackItalic.ttf create mode 100644 assets/uswds/fonts/public-sans/PublicSans-BlackItalic.woff create mode 100644 assets/uswds/fonts/public-sans/PublicSans-BlackItalic.woff2 create mode 100644 assets/uswds/fonts/public-sans/PublicSans-Bold.ttf create mode 100644 assets/uswds/fonts/public-sans/PublicSans-Bold.woff create mode 100644 assets/uswds/fonts/public-sans/PublicSans-Bold.woff2 create mode 100644 assets/uswds/fonts/public-sans/PublicSans-BoldItalic.ttf create mode 100644 assets/uswds/fonts/public-sans/PublicSans-BoldItalic.woff create mode 100644 assets/uswds/fonts/public-sans/PublicSans-BoldItalic.woff2 create mode 100644 assets/uswds/fonts/public-sans/PublicSans-ExtraBold.ttf create mode 100644 assets/uswds/fonts/public-sans/PublicSans-ExtraBold.woff create mode 100644 assets/uswds/fonts/public-sans/PublicSans-ExtraBold.woff2 create mode 100644 assets/uswds/fonts/public-sans/PublicSans-ExtraBoldItalic.ttf create mode 100644 assets/uswds/fonts/public-sans/PublicSans-ExtraBoldItalic.woff create mode 100644 assets/uswds/fonts/public-sans/PublicSans-ExtraBoldItalic.woff2 create mode 100644 assets/uswds/fonts/public-sans/PublicSans-ExtraLight.ttf create mode 100644 assets/uswds/fonts/public-sans/PublicSans-ExtraLight.woff create mode 100644 assets/uswds/fonts/public-sans/PublicSans-ExtraLight.woff2 create mode 100644 assets/uswds/fonts/public-sans/PublicSans-ExtraLightItalic.ttf create mode 100644 assets/uswds/fonts/public-sans/PublicSans-ExtraLightItalic.woff create mode 100644 assets/uswds/fonts/public-sans/PublicSans-ExtraLightItalic.woff2 create mode 100644 assets/uswds/fonts/public-sans/PublicSans-Italic.ttf create mode 100644 assets/uswds/fonts/public-sans/PublicSans-Italic.woff create mode 100644 assets/uswds/fonts/public-sans/PublicSans-Italic.woff2 create mode 100644 assets/uswds/fonts/public-sans/PublicSans-Light.ttf create mode 100644 assets/uswds/fonts/public-sans/PublicSans-Light.woff create mode 100644 assets/uswds/fonts/public-sans/PublicSans-Light.woff2 create mode 100644 assets/uswds/fonts/public-sans/PublicSans-LightItalic.ttf create mode 100644 assets/uswds/fonts/public-sans/PublicSans-LightItalic.woff create mode 100644 assets/uswds/fonts/public-sans/PublicSans-LightItalic.woff2 create mode 100644 assets/uswds/fonts/public-sans/PublicSans-Medium.ttf create mode 100644 assets/uswds/fonts/public-sans/PublicSans-Medium.woff create mode 100644 assets/uswds/fonts/public-sans/PublicSans-Medium.woff2 create mode 100644 assets/uswds/fonts/public-sans/PublicSans-MediumItalic.ttf create mode 100644 assets/uswds/fonts/public-sans/PublicSans-MediumItalic.woff create mode 100644 assets/uswds/fonts/public-sans/PublicSans-MediumItalic.woff2 create mode 100644 assets/uswds/fonts/public-sans/PublicSans-Regular.ttf create mode 100644 assets/uswds/fonts/public-sans/PublicSans-Regular.woff create mode 100644 assets/uswds/fonts/public-sans/PublicSans-Regular.woff2 create mode 100644 assets/uswds/fonts/public-sans/PublicSans-SemiBold.ttf create mode 100644 assets/uswds/fonts/public-sans/PublicSans-SemiBold.woff create mode 100644 assets/uswds/fonts/public-sans/PublicSans-SemiBold.woff2 create mode 100644 assets/uswds/fonts/public-sans/PublicSans-SemiBoldItalic.ttf create mode 100644 assets/uswds/fonts/public-sans/PublicSans-SemiBoldItalic.woff create mode 100644 assets/uswds/fonts/public-sans/PublicSans-SemiBoldItalic.woff2 create mode 100644 assets/uswds/fonts/public-sans/PublicSans-Thin.ttf create mode 100644 assets/uswds/fonts/public-sans/PublicSans-Thin.woff create mode 100644 assets/uswds/fonts/public-sans/PublicSans-Thin.woff2 create mode 100644 assets/uswds/fonts/public-sans/PublicSans-ThinItalic.ttf create mode 100644 assets/uswds/fonts/public-sans/PublicSans-ThinItalic.woff create mode 100644 assets/uswds/fonts/public-sans/PublicSans-ThinItalic.woff2 create mode 100644 assets/uswds/fonts/roboto-mono/roboto-mono-v5-latin-100.ttf create mode 100644 assets/uswds/fonts/roboto-mono/roboto-mono-v5-latin-100.woff create mode 100644 assets/uswds/fonts/roboto-mono/roboto-mono-v5-latin-100.woff2 create mode 100644 assets/uswds/fonts/roboto-mono/roboto-mono-v5-latin-100italic.ttf create mode 100644 assets/uswds/fonts/roboto-mono/roboto-mono-v5-latin-100italic.woff create mode 100644 assets/uswds/fonts/roboto-mono/roboto-mono-v5-latin-100italic.woff2 create mode 100644 assets/uswds/fonts/roboto-mono/roboto-mono-v5-latin-300.ttf create mode 100644 assets/uswds/fonts/roboto-mono/roboto-mono-v5-latin-300.woff create mode 100644 assets/uswds/fonts/roboto-mono/roboto-mono-v5-latin-300.woff2 create mode 100644 assets/uswds/fonts/roboto-mono/roboto-mono-v5-latin-300italic.ttf create mode 100644 assets/uswds/fonts/roboto-mono/roboto-mono-v5-latin-300italic.woff create mode 100644 assets/uswds/fonts/roboto-mono/roboto-mono-v5-latin-300italic.woff2 create mode 100644 assets/uswds/fonts/roboto-mono/roboto-mono-v5-latin-500.ttf create mode 100644 assets/uswds/fonts/roboto-mono/roboto-mono-v5-latin-500.woff create mode 100644 assets/uswds/fonts/roboto-mono/roboto-mono-v5-latin-500.woff2 create mode 100644 assets/uswds/fonts/roboto-mono/roboto-mono-v5-latin-500italic.ttf create mode 100644 assets/uswds/fonts/roboto-mono/roboto-mono-v5-latin-500italic.woff create mode 100644 assets/uswds/fonts/roboto-mono/roboto-mono-v5-latin-500italic.woff2 create mode 100644 assets/uswds/fonts/roboto-mono/roboto-mono-v5-latin-700.ttf create mode 100644 assets/uswds/fonts/roboto-mono/roboto-mono-v5-latin-700.woff create mode 100644 assets/uswds/fonts/roboto-mono/roboto-mono-v5-latin-700.woff2 create mode 100644 assets/uswds/fonts/roboto-mono/roboto-mono-v5-latin-700italic.ttf create mode 100644 assets/uswds/fonts/roboto-mono/roboto-mono-v5-latin-700italic.woff create mode 100644 assets/uswds/fonts/roboto-mono/roboto-mono-v5-latin-700italic.woff2 create mode 100644 assets/uswds/fonts/roboto-mono/roboto-mono-v5-latin-italic.ttf create mode 100644 assets/uswds/fonts/roboto-mono/roboto-mono-v5-latin-italic.woff create mode 100644 assets/uswds/fonts/roboto-mono/roboto-mono-v5-latin-italic.woff2 create mode 100644 assets/uswds/fonts/roboto-mono/roboto-mono-v5-latin-regular.ttf create mode 100644 assets/uswds/fonts/roboto-mono/roboto-mono-v5-latin-regular.woff create mode 100644 assets/uswds/fonts/roboto-mono/roboto-mono-v5-latin-regular.woff2 create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-black-webfont.ttf create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-black-webfont.woff create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-black-webfont.woff2 create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-blackitalic-webfont.ttf create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-blackitalic-webfont.woff create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-blackitalic-webfont.woff2 create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-bold-webfont.ttf create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-bold-webfont.woff create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-bold-webfont.woff2 create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-bolditalic-webfont.ttf create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-bolditalic-webfont.woff create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-bolditalic-webfont.woff2 create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-extralight-webfont.ttf create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-extralight-webfont.woff create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-extralight-webfont.woff2 create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-extralightitalic-webfont.ttf create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-extralightitalic-webfont.woff create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-extralightitalic-webfont.woff2 create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-italic-webfont.ttf create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-italic-webfont.woff create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-italic-webfont.woff2 create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-light-webfont.ttf create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-light-webfont.woff create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-light-webfont.woff2 create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-lightitalic-webfont.ttf create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-lightitalic-webfont.woff create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-lightitalic-webfont.woff2 create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-regular-webfont.ttf create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-regular-webfont.woff create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-regular-webfont.woff2 create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-semibold-webfont.ttf create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-semibold-webfont.woff create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-semibold-webfont.woff2 create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-semibolditalic-webfont.ttf create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-semibolditalic-webfont.woff create mode 100644 assets/uswds/fonts/source-sans-pro/sourcesanspro-semibolditalic-webfont.woff2 create mode 100644 assets/uswds/images/checkbox-indeterminate-alt.svg create mode 100644 assets/uswds/images/checkbox-indeterminate.svg create mode 100644 assets/uswds/images/circle-124.png create mode 100644 assets/uswds/images/circle-gray-20.svg create mode 100644 assets/uswds/images/correct8-alt.svg create mode 100644 assets/uswds/images/correct8.svg create mode 100644 assets/uswds/images/favicons/favicon-114.png create mode 100644 assets/uswds/images/favicons/favicon-144.png create mode 100644 assets/uswds/images/favicons/favicon-16.png create mode 100644 assets/uswds/images/favicons/favicon-192.png create mode 100644 assets/uswds/images/favicons/favicon-40.png create mode 100644 assets/uswds/images/favicons/favicon-57.png create mode 100644 assets/uswds/images/favicons/favicon-72.png create mode 100644 assets/uswds/images/favicons/favicon.ico create mode 100644 assets/uswds/images/favicons/favicon.png create mode 100644 assets/uswds/images/file-excel.svg create mode 100644 assets/uswds/images/file-pdf.svg create mode 100644 assets/uswds/images/file-video.svg create mode 100644 assets/uswds/images/file-word.svg create mode 100644 assets/uswds/images/file.svg create mode 100644 assets/uswds/images/hero.jpg create mode 100644 assets/uswds/images/hero.webp create mode 100644 assets/uswds/images/icon-dot-gov.svg create mode 100644 assets/uswds/images/icon-https.svg create mode 100644 assets/uswds/images/loader.gif create mode 100644 assets/uswds/images/loader.svg create mode 100644 assets/uswds/images/lock.svg create mode 100644 assets/uswds/images/logo-img.png create mode 100644 assets/uswds/images/material-icons-deprecated/eco.svg create mode 100644 assets/uswds/images/material-icons-deprecated/facebook.svg create mode 100644 assets/uswds/images/material-icons-deprecated/info_outline.svg create mode 100644 assets/uswds/images/material-icons-deprecated/lightbulb_outline.svg create mode 100644 assets/uswds/images/material-icons-deprecated/lock_outline.svg create mode 100644 assets/uswds/images/material-icons/10k.svg create mode 100644 assets/uswds/images/material-icons/10mp.svg create mode 100644 assets/uswds/images/material-icons/11mp.svg create mode 100644 assets/uswds/images/material-icons/123.svg create mode 100644 assets/uswds/images/material-icons/12mp.svg create mode 100644 assets/uswds/images/material-icons/13mp.svg create mode 100644 assets/uswds/images/material-icons/14mp.svg create mode 100644 assets/uswds/images/material-icons/15mp.svg create mode 100644 assets/uswds/images/material-icons/16mp.svg create mode 100644 assets/uswds/images/material-icons/17mp.svg create mode 100644 assets/uswds/images/material-icons/18_up_rating.svg create mode 100644 assets/uswds/images/material-icons/18mp.svg create mode 100644 assets/uswds/images/material-icons/19mp.svg create mode 100644 assets/uswds/images/material-icons/1k.svg create mode 100644 assets/uswds/images/material-icons/1k_plus.svg create mode 100644 assets/uswds/images/material-icons/1x_mobiledata.svg create mode 100644 assets/uswds/images/material-icons/20mp.svg create mode 100644 assets/uswds/images/material-icons/21mp.svg create mode 100644 assets/uswds/images/material-icons/22mp.svg create mode 100644 assets/uswds/images/material-icons/23mp.svg create mode 100644 assets/uswds/images/material-icons/24mp.svg create mode 100644 assets/uswds/images/material-icons/2k.svg create mode 100644 assets/uswds/images/material-icons/2k_plus.svg create mode 100644 assets/uswds/images/material-icons/2mp.svg create mode 100644 assets/uswds/images/material-icons/30fps.svg create mode 100644 assets/uswds/images/material-icons/30fps_select.svg create mode 100644 assets/uswds/images/material-icons/360.svg create mode 100644 assets/uswds/images/material-icons/3d_rotation.svg create mode 100644 assets/uswds/images/material-icons/3g_mobiledata.svg create mode 100644 assets/uswds/images/material-icons/3k.svg create mode 100644 assets/uswds/images/material-icons/3k_plus.svg create mode 100644 assets/uswds/images/material-icons/3mp.svg create mode 100644 assets/uswds/images/material-icons/3p.svg create mode 100644 assets/uswds/images/material-icons/4g_mobiledata.svg create mode 100644 assets/uswds/images/material-icons/4g_plus_mobiledata.svg create mode 100644 assets/uswds/images/material-icons/4k.svg create mode 100644 assets/uswds/images/material-icons/4k_plus.svg create mode 100644 assets/uswds/images/material-icons/4mp.svg create mode 100644 assets/uswds/images/material-icons/5g.svg create mode 100644 assets/uswds/images/material-icons/5k.svg create mode 100644 assets/uswds/images/material-icons/5k_plus.svg create mode 100644 assets/uswds/images/material-icons/5mp.svg create mode 100644 assets/uswds/images/material-icons/60fps.svg create mode 100644 assets/uswds/images/material-icons/60fps_select.svg create mode 100644 assets/uswds/images/material-icons/6_ft_apart.svg create mode 100644 assets/uswds/images/material-icons/6k.svg create mode 100644 assets/uswds/images/material-icons/6k_plus.svg create mode 100644 assets/uswds/images/material-icons/6mp.svg create mode 100644 assets/uswds/images/material-icons/7k.svg create mode 100644 assets/uswds/images/material-icons/7k_plus.svg create mode 100644 assets/uswds/images/material-icons/7mp.svg create mode 100644 assets/uswds/images/material-icons/8k.svg create mode 100644 assets/uswds/images/material-icons/8k_plus.svg create mode 100644 assets/uswds/images/material-icons/8mp.svg create mode 100644 assets/uswds/images/material-icons/9k.svg create mode 100644 assets/uswds/images/material-icons/9k_plus.svg create mode 100644 assets/uswds/images/material-icons/9mp.svg create mode 100644 assets/uswds/images/material-icons/abc.svg create mode 100644 assets/uswds/images/material-icons/ac_unit.svg create mode 100644 assets/uswds/images/material-icons/access_alarm.svg create mode 100644 assets/uswds/images/material-icons/access_alarms.svg create mode 100644 assets/uswds/images/material-icons/access_time.svg create mode 100644 assets/uswds/images/material-icons/access_time_filled.svg create mode 100644 assets/uswds/images/material-icons/accessibility.svg create mode 100644 assets/uswds/images/material-icons/accessibility_new.svg create mode 100644 assets/uswds/images/material-icons/accessible.svg create mode 100644 assets/uswds/images/material-icons/accessible_forward.svg create mode 100644 assets/uswds/images/material-icons/account_balance.svg create mode 100644 assets/uswds/images/material-icons/account_balance_wallet.svg create mode 100644 assets/uswds/images/material-icons/account_box.svg create mode 100644 assets/uswds/images/material-icons/account_circle.svg create mode 100644 assets/uswds/images/material-icons/account_tree.svg create mode 100644 assets/uswds/images/material-icons/ad_units.svg create mode 100644 assets/uswds/images/material-icons/adb.svg create mode 100644 assets/uswds/images/material-icons/add.svg create mode 100644 assets/uswds/images/material-icons/add_a_photo.svg create mode 100644 assets/uswds/images/material-icons/add_alarm.svg create mode 100644 assets/uswds/images/material-icons/add_alert.svg create mode 100644 assets/uswds/images/material-icons/add_box.svg create mode 100644 assets/uswds/images/material-icons/add_business.svg create mode 100644 assets/uswds/images/material-icons/add_card.svg create mode 100644 assets/uswds/images/material-icons/add_chart.svg create mode 100644 assets/uswds/images/material-icons/add_circle.svg create mode 100644 assets/uswds/images/material-icons/add_circle_outline.svg create mode 100644 assets/uswds/images/material-icons/add_comment.svg create mode 100644 assets/uswds/images/material-icons/add_home.svg create mode 100644 assets/uswds/images/material-icons/add_home_work.svg create mode 100644 assets/uswds/images/material-icons/add_ic_call.svg create mode 100644 assets/uswds/images/material-icons/add_link.svg create mode 100644 assets/uswds/images/material-icons/add_location.svg create mode 100644 assets/uswds/images/material-icons/add_location_alt.svg create mode 100644 assets/uswds/images/material-icons/add_moderator.svg create mode 100644 assets/uswds/images/material-icons/add_photo_alternate.svg create mode 100644 assets/uswds/images/material-icons/add_reaction.svg create mode 100644 assets/uswds/images/material-icons/add_road.svg create mode 100644 assets/uswds/images/material-icons/add_shopping_cart.svg create mode 100644 assets/uswds/images/material-icons/add_task.svg create mode 100644 assets/uswds/images/material-icons/add_to_drive.svg create mode 100644 assets/uswds/images/material-icons/add_to_home_screen.svg create mode 100644 assets/uswds/images/material-icons/add_to_photos.svg create mode 100644 assets/uswds/images/material-icons/add_to_queue.svg create mode 100644 assets/uswds/images/material-icons/addchart.svg create mode 100644 assets/uswds/images/material-icons/adf_scanner.svg create mode 100644 assets/uswds/images/material-icons/adjust.svg create mode 100644 assets/uswds/images/material-icons/admin_panel_settings.svg create mode 100644 assets/uswds/images/material-icons/ads_click.svg create mode 100644 assets/uswds/images/material-icons/agriculture.svg create mode 100644 assets/uswds/images/material-icons/air.svg create mode 100644 assets/uswds/images/material-icons/airline_seat_flat.svg create mode 100644 assets/uswds/images/material-icons/airline_seat_flat_angled.svg create mode 100644 assets/uswds/images/material-icons/airline_seat_individual_suite.svg create mode 100644 assets/uswds/images/material-icons/airline_seat_legroom_extra.svg create mode 100644 assets/uswds/images/material-icons/airline_seat_legroom_normal.svg create mode 100644 assets/uswds/images/material-icons/airline_seat_legroom_reduced.svg create mode 100644 assets/uswds/images/material-icons/airline_seat_recline_extra.svg create mode 100644 assets/uswds/images/material-icons/airline_seat_recline_normal.svg create mode 100644 assets/uswds/images/material-icons/airline_stops.svg create mode 100644 assets/uswds/images/material-icons/airlines.svg create mode 100644 assets/uswds/images/material-icons/airplane_ticket.svg create mode 100644 assets/uswds/images/material-icons/airplanemode_active.svg create mode 100644 assets/uswds/images/material-icons/airplanemode_inactive.svg create mode 100644 assets/uswds/images/material-icons/airplay.svg create mode 100644 assets/uswds/images/material-icons/airport_shuttle.svg create mode 100644 assets/uswds/images/material-icons/alarm.svg create mode 100644 assets/uswds/images/material-icons/alarm_add.svg create mode 100644 assets/uswds/images/material-icons/alarm_off.svg create mode 100644 assets/uswds/images/material-icons/alarm_on.svg create mode 100644 assets/uswds/images/material-icons/album.svg create mode 100644 assets/uswds/images/material-icons/align_horizontal_center.svg create mode 100644 assets/uswds/images/material-icons/align_horizontal_left.svg create mode 100644 assets/uswds/images/material-icons/align_horizontal_right.svg create mode 100644 assets/uswds/images/material-icons/align_vertical_bottom.svg create mode 100644 assets/uswds/images/material-icons/align_vertical_center.svg create mode 100644 assets/uswds/images/material-icons/align_vertical_top.svg create mode 100644 assets/uswds/images/material-icons/all_inbox.svg create mode 100644 assets/uswds/images/material-icons/all_inclusive.svg create mode 100644 assets/uswds/images/material-icons/all_out.svg create mode 100644 assets/uswds/images/material-icons/alt_route.svg create mode 100644 assets/uswds/images/material-icons/alternate_email.svg create mode 100644 assets/uswds/images/material-icons/analytics.svg create mode 100644 assets/uswds/images/material-icons/anchor.svg create mode 100644 assets/uswds/images/material-icons/android.svg create mode 100644 assets/uswds/images/material-icons/animation.svg create mode 100644 assets/uswds/images/material-icons/announcement.svg create mode 100644 assets/uswds/images/material-icons/aod.svg create mode 100644 assets/uswds/images/material-icons/apartment.svg create mode 100644 assets/uswds/images/material-icons/api.svg create mode 100644 assets/uswds/images/material-icons/app_blocking.svg create mode 100644 assets/uswds/images/material-icons/app_registration.svg create mode 100644 assets/uswds/images/material-icons/app_settings_alt.svg create mode 100644 assets/uswds/images/material-icons/app_shortcut.svg create mode 100644 assets/uswds/images/material-icons/approval.svg create mode 100644 assets/uswds/images/material-icons/apps.svg create mode 100644 assets/uswds/images/material-icons/apps_outage.svg create mode 100644 assets/uswds/images/material-icons/architecture.svg create mode 100644 assets/uswds/images/material-icons/archive.svg create mode 100644 assets/uswds/images/material-icons/area_chart.svg create mode 100644 assets/uswds/images/material-icons/arrow_back.svg create mode 100644 assets/uswds/images/material-icons/arrow_back_ios.svg create mode 100644 assets/uswds/images/material-icons/arrow_back_ios_new.svg create mode 100644 assets/uswds/images/material-icons/arrow_circle_down.svg create mode 100644 assets/uswds/images/material-icons/arrow_circle_left.svg create mode 100644 assets/uswds/images/material-icons/arrow_circle_right.svg create mode 100644 assets/uswds/images/material-icons/arrow_circle_up.svg create mode 100644 assets/uswds/images/material-icons/arrow_downward.svg create mode 100644 assets/uswds/images/material-icons/arrow_drop_down.svg create mode 100644 assets/uswds/images/material-icons/arrow_drop_down_circle.svg create mode 100644 assets/uswds/images/material-icons/arrow_drop_up.svg create mode 100644 assets/uswds/images/material-icons/arrow_forward.svg create mode 100644 assets/uswds/images/material-icons/arrow_forward_ios.svg create mode 100644 assets/uswds/images/material-icons/arrow_left.svg create mode 100644 assets/uswds/images/material-icons/arrow_outward.svg create mode 100644 assets/uswds/images/material-icons/arrow_right.svg create mode 100644 assets/uswds/images/material-icons/arrow_right_alt.svg create mode 100644 assets/uswds/images/material-icons/arrow_upward.svg create mode 100644 assets/uswds/images/material-icons/art_track.svg create mode 100644 assets/uswds/images/material-icons/article.svg create mode 100644 assets/uswds/images/material-icons/aspect_ratio.svg create mode 100644 assets/uswds/images/material-icons/assessment.svg create mode 100644 assets/uswds/images/material-icons/assignment.svg create mode 100644 assets/uswds/images/material-icons/assignment_ind.svg create mode 100644 assets/uswds/images/material-icons/assignment_late.svg create mode 100644 assets/uswds/images/material-icons/assignment_return.svg create mode 100644 assets/uswds/images/material-icons/assignment_returned.svg create mode 100644 assets/uswds/images/material-icons/assignment_turned_in.svg create mode 100644 assets/uswds/images/material-icons/assist_walker.svg create mode 100644 assets/uswds/images/material-icons/assistant.svg create mode 100644 assets/uswds/images/material-icons/assistant_direction.svg create mode 100644 assets/uswds/images/material-icons/assistant_photo.svg create mode 100644 assets/uswds/images/material-icons/assured_workload.svg create mode 100644 assets/uswds/images/material-icons/atm.svg create mode 100644 assets/uswds/images/material-icons/attach_email.svg create mode 100644 assets/uswds/images/material-icons/attach_file.svg create mode 100644 assets/uswds/images/material-icons/attach_money.svg create mode 100644 assets/uswds/images/material-icons/attachment.svg create mode 100644 assets/uswds/images/material-icons/attractions.svg create mode 100644 assets/uswds/images/material-icons/attribution.svg create mode 100644 assets/uswds/images/material-icons/audio_file.svg create mode 100644 assets/uswds/images/material-icons/audiotrack.svg create mode 100644 assets/uswds/images/material-icons/auto_awesome.svg create mode 100644 assets/uswds/images/material-icons/auto_awesome_mosaic.svg create mode 100644 assets/uswds/images/material-icons/auto_awesome_motion.svg create mode 100644 assets/uswds/images/material-icons/auto_delete.svg create mode 100644 assets/uswds/images/material-icons/auto_fix_high.svg create mode 100644 assets/uswds/images/material-icons/auto_fix_normal.svg create mode 100644 assets/uswds/images/material-icons/auto_fix_off.svg create mode 100644 assets/uswds/images/material-icons/auto_graph.svg create mode 100644 assets/uswds/images/material-icons/auto_mode.svg create mode 100644 assets/uswds/images/material-icons/auto_stories.svg create mode 100644 assets/uswds/images/material-icons/autofps_select.svg create mode 100644 assets/uswds/images/material-icons/autorenew.svg create mode 100644 assets/uswds/images/material-icons/av_timer.svg create mode 100644 assets/uswds/images/material-icons/baby_changing_station.svg create mode 100644 assets/uswds/images/material-icons/back_hand.svg create mode 100644 assets/uswds/images/material-icons/backpack.svg create mode 100644 assets/uswds/images/material-icons/backspace.svg create mode 100644 assets/uswds/images/material-icons/backup.svg create mode 100644 assets/uswds/images/material-icons/backup_table.svg create mode 100644 assets/uswds/images/material-icons/badge.svg create mode 100644 assets/uswds/images/material-icons/bakery_dining.svg create mode 100644 assets/uswds/images/material-icons/balance.svg create mode 100644 assets/uswds/images/material-icons/balcony.svg create mode 100644 assets/uswds/images/material-icons/ballot.svg create mode 100644 assets/uswds/images/material-icons/bar_chart.svg create mode 100644 assets/uswds/images/material-icons/batch_prediction.svg create mode 100644 assets/uswds/images/material-icons/bathroom.svg create mode 100644 assets/uswds/images/material-icons/bathtub.svg create mode 100644 assets/uswds/images/material-icons/battery_0_bar.svg create mode 100644 assets/uswds/images/material-icons/battery_1_bar.svg create mode 100644 assets/uswds/images/material-icons/battery_2_bar.svg create mode 100644 assets/uswds/images/material-icons/battery_3_bar.svg create mode 100644 assets/uswds/images/material-icons/battery_4_bar.svg create mode 100644 assets/uswds/images/material-icons/battery_5_bar.svg create mode 100644 assets/uswds/images/material-icons/battery_6_bar.svg create mode 100644 assets/uswds/images/material-icons/battery_alert.svg create mode 100644 assets/uswds/images/material-icons/battery_charging_full.svg create mode 100644 assets/uswds/images/material-icons/battery_full.svg create mode 100644 assets/uswds/images/material-icons/battery_saver.svg create mode 100644 assets/uswds/images/material-icons/battery_std.svg create mode 100644 assets/uswds/images/material-icons/battery_unknown.svg create mode 100644 assets/uswds/images/material-icons/beach_access.svg create mode 100644 assets/uswds/images/material-icons/bed.svg create mode 100644 assets/uswds/images/material-icons/bedroom_baby.svg create mode 100644 assets/uswds/images/material-icons/bedroom_child.svg create mode 100644 assets/uswds/images/material-icons/bedroom_parent.svg create mode 100644 assets/uswds/images/material-icons/bedtime.svg create mode 100644 assets/uswds/images/material-icons/bedtime_off.svg create mode 100644 assets/uswds/images/material-icons/beenhere.svg create mode 100644 assets/uswds/images/material-icons/bento.svg create mode 100644 assets/uswds/images/material-icons/bike_scooter.svg create mode 100644 assets/uswds/images/material-icons/biotech.svg create mode 100644 assets/uswds/images/material-icons/blender.svg create mode 100644 assets/uswds/images/material-icons/blind.svg create mode 100644 assets/uswds/images/material-icons/blinds.svg create mode 100644 assets/uswds/images/material-icons/blinds_closed.svg create mode 100644 assets/uswds/images/material-icons/block.svg create mode 100644 assets/uswds/images/material-icons/bloodtype.svg create mode 100644 assets/uswds/images/material-icons/bluetooth.svg create mode 100644 assets/uswds/images/material-icons/bluetooth_audio.svg create mode 100644 assets/uswds/images/material-icons/bluetooth_connected.svg create mode 100644 assets/uswds/images/material-icons/bluetooth_disabled.svg create mode 100644 assets/uswds/images/material-icons/bluetooth_drive.svg create mode 100644 assets/uswds/images/material-icons/bluetooth_searching.svg create mode 100644 assets/uswds/images/material-icons/blur_circular.svg create mode 100644 assets/uswds/images/material-icons/blur_linear.svg create mode 100644 assets/uswds/images/material-icons/blur_off.svg create mode 100644 assets/uswds/images/material-icons/blur_on.svg create mode 100644 assets/uswds/images/material-icons/bolt.svg create mode 100644 assets/uswds/images/material-icons/book.svg create mode 100644 assets/uswds/images/material-icons/book_online.svg create mode 100644 assets/uswds/images/material-icons/bookmark.svg create mode 100644 assets/uswds/images/material-icons/bookmark_add.svg create mode 100644 assets/uswds/images/material-icons/bookmark_added.svg create mode 100644 assets/uswds/images/material-icons/bookmark_border.svg create mode 100644 assets/uswds/images/material-icons/bookmark_remove.svg create mode 100644 assets/uswds/images/material-icons/bookmarks.svg create mode 100644 assets/uswds/images/material-icons/border_all.svg create mode 100644 assets/uswds/images/material-icons/border_bottom.svg create mode 100644 assets/uswds/images/material-icons/border_clear.svg create mode 100644 assets/uswds/images/material-icons/border_color.svg create mode 100644 assets/uswds/images/material-icons/border_horizontal.svg create mode 100644 assets/uswds/images/material-icons/border_inner.svg create mode 100644 assets/uswds/images/material-icons/border_left.svg create mode 100644 assets/uswds/images/material-icons/border_outer.svg create mode 100644 assets/uswds/images/material-icons/border_right.svg create mode 100644 assets/uswds/images/material-icons/border_style.svg create mode 100644 assets/uswds/images/material-icons/border_top.svg create mode 100644 assets/uswds/images/material-icons/border_vertical.svg create mode 100644 assets/uswds/images/material-icons/boy.svg create mode 100644 assets/uswds/images/material-icons/branding_watermark.svg create mode 100644 assets/uswds/images/material-icons/breakfast_dining.svg create mode 100644 assets/uswds/images/material-icons/brightness_1.svg create mode 100644 assets/uswds/images/material-icons/brightness_2.svg create mode 100644 assets/uswds/images/material-icons/brightness_3.svg create mode 100644 assets/uswds/images/material-icons/brightness_4.svg create mode 100644 assets/uswds/images/material-icons/brightness_5.svg create mode 100644 assets/uswds/images/material-icons/brightness_6.svg create mode 100644 assets/uswds/images/material-icons/brightness_7.svg create mode 100644 assets/uswds/images/material-icons/brightness_auto.svg create mode 100644 assets/uswds/images/material-icons/brightness_high.svg create mode 100644 assets/uswds/images/material-icons/brightness_low.svg create mode 100644 assets/uswds/images/material-icons/brightness_medium.svg create mode 100644 assets/uswds/images/material-icons/broadcast_on_home.svg create mode 100644 assets/uswds/images/material-icons/broadcast_on_personal.svg create mode 100644 assets/uswds/images/material-icons/broken_image.svg create mode 100644 assets/uswds/images/material-icons/browse_gallery.svg create mode 100644 assets/uswds/images/material-icons/browser_not_supported.svg create mode 100644 assets/uswds/images/material-icons/browser_updated.svg create mode 100644 assets/uswds/images/material-icons/brunch_dining.svg create mode 100644 assets/uswds/images/material-icons/brush.svg create mode 100644 assets/uswds/images/material-icons/bubble_chart.svg create mode 100644 assets/uswds/images/material-icons/bug_report.svg create mode 100644 assets/uswds/images/material-icons/build.svg create mode 100644 assets/uswds/images/material-icons/build_circle.svg create mode 100644 assets/uswds/images/material-icons/bungalow.svg create mode 100644 assets/uswds/images/material-icons/burst_mode.svg create mode 100644 assets/uswds/images/material-icons/bus_alert.svg create mode 100644 assets/uswds/images/material-icons/business.svg create mode 100644 assets/uswds/images/material-icons/business_center.svg create mode 100644 assets/uswds/images/material-icons/cabin.svg create mode 100644 assets/uswds/images/material-icons/cable.svg create mode 100644 assets/uswds/images/material-icons/cached.svg create mode 100644 assets/uswds/images/material-icons/cake.svg create mode 100644 assets/uswds/images/material-icons/calculate.svg create mode 100644 assets/uswds/images/material-icons/calendar_month.svg create mode 100644 assets/uswds/images/material-icons/calendar_today.svg create mode 100644 assets/uswds/images/material-icons/calendar_view_day.svg create mode 100644 assets/uswds/images/material-icons/calendar_view_month.svg create mode 100644 assets/uswds/images/material-icons/calendar_view_week.svg create mode 100644 assets/uswds/images/material-icons/call.svg create mode 100644 assets/uswds/images/material-icons/call_end.svg create mode 100644 assets/uswds/images/material-icons/call_made.svg create mode 100644 assets/uswds/images/material-icons/call_merge.svg create mode 100644 assets/uswds/images/material-icons/call_missed.svg create mode 100644 assets/uswds/images/material-icons/call_missed_outgoing.svg create mode 100644 assets/uswds/images/material-icons/call_received.svg create mode 100644 assets/uswds/images/material-icons/call_split.svg create mode 100644 assets/uswds/images/material-icons/call_to_action.svg create mode 100644 assets/uswds/images/material-icons/camera.svg create mode 100644 assets/uswds/images/material-icons/camera_alt.svg create mode 100644 assets/uswds/images/material-icons/camera_enhance.svg create mode 100644 assets/uswds/images/material-icons/camera_front.svg create mode 100644 assets/uswds/images/material-icons/camera_indoor.svg create mode 100644 assets/uswds/images/material-icons/camera_outdoor.svg create mode 100644 assets/uswds/images/material-icons/camera_rear.svg create mode 100644 assets/uswds/images/material-icons/camera_roll.svg create mode 100644 assets/uswds/images/material-icons/cameraswitch.svg create mode 100644 assets/uswds/images/material-icons/campaign.svg create mode 100644 assets/uswds/images/material-icons/cancel.svg create mode 100644 assets/uswds/images/material-icons/cancel_presentation.svg create mode 100644 assets/uswds/images/material-icons/cancel_schedule_send.svg create mode 100644 assets/uswds/images/material-icons/candlestick_chart.svg create mode 100644 assets/uswds/images/material-icons/car_crash.svg create mode 100644 assets/uswds/images/material-icons/car_rental.svg create mode 100644 assets/uswds/images/material-icons/car_repair.svg create mode 100644 assets/uswds/images/material-icons/card_giftcard.svg create mode 100644 assets/uswds/images/material-icons/card_membership.svg create mode 100644 assets/uswds/images/material-icons/card_travel.svg create mode 100644 assets/uswds/images/material-icons/carpenter.svg create mode 100644 assets/uswds/images/material-icons/cases.svg create mode 100644 assets/uswds/images/material-icons/casino.svg create mode 100644 assets/uswds/images/material-icons/cast.svg create mode 100644 assets/uswds/images/material-icons/cast_connected.svg create mode 100644 assets/uswds/images/material-icons/cast_for_education.svg create mode 100644 assets/uswds/images/material-icons/castle.svg create mode 100644 assets/uswds/images/material-icons/catching_pokemon.svg create mode 100644 assets/uswds/images/material-icons/category.svg create mode 100644 assets/uswds/images/material-icons/celebration.svg create mode 100644 assets/uswds/images/material-icons/cell_tower.svg create mode 100644 assets/uswds/images/material-icons/cell_wifi.svg create mode 100644 assets/uswds/images/material-icons/center_focus_strong.svg create mode 100644 assets/uswds/images/material-icons/center_focus_weak.svg create mode 100644 assets/uswds/images/material-icons/chair.svg create mode 100644 assets/uswds/images/material-icons/chair_alt.svg create mode 100644 assets/uswds/images/material-icons/chalet.svg create mode 100644 assets/uswds/images/material-icons/change_circle.svg create mode 100644 assets/uswds/images/material-icons/change_history.svg create mode 100644 assets/uswds/images/material-icons/charging_station.svg create mode 100644 assets/uswds/images/material-icons/chat.svg create mode 100644 assets/uswds/images/material-icons/chat_bubble.svg create mode 100644 assets/uswds/images/material-icons/chat_bubble_outline.svg create mode 100644 assets/uswds/images/material-icons/check.svg create mode 100644 assets/uswds/images/material-icons/check_box.svg create mode 100644 assets/uswds/images/material-icons/check_box_outline_blank.svg create mode 100644 assets/uswds/images/material-icons/check_circle.svg create mode 100644 assets/uswds/images/material-icons/check_circle_outline.svg create mode 100644 assets/uswds/images/material-icons/checklist.svg create mode 100644 assets/uswds/images/material-icons/checklist_rtl.svg create mode 100644 assets/uswds/images/material-icons/checkroom.svg create mode 100644 assets/uswds/images/material-icons/chevron_left.svg create mode 100644 assets/uswds/images/material-icons/chevron_right.svg create mode 100644 assets/uswds/images/material-icons/child_care.svg create mode 100644 assets/uswds/images/material-icons/child_friendly.svg create mode 100644 assets/uswds/images/material-icons/chrome_reader_mode.svg create mode 100644 assets/uswds/images/material-icons/church.svg create mode 100644 assets/uswds/images/material-icons/circle.svg create mode 100644 assets/uswds/images/material-icons/circle_notifications.svg create mode 100644 assets/uswds/images/material-icons/class.svg create mode 100644 assets/uswds/images/material-icons/clean_hands.svg create mode 100644 assets/uswds/images/material-icons/cleaning_services.svg create mode 100644 assets/uswds/images/material-icons/clear.svg create mode 100644 assets/uswds/images/material-icons/clear_all.svg create mode 100644 assets/uswds/images/material-icons/close.svg create mode 100644 assets/uswds/images/material-icons/close_fullscreen.svg create mode 100644 assets/uswds/images/material-icons/closed_caption.svg create mode 100644 assets/uswds/images/material-icons/closed_caption_disabled.svg create mode 100644 assets/uswds/images/material-icons/closed_caption_off.svg create mode 100644 assets/uswds/images/material-icons/cloud.svg create mode 100644 assets/uswds/images/material-icons/cloud_circle.svg create mode 100644 assets/uswds/images/material-icons/cloud_done.svg create mode 100644 assets/uswds/images/material-icons/cloud_download.svg create mode 100644 assets/uswds/images/material-icons/cloud_off.svg create mode 100644 assets/uswds/images/material-icons/cloud_queue.svg create mode 100644 assets/uswds/images/material-icons/cloud_sync.svg create mode 100644 assets/uswds/images/material-icons/cloud_upload.svg create mode 100644 assets/uswds/images/material-icons/co2.svg create mode 100644 assets/uswds/images/material-icons/co_present.svg create mode 100644 assets/uswds/images/material-icons/code.svg create mode 100644 assets/uswds/images/material-icons/code_off.svg create mode 100644 assets/uswds/images/material-icons/coffee.svg create mode 100644 assets/uswds/images/material-icons/coffee_maker.svg create mode 100644 assets/uswds/images/material-icons/collections.svg create mode 100644 assets/uswds/images/material-icons/collections_bookmark.svg create mode 100644 assets/uswds/images/material-icons/color_lens.svg create mode 100644 assets/uswds/images/material-icons/colorize.svg create mode 100644 assets/uswds/images/material-icons/comment.svg create mode 100644 assets/uswds/images/material-icons/comment_bank.svg create mode 100644 assets/uswds/images/material-icons/comments_disabled.svg create mode 100644 assets/uswds/images/material-icons/commit.svg create mode 100644 assets/uswds/images/material-icons/commute.svg create mode 100644 assets/uswds/images/material-icons/compare.svg create mode 100644 assets/uswds/images/material-icons/compare_arrows.svg create mode 100644 assets/uswds/images/material-icons/compass_calibration.svg create mode 100644 assets/uswds/images/material-icons/compost.svg create mode 100644 assets/uswds/images/material-icons/compress.svg create mode 100644 assets/uswds/images/material-icons/computer.svg create mode 100644 assets/uswds/images/material-icons/confirmation_number.svg create mode 100644 assets/uswds/images/material-icons/connect_without_contact.svg create mode 100644 assets/uswds/images/material-icons/connected_tv.svg create mode 100644 assets/uswds/images/material-icons/connecting_airports.svg create mode 100644 assets/uswds/images/material-icons/construction.svg create mode 100644 assets/uswds/images/material-icons/contact_emergency.svg create mode 100644 assets/uswds/images/material-icons/contact_mail.svg create mode 100644 assets/uswds/images/material-icons/contact_page.svg create mode 100644 assets/uswds/images/material-icons/contact_phone.svg create mode 100644 assets/uswds/images/material-icons/contact_support.svg create mode 100644 assets/uswds/images/material-icons/contactless.svg create mode 100644 assets/uswds/images/material-icons/contacts.svg create mode 100644 assets/uswds/images/material-icons/content_copy.svg create mode 100644 assets/uswds/images/material-icons/content_cut.svg create mode 100644 assets/uswds/images/material-icons/content_paste.svg create mode 100644 assets/uswds/images/material-icons/content_paste_go.svg create mode 100644 assets/uswds/images/material-icons/content_paste_off.svg create mode 100644 assets/uswds/images/material-icons/content_paste_search.svg create mode 100644 assets/uswds/images/material-icons/contrast.svg create mode 100644 assets/uswds/images/material-icons/control_camera.svg create mode 100644 assets/uswds/images/material-icons/control_point.svg create mode 100644 assets/uswds/images/material-icons/control_point_duplicate.svg create mode 100644 assets/uswds/images/material-icons/cookie.svg create mode 100644 assets/uswds/images/material-icons/copy_all.svg create mode 100644 assets/uswds/images/material-icons/copyright.svg create mode 100644 assets/uswds/images/material-icons/coronavirus.svg create mode 100644 assets/uswds/images/material-icons/corporate_fare.svg create mode 100644 assets/uswds/images/material-icons/cottage.svg create mode 100644 assets/uswds/images/material-icons/countertops.svg create mode 100644 assets/uswds/images/material-icons/create.svg create mode 100644 assets/uswds/images/material-icons/create_new_folder.svg create mode 100644 assets/uswds/images/material-icons/credit_card.svg create mode 100644 assets/uswds/images/material-icons/credit_card_off.svg create mode 100644 assets/uswds/images/material-icons/credit_score.svg create mode 100644 assets/uswds/images/material-icons/crib.svg create mode 100644 assets/uswds/images/material-icons/crisis_alert.svg create mode 100644 assets/uswds/images/material-icons/crop.svg create mode 100644 assets/uswds/images/material-icons/crop_16_9.svg create mode 100644 assets/uswds/images/material-icons/crop_3_2.svg create mode 100644 assets/uswds/images/material-icons/crop_5_4.svg create mode 100644 assets/uswds/images/material-icons/crop_7_5.svg create mode 100644 assets/uswds/images/material-icons/crop_din.svg create mode 100644 assets/uswds/images/material-icons/crop_free.svg create mode 100644 assets/uswds/images/material-icons/crop_landscape.svg create mode 100644 assets/uswds/images/material-icons/crop_original.svg create mode 100644 assets/uswds/images/material-icons/crop_portrait.svg create mode 100644 assets/uswds/images/material-icons/crop_rotate.svg create mode 100644 assets/uswds/images/material-icons/crop_square.svg create mode 100644 assets/uswds/images/material-icons/cruelty_free.svg create mode 100644 assets/uswds/images/material-icons/css.svg create mode 100644 assets/uswds/images/material-icons/currency_bitcoin.svg create mode 100644 assets/uswds/images/material-icons/currency_exchange.svg create mode 100644 assets/uswds/images/material-icons/currency_franc.svg create mode 100644 assets/uswds/images/material-icons/currency_lira.svg create mode 100644 assets/uswds/images/material-icons/currency_pound.svg create mode 100644 assets/uswds/images/material-icons/currency_ruble.svg create mode 100644 assets/uswds/images/material-icons/currency_rupee.svg create mode 100644 assets/uswds/images/material-icons/currency_yen.svg create mode 100644 assets/uswds/images/material-icons/currency_yuan.svg create mode 100644 assets/uswds/images/material-icons/curtains.svg create mode 100644 assets/uswds/images/material-icons/curtains_closed.svg create mode 100644 assets/uswds/images/material-icons/cyclone.svg create mode 100644 assets/uswds/images/material-icons/dangerous.svg create mode 100644 assets/uswds/images/material-icons/dark_mode.svg create mode 100644 assets/uswds/images/material-icons/dashboard.svg create mode 100644 assets/uswds/images/material-icons/dashboard_customize.svg create mode 100644 assets/uswds/images/material-icons/data_array.svg create mode 100644 assets/uswds/images/material-icons/data_exploration.svg create mode 100644 assets/uswds/images/material-icons/data_object.svg create mode 100644 assets/uswds/images/material-icons/data_saver_off.svg create mode 100644 assets/uswds/images/material-icons/data_saver_on.svg create mode 100644 assets/uswds/images/material-icons/data_thresholding.svg create mode 100644 assets/uswds/images/material-icons/data_usage.svg create mode 100644 assets/uswds/images/material-icons/dataset.svg create mode 100644 assets/uswds/images/material-icons/dataset_linked.svg create mode 100644 assets/uswds/images/material-icons/date_range.svg create mode 100644 assets/uswds/images/material-icons/deblur.svg create mode 100644 assets/uswds/images/material-icons/deck.svg create mode 100644 assets/uswds/images/material-icons/dehaze.svg create mode 100644 assets/uswds/images/material-icons/delete.svg create mode 100644 assets/uswds/images/material-icons/delete_forever.svg create mode 100644 assets/uswds/images/material-icons/delete_outline.svg create mode 100644 assets/uswds/images/material-icons/delete_sweep.svg create mode 100644 assets/uswds/images/material-icons/delivery_dining.svg create mode 100644 assets/uswds/images/material-icons/density_large.svg create mode 100644 assets/uswds/images/material-icons/density_medium.svg create mode 100644 assets/uswds/images/material-icons/density_small.svg create mode 100644 assets/uswds/images/material-icons/departure_board.svg create mode 100644 assets/uswds/images/material-icons/description.svg create mode 100644 assets/uswds/images/material-icons/deselect.svg create mode 100644 assets/uswds/images/material-icons/design_services.svg create mode 100644 assets/uswds/images/material-icons/desk.svg create mode 100644 assets/uswds/images/material-icons/desktop_access_disabled.svg create mode 100644 assets/uswds/images/material-icons/desktop_mac.svg create mode 100644 assets/uswds/images/material-icons/desktop_windows.svg create mode 100644 assets/uswds/images/material-icons/details.svg create mode 100644 assets/uswds/images/material-icons/developer_board.svg create mode 100644 assets/uswds/images/material-icons/developer_board_off.svg create mode 100644 assets/uswds/images/material-icons/developer_mode.svg create mode 100644 assets/uswds/images/material-icons/device_hub.svg create mode 100644 assets/uswds/images/material-icons/device_thermostat.svg create mode 100644 assets/uswds/images/material-icons/device_unknown.svg create mode 100644 assets/uswds/images/material-icons/devices.svg create mode 100644 assets/uswds/images/material-icons/devices_fold.svg create mode 100644 assets/uswds/images/material-icons/devices_other.svg create mode 100644 assets/uswds/images/material-icons/dialer_sip.svg create mode 100644 assets/uswds/images/material-icons/dialpad.svg create mode 100644 assets/uswds/images/material-icons/diamond.svg create mode 100644 assets/uswds/images/material-icons/difference.svg create mode 100644 assets/uswds/images/material-icons/dining.svg create mode 100644 assets/uswds/images/material-icons/dinner_dining.svg create mode 100644 assets/uswds/images/material-icons/directions.svg create mode 100644 assets/uswds/images/material-icons/directions_bike.svg create mode 100644 assets/uswds/images/material-icons/directions_boat.svg create mode 100644 assets/uswds/images/material-icons/directions_boat_filled.svg create mode 100644 assets/uswds/images/material-icons/directions_bus.svg create mode 100644 assets/uswds/images/material-icons/directions_bus_filled.svg create mode 100644 assets/uswds/images/material-icons/directions_car.svg create mode 100644 assets/uswds/images/material-icons/directions_car_filled.svg create mode 100644 assets/uswds/images/material-icons/directions_off.svg create mode 100644 assets/uswds/images/material-icons/directions_railway.svg create mode 100644 assets/uswds/images/material-icons/directions_railway_filled.svg create mode 100644 assets/uswds/images/material-icons/directions_run.svg create mode 100644 assets/uswds/images/material-icons/directions_subway.svg create mode 100644 assets/uswds/images/material-icons/directions_subway_filled.svg create mode 100644 assets/uswds/images/material-icons/directions_transit.svg create mode 100644 assets/uswds/images/material-icons/directions_transit_filled.svg create mode 100644 assets/uswds/images/material-icons/directions_walk.svg create mode 100644 assets/uswds/images/material-icons/dirty_lens.svg create mode 100644 assets/uswds/images/material-icons/disabled_by_default.svg create mode 100644 assets/uswds/images/material-icons/disabled_visible.svg create mode 100644 assets/uswds/images/material-icons/disc_full.svg create mode 100644 assets/uswds/images/material-icons/discount.svg create mode 100644 assets/uswds/images/material-icons/display_settings.svg create mode 100644 assets/uswds/images/material-icons/diversity_1.svg create mode 100644 assets/uswds/images/material-icons/diversity_2.svg create mode 100644 assets/uswds/images/material-icons/diversity_3.svg create mode 100644 assets/uswds/images/material-icons/dns.svg create mode 100644 assets/uswds/images/material-icons/do_disturb.svg create mode 100644 assets/uswds/images/material-icons/do_disturb_alt.svg create mode 100644 assets/uswds/images/material-icons/do_disturb_off.svg create mode 100644 assets/uswds/images/material-icons/do_disturb_on.svg create mode 100644 assets/uswds/images/material-icons/do_not_disturb.svg create mode 100644 assets/uswds/images/material-icons/do_not_disturb_alt.svg create mode 100644 assets/uswds/images/material-icons/do_not_disturb_off.svg create mode 100644 assets/uswds/images/material-icons/do_not_disturb_on.svg create mode 100644 assets/uswds/images/material-icons/do_not_disturb_on_total_silence.svg create mode 100644 assets/uswds/images/material-icons/do_not_step.svg create mode 100644 assets/uswds/images/material-icons/do_not_touch.svg create mode 100644 assets/uswds/images/material-icons/dock.svg create mode 100644 assets/uswds/images/material-icons/document_scanner.svg create mode 100644 assets/uswds/images/material-icons/domain.svg create mode 100644 assets/uswds/images/material-icons/domain_add.svg create mode 100644 assets/uswds/images/material-icons/domain_disabled.svg create mode 100644 assets/uswds/images/material-icons/domain_verification.svg create mode 100644 assets/uswds/images/material-icons/done.svg create mode 100644 assets/uswds/images/material-icons/done_all.svg create mode 100644 assets/uswds/images/material-icons/done_outline.svg create mode 100644 assets/uswds/images/material-icons/donut_large.svg create mode 100644 assets/uswds/images/material-icons/donut_small.svg create mode 100644 assets/uswds/images/material-icons/door_back.svg create mode 100644 assets/uswds/images/material-icons/door_front.svg create mode 100644 assets/uswds/images/material-icons/door_sliding.svg create mode 100644 assets/uswds/images/material-icons/doorbell.svg create mode 100644 assets/uswds/images/material-icons/double_arrow.svg create mode 100644 assets/uswds/images/material-icons/downhill_skiing.svg create mode 100644 assets/uswds/images/material-icons/download.svg create mode 100644 assets/uswds/images/material-icons/download_done.svg create mode 100644 assets/uswds/images/material-icons/download_for_offline.svg create mode 100644 assets/uswds/images/material-icons/downloading.svg create mode 100644 assets/uswds/images/material-icons/drafts.svg create mode 100644 assets/uswds/images/material-icons/drag_handle.svg create mode 100644 assets/uswds/images/material-icons/drag_indicator.svg create mode 100644 assets/uswds/images/material-icons/draw.svg create mode 100644 assets/uswds/images/material-icons/drive_eta.svg create mode 100644 assets/uswds/images/material-icons/drive_file_move.svg create mode 100644 assets/uswds/images/material-icons/drive_file_move_rtl.svg create mode 100644 assets/uswds/images/material-icons/drive_file_rename_outline.svg create mode 100644 assets/uswds/images/material-icons/drive_folder_upload.svg create mode 100644 assets/uswds/images/material-icons/dry.svg create mode 100644 assets/uswds/images/material-icons/dry_cleaning.svg create mode 100644 assets/uswds/images/material-icons/duo.svg create mode 100644 assets/uswds/images/material-icons/dvr.svg create mode 100644 assets/uswds/images/material-icons/dynamic_feed.svg create mode 100644 assets/uswds/images/material-icons/dynamic_form.svg create mode 100644 assets/uswds/images/material-icons/e_mobiledata.svg create mode 100644 assets/uswds/images/material-icons/earbuds.svg create mode 100644 assets/uswds/images/material-icons/earbuds_battery.svg create mode 100644 assets/uswds/images/material-icons/east.svg create mode 100644 assets/uswds/images/material-icons/edgesensor_high.svg create mode 100644 assets/uswds/images/material-icons/edgesensor_low.svg create mode 100644 assets/uswds/images/material-icons/edit.svg create mode 100644 assets/uswds/images/material-icons/edit_attributes.svg create mode 100644 assets/uswds/images/material-icons/edit_calendar.svg create mode 100644 assets/uswds/images/material-icons/edit_location.svg create mode 100644 assets/uswds/images/material-icons/edit_location_alt.svg create mode 100644 assets/uswds/images/material-icons/edit_note.svg create mode 100644 assets/uswds/images/material-icons/edit_notifications.svg create mode 100644 assets/uswds/images/material-icons/edit_off.svg create mode 100644 assets/uswds/images/material-icons/edit_road.svg create mode 100644 assets/uswds/images/material-icons/egg.svg create mode 100644 assets/uswds/images/material-icons/egg_alt.svg create mode 100644 assets/uswds/images/material-icons/eject.svg create mode 100644 assets/uswds/images/material-icons/elderly.svg create mode 100644 assets/uswds/images/material-icons/elderly_woman.svg create mode 100644 assets/uswds/images/material-icons/electric_bike.svg create mode 100644 assets/uswds/images/material-icons/electric_bolt.svg create mode 100644 assets/uswds/images/material-icons/electric_car.svg create mode 100644 assets/uswds/images/material-icons/electric_meter.svg create mode 100644 assets/uswds/images/material-icons/electric_moped.svg create mode 100644 assets/uswds/images/material-icons/electric_rickshaw.svg create mode 100644 assets/uswds/images/material-icons/electric_scooter.svg create mode 100644 assets/uswds/images/material-icons/electrical_services.svg create mode 100644 assets/uswds/images/material-icons/elevator.svg create mode 100644 assets/uswds/images/material-icons/email.svg create mode 100644 assets/uswds/images/material-icons/emergency.svg create mode 100644 assets/uswds/images/material-icons/emergency_recording.svg create mode 100644 assets/uswds/images/material-icons/emergency_share.svg create mode 100644 assets/uswds/images/material-icons/emoji_emotions.svg create mode 100644 assets/uswds/images/material-icons/emoji_events.svg create mode 100644 assets/uswds/images/material-icons/emoji_food_beverage.svg create mode 100644 assets/uswds/images/material-icons/emoji_nature.svg create mode 100644 assets/uswds/images/material-icons/emoji_objects.svg create mode 100644 assets/uswds/images/material-icons/emoji_people.svg create mode 100644 assets/uswds/images/material-icons/emoji_symbols.svg create mode 100644 assets/uswds/images/material-icons/emoji_transportation.svg create mode 100644 assets/uswds/images/material-icons/energy_savings_leaf.svg create mode 100644 assets/uswds/images/material-icons/engineering.svg create mode 100644 assets/uswds/images/material-icons/enhanced_encryption.svg create mode 100644 assets/uswds/images/material-icons/equalizer.svg create mode 100644 assets/uswds/images/material-icons/error.svg create mode 100644 assets/uswds/images/material-icons/error_outline.svg create mode 100644 assets/uswds/images/material-icons/escalator.svg create mode 100644 assets/uswds/images/material-icons/escalator_warning.svg create mode 100644 assets/uswds/images/material-icons/euro.svg create mode 100644 assets/uswds/images/material-icons/euro_symbol.svg create mode 100644 assets/uswds/images/material-icons/ev_station.svg create mode 100644 assets/uswds/images/material-icons/event.svg create mode 100644 assets/uswds/images/material-icons/event_available.svg create mode 100644 assets/uswds/images/material-icons/event_busy.svg create mode 100644 assets/uswds/images/material-icons/event_note.svg create mode 100644 assets/uswds/images/material-icons/event_repeat.svg create mode 100644 assets/uswds/images/material-icons/event_seat.svg create mode 100644 assets/uswds/images/material-icons/exit_to_app.svg create mode 100644 assets/uswds/images/material-icons/expand.svg create mode 100644 assets/uswds/images/material-icons/expand_circle_down.svg create mode 100644 assets/uswds/images/material-icons/expand_less.svg create mode 100644 assets/uswds/images/material-icons/expand_more.svg create mode 100644 assets/uswds/images/material-icons/explicit.svg create mode 100644 assets/uswds/images/material-icons/explore.svg create mode 100644 assets/uswds/images/material-icons/explore_off.svg create mode 100644 assets/uswds/images/material-icons/exposure.svg create mode 100644 assets/uswds/images/material-icons/exposure_neg_1.svg create mode 100644 assets/uswds/images/material-icons/exposure_neg_2.svg create mode 100644 assets/uswds/images/material-icons/exposure_plus_1.svg create mode 100644 assets/uswds/images/material-icons/exposure_plus_2.svg create mode 100644 assets/uswds/images/material-icons/exposure_zero.svg create mode 100644 assets/uswds/images/material-icons/extension.svg create mode 100644 assets/uswds/images/material-icons/extension_off.svg create mode 100644 assets/uswds/images/material-icons/face.svg create mode 100644 assets/uswds/images/material-icons/face_2.svg create mode 100644 assets/uswds/images/material-icons/face_3.svg create mode 100644 assets/uswds/images/material-icons/face_4.svg create mode 100644 assets/uswds/images/material-icons/face_5.svg create mode 100644 assets/uswds/images/material-icons/face_6.svg create mode 100644 assets/uswds/images/material-icons/face_retouching_natural.svg create mode 100644 assets/uswds/images/material-icons/face_retouching_off.svg create mode 100644 assets/uswds/images/material-icons/fact_check.svg create mode 100644 assets/uswds/images/material-icons/factory.svg create mode 100644 assets/uswds/images/material-icons/family_restroom.svg create mode 100644 assets/uswds/images/material-icons/fast_forward.svg create mode 100644 assets/uswds/images/material-icons/fast_rewind.svg create mode 100644 assets/uswds/images/material-icons/fastfood.svg create mode 100644 assets/uswds/images/material-icons/favorite.svg create mode 100644 assets/uswds/images/material-icons/favorite_border.svg create mode 100644 assets/uswds/images/material-icons/fax.svg create mode 100644 assets/uswds/images/material-icons/featured_play_list.svg create mode 100644 assets/uswds/images/material-icons/featured_video.svg create mode 100644 assets/uswds/images/material-icons/feed.svg create mode 100644 assets/uswds/images/material-icons/feedback.svg create mode 100644 assets/uswds/images/material-icons/female.svg create mode 100644 assets/uswds/images/material-icons/fence.svg create mode 100644 assets/uswds/images/material-icons/festival.svg create mode 100644 assets/uswds/images/material-icons/fiber_dvr.svg create mode 100644 assets/uswds/images/material-icons/fiber_manual_record.svg create mode 100644 assets/uswds/images/material-icons/fiber_new.svg create mode 100644 assets/uswds/images/material-icons/fiber_pin.svg create mode 100644 assets/uswds/images/material-icons/fiber_smart_record.svg create mode 100644 assets/uswds/images/material-icons/file_copy.svg create mode 100644 assets/uswds/images/material-icons/file_download.svg create mode 100644 assets/uswds/images/material-icons/file_download_done.svg create mode 100644 assets/uswds/images/material-icons/file_download_off.svg create mode 100644 assets/uswds/images/material-icons/file_open.svg create mode 100644 assets/uswds/images/material-icons/file_present.svg create mode 100644 assets/uswds/images/material-icons/file_upload.svg create mode 100644 assets/uswds/images/material-icons/filter.svg create mode 100644 assets/uswds/images/material-icons/filter_1.svg create mode 100644 assets/uswds/images/material-icons/filter_2.svg create mode 100644 assets/uswds/images/material-icons/filter_3.svg create mode 100644 assets/uswds/images/material-icons/filter_4.svg create mode 100644 assets/uswds/images/material-icons/filter_5.svg create mode 100644 assets/uswds/images/material-icons/filter_6.svg create mode 100644 assets/uswds/images/material-icons/filter_7.svg create mode 100644 assets/uswds/images/material-icons/filter_8.svg create mode 100644 assets/uswds/images/material-icons/filter_9.svg create mode 100644 assets/uswds/images/material-icons/filter_9_plus.svg create mode 100644 assets/uswds/images/material-icons/filter_alt.svg create mode 100644 assets/uswds/images/material-icons/filter_alt_off.svg create mode 100644 assets/uswds/images/material-icons/filter_b_and_w.svg create mode 100644 assets/uswds/images/material-icons/filter_center_focus.svg create mode 100644 assets/uswds/images/material-icons/filter_drama.svg create mode 100644 assets/uswds/images/material-icons/filter_frames.svg create mode 100644 assets/uswds/images/material-icons/filter_hdr.svg create mode 100644 assets/uswds/images/material-icons/filter_list.svg create mode 100644 assets/uswds/images/material-icons/filter_list_off.svg create mode 100644 assets/uswds/images/material-icons/filter_none.svg create mode 100644 assets/uswds/images/material-icons/filter_tilt_shift.svg create mode 100644 assets/uswds/images/material-icons/filter_vintage.svg create mode 100644 assets/uswds/images/material-icons/find_in_page.svg create mode 100644 assets/uswds/images/material-icons/find_replace.svg create mode 100644 assets/uswds/images/material-icons/fingerprint.svg create mode 100644 assets/uswds/images/material-icons/fire_extinguisher.svg create mode 100644 assets/uswds/images/material-icons/fire_hydrant_alt.svg create mode 100644 assets/uswds/images/material-icons/fire_truck.svg create mode 100644 assets/uswds/images/material-icons/fireplace.svg create mode 100644 assets/uswds/images/material-icons/first_page.svg create mode 100644 assets/uswds/images/material-icons/fit_screen.svg create mode 100644 assets/uswds/images/material-icons/fitbit.svg create mode 100644 assets/uswds/images/material-icons/fitness_center.svg create mode 100644 assets/uswds/images/material-icons/flag.svg create mode 100644 assets/uswds/images/material-icons/flag_circle.svg create mode 100644 assets/uswds/images/material-icons/flaky.svg create mode 100644 assets/uswds/images/material-icons/flare.svg create mode 100644 assets/uswds/images/material-icons/flash_auto.svg create mode 100644 assets/uswds/images/material-icons/flash_off.svg create mode 100644 assets/uswds/images/material-icons/flash_on.svg create mode 100644 assets/uswds/images/material-icons/flashlight_off.svg create mode 100644 assets/uswds/images/material-icons/flashlight_on.svg create mode 100644 assets/uswds/images/material-icons/flatware.svg create mode 100644 assets/uswds/images/material-icons/flight.svg create mode 100644 assets/uswds/images/material-icons/flight_class.svg create mode 100644 assets/uswds/images/material-icons/flight_land.svg create mode 100644 assets/uswds/images/material-icons/flight_takeoff.svg create mode 100644 assets/uswds/images/material-icons/flip.svg create mode 100644 assets/uswds/images/material-icons/flip_camera_android.svg create mode 100644 assets/uswds/images/material-icons/flip_camera_ios.svg create mode 100644 assets/uswds/images/material-icons/flip_to_back.svg create mode 100644 assets/uswds/images/material-icons/flip_to_front.svg create mode 100644 assets/uswds/images/material-icons/flood.svg create mode 100644 assets/uswds/images/material-icons/fluorescent.svg create mode 100644 assets/uswds/images/material-icons/flutter_dash.svg create mode 100644 assets/uswds/images/material-icons/fmd_bad.svg create mode 100644 assets/uswds/images/material-icons/fmd_good.svg create mode 100644 assets/uswds/images/material-icons/folder.svg create mode 100644 assets/uswds/images/material-icons/folder_copy.svg create mode 100644 assets/uswds/images/material-icons/folder_delete.svg create mode 100644 assets/uswds/images/material-icons/folder_off.svg create mode 100644 assets/uswds/images/material-icons/folder_open.svg create mode 100644 assets/uswds/images/material-icons/folder_shared.svg create mode 100644 assets/uswds/images/material-icons/folder_special.svg create mode 100644 assets/uswds/images/material-icons/folder_zip.svg create mode 100644 assets/uswds/images/material-icons/follow_the_signs.svg create mode 100644 assets/uswds/images/material-icons/font_download.svg create mode 100644 assets/uswds/images/material-icons/font_download_off.svg create mode 100644 assets/uswds/images/material-icons/food_bank.svg create mode 100644 assets/uswds/images/material-icons/forest.svg create mode 100644 assets/uswds/images/material-icons/fork_left.svg create mode 100644 assets/uswds/images/material-icons/fork_right.svg create mode 100644 assets/uswds/images/material-icons/format_align_center.svg create mode 100644 assets/uswds/images/material-icons/format_align_justify.svg create mode 100644 assets/uswds/images/material-icons/format_align_left.svg create mode 100644 assets/uswds/images/material-icons/format_align_right.svg create mode 100644 assets/uswds/images/material-icons/format_bold.svg create mode 100644 assets/uswds/images/material-icons/format_clear.svg create mode 100644 assets/uswds/images/material-icons/format_color_fill.svg create mode 100644 assets/uswds/images/material-icons/format_color_reset.svg create mode 100644 assets/uswds/images/material-icons/format_color_text.svg create mode 100644 assets/uswds/images/material-icons/format_indent_decrease.svg create mode 100644 assets/uswds/images/material-icons/format_indent_increase.svg create mode 100644 assets/uswds/images/material-icons/format_italic.svg create mode 100644 assets/uswds/images/material-icons/format_line_spacing.svg create mode 100644 assets/uswds/images/material-icons/format_list_bulleted.svg create mode 100644 assets/uswds/images/material-icons/format_list_numbered.svg create mode 100644 assets/uswds/images/material-icons/format_list_numbered_rtl.svg create mode 100644 assets/uswds/images/material-icons/format_overline.svg create mode 100644 assets/uswds/images/material-icons/format_paint.svg create mode 100644 assets/uswds/images/material-icons/format_quote.svg create mode 100644 assets/uswds/images/material-icons/format_shapes.svg create mode 100644 assets/uswds/images/material-icons/format_size.svg create mode 100644 assets/uswds/images/material-icons/format_strikethrough.svg create mode 100644 assets/uswds/images/material-icons/format_textdirection_l_to_r.svg create mode 100644 assets/uswds/images/material-icons/format_textdirection_r_to_l.svg create mode 100644 assets/uswds/images/material-icons/format_underlined.svg create mode 100644 assets/uswds/images/material-icons/fort.svg create mode 100644 assets/uswds/images/material-icons/forum.svg create mode 100644 assets/uswds/images/material-icons/forward.svg create mode 100644 assets/uswds/images/material-icons/forward_10.svg create mode 100644 assets/uswds/images/material-icons/forward_30.svg create mode 100644 assets/uswds/images/material-icons/forward_5.svg create mode 100644 assets/uswds/images/material-icons/forward_to_inbox.svg create mode 100644 assets/uswds/images/material-icons/foundation.svg create mode 100644 assets/uswds/images/material-icons/free_breakfast.svg create mode 100644 assets/uswds/images/material-icons/free_cancellation.svg create mode 100644 assets/uswds/images/material-icons/front_hand.svg create mode 100644 assets/uswds/images/material-icons/fullscreen.svg create mode 100644 assets/uswds/images/material-icons/fullscreen_exit.svg create mode 100644 assets/uswds/images/material-icons/functions.svg create mode 100644 assets/uswds/images/material-icons/g_mobiledata.svg create mode 100644 assets/uswds/images/material-icons/g_translate.svg create mode 100644 assets/uswds/images/material-icons/gamepad.svg create mode 100644 assets/uswds/images/material-icons/games.svg create mode 100644 assets/uswds/images/material-icons/garage.svg create mode 100644 assets/uswds/images/material-icons/gas_meter.svg create mode 100644 assets/uswds/images/material-icons/gavel.svg create mode 100644 assets/uswds/images/material-icons/generating_tokens.svg create mode 100644 assets/uswds/images/material-icons/gesture.svg create mode 100644 assets/uswds/images/material-icons/get_app.svg create mode 100644 assets/uswds/images/material-icons/gif.svg create mode 100644 assets/uswds/images/material-icons/gif_box.svg create mode 100644 assets/uswds/images/material-icons/girl.svg create mode 100644 assets/uswds/images/material-icons/gite.svg create mode 100644 assets/uswds/images/material-icons/golf_course.svg create mode 100644 assets/uswds/images/material-icons/gpp_bad.svg create mode 100644 assets/uswds/images/material-icons/gpp_good.svg create mode 100644 assets/uswds/images/material-icons/gpp_maybe.svg create mode 100644 assets/uswds/images/material-icons/gps_fixed.svg create mode 100644 assets/uswds/images/material-icons/gps_not_fixed.svg create mode 100644 assets/uswds/images/material-icons/gps_off.svg create mode 100644 assets/uswds/images/material-icons/grade.svg create mode 100644 assets/uswds/images/material-icons/gradient.svg create mode 100644 assets/uswds/images/material-icons/grading.svg create mode 100644 assets/uswds/images/material-icons/grain.svg create mode 100644 assets/uswds/images/material-icons/graphic_eq.svg create mode 100644 assets/uswds/images/material-icons/grass.svg create mode 100644 assets/uswds/images/material-icons/grid_3x3.svg create mode 100644 assets/uswds/images/material-icons/grid_4x4.svg create mode 100644 assets/uswds/images/material-icons/grid_goldenratio.svg create mode 100644 assets/uswds/images/material-icons/grid_off.svg create mode 100644 assets/uswds/images/material-icons/grid_on.svg create mode 100644 assets/uswds/images/material-icons/grid_view.svg create mode 100644 assets/uswds/images/material-icons/group.svg create mode 100644 assets/uswds/images/material-icons/group_add.svg create mode 100644 assets/uswds/images/material-icons/group_off.svg create mode 100644 assets/uswds/images/material-icons/group_remove.svg create mode 100644 assets/uswds/images/material-icons/group_work.svg create mode 100644 assets/uswds/images/material-icons/groups.svg create mode 100644 assets/uswds/images/material-icons/groups_2.svg create mode 100644 assets/uswds/images/material-icons/groups_3.svg create mode 100644 assets/uswds/images/material-icons/h_mobiledata.svg create mode 100644 assets/uswds/images/material-icons/h_plus_mobiledata.svg create mode 100644 assets/uswds/images/material-icons/hail.svg create mode 100644 assets/uswds/images/material-icons/handshake.svg create mode 100644 assets/uswds/images/material-icons/handyman.svg create mode 100644 assets/uswds/images/material-icons/hardware.svg create mode 100644 assets/uswds/images/material-icons/hd.svg create mode 100644 assets/uswds/images/material-icons/hdr_auto.svg create mode 100644 assets/uswds/images/material-icons/hdr_auto_select.svg create mode 100644 assets/uswds/images/material-icons/hdr_enhanced_select.svg create mode 100644 assets/uswds/images/material-icons/hdr_off.svg create mode 100644 assets/uswds/images/material-icons/hdr_off_select.svg create mode 100644 assets/uswds/images/material-icons/hdr_on.svg create mode 100644 assets/uswds/images/material-icons/hdr_on_select.svg create mode 100644 assets/uswds/images/material-icons/hdr_plus.svg create mode 100644 assets/uswds/images/material-icons/hdr_strong.svg create mode 100644 assets/uswds/images/material-icons/hdr_weak.svg create mode 100644 assets/uswds/images/material-icons/headphones.svg create mode 100644 assets/uswds/images/material-icons/headphones_battery.svg create mode 100644 assets/uswds/images/material-icons/headset.svg create mode 100644 assets/uswds/images/material-icons/headset_mic.svg create mode 100644 assets/uswds/images/material-icons/headset_off.svg create mode 100644 assets/uswds/images/material-icons/healing.svg create mode 100644 assets/uswds/images/material-icons/health_and_safety.svg create mode 100644 assets/uswds/images/material-icons/hearing.svg create mode 100644 assets/uswds/images/material-icons/hearing_disabled.svg create mode 100644 assets/uswds/images/material-icons/heart_broken.svg create mode 100644 assets/uswds/images/material-icons/heat_pump.svg create mode 100644 assets/uswds/images/material-icons/height.svg create mode 100644 assets/uswds/images/material-icons/help.svg create mode 100644 assets/uswds/images/material-icons/help_center.svg create mode 100644 assets/uswds/images/material-icons/help_outline.svg create mode 100644 assets/uswds/images/material-icons/hevc.svg create mode 100644 assets/uswds/images/material-icons/hexagon.svg create mode 100644 assets/uswds/images/material-icons/hide_image.svg create mode 100644 assets/uswds/images/material-icons/hide_source.svg create mode 100644 assets/uswds/images/material-icons/high_quality.svg create mode 100644 assets/uswds/images/material-icons/highlight.svg create mode 100644 assets/uswds/images/material-icons/highlight_alt.svg create mode 100644 assets/uswds/images/material-icons/highlight_off.svg create mode 100644 assets/uswds/images/material-icons/hiking.svg create mode 100644 assets/uswds/images/material-icons/history.svg create mode 100644 assets/uswds/images/material-icons/history_edu.svg create mode 100644 assets/uswds/images/material-icons/history_toggle_off.svg create mode 100644 assets/uswds/images/material-icons/hive.svg create mode 100644 assets/uswds/images/material-icons/hls.svg create mode 100644 assets/uswds/images/material-icons/hls_off.svg create mode 100644 assets/uswds/images/material-icons/holiday_village.svg create mode 100644 assets/uswds/images/material-icons/home.svg create mode 100644 assets/uswds/images/material-icons/home_max.svg create mode 100644 assets/uswds/images/material-icons/home_mini.svg create mode 100644 assets/uswds/images/material-icons/home_repair_service.svg create mode 100644 assets/uswds/images/material-icons/home_work.svg create mode 100644 assets/uswds/images/material-icons/horizontal_distribute.svg create mode 100644 assets/uswds/images/material-icons/horizontal_rule.svg create mode 100644 assets/uswds/images/material-icons/horizontal_split.svg create mode 100644 assets/uswds/images/material-icons/hot_tub.svg create mode 100644 assets/uswds/images/material-icons/hotel.svg create mode 100644 assets/uswds/images/material-icons/hotel_class.svg create mode 100644 assets/uswds/images/material-icons/hourglass_bottom.svg create mode 100644 assets/uswds/images/material-icons/hourglass_disabled.svg create mode 100644 assets/uswds/images/material-icons/hourglass_empty.svg create mode 100644 assets/uswds/images/material-icons/hourglass_full.svg create mode 100644 assets/uswds/images/material-icons/hourglass_top.svg create mode 100644 assets/uswds/images/material-icons/house.svg create mode 100644 assets/uswds/images/material-icons/house_siding.svg create mode 100644 assets/uswds/images/material-icons/houseboat.svg create mode 100644 assets/uswds/images/material-icons/how_to_reg.svg create mode 100644 assets/uswds/images/material-icons/how_to_vote.svg create mode 100644 assets/uswds/images/material-icons/html.svg create mode 100644 assets/uswds/images/material-icons/http.svg create mode 100644 assets/uswds/images/material-icons/https.svg create mode 100644 assets/uswds/images/material-icons/hub.svg create mode 100644 assets/uswds/images/material-icons/hvac.svg create mode 100644 assets/uswds/images/material-icons/ice_skating.svg create mode 100644 assets/uswds/images/material-icons/icecream.svg create mode 100644 assets/uswds/images/material-icons/image.svg create mode 100644 assets/uswds/images/material-icons/image_aspect_ratio.svg create mode 100644 assets/uswds/images/material-icons/image_not_supported.svg create mode 100644 assets/uswds/images/material-icons/image_search.svg create mode 100644 assets/uswds/images/material-icons/imagesearch_roller.svg create mode 100644 assets/uswds/images/material-icons/import_contacts.svg create mode 100644 assets/uswds/images/material-icons/import_export.svg create mode 100644 assets/uswds/images/material-icons/important_devices.svg create mode 100644 assets/uswds/images/material-icons/inbox.svg create mode 100644 assets/uswds/images/material-icons/incomplete_circle.svg create mode 100644 assets/uswds/images/material-icons/indeterminate_check_box.svg create mode 100644 assets/uswds/images/material-icons/info.svg create mode 100644 assets/uswds/images/material-icons/input.svg create mode 100644 assets/uswds/images/material-icons/insert_chart.svg create mode 100644 assets/uswds/images/material-icons/insert_chart_outlined.svg create mode 100644 assets/uswds/images/material-icons/insert_comment.svg create mode 100644 assets/uswds/images/material-icons/insert_drive_file.svg create mode 100644 assets/uswds/images/material-icons/insert_emoticon.svg create mode 100644 assets/uswds/images/material-icons/insert_invitation.svg create mode 100644 assets/uswds/images/material-icons/insert_link.svg create mode 100644 assets/uswds/images/material-icons/insert_page_break.svg create mode 100644 assets/uswds/images/material-icons/insert_photo.svg create mode 100644 assets/uswds/images/material-icons/insights.svg create mode 100644 assets/uswds/images/material-icons/install_desktop.svg create mode 100644 assets/uswds/images/material-icons/install_mobile.svg create mode 100644 assets/uswds/images/material-icons/integration_instructions.svg create mode 100644 assets/uswds/images/material-icons/interests.svg create mode 100644 assets/uswds/images/material-icons/interpreter_mode.svg create mode 100644 assets/uswds/images/material-icons/inventory.svg create mode 100644 assets/uswds/images/material-icons/inventory_2.svg create mode 100644 assets/uswds/images/material-icons/invert_colors.svg create mode 100644 assets/uswds/images/material-icons/invert_colors_off.svg create mode 100644 assets/uswds/images/material-icons/ios_share.svg create mode 100644 assets/uswds/images/material-icons/iron.svg create mode 100644 assets/uswds/images/material-icons/iso.svg create mode 100644 assets/uswds/images/material-icons/javascript.svg create mode 100644 assets/uswds/images/material-icons/join_full.svg create mode 100644 assets/uswds/images/material-icons/join_inner.svg create mode 100644 assets/uswds/images/material-icons/join_left.svg create mode 100644 assets/uswds/images/material-icons/join_right.svg create mode 100644 assets/uswds/images/material-icons/kayaking.svg create mode 100644 assets/uswds/images/material-icons/kebab_dining.svg create mode 100644 assets/uswds/images/material-icons/key.svg create mode 100644 assets/uswds/images/material-icons/key_off.svg create mode 100644 assets/uswds/images/material-icons/keyboard.svg create mode 100644 assets/uswds/images/material-icons/keyboard_alt.svg create mode 100644 assets/uswds/images/material-icons/keyboard_arrow_down.svg create mode 100644 assets/uswds/images/material-icons/keyboard_arrow_left.svg create mode 100644 assets/uswds/images/material-icons/keyboard_arrow_right.svg create mode 100644 assets/uswds/images/material-icons/keyboard_arrow_up.svg create mode 100644 assets/uswds/images/material-icons/keyboard_backspace.svg create mode 100644 assets/uswds/images/material-icons/keyboard_capslock.svg create mode 100644 assets/uswds/images/material-icons/keyboard_command_key.svg create mode 100644 assets/uswds/images/material-icons/keyboard_control_key.svg create mode 100644 assets/uswds/images/material-icons/keyboard_double_arrow_down.svg create mode 100644 assets/uswds/images/material-icons/keyboard_double_arrow_left.svg create mode 100644 assets/uswds/images/material-icons/keyboard_double_arrow_right.svg create mode 100644 assets/uswds/images/material-icons/keyboard_double_arrow_up.svg create mode 100644 assets/uswds/images/material-icons/keyboard_hide.svg create mode 100644 assets/uswds/images/material-icons/keyboard_option_key.svg create mode 100644 assets/uswds/images/material-icons/keyboard_return.svg create mode 100644 assets/uswds/images/material-icons/keyboard_tab.svg create mode 100644 assets/uswds/images/material-icons/keyboard_voice.svg create mode 100644 assets/uswds/images/material-icons/king_bed.svg create mode 100644 assets/uswds/images/material-icons/kitchen.svg create mode 100644 assets/uswds/images/material-icons/kitesurfing.svg create mode 100644 assets/uswds/images/material-icons/label.svg create mode 100644 assets/uswds/images/material-icons/label_important.svg create mode 100644 assets/uswds/images/material-icons/label_off.svg create mode 100644 assets/uswds/images/material-icons/lan.svg create mode 100644 assets/uswds/images/material-icons/landscape.svg create mode 100644 assets/uswds/images/material-icons/landslide.svg create mode 100644 assets/uswds/images/material-icons/language.svg create mode 100644 assets/uswds/images/material-icons/laptop.svg create mode 100644 assets/uswds/images/material-icons/laptop_chromebook.svg create mode 100644 assets/uswds/images/material-icons/laptop_mac.svg create mode 100644 assets/uswds/images/material-icons/laptop_windows.svg create mode 100644 assets/uswds/images/material-icons/last_page.svg create mode 100644 assets/uswds/images/material-icons/launch.svg create mode 100644 assets/uswds/images/material-icons/layers.svg create mode 100644 assets/uswds/images/material-icons/layers_clear.svg create mode 100644 assets/uswds/images/material-icons/leaderboard.svg create mode 100644 assets/uswds/images/material-icons/leak_add.svg create mode 100644 assets/uswds/images/material-icons/leak_remove.svg create mode 100644 assets/uswds/images/material-icons/legend_toggle.svg create mode 100644 assets/uswds/images/material-icons/lens.svg create mode 100644 assets/uswds/images/material-icons/lens_blur.svg create mode 100644 assets/uswds/images/material-icons/library_add.svg create mode 100644 assets/uswds/images/material-icons/library_add_check.svg create mode 100644 assets/uswds/images/material-icons/library_books.svg create mode 100644 assets/uswds/images/material-icons/library_music.svg create mode 100644 assets/uswds/images/material-icons/light.svg create mode 100644 assets/uswds/images/material-icons/light_mode.svg create mode 100644 assets/uswds/images/material-icons/lightbulb.svg create mode 100644 assets/uswds/images/material-icons/lightbulb_circle.svg create mode 100644 assets/uswds/images/material-icons/line_axis.svg create mode 100644 assets/uswds/images/material-icons/line_style.svg create mode 100644 assets/uswds/images/material-icons/line_weight.svg create mode 100644 assets/uswds/images/material-icons/linear_scale.svg create mode 100644 assets/uswds/images/material-icons/link.svg create mode 100644 assets/uswds/images/material-icons/link_off.svg create mode 100644 assets/uswds/images/material-icons/linked_camera.svg create mode 100644 assets/uswds/images/material-icons/liquor.svg create mode 100644 assets/uswds/images/material-icons/list.svg create mode 100644 assets/uswds/images/material-icons/list_alt.svg create mode 100644 assets/uswds/images/material-icons/live_help.svg create mode 100644 assets/uswds/images/material-icons/live_tv.svg create mode 100644 assets/uswds/images/material-icons/living.svg create mode 100644 assets/uswds/images/material-icons/local_activity.svg create mode 100644 assets/uswds/images/material-icons/local_airport.svg create mode 100644 assets/uswds/images/material-icons/local_atm.svg create mode 100644 assets/uswds/images/material-icons/local_bar.svg create mode 100644 assets/uswds/images/material-icons/local_cafe.svg create mode 100644 assets/uswds/images/material-icons/local_car_wash.svg create mode 100644 assets/uswds/images/material-icons/local_convenience_store.svg create mode 100644 assets/uswds/images/material-icons/local_dining.svg create mode 100644 assets/uswds/images/material-icons/local_drink.svg create mode 100644 assets/uswds/images/material-icons/local_fire_department.svg create mode 100644 assets/uswds/images/material-icons/local_florist.svg create mode 100644 assets/uswds/images/material-icons/local_gas_station.svg create mode 100644 assets/uswds/images/material-icons/local_grocery_store.svg create mode 100644 assets/uswds/images/material-icons/local_hospital.svg create mode 100644 assets/uswds/images/material-icons/local_hotel.svg create mode 100644 assets/uswds/images/material-icons/local_laundry_service.svg create mode 100644 assets/uswds/images/material-icons/local_library.svg create mode 100644 assets/uswds/images/material-icons/local_mall.svg create mode 100644 assets/uswds/images/material-icons/local_movies.svg create mode 100644 assets/uswds/images/material-icons/local_offer.svg create mode 100644 assets/uswds/images/material-icons/local_parking.svg create mode 100644 assets/uswds/images/material-icons/local_pharmacy.svg create mode 100644 assets/uswds/images/material-icons/local_phone.svg create mode 100644 assets/uswds/images/material-icons/local_pizza.svg create mode 100644 assets/uswds/images/material-icons/local_play.svg create mode 100644 assets/uswds/images/material-icons/local_police.svg create mode 100644 assets/uswds/images/material-icons/local_post_office.svg create mode 100644 assets/uswds/images/material-icons/local_printshop.svg create mode 100644 assets/uswds/images/material-icons/local_see.svg create mode 100644 assets/uswds/images/material-icons/local_shipping.svg create mode 100644 assets/uswds/images/material-icons/local_taxi.svg create mode 100644 assets/uswds/images/material-icons/location_city.svg create mode 100644 assets/uswds/images/material-icons/location_disabled.svg create mode 100644 assets/uswds/images/material-icons/location_off.svg create mode 100644 assets/uswds/images/material-icons/location_on.svg create mode 100644 assets/uswds/images/material-icons/location_searching.svg create mode 100644 assets/uswds/images/material-icons/lock.svg create mode 100644 assets/uswds/images/material-icons/lock_clock.svg create mode 100644 assets/uswds/images/material-icons/lock_open.svg create mode 100644 assets/uswds/images/material-icons/lock_person.svg create mode 100644 assets/uswds/images/material-icons/lock_reset.svg create mode 100644 assets/uswds/images/material-icons/login.svg create mode 100644 assets/uswds/images/material-icons/logo_dev.svg create mode 100644 assets/uswds/images/material-icons/logout.svg create mode 100644 assets/uswds/images/material-icons/looks.svg create mode 100644 assets/uswds/images/material-icons/looks_3.svg create mode 100644 assets/uswds/images/material-icons/looks_4.svg create mode 100644 assets/uswds/images/material-icons/looks_5.svg create mode 100644 assets/uswds/images/material-icons/looks_6.svg create mode 100644 assets/uswds/images/material-icons/looks_one.svg create mode 100644 assets/uswds/images/material-icons/looks_two.svg create mode 100644 assets/uswds/images/material-icons/loop.svg create mode 100644 assets/uswds/images/material-icons/loupe.svg create mode 100644 assets/uswds/images/material-icons/low_priority.svg create mode 100644 assets/uswds/images/material-icons/loyalty.svg create mode 100644 assets/uswds/images/material-icons/lte_mobiledata.svg create mode 100644 assets/uswds/images/material-icons/lte_plus_mobiledata.svg create mode 100644 assets/uswds/images/material-icons/luggage.svg create mode 100644 assets/uswds/images/material-icons/lunch_dining.svg create mode 100644 assets/uswds/images/material-icons/lyrics.svg create mode 100644 assets/uswds/images/material-icons/macro_off.svg create mode 100644 assets/uswds/images/material-icons/mail.svg create mode 100644 assets/uswds/images/material-icons/mail_lock.svg create mode 100644 assets/uswds/images/material-icons/mail_outline.svg create mode 100644 assets/uswds/images/material-icons/male.svg create mode 100644 assets/uswds/images/material-icons/man.svg create mode 100644 assets/uswds/images/material-icons/man_2.svg create mode 100644 assets/uswds/images/material-icons/man_3.svg create mode 100644 assets/uswds/images/material-icons/man_4.svg create mode 100644 assets/uswds/images/material-icons/manage_accounts.svg create mode 100644 assets/uswds/images/material-icons/manage_history.svg create mode 100644 assets/uswds/images/material-icons/manage_search.svg create mode 100644 assets/uswds/images/material-icons/map.svg create mode 100644 assets/uswds/images/material-icons/maps_home_work.svg create mode 100644 assets/uswds/images/material-icons/maps_ugc.svg create mode 100644 assets/uswds/images/material-icons/margin.svg create mode 100644 assets/uswds/images/material-icons/mark_as_unread.svg create mode 100644 assets/uswds/images/material-icons/mark_chat_read.svg create mode 100644 assets/uswds/images/material-icons/mark_chat_unread.svg create mode 100644 assets/uswds/images/material-icons/mark_email_read.svg create mode 100644 assets/uswds/images/material-icons/mark_email_unread.svg create mode 100644 assets/uswds/images/material-icons/mark_unread_chat_alt.svg create mode 100644 assets/uswds/images/material-icons/markunread.svg create mode 100644 assets/uswds/images/material-icons/markunread_mailbox.svg create mode 100644 assets/uswds/images/material-icons/masks.svg create mode 100644 assets/uswds/images/material-icons/maximize.svg create mode 100644 assets/uswds/images/material-icons/media_bluetooth_off.svg create mode 100644 assets/uswds/images/material-icons/media_bluetooth_on.svg create mode 100644 assets/uswds/images/material-icons/mediation.svg create mode 100644 assets/uswds/images/material-icons/medical_information.svg create mode 100644 assets/uswds/images/material-icons/medical_services.svg create mode 100644 assets/uswds/images/material-icons/medication.svg create mode 100644 assets/uswds/images/material-icons/medication_liquid.svg create mode 100644 assets/uswds/images/material-icons/meeting_room.svg create mode 100644 assets/uswds/images/material-icons/memory.svg create mode 100644 assets/uswds/images/material-icons/menu.svg create mode 100644 assets/uswds/images/material-icons/menu_book.svg create mode 100644 assets/uswds/images/material-icons/menu_open.svg create mode 100644 assets/uswds/images/material-icons/merge.svg create mode 100644 assets/uswds/images/material-icons/merge_type.svg create mode 100644 assets/uswds/images/material-icons/message.svg create mode 100644 assets/uswds/images/material-icons/mic.svg create mode 100644 assets/uswds/images/material-icons/mic_external_off.svg create mode 100644 assets/uswds/images/material-icons/mic_external_on.svg create mode 100644 assets/uswds/images/material-icons/mic_none.svg create mode 100644 assets/uswds/images/material-icons/mic_off.svg create mode 100644 assets/uswds/images/material-icons/microwave.svg create mode 100644 assets/uswds/images/material-icons/military_tech.svg create mode 100644 assets/uswds/images/material-icons/minimize.svg create mode 100644 assets/uswds/images/material-icons/minor_crash.svg create mode 100644 assets/uswds/images/material-icons/miscellaneous_services.svg create mode 100644 assets/uswds/images/material-icons/missed_video_call.svg create mode 100644 assets/uswds/images/material-icons/mms.svg create mode 100644 assets/uswds/images/material-icons/mobile_friendly.svg create mode 100644 assets/uswds/images/material-icons/mobile_off.svg create mode 100644 assets/uswds/images/material-icons/mobile_screen_share.svg create mode 100644 assets/uswds/images/material-icons/mobiledata_off.svg create mode 100644 assets/uswds/images/material-icons/mode.svg create mode 100644 assets/uswds/images/material-icons/mode_comment.svg create mode 100644 assets/uswds/images/material-icons/mode_edit.svg create mode 100644 assets/uswds/images/material-icons/mode_edit_outline.svg create mode 100644 assets/uswds/images/material-icons/mode_fan_off.svg create mode 100644 assets/uswds/images/material-icons/mode_night.svg create mode 100644 assets/uswds/images/material-icons/mode_of_travel.svg create mode 100644 assets/uswds/images/material-icons/mode_standby.svg create mode 100644 assets/uswds/images/material-icons/model_training.svg create mode 100644 assets/uswds/images/material-icons/monetization_on.svg create mode 100644 assets/uswds/images/material-icons/money.svg create mode 100644 assets/uswds/images/material-icons/money_off.svg create mode 100644 assets/uswds/images/material-icons/money_off_csred.svg create mode 100644 assets/uswds/images/material-icons/monitor.svg create mode 100644 assets/uswds/images/material-icons/monitor_heart.svg create mode 100644 assets/uswds/images/material-icons/monitor_weight.svg create mode 100644 assets/uswds/images/material-icons/monochrome_photos.svg create mode 100644 assets/uswds/images/material-icons/mood.svg create mode 100644 assets/uswds/images/material-icons/mood_bad.svg create mode 100644 assets/uswds/images/material-icons/moped.svg create mode 100644 assets/uswds/images/material-icons/more.svg create mode 100644 assets/uswds/images/material-icons/more_horiz.svg create mode 100644 assets/uswds/images/material-icons/more_time.svg create mode 100644 assets/uswds/images/material-icons/more_vert.svg create mode 100644 assets/uswds/images/material-icons/mosque.svg create mode 100644 assets/uswds/images/material-icons/motion_photos_auto.svg create mode 100644 assets/uswds/images/material-icons/motion_photos_off.svg create mode 100644 assets/uswds/images/material-icons/motion_photos_on.svg create mode 100644 assets/uswds/images/material-icons/motion_photos_pause.svg create mode 100644 assets/uswds/images/material-icons/motion_photos_paused.svg create mode 100644 assets/uswds/images/material-icons/mouse.svg create mode 100644 assets/uswds/images/material-icons/move_down.svg create mode 100644 assets/uswds/images/material-icons/move_to_inbox.svg create mode 100644 assets/uswds/images/material-icons/move_up.svg create mode 100644 assets/uswds/images/material-icons/movie.svg create mode 100644 assets/uswds/images/material-icons/movie_creation.svg create mode 100644 assets/uswds/images/material-icons/movie_filter.svg create mode 100644 assets/uswds/images/material-icons/moving.svg create mode 100644 assets/uswds/images/material-icons/mp.svg create mode 100644 assets/uswds/images/material-icons/multiline_chart.svg create mode 100644 assets/uswds/images/material-icons/multiple_stop.svg create mode 100644 assets/uswds/images/material-icons/museum.svg create mode 100644 assets/uswds/images/material-icons/music_note.svg create mode 100644 assets/uswds/images/material-icons/music_off.svg create mode 100644 assets/uswds/images/material-icons/music_video.svg create mode 100644 assets/uswds/images/material-icons/my_location.svg create mode 100644 assets/uswds/images/material-icons/nat.svg create mode 100644 assets/uswds/images/material-icons/nature.svg create mode 100644 assets/uswds/images/material-icons/nature_people.svg create mode 100644 assets/uswds/images/material-icons/navigate_before.svg create mode 100644 assets/uswds/images/material-icons/navigate_next.svg create mode 100644 assets/uswds/images/material-icons/navigation.svg create mode 100644 assets/uswds/images/material-icons/near_me.svg create mode 100644 assets/uswds/images/material-icons/near_me_disabled.svg create mode 100644 assets/uswds/images/material-icons/nearby_error.svg create mode 100644 assets/uswds/images/material-icons/nearby_off.svg create mode 100644 assets/uswds/images/material-icons/nest_cam_wired_stand.svg create mode 100644 assets/uswds/images/material-icons/network_cell.svg create mode 100644 assets/uswds/images/material-icons/network_check.svg create mode 100644 assets/uswds/images/material-icons/network_locked.svg create mode 100644 assets/uswds/images/material-icons/network_ping.svg create mode 100644 assets/uswds/images/material-icons/network_wifi.svg create mode 100644 assets/uswds/images/material-icons/network_wifi_1_bar.svg create mode 100644 assets/uswds/images/material-icons/network_wifi_2_bar.svg create mode 100644 assets/uswds/images/material-icons/network_wifi_3_bar.svg create mode 100644 assets/uswds/images/material-icons/new_label.svg create mode 100644 assets/uswds/images/material-icons/new_releases.svg create mode 100644 assets/uswds/images/material-icons/newspaper.svg create mode 100644 assets/uswds/images/material-icons/next_plan.svg create mode 100644 assets/uswds/images/material-icons/next_week.svg create mode 100644 assets/uswds/images/material-icons/nfc.svg create mode 100644 assets/uswds/images/material-icons/night_shelter.svg create mode 100644 assets/uswds/images/material-icons/nightlife.svg create mode 100644 assets/uswds/images/material-icons/nightlight.svg create mode 100644 assets/uswds/images/material-icons/nightlight_round.svg create mode 100644 assets/uswds/images/material-icons/nights_stay.svg create mode 100644 assets/uswds/images/material-icons/no_accounts.svg create mode 100644 assets/uswds/images/material-icons/no_adult_content.svg create mode 100644 assets/uswds/images/material-icons/no_backpack.svg create mode 100644 assets/uswds/images/material-icons/no_cell.svg create mode 100644 assets/uswds/images/material-icons/no_crash.svg create mode 100644 assets/uswds/images/material-icons/no_drinks.svg create mode 100644 assets/uswds/images/material-icons/no_encryption.svg create mode 100644 assets/uswds/images/material-icons/no_encryption_gmailerrorred.svg create mode 100644 assets/uswds/images/material-icons/no_flash.svg create mode 100644 assets/uswds/images/material-icons/no_food.svg create mode 100644 assets/uswds/images/material-icons/no_luggage.svg create mode 100644 assets/uswds/images/material-icons/no_meals.svg create mode 100644 assets/uswds/images/material-icons/no_meeting_room.svg create mode 100644 assets/uswds/images/material-icons/no_photography.svg create mode 100644 assets/uswds/images/material-icons/no_sim.svg create mode 100644 assets/uswds/images/material-icons/no_stroller.svg create mode 100644 assets/uswds/images/material-icons/no_transfer.svg create mode 100644 assets/uswds/images/material-icons/noise_aware.svg create mode 100644 assets/uswds/images/material-icons/noise_control_off.svg create mode 100644 assets/uswds/images/material-icons/nordic_walking.svg create mode 100644 assets/uswds/images/material-icons/north.svg create mode 100644 assets/uswds/images/material-icons/north_east.svg create mode 100644 assets/uswds/images/material-icons/north_west.svg create mode 100644 assets/uswds/images/material-icons/not_accessible.svg create mode 100644 assets/uswds/images/material-icons/not_interested.svg create mode 100644 assets/uswds/images/material-icons/not_listed_location.svg create mode 100644 assets/uswds/images/material-icons/not_started.svg create mode 100644 assets/uswds/images/material-icons/note.svg create mode 100644 assets/uswds/images/material-icons/note_add.svg create mode 100644 assets/uswds/images/material-icons/note_alt.svg create mode 100644 assets/uswds/images/material-icons/notes.svg create mode 100644 assets/uswds/images/material-icons/notification_add.svg create mode 100644 assets/uswds/images/material-icons/notification_important.svg create mode 100644 assets/uswds/images/material-icons/notifications.svg create mode 100644 assets/uswds/images/material-icons/notifications_active.svg create mode 100644 assets/uswds/images/material-icons/notifications_none.svg create mode 100644 assets/uswds/images/material-icons/notifications_off.svg create mode 100644 assets/uswds/images/material-icons/notifications_paused.svg create mode 100644 assets/uswds/images/material-icons/numbers.svg create mode 100644 assets/uswds/images/material-icons/offline_bolt.svg create mode 100644 assets/uswds/images/material-icons/offline_pin.svg create mode 100644 assets/uswds/images/material-icons/offline_share.svg create mode 100644 assets/uswds/images/material-icons/oil_barrel.svg create mode 100644 assets/uswds/images/material-icons/on_device_training.svg create mode 100644 assets/uswds/images/material-icons/ondemand_video.svg create mode 100644 assets/uswds/images/material-icons/online_prediction.svg create mode 100644 assets/uswds/images/material-icons/opacity.svg create mode 100644 assets/uswds/images/material-icons/open_in_browser.svg create mode 100644 assets/uswds/images/material-icons/open_in_full.svg create mode 100644 assets/uswds/images/material-icons/open_in_new.svg create mode 100644 assets/uswds/images/material-icons/open_in_new_off.svg create mode 100644 assets/uswds/images/material-icons/open_with.svg create mode 100644 assets/uswds/images/material-icons/other_houses.svg create mode 100644 assets/uswds/images/material-icons/outbound.svg create mode 100644 assets/uswds/images/material-icons/outbox.svg create mode 100644 assets/uswds/images/material-icons/outdoor_grill.svg create mode 100644 assets/uswds/images/material-icons/outlet.svg create mode 100644 assets/uswds/images/material-icons/outlined_flag.svg create mode 100644 assets/uswds/images/material-icons/output.svg create mode 100644 assets/uswds/images/material-icons/padding.svg create mode 100644 assets/uswds/images/material-icons/pages.svg create mode 100644 assets/uswds/images/material-icons/pageview.svg create mode 100644 assets/uswds/images/material-icons/paid.svg create mode 100644 assets/uswds/images/material-icons/palette.svg create mode 100644 assets/uswds/images/material-icons/pan_tool.svg create mode 100644 assets/uswds/images/material-icons/pan_tool_alt.svg create mode 100644 assets/uswds/images/material-icons/panorama.svg create mode 100644 assets/uswds/images/material-icons/panorama_fish_eye.svg create mode 100644 assets/uswds/images/material-icons/panorama_horizontal.svg create mode 100644 assets/uswds/images/material-icons/panorama_horizontal_select.svg create mode 100644 assets/uswds/images/material-icons/panorama_photosphere.svg create mode 100644 assets/uswds/images/material-icons/panorama_photosphere_select.svg create mode 100644 assets/uswds/images/material-icons/panorama_vertical.svg create mode 100644 assets/uswds/images/material-icons/panorama_vertical_select.svg create mode 100644 assets/uswds/images/material-icons/panorama_wide_angle.svg create mode 100644 assets/uswds/images/material-icons/panorama_wide_angle_select.svg create mode 100644 assets/uswds/images/material-icons/paragliding.svg create mode 100644 assets/uswds/images/material-icons/park.svg create mode 100644 assets/uswds/images/material-icons/party_mode.svg create mode 100644 assets/uswds/images/material-icons/password.svg create mode 100644 assets/uswds/images/material-icons/pattern.svg create mode 100644 assets/uswds/images/material-icons/pause.svg create mode 100644 assets/uswds/images/material-icons/pause_circle.svg create mode 100644 assets/uswds/images/material-icons/pause_circle_filled.svg create mode 100644 assets/uswds/images/material-icons/pause_circle_outline.svg create mode 100644 assets/uswds/images/material-icons/pause_presentation.svg create mode 100644 assets/uswds/images/material-icons/payment.svg create mode 100644 assets/uswds/images/material-icons/payments.svg create mode 100644 assets/uswds/images/material-icons/pedal_bike.svg create mode 100644 assets/uswds/images/material-icons/pending.svg create mode 100644 assets/uswds/images/material-icons/pending_actions.svg create mode 100644 assets/uswds/images/material-icons/pentagon.svg create mode 100644 assets/uswds/images/material-icons/people.svg create mode 100644 assets/uswds/images/material-icons/people_alt.svg create mode 100644 assets/uswds/images/material-icons/people_outline.svg create mode 100644 assets/uswds/images/material-icons/percent.svg create mode 100644 assets/uswds/images/material-icons/perm_camera_mic.svg create mode 100644 assets/uswds/images/material-icons/perm_contact_calendar.svg create mode 100644 assets/uswds/images/material-icons/perm_data_setting.svg create mode 100644 assets/uswds/images/material-icons/perm_device_information.svg create mode 100644 assets/uswds/images/material-icons/perm_identity.svg create mode 100644 assets/uswds/images/material-icons/perm_media.svg create mode 100644 assets/uswds/images/material-icons/perm_phone_msg.svg create mode 100644 assets/uswds/images/material-icons/perm_scan_wifi.svg create mode 100644 assets/uswds/images/material-icons/person.svg create mode 100644 assets/uswds/images/material-icons/person_2.svg create mode 100644 assets/uswds/images/material-icons/person_3.svg create mode 100644 assets/uswds/images/material-icons/person_4.svg create mode 100644 assets/uswds/images/material-icons/person_add.svg create mode 100644 assets/uswds/images/material-icons/person_add_alt.svg create mode 100644 assets/uswds/images/material-icons/person_add_alt_1.svg create mode 100644 assets/uswds/images/material-icons/person_add_disabled.svg create mode 100644 assets/uswds/images/material-icons/person_off.svg create mode 100644 assets/uswds/images/material-icons/person_outline.svg create mode 100644 assets/uswds/images/material-icons/person_pin.svg create mode 100644 assets/uswds/images/material-icons/person_pin_circle.svg create mode 100644 assets/uswds/images/material-icons/person_remove.svg create mode 100644 assets/uswds/images/material-icons/person_remove_alt_1.svg create mode 100644 assets/uswds/images/material-icons/person_search.svg create mode 100644 assets/uswds/images/material-icons/personal_injury.svg create mode 100644 assets/uswds/images/material-icons/personal_video.svg create mode 100644 assets/uswds/images/material-icons/pest_control.svg create mode 100644 assets/uswds/images/material-icons/pest_control_rodent.svg create mode 100644 assets/uswds/images/material-icons/pets.svg create mode 100644 assets/uswds/images/material-icons/phishing.svg create mode 100644 assets/uswds/images/material-icons/phone.svg create mode 100644 assets/uswds/images/material-icons/phone_android.svg create mode 100644 assets/uswds/images/material-icons/phone_bluetooth_speaker.svg create mode 100644 assets/uswds/images/material-icons/phone_callback.svg create mode 100644 assets/uswds/images/material-icons/phone_disabled.svg create mode 100644 assets/uswds/images/material-icons/phone_enabled.svg create mode 100644 assets/uswds/images/material-icons/phone_forwarded.svg create mode 100644 assets/uswds/images/material-icons/phone_iphone.svg create mode 100644 assets/uswds/images/material-icons/phone_locked.svg create mode 100644 assets/uswds/images/material-icons/phone_missed.svg create mode 100644 assets/uswds/images/material-icons/phone_paused.svg create mode 100644 assets/uswds/images/material-icons/phonelink.svg create mode 100644 assets/uswds/images/material-icons/phonelink_erase.svg create mode 100644 assets/uswds/images/material-icons/phonelink_lock.svg create mode 100644 assets/uswds/images/material-icons/phonelink_off.svg create mode 100644 assets/uswds/images/material-icons/phonelink_ring.svg create mode 100644 assets/uswds/images/material-icons/phonelink_setup.svg create mode 100644 assets/uswds/images/material-icons/photo.svg create mode 100644 assets/uswds/images/material-icons/photo_album.svg create mode 100644 assets/uswds/images/material-icons/photo_camera.svg create mode 100644 assets/uswds/images/material-icons/photo_camera_back.svg create mode 100644 assets/uswds/images/material-icons/photo_camera_front.svg create mode 100644 assets/uswds/images/material-icons/photo_filter.svg create mode 100644 assets/uswds/images/material-icons/photo_library.svg create mode 100644 assets/uswds/images/material-icons/photo_size_select_actual.svg create mode 100644 assets/uswds/images/material-icons/photo_size_select_large.svg create mode 100644 assets/uswds/images/material-icons/photo_size_select_small.svg create mode 100644 assets/uswds/images/material-icons/php.svg create mode 100644 assets/uswds/images/material-icons/piano.svg create mode 100644 assets/uswds/images/material-icons/piano_off.svg create mode 100644 assets/uswds/images/material-icons/picture_as_pdf.svg create mode 100644 assets/uswds/images/material-icons/picture_in_picture.svg create mode 100644 assets/uswds/images/material-icons/picture_in_picture_alt.svg create mode 100644 assets/uswds/images/material-icons/pie_chart.svg create mode 100644 assets/uswds/images/material-icons/pie_chart_outline.svg create mode 100644 assets/uswds/images/material-icons/pin.svg create mode 100644 assets/uswds/images/material-icons/pin_drop.svg create mode 100644 assets/uswds/images/material-icons/pin_end.svg create mode 100644 assets/uswds/images/material-icons/pin_invoke.svg create mode 100644 assets/uswds/images/material-icons/pinch.svg create mode 100644 assets/uswds/images/material-icons/pivot_table_chart.svg create mode 100644 assets/uswds/images/material-icons/pix.svg create mode 100644 assets/uswds/images/material-icons/place.svg create mode 100644 assets/uswds/images/material-icons/plagiarism.svg create mode 100644 assets/uswds/images/material-icons/play_arrow.svg create mode 100644 assets/uswds/images/material-icons/play_circle.svg create mode 100644 assets/uswds/images/material-icons/play_circle_filled.svg create mode 100644 assets/uswds/images/material-icons/play_circle_outline.svg create mode 100644 assets/uswds/images/material-icons/play_disabled.svg create mode 100644 assets/uswds/images/material-icons/play_for_work.svg create mode 100644 assets/uswds/images/material-icons/play_lesson.svg create mode 100644 assets/uswds/images/material-icons/playlist_add.svg create mode 100644 assets/uswds/images/material-icons/playlist_add_check.svg create mode 100644 assets/uswds/images/material-icons/playlist_add_check_circle.svg create mode 100644 assets/uswds/images/material-icons/playlist_add_circle.svg create mode 100644 assets/uswds/images/material-icons/playlist_play.svg create mode 100644 assets/uswds/images/material-icons/playlist_remove.svg create mode 100644 assets/uswds/images/material-icons/plumbing.svg create mode 100644 assets/uswds/images/material-icons/plus_one.svg create mode 100644 assets/uswds/images/material-icons/podcasts.svg create mode 100644 assets/uswds/images/material-icons/point_of_sale.svg create mode 100644 assets/uswds/images/material-icons/policy.svg create mode 100644 assets/uswds/images/material-icons/poll.svg create mode 100644 assets/uswds/images/material-icons/polyline.svg create mode 100644 assets/uswds/images/material-icons/polymer.svg create mode 100644 assets/uswds/images/material-icons/pool.svg create mode 100644 assets/uswds/images/material-icons/portable_wifi_off.svg create mode 100644 assets/uswds/images/material-icons/portrait.svg create mode 100644 assets/uswds/images/material-icons/post_add.svg create mode 100644 assets/uswds/images/material-icons/power.svg create mode 100644 assets/uswds/images/material-icons/power_input.svg create mode 100644 assets/uswds/images/material-icons/power_off.svg create mode 100644 assets/uswds/images/material-icons/power_settings_new.svg create mode 100644 assets/uswds/images/material-icons/precision_manufacturing.svg create mode 100644 assets/uswds/images/material-icons/pregnant_woman.svg create mode 100644 assets/uswds/images/material-icons/present_to_all.svg create mode 100644 assets/uswds/images/material-icons/preview.svg create mode 100644 assets/uswds/images/material-icons/price_change.svg create mode 100644 assets/uswds/images/material-icons/price_check.svg create mode 100644 assets/uswds/images/material-icons/print.svg create mode 100644 assets/uswds/images/material-icons/print_disabled.svg create mode 100644 assets/uswds/images/material-icons/priority_high.svg create mode 100644 assets/uswds/images/material-icons/privacy_tip.svg create mode 100644 assets/uswds/images/material-icons/private_connectivity.svg create mode 100644 assets/uswds/images/material-icons/production_quantity_limits.svg create mode 100644 assets/uswds/images/material-icons/propane.svg create mode 100644 assets/uswds/images/material-icons/propane_tank.svg create mode 100644 assets/uswds/images/material-icons/psychology.svg create mode 100644 assets/uswds/images/material-icons/psychology_alt.svg create mode 100644 assets/uswds/images/material-icons/public.svg create mode 100644 assets/uswds/images/material-icons/public_off.svg create mode 100644 assets/uswds/images/material-icons/publish.svg create mode 100644 assets/uswds/images/material-icons/published_with_changes.svg create mode 100644 assets/uswds/images/material-icons/punch_clock.svg create mode 100644 assets/uswds/images/material-icons/push_pin.svg create mode 100644 assets/uswds/images/material-icons/qr_code.svg create mode 100644 assets/uswds/images/material-icons/qr_code_2.svg create mode 100644 assets/uswds/images/material-icons/qr_code_scanner.svg create mode 100644 assets/uswds/images/material-icons/query_builder.svg create mode 100644 assets/uswds/images/material-icons/query_stats.svg create mode 100644 assets/uswds/images/material-icons/question_answer.svg create mode 100644 assets/uswds/images/material-icons/question_mark.svg create mode 100644 assets/uswds/images/material-icons/queue.svg create mode 100644 assets/uswds/images/material-icons/queue_music.svg create mode 100644 assets/uswds/images/material-icons/queue_play_next.svg create mode 100644 assets/uswds/images/material-icons/quickreply.svg create mode 100644 assets/uswds/images/material-icons/quiz.svg create mode 100644 assets/uswds/images/material-icons/r_mobiledata.svg create mode 100644 assets/uswds/images/material-icons/radar.svg create mode 100644 assets/uswds/images/material-icons/radio.svg create mode 100644 assets/uswds/images/material-icons/radio_button_checked.svg create mode 100644 assets/uswds/images/material-icons/radio_button_unchecked.svg create mode 100644 assets/uswds/images/material-icons/railway_alert.svg create mode 100644 assets/uswds/images/material-icons/ramen_dining.svg create mode 100644 assets/uswds/images/material-icons/ramp_left.svg create mode 100644 assets/uswds/images/material-icons/ramp_right.svg create mode 100644 assets/uswds/images/material-icons/rate_review.svg create mode 100644 assets/uswds/images/material-icons/raw_off.svg create mode 100644 assets/uswds/images/material-icons/raw_on.svg create mode 100644 assets/uswds/images/material-icons/read_more.svg create mode 100644 assets/uswds/images/material-icons/real_estate_agent.svg create mode 100644 assets/uswds/images/material-icons/receipt.svg create mode 100644 assets/uswds/images/material-icons/receipt_long.svg create mode 100644 assets/uswds/images/material-icons/recent_actors.svg create mode 100644 assets/uswds/images/material-icons/recommend.svg create mode 100644 assets/uswds/images/material-icons/record_voice_over.svg create mode 100644 assets/uswds/images/material-icons/rectangle.svg create mode 100644 assets/uswds/images/material-icons/recycling.svg create mode 100644 assets/uswds/images/material-icons/redeem.svg create mode 100644 assets/uswds/images/material-icons/redo.svg create mode 100644 assets/uswds/images/material-icons/reduce_capacity.svg create mode 100644 assets/uswds/images/material-icons/refresh.svg create mode 100644 assets/uswds/images/material-icons/remember_me.svg create mode 100644 assets/uswds/images/material-icons/remove.svg create mode 100644 assets/uswds/images/material-icons/remove_circle.svg create mode 100644 assets/uswds/images/material-icons/remove_circle_outline.svg create mode 100644 assets/uswds/images/material-icons/remove_done.svg create mode 100644 assets/uswds/images/material-icons/remove_from_queue.svg create mode 100644 assets/uswds/images/material-icons/remove_moderator.svg create mode 100644 assets/uswds/images/material-icons/remove_red_eye.svg create mode 100644 assets/uswds/images/material-icons/remove_road.svg create mode 100644 assets/uswds/images/material-icons/remove_shopping_cart.svg create mode 100644 assets/uswds/images/material-icons/reorder.svg create mode 100644 assets/uswds/images/material-icons/repartition.svg create mode 100644 assets/uswds/images/material-icons/repeat.svg create mode 100644 assets/uswds/images/material-icons/repeat_on.svg create mode 100644 assets/uswds/images/material-icons/repeat_one.svg create mode 100644 assets/uswds/images/material-icons/repeat_one_on.svg create mode 100644 assets/uswds/images/material-icons/replay.svg create mode 100644 assets/uswds/images/material-icons/replay_10.svg create mode 100644 assets/uswds/images/material-icons/replay_30.svg create mode 100644 assets/uswds/images/material-icons/replay_5.svg create mode 100644 assets/uswds/images/material-icons/replay_circle_filled.svg create mode 100644 assets/uswds/images/material-icons/reply.svg create mode 100644 assets/uswds/images/material-icons/reply_all.svg create mode 100644 assets/uswds/images/material-icons/report.svg create mode 100644 assets/uswds/images/material-icons/report_gmailerrorred.svg create mode 100644 assets/uswds/images/material-icons/report_off.svg create mode 100644 assets/uswds/images/material-icons/report_problem.svg create mode 100644 assets/uswds/images/material-icons/request_page.svg create mode 100644 assets/uswds/images/material-icons/request_quote.svg create mode 100644 assets/uswds/images/material-icons/reset_tv.svg create mode 100644 assets/uswds/images/material-icons/restart_alt.svg create mode 100644 assets/uswds/images/material-icons/restaurant.svg create mode 100644 assets/uswds/images/material-icons/restaurant_menu.svg create mode 100644 assets/uswds/images/material-icons/restore.svg create mode 100644 assets/uswds/images/material-icons/restore_from_trash.svg create mode 100644 assets/uswds/images/material-icons/restore_page.svg create mode 100644 assets/uswds/images/material-icons/reviews.svg create mode 100644 assets/uswds/images/material-icons/rice_bowl.svg create mode 100644 assets/uswds/images/material-icons/ring_volume.svg create mode 100644 assets/uswds/images/material-icons/rocket.svg create mode 100644 assets/uswds/images/material-icons/rocket_launch.svg create mode 100644 assets/uswds/images/material-icons/roller_shades.svg create mode 100644 assets/uswds/images/material-icons/roller_shades_closed.svg create mode 100644 assets/uswds/images/material-icons/roller_skating.svg create mode 100644 assets/uswds/images/material-icons/roofing.svg create mode 100644 assets/uswds/images/material-icons/room.svg create mode 100644 assets/uswds/images/material-icons/room_preferences.svg create mode 100644 assets/uswds/images/material-icons/room_service.svg create mode 100644 assets/uswds/images/material-icons/rotate_90_degrees_ccw.svg create mode 100644 assets/uswds/images/material-icons/rotate_90_degrees_cw.svg create mode 100644 assets/uswds/images/material-icons/rotate_left.svg create mode 100644 assets/uswds/images/material-icons/rotate_right.svg create mode 100644 assets/uswds/images/material-icons/roundabout_left.svg create mode 100644 assets/uswds/images/material-icons/roundabout_right.svg create mode 100644 assets/uswds/images/material-icons/rounded_corner.svg create mode 100644 assets/uswds/images/material-icons/route.svg create mode 100644 assets/uswds/images/material-icons/router.svg create mode 100644 assets/uswds/images/material-icons/rowing.svg create mode 100644 assets/uswds/images/material-icons/rss_feed.svg create mode 100644 assets/uswds/images/material-icons/rsvp.svg create mode 100644 assets/uswds/images/material-icons/rtt.svg create mode 100644 assets/uswds/images/material-icons/rule.svg create mode 100644 assets/uswds/images/material-icons/rule_folder.svg create mode 100644 assets/uswds/images/material-icons/run_circle.svg create mode 100644 assets/uswds/images/material-icons/running_with_errors.svg create mode 100644 assets/uswds/images/material-icons/rv_hookup.svg create mode 100644 assets/uswds/images/material-icons/safety_check.svg create mode 100644 assets/uswds/images/material-icons/safety_divider.svg create mode 100644 assets/uswds/images/material-icons/sailing.svg create mode 100644 assets/uswds/images/material-icons/sanitizer.svg create mode 100644 assets/uswds/images/material-icons/satellite.svg create mode 100644 assets/uswds/images/material-icons/satellite_alt.svg create mode 100644 assets/uswds/images/material-icons/save.svg create mode 100644 assets/uswds/images/material-icons/save_alt.svg create mode 100644 assets/uswds/images/material-icons/save_as.svg create mode 100644 assets/uswds/images/material-icons/saved_search.svg create mode 100644 assets/uswds/images/material-icons/savings.svg create mode 100644 assets/uswds/images/material-icons/scale.svg create mode 100644 assets/uswds/images/material-icons/scanner.svg create mode 100644 assets/uswds/images/material-icons/scatter_plot.svg create mode 100644 assets/uswds/images/material-icons/schedule.svg create mode 100644 assets/uswds/images/material-icons/schedule_send.svg create mode 100644 assets/uswds/images/material-icons/schema.svg create mode 100644 assets/uswds/images/material-icons/school.svg create mode 100644 assets/uswds/images/material-icons/science.svg create mode 100644 assets/uswds/images/material-icons/score.svg create mode 100644 assets/uswds/images/material-icons/scoreboard.svg create mode 100644 assets/uswds/images/material-icons/screen_lock_landscape.svg create mode 100644 assets/uswds/images/material-icons/screen_lock_portrait.svg create mode 100644 assets/uswds/images/material-icons/screen_lock_rotation.svg create mode 100644 assets/uswds/images/material-icons/screen_rotation.svg create mode 100644 assets/uswds/images/material-icons/screen_rotation_alt.svg create mode 100644 assets/uswds/images/material-icons/screen_search_desktop.svg create mode 100644 assets/uswds/images/material-icons/screen_share.svg create mode 100644 assets/uswds/images/material-icons/screenshot.svg create mode 100644 assets/uswds/images/material-icons/screenshot_monitor.svg create mode 100644 assets/uswds/images/material-icons/scuba_diving.svg create mode 100644 assets/uswds/images/material-icons/sd.svg create mode 100644 assets/uswds/images/material-icons/sd_card.svg create mode 100644 assets/uswds/images/material-icons/sd_card_alert.svg create mode 100644 assets/uswds/images/material-icons/sd_storage.svg create mode 100644 assets/uswds/images/material-icons/search.svg create mode 100644 assets/uswds/images/material-icons/search_off.svg create mode 100644 assets/uswds/images/material-icons/security.svg create mode 100644 assets/uswds/images/material-icons/security_update.svg create mode 100644 assets/uswds/images/material-icons/security_update_good.svg create mode 100644 assets/uswds/images/material-icons/security_update_warning.svg create mode 100644 assets/uswds/images/material-icons/segment.svg create mode 100644 assets/uswds/images/material-icons/select_all.svg create mode 100644 assets/uswds/images/material-icons/self_improvement.svg create mode 100644 assets/uswds/images/material-icons/sell.svg create mode 100644 assets/uswds/images/material-icons/send.svg create mode 100644 assets/uswds/images/material-icons/send_and_archive.svg create mode 100644 assets/uswds/images/material-icons/send_time_extension.svg create mode 100644 assets/uswds/images/material-icons/send_to_mobile.svg create mode 100644 assets/uswds/images/material-icons/sensor_door.svg create mode 100644 assets/uswds/images/material-icons/sensor_occupied.svg create mode 100644 assets/uswds/images/material-icons/sensor_window.svg create mode 100644 assets/uswds/images/material-icons/sensors.svg create mode 100644 assets/uswds/images/material-icons/sensors_off.svg create mode 100644 assets/uswds/images/material-icons/sentiment_dissatisfied.svg create mode 100644 assets/uswds/images/material-icons/sentiment_neutral.svg create mode 100644 assets/uswds/images/material-icons/sentiment_satisfied.svg create mode 100644 assets/uswds/images/material-icons/sentiment_satisfied_alt.svg create mode 100644 assets/uswds/images/material-icons/sentiment_very_dissatisfied.svg create mode 100644 assets/uswds/images/material-icons/sentiment_very_satisfied.svg create mode 100644 assets/uswds/images/material-icons/set_meal.svg create mode 100644 assets/uswds/images/material-icons/settings.svg create mode 100644 assets/uswds/images/material-icons/settings_accessibility.svg create mode 100644 assets/uswds/images/material-icons/settings_applications.svg create mode 100644 assets/uswds/images/material-icons/settings_backup_restore.svg create mode 100644 assets/uswds/images/material-icons/settings_bluetooth.svg create mode 100644 assets/uswds/images/material-icons/settings_brightness.svg create mode 100644 assets/uswds/images/material-icons/settings_cell.svg create mode 100644 assets/uswds/images/material-icons/settings_ethernet.svg create mode 100644 assets/uswds/images/material-icons/settings_input_antenna.svg create mode 100644 assets/uswds/images/material-icons/settings_input_component.svg create mode 100644 assets/uswds/images/material-icons/settings_input_composite.svg create mode 100644 assets/uswds/images/material-icons/settings_input_hdmi.svg create mode 100644 assets/uswds/images/material-icons/settings_input_svideo.svg create mode 100644 assets/uswds/images/material-icons/settings_overscan.svg create mode 100644 assets/uswds/images/material-icons/settings_phone.svg create mode 100644 assets/uswds/images/material-icons/settings_power.svg create mode 100644 assets/uswds/images/material-icons/settings_remote.svg create mode 100644 assets/uswds/images/material-icons/settings_suggest.svg create mode 100644 assets/uswds/images/material-icons/settings_system_daydream.svg create mode 100644 assets/uswds/images/material-icons/settings_voice.svg create mode 100644 assets/uswds/images/material-icons/severe_cold.svg create mode 100644 assets/uswds/images/material-icons/shape_line.svg create mode 100644 assets/uswds/images/material-icons/share.svg create mode 100644 assets/uswds/images/material-icons/share_location.svg create mode 100644 assets/uswds/images/material-icons/shield.svg create mode 100644 assets/uswds/images/material-icons/shield_moon.svg create mode 100644 assets/uswds/images/material-icons/shop.svg create mode 100644 assets/uswds/images/material-icons/shop_2.svg create mode 100644 assets/uswds/images/material-icons/shop_two.svg create mode 100644 assets/uswds/images/material-icons/shopping_bag.svg create mode 100644 assets/uswds/images/material-icons/shopping_basket.svg create mode 100644 assets/uswds/images/material-icons/shopping_cart.svg create mode 100644 assets/uswds/images/material-icons/shopping_cart_checkout.svg create mode 100644 assets/uswds/images/material-icons/short_text.svg create mode 100644 assets/uswds/images/material-icons/shortcut.svg create mode 100644 assets/uswds/images/material-icons/show_chart.svg create mode 100644 assets/uswds/images/material-icons/shower.svg create mode 100644 assets/uswds/images/material-icons/shuffle.svg create mode 100644 assets/uswds/images/material-icons/shuffle_on.svg create mode 100644 assets/uswds/images/material-icons/shutter_speed.svg create mode 100644 assets/uswds/images/material-icons/sick.svg create mode 100644 assets/uswds/images/material-icons/sign_language.svg create mode 100644 assets/uswds/images/material-icons/signal_cellular_0_bar.svg create mode 100644 assets/uswds/images/material-icons/signal_cellular_4_bar.svg create mode 100644 assets/uswds/images/material-icons/signal_cellular_alt.svg create mode 100644 assets/uswds/images/material-icons/signal_cellular_alt_1_bar.svg create mode 100644 assets/uswds/images/material-icons/signal_cellular_alt_2_bar.svg create mode 100644 assets/uswds/images/material-icons/signal_cellular_connected_no_internet_0_bar.svg create mode 100644 assets/uswds/images/material-icons/signal_cellular_connected_no_internet_4_bar.svg create mode 100644 assets/uswds/images/material-icons/signal_cellular_no_sim.svg create mode 100644 assets/uswds/images/material-icons/signal_cellular_nodata.svg create mode 100644 assets/uswds/images/material-icons/signal_cellular_null.svg create mode 100644 assets/uswds/images/material-icons/signal_cellular_off.svg create mode 100644 assets/uswds/images/material-icons/signal_wifi_0_bar.svg create mode 100644 assets/uswds/images/material-icons/signal_wifi_4_bar.svg create mode 100644 assets/uswds/images/material-icons/signal_wifi_4_bar_lock.svg create mode 100644 assets/uswds/images/material-icons/signal_wifi_bad.svg create mode 100644 assets/uswds/images/material-icons/signal_wifi_connected_no_internet_4.svg create mode 100644 assets/uswds/images/material-icons/signal_wifi_off.svg create mode 100644 assets/uswds/images/material-icons/signal_wifi_statusbar_4_bar.svg create mode 100644 assets/uswds/images/material-icons/signal_wifi_statusbar_connected_no_internet_4.svg create mode 100644 assets/uswds/images/material-icons/signal_wifi_statusbar_null.svg create mode 100644 assets/uswds/images/material-icons/signpost.svg create mode 100644 assets/uswds/images/material-icons/sim_card.svg create mode 100644 assets/uswds/images/material-icons/sim_card_alert.svg create mode 100644 assets/uswds/images/material-icons/sim_card_download.svg create mode 100644 assets/uswds/images/material-icons/single_bed.svg create mode 100644 assets/uswds/images/material-icons/sip.svg create mode 100644 assets/uswds/images/material-icons/skateboarding.svg create mode 100644 assets/uswds/images/material-icons/skip_next.svg create mode 100644 assets/uswds/images/material-icons/skip_previous.svg create mode 100644 assets/uswds/images/material-icons/sledding.svg create mode 100644 assets/uswds/images/material-icons/slideshow.svg create mode 100644 assets/uswds/images/material-icons/slow_motion_video.svg create mode 100644 assets/uswds/images/material-icons/smart_button.svg create mode 100644 assets/uswds/images/material-icons/smart_display.svg create mode 100644 assets/uswds/images/material-icons/smart_screen.svg create mode 100644 assets/uswds/images/material-icons/smart_toy.svg create mode 100644 assets/uswds/images/material-icons/smartphone.svg create mode 100644 assets/uswds/images/material-icons/smoke_free.svg create mode 100644 assets/uswds/images/material-icons/smoking_rooms.svg create mode 100644 assets/uswds/images/material-icons/sms.svg create mode 100644 assets/uswds/images/material-icons/sms_failed.svg create mode 100644 assets/uswds/images/material-icons/snippet_folder.svg create mode 100644 assets/uswds/images/material-icons/snooze.svg create mode 100644 assets/uswds/images/material-icons/snowboarding.svg create mode 100644 assets/uswds/images/material-icons/snowmobile.svg create mode 100644 assets/uswds/images/material-icons/snowshoeing.svg create mode 100644 assets/uswds/images/material-icons/soap.svg create mode 100644 assets/uswds/images/material-icons/social_distance.svg create mode 100644 assets/uswds/images/material-icons/solar_power.svg create mode 100644 assets/uswds/images/material-icons/sort.svg create mode 100644 assets/uswds/images/material-icons/sort_by_alpha.svg create mode 100644 assets/uswds/images/material-icons/sos.svg create mode 100644 assets/uswds/images/material-icons/soup_kitchen.svg create mode 100644 assets/uswds/images/material-icons/source.svg create mode 100644 assets/uswds/images/material-icons/south.svg create mode 100644 assets/uswds/images/material-icons/south_america.svg create mode 100644 assets/uswds/images/material-icons/south_east.svg create mode 100644 assets/uswds/images/material-icons/south_west.svg create mode 100644 assets/uswds/images/material-icons/spa.svg create mode 100644 assets/uswds/images/material-icons/space_bar.svg create mode 100644 assets/uswds/images/material-icons/space_dashboard.svg create mode 100644 assets/uswds/images/material-icons/spatial_audio.svg create mode 100644 assets/uswds/images/material-icons/spatial_audio_off.svg create mode 100644 assets/uswds/images/material-icons/spatial_tracking.svg create mode 100644 assets/uswds/images/material-icons/speaker.svg create mode 100644 assets/uswds/images/material-icons/speaker_group.svg create mode 100644 assets/uswds/images/material-icons/speaker_notes.svg create mode 100644 assets/uswds/images/material-icons/speaker_notes_off.svg create mode 100644 assets/uswds/images/material-icons/speaker_phone.svg create mode 100644 assets/uswds/images/material-icons/speed.svg create mode 100644 assets/uswds/images/material-icons/spellcheck.svg create mode 100644 assets/uswds/images/material-icons/splitscreen.svg create mode 100644 assets/uswds/images/material-icons/spoke.svg create mode 100644 assets/uswds/images/material-icons/sports.svg create mode 100644 assets/uswds/images/material-icons/sports_bar.svg create mode 100644 assets/uswds/images/material-icons/sports_baseball.svg create mode 100644 assets/uswds/images/material-icons/sports_basketball.svg create mode 100644 assets/uswds/images/material-icons/sports_cricket.svg create mode 100644 assets/uswds/images/material-icons/sports_esports.svg create mode 100644 assets/uswds/images/material-icons/sports_football.svg create mode 100644 assets/uswds/images/material-icons/sports_golf.svg create mode 100644 assets/uswds/images/material-icons/sports_gymnastics.svg create mode 100644 assets/uswds/images/material-icons/sports_handball.svg create mode 100644 assets/uswds/images/material-icons/sports_hockey.svg create mode 100644 assets/uswds/images/material-icons/sports_kabaddi.svg create mode 100644 assets/uswds/images/material-icons/sports_martial_arts.svg create mode 100644 assets/uswds/images/material-icons/sports_mma.svg create mode 100644 assets/uswds/images/material-icons/sports_motorsports.svg create mode 100644 assets/uswds/images/material-icons/sports_rugby.svg create mode 100644 assets/uswds/images/material-icons/sports_score.svg create mode 100644 assets/uswds/images/material-icons/sports_soccer.svg create mode 100644 assets/uswds/images/material-icons/sports_tennis.svg create mode 100644 assets/uswds/images/material-icons/sports_volleyball.svg create mode 100644 assets/uswds/images/material-icons/square.svg create mode 100644 assets/uswds/images/material-icons/square_foot.svg create mode 100644 assets/uswds/images/material-icons/ssid_chart.svg create mode 100644 assets/uswds/images/material-icons/stacked_bar_chart.svg create mode 100644 assets/uswds/images/material-icons/stacked_line_chart.svg create mode 100644 assets/uswds/images/material-icons/stadium.svg create mode 100644 assets/uswds/images/material-icons/stairs.svg create mode 100644 assets/uswds/images/material-icons/star.svg create mode 100644 assets/uswds/images/material-icons/star_border.svg create mode 100644 assets/uswds/images/material-icons/star_border_purple500.svg create mode 100644 assets/uswds/images/material-icons/star_half.svg create mode 100644 assets/uswds/images/material-icons/star_outline.svg create mode 100644 assets/uswds/images/material-icons/star_purple500.svg create mode 100644 assets/uswds/images/material-icons/star_rate.svg create mode 100644 assets/uswds/images/material-icons/stars.svg create mode 100644 assets/uswds/images/material-icons/start.svg create mode 100644 assets/uswds/images/material-icons/stay_current_landscape.svg create mode 100644 assets/uswds/images/material-icons/stay_current_portrait.svg create mode 100644 assets/uswds/images/material-icons/stay_primary_landscape.svg create mode 100644 assets/uswds/images/material-icons/stay_primary_portrait.svg create mode 100644 assets/uswds/images/material-icons/sticky_note_2.svg create mode 100644 assets/uswds/images/material-icons/stop.svg create mode 100644 assets/uswds/images/material-icons/stop_circle.svg create mode 100644 assets/uswds/images/material-icons/stop_screen_share.svg create mode 100644 assets/uswds/images/material-icons/storage.svg create mode 100644 assets/uswds/images/material-icons/store.svg create mode 100644 assets/uswds/images/material-icons/store_mall_directory.svg create mode 100644 assets/uswds/images/material-icons/storefront.svg create mode 100644 assets/uswds/images/material-icons/storm.svg create mode 100644 assets/uswds/images/material-icons/straight.svg create mode 100644 assets/uswds/images/material-icons/straighten.svg create mode 100644 assets/uswds/images/material-icons/stream.svg create mode 100644 assets/uswds/images/material-icons/streetview.svg create mode 100644 assets/uswds/images/material-icons/strikethrough_s.svg create mode 100644 assets/uswds/images/material-icons/stroller.svg create mode 100644 assets/uswds/images/material-icons/style.svg create mode 100644 assets/uswds/images/material-icons/subdirectory_arrow_left.svg create mode 100644 assets/uswds/images/material-icons/subdirectory_arrow_right.svg create mode 100644 assets/uswds/images/material-icons/subject.svg create mode 100644 assets/uswds/images/material-icons/subscript.svg create mode 100644 assets/uswds/images/material-icons/subscriptions.svg create mode 100644 assets/uswds/images/material-icons/subtitles.svg create mode 100644 assets/uswds/images/material-icons/subtitles_off.svg create mode 100644 assets/uswds/images/material-icons/subway.svg create mode 100644 assets/uswds/images/material-icons/summarize.svg create mode 100644 assets/uswds/images/material-icons/superscript.svg create mode 100644 assets/uswds/images/material-icons/supervised_user_circle.svg create mode 100644 assets/uswds/images/material-icons/supervisor_account.svg create mode 100644 assets/uswds/images/material-icons/support.svg create mode 100644 assets/uswds/images/material-icons/support_agent.svg create mode 100644 assets/uswds/images/material-icons/surfing.svg create mode 100644 assets/uswds/images/material-icons/surround_sound.svg create mode 100644 assets/uswds/images/material-icons/swap_calls.svg create mode 100644 assets/uswds/images/material-icons/swap_horiz.svg create mode 100644 assets/uswds/images/material-icons/swap_horizontal_circle.svg create mode 100644 assets/uswds/images/material-icons/swap_vert.svg create mode 100644 assets/uswds/images/material-icons/swap_vertical_circle.svg create mode 100644 assets/uswds/images/material-icons/swipe.svg create mode 100644 assets/uswds/images/material-icons/swipe_down.svg create mode 100644 assets/uswds/images/material-icons/swipe_down_alt.svg create mode 100644 assets/uswds/images/material-icons/swipe_left.svg create mode 100644 assets/uswds/images/material-icons/swipe_left_alt.svg create mode 100644 assets/uswds/images/material-icons/swipe_right.svg create mode 100644 assets/uswds/images/material-icons/swipe_right_alt.svg create mode 100644 assets/uswds/images/material-icons/swipe_up.svg create mode 100644 assets/uswds/images/material-icons/swipe_up_alt.svg create mode 100644 assets/uswds/images/material-icons/swipe_vertical.svg create mode 100644 assets/uswds/images/material-icons/switch_access_shortcut.svg create mode 100644 assets/uswds/images/material-icons/switch_access_shortcut_add.svg create mode 100644 assets/uswds/images/material-icons/switch_account.svg create mode 100644 assets/uswds/images/material-icons/switch_camera.svg create mode 100644 assets/uswds/images/material-icons/switch_left.svg create mode 100644 assets/uswds/images/material-icons/switch_right.svg create mode 100644 assets/uswds/images/material-icons/switch_video.svg create mode 100644 assets/uswds/images/material-icons/synagogue.svg create mode 100644 assets/uswds/images/material-icons/sync.svg create mode 100644 assets/uswds/images/material-icons/sync_alt.svg create mode 100644 assets/uswds/images/material-icons/sync_disabled.svg create mode 100644 assets/uswds/images/material-icons/sync_lock.svg create mode 100644 assets/uswds/images/material-icons/sync_problem.svg create mode 100644 assets/uswds/images/material-icons/system_security_update.svg create mode 100644 assets/uswds/images/material-icons/system_security_update_good.svg create mode 100644 assets/uswds/images/material-icons/system_security_update_warning.svg create mode 100644 assets/uswds/images/material-icons/system_update.svg create mode 100644 assets/uswds/images/material-icons/system_update_alt.svg create mode 100644 assets/uswds/images/material-icons/tab.svg create mode 100644 assets/uswds/images/material-icons/tab_unselected.svg create mode 100644 assets/uswds/images/material-icons/table_bar.svg create mode 100644 assets/uswds/images/material-icons/table_chart.svg create mode 100644 assets/uswds/images/material-icons/table_restaurant.svg create mode 100644 assets/uswds/images/material-icons/table_rows.svg create mode 100644 assets/uswds/images/material-icons/table_view.svg create mode 100644 assets/uswds/images/material-icons/tablet.svg create mode 100644 assets/uswds/images/material-icons/tablet_android.svg create mode 100644 assets/uswds/images/material-icons/tablet_mac.svg create mode 100644 assets/uswds/images/material-icons/tag.svg create mode 100644 assets/uswds/images/material-icons/tag_faces.svg create mode 100644 assets/uswds/images/material-icons/takeout_dining.svg create mode 100644 assets/uswds/images/material-icons/tap_and_play.svg create mode 100644 assets/uswds/images/material-icons/tapas.svg create mode 100644 assets/uswds/images/material-icons/task.svg create mode 100644 assets/uswds/images/material-icons/task_alt.svg create mode 100644 assets/uswds/images/material-icons/taxi_alert.svg create mode 100644 assets/uswds/images/material-icons/temple_buddhist.svg create mode 100644 assets/uswds/images/material-icons/temple_hindu.svg create mode 100644 assets/uswds/images/material-icons/terminal.svg create mode 100644 assets/uswds/images/material-icons/terrain.svg create mode 100644 assets/uswds/images/material-icons/text_decrease.svg create mode 100644 assets/uswds/images/material-icons/text_fields.svg create mode 100644 assets/uswds/images/material-icons/text_format.svg create mode 100644 assets/uswds/images/material-icons/text_increase.svg create mode 100644 assets/uswds/images/material-icons/text_rotate_up.svg create mode 100644 assets/uswds/images/material-icons/text_rotate_vertical.svg create mode 100644 assets/uswds/images/material-icons/text_rotation_angledown.svg create mode 100644 assets/uswds/images/material-icons/text_rotation_angleup.svg create mode 100644 assets/uswds/images/material-icons/text_rotation_down.svg create mode 100644 assets/uswds/images/material-icons/text_rotation_none.svg create mode 100644 assets/uswds/images/material-icons/text_snippet.svg create mode 100644 assets/uswds/images/material-icons/textsms.svg create mode 100644 assets/uswds/images/material-icons/texture.svg create mode 100644 assets/uswds/images/material-icons/theater_comedy.svg create mode 100644 assets/uswds/images/material-icons/theaters.svg create mode 100644 assets/uswds/images/material-icons/thermostat.svg create mode 100644 assets/uswds/images/material-icons/thermostat_auto.svg create mode 100644 assets/uswds/images/material-icons/thumb_down.svg create mode 100644 assets/uswds/images/material-icons/thumb_down_alt.svg create mode 100644 assets/uswds/images/material-icons/thumb_down_off_alt.svg create mode 100644 assets/uswds/images/material-icons/thumb_up.svg create mode 100644 assets/uswds/images/material-icons/thumb_up_alt.svg create mode 100644 assets/uswds/images/material-icons/thumb_up_off_alt.svg create mode 100644 assets/uswds/images/material-icons/thumbs_up_down.svg create mode 100644 assets/uswds/images/material-icons/thunderstorm.svg create mode 100644 assets/uswds/images/material-icons/time_to_leave.svg create mode 100644 assets/uswds/images/material-icons/timelapse.svg create mode 100644 assets/uswds/images/material-icons/timeline.svg create mode 100644 assets/uswds/images/material-icons/timer.svg create mode 100644 assets/uswds/images/material-icons/timer_10.svg create mode 100644 assets/uswds/images/material-icons/timer_10_select.svg create mode 100644 assets/uswds/images/material-icons/timer_3.svg create mode 100644 assets/uswds/images/material-icons/timer_3_select.svg create mode 100644 assets/uswds/images/material-icons/timer_off.svg create mode 100644 assets/uswds/images/material-icons/tips_and_updates.svg create mode 100644 assets/uswds/images/material-icons/tire_repair.svg create mode 100644 assets/uswds/images/material-icons/title.svg create mode 100644 assets/uswds/images/material-icons/toc.svg create mode 100644 assets/uswds/images/material-icons/today.svg create mode 100644 assets/uswds/images/material-icons/toggle_off.svg create mode 100644 assets/uswds/images/material-icons/toggle_on.svg create mode 100644 assets/uswds/images/material-icons/token.svg create mode 100644 assets/uswds/images/material-icons/toll.svg create mode 100644 assets/uswds/images/material-icons/tonality.svg create mode 100644 assets/uswds/images/material-icons/topic.svg create mode 100644 assets/uswds/images/material-icons/tornado.svg create mode 100644 assets/uswds/images/material-icons/touch_app.svg create mode 100644 assets/uswds/images/material-icons/tour.svg create mode 100644 assets/uswds/images/material-icons/toys.svg create mode 100644 assets/uswds/images/material-icons/track_changes.svg create mode 100644 assets/uswds/images/material-icons/traffic.svg create mode 100644 assets/uswds/images/material-icons/train.svg create mode 100644 assets/uswds/images/material-icons/tram.svg create mode 100644 assets/uswds/images/material-icons/transcribe.svg create mode 100644 assets/uswds/images/material-icons/transfer_within_a_station.svg create mode 100644 assets/uswds/images/material-icons/transform.svg create mode 100644 assets/uswds/images/material-icons/transgender.svg create mode 100644 assets/uswds/images/material-icons/transit_enterexit.svg create mode 100644 assets/uswds/images/material-icons/translate.svg create mode 100644 assets/uswds/images/material-icons/travel_explore.svg create mode 100644 assets/uswds/images/material-icons/trending_down.svg create mode 100644 assets/uswds/images/material-icons/trending_flat.svg create mode 100644 assets/uswds/images/material-icons/trending_up.svg create mode 100644 assets/uswds/images/material-icons/trip_origin.svg create mode 100644 assets/uswds/images/material-icons/troubleshoot.svg create mode 100644 assets/uswds/images/material-icons/try.svg create mode 100644 assets/uswds/images/material-icons/tsunami.svg create mode 100644 assets/uswds/images/material-icons/tty.svg create mode 100644 assets/uswds/images/material-icons/tune.svg create mode 100644 assets/uswds/images/material-icons/tungsten.svg create mode 100644 assets/uswds/images/material-icons/turn_left.svg create mode 100644 assets/uswds/images/material-icons/turn_right.svg create mode 100644 assets/uswds/images/material-icons/turn_sharp_left.svg create mode 100644 assets/uswds/images/material-icons/turn_sharp_right.svg create mode 100644 assets/uswds/images/material-icons/turn_slight_left.svg create mode 100644 assets/uswds/images/material-icons/turn_slight_right.svg create mode 100644 assets/uswds/images/material-icons/turned_in.svg create mode 100644 assets/uswds/images/material-icons/turned_in_not.svg create mode 100644 assets/uswds/images/material-icons/tv.svg create mode 100644 assets/uswds/images/material-icons/tv_off.svg create mode 100644 assets/uswds/images/material-icons/two_wheeler.svg create mode 100644 assets/uswds/images/material-icons/type_specimen.svg create mode 100644 assets/uswds/images/material-icons/u_turn_left.svg create mode 100644 assets/uswds/images/material-icons/u_turn_right.svg create mode 100644 assets/uswds/images/material-icons/umbrella.svg create mode 100644 assets/uswds/images/material-icons/unarchive.svg create mode 100644 assets/uswds/images/material-icons/undo.svg create mode 100644 assets/uswds/images/material-icons/unfold_less.svg create mode 100644 assets/uswds/images/material-icons/unfold_less_double.svg create mode 100644 assets/uswds/images/material-icons/unfold_more.svg create mode 100644 assets/uswds/images/material-icons/unfold_more_double.svg create mode 100644 assets/uswds/images/material-icons/unpublished.svg create mode 100644 assets/uswds/images/material-icons/unsubscribe.svg create mode 100644 assets/uswds/images/material-icons/upcoming.svg create mode 100644 assets/uswds/images/material-icons/update.svg create mode 100644 assets/uswds/images/material-icons/update_disabled.svg create mode 100644 assets/uswds/images/material-icons/upgrade.svg create mode 100644 assets/uswds/images/material-icons/upload.svg create mode 100644 assets/uswds/images/material-icons/upload_file.svg create mode 100644 assets/uswds/images/material-icons/usb.svg create mode 100644 assets/uswds/images/material-icons/usb_off.svg create mode 100644 assets/uswds/images/material-icons/vaccines.svg create mode 100644 assets/uswds/images/material-icons/vape_free.svg create mode 100644 assets/uswds/images/material-icons/vaping_rooms.svg create mode 100644 assets/uswds/images/material-icons/verified.svg create mode 100644 assets/uswds/images/material-icons/verified_user.svg create mode 100644 assets/uswds/images/material-icons/vertical_align_bottom.svg create mode 100644 assets/uswds/images/material-icons/vertical_align_center.svg create mode 100644 assets/uswds/images/material-icons/vertical_align_top.svg create mode 100644 assets/uswds/images/material-icons/vertical_distribute.svg create mode 100644 assets/uswds/images/material-icons/vertical_shades.svg create mode 100644 assets/uswds/images/material-icons/vertical_shades_closed.svg create mode 100644 assets/uswds/images/material-icons/vertical_split.svg create mode 100644 assets/uswds/images/material-icons/vibration.svg create mode 100644 assets/uswds/images/material-icons/video_call.svg create mode 100644 assets/uswds/images/material-icons/video_camera_back.svg create mode 100644 assets/uswds/images/material-icons/video_camera_front.svg create mode 100644 assets/uswds/images/material-icons/video_chat.svg create mode 100644 assets/uswds/images/material-icons/video_file.svg create mode 100644 assets/uswds/images/material-icons/video_label.svg create mode 100644 assets/uswds/images/material-icons/video_library.svg create mode 100644 assets/uswds/images/material-icons/video_settings.svg create mode 100644 assets/uswds/images/material-icons/video_stable.svg create mode 100644 assets/uswds/images/material-icons/videocam.svg create mode 100644 assets/uswds/images/material-icons/videocam_off.svg create mode 100644 assets/uswds/images/material-icons/videogame_asset.svg create mode 100644 assets/uswds/images/material-icons/videogame_asset_off.svg create mode 100644 assets/uswds/images/material-icons/view_agenda.svg create mode 100644 assets/uswds/images/material-icons/view_array.svg create mode 100644 assets/uswds/images/material-icons/view_carousel.svg create mode 100644 assets/uswds/images/material-icons/view_column.svg create mode 100644 assets/uswds/images/material-icons/view_comfy.svg create mode 100644 assets/uswds/images/material-icons/view_comfy_alt.svg create mode 100644 assets/uswds/images/material-icons/view_compact.svg create mode 100644 assets/uswds/images/material-icons/view_compact_alt.svg create mode 100644 assets/uswds/images/material-icons/view_cozy.svg create mode 100644 assets/uswds/images/material-icons/view_day.svg create mode 100644 assets/uswds/images/material-icons/view_headline.svg create mode 100644 assets/uswds/images/material-icons/view_in_ar.svg create mode 100644 assets/uswds/images/material-icons/view_kanban.svg create mode 100644 assets/uswds/images/material-icons/view_list.svg create mode 100644 assets/uswds/images/material-icons/view_module.svg create mode 100644 assets/uswds/images/material-icons/view_quilt.svg create mode 100644 assets/uswds/images/material-icons/view_sidebar.svg create mode 100644 assets/uswds/images/material-icons/view_stream.svg create mode 100644 assets/uswds/images/material-icons/view_timeline.svg create mode 100644 assets/uswds/images/material-icons/view_week.svg create mode 100644 assets/uswds/images/material-icons/vignette.svg create mode 100644 assets/uswds/images/material-icons/villa.svg create mode 100644 assets/uswds/images/material-icons/visibility.svg create mode 100644 assets/uswds/images/material-icons/visibility_off.svg create mode 100644 assets/uswds/images/material-icons/voice_chat.svg create mode 100644 assets/uswds/images/material-icons/voice_over_off.svg create mode 100644 assets/uswds/images/material-icons/voicemail.svg create mode 100644 assets/uswds/images/material-icons/volcano.svg create mode 100644 assets/uswds/images/material-icons/volume_down.svg create mode 100644 assets/uswds/images/material-icons/volume_mute.svg create mode 100644 assets/uswds/images/material-icons/volume_off.svg create mode 100644 assets/uswds/images/material-icons/volume_up.svg create mode 100644 assets/uswds/images/material-icons/volunteer_activism.svg create mode 100644 assets/uswds/images/material-icons/vpn_key.svg create mode 100644 assets/uswds/images/material-icons/vpn_key_off.svg create mode 100644 assets/uswds/images/material-icons/vpn_lock.svg create mode 100644 assets/uswds/images/material-icons/vrpano.svg create mode 100644 assets/uswds/images/material-icons/wallet.svg create mode 100644 assets/uswds/images/material-icons/wallpaper.svg create mode 100644 assets/uswds/images/material-icons/warehouse.svg create mode 100644 assets/uswds/images/material-icons/warning.svg create mode 100644 assets/uswds/images/material-icons/warning_amber.svg create mode 100644 assets/uswds/images/material-icons/wash.svg create mode 100644 assets/uswds/images/material-icons/watch.svg create mode 100644 assets/uswds/images/material-icons/watch_later.svg create mode 100644 assets/uswds/images/material-icons/watch_off.svg create mode 100644 assets/uswds/images/material-icons/water.svg create mode 100644 assets/uswds/images/material-icons/water_damage.svg create mode 100644 assets/uswds/images/material-icons/water_drop.svg create mode 100644 assets/uswds/images/material-icons/waterfall_chart.svg create mode 100644 assets/uswds/images/material-icons/waves.svg create mode 100644 assets/uswds/images/material-icons/waving_hand.svg create mode 100644 assets/uswds/images/material-icons/wb_auto.svg create mode 100644 assets/uswds/images/material-icons/wb_cloudy.svg create mode 100644 assets/uswds/images/material-icons/wb_incandescent.svg create mode 100644 assets/uswds/images/material-icons/wb_iridescent.svg create mode 100644 assets/uswds/images/material-icons/wb_shade.svg create mode 100644 assets/uswds/images/material-icons/wb_sunny.svg create mode 100644 assets/uswds/images/material-icons/wb_twilight.svg create mode 100644 assets/uswds/images/material-icons/wc.svg create mode 100644 assets/uswds/images/material-icons/web.svg create mode 100644 assets/uswds/images/material-icons/web_asset.svg create mode 100644 assets/uswds/images/material-icons/web_asset_off.svg create mode 100644 assets/uswds/images/material-icons/web_stories.svg create mode 100644 assets/uswds/images/material-icons/webhook.svg create mode 100644 assets/uswds/images/material-icons/weekend.svg create mode 100644 assets/uswds/images/material-icons/west.svg create mode 100644 assets/uswds/images/material-icons/whatshot.svg create mode 100644 assets/uswds/images/material-icons/wheelchair_pickup.svg create mode 100644 assets/uswds/images/material-icons/where_to_vote.svg create mode 100644 assets/uswds/images/material-icons/widgets.svg create mode 100644 assets/uswds/images/material-icons/width_full.svg create mode 100644 assets/uswds/images/material-icons/width_normal.svg create mode 100644 assets/uswds/images/material-icons/width_wide.svg create mode 100644 assets/uswds/images/material-icons/wifi.svg create mode 100644 assets/uswds/images/material-icons/wifi_1_bar.svg create mode 100644 assets/uswds/images/material-icons/wifi_2_bar.svg create mode 100644 assets/uswds/images/material-icons/wifi_calling.svg create mode 100644 assets/uswds/images/material-icons/wifi_calling_3.svg create mode 100644 assets/uswds/images/material-icons/wifi_channel.svg create mode 100644 assets/uswds/images/material-icons/wifi_find.svg create mode 100644 assets/uswds/images/material-icons/wifi_lock.svg create mode 100644 assets/uswds/images/material-icons/wifi_off.svg create mode 100644 assets/uswds/images/material-icons/wifi_password.svg create mode 100644 assets/uswds/images/material-icons/wifi_protected_setup.svg create mode 100644 assets/uswds/images/material-icons/wifi_tethering.svg create mode 100644 assets/uswds/images/material-icons/wifi_tethering_error.svg create mode 100644 assets/uswds/images/material-icons/wifi_tethering_off.svg create mode 100644 assets/uswds/images/material-icons/wind_power.svg create mode 100644 assets/uswds/images/material-icons/window.svg create mode 100644 assets/uswds/images/material-icons/wine_bar.svg create mode 100644 assets/uswds/images/material-icons/woman.svg create mode 100644 assets/uswds/images/material-icons/woman_2.svg create mode 100644 assets/uswds/images/material-icons/work.svg create mode 100644 assets/uswds/images/material-icons/work_history.svg create mode 100644 assets/uswds/images/material-icons/work_off.svg create mode 100644 assets/uswds/images/material-icons/work_outline.svg create mode 100644 assets/uswds/images/material-icons/workspace_premium.svg create mode 100644 assets/uswds/images/material-icons/workspaces.svg create mode 100644 assets/uswds/images/material-icons/wrap_text.svg create mode 100644 assets/uswds/images/material-icons/wrong_location.svg create mode 100644 assets/uswds/images/material-icons/wysiwyg.svg create mode 100644 assets/uswds/images/material-icons/yard.svg create mode 100644 assets/uswds/images/material-icons/youtube_searched_for.svg create mode 100644 assets/uswds/images/material-icons/zoom_in.svg create mode 100644 assets/uswds/images/material-icons/zoom_in_map.svg create mode 100644 assets/uswds/images/material-icons/zoom_out.svg create mode 100644 assets/uswds/images/material-icons/zoom_out_map.svg create mode 100644 assets/uswds/images/sprite.svg create mode 100644 assets/uswds/images/us_flag.svg create mode 100644 assets/uswds/images/us_flag_small.png create mode 100644 assets/uswds/images/usa-icons-bg/add--white.svg create mode 100644 assets/uswds/images/usa-icons-bg/arrow_back--white.svg create mode 100644 assets/uswds/images/usa-icons-bg/calendar_today--white.svg create mode 100644 assets/uswds/images/usa-icons-bg/check--blue-60v.svg create mode 100644 assets/uswds/images/usa-icons-bg/check_circle--white.svg create mode 100644 assets/uswds/images/usa-icons-bg/close--white.svg create mode 100644 assets/uswds/images/usa-icons-bg/error--white.svg create mode 100644 assets/uswds/images/usa-icons-bg/expand_less--white.svg create mode 100644 assets/uswds/images/usa-icons-bg/expand_more--blue-warm-70v.svg create mode 100644 assets/uswds/images/usa-icons-bg/expand_more--white.svg create mode 100644 assets/uswds/images/usa-icons-bg/info--white.svg create mode 100644 assets/uswds/images/usa-icons-bg/launch--white.svg create mode 100644 assets/uswds/images/usa-icons-bg/navigate_before--white.svg create mode 100644 assets/uswds/images/usa-icons-bg/navigate_far_before--white.svg create mode 100644 assets/uswds/images/usa-icons-bg/navigate_far_next--white.svg create mode 100644 assets/uswds/images/usa-icons-bg/navigate_next--white.svg create mode 100644 assets/uswds/images/usa-icons-bg/remove--white.svg create mode 100644 assets/uswds/images/usa-icons-bg/search--white.svg create mode 100644 assets/uswds/images/usa-icons-bg/warning--white.svg create mode 100644 assets/uswds/images/usa-icons/accessibility_new.svg create mode 100644 assets/uswds/images/usa-icons/accessible_forward.svg create mode 100644 assets/uswds/images/usa-icons/account_balance.svg create mode 100644 assets/uswds/images/usa-icons/account_box.svg create mode 100644 assets/uswds/images/usa-icons/account_circle.svg create mode 100644 assets/uswds/images/usa-icons/add.svg create mode 100644 assets/uswds/images/usa-icons/add_circle.svg create mode 100644 assets/uswds/images/usa-icons/add_circle_outline.svg create mode 100644 assets/uswds/images/usa-icons/alarm.svg create mode 100644 assets/uswds/images/usa-icons/alternate_email.svg create mode 100644 assets/uswds/images/usa-icons/announcement.svg create mode 100644 assets/uswds/images/usa-icons/api.svg create mode 100644 assets/uswds/images/usa-icons/arrow_back.svg create mode 100644 assets/uswds/images/usa-icons/arrow_downward.svg create mode 100644 assets/uswds/images/usa-icons/arrow_drop_down.svg create mode 100644 assets/uswds/images/usa-icons/arrow_drop_up.svg create mode 100644 assets/uswds/images/usa-icons/arrow_forward.svg create mode 100644 assets/uswds/images/usa-icons/arrow_upward.svg create mode 100644 assets/uswds/images/usa-icons/assessment.svg create mode 100644 assets/uswds/images/usa-icons/attach_file.svg create mode 100644 assets/uswds/images/usa-icons/attach_money.svg create mode 100644 assets/uswds/images/usa-icons/autorenew.svg create mode 100644 assets/uswds/images/usa-icons/backpack.svg create mode 100644 assets/uswds/images/usa-icons/bathtub.svg create mode 100644 assets/uswds/images/usa-icons/bedding.svg create mode 100644 assets/uswds/images/usa-icons/bookmark.svg create mode 100644 assets/uswds/images/usa-icons/bug_report.svg create mode 100644 assets/uswds/images/usa-icons/build.svg create mode 100644 assets/uswds/images/usa-icons/calendar_today.svg create mode 100644 assets/uswds/images/usa-icons/campaign.svg create mode 100644 assets/uswds/images/usa-icons/camping.svg create mode 100644 assets/uswds/images/usa-icons/cancel.svg create mode 100644 assets/uswds/images/usa-icons/chat.svg create mode 100644 assets/uswds/images/usa-icons/check.svg create mode 100644 assets/uswds/images/usa-icons/check_box_outline_blank.svg create mode 100644 assets/uswds/images/usa-icons/check_circle.svg create mode 100644 assets/uswds/images/usa-icons/check_circle_outline.svg create mode 100644 assets/uswds/images/usa-icons/checkroom.svg create mode 100644 assets/uswds/images/usa-icons/chevron_left.svg create mode 100644 assets/uswds/images/usa-icons/chevron_right.svg create mode 100644 assets/uswds/images/usa-icons/clean_hands.svg create mode 100644 assets/uswds/images/usa-icons/close.svg create mode 100644 assets/uswds/images/usa-icons/closed_caption.svg create mode 100644 assets/uswds/images/usa-icons/clothes.svg create mode 100644 assets/uswds/images/usa-icons/cloud.svg create mode 100644 assets/uswds/images/usa-icons/code.svg create mode 100644 assets/uswds/images/usa-icons/comment.svg create mode 100644 assets/uswds/images/usa-icons/connect_without_contact.svg create mode 100644 assets/uswds/images/usa-icons/construction.svg create mode 100644 assets/uswds/images/usa-icons/construction_worker.svg create mode 100644 assets/uswds/images/usa-icons/contact_page.svg create mode 100644 assets/uswds/images/usa-icons/content_copy.svg create mode 100644 assets/uswds/images/usa-icons/coronavirus.svg create mode 100644 assets/uswds/images/usa-icons/credit_card.svg create mode 100644 assets/uswds/images/usa-icons/deck.svg create mode 100644 assets/uswds/images/usa-icons/delete.svg create mode 100644 assets/uswds/images/usa-icons/device_thermostat.svg create mode 100644 assets/uswds/images/usa-icons/directions.svg create mode 100644 assets/uswds/images/usa-icons/directions_bike.svg create mode 100644 assets/uswds/images/usa-icons/directions_bus.svg create mode 100644 assets/uswds/images/usa-icons/directions_car.svg create mode 100644 assets/uswds/images/usa-icons/directions_walk.svg create mode 100644 assets/uswds/images/usa-icons/do_not_disturb.svg create mode 100644 assets/uswds/images/usa-icons/do_not_touch.svg create mode 100644 assets/uswds/images/usa-icons/drag_handle.svg create mode 100644 assets/uswds/images/usa-icons/eco.svg create mode 100644 assets/uswds/images/usa-icons/edit.svg create mode 100644 assets/uswds/images/usa-icons/electrical_services.svg create mode 100644 assets/uswds/images/usa-icons/emoji_events.svg create mode 100644 assets/uswds/images/usa-icons/error.svg create mode 100644 assets/uswds/images/usa-icons/error_outline.svg create mode 100644 assets/uswds/images/usa-icons/event.svg create mode 100644 assets/uswds/images/usa-icons/expand_less.svg create mode 100644 assets/uswds/images/usa-icons/expand_more.svg create mode 100644 assets/uswds/images/usa-icons/facebook.svg create mode 100644 assets/uswds/images/usa-icons/fast_forward.svg create mode 100644 assets/uswds/images/usa-icons/fast_rewind.svg create mode 100644 assets/uswds/images/usa-icons/favorite.svg create mode 100644 assets/uswds/images/usa-icons/favorite_border.svg create mode 100644 assets/uswds/images/usa-icons/fax.svg create mode 100644 assets/uswds/images/usa-icons/file_download.svg create mode 100644 assets/uswds/images/usa-icons/file_present.svg create mode 100644 assets/uswds/images/usa-icons/file_upload.svg create mode 100644 assets/uswds/images/usa-icons/filter_alt.svg create mode 100644 assets/uswds/images/usa-icons/filter_list.svg create mode 100644 assets/uswds/images/usa-icons/fingerprint.svg create mode 100644 assets/uswds/images/usa-icons/first_page.svg create mode 100644 assets/uswds/images/usa-icons/flag.svg create mode 100644 assets/uswds/images/usa-icons/flickr.svg create mode 100644 assets/uswds/images/usa-icons/flight.svg create mode 100644 assets/uswds/images/usa-icons/flooding.svg create mode 100644 assets/uswds/images/usa-icons/folder.svg create mode 100644 assets/uswds/images/usa-icons/folder_open.svg create mode 100644 assets/uswds/images/usa-icons/format_quote.svg create mode 100644 assets/uswds/images/usa-icons/format_size.svg create mode 100644 assets/uswds/images/usa-icons/forum.svg create mode 100644 assets/uswds/images/usa-icons/github.svg create mode 100644 assets/uswds/images/usa-icons/grid_view.svg create mode 100644 assets/uswds/images/usa-icons/group_add.svg create mode 100644 assets/uswds/images/usa-icons/groups.svg create mode 100644 assets/uswds/images/usa-icons/hearing.svg create mode 100644 assets/uswds/images/usa-icons/help.svg create mode 100644 assets/uswds/images/usa-icons/help_outline.svg create mode 100644 assets/uswds/images/usa-icons/highlight_off.svg create mode 100644 assets/uswds/images/usa-icons/history.svg create mode 100644 assets/uswds/images/usa-icons/home.svg create mode 100644 assets/uswds/images/usa-icons/hospital.svg create mode 100644 assets/uswds/images/usa-icons/hotel.svg create mode 100644 assets/uswds/images/usa-icons/hourglass_empty.svg create mode 100644 assets/uswds/images/usa-icons/hurricane.svg create mode 100644 assets/uswds/images/usa-icons/identification.svg create mode 100644 assets/uswds/images/usa-icons/image.svg create mode 100644 assets/uswds/images/usa-icons/info.svg create mode 100644 assets/uswds/images/usa-icons/info_outline.svg create mode 100644 assets/uswds/images/usa-icons/insights.svg create mode 100644 assets/uswds/images/usa-icons/instagram.svg create mode 100644 assets/uswds/images/usa-icons/keyboard.svg create mode 100644 assets/uswds/images/usa-icons/label.svg create mode 100644 assets/uswds/images/usa-icons/language.svg create mode 100644 assets/uswds/images/usa-icons/last_page.svg create mode 100644 assets/uswds/images/usa-icons/launch.svg create mode 100644 assets/uswds/images/usa-icons/lightbulb.svg create mode 100644 assets/uswds/images/usa-icons/lightbulb_outline.svg create mode 100644 assets/uswds/images/usa-icons/link.svg create mode 100644 assets/uswds/images/usa-icons/link_off.svg create mode 100644 assets/uswds/images/usa-icons/linkedin.svg create mode 100644 assets/uswds/images/usa-icons/list.svg create mode 100644 assets/uswds/images/usa-icons/local_cafe.svg create mode 100644 assets/uswds/images/usa-icons/local_fire_department.svg create mode 100644 assets/uswds/images/usa-icons/local_gas_station.svg create mode 100644 assets/uswds/images/usa-icons/local_grocery_store.svg create mode 100644 assets/uswds/images/usa-icons/local_hospital.svg create mode 100644 assets/uswds/images/usa-icons/local_laundry_service.svg create mode 100644 assets/uswds/images/usa-icons/local_library.svg create mode 100644 assets/uswds/images/usa-icons/local_offer.svg create mode 100644 assets/uswds/images/usa-icons/local_parking.svg create mode 100644 assets/uswds/images/usa-icons/local_pharmacy.svg create mode 100644 assets/uswds/images/usa-icons/local_police.svg create mode 100644 assets/uswds/images/usa-icons/local_taxi.svg create mode 100644 assets/uswds/images/usa-icons/location_city.svg create mode 100644 assets/uswds/images/usa-icons/location_on.svg create mode 100644 assets/uswds/images/usa-icons/lock.svg create mode 100644 assets/uswds/images/usa-icons/lock_open.svg create mode 100644 assets/uswds/images/usa-icons/lock_outline.svg create mode 100644 assets/uswds/images/usa-icons/login.svg create mode 100644 assets/uswds/images/usa-icons/logout.svg create mode 100644 assets/uswds/images/usa-icons/loop.svg create mode 100644 assets/uswds/images/usa-icons/mail.svg create mode 100644 assets/uswds/images/usa-icons/mail_outline.svg create mode 100644 assets/uswds/images/usa-icons/map.svg create mode 100644 assets/uswds/images/usa-icons/masks.svg create mode 100644 assets/uswds/images/usa-icons/medical_services.svg create mode 100644 assets/uswds/images/usa-icons/menu.svg create mode 100644 assets/uswds/images/usa-icons/military_tech.svg create mode 100644 assets/uswds/images/usa-icons/more_horiz.svg create mode 100644 assets/uswds/images/usa-icons/more_vert.svg create mode 100644 assets/uswds/images/usa-icons/my_location.svg create mode 100644 assets/uswds/images/usa-icons/navigate_before.svg create mode 100644 assets/uswds/images/usa-icons/navigate_far_before.svg create mode 100644 assets/uswds/images/usa-icons/navigate_far_next.svg create mode 100644 assets/uswds/images/usa-icons/navigate_next.svg create mode 100644 assets/uswds/images/usa-icons/near_me.svg create mode 100644 assets/uswds/images/usa-icons/notifications.svg create mode 100644 assets/uswds/images/usa-icons/notifications_active.svg create mode 100644 assets/uswds/images/usa-icons/notifications_none.svg create mode 100644 assets/uswds/images/usa-icons/notifications_off.svg create mode 100644 assets/uswds/images/usa-icons/park.svg create mode 100644 assets/uswds/images/usa-icons/people.svg create mode 100644 assets/uswds/images/usa-icons/person.svg create mode 100644 assets/uswds/images/usa-icons/pets.svg create mode 100644 assets/uswds/images/usa-icons/phone.svg create mode 100644 assets/uswds/images/usa-icons/photo_camera.svg create mode 100644 assets/uswds/images/usa-icons/print.svg create mode 100644 assets/uswds/images/usa-icons/priority_high.svg create mode 100644 assets/uswds/images/usa-icons/public.svg create mode 100644 assets/uswds/images/usa-icons/push_pin.svg create mode 100644 assets/uswds/images/usa-icons/radio_button_unchecked.svg create mode 100644 assets/uswds/images/usa-icons/rain.svg create mode 100644 assets/uswds/images/usa-icons/reduce_capacity.svg create mode 100644 assets/uswds/images/usa-icons/remove.svg create mode 100644 assets/uswds/images/usa-icons/remove_circle.svg create mode 100644 assets/uswds/images/usa-icons/report.svg create mode 100644 assets/uswds/images/usa-icons/restaurant.svg create mode 100644 assets/uswds/images/usa-icons/rss_feed.svg create mode 100644 assets/uswds/images/usa-icons/safety_divider.svg create mode 100644 assets/uswds/images/usa-icons/sanitizer.svg create mode 100644 assets/uswds/images/usa-icons/save_alt.svg create mode 100644 assets/uswds/images/usa-icons/schedule.svg create mode 100644 assets/uswds/images/usa-icons/school.svg create mode 100644 assets/uswds/images/usa-icons/science.svg create mode 100644 assets/uswds/images/usa-icons/search.svg create mode 100644 assets/uswds/images/usa-icons/security.svg create mode 100644 assets/uswds/images/usa-icons/send.svg create mode 100644 assets/uswds/images/usa-icons/sentiment_dissatisfied.svg create mode 100644 assets/uswds/images/usa-icons/sentiment_neutral.svg create mode 100644 assets/uswds/images/usa-icons/sentiment_satisfied.svg create mode 100644 assets/uswds/images/usa-icons/sentiment_satisfied_alt.svg create mode 100644 assets/uswds/images/usa-icons/sentiment_very_dissatisfied.svg create mode 100644 assets/uswds/images/usa-icons/settings.svg create mode 100644 assets/uswds/images/usa-icons/severe_weather.svg create mode 100644 assets/uswds/images/usa-icons/share.svg create mode 100644 assets/uswds/images/usa-icons/shield.svg create mode 100644 assets/uswds/images/usa-icons/shopping_basket.svg create mode 100644 assets/uswds/images/usa-icons/snow.svg create mode 100644 assets/uswds/images/usa-icons/soap.svg create mode 100644 assets/uswds/images/usa-icons/social_distance.svg create mode 100644 assets/uswds/images/usa-icons/sort_arrow.svg create mode 100644 assets/uswds/images/usa-icons/spellcheck.svg create mode 100644 assets/uswds/images/usa-icons/star.svg create mode 100644 assets/uswds/images/usa-icons/star_half.svg create mode 100644 assets/uswds/images/usa-icons/star_outline.svg create mode 100644 assets/uswds/images/usa-icons/store.svg create mode 100644 assets/uswds/images/usa-icons/support.svg create mode 100644 assets/uswds/images/usa-icons/support_agent.svg create mode 100644 assets/uswds/images/usa-icons/text_fields.svg create mode 100644 assets/uswds/images/usa-icons/thumb_down_alt.svg create mode 100644 assets/uswds/images/usa-icons/thumb_up_alt.svg create mode 100644 assets/uswds/images/usa-icons/timer.svg create mode 100644 assets/uswds/images/usa-icons/toggle_off.svg create mode 100644 assets/uswds/images/usa-icons/toggle_on.svg create mode 100644 assets/uswds/images/usa-icons/topic.svg create mode 100644 assets/uswds/images/usa-icons/tornado.svg create mode 100644 assets/uswds/images/usa-icons/translate.svg create mode 100644 assets/uswds/images/usa-icons/trending_down.svg create mode 100644 assets/uswds/images/usa-icons/trending_up.svg create mode 100644 assets/uswds/images/usa-icons/twitter.svg create mode 100644 assets/uswds/images/usa-icons/undo.svg create mode 100644 assets/uswds/images/usa-icons/unfold_less.svg create mode 100644 assets/uswds/images/usa-icons/unfold_more.svg create mode 100644 assets/uswds/images/usa-icons/update.svg create mode 100644 assets/uswds/images/usa-icons/upload_file.svg create mode 100644 assets/uswds/images/usa-icons/verified.svg create mode 100644 assets/uswds/images/usa-icons/verified_user.svg create mode 100644 assets/uswds/images/usa-icons/visibility.svg create mode 100644 assets/uswds/images/usa-icons/visibility_off.svg create mode 100644 assets/uswds/images/usa-icons/volume_off.svg create mode 100644 assets/uswds/images/usa-icons/warning.svg create mode 100644 assets/uswds/images/usa-icons/wash.svg create mode 100644 assets/uswds/images/usa-icons/wifi.svg create mode 100644 assets/uswds/images/usa-icons/work.svg create mode 100644 assets/uswds/images/usa-icons/x.svg create mode 100644 assets/uswds/images/usa-icons/youtube.svg create mode 100644 assets/uswds/images/usa-icons/zoom_in.svg create mode 100644 assets/uswds/images/usa-icons/zoom_out.svg create mode 100644 assets/uswds/images/usa-icons/zoom_out_map.svg create mode 100644 assets/uswds/images/uswds-icons/bedding.svg create mode 100644 assets/uswds/images/uswds-icons/camping.svg create mode 100644 assets/uswds/images/uswds-icons/chevron_left.svg create mode 100644 assets/uswds/images/uswds-icons/chevron_right.svg create mode 100644 assets/uswds/images/uswds-icons/clothes.svg create mode 100644 assets/uswds/images/uswds-icons/construction_worker.svg create mode 100644 assets/uswds/images/uswds-icons/flickr.svg create mode 100644 assets/uswds/images/uswds-icons/flooding.svg create mode 100644 assets/uswds/images/uswds-icons/github.svg create mode 100644 assets/uswds/images/uswds-icons/hospital.svg create mode 100644 assets/uswds/images/uswds-icons/hurricane.svg create mode 100644 assets/uswds/images/uswds-icons/identification.svg create mode 100644 assets/uswds/images/uswds-icons/instagram.svg create mode 100644 assets/uswds/images/uswds-icons/linkedin.svg create mode 100644 assets/uswds/images/uswds-icons/navigate_far_before.svg create mode 100644 assets/uswds/images/uswds-icons/navigate_far_next.svg create mode 100644 assets/uswds/images/uswds-icons/rain.svg create mode 100644 assets/uswds/images/uswds-icons/severe_weather.svg create mode 100644 assets/uswds/images/uswds-icons/snow.svg create mode 100644 assets/uswds/images/uswds-icons/sort_arrow.svg create mode 100644 assets/uswds/images/uswds-icons/tornado.svg create mode 100644 assets/uswds/images/uswds-icons/twitter.svg create mode 100644 assets/uswds/images/uswds-icons/x.svg create mode 100644 assets/uswds/images/uswds-icons/youtube.svg create mode 100644 assets/uswds/js/uswds-init.js create mode 100644 assets/uswds/js/uswds-init.min.js create mode 100644 assets/uswds/js/uswds-init.min.js.map create mode 100644 assets/uswds/js/uswds.js create mode 100644 assets/uswds/js/uswds.min.js create mode 100644 assets/uswds/js/uswds.min.js.map create mode 100644 config/rename-material-icons.sh create mode 100644 gulpfile.js create mode 100644 index.html create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 packages/_usa-password/src/index.js create mode 100644 packages/_usa-password/src/usa-password.json create mode 100644 packages/_usa-password/src/usa-password.twig create mode 100644 packages/templates/usa-address-form.twig create mode 100644 packages/templates/usa-base/_base.twig create mode 100644 packages/templates/usa-base/includes/_banner.twig create mode 100644 packages/templates/usa-base/includes/_footer.twig create mode 100644 packages/templates/usa-base/includes/_header.twig create mode 100644 packages/templates/usa-base/includes/_identifier.twig create mode 100644 packages/templates/usa-base/includes/_skipnav.twig create mode 100644 packages/templates/usa-create-account/_usa-create-account-inner.twig create mode 100644 packages/templates/usa-create-account/usa-create-account.json create mode 100644 packages/templates/usa-create-account/usa-create-account.stories.js create mode 100644 packages/templates/usa-create-account/usa-create-account.twig create mode 100644 packages/templates/usa-create-account/usa-create-account~lang-es.json create mode 100644 packages/templates/usa-documentation/includes/_usa-docs-inner.twig create mode 100644 packages/templates/usa-documentation/usa-docs.json create mode 100644 packages/templates/usa-documentation/usa-docs.stories.js create mode 100644 packages/templates/usa-documentation/usa-docs.twig create mode 100644 packages/templates/usa-error/usa-error.json create mode 100644 packages/templates/usa-error/usa-error.stories.js create mode 100644 packages/templates/usa-error/usa-error.twig create mode 100644 packages/templates/usa-error/usa-error~lang-es.json create mode 100644 packages/templates/usa-landing/includes/_usa-landing-inner.twig create mode 100644 packages/templates/usa-landing/usa-landing.json create mode 100644 packages/templates/usa-landing/usa-landing.stories.js create mode 100644 packages/templates/usa-landing/usa-landing.twig create mode 100644 packages/templates/usa-name-form.twig create mode 100644 packages/templates/usa-password-reset-form.twig create mode 100644 packages/templates/usa-sign-in/includes/_max.twig create mode 100644 packages/templates/usa-sign-in/includes/_usa-sign-in-inner.twig create mode 100644 packages/templates/usa-sign-in/includes/_usa-sign-in-multiple-inner.twig create mode 100644 packages/templates/usa-sign-in/includes/_value-props.twig create mode 100644 packages/templates/usa-sign-in/usa-sign-in--multiple/usa-sign-in--multiple.json create mode 100644 packages/templates/usa-sign-in/usa-sign-in--multiple/usa-sign-in--multiple.twig create mode 100644 packages/templates/usa-sign-in/usa-sign-in--multiple/usa-sign-in--multiple~lang-es.json create mode 100644 packages/templates/usa-sign-in/usa-sign-in-form/usa-sign-in-form.twig create mode 100644 packages/templates/usa-sign-in/usa-sign-in.json create mode 100644 packages/templates/usa-sign-in/usa-sign-in.stories.js create mode 100644 packages/templates/usa-sign-in/usa-sign-in.twig create mode 100644 packages/templates/usa-sign-in/usa-sign-in~lang-es.json create mode 100644 packages/usa-accordion/_index.scss create mode 100644 packages/usa-accordion/src/content/index.js create mode 100644 packages/usa-accordion/src/content/usa-accordion.json create mode 100644 packages/usa-accordion/src/content/usa-accordion~bordered.json create mode 100644 packages/usa-accordion/src/content/usa-accordion~multiselectable.json create mode 100644 packages/usa-accordion/src/index.js create mode 100644 packages/usa-accordion/src/styles/_index.scss create mode 100644 packages/usa-accordion/src/styles/_usa-accordion.scss create mode 100644 packages/usa-accordion/src/test/accordion.spec.js create mode 100644 packages/usa-accordion/src/test/template.html create mode 100644 packages/usa-accordion/src/test/test-patterns/test-accordion-icon.twig create mode 100644 packages/usa-accordion/src/usa-accordion.stories.js create mode 100644 packages/usa-accordion/src/usa-accordion.twig create mode 100644 packages/usa-add-aspect/_index.scss create mode 100644 packages/usa-add-aspect/src/test/test-usa-add-aspect.twig create mode 100644 packages/usa-add-aspect/src/usa-add-aspect.stories.js create mode 100644 packages/usa-add-aspect/src/usa-add-aspect.twig create mode 100644 packages/usa-alert/_index.scss create mode 100644 packages/usa-alert/src/content/index.js create mode 100644 packages/usa-alert/src/content/test-usa-alert-content.json create mode 100644 packages/usa-alert/src/content/usa-alert.json create mode 100644 packages/usa-alert/src/content/usa-alert~emergency.json create mode 100644 packages/usa-alert/src/content/usa-alert~error.json create mode 100644 packages/usa-alert/src/content/usa-alert~info.json create mode 100644 packages/usa-alert/src/content/usa-alert~no-header.json create mode 100644 packages/usa-alert/src/content/usa-alert~no-icon.json create mode 100644 packages/usa-alert/src/content/usa-alert~slim.json create mode 100644 packages/usa-alert/src/content/usa-alert~success.json create mode 100644 packages/usa-alert/src/content/usa-alert~warning.json create mode 100644 packages/usa-alert/src/styles/_index.scss create mode 100644 packages/usa-alert/src/styles/_usa-alert.scss create mode 100644 packages/usa-alert/src/test/test-patterns/test-alert-comparison.twig create mode 100644 packages/usa-alert/src/test/test-patterns/test-alert-in-template.twig create mode 100644 packages/usa-alert/src/test/test-patterns/test-usa-alert-lists.twig create mode 100644 packages/usa-alert/src/usa-alert.stories.js create mode 100644 packages/usa-alert/src/usa-alert.twig create mode 100644 packages/usa-banner/_index.scss create mode 100644 packages/usa-banner/src/content/index.js create mode 100644 packages/usa-banner/src/content/usa-banner.json create mode 100644 packages/usa-banner/src/content/usa-banner~lang-es.json create mode 100644 packages/usa-banner/src/content/usa-banner~mil-lang-es.json create mode 100644 packages/usa-banner/src/content/usa-banner~mil.json create mode 100644 packages/usa-banner/src/img/icon-dot-gov.svg create mode 100644 packages/usa-banner/src/img/icon-https.svg create mode 100644 packages/usa-banner/src/img/lock.svg create mode 100644 packages/usa-banner/src/img/us_flag.svg create mode 100644 packages/usa-banner/src/img/us_flag_small.png create mode 100644 packages/usa-banner/src/index.js create mode 100644 packages/usa-banner/src/styles/_index.scss create mode 100644 packages/usa-banner/src/styles/_usa-banner.scss create mode 100644 packages/usa-banner/src/test/banner.spec.js create mode 100644 packages/usa-banner/src/test/template.html create mode 100644 packages/usa-banner/src/usa-banner.stories.js create mode 100644 packages/usa-banner/src/usa-banner.twig create mode 100644 packages/usa-breadcrumb/_index.scss create mode 100644 packages/usa-breadcrumb/src/content/index.js create mode 100644 packages/usa-breadcrumb/src/content/usa-breadcrumb--wrap.json create mode 100644 packages/usa-breadcrumb/src/content/usa-breadcrumb.json create mode 100644 packages/usa-breadcrumb/src/metadata/usa-breadcrumb--metadata.twig create mode 100644 packages/usa-breadcrumb/src/styles/_index.scss create mode 100644 packages/usa-breadcrumb/src/styles/_usa-breadcrumb.scss create mode 100644 packages/usa-breadcrumb/src/usa-breadcrumb.stories.js create mode 100644 packages/usa-breadcrumb/src/usa-breadcrumb.twig create mode 100644 packages/usa-button-group/_index.scss create mode 100644 packages/usa-button-group/src/content/index.js create mode 100644 packages/usa-button-group/src/content/usa-button-group.json create mode 100644 packages/usa-button-group/src/content/usa-button-group~segmented.json create mode 100644 packages/usa-button-group/src/styles/_index.scss create mode 100644 packages/usa-button-group/src/styles/_usa-button-group.scss create mode 100644 packages/usa-button-group/src/test/test-patterns/test-usa-button-group--nested.twig create mode 100644 packages/usa-button-group/src/test/test-patterns/test-usa-button-group--text-wrapping.twig create mode 100644 packages/usa-button-group/src/usa-button-group.stories.js create mode 100644 packages/usa-button-group/src/usa-button-group.twig create mode 100644 packages/usa-button/_index.scss create mode 100644 packages/usa-button/src/content/index.js create mode 100644 packages/usa-button/src/content/usa-button.json create mode 100644 packages/usa-button/src/content/usa-button~accent-cool.json create mode 100644 packages/usa-button/src/content/usa-button~accent-warm.json create mode 100644 packages/usa-button/src/content/usa-button~base.json create mode 100644 packages/usa-button/src/content/usa-button~big.json create mode 100644 packages/usa-button/src/content/usa-button~outline-inverse.json create mode 100644 packages/usa-button/src/content/usa-button~outline.json create mode 100644 packages/usa-button/src/content/usa-button~secondary.json create mode 100644 packages/usa-button/src/content/usa-button~unstyled.json create mode 100644 packages/usa-button/src/index.js create mode 100644 packages/usa-button/src/styles/_index.scss create mode 100644 packages/usa-button/src/styles/_usa-button.scss create mode 100644 packages/usa-button/src/usa-button--links/usa-button--links.twig create mode 100644 packages/usa-button/src/usa-button.stories.js create mode 100644 packages/usa-button/src/usa-button.twig create mode 100644 packages/usa-card/_index.scss create mode 100644 packages/usa-card/src/content/index.js create mode 100644 packages/usa-card/src/content/usa-card.json create mode 100644 packages/usa-card/src/content/usa-card~flag.json create mode 100644 packages/usa-card/src/content/usa-card~media.json create mode 100644 packages/usa-card/src/content/usa-card~standard.json create mode 100644 packages/usa-card/src/styles/_index.scss create mode 100644 packages/usa-card/src/styles/_usa-card.scss create mode 100644 packages/usa-card/src/test/test-patterns/test-usa-card.json create mode 100644 packages/usa-card/src/usa-card.stories.js create mode 100644 packages/usa-card/src/usa-card.twig create mode 100644 packages/usa-character-count/_index.scss create mode 100644 packages/usa-character-count/src/index.js create mode 100644 packages/usa-character-count/src/styles/_index.scss create mode 100644 packages/usa-character-count/src/styles/_usa-character-count.scss create mode 100644 packages/usa-character-count/src/test/character-count.spec.js create mode 100644 packages/usa-character-count/src/test/character-count.template.html create mode 100644 packages/usa-character-count/src/test/invalid-template-no-message.spec.js create mode 100644 packages/usa-character-count/src/test/invalid-template-no-message.template.html create mode 100644 packages/usa-character-count/src/test/invalid-template-no-wrapper.spec.js create mode 100644 packages/usa-character-count/src/test/invalid-template-no-wrapper.template.html create mode 100644 packages/usa-character-count/src/test/test-patterns/test-usa-character-count--no-form-group.twig create mode 100644 packages/usa-character-count/src/test/test-patterns/test-usa-character-count--no-label.twig create mode 100644 packages/usa-character-count/src/test/valid-template-multiple-validators.spec.js create mode 100644 packages/usa-character-count/src/test/valid-template-multiple-validators.template.html create mode 100644 packages/usa-character-count/src/test/valid-template-no-maxlength.spec.js create mode 100644 packages/usa-character-count/src/test/valid-template-no-maxlength.template.html create mode 100644 packages/usa-character-count/src/usa-character-count.stories.js create mode 100644 packages/usa-character-count/src/usa-character-count.twig create mode 100644 packages/usa-checkbox/_index.scss create mode 100644 packages/usa-checkbox/src/img/checkbox-indeterminate-alt.svg create mode 100644 packages/usa-checkbox/src/img/checkbox-indeterminate.svg create mode 100644 packages/usa-checkbox/src/img/correct8-alt.svg create mode 100644 packages/usa-checkbox/src/img/correct8.svg create mode 100644 packages/usa-checkbox/src/styles/_index.scss create mode 100644 packages/usa-checkbox/src/styles/_usa-checkbox.scss create mode 100644 packages/usa-checkbox/src/test/test-patterns/test-usa-checkbox.twig create mode 100644 packages/usa-checkbox/src/test/test-patterns/test-usa-multi-column-checkboxes.twig create mode 100644 packages/usa-checkbox/src/usa-checkbox--tile.twig create mode 100644 packages/usa-checkbox/src/usa-checkbox.stories.js create mode 100644 packages/usa-checkbox/src/usa-checkbox.twig create mode 100644 packages/usa-checklist/_index.scss create mode 100644 packages/usa-checklist/src/styles/_index.scss create mode 100644 packages/usa-checklist/src/styles/_usa-checklist.scss create mode 100644 packages/usa-checklist/src/usa-checklist.stories.js create mode 100644 packages/usa-checklist/src/usa-checklist.twig create mode 100644 packages/usa-collection/_index.scss create mode 100644 packages/usa-collection/src/styles/_index.scss create mode 100644 packages/usa-collection/src/styles/_usa-collection.scss create mode 100644 packages/usa-collection/src/usa-collection--fancy-date.twig create mode 100644 packages/usa-collection/src/usa-collection--media.twig create mode 100644 packages/usa-collection/src/usa-collection--only-headers.twig create mode 100644 packages/usa-collection/src/usa-collection.stories.js create mode 100644 packages/usa-collection/src/usa-collection.twig create mode 100644 packages/usa-combo-box/_index.scss create mode 100644 packages/usa-combo-box/src/index.js create mode 100644 packages/usa-combo-box/src/styles/_index.scss create mode 100644 packages/usa-combo-box/src/styles/_usa-combo-box.scss create mode 100644 packages/usa-combo-box/src/test/combo-box-change-event.spec.js create mode 100644 packages/usa-combo-box/src/test/combo-box-change-event.template.html create mode 100644 packages/usa-combo-box/src/test/combo-box-default-value.spec.js create mode 100644 packages/usa-combo-box/src/test/combo-box-default-value.template.html create mode 100644 packages/usa-combo-box/src/test/combo-box-disable-filtering.spec.js create mode 100644 packages/usa-combo-box/src/test/combo-box-disable-filtering.template.html create mode 100644 packages/usa-combo-box/src/test/combo-box-disabled.spec.js create mode 100644 packages/usa-combo-box/src/test/combo-box-disabled.template.html create mode 100644 packages/usa-combo-box/src/test/combo-box-filter.spec.js create mode 100644 packages/usa-combo-box/src/test/combo-box-filter.template.html create mode 100644 packages/usa-combo-box/src/test/combo-box-placeholder.spec.js create mode 100644 packages/usa-combo-box/src/test/combo-box-placeholder.template.html create mode 100644 packages/usa-combo-box/src/test/combo-box-subsequent-selection.spec.js create mode 100644 packages/usa-combo-box/src/test/combo-box-subsequent-selection.template.html create mode 100644 packages/usa-combo-box/src/test/combo-box.spec.js create mode 100644 packages/usa-combo-box/src/test/combo-box.template.html create mode 100644 packages/usa-combo-box/src/test/events.js create mode 100644 packages/usa-combo-box/src/test/generateDynamicRegExp.spec.js create mode 100644 packages/usa-combo-box/src/test/invalid-template-no-select.spec.js create mode 100644 packages/usa-combo-box/src/test/invalid-template-no-select.template.html create mode 100644 packages/usa-combo-box/src/test/test-patterns/test-usa-combo-box.twig create mode 100644 packages/usa-combo-box/src/usa-combo-box.json create mode 100644 packages/usa-combo-box/src/usa-combo-box.stories.js create mode 100644 packages/usa-combo-box/src/usa-combo-box.twig create mode 100644 packages/usa-content/_index.scss create mode 100644 packages/usa-content/src/styles/_index.scss create mode 100644 packages/usa-content/src/styles/_usa-content.scss create mode 100644 packages/usa-dark-background/_index.scss create mode 100644 packages/usa-dark-background/src/styles/_index.scss create mode 100644 packages/usa-dark-background/src/styles/_usa-dark-background.scss create mode 100644 packages/usa-date-picker/_index.scss create mode 100644 packages/usa-date-picker/src/index.js create mode 100644 packages/usa-date-picker/src/styles/_index.scss create mode 100644 packages/usa-date-picker/src/styles/_usa-date-picker.scss create mode 100644 packages/usa-date-picker/src/test/date-picker-default-date.spec.js create mode 100644 packages/usa-date-picker/src/test/date-picker-default-date.template.html create mode 100644 packages/usa-date-picker/src/test/date-picker-default-value.spec.js create mode 100644 packages/usa-date-picker/src/test/date-picker-default-value.template.html create mode 100644 packages/usa-date-picker/src/test/date-picker-disabled.spec.js create mode 100644 packages/usa-date-picker/src/test/date-picker-disabled.template.html create mode 100644 packages/usa-date-picker/src/test/date-picker-focus-trap.spec.js create mode 100644 packages/usa-date-picker/src/test/date-picker-min-date-max-date.spec.js create mode 100644 packages/usa-date-picker/src/test/date-picker-min-date-max-date.template.html create mode 100644 packages/usa-date-picker/src/test/date-picker-month-selection.spec.js create mode 100644 packages/usa-date-picker/src/test/date-picker-mousemove.spec.js create mode 100644 packages/usa-date-picker/src/test/date-picker-range-date.spec.js create mode 100644 packages/usa-date-picker/src/test/date-picker-range-date.template.html create mode 100644 packages/usa-date-picker/src/test/date-picker-year-selection.spec.js create mode 100644 packages/usa-date-picker/src/test/date-picker.spec.js create mode 100644 packages/usa-date-picker/src/test/date-picker.template.html create mode 100644 packages/usa-date-picker/src/test/events.js create mode 100644 packages/usa-date-picker/src/test/invalid-template-no-input.spec.js create mode 100644 packages/usa-date-picker/src/test/invalid-template-no-input.template.html create mode 100644 packages/usa-date-picker/src/test/invalid-template-no-wrapper.spec.js create mode 100644 packages/usa-date-picker/src/test/invalid-template-no-wrapper.template.html create mode 100644 packages/usa-date-picker/src/usa-date-picker.stories.js create mode 100644 packages/usa-date-picker/src/usa-date-picker.twig create mode 100644 packages/usa-date-range-picker/_index.scss create mode 100644 packages/usa-date-range-picker/src/date-range-picker.stories.js create mode 100644 packages/usa-date-range-picker/src/index.js create mode 100644 packages/usa-date-range-picker/src/test/date-range-picker-min-date-max-date.spec.js create mode 100644 packages/usa-date-range-picker/src/test/date-range-picker-min-date-max-date.template.html create mode 100644 packages/usa-date-range-picker/src/test/date-range-picker.spec.js create mode 100644 packages/usa-date-range-picker/src/test/date-range-picker.template.html create mode 100644 packages/usa-date-range-picker/src/test/events.js create mode 100644 packages/usa-date-range-picker/src/test/invalid-template-no-input.spec.js create mode 100644 packages/usa-date-range-picker/src/test/invalid-template-no-input.template.html create mode 100644 packages/usa-date-range-picker/src/test/invalid-template-no-wrapper.spec.js create mode 100644 packages/usa-date-range-picker/src/test/invalid-template-no-wrapper.template.html create mode 100644 packages/usa-date-range-picker/src/test/invalid-template-one-input.spec.js create mode 100644 packages/usa-date-range-picker/src/test/invalid-template-one-input.template.html create mode 100644 packages/usa-date-range-picker/src/usa-date-range-picker.twig create mode 100644 packages/usa-display/_index.scss create mode 100644 packages/usa-display/src/styles/_index.scss create mode 100644 packages/usa-display/src/styles/_usa-display.scss create mode 100644 packages/usa-embed-container/_index.scss create mode 100644 packages/usa-embed-container/src/styles/_index.scss create mode 100644 packages/usa-embed-container/src/styles/_usa-embed-container.scss create mode 100644 packages/usa-embed-container/src/usa-embed-container.stories.js create mode 100644 packages/usa-embed-container/src/usa-embed-container.twig create mode 100644 packages/usa-error-message/_index.scss create mode 100644 packages/usa-error-message/src/styles/_index.scss create mode 100644 packages/usa-error-message/src/styles/_usa-error-message.scss create mode 100644 packages/usa-fieldset/_index.scss create mode 100644 packages/usa-fieldset/src/styles/_index.scss create mode 100644 packages/usa-fieldset/src/styles/_usa-fieldset.scss create mode 100644 packages/usa-file-input/_index.scss create mode 100644 packages/usa-file-input/src/content/index.js create mode 100644 packages/usa-file-input/src/content/usa-file-input.json create mode 100644 packages/usa-file-input/src/content/usa-file-input~error.json create mode 100644 packages/usa-file-input/src/content/usa-file-input~multiple.json create mode 100644 packages/usa-file-input/src/content/usa-file-input~specific.json create mode 100644 packages/usa-file-input/src/content/usa-file-input~wildcard.json create mode 100644 packages/usa-file-input/src/img/file-excel.svg create mode 100644 packages/usa-file-input/src/img/file-pdf.svg create mode 100644 packages/usa-file-input/src/img/file-video.svg create mode 100644 packages/usa-file-input/src/img/file-word.svg create mode 100644 packages/usa-file-input/src/img/file.svg create mode 100644 packages/usa-file-input/src/img/loader.gif create mode 100644 packages/usa-file-input/src/img/loader.svg create mode 100644 packages/usa-file-input/src/index.js create mode 100644 packages/usa-file-input/src/styles/_index.scss create mode 100644 packages/usa-file-input/src/styles/_usa-file-input.scss create mode 100644 packages/usa-file-input/src/test/file-input-accepts.spec.js create mode 100644 packages/usa-file-input/src/test/file-input-disabled.spec.js create mode 100644 packages/usa-file-input/src/test/file-input-disabled.template.html create mode 100644 packages/usa-file-input/src/test/file-input-multiple.template.html create mode 100644 packages/usa-file-input/src/test/file-input-single.template.html create mode 100644 packages/usa-file-input/src/test/file-input.spec.js create mode 100644 packages/usa-file-input/src/test/single-file-input.spec.js create mode 100644 packages/usa-file-input/src/test/template.html create mode 100644 packages/usa-file-input/src/test/test-patterns/test-usa-file-input.twig create mode 100644 packages/usa-file-input/src/usa-file-input.stories.js create mode 100644 packages/usa-file-input/src/usa-file-input.twig create mode 100644 packages/usa-fonts/_index.scss create mode 100644 packages/usa-fonts/src/usa-fonts.json create mode 100644 packages/usa-fonts/src/usa-fonts.stories.js create mode 100644 packages/usa-fonts/src/usa-fonts.twig create mode 100644 packages/usa-footer/_index.scss create mode 100644 packages/usa-footer/src/_includes/usa-footer-nav-primary--big.twig create mode 100644 packages/usa-footer/src/_includes/usa-footer-nav-primary.twig create mode 100644 packages/usa-footer/src/_includes/usa-signup.twig create mode 100644 packages/usa-footer/src/_includes/usa-social-nav.twig create mode 100644 packages/usa-footer/src/index.js create mode 100644 packages/usa-footer/src/styles/_index.scss create mode 100644 packages/usa-footer/src/styles/_usa-footer.scss create mode 100644 packages/usa-footer/src/test/footer.spec.js create mode 100644 packages/usa-footer/src/test/template.html create mode 100644 packages/usa-footer/src/usa-footer--big/usa-footer--big.json create mode 100644 packages/usa-footer/src/usa-footer--big/usa-footer--big.twig create mode 100644 packages/usa-footer/src/usa-footer--slim/usa-footer--slim.json create mode 100644 packages/usa-footer/src/usa-footer--slim/usa-footer--slim.twig create mode 100644 packages/usa-footer/src/usa-footer.json create mode 100644 packages/usa-footer/src/usa-footer.stories.js create mode 100644 packages/usa-footer/src/usa-footer.twig create mode 100644 packages/usa-form-group/_index.scss create mode 100644 packages/usa-form-group/src/styles/_index.scss create mode 100644 packages/usa-form-group/src/styles/_usa-form-group.scss create mode 100644 packages/usa-form/_index.scss create mode 100644 packages/usa-form/src/styles/_index.scss create mode 100644 packages/usa-form/src/styles/_usa-form.scss create mode 100644 packages/usa-form/src/test/test-pattern/test-usa-form.twig create mode 100644 packages/usa-form/src/usa-form.stories.js create mode 100644 packages/usa-graphic-list/_index.scss create mode 100644 packages/usa-graphic-list/src/styles/_index.scss create mode 100644 packages/usa-graphic-list/src/styles/_usa-graphic-list.scss create mode 100644 packages/usa-graphic-list/src/usa-graphic-list.json create mode 100644 packages/usa-graphic-list/src/usa-graphic-list.stories.js create mode 100644 packages/usa-graphic-list/src/usa-graphic-list.twig create mode 100644 packages/usa-header/_index.scss create mode 100644 packages/usa-header/src/_includes/usa-navbar.twig create mode 100644 packages/usa-header/src/index.js create mode 100644 packages/usa-header/src/styles/_index.scss create mode 100644 packages/usa-header/src/styles/_usa-header.scss create mode 100644 packages/usa-header/src/styles/_usa-megamenu.scss create mode 100644 packages/usa-header/src/styles/_usa-nav-container.scss create mode 100644 packages/usa-header/src/styles/_usa-navbar.scss create mode 100644 packages/usa-header/src/usa-header--extended/usa-header--extended-megamenu.json create mode 100644 packages/usa-header/src/usa-header--extended/usa-header--extended.json create mode 100644 packages/usa-header/src/usa-header--extended/usa-header--extended.twig create mode 100644 packages/usa-header/src/usa-header.json create mode 100644 packages/usa-header/src/usa-header.stories.js create mode 100644 packages/usa-header/src/usa-header.twig create mode 100644 packages/usa-header/src/usa-header~megamenu.json create mode 100644 packages/usa-hero/_index.scss create mode 100644 packages/usa-hero/src/img/_hero.png create mode 100644 packages/usa-hero/src/img/hero.jpg create mode 100644 packages/usa-hero/src/img/hero.webp create mode 100644 packages/usa-hero/src/styles/_index.scss create mode 100644 packages/usa-hero/src/styles/_usa-hero.scss create mode 100644 packages/usa-hero/src/usa-hero.json create mode 100644 packages/usa-hero/src/usa-hero.stories.js create mode 100644 packages/usa-hero/src/usa-hero.twig create mode 100644 packages/usa-hint/_index.scss create mode 100644 packages/usa-hint/src/styles/_index.scss create mode 100644 packages/usa-hint/src/styles/_usa-hint.scss create mode 100644 packages/usa-icon-list/_index.scss create mode 100644 packages/usa-icon-list/src/content/index.js create mode 100644 packages/usa-icon-list/src/content/usa-icon-list.json create mode 100644 packages/usa-icon-list/src/content/usa-icon-list~custom-size-rich.json create mode 100644 packages/usa-icon-list/src/content/usa-icon-list~custom-size.json create mode 100644 packages/usa-icon-list/src/content/usa-icon-list~rich-content.json create mode 100644 packages/usa-icon-list/src/content/usa-icon-list~simple-content.json create mode 100644 packages/usa-icon-list/src/styles/_index.scss create mode 100644 packages/usa-icon-list/src/styles/_usa-icon-list.scss create mode 100644 packages/usa-icon-list/src/usa-icon-list.stories.js create mode 100644 packages/usa-icon-list/src/usa-icon-list.twig create mode 100644 packages/usa-icon/_index.scss create mode 100644 packages/usa-icon/src/img/material-icons-deprecated/eco.svg create mode 100644 packages/usa-icon/src/img/material-icons-deprecated/facebook.svg create mode 100644 packages/usa-icon/src/img/material-icons-deprecated/info_outline.svg create mode 100644 packages/usa-icon/src/img/material-icons-deprecated/lightbulb_outline.svg create mode 100644 packages/usa-icon/src/img/material-icons-deprecated/lock_outline.svg create mode 100644 packages/usa-icon/src/img/template/uswds-icon-template.sketch create mode 100644 packages/usa-icon/src/img/usa-icons-bg/add--white.svg create mode 100644 packages/usa-icon/src/img/usa-icons-bg/arrow_back--white.svg create mode 100644 packages/usa-icon/src/img/usa-icons-bg/calendar_today--white.svg create mode 100644 packages/usa-icon/src/img/usa-icons-bg/check--blue-60v.svg create mode 100644 packages/usa-icon/src/img/usa-icons-bg/check_circle--white.svg create mode 100644 packages/usa-icon/src/img/usa-icons-bg/close--white.svg create mode 100644 packages/usa-icon/src/img/usa-icons-bg/error--white.svg create mode 100644 packages/usa-icon/src/img/usa-icons-bg/expand_less--white.svg create mode 100644 packages/usa-icon/src/img/usa-icons-bg/expand_more--blue-warm-70v.svg create mode 100644 packages/usa-icon/src/img/usa-icons-bg/expand_more--white.svg create mode 100644 packages/usa-icon/src/img/usa-icons-bg/info--white.svg create mode 100644 packages/usa-icon/src/img/usa-icons-bg/launch--white.svg create mode 100644 packages/usa-icon/src/img/usa-icons-bg/navigate_before--white.svg create mode 100644 packages/usa-icon/src/img/usa-icons-bg/navigate_far_before--white.svg create mode 100644 packages/usa-icon/src/img/usa-icons-bg/navigate_far_next--white.svg create mode 100644 packages/usa-icon/src/img/usa-icons-bg/navigate_next--white.svg create mode 100644 packages/usa-icon/src/img/usa-icons-bg/remove--white.svg create mode 100644 packages/usa-icon/src/img/usa-icons-bg/search--white.svg create mode 100644 packages/usa-icon/src/img/usa-icons-bg/warning--white.svg create mode 100644 packages/usa-icon/src/img/uswds-icons/bedding.svg create mode 100644 packages/usa-icon/src/img/uswds-icons/camping.svg create mode 100644 packages/usa-icon/src/img/uswds-icons/chevron_left.svg create mode 100644 packages/usa-icon/src/img/uswds-icons/chevron_right.svg create mode 100644 packages/usa-icon/src/img/uswds-icons/clothes.svg create mode 100644 packages/usa-icon/src/img/uswds-icons/construction_worker.svg create mode 100644 packages/usa-icon/src/img/uswds-icons/flickr.svg create mode 100644 packages/usa-icon/src/img/uswds-icons/flooding.svg create mode 100644 packages/usa-icon/src/img/uswds-icons/github.svg create mode 100644 packages/usa-icon/src/img/uswds-icons/hospital.svg create mode 100644 packages/usa-icon/src/img/uswds-icons/hurricane.svg create mode 100644 packages/usa-icon/src/img/uswds-icons/identification.svg create mode 100644 packages/usa-icon/src/img/uswds-icons/instagram.svg create mode 100644 packages/usa-icon/src/img/uswds-icons/linkedin.svg create mode 100644 packages/usa-icon/src/img/uswds-icons/navigate_far_before.svg create mode 100644 packages/usa-icon/src/img/uswds-icons/navigate_far_next.svg create mode 100644 packages/usa-icon/src/img/uswds-icons/rain.svg create mode 100644 packages/usa-icon/src/img/uswds-icons/severe_weather.svg create mode 100644 packages/usa-icon/src/img/uswds-icons/snow.svg create mode 100644 packages/usa-icon/src/img/uswds-icons/sort_arrow.svg create mode 100644 packages/usa-icon/src/img/uswds-icons/tornado.svg create mode 100644 packages/usa-icon/src/img/uswds-icons/twitter.svg create mode 100644 packages/usa-icon/src/img/uswds-icons/x.svg create mode 100644 packages/usa-icon/src/img/uswds-icons/youtube.svg create mode 100644 packages/usa-icon/src/styles/_index.scss create mode 100644 packages/usa-icon/src/styles/_usa-icon.scss create mode 100644 packages/usa-icon/src/usa-icon--sizes/usa-icon--sizes.json create mode 100644 packages/usa-icon/src/usa-icon--sizes/usa-icon--sizes.stories.js create mode 100644 packages/usa-icon/src/usa-icon--sizes/usa-icon--sizes.twig create mode 100644 packages/usa-icon/src/usa-icon.json create mode 100644 packages/usa-icon/src/usa-icon.stories.js create mode 100644 packages/usa-icon/src/usa-icon.twig create mode 100644 packages/usa-icon/src/usa-icons.config.js create mode 100644 packages/usa-identifier/_index.scss create mode 100644 packages/usa-identifier/src/content/index.js create mode 100644 packages/usa-identifier/src/content/usa-identifier.json create mode 100644 packages/usa-identifier/src/content/usa-identifier~lang-es.json create mode 100644 packages/usa-identifier/src/content/usa-identifier~multiple-logos-lang-es.json create mode 100644 packages/usa-identifier/src/content/usa-identifier~multiple-logos.json create mode 100644 packages/usa-identifier/src/content/usa-identifier~no-logos-lang-es.json create mode 100644 packages/usa-identifier/src/content/usa-identifier~no-logos.json create mode 100644 packages/usa-identifier/src/content/usa-identifier~taxpayer-disclaimer-lang-es.json create mode 100644 packages/usa-identifier/src/content/usa-identifier~taxpayer-disclaimer.json create mode 100644 packages/usa-identifier/src/img/circle-gray-20.svg create mode 100644 packages/usa-identifier/src/img/logo-img.png create mode 100644 packages/usa-identifier/src/styles/_index.scss create mode 100644 packages/usa-identifier/src/styles/_usa-identifier.scss create mode 100644 packages/usa-identifier/src/usa-identifier.stories.js create mode 100644 packages/usa-identifier/src/usa-identifier.twig create mode 100644 packages/usa-in-page-navigation/_index.scss create mode 100644 packages/usa-in-page-navigation/src/index.js create mode 100644 packages/usa-in-page-navigation/src/styles/_index.scss create mode 100644 packages/usa-in-page-navigation/src/styles/_usa-in-page-navigation.scss create mode 100644 packages/usa-in-page-navigation/src/test/in-page-navigation-custom-content.spec.js create mode 100644 packages/usa-in-page-navigation/src/test/in-page-navigation-custom-content.template.html create mode 100644 packages/usa-in-page-navigation/src/test/in-page-navigation-custom-heading.spec.js create mode 100644 packages/usa-in-page-navigation/src/test/in-page-navigation-custom-heading.template.html create mode 100644 packages/usa-in-page-navigation/src/test/in-page-navigation.spec.js create mode 100644 packages/usa-in-page-navigation/src/test/template.html create mode 100644 packages/usa-in-page-navigation/src/test/test-patterns/test-custom-content-selector.twig create mode 100644 packages/usa-in-page-navigation/src/test/test-patterns/test-custom-header-selector.twig create mode 100644 packages/usa-in-page-navigation/src/test/test-patterns/test-hidden-headers.twig create mode 100644 packages/usa-in-page-navigation/src/usa-in-page-navigation.json create mode 100644 packages/usa-in-page-navigation/src/usa-in-page-navigation.stories.js create mode 100644 packages/usa-in-page-navigation/src/usa-in-page-navigation.twig create mode 100644 packages/usa-input-list/_index.scss create mode 100644 packages/usa-input-list/src/styles/_index.scss create mode 100644 packages/usa-input-list/src/styles/_usa-input-list.scss create mode 100644 packages/usa-input-mask/_index.scss create mode 100644 packages/usa-input-mask/src/content/index.js create mode 100644 packages/usa-input-mask/src/content/usa-input-mask-alphanumeric.json create mode 100644 packages/usa-input-mask/src/content/usa-input-mask-phone.json create mode 100644 packages/usa-input-mask/src/content/usa-input-mask-ssn.json create mode 100644 packages/usa-input-mask/src/content/usa-input-mask-zip.json create mode 100644 packages/usa-input-mask/src/index.js create mode 100644 packages/usa-input-mask/src/styles/_index.scss create mode 100644 packages/usa-input-mask/src/styles/_usa-input-mask.scss create mode 100644 packages/usa-input-mask/src/test/input-mask-alphanumeric.spec.js create mode 100644 packages/usa-input-mask/src/test/input-mask-alphanumeric.template.html create mode 100644 packages/usa-input-mask/src/test/input-mask-phone.spec.js create mode 100644 packages/usa-input-mask/src/test/input-mask-phone.template.html create mode 100644 packages/usa-input-mask/src/test/input-mask-zip-code.spec.js create mode 100644 packages/usa-input-mask/src/test/input-mask-zip-code.template.html create mode 100644 packages/usa-input-mask/src/test/input-mask.spec.js create mode 100644 packages/usa-input-mask/src/test/input-mask.template.html create mode 100644 packages/usa-input-mask/src/usa-input-mask.stories.js create mode 100644 packages/usa-input-mask/src/usa-input-mask.twig create mode 100644 packages/usa-input-prefix-suffix/_index.scss create mode 100644 packages/usa-input-prefix-suffix/src/styles/_index.scss create mode 100644 packages/usa-input-prefix-suffix/src/styles/_usa-input-prefix-suffix.scss create mode 100644 packages/usa-input-prefix-suffix/src/usa-input-prefix-suffix.stories.js create mode 100644 packages/usa-input-prefix-suffix/src/usa-input-prefix.twig create mode 100644 packages/usa-input-prefix-suffix/src/usa-input-suffix.twig create mode 100644 packages/usa-input/_index.scss create mode 100644 packages/usa-input/src/styles/_index.scss create mode 100644 packages/usa-input/src/styles/_usa-input.scss create mode 100644 packages/usa-input/src/usa-input--showcase.twig create mode 100644 packages/usa-input/src/usa-input.stories.js create mode 100644 packages/usa-input/src/usa-input.twig create mode 100644 packages/usa-intro/_index.scss create mode 100644 packages/usa-intro/src/styles/_index.scss create mode 100644 packages/usa-intro/src/styles/_usa-intro.scss create mode 100644 packages/usa-label/_index.scss create mode 100644 packages/usa-label/src/styles/_index.scss create mode 100644 packages/usa-label/src/styles/_usa-label.scss create mode 100644 packages/usa-language-selector/_index.scss create mode 100644 packages/usa-language-selector/src/index.js create mode 100644 packages/usa-language-selector/src/styles/_index.scss create mode 100644 packages/usa-language-selector/src/styles/_usa-language-selector.scss create mode 100644 packages/usa-language-selector/src/test/language-selector.spec.js create mode 100644 packages/usa-language-selector/src/test/template.html create mode 100644 packages/usa-language-selector/src/usa-language-selector--header/usa-language-selector--header.json create mode 100644 packages/usa-language-selector/src/usa-language-selector--header/usa-language-selector--header.twig create mode 100644 packages/usa-language-selector/src/usa-language-selector--three-or-more/usa-language-selector--three-or-more.json create mode 100644 packages/usa-language-selector/src/usa-language-selector--three-or-more/usa-language-selector--three-or-more.twig create mode 100644 packages/usa-language-selector/src/usa-language-selector--unstyled/usa-language-selector--unstyled.json create mode 100644 packages/usa-language-selector/src/usa-language-selector--unstyled/usa-language-selector--unstyled.twig create mode 100644 packages/usa-language-selector/src/usa-language-selector.json create mode 100644 packages/usa-language-selector/src/usa-language-selector.stories.js create mode 100644 packages/usa-language-selector/src/usa-language-selector.twig create mode 100644 packages/usa-layout-docs/_index.scss create mode 100644 packages/usa-layout-docs/src/styles/_index.scss create mode 100644 packages/usa-layout-docs/src/styles/_usa-layout-docs.scss create mode 100644 packages/usa-layout-grid/_index.scss create mode 100644 packages/usa-layout-grid/src/styles/_index.scss create mode 100644 packages/usa-layout-grid/src/styles/_usa-layout-grid.scss create mode 100644 packages/usa-legend/_index.scss create mode 100644 packages/usa-legend/src/styles/_index.scss create mode 100644 packages/usa-legend/src/styles/_usa-legend.scss create mode 100644 packages/usa-link/_index.scss create mode 100644 packages/usa-link/src/styles/_index.scss create mode 100644 packages/usa-link/src/styles/_usa-link.scss create mode 100644 packages/usa-link/src/usa-link.stories.js create mode 100644 packages/usa-link/src/usa-link.twig create mode 100644 packages/usa-list/_index.scss create mode 100644 packages/usa-list/src/styles/_index.scss create mode 100644 packages/usa-list/src/styles/_usa-list.scss create mode 100644 packages/usa-list/src/usa-list.stories.js create mode 100644 packages/usa-list/src/usa-list.twig create mode 100644 packages/usa-media-block/_index.scss create mode 100644 packages/usa-media-block/src/img/circle-124.png create mode 100644 packages/usa-media-block/src/styles/_index.scss create mode 100644 packages/usa-media-block/src/styles/_usa-media-block.scss create mode 100644 packages/usa-media-block/src/usa-media-block.json create mode 100644 packages/usa-media-block/src/usa-media-block.stories.js create mode 100644 packages/usa-media-block/src/usa-media-block.twig create mode 100644 packages/usa-memorable-date/_index.scss create mode 100644 packages/usa-memorable-date/src/styles/_index.scss create mode 100644 packages/usa-memorable-date/src/styles/_usa-memorable-date.scss create mode 100644 packages/usa-memorable-date/src/usa-memorable-date.stories.js create mode 100644 packages/usa-memorable-date/src/usa-memorable-date.twig create mode 100644 packages/usa-modal/_index.scss create mode 100644 packages/usa-modal/src/content/index.js create mode 100644 packages/usa-modal/src/content/usa-modal.json create mode 100644 packages/usa-modal/src/content/usa-modal~forced-action.json create mode 100644 packages/usa-modal/src/content/usa-modal~large.json create mode 100644 packages/usa-modal/src/index.js create mode 100644 packages/usa-modal/src/styles/_index.scss create mode 100644 packages/usa-modal/src/styles/_usa-modal.scss create mode 100644 packages/usa-modal/src/test/modal.spec.js create mode 100644 packages/usa-modal/src/test/template.html create mode 100644 packages/usa-modal/src/test/test-patterns/test-usa-modal--nested-forms.twig create mode 100644 packages/usa-modal/src/usa-modal.stories.js create mode 100644 packages/usa-modal/src/usa-modal.twig create mode 100644 packages/usa-nav/_index.scss create mode 100644 packages/usa-nav/src/styles/_index.scss create mode 100644 packages/usa-nav/src/styles/_usa-nav.scss create mode 100644 packages/usa-nav/src/test/navigation.spec.js create mode 100644 packages/usa-nav/src/test/template.html create mode 100644 packages/usa-nav/src/usa-nav.json create mode 100644 packages/usa-nav/src/usa-nav__primary/_primary-menu-macro.twig create mode 100644 packages/usa-nav/src/usa-nav__primary/usa-nav-primary.stories.js create mode 100644 packages/usa-nav/src/usa-nav__primary/usa-nav__primary.json create mode 100644 packages/usa-nav/src/usa-nav__primary/usa-nav__primary.twig create mode 100644 packages/usa-nav/src/usa-nav__secondary/usa-nav-secondary.stories.js create mode 100644 packages/usa-nav/src/usa-nav__secondary/usa-nav__secondary.json create mode 100644 packages/usa-nav/src/usa-nav__secondary/usa-nav__secondary.twig create mode 100644 packages/usa-pagination/_index.scss create mode 100644 packages/usa-pagination/src/content/index.js create mode 100644 packages/usa-pagination/src/content/usa-pagination.json create mode 100644 packages/usa-pagination/src/content/usa-pagination~lang-es.json create mode 100644 packages/usa-pagination/src/content/usa-pagination~unbounded-lang-es.json create mode 100644 packages/usa-pagination/src/content/usa-pagination~unbounded.json create mode 100644 packages/usa-pagination/src/includes/_pagination-arrow.twig create mode 100644 packages/usa-pagination/src/includes/_pagination-button.twig create mode 100644 packages/usa-pagination/src/includes/_pagination-numbers--default.twig create mode 100644 packages/usa-pagination/src/includes/_pagination-numbers--unbounded.twig create mode 100644 packages/usa-pagination/src/styles/_index.scss create mode 100644 packages/usa-pagination/src/styles/_usa-pagination.scss create mode 100644 packages/usa-pagination/src/test/test-patterns/test-pagination-all.twig create mode 100644 packages/usa-pagination/src/usa-pagination.stories.js create mode 100644 packages/usa-pagination/src/usa-pagination.twig create mode 100644 packages/usa-paragraph/_index.scss create mode 100644 packages/usa-paragraph/src/styles/_index.scss create mode 100644 packages/usa-paragraph/src/styles/_usa-paragraph.scss create mode 100644 packages/usa-process-list/_index.scss create mode 100644 packages/usa-process-list/src/styles/_index.scss create mode 100644 packages/usa-process-list/src/styles/_usa-process-list.scss create mode 100644 packages/usa-process-list/src/usa-process-list--custom-sizing.twig create mode 100644 packages/usa-process-list/src/usa-process-list--no-text.twig create mode 100644 packages/usa-process-list/src/usa-process-list.stories.js create mode 100644 packages/usa-process-list/src/usa-process-list.twig create mode 100644 packages/usa-prose/_index.scss create mode 100644 packages/usa-prose/src/styles/_index.scss create mode 100644 packages/usa-prose/src/styles/_usa-prose.scss create mode 100644 packages/usa-prose/src/usa-prose.stories.js create mode 100644 packages/usa-prose/src/usa-prose.twig create mode 100644 packages/usa-radio/_index.scss create mode 100644 packages/usa-radio/src/styles/_index.scss create mode 100644 packages/usa-radio/src/styles/_usa-radio.scss create mode 100644 packages/usa-radio/src/usa-radio--tile.twig create mode 100644 packages/usa-radio/src/usa-radio.stories.js create mode 100644 packages/usa-radio/src/usa-radio.twig create mode 100644 packages/usa-range/_index.scss create mode 100644 packages/usa-range/src/index.js create mode 100644 packages/usa-range/src/styles/_index.scss create mode 100644 packages/usa-range/src/styles/_usa-range.scss create mode 100644 packages/usa-range/src/test/sr-callout-with-preposition.spec.html create mode 100644 packages/usa-range/src/test/sr-callout-with-preposition.spec.js create mode 100644 packages/usa-range/src/test/sr-callout.spec.html create mode 100644 packages/usa-range/src/test/sr-callout.spec.js create mode 100644 packages/usa-range/src/usa-range.stories.js create mode 100644 packages/usa-range/src/usa-range.twig create mode 100644 packages/usa-search/_index.scss create mode 100644 packages/usa-search/src/content/index.js create mode 100644 packages/usa-search/src/content/usa-search.json create mode 100644 packages/usa-search/src/content/usa-search~big-lang-es.json create mode 100644 packages/usa-search/src/content/usa-search~big.json create mode 100644 packages/usa-search/src/content/usa-search~lang-es.json create mode 100644 packages/usa-search/src/content/usa-search~small-lang-es.json create mode 100644 packages/usa-search/src/content/usa-search~small.json create mode 100644 packages/usa-search/src/index.js create mode 100644 packages/usa-search/src/styles/_index.scss create mode 100644 packages/usa-search/src/styles/_usa-search.scss create mode 100644 packages/usa-search/src/usa-search.stories.js create mode 100644 packages/usa-search/src/usa-search.twig create mode 100644 packages/usa-section/_index.scss create mode 100644 packages/usa-section/src/content/index.js create mode 100644 packages/usa-section/src/content/usa-section.json create mode 100644 packages/usa-section/src/content/usa-section~dark.json create mode 100644 packages/usa-section/src/content/usa-section~light.json create mode 100644 packages/usa-section/src/styles/_index.scss create mode 100644 packages/usa-section/src/styles/_usa-section.scss create mode 100644 packages/usa-section/src/usa-section.stories.js create mode 100644 packages/usa-section/src/usa-section.twig create mode 100644 packages/usa-select/_index.scss create mode 100644 packages/usa-select/src/styles/_index.scss create mode 100644 packages/usa-select/src/styles/_usa-select.scss create mode 100644 packages/usa-select/src/test/test-patterns/usa-select--multiple.twig create mode 100644 packages/usa-select/src/usa-select.stories.js create mode 100644 packages/usa-select/src/usa-select.twig create mode 100644 packages/usa-sidenav/_index.scss create mode 100644 packages/usa-sidenav/src/styles/_index.scss create mode 100644 packages/usa-sidenav/src/styles/_usa-sidenav.scss create mode 100644 packages/usa-sidenav/src/test/test-patterns/test-sidenav-button.twig create mode 100644 packages/usa-sidenav/src/usa-sidenav.json create mode 100644 packages/usa-sidenav/src/usa-sidenav.stories.js create mode 100644 packages/usa-sidenav/src/usa-sidenav.twig create mode 100644 packages/usa-sidenav/src/usa-sidenav~one-level.json create mode 100644 packages/usa-sidenav/src/usa-sidenav~three-levels.json create mode 100644 packages/usa-sidenav/src/usa-sidenav~two-levels.json create mode 100644 packages/usa-site-alert/_index.scss create mode 100644 packages/usa-site-alert/src/content/index.js create mode 100644 packages/usa-site-alert/src/content/usa-site-alert.json create mode 100644 packages/usa-site-alert/src/content/usa-site-alert~emergency-list.json create mode 100644 packages/usa-site-alert/src/content/usa-site-alert~emergency-no-header.json create mode 100644 packages/usa-site-alert/src/content/usa-site-alert~emergency-no-icon.json create mode 100644 packages/usa-site-alert/src/content/usa-site-alert~emergency-slim.json create mode 100644 packages/usa-site-alert/src/content/usa-site-alert~emergency.json create mode 100644 packages/usa-site-alert/src/content/usa-site-alert~info.json create mode 100644 packages/usa-site-alert/src/styles/_index.scss create mode 100644 packages/usa-site-alert/src/styles/_usa-site-alert.scss create mode 100644 packages/usa-site-alert/src/usa-site-alert.stories.js create mode 100644 packages/usa-site-alert/src/usa-site-alert.twig create mode 100644 packages/usa-site-title/_index.scss create mode 100644 packages/usa-site-title/src/usa-site-title.json create mode 100644 packages/usa-site-title/src/usa-site-title.stories.js create mode 100644 packages/usa-site-title/src/usa-site-title.twig create mode 100644 packages/usa-skipnav/_index.scss create mode 100644 packages/usa-skipnav/src/index.js create mode 100644 packages/usa-skipnav/src/styles/_index.scss create mode 100644 packages/usa-skipnav/src/styles/_usa-skipnav.scss create mode 100644 packages/usa-skipnav/src/test/skipnav.spec.js create mode 100644 packages/usa-skipnav/src/test/template.html create mode 100644 packages/usa-skipnav/src/usa-skipnav.json create mode 100644 packages/usa-skipnav/src/usa-skipnav.stories.js create mode 100644 packages/usa-skipnav/src/usa-skipnav.twig create mode 100644 packages/usa-step-indicator/_index.scss create mode 100644 packages/usa-step-indicator/src/content/index.js create mode 100644 packages/usa-step-indicator/src/content/usa-step-indicator.json create mode 100644 packages/usa-step-indicator/src/content/usa-step-indicator~center-counters-sm.json create mode 100644 packages/usa-step-indicator/src/content/usa-step-indicator~center-counters.json create mode 100644 packages/usa-step-indicator/src/content/usa-step-indicator~center-no-labels.json create mode 100644 packages/usa-step-indicator/src/content/usa-step-indicator~center.json create mode 100644 packages/usa-step-indicator/src/content/usa-step-indicator~counters-sm.json create mode 100644 packages/usa-step-indicator/src/content/usa-step-indicator~counters.json create mode 100644 packages/usa-step-indicator/src/content/usa-step-indicator~no-labels.json create mode 100644 packages/usa-step-indicator/src/content/usa-step-indicator~short.json create mode 100644 packages/usa-step-indicator/src/styles/_index.scss create mode 100644 packages/usa-step-indicator/src/styles/_usa-step-indicator.scss create mode 100644 packages/usa-step-indicator/src/usa-step-indicator.stories.js create mode 100644 packages/usa-step-indicator/src/usa-step-indicator.twig create mode 100644 packages/usa-summary-box/_index.scss create mode 100644 packages/usa-summary-box/src/styles/_index.scss create mode 100644 packages/usa-summary-box/src/styles/_usa-summary-box.scss create mode 100644 packages/usa-summary-box/src/usa-summary-box.stories.js create mode 100644 packages/usa-summary-box/src/usa-summary-box.twig create mode 100644 packages/usa-table/_index.scss create mode 100644 packages/usa-table/src/index.js create mode 100644 packages/usa-table/src/styles/_index.scss create mode 100644 packages/usa-table/src/styles/_usa-table.scss create mode 100644 packages/usa-table/src/test/table.spec.js create mode 100644 packages/usa-table/src/test/template.html create mode 100644 packages/usa-table/src/test/test-patterns/test-usa-table--multiple-sticky-headers.twig create mode 100644 packages/usa-table/src/usa-table--scrollable/usa-table--scrollable.json create mode 100644 packages/usa-table/src/usa-table--scrollable/usa-table--scrollable.stories.js create mode 100644 packages/usa-table/src/usa-table--scrollable/usa-table--scrollable.twig create mode 100644 packages/usa-table/src/usa-table--scrollable/usa-table--scrollable~compact-striped.json create mode 100644 packages/usa-table/src/usa-table--scrollable/usa-table--scrollable~compact.json create mode 100644 packages/usa-table/src/usa-table--scrollable/usa-table--scrollable~striped.json create mode 100644 packages/usa-table/src/usa-table--sortable/usa-table--sortable.json create mode 100644 packages/usa-table/src/usa-table--sortable/usa-table--sortable.twig create mode 100644 packages/usa-table/src/usa-table--stacked/usa-table--stacked.json create mode 100644 packages/usa-table/src/usa-table--stacked/usa-table--stacked.stories.js create mode 100644 packages/usa-table/src/usa-table--stacked/usa-table--stacked.twig create mode 100644 packages/usa-table/src/usa-table--stacked/usa-table--stacked~borderless.json create mode 100644 packages/usa-table/src/usa-table--stacked/usa-table--stacked~header-borderless.json create mode 100644 packages/usa-table/src/usa-table--stacked/usa-table--stacked~header.json create mode 100644 packages/usa-table/src/usa-table.json create mode 100644 packages/usa-table/src/usa-table.stories.js create mode 100644 packages/usa-table/src/usa-table.twig create mode 100644 packages/usa-table/src/usa-table~borderless.json create mode 100644 packages/usa-table/src/usa-table~stickyheader.json create mode 100644 packages/usa-table/src/usa-table~striped.json create mode 100644 packages/usa-tag/_index.scss create mode 100644 packages/usa-tag/src/content/index.js create mode 100644 packages/usa-tag/src/content/usa-tag.json create mode 100644 packages/usa-tag/src/content/usa-tag~big.json create mode 100644 packages/usa-tag/src/styles/_index.scss create mode 100644 packages/usa-tag/src/styles/_usa-tag.scss create mode 100644 packages/usa-tag/src/usa-tag.stories.js create mode 100644 packages/usa-tag/src/usa-tag.twig create mode 100644 packages/usa-textarea/_index.scss create mode 100644 packages/usa-textarea/src/styles/_index.scss create mode 100644 packages/usa-textarea/src/styles/_usa-textarea.scss create mode 100644 packages/usa-time-picker/_index.scss create mode 100644 packages/usa-time-picker/src/index.js create mode 100644 packages/usa-time-picker/src/styles/_index.scss create mode 100644 packages/usa-time-picker/src/styles/_usa-time-picker.scss create mode 100644 packages/usa-time-picker/src/test/time-picker-regex.spec.js create mode 100644 packages/usa-time-picker/src/test/time-picker.spec.js create mode 100644 packages/usa-time-picker/src/test/time-picker.template.html create mode 100644 packages/usa-time-picker/src/usa-time-picker.stories.js create mode 100644 packages/usa-time-picker/src/usa-time-picker.twig create mode 100644 packages/usa-tooltip/_index.scss create mode 100644 packages/usa-tooltip/src/index.js create mode 100644 packages/usa-tooltip/src/styles/_index.scss create mode 100644 packages/usa-tooltip/src/styles/_usa-tooltip.scss create mode 100644 packages/usa-tooltip/src/test/template.html create mode 100644 packages/usa-tooltip/src/test/test-patterns/test-usa-tooltip-no-wrapper.twig create mode 100644 packages/usa-tooltip/src/test/test-patterns/test-usa-tooltip-utilities.twig create mode 100644 packages/usa-tooltip/src/test/tooltips.spec.js create mode 100644 packages/usa-tooltip/src/usa-tooltip--utilities.twig create mode 100644 packages/usa-tooltip/src/usa-tooltip.stories.js create mode 100644 packages/usa-tooltip/src/usa-tooltip.twig create mode 100644 packages/usa-type-line-length/_index.scss create mode 100644 packages/usa-type-line-length/src/usa-type-line-length.twig create mode 100644 packages/usa-type-setting/_index.scss create mode 100644 packages/usa-type-setting/src/usa-type-setting--headings.twig create mode 100644 packages/usa-type-setting/src/usa-type-setting--line-length.twig create mode 100644 packages/usa-type-setting/src/usa-type-setting.twig create mode 100644 packages/usa-type-spacing/_index.scss create mode 100644 packages/usa-type-spacing/src/usa-type-spacing.twig create mode 100644 packages/usa-validation/_index.scss create mode 100644 packages/usa-validation/src/index.js create mode 100644 packages/usa-validation/src/test/template-textarea.html create mode 100644 packages/usa-validation/src/test/template.html create mode 100644 packages/usa-validation/src/test/validator-textarea.spec.js create mode 100644 packages/usa-validation/src/test/validator.spec.js create mode 100644 packages/usa-validation/src/usa-validation--textarea.twig create mode 100644 packages/usa-validation/src/usa-validation.stories.js create mode 100644 packages/usa-validation/src/usa-validation.twig create mode 100644 packages/uswds-core/README.md create mode 100644 packages/uswds-core/_functionsOLD.scss create mode 100644 packages/uswds-core/_index.scss create mode 100644 packages/uswds-core/src/assets/fonts/merriweather/Latin-Merriweather-Black.ttf create mode 100644 packages/uswds-core/src/assets/fonts/merriweather/Latin-Merriweather-Black.woff create mode 100644 packages/uswds-core/src/assets/fonts/merriweather/Latin-Merriweather-Black.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/merriweather/Latin-Merriweather-BlackItalic.ttf create mode 100644 packages/uswds-core/src/assets/fonts/merriweather/Latin-Merriweather-BlackItalic.woff create mode 100644 packages/uswds-core/src/assets/fonts/merriweather/Latin-Merriweather-BlackItalic.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/merriweather/Latin-Merriweather-Bold.ttf create mode 100644 packages/uswds-core/src/assets/fonts/merriweather/Latin-Merriweather-Bold.woff create mode 100644 packages/uswds-core/src/assets/fonts/merriweather/Latin-Merriweather-Bold.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/merriweather/Latin-Merriweather-BoldItalic.ttf create mode 100644 packages/uswds-core/src/assets/fonts/merriweather/Latin-Merriweather-BoldItalic.woff create mode 100644 packages/uswds-core/src/assets/fonts/merriweather/Latin-Merriweather-BoldItalic.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/merriweather/Latin-Merriweather-Italic.ttf create mode 100644 packages/uswds-core/src/assets/fonts/merriweather/Latin-Merriweather-Italic.woff create mode 100644 packages/uswds-core/src/assets/fonts/merriweather/Latin-Merriweather-Italic.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/merriweather/Latin-Merriweather-Light.ttf create mode 100644 packages/uswds-core/src/assets/fonts/merriweather/Latin-Merriweather-Light.woff create mode 100644 packages/uswds-core/src/assets/fonts/merriweather/Latin-Merriweather-Light.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/merriweather/Latin-Merriweather-LightItalic.ttf create mode 100644 packages/uswds-core/src/assets/fonts/merriweather/Latin-Merriweather-LightItalic.woff create mode 100644 packages/uswds-core/src/assets/fonts/merriweather/Latin-Merriweather-LightItalic.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/merriweather/Latin-Merriweather-Regular.ttf create mode 100644 packages/uswds-core/src/assets/fonts/merriweather/Latin-Merriweather-Regular.woff create mode 100644 packages/uswds-core/src/assets/fonts/merriweather/Latin-Merriweather-Regular.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-Black.ttf create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-Black.woff create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-Black.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-BlackItalic.ttf create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-BlackItalic.woff create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-BlackItalic.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-Bold.ttf create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-Bold.woff create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-Bold.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-BoldItalic.ttf create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-BoldItalic.woff create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-BoldItalic.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-ExtraBold.ttf create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-ExtraBold.woff create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-ExtraBold.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-ExtraBoldItalic.ttf create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-ExtraBoldItalic.woff create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-ExtraBoldItalic.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-ExtraLight.ttf create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-ExtraLight.woff create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-ExtraLight.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-ExtraLightItalic.ttf create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-ExtraLightItalic.woff create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-ExtraLightItalic.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-Italic.ttf create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-Italic.woff create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-Italic.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-Light.ttf create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-Light.woff create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-Light.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-LightItalic.ttf create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-LightItalic.woff create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-LightItalic.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-Medium.ttf create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-Medium.woff create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-Medium.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-MediumItalic.ttf create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-MediumItalic.woff create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-MediumItalic.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-Regular.ttf create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-Regular.woff create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-Regular.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-SemiBold.ttf create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-SemiBold.woff create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-SemiBold.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-SemiBoldItalic.ttf create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-SemiBoldItalic.woff create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-SemiBoldItalic.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-Thin.ttf create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-Thin.woff create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-Thin.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-ThinItalic.ttf create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-ThinItalic.woff create mode 100644 packages/uswds-core/src/assets/fonts/public-sans/PublicSans-ThinItalic.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/roboto-mono/roboto-mono-v5-latin-100.ttf create mode 100644 packages/uswds-core/src/assets/fonts/roboto-mono/roboto-mono-v5-latin-100.woff create mode 100644 packages/uswds-core/src/assets/fonts/roboto-mono/roboto-mono-v5-latin-100.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/roboto-mono/roboto-mono-v5-latin-100italic.ttf create mode 100644 packages/uswds-core/src/assets/fonts/roboto-mono/roboto-mono-v5-latin-100italic.woff create mode 100644 packages/uswds-core/src/assets/fonts/roboto-mono/roboto-mono-v5-latin-100italic.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/roboto-mono/roboto-mono-v5-latin-300.ttf create mode 100644 packages/uswds-core/src/assets/fonts/roboto-mono/roboto-mono-v5-latin-300.woff create mode 100644 packages/uswds-core/src/assets/fonts/roboto-mono/roboto-mono-v5-latin-300.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/roboto-mono/roboto-mono-v5-latin-300italic.ttf create mode 100644 packages/uswds-core/src/assets/fonts/roboto-mono/roboto-mono-v5-latin-300italic.woff create mode 100644 packages/uswds-core/src/assets/fonts/roboto-mono/roboto-mono-v5-latin-300italic.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/roboto-mono/roboto-mono-v5-latin-500.ttf create mode 100644 packages/uswds-core/src/assets/fonts/roboto-mono/roboto-mono-v5-latin-500.woff create mode 100644 packages/uswds-core/src/assets/fonts/roboto-mono/roboto-mono-v5-latin-500.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/roboto-mono/roboto-mono-v5-latin-500italic.ttf create mode 100644 packages/uswds-core/src/assets/fonts/roboto-mono/roboto-mono-v5-latin-500italic.woff create mode 100644 packages/uswds-core/src/assets/fonts/roboto-mono/roboto-mono-v5-latin-500italic.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/roboto-mono/roboto-mono-v5-latin-700.ttf create mode 100644 packages/uswds-core/src/assets/fonts/roboto-mono/roboto-mono-v5-latin-700.woff create mode 100644 packages/uswds-core/src/assets/fonts/roboto-mono/roboto-mono-v5-latin-700.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/roboto-mono/roboto-mono-v5-latin-700italic.ttf create mode 100644 packages/uswds-core/src/assets/fonts/roboto-mono/roboto-mono-v5-latin-700italic.woff create mode 100644 packages/uswds-core/src/assets/fonts/roboto-mono/roboto-mono-v5-latin-700italic.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/roboto-mono/roboto-mono-v5-latin-italic.ttf create mode 100644 packages/uswds-core/src/assets/fonts/roboto-mono/roboto-mono-v5-latin-italic.woff create mode 100644 packages/uswds-core/src/assets/fonts/roboto-mono/roboto-mono-v5-latin-italic.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/roboto-mono/roboto-mono-v5-latin-regular.ttf create mode 100644 packages/uswds-core/src/assets/fonts/roboto-mono/roboto-mono-v5-latin-regular.woff create mode 100644 packages/uswds-core/src/assets/fonts/roboto-mono/roboto-mono-v5-latin-regular.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-black-webfont.ttf create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-black-webfont.woff create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-black-webfont.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-blackitalic-webfont.ttf create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-blackitalic-webfont.woff create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-blackitalic-webfont.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-bold-webfont.ttf create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-bold-webfont.woff create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-bold-webfont.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-bolditalic-webfont.ttf create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-bolditalic-webfont.woff create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-bolditalic-webfont.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-extralight-webfont.ttf create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-extralight-webfont.woff create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-extralight-webfont.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-extralightitalic-webfont.ttf create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-extralightitalic-webfont.woff create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-extralightitalic-webfont.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-italic-webfont.ttf create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-italic-webfont.woff create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-italic-webfont.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-light-webfont.ttf create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-light-webfont.woff create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-light-webfont.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-lightitalic-webfont.ttf create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-lightitalic-webfont.woff create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-lightitalic-webfont.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-regular-webfont.ttf create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-regular-webfont.woff create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-regular-webfont.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-semibold-webfont.ttf create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-semibold-webfont.woff create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-semibold-webfont.woff2 create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-semibolditalic-webfont.ttf create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-semibolditalic-webfont.woff create mode 100644 packages/uswds-core/src/assets/fonts/source-sans-pro/sourcesanspro-semibolditalic-webfont.woff2 create mode 100644 packages/uswds-core/src/img/favicons/favicon-114.png create mode 100644 packages/uswds-core/src/img/favicons/favicon-144.png create mode 100644 packages/uswds-core/src/img/favicons/favicon-16.png create mode 100644 packages/uswds-core/src/img/favicons/favicon-192.png create mode 100644 packages/uswds-core/src/img/favicons/favicon-40.png create mode 100644 packages/uswds-core/src/img/favicons/favicon-57.png create mode 100644 packages/uswds-core/src/img/favicons/favicon-72.png create mode 100644 packages/uswds-core/src/img/favicons/favicon.ico create mode 100644 packages/uswds-core/src/img/favicons/favicon.png create mode 100644 packages/uswds-core/src/js/config.js create mode 100644 packages/uswds-core/src/js/events.js create mode 100644 packages/uswds-core/src/js/index.js create mode 100644 packages/uswds-core/src/js/start.js create mode 100644 packages/uswds-core/src/js/uswds-init.js create mode 100644 packages/uswds-core/src/js/utils/active-element.js create mode 100644 packages/uswds-core/src/js/utils/behavior.js create mode 100644 packages/uswds-core/src/js/utils/debounce.js create mode 100644 packages/uswds-core/src/js/utils/focus-trap.js create mode 100644 packages/uswds-core/src/js/utils/is-in-viewport.js create mode 100644 packages/uswds-core/src/js/utils/is-ios-device.js create mode 100644 packages/uswds-core/src/js/utils/sanitizer.js create mode 100644 packages/uswds-core/src/js/utils/scrollbar-width.js create mode 100644 packages/uswds-core/src/js/utils/select-or-matches.js create mode 100644 packages/uswds-core/src/js/utils/select.js create mode 100644 packages/uswds-core/src/js/utils/test/.eslintrc.yml create mode 100644 packages/uswds-core/src/js/utils/test/.mocharc.json create mode 100644 packages/uswds-core/src/js/utils/test/behavior.spec.js create mode 100644 packages/uswds-core/src/js/utils/test/is-in-viewport.spec.js create mode 100644 packages/uswds-core/src/js/utils/test/select.spec.js create mode 100644 packages/uswds-core/src/js/utils/test/select.template.html create mode 100644 packages/uswds-core/src/js/utils/test/toggle-field-mask.spec.js create mode 100644 packages/uswds-core/src/js/utils/test/toggle-form-input.spec.js create mode 100644 packages/uswds-core/src/js/utils/test/toggle.template.html create mode 100644 packages/uswds-core/src/js/utils/test/util.js create mode 100644 packages/uswds-core/src/js/utils/toggle-field-mask.js create mode 100644 packages/uswds-core/src/js/utils/toggle-form-input.js create mode 100644 packages/uswds-core/src/js/utils/toggle.js create mode 100644 packages/uswds-core/src/js/utils/validate-input.js create mode 100644 packages/uswds-core/src/styles/_defaults.scss create mode 100644 packages/uswds-core/src/styles/_deprecated.scss create mode 100644 packages/uswds-core/src/styles/_index.scss create mode 100644 packages/uswds-core/src/styles/_notifications.scss create mode 100644 packages/uswds-core/src/styles/_properties.scss create mode 100644 packages/uswds-core/src/styles/_test.scss create mode 100644 packages/uswds-core/src/styles/functions/_index.scss create mode 100644 packages/uswds-core/src/styles/functions/color/_index.scss create mode 100644 packages/uswds-core/src/styles/functions/color/advanced-color.scss create mode 100644 packages/uswds-core/src/styles/functions/color/calculate-grade.scss create mode 100644 packages/uswds-core/src/styles/functions/color/color-token-assignment.scss create mode 100644 packages/uswds-core/src/styles/functions/color/color-token-family.scss create mode 100644 packages/uswds-core/src/styles/functions/color/color-token-grade.scss create mode 100644 packages/uswds-core/src/styles/functions/color/color-token-type.scss create mode 100644 packages/uswds-core/src/styles/functions/color/color-token-variant.scss create mode 100644 packages/uswds-core/src/styles/functions/color/decompose-color-token.scss create mode 100644 packages/uswds-core/src/styles/functions/color/get-color-token-from-bg.scss create mode 100644 packages/uswds-core/src/styles/functions/color/get-link-tokens-from-bg.scss create mode 100644 packages/uswds-core/src/styles/functions/color/get-system-color.scss create mode 100644 packages/uswds-core/src/styles/functions/color/is-accessible-magic-number.scss create mode 100644 packages/uswds-core/src/styles/functions/color/is-color-dark.scss create mode 100644 packages/uswds-core/src/styles/functions/color/is-color-token.scss create mode 100644 packages/uswds-core/src/styles/functions/color/is-system-color-token.scss create mode 100644 packages/uswds-core/src/styles/functions/color/is-theme-color-token.scss create mode 100644 packages/uswds-core/src/styles/functions/color/luminance.scss create mode 100644 packages/uswds-core/src/styles/functions/color/magic-number.scss create mode 100644 packages/uswds-core/src/styles/functions/color/next-token.scss create mode 100644 packages/uswds-core/src/styles/functions/color/set-theme-color.scss create mode 100644 packages/uswds-core/src/styles/functions/color/test-color.scss create mode 100644 packages/uswds-core/src/styles/functions/color/wcag-magic-number.scss create mode 100644 packages/uswds-core/src/styles/functions/font/_index.scss create mode 100644 packages/uswds-core/src/styles/functions/font/cap-height.scss create mode 100644 packages/uswds-core/src/styles/functions/font/convert-to-font-type.scss create mode 100644 packages/uswds-core/src/styles/functions/font/font-sources.scss create mode 100644 packages/uswds-core/src/styles/functions/font/get-font-stack.scss create mode 100644 packages/uswds-core/src/styles/functions/font/get-typeface-token.scss create mode 100644 packages/uswds-core/src/styles/functions/font/normalize-type-scale.scss create mode 100644 packages/uswds-core/src/styles/functions/font/system-type-scale.scss create mode 100644 packages/uswds-core/src/styles/functions/font/validate-typeface-token.scss create mode 100644 packages/uswds-core/src/styles/functions/general/_index.scss create mode 100644 packages/uswds-core/src/styles/functions/general/append-important.scss create mode 100644 packages/uswds-core/src/styles/functions/general/de-list.scss create mode 100644 packages/uswds-core/src/styles/functions/general/error-not-token.scss create mode 100644 packages/uswds-core/src/styles/functions/general/error.scss create mode 100644 packages/uswds-core/src/styles/functions/general/get-default.scss create mode 100644 packages/uswds-core/src/styles/functions/general/get-last.scss create mode 100644 packages/uswds-core/src/styles/functions/general/has-important.scss create mode 100644 packages/uswds-core/src/styles/functions/general/map-collect.scss create mode 100644 packages/uswds-core/src/styles/functions/general/map-deep-get.scss create mode 100644 packages/uswds-core/src/styles/functions/general/multi-cat.scss create mode 100644 packages/uswds-core/src/styles/functions/general/remove.scss create mode 100644 packages/uswds-core/src/styles/functions/general/smart-quote.scss create mode 100644 packages/uswds-core/src/styles/functions/general/str-replace.scss create mode 100644 packages/uswds-core/src/styles/functions/general/str-split.scss create mode 100644 packages/uswds-core/src/styles/functions/general/strip-unit.scss create mode 100644 packages/uswds-core/src/styles/functions/general/to-map.scss create mode 100644 packages/uswds-core/src/styles/functions/general/to-number.scss create mode 100644 packages/uswds-core/src/styles/functions/general/unpack.scss create mode 100644 packages/uswds-core/src/styles/functions/grid/_index.scss create mode 100644 packages/uswds-core/src/styles/functions/grid/calc-gap-offset.scss create mode 100644 packages/uswds-core/src/styles/functions/grid/columns.scss create mode 100644 packages/uswds-core/src/styles/functions/math/_index.scss create mode 100644 packages/uswds-core/src/styles/functions/math/pow.scss create mode 100644 packages/uswds-core/src/styles/functions/output/_index.scss create mode 100644 packages/uswds-core/src/styles/functions/output/get-standard-values.scss create mode 100644 packages/uswds-core/src/styles/functions/output/get-uswds-value.scss create mode 100644 packages/uswds-core/src/styles/functions/output/ns.scss create mode 100644 packages/uswds-core/src/styles/functions/output/number-to-token.scss create mode 100644 packages/uswds-core/src/styles/functions/units/_index.scss create mode 100644 packages/uswds-core/src/styles/functions/units/_root.scss create mode 100644 packages/uswds-core/src/styles/functions/units/px-to-rem.scss create mode 100644 packages/uswds-core/src/styles/functions/units/px-to-user-em.scss create mode 100644 packages/uswds-core/src/styles/functions/units/rem-to-px.scss create mode 100644 packages/uswds-core/src/styles/functions/units/rem-to-user-em.scss create mode 100644 packages/uswds-core/src/styles/functions/units/spacing-multiple.scss create mode 100644 packages/uswds-core/src/styles/functions/units/units.scss create mode 100644 packages/uswds-core/src/styles/functions/utilities/_index.scss create mode 100644 packages/uswds-core/src/styles/functions/utilities/color.scss create mode 100644 packages/uswds-core/src/styles/functions/utilities/etc.scss create mode 100644 packages/uswds-core/src/styles/functions/utilities/line-height.scss create mode 100644 packages/uswds-core/src/styles/functions/utilities/utility-font.scss create mode 100644 packages/uswds-core/src/styles/mixins/_index.scss create mode 100644 packages/uswds-core/src/styles/mixins/_utility-builder.scss create mode 100644 packages/uswds-core/src/styles/mixins/general/_index.scss create mode 100644 packages/uswds-core/src/styles/mixins/general/add-aspect.scss create mode 100644 packages/uswds-core/src/styles/mixins/general/add-background-svg.scss create mode 100644 packages/uswds-core/src/styles/mixins/general/add-bar.scss create mode 100644 packages/uswds-core/src/styles/mixins/general/add-checkbox-placeholder.scss create mode 100644 packages/uswds-core/src/styles/mixins/general/add-kerning.scss create mode 100644 packages/uswds-core/src/styles/mixins/general/add-responsive-site-margins.scss create mode 100644 packages/uswds-core/src/styles/mixins/general/add-success-mark.scss create mode 100644 packages/uswds-core/src/styles/mixins/general/button-disabled.scss create mode 100644 packages/uswds-core/src/styles/mixins/general/button-unstyled.scss create mode 100644 packages/uswds-core/src/styles/mixins/general/clearfix.scss create mode 100644 packages/uswds-core/src/styles/mixins/general/external-link.scss create mode 100644 packages/uswds-core/src/styles/mixins/general/focus-outline.scss create mode 100644 packages/uswds-core/src/styles/mixins/general/font-face.scss create mode 100644 packages/uswds-core/src/styles/mixins/general/icon.scss create mode 100644 packages/uswds-core/src/styles/mixins/general/layout-grid.scss create mode 100644 packages/uswds-core/src/styles/mixins/general/media-block-img.scss create mode 100644 packages/uswds-core/src/styles/mixins/general/media-link.scss create mode 100644 packages/uswds-core/src/styles/mixins/general/nav-list.scss create mode 100644 packages/uswds-core/src/styles/mixins/general/screen-reader.scss create mode 100644 packages/uswds-core/src/styles/mixins/general/table.scss create mode 100644 packages/uswds-core/src/styles/mixins/helpers/_index.scss create mode 100644 packages/uswds-core/src/styles/mixins/helpers/add-label-styles.scss create mode 100644 packages/uswds-core/src/styles/mixins/helpers/add-link-styles.scss create mode 100644 packages/uswds-core/src/styles/mixins/helpers/alert-status-styles.scss create mode 100644 packages/uswds-core/src/styles/mixins/helpers/at-media.scss create mode 100644 packages/uswds-core/src/styles/mixins/helpers/border-box-sizing.scss create mode 100644 packages/uswds-core/src/styles/mixins/helpers/checkbox-and-radio-colors.scss create mode 100644 packages/uswds-core/src/styles/mixins/helpers/format-input.scss create mode 100644 packages/uswds-core/src/styles/mixins/helpers/format-label.scss create mode 100644 packages/uswds-core/src/styles/mixins/helpers/override-prose.scss create mode 100644 packages/uswds-core/src/styles/mixins/helpers/set-icon-from-bg.scss create mode 100644 packages/uswds-core/src/styles/mixins/helpers/set-link-from-bg.scss create mode 100644 packages/uswds-core/src/styles/mixins/helpers/set-text-and-bg.scss create mode 100644 packages/uswds-core/src/styles/mixins/helpers/set-text-from-bg.scss create mode 100644 packages/uswds-core/src/styles/mixins/layout-grid/_grid-container.scss create mode 100644 packages/uswds-core/src/styles/mixins/layout-grid/_grid-row.scss create mode 100644 packages/uswds-core/src/styles/mixins/layout-grid/_index.scss create mode 100644 packages/uswds-core/src/styles/mixins/typography/_index.scss create mode 100644 packages/uswds-core/src/styles/mixins/typography/add-list-reset.scss create mode 100644 packages/uswds-core/src/styles/mixins/typography/headings.scss create mode 100644 packages/uswds-core/src/styles/mixins/typography/typeset.scss create mode 100644 packages/uswds-core/src/styles/mixins/typography/unstyled-list.scss create mode 100644 packages/uswds-core/src/styles/mixins/typography/usa-content-styles.scss create mode 100644 packages/uswds-core/src/styles/mixins/typography/usa-list.scss create mode 100644 packages/uswds-core/src/styles/mixins/typography/usa-table-styles.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_align-items.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_align-self.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_background-color.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_border-color.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_border-radius.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_border-width.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_border.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_bottom.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_circle.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_color.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_cursor.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_disabled.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_display.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_flex-direction.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_flex.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_float.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_font-weight.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_font.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_height.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_index.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_justify-content.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_left.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_line-height.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_margin.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_max-height.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_max-width.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_measure.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_min-height.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_min-width.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_order.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_outline-color.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_outline.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_overflow.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_padding.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_pin.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_position.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_right.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_shadow.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_square.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_text-align.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_text-decoration-color.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_text-decoration.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_text-indent.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_text.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_top.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_vertical-align.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_white-space.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_width.scss create mode 100644 packages/uswds-core/src/styles/mixins/utilities/_z-index.scss create mode 100644 packages/uswds-core/src/styles/placeholders/_forms.scss create mode 100644 packages/uswds-core/src/styles/placeholders/_index.scss create mode 100644 packages/uswds-core/src/styles/placeholders/_list.scss create mode 100644 packages/uswds-core/src/styles/settings/_index.scss create mode 100644 packages/uswds-core/src/styles/settings/_settings-color.scss create mode 100644 packages/uswds-core/src/styles/settings/_settings-components.scss create mode 100644 packages/uswds-core/src/styles/settings/_settings-general.scss create mode 100644 packages/uswds-core/src/styles/settings/_settings-spacing.scss create mode 100644 packages/uswds-core/src/styles/settings/_settings-typography.scss create mode 100644 packages/uswds-core/src/styles/settings/_settings-utilities.scss create mode 100644 packages/uswds-core/src/styles/tokens/_index.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/_black-transparent.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/_blue-cool.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/_blue-warm.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/_blue.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/_cyan.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/_global.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/_gold.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/_gray-cool.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/_gray-warm.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/_gray.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/_green-cool.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/_green-warm.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/_green.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/_index.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/_indigo-cool.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/_indigo-warm.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/_indigo.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/_magenta.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/_mint-cool.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/_mint.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/_orange-warm.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/_orange.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/_red-cool.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/_red-warm.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/_red.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/_violet-warm.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/_violet.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/_white-transparent.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/_yellow.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/assignments-theme-color.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/high-contrast-mode-colors.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/shortcodes-color-all.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/shortcodes-color-basic.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/shortcodes-color-project.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/shortcodes-color-state.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/shortcodes-color-system.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/shortcodes-color-theme.scss create mode 100644 packages/uswds-core/src/styles/tokens/color/system-colors.scss create mode 100644 packages/uswds-core/src/styles/tokens/font/_index.scss create mode 100644 packages/uswds-core/src/styles/tokens/font/base-cap-height.scss create mode 100644 packages/uswds-core/src/styles/tokens/font/line-height.scss create mode 100644 packages/uswds-core/src/styles/tokens/font/measure.scss create mode 100644 packages/uswds-core/src/styles/tokens/font/stacks.scss create mode 100644 packages/uswds-core/src/styles/tokens/font/type-scale.scss create mode 100644 packages/uswds-core/src/styles/tokens/font/typefaces.scss create mode 100644 packages/uswds-core/src/styles/tokens/units/_index.scss create mode 100644 packages/uswds-core/src/styles/tokens/units/breakpoints.scss create mode 100644 packages/uswds-core/src/styles/tokens/units/column-gaps.scss create mode 100644 packages/uswds-core/src/styles/tokens/units/grid-base.scss create mode 100644 packages/uswds-core/src/styles/tokens/units/input-widths.scss create mode 100644 packages/uswds-core/src/styles/tokens/units/layout-grid-widths.scss create mode 100644 packages/uswds-core/src/styles/tokens/units/neg-prefix.scss create mode 100644 packages/uswds-core/src/styles/tokens/units/spacing-em.scss create mode 100644 packages/uswds-core/src/styles/tokens/units/spacing.scss create mode 100644 packages/uswds-core/src/styles/variables/_index.scss create mode 100644 packages/uswds-core/src/styles/variables/aspect-ratios.scss create mode 100644 packages/uswds-core/src/styles/variables/border-high-contrast.scss create mode 100644 packages/uswds-core/src/styles/variables/border-radius.scss create mode 100644 packages/uswds-core/src/styles/variables/color-families.scss create mode 100644 packages/uswds-core/src/styles/variables/color-palette-grayscale.scss create mode 100644 packages/uswds-core/src/styles/variables/color-theme-grades.scss create mode 100644 packages/uswds-core/src/styles/variables/column-gaps.scss create mode 100644 packages/uswds-core/src/styles/variables/font-role-tokens.scss create mode 100644 packages/uswds-core/src/styles/variables/font-type-tokens.scss create mode 100644 packages/uswds-core/src/styles/variables/grid.scss create mode 100644 packages/uswds-core/src/styles/variables/luminance-grade-ranges.scss create mode 100644 packages/uswds-core/src/styles/variables/luminance-values.scss create mode 100644 packages/uswds-core/src/styles/variables/namespace.scss create mode 100644 packages/uswds-core/src/styles/variables/project-cap-heights.scss create mode 100644 packages/uswds-core/src/styles/variables/project-colors.scss create mode 100644 packages/uswds-core/src/styles/variables/project-defaults.scss create mode 100644 packages/uswds-core/src/styles/variables/project-easing.scss create mode 100644 packages/uswds-core/src/styles/variables/project-font-stacks.scss create mode 100644 packages/uswds-core/src/styles/variables/project-font-types.scss create mode 100644 packages/uswds-core/src/styles/variables/project-font-weights.scss create mode 100644 packages/uswds-core/src/styles/variables/project-spacing.scss create mode 100644 packages/uswds-core/src/styles/variables/separator.scss create mode 100644 packages/uswds-core/src/styles/variables/size-touch-target.scss create mode 100644 packages/uswds-core/src/styles/variables/theme-color-grades.scss create mode 100644 packages/uswds-core/src/styles/variables/type-scale.scss create mode 100644 packages/uswds-core/src/styles/variables/wcag-magic-numbers.scss create mode 100644 packages/uswds-core/src/test/sass.spec.js create mode 100644 packages/uswds-core/src/test/tests.scss create mode 100644 packages/uswds-core/src/theme/_uswds-theme-custom-styles.scss create mode 100644 packages/uswds-core/src/theme/_uswds-theme.scss create mode 100644 packages/uswds-core/src/theme/styles.scss create mode 100644 packages/uswds-elements/_index.scss create mode 100644 packages/uswds-elements/lib/_normalize.scss create mode 100644 packages/uswds-elements/src/styles/_body.scss create mode 100644 packages/uswds-elements/src/styles/_focus.scss create mode 100644 packages/uswds-elements/src/styles/_img.scss create mode 100644 packages/uswds-elements/src/styles/_index.scss create mode 100644 packages/uswds-elements/src/styles/_sizing.scss create mode 100644 packages/uswds-elements/src/styles/_typography.scss create mode 100644 packages/uswds-fonts/_index.scss create mode 100644 packages/uswds-fonts/src/styles/_font-face.scss create mode 100644 packages/uswds-fonts/src/styles/_index.scss create mode 100644 packages/uswds-form-controls/_index.scss create mode 100644 packages/uswds-form-templates/_index.scss create mode 100644 packages/uswds-global/_index.scss create mode 100644 packages/uswds-helpers/_index.scss create mode 100644 packages/uswds-helpers/src/styles/_index.scss create mode 100644 packages/uswds-helpers/src/styles/_usa-focus.scss create mode 100644 packages/uswds-helpers/src/styles/_usa-sr-only.scss create mode 100644 packages/uswds-tokens/colors/blue-cool.json create mode 100644 packages/uswds-tokens/colors/blue-warm.json create mode 100644 packages/uswds-tokens/colors/blue.json create mode 100644 packages/uswds-tokens/colors/cyan.json create mode 100644 packages/uswds-tokens/colors/gold.json create mode 100644 packages/uswds-tokens/colors/gray-cool.json create mode 100644 packages/uswds-tokens/colors/gray-warm.json create mode 100644 packages/uswds-tokens/colors/gray.json create mode 100644 packages/uswds-tokens/colors/green-cool.json create mode 100644 packages/uswds-tokens/colors/green-warm.json create mode 100644 packages/uswds-tokens/colors/green.json create mode 100644 packages/uswds-tokens/colors/indigo-cool.json create mode 100644 packages/uswds-tokens/colors/indigo-warm.json create mode 100644 packages/uswds-tokens/colors/indigo.json create mode 100644 packages/uswds-tokens/colors/magenta.json create mode 100644 packages/uswds-tokens/colors/mint-cool.json create mode 100644 packages/uswds-tokens/colors/mint.json create mode 100644 packages/uswds-tokens/colors/orange-warm.json create mode 100644 packages/uswds-tokens/colors/orange.json create mode 100644 packages/uswds-tokens/colors/red-cool.json create mode 100644 packages/uswds-tokens/colors/red-warm.json create mode 100644 packages/uswds-tokens/colors/red.json create mode 100644 packages/uswds-tokens/colors/violet-warm.json create mode 100644 packages/uswds-tokens/colors/violet.json create mode 100644 packages/uswds-tokens/colors/yellow.json create mode 100644 packages/uswds-typography/_index.scss create mode 100644 packages/uswds-utilities/_index.scss create mode 100644 packages/uswds-utilities/src/styles/_index.scss create mode 100644 packages/uswds-utilities/src/styles/functions/_index.scss create mode 100644 packages/uswds-utilities/src/styles/functions/get-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/_color-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/_default-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/_font-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/_index.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/_palette-registry.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/_spacing-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/colors/_black-transparent-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/colors/_blue-cool-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/colors/_blue-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/colors/_blue-warm-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/colors/_cyan-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/colors/_gold-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/colors/_gray-cool-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/colors/_gray-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/colors/_gray-warm-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/colors/_green-cool-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/colors/_green-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/colors/_green-warm-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/colors/_index.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/colors/_indigo-cool-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/colors/_indigo-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/colors/_indigo-warm-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/colors/_magenta-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/colors/_mint-cool-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/colors/_mint-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/colors/_orange-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/colors/_orange-warm-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/colors/_red-cool-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/colors/_red-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/colors/_red-warm-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/colors/_violet-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/colors/_violet-warm-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/colors/_white-transparent-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/palettes/colors/_yellow-palettes.scss create mode 100644 packages/uswds-utilities/src/styles/rules/_index.scss create mode 100644 packages/uswds-utilities/src/styles/rules/_package.scss create mode 100644 packages/uswds-utilities/src/styles/rules/add-aspect.scss create mode 100644 packages/uswds-utilities/src/styles/rules/add-list-reset.scss create mode 100644 packages/uswds-utilities/src/styles/rules/align-items.scss create mode 100644 packages/uswds-utilities/src/styles/rules/align-self.scss create mode 100644 packages/uswds-utilities/src/styles/rules/background-color.scss create mode 100644 packages/uswds-utilities/src/styles/rules/border-color.scss create mode 100644 packages/uswds-utilities/src/styles/rules/border-radius.scss create mode 100644 packages/uswds-utilities/src/styles/rules/border-style.scss create mode 100644 packages/uswds-utilities/src/styles/rules/border-width.scss create mode 100644 packages/uswds-utilities/src/styles/rules/border.scss create mode 100644 packages/uswds-utilities/src/styles/rules/bottom.scss create mode 100644 packages/uswds-utilities/src/styles/rules/box-shadow.scss create mode 100644 packages/uswds-utilities/src/styles/rules/circle.scss create mode 100644 packages/uswds-utilities/src/styles/rules/clearfix.scss create mode 100644 packages/uswds-utilities/src/styles/rules/color.scss create mode 100644 packages/uswds-utilities/src/styles/rules/cursor.scss create mode 100644 packages/uswds-utilities/src/styles/rules/display.scss create mode 100644 packages/uswds-utilities/src/styles/rules/flex-direction.scss create mode 100644 packages/uswds-utilities/src/styles/rules/flex-wrap.scss create mode 100644 packages/uswds-utilities/src/styles/rules/flex.scss create mode 100644 packages/uswds-utilities/src/styles/rules/float.scss create mode 100644 packages/uswds-utilities/src/styles/rules/font-family.scss create mode 100644 packages/uswds-utilities/src/styles/rules/font-feature.scss create mode 100644 packages/uswds-utilities/src/styles/rules/font-style.scss create mode 100644 packages/uswds-utilities/src/styles/rules/font-weight.scss create mode 100644 packages/uswds-utilities/src/styles/rules/font.scss create mode 100644 packages/uswds-utilities/src/styles/rules/height.scss create mode 100644 packages/uswds-utilities/src/styles/rules/justify-content.scss create mode 100644 packages/uswds-utilities/src/styles/rules/left.scss create mode 100644 packages/uswds-utilities/src/styles/rules/letter-spacing.scss create mode 100644 packages/uswds-utilities/src/styles/rules/line-height.scss create mode 100644 packages/uswds-utilities/src/styles/rules/margin.scss create mode 100644 packages/uswds-utilities/src/styles/rules/max-height.scss create mode 100644 packages/uswds-utilities/src/styles/rules/max-width.scss create mode 100644 packages/uswds-utilities/src/styles/rules/measure.scss create mode 100644 packages/uswds-utilities/src/styles/rules/min-height.scss create mode 100644 packages/uswds-utilities/src/styles/rules/min-width.scss create mode 100644 packages/uswds-utilities/src/styles/rules/opacity.scss create mode 100644 packages/uswds-utilities/src/styles/rules/order.scss create mode 100644 packages/uswds-utilities/src/styles/rules/outline-color.scss create mode 100644 packages/uswds-utilities/src/styles/rules/outline.scss create mode 100644 packages/uswds-utilities/src/styles/rules/overflow.scss create mode 100644 packages/uswds-utilities/src/styles/rules/padding.scss create mode 100644 packages/uswds-utilities/src/styles/rules/pin.scss create mode 100644 packages/uswds-utilities/src/styles/rules/position.scss create mode 100644 packages/uswds-utilities/src/styles/rules/right.scss create mode 100644 packages/uswds-utilities/src/styles/rules/square.scss create mode 100644 packages/uswds-utilities/src/styles/rules/text-align.scss create mode 100644 packages/uswds-utilities/src/styles/rules/text-decoration-color.scss create mode 100644 packages/uswds-utilities/src/styles/rules/text-decoration.scss create mode 100644 packages/uswds-utilities/src/styles/rules/text-indent.scss create mode 100644 packages/uswds-utilities/src/styles/rules/text-transform.scss create mode 100644 packages/uswds-utilities/src/styles/rules/top.scss create mode 100644 packages/uswds-utilities/src/styles/rules/vertical-align.scss create mode 100644 packages/uswds-utilities/src/styles/rules/whitespace.scss create mode 100644 packages/uswds-utilities/src/styles/rules/width.scss create mode 100644 packages/uswds-utilities/src/styles/rules/z-index.scss create mode 100644 packages/uswds-utilities/src/styles/utility-fonts.scss create mode 100644 packages/uswds-utilities/src/test/test-patterns/state-color/test-state-color.twig create mode 100644 packages/uswds-utilities/src/test/test-patterns/state-color/test-state-color.yml create mode 100644 packages/uswds-utilities/src/test/test-patterns/test-usa-flex.twig create mode 100644 packages/uswds-validation/_index.scss create mode 100644 packages/uswds/_index.scss create mode 100644 sass/styles.scss 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 security/README.md create mode 100644 security/uswds-2.10.0-zip-hash.txt create mode 100644 security/uswds-2.10.1-zip-hash.txt create mode 100644 security/uswds-2.10.2-zip-hash.txt create mode 100644 security/uswds-2.10.3-zip-hash.txt create mode 100644 security/uswds-2.11.0-zip-hash.txt create mode 100644 security/uswds-2.11.1-zip-hash.txt create mode 100644 security/uswds-2.11.2-zip-hash.txt create mode 100644 security/uswds-2.12.0-zip-hash.txt create mode 100644 security/uswds-2.12.1-zip-hash.txt create mode 100644 security/uswds-2.12.2-zip-hash.txt create mode 100644 security/uswds-2.13.0-zip-hash.txt create mode 100644 security/uswds-2.13.1-zip-hash.txt create mode 100644 security/uswds-2.13.2-zip-hash.txt create mode 100644 security/uswds-2.13.3-zip-hash.txt create mode 100644 security/uswds-2.14.0-beta.1-zip-hash.txt create mode 100644 security/uswds-2.9.0-zip-hash.txt create mode 100644 security/uswds-3.0.0-beta.1-zip-hash.txt create mode 100644 security/uswds-3.0.0-beta.2-zip-hash.txt create mode 100644 security/uswds-3.0.0-beta.3-zip-hash.txt create mode 100644 security/uswds-3.0.0-beta.4-zip-hash.txt create mode 100644 security/uswds-3.0.0-beta.5-zip-hash.txt create mode 100644 security/uswds-3.0.0-zip-hash.txt create mode 100644 security/uswds-3.0.1-zip-hash.txt create mode 100644 security/uswds-3.0.2-zip-hash.txt create mode 100644 security/uswds-3.1.0-zip-hash.txt create mode 100644 security/uswds-3.10.0-zip-hash.txt create mode 100644 security/uswds-3.11.0-zip-hash.txt create mode 100644 security/uswds-3.2.0-zip-hash.txt create mode 100644 security/uswds-3.3.0-zip-hash.txt create mode 100644 security/uswds-3.4.0-zip-hash.txt create mode 100644 security/uswds-3.4.1-zip-hash.txt create mode 100644 security/uswds-3.5.0-zip-hash.txt create mode 100644 security/uswds-3.6.0-zip-hash.txt create mode 100644 security/uswds-3.6.1-zip-hash.txt create mode 100644 security/uswds-3.7.0-zip-hash.txt create mode 100644 security/uswds-3.7.1-zip-hash.txt create mode 100644 security/uswds-3.8.0-zip-hash.txt create mode 100644 security/uswds-3.8.1-zip-hash.txt create mode 100644 security/uswds-3.8.2-zip-hash.txt create mode 100644 security/uswds-3.9.0-zip-hash.txt create mode 100644 src/stylesheets/packages/_usa-accordion.scss create mode 100644 src/stylesheets/packages/_usa-alert.scss create mode 100644 src/stylesheets/packages/_usa-banner.scss create mode 100644 src/stylesheets/packages/_usa-breadcrumb.scss create mode 100644 src/stylesheets/packages/_usa-button-group.scss create mode 100644 src/stylesheets/packages/_usa-button.scss create mode 100644 src/stylesheets/packages/_usa-card.scss create mode 100644 src/stylesheets/packages/_usa-character-count.scss create mode 100644 src/stylesheets/packages/_usa-checkbox.scss create mode 100644 src/stylesheets/packages/_usa-checklist.scss create mode 100644 src/stylesheets/packages/_usa-collection.scss create mode 100644 src/stylesheets/packages/_usa-combo-box.scss create mode 100644 src/stylesheets/packages/_usa-content.scss create mode 100644 src/stylesheets/packages/_usa-dark-background.scss create mode 100644 src/stylesheets/packages/_usa-date-picker.scss create mode 100644 src/stylesheets/packages/_usa-display.scss create mode 100644 src/stylesheets/packages/_usa-embed-container.scss create mode 100644 src/stylesheets/packages/_usa-error-message.scss create mode 100644 src/stylesheets/packages/_usa-fieldset.scss create mode 100644 src/stylesheets/packages/_usa-file-input.scss create mode 100644 src/stylesheets/packages/_usa-footer.scss create mode 100644 src/stylesheets/packages/_usa-form-group.scss create mode 100644 src/stylesheets/packages/_usa-form.scss create mode 100644 src/stylesheets/packages/_usa-graphic-list.scss create mode 100644 src/stylesheets/packages/_usa-header.scss create mode 100644 src/stylesheets/packages/_usa-hero.scss create mode 100644 src/stylesheets/packages/_usa-hint.scss create mode 100644 src/stylesheets/packages/_usa-icon-list.scss create mode 100644 src/stylesheets/packages/_usa-icon.scss create mode 100644 src/stylesheets/packages/_usa-identifier.scss create mode 100644 src/stylesheets/packages/_usa-input-prefix-suffix.scss create mode 100644 src/stylesheets/packages/_usa-input.scss create mode 100644 src/stylesheets/packages/_usa-intro.scss create mode 100644 src/stylesheets/packages/_usa-label.scss create mode 100644 src/stylesheets/packages/_usa-layout-docs.scss create mode 100644 src/stylesheets/packages/_usa-layout-grid.scss create mode 100644 src/stylesheets/packages/_usa-legend.scss create mode 100644 src/stylesheets/packages/_usa-link.scss create mode 100644 src/stylesheets/packages/_usa-list.scss create mode 100644 src/stylesheets/packages/_usa-media-block.scss create mode 100644 src/stylesheets/packages/_usa-megamenu.scss create mode 100644 src/stylesheets/packages/_usa-memorable-date.scss create mode 100644 src/stylesheets/packages/_usa-modal.scss create mode 100644 src/stylesheets/packages/_usa-nav-container.scss create mode 100644 src/stylesheets/packages/_usa-nav.scss create mode 100644 src/stylesheets/packages/_usa-navbar.scss create mode 100644 src/stylesheets/packages/_usa-pagination.scss create mode 100644 src/stylesheets/packages/_usa-paragraph.scss create mode 100644 src/stylesheets/packages/_usa-process-list.scss create mode 100644 src/stylesheets/packages/_usa-prose.scss create mode 100644 src/stylesheets/packages/_usa-radio.scss create mode 100644 src/stylesheets/packages/_usa-range.scss create mode 100644 src/stylesheets/packages/_usa-search.scss create mode 100644 src/stylesheets/packages/_usa-section.scss create mode 100644 src/stylesheets/packages/_usa-select.scss create mode 100644 src/stylesheets/packages/_usa-sidenav.scss create mode 100644 src/stylesheets/packages/_usa-site-alert.scss create mode 100644 src/stylesheets/packages/_usa-skipnav.scss create mode 100644 src/stylesheets/packages/_usa-step-indicator.scss create mode 100644 src/stylesheets/packages/_usa-summary-box.scss create mode 100644 src/stylesheets/packages/_usa-table.scss create mode 100644 src/stylesheets/packages/_usa-tag.scss create mode 100644 src/stylesheets/packages/_usa-textarea.scss create mode 100644 src/stylesheets/packages/_usa-time-picker.scss create mode 100644 src/stylesheets/packages/_usa-tooltip.scss create mode 100644 src/stylesheets/packages/_uswds-components.scss create mode 100644 src/stylesheets/packages/_uswds-core.scss create mode 100644 src/stylesheets/packages/_uswds-elements.scss create mode 100644 src/stylesheets/packages/_uswds-fonts.scss create mode 100644 src/stylesheets/packages/_uswds-form-controls.scss create mode 100644 src/stylesheets/packages/_uswds-form-templates.scss create mode 100644 src/stylesheets/packages/_uswds-global.scss create mode 100644 src/stylesheets/packages/_uswds-helpers.scss create mode 100644 src/stylesheets/packages/_uswds-typography.scss create mode 100644 src/stylesheets/packages/_uswds-utilities.scss create mode 100644 src/stylesheets/packages/_uswds-validation.scss create mode 100644 src/stylesheets/uswds.scss create mode 100644 src/test/build.spec.js create mode 100644 src/test/include.spec.js create mode 100644 svgo.config.js create mode 100644 tasks/build.js create mode 100644 tasks/clean.js create mode 100644 tasks/copy.js create mode 100644 tasks/flags.js create mode 100644 tasks/javascript.js create mode 100644 tasks/lint.js create mode 100644 tasks/release.js create mode 100644 tasks/sass.js create mode 100644 tasks/svg-sprite.js create mode 100644 tasks/test.js create mode 100644 tasks/utils/cflags.js create mode 100644 tasks/utils/doc-util.js create mode 100644 tasks/watch.js create mode 100644 tsconfig.json create mode 100644 webpack.twig.config.js diff --git a/.browserslistrc b/.browserslistrc new file mode 100644 index 0000000..eb132c3 --- /dev/null +++ b/.browserslistrc @@ -0,0 +1,4 @@ +# Supported browsers +> 2% +last 2 versions +not dead diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..a76d18b --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,102 @@ +version: 2.1 + +orbs: + snyk: snyk/snyk@1.1.2 + +references: + container: &container + docker: + - image: cimg/node:20.9.0-browsers + environment: + CHROME_PATH: $(which google-chrome-stable) + + restore_deps: &restore_deps + restore_cache: + keys: + - v2-uswds-dependencies-{{ checksum "package-lock.json" }} + +jobs: + build: + <<: *container + steps: + - checkout + - restore_cache: + keys: + - v2-uswds-dependencies-{{ checksum "package-lock.json" }} + - run: npm install + - run: npx playwright install + - save_cache: + paths: + - node_modules + key: v2-uswds-dependencies-{{ checksum "package-lock.json" }} + - snyk/scan: + organization: uswds + - run: + name: Run test + command: npm run test:ci + - run: + name: Check formatting + command: npm run prettier:check + + deploy: + <<: *container + steps: + - checkout + - restore_cache: + keys: + - v2-uswds-dependencies-{{ checksum "package-lock.json" }} + - run: npm install --ignore-scripts + - run: npm rebuild node-sass + - run: + name: Build the USWDS package + command: npm run build + - run: + name: Publish to NPM + command: | + npm config set "//registry.npmjs.org/:_authToken=$NPM_TOKEN" + npm publish --access public + deploy-alpha: + <<: *container + steps: + - checkout + - run: npm install --ignore-scripts + - run: npm rebuild node-sass + - run: + name: Build the USWDS package + command: npm run build + - run: + name: Publish to NPM with `alpha` tag + command: | + npm config set "//registry.npmjs.org/:_authToken=$NPM_TOKEN" + npm publish --access public --tag alpha + deploy-beta: + <<: *container + steps: + - checkout + - run: npm install --ignore-scripts + - run: npm rebuild node-sass + - run: + name: Build the USWDS package + command: npm run build + - run: + name: Publish to NPM with `beta` tag + command: | + npm config set "//registry.npmjs.org/:_authToken=$NPM_TOKEN" + npm publish --access public --tag beta +workflows: + version: 2 + circle-uswds: + jobs: + - build + - deploy: + requires: + - build + filters: + branches: + only: main + - deploy-beta: + requires: + - build + filters: + branches: + only: library--main diff --git a/.codeclimate.yml b/.codeclimate.yml new file mode 100644 index 0000000..c644146 --- /dev/null +++ b/.codeclimate.yml @@ -0,0 +1,12 @@ +version: "2" +plugins: + duplication: + enabled: true + config: + languages: + - javascript +exclude_patterns: + - config/**/*.js + - dist/**/*.js + - src/**/*.spec.js + - src/js/vendor/**/*.js diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..2e69299 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,17 @@ +# IDE settings for the Midas project. Many IDE's support this as a starting point +# for a project. For more info, see http://EditorConfig.org. + +# top-most EditorConfig file +root = true + +# Unix-style newlines with a newline ending every file +[*] +end_of_line = lf +insert_final_newline = true +charset = utf-8 +indent_style = space +indent_size = 2 + +[{*.md}] +indent_style = space +indent_size = 4 diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..058c00a --- /dev/null +++ b/.eslintignore @@ -0,0 +1 @@ +src/styleguide/ diff --git a/.eslintrc.yml b/.eslintrc.yml new file mode 100644 index 0000000..242cc30 --- /dev/null +++ b/.eslintrc.yml @@ -0,0 +1,24 @@ +extends: + - airbnb-base + - prettier +plugins: + - import + - no-unsanitized +env: + node: true + browser: true + es6: true + mocha: true +rules: + import/no-extraneous-dependencies: + - error + - devDependencies: true + no-unsanitized/method: error + no-unsanitized/property: error +overrides: + - { files: ['*.spec.js'], + rules: { + no-unsanitized/method: off, + no-unsanitized/property: off + } + } diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..1eb67d9 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,67 @@ +* @uswds/admins + +# This is a comment. +# Each line is a file pattern followed by one or more owners. + +# These owners will be the default owners for everything in +# the repo. Unless a later match takes precedence, +# @global-owner1 and @global-owner2 will be requested for +# review when someone opens a pull request. +# * @global-owner1 @global-owner2 + +# Order is important; the last matching pattern takes the most +# precedence. When someone opens a pull request that only +# modifies JS files, only @js-owner and not the global +# owner(s) will be requested for a review. +# *.js @js-owner #This is an inline comment. + +# You can also use email addresses if you prefer. They'll be +# used to look up users just like we do for commit author +# emails. +# *.go docs@example.com + +# Teams can be specified as code owners as well. Teams should +# be identified in the format @org/team-name. Teams must have +# explicit write access to the repository. In this example, +# the octocats team in the octo-org organization owns all .txt files. +# *.txt @octo-org/octocats + +# In this example, @doctocat owns any files in the build/logs +# directory at the root of the repository and any of its +# subdirectories. +# /build/logs/ @doctocat + +# The `docs/*` pattern will match files like +# `docs/getting-started.md` but not further nested files like +# `docs/build-app/troubleshooting.md`. +# docs/* docs@example.com + +# In this example, @octocat owns any file in an apps directory +# anywhere in your repository. +# apps/ @octocat + +# In this example, @doctocat owns any file in the `/docs` +# directory in the root of your repository and any of its +# subdirectories. +# /docs/ @doctocat + +# In this example, any change inside the `/scripts` directory +# will require approval from @doctocat or @octocat. +# /scripts/ @doctocat @octocat + +# In this example, @octocat owns any file in a `/logs` directory such as +# `/build/logs`, `/scripts/logs`, and `/deeply/nested/logs`. Any changes +# in a `/logs` directory will require approval from @octocat. +# **/logs @octocat + +# In this example, @octocat owns any file in the `/apps` +# directory in the root of your repository except for the `/apps/github` +# subdirectory, as its owners are left empty. +# /apps/ @octocat +# /apps/github + +# In this example, @octocat owns any file in the `/apps` +# directory in the root of your repository except for the `/apps/github` +# subdirectory, as this subdirectory has its own owner @doctocat +# /apps/ @octocat +# /apps/github @doctocat diff --git a/.github/DISCUSSION_TEMPLATE/component-proposals.yml b/.github/DISCUSSION_TEMPLATE/component-proposals.yml new file mode 100644 index 0000000..0528973 --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/component-proposals.yml @@ -0,0 +1,98 @@ +title: "Component proposal: [Component name]" +labels: ["Type: New component proposal"] +body: + - type: markdown + attributes: + value: | + Thank you for suggesting a new component for the U.S. Web Design System (USWDS). + + To get the discussion started, you just need to fill out the three fields marked with an asterisk (*). Then collaborate with the community to add supporting evidence and research, and get feedback. The work you do now can help the USWDS team create a formal component proposal. + + [Learn more about the component proposal process](https://github.com/uswds/uswds/discussions/5764). + + ## The basics + - type: textarea + id: name + attributes: + label: Component name + description: | + Share the common name (or names) for this component. + value: + validations: + required: true + - type: textarea + id: description + attributes: + label: 'Component description' + description: | + Briefly tell us the purpose of this component. + value: + validations: + required: true + - type: textarea + id: need + attributes: + label: 'Why USWDS needs this component' + description: | + Include key interactions, current gaps in USWDS, and the problems this component solves. Explain how the component supports federal laws, guidance, or policies. + value: + validations: + required: true + - type: markdown + attributes: + value: | + ## Component details + - type: textarea + id: design + attributes: + label: 'How the component works' + description: | + Describe how the component works. Include any interactive states and variants. Diagrams, images, wireframes, and prototypes can help you make your case. + value: + validations: + required: false + - type: textarea + id: implementation + attributes: + label: 'Real-world examples' + description: | + Link to examples of other sites — preferably government sites — that use this kind of component. + value: + validations: + required: false + - type: textarea + id: when_to_use + attributes: + label: When to use this component and when to consider something else + description: | + What kind of content works best with this component, and what kind of content would work poorly with it? What are common misuses of this type of component? + value: + validations: + required: false + - type: textarea + id: usability + attributes: + label: Usability considerations + description: | + Include conditions that would make this component more usable or less usable. Also include common pitfalls or implementation mistakes associated with this component. + value: + validations: + required: false + - type: textarea + id: accessibility + attributes: + label: Accessibility considerations + description: | + Include how this component interacts with assistive technologies such as keyboard navigation, screen readers, zoom magnification, and voice command. Are there audiences that might struggle with this component? How might the component become inaccessible? + value: + validations: + required: false + - type: textarea + id: involved + attributes: + label: Who’s involved + description: | + Please tag volunteers who may be willing to help design, develop or test this component. Note agencies that can offer significant support for the component, and tag any stakeholders. Be sure to share a list of those who helped research and prepare this proposal. Include your name and/or GitHub username if you’d like credit as a contributor. + value: + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..0d3b719 --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,29 @@ + + +## Description + +Include a high-level description of the issue. What did you expect to happen? What happened instead? What would you like to see changed? + +Include any benefits, challenges, or considerations. This can be short and sweet. + +## Steps to reproduce the issue + +1. Step one +2. Step two +3. Step three +4. etc. + +## Additional information [optional] + +* Relevant research and support documents +* Screen shot images +* Notes +* And so on diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml new file mode 100644 index 0000000..3e879f4 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -0,0 +1,79 @@ +name: Bug Report 🐞 +description: Report a bug and help USWDS improve. +title: "USWDS - Bug: [YOUR TITLE]" +labels: ['Type: Bug','Needs: Confirmation'] +body: + - type: textarea + id: problem + attributes: + label: Describe the bug + description: Add a clear and concise description of the bug. Let us know if it impacts major or minor functionality and if you have workaround. + validations: + required: true + - type: textarea + id: reproduce + attributes: + label: Steps to reproduce the bug + description: Describe how to reproduce this issue. If the issue is found only in your project, provide a link to a public repo or code preview that demonstrates this issue. + placeholder: | + 1. Go to '...' + 2. Click on '....' + 3. Scroll down to '....' + 4. See error... + validations: + required: true + - type: textarea + id: expectation + attributes: + label: Expected Behavior + description: Add a clear and concise description of what you expected to happen. + validations: + required: true + - type: textarea + id: code + attributes: + label: Related code + description: If available, include relevant code snippets or a link to a demo of the bug. + validations: + required: false + - type: textarea + id: screenshots + attributes: + label: Screenshots + description: Add screenshots to help provide context, if applicable. + validations: + required: false + - type: textarea + id: system + attributes: + label: System setup + description: Provide your system details. Be sure to include your USWDS version, device, operating system, and browser (with version). + placeholder: | + - USWDS version: + - Device: + - Operating system: + - Browser and version: + validations: + required: false + - type: textarea + id: context + attributes: + label: Additional context + description: Add any other context about the problem. + validations: + required: false + - type: checkboxes + id: terms + attributes: + label: Code of Conduct + description: Please confirm the following + options: + - label: + I agree to follow this project's [Code of + Conduct](https://designsystem.digital.gov/about/community/#community-conduct). + required: true + - label: + I checked the [current + issues](https://github.com/uswds/uswds/issues?q=is%3Aissue+is%3Aopen+label%3A%22Type%3A+Bug%22) for + duplicate bug reports. + required: true diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml new file mode 100644 index 0000000..847abad --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yaml @@ -0,0 +1,52 @@ +name: Feature Request 💡 +description: + Suggest a new idea for the design system. +title: 'USWDS - Feature: [YOUR TITLE]' +labels: ['Type: Feature Request'] +body: + - type: markdown + attributes: + value: '## Feature Request 💡' + - type: textarea + id: problem + attributes: + label: Is your feature request related to a problem? Please describe. + description: "Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]" + validations: + required: true + - type: textarea + id: solution + attributes: + label: "Describe the solution you'd like" + description: "Provide a clear and concise description of what you want to happen." + validations: + required: true + - type: textarea + id: alternatives + attributes: + label: "Describe alternatives you've considered" + description: "Provide a clear and concise description of any alternative solutions or features you've considered." + validations: + required: false + - type: textarea + id: context + attributes: + label: Additional context + description: "Add any other context or screenshots about the feature request." + validations: + required: false + - type: checkboxes + id: terms + attributes: + label: Code of Conduct + description: Please confirm the following + options: + - label: + I agree to follow this project's [Code of + Conduct](https://designsystem.digital.gov/about/community/#community-conduct). + required: true + - label: + I checked the [current + issues](https://github.com/uswds/uswds/issues?q=is%3Aissue+is%3Aopen+label%3A%22Type%3A+Feature+Request%22) for + duplicate feature requests. + required: true diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..5576dc0 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,136 @@ + + + + +# Summary + +_Provide a one or two sentence summary of the update that can be used in the changelog._ + + +## Breaking change + +_Indicate if this update is a breaking change with **one** of the following statements:_ +This is not a breaking change. +:warning: This is potentially a breaking change. +:warning: This is a breaking change. + + +## Related issue + +Closes #_[issue_no]_ + + +## Related pull requests + +_Indicate if there are other pull requests necessary to complete this issue._ + + +## Preview link + +Preview link: + + +## Problem statement + +_Summarize the problem this PR solves in a clear and concise statement._ + + +## Solution + +_Provide a summary of the solution this PR offers._ + + +## Major changes + +_For complex PRs, create a list of the significant updates made._ + +## Testing and review + +_Share recommended methods for reviewing this change._ + + + + + + diff --git a/.github/workflows/add-issue-labels.yml b/.github/workflows/add-issue-labels.yml new file mode 100644 index 0000000..0ffab04 --- /dev/null +++ b/.github/workflows/add-issue-labels.yml @@ -0,0 +1,21 @@ +name: Label issues +on: + issues: + types: + - reopened + - opened +jobs: + label_issues: + runs-on: ubuntu-latest + permissions: + issues: write + steps: + - uses: actions/github-script@v6 + with: + script: | + github.rest.issues.addLabels({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + labels: ["Status: Triage"] + }) diff --git a/.github/workflows/add-to-project.yml b/.github/workflows/add-to-project.yml new file mode 100644 index 0000000..cb8b2c7 --- /dev/null +++ b/.github/workflows/add-to-project.yml @@ -0,0 +1,17 @@ +name: Add all issues to project board + +on: + issues: + types: + - opened + +permissions: {} +jobs: + add-to-project: + name: Add issue to project + runs-on: ubuntu-latest + steps: + - uses: actions/add-to-project@v0.1.0 + with: + project-url: https://github.com/orgs/uswds/projects/8 + github-token: ${{ secrets.ADD_TO_PROJECT }} diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml new file mode 100644 index 0000000..824dcac --- /dev/null +++ b/.github/workflows/codeql-analysis.yml @@ -0,0 +1,85 @@ +name: "CodeQL" + +on: + push: + branches: + [ + develop, + main, + v1-develop, + v1-master, + library--develop, + library--main, + ] + pull_request: + # The branches below must be a subset of the branches above + branches: + [ + develop, + main, + v1-develop, + v1-master, + library--develop, + library--main, + ] + schedule: + - cron: "0 21 * * 1" + +permissions: + contents: read # to fetch code (actions/checkout) + +jobs: + analyze: + permissions: + contents: read # to fetch code (actions/checkout) + security-events: write # (github/codeql-action/autobuild) + + name: Analyze + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + # Override automatic language detection by changing the below list + # Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python'] + language: ["javascript"] + # Learn more... + # https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + with: + # We must fetch at least the immediate parents so that if this is + # a pull request then we can checkout the head. + fetch-depth: 2 + + # If this run was triggered by a pull request event, then checkout + # the head of the pull request instead of the merge commit. + - run: git checkout HEAD^2 + if: ${{ github.event_name == 'pull_request' }} + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v1 + with: + languages: ${{ matrix.language }} + + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v1 + + # ℹ️ Command-line programs to run using the OS shell. + # 📚 https://git.io/JvXDl + + # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines + # and modify them (or add more) to build your code if your project + # uses a compiled language + + #- run: | + # make bootstrap + # make release + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v1 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..aa4643b --- /dev/null +++ b/.gitignore @@ -0,0 +1,29 @@ +.DS_store +.*.swp + +# Ignore vs code directories +*.code-workspace +.vscode/ + +# ignore Node-specific files and directories +node_modules/ +npm-debug.log* +*.gz +*.tgz + +# ignore the generated dist directory +dist/ +html-templates/ + +# ignore compiled storybook directory +storybook-static/ +_site/ + +# ignore gulp-generated vendor files +src/stylesheets/lib + +# ignore sass cache +.sass-cache/ + +# ignore sassdoc build +sassdoc/ diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000..e1f83ee --- /dev/null +++ b/.npmignore @@ -0,0 +1,13 @@ +# Ensure that src and dist are published +!dist/ +!src/ + +_site/ +coverage/ +.github/ +.circleci/ +config/ + +.editorconfig +.eslintrc.yml +circle.yml diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..b009dfb --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +lts/* diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..e8d7824 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,9 @@ +*.woff* +*.svg +*.ttf +*.png +*.ico +*.gif +*.md +*.twig +src/patterns/stylesheets/lib/ diff --git a/.snyk b/.snyk new file mode 100644 index 0000000..63bf36c --- /dev/null +++ b/.snyk @@ -0,0 +1,134 @@ +# Snyk (https://snyk.io) policy file, patches or ignores known vulnerabilities. +version: v1.22.1 +# ignores vulnerabilities until expiry date; change duration by modifying expiry date +ignore: + SNYK-JS-GLOBPARENT-1016905: + - del > globby > fast-glob > glob-parent: + reason: No available patch or upgrade. + expires: '2021-03-31T17:53:45.553Z' + - '@pattern-lab/core > @pattern-lab/live-server > chokidar > glob-parent': + reason: No patch available. + expires: '2021-03-11T17:49:21.414Z' + - '@pattern-lab/uikit-workshop > webpack > watchpack > chokidar > glob-parent': + reason: No patch available. + expires: '2021-03-11T17:49:21.414Z' + - '@pattern-lab/core > chokidar > glob-parent': + reason: No patch available. + expires: '2021-03-11T17:49:21.414Z' + - '@pattern-lab/core > chokidar > anymatch > micromatch > parse-glob > glob-base > glob-parent': + reason: No patch available. + expires: '2021-03-11T17:49:21.415Z' + - '@pattern-lab/uikit-workshop > copy-webpack-plugin > glob-parent': + reason: No patch available. + expires: '2021-03-11T17:49:21.415Z' + - '@pattern-lab/uikit-workshop > webpack > watchpack > watchpack-chokidar2 > chokidar > glob-parent': + reason: No patch available. + expires: '2021-03-11T17:49:21.415Z' + - '@pattern-lab/uikit-workshop > critical > postcss-image-inliner > asset-resolver > globby > fast-glob > glob-parent': + reason: No patch available. + expires: '2021-03-11T17:49:21.415Z' + - browser-sync > chokidar > glob-parent: + reason: No patch available. + expires: '2021-03-11T17:49:21.414Z' + SNYK-JS-ENGINEIO-1056749: + - browser-sync > socket.io > engine.io: + reason: No patch available. + expires: '2021-03-11T17:49:21.414Z' + SNYK-JS-LOCUTUS-1009836: + - '@pattern-lab/engine-twig > twing > locutus': + reason: No patch available. + expires: '2021-03-11T17:49:21.415Z' + SNYK-JS-MARKDOWNIT-459438: + - '@pattern-lab/core > markdown-it': + reason: No patch available. + expires: '2021-03-11T17:49:21.415Z' + SNYK-JS-MERGE-1040469: + - '@pattern-lab/engine-twig > twing > merge': + reason: No patch available. + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODEFETCH-674311: + - '@pattern-lab/core > node-fetch': + reason: No patch available. + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-1059081: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available. + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-535498: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-535500: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-535502: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-540956: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-540958: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-540964: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-540978: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-540980: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-540990: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-540992: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-540994: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-540996: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-540998: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-541000: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-541002: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-YARGSPARSER-560381: + - '@pattern-lab/uikit-workshop > critical > meow > yargs-parser': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + - '@pattern-lab/uikit-workshop > critical > filter-css > meow > yargs-parser': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + - '@pattern-lab/uikit-workshop > critical > inline-critical > meow > yargs-parser': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + - '@pattern-lab/uikit-workshop > critical > postcss-image-inliner > asset-resolver > meow > yargs-parser': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + 'npm:braces:20180219': + - '@pattern-lab/core > chokidar > anymatch > micromatch > braces': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' +patch: {} diff --git a/.storybook/main.js b/.storybook/main.js new file mode 100644 index 0000000..9abc80a --- /dev/null +++ b/.storybook/main.js @@ -0,0 +1,139 @@ +const path = require("path"); +const { + createJoinFunction, + createJoinImplementation, + asGenerator, + defaultJoinGenerator, +} = require("resolve-url-loader"); + +const imageDirectory = path.resolve("dist/img"); +const fontsDirectory = path.resolve("dist/fonts"); + +// call default generator then append any additional paths +const pathGenerator = asGenerator((item, ...rest) => [ + ...defaultJoinGenerator(item, ...rest), + item.isAbsolute + ? null + : /\.(png|svg|jpg|jpeg|gif)$/.test(item.uri) + ? imageDirectory + : /\.(woff|woff2|eot|ttf|otf)$/.test(item.uri) + ? fontsDirectory + : null, +]); + +const joinSassAssets = createJoinFunction( + "joinSassAssets", + createJoinImplementation(pathGenerator) +); + +module.exports = { + core: { + builder: "webpack5", + }, + stories: [ + "../packages/**/*.stories.mdx", + "../packages/**/**/*.stories.@(js|jsx|ts|tsx)", + ], + addons: [ + "@storybook/addon-links", + "@storybook/addon-essentials", + "@storybook/addon-a11y", + ], + staticDirs: ['../dist'], + webpackFinal: async (config, { configType }) => { + // `configType` has a value of 'DEVELOPMENT' or 'PRODUCTION' + // You can change the configuration based on that. + // 'PRODUCTION' is used when building the static version of storybook. + config.module.rules.push( + { + test: /\.twig$/, + use: "twigjs-loader", + resolve: { + alias: { + "@components": path.resolve(__dirname, "../packages"), + "@templates": path.resolve(__dirname, "../packages/templates"), + }, + }, + }, + { + test: /\.s(c|a)ss$/i, + use: [ + { + loader: "style-loader", + }, + { + loader: "css-loader", + options: { + sourceMap: true, + esModule: false, + }, + }, + { + loader: "postcss-loader", + options: { + sourceMap: true, + postcssOptions: (loaderContext) => { + return { + plugins: [ + ["postcss-import", { root: loaderContext.resourcePath }], + ["postcss-discard-comments", { removeAll: true }], + "postcss-preset-env", + [ + "postcss-csso", + { forceMediaMerge: false, comments: false }, + ], + ], + }; + }, + }, + }, + { + loader: "resolve-url-loader", + options: { + join: joinSassAssets, + }, + }, + { + loader: "sass-loader", + options: { + sourceMap: true, + sassOptions: { + includePaths: [ + "./packages", + "./node_modules/@uswds" + ], + implementation: require("sass-embedded") + }, + }, + }, + ], + include: path.resolve(__dirname, "../packages"), + }, + { + test: /\.(png|svg|jpg|jpeg|gif)$/i, + type: "javascript/auto", + use: { + loader: "file-loader", + options: { + name: "[name].[ext]", + //outputPath: "../dist/img", + }, + }, + include: path.resolve(__dirname, "../packages"), + }, + { + test: /\.(woff|woff2|eot|ttf|otf)$/i, + type: "javascript/auto", + use: { + loader: "file-loader", + options: { + name: "[path][name].[ext]", + }, + }, + include: path.resolve(__dirname, "../packages/uswds-core/src/assets/fonts"), + } + ); + + return config; + }, +}; diff --git a/.storybook/preview-head.html b/.storybook/preview-head.html new file mode 100644 index 0000000..8bf5521 --- /dev/null +++ b/.storybook/preview-head.html @@ -0,0 +1,27 @@ + + + + + diff --git a/.storybook/preview.js b/.storybook/preview.js new file mode 100644 index 0000000..766afac --- /dev/null +++ b/.storybook/preview.js @@ -0,0 +1,21 @@ +import "../packages/uswds-core/src/js/start"; + +export const parameters = { + actions: { argTypesRegex: "^on[A-Z].*" }, + controls: { + matchers: { + color: /(background|color)$/i, + date: /Date$/, + }, + }, + options: { + storySort: { + order: [ + "Design Tokens", + "Components", + "Patterns", + "Pages", + ], + }, + }, +}; diff --git a/.stylelintrc.json b/.stylelintrc.json new file mode 100644 index 0000000..12afc0f --- /dev/null +++ b/.stylelintrc.json @@ -0,0 +1,11 @@ +{ + "extends": [ + "@18f/identity-stylelint-config" + ], + "rules": { + "unit-no-unknown": null, + "no-descending-specificity": null, + "no-duplicate-selectors": null + }, + "ignoreFiles": "./src/stylesheets/lib/**/*" +} diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 0000000..dfe6349 --- /dev/null +++ b/.tool-versions @@ -0,0 +1 @@ +nodejs 20.13.1 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..b42f8ca --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,149 @@ +## Welcome! + +We’re glad you’re thinking about contributing to the U.S. Web Design System (USWDS)! + +USWDS is for everyone — we’re an open source project that accepts contributions from our community members. USWDS is the result of community contributions, large and small. Your contribution helps make the Design System better for the next team that uses it. + +## Code of Conduct + +USWDS is committed to building a safe, welcoming, harassment-free culture for everyone. USWDS is a part of the Technology Transformation Services (TTS) within the General Services Administration (GSA) and we expect everyone to follow the [GSA TTS Code of Conduct](https://handbook.tts.gsa.gov/about-us/code-of-conduct/). + +We encourage you to read this project’s Contribution Guide (you are here), its [LICENSE](https://github.com/uswds/uswds/blob/develop/LICENSE.md) and its [README](https://github.com/uswds/uswds/blob/develop/README.md). If you want to read more about our open source policy or have questions, check out the [18F Open Source Policy GitHub repository](https://github.com/18f/open-source-policy) or send us an [email](mailto:uswds@gsa.gov). + +## How you can contribute + +### Getting Started + +Anyone can contribute to USWDS. Whether it's submitting a bug or proposing a new component, we welcome your ideas on how to improve the Design System. + +First time contributor? We’re here to help guide you through a successful contribution. We review all contributions before merging them into USWDS. If you’re unsure about anything, just [ask](mailto:uswds@gsa.gov) — or submit your issue or pull request anyway to get the conversation started. + +Before submitting a contribution, you’ll just need to create a GitHub account or sign in to your existing account. + +If you want to see some other contributions before submitting your own, check out [some good first issues](https://github.com/uswds/uswds/issues?q=is%3Aissue+is%3Aopen+label%3A%22Good+First+Issue%22) from other community members. Again, if you have any questions, don’t hesitate to [reach out to us](mailto:uswds@gsa.gov). + +### Reporting bugs and issues + +If something isn’t working the way it's supposed to, here’s how you can let us know: + +#### 1. Check the issues backlog to see if your bug has already been reported + +First, check our [current issues backlog](https://github.com/uswds/uswds/issues?q=is%3Aissue+is%3Aopen+label%3A%22Type%3A+Bug%22+) to see if your bug has already been reported. + +If your bug has already been reported, leave a comment in the original issue and provide any additional context (if different than the original submission). This helps us better understand the issue and its impact. + +#### 2. Document how to reproduce the bug + +Before submitting a bug, try to recreate it and document the steps we can take to reproduce it. If you can, take screen shots to capture specific details about the bug. This helps us understand its context. We can only fix bugs that we're able to understand and reproduce. + +#### 3. Submit an issue + +If your bug or issue is not in the [current issues backlog](https://github.com/uswds/uswds/issues?q=is%3Aissue+is%3Aopen+label%3A%22Type%3A+Bug%22+), submit an issue using the [bug report template](https://github.com/uswds/uswds/issues/new?assignees=&labels=Type%3A+Bug%2CStatus%3A+Triage%2CNeeds%3A+Confirmation&template=bug_report.yaml&title=USWDS+-+Bug%3A+%5BYOUR+TITLE%5D). A USWDS core team member may reach out to you if we need further clarification or context. We may also need your help testing possible solutions. Be sure to check in on your issue to answer any questions we may have about it. + +If you have a code fix for the issue, go ahead and submit a pull request. Our team tracks issues, so make sure any pull request you submit has a related issue. + +### Proposing feature requests or enhancements + +If you’ve got a new idea or a suggestion for how something could work better, we want to hear about it. Here are a few steps to help you submit a feature request or enhancement. + +#### 1. Check the backlog of current feature requests + +Check our [feature requests backlog](https://github.com/uswds/uswds/issues?q=is%3Aissue+is%3Aopen+label%3A%22Type%3A+Feature+Request%22) for any duplicate or similar feature requests. + +If your idea has already been suggested, upvote that feature request with a thumbs up emoji (👍) and comment on the issue to let us know why you need this feature request and any other supporting information. We review the number of upvotes (represented by 👍) to help us prioritize feature requests. + +If you want to find other feature requests open for upvoting, check out our [feature request view sorted by status](https://github.com/orgs/uswds/projects/8/views/18?sortedBy%5Bdirection%5D=asc&sortedBy%5BcolumnId%5D=Status). + +#### 2. Submit an issue + +If your idea is not in the [current issues backlog](https://github.com/uswds/uswds/issues?q=is%3Aissue+is%3Aopen+label%3A%22Type%3A+Feature+Request%22), submit an issue using the [feature request template](https://github.com/uswds/uswds/issues/new?assignees=&labels=Type%3A+Feature+Request%2CStatus%3A+Triage&template=feature_request.yaml&title=USWDS+-+Feature%3A+%5BYOUR+TITLE%5D). A USWDS core team member may reach out to you if we need further clarification on your submission. + + +### Submitting code contributions + +#### Getting started with USWDS code + +1. First, fork this repo into your GitHub account. Read more about [forking a repo on GitHub](https://help.github.com/articles/fork-a-repo/). +1. Open your local copy of the repository then run the following command in terminal to install project dependencies: + ```sh + npm install + ``` +1. Now that all of your dependencies are installed, start your local server by running the following command: + ```sh + npm start + ``` +1. Open `localhost:6006` in your browser to see your local build of the the USWDS component library in Storybook. + +Here are a few other utility commands you may find useful: + +- `npm run lint`: Runs `eslint` and `sass-lint` against JavaScript and Sass files. +- `npm run prettier`: Runs `prettier` against HTML, JavaScript, and Sass files. +- `npm test`: Runs all tests and linters. + +#### Submitting a pull request for a bug fix: + +1. Check our [open issues backlog](https://github.com/uswds/uswds/issues) for any duplicate or similar issues. +1. If your bug has already been submitted, feel free to comment and provide additional context (if different than the original submission). +1. If your proposed fix is not in the open issues backlog, create an [issue](https://github.com/uswds/uswds/issues/new/choose) for the change you’re proposing. This helps us track our work. +1. Follow the steps in the [Getting started with USWDS code](#getting-started-with-uswds-code) section above to get setup locally. +1. Create a branch from `develop` and name it in a way that lightly defines what you’re working on (for example, `add-styles`). +1. Once you’re ready to submit a pull request, fill out the [pull request template](https://github.com/uswds/uswds/compare). +1. Link your pull request to the issue you created. This important step helps us know which issue this solution fixes. Tip: You can link the pull request in the body of the pull request template using the GitHub comment `closes #issue-no` or `resolves #issue-no`. You can read more about linking pull requests on [GitHub](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue). +1. Submit your pull request against the `develop` branch. + +If the pull request is accepted, we will schedule the issue and merge the pull request for you. + +#### Submitting a pull request for a feature request or enhancement: + +1. Check our [open issues backlog](https://github.com/uswds/uswds/issues) for any duplicate or similar issues. +1. If your idea has already been suggested, upvote that feature request with a thumbs up emoji (👍) and comment on the issue to let us know why you need this feature request or enhancement and any other supporting information. +Tip: If you want to find other feature requests open for upvoting, check out our [feature requests sorted by upvotes](https://github.com/uswds/uswds/issues?q=is%3Aissue+is%3Aopen+label%3A%22Status%3A+Voting+Open+%F0%9F%91%8D%22+sort%3Areactions-%2B1-desc). +1. If your proposed fix is not in the [open issues backlog](https://github.com/uswds/uswds/issues), [create an issue](https://github.com/uswds/uswds/issues/new?assignees=&labels=Type%3A+Feature+Request%2CStatus%3A+Triage&template=feature_request.yaml&title=USWDS+-+Feature%3A+%5BYOUR+TITLE%5D) describing your proposal. This doesn’t mean we don’t want you to create a pull request. We simply want to start the process with an online conversation first. Plus, other community members might have supporting thoughts to add to your proposal. If you’ve already got a pull request, no worries. Go ahead and attach it to the issue. + +### Proposing something else? + +If you’d like to contribute something else that doesn’t fall into any of the above, we’d still love to hear about it. Just create an issue or a discussion, and we can talk about it. + +## How we prioritize + +Once you’ve submitted a contribution, we'll triage it based on the following considerations: +1. **Size:** Can we accomplish this in a sprint or will this take longer? +1. **Severity:** What type of functionality is impacted? Is there a workaround? +1. **Priority:** Does this align with our vision and roadmap goals? + +Note: We prioritize issues that affect accessibility. + +These considerations help us decide if and when we can work on the issue. If the issue is accepted, we will schedule them for an upcoming sprint (a 2-week work period). + +You can stay up to date on the status of your contributions through [GitHub email notifications](https://docs.github.com/en/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications) (external link) and the assigned labels on the issue. + +## Common terms + +There can be a lot of jargon when discussing how you can contribute to the Design System. We’ve included some common terms we use below. + +- **Backlog** - list of deliverables (like a feature request, enhancement, or bug) that should be implemented into upcoming product development. +- **Bug** - problem resulting in something not working properly or as expected. +- **Contribution** - when a community member gives back in a way that enhances the Design System by proposing a new idea, enhancement, or fix that’s released through the system for other people to use. +- **Enhancement** - a proposal to make something existing in the Design System work better. +- **Feature request** - a proposal for something new to be included to the Design System. +- **Fork** - a copy of a repository that you manage. +- **Open source** - something that can be viewed, modified, and shared by anyone in the public with permissions enforced through an open source license. +- **Pull request** - a way to notify project team members when a contributor/developer wants to merge new code changes into a main project repository. You can read more on [GitHub](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) (external link). +- **Repository (aka repo)** - In Github, a repository contains all your projects’ files and each of their revisions. You can read more on [GitHub](https://docs.github.com/en/repositories/creating-and-managing-repositories/about-repositories) (external link). +- **Roadmap** - a summary that outlines a product’s goals, priorities, and progress over a period of time. + +## Licenses and attribution + +### A few parts of this project are not in the public domain + +For complete attribution and licensing information for parts of the project that are not in the public domain, see the [LICENSE](https://github.com/uswds/uswds/blob/develop/LICENSE.md). + +### The rest of this project is in the public domain + +The rest of this project is in the worldwide [public domain](https://github.com/uswds/uswds/blob/develop/LICENSE.md#the-rest-of-this-project-is-in-the-worldwide-public-domain). + +This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the [CC0 1.0 Universal public domain dedication](https://creativecommons.org/publicdomain/zero/1.0/). + +### Contributions will be released into the public domain + +All contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest. diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..f15812c --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,83 @@ +## A few parts of this project are not in the public domain + +### Copyright ownership of Works created by U.S. federal employees + +This repository contains both the original design for Google Material Icons (the “Work”, as defined in Section 1 of the Apache 2.0 License) and modifications made by the General Services Administration (GSA). This repository combines the Work and these GSA modifications, which is a “Modified Version” of Material Icons. + +This repository also contains both original designs for Source Sans Pro, Merriweather, and Font Awesome (the “Font Software”, as defined in Section 1 of the SIL Open Font License, version 1.1) and modifications made by the General Services Administration (GSA). This repository combines the Work and these GSA modifications, which is a “Modified Version” of Source Sans Pro, Merriweather, Public Sans, and Font Awesome respectively. + +As a work of the United States Government, the software modifications made by GSA are not subject to copyright within the United States. Additionally, GSA waives copyright and related rights in its software modifications worldwide through the CC0 1.0 Universal Public Domain Dedication (https://creativecommons.org/publicdomain/zero/1.0/). + +The Work (as defined in the Apache 2.0 License) and Font Software (as defined in the SIL Open Font License, Version 1.1) remains subject to copyright under the respective open source license. The section below lists which works are subject to particular open source licenses. + +This Modified Version packaged as `dist/img/sprite.svg` contains both design elements under the Apache 2.0 License and design modifications by GSA released as CC0. It is a “joint work” made of the icon set and modifications combined into a single work. + +### Files licensed under the SIL Open Font License, Version 1.1 + +The Source Sans Pro font files in `packages/uswds-core/src/assets/fonts/source-sans-pro` are a [customized subset](https://github.com/miguelsousa/source-sans-pro-subset) of [Source Sans Pro](https://github.com/adobe-fonts/source-sans-pro) owned by Adobe Systems Incorporated, licensed under the [SIL Open Font License, Version 1.1](https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL_web), and copyright 2010, 2012, 2014 [Adobe Systems Incorporated], with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States or other countries. + +The Merriweather font files in `packages/uswds-core/src/assets/fonts/merriweather` are the version 2.001 files from [GitHub](https://github.com/EbenSorkin/Merriweather/releases/tag/v2.001) subsetted into Latin and with additional formats generated with [Transfonter](https://transfonter.org/), licensed under the [SIL Open Font License, Version 1.1](https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL_web), and copyright [Sorkin Type Co](www.sorkintype.com) with Reserved Font Name 'Merriweather'. + +The Public Sans font files in `packages/uswds-core/src/assets/fonts/public-sans` are licensed under the [SIL Open Font License, Version 1.1](https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL_web). Public Sans is a modification of Libre Franklin, copyright [Impallari Type](www.impallari.com). + + +### Files licensed under the Apache 2.0 License + +The Roboto Mono font files in `packages/uswds-core/src/assets/fonts/roboto-mono` are licensed under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt). + +The Google Material Icons in `packages/usa-icon/src/img/material-icons-deprecated`, and those packaged as `dist/img/material-icons` are licensed under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt). + +### Files licensed under the MIT license + +The files in `packages/uswds-elements/lib` are modified from: + +- [`normalize.css`](https://github.com/necolas/normalize.css), copyright Nicolas Gallagher and Jonathan Neal, under the [MIT license](https://github.com/necolas/normalize.css/blob/master/LICENSE.md). +- [`modern-normalize`](https://github.com/sindresorhus/modern-normalize/tree/main), copyright Sindre Sorhus, Nicolas Gallagher, and Jonathan Neal, under the [MIT license](https://github.com/sindresorhus/modern-normalize/blob/main/license). + +### Files licensed under the CC0 1.0 Universal license + +The files in `packages/uswds-elements/lib` are modified from: + +- [`@csstools/normalize.css`](https://github.com/csstools/normalize.css), copyright Jonathan Neal, under the [CC0 1.0 Universal license](https://github.com/csstools/normalize.css/blob/main/LICENSE.md). + +#### Full license text for the MIT licensed files: + +``` +The MIT License (MIT) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +``` + +## The rest of this project is in the worldwide public domain + +As a work of the United States government, this project is in the public domain within the United States. + +Additionally, we waive copyright and related rights in the work worldwide through the [CC0 1.0 Universal public domain dedication](https://creativecommons.org/publicdomain/zero/1.0/). + +### CC0 1.0 Universal Summary + +This is a human-readable summary of the [Legal Code (read the full text)](https://creativecommons.org/publicdomain/zero/1.0/legalcode). + +#### No copyright + +The person who associated a work with this deed has dedicated the work to the public domain by waiving all of his or her rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. + +You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission. + +#### Other information + +In no way are the patent or trademark rights of any person affected by CC0, nor are the rights that other persons may have in the work or in how the work is used, such as publicity or privacy rights. + +Unless expressly stated otherwise, the person who associated a work with this deed makes no warranties about the work, and disclaims liability for all uses of the work, to the fullest extent permitted by applicable law. When using or citing the work, you should not imply endorsement by the author or the affirmer. + +### Contributions to this project + +As stated in [CONTRIBUTING](CONTRIBUTING.md), all contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest. + +### Trademark + +GSA owns, reserves, and retains all rights, title, and interest in all trademarks owned by GSA. The User does not acquire any right or interest of any kind in any GSA trademark because of their use of the Modified Version or any of the modifications made to the Work by GSA. diff --git a/README.md b/README.md new file mode 100644 index 0000000..245ebf1 --- /dev/null +++ b/README.md @@ -0,0 +1,570 @@ +# United States Web Design System + +[![CircleCI Build Status](https://img.shields.io/circleci/build/gh/uswds/uswds/develop?style=for-the-badge&logo=circleci)](https://circleci.com/gh/uswds/uswds/tree/develop) ![Snyk vulnerabilities](https://img.shields.io/snyk/vulnerabilities/npm/@uswds/uswds?style=for-the-badge) [![npm Version](https://img.shields.io/npm/v/@uswds/uswds?style=for-the-badge)](https://www.npmjs.com/package/uswds) [![npm Downloads](https://img.shields.io/npm/dt/@uswds/uswds?style=for-the-badge)](https://www.npmjs.com/package/uswds) [![GitHub issues](https://img.shields.io/github/issues/uswds/uswds?style=for-the-badge&logo=github)](https://github.com/uswds/uswds/issues) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4?style=for-the-badge)](https://github.com/prettier/prettier) + +The [United States Web Design System](https://designsystem.digital.gov) includes a library of open source UI components and a visual style guide for U.S. federal government websites. + +This repository is for the design system code itself. We maintain [another repository for the documentation and website](https://github.com/uswds/uswds-site). To see the design system and its documentation on the web, visit [https://designsystem.digital.gov](https://designsystem.digital.gov). + +## Contents + +- [Recent updates](#recent-updates) +- [Getting started](#getting-started) +- [What's included in USWDS](#whats-included-in-uswds) + - [Directory structure](#directory-structure) + - [Package contents](#package-contents) +- [Installing the design system](#installing-the-design-system) +- [Using USWDS CSS and JavaScript in your project](#using-uswds-css-and-javascript-in-your-project) +- [Compiling USWDS Sass into CSS](#compiling-uswds-sass-into-css) + - [Sass compilation requirements](#sass-compilation-requirements) + - [Sass and theme settings](#sass-and-theme-settings) +- [JS customization](#js-customization) +- [Style theming and tokens](#style-theming-and-tokens) +- [CSS architecture](#css-architecture) +- [Browser support](#browser-support) +- [Accessibility](#accessibility) +- [Long-term support of v1.x](#long-term-support-of-v1x) +- [Long-term support of v2.x](#long-term-support-of-v2x) +- [Need installation help?](#need-installation-help) +- [Contributing to the code base](#contributing-to-the-code-base) +- [Reuse of open-source style guides](#reuse-of-open-source-style-guides) +- [Licenses and attribution](#licenses-and-attribution) +- [Contributing](#contributing) + +## Recent updates + +Information about the most recent release of the design system can always be found in the [release history](https://github.com/uswds/uswds/releases). We include details about significant updates and any backward-incompatible changes along with a list of all changes. + +**USWDS 3.0 is our most recent major release.** +- [Read about what's new in USWDS 3.0](https://designsystem.digital.gov/whats-new/updates/2022/04/28/introducing-uswds-3-0/) +- [Read our USWDS 3.0 Migration Guide](https://designsystem.digital.gov/documentation/migration) + +## Getting started + +We’re glad you’d like to use the design system — here’s how you can get started: + +- **Designers:** Check out our [Getting started for designers information](https://designsystem.digital.gov/documentation/getting-started-for-designers/). +- **Developers:** Check out our [Getting started for developers information](https://designsystem.digital.gov/documentation/getting-started-for-developers/). If your project doesn't use npm for package management, follow the instructions in this README to [install the design system without npm.](#installing-the-design-system) +- **Anyone:** Take a look at our new [USWDS Tutorial](https://github.com/uswds/uswds-tutorial). Follow the instructions in this GitHub repo to clone a sample project, install USWDS, customize it, and add USWDS components. It should take about an hour, and is a good introduction to USWDS concepts. + +## What's included in USWDS +The USWDS package includes compiled assets in a `dist` directory and component source files in a `packages` directory. + +As of USWDS 3.0.0, our codebase is centered around functional packages, typically components. For more about how we organize packages, [see our Packages documentation](https://designsystem.digital.gov/components/packages). In each of the following examples, we use `[package]` to represent a specific package. For example, component Sass is located in `packages/[package]/src/styles` for an accordion, this would be `packages/usa-accordion/src/styles`. + +- **Fonts** are located in both `dist/fonts` and `packages/uswds-core/src/assets/fonts`. The fonts in `dist` are simply a copy of the files in `uswds-core`. +- **Images** and icons are located in: `dist/img`. The source for component-specific images can be found in a package's `src/img` directory. +- **JavaScript** for components is located in `packages/[package]/src/index.js`. General JavaScript utilities are located in the `uswds-core` package: `packages/uswds-core/src/js` +- **Sass** component-specific stylesheets are located in: `packages/[package]/src/styles`. Many components also have a component entry point at `packages/[package]/_index.scss` that includes references to all a component's dependencies as well. **Compiled CSS** is located in `dist/css`. +- **Template** markup for the components is located in: `packages/[package]/src/[package.twig]` in the site root. These, however, are written in the templating language Twig. It's best to get HTML source markup directly from [designsystem.digital.gov/components](https://designsystem.digital.gov/components) + +### Directory structure +Here's what you can expect to find inside the USWDS package: + +``` +[uswds package] +├── .storybook/ +├── dist/ +│ ├── css/ +│ │ ├── uswds.css +│ │ ├── uswds.min.css +│ │ └── uswds.min.css.map +│ ├── fonts/ +│ │ ├── merriweather/ +│ │ ├── public-sans/ +│ │ ├── roboto-mono/ +│ │ └── source-sans-pro/ +│ ├── img/ +│ │ ├── usa-icons/ +│ │ ├── material-icons/ +│ │ ├── uswds-icons/ +│ │ ├── usa-icons-bg/ +│ │ ├── sprite.svg +│ │ ├── [individual images] +│ │ ... +│ ├── js/ +│ │ ├── uswds-init.js +│ │ ├── uswds-init.min.js +│ │ ├── uswds-init.min.js.map +│ │ ├── uswds.js +│ │ ├── uswds.min.js +│ │ └── uswds.min.js.map +│ ├── scss/ +│ │ └── stylesheets/ +│ │ └── uswds.scss +│ └── theme/ +│ ├── _uswds-theme.scss +│ ├── _uswds-theme-custom-styles.scss +│ └── styles.scss +├── packages/ +│ ├── usa-component/ +│ │ ├── src/ +│ │ │ ├── content/ +│ │ │ ├── styles/ +│ │ │ │ ├── _index.scss +│ │ │ │ └── component.scss +│ │ │ ├── test/ +│ │ │ │ ├── component.spec.js +│ │ │ │ └── template.html +│ │ │ ├── index.js +│ │ │ ├── usa-component.stories.js +│ │ │ └── usa-component.twig +│ │ └── _index.scss_/ +│ ├── usa-component/ +│ ├── usa-component/ +│ ├── uswds-bundle/ +│ ├── uswds-bundle/ +│ ... +├── src/ +│ ├── img/ +│ ├── stylesheets/ +│ └── test/ +└── tasks/ +``` + +### Package contents +Here's what you can expect to find in each of the directories and files in the USWDS package: + +- `/.storybook`: Storybook configuration files (not used in USWDS projects) +- `/dist`: Compiled or collected files +- `/dist/css`: Precompiled CSS files with USWDS defaults +- `/dist/fonts`: Default fonts available to the design system +- `/dist/img`: All USWDS images collected into a single directory +- `/dist/img/usa-icons`: All icons collected into the USWDS icon sprite (`sprite.svg`) +- `/dist/img/material-icons`: All Material Icons +- `/dist/img/uswds-icons`: All icons created by USWDS +- `/dist/img/sprite.svg`: Precompiled icon sprite with default icon set +- `/dist/js`: Precompiled JavaScript files +- `/dist/scss/stylesheets/uswds.scss`: Backwards compatible USWDS Sass entry point +- `/dist/scss/theme`: Example theme files +- `/dist/scss/theme/_uswds-theme.scss`: Example theme settings file +- `/dist/scss/theme/_uswds-theme-custom-styles.scss`: Example custom settings file +- `/dist/scss/theme/styles.scss`: Example project Sass entry point +- `/packages`: Source files for USWDS components and other functionality. +- `/packages/usa-[component]`: Each package has a name like `usa-[component]` that matches its class name in the design system, like `usa-accordion`. +- `/packages/usa-[component]/_index.scss`: Sass entry point for the package. +- `/packages/usa-[component]/src`: Package source files +- `/packages/usa-[component]/src/index.js`: Package javascript +- `/packages/usa-[component]/src/usa-component.stories.js`: Storybook setup +- `/packages/usa-[component]/src/usa-component.twig`: Component template +- `/packages/usa-[component]/src/index.js`: Package javascript +- `/packages/usa-[component]/src/content`: Package template content +- `/packages/usa-[component]/src/test`: Package unit tests +- `/packages/usa-[component]/src/styles`: Package source Sass + +- `/packages/uswds`: The package most projects include by default. This bundle includes all USWDS components and functionality. +- `/packages/uswds-[bundle]`: Other non-component functionality is included in `uswds-`-prefixed packages. These bundles might collect common component packages (`uswds-form-controls`) or important internal functionality (`uswds-core`). +- `/src`: Placeholders included for backwards compatibility. Most projects should avoid using the contents of this directory. +- `/tasks`: Internal build process files (not used in USWDS projects) + +## Installing the design system +There are two ways to install the design system on a project: +- Installing it as a project dependency using Node and npm +- Installing the package directly from GitHub + +**We recommend using npm to make it as straightforward as possible to install the design system and update it as we release new versions.** + +### Install using Node and npm +Use the npm package manager for Node-based projects. USWDS maintains the [`@uswds/uswds` package](https://www.npmjs.com/package/uswds) that includes both the pre-compiled and compiled files. We rely on npm packages to easily update and install the design system from the command line. + +1. Install `Node/npm`. Below is a link to find the install method that coincides with your operating system: + + - Node (see [.nvmrc](https://github.com/uswds/uswds/blob/develop/.nvmrc) for version number), [Installation guides](https://nodejs.org/en/download) + + **Note for Windows users:** If you are using Windows and are unfamiliar with Node or npm, we recommend following [Team Treehouse's tutorial](http://blog.teamtreehouse.com/install-node-js-npm-windows) for more information. + +2. Make sure you have installed it correctly: + + ```shell + npm -v + 6.13.0 # This line may vary depending on what version of Node you've installed. + ``` + +3. Create a `package.json` file. You can do this manually, but an easier method is to use the `npm init` command. This command will prompt you with a few questions to create your `package.json` file. + +4. Add `@uswds/uswds` to your project’s `package.json`: + + ```shell + npm install --save @uswds/uswds@latest + ``` + +The `@uswds/uswds` module is now installed as a dependency. You can use the compiled files found in the `node_modules/@uswds/uswds/dist/` directory or the source files in the `node_modules/@uswds/uswds/packages/` directory. + +**Note:** We do _not_ recommend directly editing the design system files in `node_modules`. One of the benefits of using a package manager is its ease of upgrade and installation. If you make customizations to the files in the package, any upgrade or re-installation will wipe them out. + +### Install the package directly from GitHub +If you’re using a framework or package manager that doesn’t support npm, you can find the source files in this repository and use them in your project. Otherwise, we recommend that you follow the steps outlined in this section. + +1. Download the [USWDS package](https://github.com/uswds/uswds/releases) directly from the latest USWDS release and uncompress that file. + +2. Copy these files and folders into a relevant place in your project's code base. Here is an example structure for how this might look: + + ``` + example-project/ + ├── assets/ + │ ├── uswds/ + │ │ ├── dist/ + │ │ ├── packages/ + │ │ └── src/ + │ ├── stylesheets/ + │ ├── images/ + │ └── javascript/ + └── index.html + ``` + + You'll notice in our example above that we also outline a `stylesheets`, `images` and `javascript` folder in your `assets` folder. These folders are to help organize any assets that are unique to your project and separate from the design system assets. + + + **Note:** Files in the downloadable USWDS package will show a "last modified" date of October 26, 1985. This is [intentional](https://github.com/npm/npm/issues/20439#issuecomment-385121133). This default date is set by npm on all its packages to ensure builds will be identical. + +## Using USWDS CSS and JavaScript in your project + +The three files critical to any USWDS project are the **stylesheet**, the **JavaScript**, and the **initializer**. Most projects require all of these to function properly. + +- **Stylesheet:** This is the compiled CSS stylesheet that describes how design system components look. To start, reference either `uswds.css` or `uswds.min.css` in the `` of your document. Find this file in `/dist/css`. Most projects will want to compile their own CSS from USWDS source Sass instead of using the precompiled version. For more about this, see [Compiling USWDS Sass into CSS](#compiling-uswds-sass-into-css), below. +- **Library:** This is the compiled JavaScript that controls component interactivity. Reference either `uswds.js` or `uswds.min.js` at the end of the `` of your document. Find this file in `/dist/js`. +- **Initializer:** This small JavaScript file (less than 1 KB minified) helps the browser know if the USWDS JavaScript library is loading properly. This prevents component content from "flashing" or "shifting" while the page loads. Reference `uswds-init.min.js` in the `` of your page, or inline its contents directly into the ` + + + + + + +``` + +And that’s it — you should now be able to copy our code samples into your `index.html` and start using the design system. + +## Compiling USWDS Sass into CSS + +If you want to take full advantage of USWDS custom settings and add build new styles and components with the USWDS toolset, you'll need a way to access the assets in the USWDS package and compile custom CSS from the USWDS source files. + +USWDS uses the task manager [Gulp](http://gulpjs.com/) as a way to add USWDS assets to a project and compile our CSS from the package source. Gulp is a useful and powerful tool, but it can be difficult to set up if you are new to it. + +The [USWDS Compile package](https://github.com/uswds/uswds-compile) is made for developers new to Gulp or those who just want a simple setup to compile USWDS Sass. The repo contains files and instructions for setting up the compiler, initializing USWDS, and compiling CSS from the source files. + +### Sass compilation requirements + +USWDS Sass needs three things to compile properly: +- **Sass Module syntax:** USWDS requires a modern Sass compiler that can parse Sass Module syntax. +- **Autoprefixing:** USWDS requires Autoprefixing your CSS with a specific `.browserslistrc`. +- **Sass Load Paths:** USWDS requires Sass compilers use Load Paths that reference the `/packages` directory in the USWDS package + +**Note: Using a compiler package like [USWDS Compile](https://github.com/uswds/uswds-compile) is a good way to fulfill these requirements automatically.** + +#### Autoprefixing + +The design system requires autoprefixing to work properly. Don't add vendor prefixes to your custom styles manually — it is more reliable to use autoprefixing. Autoprefixing services like [gulp-autoprefixer](https://github.com/sindresorhus/gulp-autoprefixer) automatically add vendor prefixes to CSS rules. We use the following autoprefixer settings via `.browserslistrc` config: + +``` +> 2% +last 2 versions +not dead +``` + +#### Sass Load Paths + +USWDS 3.0 and newer require the use of [Sass Load Paths](https://sass-lang.com/documentation/at-rules/use#load-paths) to compile properly. + +USWDS 3.0 load paths must include a path to the `/packages` directory in the USWDS package, typically by updating an `IncludePaths` setting to include `node_modules/@uswds/uswds/packages`. + +Here's how this might look in Gulp and in Webpack: + +##### Gulp + +```js +.pipe( + sass({ + includePaths: [ + "./node_modules/@uswds/uswds/packages", + ], + }) +``` + +##### Webpack + +```js +loader: "sass-loader", +options: { + sassOptions: { + includePaths: [ + "./node_modules/@uswds/uswds/packages" + ], + }, +}, +``` + + +#### Other useful compiler postprocessing + +- **Minification:** We recommend using a **minifier** like [csso](https://github.com/css/csso) to compress your final compiled CSS. +- **Sourcemaps:** We recommend using a **sourcemap** tool like [`gulp-sourcemaps`](https://www.npmjs.com/package/gulp-sourcemaps) to assist debugging by keeping track of source Sass locations. + +### Sass and theme settings + +The design system is customizable using the power of [Sass (Syntactically Awesome Style Sheets)](http://sass-lang.com/). The critical files you'll need in your project are those in `dist/scss/theme`: + +- `_uswds-theme.scss`: custom theme settings +- `_uswds-theme-custom-styles.scss`: additional project CSS for customizing or adding to what USWDS provides +- `styles.scss`: The Sass entry point. This is the primary Sass file that you'll compile. It collects theme settings, USWDS source files, and custom CSS + +`styles.scss` looks something like the following code. It adds all the project theme settings, then adds USWDS source, and finally adds your project's custom styles: + +```scss +@forward "uswds-theme"; +@forward "uswds"; +@forward "uswds-theme-custom-styles"; +``` + +**Technical note:** The `@forward 'uswds'` statement above references the `uswds` package in `node_modules/@uswds/uswds/packages`. The compile functions included in [`uswds-compile`](https://github.com/uswds/uswds-compile) automatically look for USWDS packages in the proper directory using `includePaths`. + +## JS customization + +**Unfortunately, customizing the JavaScript for the USWDS currently requires NodeJS and a module bundler like Browserify or Webpack. We apologize for this inconvenience, and are working to resolve it in a future release of the design system.** + +USWDS JavaScript is separated into components (just as with the CSS and HTML) and initialized with event handlers when the DOM is ready. These components are accessible as CommonJS modules that can be required in other JavaScript files, then built for the browser. The components are not accessible in the global browser scope, but can be extended to be included by requiring `components` and setting it to a global scope: + +```js +window.uswds = require("./components"); +``` + +Each component has a standardized interface that can be used to extend it further. The components store a HTML class (like `.usa-accordion__button[aria-controls]`) used to link HTML elements with the JavaScript component. When a component is initialized, it searches through the current HTML DOM to find all elements that match the class and initializes the component JavaScript for those elements. The primary methods for each component include: + +- `on`: Initialize a component's JavaScript behavior by passing the root element, such as `window.document`. +- `off`: The opposite of `on`, de-initializes a component, removing any JavaScript event handlers on the component. +- `hide`: Hide the whole component. +- `show`: Shows a whole, hidden component. +- `toggle`: Toggles the visibility of a component on and off based on the previous state. + +Some components have additional methods based on that component's functionality. Any additional methods are found in that component's JavaScript file. + +**If you’re using a modern framework like React or Angular you can import components and initialize them in your library's DOM ready lifecycle event.** + +Importing a modular component. + +```js +import USWDS from "@uswds/uswds/js"; +const { characterCount, accordion } = USWDS; // deconstruct your components here + +// Alternatively +import accordion from "@uswds/uswds/js/usa-accordion"; +``` + +⚠️Requires webpack 5+ + +React hooks example: + +```js +function App() { + const ref = document.body; + + useEffect(() => { + // initialize + characterCount.on(ref); + // default ref is document.body, if you want to use + // default you do not have to pass arguments + accordion.on(); + + // remove event listeners when the component un-mounts. + return () => { + characterCount.off(); + accordion.off(); + }; + }); +} +``` + +Angular example: + +```js +export class App implements OnInit { + constructor() { + this.ref = document.body; + // default ref is document.body, if you want to use + // default you do not have to pass arguments + } + + ngOnInit() { + // initialize + characterCount.on(this.ref); + accordion.on(); + } + + // remove event listeners when the component un-mounts. + ngOnDestroy() { + characterCount.off(); + accordion.off(); + } +} +``` + +## Style theming and tokens + +USWDS 3.0 provides extensive support for theming via its theme settings files introduced in [Sass and theme settings](#sass-and-theme-settings), above. + +Set theme settings with USWDS design tokens, not with values directly. They tend to be quoted strings like `'desktop'` or `'md'` or unitless numbers like `2` or `-1.5`. Tokens are the values _passed into_ the USWDS functions and mixins that parse them. They are the _keys_ that, through the mechanism of a function or mixin, unlock a _value_ — they are not the values themselves. + +Visit the [Design tokens section](https://designsystem.digital.gov/design-tokens/) of USWDS 3.0 documentation for more on the available tokens for [color](https://designsystem.digital.gov/design-tokens/color), [spacing units](https://designsystem.digital.gov/design-tokens/spacing-units), [font size](https://designsystem.digital.gov/design-tokens/typesetting/font-size/), and more. + +### Using tokens in theme settings + +The following is an example of theme settings from `_uswds-theme.scss`: + +```scss +@use "uswds-core" with ( + $theme-grid-container-max-width: "desktop", + $theme-site-margins-breakpoint: "desktop", + $theme-site-margins-width: 4, + $theme-site-margins-mobile-width: 2, +) +``` + +The USWDS uses those tokens to build component styles: + +```scss +.usa-example { + @include u-padding-x($theme-site-margins-mobile-width); + max-width: units($theme-grid-container-max-width); + + @include at-media($theme-site-margins-breakpoint) { + @include u-padding-x($theme-site-margins-width); + } +} +``` + +This is the functional equivalent of: + +```scss +.usa-example { + @include u-padding-x(2); + max-width: units("desktop"); + + @include at-media("desktop") { + @include u-padding-x(4); + } +} +``` + +Which, if `$theme-respect-user-font-size` is set to `true` would output something like: + +```css +.usa-example { + padding-left: 1rem; + padding-right: 1rem; + max-width: 64rem; +} + +@media screen and (min-width: 64em) { + .usa-example { + padding-left: 2rem; + padding-right: 2rem; + } +} +``` + +In general, USWDS sets **variables** with **tokens**, and passes those variables into **functions and mixins** in the source Sass. + +### Set the base asset paths (fonts and images) + +The values of `$theme-font-path` and `$theme-image-path` will be appended to USWDS font paths and image paths, respectively: + +```scss +@use "uswds-core" with ( + $theme-font-path: "../fonts", + $theme-image-path: "../img", +); +``` + +## CSS architecture + +- The CSS foundation of this site is built with the **[Sass](https://sass-lang.com)** preprocessor language. +- The CSS organization and naming conventions follow **[18F’s Engineering Guide](https://guides.18f.gov/engineering/languages-runtimes/css/#naming)**. +- We format our code with [Prettier](https://prettier.io/), per the formatting section of the **[18F Engineering Guide](https://guides.18f.gov/engineering/languages-runtimes/css/#formatting)**. +- CSS selectors are **prefixed** with `usa` (For example: `.usa-button`). This identifier helps the design system avoid conflicts with other styles on a site which are not part of USWDS. +- Uses a **[BEM](http://getbem.com/)** approach for naming CSS selectors. Blocks are separated from elements with two underscores (`__`). Multi-word blocks use single hyphens instead of spaces. Modifier classes are additive — proper markup requires the base class _and_ the modifier class or classes. Modifier classes consist of the base class plus a modifier suffix, separated by two hyphens (`--`) as in `.usa-button.usa-button--secondary` or `usa-accordion.usa-accordion--bordered`. +- Uses **modular CSS** for scalable, modular, and flexible code. +- Uses **nesting** when appropriate. Nest minimally with up to two levels of nesting. +- Hard-coded magic numbers are avoided. +- Media queries are built **mobile first**. +- **Spacing units** are set with the `units()` function as described in [the USWDS 3.0 documentation](https://designsystem.digital.gov/design-tokens/spacing-units/). In general, we use spacing in multiples of `8px` — expressed as a multiple in `units([multiple])`. For instance `units(2)` is the equivalent of `2 * 8px` or `16px`. In the final, compiled CSS, this value will be expressed in rem, as a multiple of the base font size set with `$theme-base-font-size`. + +**For more information, visit:** +[18F’s CSS Guide](https://guides.18f.gov/engineering/languages-runtimes/css/) + +## Browser support + +We’ve designed the design system to support older and newer browsers through [progressive enhancement](https://en.wikipedia.org/wiki/Progressive_enhancement). The current major version of the design system (3.0.0) follows the [2% rule](https://gds.blog.gov.uk/2012/01/25/support-for-browsers/): we officially support any browser above 2% usage as observed by [analytics.usa.gov](https://analytics.usa.gov/). Currently, this means that the design system version 3.0.0 supports the newest versions of Chrome, Firefox, and Safari. + +As of USWDS 3.0.0, we no longer officially support Internet Explorer 11 (IE11). We continued to include IE11 polyfills and prefixing for the first few releases in USWDS 3.x. We started to remove IE11-related polyfills in [USWDS 3.8.2](https://github.com/uswds/uswds/releases/tag/v3.8.2), and removed the remaining polyfills in [USWDS 3.10.0](https://github.com/uswds/uswds/releases/tag/v3.10.0). + +## Accessibility + +The design system also meets the [WCAG 2.0 AA accessibility guidelines](https://www.w3.org/TR/WCAG20/) and conforms to the standards of [Section 508 of the Rehabilitation Act](http://www.section508.gov/). Additionally, we try to meet the requirements of [WCAG 2.1](https://www.w3.org/TR/WCAG21/). + +We use the following tools to ensure USWDS is accessible: +- [ANDI](https://www.ssa.gov/accessibility/andi/help/install.html). +- [Axe core](https://www.deque.com/axe/). +- [Axe dev tools](https://chrome.google.com/webstore/detail/axe-devtools-web-accessib/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US). + +If you find any issues with our accessibility conformance, please create an issue in our GitHub repo or send us an email at [uswds@gsa.gov](mailto:uswds@gsa.gov). We prioritize accessibility issues. See [the Accessibility page of our website](https://designsystem.digital.gov/documentation/accessibility/) for more information. + +## Long-term support of v1.x + +[Version 1.x](https://v1.designsystem.digital.gov) is no longer maintained. + +## Long-term support of v2.x + +Version 2.x is in maintenance mode and will continue to get important bugfixes and security patches until May 2023. + +## Need installation help? + +Do you have questions or need help with setup? Did you run into any weird errors while following these instructions? Feel free to open an issue here: + +[https://github.com/uswds/uswds/issues](https://github.com/uswds/uswds/issues). + +You can also email us directly at [uswds@gsa.gov](mailto:uswds@gsa.gov). + +## Contributing to the code base + +For complete instructions on how to contribute code, please read [CONTRIBUTING.md](CONTRIBUTING.md). These instructions also include guidance on how to set up your own copy of the design system style guide website for development. + +If you would like to learn more about our workflow process, check out the [Workflow](https://github.com/uswds/uswds/wiki/Workflow) and [Issue label Glossary](https://github.com/uswds/uswds/wiki/Issue-label-glossary) pages on the wiki. + +If you have questions or concerns about our contributing workflow, please contact us by [filing a GitHub issue](https://github.com/uswds/uswds/issues) or [emailing our team](mailto:uswds@gsa.gov). + +## Reuse of open-source style guides + +Much of the guidance in USWDS leans on open source designs, code, and patterns from other civic and government organizations, including: + +- Consumer Financial Protection Bureau’s [Design Manual](https://cfpb.github.io/design-manual/) +- U.S. Patent and Trademark Office’s [Design Patterns](http://uspto.github.io/designpatterns/) +- Healthcare.gov [Style Guide](http://styleguide.healthcare.gov/) +- UK’s Government Digital Service’s [UI Elements](http://govuk-elements.herokuapp.com/) +- Code for America’s Chime [Styleguide](https://github.com/chimecms/chime-starter) +- Pivotal Labs [Component Library](http://styleguide.cfapps.io/) + +## Licenses and attribution + +A few parts of this project are not in the public domain. Attribution and licensing information for those parts are described in detail in [LICENSE.md](LICENSE.md). + +The rest of this project is in the worldwide public domain, released under the [CC0 1.0 Universal public domain dedication](https://creativecommons.org/publicdomain/zero/1.0/). + +## Contributing + +All contributions to this project will be released under the CC0 dedication alongside the public domain portions of this project. For more information, see [CONTRIBUTING.md](CONTRIBUTING.md). diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..eb00d6f --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,22 @@ +# Security + +## Our security policies and procedures + +We follow GSA's [IT security policy](https://www.gsa.gov/policy-regulations/policy/information-integrity-and-access/gsa-it-security-policies) to ensure the confidentiality, integrity, and availability of USWDS. + +We use [Snyk](https://snyk.io) to find, fix, and prevent vulnerabilities in USWDS dependencies. We run Snyk checks locally during development and automatically on all pull requests. + +We perform static analysis on our JavaScript on every pull requests with [GitHub CodeQL](https://securitylab.github.com/tools/codeql). + +We include a security and vulnerability report with every USWDS release, and release security patches for both the 1.x and 2.x branches. + +## Using USWDS securely + +We encourage you to verify the security and status of the USWDS package: + +1. **Check the vulnerability badge.** Confirm the vulnerability badge in the [USWDS Github code repository](https://github.com/uswds/uswds) says there are `0` vulnerabilities. +1. **Download the package via npm.** We recommend using the [npm package](https://designsystem.digital.gov/documentation/developers/#install-using-node-and-npm) instead of the [zip file](https://designsystem.digital.gov/documentation/developers/#install-the-package-directly-from-github), whenever possible. Using npm makes it easier to stay up-to-date and use the latest USWDS version as a project dependency, and is a secure and reliable way to download USWDS source code. + +## Report a security issue + +To learn more about our security practices or to report a security issue, please [email us](mailto:uswds@gsa.gov). If the issue is confirmed, we will release a patch as soon as possible. diff --git a/assets/css/styles.css b/assets/css/styles.css new file mode 100644 index 0000000..4e18001 --- /dev/null +++ b/assets/css/styles.css @@ -0,0 +1,2 @@ +/*! based on uswds v3.11.0 */ +@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}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;color:inherit}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}abbr[title]{-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}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}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}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}.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}img{max-width:100%}.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 tfoot td,.usa-prose>table th,.usa-prose>table thead td{background-clip:padding-box;line-height:1.3;background-color:#dfe1e2;color:#1b1b1b}.usa-prose>table td,.usa-prose>table th{border:1px solid #1b1b1b;padding:.5rem 1rem}.usa-prose>table td{background-color:#fff;font-weight:400}.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;width:auto;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>.usa-table--borderless th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon>g.unsorted,.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,.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-prose>.usa-table--borderless 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,.usa-table--borderless th[data-sortable]:not([aria-sort]) .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;width:auto;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,.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-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 tfoot td,.usa-prose>.usa-table--borderless th,.usa-prose>.usa-table--borderless thead td{background-color:#fff}.usa-prose>.usa-table--borderless th{border-top:0;color:#1b1b1b;border-left:0;border-right:0}.usa-prose>.usa-table--borderless th[aria-sort]{color:#1b1b1b}.usa-prose>.usa-table--borderless td{border-left:0;border-right:0}.usa-prose>.usa-table--compact td,.usa-prose>.usa-table--compact th{padding:.25rem .75rem}.usa-prose>.usa-table--striped tbody tr:nth-child(odd) td,.usa-table--striped tbody tr:nth-child(odd) td{background-color:#f0f0f0;color:#1b1b1b}.usa-prose>.usa-table--striped tbody tr:nth-child(odd) td[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 th{background-color:#fff}.usa-prose>.usa-table--stacked td,.usa-prose>.usa-table--stacked 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 th{background-color:#fff}.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-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 thead,.usa-prose>.width-mobile .usa-table--stacked-header thead{display:none}.usa-prose>.width-mobile .usa-table--stacked th{background-color:#fff;border-bottom-width:0;display:block;width:100%}.usa-prose>.width-mobile .usa-table--stacked td{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 th{background-color:#fff;border-bottom-width:0;display:block;width:100%}.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 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;padding-bottom:1rem;padding-top:1rem;position:relative}.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 .usa-alert__body{padding-left:1.25rem;padding-right:1.25rem}.usa-alert .usa-alert__body::before{left:1.0833333333rem}*+.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;display:flex;flex-direction:column;justify-content:center;min-height:3.3333333333rem}.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;position:absolute;top:.6666666667rem}@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}}.usa-alert--success .usa-alert__body>*{margin-left:2.5rem}.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;display:flex;flex-direction:column;justify-content:center;min-height:3.3333333333rem}.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;position:absolute;top:.6666666667rem}@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}}.usa-alert--warning .usa-alert__body>*{margin-left:2.5rem}.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;display:flex;flex-direction:column;justify-content:center;min-height:3.3333333333rem}.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;position:absolute;top:.6666666667rem}@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}}.usa-alert--error .usa-alert__body>*{margin-left:2.5rem}.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;display:flex;flex-direction:column;justify-content:center;min-height:3.3333333333rem}.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;position:absolute;top:.6666666667rem}@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}}.usa-alert--info .usa-alert__body>*{margin-left:2.5rem}.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;display:flex;flex-direction:column;justify-content:center;min-height:3.3333333333rem}.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;position:absolute;top:.6666666667rem}@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}}.usa-alert--emergency .usa-alert__body>*{margin-left:2.5rem}.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;min-height:0}.usa-alert--slim .usa-alert__body:before{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}}.usa-alert--slim .usa-alert__body>*{margin-left:2rem}.usa-alert--slim .usa-alert__body::before{left:1.125rem}.usa-alert--no-icon .usa-alert__body{min-height:0}.usa-alert--no-icon .usa-alert__body:before{display:none}.usa-alert--no-icon .usa-alert__body>*{margin-left:0}.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{padding-left:calc(2ex + 0px);text-indent:calc((2ex + 0px)*-1);display:inline-block;padding-bottom:1rem;padding-top:1rem}.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: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;width:auto;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;width:auto}.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}.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}}.usa-footer__primary-container{padding-left:0;padding-right:0}@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;border:0;border-top:1px solid #a9aeb1;display:block}@media all and (min-width:30em){.usa-footer__primary-link{padding-left:0;padding-right:0;border:0}}.usa-footer__primary-link--button{width:100%;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-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 :where(.usa-input,.usa-textarea,.usa-select,.usa-range){max-width:none}.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;width:auto;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}.usa-header .usa-search{margin-top:.5rem}@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;width:auto;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 .5rem .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-top:1rem}@media all and (min-width:64em){.usa-nav .usa-search{margin-left:1rem;margin-top:0}}.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}.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;width:100%}.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{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;width:auto;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}.usa-pagination__link[disabled]{opacity:.4!important;pointer-events:none}.usa-pagination__link:active,.usa-pagination__link:focus,.usa-pagination__link:hover{color:#1a4480}.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;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}@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;padding-bottom:1rem;padding-top:1rem;position:relative}.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 .usa-alert .usa-alert__body{max-width:64rem;padding-left:1.25rem;padding-right:1.25rem}.usa-site-alert .usa-alert .usa-alert__body::before{left:1.0833333333rem}@media all and (min-width:64em){.usa-site-alert .usa-alert .usa-alert__body{margin-left:auto;margin-right:auto;padding-left:1.75rem;padding-right:1.75rem}.usa-site-alert .usa-alert .usa-alert__body::before{left:1.5833333333rem}}.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;display:flex;flex-direction:column;justify-content:center;min-height:3.3333333333rem}.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;position:absolute;top:.6666666667rem}@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}}.usa-site-alert--info .usa-alert .usa-alert__body>*{margin-left:2.5rem}.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;display:flex;flex-direction:column;justify-content:center;min-height:3.3333333333rem}.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;position:absolute;top:.6666666667rem}@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}}.usa-site-alert--emergency .usa-alert .usa-alert__body>*{margin-left:2.5rem}.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;min-height:0}.usa-site-alert--slim .usa-alert .usa-alert__body:before{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}}.usa-site-alert--slim .usa-alert .usa-alert__body>*{margin-left:2rem}.usa-site-alert--slim .usa-alert .usa-alert__body::before{left:1.125rem}@media all and (min-width:64em){.usa-site-alert--slim .usa-alert .usa-alert__body::before{left:1.625rem}}.usa-site-alert--no-icon .usa-alert .usa-alert__body{min-height:0}.usa-site-alert--no-icon .usa-alert .usa-alert__body:before{display:none}.usa-site-alert--no-icon .usa-alert .usa-alert__body>*{margin-left:0}.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;text-align:left}.usa-table tfoot td,.usa-table th,.usa-table thead td{background-clip:padding-box;line-height:1.3;background-color:#dfe1e2;color:#1b1b1b}.usa-table td,.usa-table th{border:1px solid #1b1b1b;padding:.5rem 1rem}.usa-table td{background-color:#fff;font-weight:400}.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;width:auto;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;width:auto;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: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 tfoot td,.usa-table--borderless th,.usa-table--borderless thead td{background-color:#fff}.usa-table--borderless th{border-top:0;color:#1b1b1b}.usa-table--borderless th[aria-sort]{color:#1b1b1b}.usa-table--borderless th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon>g.unsorted{fill:#1b1b1b}.usa-table--borderless td,.usa-table--borderless th{border-left:0;border-right:0}.usa-table--compact td,.usa-table--compact th{padding:.25rem .75rem}.usa-table--striped tbody tr:nth-child(odd) td[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 th{background-color:#fff}.usa-table--stacked td,.usa-table--stacked 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 th{background-color:#fff}.usa-table--stacked-header td,.usa-table--stacked-header th{border-bottom-width:0;display:block;width:100%}.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 th{background-color:#fff}.width-mobile .usa-table--stacked td,.width-mobile .usa-table--stacked 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 th{background-color:#fff}.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-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 tfoot td,.usa-table--sticky-header tfoot th{border-top:1px solid #1b1b1b;border-bottom: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 th{background-color:#fff;border-right:none}.usa-table--sticky-header.usa-table--borderless td{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-form .usa-input--2xs,.usa-input--2xs{max-width:5ex}.usa-form .usa-input--xs,.usa-input--xs{max-width:9ex}.usa-form .usa-input--sm,.usa-form .usa-input--small,.usa-input--sm,.usa-input--small{max-width:13ex}.usa-form .usa-input--md,.usa-form .usa-input--medium,.usa-input--md,.usa-input--medium{max-width:20ex}.usa-form .usa-input--lg,.usa-input--lg{max-width:30ex}.usa-form .usa-input--xl,.usa-input--xl{max-width:40ex}.usa-form .usa-input--2xl,.usa-input--2xl{max-width:50ex}.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-form .usa-input-group--2xs,.usa-input-group--2xs{max-width:5ex}.usa-form .usa-input-group--xs,.usa-input-group--xs{max-width:9ex}.usa-form .usa-input-group--sm,.usa-form .usa-input-group--small,.usa-input-group--sm,.usa-input-group--small{max-width:13ex}.usa-form .usa-input-group--md,.usa-form .usa-input-group--medium,.usa-input-group--md,.usa-input-group--medium{max-width:20ex}.usa-form .usa-input-group--lg,.usa-input-group--lg{max-width:30ex}.usa-form .usa-input-group--xl,.usa-input-group--xl{max-width:40ex}.usa-form .usa-input-group--2xl,.usa-input-group--2xl{max-width:50ex}.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 0000000..19208ce --- /dev/null +++ b/assets/css/styles.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["styles.css","../../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-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-elements/src/styles/_img.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/uswds-core/src/styles/variables/border-high-contrast.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/_padding.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/_max-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/_position.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/_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/uswds-core/src/styles/mixins/helpers/add-label-styles.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,4BCSE;ACgEF,wBAEI,GAAA,2BAIA,CAAA,GAAA,uBAMJ,CAAA,CD5EE,KAAA,gBACA,CAAA,6BAWA,CEdE,sBCNF,6BACA,CAAA,mBCKA,CAAA,gFACA,CAAA,cJaA,CAAA,KAAA,QASA,CKVA,aCIA,CAAA,qBCpBA,CAAA,iBP0BA,CAAA,GAAA,aACA,CAAA,cAYA,CAAA,GAAA,sBACA,CAAA,QACA,CAAA,aASA,CAAA,kBAAA,+BACA,CAAA,aAUF,CAAA,YAEE,wCAOF,CAPE,gCAOF,CAAA,SAEE,kBAQF,CAYE,MAAA,aAQF,CAAA,QAEE,aACA,CAAA,aACA,CAAA,iBACA,CAAA,uBAIA,CAAA,IAAA,aAIA,CAAA,IAAA,SAWF,CAAA,sCAKE,mBACA,CAAA,cACA,CAAA,gBACA,CAAA,QAOF,CAAA,cAEE,mBAOF,CAAA,gDAIE,yBAOF,CAAA,wHAIE,iBACA,CAAA,SAOF,CAAA,4GAIE,6BAOF,CACE,OAAA,SAOF,CAAA,SACE,uBAOF,CAAA,wDAEE,WAQF,CAAA,cACE,4BACA,CAAA,mBAOF,CAAA,4BACE,uBAQF,CAAA,6BACE,yBACA,CAAA,YAUF,CAAA,QACE,iBQ3OF,CAAA,2KCiCE,gFACA,CAAA,iBCzBA,CAAA,eAAA,CCjBF,yBHoBE,eACA,CAAA,aACA,CAAA,aACA,CACA,gBACA,CAAA,eACA,CAAA,YACA,EEVA,ACjBF,cCqDU,gBAhBF,CAAA,oBA0EF,CAAA,kBJ5FJ,CAAA,uBACA,CADA,oBACA,CADA,eACA,CAOA,UKZA,CHEA,WFMA,YACA,CKTA,CHEA,iBFEA,uBACA,CADA,oBACA,CADA,cACA,CKLA,CHEA,8DEoCQ,gBAhBF,CAAA,oBA0EF,CAAA,kBJ5FJ,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,iFRAF,CSZE,qHCMF,4BACA,CAAA,gBDGA,CAAA,wECJA,4BACA,CAAA,gBCZA,CAAA,IAAA,cAGF,CAAA,gBCJE,oBACA,CAAA,afIE,CAGF,mBAGE,kBCZF,CC8BF,qBAIE,iBcjCF,CAAA,WHYE,4BACA,CAAA,gBIbF,CAAA,aAAA,iBCCE,CAAA,WACA,CAAA,UCDA,CAAA,mJAGE,cCFJ,CAAA,qBACE,wBAEA,CAAA,iDAEE,UAGF,CAAA,sDC0BA,aACA,CAGA,2DAEE,aC1CJ,CAAA,aCoCI,YCCF,CAAA,UjBEA,CAAA,wEACA,CAAA,iBCzBA,CAAA,eiBUA,CAAA,eHvBA,CAAA,eEyCA,CAAA,eACE,gBAGF,CAAA,eACE,cE9BA,CAAA,gCJlBJ,aCmCI,eACA,CAAA,YCCF,CAAA,UjBEA,CAAA,wEACA,CAAA,iBCzBA,CAAA,eAAA,CAAA,egB4BA,CAAA,eACE,gBAGF,CAAA,eACE,cE9BA,CAAA,CAAA,gCJlBJ,aCmCI,eACA,CAAA,YCCF,CAAA,UjBEA,CAAA,wEACA,CAAA,iBCzBA,CAAA,eiBLA,CAAA,eDiCA,CAAA,eACE,gBAGF,CAAA,eACE,cGhDJ,CAAA,CAAA,WpBuCE,wEACA,CAAA,iBCzBA,CAAA,emBTA,CAAA,eACA,CAAA,cCKF,CAAA,UACE,oBACA,CAAA,iBACA,CAL8B,UAM9B,CAAA,iBAN8B,CAAA,SAW9B,CAAA,kBCRA,aAAA,CAAA,YDQA,CAAA,kBCRA,WAAA,CAAA,UDQA,CAAA,kBCRA,aAAA,CAAA,YDQA,CAAA,kBCRA,WAAA,CAAA,UDQA,CAAA,kBCRA,aAAA,CAAA,YDQA,CAAA,kBCRA,WAAA,CAAA,UDQA,CAAA,kBCRA,aAAA,CAAA,YCbF,CAAA,qENwEE,aACA,CAAA,yBAEA,CAAA,kBACE,aAGF,CAAA,gBACE,aAGF,CAAA,iBACE,aAGF,CAAA,gBX3EA,4BACA,CAAA,gBiBLF,CAAA,sDCQE,cAGA,CAAA,4BbnBA,iBACA,CAAA,WACA,CAAA,UamBE,CAAA,mBAGF,CAAA,oGbxBA,iBACA,CAAA,WACA,CAAA,UawBE,CAAA,uCAGF,CAAA,2BCkHA,iDACA,CAAA,2BACA,CAAA,iCACA,CAAA,6BACA,CACA,aACA,CAAA,YDtHE,CAAA,UACA,CAAA,cACA,CAAA,eACA,CAAA,eACA,CAAA,mBACA,CAAA,qBCuHF,CAAA,iDD9HA,2BC+HE,cACA,CAAA,6BACA,CAAA,4FAEA,CAFA,oFAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,+BFvJF,CEuJE,uBFvJF,CAAA,CCQA,0CbnBA,iBACA,CAAA,WACA,CAAA,UamBE,CAAA,mBAGF,CAKA,yCCkHA,2DACA,CAAA,2BACA,CAAA,iCACA,CAAA,6BACA,CACA,aACA,CAAA,YDtHE,CAAA,UACA,CAAA,cACA,CAAA,eACA,CAAA,eACA,CAAA,mBACA,CAAA,qBCuHF,CAAA,iDD9HA,yCC+HE,cACA,CAAA,6BACA,CAAA,4FAEA,CAFA,oFAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,+BClKJ,CDkKI,uBClKJ,CAAA,CAAA,UVmCI,iBACA,CAAA,cWhCF,CAAA,eACA,CAAA,gBAEA,CAAA,uJACE,eAGF,CAAA,8FAEE,gBDVF,CAAA,+CCeA,mBACA,CAAA,cAEA,CDXA,mDVyBE,eACA,CAAA,YYjCF,CAAA,oBACA,CAAA,cAEA,CAAA,2UACE,eACA,CAAA,eFEF,CGVF,eZqDE,eACA,CAAA,cDnBE,CACA,YC0BF,CAAA,kCACE,cAGF,CalEF,wE9BuCE,gF2BZA,CAAA,4BXQE,iBACA,CAAA,cWhCF,CAAA,eACA,CAAA,gBAEA,CzBTF,6D6BuPI,cAIF,E7B3PF,4BF0CE,iBCzBA,CAAA,c8BwMA,ECrNA,A9BJF,iB6ByNE,wBACA,CAAA,gBACA,CAAA,aACA,CAAA,gBAGA,CAAA,wEAGE,2BACA,CAAA,eACA,CAAA,wBAjNsB,CAAA,aAqNxB,CAAA,wCAEE,wBACA,CAAA,kBAGF,CAAA,oBACE,qBACA,CAAA,eAGF,CAAA,4C/BzMA,c+B2ME,CAAA,eACA,CAAA,oBAKF,CAAA,mCAjLA,oBACA,CAAA,iBACA,CAAA,0CACE,+BACA,CAAA,yBACA,CAAA,uBACA,CAAA,QACA,CAAA,UACA,CAAA,QACA,CACA,MAAA,CAAA,iBACA,CAAA,UA2KE,CAAA,6JEhPJ,4BACA,CAAA,QACA,CAAA,eACA,CAAA,eACA,CAAA,eACA,CAAA,sBACA,CAEA,SACA,CAAA,UXVA,CAAA,WAAA,CAAA,US6EA,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,6KACE,aAGF,CAAA,yKACE,aAGF,CAAA,2KACE,aAGF,CAAA,yKX3EA,4BACA,CAAA,gB2BYA,CAAA,mtHAmBE,4BACA,CAAA,eACA,CAAA,yBAGF,CAAA,iMACE,aAGF,CAAA,mMACE,aAGF,CAAA,i9BAKE,aAEA,CAAA,8BAPF,i9BAQI,cFsCJ,CAAA,CAAA,iLT1FA,aAAA,CAAA,YS4FE,CAAA,qBACA,CAAA,8VACE,gBAUJ,CAAA,ufACE,YAEF,CAAA,qoBACE,SA0IA,CAAA,iHAEE,wBAIA,CAAA,uKE3PJ,4BACA,CAAA,QACA,CAAA,eACA,CAAA,eACA,CAAA,eACA,CAAA,sBACA,CAEA,SACA,CAAA,UXVA,CAAA,WAAA,CAAA,US6EA,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,4FACE,aAGF,CAAA,0FACE,aAGF,CAAA,2FACE,aAGF,CAAA,0FX3EA,4BACA,CAAA,gB2BYA,CAAA,k9DAmBE,4BACA,CAAA,eACA,CAAA,yBAGF,CAAA,sGACE,aAGF,CAAA,uGACE,aAGF,CAAA,ogBAKE,aAEA,CAAA,8BAPF,ogBAQI,cFsCJ,CAAA,CAAA,8FT1FA,aAAA,CAAA,YS4FE,CAAA,qBACA,CAAA,kXACE,gBA2BJ,CAAA,4ZA9EwB,YAuNpB,CdpMJ,2FACE,aAGF,CAAA,yFACE,aAGF,CAAA,0FACE,aAGF,CAAA,yFX3EA,4BACA,CAAA,gB2BYA,CAAA,+7DAmBE,4BACA,CAAA,eACA,CAAA,yBAGF,CAAA,qGACE,aAGF,CAAA,sGACE,aAGF,CAAA,+fAKE,aAEA,CAAA,8BAPF,+fAQI,cFsCJ,CAAA,CAAA,6FT1FA,aAAA,CAAA,YS4FE,CAAA,qBACA,CA6KA,qCACE,wBAhP2B,CAAA,aAqP/B,CAAA,4EAEE,wBA9PsB,CAAA,aAoQxB,CAAA,2HAGE,qBAGF,CAAA,qCACE,YACA,CAAA,aAEA,CAiBA,aACA,CAAA,aAKF,CAvBE,CAAA,gDAvQ6B,aA6Q7B,CASF,qCAEE,aACA,CAAA,cAKF,CAAA,oEAEE,qBAOE,CAAA,yGACE,wBAvTkB,CAAA,aAyTlB,CAAA,4EACE,wBAnSuB,CAAA,aAAA,CAAA,mCA4F/B,iFACE,YAGF,CAAA,kCACE,qBAGF,CAAA,oEAEE,qBACA,CAAA,aACA,CAAA,UAGF,CAAA,2EACE,kCACA,CAAA,kBACA,CAAA,UACA,CAAA,kGAEE,kBAGA,CAAA,wGAEE,wBAKF,CAAA,kQAEE,+BAKN,CAAA,sMAEE,qBAEA,CAAA,0GACE,wBACA,CAAA,aACA,CAAA,eACA,CAAA,qBACA,CAAA,0BZ3IF,CYgGF,yCACE,qBAGF,CAAA,kFAEE,qBACA,CAAA,aACA,CAAA,UAGF,CAIE,gHAEE,kBAGA,CAAA,sHAEE,wBAKF,CAWF,wHACE,wBACA,CAAA,aACA,CAAA,eACA,CAAA,qBACA,CAAA,0BAOF,CAAA,gH/B3JF,gFACA,CAAA,iBCzBA,CAAA,e8B0LI,CAAA,wBAxLoB,CAAA,aA0LpB,CAAA,eACA,CAAA,mBACA,CAAA,8HACE,YAlEN,CZ5FE,CY4FF,6GACE,YAGF,CAAA,gDACE,qBAGF,CAEE,qBACA,CAAA,aACA,CAAA,SAGF,CAPA,CAAA,gDAEE,qBACA,CAAA,aACA,CAAA,UAGF,CAAA,wLACE,kCACA,CAAA,kBACA,CAAA,UACA,CAAA,8HAEE,kBAGA,CAAA,oIAEE,wBAKF,CAAA,0TAEE,+BAKN,CAAA,8PAEE,qBAEA,CAAA,sIACE,wBACA,CAAA,aACA,CAAA,eACA,CAAA,qBACA,CAAA,0BA/CJ,CAIA,uDACE,qBAGF,CAEE,qBACA,CAAA,aACA,CAAA,SAGF,CAPA,CAAA,uDAEE,qBACA,CAAA,aACA,CAAA,UAGF,CAIE,4IAEE,kBAGA,CAAA,kJAEE,wBAKF,CAWF,oJACE,wBACA,CAAA,aACA,CAAA,eACA,CAAA,qBACA,CAAA,0BAOF,CAAA,4I/B3JF,gFACA,CAAA,iBCzBA,CAAA,e8B0LI,CAAA,wBAxLoB,CAAA,aA0LpB,CAAA,eACA,CAAA,mBACA,CAAA,0JACE,YC7KN,CAAA,4CDoXA,gBACA,CAAA,iBAEA,CAAA,uDACE,QAGF,CAAA,+CACE,kBDtZA,CAAA,ab8CF,eACA,CAAA,ca3CE,CAAA,oFdwBA,eACA,CAAA,YCCF,CAAA,UajBE,CAAA,eACE,cACA,CAAA,eAIA,CAAA,gGAME,gBAKJ,CAAA,sE9BEF,wEACA,CAAA,iBCzBA,CAAA,eAAA,CAAA,e6ByBE,CAAA,wD9BAF,iB8BGE,CAAA,0C9BHF,iB8BME,CAAA,4B9BNF,gB8BSE,CAAA,c9BTF,gB8BYE,C5BtDJ,6BFyCE,+EACA,E8BYE,A5BtDJ,cF0CE,gBCzBA,CAAA,eiBwBA,CAAA,eACA,CAAA,qBACA,CAAA,wBgB6FF,CAAA,eNnIE,oBACA,CMkCA,aACA,CAAA,QACA,CAAA,SACA,CAAA,UlCFA,CACA,iBCzBA,CAAA,e2BTA,CMqHA,wBACE,eACA,CAAA,8BACE,iBACA,CAAA,oCACE,iBAYN,CAAA,sEAEE,gBAKF,CAAA,iDACE,kCACA,CAAA,gCACA,CAAA,iCACA,CAAA,mBAGF,CAAA,iDACE,eAIJ,CAAA,2DlCxHE,gFACA,CAAA,iBCzBA,CAAA,ciCqJA,CAAA,QAEA,CAAA,+FACE,gBAIJ,CAAA,wBtCzJE,aCIA,CAAA,qBqC0JA,CAAA,YACA,CAAA,aACA,CAAA,wCAEA,CAAA,qCACE,YAGF,CAAA,oCACE,eAIJ,CAAA,uBD9KE,QACA,CAAA,eACA,CAAA,eACA,CACA,sBACA,CAAA,eACA,CACA,SACA,CrCLA,aCIA,CAAA,wBsClBA,CAAA,0FAEA,CAAA,2BDyDA,CAAA,wCACA,CAAA,sBACA,CAAA,cACA,CAAA,oBACA,CAAA,eACA,CAAA,QACA,CAAA,gCACA,CAAA,oBACA,CAAA,UjBIA,CAAA,+BACE,aAGF,CAIA,8BACE,aAGF,CAAA,6BX3EA,4BACA,CAAA,gB2BYA,CAAA,20BAmBE,4BACA,CAAA,eACA,CAAA,yBAGF,CAAA,yCACE,aAGF,CAAA,0CACE,aAGF,CAAA,mNAKE,aAEA,CAAA,8BAPF,mNAQI,cCQJ,CAAA,CAAA,6BtCvDA,aCIA,CAAA,wBsClBA,CAAA,0FAEA,CAAA,2BD6EE,CAAA,oBAGF,CAAA,8BAuGF,uBE5LuB,4BFuFnB,CAAA,iBAEA,CAAA,+BTqDF,iDACA,CAAA,2BACA,CAAA,iCACA,CAAA,6BACA,CAAA,oBACA,CAAA,aACA,CAAA,YSxGA,CAAA,WACA,CAAA,iBACA,CAAA,aA8CI,CAAA,KAAA,CAAA,UT8DJ,CAAA,iDSjEE,+BTkEA,cACA,CAAA,2BACA,CAAA,4FAEA,CAFA,oFAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,+BS+BJ,CT/BI,uBS+BJ,CAAA,CAAA,CAAA,4CAzFE,sBAEA,CAAA,8FCtGA,uFAEA,CAAA,2BD4GA,CAAA,8BACE,oDT4BF,8CACA,CAAA,2BACA,CAAA,iCACA,CAAA,6BACA,CAAA,oBACA,CAAA,aACA,CAAA,YSxGA,CAAA,WACA,CAAA,iBACA,CAAA,aT4GA,CAAA,KAAA,CAAA,iDSxCE,oDTyCA,cACA,CAAA,2BACA,CAAA,yFAEA,CAFA,iFAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,+BYvJJ,CZuJI,uBYvJJ,CAAA,CAAA,CAAA,WCqBE,wBACA,CAAA,+BACA,CAAA,aAEA,CAAA,4BtCGA,gFACA,CAAA,iBCzBA,CAAA,esCIE,CAAA,mBACA,CAAA,gBDoBA,CAAA,iBAGF,CAAA,4BtBRE,eACA,CAAA,YsBUA,CAAA,uCC3BA,gBACA,CAAA,aD+BF,CAAA,+BtCZA,gFACA,CAAA,iBCzBA,CAAA,cqCsCE,CAAA,YACA,CAAA,mBAGF,CAAA,2DAEE,gBAEA,CAAA,iFACE,eDhDJ,CAAA,4BEEE,oBACA,CAAA,qBAAA,CAAA,oCFCE,oBAMJ,CAAA,aACE,eAKF,CAAA,oBCyCA,wBACA,CAAA,yBDvCE,CAAA,qCzCfF,aCIA,CAAA,wByCiEA,CAAA,YACA,CAAA,qBACA,CAAA,sBACA,CAAA,0BA2BA,CAAA,6Cb0BA,uDACA,CAAA,2BACA,CAAA,iCACA,CAAA,yBACA,CACA,WACA,CAAA,Ua9BE,CAAA,UACA,CAAA,aACA,CAAA,iBA3G4B,CAAA,kBb6I9B,CAAA,iDatCA,6CbuCE,cACA,CAAA,wBACA,CAAA,kGAEA,CAFA,0FAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,2BapEF,CboEE,mBapEF,CAAA,CAAA,uCACE,kBAGF,CAAA,uLxB9DA,aACA,CAAA,uDACE,aAEF,CAAA,2GAEE,auBZF,CAAA,oBCyCA,wBACA,CAAA,yBDvCE,CAAA,qCzCfF,aCIA,CAAA,wByCiEA,CAAA,YACA,CAAA,qBACA,CAAA,sBACA,CAAA,0BA2BA,CAAA,6Cb0BA,kDACA,CAAA,2BACA,CAAA,iCACA,CAAA,yBACA,CACA,WACA,CAAA,Ua9BE,CAAA,UACA,CAAA,aACA,CAAA,iBA3G4B,CAAA,kBb6I9B,CAAA,iDatCA,6CbuCE,cACA,CAAA,wBACA,CAAA,6FAEA,CAFA,qFAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,2BapEF,CboEE,mBapEF,CAAA,CAAA,uCACE,kBAGF,CxB7DA,uDACE,aAEF,CAAA,2GAEE,auBZF,CAAA,kBCyCA,wBACA,CAAA,yBDvCE,CAAA,mCzCfF,aCIA,CAAA,wByCiEA,CAAA,YACA,CAAA,qBACA,CAAA,sBACA,CAAA,0BA2BA,CAAA,2Cb0BA,gDACA,CAAA,2BACA,CAAA,iCACA,CAAA,yBACA,CACA,WACA,CAAA,Ua9BE,CAAA,UACA,CAAA,aACA,CAAA,iBA3G4B,CAAA,kBb6I9B,CAAA,iDatCA,2CbuCE,cACA,CAAA,wBACA,CAAA,2FAEA,CAFA,mFAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,2BapEF,CboEE,mBapEF,CAAA,CAAA,qCACE,kBAGF,CxB7DA,qDACE,aAEF,CAAA,uGAEE,auBZF,CAAA,iBCyCA,wBACA,CAAA,yBDvCE,CAAA,kCzCfF,aCIA,CAAA,wByCiEA,CAAA,YACA,CAAA,qBACA,CAAA,sBACA,CAAA,0BA2BA,CAAA,0Cb0BA,+CACA,CAAA,2BACA,CAAA,iCACA,CAAA,yBACA,CACA,WACA,CAAA,Ua9BE,CAAA,UACA,CAAA,aACA,CAAA,iBA3G4B,CAAA,kBb6I9B,CAAA,iDatCA,0CbuCE,cACA,CAAA,wBACA,CAAA,0FAEA,CAFA,kFAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,2BapEF,CboEE,mBapEF,CAAA,CAAA,oCACE,kBAGF,CxB7DA,oDACE,aAEF,CAAA,qGAEE,auBZF,CAAA,sBCyCA,wBACA,CAAA,yBDvCE,CAAA,uCzCfF,UCIA,CAAA,wByCiEA,CAAA,YACA,CAAA,qBACA,CAAA,sBACA,CAAA,0BA2BA,CAAA,+Cb0BA,0DACA,CAAA,2BACA,CAAA,iCACA,CAAA,yBACA,CACA,WACA,CAAA,Ua9BE,CAAA,UACA,CAAA,aACA,CAAA,iBA3G4B,CAAA,kBb6I9B,CAAA,iDatCA,+CbuCE,cACA,CAAA,qBACA,CAAA,2FAEA,CAFA,mFAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,2BapEF,CboEE,mBapEF,CAAA,CAAA,yCACE,kBAGF,CAAA,0GxB9DA,aACA,CAGA,+GAEE,awBgHF,CAAA,kCCvIE,oBACA,CAAA,iBDyIA,CAAA,YAdF,CAAA,yCAIE,aACA,CAAA,SACA,CAAA,YALA,CAAA,iDADF,yCAEI,wBAcF,CAdE,gBAcF,CAAA,CAAA,oCACE,gBDtHJ,CAAA,0CACE,aCqFF,CAAA,qCACE,YAEA,CAAA,4CACE,YAGF,CAAA,uCACE,aDlFJ,CAAA,sCACE,eGjBJ,CAAA,YxCCE,gFACA,CAAA,iBCzBA,CAAA,euC0BA,CAAA,wBrBvBE,CAAA,gCqBoBJ,YAMI,gBACA,CAAA,gBAGF,CAAA,CAAA,2BxCTA,gFACA,CAAA,iBCzBA,CAAA,euCwCA,CAAA,sBC1CA,YCiCM,CAAA,cFYJ,CAAA,kCxBlCA,mBACA,CAAA,oB2BiDE,CAAA,oCJ1DF,mBACA,CAAA,oBpBCA,CAAA,gCqB4CA,0CEhBI,aEjCN,CAAA,SJ0DF,CAAA,CAAA,sG5CrDE,a4C6DF,CAAA,qBxBvDI,gBACA,CAAA,iB6BZF,CAAA,eNGE,CCkEF,4BACA,CAAA,cACA,CAAA,eACA,CAEA,8BACA,CAAA,UrBtEE,CAAA,gCqB6DJ,qBD/DI,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCqB6DJ,qBD5DI,qBACA,CAAA,kBC2EA,CAAA,CAAA,mCACE,QAKN,CAAA,sBCxFE,YCiCM,CAAA,sBIjCN,CAAA,cN4FA,CAAA,gBrBvFE,CAAA,gCqBmFJ,sBAOI,aAIJ,CAAA,CAAA,wBAIgB,YAGd,CAAA,eACA,CAAA,6BACE,iBAEA,CAAA,8BAHF,6BAII,eAKN,CAAA,CAAA,mBxBzGI,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBEJF,CAAA,YCiCM,CAAA,cAAA,CAAA,sBFwFN,CAAA,erBpHE,CAAA,gCqB+GJ,mBDjHI,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCqB+GJ,mBEnFQ,kBF+FR,CAAA,CAAA,oBD1HI,oBACA,CAAA,iBC2HF,CAAA,eACA,CAAA,eACA,CAAA,eACA,CAAA,iBrBhIE,CAAA,gCqB2HJ,oBD1HI,qBACA,CAAA,kBCkIA,CAAA,YAIJ,CAAA,CAAA,yBxBvHI,eACA,CAAA,YwBwHF,CAAA,eACA,CAAA,eAGF,CAAA,2B1B5HE,a0BoIA,CAAA,eACA,CAAA,eACA,CAAA,cACA,CAAA,yBfeA,CAAA,kCA3CA,sDACA,CAAA,2BACA,CAAA,iCACA,CAAA,yBACA,CAAA,oBACA,CAAA,WACA,CAAA,UAuCE,CAAA,UACA,CAAA,qBAGE,CAAA,gBArCJ,CAAA,iDA+BA,kCA9BE,cACA,CAAA,wBACA,CAAA,iGAEA,CAFA,yFAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,2BAGE,CAHF,mBAGE,CAAA,wCACE,wBAiCJ,CAAA,CAAA,wCACE,UACA,CAAA,wBXpKJ,CAAA,mCACE,aAEF,CAAA,mEAEE,a0BmIF,CrB3JE,gCqB8IJ,2BAkBI,YAGF,CAAA,CAAA,8BArBF,2BAsBI,cAEA,CAAA,kCACE,2BAKN,CAAA,CAAA,yBOjLE,UPmLA,CAAA,kBACA,CAAA,UrB/KE,CAAA,gCqB4KJ,yBAMI,kBACA,CAAA,aAIJ,CAAA,CAAA,8BACE,oBrBxLE,CAAA,gCqBuLJ,8BAII,4BACA,CAAA,aACA,CAAA,eACA,CAAA,eACA,CAAA,YACA,CAAA,eAGF,CAAA,CAAA,iDACE,arBpMA,CAAA,gCqBmMF,iDAII,gBAIJ,CAAA,CAAA,yDACE,YAIJ,CAAA,oBPpNE,4BACA,CAAA,QACA,CAAA,eACA,CAAA,eACA,CAAA,eACA,CAAA,sBACA,CAAA,eACA,CAAA,QACA,CeTA,MAAA,CAAA,iBCqBI,CAAA,QC2BA,CAAA,KAAA,CpCzBJ,a0BwMA,CAAA,aACA,CAAA,eACA,CAAA,WACA,CAAA,eACA,CACA,SACA,CAAA,oBACA,CAAA,UvBxKA,CAYA,0BX3EA,4BACA,CAAA,gB2BYA,CAAA,kxBAmBE,4BACA,CAAA,eACA,CAAA,yBAGF,CAAA,sCACE,aAGF,CAAA,uCACE,aAGF,CAAA,oMAKE,aAEA,CAAA,8BAPF,oMAQI,cnB5BJ,CAAA,CAAA,4BACE,aAEF,CAAA,qDAEE,aKMA,CAAA,mCqBkLJ,oBAoBI,UAEA,CAAA,kCAEE,sBrBxOF,CAAA,CAAA,gCqBgNJ,oB1B9LE,akCvBA,CCkCI,WACA,CAAA,SACA,CAAA,UACA,CAAA,QToNF,CAAA,cACA,CAAA,iBACA,CAAA,iBf9EF,CAAA,2BA3CA,sDACA,CAAA,2BACA,CAAA,iCACA,CAAA,yBACA,CAAA,oBACA,CAAA,WACA,CAAA,UAuCE,CAAA,UACA,CAAA,qBAGE,CAAA,eArCJ,CAAA,iDA+BA,2BA9BE,cACA,CAAA,wBACA,CAAA,iGAEA,CAFA,yFAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,2BAGE,CAHF,mBAGE,CAAA,iCACE,wBAiCJ,CAAA,CAAA,iCACE,UACA,CAAA,wBXpKJ,CAAA,4BACE,aAEF,CAAA,qDAEE,a0BgOA,CAAA,4DAEE,iBAEA,CAAA,CAAA,mDAJF,4DAKI,2BrB7PJ,CAAA,CAAA,gCqBiQA,0BAEE,oBAMJ,CAAA,CAAA,8KAIE,qBAEA,CAAA,8BACE,8MACE,YrBnPJ,CAAA,CAAA,mCM0IF,+CA3CA,gDACA,CAAA,2BACA,CAAA,iCACA,CAAA,6BACA,CAAA,oBACA,CAAA,WACA,CAAA,UAuCE,CAAA,UACA,CAAA,qBAGE,CAAA,aArCJ,CAAA,iDA+BA,+CA9BE,cACA,CAAA,wBACA,CAAA,2FAEA,CAFA,mFAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,+BegJE,CfhJF,uBegJE,CAAA,CAAA,gDShRA,QDrBJ,CAAA,KAAA,CAAA,iBC8BI,CAAA,OT0QE,CAAA,wBACA,CAAA,UACA,CAAA,aACA,CAAA,WACA,CAAA,UAEF,CAAA,+CSzRA,QDrBJ,CAAA,KAAA,CAAA,iBC8BI,CAAA,O9BzBF,CAAA,CAAA,gCqBsRF,wCAiCI,WACA,CAAA,SACA,CAAA,iBfjJJ,CAAA,+CA3CA,sDACA,CAAA,2BACA,CAAA,iCACA,CAAA,yBACA,CAAA,oBACA,CAAA,WACA,CAAA,UAuCE,CAAA,UACA,CAAA,qBAGE,CAAA,eArCJ,CAAA,iDA+BA,+CA9BE,cACA,CAAA,wBACA,CAAA,iGAEA,CAFA,yFAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,2BAGE,CAHF,mBAGE,CAAA,qDACE,wBAiCJ,CAAA,CAAA,qDACE,UACA,CAAA,wBeoIA,CAEE,gBAEA,CAJF,CAAA,+CAEE,iBAEA,CAAA,CAAA,mDAJF,oGAKI,2BAOV,CAAA,CAAA,yB7BzVE,iBACA,CAAA,WACA,CAAA,U6ByVA,CAAA,yBrBzUE,CAAA,gCqBuUJ,yB7BtUE,e6B4UE,CAAA,cAGF,CAAA,CAAA,8BATF,yBAUI,cAIJ,CAAA,CAAA,kBACE,YAKA,CAAA,qC7B7WA,iBACA,CAAA,WACA,CAAA,UwC8CF,CAAA,gBnDTE,gFACA,CAAA,iBCzBA,CAAA,eLGA,CAAA,aCIA,CAAA,qB0CNE,CAAA,cACA,CAAA,epBCA,CAAA,gCgC8BJ,gBZ1BI,mBAAA,CAAA,gBpBJA,CgCgDA,iECrDF,kBDwDM,CAAA,sBACA,CAAA,eAMR,ChC1DI,CgC0DJ,sBnCzCI,eACA,CAAA,YYjCF,CAAA,oBACA,CAAA,caSA,CAAA,aFCE,CAAA,cYkEF,CAAA,mBACA,CAAA,oBvB3EA,CuB8EF,2BxCpFE,iBACA,CAAA,WACA,CAAA,U8BWA,CAAA,ctBmCE,CAAA,mCgCoCJ,2BCvEE,kBD+EE,CAAA,6CxC7EF,ewCgFI,CAAA,mEAnDJ,4BACA,CAAA,gCVhCA,CAAA,oBFSE,CAAA,mBAAA,CAAA,gBdoKF,CAAA,2EA3CA,qDACA,CAAA,2BACA,CAAA,iCACA,CAAA,uBACA,CAAA,oBACA,CAAA,UACA,CAAA,SAuCE,CAAA,UACA,CAAA,uBAlCF,CAAA,iDA+BA,2EA9BE,cACA,CAAA,wBACA,CAAA,gGAEA,CAFA,wFAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,yB0BrDI,C1BqDJ,iB0BrDI,CAAA,CAAA,0EAlGe,YAqGb,CAjGuB,UAkGvB,CAAA,iBAIF,CAAA,sNDpDE,oBCyDF,CAAA,wEDzDE,yBC+DJ,CAAA,2EACE,chC/GJ,CAAA,CAAA,gCgCkEJ,2BxCrEE,ec2KA,CAAA,mDA3CA,wDACA,CAAA,2BACA,CAAA,iCACA,CAAA,uBACA,CAAA,oBACA,CACA,SAuCE,CAAA,UACA,CAAA,uBAlCF,CAAA,iDA+BA,mDA9BE,cACA,CAAA,wBACA,CAAA,mGAEA,CAFA,2FAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,yB0BbA,C1BaA,iB0BbA,CAAA,CAAA,mDA1ImB,YA6IjB,CAAA,aACA,CAAA,cACA,CA3I2B,UA4I3B,CAAA,iBAKN,CAAA,CAAA,sBrC5HE,a2BvBA,CAAA,cSoDQ,CAAA,oBpC5BR,CAAA,8BACE,aAEF,CAAA,yDAEE,aqCiIF,CAAA,2BD1GQ,yB/B/CN,CAAA,gCgCmKJ,sBlDtKE,ekD2KA,CAAA,CAAA,iDV7KA,oBYVF,CAAA,kBrCgCI,eACA,CAAA,YqC/BF,CAAA,YACA,CAAA,qBACA,CAAA,cACA,CAAA,oBACA,CAAA,mBACA,CAAA,oBACA,CAAA,clCOE,CAAA,gCkCfJ,kBAWI,gBACA,CAAA,mBACA,CAAA,kBAIF,CAAA,CAAA,oCACE,WlCHA,CAAA,gCkCKA,4DAEI,YACA,CAAA,eAMF,CAAA,CAAA,uEACE,YACA,CAAA,eAMR,CAAA,wBACE,alCvBE,CAAA,gCkCyBF,mCAEI,cAIJ,CAAA,CAAA,oCACE,WACA,CAAA,aACA,CAAA,cAKJ,CAAA,6BACE,kBACA,CAAA,gBACA,CAAA,6BACA,CAAA,aACA,CAAA,clC5CE,CAAA,gCkCuCJ,6BAQI,0BAGF,CAAA,CAAA,yCACE,iBACA,CAAA,sBlCpDA,CAAA,gCkCkDF,yCAKI,UAIF,CAAA,CAAA,+FAEE,SAGF,CAAA,+CACE,SAIJ,CAAA,qDACE,aACA,CAAA,cACA,CAAA,UlCxEA,CAAA,gCkCqEF,qDAMI,UAGF,CAAA,CAAA,6EACE,yBACA,CAAA,4BACA,CAAA,iBAGF,CAAA,4EACE,wBACA,CAAA,2BACA,CAAA,cACA,CAAA,gBACA,CAAA,sBlCzFF,CAAA,gCkCoFA,4EAQI,gBACA,CAAA,UAIJ,CAAA,CAAA,4GACE,eACA,CAAA,iBACA,CAAA,gBAKA,CAAA,kGACE,8BACA,CAAA,QACA,CAAA,UACA,CAAA,aACA,CAAA,WACA,CAAA,iBACA,CAAA,SAEA,CAAA,KAAA,CAAA,SACA,CAAA,SAGF,CAAA,6GACE,0BAGF,CAAA,+GACE,0BAGF,CAAA,wGACE,0BAGF,CAAA,iPAEE,uBAGF,CAAA,oNAEE,YCrJR,CAAA,YtDiCE,gFACA,CAAA,iBCzBA,CAAA,cLGA,CAAA,UCIA,CAAA,wByDZA,CAAA,uBACA,CADA,oBACA,CADA,eACA,CAAA,kBACA,CAAA,QACA,CAAA,oBACA,CAAA,cACA,CAAA,qBACA,CADA,gBACA,CAAA,mBACA,CAAA,eACA,CAAA,sBACA,CAAA,kBACA,CAAA,sBACA,CAAA,iBACA,CAAA,oBACA,CAAA,UnCLE,CAAA,gCmCZJ,YAoBI,UAGF,CAAA,CAAA,oBACE,UAGF,CAAA,gD1DfA,UCIA,CAAA,wByDcE,CAAA,eACA,CAAA,oBAGF,CAAA,kD1DtBA,UCIA,CAAA,wByDuBA,CAAA,wEAEE,qBAGF,CAAA,qD1DhCA,aCIA,CAAA,wB0DJA,CAAA,kBACA,CAAA,SAEA,CAAA,klC3DHA,aCIA,CAAA,wB0DMA,CAAA,8BDsBA,qDCrBE,QACA,CAAA,cAEA,CAAA,8QAIE,cCjCJ,CAAA,CAAA,oL5DeA,aCIA,CAAA,wB0DJA,CAAA,kBACA,CAAA,SAEA,CAOA,8BCzBA,oLD0BE,QACA,CAAA,cAEA,CAAA,o0BAIE,cAeJ,CC3CA,2GpBN8B,yBkBqD9B,CCJA,CDIA,sBACE,aAGF,CAAA,8BACE,uClB3DmB,4BkBiEvB,CAAA,CAAA,0D1DhDE,aCIA,CAAA,wByD+CA,CAIA,0E1DvDA,aCIA,CAAA,wByDwDA,CAAA,4E1D5DA,UCIA,CAAA,wByD8DF,CAAA,0D1DlEE,aCIA,CAAA,wByDiEA,CAIA,0E1DzEA,UCIA,CAAA,wByD0EA,CAAA,4E1D9EA,UCIA,CAAA,wByDgFF,CAAA,qBACE,4BACA,CAAA,kCACA,CAAA,aAEA,CAAA,6BACE,aAGF,CAAA,kEAEE,4BACA,CAAA,kCACA,CAAA,aAGF,CAAA,oEAEE,4BACA,CAAA,kCACA,CAAA,aAGF,CAAA,yCAKE,kCACA,CAAA,aAEA,CAAA,iDACE,aAGF,CAAA,0GAEE,kCACA,CAAA,aAGF,CAAA,4GAEE,4BACA,CAAA,+BACA,CAAA,UAGF,CAAA,8DrC7EF,yBgB3DA,CAAA,4BACA,CAAA,QACA,CAAA,eACA,CAAA,eACA,CAAA,eACA,CAAA,sBACA,CAAA,eACA,CAAA,QACA,CAAA,SACA,CAAA,UqBiII,CAAA,arC7EJ,CAYA,oEX3EA,4BACA,CAAA,gB2BYA,CAAA,gjDAmBE,4BACA,CAAA,eACA,CAAA,yBAGF,CAQA,sZAKE,aAEA,CAAA,8BAPF,sZAQI,cqByFA,CAAA,CAAA,sEACE,aAGF,CAAA,oJAEE,aAGF,CAAA,sJAEE,UAMR,CAAA,kB1DzJE,UCIA,CAAA,wByDwJA,CAAA,4D1D5JA,UCIA,CAAA,wByD6JA,CAAA,8D1DjKA,UCIA,CAAA,wByDmKF,CAAA,uB1DvKE,UCIA,CAAA,wByDsKA,CAAA,sE1D1KA,UCIA,CAAA,wByD2KA,CAAA,wE1D/KA,UCIA,CAAA,wByDiLF,CAAA,iBACE,oBACA,CAAA,iBACA,CAAA,mBAQA,CAAA,osBAIE,4BACA,CAAA,aAIJ,CAAA,uEAEE,kCAEA,CAAA,+GACE,kCACA,CAAA,aAEA,CAAA,8BAJF,+GAKI,cAKN,CAAA,CAAA,sBrCjKE,aACA,CAAA,yBgB3DA,CAAA,4BACA,CAAA,QACA,CAAA,eACA,CAAA,eACA,CAAA,eACA,CAAA,sBACA,CAAA,eACA,CAAA,QACA,CAAA,SACA,CAAA,UhBoDA,CAAA,mEACE,aAGF,CAAA,4BACE,aAGF,CAAA,6BACE,aAGF,CAAA,4BX3EA,4BACA,CAAA,gB2BYA,CAAA,wzBAmBE,4BACA,CAAA,eACA,CAAA,yBAGF,CAAA,2EACE,aAGF,CAAA,6EACE,aAGF,CAAA,8MAKE,aAEA,CAAA,8BAPF,8MAQI,cwBjDJ,CAAA,CAAA,2CCTA,eACA,CAAA,YACA,CAAA,oBACA,CAAA,cDMA,CAKF,gBhBRE,YCiCM,CAAA,qBAAA,CAAA,cAAA,CAAA,mB1BtBJ,CAAA,kBACA,CAAA,mBGPA,CAAA,gCsCGJ,gBfyBQ,kBedN,CAAA,CAAA,UzCkCE,oB6BrDF,CAAA,cYuBE,CAAA,qDzC8BA,oBGhDA,CAAA,gCsCcF,UzCkCE,kByCrBE,CAAA,qBzCqBF,kByClCF,CAAA,CAAA,qBzCkCE,oB6BrDF,CAAA,cYuBE,CtClBA,gCsCcF,qBzCkCE,kByCrBE,CAAA,gCzCqBF,kByCZJ,CAAA,CAAA,qB7DpCE,aCIA,CAAA,qBGiBA,CAAA,gFACA,CAAA,iBCzBA,CAAA,eEoCQ,CAAA,gBAhBF,CAAA,oBA0EF,CAAA,kBsChGJ,CAAA,YAAA,CAAA,WCiCM,CAAA,qB1BtBJ,CAAA,iBACA,CAAA,kBgCZF,CAAA,iBAAA,CAAA,mBSsDF,CAAA,gElBrDI,ckByDJ,CAAA,yBhB1DE,agBgEF,CAAA,kBAGE,2BAEA,CAAA,6BlB5DE,qBkBiEJ,CAAA,mBzDhDE,wEACA,CAAA,iBCzBA,CAAA,eeDE,CAAA,QyCgFJ,CAAA,iBEjFE,QFqFA,CAAA,cAGF,CAAA,eA9FE,wCAGA,CAAA,yCGCA,CAAA,wBZEA,CAAA,iBS4FA,CAAA,eAEA,CAAA,mBhB9FA,aAAA,CAAA,WAAA,CAAA,UgBkGE,CAAA,mBAIJ,CAJI,gBAIJ,CAAA,wBlB7FI,kBANA,CAAA,mBACA,CAAA,oBkBsGF,CAAA,uCI1GA,eJiHF,CAAA,gBfhFQ,WH9BJ,CkBkHF,oBAEA,CAAA,eAGA,CAAA,2BlBjHE,qBkBqHF,CAAA,4BlBrHE,kBkByHF,CAAA,2BlB5HE,qBACA,CAAA,kBkBkIJ,CAAA,kBAGE,2BAGF,CAAA,2CzCpGI,cyC2GF,CAAA,0DlB7IE,gBvB4CA,CAAA,eyCsGF,CAAA,4DzC1HE,YuBxBA,CAAA,akBuJF,CAAA,0DzC1IE,eACA,CAAA,YuBjBA,CAAA,gBACA,CAAA,akBoKJ,CAAA,qGAIE,kBAMA,CAAA,kFlBlLE,gBACA,CAAA,iBkBsLJ,CAAA,yBACE,eAEA,CAAA,wCIjIA,4BACA,CAAA,6BJwIA,CAAA,0CA3MA,wCAGA,CAAA,yClBYE,CAAA,mBkBiMF,CAAA,kDI9IA,4BACA,CAAA,6BJ+IE,CAAA,eAGF,CAAA,gDlBtME,akB0MF,CAAA,yCEnNA,OFsNE,CAAA,iDzCrLA,YyC0LF,CAAA,uCI3NA,eJ+NA,CAAA,wClBtNE,gBpBJA,CAAA,gCsCiOA,iChBtOF,YAAA,CAAA,eAAA,CQqBI,QDrBJ,CAAA,KAAA,CAAA,MAAA,CAAA,iBAAA,CAAA,WS+OE,CAAA,+BI/OF,eJiPI,CAAA,wCAIA,CAAA,2CAMF,CAAA,oGzC5LA,iByCkMA,CAAA,yCACE,WAEA,CAAA,wDIvOJ,+BAEA,CAAA,4BJ0OE,CAAA,wClBhQA,eAAA,CAAA,qBkBoQE,CAAA,oII7QJ,eJmRI,CAAA,yDACE,oBAGF,CAAA,uDACE,iBAGF,CAAA,+DlBlRF,kBkBwRE,CAAA,uDKjSJ,SAAA,CAAA,OLsSI,CAAA,8DlB7RF,cAAA,CAAA,oBkBiSI,CAKF,qDAEE,yCAIA,CAAA,4CAMF,CAAA,sKzC5PF,aApBA,CAAA,kByCuRE,CAAA,qDIlUJ,eA4CA,CAAA,gCAEA,CAAA,6BJ4RF,CAAA,CAAA,2DM3TI,qBACA,CAAA,QACA,CAAA,eACA,CAAA,qBACA,CfnBF,iBesBE,CAAA,2BNoTJ,2DMlTM,cACA,CAAA,eAEA,CAAA,yBACA,CAAA,cArCJ,CAAA,6DACE,iBAEA,CAAA,KAAA,CACA,MAAA,CAAA,UACA,CAAA,WAGO,CAAA,6HAEP,mBN6UF,CM7UE,gBN6UF,CAAA,CAAA,0ET9UA,iBCaI,CAAA,QACA,CACA,MAAA,CAAA,Oe5BN,CAAA,KAAA,CAAA,eNOE,eACA,CAAA,YACA,CAAA,oBACA,CAAA,c1D6BA,CAAA,gFACA,CAAA,iBCzBA,CAAA,e+DTF,CAAA,qBCFE,mBjD+BE,CACA,YgD3BF,CAAA,eACA,CAAA,gBCJA,CAAA,6BACE,WACA,CAAA,oBACA,CAAA,WACA,CAAA,mBACA,CAAA,mBAVkB,CAAA,UCCpB,CAAA,0D/BEA,sGAEA,CAAA,2B+BFE,CAAA,0BACA,CAAA,sBAAA,CAAA,gBlEkCF,gFACA,CAAA,iBCzBA,CeoBE,iBACA,CAAA,cWhCF,CAAA,eACA,CYiBE,cZfF,CAAA,8NACE,eAGF,CAAA,kGAEE,gBwCFF,CANA,2BnEkCA,gFACA,CAAA,iBCzBA,CeoBE,iBACA,CAAA,cWhCF,CAAA,eACA,CYiBE,cZfF,CwCIA,uDxCQA,cXgBE,CAAA,eACA,CAAA,YYjCF,CAAA,oBACA,CAAA,cwCWA,CAAA,sBjE4CQ,CAAA,oBA0DJ,CAAA,sBsCxGJ,CAAA,YzBsBE,CAAA,kBACA,CAAA,euBdA,CAAA,gBZDF,CwCCF,oDErBE,aACA,CFuBA,UACA,CAAA,iBhDRE,CAAA,gCgDIJ,oDAOI,UAIJ,CAAA,CAAA,sBzBaQ,WyBTR,CAAA,yBnEEE,gFACA,CAAA,iBCzBA,CAAA,eemDE,CAAA,eApBA,CAAA,YmDHJ,CAAA,6BnDRI,mBACA,CAAA,gBmDWJ,CAAA,sBnDZI,eACA,CAAA,YYjCF,CAAA,oBACA,CAAA,cZ0CE,CAAA,iBYxCF,CuC8CF,2BnDNI,iBhBPF,CAAA,gFACA,CAAA,gBCzBA,CAAA,ekEwCA,CAAA,aACA,CAAA,kBAEA,CAAA,mCP/CA,wB3DIA,CAAA,csCIE,CAAA,qBACA,CAAA,kBWyCE,CAAA,aiBEF,CAAA,oBACA,CAAA,iBAEA,CAAA,wCPvDF,wBVkDI,CAAA,UiBYN,CAAA,0FACE,oBAGF,CAAA,wEnEtCE,gFACA,CAAA,iBmEwCA,CAAA,aACA,CAAA,eACA,CAAA,cACA,CAAA,iBhDjEE,CAAA,gCgD2DJ,wEASI,aAIJ,CAAA,CAAA,qCNjBE,0BACA,CAAA,2BMkBA,CAAA,wBACA,CAAA,UAGF,CAAA,mCNtEE,6BAEA,CAAA,8BMsEA,CAAA,wBACA,CAAA,aAIA,CAAA,iDnDpEE,mBACA,CAAA,gBuBdA,CAAA,iB+BrBF,CAAA,mFAGE,iBAEA,CAAA,KAAA,CACA,MAAA,CAAA,UACA,CAAA,WAIJ,CAAA,qBPgBI,qBACA,CAAA,QACA,CAAA,eACA,CAAA,qBACA,CAAA,iBOlBF,CAAA,cPqBE,CAAA,2BOvBJ,qBPyBM,cACA,CAAA,eAEA,CAAA,yBACA,CAAA,cArCJ,CAAA,uBACE,iBAEA,CAAA,KAAA,CACA,MAAA,CAAA,UACA,CAAA,WAGO,CAAA,iDAEP,mBQSJ,CRTI,gBQSJ,CAAA,CAAA,YvEgBE,gFACA,CAAA,iBCzBA,CAAA,esEYA,CAAA,4BvDHE,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,gCoDSF,4BhCXE,iBACA,CAAA,kBgCcJ,CAAA,CAAA,2BhCZI,sBACA,CAAA,mBgCaF,CAAA,cAEA,CtDoDA,mCX3EA,4BACA,CAAA,gBiE2BF,CAAA,iBvDhBI,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBADA,CAAA,cACA,CAAA,egC0BF,CAAA,+BpDzBE,CAAA,gCoDsBJ,iBhCxBI,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCoDsBJ,iBhCxBI,iBACA,CAAA,kBgC8BA,CAAA,kBpD7BA,CAAA,CAAA,qDoDsBJ,iBhCxBI,iBACA,CAAA,kBgCiCF,CAAA,CAAA,oBb3CA,eACA,CAAA,YACA,CAAA,oBACA,CAAA,ca6CF,CAAA,6BACE,wBAEA,CAAA,4EvDlCE,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,gCoDwCF,6ChC1CE,iBACA,CAAA,kBgC8CJ,CAAA,CAAA,+BhC/CI,cACA,CAAA,epBCA,CAAA,gCoD6CJ,+BhC/CI,iBACA,CAAA,kBpBCA,CAAA,CoDsDJ,6BACE,eAGF,CAAA,0BhCxDI,YWyCE,CAAA,aAII,CAAA,eqBgBR,CAAA,QACA,CAAA,4BACA,CAAA,apDjEE,CAAA,gCoD0DJ,0BhC5DI,cACA,CAAA,egCsEA,CAAA,QAIF,CAAA,CAAA,kCAEE,UACA,CAAA,c9C4FF,CAAA,0CA3CA,sDACA,CAAA,2BACA,CAAA,iCACA,CAAA,+BACA,CAAA,oBACA,CAyCE,qBAlCF,CAAA,iDA+BA,0CA9BE,cACA,CAAA,6BACA,CAAA,iGAEA,CAFA,yFAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,iC8ClEA,C9CkEA,yB8ClEA,CAAA,CAAA,wDjEpFF,4BACA,CAAA,sBiEyFE,CAAA,0CjDzFF,cAAA,CAAA,aiD2FI,CAAA,kBACA,CAAA,uBACA,CAAA,UACA,CAAA,mBACA,CAAA,sBACA,CAAA,mBACA,CAAA,mBAEA,CAAA,8BAVF,0CAWI,qCAIJ,CAAA,CAAA,sDACE,gBACA,CAAA,mB9CmEJ,CAAA,+DA3CA,wDACA,CAAA,2BACA,CAAA,iCACA,CAAA,+BACA,CAAA,oBACA,CAAA,cACA,CAAA,aAuCE,CAAA,UACA,CAAA,qBAKE,CAAA,mBAvCJ,CAAA,iDA+BA,+DA9BE,cACA,CAAA,6BACA,CAAA,mGAEA,CAFA,2FAEA,CAAA,mCACA,CADA,2BACA,CAAA,6BACA,CADA,qBACA,CAAA,iC8CpCE,C9CoCF,yB8CpCE,CAAA,CAAA,2EACE,YAMR,CAAA,4BACE,eACA,CAAA,gBACA,CAAA,SAEA,CtD/DA,sCACE,aAGF,CAAA,oCACE,aAGF,CAAA,qCACE,aAGF,CAAA,oCX3EA,4BACA,CAAA,gBiEiIA,CAAA,wDACE,gBpD7HA,CAAA,gCoDmHJ,4BAcI,aAIJ,CAAA,CAAA,0BACE,eAEA,CpDxIE,gCoDqIJ,0B7BzGQ,wB6BkHJ,CAAA,gBAIJ,CAAA,CAAA,aACE,mBACA,CAAA,kBAEA,CAAA,iDAEE,iBAIJ,CAAA,sBvEvIE,wEACA,CAAA,iBCzBA,CAAA,eiBUA,CAAA,eqDuJA,CAAA,QAGF,CAAA,+BhChKI,sBACA,CAAA,mB3CFF,CAAA,aCIA,CAAA,wB0EiKA,CAAA,+CvD/JE,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,gCoDqKF,+ChCvKE,iBACA,CAAA,kBgCyKA,CAAA,CAAA,yDACE,6BAIJ,CAKF,kBvDjKI,mBACA,CAAA,gBGlBA,CAAA,gCoDkLJ,kBvDjKI,eACA,CAAA,Y0BUI,CAAA,kB6B+JR,CAAA,CAAA,sBACE,cAGF,CAAA,0BvE1KE,gFACA,CAAA,iBCzBA,CAAA,cuEFA,CAAA,exDsBE,CAAA,mBACA,CAAA,gBuDmLJ,CAAA,2BACE,iBpDtME,CAAA,gCoDqMJ,2BAII,YACA,CAAA,gBAIJ,CAAA,CAAA,6BvEzLE,gFACA,CAAA,iBCzBA,CAAA,euEFA,CAAA,eD0NA,CAAA,YpDrNE,CAAA,gCoD8MJ,6BvD7LI,oBACA,CAAA,iBuD0MJ,CAAA,CAAA,0BACE,cACA,CAAA,oBAEA,CpDhOE,gCoD4NJ,0B7BhMQ,wB6B6MR,CAAA,CAAA,iBjD9OE,WAAA,CAAA,UiDgPA,CAAA,+BACA,CAAA,oBACA,CAAA,cAEA,CAAA,uBACE,qBAGF,CAAA,8BAVF,iBAWI,wBACA,CAAA,wBAIJ,CAAA,CAAA,uBACE,aACA,CAAA,WACA,CAAA,UpD5PE,CAAA,gCoD+PJ,qB7BnOQ,wBvB5BJ,CAAA,CAAA,gCoDwQF,mChC1QE,cACA,CAAA,egC+QF,CAAA,CAAA,uChC5QE,YpBFA,CAAA,gCoD8QF,uChClRE,SgC2RF,CAAA,CAAA,oC7B3PM,kB6B+PN,CAAA,wCACE,cAGF,CAAA,4CACE,oBpDhSA,CAAA,gCoD+RF,4ChC9RE,mBACA,CAAA,gBgCkSE,CAAA,YAQJ,CAAA,CAAA,kCvDtSE,iBACA,CAAA,kBGPA,CAAA,gCoD4SF,kCAGI,+BACA,CAAA,gBpDhTF,CAAA,CAAA,gCoD4SF,kCvDtSE,aACA,CAAA,cuBTA,CAAA,cACA,CAAA,egCsTE,CAAA,kBAIJ,CAAA,CAAA,2CvEpSA,wEACA,CAAA,gBCzBA,CiBeA,eqD+SE,CAAA,eACA,CAAA,QpD5TA,CAAA,gCoDyTF,2ChCxTE,gBACA,CAAA,agC8TE,CAAA,mBAEA,CAAA,iDACE,WACA,CAAA,oBAMJ,CAAA,CAAA,qFACE,kBACA,CAAA,YACA,CAAA,0BAGF,CAAA,+EhClVA,iBACA,CAAA,kBgCmVE,CAAA,sBpDlVF,CAAA,gCoDgVA,+EhClVA,cACA,CAAA,egCuVI,CAAA,mBACA,CAAA,kBEzWR,CAAA,CAAA,UzEuCE,gFACA,CAAA,iBCzBA,CAAA,ekBGE,CAAA,gCsDlBJ,UASI,eAIF,CAAA,CAOA,kEACE,cAGF,CAAA,sBACE,gBtDPA,CAAA,gCsDMF,sBAII,iBAKJ,CAAA,CAAA,qCxDuCA,aACA,CAAA,yBAEA,CAAA,6CACE,aAGF,CAAA,2CACE,aAGF,CAAA,4CACE,aAGF,CAAA,2CX3EA,4BACA,CAAA,gBaKE,CAAA,gCsDoBJ,iBAEI,eAIJ,CAAA,CAAA,mBxD4BE,aACA,CAAA,yBgB3DA,CAAA,4BACA,CAAA,QACA,CAAA,eACA,CAAA,eACA,CAAA,eACA,CAAA,sBACA,CAAA,eACA,CAAA,QACA,CAAA,SACA,CAAA,UwCuBA,CAAA,cxD6BA,CAAA,2BACE,aAGF,CAAA,yBACE,aAGF,CAAA,0BACE,aAGF,CAAA,yBX3EA,4BACA,CAAA,gB2BYA,CAAA,+vBAmBE,4BACA,CAAA,eACA,CAAA,yBAGF,CAAA,qCACE,aAGF,CAAA,sCACE,aAGF,CAAA,+LAKE,aAEA,CAAA,8BAPF,+LAQI,cwChBN,CAAA,CvEnDA,qDFyCE,+EACA,EyESF,AvEnDA,mCF0CE,gBCzBA,CAAA,ewEqCA,CAAA,WACA,CAAA,oBCnDF,CAAA,kB1EsCE,iBCzBA,CAAA,eyERE,CAAA,0DACE,kBvDUF,CAAA,gCuDXA,0DAII,kBvDOJ,CuDFE,qEAEI,eAGF,CvDHJ,CuDUF,wCACE,mBAIA,CAAA,sDACE,YAKN,CAAA,2B1DJI,eACA,CAAA,YCCF,CAAA,UjBEA,CAAA,wEACA,CAAA,iBCzBA,CAAA,eiBUA,CAAA,eDkBA,CAAA,6BACE,gBAGF,CAAA,6BACE,c0D/BJ,CAAA,Y3EsBE,gFACA,CAAA,iBCzBA,CAAA,e2EhBA,CAAA,mBACE,UACA,CAAA,UACA,CAAA,aDoBF,CAAA,cACE,kBAIF,CAAA,wBACE,gBxDVA,CAAA,gCwDSF,wBAGI,WxDZF,CwDiBF,0BAEI,WACA,CAAA,2BAGA,CAAA,UAKJ,CxD5BE,CwD4BF,0BACE,WxD7BA,CAAA,gCwDgCF,sBAEI,yBxDlCF,CwDsCF,0CAGI,4BxDXF,CA9BA,CA8BA,mCwDgBJ,UjClBQ,WiCqBJ,CAAA,gBACA,CAAA,cACA,CAAA,gBxDnDA,CAAA,CAAA,gCwD8CJ,UASI,eACA,CAAA,kBACA,CAAA,iBACA,CAAA,eAGF,CAAA,CAAA,YACE,aACA,CAAA,oBAIJ,CAAA,gBACE,aACA,CAAA,iBACA,CAAA,eACA,CAAA,QAGF,CAAA,c1C7EE,QACA,CAAA,eACA,CAAA,eACA,CAAA,eACA,CAAA,sBACA,CACA,QACA,CAAA,SACA,CAAA,USuBM,CAAA,aH9BJ,CAAA,mBACA,CAAA,oBoC+EF,CAAA,wBACA,CAAA,UACA,CAAA,gBACA,CAAA,WACA,CAAA,iBACA,CAAA,oBACA,CAAA,wB1D3BA,CAYA,oBX3EA,4BACA,CAAA,gB2BYA,CAAA,gqBAmBE,4BACA,CAAA,eACA,CAAA,yBAGF,CAAA,gCACE,aAGF,CAAA,iCACE,aAGF,CAAA,sKAKE,aAEA,CAAA,8BAPF,sKAQI,cd/CF,CAAA,CAAA,gCwD0EJ,cAaI,YAGF,CAAA,CAAA,oBACE,wBACA,CAAA,UACA,CAAA,oBAGF,CAAA,2CACE,UAGF,CAKF,a1BjGM,QACA,CACA,MAAA,CAAA,O0BiGJ,CAAA,KAAA,CAAA,cACA,CAAA,yBACA,CAAA,SACA,CAAA,mCACA,CAAA,iBACA,CAAA,WAEA,CAAA,wBACE,SACA,CAAA,kBxDpHA,CAAA,gCwD6HA,+BACE,iBElDyB,CAAA,SFsD3B,CAAA,4BjCtGI,kBAAA,CAAA,kBAAA,CAAA,wBiCwGF,CAAA,YACA,CAAA,uBACA,CAAA,UAGF,CAAA,sCjC7GI,oBAAA,CAAA,6BiC+GF,CAAA,YAGF,CAAA,+FGjJF,iBAEA,CAAA,6GACE,wBACA,CAAA,eACA,CAAA,UACA,CAAA,aACA,CAAA,iBAQE,CAAA,aACA,CAAA,SACA,CAAA,UACA,CAAA,cAEA,CAAA,CAAA,mDAlBJ,6GAmBM,2B3DlBJ,CAAA,CAAA,gCwDoJA,gIAEE,YAGF,CAAA,qCACE,UAIF,CAAA,uDACE,iBAEA,CAAA,yE3BtKJ,iBC8BI,CAAA,O0B6IF,CAAA,+BAMA,KAAA,CAAA,CAAA,wDACE,YACA,CAAA,qBxD9KF,CAAA,gCwD4KA,wDAKI,aACA,CAAA,WACA,CAAA,kBxDnLJ,CwDuLA,4EAEI,exDzLJ,CwDkMJ,sBAEI,aAEA,CAAA,4HGzMF,iBAEA,CAAA,0IACE,wBACA,CAAA,eACA,CAAA,UACA,CAAA,aACA,CAAA,iBAQE,CAAA,aACA,CAAA,SACA,CAAA,UACA,CAAA,QAEA,C3DjBF,C2DiBE,mDAlBJ,0IAmBM,2B3DlBJ,CAAA,CAAA,gCwD4MA,sIAEE,YxD9MF,CwDkNF,gCAEI,iBACA,CAAA,oBACA,CAAA,axDtNF,CwD0NF,kC3DpNE,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBoC8NE,CAAA,aACA,CAAA,WACA,CAAA,axD/NF,CAAA,CAAA,qDwD0NF,kCpC5NE,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCwDmOF,+BAEI,4BACA,CAAA,SACA,CAAA,UxDvOF,CwD2OF,sC3DrOE,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBoC+OE,CAAA,iBxD9OF,CAAA,CAAA,qDwD2OF,sCpC7OE,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCwDkPF,wCAGI,iBCxQJ,CAAA,+CACE,UACA,CAAA,UACA,CAAA,azDgBA,CwDyPF,qCpCxPE,mBACA,CAAA,gBpBFA,CwDgQA,uDAEI,mBxDlQJ,CwDuQF,qDAGI,MAAA,CAAA,iBACA,CAAA,kBAOJ,CxDlRE,CwDkRF,yFhEpSA,iBACA,CAAA,WACA,CAAA,UoE+BA,CAAA,uBAIE,a5DnBA,CAAA,gC4DeF,uBrCaM,WqCHF,CAAA,gDxC3BF,kBACA,CAAA,mBwC+BE,CAAA,4DACE,cAEF,CAAA,2DACE,e5DlCJ,C4DwCJ,+BxC1CI,cACA,CAAA,eAEA,CAAA,mBACA,CAAA,gBwC0CA,CAAA,SACA,CAAA,OACA,CAAA,U5D9CA,CjBpBJ,6E+CoCM,Q8B7BJ,CAAA,KAAA,CAAA,wBACA,CAAA,UACA,CAAA,aACA,CAAA,iBAkBE,CAAA,8BAmDE,EAVJ,A7ErEF,uC6EwEM,U5DpDF,C4DwDF,sCAGI,S5D3DF,C4DiEF,yH9BjDI,Q8B7BJ,CAAA,KAAA,CAAA,wBACA,CAAA,UACA,CAAA,aACA,CAAA,iBAoBE,CAAA,wB5DVA,C6DlBJ,mBhEwBI,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBqClBF,CAAA,0BACE,UACA,CAAA,UACA,CAAA,azDgBA,CAAA,CAAA,qD6DlBJ,mBzCgBI,iBACA,CAAA,kB0CjBJ,CAAA,CAAA,YAEE,W9D8CE,CAAA,mC8DhDJ,YvC8CQ,kBuCxCJ,CAAA,+BACA,CAAA,Y9DWA,CAAA,CAAA,gC8DlBJ,YAWI,kBACA,CAAA,oBACA,CAAA,WCVJ,CAAA,ChFLA,0FFyCE,gFACA,CAAA,gB8C3BA,EoCVF,AhFLA,UDiBE,eiFTA,CAAA,qCACA,CAAA,0BACA,CAAA,qBACA,CAAA,UAEA,CAAA,0BACE,iB3COA,CAAA,mBACA,CAAA,gB2CHJ,CAAA,mBACE,wBACA,CAAA,Y/DDE,CAAA,gC+DDJ,mBAKI,eAIJ,CAAA,CAAA,mBlESI,eACA,CAAA,YCCF,CAAA,UjBEA,CAAA,wEACA,CAAA,iBCzBA,CiBKA,egEQA,CAAA,aACA,CAAA,ejEcA,CAAA,qBACE,gBAGF,CAAA,qBACE,ciEhBJ,CAAA,wBACE,UACA,CAAA,aCTA,CAAA,enFcA,gFACA,CAAA,iBCzBA,CAAA,eeoBE,CAAA,eACA,CAAA,YYjCF,CAAA,oBACA,CAAA,ckBSA,CAAA,clBPA,CuDyBA,qBACE,YACA,CAAA,iBAEA,CAAA,+FACE,kBAXJ,CAAA,0BnFcA,gFACA,CAAA,iBCzBA,CAAA,eeoBE,CAAA,eACA,CAAA,YYjCF,CAAA,oBACA,CAAA,ckBSA,CAAA,clBPA,CuDyBA,gCACE,YACA,CAAA,iBAEA,CAaM,mDACE,aADF,CAAA,wIACE,aADF,CAAA,gDACE,aADF,CAAA,0CACE,aADF,CAAA,+CACE,aADF,CAAA,iDACE,aADF,CAAA,kDACE,aADF,CAAA,qDACE,aADF,CAAA,mDACE,aADF,CAAA,6CACE,aADF,CAAA,mDACE,aADF,CAAA,kDACE,aADF,CAAA,oDACE,aADF,CAAA,uDACE,aADF,CAAA,qDACE,aADF,CAAA,+CACE,aADF,CAAA,qDACE,aADF,CAAA,oDACE,aADF,CAAA,sDACE,aADF,CAAA,yDACE,aADF,CAAA,uDACE,aADF,CAAA,iDACE,aADF,CAAA,sDACE,aADF,CAAA,wDACE,aADF,CAAA,yDACE,aADF,CAAA,uDACE,aADF,CAAA,iDACE,aADF,CAAA,sDACE,aADF,CAAA,wDACE,aADF,CAAA,mDACE,aADF,CAAA,iDACE,aADF,CAAA,2CACE,aADF,CAAA,gDACE,aADF,CAAA,kDACE,aADF,CAAA,qDACE,aADF,CAAA,mDACE,aADF,CAAA,6CACE,aADF,CAAA,kDACE,aADF,CAAA,oDACE,aADF,CAAA,qDACE,aADF,CAAA,mDACE,aADF,CAAA,6CACE,aADF,CAAA,kDACE,aADF,CAAA,oDACE,aADF,CAAA,kDACE,aADF,CAAA,gDACE,aADF,CAAA,8KACE,aADF,CAAA,+CACE,aADF,CAAA,iDACE,aADF,CAAA,sDACE,aADF,CAAA,oDACE,aADF,CAAA,8CACE,aADF,CAAA,mDACE,aADF,CAAA,qDACE,aADF,CAAA,+CACE,aADF,CAAA,oDACE,aASV,CAAA,+BAGE,aACA,CAAA,aAEA,CAAA,iBACA,CAAA,YAMF,CAAA,gFrC1DA,cqCkEF,CAAA,4CrClEE,cqC8FU,CAAA,0DAEE,eACA,CAAA,cAIJ,CAAA,mDrCrGR,cqCwGU,CAAA,gBAEA,CAAA,oBAGA,CAAA,yEnFnFV,wEACA,CAAA,gBmFmEU,CAAA,sDAEE,aACA,CAAA,YAIJ,CAAA,+CrCrGR,cqCwGU,CAAA,eAEA,CAAA,mBAGA,CAAA,qEnFnFV,wEACA,CAAA,gBmFmE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,CAAA,kBpBCA,CAAA,gCuEDF,0BnDDE,iBACA,CAAA,kBAAA,CAAA,CAAA,wBvBOA,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,gCuEDF,wBnDDE,iBACA,CAAA,kBAAA,CAAA,CAAA,2BvBOA,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,gCuEDF,2BnDDE,iBACA,CAAA,kBAAA,CAAA,CAAA,2BvBOA,gBACA,CAAA,iB6BZF,CAAA,iBNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,gCuEDF,2BnDDE,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuESE,2B1EHF,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuESE,2BnDXF,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,gC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,gCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,mC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,mCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,kC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,kCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,qC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,qCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,kC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,kCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,qC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,qCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,mC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,mCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,sC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,sCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,sC1EVJ,gBACA,CAAA,iB6BZF,CAAA,iBNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,sCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuESE,wB1EHF,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuESE,wBnDXF,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,6B1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,6BnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,gC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,gCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,+B1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,+BnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,kC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,kCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,+B1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,+BnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,kC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,kCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,gC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,gCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,mC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,mCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,mC1EVJ,gBACA,CAAA,iB6BZF,CAAA,iBNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,mCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuESE,yB1EHF,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuESE,yBnDXF,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,8B1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,8BnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,iC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,iCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,gC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,gCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,mC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,mCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,gC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,gCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,mC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,mCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,iC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,iCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,oC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,oCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,oC1EVJ,gBACA,CAAA,iB6BZF,CAAA,iBNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,oCnDlBJ,iBACA,CAAA,kBmD2BJ,CAAA,CAAA,UjD/BE,YCiCM,CAAA,cgDEN,CAAA,mB1ExBE,kBACA,CAAA,mB2BOF,CAAA,qBJhBE,kBACA,CAAA,mBpBCA,CAAA,gCuE8BF,mB1ExBE,iBACA,CAAA,kB2BiBA,CAAA,qBJ1BA,iBACA,CAAA,kBmDmCA,CAAA,CAAA,qB1E5BA,aACA,CAAA,c2BiCE,CAAA,uBJ1CF,cACA,CAAA,emDmCA,CAAA,uB1E5BA,gBACA,CAAA,iB2BiDE,CAAA,yBJ1DF,gBACA,CAAA,iBmDmCA,CAAA,sB1E5BA,gBACA,CAAA,iB2BiDE,CAAA,wBJ1DF,gBACA,CAAA,iBmDmCA,CAAA,qB1E5BA,mBACA,CAAA,oB2BiDE,CAAA,uBJ1DF,mBACA,CAAA,oBmDmCA,CAAA,qB1E5BA,kBACA,CAAA,mB2BiDE,CAAA,uBJ1DF,kBACA,CAAA,mBmDmCA,CAAA,qB1E5BA,mBACA,CAAA,oB2BiDE,CAAA,uBJ1DF,mBACA,CAAA,oBmDmCA,CAAA,qB1E5BA,iBACA,CAAA,kB2BiDE,CAAA,uBJ1DF,iBACA,CAAA,kBmDmCA,CAAA,qB1E5BA,oBACA,CAAA,qB2BiDE,CAAA,uBJ1DF,oBACA,CAAA,qBmDmCA,CAAA,qB1E5BA,mBACA,CAAA,oB2BiDE,CAAA,uBJ1DF,mBACA,CAAA,oBmDmCA,CAAA,sB1E5BA,gBACA,CAAA,iB2BiDE,CAAA,wBJ1DF,gBACA,CAAA,iBmDmCA,CAAA,sB1E5BA,kBACA,CAAA,mB2BiDE,CAAA,wBJ1DF,kBACA,CAAA,mBmDmCA,CAAA,sB1E5BA,mBACA,CAAA,oB2BiDE,CAAA,wBJ1DF,mBACA,CAAA,oBpBCA,CAAA,gCuE+CM,gC1EzCN,aACA,CAAA,c2BiCE,CAAA,kCJ1CF,cACA,CAAA,emDgDM,CAAA,kC1EzCN,gBACA,CAAA,iB2BiDE,CAAA,oCJ1DF,gBACA,CAAA,iBmDgDM,CAAA,iC1EzCN,gBACA,CAAA,iB2BiDE,CAAA,mCJ1DF,gBACA,CAAA,iBmDgDM,CAAA,gC1EzCN,mBACA,CAAA,oB2BiDE,CAAA,kCJ1DF,mBACA,CAAA,oBmDgDM,CAAA,gC1EzCN,kBACA,CAAA,mB2BiDE,CAAA,kCJ1DF,kBACA,CAAA,mBmDgDM,CAAA,gC1EzCN,mBACA,CAAA,oB2BiDE,CAAA,kCJ1DF,mBACA,CAAA,oBmDgDM,CAAA,gC1EzCN,iBACA,CAAA,kB2BiDE,CAAA,kCJ1DF,iBACA,CAAA,kBmDgDM,CAAA,gC1EzCN,oBACA,CAAA,qB2BiDE,CAAA,kCJ1DF,oBACA,CAAA,qBmDgDM,CAAA,gC1EzCN,mBACA,CAAA,oB2BiDE,CAAA,kCJ1DF,mBACA,CAAA,oBmDgDM,CAAA,iC1EzCN,gBACA,CAAA,iB2BiDE,CAAA,mCJ1DF,gBACA,CAAA,iBmDgDM,CAAA,iC1EzCN,kBACA,CAAA,mB2BiDE,CAAA,mCJ1DF,kBACA,CAAA,mBmDgDM,CAAA,iC1EzCN,mBACA,CAAA,oB2BiDE,CAAA,mCJ1DF,mBACA,CAAA,oBpBCA,CAAA,CAAA,gCuE+CM,6B1EzCN,aACA,CAAA,c2BiCE,CAAA,+BJ1CF,cACA,CAAA,emDgDM,CAAA,+B1EzCN,gBACA,CAAA,iB2BiDE,CAAA,iCJ1DF,gBACA,CAAA,iBmDgDM,CAAA,8B1EzCN,gBACA,CAAA,iB2BiDE,CAAA,gCJ1DF,gBACA,CAAA,iBmDgDM,CAAA,6B1EzCN,mBACA,CAAA,oB2BiDE,CAAA,+BJ1DF,mBACA,CAAA,oBmDgDM,CAAA,6B1EzCN,kBACA,CAAA,mB2BiDE,CAAA,+BJ1DF,kBACA,CAAA,mBmDgDM,CAAA,6B1EzCN,mBACA,CAAA,oB2BiDE,CAAA,+BJ1DF,mBACA,CAAA,oBmDgDM,CAAA,6B1EzCN,iBACA,CAAA,kB2BiDE,CAAA,+BJ1DF,iBACA,CAAA,kBmDgDM,CAAA,6B1EzCN,oBACA,CAAA,qB2BiDE,CAAA,+BJ1DF,oBACA,CAAA,qBmDgDM,CAAA,6B1EzCN,mBACA,CAAA,oB2BiDE,CAAA,+BJ1DF,mBACA,CAAA,oBmDgDM,CAAA,8B1EzCN,gBACA,CAAA,iB2BiDE,CAAA,gCJ1DF,gBACA,CAAA,iBmDgDM,CAAA,8B1EzCN,kBACA,CAAA,mB2BiDE,CAAA,gCJ1DF,kBACA,CAAA,mBmDgDM,CAAA,8B1EzCN,mBACA,CAAA,oB2BiDE,CAAA,gCJ1DF,mBACA,CAAA,oBpBCA,CAAA,CAAA,gCuE+CM,8B1EzCN,aACA,CAAA,c2BiCE,CAAA,gCJ1CF,cACA,CAAA,emDgDM,CAAA,gC1EzCN,gBACA,CAAA,iB2BiDE,CAAA,kCJ1DF,gBACA,CAAA,iBmDgDM,CAAA,+B1EzCN,gBACA,CAAA,iB2BiDE,CAAA,iCJ1DF,gBACA,CAAA,iBmDgDM,CAAA,8B1EzCN,mBACA,CAAA,oB2BiDE,CAAA,gCJ1DF,mBACA,CAAA,oBmDgDM,CAAA,8B1EzCN,kBACA,CAAA,mB2BiDE,CAAA,gCJ1DF,kBACA,CAAA,mBmDgDM,CAAA,8B1EzCN,mBACA,CAAA,oB2BiDE,CAAA,gCJ1DF,mBACA,CAAA,oBmDgDM,CAAA,8B1EzCN,iBACA,CAAA,kB2BiDE,CAAA,gCJ1DF,iBACA,CAAA,kBmDgDM,CAAA,8B1EzCN,oBACA,CAAA,qB2BiDE,CAAA,gCJ1DF,oBACA,CAAA,qBmDgDM,CAAA,8B1EzCN,mBACA,CAAA,oB2BiDE,CAAA,gCJ1DF,mBACA,CAAA,oBmDgDM,CAAA,+B1EzCN,gBACA,CAAA,iB2BiDE,CAAA,iCJ1DF,gBACA,CAAA,iBmDgDM,CAAA,+B1EzCN,kBACA,CAAA,mB2BiDE,CAAA,iCJ1DF,kBACA,CAAA,mBmDgDM,CAAA,+B1EzCN,mBACA,CAAA,oB2BiDE,CAAA,iCJ1DF,mBACA,CAAA,oBmD2DJ,CAAA,CAAA,kB1C/DE,iBAAA,CAAA,U0CkEA,CAAA,qBAGF,CAAA,UhDpCQ,WEjCN,CAAA,UAAA,CAAA,cD4FI,CAAA,a+ClBN,CAAA,8BhDzCQ,aEjCN,CAAA,UAAA,CAAA,c8C+EF,CAAA,ehD9CQ,WEjCN,CD4FI,a+CNJ,CAAA,wBhDrDM,aEjCN,CAAA,mB8CsFA,CAAA,Y9CtFA,oB8CsFA,CAAA,wBhDrDM,aEjCN,CAAA,S8CsFA,CAAA,Y9CtFA,oB8CsFA,CAAA,wBhDrDM,aEjCN,CAAA,oB8CsFA,CAAA,Y9CtFA,S8CsFA,CAAA,wBhDrDM,aEjCN,CAAA,oB8CsFA,CAAA,Y9CtFA,oB8CsFA,CAAA,yBhDrDM,aEjCN,CAAA,S8CsFA,CAAA,a9CtFA,oB8CsFA,CAAA,0BhDrDM,aEjCN,CAAA,oB8CsFA,CAAA,a9CtFA,UzBKE,CAAA,gCuE2FE,+ChD/DE,WEjCN,CAAA,UAAA,CAAA,cD4FI,CAAA,a+CQA,CAIA,0BhDvEE,aEjCN,CAAA,UAAA,CAAA,c8C8GM,CAAA,uBhD7EA,aEjCN,CAAA,mB8C8GM,CAAA,uBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,uBhD7EA,aEjCN,CAAA,S8C8GM,CAAA,uBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,uBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,uBhD7EA,aEjCN,CAAA,S8C8GM,CAAA,uBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,uBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,uBhD7EA,aEjCN,CAAA,S8C8GM,CAAA,wBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,wBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,wBhD7EA,aEjCN,CAAA,UzBKE,CAAA,CAAA,gCuE2FE,yChD/DE,WEjCN,CAAA,UAAA,CAAA,cD4FI,CAAA,a+CQA,CAIA,uBhDvEE,aEjCN,CAAA,UAAA,CAAA,c8C8GM,CAAA,oBhD7EA,aEjCN,CAAA,mB8C8GM,CAAA,oBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,oBhD7EA,aEjCN,CAAA,S8C8GM,CAAA,oBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,oBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,oBhD7EA,aEjCN,CAAA,S8C8GM,CAAA,oBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,oBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,oBhD7EA,aEjCN,CAAA,S8C8GM,CAAA,qBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,qBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,qBhD7EA,aEjCN,CAAA,UzBKE,CAAA,CAAA,gCuE2FE,2ChD/DE,WEjCN,CAAA,UAAA,CAAA,cD4FI,CAAA,a+CQA,CAIA,wBhDvEE,aEjCN,CAAA,UAAA,CAAA,c8C8GM,CAAA,qBhD7EA,aEjCN,CAAA,mB8C8GM,CAAA,qBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,qBhD7EA,aEjCN,CAAA,S8C8GM,CAAA,qBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,qBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,qBhD7EA,aEjCN,CAAA,S8C8GM,CAAA,qBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,qBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,qBhD7EA,aEjCN,CAAA,S8C8GM,CAAA,sBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,sBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,sBhD7EA,aEjCN,CAAA,U8CyHA,CAAA,CAAA,e1E1DE,yB0E0DF,CAAA,e1E1DE,0B0E0DF,CAAA,e1E1DE,e0E0DF,CAAA,e1E1DE,0B0E0DF,CAAA,e1E1DE,0B0E0DF,CAAA,e1E1DE,e0E0DF,CAAA,e1E1DE,0B0E0DF,CAAA,e1E1DE,0B0E0DF,CAAA,e1E1DE,e0E0DF,CAAA,gB1E1DE,0B0E0DF,CAAA,gB1E1DE,0B0E0DF,CAAA,gB1E1DE,gB0E+DJ,CAAA,kB1E/DI,aG1DA,CAAA,gCuEmII,0B1EzEJ,yBG1DA,CuEmII,0B1EzEJ,0BG1DA,CuEmII,0B1EzEJ,eG1DA,CuEmII,0B1EzEJ,0BG1DA,CuEmII,0B1EzEJ,0BG1DA,CuEmII,0B1EzEJ,eG1DA,CuEmII,0B1EzEJ,0BG1DA,CuEmII,0B1EzEJ,0BG1DA,CuEmII,0B1EzEJ,eG1DA,CuEmII,2B1EzEJ,0BG1DA,CuEmII,2B1EzEJ,0BG1DA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","file":"styles.css","sourcesContent":["/*! based on uswds v3.11.0 */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;color:inherit}pre{font-family:monospace,monospace;font-size:1em}abbr[title]{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}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}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}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}.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 td,.usa-prose>table tfoot td,.usa-prose>table th{background-clip:padding-box;line-height:1.3;background-color:#dfe1e2;color:#1b1b1b}.usa-prose>table th,.usa-prose>table td{border:1px solid #1b1b1b;padding:.5rem 1rem}.usa-prose>table td{background-color:#fff;font-weight:normal}.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;width:auto;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;width:auto;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;width:auto;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 th,.usa-prose>.usa-table--borderless thead td,.usa-prose>.usa-table--borderless tfoot td{background-color:#fff}.usa-prose>.usa-table--borderless th{border-top:0;color:#1b1b1b}.usa-prose>.usa-table--borderless th[aria-sort]{color:#1b1b1b}.usa-prose>.usa-table--borderless th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon>g.unsorted{fill:#1b1b1b}.usa-prose>.usa-table--borderless 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{background-color:#f0f0f0;color:#1b1b1b}.usa-prose>.usa-table--striped tbody tr:nth-child(odd) td[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{background-color:#fff}.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{background-color:#fff}.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{background-color:#fff}.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{background-color:#fff}.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;width:auto;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;padding-bottom:1rem;padding-top:1rem;position:relative}.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 .usa-alert__body{padding-left:1.25rem;padding-right:1.25rem}.usa-alert .usa-alert__body::before{left:1.0833333333rem}*+.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;display:flex;flex-direction:column;justify-content:center;min-height:3.3333333333rem}.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;position:absolute;top:.6666666667rem}@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}}.usa-alert--success .usa-alert__body>*{margin-left:2.5rem}.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;display:flex;flex-direction:column;justify-content:center;min-height:3.3333333333rem}.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;position:absolute;top:.6666666667rem}@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}}.usa-alert--warning .usa-alert__body>*{margin-left:2.5rem}.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;display:flex;flex-direction:column;justify-content:center;min-height:3.3333333333rem}.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;position:absolute;top:.6666666667rem}@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}}.usa-alert--error .usa-alert__body>*{margin-left:2.5rem}.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;display:flex;flex-direction:column;justify-content:center;min-height:3.3333333333rem}.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;position:absolute;top:.6666666667rem}@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}}.usa-alert--info .usa-alert__body>*{margin-left:2.5rem}.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;display:flex;flex-direction:column;justify-content:center;min-height:3.3333333333rem}.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;position:absolute;top:.6666666667rem}@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}}.usa-alert--emergency .usa-alert__body>*{margin-left:2.5rem}.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;min-height:0}.usa-alert--slim .usa-alert__body:before{height:1.5rem;top:.5rem;width:1.5rem}@supports(mask: url(\"\")){.usa-alert--slim .usa-alert__body:before{mask-size:1.5rem}}.usa-alert--slim .usa-alert__body>*{margin-left:2rem}.usa-alert--slim .usa-alert__body::before{left:1.125rem}.usa-alert--no-icon .usa-alert__body{min-height:0}.usa-alert--no-icon .usa-alert__body:before{display:none}.usa-alert--no-icon .usa-alert__body>*{margin-left:0}.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;width:auto;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{padding-left:calc(2ex + 0px);text-indent:calc((2ex + 0px)*-1);display:inline-block;padding-bottom:1rem;padding-top:1rem}.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: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;width:auto;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;width:auto}.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}.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;padding-left:0;padding-right:0}@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;border:0;border-top:1px solid #a9aeb1;display:block}@media all and (min-width: 30em){.usa-footer__primary-link{padding-left:0;padding-right:0;border:none}}.usa-footer__primary-link--button{width:100%;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-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 :where(.usa-input,.usa-textarea,.usa-select,.usa-range){max-width:none}.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;width:auto;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}.usa-header .usa-search{margin-top:.5rem}@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;width:auto;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 .5rem .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}}.usa-nav .usa-search{margin-top:1rem}@media all and (min-width: 64em){.usa-nav .usa-search{margin-left:1rem;margin-top:0}}.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}.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;width:auto;position:relative;color:#565c65;font-weight:normal;line-height:1.1;padding:.75rem 1rem;text-decoration:none;width:100%}.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{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;width:auto;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}.usa-pagination__link[disabled]{opacity:.4 !important;pointer-events:none}.usa-pagination__link:hover,.usa-pagination__link:focus,.usa-pagination__link:active{color:#1a4480}.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;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}@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;padding-bottom:1rem;padding-top:1rem;position:relative}.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 .usa-alert .usa-alert__body{max-width:64rem;padding-left:1.25rem;padding-right:1.25rem}.usa-site-alert .usa-alert .usa-alert__body::before{left:1.0833333333rem}@media all and (min-width: 64em){.usa-site-alert .usa-alert .usa-alert__body{margin-left:auto;margin-right:auto;padding-left:1.75rem;padding-right:1.75rem}.usa-site-alert .usa-alert .usa-alert__body::before{left:1.5833333333rem}}.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;display:flex;flex-direction:column;justify-content:center;min-height:3.3333333333rem}.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;position:absolute;top:.6666666667rem}@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}}.usa-site-alert--info .usa-alert .usa-alert__body>*{margin-left:2.5rem}.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;display:flex;flex-direction:column;justify-content:center;min-height:3.3333333333rem}.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;position:absolute;top:.6666666667rem}@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}}.usa-site-alert--emergency .usa-alert .usa-alert__body>*{margin-left:2.5rem}.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;min-height:0}.usa-site-alert--slim .usa-alert .usa-alert__body:before{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}}.usa-site-alert--slim .usa-alert .usa-alert__body>*{margin-left:2rem}.usa-site-alert--slim .usa-alert .usa-alert__body::before{left:1.125rem}@media all and (min-width: 64em){.usa-site-alert--slim .usa-alert .usa-alert__body::before{left:1.625rem}}.usa-site-alert--no-icon .usa-alert .usa-alert__body{min-height:0}.usa-site-alert--no-icon .usa-alert .usa-alert__body:before{display:none}.usa-site-alert--no-icon .usa-alert .usa-alert__body>*{margin-left:0}.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 td,.usa-table tfoot td,.usa-table th{background-clip:padding-box;line-height:1.3;background-color:#dfe1e2;color:#1b1b1b}.usa-table th,.usa-table td{border:1px solid #1b1b1b;padding:.5rem 1rem}.usa-table td{background-color:#fff;font-weight:normal}.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;width:auto;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;width:auto;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;width:auto;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 th,.usa-table--borderless thead td,.usa-table--borderless tfoot td{background-color:#fff}.usa-table--borderless th{border-top:0;color:#1b1b1b}.usa-table--borderless th[aria-sort]{color:#1b1b1b}.usa-table--borderless th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon>g.unsorted{fill:#1b1b1b}.usa-table--borderless 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{background-color:#f0f0f0;color:#1b1b1b}.usa-table--striped tbody tr:nth-child(odd) td[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{background-color:#fff}.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{background-color:#fff}.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{background-color:#fff}.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{background-color:#fff}.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 tfoot td,.usa-table--sticky-header tfoot th{border-top:1px solid #1b1b1b;border-bottom: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 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--2xs,.usa-form .usa-input--2xs{max-width:5ex}.usa-input--xs,.usa-form .usa-input--xs{max-width:9ex}.usa-input--sm,.usa-form .usa-input--sm{max-width:13ex}.usa-input--small,.usa-form .usa-input--small{max-width:13ex}.usa-input--md,.usa-form .usa-input--md{max-width:20ex}.usa-input--medium,.usa-form .usa-input--medium{max-width:20ex}.usa-input--lg,.usa-form .usa-input--lg{max-width:30ex}.usa-input--xl,.usa-form .usa-input--xl{max-width:40ex}.usa-input--2xl,.usa-form .usa-input--2xl{max-width:50ex}.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-group--2xs,.usa-form .usa-input-group--2xs{max-width:5ex}.usa-input-group--xs,.usa-form .usa-input-group--xs{max-width:9ex}.usa-input-group--sm,.usa-form .usa-input-group--sm{max-width:13ex}.usa-input-group--small,.usa-form .usa-input-group--small{max-width:13ex}.usa-input-group--md,.usa-form .usa-input-group--md{max-width:20ex}.usa-input-group--medium,.usa-form .usa-input-group--medium{max-width:20ex}.usa-input-group--lg,.usa-form .usa-input-group--lg{max-width:30ex}.usa-input-group--xl,.usa-form .usa-input-group--xl{max-width:40ex}.usa-input-group--2xl,.usa-form .usa-input-group--2xl{max-width:50ex}.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}}","/* 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 * 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. Correct the inheritance of border color in Firefox.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n color: inherit; /* 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 * Add the correct text decoration in Safari.\n */\n\nabbr[title] {\n text-decoration: underline;\n text-decoration: underline dotted;\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/* 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 * Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\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 in Firefox.\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 * Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers.\n */\n\nlegend {\n padding: 0;\n}\n\n/**\n * Add the correct vertical alignment in Chrome and Firefox.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Safari.\n */\n\n::-webkit-inner-spin-button,\n::-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::-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 Chrome and Safari.\n */\n\nsummary {\n display: list-item;\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 margin-top: units(2);\n\n @include at-media($theme-header-min-width) {\n margin-left: units(2);\n margin-top: 0;\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\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 width: 100%;\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 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 \"../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\": map-collect(\n map-deep-get($system-properties, border-width, standard),\n map-deep-get($system-properties, border-width, extended)\n ),\n \"style\": 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","@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","// 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$our-breakpoints: map-deep-get($system-properties, breakpoints, standard);\n$custom-breakpoints: map-deep-get($system-properties, breakpoints, extended);\n\n@mixin at-media($bp) {\n $quoted-bp: smart-quote($bp);\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 if map.has-key($custom-breakpoints, $quoted-bp) {\n @if unit(map.get($custom-breakpoints, $quoted-bp)) == \"px\" {\n @if $theme-respect-user-font-size {\n $bp: px-to-user-em(map.get($custom-breakpoints, $quoted-bp));\n } @else {\n $bp: map.get($custom-breakpoints, $quoted-bp);\n }\n @media all and (min-width: #{$bp}) {\n @content;\n }\n } @else {\n @warn 'Custom breakpoint `#{$quoted-bp}` was defined with the unit #{unit(map.get($custom-breakpoints, $quoted-bp))} and can not be generated. Values for `$theme-utility-breakpoints-custom` must be set with `px` units.';\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 @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 @media all and (max-width: #{$bp}) {\n @content;\n }\n } @else if map.has-key($custom-breakpoints, $quoted-bp) {\n @if unit(map.get($custom-breakpoints, $quoted-bp)) == \"px\" {\n @if $theme-respect-user-font-size {\n $bp: px-to-user-em(map.get($custom-breakpoints, $quoted-bp)) - 0.01em;\n } @else {\n $bp: map.get($custom-breakpoints, $quoted-bp) - 1px;\n }\n @media all and (max-width: #{$bp}) {\n @content;\n }\n } @else {\n @warn 'Custom breakpoint `#{$quoted-bp}` has the unit #{unit(map.get($custom-breakpoints, $quoted-bp))} and can not be generated. Custom breakpoints must be set in px.';\n }\n } @else {\n @warn '`#{$bp}` is not a valid USWDS project breakpoint. Valid values: #{map-keys($our-breakpoints)}';\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 background-color: color($table-background-color);\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 td,\n tfoot td,\n th {\n background-clip: padding-box;\n line-height: line-height($theme-body-font-family, $theme-input-line-height);\n background-color: color($theme-table-header-background-color);\n color: $table-header-text-color;\n }\n\n th,\n td {\n border: 1px solid color($theme-table-border-color);\n padding: units(1) units(2);\n }\n\n td {\n background-color: color($table-background-color);\n font-weight: fw(\"normal\");\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 th,\n thead td,\n tfoot td {\n background-color: color($table-background-color);\n }\n\n th {\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 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 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 tfoot {\n td,\n th {\n border-top: 1px solid color($theme-table-border-color);\n border-bottom: 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 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///\n/// Removes button styles and adds link styles.\n/// Includes hover, active, disabled, and focus states for accessibility.\n///\n/// @example\n/// .my-unstyled-button {\n/// @include button-unstyled;\n/// }\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 width: auto;\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 \"../tokens/color/high-contrast-mode-colors\";\n@use \"../functions/utilities/color\" as *;\n\n$border-high-contrast: 2px solid transparent;\n$border-high-contrast-disabled: 2px solid color(GrayText);\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 .usa-alert__body {\n @include u-padding-x($theme-alert-padding-x);\n\n &::before {\n left: calc(\n units($theme-alert-padding-x) + $alert-icon-optical-adjust-left\n );\n }\n }\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 .usa-alert__body::before {\n left: calc(\n units($theme-alert-padding-x) + $alert-slim-icon-optical-adjust-left\n );\n }\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@use \"../../settings\" as *;\n@use \"../../functions\" 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$alert-icon-gap: 1;\n$alert-slim-icon-size: 3;\n$alert-slim-icon-padding: 1;\n\n// Optical adjustment for icons\n// Adjusts the position to accommodate the 1/12 empty space built into the icon SVGs\n$alert-icon-optical-adjust-top: calc(\n units($theme-alert-padding-y) - units($theme-alert-icon-size) / 6\n);\n$alert-icon-optical-adjust-left: calc(units($theme-alert-icon-size) * -1 / 12);\n$alert-slim-icon-optical-adjust-left: calc(\n units($alert-slim-icon-size) * -1 / 12\n);\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-padding-y($theme-alert-padding-y);\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 display: flex;\n flex-direction: column;\n justify-content: center;\n min-height: calc(\n units($theme-alert-icon-size) + $alert-icon-optical-adjust-top * 2\n );\n\n > * {\n margin-left: calc(units($theme-alert-icon-size) + units($alert-icon-gap));\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 position: absolute;\n top: $alert-icon-optical-adjust-top;\n }\n}\n\n// Variant - no icon\n@mixin alert-styles-no-icon {\n .usa-alert__body {\n min-height: 0;\n\n &:before {\n display: none;\n }\n\n > * {\n margin-left: 0;\n }\n }\n}\n\n// Variant - slim\n@mixin add-slim-alert-icon {\n &:before {\n @supports (mask: url(\"\")) {\n mask-size: units($alert-slim-icon-size);\n }\n height: units($alert-slim-icon-size);\n top: units($alert-slim-icon-padding);\n width: units($alert-slim-icon-size);\n }\n}\n\n@mixin alert-styles-slim {\n .usa-alert__body {\n @include u-padding-y($alert-slim-icon-padding);\n @include add-slim-alert-icon;\n min-height: 0;\n\n > * {\n margin-left: calc(units($alert-slim-icon-size) + units($alert-icon-gap));\n }\n }\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@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\": map-collect(\n map-deep-get($system-properties, \"align-items\", standard),\n map-deep-get($system-properties, \"align-items\", extended)\n ),\n \"align-self\": map-collect(\n map-deep-get($system-properties, \"align-self\", standard),\n map-deep-get($system-properties, \"align-self\", extended)\n ),\n \"flex\": map-collect(\n map-deep-get($system-properties, \"flex\", standard),\n map-deep-get($system-properties, \"flex\", extended)\n ),\n \"flex-direction\": map-collect(\n map-deep-get($system-properties, \"flex-direction\", standard),\n map-deep-get($system-properties, \"flex-direction\", extended)\n ),\n \"flex-wrap\": map-collect(\n map-deep-get($system-properties, \"flex-wrap\", standard),\n map-deep-get($system-properties, \"flex-wrap\", extended)\n ),\n \"justify-content\": 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 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// 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\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 \"../../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 \"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: 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: map-collect(\n map-deep-get($system-properties, \"font-style\", standard),\n map-deep-get($system-properties, \"font-style\", extended)\n ),\n font-weight: map-collect(\n map-deep-get($system-properties, \"font-weight\", standard),\n map-deep-get($system-properties, \"font-weight\", extended)\n ),\n letter-spacing: map-collect(\n map-deep-get($system-properties, \"letter-spacing\", standard),\n map-deep-get($system-properties, \"letter-spacing\", extended)\n ),\n text-align: map-collect(\n map-deep-get($system-properties, \"text-align\", standard),\n map-deep-get($system-properties, \"text-align\", extended)\n ),\n text-decoration: map-collect(\n map-deep-get($system-properties, \"text-decoration\", standard),\n map-deep-get($system-properties, \"text-decoration\", extended)\n ),\n text-transform: map-collect(\n map-deep-get($system-properties, \"text-transform\", standard),\n map-deep-get($system-properties, \"text-transform\", extended)\n ),\n vertical-align: map-collect(\n map-deep-get($system-properties, \"vertical-align\", standard),\n map-deep-get($system-properties, \"vertical-align\", extended)\n ),\n white-space: 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 exdent-icon;\n @include place-icon(\n $icon-breadcrumb-back,\n \"before\",\n 0,\n baseline,\n $theme-breadcrumb-background-color\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($theme-card-font-family);\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)} -\n #{units($theme-card-border-width)}\n );\n border-bottom-left-radius: calc(\n #{radius($theme-card-border-radius)} -\n #{units($theme-card-border-width)}\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)} -\n #{units($theme-card-border-width)}\n );\n border-bottom-right-radius: calc(\n #{radius($theme-card-border-radius)} -\n #{units($theme-card-border-width)}\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)\n #{$important};\n border-bottom-right-radius: get-uswds-value(\"border-radius\", $value)\n #{$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)\n #{$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)\n #{$important};\n border-top-right-radius: get-uswds-value(\"border-radius\", $value)\n #{$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)\n #{$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\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 @include u-padding-x(0);\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 // Border reset for button variants of footer primary links.\n border: 0;\n border-top: 1px solid color(\"base-light\");\n display: block;\n\n @include at-media(\"mobile-lg\") {\n @include u-padding-x(0);\n border: none;\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 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-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 // Clear max-width in children since .usa-form has one of its own.\n // Used :where() to reduce specificity and\n // prevent usa-form styles from overriding `usa-input--[width] and `usa-input-group--[width]` classes.\n :where(.usa-input, .usa-textarea, .usa-select, .usa-range) {\n max-width: none;\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 margin-top: units(1);\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(1) 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$custom-breakpoints: map-deep-get($system-properties, breakpoints, extended);\n$all-breakpoints: map-collect($system-breakpoints, $custom-breakpoints);\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 $all-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 $all-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 $all-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 $all-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 $all-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 $all-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\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 }\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 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\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$site-alert-padding-x-mobile: 2.5;\n$site-alert-padding-x: calc(\n units($theme-site-margins-width) - units($theme-alert-bar-width) / 2\n);\n\n.usa-site-alert {\n .usa-alert {\n @include alert-styles;\n\n .usa-alert__body {\n @include u-maxw($theme-site-alert-max-width);\n @include u-padding-x($site-alert-padding-x-mobile);\n\n &::before {\n left: calc(\n units($site-alert-padding-x-mobile) + $alert-icon-optical-adjust-left\n );\n }\n\n // Align content with site margins at desktop\n @include at-media($theme-site-margins-breakpoint) {\n @include u-margin-x(\"auto\");\n padding-left: $site-alert-padding-x;\n padding-right: $site-alert-padding-x;\n\n &::before {\n left: calc($site-alert-padding-x + $alert-icon-optical-adjust-left);\n }\n }\n }\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 .usa-alert__body::before {\n left: calc(\n units($site-alert-padding-x-mobile) + $alert-slim-icon-optical-adjust-left\n );\n\n @include at-media($theme-site-margins-breakpoint) {\n left: calc($site-alert-padding-x + $alert-slim-icon-optical-adjust-left);\n }\n }\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)} +\n #{units($step-indicator-label-margin-top)}\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)} -\n #{units($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)} +\n #{units($theme-step-indicator-segment-height)}\n ) /\n 2\n ) +\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)} -\n #{units($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)} +\n #{units($theme-step-indicator-segment-height)}\n ) /\n 2\n ) +\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// Create input max width utility classes\n@each $name, $width in $system-input-widths {\n .usa-input--#{$name},\n .usa-form .usa-input--#{$name} {\n max-width: #{$width};\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 add-label-styles;\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 \"../../settings\" as *;\n@use \"../../mixins/typography/typeset\" as *;\n@use \"../../functions/utilities/etc\" as *;\n@use \"../../functions/units/units\" as *;\n\n/// Applies consistent styles to form label and legend elements.\n@mixin add-label-styles() {\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","@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":35,"../../uswds-core/src/js/utils/behavior":40,"../../uswds-core/src/js/utils/select-or-matches":47}],29:[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":36,"../../uswds-core/src/js/utils/behavior":40,"../../uswds-core/src/js/utils/select":48,"receptor/ignore":8}],30:[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":35,"../../uswds-core/src/js/events":36,"../../uswds-core/src/js/utils/behavior":40,"receptor/once":11}],31:[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":35,"../../uswds-core/src/js/events":36,"../../uswds-core/src/js/utils/behavior":40,"../../uswds-core/src/js/utils/sanitizer":45,"../../uswds-core/src/js/utils/select":48}],32:[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":18,"../../uswds-core/src/js/config":35,"../../uswds-core/src/js/utils/behavior":40,"../../uswds-core/src/js/utils/select-or-matches":47}],33:[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":35,"../../uswds-core/src/js/utils/behavior":40,"../../uswds-core/src/js/utils/is-in-viewport":43,"../../uswds-core/src/js/utils/select-or-matches":47,"receptor/keymap":10}],34:[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":35,"../../uswds-core/src/js/utils/behavior":40,"../../uswds-core/src/js/utils/select-or-matches":47,"../../uswds-core/src/js/utils/validate-input":52}],35:[function(require,module,exports){ +"use strict"; + +module.exports = { + prefix: "usa" +}; + +},{}],36:[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" +}; + +},{}],37:[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":13,"../../../usa-accordion/src/index":14,"../../../usa-banner/src/index":15,"../../../usa-button/src/index":16,"../../../usa-character-count/src/index":17,"../../../usa-combo-box/src/index":18,"../../../usa-date-picker/src/index":19,"../../../usa-date-range-picker/src/index":20,"../../../usa-file-input/src/index":21,"../../../usa-footer/src/index":22,"../../../usa-header/src/index":23,"../../../usa-in-page-navigation/src/index":24,"../../../usa-input-mask/src/index":25,"../../../usa-language-selector/src/index":26,"../../../usa-modal/src/index":27,"../../../usa-range/src/index":28,"../../../usa-search/src/index":29,"../../../usa-skipnav/src/index":30,"../../../usa-table/src/index":31,"../../../usa-time-picker/src/index":32,"../../../usa-tooltip/src/index":33,"../../../usa-validation/src/index":34}],38:[function(require,module,exports){ +"use strict"; + +window.uswdsPresent = true; // GLOBAL variable to indicate that the uswds.js has loaded in the DOM. + +const uswds = require("./config"); +const components = require("./index"); +uswds.components = components; +const initComponents = () => { + const target = document.body; + Object.keys(components).forEach(key => { + const behavior = components[key]; + behavior.on(target); + }); +}; +if (document.readyState === "loading") { + document.addEventListener("DOMContentLoaded", initComponents, { + once: true + }); +} else { + initComponents(); +} +exports.default = uswds; +exports.initComponents = initComponents; + +},{"./config":35,"./index":37}],39:[function(require,module,exports){ +"use strict"; + +module.exports = (htmlDocument = document) => htmlDocument.activeElement; + +},{}],40:[function(require,module,exports){ +"use strict"; + +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, { + on: sequence("init", "add"), + off: sequence("teardown", "remove"), + ...props +}); + +},{"receptor/behavior":4}],41:[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); + }; +}; + +},{}],42:[function(require,module,exports){ +"use strict"; + +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({ + 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":39,"./behavior":40,"./select":48,"receptor":9}],43:[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; + +},{}],44:[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; + +},{}],45:[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; +}); + +},{}],46:[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; +}; + +},{}],47:[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":48}],48:[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); +}; + +},{}],49:[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"); +}; + +},{}],50:[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":49,"resolve-id-refs":12}],51:[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; +}; + +},{}],52:[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":35,"./debounce":41}]},{},[38]) +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJub2RlX21vZHVsZXMvZWxlbWVudC1jbG9zZXN0L2VsZW1lbnQtY2xvc2VzdC5qcyIsIm5vZGVfbW9kdWxlcy9rZXlib2FyZGV2ZW50LWtleS1wb2x5ZmlsbC9pbmRleC5qcyIsIm5vZGVfbW9kdWxlcy9vYmplY3QtYXNzaWduL2luZGV4LmpzIiwibm9kZV9tb2R1bGVzL3JlY2VwdG9yL2JlaGF2aW9yL2luZGV4LmpzIiwibm9kZV9tb2R1bGVzL3JlY2VwdG9yL2NvbXBvc2UvaW5kZXguanMiLCJub2RlX21vZHVsZXMvcmVjZXB0b3IvZGVsZWdhdGUvaW5kZXguanMiLCJub2RlX21vZHVsZXMvcmVjZXB0b3IvZGVsZWdhdGVBbGwvaW5kZXguanMiLCJub2RlX21vZHVsZXMvcmVjZXB0b3IvaWdub3JlL2luZGV4LmpzIiwibm9kZV9tb2R1bGVzL3JlY2VwdG9yL2luZGV4LmpzIiwibm9kZV9tb2R1bGVzL3JlY2VwdG9yL2tleW1hcC9pbmRleC5qcyIsIm5vZGVfbW9kdWxlcy9yZWNlcHRvci9vbmNlL2luZGV4LmpzIiwibm9kZV9tb2R1bGVzL3Jlc29sdmUtaWQtcmVmcy9pbmRleC5qcyIsInBhY2thZ2VzL191c2EtcGFzc3dvcmQvc3JjL2luZGV4LmpzIiwicGFja2FnZXMvdXNhLWFjY29yZGlvbi9zcmMvaW5kZXguanMiLCJwYWNrYWdlcy91c2EtYmFubmVyL3NyYy9pbmRleC5qcyIsInBhY2thZ2VzL3VzYS1idXR0b24vc3JjL2luZGV4LmpzIiwicGFja2FnZXMvdXNhLWNoYXJhY3Rlci1jb3VudC9zcmMvaW5kZXguanMiLCJwYWNrYWdlcy91c2EtY29tYm8tYm94L3NyYy9pbmRleC5qcyIsInBhY2thZ2VzL3VzYS1kYXRlLXBpY2tlci9zcmMvaW5kZXguanMiLCJwYWNrYWdlcy91c2EtZGF0ZS1yYW5nZS1waWNrZXIvc3JjL2luZGV4LmpzIiwicGFja2FnZXMvdXNhLWZpbGUtaW5wdXQvc3JjL2luZGV4LmpzIiwicGFja2FnZXMvdXNhLWZvb3Rlci9zcmMvaW5kZXguanMiLCJwYWNrYWdlcy91c2EtaGVhZGVyL3NyYy9pbmRleC5qcyIsInBhY2thZ2VzL3VzYS1pbi1wYWdlLW5hdmlnYXRpb24vc3JjL2luZGV4LmpzIiwicGFja2FnZXMvdXNhLWlucHV0LW1hc2svc3JjL2luZGV4LmpzIiwicGFja2FnZXMvdXNhLWxhbmd1YWdlLXNlbGVjdG9yL3NyYy9pbmRleC5qcyIsInBhY2thZ2VzL3VzYS1tb2RhbC9zcmMvaW5kZXguanMiLCJwYWNrYWdlcy91c2EtcmFuZ2Uvc3JjL2luZGV4LmpzIiwicGFja2FnZXMvdXNhLXNlYXJjaC9zcmMvaW5kZXguanMiLCJwYWNrYWdlcy91c2Etc2tpcG5hdi9zcmMvaW5kZXguanMiLCJwYWNrYWdlcy91c2EtdGFibGUvc3JjL2luZGV4LmpzIiwicGFja2FnZXMvdXNhLXRpbWUtcGlja2VyL3NyYy9pbmRleC5qcyIsInBhY2thZ2VzL3VzYS10b29sdGlwL3NyYy9pbmRleC5qcyIsInBhY2thZ2VzL3VzYS12YWxpZGF0aW9uL3NyYy9pbmRleC5qcyIsInBhY2thZ2VzL3Vzd2RzLWNvcmUvc3JjL2pzL2NvbmZpZy5qcyIsInBhY2thZ2VzL3Vzd2RzLWNvcmUvc3JjL2pzL2V2ZW50cy5qcyIsInBhY2thZ2VzL3Vzd2RzLWNvcmUvc3JjL2pzL2luZGV4LmpzIiwicGFja2FnZXMvdXN3ZHMtY29yZS9zcmMvanMvc3RhcnQuanMiLCJwYWNrYWdlcy91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9hY3RpdmUtZWxlbWVudC5qcyIsInBhY2thZ2VzL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2JlaGF2aW9yLmpzIiwicGFja2FnZXMvdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvZGVib3VuY2UuanMiLCJwYWNrYWdlcy91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9mb2N1cy10cmFwLmpzIiwicGFja2FnZXMvdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvaXMtaW4tdmlld3BvcnQuanMiLCJwYWNrYWdlcy91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9pcy1pb3MtZGV2aWNlLmpzIiwicGFja2FnZXMvdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvc2FuaXRpemVyLmpzIiwicGFja2FnZXMvdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvc2Nyb2xsYmFyLXdpZHRoLmpzIiwicGFja2FnZXMvdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvc2VsZWN0LW9yLW1hdGNoZXMuanMiLCJwYWNrYWdlcy91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9zZWxlY3QuanMiLCJwYWNrYWdlcy91c3dkcy1jb3JlL3NyYy9qcy91dGlscy90b2dnbGUtZmllbGQtbWFzay5qcyIsInBhY2thZ2VzL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3RvZ2dsZS1mb3JtLWlucHV0LmpzIiwicGFja2FnZXMvdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvdG9nZ2xlLmpzIiwicGFja2FnZXMvdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvdmFsaWRhdGUtaW5wdXQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztBQ0FBOztBQUVBLENBQUMsVUFBVSxZQUFZLEVBQUU7RUFDeEIsSUFBSSxPQUFPLFlBQVksQ0FBQyxPQUFPLEtBQUssVUFBVSxFQUFFO0lBQy9DLFlBQVksQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDLGlCQUFpQixJQUFJLFlBQVksQ0FBQyxrQkFBa0IsSUFBSSxZQUFZLENBQUMscUJBQXFCLElBQUksU0FBUyxPQUFPLENBQUMsUUFBUSxFQUFFO01BQzVKLElBQUksT0FBTyxHQUFHLElBQUk7TUFDbEIsSUFBSSxRQUFRLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsUUFBUSxDQUFDO01BQ3JGLElBQUksS0FBSyxHQUFHLENBQUM7TUFFYixPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUss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Q0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztFQUN6QyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQztFQUM1QyxPQUFPLE9BQU87QUFDaEIsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sS0FBSyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDOztBQUU1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsS0FBSyxPQUFPLENBQUMsS0FBSyxFQUFFLFFBQVEsR0FBRyxDQUFDLENBQUM7O0FBRWxFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxLQUFLLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLENBQUM7O0FBRWhFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sV0FBVyxHQUFJLEtBQUssSUFBSztFQUM3QixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7RUFDaEMsT0FBTyxPQUFPLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQztBQUNsQyxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxTQUFTLEdBQUksS0FBSyxJQUFLO0VBQzNCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztFQUNoQyxPQUFPLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztBQUN0QyxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxTQUFTLEdBQUcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxLQUFLO0VB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QUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRTtRQUN2RCxlQUFlLElBQUksY0FBYztNQUNuQyxDQUFDLE1BQU07UUFDTCxlQUFlLElBQUksZ0JBQWdCO01BQ3JDOztNQUVBO01BQ0EsaUJBQWlCLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUM7O01BRTdEO01BQ0EsYUFBYSxJQUFJLEdBQUcsZUFBZSxJQUFJOztNQUV2QztNQUNBLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxNQUFNO1FBQ3BDLHNCQUFzQixDQUFDLFdBQVcsR0FBRyxhQUFhO01BQ3BELENBQUMsRUFBRSxJQUFJLENBQUM7TUFFUixjQUFjLENBQUMsQ0FBQztJQUNsQjtFQUNGLENBQUMsQ0FBQztBQUNKLENBQUMiLCJmaWxlIjoiZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbigpe2Z1bmN0aW9uIHIoZSxuLHQpe2Z1bmN0aW9uIG8oaSxmKXtpZighbltpXSl7aWYoIWVbaV0pe3ZhciBjPVwiZnVuY3Rpb25cIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmU7aWYoIWYmJmMpcmV0dXJuIGMoaSwhMCk7aWYodSlyZXR1cm4gdShpLCEwKTt2YXIgYT1uZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGUgJ1wiK2krXCInXCIpO3Rocm93IGEuY29kZT1cIk1PRFVMRV9OT1RfRk9VTkRcIixhfXZhciBwPW5baV09e2V4cG9ydHM6e319O2VbaV1bMF0uY2FsbChwLmV4cG9ydHMsZnVuY3Rpb24ocil7dmFyIG49ZVtpXVsxXVtyXTtyZXR1cm4gbyhufHxyKX0scCxwLmV4cG9ydHMscixlLG4sdCl9cmV0dXJuIG5baV0uZXhwb3J0c31mb3IodmFyIHU9XCJmdW5jdGlvblwiPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZSxpPTA7aTx0Lmxlbmd0aDtpKyspbyh0W2ldKTtyZXR1cm4gb31yZXR1cm4gcn0pKCkiLCIvLyBlbGVtZW50LWNsb3Nlc3QgfCBDQzAtMS4wIHwgZ2l0aHViLmNvbS9qb25hdGhhbnRuZWFsL2Nsb3Nlc3RcblxuKGZ1bmN0aW9uIChFbGVtZW50UHJvdG8pIHtcblx0aWYgKHR5cGVvZiBFbGVtZW50UHJvdG8ubWF0Y2hlcyAhPT0gJ2Z1bmN0aW9uJykge1xuXHRcdEVsZW1lbnRQcm90by5tYXRjaGVzID0gRWxlbWVudFByb3RvLm1zTWF0Y2hlc1NlbGVjdG9yIHx8IEVsZW1lbnRQcm90by5tb3pNYXRjaGVzU2VsZWN0b3IgfHwgRWxlbWVudFByb3RvLndlYmtpdE1hdGNoZXNTZWxlY3RvciB8fCBmdW5jdGlvbiBtYXRjaGVzKHNlbGVjdG9yKSB7XG5cdFx0XHR2YXIgZWxlbWVudCA9IHRoaXM7XG5cdFx0XHR2YXIgZWxlbWVudHMgPSAoZWxlbWVudC5kb2N1bWVudCB8fCBlbGVtZW50Lm93bmVyRG9jdW1lbnQpLnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpO1xuXHRcdFx0dmFyIGluZGV4ID0gMDtcblxuXHRcdFx0d2hpbGUgKGVsZW1lbnRzW2luZGV4XSAmJiBlbGVtZW50c1tpbmRleF0gIT09IGVsZW1lbnQpIHtcblx0XHRcdFx0KytpbmRleDtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIEJvb2xlYW4oZWxlbWVudHNbaW5kZXhdKTtcblx0XHR9O1xuXHR9XG5cblx0aWYgKHR5cGVvZiBFbGVtZW50UHJvdG8uY2xvc2VzdCAhPT0gJ2Z1bmN0aW9uJykge1xuXHRcdEVsZW1lbnRQcm90by5jbG9zZXN0ID0gZnVuY3Rpb24gY2xvc2VzdChzZWxlY3Rvcikge1xuXHRcdFx0dmFyIGVsZW1lbnQgPSB0aGlzO1xuXG5cdFx0XHR3aGlsZSAoZWxlbWVudCAmJiBlbGVtZW50Lm5vZGVUeXBlID09PSAxKSB7XG5cdFx0XHRcdGlmIChlbGVtZW50Lm1hdGNoZXMoc2VsZWN0b3IpKSB7XG5cdFx0XHRcdFx0cmV0dXJuIGVsZW1lbnQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRlbGVtZW50ID0gZWxlbWVudC5wYXJlbnROb2RlO1xuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gbnVsbDtcblx0XHR9O1xuXHR9XG59KSh3aW5kb3cuRWxlbWVudC5wcm90b3R5cGUpO1xuIiwiLyogZ2xvYmFsIGRlZmluZSwgS2V5Ym9hcmRFdmVudCwgbW9kdWxlICovXG5cbihmdW5jdGlvbiAoKSB7XG5cbiAgdmFyIGtleWJvYXJkZXZlbnRLZXlQb2x5ZmlsbCA9IHtcbiAgICBwb2x5ZmlsbDogcG9seWZpbGwsXG4gICAga2V5czoge1xuICAgICAgMzogJ0NhbmNlbCcsXG4gICAgICA2OiAnSGVscCcsXG4gICAgICA4OiAnQmFja3NwYWNlJyxcbiAgICAgIDk6ICdUYWInLFxuICAgICAgMTI6ICdDbGVhcicsXG4gICAgICAxMzogJ0VudGVyJyxcbiAgICAgIDE2OiAnU2hpZnQnLFxuICAgICAgMTc6ICdDb250cm9sJyxcbiAgICAgIDE4OiAnQWx0JyxcbiAgICAgIDE5OiAnUGF1c2UnLFxuICAgICAgMjA6ICdDYXBzTG9jaycsXG4gICAgICAyNzogJ0VzY2FwZScsXG4gICAgICAyODogJ0NvbnZlcnQnLFxuICAgICAgMjk6ICdOb25Db252ZXJ0JyxcbiAgICAgIDMwOiAnQWNjZXB0JyxcbiAgICAgIDMxOiAnTW9kZUNoYW5nZScsXG4gICAgICAzMjogJyAnLFxuICAgICAgMzM6ICdQYWdlVXAnLFxuICAgICAgMzQ6ICdQYWdlRG93bicsXG4gICAgICAzNTogJ0VuZCcsXG4gICAgICAzNjogJ0hvbWUnLFxuICAgICAgMzc6ICdBcnJvd0xlZnQnLFxuICAgICAgMzg6ICdBcnJvd1VwJyxcbiAgICAgIDM5OiAnQXJyb3dSaWdodCcsXG4gICAgICA0MDogJ0Fycm93RG93bicsXG4gICAgICA0MTogJ1NlbGVjdCcsXG4gICAgICA0MjogJ1ByaW50JyxcbiAgICAgIDQzOiAnRXhlY3V0ZScsXG4gICAgICA0NDogJ1ByaW50U2NyZWVuJyxcbiAgICAgIDQ1OiAnSW5zZXJ0JyxcbiAgICAgIDQ2OiAnRGVsZXRlJyxcbiAgICAgIDQ4OiBbJzAnLCAnKSddLFxuICAgICAgNDk6IFsnMScsICchJ10sXG4gICAgICA1MDogWycyJywgJ0AnXSxcbiAgICAgIDUxOiBbJzMnLCAnIyddLFxuICAgICAgNTI6IFsnNCcsICckJ10sXG4gICAgICA1MzogWyc1JywgJyUnXSxcbiAgICAgIDU0OiBbJzYnLCAnXiddLFxuICAgICAgNTU6IFsnNycsICcmJ10sXG4gICAgICA1NjogWyc4JywgJyonXSxcbiAgICAgIDU3OiBbJzknLCAnKCddLFxuICAgICAgOTE6ICdPUycsXG4gICAgICA5MzogJ0NvbnRleHRNZW51JyxcbiAgICAgIDE0NDogJ051bUxvY2snLFxuICAgICAgMTQ1OiAnU2Nyb2xsTG9jaycsXG4gICAgICAxODE6ICdWb2x1bWVNdXRlJyxcbiAgICAgIDE4MjogJ1ZvbHVtZURvd24nLFxuICAgICAgMTgzOiAnVm9sdW1lVXAnLFxuICAgICAgMTg2OiBbJzsnLCAnOiddLFxuICAgICAgMTg3OiBbJz0nLCAnKyddLFxuICAgICAgMTg4OiBbJywnLCAnPCddLFxuICAgICAgMTg5OiBbJy0nLCAnXyddLFxuICAgICAgMTkwOiBbJy4nLCAnPiddLFxuICAgICAgMTkxOiBbJy8nLCAnPyddLFxuICAgICAgMTkyOiBbJ2AnLCAnfiddLFxuICAgICAgMjE5OiBbJ1snLCAneyddLFxuICAgICAgMjIwOiBbJ1xcXFwnLCAnfCddLFxuICAgICAgMjIxOiBbJ10nLCAnfSddLFxuICAgICAgMjIyOiBbXCInXCIsICdcIiddLFxuICAgICAgMjI0OiAnTWV0YScsXG4gICAgICAyMjU6ICdBbHRHcmFwaCcsXG4gICAgICAyNDY6ICdBdHRuJyxcbiAgICAgIDI0NzogJ0NyU2VsJyxcbiAgICAgIDI0ODogJ0V4U2VsJyxcbiAgICAgIDI0OTogJ0VyYXNlRW9mJyxcbiAgICAgIDI1MDogJ1BsYXknLFxuICAgICAgMjUxOiAnWm9vbU91dCdcbiAgICB9XG4gIH07XG5cbiAgLy8gRnVuY3Rpb24ga2V5cyAoRjEtMjQpLlxuICB2YXIgaTtcbiAgZm9yIChpID0gMTsgaSA8IDI1OyBpKyspIHtcbiAgICBrZXlib2FyZGV2ZW50S2V5UG9seWZpbGwua2V5c1sxMTEgKyBpXSA9ICdGJyArIGk7XG4gIH1cblxuICAvLyBQcmludGFibGUgQVNDSUkgY2hhcmFjdGVycy5cbiAgdmFyIGxldHRlciA9ICcnO1xuICBmb3IgKGkgPSA2NTsgaSA8IDkxOyBpKyspIHtcbiAgICBsZXR0ZXIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGkpO1xuICAgIGtleWJvYXJkZXZlbnRLZXlQb2x5ZmlsbC5rZXlzW2ldID0gW2xldHRlci50b0xvd2VyQ2FzZSgpLCBsZXR0ZXIudG9VcHBlckNhc2UoKV07XG4gIH1cblxuICBmdW5jdGlvbiBwb2x5ZmlsbCAoKSB7XG4gICAgaWYgKCEoJ0tleWJvYXJkRXZlbnQnIGluIHdpbmRvdykgfHxcbiAgICAgICAgJ2tleScgaW4gS2V5Ym9hcmRFdmVudC5wcm90b3R5cGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBQb2x5ZmlsbCBga2V5YCBvbiBgS2V5Ym9hcmRFdmVudGAuXG4gICAgdmFyIHByb3RvID0ge1xuICAgICAgZ2V0OiBmdW5jdGlvbiAoeCkge1xuICAgICAgICB2YXIga2V5ID0ga2V5Ym9hcmRldmVudEtleVBvbHlmaWxsLmtleXNbdGhpcy53aGljaCB8fCB0aGlzLmtleUNvZGVdO1xuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGtleSkpIHtcbiAgICAgICAgICBrZXkgPSBrZXlbK3RoaXMuc2hpZnRLZXldO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGtleTtcbiAgICAgIH1cbiAgICB9O1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShLZXlib2FyZEV2ZW50LnByb3RvdHlwZSwgJ2tleScsIHByb3RvKTtcbiAgICByZXR1cm4gcHJvdG87XG4gIH1cblxuICBpZiAodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKSB7XG4gICAgZGVmaW5lKCdrZXlib2FyZGV2ZW50LWtleS1wb2x5ZmlsbCcsIGtleWJvYXJkZXZlbnRLZXlQb2x5ZmlsbCk7XG4gIH0gZWxzZSBpZiAodHlwZW9mIGV4cG9ydHMgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgbW9kdWxlLmV4cG9ydHMgPSBrZXlib2FyZGV2ZW50S2V5UG9seWZpbGw7XG4gIH0gZWxzZSBpZiAod2luZG93KSB7XG4gICAgd2luZG93LmtleWJvYXJkZXZlbnRLZXlQb2x5ZmlsbCA9IGtleWJvYXJkZXZlbnRLZXlQb2x5ZmlsbDtcbiAgfVxuXG59KSgpO1xuIiwiLypcbm9iamVjdC1hc3NpZ25cbihjKSBTaW5kcmUgU29yaHVzXG5AbGljZW5zZSBNSVRcbiovXG5cbid1c2Ugc3RyaWN0Jztcbi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXG52YXIgZ2V0T3duUHJvcGVydHlTeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scztcbnZhciBoYXNPd25Qcm9wZXJ0eSA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG52YXIgcHJvcElzRW51bWVyYWJsZSA9IE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGU7XG5cbmZ1bmN0aW9uIHRvT2JqZWN0KHZhbCkge1xuXHRpZiAodmFsID09PSBudWxsIHx8IHZhbCA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcignT2JqZWN0LmFzc2lnbiBjYW5ub3QgYmUgY2FsbGVkIHdpdGggbnVsbCBvciB1bmRlZmluZWQnKTtcblx0fVxuXG5cdHJldHVybiBPYmplY3QodmFsKTtcbn1cblxuZnVuY3Rpb24gc2hvdWxkVXNlTmF0aXZlKCkge1xuXHR0cnkge1xuXHRcdGlmICghT2JqZWN0LmFzc2lnbikge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblxuXHRcdC8vIERldGVjdCBidWdneSBwcm9wZXJ0eSBlbnVtZXJhdGlvbiBvcmRlciBpbiBvbGRlciBWOCB2ZXJzaW9ucy5cblxuXHRcdC8vIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC92OC9pc3N1ZXMvZGV0YWlsP2lkPTQxMThcblx0XHR2YXIgdGVzdDEgPSBuZXcgU3RyaW5nKCdhYmMnKTsgIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tbmV3LXdyYXBwZXJzXG5cdFx0dGVzdDFbNV0gPSAnZGUnO1xuXHRcdGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0ZXN0MSlbMF0gPT09ICc1Jykge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblxuXHRcdC8vIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC92OC9pc3N1ZXMvZGV0YWlsP2lkPTMwNTZcblx0XHR2YXIgdGVzdDIgPSB7fTtcblx0XHRmb3IgKHZhciBpID0gMDsgaSA8IDEwOyBpKyspIHtcblx0XHRcdHRlc3QyWydfJyArIFN0cmluZy5mcm9tQ2hhckNvZGUoaSldID0gaTtcblx0XHR9XG5cdFx0dmFyIG9yZGVyMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRlc3QyKS5tYXAoZnVuY3Rpb24gKG4pIHtcblx0XHRcdHJldHVybiB0ZXN0MltuXTtcblx0XHR9KTtcblx0XHRpZiAob3JkZXIyLmpvaW4oJycpICE9PSAnMDEyMzQ1Njc4OScpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cblx0XHQvLyBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvdjgvaXNzdWVzL2RldGFpbD9pZD0zMDU2XG5cdFx0dmFyIHRlc3QzID0ge307XG5cdFx0J2FiY2RlZmdoaWprbG1ub3BxcnN0Jy5zcGxpdCgnJykuZm9yRWFjaChmdW5jdGlvbiAobGV0dGVyKSB7XG5cdFx0XHR0ZXN0M1tsZXR0ZXJdID0gbGV0dGVyO1xuXHRcdH0pO1xuXHRcdGlmIChPYmplY3Qua2V5cyhPYmplY3QuYXNzaWduKHt9LCB0ZXN0MykpLmpvaW4oJycpICE9PVxuXHRcdFx0XHQnYWJjZGVmZ2hpamtsbW5vcHFyc3QnKSB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRydWU7XG5cdH0gY2F0Y2ggKGVycikge1xuXHRcdC8vIFdlIGRvbid0IGV4cGVjdCBhbnkgb2YgdGhlIGFib3ZlIHRvIHRocm93LCBidXQgYmV0dGVyIHRvIGJlIHNhZmUuXG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gc2hvdWxkVXNlTmF0aXZlKCkgPyBPYmplY3QuYXNzaWduIDogZnVuY3Rpb24gKHRhcmdldCwgc291cmNlKSB7XG5cdHZhciBmcm9tO1xuXHR2YXIgdG8gPSB0b09iamVjdCh0YXJnZXQpO1xuXHR2YXIgc3ltYm9scztcblxuXHRmb3IgKHZhciBzID0gMTsgcyA8IGFyZ3VtZW50cy5sZW5ndGg7IHMrKykge1xuXHRcdGZyb20gPSBPYmplY3QoYXJndW1lbnRzW3NdKTtcblxuXHRcdGZvciAodmFyIGtleSBpbiBmcm9tKSB7XG5cdFx0XHRpZiAoaGFzT3duUHJvcGVydHkuY2FsbChmcm9tLCBrZXkpKSB7XG5cdFx0XHRcdHRvW2tleV0gPSBmcm9tW2tleV07XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKGdldE93blByb3BlcnR5U3ltYm9scykge1xuXHRcdFx0c3ltYm9scyA9IGdldE93blByb3BlcnR5U3ltYm9scyhmcm9tKTtcblx0XHRcdGZvciAodmFyIGkgPSAwOyBpIDwgc3ltYm9scy5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHRpZiAocHJvcElzRW51bWVyYWJsZS5jYWxsKGZyb20sIHN5bWJvbHNbaV0pKSB7XG5cdFx0XHRcdFx0dG9bc3ltYm9sc1tpXV0gPSBmcm9tW3N5bWJvbHNbaV1dO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIHRvO1xufTtcbiIsImNvbnN0IGFzc2lnbiA9IHJlcXVpcmUoJ29iamVjdC1hc3NpZ24nKTtcbmNvbnN0IGRlbGVnYXRlID0gcmVxdWlyZSgnLi4vZGVsZWdhdGUnKTtcbmNvbnN0IGRlbGVnYXRlQWxsID0gcmVxdWlyZSgnLi4vZGVsZWdhdGVBbGwnKTtcblxuY29uc3QgREVMRUdBVEVfUEFUVEVSTiA9IC9eKC4rKTpkZWxlZ2F0ZVxcKCguKylcXCkkLztcbmNvbnN0IFNQQUNFID0gJyAnO1xuXG5jb25zdCBnZXRMaXN0ZW5lcnMgPSBmdW5jdGlvbih0eXBlLCBoYW5kbGVyKSB7XG4gIHZhciBtYXRjaCA9IHR5cGUubWF0Y2goREVMRUdBVEVfUEFUVEVSTik7XG4gIHZhciBzZWxlY3RvcjtcbiAgaWYgKG1hdGNoKSB7XG4gICAgdHlwZSA9IG1hdGNoWzFdO1xuICAgIHNlbGVjdG9yID0gbWF0Y2hbMl07XG4gIH1cblxuICB2YXIgb3B0aW9ucztcbiAgaWYgKHR5cGVvZiBoYW5kbGVyID09PSAnb2JqZWN0Jykge1xuICAgIG9wdGlvbnMgPSB7XG4gICAgICBjYXB0dXJlOiBwb3BLZXkoaGFuZGxlciwgJ2NhcHR1cmUnKSxcbiAgICAgIHBhc3NpdmU6IHBvcEtleShoYW5kbGVyLCAncGFzc2l2ZScpXG4gICAgfTtcbiAgfVxuXG4gIHZhciBsaXN0ZW5lciA9IHtcbiAgICBzZWxlY3Rvcjogc2VsZWN0b3IsXG4gICAgZGVsZWdhdGU6ICh0eXBlb2YgaGFuZGxlciA9PT0gJ29iamVjdCcpXG4gICAgICA/IGRlbGVnYXRlQWxsKGhhbmRsZXIpXG4gICAgICA6IHNlbGVjdG9yXG4gICAgICAgID8gZGVsZWdhdGUoc2VsZWN0b3IsIGhhbmRsZXIpXG4gICAgICAgIDogaGFuZGxlcixcbiAgICBvcHRpb25zOiBvcHRpb25zXG4gIH07XG5cbiAgaWYgKHR5cGUuaW5kZXhPZihTUEFDRSkgPiAtMSkge1xuICAgIHJldHVybiB0eXBlLnNwbGl0KFNQQUNFKS5tYXAoZnVuY3Rpb24oX3R5cGUpIHtcbiAgICAgIHJldHVybiBhc3NpZ24oe3R5cGU6IF90eXBlfSwgbGlzdGVuZXIpO1xuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIGxpc3RlbmVyLnR5cGUgPSB0eXBlO1xuICAgIHJldHVybiBbbGlzdGVuZXJdO1xuICB9XG59O1xuXG52YXIgcG9wS2V5ID0gZnVuY3Rpb24ob2JqLCBrZXkpIHtcbiAgdmFyIHZhbHVlID0gb2JqW2tleV07XG4gIGRlbGV0ZSBvYmpba2V5XTtcbiAgcmV0dXJuIHZhbHVlO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBiZWhhdmlvcihldmVudHMsIHByb3BzKSB7XG4gIGNvbnN0IGxpc3RlbmVycyA9IE9iamVjdC5rZXlzKGV2ZW50cylcbiAgICAucmVkdWNlKGZ1bmN0aW9uKG1lbW8sIHR5cGUpIHtcbiAgICAgIHZhciBsaXN0ZW5lcnMgPSBnZXRMaXN0ZW5lcnModHlwZSwgZXZlbnRzW3R5cGVdKTtcbiAgICAgIHJldHVybiBtZW1vLmNvbmNhdChsaXN0ZW5lcnMpO1xuICAgIH0sIFtdKTtcblxuICByZXR1cm4gYXNzaWduKHtcbiAgICBhZGQ6IGZ1bmN0aW9uIGFkZEJlaGF2aW9yKGVsZW1lbnQpIHtcbiAgICAgIGxpc3RlbmVycy5mb3JFYWNoKGZ1bmN0aW9uKGxpc3RlbmVyKSB7XG4gICAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgICBsaXN0ZW5lci50eXBlLFxuICAgICAgICAgIGxpc3RlbmVyLmRlbGVnYXRlLFxuICAgICAgICAgIGxpc3RlbmVyLm9wdGlvbnNcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgcmVtb3ZlOiBmdW5jdGlvbiByZW1vdmVCZWhhdmlvcihlbGVtZW50KSB7XG4gICAgICBsaXN0ZW5lcnMuZm9yRWFjaChmdW5jdGlvbihsaXN0ZW5lcikge1xuICAgICAgICBlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXG4gICAgICAgICAgbGlzdGVuZXIudHlwZSxcbiAgICAgICAgICBsaXN0ZW5lci5kZWxlZ2F0ZSxcbiAgICAgICAgICBsaXN0ZW5lci5vcHRpb25zXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9XG4gIH0sIHByb3BzKTtcbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGNvbXBvc2UoZnVuY3Rpb25zKSB7XG4gIHJldHVybiBmdW5jdGlvbihlKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9ucy5zb21lKGZ1bmN0aW9uKGZuKSB7XG4gICAgICByZXR1cm4gZm4uY2FsbCh0aGlzLCBlKSA9PT0gZmFsc2U7XG4gICAgfSwgdGhpcyk7XG4gIH07XG59O1xuIiwiLy8gcG9seWZpbGwgRWxlbWVudC5wcm90b3R5cGUuY2xvc2VzdFxucmVxdWlyZSgnZWxlbWVudC1jbG9zZXN0Jyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gZGVsZWdhdGUoc2VsZWN0b3IsIGZuKSB7XG4gIHJldHVybiBmdW5jdGlvbiBkZWxlZ2F0aW9uKGV2ZW50KSB7XG4gICAgdmFyIHRhcmdldCA9IGV2ZW50LnRhcmdldC5jbG9zZXN0KHNlbGVjdG9yKTtcbiAgICBpZiAodGFyZ2V0KSB7XG4gICAgICByZXR1cm4gZm4uY2FsbCh0YXJnZXQsIGV2ZW50KTtcbiAgICB9XG4gIH1cbn07XG4iLCJjb25zdCBkZWxlZ2F0ZSA9IHJlcXVpcmUoJy4uL2RlbGVnYXRlJyk7XG5jb25zdCBjb21wb3NlID0gcmVxdWlyZSgnLi4vY29tcG9zZScpO1xuXG5jb25zdCBTUExBVCA9ICcqJztcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBkZWxlZ2F0ZUFsbChzZWxlY3RvcnMpIHtcbiAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHNlbGVjdG9ycylcblxuICAvLyBYWFggb3B0aW1pemF0aW9uOiBpZiB0aGVyZSBpcyBvbmx5IG9uZSBoYW5kbGVyIGFuZCBpdCBhcHBsaWVzIHRvXG4gIC8vIGFsbCBlbGVtZW50cyAodGhlIFwiKlwiIENTUyBzZWxlY3RvciksIHRoZW4ganVzdCByZXR1cm4gdGhhdFxuICAvLyBoYW5kbGVyXG4gIGlmIChrZXlzLmxlbmd0aCA9PT0gMSAmJiBrZXlzWzBdID09PSBTUExBVCkge1xuICAgIHJldHVybiBzZWxlY3RvcnNbU1BMQVRdO1xuICB9XG5cbiAgY29uc3QgZGVsZWdhdGVzID0ga2V5cy5yZWR1Y2UoZnVuY3Rpb24obWVtbywgc2VsZWN0b3IpIHtcbiAgICBtZW1vLnB1c2goZGVsZWdhdGUoc2VsZWN0b3IsIHNlbGVjdG9yc1tzZWxlY3Rvcl0pKTtcbiAgICByZXR1cm4gbWVtbztcbiAgfSwgW10pO1xuICByZXR1cm4gY29tcG9zZShkZWxlZ2F0ZXMpO1xufTtcbiIsIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gaWdub3JlKGVsZW1lbnQsIGZuKSB7XG4gIHJldHVybiBmdW5jdGlvbiBpZ25vcmFuY2UoZSkge1xuICAgIGlmIChlbGVtZW50ICE9PSBlLnRhcmdldCAmJiAhZWxlbWVudC5jb250YWlucyhlLnRhcmdldCkpIHtcbiAgICAgIHJldHVybiBmbi5jYWxsKHRoaXMsIGUpO1xuICAgIH1cbiAgfTtcbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9IHtcbiAgYmVoYXZpb3I6ICAgICByZXF1aXJlKCcuL2JlaGF2aW9yJyksXG4gIGRlbGVnYXRlOiAgICAgcmVxdWlyZSgnLi9kZWxlZ2F0ZScpLFxuICBkZWxlZ2F0ZUFsbDogIHJlcXVpcmUoJy4vZGVsZWdhdGVBbGwnKSxcbiAgaWdub3JlOiAgICAgICByZXF1aXJlKCcuL2lnbm9yZScpLFxuICBrZXltYXA6ICAgICAgIHJlcXVpcmUoJy4va2V5bWFwJyksXG59O1xuIiwicmVxdWlyZSgna2V5Ym9hcmRldmVudC1rZXktcG9seWZpbGwnKTtcblxuLy8gdGhlc2UgYXJlIHRoZSBvbmx5IHJlbGV2YW50IG1vZGlmaWVycyBzdXBwb3J0ZWQgb24gYWxsIHBsYXRmb3Jtcyxcbi8vIGFjY29yZGluZyB0byBNRE46XG4vLyA8aHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0tleWJvYXJkRXZlbnQvZ2V0TW9kaWZpZXJTdGF0ZT5cbmNvbnN0IE1PRElGSUVSUyA9IHtcbiAgJ0FsdCc6ICAgICAgJ2FsdEtleScsXG4gICdDb250cm9sJzogICdjdHJsS2V5JyxcbiAgJ0N0cmwnOiAgICAgJ2N0cmxLZXknLFxuICAnU2hpZnQnOiAgICAnc2hpZnRLZXknXG59O1xuXG5jb25zdCBNT0RJRklFUl9TRVBBUkFUT1IgPSAnKyc7XG5cbmNvbnN0IGdldEV2ZW50S2V5ID0gZnVuY3Rpb24oZXZlbnQsIGhhc01vZGlmaWVycykge1xuICB2YXIga2V5ID0gZXZlbnQua2V5O1xuICBpZiAoaGFzTW9kaWZpZXJzKSB7XG4gICAgZm9yICh2YXIgbW9kaWZpZXIgaW4gTU9ESUZJRVJTKSB7XG4gICAgICBpZiAoZXZlbnRbTU9ESUZJRVJTW21vZGlmaWVyXV0gPT09IHRydWUpIHtcbiAgICAgICAga2V5ID0gW21vZGlmaWVyLCBrZXldLmpvaW4oTU9ESUZJRVJfU0VQQVJBVE9SKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIGtleTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24ga2V5bWFwKGtleXMpIHtcbiAgY29uc3QgaGFzTW9kaWZpZXJzID0gT2JqZWN0LmtleXMoa2V5cykuc29tZShmdW5jdGlvbihrZXkpIHtcbiAgICByZXR1cm4ga2V5LmluZGV4T2YoTU9ESUZJRVJfU0VQQVJBVE9SKSA+IC0xO1xuICB9KTtcbiAgcmV0dXJuIGZ1bmN0aW9uKGV2ZW50KSB7XG4gICAgdmFyIGtleSA9IGdldEV2ZW50S2V5KGV2ZW50LCBoYXNNb2RpZmllcnMpO1xuICAgIHJldHVybiBba2V5LCBrZXkudG9Mb3dlckNhc2UoKV1cbiAgICAgIC5yZWR1Y2UoZnVuY3Rpb24ocmVzdWx0LCBfa2V5KSB7XG4gICAgICAgIGlmIChfa2V5IGluIGtleXMpIHtcbiAgICAgICAgICByZXN1bHQgPSBrZXlzW2tleV0uY2FsbCh0aGlzLCBldmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH0sIHVuZGVmaW5lZCk7XG4gIH07XG59O1xuXG5tb2R1bGUuZXhwb3J0cy5NT0RJRklFUlMgPSBNT0RJRklFUlM7XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIG9uY2UobGlzdGVuZXIsIG9wdGlvbnMpIHtcbiAgdmFyIHdyYXBwZWQgPSBmdW5jdGlvbiB3cmFwcGVkT25jZShlKSB7XG4gICAgZS5jdXJyZW50VGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoZS50eXBlLCB3cmFwcGVkLCBvcHRpb25zKTtcbiAgICByZXR1cm4gbGlzdGVuZXIuY2FsbCh0aGlzLCBlKTtcbiAgfTtcbiAgcmV0dXJuIHdyYXBwZWQ7XG59O1xuXG4iLCIndXNlIHN0cmljdCc7XG5cbnZhciBSRV9UUklNID0gLyheXFxzKyl8KFxccyskKS9nO1xudmFyIFJFX1NQTElUID0gL1xccysvO1xuXG52YXIgdHJpbSA9IFN0cmluZy5wcm90b3R5cGUudHJpbVxuICA/IGZ1bmN0aW9uKHN0cikgeyByZXR1cm4gc3RyLnRyaW0oKTsgfVxuICA6IGZ1bmN0aW9uKHN0cikgeyByZXR1cm4gc3RyLnJlcGxhY2UoUkVfVFJJTSwgJycpOyB9O1xuXG52YXIgcXVlcnlCeUlkID0gZnVuY3Rpb24oaWQpIHtcbiAgcmV0dXJuIHRoaXMucXVlcnlTZWxlY3RvcignW2lkPVwiJyArIGlkLnJlcGxhY2UoL1wiL2csICdcXFxcXCInKSArICdcIl0nKTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gcmVzb2x2ZUlkcyhpZHMsIGRvYykge1xuICBpZiAodHlwZW9mIGlkcyAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIGEgc3RyaW5nIGJ1dCBnb3QgJyArICh0eXBlb2YgaWRzKSk7XG4gIH1cblxuICBpZiAoIWRvYykge1xuICAgIGRvYyA9IHdpbmRvdy5kb2N1bWVudDtcbiAgfVxuXG4gIHZhciBnZXRFbGVtZW50QnlJZCA9IGRvYy5nZXRFbGVtZW50QnlJZFxuICAgID8gZG9jLmdldEVsZW1lbnRCeUlkLmJpbmQoZG9jKVxuICAgIDogcXVlcnlCeUlkLmJpbmQoZG9jKTtcblxuICBpZHMgPSB0cmltKGlkcykuc3BsaXQoUkVfU1BMSVQpO1xuXG4gIC8vIFhYWCB3ZSBjYW4gc2hvcnQtY2lyY3VpdCBoZXJlIGJlY2F1c2UgdHJpbW1pbmcgYW5kIHNwbGl0dGluZyBhXG4gIC8vIHN0cmluZyBvZiBqdXN0IHdoaXRlc3BhY2UgcHJvZHVjZXMgYW4gYXJyYXkgY29udGFpbmluZyBhIHNpbmdsZSxcbiAgLy8gZW1wdHkgc3RyaW5nXG4gIGlmIChpZHMubGVuZ3RoID09PSAxICYmIGlkc1swXSA9PT0gJycpIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICByZXR1cm4gaWRzXG4gICAgLm1hcChmdW5jdGlvbihpZCkge1xuICAgICAgdmFyIGVsID0gZ2V0RWxlbWVudEJ5SWQoaWQpO1xuICAgICAgaWYgKCFlbCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ25vIGVsZW1lbnQgd2l0aCBpZDogXCInICsgaWQgKyAnXCInKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBlbDtcbiAgICB9KTtcbn07XG4iLCJjb25zdCBiZWhhdmlvciA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9iZWhhdmlvclwiKTtcbmNvbnN0IHRvZ2dsZUZvcm1JbnB1dCA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy90b2dnbGUtZm9ybS1pbnB1dFwiKTtcblxuY29uc3QgeyBDTElDSyB9ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL2V2ZW50c1wiKTtcbmNvbnN0IHsgcHJlZml4OiBQUkVGSVggfSA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy9jb25maWdcIik7XG5cbmNvbnN0IExJTksgPSBgLiR7UFJFRklYfS1zaG93LXBhc3N3b3JkYDtcblxuZnVuY3Rpb24gdG9nZ2xlKGV2ZW50KSB7XG4gIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIHRvZ2dsZUZvcm1JbnB1dCh0aGlzKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBiZWhhdmlvcih7XG4gIFtDTElDS106IHtcbiAgICBbTElOS106IHRvZ2dsZSxcbiAgfSxcbn0pO1xuIiwiY29uc3Qgc2VsZWN0ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3NlbGVjdFwiKTtcbmNvbnN0IGJlaGF2aW9yID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2JlaGF2aW9yXCIpO1xuY29uc3QgdG9nZ2xlID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3RvZ2dsZVwiKTtcbmNvbnN0IGlzRWxlbWVudEluVmlld3BvcnQgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvaXMtaW4tdmlld3BvcnRcIik7XG5jb25zdCB7IENMSUNLIH0gPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvZXZlbnRzXCIpO1xuY29uc3QgeyBwcmVmaXg6IFBSRUZJWCB9ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL2NvbmZpZ1wiKTtcblxuY29uc3QgQUNDT1JESU9OID0gYC4ke1BSRUZJWH0tYWNjb3JkaW9uLCAuJHtQUkVGSVh9LWFjY29yZGlvbi0tYm9yZGVyZWRgO1xuY29uc3QgQkFOTkVSX0JVVFRPTiA9IGAuJHtQUkVGSVh9LWJhbm5lcl9fYnV0dG9uYDtcbmNvbnN0IEJVVFRPTiA9IGAuJHtQUkVGSVh9LWFjY29yZGlvbl9fYnV0dG9uW2FyaWEtY29udHJvbHNdOm5vdCgke0JBTk5FUl9CVVRUT059KWA7XG5jb25zdCBFWFBBTkRFRCA9IFwiYXJpYS1leHBhbmRlZFwiO1xuY29uc3QgTVVMVElTRUxFQ1RBQkxFID0gXCJkYXRhLWFsbG93LW11bHRpcGxlXCI7XG5cbi8qKlxuICogR2V0IGFuIEFycmF5IG9mIGJ1dHRvbiBlbGVtZW50cyBiZWxvbmdpbmcgZGlyZWN0bHkgdG8gdGhlIGdpdmVuXG4gKiBhY2NvcmRpb24gZWxlbWVudC5cbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGFjY29yZGlvblxuICogQHJldHVybiB7YXJyYXk8SFRNTEJ1dHRvbkVsZW1lbnQ+fVxuICovXG5jb25zdCBnZXRBY2NvcmRpb25CdXR0b25zID0gKGFjY29yZGlvbikgPT4ge1xuICBjb25zdCBidXR0b25zID0gc2VsZWN0KEJVVFRPTiwgYWNjb3JkaW9uKTtcblxuICByZXR1cm4gYnV0dG9ucy5maWx0ZXIoKGJ1dHRvbikgPT4gYnV0dG9uLmNsb3Nlc3QoQUNDT1JESU9OKSA9PT0gYWNjb3JkaW9uKTtcbn07XG5cbi8qKlxuICogVG9nZ2xlIGEgYnV0dG9uJ3MgXCJwcmVzc2VkXCIgc3RhdGUsIG9wdGlvbmFsbHkgcHJvdmlkaW5nIGEgdGFyZ2V0XG4gKiBzdGF0ZS5cbiAqXG4gKiBAcGFyYW0ge0hUTUxCdXR0b25FbGVtZW50fSBidXR0b25cbiAqIEBwYXJhbSB7Ym9vbGVhbj99IGV4cGFuZGVkIElmIG5vIHN0YXRlIGlzIHByb3ZpZGVkLCB0aGUgY3VycmVudFxuICogc3RhdGUgd2lsbCBiZSB0b2dnbGVkIChmcm9tIGZhbHNlIHRvIHRydWUsIGFuZCB2aWNlLXZlcnNhKS5cbiAqIEByZXR1cm4ge2Jvb2xlYW59IHRoZSByZXN1bHRpbmcgc3RhdGVcbiAqL1xuY29uc3QgdG9nZ2xlQnV0dG9uID0gKGJ1dHRvbiwgZXhwYW5kZWQpID0+IHtcbiAgY29uc3QgYWNjb3JkaW9uID0gYnV0dG9uLmNsb3Nlc3QoQUNDT1JESU9OKTtcbiAgbGV0IHNhZmVFeHBhbmRlZCA9IGV4cGFuZGVkO1xuXG4gIGlmICghYWNjb3JkaW9uKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGAke0JVVFRPTn0gaXMgbWlzc2luZyBvdXRlciAke0FDQ09SRElPTn1gKTtcbiAgfVxuXG4gIHNhZmVFeHBhbmRlZCA9IHRvZ2dsZShidXR0b24sIGV4cGFuZGVkKTtcblxuICAvLyBYWFggbXVsdGlzZWxlY3RhYmxlIGlzIG9wdC1pbiwgdG8gcHJlc2VydmUgbGVnYWN5IGJlaGF2aW9yXG4gIGNvbnN0IG11bHRpc2VsZWN0YWJsZSA9IGFjY29yZGlvbi5oYXNBdHRyaWJ1dGUoTVVMVElTRUxFQ1RBQkxFKTtcblxuICBpZiAoc2FmZUV4cGFuZGVkICYmICFtdWx0aXNlbGVjdGFibGUpIHtcbiAgICBnZXRBY2NvcmRpb25CdXR0b25zKGFjY29yZGlvbikuZm9yRWFjaCgob3RoZXIpID0+IHtcbiAgICAgIGlmIChvdGhlciAhPT0gYnV0dG9uKSB7XG4gICAgICAgIHRvZ2dsZShvdGhlciwgZmFsc2UpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59O1xuXG4vKipcbiAqIEBwYXJhbSB7SFRNTEJ1dHRvbkVsZW1lbnR9IGJ1dHRvblxuICogQHJldHVybiB7Ym9vbGVhbn0gdHJ1ZVxuICovXG5jb25zdCBzaG93QnV0dG9uID0gKGJ1dHRvbikgPT4gdG9nZ2xlQnV0dG9uKGJ1dHRvbiwgdHJ1ZSk7XG5cbi8qKlxuICogQHBhcmFtIHtIVE1MQnV0dG9uRWxlbWVudH0gYnV0dG9uXG4gKiBAcmV0dXJuIHtib29sZWFufSBmYWxzZVxuICovXG5jb25zdCBoaWRlQnV0dG9uID0gKGJ1dHRvbikgPT4gdG9nZ2xlQnV0dG9uKGJ1dHRvbiwgZmFsc2UpO1xuXG5jb25zdCBhY2NvcmRpb24gPSBiZWhhdmlvcihcbiAge1xuICAgIFtDTElDS106IHtcbiAgICAgIFtCVVRUT05dKCkge1xuICAgICAgICB0b2dnbGVCdXR0b24odGhpcyk7XG5cbiAgICAgICAgaWYgKHRoaXMuZ2V0QXR0cmlidXRlKEVYUEFOREVEKSA9PT0gXCJ0cnVlXCIpIHtcbiAgICAgICAgICAvLyBXZSB3ZXJlIGp1c3QgZXhwYW5kZWQsIGJ1dCBpZiBhbm90aGVyIGFjY29yZGlvbiB3YXMgYWxzbyBqdXN0XG4gICAgICAgICAgLy8gY29sbGFwc2VkLCB3ZSBtYXkgbm8gbG9uZ2VyIGJlIGluIHRoZSB2aWV3cG9ydC4gVGhpcyBlbnN1cmVzXG4gICAgICAgICAgLy8gdGhhdCB3ZSBhcmUgc3RpbGwgdmlzaWJsZSwgc28gdGhlIHVzZXIgaXNuJ3QgY29uZnVzZWQuXG4gICAgICAgICAgaWYgKCFpc0VsZW1lbnRJblZpZXdwb3J0KHRoaXMpKSB0aGlzLnNjcm9sbEludG9WaWV3KCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbiAge1xuICAgIGluaXQocm9vdCkge1xuICAgICAgc2VsZWN0KEJVVFRPTiwgcm9vdCkuZm9yRWFjaCgoYnV0dG9uKSA9PiB7XG4gICAgICAgIGNvbnN0IGV4cGFuZGVkID0gYnV0dG9uLmdldEF0dHJpYnV0ZShFWFBBTkRFRCkgPT09IFwidHJ1ZVwiO1xuICAgICAgICB0b2dnbGVCdXR0b24oYnV0dG9uLCBleHBhbmRlZCk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIEFDQ09SRElPTixcbiAgICBCVVRUT04sXG4gICAgc2hvdzogc2hvd0J1dHRvbixcbiAgICBoaWRlOiBoaWRlQnV0dG9uLFxuICAgIHRvZ2dsZTogdG9nZ2xlQnV0dG9uLFxuICAgIGdldEJ1dHRvbnM6IGdldEFjY29yZGlvbkJ1dHRvbnMsXG4gIH0sXG4pO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGFjY29yZGlvbjtcbiIsImNvbnN0IGJlaGF2aW9yID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2JlaGF2aW9yXCIpO1xuY29uc3Qgc2VsZWN0ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3NlbGVjdFwiKTtcbmNvbnN0IHsgQ0xJQ0sgfSA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy9ldmVudHNcIik7XG5jb25zdCB7IHByZWZpeDogUFJFRklYIH0gPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvY29uZmlnXCIpO1xuY29uc3QgdG9nZ2xlID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3RvZ2dsZVwiKTtcblxuY29uc3QgSEVBREVSID0gYC4ke1BSRUZJWH0tYmFubmVyX19oZWFkZXJgO1xuY29uc3QgRVhQQU5ERURfQ0xBU1MgPSBgJHtQUkVGSVh9LWJhbm5lcl9faGVhZGVyLS1leHBhbmRlZGA7XG5jb25zdCBCQU5ORVJfQlVUVE9OID0gYCR7SEVBREVSfSBbYXJpYS1jb250cm9sc11gO1xuXG4vKipcbiAqIFRvZ2dsZSBCYW5uZXIgZGlzcGxheSBhbmQgY2xhc3MuXG4gKiBAcGFyYW0ge0V2ZW50fSBldmVudFxuICovXG5jb25zdCB0b2dnbGVCYW5uZXIgPSBmdW5jdGlvbiB0b2dnbGVFbChldmVudCkge1xuICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICBjb25zdCB0cmlnZ2VyID0gZXZlbnQudGFyZ2V0LmNsb3Nlc3QoQkFOTkVSX0JVVFRPTik7XG5cbiAgdG9nZ2xlKHRyaWdnZXIpO1xuICB0aGlzLmNsb3Nlc3QoSEVBREVSKS5jbGFzc0xpc3QudG9nZ2xlKEVYUEFOREVEX0NMQVNTKTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gYmVoYXZpb3IoXG4gIHtcbiAgICBbQ0xJQ0tdOiB7XG4gICAgICBbQkFOTkVSX0JVVFRPTl06IHRvZ2dsZUJhbm5lcixcbiAgICB9LFxuICB9LFxuICB7XG4gICAgaW5pdChyb290KSB7XG4gICAgICBzZWxlY3QoQkFOTkVSX0JVVFRPTiwgcm9vdCkuZm9yRWFjaCgoYnV0dG9uKSA9PiB7XG4gICAgICAgIGNvbnN0IGV4cGFuZGVkID0gYnV0dG9uLmdldEF0dHJpYnV0ZShFWFBBTkRFRF9DTEFTUykgPT09IFwidHJ1ZVwiO1xuICAgICAgICB0b2dnbGUoYnV0dG9uLCBleHBhbmRlZCk7XG4gICAgICB9KTtcbiAgICB9LFxuICB9LFxuKTtcbiIsImNvbnN0IGtleW1hcCA9IHJlcXVpcmUoXCJyZWNlcHRvci9rZXltYXBcIik7XG5jb25zdCBiZWhhdmlvciA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9iZWhhdmlvclwiKTtcblxuY29uc3QgQU5DSE9SX0JVVFRPTiA9IGBhW2NsYXNzKj1cInVzYS1idXR0b25cIl1gO1xuXG5jb25zdCB0b2dnbGVCdXR0b24gPSAoZXZlbnQpID0+IHtcbiAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgZXZlbnQudGFyZ2V0LmNsaWNrKCk7XG59O1xuXG5jb25zdCBhbmNob3JCdXR0b24gPSBiZWhhdmlvcih7XG4gIGtleWRvd246IHtcbiAgICBbQU5DSE9SX0JVVFRPTl06IGtleW1hcCh7XG4gICAgICBcIiBcIjogdG9nZ2xlQnV0dG9uLFxuICAgIH0pLFxuICB9LFxufSk7XG5cbm1vZHVsZS5leHBvcnRzID0gYW5jaG9yQnV0dG9uO1xuIiwiY29uc3Qgc2VsZWN0ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3NlbGVjdFwiKTtcbmNvbnN0IGJlaGF2aW9yID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2JlaGF2aW9yXCIpO1xuY29uc3QgZGVib3VuY2UgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvZGVib3VuY2VcIik7XG5jb25zdCB7IHByZWZpeDogUFJFRklYIH0gPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvY29uZmlnXCIpO1xuXG5jb25zdCBDSEFSQUNURVJfQ09VTlRfQ0xBU1MgPSBgJHtQUkVGSVh9LWNoYXJhY3Rlci1jb3VudGA7XG5jb25zdCBDSEFSQUNURVJfQ09VTlQgPSBgLiR7Q0hBUkFDVEVSX0NPVU5UX0NMQVNTfWA7XG5jb25zdCBGT1JNX0dST1VQX0NMQVNTID0gYCR7UFJFRklYfS1mb3JtLWdyb3VwYDtcbmNvbnN0IEZPUk1fR1JPVVBfRVJST1JfQ0xBU1MgPSBgJHtGT1JNX0dST1VQX0NMQVNTfS0tZXJyb3JgO1xuY29uc3QgRk9STV9HUk9VUCA9IGAuJHtGT1JNX0dST1VQX0NMQVNTfWA7XG5jb25zdCBMQUJFTF9DTEFTUyA9IGAke1BSRUZJWH0tbGFiZWxgO1xuY29uc3QgTEFCRUxfRVJST1JfQ0xBU1MgPSBgJHtMQUJFTF9DTEFTU30tLWVycm9yYDtcbmNvbnN0IElOUFVUID0gYC4ke1BSRUZJWH0tY2hhcmFjdGVyLWNvdW50X19maWVsZGA7XG5jb25zdCBJTlBVVF9FUlJPUl9DTEFTUyA9IGAke1BSRUZJWH0taW5wdXQtLWVycm9yYDtcbmNvbnN0IE1FU1NBR0UgPSBgLiR7UFJFRklYfS1jaGFyYWN0ZXItY291bnRfX21lc3NhZ2VgO1xuY29uc3QgVkFMSURBVElPTl9NRVNTQUdFID0gXCJUaGUgY29udGVudCBpcyB0b28gbG9uZy5cIjtcbmNvbnN0IE1FU1NBR0VfSU5WQUxJRF9DTEFTUyA9IGAke1BSRUZJWH0tY2hhcmFjdGVyLWNvdW50X19zdGF0dXMtLWludmFsaWRgO1xuY29uc3QgU1RBVFVTX01FU1NBR0VfQ0xBU1MgPSBgJHtDSEFSQUNURVJfQ09VTlRfQ0xBU1N9X19zdGF0dXNgO1xuY29uc3QgU1RBVFVTX01FU1NBR0VfU1JfT05MWV9DTEFTUyA9IGAke0NIQVJBQ1RFUl9DT1VOVF9DTEFTU31fX3NyLXN0YXR1c2A7XG5jb25zdCBTVEFUVVNfTUVTU0FHRSA9IGAuJHtTVEFUVVNfTUVTU0FHRV9DTEFTU31gO1xuY29uc3QgU1RBVFVTX01FU1NBR0VfU1JfT05MWSA9IGAuJHtTVEFUVVNfTUVTU0FHRV9TUl9PTkxZX0NMQVNTfWA7XG5jb25zdCBERUZBVUxUX1NUQVRVU19MQUJFTCA9IGBjaGFyYWN0ZXJzIGFsbG93ZWRgO1xuXG4vKipcbiAqIFJldHVybnMgdGhlIHJvb3QsIGZvcm0gZ3JvdXAsIGxhYmVsLCBhbmQgbWVzc2FnZSBlbGVtZW50cyBmb3IgYW4gY2hhcmFjdGVyIGNvdW50IGlucHV0XG4gKlxuICogQHBhcmFtIHtIVE1MSW5wdXRFbGVtZW50fEhUTUxUZXh0QXJlYUVsZW1lbnR9IGlucHV0RWwgVGhlIGNoYXJhY3RlciBjb3VudCBpbnB1dCBlbGVtZW50XG4gKiBAcmV0dXJucyB7Q2hhcmFjdGVyQ291bnRFbGVtZW50c30gZWxlbWVudHMgVGhlIHJvb3QgZm9ybSBncm91cCwgaW5wdXQgSUQsIGxhYmVsLCBhbmQgbWVzc2FnZSBlbGVtZW50LlxuICovXG5jb25zdCBnZXRDaGFyYWN0ZXJDb3VudEVsZW1lbnRzID0gKGlucHV0RWwpID0+IHtcbiAgY29uc3QgY2hhcmFjdGVyQ291bnRFbCA9IGlucHV0RWwuY2xvc2VzdChDSEFSQUNURVJfQ09VTlQpO1xuXG4gIGlmICghY2hhcmFjdGVyQ291bnRFbCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgJHtJTlBVVH0gaXMgbWlzc2luZyBvdXRlciAke0NIQVJBQ1RFUl9DT1VOVH1gKTtcbiAgfVxuXG4gIGNvbnN0IGZvcm1Hcm91cEVsID0gY2hhcmFjdGVyQ291bnRFbC5xdWVyeVNlbGVjdG9yKEZPUk1fR1JPVVApO1xuXG4gIGNvbnN0IGlucHV0SUQgPSBpbnB1dEVsLmdldEF0dHJpYnV0ZShcImlkXCIpO1xuICBjb25zdCBsYWJlbEVsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgbGFiZWxbZm9yPSR7aW5wdXRJRH1dYCk7XG5cbiAgY29uc3QgbWVzc2FnZUVsID0gY2hhcmFjdGVyQ291bnRFbC5xdWVyeVNlbGVjdG9yKE1FU1NBR0UpO1xuXG4gIGlmICghbWVzc2FnZUVsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGAke0NIQVJBQ1RFUl9DT1VOVH0gaXMgbWlzc2luZyBpbm5lciAke01FU1NBR0V9YCk7XG4gIH1cblxuICByZXR1cm4geyBjaGFyYWN0ZXJDb3VudEVsLCBmb3JtR3JvdXBFbCwgaW5wdXRJRCwgbGFiZWxFbCwgbWVzc2FnZUVsIH07XG59O1xuXG4vKipcbiAqIE1vdmUgbWF4bGVuZ3RoIGF0dHJpYnV0ZSB0byBhIGRhdGEgYXR0cmlidXRlIG9uIHVzYS1jaGFyYWN0ZXItY291bnRcbiAqXG4gKiBAcGFyYW0ge0hUTUxJbnB1dEVsZW1lbnR8SFRNTFRleHRBcmVhRWxlbWVudH0gaW5wdXRFbCBUaGUgY2hhcmFjdGVyIGNvdW50IGlucHV0IGVsZW1lbnRcbiAqL1xuY29uc3Qgc2V0RGF0YUxlbmd0aCA9IChpbnB1dEVsKSA9PiB7XG4gIGNvbnN0IHsgY2hhcmFjdGVyQ291bnRFbCB9ID0gZ2V0Q2hhcmFjdGVyQ291bnRFbGVtZW50cyhpbnB1dEVsKTtcblxuICBjb25zdCBtYXhsZW5ndGggPSBpbnB1dEVsLmdldEF0dHJpYnV0ZShcIm1heGxlbmd0aFwiKTtcblxuICBpZiAoIW1heGxlbmd0aCkgcmV0dXJuO1xuXG4gIGlucHV0RWwucmVtb3ZlQXR0cmlidXRlKFwibWF4bGVuZ3RoXCIpO1xuICBjaGFyYWN0ZXJDb3VudEVsLnNldEF0dHJpYnV0ZShcImRhdGEtbWF4bGVuZ3RoXCIsIG1heGxlbmd0aCk7XG59O1xuXG4vKipcbiAqIENyZWF0ZSBhbmQgYXBwZW5kIHN0YXR1cyBtZXNzYWdlcyBmb3IgdmlzdWFsIGFuZCBzY3JlZW4gcmVhZGVyc1xuICpcbiAqIEBwYXJhbSB7SFRNTERpdkVsZW1lbnR9IGNoYXJhY3RlckNvdW50RWwgLSBEaXYgd2l0aCBgLnVzYS1jaGFyYWN0ZXItY291bnRgIGNsYXNzXG4gKiBAZGVzY3JpcHRpb24gIENyZWF0ZSB0d28gc3RhdHVzIG1lc3NhZ2VzIGZvciBudW1iZXIgb2YgY2hhcmFjdGVycyBsZWZ0O1xuICogb25lIHZpc3VhbCBzdGF0dXMgYW5kIGFub3RoZXIgZm9yIHNjcmVlbiByZWFkZXJzXG4gKi9cbmNvbnN0IGNyZWF0ZVN0YXR1c01lc3NhZ2VzID0gKGNoYXJhY3RlckNvdW50RWwpID0+IHtcbiAgY29uc3Qgc3RhdHVzTWVzc2FnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XG4gIGNvbnN0IHNyU3RhdHVzTWVzc2FnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XG4gIGNvbnN0IG1heExlbmd0aCA9IGNoYXJhY3RlckNvdW50RWwuZGF0YXNldC5tYXhsZW5ndGg7XG4gIGNvbnN0IGRlZmF1bHRNZXNzYWdlID0gYCR7bWF4TGVuZ3RofSAke0RFRkFVTFRfU1RBVFVTX0xBQkVMfWA7XG5cbiAgc3RhdHVzTWVzc2FnZS5jbGFzc0xpc3QuYWRkKGAke1NUQVRVU19NRVNTQUdFX0NMQVNTfWAsIFwidXNhLWhpbnRcIik7XG4gIHNyU3RhdHVzTWVzc2FnZS5jbGFzc0xpc3QuYWRkKFxuICAgIGAke1NUQVRVU19NRVNTQUdFX1NSX09OTFlfQ0xBU1N9YCxcbiAgICBcInVzYS1zci1vbmx5XCIsXG4gICk7XG5cbiAgc3RhdHVzTWVzc2FnZS5zZXRBdHRyaWJ1dGUoXCJhcmlhLWhpZGRlblwiLCB0cnVlKTtcbiAgc3JTdGF0dXNNZXNzYWdlLnNldEF0dHJpYnV0ZShcImFyaWEtbGl2ZVwiLCBcInBvbGl0ZVwiKTtcblxuICBzdGF0dXNNZXNzYWdlLnRleHRDb250ZW50ID0gZGVmYXVsdE1lc3NhZ2U7XG4gIHNyU3RhdHVzTWVzc2FnZS50ZXh0Q29udGVudCA9IGRlZmF1bHRNZXNzYWdlO1xuXG4gIGNoYXJhY3RlckNvdW50RWwuYXBwZW5kKHN0YXR1c01lc3NhZ2UsIHNyU3RhdHVzTWVzc2FnZSk7XG59O1xuXG4vKipcbiAqIFJldHVybnMgbWVzc2FnZSB3aXRoIGhvdyBtYW55IGNoYXJhY3RlcnMgYXJlIGxlZnRcbiAqXG4gKiBAcGFyYW0ge251bWJlcn0gY3VycmVudExlbmd0aCAtIFRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyB1c2VkXG4gKiBAcGFyYW0ge251bWJlcn0gbWF4TGVuZ3RoIC0gVGhlIHRvdGFsIG51bWJlciBvZiBjaGFyYWN0ZXJzIGFsbG93ZWRcbiAqIEByZXR1cm5zIHtzdHJpbmd9IEEgc3RyaW5nIGRlc2NyaXB0aW9uIG9mIGhvdyBtYW55IGNoYXJhY3RlcnMgYXJlIGxlZnRcbiAqL1xuY29uc3QgZ2V0Q291bnRNZXNzYWdlID0gKGN1cnJlbnRMZW5ndGgsIG1heExlbmd0aCkgPT4ge1xuICBsZXQgbmV3TWVzc2FnZSA9IFwiXCI7XG5cbiAgaWYgKGN1cnJlbnRMZW5ndGggPT09IDApIHtcbiAgICBuZXdNZXNzYWdlID0gYCR7bWF4TGVuZ3RofSAke0RFRkFVTFRfU1RBVFVTX0xBQkVMfWA7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgZGlmZmVyZW5jZSA9IE1hdGguYWJzKG1heExlbmd0aCAtIGN1cnJlbnRMZW5ndGgpO1xuICAgIGNvbnN0IGNoYXJhY3RlcnMgPSBgY2hhcmFjdGVyJHtkaWZmZXJlbmNlID09PSAxID8gXCJcIiA6IFwic1wifWA7XG4gICAgY29uc3QgZ3VpZGFuY2UgPSBjdXJyZW50TGVuZ3RoID4gbWF4TGVuZ3RoID8gXCJvdmVyIGxpbWl0XCIgOiBcImxlZnRcIjtcblxuICAgIG5ld01lc3NhZ2UgPSBgJHtkaWZmZXJlbmNlfSAke2NoYXJhY3RlcnN9ICR7Z3VpZGFuY2V9YDtcbiAgfVxuXG4gIHJldHVybiBuZXdNZXNzYWdlO1xufTtcblxuLyoqXG4gKiBVcGRhdGVzIHRoZSBjaGFyYWN0ZXIgY291bnQgc3RhdHVzIGZvciBzY3JlZW4gcmVhZGVycyBhZnRlciBhIDEwMDBtcyBkZWxheS5cbiAqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBtc2dFbCAtIFRoZSBzY3JlZW4gcmVhZGVyIHN0YXR1cyBtZXNzYWdlIGVsZW1lbnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBzdGF0dXNNZXNzYWdlIC0gQSBzdHJpbmcgb2YgdGhlIGN1cnJlbnQgY2hhcmFjdGVyIHN0YXR1c1xuICovXG5jb25zdCBzclVwZGF0ZVN0YXR1cyA9IGRlYm91bmNlKChtc2dFbCwgc3RhdHVzTWVzc2FnZSkgPT4ge1xuICBjb25zdCBzclN0YXR1c01lc3NhZ2UgPSBtc2dFbDtcbiAgc3JTdGF0dXNNZXNzYWdlLnRleHRDb250ZW50ID0gc3RhdHVzTWVzc2FnZTtcbn0sIDEwMDApO1xuXG4vKipcbiAqIFVwZGF0ZSB0aGUgY2hhcmFjdGVyIGNvdW50IGNvbXBvbmVudFxuICpcbiAqIEBkZXNjcmlwdGlvbiBPbiBpbnB1dCwgaXQgd2lsbCB1cGRhdGUgdmlzdWFsIHN0YXR1cywgc2NyZWVucmVhZGVyXG4gKiBzdGF0dXMgYW5kIHVwZGF0ZSBpbnB1dCB2YWxpZGF0aW9uIChpZiBvdmVyIGNoYXJhY3RlciBsZW5ndGgpXG4gKiBAcGFyYW0ge0hUTUxJbnB1dEVsZW1lbnR8SFRNTFRleHRBcmVhRWxlbWVudH0gaW5wdXRFbCBUaGUgY2hhcmFjdGVyIGNvdW50IGlucHV0IGVsZW1lbnRcbiAqL1xuY29uc3QgdXBkYXRlQ291bnRNZXNzYWdlID0gKGlucHV0RWwpID0+IHtcbiAgY29uc3QgeyBjaGFyYWN0ZXJDb3VudEVsLCBsYWJlbEVsLCBmb3JtR3JvdXBFbCB9ID1cbiAgICBnZXRDaGFyYWN0ZXJDb3VudEVsZW1lbnRzKGlucHV0RWwpO1xuICBjb25zdCBjdXJyZW50TGVuZ3RoID0gaW5wdXRFbC52YWx1ZS5sZW5ndGg7XG4gIGNvbnN0IG1heExlbmd0aCA9IHBhcnNlSW50KFxuICAgIGNoYXJhY3RlckNvdW50RWwuZ2V0QXR0cmlidXRlKFwiZGF0YS1tYXhsZW5ndGhcIiksXG4gICAgMTAsXG4gICk7XG4gIGNvbnN0IHN0YXR1c01lc3NhZ2UgPSBjaGFyYWN0ZXJDb3VudEVsLnF1ZXJ5U2VsZWN0b3IoU1RBVFVTX01FU1NBR0UpO1xuICBjb25zdCBzclN0YXR1c01lc3NhZ2UgPSBjaGFyYWN0ZXJDb3VudEVsLnF1ZXJ5U2VsZWN0b3IoXG4gICAgU1RBVFVTX01FU1NBR0VfU1JfT05MWSxcbiAgKTtcbiAgY29uc3QgY3VycmVudFN0YXR1c01lc3NhZ2UgPSBnZXRDb3VudE1lc3NhZ2UoY3VycmVudExlbmd0aCwgbWF4TGVuZ3RoKTtcblxuICBpZiAoIW1heExlbmd0aCkgcmV0dXJuO1xuXG4gIGNvbnN0IGlzT3ZlckxpbWl0ID0gY3VycmVudExlbmd0aCAmJiBjdXJyZW50TGVuZ3RoID4gbWF4TGVuZ3RoO1xuXG4gIHN0YXR1c01lc3NhZ2UudGV4dENvbnRlbnQgPSBjdXJyZW50U3RhdHVzTWVzc2FnZTtcbiAgc3JVcGRhdGVTdGF0dXMoc3JTdGF0dXNNZXNzYWdlLCBjdXJyZW50U3RhdHVzTWVzc2FnZSk7XG5cbiAgaWYgKGlzT3ZlckxpbWl0ICYmICFpbnB1dEVsLnZhbGlkYXRpb25NZXNzYWdlKSB7XG4gICAgaW5wdXRFbC5zZXRDdXN0b21WYWxpZGl0eShWQUxJREFUSU9OX01FU1NBR0UpO1xuICB9XG5cbiAgaWYgKCFpc092ZXJMaW1pdCAmJiBpbnB1dEVsLnZhbGlkYXRpb25NZXNzYWdlID09PSBWQUxJREFUSU9OX01FU1NBR0UpIHtcbiAgICBpbnB1dEVsLnNldEN1c3RvbVZhbGlkaXR5KFwiXCIpO1xuICB9XG5cbiAgaWYgKGZvcm1Hcm91cEVsKSB7XG4gICAgZm9ybUdyb3VwRWwuY2xhc3NMaXN0LnRvZ2dsZShGT1JNX0dST1VQX0VSUk9SX0NMQVNTLCBpc092ZXJMaW1pdCk7XG4gIH1cblxuICBpZiAobGFiZWxFbCkge1xuICAgIGxhYmVsRWwuY2xhc3NMaXN0LnRvZ2dsZShMQUJFTF9FUlJPUl9DTEFTUywgaXNPdmVyTGltaXQpO1xuICB9XG5cbiAgaW5wdXRFbC5jbGFzc0xpc3QudG9nZ2xlKElOUFVUX0VSUk9SX0NMQVNTLCBpc092ZXJMaW1pdCk7XG4gIHN0YXR1c01lc3NhZ2UuY2xhc3NMaXN0LnRvZ2dsZShNRVNTQUdFX0lOVkFMSURfQ0xBU1MsIGlzT3ZlckxpbWl0KTtcbn07XG5cbi8qKlxuICogSW5pdGlhbGl6ZSBjb21wb25lbnRcbiAqXG4gKiBAZGVzY3JpcHRpb24gT24gaW5pdCB0aGlzIGZ1bmN0aW9uIHdpbGwgY3JlYXRlIGVsZW1lbnRzIGFuZCB1cGRhdGUgYW55XG4gKiBhdHRyaWJ1dGVzIHNvIGl0IGNhbiB0ZWxsIHRoZSB1c2VyIGhvdyBtYW55IGNoYXJhY3RlcnMgYXJlIGxlZnQuXG4gKiBAcGFyYW0gIHtIVE1MSW5wdXRFbGVtZW50fEhUTUxUZXh0QXJlYUVsZW1lbnR9IGlucHV0RWwgdGhlIGNvbXBvbmVudHMgaW5wdXRcbiAqL1xuY29uc3QgZW5oYW5jZUNoYXJhY3RlckNvdW50ID0gKGlucHV0RWwpID0+IHtcbiAgY29uc3QgeyBjaGFyYWN0ZXJDb3VudEVsLCBtZXNzYWdlRWwgfSA9IGdldENoYXJhY3RlckNvdW50RWxlbWVudHMoaW5wdXRFbCk7XG5cbiAgLy8gSGlkZSBoaW50IGFuZCByZW1vdmUgYXJpYS1saXZlIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuICBtZXNzYWdlRWwuY2xhc3NMaXN0LmFkZChcInVzYS1zci1vbmx5XCIpO1xuICBtZXNzYWdlRWwucmVtb3ZlQXR0cmlidXRlKFwiYXJpYS1saXZlXCIpO1xuXG4gIHNldERhdGFMZW5ndGgoaW5wdXRFbCk7XG4gIGNyZWF0ZVN0YXR1c01lc3NhZ2VzKGNoYXJhY3RlckNvdW50RWwpO1xufTtcblxuY29uc3QgY2hhcmFjdGVyQ291bnQgPSBiZWhhdmlvcihcbiAge1xuICAgIGlucHV0OiB7XG4gICAgICBbSU5QVVRdKCkge1xuICAgICAgICB1cGRhdGVDb3VudE1lc3NhZ2UodGhpcyk7XG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG4gIHtcbiAgICBpbml0KHJvb3QpIHtcbiAgICAgIHNlbGVjdChJTlBVVCwgcm9vdCkuZm9yRWFjaCgoaW5wdXQpID0+IGVuaGFuY2VDaGFyYWN0ZXJDb3VudChpbnB1dCkpO1xuICAgIH0sXG4gICAgRk9STV9HUk9VUF9FUlJPUl9DTEFTUyxcbiAgICBMQUJFTF9FUlJPUl9DTEFTUyxcbiAgICBJTlBVVF9FUlJPUl9DTEFTUyxcbiAgICBNRVNTQUdFX0lOVkFMSURfQ0xBU1MsXG4gICAgVkFMSURBVElPTl9NRVNTQUdFLFxuICAgIFNUQVRVU19NRVNTQUdFX0NMQVNTLFxuICAgIFNUQVRVU19NRVNTQUdFX1NSX09OTFlfQ0xBU1MsXG4gICAgREVGQVVMVF9TVEFUVVNfTEFCRUwsXG4gICAgY3JlYXRlU3RhdHVzTWVzc2FnZXMsXG4gICAgZ2V0Q291bnRNZXNzYWdlLFxuICAgIHVwZGF0ZUNvdW50TWVzc2FnZSxcbiAgfSxcbik7XG5cbm1vZHVsZS5leHBvcnRzID0gY2hhcmFjdGVyQ291bnQ7XG4iLCJjb25zdCBrZXltYXAgPSByZXF1aXJlKFwicmVjZXB0b3Iva2V5bWFwXCIpO1xuY29uc3Qgc2VsZWN0T3JNYXRjaGVzID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3NlbGVjdC1vci1tYXRjaGVzXCIpO1xuY29uc3QgYmVoYXZpb3IgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvYmVoYXZpb3JcIik7XG5jb25zdCBTYW5pdGl6ZXIgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvc2FuaXRpemVyXCIpO1xuY29uc3QgeyBwcmVmaXg6IFBSRUZJWCB9ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL2NvbmZpZ1wiKTtcbmNvbnN0IHsgQ0xJQ0sgfSA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy9ldmVudHNcIik7XG5cbmNvbnN0IENPTUJPX0JPWF9DTEFTUyA9IGAke1BSRUZJWH0tY29tYm8tYm94YDtcbmNvbnN0IENPTUJPX0JPWF9QUklTVElORV9DTEFTUyA9IGAke0NPTUJPX0JPWF9DTEFTU30tLXByaXN0aW5lYDtcbmNvbnN0IFNFTEVDVF9DTEFTUyA9IGAke0NPTUJPX0JPWF9DTEFTU31fX3NlbGVjdGA7XG5jb25zdCBJTlBVVF9DTEFTUyA9IGAke0NPTUJPX0JPWF9DTEFTU31fX2lucHV0YDtcbmNvbnN0IENMRUFSX0lOUFVUX0JVVFRPTl9DTEFTUyA9IGAke0NPTUJPX0JPWF9DTEFTU31fX2NsZWFyLWlucHV0YDtcbmNvbnN0IENMRUFSX0lOUFVUX0JVVFRPTl9XUkFQUEVSX0NMQVNTID0gYCR7Q0xFQVJfSU5QVVRfQlVUVE9OX0NMQVNTfV9fd3JhcHBlcmA7XG5jb25zdCBJTlBVVF9CVVRUT05fU0VQQVJBVE9SX0NMQVNTID0gYCR7Q09NQk9fQk9YX0NMQVNTfV9faW5wdXQtYnV0dG9uLXNlcGFyYXRvcmA7XG5jb25zdCBUT0dHTEVfTElTVF9CVVRUT05fQ0xBU1MgPSBgJHtDT01CT19CT1hfQ0xBU1N9X190b2dnbGUtbGlzdGA7XG5jb25zdCBUT0dHTEVfTElTVF9CVVRUT05fV1JBUFBFUl9DTEFTUyA9IGAke1RPR0dMRV9MSVNUX0JVVFRPTl9DTEFTU31fX3dyYXBwZXJgO1xuY29uc3QgTElTVF9DTEFTUyA9IGAke0NPTUJPX0JPWF9DTEFTU31fX2xpc3RgO1xuY29uc3QgTElTVF9PUFRJT05fQ0xBU1MgPSBgJHtDT01CT19CT1hfQ0xBU1N9X19saXN0LW9wdGlvbmA7XG5jb25zdCBMSVNUX09QVElPTl9GT0NVU0VEX0NMQVNTID0gYCR7TElTVF9PUFRJT05fQ0xBU1N9LS1mb2N1c2VkYDtcbmNvbnN0IExJU1RfT1BUSU9OX1NFTEVDVEVEX0NMQVNTID0gYCR7TElTVF9PUFRJT05fQ0xBU1N9LS1zZWxlY3RlZGA7XG5jb25zdCBTVEFUVVNfQ0xBU1MgPSBgJHtDT01CT19CT1hfQ0xBU1N9X19zdGF0dXNgO1xuXG5jb25zdCBDT01CT19CT1ggPSBgLiR7Q09NQk9fQk9YX0NMQVNTfWA7XG5jb25zdCBTRUxFQ1QgPSBgLiR7U0VMRUNUX0NMQVNTfWA7XG5jb25zdCBJTlBVVCA9IGAuJHtJTlBVVF9DTEFTU31gO1xuY29uc3QgQ0xFQVJfSU5QVVRfQlVUVE9OID0gYC4ke0NMRUFSX0lOUFVUX0JVVFRPTl9DTEFTU31gO1xuY29uc3QgVE9HR0xFX0xJU1RfQlVUVE9OID0gYC4ke1RPR0dMRV9MSVNUX0JVVFRPTl9DTEFTU31gO1xuY29uc3QgTElTVCA9IGAuJHtMSVNUX0NMQVNTfWA7XG5jb25zdCBMSVNUX09QVElPTiA9IGAuJHtMSVNUX09QVElPTl9DTEFTU31gO1xuY29uc3QgTElTVF9PUFRJT05fRk9DVVNFRCA9IGAuJHtMSVNUX09QVElPTl9GT0NVU0VEX0NMQVNTfWA7XG5jb25zdCBMSVNUX09QVElPTl9TRUxFQ1RFRCA9IGAuJHtMSVNUX09QVElPTl9TRUxFQ1RFRF9DTEFTU31gO1xuY29uc3QgU1RBVFVTID0gYC4ke1NUQVRVU19DTEFTU31gO1xuXG5jb25zdCBERUZBVUxUX0ZJTFRFUiA9IFwiLip7e3F1ZXJ5fX0uKlwiO1xuXG5jb25zdCBub29wID0gKCkgPT4ge307XG5cbi8qKlxuICogc2V0IHRoZSB2YWx1ZSBvZiB0aGUgZWxlbWVudCBhbmQgZGlzcGF0Y2ggYSBjaGFuZ2UgZXZlbnRcbiAqXG4gKiBAcGFyYW0ge0hUTUxJbnB1dEVsZW1lbnR8SFRNTFNlbGVjdEVsZW1lbnR9IGVsIFRoZSBlbGVtZW50IHRvIHVwZGF0ZVxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlIFRoZSBuZXcgdmFsdWUgb2YgdGhlIGVsZW1lbnRcbiAqL1xuY29uc3QgY2hhbmdlRWxlbWVudFZhbHVlID0gKGVsLCB2YWx1ZSA9IFwiXCIpID0+IHtcbiAgY29uc3QgZWxlbWVudFRvQ2hhbmdlID0gZWw7XG4gIGVsZW1lbnRUb0NoYW5nZS52YWx1ZSA9IHZhbHVlO1xuXG4gIGNvbnN0IGV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50KFwiY2hhbmdlXCIsIHtcbiAgICBidWJibGVzOiB0cnVlLFxuICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgZGV0YWlsOiB7IHZhbHVlIH0sXG4gIH0pO1xuICBlbGVtZW50VG9DaGFuZ2UuZGlzcGF0Y2hFdmVudChldmVudCk7XG59O1xuXG4vKipcbiAqIFRoZSBlbGVtZW50cyB3aXRoaW4gdGhlIGNvbWJvIGJveC5cbiAqIEB0eXBlZGVmIHtPYmplY3R9IENvbWJvQm94Q29udGV4dFxuICogQHByb3BlcnR5IHtIVE1MRWxlbWVudH0gY29tYm9Cb3hFbFxuICogQHByb3BlcnR5IHtIVE1MU2VsZWN0RWxlbWVudH0gc2VsZWN0RWxcbiAqIEBwcm9wZXJ0eSB7SFRNTElucHV0RWxlbWVudH0gaW5wdXRFbFxuICogQHByb3BlcnR5IHtIVE1MVUxpc3RFbGVtZW50fSBsaXN0RWxcbiAqIEBwcm9wZXJ0eSB7SFRNTERpdkVsZW1lbnR9IHN0YXR1c0VsXG4gKiBAcHJvcGVydHkge0hUTUxMSUVsZW1lbnR9IGZvY3VzZWRPcHRpb25FbFxuICogQHByb3BlcnR5IHtIVE1MTElFbGVtZW50fSBzZWxlY3RlZE9wdGlvbkVsXG4gKiBAcHJvcGVydHkge0hUTUxCdXR0b25FbGVtZW50fSB0b2dnbGVMaXN0QnRuRWxcbiAqIEBwcm9wZXJ0eSB7SFRNTEJ1dHRvbkVsZW1lbnR9IGNsZWFySW5wdXRCdG5FbFxuICogQHByb3BlcnR5IHtib29sZWFufSBpc1ByaXN0aW5lXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGRpc2FibGVGaWx0ZXJpbmdcbiAqL1xuXG4vKipcbiAqIEdldCBhbiBvYmplY3Qgb2YgZWxlbWVudHMgYmVsb25naW5nIGRpcmVjdGx5IHRvIHRoZSBnaXZlblxuICogY29tYm8gYm94IGNvbXBvbmVudC5cbiAqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbCB0aGUgZWxlbWVudCB3aXRoaW4gdGhlIGNvbWJvIGJveFxuICogQHJldHVybnMge0NvbWJvQm94Q29udGV4dH0gZWxlbWVudHNcbiAqL1xuY29uc3QgZ2V0Q29tYm9Cb3hDb250ZXh0ID0gKGVsKSA9PiB7XG4gIGNvbnN0IGNvbWJvQm94RWwgPSBlbC5jbG9zZXN0KENPTUJPX0JPWCk7XG5cbiAgaWYgKCFjb21ib0JveEVsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBFbGVtZW50IGlzIG1pc3Npbmcgb3V0ZXIgJHtDT01CT19CT1h9YCk7XG4gIH1cblxuICBjb25zdCBzZWxlY3RFbCA9IGNvbWJvQm94RWwucXVlcnlTZWxlY3RvcihTRUxFQ1QpO1xuICBjb25zdCBpbnB1dEVsID0gY29tYm9Cb3hFbC5xdWVyeVNlbGVjdG9yKElOUFVUKTtcbiAgY29uc3QgbGlzdEVsID0gY29tYm9Cb3hFbC5xdWVyeVNlbGVjdG9yKExJU1QpO1xuICBjb25zdCBzdGF0dXNFbCA9IGNvbWJvQm94RWwucXVlcnlTZWxlY3RvcihTVEFUVVMpO1xuICBjb25zdCBmb2N1c2VkT3B0aW9uRWwgPSBjb21ib0JveEVsLnF1ZXJ5U2VsZWN0b3IoTElTVF9PUFRJT05fRk9DVVNFRCk7XG4gIGNvbnN0IHNlbGVjdGVkT3B0aW9uRWwgPSBjb21ib0JveEVsLnF1ZXJ5U2VsZWN0b3IoTElTVF9PUFRJT05fU0VMRUNURUQpO1xuICBjb25zdCB0b2dnbGVMaXN0QnRuRWwgPSBjb21ib0JveEVsLnF1ZXJ5U2VsZWN0b3IoVE9HR0xFX0xJU1RfQlVUVE9OKTtcbiAgY29uc3QgY2xlYXJJbnB1dEJ0bkVsID0gY29tYm9Cb3hFbC5xdWVyeVNlbGVjdG9yKENMRUFSX0lOUFVUX0JVVFRPTik7XG5cbiAgY29uc3QgaXNQcmlzdGluZSA9IGNvbWJvQm94RWwuY2xhc3NMaXN0LmNvbnRhaW5zKENPTUJPX0JPWF9QUklTVElORV9DTEFTUyk7XG4gIGNvbnN0IGRpc2FibGVGaWx0ZXJpbmcgPSBjb21ib0JveEVsLmRhdGFzZXQuZGlzYWJsZUZpbHRlcmluZyA9PT0gXCJ0cnVlXCI7XG5cbiAgcmV0dXJuIHtcbiAgICBjb21ib0JveEVsLFxuICAgIHNlbGVjdEVsLFxuICAgIGlucHV0RWwsXG4gICAgbGlzdEVsLFxuICAgIHN0YXR1c0VsLFxuICAgIGZvY3VzZWRPcHRpb25FbCxcbiAgICBzZWxlY3RlZE9wdGlvbkVsLFxuICAgIHRvZ2dsZUxpc3RCdG5FbCxcbiAgICBjbGVhcklucHV0QnRuRWwsXG4gICAgaXNQcmlzdGluZSxcbiAgICBkaXNhYmxlRmlsdGVyaW5nLFxuICB9O1xufTtcblxuLyoqXG4gKiBEaXNhYmxlIHRoZSBjb21iby1ib3ggY29tcG9uZW50XG4gKlxuICogQHBhcmFtIHtIVE1MSW5wdXRFbGVtZW50fSBlbCBBbiBlbGVtZW50IHdpdGhpbiB0aGUgY29tYm8gYm94IGNvbXBvbmVudFxuICovXG5jb25zdCBkaXNhYmxlID0gKGVsKSA9PiB7XG4gIGNvbnN0IHsgaW5wdXRFbCwgdG9nZ2xlTGlzdEJ0bkVsLCBjbGVhcklucHV0QnRuRWwgfSA9IGdldENvbWJvQm94Q29udGV4dChlbCk7XG5cbiAgY2xlYXJJbnB1dEJ0bkVsLmhpZGRlbiA9IHRydWU7XG4gIGNsZWFySW5wdXRCdG5FbC5kaXNhYmxlZCA9IHRydWU7XG4gIHRvZ2dsZUxpc3RCdG5FbC5kaXNhYmxlZCA9IHRydWU7XG4gIGlucHV0RWwuZGlzYWJsZWQgPSB0cnVlO1xufTtcblxuLyoqXG4gKiBDaGVjayBmb3IgYXJpYS1kaXNhYmxlZCBvbiBpbml0aWFsaXphdGlvblxuICpcbiAqIEBwYXJhbSB7SFRNTElucHV0RWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGNvbWJvIGJveCBjb21wb25lbnRcbiAqL1xuY29uc3QgYXJpYURpc2FibGUgPSAoZWwpID0+IHtcbiAgY29uc3QgeyBpbnB1dEVsLCB0b2dnbGVMaXN0QnRuRWwsIGNsZWFySW5wdXRCdG5FbCB9ID0gZ2V0Q29tYm9Cb3hDb250ZXh0KGVsKTtcblxuICBjbGVhcklucHV0QnRuRWwuaGlkZGVuID0gdHJ1ZTtcbiAgY2xlYXJJbnB1dEJ0bkVsLnNldEF0dHJpYnV0ZShcImFyaWEtZGlzYWJsZWRcIiwgdHJ1ZSk7XG4gIHRvZ2dsZUxpc3RCdG5FbC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWRpc2FibGVkXCIsIHRydWUpO1xuICBpbnB1dEVsLnNldEF0dHJpYnV0ZShcImFyaWEtZGlzYWJsZWRcIiwgdHJ1ZSk7XG59O1xuXG4vKipcbiAqIEVuYWJsZSB0aGUgY29tYm8tYm94IGNvbXBvbmVudFxuICpcbiAqIEBwYXJhbSB7SFRNTElucHV0RWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGNvbWJvIGJveCBjb21wb25lbnRcbiAqL1xuY29uc3QgZW5hYmxlID0gKGVsKSA9PiB7XG4gIGNvbnN0IHsgaW5wdXRFbCwgdG9nZ2xlTGlzdEJ0bkVsLCBjbGVhcklucHV0QnRuRWwgfSA9IGdldENvbWJvQm94Q29udGV4dChlbCk7XG5cbiAgY2xlYXJJbnB1dEJ0bkVsLmhpZGRlbiA9IGZhbHNlO1xuICBjbGVhcklucHV0QnRuRWwuZGlzYWJsZWQgPSBmYWxzZTtcbiAgdG9nZ2xlTGlzdEJ0bkVsLmRpc2FibGVkID0gZmFsc2U7XG4gIGlucHV0RWwuZGlzYWJsZWQgPSBmYWxzZTtcbn07XG5cbi8qKlxuICogRW5oYW5jZSBhIHNlbGVjdCBlbGVtZW50IGludG8gYSBjb21ibyBib3ggY29tcG9uZW50LlxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IF9jb21ib0JveEVsIFRoZSBpbml0aWFsIGVsZW1lbnQgb2YgdGhlIGNvbWJvIGJveCBjb21wb25lbnRcbiAqL1xuY29uc3QgZW5oYW5jZUNvbWJvQm94ID0gKF9jb21ib0JveEVsKSA9PiB7XG4gIGNvbnN0IGNvbWJvQm94RWwgPSBfY29tYm9Cb3hFbC5jbG9zZXN0KENPTUJPX0JPWCk7XG5cbiAgaWYgKGNvbWJvQm94RWwuZGF0YXNldC5lbmhhbmNlZCkgcmV0dXJuO1xuXG4gIGNvbnN0IHNlbGVjdEVsID0gY29tYm9Cb3hFbC5xdWVyeVNlbGVjdG9yKFwic2VsZWN0XCIpO1xuXG4gIGlmICghc2VsZWN0RWwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYCR7Q09NQk9fQk9YfSBpcyBtaXNzaW5nIGlubmVyIHNlbGVjdGApO1xuICB9XG5cbiAgY29uc3Qgc2VsZWN0SWQgPSBzZWxlY3RFbC5pZDtcbiAgY29uc3Qgc2VsZWN0TGFiZWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBsYWJlbFtmb3I9XCIke3NlbGVjdElkfVwiXWApO1xuICBjb25zdCBsaXN0SWQgPSBgJHtzZWxlY3RJZH0tLWxpc3RgO1xuICBjb25zdCBsaXN0SWRMYWJlbCA9IGAke3NlbGVjdElkfS1sYWJlbGA7XG4gIGNvbnN0IGFkZGl0aW9uYWxBdHRyaWJ1dGVzID0gW107XG4gIGNvbnN0IHsgZGVmYXVsdFZhbHVlIH0gPSBjb21ib0JveEVsLmRhdGFzZXQ7XG4gIGNvbnN0IHsgcGxhY2Vob2xkZXIgfSA9IGNvbWJvQm94RWwuZGF0YXNldDtcbiAgbGV0IHNlbGVjdGVkT3B0aW9uO1xuXG4gIGlmIChwbGFjZWhvbGRlcikge1xuICAgIGFkZGl0aW9uYWxBdHRyaWJ1dGVzLnB1c2goeyBwbGFjZWhvbGRlciB9KTtcbiAgfVxuXG4gIGlmIChkZWZhdWx0VmFsdWUpIHtcbiAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gc2VsZWN0RWwub3B0aW9ucy5sZW5ndGg7IGkgPCBsZW47IGkgKz0gMSkge1xuICAgICAgY29uc3Qgb3B0aW9uRWwgPSBzZWxlY3RFbC5vcHRpb25zW2ldO1xuXG4gICAgICBpZiAob3B0aW9uRWwudmFsdWUgPT09IGRlZmF1bHRWYWx1ZSkge1xuICAgICAgICBzZWxlY3RlZE9wdGlvbiA9IG9wdGlvbkVsO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhyb3cgZXJyb3IgaWYgY29tYm9ib3ggaXMgbWlzc2luZyBhIGxhYmVsIG9yIGxhYmVsIGlzIG1pc3NpbmdcbiAgICogYGZvcmAgYXR0cmlidXRlLiBPdGhlcndpc2UsIHNldCB0aGUgSUQgdG8gbWF0Y2ggdGhlIDx1bD4gYXJpYS1sYWJlbGxlZGJ5XG4gICAqL1xuICBpZiAoIXNlbGVjdExhYmVsIHx8ICFzZWxlY3RMYWJlbC5tYXRjaGVzKGBsYWJlbFtmb3I9XCIke3NlbGVjdElkfVwiXWApKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYCR7Q09NQk9fQk9YfSBmb3IgJHtzZWxlY3RJZH0gaXMgZWl0aGVyIG1pc3NpbmcgYSBsYWJlbCBvciBhIFwiZm9yXCIgYXR0cmlidXRlYCxcbiAgICApO1xuICB9IGVsc2Uge1xuICAgIHNlbGVjdExhYmVsLnNldEF0dHJpYnV0ZShcImlkXCIsIGxpc3RJZExhYmVsKTtcbiAgfVxuXG4gIHNlbGVjdExhYmVsLnNldEF0dHJpYnV0ZShcImlkXCIsIGxpc3RJZExhYmVsKTtcbiAgc2VsZWN0RWwuc2V0QXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIiwgXCJ0cnVlXCIpO1xuICBzZWxlY3RFbC5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLCBcIi0xXCIpO1xuICBzZWxlY3RFbC5jbGFzc0xpc3QuYWRkKFwidXNhLXNyLW9ubHlcIiwgU0VMRUNUX0NMQVNTKTtcbiAgc2VsZWN0RWwuaWQgPSBcIlwiO1xuICBzZWxlY3RFbC52YWx1ZSA9IFwiXCI7XG5cbiAgW1wicmVxdWlyZWRcIiwgXCJhcmlhLWxhYmVsXCIsIFwiYXJpYS1sYWJlbGxlZGJ5XCJdLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICBpZiAoc2VsZWN0RWwuaGFzQXR0cmlidXRlKG5hbWUpKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHNlbGVjdEVsLmdldEF0dHJpYnV0ZShuYW1lKTtcbiAgICAgIGFkZGl0aW9uYWxBdHRyaWJ1dGVzLnB1c2goeyBbbmFtZV06IHZhbHVlIH0pO1xuICAgICAgc2VsZWN0RWwucmVtb3ZlQXR0cmlidXRlKG5hbWUpO1xuICAgIH1cbiAgfSk7XG5cbiAgLy8gc2FuaXRpemUgZG9lc24ndCBsaWtlIGZ1bmN0aW9ucyBpbiB0ZW1wbGF0ZSBsaXRlcmFsc1xuICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiKTtcbiAgaW5wdXQuc2V0QXR0cmlidXRlKFwiaWRcIiwgc2VsZWN0SWQpO1xuICBpbnB1dC5zZXRBdHRyaWJ1dGUoXCJhcmlhLW93bnNcIiwgbGlzdElkKTtcbiAgaW5wdXQuc2V0QXR0cmlidXRlKFwiYXJpYS1jb250cm9sc1wiLCBsaXN0SWQpO1xuICBpbnB1dC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWF1dG9jb21wbGV0ZVwiLCBcImxpc3RcIik7XG4gIGlucHV0LnNldEF0dHJpYnV0ZShcImFyaWEtZXhwYW5kZWRcIiwgXCJmYWxzZVwiKTtcbiAgaW5wdXQuc2V0QXR0cmlidXRlKFwiYXV0b2NhcGl0YWxpemVcIiwgXCJvZmZcIik7XG4gIGlucHV0LnNldEF0dHJpYnV0ZShcImF1dG9jb21wbGV0ZVwiLCBcIm9mZlwiKTtcbiAgaW5wdXQuc2V0QXR0cmlidXRlKFwiY2xhc3NcIiwgSU5QVVRfQ0xBU1MpO1xuICBpbnB1dC5zZXRBdHRyaWJ1dGUoXCJ0eXBlXCIsIFwidGV4dFwiKTtcbiAgaW5wdXQuc2V0QXR0cmlidXRlKFwicm9sZVwiLCBcImNvbWJvYm94XCIpO1xuICBhZGRpdGlvbmFsQXR0cmlidXRlcy5mb3JFYWNoKChhdHRyKSA9PlxuICAgIE9iamVjdC5rZXlzKGF0dHIpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSBTYW5pdGl6ZXIuZXNjYXBlSFRNTGAke2F0dHJba2V5XX1gO1xuICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKGtleSwgdmFsdWUpO1xuICAgIH0pLFxuICApO1xuXG4gIGNvbWJvQm94RWwuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KFwiYmVmb3JlZW5kXCIsIGlucHV0KTtcblxuICBjb21ib0JveEVsLmluc2VydEFkamFjZW50SFRNTChcbiAgICBcImJlZm9yZWVuZFwiLFxuICAgIFNhbml0aXplci5lc2NhcGVIVE1MYFxuICAgIDxzcGFuIGNsYXNzPVwiJHtDTEVBUl9JTlBVVF9CVVRUT05fV1JBUFBFUl9DTEFTU31cIiB0YWJpbmRleD1cIi0xXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiJHtDTEVBUl9JTlBVVF9CVVRUT05fQ0xBU1N9XCIgYXJpYS1sYWJlbD1cIkNsZWFyIHRoZSBzZWxlY3QgY29udGVudHNcIj4mbmJzcDs8L2J1dHRvbj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiJHtJTlBVVF9CVVRUT05fU0VQQVJBVE9SX0NMQVNTfVwiPiZuYnNwOzwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiJHtUT0dHTEVfTElTVF9CVVRUT05fV1JBUFBFUl9DTEFTU31cIiB0YWJpbmRleD1cIi0xXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiLTFcIiBjbGFzcz1cIiR7VE9HR0xFX0xJU1RfQlVUVE9OX0NMQVNTfVwiIGFyaWEtbGFiZWw9XCJUb2dnbGUgdGhlIGRyb3Bkb3duIGxpc3RcIj4mbmJzcDs8L2J1dHRvbj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDx1bFxuICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgaWQ9XCIke2xpc3RJZH1cIlxuICAgICAgICBjbGFzcz1cIiR7TElTVF9DTEFTU31cIlxuICAgICAgICByb2xlPVwibGlzdGJveFwiXG4gICAgICAgIGFyaWEtbGFiZWxsZWRieT1cIiR7bGlzdElkTGFiZWx9XCJcbiAgICAgICAgaGlkZGVuPlxuICAgICAgPC91bD5cbiAgICAgIDxkaXYgY2xhc3M9XCIke1NUQVRVU19DTEFTU30gdXNhLXNyLW9ubHlcIiByb2xlPVwic3RhdHVzXCI+PC9kaXY+YCxcbiAgKTtcblxuICBpZiAoc2VsZWN0ZWRPcHRpb24pIHtcbiAgICBjb25zdCB7IGlucHV0RWwgfSA9IGdldENvbWJvQm94Q29udGV4dChjb21ib0JveEVsKTtcbiAgICBjaGFuZ2VFbGVtZW50VmFsdWUoc2VsZWN0RWwsIHNlbGVjdGVkT3B0aW9uLnZhbHVlKTtcbiAgICBjaGFuZ2VFbGVtZW50VmFsdWUoaW5wdXRFbCwgc2VsZWN0ZWRPcHRpb24udGV4dCk7XG4gICAgY29tYm9Cb3hFbC5jbGFzc0xpc3QuYWRkKENPTUJPX0JPWF9QUklTVElORV9DTEFTUyk7XG4gIH1cblxuICBpZiAoc2VsZWN0RWwuZGlzYWJsZWQpIHtcbiAgICBkaXNhYmxlKGNvbWJvQm94RWwpO1xuICAgIHNlbGVjdEVsLmRpc2FibGVkID0gZmFsc2U7XG4gIH1cblxuICBpZiAoc2VsZWN0RWwuaGFzQXR0cmlidXRlKFwiYXJpYS1kaXNhYmxlZFwiKSkge1xuICAgIGFyaWFEaXNhYmxlKGNvbWJvQm94RWwpO1xuICAgIHNlbGVjdEVsLnJlbW92ZUF0dHJpYnV0ZShcImFyaWEtZGlzYWJsZWRcIik7XG4gIH1cblxuICBjb21ib0JveEVsLmRhdGFzZXQuZW5oYW5jZWQgPSBcInRydWVcIjtcbn07XG5cbi8qKlxuICogTWFuYWdlIHRoZSBmb2N1c2VkIGVsZW1lbnQgd2l0aGluIHRoZSBsaXN0IG9wdGlvbnMgd2hlblxuICogbmF2aWdhdGluZyB2aWEga2V5Ym9hcmQuXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgQW4gYW5jaG9yIGVsZW1lbnQgd2l0aGluIHRoZSBjb21ibyBib3ggY29tcG9uZW50XG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBuZXh0RWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGNvbWJvIGJveCBjb21wb25lbnRcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIG9wdGlvbnNcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5za2lwRm9jdXMgc2tpcCBmb2N1cyBvZiBoaWdobGlnaHRlZCBpdGVtXG4gKiBAcGFyYW0ge2Jvb2xlYW59IG9wdGlvbnMucHJldmVudFNjcm9sbCBzaG91bGQgc2tpcCBwcm9jZWR1cmUgdG8gc2Nyb2xsIHRvIGVsZW1lbnRcbiAqL1xuY29uc3QgaGlnaGxpZ2h0T3B0aW9uID0gKGVsLCBuZXh0RWwsIHsgc2tpcEZvY3VzLCBwcmV2ZW50U2Nyb2xsIH0gPSB7fSkgPT4ge1xuICBjb25zdCB7IGlucHV0RWwsIGxpc3RFbCwgZm9jdXNlZE9wdGlvbkVsIH0gPSBnZXRDb21ib0JveENvbnRleHQoZWwpO1xuXG4gIGlmIChmb2N1c2VkT3B0aW9uRWwpIHtcbiAgICBmb2N1c2VkT3B0aW9uRWwuY2xhc3NMaXN0LnJlbW92ZShMSVNUX09QVElPTl9GT0NVU0VEX0NMQVNTKTtcbiAgICBmb2N1c2VkT3B0aW9uRWwuc2V0QXR0cmlidXRlKFwidGFiSW5kZXhcIiwgXCItMVwiKTtcbiAgfVxuXG4gIGlmIChuZXh0RWwpIHtcbiAgICBpbnB1dEVsLnNldEF0dHJpYnV0ZShcImFyaWEtYWN0aXZlZGVzY2VuZGFudFwiLCBuZXh0RWwuaWQpO1xuICAgIG5leHRFbC5zZXRBdHRyaWJ1dGUoXCJ0YWJJbmRleFwiLCBcIjBcIik7XG4gICAgbmV4dEVsLmNsYXNzTGlzdC5hZGQoTElTVF9PUFRJT05fRk9DVVNFRF9DTEFTUyk7XG5cbiAgICBpZiAoIXByZXZlbnRTY3JvbGwpIHtcbiAgICAgIGNvbnN0IG9wdGlvbkJvdHRvbSA9IG5leHRFbC5vZmZzZXRUb3AgKyBuZXh0RWwub2Zmc2V0SGVpZ2h0O1xuICAgICAgY29uc3QgY3VycmVudEJvdHRvbSA9IGxpc3RFbC5zY3JvbGxUb3AgKyBsaXN0RWwub2Zmc2V0SGVpZ2h0O1xuXG4gICAgICBpZiAob3B0aW9uQm90dG9tID4gY3VycmVudEJvdHRvbSkge1xuICAgICAgICBsaXN0RWwuc2Nyb2xsVG9wID0gb3B0aW9uQm90dG9tIC0gbGlzdEVsLm9mZnNldEhlaWdodDtcbiAgICAgIH1cblxuICAgICAgaWYgKG5leHRFbC5vZmZzZXRUb3AgPCBsaXN0RWwuc2Nyb2xsVG9wKSB7XG4gICAgICAgIGxpc3RFbC5zY3JvbGxUb3AgPSBuZXh0RWwub2Zmc2V0VG9wO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghc2tpcEZvY3VzKSB7XG4gICAgICBuZXh0RWwuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsIH0pO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpbnB1dEVsLnNldEF0dHJpYnV0ZShcImFyaWEtYWN0aXZlZGVzY2VuZGFudFwiLCBcIlwiKTtcbiAgICBpbnB1dEVsLmZvY3VzKCk7XG4gIH1cbn07XG5cbi8qKlxuICogR2VuZXJhdGUgYSBkeW5hbWljIHJlZ3VsYXIgZXhwcmVzc2lvbiBiYXNlZCBvZmYgb2YgYSByZXBsYWNlYWJsZSBhbmQgcG9zc2libHkgZmlsdGVyZWQgdmFsdWUuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBjb21ibyBib3ggY29tcG9uZW50XG4gKiBAcGFyYW0ge3N0cmluZ30gcXVlcnkgVGhlIHZhbHVlIHRvIHVzZSBpbiB0aGUgcmVndWxhciBleHByZXNzaW9uXG4gKiBAcGFyYW0ge29iamVjdH0gZXh0cmFzIEFuIG9iamVjdCBvZiByZWd1bGFyIGV4cHJlc3Npb25zIHRvIHJlcGxhY2UgYW5kIGZpbHRlciB0aGUgcXVlcnlcbiAqL1xuY29uc3QgZ2VuZXJhdGVEeW5hbWljUmVnRXhwID0gKGZpbHRlciwgcXVlcnkgPSBcIlwiLCBleHRyYXMgPSB7fSkgPT4ge1xuICBjb25zdCBlc2NhcGVSZWdFeHAgPSAodGV4dCkgPT5cbiAgICB0ZXh0LnJlcGxhY2UoL1stW1xcXXt9KCkqKz8uLFxcXFxeJHwjXFxzXS9nLCBcIlxcXFwkJlwiKTtcblxuICBsZXQgZmluZCA9IGZpbHRlci5yZXBsYWNlKC97eyguKj8pfX0vZywgKG0sICQxKSA9PiB7XG4gICAgY29uc3Qga2V5ID0gJDEudHJpbSgpO1xuICAgIGNvbnN0IHF1ZXJ5RmlsdGVyID0gZXh0cmFzW2tleV07XG4gICAgaWYgKGtleSAhPT0gXCJxdWVyeVwiICYmIHF1ZXJ5RmlsdGVyKSB7XG4gICAgICBjb25zdCBtYXRjaGVyID0gbmV3IFJlZ0V4cChxdWVyeUZpbHRlciwgXCJpXCIpO1xuICAgICAgY29uc3QgbWF0Y2hlcyA9IHF1ZXJ5Lm1hdGNoKG1hdGNoZXIpO1xuXG4gICAgICBpZiAobWF0Y2hlcykge1xuICAgICAgICByZXR1cm4gZXNjYXBlUmVnRXhwKG1hdGNoZXNbMV0pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gXCJcIjtcbiAgICB9XG4gICAgcmV0dXJuIGVzY2FwZVJlZ0V4cChxdWVyeSk7XG4gIH0pO1xuXG4gIGZpbmQgPSBgXig/OiR7ZmluZH0pJGA7XG5cbiAgcmV0dXJuIG5ldyBSZWdFeHAoZmluZCwgXCJpXCIpO1xufTtcblxuLyoqXG4gKiBEaXNwbGF5IHRoZSBvcHRpb24gbGlzdCBvZiBhIGNvbWJvIGJveCBjb21wb25lbnQuXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGNvbWJvIGJveCBjb21wb25lbnRcbiAqL1xuY29uc3QgZGlzcGxheUxpc3QgPSAoZWwpID0+IHtcbiAgY29uc3Qge1xuICAgIGNvbWJvQm94RWwsXG4gICAgc2VsZWN0RWwsXG4gICAgaW5wdXRFbCxcbiAgICBsaXN0RWwsXG4gICAgc3RhdHVzRWwsXG4gICAgaXNQcmlzdGluZSxcbiAgICBkaXNhYmxlRmlsdGVyaW5nLFxuICB9ID0gZ2V0Q29tYm9Cb3hDb250ZXh0KGVsKTtcbiAgbGV0IHNlbGVjdGVkSXRlbUlkO1xuICBsZXQgZmlyc3RGb3VuZElkO1xuXG4gIGNvbnN0IGxpc3RPcHRpb25CYXNlSWQgPSBgJHtsaXN0RWwuaWR9LS1vcHRpb24tYDtcblxuICBjb25zdCBpbnB1dFZhbHVlID0gKGlucHV0RWwudmFsdWUgfHwgXCJcIikudG9Mb3dlckNhc2UoKTtcbiAgY29uc3QgZmlsdGVyID0gY29tYm9Cb3hFbC5kYXRhc2V0LmZpbHRlciB8fCBERUZBVUxUX0ZJTFRFUjtcbiAgY29uc3QgcmVnZXggPSBnZW5lcmF0ZUR5bmFtaWNSZWdFeHAoZmlsdGVyLCBpbnB1dFZhbHVlLCBjb21ib0JveEVsLmRhdGFzZXQpO1xuXG4gIGxldCBvcHRpb25zID0gW107XG4gIGNvbnN0IG9wdGlvbnNTdGFydHNXaXRoID0gW107XG4gIGNvbnN0IG9wdGlvbnNDb250YWlucyA9IFtdO1xuICBjb25zdCBvcHRpb25MaXN0ID0gWy4uLnNlbGVjdEVsLm9wdGlvbnNdO1xuXG4gIC8qKlxuICAgKiBCdWlsZHMgYW5kIHNvcnRzIG9wdGlvbnMgYXJyYXkuXG4gICAqXG4gICAqIE9wdGlvbiBwYXJhbSBpcyBwYXNzZWQgdGhyb3VnaCByZWdleCB0ZXN0IGJlZm9yZSBwYXNzaW5nIGludG8gdGhpcyBmdW5jdGlvbi5cbiAgICogV2hlbiBmaWx0ZXJpbmcgaXMgZW5hYmxlZCwgdGhlIGFycmF5IHdpbGwgYmUgc29ydGVkIGJ5IG9wdGlvbnMgdGhhdCBzdGFydCB3aXRoIHRoZSBxdWVyeSwgZm9sbG93ZWQgYnlcbiAgICogb3B0aW9ucyB0aGF0IGNvbnRhaW4gdGhlIHF1ZXJ5LlxuICAgKiBXaGVuIGZpbHRlcmluZyBpcyBkaXNhYmxlZCwgYWxsIG9wdGlvbnMgd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgYXJyYXkgdW5zb3J0ZWQuXG4gICAqXG4gICAqIFRoZXNlIGFycmF5IGl0ZW1zIHdpbGwgcG9wdWxhdGUgdGhlIGxpc3QgdGhhdCBpcyBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIgYWZ0ZXIgYSBzZWFyY2ggcXVlcnkgaXMgZW50ZXJlZC5cbiAgICogQXJyYXkgYXR0cmlidXRlcyBhcmUgYWxzbyB1c2VkIHRvIHNldCBvcHRpb24gSURzIGFuZCBhcmlhLXNldHNpemUgYXR0cmlidXRlcy5cbiAgICpcbiAgICogQHBhcmFtIHtIVE1MT3B0aW9uRWxlbWVudH0gb3B0aW9uIC0gT3B0aW9uIGVsZW1lbnQgZnJvbSBzZWxlY3QgYXJyYXlcbiAgICovXG4gIGNvbnN0IGJ1aWxkT3B0aW9uc0FycmF5ID0gKG9wdGlvbikgPT4ge1xuICAgIGlmIChkaXNhYmxlRmlsdGVyaW5nIHx8IGlzUHJpc3RpbmUpIHtcbiAgICAgIG9wdGlvbnMucHVzaChvcHRpb24pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1hdGNoU3RhcnRzV2l0aCA9IG9wdGlvbi50ZXh0LnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChpbnB1dFZhbHVlKTtcblxuICAgIGlmIChtYXRjaFN0YXJ0c1dpdGgpIHtcbiAgICAgIG9wdGlvbnNTdGFydHNXaXRoLnB1c2gob3B0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3B0aW9uc0NvbnRhaW5zLnB1c2gob3B0aW9uKTtcbiAgICB9XG5cbiAgICBvcHRpb25zID0gWy4uLm9wdGlvbnNTdGFydHNXaXRoLCAuLi5vcHRpb25zQ29udGFpbnNdO1xuICB9O1xuXG4gIC8qKlxuICAgKiBDb21wYXJlcyBvcHRpb24gdGV4dCB0byBxdWVyeSB1c2luZyBnZW5lcmF0ZWQgcmVnZXggZmlsdGVyLlxuICAgKlxuICAgKiBAcGFyYW0ge0hUTUxPcHRpb25FbGVtZW50fSBvcHRpb25cbiAgICogQHJldHVybnMge2Jvb2xlYW59IC0gVHJ1ZSB3aGVuIG9wdGlvbiB0ZXh0IG1hdGNoZXMgdXNlciBpbnB1dCBxdWVyeS5cbiAgICovXG4gIGNvbnN0IG9wdGlvbk1hdGNoZXNRdWVyeSA9IChvcHRpb24pID0+IHJlZ2V4LnRlc3Qob3B0aW9uLnRleHQpO1xuXG4gIC8qKlxuICAgKiBMb2dpYyBjaGVjayB0byBkZXRlcm1pbmUgaWYgb3B0aW9ucyBhcnJheSBuZWVkcyB0byBiZSB1cGRhdGVkLlxuICAgKlxuICAgKiBAcGFyYW0ge0hUTUxPcHRpb25FbGVtZW50fSBvcHRpb25cbiAgICogQHJldHVybnMge2Jvb2xlYW59IC0gVHJ1ZSB3aGVuIG9wdGlvbiBoYXMgdmFsdWUgJiYgaWYgZmlsdGVyaW5nIGlzIGRpc2FibGVkLCBjb21ibyBib3ggaGFzIGFuIGFjdGl2ZSBzZWxlY3Rpb24sXG4gICAqIHRoZXJlIGlzIG5vIGlucHV0VmFsdWUsIG9yIGlmIG9wdGlvbiBtYXRjaGVzIHVzZXIgcXVlcnlcbiAgICovXG4gIGNvbnN0IGFycmF5TmVlZHNVcGRhdGUgPSAob3B0aW9uKSA9PlxuICAgIG9wdGlvbi52YWx1ZSAmJlxuICAgIChkaXNhYmxlRmlsdGVyaW5nIHx8XG4gICAgICBpc1ByaXN0aW5lIHx8XG4gICAgICAhaW5wdXRWYWx1ZSB8fFxuICAgICAgb3B0aW9uTWF0Y2hlc1F1ZXJ5KG9wdGlvbikpO1xuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgZmlyc3RGb3VuZElkIHNob3VsZCBiZSBhc3NpZ25lZCwgd2hpY2ggaXMgdGhlbiB1c2VkIHRvIHNldCBpdGVtVG9Gb2N1cy5cbiAgICpcbiAgICogQHBhcmFtIHtIVE1MT3B0aW9uRWxlbWVudH0gb3B0aW9uXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIGZpbHRlcmluZyBpcyBkaXNhYmxlZCwgbm8gZmlyc3RGb3VuZElkIGlzIGFzc2lnbmVkLCBhbmQgdGhlIG9wdGlvbiBtYXRjaGVzIHRoZSBxdWVyeS5cbiAgICovXG4gIGNvbnN0IGlzRmlyc3RNYXRjaCA9IChvcHRpb24pID0+XG4gICAgZGlzYWJsZUZpbHRlcmluZyAmJiAhZmlyc3RGb3VuZElkICYmIG9wdGlvbk1hdGNoZXNRdWVyeShvcHRpb24pO1xuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgaXNDdXJyZW50U2VsZWN0aW9uIHNob3VsZCBiZSBhc3NpZ25lZCwgd2hpY2ggaXMgdGhlbiB1c2VkIHRvIHNldCBpdGVtVG9Gb2N1cy5cbiAgICpcbiAgICogQHBhcmFtIHtIVE1MT3B0aW9uRWxlbWVudH0gb3B0aW9uXG4gICAqIEByZXR1cm5zIHtib29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiBvcHRpb24udmFsdWUgbWF0Y2hlcyBzZWxlY3RFbC52YWx1ZS5cbiAgICovXG4gIGNvbnN0IGlzQ3VycmVudFNlbGVjdGlvbiA9IChvcHRpb24pID0+XG4gICAgc2VsZWN0RWwudmFsdWUgJiYgb3B0aW9uLnZhbHVlID09PSBzZWxlY3RFbC52YWx1ZTtcblxuICAvKipcbiAgICogVXBkYXRlIHRoZSBhcnJheSBvZiBvcHRpb25zIHRoYXQgc2hvdWxkIGJlIGRpc3BsYXllZCBvbiB0aGUgcGFnZS5cbiAgICogQXNzaWduIGFuIElEIHRvIGVhY2ggZGlzcGxheWVkIG9wdGlvbi5cbiAgICogSWRlbnRpZnkgYW5kIGFzc2lnbiB0aGUgb3B0aW9uIHRoYXQgc2hvdWxkIHJlY2VpdmUgZm9jdXMuXG4gICAqL1xuICBvcHRpb25MaXN0LmZvckVhY2goKG9wdGlvbikgPT4ge1xuICAgIGlmIChhcnJheU5lZWRzVXBkYXRlKG9wdGlvbikpIHtcbiAgICAgIGJ1aWxkT3B0aW9uc0FycmF5KG9wdGlvbik7XG5cbiAgICAgIGNvbnN0IG9wdGlvbklkID0gYCR7bGlzdE9wdGlvbkJhc2VJZH0ke29wdGlvbnMuaW5kZXhPZihvcHRpb24pfWA7XG5cbiAgICAgIGlmIChpc0ZpcnN0TWF0Y2gob3B0aW9uKSkge1xuICAgICAgICBmaXJzdEZvdW5kSWQgPSBvcHRpb25JZDtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzQ3VycmVudFNlbGVjdGlvbihvcHRpb24pKSB7XG4gICAgICAgIHNlbGVjdGVkSXRlbUlkID0gb3B0aW9uSWQ7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICBjb25zdCBudW1PcHRpb25zID0gb3B0aW9ucy5sZW5ndGg7XG4gIGNvbnN0IG9wdGlvbkh0bWwgPSBvcHRpb25zLm1hcCgob3B0aW9uLCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IG9wdGlvbklkID0gYCR7bGlzdE9wdGlvbkJhc2VJZH0ke2luZGV4fWA7XG4gICAgY29uc3QgY2xhc3NlcyA9IFtMSVNUX09QVElPTl9DTEFTU107XG4gICAgbGV0IHRhYmluZGV4ID0gXCItMVwiO1xuICAgIGxldCBhcmlhU2VsZWN0ZWQgPSBcImZhbHNlXCI7XG5cbiAgICBpZiAob3B0aW9uSWQgPT09IHNlbGVjdGVkSXRlbUlkKSB7XG4gICAgICBjbGFzc2VzLnB1c2goTElTVF9PUFRJT05fU0VMRUNURURfQ0xBU1MsIExJU1RfT1BUSU9OX0ZPQ1VTRURfQ0xBU1MpO1xuICAgICAgdGFiaW5kZXggPSBcIjBcIjtcbiAgICAgIGFyaWFTZWxlY3RlZCA9IFwidHJ1ZVwiO1xuICAgIH1cblxuICAgIGlmICghc2VsZWN0ZWRJdGVtSWQgJiYgaW5kZXggPT09IDApIHtcbiAgICAgIGNsYXNzZXMucHVzaChMSVNUX09QVElPTl9GT0NVU0VEX0NMQVNTKTtcbiAgICAgIHRhYmluZGV4ID0gXCIwXCI7XG4gICAgfVxuXG4gICAgY29uc3QgbGkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwibGlcIik7XG5cbiAgICBsaS5zZXRBdHRyaWJ1dGUoXCJhcmlhLXNldHNpemVcIiwgb3B0aW9ucy5sZW5ndGgpO1xuICAgIGxpLnNldEF0dHJpYnV0ZShcImFyaWEtcG9zaW5zZXRcIiwgaW5kZXggKyAxKTtcbiAgICBsaS5zZXRBdHRyaWJ1dGUoXCJhcmlhLXNlbGVjdGVkXCIsIGFyaWFTZWxlY3RlZCk7XG4gICAgbGkuc2V0QXR0cmlidXRlKFwiaWRcIiwgb3B0aW9uSWQpO1xuICAgIGxpLnNldEF0dHJpYnV0ZShcImNsYXNzXCIsIGNsYXNzZXMuam9pbihcIiBcIikpO1xuICAgIGxpLnNldEF0dHJpYnV0ZShcInRhYmluZGV4XCIsIHRhYmluZGV4KTtcbiAgICBsaS5zZXRBdHRyaWJ1dGUoXCJyb2xlXCIsIFwib3B0aW9uXCIpO1xuICAgIGxpLnNldEF0dHJpYnV0ZShcImRhdGEtdmFsdWVcIiwgb3B0aW9uLnZhbHVlKTtcbiAgICBsaS50ZXh0Q29udGVudCA9IG9wdGlvbi50ZXh0O1xuXG4gICAgcmV0dXJuIGxpO1xuICB9KTtcblxuICBjb25zdCBub1Jlc3VsdHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwibGlcIik7XG4gIG5vUmVzdWx0cy5zZXRBdHRyaWJ1dGUoXCJjbGFzc1wiLCBgJHtMSVNUX09QVElPTl9DTEFTU30tLW5vLXJlc3VsdHNgKTtcbiAgbm9SZXN1bHRzLnRleHRDb250ZW50ID0gXCJObyByZXN1bHRzIGZvdW5kXCI7XG5cbiAgbGlzdEVsLmhpZGRlbiA9IGZhbHNlO1xuXG4gIGlmIChudW1PcHRpb25zKSB7XG4gICAgbGlzdEVsLmlubmVySFRNTCA9IFwiXCI7XG4gICAgb3B0aW9uSHRtbC5mb3JFYWNoKChpdGVtKSA9PlxuICAgICAgbGlzdEVsLmluc2VydEFkamFjZW50RWxlbWVudChcImJlZm9yZWVuZFwiLCBpdGVtKSxcbiAgICApO1xuICB9IGVsc2Uge1xuICAgIGxpc3RFbC5pbm5lckhUTUwgPSBcIlwiO1xuICAgIGxpc3RFbC5pbnNlcnRBZGphY2VudEVsZW1lbnQoXCJiZWZvcmVlbmRcIiwgbm9SZXN1bHRzKTtcbiAgfVxuXG4gIGlucHV0RWwuc2V0QXR0cmlidXRlKFwiYXJpYS1leHBhbmRlZFwiLCBcInRydWVcIik7XG5cbiAgc3RhdHVzRWwudGV4dENvbnRlbnQgPSBudW1PcHRpb25zXG4gICAgPyBgJHtudW1PcHRpb25zfSByZXN1bHQke251bU9wdGlvbnMgPiAxID8gXCJzXCIgOiBcIlwifSBhdmFpbGFibGUuYFxuICAgIDogXCJObyByZXN1bHRzLlwiO1xuXG4gIGxldCBpdGVtVG9Gb2N1cztcblxuICBpZiAoaXNQcmlzdGluZSAmJiBzZWxlY3RlZEl0ZW1JZCkge1xuICAgIGl0ZW1Ub0ZvY3VzID0gbGlzdEVsLnF1ZXJ5U2VsZWN0b3IoYCMke3NlbGVjdGVkSXRlbUlkfWApO1xuICB9IGVsc2UgaWYgKGRpc2FibGVGaWx0ZXJpbmcgJiYgZmlyc3RGb3VuZElkKSB7XG4gICAgaXRlbVRvRm9jdXMgPSBsaXN0RWwucXVlcnlTZWxlY3RvcihgIyR7Zmlyc3RGb3VuZElkfWApO1xuICB9XG5cbiAgaWYgKGl0ZW1Ub0ZvY3VzKSB7XG4gICAgaGlnaGxpZ2h0T3B0aW9uKGxpc3RFbCwgaXRlbVRvRm9jdXMsIHtcbiAgICAgIHNraXBGb2N1czogdHJ1ZSxcbiAgICB9KTtcbiAgfVxufTtcblxuLyoqXG4gKiBIaWRlIHRoZSBvcHRpb24gbGlzdCBvZiBhIGNvbWJvIGJveCBjb21wb25lbnQuXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGNvbWJvIGJveCBjb21wb25lbnRcbiAqL1xuY29uc3QgaGlkZUxpc3QgPSAoZWwpID0+IHtcbiAgY29uc3QgeyBpbnB1dEVsLCBsaXN0RWwsIHN0YXR1c0VsLCBmb2N1c2VkT3B0aW9uRWwgfSA9IGdldENvbWJvQm94Q29udGV4dChlbCk7XG5cbiAgc3RhdHVzRWwuaW5uZXJIVE1MID0gXCJcIjtcblxuICBpbnB1dEVsLnNldEF0dHJpYnV0ZShcImFyaWEtZXhwYW5kZWRcIiwgXCJmYWxzZVwiKTtcbiAgaW5wdXRFbC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnRcIiwgXCJcIik7XG5cbiAgaWYgKGZvY3VzZWRPcHRpb25FbCkge1xuICAgIGZvY3VzZWRPcHRpb25FbC5jbGFzc0xpc3QucmVtb3ZlKExJU1RfT1BUSU9OX0ZPQ1VTRURfQ0xBU1MpO1xuICB9XG5cbiAgbGlzdEVsLnNjcm9sbFRvcCA9IDA7XG4gIGxpc3RFbC5oaWRkZW4gPSB0cnVlO1xufTtcblxuLyoqXG4gKiBTZWxlY3QgYW4gb3B0aW9uIGxpc3Qgb2YgdGhlIGNvbWJvIGJveCBjb21wb25lbnQuXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gbGlzdE9wdGlvbkVsIFRoZSBsaXN0IG9wdGlvbiBiZWluZyBzZWxlY3RlZFxuICovXG5jb25zdCBzZWxlY3RJdGVtID0gKGxpc3RPcHRpb25FbCkgPT4ge1xuICBjb25zdCB7IGNvbWJvQm94RWwsIHNlbGVjdEVsLCBpbnB1dEVsIH0gPSBnZXRDb21ib0JveENvbnRleHQobGlzdE9wdGlvbkVsKTtcblxuICBjaGFuZ2VFbGVtZW50VmFsdWUoc2VsZWN0RWwsIGxpc3RPcHRpb25FbC5kYXRhc2V0LnZhbHVlKTtcbiAgY2hhbmdlRWxlbWVudFZhbHVlKGlucHV0RWwsIGxpc3RPcHRpb25FbC50ZXh0Q29udGVudCk7XG4gIGNvbWJvQm94RWwuY2xhc3NMaXN0LmFkZChDT01CT19CT1hfUFJJU1RJTkVfQ0xBU1MpO1xuICBoaWRlTGlzdChjb21ib0JveEVsKTtcbiAgaW5wdXRFbC5mb2N1cygpO1xufTtcblxuLyoqXG4gKiBDbGVhciB0aGUgaW5wdXQgb2YgdGhlIGNvbWJvIGJveFxuICpcbiAqIEBwYXJhbSB7SFRNTEJ1dHRvbkVsZW1lbnR9IGNsZWFyQnV0dG9uRWwgVGhlIGNsZWFyIGlucHV0IGJ1dHRvblxuICovXG5jb25zdCBjbGVhcklucHV0ID0gKGNsZWFyQnV0dG9uRWwpID0+IHtcbiAgY29uc3QgeyBjb21ib0JveEVsLCBsaXN0RWwsIHNlbGVjdEVsLCBpbnB1dEVsIH0gPVxuICAgIGdldENvbWJvQm94Q29udGV4dChjbGVhckJ1dHRvbkVsKTtcbiAgY29uc3QgbGlzdFNob3duID0gIWxpc3RFbC5oaWRkZW47XG5cbiAgaWYgKHNlbGVjdEVsLnZhbHVlKSBjaGFuZ2VFbGVtZW50VmFsdWUoc2VsZWN0RWwpO1xuICBpZiAoaW5wdXRFbC52YWx1ZSkgY2hhbmdlRWxlbWVudFZhbHVlKGlucHV0RWwpO1xuICBjb21ib0JveEVsLmNsYXNzTGlzdC5yZW1vdmUoQ09NQk9fQk9YX1BSSVNUSU5FX0NMQVNTKTtcblxuICBpZiAobGlzdFNob3duKSBkaXNwbGF5TGlzdChjb21ib0JveEVsKTtcbiAgaW5wdXRFbC5mb2N1cygpO1xufTtcblxuLyoqXG4gKiBSZXNldCB0aGUgc2VsZWN0IGJhc2VkIG9mZiBvZiBjdXJyZW50bHkgc2V0IHNlbGVjdCB2YWx1ZVxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBjb21ibyBib3ggY29tcG9uZW50XG4gKi9cbmNvbnN0IHJlc2V0U2VsZWN0aW9uID0gKGVsKSA9PiB7XG4gIGNvbnN0IHsgY29tYm9Cb3hFbCwgc2VsZWN0RWwsIGlucHV0RWwgfSA9IGdldENvbWJvQm94Q29udGV4dChlbCk7XG5cbiAgY29uc3Qgc2VsZWN0VmFsdWUgPSBzZWxlY3RFbC52YWx1ZTtcbiAgY29uc3QgaW5wdXRWYWx1ZSA9IChpbnB1dEVsLnZhbHVlIHx8IFwiXCIpLnRvTG93ZXJDYXNlKCk7XG5cbiAgaWYgKHNlbGVjdFZhbHVlKSB7XG4gICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IHNlbGVjdEVsLm9wdGlvbnMubGVuZ3RoOyBpIDwgbGVuOyBpICs9IDEpIHtcbiAgICAgIGNvbnN0IG9wdGlvbkVsID0gc2VsZWN0RWwub3B0aW9uc1tpXTtcbiAgICAgIGlmIChvcHRpb25FbC52YWx1ZSA9PT0gc2VsZWN0VmFsdWUpIHtcbiAgICAgICAgaWYgKGlucHV0VmFsdWUgIT09IG9wdGlvbkVsLnRleHQpIHtcbiAgICAgICAgICBjaGFuZ2VFbGVtZW50VmFsdWUoaW5wdXRFbCwgb3B0aW9uRWwudGV4dCk7XG4gICAgICAgIH1cbiAgICAgICAgY29tYm9Cb3hFbC5jbGFzc0xpc3QuYWRkKENPTUJPX0JPWF9QUklTVElORV9DTEFTUyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAoaW5wdXRWYWx1ZSkge1xuICAgIGNoYW5nZUVsZW1lbnRWYWx1ZShpbnB1dEVsKTtcbiAgfVxufTtcblxuLyoqXG4gKiBTZWxlY3QgYW4gb3B0aW9uIGxpc3Qgb2YgdGhlIGNvbWJvIGJveCBjb21wb25lbnQgYmFzZWQgb2ZmIG9mXG4gKiBoYXZpbmcgYSBjdXJyZW50IGZvY3VzZWQgbGlzdCBvcHRpb24gb3JcbiAqIGhhdmluZyB0ZXN0IHRoYXQgY29tcGxldGVseSBtYXRjaGVzIGEgbGlzdCBvcHRpb24uXG4gKiBPdGhlcndpc2UgaXQgY2xlYXJzIHRoZSBpbnB1dCBhbmQgc2VsZWN0LlxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBjb21ibyBib3ggY29tcG9uZW50XG4gKi9cbmNvbnN0IGNvbXBsZXRlU2VsZWN0aW9uID0gKGVsKSA9PiB7XG4gIGNvbnN0IHsgY29tYm9Cb3hFbCwgc2VsZWN0RWwsIGlucHV0RWwsIHN0YXR1c0VsIH0gPSBnZXRDb21ib0JveENvbnRleHQoZWwpO1xuXG4gIHN0YXR1c0VsLnRleHRDb250ZW50ID0gXCJcIjtcblxuICBjb25zdCBpbnB1dFZhbHVlID0gKGlucHV0RWwudmFsdWUgfHwgXCJcIikudG9Mb3dlckNhc2UoKTtcblxuICBpZiAoaW5wdXRWYWx1ZSkge1xuICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSBzZWxlY3RFbC5vcHRpb25zLmxlbmd0aDsgaSA8IGxlbjsgaSArPSAxKSB7XG4gICAgICBjb25zdCBvcHRpb25FbCA9IHNlbGVjdEVsLm9wdGlvbnNbaV07XG4gICAgICBpZiAob3B0aW9uRWwudGV4dC50b0xvd2VyQ2FzZSgpID09PSBpbnB1dFZhbHVlKSB7XG4gICAgICAgIGNoYW5nZUVsZW1lbnRWYWx1ZShzZWxlY3RFbCwgb3B0aW9uRWwudmFsdWUpO1xuICAgICAgICBjaGFuZ2VFbGVtZW50VmFsdWUoaW5wdXRFbCwgb3B0aW9uRWwudGV4dCk7XG4gICAgICAgIGNvbWJvQm94RWwuY2xhc3NMaXN0LmFkZChDT01CT19CT1hfUFJJU1RJTkVfQ0xBU1MpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmVzZXRTZWxlY3Rpb24oY29tYm9Cb3hFbCk7XG59O1xuXG4vKipcbiAqIEhhbmRsZSB0aGUgZXNjYXBlIGV2ZW50IHdpdGhpbiB0aGUgY29tYm8gYm94IGNvbXBvbmVudC5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IEFuIGV2ZW50IHdpdGhpbiB0aGUgY29tYm8gYm94IGNvbXBvbmVudFxuICovXG5jb25zdCBoYW5kbGVFc2NhcGUgPSAoZXZlbnQpID0+IHtcbiAgY29uc3QgeyBjb21ib0JveEVsLCBpbnB1dEVsIH0gPSBnZXRDb21ib0JveENvbnRleHQoZXZlbnQudGFyZ2V0KTtcblxuICBoaWRlTGlzdChjb21ib0JveEVsKTtcbiAgcmVzZXRTZWxlY3Rpb24oY29tYm9Cb3hFbCk7XG4gIGlucHV0RWwuZm9jdXMoKTtcbn07XG5cbi8qKlxuICogSGFuZGxlIHRoZSBkb3duIGV2ZW50IHdpdGhpbiB0aGUgY29tYm8gYm94IGNvbXBvbmVudC5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IEFuIGV2ZW50IHdpdGhpbiB0aGUgY29tYm8gYm94IGNvbXBvbmVudFxuICovXG5jb25zdCBoYW5kbGVEb3duRnJvbUlucHV0ID0gKGV2ZW50KSA9PiB7XG4gIGNvbnN0IHsgY29tYm9Cb3hFbCwgbGlzdEVsIH0gPSBnZXRDb21ib0JveENvbnRleHQoZXZlbnQudGFyZ2V0KTtcblxuICBpZiAobGlzdEVsLmhpZGRlbikge1xuICAgIGRpc3BsYXlMaXN0KGNvbWJvQm94RWwpO1xuICB9XG5cbiAgY29uc3QgbmV4dE9wdGlvbkVsID1cbiAgICBsaXN0RWwucXVlcnlTZWxlY3RvcihMSVNUX09QVElPTl9GT0NVU0VEKSB8fFxuICAgIGxpc3RFbC5xdWVyeVNlbGVjdG9yKExJU1RfT1BUSU9OKTtcblxuICBpZiAobmV4dE9wdGlvbkVsKSB7XG4gICAgaGlnaGxpZ2h0T3B0aW9uKGNvbWJvQm94RWwsIG5leHRPcHRpb25FbCk7XG4gIH1cblxuICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xufTtcblxuLyoqXG4gKiBIYW5kbGUgdGhlIGVudGVyIGV2ZW50IGZyb20gYW4gaW5wdXQgZWxlbWVudCB3aXRoaW4gdGhlIGNvbWJvIGJveCBjb21wb25lbnQuXG4gKlxuICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudCBBbiBldmVudCB3aXRoaW4gdGhlIGNvbWJvIGJveCBjb21wb25lbnRcbiAqL1xuY29uc3QgaGFuZGxlRW50ZXJGcm9tSW5wdXQgPSAoZXZlbnQpID0+IHtcbiAgY29uc3QgeyBjb21ib0JveEVsLCBsaXN0RWwgfSA9IGdldENvbWJvQm94Q29udGV4dChldmVudC50YXJnZXQpO1xuICBjb25zdCBsaXN0U2hvd24gPSAhbGlzdEVsLmhpZGRlbjtcblxuICBjb21wbGV0ZVNlbGVjdGlvbihjb21ib0JveEVsKTtcblxuICBpZiAobGlzdFNob3duKSB7XG4gICAgaGlkZUxpc3QoY29tYm9Cb3hFbCk7XG4gIH1cblxuICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xufTtcblxuLyoqXG4gKiBIYW5kbGUgdGhlIGRvd24gZXZlbnQgd2l0aGluIHRoZSBjb21ibyBib3ggY29tcG9uZW50LlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgQW4gZXZlbnQgd2l0aGluIHRoZSBjb21ibyBib3ggY29tcG9uZW50XG4gKi9cbmNvbnN0IGhhbmRsZURvd25Gcm9tTGlzdE9wdGlvbiA9IChldmVudCkgPT4ge1xuICBjb25zdCBmb2N1c2VkT3B0aW9uRWwgPSBldmVudC50YXJnZXQ7XG4gIGNvbnN0IG5leHRPcHRpb25FbCA9IGZvY3VzZWRPcHRpb25FbC5uZXh0U2libGluZztcblxuICBpZiAobmV4dE9wdGlvbkVsKSB7XG4gICAgaGlnaGxpZ2h0T3B0aW9uKGZvY3VzZWRPcHRpb25FbCwgbmV4dE9wdGlvbkVsKTtcbiAgfVxuXG4gIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG59O1xuXG4vKipcbiAqIEhhbmRsZSB0aGUgc3BhY2UgZXZlbnQgZnJvbSBhbiBsaXN0IG9wdGlvbiBlbGVtZW50IHdpdGhpbiB0aGUgY29tYm8gYm94IGNvbXBvbmVudC5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IEFuIGV2ZW50IHdpdGhpbiB0aGUgY29tYm8gYm94IGNvbXBvbmVudFxuICovXG5jb25zdCBoYW5kbGVTcGFjZUZyb21MaXN0T3B0aW9uID0gKGV2ZW50KSA9PiB7XG4gIHNlbGVjdEl0ZW0oZXZlbnQudGFyZ2V0KTtcbiAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbn07XG5cbi8qKlxuICogSGFuZGxlIHRoZSBlbnRlciBldmVudCBmcm9tIGxpc3Qgb3B0aW9uIHdpdGhpbiB0aGUgY29tYm8gYm94IGNvbXBvbmVudC5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IEFuIGV2ZW50IHdpdGhpbiB0aGUgY29tYm8gYm94IGNvbXBvbmVudFxuICovXG5jb25zdCBoYW5kbGVFbnRlckZyb21MaXN0T3B0aW9uID0gKGV2ZW50KSA9PiB7XG4gIHNlbGVjdEl0ZW0oZXZlbnQudGFyZ2V0KTtcbiAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbn07XG5cbi8qKlxuICogSGFuZGxlIHRoZSB1cCBldmVudCBmcm9tIGxpc3Qgb3B0aW9uIHdpdGhpbiB0aGUgY29tYm8gYm94IGNvbXBvbmVudC5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IEFuIGV2ZW50IHdpdGhpbiB0aGUgY29tYm8gYm94IGNvbXBvbmVudFxuICovXG5jb25zdCBoYW5kbGVVcEZyb21MaXN0T3B0aW9uID0gKGV2ZW50KSA9PiB7XG4gIGNvbnN0IHsgY29tYm9Cb3hFbCwgbGlzdEVsLCBmb2N1c2VkT3B0aW9uRWwgfSA9IGdldENvbWJvQm94Q29udGV4dChcbiAgICBldmVudC50YXJnZXQsXG4gICk7XG4gIGNvbnN0IG5leHRPcHRpb25FbCA9IGZvY3VzZWRPcHRpb25FbCAmJiBmb2N1c2VkT3B0aW9uRWwucHJldmlvdXNTaWJsaW5nO1xuICBjb25zdCBsaXN0U2hvd24gPSAhbGlzdEVsLmhpZGRlbjtcblxuICBoaWdobGlnaHRPcHRpb24oY29tYm9Cb3hFbCwgbmV4dE9wdGlvbkVsKTtcblxuICBpZiAobGlzdFNob3duKSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIGlmICghbmV4dE9wdGlvbkVsKSB7XG4gICAgaGlkZUxpc3QoY29tYm9Cb3hFbCk7XG4gIH1cbn07XG5cbi8qKlxuICogU2VsZWN0IGxpc3Qgb3B0aW9uIG9uIHRoZSBtb3VzZW92ZXIgZXZlbnQuXG4gKlxuICogQHBhcmFtIHtNb3VzZUV2ZW50fSBldmVudCBUaGUgbW91c2VvdmVyIGV2ZW50XG4gKiBAcGFyYW0ge0hUTUxMSUVsZW1lbnR9IGxpc3RPcHRpb25FbCBBbiBlbGVtZW50IHdpdGhpbiB0aGUgY29tYm8gYm94IGNvbXBvbmVudFxuICovXG5jb25zdCBoYW5kbGVNb3VzZW92ZXIgPSAobGlzdE9wdGlvbkVsKSA9PiB7XG4gIGNvbnN0IGlzQ3VycmVudGx5Rm9jdXNlZCA9IGxpc3RPcHRpb25FbC5jbGFzc0xpc3QuY29udGFpbnMoXG4gICAgTElTVF9PUFRJT05fRk9DVVNFRF9DTEFTUyxcbiAgKTtcblxuICBpZiAoaXNDdXJyZW50bHlGb2N1c2VkKSByZXR1cm47XG5cbiAgaGlnaGxpZ2h0T3B0aW9uKGxpc3RPcHRpb25FbCwgbGlzdE9wdGlvbkVsLCB7XG4gICAgcHJldmVudFNjcm9sbDogdHJ1ZSxcbiAgfSk7XG59O1xuXG4vKipcbiAqIFRvZ2dsZSB0aGUgbGlzdCB3aGVuIHRoZSBidXR0b24gaXMgY2xpY2tlZFxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBjb21ibyBib3ggY29tcG9uZW50XG4gKi9cbmNvbnN0IHRvZ2dsZUxpc3QgPSAoZWwpID0+IHtcbiAgY29uc3QgeyBjb21ib0JveEVsLCBsaXN0RWwsIGlucHV0RWwgfSA9IGdldENvbWJvQm94Q29udGV4dChlbCk7XG5cbiAgaWYgKGxpc3RFbC5oaWRkZW4pIHtcbiAgICBkaXNwbGF5TGlzdChjb21ib0JveEVsKTtcbiAgfSBlbHNlIHtcbiAgICBoaWRlTGlzdChjb21ib0JveEVsKTtcbiAgfVxuXG4gIGlucHV0RWwuZm9jdXMoKTtcbn07XG5cbi8qKlxuICogSGFuZGxlIGNsaWNrIGZyb20gaW5wdXRcbiAqXG4gKiBAcGFyYW0ge0hUTUxJbnB1dEVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBjb21ibyBib3ggY29tcG9uZW50XG4gKi9cbmNvbnN0IGhhbmRsZUNsaWNrRnJvbUlucHV0ID0gKGVsKSA9PiB7XG4gIGNvbnN0IHsgY29tYm9Cb3hFbCwgbGlzdEVsIH0gPSBnZXRDb21ib0JveENvbnRleHQoZWwpO1xuXG4gIGlmIChsaXN0RWwuaGlkZGVuKSB7XG4gICAgZGlzcGxheUxpc3QoY29tYm9Cb3hFbCk7XG4gIH1cbn07XG5cbmNvbnN0IGNvbWJvQm94ID0gYmVoYXZpb3IoXG4gIHtcbiAgICBbQ0xJQ0tdOiB7XG4gICAgICBbSU5QVVRdKCkge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuICAgICAgICBoYW5kbGVDbGlja0Zyb21JbnB1dCh0aGlzKTtcbiAgICAgIH0sXG4gICAgICBbVE9HR0xFX0xJU1RfQlVUVE9OXSgpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcbiAgICAgICAgdG9nZ2xlTGlzdCh0aGlzKTtcbiAgICAgIH0sXG4gICAgICBbTElTVF9PUFRJT05dKCkge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuICAgICAgICBzZWxlY3RJdGVtKHRoaXMpO1xuICAgICAgfSxcbiAgICAgIFtDTEVBUl9JTlBVVF9CVVRUT05dKCkge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuICAgICAgICBjbGVhcklucHV0KHRoaXMpO1xuICAgICAgfSxcbiAgICB9LFxuICAgIGZvY3Vzb3V0OiB7XG4gICAgICBbQ09NQk9fQk9YXShldmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuY29udGFpbnMoZXZlbnQucmVsYXRlZFRhcmdldCkpIHtcbiAgICAgICAgICByZXNldFNlbGVjdGlvbih0aGlzKTtcbiAgICAgICAgICBoaWRlTGlzdCh0aGlzKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9LFxuICAgIGtleWRvd246IHtcbiAgICAgIFtDT01CT19CT1hdOiBrZXltYXAoe1xuICAgICAgICBFc2NhcGU6IGhhbmRsZUVzY2FwZSxcbiAgICAgIH0pLFxuICAgICAgW0lOUFVUXToga2V5bWFwKHtcbiAgICAgICAgRW50ZXI6IGhhbmRsZUVudGVyRnJvbUlucHV0LFxuICAgICAgICBBcnJvd0Rvd246IGhhbmRsZURvd25Gcm9tSW5wdXQsXG4gICAgICAgIERvd246IGhhbmRsZURvd25Gcm9tSW5wdXQsXG4gICAgICB9KSxcbiAgICAgIFtMSVNUX09QVElPTl06IGtleW1hcCh7XG4gICAgICAgIEFycm93VXA6IGhhbmRsZVVwRnJvbUxpc3RPcHRpb24sXG4gICAgICAgIFVwOiBoYW5kbGVVcEZyb21MaXN0T3B0aW9uLFxuICAgICAgICBBcnJvd0Rvd246IGhhbmRsZURvd25Gcm9tTGlzdE9wdGlvbixcbiAgICAgICAgRG93bjogaGFuZGxlRG93bkZyb21MaXN0T3B0aW9uLFxuICAgICAgICBFbnRlcjogaGFuZGxlRW50ZXJGcm9tTGlzdE9wdGlvbixcbiAgICAgICAgXCIgXCI6IGhhbmRsZVNwYWNlRnJvbUxpc3RPcHRpb24sXG4gICAgICAgIFwiU2hpZnQrVGFiXCI6IG5vb3AsXG4gICAgICB9KSxcbiAgICB9LFxuICAgIGlucHV0OiB7XG4gICAgICBbSU5QVVRdKCkge1xuICAgICAgICBjb25zdCBjb21ib0JveEVsID0gdGhpcy5jbG9zZXN0KENPTUJPX0JPWCk7XG4gICAgICAgIGNvbWJvQm94RWwuY2xhc3NMaXN0LnJlbW92ZShDT01CT19CT1hfUFJJU1RJTkVfQ0xBU1MpO1xuICAgICAgICBkaXNwbGF5TGlzdCh0aGlzKTtcbiAgICAgIH0sXG4gICAgfSxcbiAgICBtb3VzZW92ZXI6IHtcbiAgICAgIFtMSVNUX09QVElPTl0oKSB7XG4gICAgICAgIGhhbmRsZU1vdXNlb3Zlcih0aGlzKTtcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbiAge1xuICAgIGluaXQocm9vdCkge1xuICAgICAgc2VsZWN0T3JNYXRjaGVzKENPTUJPX0JPWCwgcm9vdCkuZm9yRWFjaCgoY29tYm9Cb3hFbCkgPT4ge1xuICAgICAgICBlbmhhbmNlQ29tYm9Cb3goY29tYm9Cb3hFbCk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIGdldENvbWJvQm94Q29udGV4dCxcbiAgICBlbmhhbmNlQ29tYm9Cb3gsXG4gICAgZ2VuZXJhdGVEeW5hbWljUmVnRXhwLFxuICAgIGRpc2FibGUsXG4gICAgZW5hYmxlLFxuICAgIGRpc3BsYXlMaXN0LFxuICAgIGhpZGVMaXN0LFxuICAgIENPTUJPX0JPWF9DTEFTUyxcbiAgfSxcbik7XG5cbm1vZHVsZS5leHBvcnRzID0gY29tYm9Cb3g7XG4iLCJjb25zdCBrZXltYXAgPSByZXF1aXJlKFwicmVjZXB0b3Iva2V5bWFwXCIpO1xuY29uc3QgYmVoYXZpb3IgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvYmVoYXZpb3JcIik7XG5jb25zdCBzZWxlY3QgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvc2VsZWN0XCIpO1xuY29uc3Qgc2VsZWN0T3JNYXRjaGVzID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3NlbGVjdC1vci1tYXRjaGVzXCIpO1xuY29uc3QgeyBwcmVmaXg6IFBSRUZJWCB9ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL2NvbmZpZ1wiKTtcbmNvbnN0IHsgQ0xJQ0sgfSA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy9ldmVudHNcIik7XG5jb25zdCBhY3RpdmVFbGVtZW50ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2FjdGl2ZS1lbGVtZW50XCIpO1xuY29uc3QgaXNJb3NEZXZpY2UgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvaXMtaW9zLWRldmljZVwiKTtcbmNvbnN0IFNhbml0aXplciA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9zYW5pdGl6ZXJcIik7XG5cbmNvbnN0IERBVEVfUElDS0VSX0NMQVNTID0gYCR7UFJFRklYfS1kYXRlLXBpY2tlcmA7XG5jb25zdCBEQVRFX1BJQ0tFUl9XUkFQUEVSX0NMQVNTID0gYCR7REFURV9QSUNLRVJfQ0xBU1N9X193cmFwcGVyYDtcbmNvbnN0IERBVEVfUElDS0VSX0lOSVRJQUxJWkVEX0NMQVNTID0gYCR7REFURV9QSUNLRVJfQ0xBU1N9LS1pbml0aWFsaXplZGA7XG5jb25zdCBEQVRFX1BJQ0tFUl9BQ1RJVkVfQ0xBU1MgPSBgJHtEQVRFX1BJQ0tFUl9DTEFTU30tLWFjdGl2ZWA7XG5jb25zdCBEQVRFX1BJQ0tFUl9JTlRFUk5BTF9JTlBVVF9DTEFTUyA9IGAke0RBVEVfUElDS0VSX0NMQVNTfV9faW50ZXJuYWwtaW5wdXRgO1xuY29uc3QgREFURV9QSUNLRVJfRVhURVJOQUxfSU5QVVRfQ0xBU1MgPSBgJHtEQVRFX1BJQ0tFUl9DTEFTU31fX2V4dGVybmFsLWlucHV0YDtcbmNvbnN0IERBVEVfUElDS0VSX0JVVFRPTl9DTEFTUyA9IGAke0RBVEVfUElDS0VSX0NMQVNTfV9fYnV0dG9uYDtcbmNvbnN0IERBVEVfUElDS0VSX0NBTEVOREFSX0NMQVNTID0gYCR7REFURV9QSUNLRVJfQ0xBU1N9X19jYWxlbmRhcmA7XG5jb25zdCBEQVRFX1BJQ0tFUl9TVEFUVVNfQ0xBU1MgPSBgJHtEQVRFX1BJQ0tFUl9DTEFTU31fX3N0YXR1c2A7XG5jb25zdCBDQUxFTkRBUl9EQVRFX0NMQVNTID0gYCR7REFURV9QSUNLRVJfQ0FMRU5EQVJfQ0xBU1N9X19kYXRlYDtcblxuY29uc3QgQ0FMRU5EQVJfREFURV9GT0NVU0VEX0NMQVNTID0gYCR7Q0FMRU5EQVJfREFURV9DTEFTU30tLWZvY3VzZWRgO1xuY29uc3QgQ0FMRU5EQVJfREFURV9TRUxFQ1RFRF9DTEFTUyA9IGAke0NBTEVOREFSX0RBVEVfQ0xBU1N9LS1zZWxlY3RlZGA7XG5jb25zdCBDQUxFTkRBUl9EQVRFX1BSRVZJT1VTX01PTlRIX0NMQVNTID0gYCR7Q0FMRU5EQVJfREFURV9DTEFTU30tLXByZXZpb3VzLW1vbnRoYDtcbmNvbnN0IENBTEVOREFSX0RBVEVfQ1VSUkVOVF9NT05USF9DTEFTUyA9IGAke0NBTEVOREFSX0RBVEVfQ0xBU1N9LS1jdXJyZW50LW1vbnRoYDtcbmNvbnN0IENBTEVOREFSX0RBVEVfTkVYVF9NT05USF9DTEFTUyA9IGAke0NBTEVOREFSX0RBVEVfQ0xBU1N9LS1uZXh0LW1vbnRoYDtcbmNvbnN0IENBTEVOREFSX0RBVEVfUkFOR0VfREFURV9DTEFTUyA9IGAke0NBTEVOREFSX0RBVEVfQ0xBU1N9LS1yYW5nZS1kYXRlYDtcbmNvbnN0IENBTEVOREFSX0RBVEVfVE9EQVlfQ0xBU1MgPSBgJHtDQUxFTkRBUl9EQVRFX0NMQVNTfS0tdG9kYXlgO1xuY29uc3QgQ0FMRU5EQVJfREFURV9SQU5HRV9EQVRFX1NUQVJUX0NMQVNTID0gYCR7Q0FMRU5EQVJfREFURV9DTEFTU30tLXJhbmdlLWRhdGUtc3RhcnRgO1xuY29uc3QgQ0FMRU5EQVJfREFURV9SQU5HRV9EQVRFX0VORF9DTEFTUyA9IGAke0NBTEVOREFSX0RBVEVfQ0xBU1N9LS1yYW5nZS1kYXRlLWVuZGA7XG5jb25zdCBDQUxFTkRBUl9EQVRFX1dJVEhJTl9SQU5HRV9DTEFTUyA9IGAke0NBTEVOREFSX0RBVEVfQ0xBU1N9LS13aXRoaW4tcmFuZ2VgO1xuY29uc3QgQ0FMRU5EQVJfUFJFVklPVVNfWUVBUl9DTEFTUyA9IGAke0RBVEVfUElDS0VSX0NBTEVOREFSX0NMQVNTfV9fcHJldmlvdXMteWVhcmA7XG5jb25zdCBDQUxFTkRBUl9QUkVWSU9VU19NT05USF9DTEFTUyA9IGAke0RBVEVfUElDS0VSX0NBTEVOREFSX0NMQVNTfV9fcHJldmlvdXMtbW9udGhgO1xuY29uc3QgQ0FMRU5EQVJfTkVYVF9ZRUFSX0NMQVNTID0gYCR7REFURV9QSUNLRVJfQ0FMRU5EQVJfQ0xBU1N9X19uZXh0LXllYXJgO1xuY29uc3QgQ0FMRU5EQVJfTkVYVF9NT05USF9DTEFTUyA9IGAke0RBVEVfUElDS0VSX0NBTEVOREFSX0NMQVNTfV9fbmV4dC1tb250aGA7XG5jb25zdCBDQUxFTkRBUl9NT05USF9TRUxFQ1RJT05fQ0xBU1MgPSBgJHtEQVRFX1BJQ0tFUl9DQUxFTkRBUl9DTEFTU31fX21vbnRoLXNlbGVjdGlvbmA7XG5jb25zdCBDQUxFTkRBUl9ZRUFSX1NFTEVDVElPTl9DTEFTUyA9IGAke0RBVEVfUElDS0VSX0NBTEVOREFSX0NMQVNTfV9feWVhci1zZWxlY3Rpb25gO1xuY29uc3QgQ0FMRU5EQVJfTU9OVEhfQ0xBU1MgPSBgJHtEQVRFX1BJQ0tFUl9DQUxFTkRBUl9DTEFTU31fX21vbnRoYDtcbmNvbnN0IENBTEVOREFSX01PTlRIX0ZPQ1VTRURfQ0xBU1MgPSBgJHtDQUxFTkRBUl9NT05USF9DTEFTU30tLWZvY3VzZWRgO1xuY29uc3QgQ0FMRU5EQVJfTU9OVEhfU0VMRUNURURfQ0xBU1MgPSBgJHtDQUxFTkRBUl9NT05USF9DTEFTU30tLXNlbGVjdGVkYDtcbmNvbnN0IENBTEVOREFSX1lFQVJfQ0xBU1MgPSBgJHtEQVRFX1BJQ0tFUl9DQUxFTkRBUl9DTEFTU31fX3llYXJgO1xuY29uc3QgQ0FMRU5EQVJfWUVBUl9GT0NVU0VEX0NMQVNTID0gYCR7Q0FMRU5EQVJfWUVBUl9DTEFTU30tLWZvY3VzZWRgO1xuY29uc3QgQ0FMRU5EQVJfWUVBUl9TRUxFQ1RFRF9DTEFTUyA9IGAke0NBTEVOREFSX1lFQVJfQ0xBU1N9LS1zZWxlY3RlZGA7XG5jb25zdCBDQUxFTkRBUl9QUkVWSU9VU19ZRUFSX0NIVU5LX0NMQVNTID0gYCR7REFURV9QSUNLRVJfQ0FMRU5EQVJfQ0xBU1N9X19wcmV2aW91cy15ZWFyLWNodW5rYDtcbmNvbnN0IENBTEVOREFSX05FWFRfWUVBUl9DSFVOS19DTEFTUyA9IGAke0RBVEVfUElDS0VSX0NBTEVOREFSX0NMQVNTfV9fbmV4dC15ZWFyLWNodW5rYDtcbmNvbnN0IENBTEVOREFSX0RBVEVfUElDS0VSX0NMQVNTID0gYCR7REFURV9QSUNLRVJfQ0FMRU5EQVJfQ0xBU1N9X19kYXRlLXBpY2tlcmA7XG5jb25zdCBDQUxFTkRBUl9NT05USF9QSUNLRVJfQ0xBU1MgPSBgJHtEQVRFX1BJQ0tFUl9DQUxFTkRBUl9DTEFTU31fX21vbnRoLXBpY2tlcmA7XG5jb25zdCBDQUxFTkRBUl9ZRUFSX1BJQ0tFUl9DTEFTUyA9IGAke0RBVEVfUElDS0VSX0NBTEVOREFSX0NMQVNTfV9feWVhci1waWNrZXJgO1xuY29uc3QgQ0FMRU5EQVJfVEFCTEVfQ0xBU1MgPSBgJHtEQVRFX1BJQ0tFUl9DQUxFTkRBUl9DTEFTU31fX3RhYmxlYDtcbmNvbnN0IENBTEVOREFSX1JPV19DTEFTUyA9IGAke0RBVEVfUElDS0VSX0NBTEVOREFSX0NMQVNTfV9fcm93YDtcbmNvbnN0IENBTEVOREFSX0NFTExfQ0xBU1MgPSBgJHtEQVRFX1BJQ0tFUl9DQUxFTkRBUl9DTEFTU31fX2NlbGxgO1xuY29uc3QgQ0FMRU5EQVJfQ0VMTF9DRU5URVJfSVRFTVNfQ0xBU1MgPSBgJHtDQUxFTkRBUl9DRUxMX0NMQVNTfS0tY2VudGVyLWl0ZW1zYDtcbmNvbnN0IENBTEVOREFSX01PTlRIX0xBQkVMX0NMQVNTID0gYCR7REFURV9QSUNLRVJfQ0FMRU5EQVJfQ0xBU1N9X19tb250aC1sYWJlbGA7XG5jb25zdCBDQUxFTkRBUl9EQVlfT0ZfV0VFS19DTEFTUyA9IGAke0RBVEVfUElDS0VSX0NBTEVOREFSX0NMQVNTfV9fZGF5LW9mLXdlZWtgO1xuXG5jb25zdCBEQVRFX1BJQ0tFUiA9IGAuJHtEQVRFX1BJQ0tFUl9DTEFTU31gO1xuY29uc3QgREFURV9QSUNLRVJfQlVUVE9OID0gYC4ke0RBVEVfUElDS0VSX0JVVFRPTl9DTEFTU31gO1xuY29uc3QgREFURV9QSUNLRVJfSU5URVJOQUxfSU5QVVQgPSBgLiR7REFURV9QSUNLRVJfSU5URVJOQUxfSU5QVVRfQ0xBU1N9YDtcbmNvbnN0IERBVEVfUElDS0VSX0VYVEVSTkFMX0lOUFVUID0gYC4ke0RBVEVfUElDS0VSX0VYVEVSTkFMX0lOUFVUX0NMQVNTfWA7XG5jb25zdCBEQVRFX1BJQ0tFUl9DQUxFTkRBUiA9IGAuJHtEQVRFX1BJQ0tFUl9DQUxFTkRBUl9DTEFTU31gO1xuY29uc3QgREFURV9QSUNLRVJfU1RBVFVTID0gYC4ke0RBVEVfUElDS0VSX1NUQVRVU19DTEFTU31gO1xuY29uc3QgQ0FMRU5EQVJfREFURSA9IGAuJHtDQUxFTkRBUl9EQVRFX0NMQVNTfWA7XG5jb25zdCBDQUxFTkRBUl9EQVRFX0ZPQ1VTRUQgPSBgLiR7Q0FMRU5EQVJfREFURV9GT0NVU0VEX0NMQVNTfWA7XG5jb25zdCBDQUxFTkRBUl9EQVRFX0NVUlJFTlRfTU9OVEggPSBgLiR7Q0FMRU5EQVJfREFURV9DVVJSRU5UX01PTlRIX0NMQVNTfWA7XG5jb25zdCBDQUxFTkRBUl9QUkVWSU9VU19ZRUFSID0gYC4ke0NBTEVOREFSX1BSRVZJT1VTX1lFQVJfQ0xBU1N9YDtcbmNvbnN0IENBTEVOREFSX1BSRVZJT1VTX01PTlRIID0gYC4ke0NBTEVOREFSX1BSRVZJT1VTX01PTlRIX0NMQVNTfWA7XG5jb25zdCBDQUxFTkRBUl9ORVhUX1lFQVIgPSBgLiR7Q0FMRU5EQVJfTkVYVF9ZRUFSX0NMQVNTfWA7XG5jb25zdCBDQUxFTkRBUl9ORVhUX01PTlRIID0gYC4ke0NBTEVOREFSX05FWFRfTU9OVEhfQ0xBU1N9YDtcbmNvbnN0IENBTEVOREFSX1lFQVJfU0VMRUNUSU9OID0gYC4ke0NBTEVOREFSX1lFQVJfU0VMRUNUSU9OX0NMQVNTfWA7XG5jb25zdCBDQUxFTkRBUl9NT05USF9TRUxFQ1RJT04gPSBgLiR7Q0FMRU5EQVJfTU9OVEhfU0VMRUNUSU9OX0NMQVNTfWA7XG5jb25zdCBDQUxFTkRBUl9NT05USCA9IGAuJHtDQUxFTkRBUl9NT05USF9DTEFTU31gO1xuY29uc3QgQ0FMRU5EQVJfWUVBUiA9IGAuJHtDQUxFTkRBUl9ZRUFSX0NMQVNTfWA7XG5jb25zdCBDQUxFTkRBUl9QUkVWSU9VU19ZRUFSX0NIVU5LID0gYC4ke0NBTEVOREFSX1BSRVZJT1VTX1lFQVJfQ0hVTktfQ0xBU1N9YDtcbmNvbnN0IENBTEVOREFSX05FWFRfWUVBUl9DSFVOSyA9IGAuJHtDQUxFTkRBUl9ORVhUX1lFQVJfQ0hVTktfQ0xBU1N9YDtcbmNvbnN0IENBTEVOREFSX0RBVEVfUElDS0VSID0gYC4ke0NBTEVOREFSX0RBVEVfUElDS0VSX0NMQVNTfWA7XG5jb25zdCBDQUxFTkRBUl9NT05USF9QSUNLRVIgPSBgLiR7Q0FMRU5EQVJfTU9OVEhfUElDS0VSX0NMQVNTfWA7XG5jb25zdCBDQUxFTkRBUl9ZRUFSX1BJQ0tFUiA9IGAuJHtDQUxFTkRBUl9ZRUFSX1BJQ0tFUl9DTEFTU31gO1xuY29uc3QgQ0FMRU5EQVJfTU9OVEhfRk9DVVNFRCA9IGAuJHtDQUxFTkRBUl9NT05USF9GT0NVU0VEX0NMQVNTfWA7XG5jb25zdCBDQUxFTkRBUl9ZRUFSX0ZPQ1VTRUQgPSBgLiR7Q0FMRU5EQVJfWUVBUl9GT0NVU0VEX0NMQVNTfWA7XG5cbmNvbnN0IFZBTElEQVRJT05fTUVTU0FHRSA9IFwiUGxlYXNlIGVudGVyIGEgdmFsaWQgZGF0ZVwiO1xuXG5jb25zdCBNT05USF9MQUJFTFMgPSBbXG4gIFwiSmFudWFyeVwiLFxuICBcIkZlYnJ1YXJ5XCIsXG4gIFwiTWFyY2hcIixcbiAgXCJBcHJpbFwiLFxuICBcIk1heVwiLFxuICBcIkp1bmVcIixcbiAgXCJKdWx5XCIsXG4gIFwiQXVndXN0XCIsXG4gIFwiU2VwdGVtYmVyXCIsXG4gIFwiT2N0b2JlclwiLFxuICBcIk5vdmVtYmVyXCIsXG4gIFwiRGVjZW1iZXJcIixcbl07XG5cbmNvbnN0IERBWV9PRl9XRUVLX0xBQkVMUyA9IFtcbiAgXCJTdW5kYXlcIixcbiAgXCJNb25kYXlcIixcbiAgXCJUdWVzZGF5XCIsXG4gIFwiV2VkbmVzZGF5XCIsXG4gIFwiVGh1cnNkYXlcIixcbiAgXCJGcmlkYXlcIixcbiAgXCJTYXR1cmRheVwiLFxuXTtcblxuY29uc3QgRU5URVJfS0VZQ09ERSA9IDEzO1xuXG5jb25zdCBZRUFSX0NIVU5LID0gMTI7XG5cbmNvbnN0IERFRkFVTFRfTUlOX0RBVEUgPSBcIjAwMDAtMDEtMDFcIjtcbmNvbnN0IERFRkFVTFRfRVhURVJOQUxfREFURV9GT1JNQVQgPSBcIk1NL0REL1lZWVlcIjtcbmNvbnN0IElOVEVSTkFMX0RBVEVfRk9STUFUID0gXCJZWVlZLU1NLUREXCI7XG5cbmNvbnN0IE5PVF9ESVNBQkxFRF9TRUxFQ1RPUiA9IFwiOm5vdChbZGlzYWJsZWRdKVwiO1xuXG5jb25zdCBwcm9jZXNzRm9jdXNhYmxlU2VsZWN0b3JzID0gKC4uLnNlbGVjdG9ycykgPT5cbiAgc2VsZWN0b3JzLm1hcCgocXVlcnkpID0+IHF1ZXJ5ICsgTk9UX0RJU0FCTEVEX1NFTEVDVE9SKS5qb2luKFwiLCBcIik7XG5cbmNvbnN0IERBVEVfUElDS0VSX0ZPQ1VTQUJMRSA9IHByb2Nlc3NGb2N1c2FibGVTZWxlY3RvcnMoXG4gIENBTEVOREFSX1BSRVZJT1VTX1lFQVIsXG4gIENBTEVOREFSX1BSRVZJT1VTX01PTlRILFxuICBDQUxFTkRBUl9ZRUFSX1NFTEVDVElPTixcbiAgQ0FMRU5EQVJfTU9OVEhfU0VMRUNUSU9OLFxuICBDQUxFTkRBUl9ORVhUX1lFQVIsXG4gIENBTEVOREFSX05FWFRfTU9OVEgsXG4gIENBTEVOREFSX0RBVEVfRk9DVVNFRCxcbik7XG5cbmNvbnN0IE1PTlRIX1BJQ0tFUl9GT0NVU0FCTEUgPSBwcm9jZXNzRm9jdXNhYmxlU2VsZWN0b3JzKFxuICBDQUxFTkRBUl9NT05USF9GT0NVU0VELFxuKTtcblxuY29uc3QgWUVBUl9QSUNLRVJfRk9DVVNBQkxFID0gcHJvY2Vzc0ZvY3VzYWJsZVNlbGVjdG9ycyhcbiAgQ0FMRU5EQVJfUFJFVklPVVNfWUVBUl9DSFVOSyxcbiAgQ0FMRU5EQVJfTkVYVF9ZRUFSX0NIVU5LLFxuICBDQUxFTkRBUl9ZRUFSX0ZPQ1VTRUQsXG4pO1xuXG4vLyAjcmVnaW9uIERhdGUgTWFuaXB1bGF0aW9uIEZ1bmN0aW9uc1xuXG4vKipcbiAqIEtlZXAgZGF0ZSB3aXRoaW4gbW9udGguIE1vbnRoIHdvdWxkIG9ubHkgYmUgb3ZlciBieSAxIHRvIDMgZGF5c1xuICpcbiAqIEBwYXJhbSB7RGF0ZX0gZGF0ZVRvQ2hlY2sgdGhlIGRhdGUgb2JqZWN0IHRvIGNoZWNrXG4gKiBAcGFyYW0ge251bWJlcn0gbW9udGggdGhlIGNvcnJlY3QgbW9udGhcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgZGF0ZSwgY29ycmVjdGVkIGlmIG5lZWRlZFxuICovXG5jb25zdCBrZWVwRGF0ZVdpdGhpbk1vbnRoID0gKGRhdGVUb0NoZWNrLCBtb250aCkgPT4ge1xuICBpZiAobW9udGggIT09IGRhdGVUb0NoZWNrLmdldE1vbnRoKCkpIHtcbiAgICBkYXRlVG9DaGVjay5zZXREYXRlKDApO1xuICB9XG5cbiAgcmV0dXJuIGRhdGVUb0NoZWNrO1xufTtcblxuLyoqXG4gKiBTZXQgZGF0ZSBmcm9tIG1vbnRoIGRheSB5ZWFyXG4gKlxuICogQHBhcmFtIHtudW1iZXJ9IHllYXIgdGhlIHllYXIgdG8gc2V0XG4gKiBAcGFyYW0ge251bWJlcn0gbW9udGggdGhlIG1vbnRoIHRvIHNldCAoemVyby1pbmRleGVkKVxuICogQHBhcmFtIHtudW1iZXJ9IGRhdGUgdGhlIGRhdGUgdG8gc2V0XG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIHNldCBkYXRlXG4gKi9cbmNvbnN0IHNldERhdGUgPSAoeWVhciwgbW9udGgsIGRhdGUpID0+IHtcbiAgY29uc3QgbmV3RGF0ZSA9IG5ldyBEYXRlKDApO1xuICBuZXdEYXRlLnNldEZ1bGxZZWFyKHllYXIsIG1vbnRoLCBkYXRlKTtcbiAgcmV0dXJuIG5ld0RhdGU7XG59O1xuXG4vKipcbiAqIHRvZGF5cyBkYXRlXG4gKlxuICogQHJldHVybnMge0RhdGV9IHRvZGF5cyBkYXRlXG4gKi9cbmNvbnN0IHRvZGF5ID0gKCkgPT4ge1xuICBjb25zdCBuZXdEYXRlID0gbmV3IERhdGUoKTtcbiAgY29uc3QgZGF5ID0gbmV3RGF0ZS5nZXREYXRlKCk7XG4gIGNvbnN0IG1vbnRoID0gbmV3RGF0ZS5nZXRNb250aCgpO1xuICBjb25zdCB5ZWFyID0gbmV3RGF0ZS5nZXRGdWxsWWVhcigpO1xuICByZXR1cm4gc2V0RGF0ZSh5ZWFyLCBtb250aCwgZGF5KTtcbn07XG5cbi8qKlxuICogU2V0IGRhdGUgdG8gZmlyc3QgZGF5IG9mIHRoZSBtb250aFxuICpcbiAqIEBwYXJhbSB7bnVtYmVyfSBkYXRlIHRoZSBkYXRlIHRvIGFkanVzdFxuICogQHJldHVybnMge0RhdGV9IHRoZSBhZGp1c3RlZCBkYXRlXG4gKi9cbmNvbnN0IHN0YXJ0T2ZNb250aCA9IChkYXRlKSA9PiB7XG4gIGNvbnN0IG5ld0RhdGUgPSBuZXcgRGF0ZSgwKTtcbiAgbmV3RGF0ZS5zZXRGdWxsWWVhcihkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgMSk7XG4gIHJldHVybiBuZXdEYXRlO1xufTtcblxuLyoqXG4gKiBTZXQgZGF0ZSB0byBsYXN0IGRheSBvZiB0aGUgbW9udGhcbiAqXG4gKiBAcGFyYW0ge251bWJlcn0gZGF0ZSB0aGUgZGF0ZSB0byBhZGp1c3RcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgYWRqdXN0ZWQgZGF0ZVxuICovXG5jb25zdCBsYXN0RGF5T2ZNb250aCA9IChkYXRlKSA9PiB7XG4gIGNvbnN0IG5ld0RhdGUgPSBuZXcgRGF0ZSgwKTtcbiAgbmV3RGF0ZS5zZXRGdWxsWWVhcihkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSArIDEsIDApO1xuICByZXR1cm4gbmV3RGF0ZTtcbn07XG5cbi8qKlxuICogQWRkIGRheXMgdG8gZGF0ZVxuICpcbiAqIEBwYXJhbSB7RGF0ZX0gX2RhdGUgdGhlIGRhdGUgdG8gYWRqdXN0XG4gKiBAcGFyYW0ge251bWJlcn0gbnVtRGF5cyB0aGUgZGlmZmVyZW5jZSBpbiBkYXlzXG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIGFkanVzdGVkIGRhdGVcbiAqL1xuY29uc3QgYWRkRGF5cyA9IChfZGF0ZSwgbnVtRGF5cykgPT4ge1xuICBjb25zdCBuZXdEYXRlID0gbmV3IERhdGUoX2RhdGUuZ2V0VGltZSgpKTtcbiAgbmV3RGF0ZS5zZXREYXRlKG5ld0RhdGUuZ2V0RGF0ZSgpICsgbnVtRGF5cyk7XG4gIHJldHVybiBuZXdEYXRlO1xufTtcblxuLyoqXG4gKiBTdWJ0cmFjdCBkYXlzIGZyb20gZGF0ZVxuICpcbiAqIEBwYXJhbSB7RGF0ZX0gX2RhdGUgdGhlIGRhdGUgdG8gYWRqdXN0XG4gKiBAcGFyYW0ge251bWJlcn0gbnVtRGF5cyB0aGUgZGlmZmVyZW5jZSBpbiBkYXlzXG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIGFkanVzdGVkIGRhdGVcbiAqL1xuY29uc3Qgc3ViRGF5cyA9IChfZGF0ZSwgbnVtRGF5cykgPT4gYWRkRGF5cyhfZGF0ZSwgLW51bURheXMpO1xuXG4vKipcbiAqIEFkZCB3ZWVrcyB0byBkYXRlXG4gKlxuICogQHBhcmFtIHtEYXRlfSBfZGF0ZSB0aGUgZGF0ZSB0byBhZGp1c3RcbiAqIEBwYXJhbSB7bnVtYmVyfSBudW1XZWVrcyB0aGUgZGlmZmVyZW5jZSBpbiB3ZWVrc1xuICogQHJldHVybnMge0RhdGV9IHRoZSBhZGp1c3RlZCBkYXRlXG4gKi9cbmNvbnN0IGFkZFdlZWtzID0gKF9kYXRlLCBudW1XZWVrcykgPT4gYWRkRGF5cyhfZGF0ZSwgbnVtV2Vla3MgKiA3KTtcblxuLyoqXG4gKiBTdWJ0cmFjdCB3ZWVrcyBmcm9tIGRhdGVcbiAqXG4gKiBAcGFyYW0ge0RhdGV9IF9kYXRlIHRoZSBkYXRlIHRvIGFkanVzdFxuICogQHBhcmFtIHtudW1iZXJ9IG51bVdlZWtzIHRoZSBkaWZmZXJlbmNlIGluIHdlZWtzXG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIGFkanVzdGVkIGRhdGVcbiAqL1xuY29uc3Qgc3ViV2Vla3MgPSAoX2RhdGUsIG51bVdlZWtzKSA9PiBhZGRXZWVrcyhfZGF0ZSwgLW51bVdlZWtzKTtcblxuLyoqXG4gKiBTZXQgZGF0ZSB0byB0aGUgc3RhcnQgb2YgdGhlIHdlZWsgKFN1bmRheSlcbiAqXG4gKiBAcGFyYW0ge0RhdGV9IF9kYXRlIHRoZSBkYXRlIHRvIGFkanVzdFxuICogQHJldHVybnMge0RhdGV9IHRoZSBhZGp1c3RlZCBkYXRlXG4gKi9cbmNvbnN0IHN0YXJ0T2ZXZWVrID0gKF9kYXRlKSA9PiB7XG4gIGNvbnN0IGRheU9mV2VlayA9IF9kYXRlLmdldERheSgpO1xuICByZXR1cm4gc3ViRGF5cyhfZGF0ZSwgZGF5T2ZXZWVrKTtcbn07XG5cbi8qKlxuICogU2V0IGRhdGUgdG8gdGhlIGVuZCBvZiB0aGUgd2VlayAoU2F0dXJkYXkpXG4gKlxuICogQHBhcmFtIHtEYXRlfSBfZGF0ZSB0aGUgZGF0ZSB0byBhZGp1c3RcbiAqIEBwYXJhbSB7bnVtYmVyfSBudW1XZWVrcyB0aGUgZGlmZmVyZW5jZSBpbiB3ZWVrc1xuICogQHJldHVybnMge0RhdGV9IHRoZSBhZGp1c3RlZCBkYXRlXG4gKi9cbmNvbnN0IGVuZE9mV2VlayA9IChfZGF0ZSkgPT4ge1xuICBjb25zdCBkYXlPZldlZWsgPSBfZGF0ZS5nZXREYXkoKTtcbiAgcmV0dXJuIGFkZERheXMoX2RhdGUsIDYgLSBkYXlPZldlZWspO1xufTtcblxuLyoqXG4gKiBBZGQgbW9udGhzIHRvIGRhdGUgYW5kIGtlZXAgZGF0ZSB3aXRoaW4gbW9udGhcbiAqXG4gKiBAcGFyYW0ge0RhdGV9IF9kYXRlIHRoZSBkYXRlIHRvIGFkanVzdFxuICogQHBhcmFtIHtudW1iZXJ9IG51bU1vbnRocyB0aGUgZGlmZmVyZW5jZSBpbiBtb250aHNcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgYWRqdXN0ZWQgZGF0ZVxuICovXG5jb25zdCBhZGRNb250aHMgPSAoX2RhdGUsIG51bU1vbnRocykgPT4ge1xuICBjb25zdCBuZXdEYXRlID0gbmV3IERhdGUoX2RhdGUuZ2V0VGltZSgpKTtcblxuICBjb25zdCBkYXRlTW9udGggPSAobmV3RGF0ZS5nZXRNb250aCgpICsgMTIgKyBudW1Nb250aHMpICUgMTI7XG4gIG5ld0RhdGUuc2V0TW9udGgobmV3RGF0ZS5nZXRNb250aCgpICsgbnVtTW9udGhzKTtcbiAga2VlcERhdGVXaXRoaW5Nb250aChuZXdEYXRlLCBkYXRlTW9udGgpO1xuXG4gIHJldHVybiBuZXdEYXRlO1xufTtcblxuLyoqXG4gKiBTdWJ0cmFjdCBtb250aHMgZnJvbSBkYXRlXG4gKlxuICogQHBhcmFtIHtEYXRlfSBfZGF0ZSB0aGUgZGF0ZSB0byBhZGp1c3RcbiAqIEBwYXJhbSB7bnVtYmVyfSBudW1Nb250aHMgdGhlIGRpZmZlcmVuY2UgaW4gbW9udGhzXG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIGFkanVzdGVkIGRhdGVcbiAqL1xuY29uc3Qgc3ViTW9udGhzID0gKF9kYXRlLCBudW1Nb250aHMpID0+IGFkZE1vbnRocyhfZGF0ZSwgLW51bU1vbnRocyk7XG5cbi8qKlxuICogQWRkIHllYXJzIHRvIGRhdGUgYW5kIGtlZXAgZGF0ZSB3aXRoaW4gbW9udGhcbiAqXG4gKiBAcGFyYW0ge0RhdGV9IF9kYXRlIHRoZSBkYXRlIHRvIGFkanVzdFxuICogQHBhcmFtIHtudW1iZXJ9IG51bVllYXJzIHRoZSBkaWZmZXJlbmNlIGluIHllYXJzXG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIGFkanVzdGVkIGRhdGVcbiAqL1xuY29uc3QgYWRkWWVhcnMgPSAoX2RhdGUsIG51bVllYXJzKSA9PiBhZGRNb250aHMoX2RhdGUsIG51bVllYXJzICogMTIpO1xuXG4vKipcbiAqIFN1YnRyYWN0IHllYXJzIGZyb20gZGF0ZVxuICpcbiAqIEBwYXJhbSB7RGF0ZX0gX2RhdGUgdGhlIGRhdGUgdG8gYWRqdXN0XG4gKiBAcGFyYW0ge251bWJlcn0gbnVtWWVhcnMgdGhlIGRpZmZlcmVuY2UgaW4geWVhcnNcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgYWRqdXN0ZWQgZGF0ZVxuICovXG5jb25zdCBzdWJZZWFycyA9IChfZGF0ZSwgbnVtWWVhcnMpID0+IGFkZFllYXJzKF9kYXRlLCAtbnVtWWVhcnMpO1xuXG4vKipcbiAqIFNldCBtb250aHMgb2YgZGF0ZVxuICpcbiAqIEBwYXJhbSB7RGF0ZX0gX2RhdGUgdGhlIGRhdGUgdG8gYWRqdXN0XG4gKiBAcGFyYW0ge251bWJlcn0gbW9udGggemVyby1pbmRleGVkIG1vbnRoIHRvIHNldFxuICogQHJldHVybnMge0RhdGV9IHRoZSBhZGp1c3RlZCBkYXRlXG4gKi9cbmNvbnN0IHNldE1vbnRoID0gKF9kYXRlLCBtb250aCkgPT4ge1xuICBjb25zdCBuZXdEYXRlID0gbmV3IERhdGUoX2RhdGUuZ2V0VGltZSgpKTtcblxuICBuZXdEYXRlLnNldE1vbnRoKG1vbnRoKTtcbiAga2VlcERhdGVXaXRoaW5Nb250aChuZXdEYXRlLCBtb250aCk7XG5cbiAgcmV0dXJuIG5ld0RhdGU7XG59O1xuXG4vKipcbiAqIFNldCB5ZWFyIG9mIGRhdGVcbiAqXG4gKiBAcGFyYW0ge0RhdGV9IF9kYXRlIHRoZSBkYXRlIHRvIGFkanVzdFxuICogQHBhcmFtIHtudW1iZXJ9IHllYXIgdGhlIHllYXIgdG8gc2V0XG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIGFkanVzdGVkIGRhdGVcbiAqL1xuY29uc3Qgc2V0WWVhciA9IChfZGF0ZSwgeWVhcikgPT4ge1xuICBjb25zdCBuZXdEYXRlID0gbmV3IERhdGUoX2RhdGUuZ2V0VGltZSgpKTtcblxuICBjb25zdCBtb250aCA9IG5ld0RhdGUuZ2V0TW9udGgoKTtcbiAgbmV3RGF0ZS5zZXRGdWxsWWVhcih5ZWFyKTtcbiAga2VlcERhdGVXaXRoaW5Nb250aChuZXdEYXRlLCBtb250aCk7XG5cbiAgcmV0dXJuIG5ld0RhdGU7XG59O1xuXG4vKipcbiAqIFJldHVybiB0aGUgZWFybGllc3QgZGF0ZVxuICpcbiAqIEBwYXJhbSB7RGF0ZX0gZGF0ZUEgZGF0ZSB0byBjb21wYXJlXG4gKiBAcGFyYW0ge0RhdGV9IGRhdGVCIGRhdGUgdG8gY29tcGFyZVxuICogQHJldHVybnMge0RhdGV9IHRoZSBlYXJsaWVzdCBkYXRlXG4gKi9cbmNvbnN0IG1pbiA9IChkYXRlQSwgZGF0ZUIpID0+IHtcbiAgbGV0IG5ld0RhdGUgPSBkYXRlQTtcblxuICBpZiAoZGF0ZUIgPCBkYXRlQSkge1xuICAgIG5ld0RhdGUgPSBkYXRlQjtcbiAgfVxuXG4gIHJldHVybiBuZXcgRGF0ZShuZXdEYXRlLmdldFRpbWUoKSk7XG59O1xuXG4vKipcbiAqIFJldHVybiB0aGUgbGF0ZXN0IGRhdGVcbiAqXG4gKiBAcGFyYW0ge0RhdGV9IGRhdGVBIGRhdGUgdG8gY29tcGFyZVxuICogQHBhcmFtIHtEYXRlfSBkYXRlQiBkYXRlIHRvIGNvbXBhcmVcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgbGF0ZXN0IGRhdGVcbiAqL1xuY29uc3QgbWF4ID0gKGRhdGVBLCBkYXRlQikgPT4ge1xuICBsZXQgbmV3RGF0ZSA9IGRhdGVBO1xuXG4gIGlmIChkYXRlQiA+IGRhdGVBKSB7XG4gICAgbmV3RGF0ZSA9IGRhdGVCO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBEYXRlKG5ld0RhdGUuZ2V0VGltZSgpKTtcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgZGF0ZXMgYXJlIHRoZSBpbiB0aGUgc2FtZSB5ZWFyXG4gKlxuICogQHBhcmFtIHtEYXRlfSBkYXRlQSBkYXRlIHRvIGNvbXBhcmVcbiAqIEBwYXJhbSB7RGF0ZX0gZGF0ZUIgZGF0ZSB0byBjb21wYXJlXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gYXJlIGRhdGVzIGluIHRoZSBzYW1lIHllYXJcbiAqL1xuY29uc3QgaXNTYW1lWWVhciA9IChkYXRlQSwgZGF0ZUIpID0+XG4gIGRhdGVBICYmIGRhdGVCICYmIGRhdGVBLmdldEZ1bGxZZWFyKCkgPT09IGRhdGVCLmdldEZ1bGxZZWFyKCk7XG5cbi8qKlxuICogQ2hlY2sgaWYgZGF0ZXMgYXJlIHRoZSBpbiB0aGUgc2FtZSBtb250aFxuICpcbiAqIEBwYXJhbSB7RGF0ZX0gZGF0ZUEgZGF0ZSB0byBjb21wYXJlXG4gKiBAcGFyYW0ge0RhdGV9IGRhdGVCIGRhdGUgdG8gY29tcGFyZVxuICogQHJldHVybnMge2Jvb2xlYW59IGFyZSBkYXRlcyBpbiB0aGUgc2FtZSBtb250aFxuICovXG5jb25zdCBpc1NhbWVNb250aCA9IChkYXRlQSwgZGF0ZUIpID0+XG4gIGlzU2FtZVllYXIoZGF0ZUEsIGRhdGVCKSAmJiBkYXRlQS5nZXRNb250aCgpID09PSBkYXRlQi5nZXRNb250aCgpO1xuXG4vKipcbiAqIENoZWNrIGlmIGRhdGVzIGFyZSB0aGUgc2FtZSBkYXRlXG4gKlxuICogQHBhcmFtIHtEYXRlfSBkYXRlQSB0aGUgZGF0ZSB0byBjb21wYXJlXG4gKiBAcGFyYW0ge0RhdGV9IGRhdGVBIHRoZSBkYXRlIHRvIGNvbXBhcmVcbiAqIEByZXR1cm5zIHtib29sZWFufSBhcmUgZGF0ZXMgdGhlIHNhbWUgZGF0ZVxuICovXG5jb25zdCBpc1NhbWVEYXkgPSAoZGF0ZUEsIGRhdGVCKSA9PlxuICBpc1NhbWVNb250aChkYXRlQSwgZGF0ZUIpICYmIGRhdGVBLmdldERhdGUoKSA9PT0gZGF0ZUIuZ2V0RGF0ZSgpO1xuXG4vKipcbiAqIHJldHVybiBhIG5ldyBkYXRlIHdpdGhpbiBtaW5pbXVtIGFuZCBtYXhpbXVtIGRhdGVcbiAqXG4gKiBAcGFyYW0ge0RhdGV9IGRhdGUgZGF0ZSB0byBjaGVja1xuICogQHBhcmFtIHtEYXRlfSBtaW5EYXRlIG1pbmltdW0gZGF0ZSB0byBhbGxvd1xuICogQHBhcmFtIHtEYXRlfSBtYXhEYXRlIG1heGltdW0gZGF0ZSB0byBhbGxvd1xuICogQHJldHVybnMge0RhdGV9IHRoZSBkYXRlIGJldHdlZW4gbWluIGFuZCBtYXhcbiAqL1xuY29uc3Qga2VlcERhdGVCZXR3ZWVuTWluQW5kTWF4ID0gKGRhdGUsIG1pbkRhdGUsIG1heERhdGUpID0+IHtcbiAgbGV0IG5ld0RhdGUgPSBkYXRlO1xuXG4gIGlmIChkYXRlIDwgbWluRGF0ZSkge1xuICAgIG5ld0RhdGUgPSBtaW5EYXRlO1xuICB9IGVsc2UgaWYgKG1heERhdGUgJiYgZGF0ZSA+IG1heERhdGUpIHtcbiAgICBuZXdEYXRlID0gbWF4RGF0ZTtcbiAgfVxuXG4gIHJldHVybiBuZXcgRGF0ZShuZXdEYXRlLmdldFRpbWUoKSk7XG59O1xuXG4vKipcbiAqIENoZWNrIGlmIGRhdGVzIGlzIHZhbGlkLlxuICpcbiAqIEBwYXJhbSB7RGF0ZX0gZGF0ZSBkYXRlIHRvIGNoZWNrXG4gKiBAcGFyYW0ge0RhdGV9IG1pbkRhdGUgbWluaW11bSBkYXRlIHRvIGFsbG93XG4gKiBAcGFyYW0ge0RhdGV9IG1heERhdGUgbWF4aW11bSBkYXRlIHRvIGFsbG93XG4gKiBAcmV0dXJuIHtib29sZWFufSBpcyB0aGVyZSBhIGRheSB3aXRoaW4gdGhlIG1vbnRoIHdpdGhpbiBtaW4gYW5kIG1heCBkYXRlc1xuICovXG5jb25zdCBpc0RhdGVXaXRoaW5NaW5BbmRNYXggPSAoZGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSkgPT5cbiAgZGF0ZSA+PSBtaW5EYXRlICYmICghbWF4RGF0ZSB8fCBkYXRlIDw9IG1heERhdGUpO1xuXG4vKipcbiAqIENoZWNrIGlmIGRhdGVzIG1vbnRoIGlzIGludmFsaWQuXG4gKlxuICogQHBhcmFtIHtEYXRlfSBkYXRlIGRhdGUgdG8gY2hlY2tcbiAqIEBwYXJhbSB7RGF0ZX0gbWluRGF0ZSBtaW5pbXVtIGRhdGUgdG8gYWxsb3dcbiAqIEBwYXJhbSB7RGF0ZX0gbWF4RGF0ZSBtYXhpbXVtIGRhdGUgdG8gYWxsb3dcbiAqIEByZXR1cm4ge2Jvb2xlYW59IGlzIHRoZSBtb250aCBvdXRzaWRlIG1pbiBvciBtYXggZGF0ZXNcbiAqL1xuY29uc3QgaXNEYXRlc01vbnRoT3V0c2lkZU1pbk9yTWF4ID0gKGRhdGUsIG1pbkRhdGUsIG1heERhdGUpID0+XG4gIGxhc3REYXlPZk1vbnRoKGRhdGUpIDwgbWluRGF0ZSB8fCAobWF4RGF0ZSAmJiBzdGFydE9mTW9udGgoZGF0ZSkgPiBtYXhEYXRlKTtcblxuLyoqXG4gKiBDaGVjayBpZiBkYXRlcyB5ZWFyIGlzIGludmFsaWQuXG4gKlxuICogQHBhcmFtIHtEYXRlfSBkYXRlIGRhdGUgdG8gY2hlY2tcbiAqIEBwYXJhbSB7RGF0ZX0gbWluRGF0ZSBtaW5pbXVtIGRhdGUgdG8gYWxsb3dcbiAqIEBwYXJhbSB7RGF0ZX0gbWF4RGF0ZSBtYXhpbXVtIGRhdGUgdG8gYWxsb3dcbiAqIEByZXR1cm4ge2Jvb2xlYW59IGlzIHRoZSBtb250aCBvdXRzaWRlIG1pbiBvciBtYXggZGF0ZXNcbiAqL1xuY29uc3QgaXNEYXRlc1llYXJPdXRzaWRlTWluT3JNYXggPSAoZGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSkgPT5cbiAgbGFzdERheU9mTW9udGgoc2V0TW9udGgoZGF0ZSwgMTEpKSA8IG1pbkRhdGUgfHxcbiAgKG1heERhdGUgJiYgc3RhcnRPZk1vbnRoKHNldE1vbnRoKGRhdGUsIDApKSA+IG1heERhdGUpO1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IERhdGVSYW5nZUNvbnRleHRcbiAqIEBwcm9wZXJ0eSB7RGF0ZX0gcmFuZ2VTdGFydERhdGVcbiAqIEBwcm9wZXJ0eSB7RGF0ZX0gcmFuZ2VFbmREYXRlXG4gKiBAcHJvcGVydHkge0RhdGV9IHdpdGhpblJhbmdlU3RhcnREYXRlXG4gKiBAcHJvcGVydHkge0RhdGV9IHdpdGhpblJhbmdlRW5kRGF0ZVxuICovXG5cbi8qKlxuICogU2V0IHRoZSBzdGFydCwgZW5kLCBhbmQgd2l0aGluIHJhbmdlIHZhbHVlcyBmb3IgZGF0ZSByYW5nZSB2YXJpYW50cy5cblxuICogQHBhcmFtIHtEYXRlfSBkYXRlIC0gRGF0ZSB0aGF0IGNvbmNsdWRlcyB0aGUgZGF0ZSByYW5nZS5cbiAqIEBwYXJhbSB7RGF0ZX0gcmFuZ2VEYXRlIC0gUmFuZ2UgZGF0ZSBkYXRhIGF0dHJpYnV0ZSB2YWx1ZSBvZiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50LlxuICogQHJldHVybnMge0RhdGVSYW5nZUNvbnRleHR9IC0gRGF0ZXMgZm9yIHJhbmdlIHNlbGVjdGlvbi5cbiAqL1xuY29uc3Qgc2V0UmFuZ2VEYXRlcyA9IChkYXRlLCByYW5nZURhdGUpID0+IHtcbiAgY29uc3QgcmFuZ2VDb25jbHVzaW9uRGF0ZSA9IGRhdGU7XG4gIGNvbnN0IHJhbmdlU3RhcnREYXRlID0gcmFuZ2VEYXRlICYmIG1pbihyYW5nZUNvbmNsdXNpb25EYXRlLCByYW5nZURhdGUpO1xuICBjb25zdCByYW5nZUVuZERhdGUgPSByYW5nZURhdGUgJiYgbWF4KHJhbmdlQ29uY2x1c2lvbkRhdGUsIHJhbmdlRGF0ZSk7XG5cbiAgY29uc3Qgd2l0aGluUmFuZ2VTdGFydERhdGUgPSByYW5nZURhdGUgJiYgYWRkRGF5cyhyYW5nZVN0YXJ0RGF0ZSwgMSk7XG4gIGNvbnN0IHdpdGhpblJhbmdlRW5kRGF0ZSA9IHJhbmdlRGF0ZSAmJiBzdWJEYXlzKHJhbmdlRW5kRGF0ZSwgMSk7XG5cbiAgcmV0dXJuIHtcbiAgICByYW5nZVN0YXJ0RGF0ZSxcbiAgICByYW5nZUVuZERhdGUsXG4gICAgd2l0aGluUmFuZ2VTdGFydERhdGUsXG4gICAgd2l0aGluUmFuZ2VFbmREYXRlLFxuICB9O1xufTtcblxuLyoqXG4gKiBQYXJzZSBhIGRhdGUgd2l0aCBmb3JtYXQgTS1ELVlZXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGRhdGVTdHJpbmcgdGhlIGRhdGUgc3RyaW5nIHRvIHBhcnNlXG4gKiBAcGFyYW0ge3N0cmluZ30gZGF0ZUZvcm1hdCB0aGUgZm9ybWF0IG9mIHRoZSBkYXRlIHN0cmluZ1xuICogQHBhcmFtIHtib29sZWFufSBhZGp1c3REYXRlIHNob3VsZCB0aGUgZGF0ZSBiZSBhZGp1c3RlZFxuICogQHJldHVybnMge0RhdGV9IHRoZSBwYXJzZWQgZGF0ZVxuICovXG5jb25zdCBwYXJzZURhdGVTdHJpbmcgPSAoXG4gIGRhdGVTdHJpbmcsXG4gIGRhdGVGb3JtYXQgPSBJTlRFUk5BTF9EQVRFX0ZPUk1BVCxcbiAgYWRqdXN0RGF0ZSA9IGZhbHNlLFxuKSA9PiB7XG4gIGxldCBkYXRlO1xuICBsZXQgbW9udGg7XG4gIGxldCBkYXk7XG4gIGxldCB5ZWFyO1xuICBsZXQgcGFyc2VkO1xuXG4gIGlmIChkYXRlU3RyaW5nKSB7XG4gICAgbGV0IG1vbnRoU3RyO1xuICAgIGxldCBkYXlTdHI7XG4gICAgbGV0IHllYXJTdHI7XG5cbiAgICBpZiAoZGF0ZUZvcm1hdCA9PT0gREVGQVVMVF9FWFRFUk5BTF9EQVRFX0ZPUk1BVCkge1xuICAgICAgW21vbnRoU3RyLCBkYXlTdHIsIHllYXJTdHJdID0gZGF0ZVN0cmluZy5zcGxpdChcIi9cIik7XG4gICAgfSBlbHNlIHtcbiAgICAgIFt5ZWFyU3RyLCBtb250aFN0ciwgZGF5U3RyXSA9IGRhdGVTdHJpbmcuc3BsaXQoXCItXCIpO1xuICAgIH1cblxuICAgIGlmICh5ZWFyU3RyKSB7XG4gICAgICBwYXJzZWQgPSBwYXJzZUludCh5ZWFyU3RyLCAxMCk7XG4gICAgICBpZiAoIU51bWJlci5pc05hTihwYXJzZWQpKSB7XG4gICAgICAgIHllYXIgPSBwYXJzZWQ7XG4gICAgICAgIGlmIChhZGp1c3REYXRlKSB7XG4gICAgICAgICAgeWVhciA9IE1hdGgubWF4KDAsIHllYXIpO1xuICAgICAgICAgIGlmICh5ZWFyU3RyLmxlbmd0aCA8IDMpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRZZWFyID0gdG9kYXkoKS5nZXRGdWxsWWVhcigpO1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFllYXJTdHViID1cbiAgICAgICAgICAgICAgY3VycmVudFllYXIgLSAoY3VycmVudFllYXIgJSAxMCAqKiB5ZWFyU3RyLmxlbmd0aCk7XG4gICAgICAgICAgICB5ZWFyID0gY3VycmVudFllYXJTdHViICsgcGFyc2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChtb250aFN0cikge1xuICAgICAgcGFyc2VkID0gcGFyc2VJbnQobW9udGhTdHIsIDEwKTtcbiAgICAgIGlmICghTnVtYmVyLmlzTmFOKHBhcnNlZCkpIHtcbiAgICAgICAgbW9udGggPSBwYXJzZWQ7XG4gICAgICAgIGlmIChhZGp1c3REYXRlKSB7XG4gICAgICAgICAgbW9udGggPSBNYXRoLm1heCgxLCBtb250aCk7XG4gICAgICAgICAgbW9udGggPSBNYXRoLm1pbigxMiwgbW9udGgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG1vbnRoICYmIGRheVN0ciAmJiB5ZWFyICE9IG51bGwpIHtcbiAgICAgIHBhcnNlZCA9IHBhcnNlSW50KGRheVN0ciwgMTApO1xuICAgICAgaWYgKCFOdW1iZXIuaXNOYU4ocGFyc2VkKSkge1xuICAgICAgICBkYXkgPSBwYXJzZWQ7XG4gICAgICAgIGlmIChhZGp1c3REYXRlKSB7XG4gICAgICAgICAgY29uc3QgbGFzdERheU9mVGhlTW9udGggPSBzZXREYXRlKHllYXIsIG1vbnRoLCAwKS5nZXREYXRlKCk7XG4gICAgICAgICAgZGF5ID0gTWF0aC5tYXgoMSwgZGF5KTtcbiAgICAgICAgICBkYXkgPSBNYXRoLm1pbihsYXN0RGF5T2ZUaGVNb250aCwgZGF5KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChtb250aCAmJiBkYXkgJiYgeWVhciAhPSBudWxsKSB7XG4gICAgICBkYXRlID0gc2V0RGF0ZSh5ZWFyLCBtb250aCAtIDEsIGRheSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRhdGU7XG59O1xuXG4vKipcbiAqIEZvcm1hdCBhIGRhdGUgdG8gZm9ybWF0IE1NLURELVlZWVlcbiAqXG4gKiBAcGFyYW0ge0RhdGV9IGRhdGUgdGhlIGRhdGUgdG8gZm9ybWF0XG4gKiBAcGFyYW0ge3N0cmluZ30gZGF0ZUZvcm1hdCB0aGUgZm9ybWF0IG9mIHRoZSBkYXRlIHN0cmluZ1xuICogQHJldHVybnMge3N0cmluZ30gdGhlIGZvcm1hdHRlZCBkYXRlIHN0cmluZ1xuICovXG5jb25zdCBmb3JtYXREYXRlID0gKGRhdGUsIGRhdGVGb3JtYXQgPSBJTlRFUk5BTF9EQVRFX0ZPUk1BVCkgPT4ge1xuICBjb25zdCBwYWRaZXJvcyA9ICh2YWx1ZSwgbGVuZ3RoKSA9PiBgMDAwMCR7dmFsdWV9YC5zbGljZSgtbGVuZ3RoKTtcblxuICBjb25zdCBtb250aCA9IGRhdGUuZ2V0TW9udGgoKSArIDE7XG4gIGNvbnN0IGRheSA9IGRhdGUuZ2V0RGF0ZSgpO1xuICBjb25zdCB5ZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpO1xuXG4gIGlmIChkYXRlRm9ybWF0ID09PSBERUZBVUxUX0VYVEVSTkFMX0RBVEVfRk9STUFUKSB7XG4gICAgcmV0dXJuIFtwYWRaZXJvcyhtb250aCwgMiksIHBhZFplcm9zKGRheSwgMiksIHBhZFplcm9zKHllYXIsIDQpXS5qb2luKFwiL1wiKTtcbiAgfVxuXG4gIHJldHVybiBbcGFkWmVyb3MoeWVhciwgNCksIHBhZFplcm9zKG1vbnRoLCAyKSwgcGFkWmVyb3MoZGF5LCAyKV0uam9pbihcIi1cIik7XG59O1xuXG4vLyAjZW5kcmVnaW9uIERhdGUgTWFuaXB1bGF0aW9uIEZ1bmN0aW9uc1xuXG4vKipcbiAqIENyZWF0ZSBhIGdyaWQgc3RyaW5nIGZyb20gYW4gYXJyYXkgb2YgaHRtbCBzdHJpbmdzXG4gKlxuICogQHBhcmFtIHtzdHJpbmdbXX0gaHRtbEFycmF5IHRoZSBhcnJheSBvZiBodG1sIGl0ZW1zXG4gKiBAcGFyYW0ge251bWJlcn0gcm93U2l6ZSB0aGUgbGVuZ3RoIG9mIGEgcm93XG4gKiBAcmV0dXJucyB7c3RyaW5nfSB0aGUgZ3JpZCBzdHJpbmdcbiAqL1xuY29uc3QgbGlzdFRvR3JpZEh0bWwgPSAoaHRtbEFycmF5LCByb3dTaXplKSA9PiB7XG4gIGNvbnN0IGdyaWQgPSBbXTtcbiAgbGV0IHJvdyA9IFtdO1xuXG4gIGxldCBpID0gMDtcbiAgd2hpbGUgKGkgPCBodG1sQXJyYXkubGVuZ3RoKSB7XG4gICAgcm93ID0gW107XG5cbiAgICBjb25zdCB0ciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJ0clwiKTtcbiAgICB3aGlsZSAoaSA8IGh0bWxBcnJheS5sZW5ndGggJiYgcm93Lmxlbmd0aCA8IHJvd1NpemUpIHtcbiAgICAgIGNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInRkXCIpO1xuICAgICAgdGQuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KFwiYmVmb3JlZW5kXCIsIGh0bWxBcnJheVtpXSk7XG4gICAgICByb3cucHVzaCh0ZCk7XG4gICAgICBpICs9IDE7XG4gICAgfVxuXG4gICAgcm93LmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgIHRyLmluc2VydEFkamFjZW50RWxlbWVudChcImJlZm9yZWVuZFwiLCBlbGVtZW50KTtcbiAgICB9KTtcblxuICAgIGdyaWQucHVzaCh0cik7XG4gIH1cblxuICByZXR1cm4gZ3JpZDtcbn07XG5cbmNvbnN0IGNyZWF0ZVRhYmxlQm9keSA9IChncmlkKSA9PiB7XG4gIGNvbnN0IHRhYmxlQm9keSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJ0Ym9keVwiKTtcbiAgZ3JpZC5mb3JFYWNoKChlbGVtZW50KSA9PiB7XG4gICAgdGFibGVCb2R5Lmluc2VydEFkamFjZW50RWxlbWVudChcImJlZm9yZWVuZFwiLCBlbGVtZW50KTtcbiAgfSk7XG5cbiAgcmV0dXJuIHRhYmxlQm9keTtcbn07XG5cbi8qKlxuICogc2V0IHRoZSB2YWx1ZSBvZiB0aGUgZWxlbWVudCBhbmQgZGlzcGF0Y2ggYSBjaGFuZ2UgZXZlbnRcbiAqXG4gKiBAcGFyYW0ge0hUTUxJbnB1dEVsZW1lbnR9IGVsIFRoZSBlbGVtZW50IHRvIHVwZGF0ZVxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlIFRoZSBuZXcgdmFsdWUgb2YgdGhlIGVsZW1lbnRcbiAqL1xuY29uc3QgY2hhbmdlRWxlbWVudFZhbHVlID0gKGVsLCB2YWx1ZSA9IFwiXCIpID0+IHtcbiAgY29uc3QgZWxlbWVudFRvQ2hhbmdlID0gZWw7XG4gIGVsZW1lbnRUb0NoYW5nZS52YWx1ZSA9IHZhbHVlO1xuXG4gIGNvbnN0IGV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50KFwiY2hhbmdlXCIsIHtcbiAgICBidWJibGVzOiB0cnVlLFxuICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgZGV0YWlsOiB7IHZhbHVlIH0sXG4gIH0pO1xuICBlbGVtZW50VG9DaGFuZ2UuZGlzcGF0Y2hFdmVudChldmVudCk7XG59O1xuXG4vKipcbiAqIFRoZSBwcm9wZXJ0aWVzIGFuZCBlbGVtZW50cyB3aXRoaW4gdGhlIGRhdGUgcGlja2VyLlxuICogQHR5cGVkZWYge09iamVjdH0gRGF0ZVBpY2tlckNvbnRleHRcbiAqIEBwcm9wZXJ0eSB7SFRNTERpdkVsZW1lbnR9IGNhbGVuZGFyRWxcbiAqIEBwcm9wZXJ0eSB7SFRNTEVsZW1lbnR9IGRhdGVQaWNrZXJFbFxuICogQHByb3BlcnR5IHtIVE1MSW5wdXRFbGVtZW50fSBpbnRlcm5hbElucHV0RWxcbiAqIEBwcm9wZXJ0eSB7SFRNTElucHV0RWxlbWVudH0gZXh0ZXJuYWxJbnB1dEVsXG4gKiBAcHJvcGVydHkge0hUTUxEaXZFbGVtZW50fSBzdGF0dXNFbFxuICogQHByb3BlcnR5IHtIVE1MRGl2RWxlbWVudH0gZmlyc3RZZWFyQ2h1bmtFbFxuICogQHByb3BlcnR5IHtEYXRlfSBjYWxlbmRhckRhdGVcbiAqIEBwcm9wZXJ0eSB7RGF0ZX0gbWluRGF0ZVxuICogQHByb3BlcnR5IHtEYXRlfSBtYXhEYXRlXG4gKiBAcHJvcGVydHkge0RhdGV9IHNlbGVjdGVkRGF0ZVxuICogQHByb3BlcnR5IHtEYXRlfSByYW5nZURhdGVcbiAqIEBwcm9wZXJ0eSB7RGF0ZX0gZGVmYXVsdERhdGVcbiAqL1xuXG4vKipcbiAqIEdldCBhbiBvYmplY3Qgb2YgdGhlIHByb3BlcnRpZXMgYW5kIGVsZW1lbnRzIGJlbG9uZ2luZyBkaXJlY3RseSB0byB0aGUgZ2l2ZW5cbiAqIGRhdGUgcGlja2VyIGNvbXBvbmVudC5cbiAqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbCB0aGUgZWxlbWVudCB3aXRoaW4gdGhlIGRhdGUgcGlja2VyXG4gKiBAcmV0dXJucyB7RGF0ZVBpY2tlckNvbnRleHR9IGVsZW1lbnRzXG4gKi9cbmNvbnN0IGdldERhdGVQaWNrZXJDb250ZXh0ID0gKGVsKSA9PiB7XG4gIGNvbnN0IGRhdGVQaWNrZXJFbCA9IGVsLmNsb3Nlc3QoREFURV9QSUNLRVIpO1xuXG4gIGlmICghZGF0ZVBpY2tlckVsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBFbGVtZW50IGlzIG1pc3Npbmcgb3V0ZXIgJHtEQVRFX1BJQ0tFUn1gKTtcbiAgfVxuXG4gIGNvbnN0IGludGVybmFsSW5wdXRFbCA9IGRhdGVQaWNrZXJFbC5xdWVyeVNlbGVjdG9yKFxuICAgIERBVEVfUElDS0VSX0lOVEVSTkFMX0lOUFVULFxuICApO1xuICBjb25zdCBleHRlcm5hbElucHV0RWwgPSBkYXRlUGlja2VyRWwucXVlcnlTZWxlY3RvcihcbiAgICBEQVRFX1BJQ0tFUl9FWFRFUk5BTF9JTlBVVCxcbiAgKTtcbiAgY29uc3QgY2FsZW5kYXJFbCA9IGRhdGVQaWNrZXJFbC5xdWVyeVNlbGVjdG9yKERBVEVfUElDS0VSX0NBTEVOREFSKTtcbiAgY29uc3QgdG9nZ2xlQnRuRWwgPSBkYXRlUGlja2VyRWwucXVlcnlTZWxlY3RvcihEQVRFX1BJQ0tFUl9CVVRUT04pO1xuICBjb25zdCBzdGF0dXNFbCA9IGRhdGVQaWNrZXJFbC5xdWVyeVNlbGVjdG9yKERBVEVfUElDS0VSX1NUQVRVUyk7XG4gIGNvbnN0IGZpcnN0WWVhckNodW5rRWwgPSBkYXRlUGlja2VyRWwucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9ZRUFSKTtcblxuICBjb25zdCBpbnB1dERhdGUgPSBwYXJzZURhdGVTdHJpbmcoXG4gICAgZXh0ZXJuYWxJbnB1dEVsLnZhbHVlLFxuICAgIERFRkFVTFRfRVhURVJOQUxfREFURV9GT1JNQVQsXG4gICAgdHJ1ZSxcbiAgKTtcbiAgY29uc3Qgc2VsZWN0ZWREYXRlID0gcGFyc2VEYXRlU3RyaW5nKGludGVybmFsSW5wdXRFbC52YWx1ZSk7XG5cbiAgY29uc3QgY2FsZW5kYXJEYXRlID0gcGFyc2VEYXRlU3RyaW5nKGNhbGVuZGFyRWwuZGF0YXNldC52YWx1ZSk7XG4gIGNvbnN0IG1pbkRhdGUgPSBwYXJzZURhdGVTdHJpbmcoZGF0ZVBpY2tlckVsLmRhdGFzZXQubWluRGF0ZSk7XG4gIGNvbnN0IG1heERhdGUgPSBwYXJzZURhdGVTdHJpbmcoZGF0ZVBpY2tlckVsLmRhdGFzZXQubWF4RGF0ZSk7XG4gIGNvbnN0IHJhbmdlRGF0ZSA9IHBhcnNlRGF0ZVN0cmluZyhkYXRlUGlja2VyRWwuZGF0YXNldC5yYW5nZURhdGUpO1xuICBjb25zdCBkZWZhdWx0RGF0ZSA9IHBhcnNlRGF0ZVN0cmluZyhkYXRlUGlja2VyRWwuZGF0YXNldC5kZWZhdWx0RGF0ZSk7XG5cbiAgaWYgKG1pbkRhdGUgJiYgbWF4RGF0ZSAmJiBtaW5EYXRlID4gbWF4RGF0ZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIk1pbmltdW0gZGF0ZSBjYW5ub3QgYmUgYWZ0ZXIgbWF4aW11bSBkYXRlXCIpO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBjYWxlbmRhckRhdGUsXG4gICAgbWluRGF0ZSxcbiAgICB0b2dnbGVCdG5FbCxcbiAgICBzZWxlY3RlZERhdGUsXG4gICAgbWF4RGF0ZSxcbiAgICBmaXJzdFllYXJDaHVua0VsLFxuICAgIGRhdGVQaWNrZXJFbCxcbiAgICBpbnB1dERhdGUsXG4gICAgaW50ZXJuYWxJbnB1dEVsLFxuICAgIGV4dGVybmFsSW5wdXRFbCxcbiAgICBjYWxlbmRhckVsLFxuICAgIHJhbmdlRGF0ZSxcbiAgICBkZWZhdWx0RGF0ZSxcbiAgICBzdGF0dXNFbCxcbiAgfTtcbn07XG5cbi8qKlxuICogRGlzYWJsZSB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGRhdGUgcGlja2VyIGNvbXBvbmVudFxuICovXG5jb25zdCBkaXNhYmxlID0gKGVsKSA9PiB7XG4gIGNvbnN0IHsgZXh0ZXJuYWxJbnB1dEVsLCB0b2dnbGVCdG5FbCB9ID0gZ2V0RGF0ZVBpY2tlckNvbnRleHQoZWwpO1xuXG4gIHRvZ2dsZUJ0bkVsLmRpc2FibGVkID0gdHJ1ZTtcbiAgZXh0ZXJuYWxJbnB1dEVsLmRpc2FibGVkID0gdHJ1ZTtcbn07XG5cbi8qKlxuICogQWRkIHRoZSByZWFkb25seSBhdHRyaWJ1dGUgdG8gaW5wdXQgZWxlbWVudCBhbmQgdGhlIGFyaWEtZGlzYWJsZWQgYXR0cmlidXRlIHRvIHRoZSB0b2dnbGUgY2FsZW5kYXIgYnV0dG9uIGFuZCBleHRlcm5hbCBpbnB1dCBlbGVtZW50cy5cbiAqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbCAtIFRoZSBkYXRlIHBpY2tlciBlbGVtZW50XG4gKi9cbmNvbnN0IGFyaWFEaXNhYmxlID0gKGVsKSA9PiB7XG4gIGNvbnN0IHsgZXh0ZXJuYWxJbnB1dEVsLCB0b2dnbGVCdG5FbCB9ID0gZ2V0RGF0ZVBpY2tlckNvbnRleHQoZWwpO1xuXG4gIHRvZ2dsZUJ0bkVsLnNldEF0dHJpYnV0ZShcImFyaWEtZGlzYWJsZWRcIiwgdHJ1ZSk7XG4gIGV4dGVybmFsSW5wdXRFbC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWRpc2FibGVkXCIsIHRydWUpO1xuICBleHRlcm5hbElucHV0RWwuc2V0QXR0cmlidXRlKFwicmVhZG9ubHlcIiwgXCJcIik7XG59O1xuXG4vKipcbiAqIEVuYWJsZSB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGRhdGUgcGlja2VyIGNvbXBvbmVudFxuICovXG5jb25zdCBlbmFibGUgPSAoZWwpID0+IHtcbiAgY29uc3QgeyBleHRlcm5hbElucHV0RWwsIHRvZ2dsZUJ0bkVsIH0gPSBnZXREYXRlUGlja2VyQ29udGV4dChlbCk7XG5cbiAgdG9nZ2xlQnRuRWwuZGlzYWJsZWQgPSBmYWxzZTtcbiAgdG9nZ2xlQnRuRWwucmVtb3ZlQXR0cmlidXRlKFwiYXJpYS1kaXNhYmxlZFwiKTtcblxuICBleHRlcm5hbElucHV0RWwuZGlzYWJsZWQgPSBmYWxzZTtcbiAgZXh0ZXJuYWxJbnB1dEVsLnJlbW92ZUF0dHJpYnV0ZShcImFyaWEtZGlzYWJsZWRcIik7XG4gIGV4dGVybmFsSW5wdXRFbC5yZW1vdmVBdHRyaWJ1dGUoXCJyZWFkb25seVwiKTtcbn07XG5cbi8vICNyZWdpb24gVmFsaWRhdGlvblxuXG4vKipcbiAqIFZhbGlkYXRlIHRoZSB2YWx1ZSBpbiB0aGUgaW5wdXQgYXMgYSB2YWxpZCBkYXRlIG9mIGZvcm1hdCBNL0QvWVlZWVxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBkYXRlIHBpY2tlciBjb21wb25lbnRcbiAqL1xuY29uc3QgaXNEYXRlSW5wdXRJbnZhbGlkID0gKGVsKSA9PiB7XG4gIGNvbnN0IHsgZXh0ZXJuYWxJbnB1dEVsLCBtaW5EYXRlLCBtYXhEYXRlIH0gPSBnZXREYXRlUGlja2VyQ29udGV4dChlbCk7XG5cbiAgY29uc3QgZGF0ZVN0cmluZyA9IGV4dGVybmFsSW5wdXRFbC52YWx1ZTtcbiAgbGV0IGlzSW52YWxpZCA9IGZhbHNlO1xuXG4gIGlmIChkYXRlU3RyaW5nKSB7XG4gICAgaXNJbnZhbGlkID0gdHJ1ZTtcblxuICAgIGNvbnN0IGRhdGVTdHJpbmdQYXJ0cyA9IGRhdGVTdHJpbmcuc3BsaXQoXCIvXCIpO1xuICAgIGNvbnN0IFttb250aCwgZGF5LCB5ZWFyXSA9IGRhdGVTdHJpbmdQYXJ0cy5tYXAoKHN0cikgPT4ge1xuICAgICAgbGV0IHZhbHVlO1xuICAgICAgY29uc3QgcGFyc2VkID0gcGFyc2VJbnQoc3RyLCAxMCk7XG4gICAgICBpZiAoIU51bWJlci5pc05hTihwYXJzZWQpKSB2YWx1ZSA9IHBhcnNlZDtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9KTtcblxuICAgIGlmIChtb250aCAmJiBkYXkgJiYgeWVhciAhPSBudWxsKSB7XG4gICAgICBjb25zdCBjaGVja0RhdGUgPSBzZXREYXRlKHllYXIsIG1vbnRoIC0gMSwgZGF5KTtcblxuICAgICAgaWYgKFxuICAgICAgICBjaGVja0RhdGUuZ2V0TW9udGgoKSA9PT0gbW9udGggLSAxICYmXG4gICAgICAgIGNoZWNrRGF0ZS5nZXREYXRlKCkgPT09IGRheSAmJlxuICAgICAgICBjaGVja0RhdGUuZ2V0RnVsbFllYXIoKSA9PT0geWVhciAmJlxuICAgICAgICBkYXRlU3RyaW5nUGFydHNbMl0ubGVuZ3RoID09PSA0ICYmXG4gICAgICAgIGlzRGF0ZVdpdGhpbk1pbkFuZE1heChjaGVja0RhdGUsIG1pbkRhdGUsIG1heERhdGUpXG4gICAgICApIHtcbiAgICAgICAgaXNJbnZhbGlkID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGlzSW52YWxpZDtcbn07XG5cbi8qKlxuICogVmFsaWRhdGUgdGhlIHZhbHVlIGluIHRoZSBpbnB1dCBhcyBhIHZhbGlkIGRhdGUgb2YgZm9ybWF0IE0vRC9ZWVlZXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGRhdGUgcGlja2VyIGNvbXBvbmVudFxuICovXG5jb25zdCB2YWxpZGF0ZURhdGVJbnB1dCA9IChlbCkgPT4ge1xuICBjb25zdCB7IGV4dGVybmFsSW5wdXRFbCB9ID0gZ2V0RGF0ZVBpY2tlckNvbnRleHQoZWwpO1xuICBjb25zdCBpc0ludmFsaWQgPSBpc0RhdGVJbnB1dEludmFsaWQoZXh0ZXJuYWxJbnB1dEVsKTtcblxuICBpZiAoaXNJbnZhbGlkICYmICFleHRlcm5hbElucHV0RWwudmFsaWRhdGlvbk1lc3NhZ2UpIHtcbiAgICBleHRlcm5hbElucHV0RWwuc2V0Q3VzdG9tVmFsaWRpdHkoVkFMSURBVElPTl9NRVNTQUdFKTtcbiAgfVxuXG4gIGlmICghaXNJbnZhbGlkICYmIGV4dGVybmFsSW5wdXRFbC52YWxpZGF0aW9uTWVzc2FnZSA9PT0gVkFMSURBVElPTl9NRVNTQUdFKSB7XG4gICAgZXh0ZXJuYWxJbnB1dEVsLnNldEN1c3RvbVZhbGlkaXR5KFwiXCIpO1xuICB9XG59O1xuXG4vLyAjZW5kcmVnaW9uIFZhbGlkYXRpb25cblxuLyoqXG4gKiBFbmFibGUgdGhlIGRhdGUgcGlja2VyIGNvbXBvbmVudFxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBkYXRlIHBpY2tlciBjb21wb25lbnRcbiAqL1xuY29uc3QgcmVjb25jaWxlSW5wdXRWYWx1ZXMgPSAoZWwpID0+IHtcbiAgY29uc3QgeyBpbnRlcm5hbElucHV0RWwsIGlucHV0RGF0ZSB9ID0gZ2V0RGF0ZVBpY2tlckNvbnRleHQoZWwpO1xuICBsZXQgbmV3VmFsdWUgPSBcIlwiO1xuXG4gIGlmIChpbnB1dERhdGUgJiYgIWlzRGF0ZUlucHV0SW52YWxpZChlbCkpIHtcbiAgICBuZXdWYWx1ZSA9IGZvcm1hdERhdGUoaW5wdXREYXRlKTtcbiAgfVxuXG4gIGlmIChpbnRlcm5hbElucHV0RWwudmFsdWUgIT09IG5ld1ZhbHVlKSB7XG4gICAgY2hhbmdlRWxlbWVudFZhbHVlKGludGVybmFsSW5wdXRFbCwgbmV3VmFsdWUpO1xuICB9XG59O1xuXG4vKipcbiAqIFNlbGVjdCB0aGUgdmFsdWUgb2YgdGhlIGRhdGUgcGlja2VyIGlucHV0cy5cbiAqXG4gKiBAcGFyYW0ge0hUTUxCdXR0b25FbGVtZW50fSBlbCBBbiBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKiBAcGFyYW0ge3N0cmluZ30gZGF0ZVN0cmluZyBUaGUgZGF0ZSBzdHJpbmcgdG8gdXBkYXRlIGluIFlZWVktTU0tREQgZm9ybWF0XG4gKi9cbmNvbnN0IHNldENhbGVuZGFyVmFsdWUgPSAoZWwsIGRhdGVTdHJpbmcpID0+IHtcbiAgY29uc3QgcGFyc2VkRGF0ZSA9IHBhcnNlRGF0ZVN0cmluZyhkYXRlU3RyaW5nKTtcblxuICBpZiAocGFyc2VkRGF0ZSkge1xuICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSBmb3JtYXREYXRlKHBhcnNlZERhdGUsIERFRkFVTFRfRVhURVJOQUxfREFURV9GT1JNQVQpO1xuXG4gICAgY29uc3QgeyBkYXRlUGlja2VyRWwsIGludGVybmFsSW5wdXRFbCwgZXh0ZXJuYWxJbnB1dEVsIH0gPVxuICAgICAgZ2V0RGF0ZVBpY2tlckNvbnRleHQoZWwpO1xuXG4gICAgY2hhbmdlRWxlbWVudFZhbHVlKGludGVybmFsSW5wdXRFbCwgZGF0ZVN0cmluZyk7XG4gICAgY2hhbmdlRWxlbWVudFZhbHVlKGV4dGVybmFsSW5wdXRFbCwgZm9ybWF0dGVkRGF0ZSk7XG5cbiAgICB2YWxpZGF0ZURhdGVJbnB1dChkYXRlUGlja2VyRWwpO1xuICB9XG59O1xuXG4vKipcbiAqIEVuaGFuY2UgYW4gaW5wdXQgd2l0aCB0aGUgZGF0ZSBwaWNrZXIgZWxlbWVudHNcbiAqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbCBUaGUgaW5pdGlhbCB3cmFwcGluZyBlbGVtZW50IG9mIHRoZSBkYXRlIHBpY2tlciBjb21wb25lbnRcbiAqL1xuY29uc3QgZW5oYW5jZURhdGVQaWNrZXIgPSAoZWwpID0+IHtcbiAgY29uc3QgZGF0ZVBpY2tlckVsID0gZWwuY2xvc2VzdChEQVRFX1BJQ0tFUik7XG4gIGNvbnN0IHsgZGVmYXVsdFZhbHVlIH0gPSBkYXRlUGlja2VyRWwuZGF0YXNldDtcblxuICBjb25zdCBpbnRlcm5hbElucHV0RWwgPSBkYXRlUGlja2VyRWwucXVlcnlTZWxlY3RvcihgaW5wdXRgKTtcblxuICBpZiAoIWludGVybmFsSW5wdXRFbCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgJHtEQVRFX1BJQ0tFUn0gaXMgbWlzc2luZyBpbm5lciBpbnB1dGApO1xuICB9XG5cbiAgaWYgKGludGVybmFsSW5wdXRFbC52YWx1ZSkge1xuICAgIGludGVybmFsSW5wdXRFbC52YWx1ZSA9IFwiXCI7XG4gIH1cblxuICBjb25zdCBtaW5EYXRlID0gcGFyc2VEYXRlU3RyaW5nKFxuICAgIGRhdGVQaWNrZXJFbC5kYXRhc2V0Lm1pbkRhdGUgfHwgaW50ZXJuYWxJbnB1dEVsLmdldEF0dHJpYnV0ZShcIm1pblwiKSxcbiAgKTtcbiAgZGF0ZVBpY2tlckVsLmRhdGFzZXQubWluRGF0ZSA9IG1pbkRhdGVcbiAgICA/IGZvcm1hdERhdGUobWluRGF0ZSlcbiAgICA6IERFRkFVTFRfTUlOX0RBVEU7XG5cbiAgY29uc3QgbWF4RGF0ZSA9IHBhcnNlRGF0ZVN0cmluZyhcbiAgICBkYXRlUGlja2VyRWwuZGF0YXNldC5tYXhEYXRlIHx8IGludGVybmFsSW5wdXRFbC5nZXRBdHRyaWJ1dGUoXCJtYXhcIiksXG4gICk7XG4gIGlmIChtYXhEYXRlKSB7XG4gICAgZGF0ZVBpY2tlckVsLmRhdGFzZXQubWF4RGF0ZSA9IGZvcm1hdERhdGUobWF4RGF0ZSk7XG4gIH1cblxuICBjb25zdCBjYWxlbmRhcldyYXBwZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICBjYWxlbmRhcldyYXBwZXIuY2xhc3NMaXN0LmFkZChEQVRFX1BJQ0tFUl9XUkFQUEVSX0NMQVNTKTtcblxuICBjb25zdCBleHRlcm5hbElucHV0RWwgPSBpbnRlcm5hbElucHV0RWwuY2xvbmVOb2RlKCk7XG4gIGV4dGVybmFsSW5wdXRFbC5jbGFzc0xpc3QuYWRkKERBVEVfUElDS0VSX0VYVEVSTkFMX0lOUFVUX0NMQVNTKTtcbiAgZXh0ZXJuYWxJbnB1dEVsLnR5cGUgPSBcInRleHRcIjtcblxuICBjYWxlbmRhcldyYXBwZXIuYXBwZW5kQ2hpbGQoZXh0ZXJuYWxJbnB1dEVsKTtcbiAgY2FsZW5kYXJXcmFwcGVyLmluc2VydEFkamFjZW50SFRNTChcbiAgICBcImJlZm9yZWVuZFwiLFxuICAgIFNhbml0aXplci5lc2NhcGVIVE1MYFxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiJHtEQVRFX1BJQ0tFUl9CVVRUT05fQ0xBU1N9XCIgYXJpYS1oYXNwb3B1cD1cInRydWVcIiBhcmlhLWxhYmVsPVwiVG9nZ2xlIGNhbGVuZGFyXCI+PC9idXR0b24+XG4gICAgPGRpdiBjbGFzcz1cIiR7REFURV9QSUNLRVJfQ0FMRU5EQVJfQ0xBU1N9XCIgcm9sZT1cImFwcGxpY2F0aW9uXCIgaGlkZGVuPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ1c2Etc3Itb25seSAke0RBVEVfUElDS0VSX1NUQVRVU19DTEFTU31cIiByb2xlPVwic3RhdHVzXCIgYXJpYS1saXZlPVwicG9saXRlXCI+PC9kaXY+YCxcbiAgKTtcblxuICBpbnRlcm5hbElucHV0RWwuc2V0QXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIiwgXCJ0cnVlXCIpO1xuICBpbnRlcm5hbElucHV0RWwuc2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIiwgXCItMVwiKTtcbiAgaW50ZXJuYWxJbnB1dEVsLnN0eWxlLmRpc3BsYXkgPSBcIm5vbmVcIjtcbiAgaW50ZXJuYWxJbnB1dEVsLmNsYXNzTGlzdC5hZGQoREFURV9QSUNLRVJfSU5URVJOQUxfSU5QVVRfQ0xBU1MpO1xuICBpbnRlcm5hbElucHV0RWwucmVtb3ZlQXR0cmlidXRlKFwiaWRcIik7XG4gIGludGVybmFsSW5wdXRFbC5yZW1vdmVBdHRyaWJ1dGUoXCJuYW1lXCIpO1xuICBpbnRlcm5hbElucHV0RWwucmVxdWlyZWQgPSBmYWxzZTtcblxuICBkYXRlUGlja2VyRWwuYXBwZW5kQ2hpbGQoY2FsZW5kYXJXcmFwcGVyKTtcbiAgZGF0ZVBpY2tlckVsLmNsYXNzTGlzdC5hZGQoREFURV9QSUNLRVJfSU5JVElBTElaRURfQ0xBU1MpO1xuXG4gIGlmIChkZWZhdWx0VmFsdWUpIHtcbiAgICBzZXRDYWxlbmRhclZhbHVlKGRhdGVQaWNrZXJFbCwgZGVmYXVsdFZhbHVlKTtcbiAgfVxuXG4gIGlmIChpbnRlcm5hbElucHV0RWwuZGlzYWJsZWQpIHtcbiAgICBkaXNhYmxlKGRhdGVQaWNrZXJFbCk7XG4gICAgaW50ZXJuYWxJbnB1dEVsLmRpc2FibGVkID0gZmFsc2U7XG4gIH1cblxuICBpZiAoaW50ZXJuYWxJbnB1dEVsLmhhc0F0dHJpYnV0ZShcImFyaWEtZGlzYWJsZWRcIikpIHtcbiAgICBhcmlhRGlzYWJsZShkYXRlUGlja2VyRWwpO1xuICAgIGludGVybmFsSW5wdXRFbC5yZW1vdmVBdHRyaWJ1dGUoXCJhcmlhLWRpc2FibGVkXCIpO1xuICB9XG59O1xuXG4vLyAjcmVnaW9uIENhbGVuZGFyIC0gRGF0ZSBTZWxlY3Rpb24gVmlld1xuXG4vKipcbiAqIHJlbmRlciB0aGUgY2FsZW5kYXIuXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGRhdGUgcGlja2VyIGNvbXBvbmVudFxuICogQHBhcmFtIHtEYXRlfSBfZGF0ZVRvRGlzcGxheSBhIGRhdGUgdG8gcmVuZGVyIG9uIHRoZSBjYWxlbmRhclxuICogQHJldHVybnMge0hUTUxFbGVtZW50fSBhIHJlZmVyZW5jZSB0byB0aGUgbmV3IGNhbGVuZGFyIGVsZW1lbnRcbiAqL1xuY29uc3QgcmVuZGVyQ2FsZW5kYXIgPSAoZWwsIF9kYXRlVG9EaXNwbGF5KSA9PiB7XG4gIGNvbnN0IHtcbiAgICBkYXRlUGlja2VyRWwsXG4gICAgY2FsZW5kYXJFbCxcbiAgICBzdGF0dXNFbCxcbiAgICBzZWxlY3RlZERhdGUsXG4gICAgbWF4RGF0ZSxcbiAgICBtaW5EYXRlLFxuICAgIHJhbmdlRGF0ZSxcbiAgfSA9IGdldERhdGVQaWNrZXJDb250ZXh0KGVsKTtcbiAgY29uc3QgdG9kYXlzRGF0ZSA9IHRvZGF5KCk7XG4gIGxldCBkYXRlVG9EaXNwbGF5ID0gX2RhdGVUb0Rpc3BsYXkgfHwgdG9kYXlzRGF0ZTtcblxuICBjb25zdCBjYWxlbmRhcldhc0hpZGRlbiA9IGNhbGVuZGFyRWwuaGlkZGVuO1xuXG4gIGNvbnN0IGZvY3VzZWREYXRlID0gYWRkRGF5cyhkYXRlVG9EaXNwbGF5LCAwKTtcbiAgY29uc3QgZm9jdXNlZE1vbnRoID0gZGF0ZVRvRGlzcGxheS5nZXRNb250aCgpO1xuICBjb25zdCBmb2N1c2VkWWVhciA9IGRhdGVUb0Rpc3BsYXkuZ2V0RnVsbFllYXIoKTtcblxuICBjb25zdCBwcmV2TW9udGggPSBzdWJNb250aHMoZGF0ZVRvRGlzcGxheSwgMSk7XG4gIGNvbnN0IG5leHRNb250aCA9IGFkZE1vbnRocyhkYXRlVG9EaXNwbGF5LCAxKTtcblxuICBjb25zdCBjdXJyZW50Rm9ybWF0dGVkRGF0ZSA9IGZvcm1hdERhdGUoZGF0ZVRvRGlzcGxheSk7XG5cbiAgY29uc3QgZmlyc3RPZk1vbnRoID0gc3RhcnRPZk1vbnRoKGRhdGVUb0Rpc3BsYXkpO1xuICBjb25zdCBwcmV2QnV0dG9uc0Rpc2FibGVkID0gaXNTYW1lTW9udGgoZGF0ZVRvRGlzcGxheSwgbWluRGF0ZSk7XG4gIGNvbnN0IG5leHRCdXR0b25zRGlzYWJsZWQgPSBpc1NhbWVNb250aChkYXRlVG9EaXNwbGF5LCBtYXhEYXRlKTtcblxuICBjb25zdCB7XG4gICAgcmFuZ2VTdGFydERhdGUsXG4gICAgcmFuZ2VFbmREYXRlLFxuICAgIHdpdGhpblJhbmdlU3RhcnREYXRlLFxuICAgIHdpdGhpblJhbmdlRW5kRGF0ZSxcbiAgfSA9IHNldFJhbmdlRGF0ZXMoc2VsZWN0ZWREYXRlIHx8IGRhdGVUb0Rpc3BsYXksIHJhbmdlRGF0ZSk7XG5cbiAgY29uc3QgbW9udGhMYWJlbCA9IE1PTlRIX0xBQkVMU1tmb2N1c2VkTW9udGhdO1xuXG4gIGNvbnN0IGdlbmVyYXRlRGF0ZUh0bWwgPSAoZGF0ZVRvUmVuZGVyKSA9PiB7XG4gICAgY29uc3QgY2xhc3NlcyA9IFtDQUxFTkRBUl9EQVRFX0NMQVNTXTtcbiAgICBjb25zdCBkYXkgPSBkYXRlVG9SZW5kZXIuZ2V0RGF0ZSgpO1xuICAgIGNvbnN0IG1vbnRoID0gZGF0ZVRvUmVuZGVyLmdldE1vbnRoKCk7XG4gICAgY29uc3QgeWVhciA9IGRhdGVUb1JlbmRlci5nZXRGdWxsWWVhcigpO1xuICAgIGNvbnN0IGRheU9mV2VlayA9IGRhdGVUb1JlbmRlci5nZXREYXkoKTtcblxuICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSBmb3JtYXREYXRlKGRhdGVUb1JlbmRlcik7XG5cbiAgICBsZXQgdGFiaW5kZXggPSBcIi0xXCI7XG5cbiAgICBjb25zdCBpc0Rpc2FibGVkID0gIWlzRGF0ZVdpdGhpbk1pbkFuZE1heChkYXRlVG9SZW5kZXIsIG1pbkRhdGUsIG1heERhdGUpO1xuICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSBpc1NhbWVEYXkoZGF0ZVRvUmVuZGVyLCBzZWxlY3RlZERhdGUpO1xuXG4gICAgaWYgKGlzU2FtZU1vbnRoKGRhdGVUb1JlbmRlciwgcHJldk1vbnRoKSkge1xuICAgICAgY2xhc3Nlcy5wdXNoKENBTEVOREFSX0RBVEVfUFJFVklPVVNfTU9OVEhfQ0xBU1MpO1xuICAgIH1cblxuICAgIGlmIChpc1NhbWVNb250aChkYXRlVG9SZW5kZXIsIGZvY3VzZWREYXRlKSkge1xuICAgICAgY2xhc3Nlcy5wdXNoKENBTEVOREFSX0RBVEVfQ1VSUkVOVF9NT05USF9DTEFTUyk7XG4gICAgfVxuXG4gICAgaWYgKGlzU2FtZU1vbnRoKGRhdGVUb1JlbmRlciwgbmV4dE1vbnRoKSkge1xuICAgICAgY2xhc3Nlcy5wdXNoKENBTEVOREFSX0RBVEVfTkVYVF9NT05USF9DTEFTUyk7XG4gICAgfVxuXG4gICAgaWYgKGlzU2VsZWN0ZWQpIHtcbiAgICAgIGNsYXNzZXMucHVzaChDQUxFTkRBUl9EQVRFX1NFTEVDVEVEX0NMQVNTKTtcbiAgICB9XG5cbiAgICBpZiAoaXNTYW1lRGF5KGRhdGVUb1JlbmRlciwgdG9kYXlzRGF0ZSkpIHtcbiAgICAgIGNsYXNzZXMucHVzaChDQUxFTkRBUl9EQVRFX1RPREFZX0NMQVNTKTtcbiAgICB9XG5cbiAgICBpZiAocmFuZ2VEYXRlKSB7XG4gICAgICBpZiAoaXNTYW1lRGF5KGRhdGVUb1JlbmRlciwgcmFuZ2VEYXRlKSkge1xuICAgICAgICBjbGFzc2VzLnB1c2goQ0FMRU5EQVJfREFURV9SQU5HRV9EQVRFX0NMQVNTKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzU2FtZURheShkYXRlVG9SZW5kZXIsIHJhbmdlU3RhcnREYXRlKSkge1xuICAgICAgICBjbGFzc2VzLnB1c2goQ0FMRU5EQVJfREFURV9SQU5HRV9EQVRFX1NUQVJUX0NMQVNTKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzU2FtZURheShkYXRlVG9SZW5kZXIsIHJhbmdlRW5kRGF0ZSkpIHtcbiAgICAgICAgY2xhc3Nlcy5wdXNoKENBTEVOREFSX0RBVEVfUkFOR0VfREFURV9FTkRfQ0xBU1MpO1xuICAgICAgfVxuXG4gICAgICBpZiAoXG4gICAgICAgIGlzRGF0ZVdpdGhpbk1pbkFuZE1heChcbiAgICAgICAgICBkYXRlVG9SZW5kZXIsXG4gICAgICAgICAgd2l0aGluUmFuZ2VTdGFydERhdGUsXG4gICAgICAgICAgd2l0aGluUmFuZ2VFbmREYXRlLFxuICAgICAgICApXG4gICAgICApIHtcbiAgICAgICAgY2xhc3Nlcy5wdXNoKENBTEVOREFSX0RBVEVfV0lUSElOX1JBTkdFX0NMQVNTKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaXNTYW1lRGF5KGRhdGVUb1JlbmRlciwgZm9jdXNlZERhdGUpKSB7XG4gICAgICB0YWJpbmRleCA9IFwiMFwiO1xuICAgICAgY2xhc3Nlcy5wdXNoKENBTEVOREFSX0RBVEVfRk9DVVNFRF9DTEFTUyk7XG4gICAgfVxuXG4gICAgY29uc3QgbW9udGhTdHIgPSBNT05USF9MQUJFTFNbbW9udGhdO1xuICAgIGNvbnN0IGRheVN0ciA9IERBWV9PRl9XRUVLX0xBQkVMU1tkYXlPZldlZWtdO1xuXG4gICAgY29uc3QgYnRuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiKTtcbiAgICBidG4uc2V0QXR0cmlidXRlKFwidHlwZVwiLCBcImJ1dHRvblwiKTtcbiAgICBidG4uc2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIiwgdGFiaW5kZXgpO1xuICAgIGJ0bi5zZXRBdHRyaWJ1dGUoXCJjbGFzc1wiLCBjbGFzc2VzLmpvaW4oXCIgXCIpKTtcbiAgICBidG4uc2V0QXR0cmlidXRlKFwiZGF0YS1kYXlcIiwgZGF5KTtcbiAgICBidG4uc2V0QXR0cmlidXRlKFwiZGF0YS1tb250aFwiLCBtb250aCArIDEpO1xuICAgIGJ0bi5zZXRBdHRyaWJ1dGUoXCJkYXRhLXllYXJcIiwgeWVhcik7XG4gICAgYnRuLnNldEF0dHJpYnV0ZShcImRhdGEtdmFsdWVcIiwgZm9ybWF0dGVkRGF0ZSk7XG4gICAgYnRuLnNldEF0dHJpYnV0ZShcbiAgICAgIFwiYXJpYS1sYWJlbFwiLFxuICAgICAgU2FuaXRpemVyLmVzY2FwZUhUTUxgJHtkYXl9ICR7bW9udGhTdHJ9ICR7eWVhcn0gJHtkYXlTdHJ9YCxcbiAgICApO1xuICAgIGJ0bi5zZXRBdHRyaWJ1dGUoXCJhcmlhLXNlbGVjdGVkXCIsIGlzU2VsZWN0ZWQgPyBcInRydWVcIiA6IFwiZmFsc2VcIik7XG4gICAgaWYgKGlzRGlzYWJsZWQgPT09IHRydWUpIHtcbiAgICAgIGJ0bi5kaXNhYmxlZCA9IHRydWU7XG4gICAgfVxuICAgIGJ0bi50ZXh0Q29udGVudCA9IGRheTtcblxuICAgIHJldHVybiBidG47XG4gIH07XG5cbiAgLy8gc2V0IGRhdGUgdG8gZmlyc3QgcmVuZGVyZWQgZGF5XG4gIGRhdGVUb0Rpc3BsYXkgPSBzdGFydE9mV2VlayhmaXJzdE9mTW9udGgpO1xuXG4gIGNvbnN0IGRheXMgPSBbXTtcblxuICB3aGlsZSAoXG4gICAgZGF5cy5sZW5ndGggPCAyOCB8fFxuICAgIGRhdGVUb0Rpc3BsYXkuZ2V0TW9udGgoKSA9PT0gZm9jdXNlZE1vbnRoIHx8XG4gICAgZGF5cy5sZW5ndGggJSA3ICE9PSAwXG4gICkge1xuICAgIGRheXMucHVzaChnZW5lcmF0ZURhdGVIdG1sKGRhdGVUb0Rpc3BsYXkpKTtcbiAgICBkYXRlVG9EaXNwbGF5ID0gYWRkRGF5cyhkYXRlVG9EaXNwbGF5LCAxKTtcbiAgfVxuXG4gIGNvbnN0IGRhdGVzR3JpZCA9IGxpc3RUb0dyaWRIdG1sKGRheXMsIDcpO1xuXG4gIGNvbnN0IG5ld0NhbGVuZGFyID0gY2FsZW5kYXJFbC5jbG9uZU5vZGUoKTtcbiAgbmV3Q2FsZW5kYXIuZGF0YXNldC52YWx1ZSA9IGN1cnJlbnRGb3JtYXR0ZWREYXRlO1xuICBuZXdDYWxlbmRhci5zdHlsZS50b3AgPSBgJHtkYXRlUGlja2VyRWwub2Zmc2V0SGVpZ2h0fXB4YDtcbiAgbmV3Q2FsZW5kYXIuaGlkZGVuID0gZmFsc2U7XG4gIG5ld0NhbGVuZGFyLmlubmVySFRNTCA9IFNhbml0aXplci5lc2NhcGVIVE1MYFxuICAgIDxkaXYgdGFiaW5kZXg9XCItMVwiIGNsYXNzPVwiJHtDQUxFTkRBUl9EQVRFX1BJQ0tFUl9DTEFTU31cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCIke0NBTEVOREFSX1JPV19DTEFTU31cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIiR7Q0FMRU5EQVJfQ0VMTF9DTEFTU30gJHtDQUxFTkRBUl9DRUxMX0NFTlRFUl9JVEVNU19DTEFTU31cIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiJHtDQUxFTkRBUl9QUkVWSU9VU19ZRUFSX0NMQVNTfVwiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiTmF2aWdhdGUgYmFjayBvbmUgeWVhclwiXG4gICAgICAgICAgICAke3ByZXZCdXR0b25zRGlzYWJsZWQgPyBgZGlzYWJsZWQ9XCJkaXNhYmxlZFwiYCA6IFwiXCJ9XG4gICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIiR7Q0FMRU5EQVJfQ0VMTF9DTEFTU30gJHtDQUxFTkRBUl9DRUxMX0NFTlRFUl9JVEVNU19DTEFTU31cIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiJHtDQUxFTkRBUl9QUkVWSU9VU19NT05USF9DTEFTU31cIlxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIk5hdmlnYXRlIGJhY2sgb25lIG1vbnRoXCJcbiAgICAgICAgICAgICR7cHJldkJ1dHRvbnNEaXNhYmxlZCA/IGBkaXNhYmxlZD1cImRpc2FibGVkXCJgIDogXCJcIn1cbiAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiJHtDQUxFTkRBUl9DRUxMX0NMQVNTfSAke0NBTEVOREFSX01PTlRIX0xBQkVMX0NMQVNTfVwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCIke0NBTEVOREFSX01PTlRIX1NFTEVDVElPTl9DTEFTU31cIiBhcmlhLWxhYmVsPVwiJHttb250aExhYmVsfS4gU2VsZWN0IG1vbnRoXCJcbiAgICAgICAgICA+JHttb250aExhYmVsfTwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCIke0NBTEVOREFSX1lFQVJfU0VMRUNUSU9OX0NMQVNTfVwiIGFyaWEtbGFiZWw9XCIke2ZvY3VzZWRZZWFyfS4gU2VsZWN0IHllYXJcIlxuICAgICAgICAgID4ke2ZvY3VzZWRZZWFyfTwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIiR7Q0FMRU5EQVJfQ0VMTF9DTEFTU30gJHtDQUxFTkRBUl9DRUxMX0NFTlRFUl9JVEVNU19DTEFTU31cIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiJHtDQUxFTkRBUl9ORVhUX01PTlRIX0NMQVNTfVwiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiTmF2aWdhdGUgZm9yd2FyZCBvbmUgbW9udGhcIlxuICAgICAgICAgICAgJHtuZXh0QnV0dG9uc0Rpc2FibGVkID8gYGRpc2FibGVkPVwiZGlzYWJsZWRcImAgOiBcIlwifVxuICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCIke0NBTEVOREFSX0NFTExfQ0xBU1N9ICR7Q0FMRU5EQVJfQ0VMTF9DRU5URVJfSVRFTVNfQ0xBU1N9XCI+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cIiR7Q0FMRU5EQVJfTkVYVF9ZRUFSX0NMQVNTfVwiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiTmF2aWdhdGUgZm9yd2FyZCBvbmUgeWVhclwiXG4gICAgICAgICAgICAke25leHRCdXR0b25zRGlzYWJsZWQgPyBgZGlzYWJsZWQ9XCJkaXNhYmxlZFwiYCA6IFwiXCJ9XG4gICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIGA7XG5cbiAgY29uc3QgdGFibGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidGFibGVcIik7XG4gIHRhYmxlLnNldEF0dHJpYnV0ZShcImNsYXNzXCIsIENBTEVOREFSX1RBQkxFX0NMQVNTKTtcblxuICBjb25zdCB0YWJsZUhlYWQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidGhlYWRcIik7XG4gIHRhYmxlLmluc2VydEFkamFjZW50RWxlbWVudChcImJlZm9yZWVuZFwiLCB0YWJsZUhlYWQpO1xuICBjb25zdCB0YWJsZUhlYWRSb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidHJcIik7XG4gIHRhYmxlSGVhZC5pbnNlcnRBZGphY2VudEVsZW1lbnQoXCJiZWZvcmVlbmRcIiwgdGFibGVIZWFkUm93KTtcblxuICBjb25zdCBkYXlzT2ZXZWVrID0ge1xuICAgIFN1bmRheTogXCJTXCIsXG4gICAgTW9uZGF5OiBcIk1cIixcbiAgICBUdWVzZGF5OiBcIlRcIixcbiAgICBXZWRuZXNkYXk6IFwiV1wiLFxuICAgIFRodXJzZGF5OiBcIlRoXCIsXG4gICAgRnJpZGF5OiBcIkZyXCIsXG4gICAgU2F0dXJkYXk6IFwiU1wiLFxuICB9O1xuXG4gIE9iamVjdC5rZXlzKGRheXNPZldlZWspLmZvckVhY2goKGtleSkgPT4ge1xuICAgIGNvbnN0IHRoID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInRoXCIpO1xuICAgIHRoLnNldEF0dHJpYnV0ZShcImNsYXNzXCIsIENBTEVOREFSX0RBWV9PRl9XRUVLX0NMQVNTKTtcbiAgICB0aC5zZXRBdHRyaWJ1dGUoXCJzY29wZVwiLCBcImNvbFwiKTtcbiAgICB0aC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWxhYmVsXCIsIGtleSk7XG4gICAgdGgudGV4dENvbnRlbnQgPSBkYXlzT2ZXZWVrW2tleV07XG4gICAgdGFibGVIZWFkUm93Lmluc2VydEFkamFjZW50RWxlbWVudChcImJlZm9yZWVuZFwiLCB0aCk7XG4gIH0pO1xuXG4gIGNvbnN0IHRhYmxlQm9keSA9IGNyZWF0ZVRhYmxlQm9keShkYXRlc0dyaWQpO1xuICB0YWJsZS5pbnNlcnRBZGphY2VudEVsZW1lbnQoXCJiZWZvcmVlbmRcIiwgdGFibGVCb2R5KTtcblxuICAvLyBDb250YWluZXIgZm9yIFllYXJzLCBNb250aHMsIGFuZCBEYXlzXG4gIGNvbnN0IGRhdGVQaWNrZXJDYWxlbmRhckNvbnRhaW5lciA9XG4gICAgbmV3Q2FsZW5kYXIucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9EQVRFX1BJQ0tFUik7XG5cbiAgZGF0ZVBpY2tlckNhbGVuZGFyQ29udGFpbmVyLmluc2VydEFkamFjZW50RWxlbWVudChcImJlZm9yZWVuZFwiLCB0YWJsZSk7XG5cbiAgY2FsZW5kYXJFbC5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChuZXdDYWxlbmRhciwgY2FsZW5kYXJFbCk7XG5cbiAgZGF0ZVBpY2tlckVsLmNsYXNzTGlzdC5hZGQoREFURV9QSUNLRVJfQUNUSVZFX0NMQVNTKTtcblxuICBjb25zdCBzdGF0dXNlcyA9IFtdO1xuXG4gIGlmIChpc1NhbWVEYXkoc2VsZWN0ZWREYXRlLCBmb2N1c2VkRGF0ZSkpIHtcbiAgICBzdGF0dXNlcy5wdXNoKFwiU2VsZWN0ZWQgZGF0ZVwiKTtcbiAgfVxuXG4gIGlmIChjYWxlbmRhcldhc0hpZGRlbikge1xuICAgIHN0YXR1c2VzLnB1c2goXG4gICAgICBcIllvdSBjYW4gbmF2aWdhdGUgYnkgZGF5IHVzaW5nIGxlZnQgYW5kIHJpZ2h0IGFycm93c1wiLFxuICAgICAgXCJXZWVrcyBieSB1c2luZyB1cCBhbmQgZG93biBhcnJvd3NcIixcbiAgICAgIFwiTW9udGhzIGJ5IHVzaW5nIHBhZ2UgdXAgYW5kIHBhZ2UgZG93biBrZXlzXCIsXG4gICAgICBcIlllYXJzIGJ5IHVzaW5nIHNoaWZ0IHBsdXMgcGFnZSB1cCBhbmQgc2hpZnQgcGx1cyBwYWdlIGRvd25cIixcbiAgICAgIFwiSG9tZSBhbmQgZW5kIGtleXMgbmF2aWdhdGUgdG8gdGhlIGJlZ2lubmluZyBhbmQgZW5kIG9mIGEgd2Vla1wiLFxuICAgICk7XG4gICAgc3RhdHVzRWwudGV4dENvbnRlbnQgPSBcIlwiO1xuICB9IGVsc2Uge1xuICAgIHN0YXR1c2VzLnB1c2goYCR7bW9udGhMYWJlbH0gJHtmb2N1c2VkWWVhcn1gKTtcbiAgfVxuICBzdGF0dXNFbC50ZXh0Q29udGVudCA9IHN0YXR1c2VzLmpvaW4oXCIuIFwiKTtcblxuICByZXR1cm4gbmV3Q2FsZW5kYXI7XG59O1xuXG4vKipcbiAqIE5hdmlnYXRlIGJhY2sgb25lIHllYXIgYW5kIGRpc3BsYXkgdGhlIGNhbGVuZGFyLlxuICpcbiAqIEBwYXJhbSB7SFRNTEJ1dHRvbkVsZW1lbnR9IF9idXR0b25FbCBBbiBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKi9cbmNvbnN0IGRpc3BsYXlQcmV2aW91c1llYXIgPSAoX2J1dHRvbkVsKSA9PiB7XG4gIGlmIChfYnV0dG9uRWwuZGlzYWJsZWQpIHJldHVybjtcbiAgY29uc3QgeyBjYWxlbmRhckVsLCBjYWxlbmRhckRhdGUsIG1pbkRhdGUsIG1heERhdGUgfSA9XG4gICAgZ2V0RGF0ZVBpY2tlckNvbnRleHQoX2J1dHRvbkVsKTtcbiAgbGV0IGRhdGUgPSBzdWJZZWFycyhjYWxlbmRhckRhdGUsIDEpO1xuICBkYXRlID0ga2VlcERhdGVCZXR3ZWVuTWluQW5kTWF4KGRhdGUsIG1pbkRhdGUsIG1heERhdGUpO1xuICBjb25zdCBuZXdDYWxlbmRhciA9IHJlbmRlckNhbGVuZGFyKGNhbGVuZGFyRWwsIGRhdGUpO1xuXG4gIGxldCBuZXh0VG9Gb2N1cyA9IG5ld0NhbGVuZGFyLnF1ZXJ5U2VsZWN0b3IoQ0FMRU5EQVJfUFJFVklPVVNfWUVBUik7XG4gIGlmIChuZXh0VG9Gb2N1cy5kaXNhYmxlZCkge1xuICAgIG5leHRUb0ZvY3VzID0gbmV3Q2FsZW5kYXIucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9EQVRFX1BJQ0tFUik7XG4gIH1cbiAgbmV4dFRvRm9jdXMuZm9jdXMoKTtcbn07XG5cbi8qKlxuICogTmF2aWdhdGUgYmFjayBvbmUgbW9udGggYW5kIGRpc3BsYXkgdGhlIGNhbGVuZGFyLlxuICpcbiAqIEBwYXJhbSB7SFRNTEJ1dHRvbkVsZW1lbnR9IF9idXR0b25FbCBBbiBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKi9cbmNvbnN0IGRpc3BsYXlQcmV2aW91c01vbnRoID0gKF9idXR0b25FbCkgPT4ge1xuICBpZiAoX2J1dHRvbkVsLmRpc2FibGVkKSByZXR1cm47XG4gIGNvbnN0IHsgY2FsZW5kYXJFbCwgY2FsZW5kYXJEYXRlLCBtaW5EYXRlLCBtYXhEYXRlIH0gPVxuICAgIGdldERhdGVQaWNrZXJDb250ZXh0KF9idXR0b25FbCk7XG4gIGxldCBkYXRlID0gc3ViTW9udGhzKGNhbGVuZGFyRGF0ZSwgMSk7XG4gIGRhdGUgPSBrZWVwRGF0ZUJldHdlZW5NaW5BbmRNYXgoZGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSk7XG4gIGNvbnN0IG5ld0NhbGVuZGFyID0gcmVuZGVyQ2FsZW5kYXIoY2FsZW5kYXJFbCwgZGF0ZSk7XG5cbiAgbGV0IG5leHRUb0ZvY3VzID0gbmV3Q2FsZW5kYXIucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9QUkVWSU9VU19NT05USCk7XG4gIGlmIChuZXh0VG9Gb2N1cy5kaXNhYmxlZCkge1xuICAgIG5leHRUb0ZvY3VzID0gbmV3Q2FsZW5kYXIucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9EQVRFX1BJQ0tFUik7XG4gIH1cbiAgbmV4dFRvRm9jdXMuZm9jdXMoKTtcbn07XG5cbi8qKlxuICogTmF2aWdhdGUgZm9yd2FyZCBvbmUgbW9udGggYW5kIGRpc3BsYXkgdGhlIGNhbGVuZGFyLlxuICpcbiAqIEBwYXJhbSB7SFRNTEJ1dHRvbkVsZW1lbnR9IF9idXR0b25FbCBBbiBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKi9cbmNvbnN0IGRpc3BsYXlOZXh0TW9udGggPSAoX2J1dHRvbkVsKSA9PiB7XG4gIGlmIChfYnV0dG9uRWwuZGlzYWJsZWQpIHJldHVybjtcbiAgY29uc3QgeyBjYWxlbmRhckVsLCBjYWxlbmRhckRhdGUsIG1pbkRhdGUsIG1heERhdGUgfSA9XG4gICAgZ2V0RGF0ZVBpY2tlckNvbnRleHQoX2J1dHRvbkVsKTtcbiAgbGV0IGRhdGUgPSBhZGRNb250aHMoY2FsZW5kYXJEYXRlLCAxKTtcbiAgZGF0ZSA9IGtlZXBEYXRlQmV0d2Vlbk1pbkFuZE1heChkYXRlLCBtaW5EYXRlLCBtYXhEYXRlKTtcbiAgY29uc3QgbmV3Q2FsZW5kYXIgPSByZW5kZXJDYWxlbmRhcihjYWxlbmRhckVsLCBkYXRlKTtcblxuICBsZXQgbmV4dFRvRm9jdXMgPSBuZXdDYWxlbmRhci5xdWVyeVNlbGVjdG9yKENBTEVOREFSX05FWFRfTU9OVEgpO1xuICBpZiAobmV4dFRvRm9jdXMuZGlzYWJsZWQpIHtcbiAgICBuZXh0VG9Gb2N1cyA9IG5ld0NhbGVuZGFyLnF1ZXJ5U2VsZWN0b3IoQ0FMRU5EQVJfREFURV9QSUNLRVIpO1xuICB9XG4gIG5leHRUb0ZvY3VzLmZvY3VzKCk7XG59O1xuXG4vKipcbiAqIE5hdmlnYXRlIGZvcndhcmQgb25lIHllYXIgYW5kIGRpc3BsYXkgdGhlIGNhbGVuZGFyLlxuICpcbiAqIEBwYXJhbSB7SFRNTEJ1dHRvbkVsZW1lbnR9IF9idXR0b25FbCBBbiBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKi9cbmNvbnN0IGRpc3BsYXlOZXh0WWVhciA9IChfYnV0dG9uRWwpID0+IHtcbiAgaWYgKF9idXR0b25FbC5kaXNhYmxlZCkgcmV0dXJuO1xuICBjb25zdCB7IGNhbGVuZGFyRWwsIGNhbGVuZGFyRGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSB9ID1cbiAgICBnZXREYXRlUGlja2VyQ29udGV4dChfYnV0dG9uRWwpO1xuICBsZXQgZGF0ZSA9IGFkZFllYXJzKGNhbGVuZGFyRGF0ZSwgMSk7XG4gIGRhdGUgPSBrZWVwRGF0ZUJldHdlZW5NaW5BbmRNYXgoZGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSk7XG4gIGNvbnN0IG5ld0NhbGVuZGFyID0gcmVuZGVyQ2FsZW5kYXIoY2FsZW5kYXJFbCwgZGF0ZSk7XG5cbiAgbGV0IG5leHRUb0ZvY3VzID0gbmV3Q2FsZW5kYXIucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9ORVhUX1lFQVIpO1xuICBpZiAobmV4dFRvRm9jdXMuZGlzYWJsZWQpIHtcbiAgICBuZXh0VG9Gb2N1cyA9IG5ld0NhbGVuZGFyLnF1ZXJ5U2VsZWN0b3IoQ0FMRU5EQVJfREFURV9QSUNLRVIpO1xuICB9XG4gIG5leHRUb0ZvY3VzLmZvY3VzKCk7XG59O1xuXG4vKipcbiAqIEhpZGUgdGhlIGNhbGVuZGFyIG9mIGEgZGF0ZSBwaWNrZXIgY29tcG9uZW50LlxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBkYXRlIHBpY2tlciBjb21wb25lbnRcbiAqL1xuY29uc3QgaGlkZUNhbGVuZGFyID0gKGVsKSA9PiB7XG4gIGNvbnN0IHsgZGF0ZVBpY2tlckVsLCBjYWxlbmRhckVsLCBzdGF0dXNFbCB9ID0gZ2V0RGF0ZVBpY2tlckNvbnRleHQoZWwpO1xuXG4gIGRhdGVQaWNrZXJFbC5jbGFzc0xpc3QucmVtb3ZlKERBVEVfUElDS0VSX0FDVElWRV9DTEFTUyk7XG4gIGNhbGVuZGFyRWwuaGlkZGVuID0gdHJ1ZTtcbiAgc3RhdHVzRWwudGV4dENvbnRlbnQgPSBcIlwiO1xufTtcblxuLyoqXG4gKiBTZWxlY3QgYSBkYXRlIHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50LlxuICpcbiAqIEBwYXJhbSB7SFRNTEJ1dHRvbkVsZW1lbnR9IGNhbGVuZGFyRGF0ZUVsIEEgZGF0ZSBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKi9cbmNvbnN0IHNlbGVjdERhdGUgPSAoY2FsZW5kYXJEYXRlRWwpID0+IHtcbiAgaWYgKGNhbGVuZGFyRGF0ZUVsLmRpc2FibGVkKSByZXR1cm47XG5cbiAgY29uc3QgeyBkYXRlUGlja2VyRWwsIGV4dGVybmFsSW5wdXRFbCB9ID1cbiAgICBnZXREYXRlUGlja2VyQ29udGV4dChjYWxlbmRhckRhdGVFbCk7XG5cbiAgc2V0Q2FsZW5kYXJWYWx1ZShjYWxlbmRhckRhdGVFbCwgY2FsZW5kYXJEYXRlRWwuZGF0YXNldC52YWx1ZSk7XG4gIGhpZGVDYWxlbmRhcihkYXRlUGlja2VyRWwpO1xuXG4gIGV4dGVybmFsSW5wdXRFbC5mb2N1cygpO1xufTtcblxuLyoqXG4gKiBUb2dnbGUgdGhlIGNhbGVuZGFyLlxuICpcbiAqIEBwYXJhbSB7SFRNTEJ1dHRvbkVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBkYXRlIHBpY2tlciBjb21wb25lbnRcbiAqL1xuY29uc3QgdG9nZ2xlQ2FsZW5kYXIgPSAoZWwpID0+IHtcbiAgaWYgKGVsLmRpc2FibGVkIHx8IGVsLmhhc0F0dHJpYnV0ZShcImFyaWEtZGlzYWJsZWRcIikpIHJldHVybjtcbiAgY29uc3QgeyBjYWxlbmRhckVsLCBpbnB1dERhdGUsIG1pbkRhdGUsIG1heERhdGUsIGRlZmF1bHREYXRlIH0gPVxuICAgIGdldERhdGVQaWNrZXJDb250ZXh0KGVsKTtcblxuICBpZiAoY2FsZW5kYXJFbC5oaWRkZW4pIHtcbiAgICBjb25zdCBkYXRlVG9EaXNwbGF5ID0ga2VlcERhdGVCZXR3ZWVuTWluQW5kTWF4KFxuICAgICAgaW5wdXREYXRlIHx8IGRlZmF1bHREYXRlIHx8IHRvZGF5KCksXG4gICAgICBtaW5EYXRlLFxuICAgICAgbWF4RGF0ZSxcbiAgICApO1xuICAgIGNvbnN0IG5ld0NhbGVuZGFyID0gcmVuZGVyQ2FsZW5kYXIoY2FsZW5kYXJFbCwgZGF0ZVRvRGlzcGxheSk7XG4gICAgbmV3Q2FsZW5kYXIucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9EQVRFX0ZPQ1VTRUQpLmZvY3VzKCk7XG4gIH0gZWxzZSB7XG4gICAgaGlkZUNhbGVuZGFyKGVsKTtcbiAgfVxufTtcblxuLyoqXG4gKiBVcGRhdGUgdGhlIGNhbGVuZGFyIHdoZW4gdmlzaWJsZS5cbiAqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbCBhbiBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXJcbiAqL1xuY29uc3QgdXBkYXRlQ2FsZW5kYXJJZlZpc2libGUgPSAoZWwpID0+IHtcbiAgY29uc3QgeyBjYWxlbmRhckVsLCBpbnB1dERhdGUsIG1pbkRhdGUsIG1heERhdGUgfSA9IGdldERhdGVQaWNrZXJDb250ZXh0KGVsKTtcbiAgY29uc3QgY2FsZW5kYXJTaG93biA9ICFjYWxlbmRhckVsLmhpZGRlbjtcblxuICBpZiAoY2FsZW5kYXJTaG93biAmJiBpbnB1dERhdGUpIHtcbiAgICBjb25zdCBkYXRlVG9EaXNwbGF5ID0ga2VlcERhdGVCZXR3ZWVuTWluQW5kTWF4KGlucHV0RGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSk7XG4gICAgcmVuZGVyQ2FsZW5kYXIoY2FsZW5kYXJFbCwgZGF0ZVRvRGlzcGxheSk7XG4gIH1cbn07XG5cbi8vICNlbmRyZWdpb24gQ2FsZW5kYXIgLSBEYXRlIFNlbGVjdGlvbiBWaWV3XG5cbi8vICNyZWdpb24gQ2FsZW5kYXIgLSBNb250aCBTZWxlY3Rpb24gVmlld1xuLyoqXG4gKiBEaXNwbGF5IHRoZSBtb250aCBzZWxlY3Rpb24gc2NyZWVuIGluIHRoZSBkYXRlIHBpY2tlci5cbiAqXG4gKiBAcGFyYW0ge0hUTUxCdXR0b25FbGVtZW50fSBlbCBBbiBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKiBAcmV0dXJucyB7SFRNTEVsZW1lbnR9IGEgcmVmZXJlbmNlIHRvIHRoZSBuZXcgY2FsZW5kYXIgZWxlbWVudFxuICovXG5jb25zdCBkaXNwbGF5TW9udGhTZWxlY3Rpb24gPSAoZWwsIG1vbnRoVG9EaXNwbGF5KSA9PiB7XG4gIGNvbnN0IHsgY2FsZW5kYXJFbCwgc3RhdHVzRWwsIGNhbGVuZGFyRGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSB9ID1cbiAgICBnZXREYXRlUGlja2VyQ29udGV4dChlbCk7XG5cbiAgY29uc3Qgc2VsZWN0ZWRNb250aCA9IGNhbGVuZGFyRGF0ZS5nZXRNb250aCgpO1xuICBjb25zdCBmb2N1c2VkTW9udGggPSBtb250aFRvRGlzcGxheSA9PSBudWxsID8gc2VsZWN0ZWRNb250aCA6IG1vbnRoVG9EaXNwbGF5O1xuXG4gIGNvbnN0IG1vbnRocyA9IE1PTlRIX0xBQkVMUy5tYXAoKG1vbnRoLCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IG1vbnRoVG9DaGVjayA9IHNldE1vbnRoKGNhbGVuZGFyRGF0ZSwgaW5kZXgpO1xuXG4gICAgY29uc3QgaXNEaXNhYmxlZCA9IGlzRGF0ZXNNb250aE91dHNpZGVNaW5Pck1heChcbiAgICAgIG1vbnRoVG9DaGVjayxcbiAgICAgIG1pbkRhdGUsXG4gICAgICBtYXhEYXRlLFxuICAgICk7XG5cbiAgICBsZXQgdGFiaW5kZXggPSBcIi0xXCI7XG5cbiAgICBjb25zdCBjbGFzc2VzID0gW0NBTEVOREFSX01PTlRIX0NMQVNTXTtcbiAgICBjb25zdCBpc1NlbGVjdGVkID0gaW5kZXggPT09IHNlbGVjdGVkTW9udGg7XG5cbiAgICBpZiAoaW5kZXggPT09IGZvY3VzZWRNb250aCkge1xuICAgICAgdGFiaW5kZXggPSBcIjBcIjtcbiAgICAgIGNsYXNzZXMucHVzaChDQUxFTkRBUl9NT05USF9GT0NVU0VEX0NMQVNTKTtcbiAgICB9XG5cbiAgICBpZiAoaXNTZWxlY3RlZCkge1xuICAgICAgY2xhc3Nlcy5wdXNoKENBTEVOREFSX01PTlRIX1NFTEVDVEVEX0NMQVNTKTtcbiAgICB9XG5cbiAgICBjb25zdCBidG4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIpO1xuICAgIGJ0bi5zZXRBdHRyaWJ1dGUoXCJ0eXBlXCIsIFwiYnV0dG9uXCIpO1xuICAgIGJ0bi5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLCB0YWJpbmRleCk7XG4gICAgYnRuLnNldEF0dHJpYnV0ZShcImNsYXNzXCIsIGNsYXNzZXMuam9pbihcIiBcIikpO1xuICAgIGJ0bi5zZXRBdHRyaWJ1dGUoXCJkYXRhLXZhbHVlXCIsIGluZGV4KTtcbiAgICBidG4uc2V0QXR0cmlidXRlKFwiZGF0YS1sYWJlbFwiLCBtb250aCk7XG4gICAgYnRuLnNldEF0dHJpYnV0ZShcImFyaWEtc2VsZWN0ZWRcIiwgaXNTZWxlY3RlZCA/IFwidHJ1ZVwiIDogXCJmYWxzZVwiKTtcbiAgICBpZiAoaXNEaXNhYmxlZCA9PT0gdHJ1ZSkge1xuICAgICAgYnRuLmRpc2FibGVkID0gdHJ1ZTtcbiAgICB9XG4gICAgYnRuLnRleHRDb250ZW50ID0gbW9udGg7XG5cbiAgICByZXR1cm4gYnRuO1xuICB9KTtcblxuICBjb25zdCBtb250aHNIdG1sID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgbW9udGhzSHRtbC5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLCBcIi0xXCIpO1xuICBtb250aHNIdG1sLnNldEF0dHJpYnV0ZShcImNsYXNzXCIsIENBTEVOREFSX01PTlRIX1BJQ0tFUl9DTEFTUyk7XG5cbiAgY29uc3QgdGFibGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidGFibGVcIik7XG4gIHRhYmxlLnNldEF0dHJpYnV0ZShcImNsYXNzXCIsIENBTEVOREFSX1RBQkxFX0NMQVNTKTtcbiAgdGFibGUuc2V0QXR0cmlidXRlKFwicm9sZVwiLCBcInByZXNlbnRhdGlvblwiKTtcblxuICBjb25zdCBtb250aHNHcmlkID0gbGlzdFRvR3JpZEh0bWwobW9udGhzLCAzKTtcbiAgY29uc3QgdGFibGVCb2R5ID0gY3JlYXRlVGFibGVCb2R5KG1vbnRoc0dyaWQpO1xuICB0YWJsZS5pbnNlcnRBZGphY2VudEVsZW1lbnQoXCJiZWZvcmVlbmRcIiwgdGFibGVCb2R5KTtcbiAgbW9udGhzSHRtbC5pbnNlcnRBZGphY2VudEVsZW1lbnQoXCJiZWZvcmVlbmRcIiwgdGFibGUpO1xuXG4gIGNvbnN0IG5ld0NhbGVuZGFyID0gY2FsZW5kYXJFbC5jbG9uZU5vZGUoKTtcbiAgbmV3Q2FsZW5kYXIuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KFwiYmVmb3JlZW5kXCIsIG1vbnRoc0h0bWwpO1xuICBjYWxlbmRhckVsLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKG5ld0NhbGVuZGFyLCBjYWxlbmRhckVsKTtcblxuICBzdGF0dXNFbC50ZXh0Q29udGVudCA9IFwiU2VsZWN0IGEgbW9udGguXCI7XG5cbiAgcmV0dXJuIG5ld0NhbGVuZGFyO1xufTtcblxuLyoqXG4gKiBTZWxlY3QgYSBtb250aCBpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50LlxuICpcbiAqIEBwYXJhbSB7SFRNTEJ1dHRvbkVsZW1lbnR9IG1vbnRoRWwgQW4gbW9udGggZWxlbWVudCB3aXRoaW4gdGhlIGRhdGUgcGlja2VyIGNvbXBvbmVudFxuICovXG5jb25zdCBzZWxlY3RNb250aCA9IChtb250aEVsKSA9PiB7XG4gIGlmIChtb250aEVsLmRpc2FibGVkKSByZXR1cm47XG4gIGNvbnN0IHsgY2FsZW5kYXJFbCwgY2FsZW5kYXJEYXRlLCBtaW5EYXRlLCBtYXhEYXRlIH0gPVxuICAgIGdldERhdGVQaWNrZXJDb250ZXh0KG1vbnRoRWwpO1xuICBjb25zdCBzZWxlY3RlZE1vbnRoID0gcGFyc2VJbnQobW9udGhFbC5kYXRhc2V0LnZhbHVlLCAxMCk7XG4gIGxldCBkYXRlID0gc2V0TW9udGgoY2FsZW5kYXJEYXRlLCBzZWxlY3RlZE1vbnRoKTtcbiAgZGF0ZSA9IGtlZXBEYXRlQmV0d2Vlbk1pbkFuZE1heChkYXRlLCBtaW5EYXRlLCBtYXhEYXRlKTtcbiAgY29uc3QgbmV3Q2FsZW5kYXIgPSByZW5kZXJDYWxlbmRhcihjYWxlbmRhckVsLCBkYXRlKTtcbiAgbmV3Q2FsZW5kYXIucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9EQVRFX0ZPQ1VTRUQpLmZvY3VzKCk7XG59O1xuXG4vLyAjZW5kcmVnaW9uIENhbGVuZGFyIC0gTW9udGggU2VsZWN0aW9uIFZpZXdcblxuLy8gI3JlZ2lvbiBDYWxlbmRhciAtIFllYXIgU2VsZWN0aW9uIFZpZXdcblxuLyoqXG4gKiBEaXNwbGF5IHRoZSB5ZWFyIHNlbGVjdGlvbiBzY3JlZW4gaW4gdGhlIGRhdGUgcGlja2VyLlxuICpcbiAqIEBwYXJhbSB7SFRNTEJ1dHRvbkVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBkYXRlIHBpY2tlciBjb21wb25lbnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB5ZWFyVG9EaXNwbGF5IHllYXIgdG8gZGlzcGxheSBpbiB5ZWFyIHNlbGVjdGlvblxuICogQHJldHVybnMge0hUTUxFbGVtZW50fSBhIHJlZmVyZW5jZSB0byB0aGUgbmV3IGNhbGVuZGFyIGVsZW1lbnRcbiAqL1xuY29uc3QgZGlzcGxheVllYXJTZWxlY3Rpb24gPSAoZWwsIHllYXJUb0Rpc3BsYXkpID0+IHtcbiAgY29uc3QgeyBjYWxlbmRhckVsLCBzdGF0dXNFbCwgY2FsZW5kYXJEYXRlLCBtaW5EYXRlLCBtYXhEYXRlIH0gPVxuICAgIGdldERhdGVQaWNrZXJDb250ZXh0KGVsKTtcblxuICBjb25zdCBzZWxlY3RlZFllYXIgPSBjYWxlbmRhckRhdGUuZ2V0RnVsbFllYXIoKTtcbiAgY29uc3QgZm9jdXNlZFllYXIgPSB5ZWFyVG9EaXNwbGF5ID09IG51bGwgPyBzZWxlY3RlZFllYXIgOiB5ZWFyVG9EaXNwbGF5O1xuXG4gIGxldCB5ZWFyVG9DaHVuayA9IGZvY3VzZWRZZWFyO1xuICB5ZWFyVG9DaHVuayAtPSB5ZWFyVG9DaHVuayAlIFlFQVJfQ0hVTks7XG4gIHllYXJUb0NodW5rID0gTWF0aC5tYXgoMCwgeWVhclRvQ2h1bmspO1xuXG4gIGNvbnN0IHByZXZZZWFyQ2h1bmtEaXNhYmxlZCA9IGlzRGF0ZXNZZWFyT3V0c2lkZU1pbk9yTWF4KFxuICAgIHNldFllYXIoY2FsZW5kYXJEYXRlLCB5ZWFyVG9DaHVuayAtIDEpLFxuICAgIG1pbkRhdGUsXG4gICAgbWF4RGF0ZSxcbiAgKTtcblxuICBjb25zdCBuZXh0WWVhckNodW5rRGlzYWJsZWQgPSBpc0RhdGVzWWVhck91dHNpZGVNaW5Pck1heChcbiAgICBzZXRZZWFyKGNhbGVuZGFyRGF0ZSwgeWVhclRvQ2h1bmsgKyBZRUFSX0NIVU5LKSxcbiAgICBtaW5EYXRlLFxuICAgIG1heERhdGUsXG4gICk7XG5cbiAgY29uc3QgeWVhcnMgPSBbXTtcbiAgbGV0IHllYXJJbmRleCA9IHllYXJUb0NodW5rO1xuICB3aGlsZSAoeWVhcnMubGVuZ3RoIDwgWUVBUl9DSFVOSykge1xuICAgIGNvbnN0IGlzRGlzYWJsZWQgPSBpc0RhdGVzWWVhck91dHNpZGVNaW5Pck1heChcbiAgICAgIHNldFllYXIoY2FsZW5kYXJEYXRlLCB5ZWFySW5kZXgpLFxuICAgICAgbWluRGF0ZSxcbiAgICAgIG1heERhdGUsXG4gICAgKTtcblxuICAgIGxldCB0YWJpbmRleCA9IFwiLTFcIjtcblxuICAgIGNvbnN0IGNsYXNzZXMgPSBbQ0FMRU5EQVJfWUVBUl9DTEFTU107XG4gICAgY29uc3QgaXNTZWxlY3RlZCA9IHllYXJJbmRleCA9PT0gc2VsZWN0ZWRZZWFyO1xuXG4gICAgaWYgKHllYXJJbmRleCA9PT0gZm9jdXNlZFllYXIpIHtcbiAgICAgIHRhYmluZGV4ID0gXCIwXCI7XG4gICAgICBjbGFzc2VzLnB1c2goQ0FMRU5EQVJfWUVBUl9GT0NVU0VEX0NMQVNTKTtcbiAgICB9XG5cbiAgICBpZiAoaXNTZWxlY3RlZCkge1xuICAgICAgY2xhc3Nlcy5wdXNoKENBTEVOREFSX1lFQVJfU0VMRUNURURfQ0xBU1MpO1xuICAgIH1cblxuICAgIGNvbnN0IGJ0biA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIik7XG4gICAgYnRuLnNldEF0dHJpYnV0ZShcInR5cGVcIiwgXCJidXR0b25cIik7XG4gICAgYnRuLnNldEF0dHJpYnV0ZShcInRhYmluZGV4XCIsIHRhYmluZGV4KTtcbiAgICBidG4uc2V0QXR0cmlidXRlKFwiY2xhc3NcIiwgY2xhc3Nlcy5qb2luKFwiIFwiKSk7XG4gICAgYnRuLnNldEF0dHJpYnV0ZShcImRhdGEtdmFsdWVcIiwgeWVhckluZGV4KTtcbiAgICBidG4uc2V0QXR0cmlidXRlKFwiYXJpYS1zZWxlY3RlZFwiLCBpc1NlbGVjdGVkID8gXCJ0cnVlXCIgOiBcImZhbHNlXCIpO1xuICAgIGlmIChpc0Rpc2FibGVkID09PSB0cnVlKSB7XG4gICAgICBidG4uZGlzYWJsZWQgPSB0cnVlO1xuICAgIH1cbiAgICBidG4udGV4dENvbnRlbnQgPSB5ZWFySW5kZXg7XG5cbiAgICB5ZWFycy5wdXNoKGJ0bik7XG4gICAgeWVhckluZGV4ICs9IDE7XG4gIH1cblxuICBjb25zdCBuZXdDYWxlbmRhciA9IGNhbGVuZGFyRWwuY2xvbmVOb2RlKCk7XG5cbiAgLy8gY3JlYXRlIHRoZSB5ZWFycyBjYWxlbmRhciB3cmFwcGVyXG4gIGNvbnN0IHllYXJzQ2FsZW5kYXJXcmFwcGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgeWVhcnNDYWxlbmRhcldyYXBwZXIuc2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIiwgXCItMVwiKTtcbiAgeWVhcnNDYWxlbmRhcldyYXBwZXIuc2V0QXR0cmlidXRlKFwiY2xhc3NcIiwgQ0FMRU5EQVJfWUVBUl9QSUNLRVJfQ0xBU1MpO1xuXG4gIC8vIGNyZWF0ZSB0YWJsZSBwYXJlbnRcbiAgY29uc3QgeWVhcnNUYWJsZVBhcmVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJ0YWJsZVwiKTtcbiAgeWVhcnNUYWJsZVBhcmVudC5zZXRBdHRyaWJ1dGUoXCJjbGFzc1wiLCBDQUxFTkRBUl9UQUJMRV9DTEFTUyk7XG5cbiAgLy8gY3JlYXRlIHRhYmxlIGJvZHkgYW5kIHRhYmxlIHJvd1xuICBjb25zdCB5ZWFyc0hUTUxUYWJsZUJvZHkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidGJvZHlcIik7XG4gIGNvbnN0IHllYXJzSFRNTFRhYmxlQm9keVJvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJ0clwiKTtcblxuICAvLyBjcmVhdGUgcHJldmlvdXMgYnV0dG9uXG4gIGNvbnN0IHByZXZpb3VzWWVhcnNCdG4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIpO1xuICBwcmV2aW91c1llYXJzQnRuLnNldEF0dHJpYnV0ZShcInR5cGVcIiwgXCJidXR0b25cIik7XG4gIHByZXZpb3VzWWVhcnNCdG4uc2V0QXR0cmlidXRlKFwiY2xhc3NcIiwgQ0FMRU5EQVJfUFJFVklPVVNfWUVBUl9DSFVOS19DTEFTUyk7XG4gIHByZXZpb3VzWWVhcnNCdG4uc2V0QXR0cmlidXRlKFxuICAgIFwiYXJpYS1sYWJlbFwiLFxuICAgIGBOYXZpZ2F0ZSBiYWNrICR7WUVBUl9DSFVOS30geWVhcnNgLFxuICApO1xuICBpZiAocHJldlllYXJDaHVua0Rpc2FibGVkID09PSB0cnVlKSB7XG4gICAgcHJldmlvdXNZZWFyc0J0bi5kaXNhYmxlZCA9IHRydWU7XG4gIH1cbiAgcHJldmlvdXNZZWFyc0J0bi5pbm5lckhUTUwgPSBTYW5pdGl6ZXIuZXNjYXBlSFRNTGAmbmJzcGA7XG5cbiAgLy8gY3JlYXRlIG5leHQgYnV0dG9uXG4gIGNvbnN0IG5leHRZZWFyc0J0biA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIik7XG4gIG5leHRZZWFyc0J0bi5zZXRBdHRyaWJ1dGUoXCJ0eXBlXCIsIFwiYnV0dG9uXCIpO1xuICBuZXh0WWVhcnNCdG4uc2V0QXR0cmlidXRlKFwiY2xhc3NcIiwgQ0FMRU5EQVJfTkVYVF9ZRUFSX0NIVU5LX0NMQVNTKTtcbiAgbmV4dFllYXJzQnRuLnNldEF0dHJpYnV0ZShcbiAgICBcImFyaWEtbGFiZWxcIixcbiAgICBgTmF2aWdhdGUgZm9yd2FyZCAke1lFQVJfQ0hVTkt9IHllYXJzYCxcbiAgKTtcbiAgaWYgKG5leHRZZWFyQ2h1bmtEaXNhYmxlZCA9PT0gdHJ1ZSkge1xuICAgIG5leHRZZWFyc0J0bi5kaXNhYmxlZCA9IHRydWU7XG4gIH1cbiAgbmV4dFllYXJzQnRuLmlubmVySFRNTCA9IFNhbml0aXplci5lc2NhcGVIVE1MYCZuYnNwYDtcblxuICAvLyBjcmVhdGUgdGhlIGFjdHVhbCB5ZWFycyB0YWJsZVxuICBjb25zdCB5ZWFyc1RhYmxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInRhYmxlXCIpO1xuICB5ZWFyc1RhYmxlLnNldEF0dHJpYnV0ZShcImNsYXNzXCIsIENBTEVOREFSX1RBQkxFX0NMQVNTKTtcbiAgeWVhcnNUYWJsZS5zZXRBdHRyaWJ1dGUoXCJyb2xlXCIsIFwicHJlc2VudGF0aW9uXCIpO1xuXG4gIC8vIGNyZWF0ZSB0aGUgeWVhcnMgY2hpbGQgdGFibGVcbiAgY29uc3QgeWVhcnNHcmlkID0gbGlzdFRvR3JpZEh0bWwoeWVhcnMsIDMpO1xuICBjb25zdCB5ZWFyc1RhYmxlQm9keSA9IGNyZWF0ZVRhYmxlQm9keSh5ZWFyc0dyaWQpO1xuXG4gIC8vIGFwcGVuZCB0aGUgZ3JpZCB0byB0aGUgeWVhcnMgY2hpbGQgdGFibGVcbiAgeWVhcnNUYWJsZS5pbnNlcnRBZGphY2VudEVsZW1lbnQoXCJiZWZvcmVlbmRcIiwgeWVhcnNUYWJsZUJvZHkpO1xuXG4gIC8vIGNyZWF0ZSB0aGUgcHJldiBidXR0b24gdGQgYW5kIGFwcGVuZCB0aGUgcHJldiBidXR0b25cbiAgY29uc3QgeWVhcnNIVE1MVGFibGVCb2R5RGV0YWlsUHJldiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJ0ZFwiKTtcbiAgeWVhcnNIVE1MVGFibGVCb2R5RGV0YWlsUHJldi5pbnNlcnRBZGphY2VudEVsZW1lbnQoXG4gICAgXCJiZWZvcmVlbmRcIixcbiAgICBwcmV2aW91c1llYXJzQnRuLFxuICApO1xuXG4gIC8vIGNyZWF0ZSB0aGUgeWVhcnMgdGQgYW5kIGFwcGVuZCB0aGUgeWVhcnMgY2hpbGQgdGFibGVcbiAgY29uc3QgeWVhcnNIVE1MVGFibGVCb2R5WWVhcnNEZXRhaWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidGRcIik7XG4gIHllYXJzSFRNTFRhYmxlQm9keVllYXJzRGV0YWlsLnNldEF0dHJpYnV0ZShcImNvbHNwYW5cIiwgXCIzXCIpO1xuICB5ZWFyc0hUTUxUYWJsZUJvZHlZZWFyc0RldGFpbC5pbnNlcnRBZGphY2VudEVsZW1lbnQoXCJiZWZvcmVlbmRcIiwgeWVhcnNUYWJsZSk7XG5cbiAgLy8gY3JlYXRlIHRoZSBuZXh0IGJ1dHRvbiB0ZCBhbmQgYXBwZW5kIHRoZSBuZXh0IGJ1dHRvblxuICBjb25zdCB5ZWFyc0hUTUxUYWJsZUJvZHlEZXRhaWxOZXh0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInRkXCIpO1xuICB5ZWFyc0hUTUxUYWJsZUJvZHlEZXRhaWxOZXh0Lmluc2VydEFkamFjZW50RWxlbWVudChcImJlZm9yZWVuZFwiLCBuZXh0WWVhcnNCdG4pO1xuXG4gIC8vIGFwcGVuZCB0aGUgdGhyZWUgdGQgdG8gdGhlIHllYXJzIGNoaWxkIHRhYmxlIHJvd1xuICB5ZWFyc0hUTUxUYWJsZUJvZHlSb3cuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KFxuICAgIFwiYmVmb3JlZW5kXCIsXG4gICAgeWVhcnNIVE1MVGFibGVCb2R5RGV0YWlsUHJldixcbiAgKTtcbiAgeWVhcnNIVE1MVGFibGVCb2R5Um93Lmluc2VydEFkamFjZW50RWxlbWVudChcbiAgICBcImJlZm9yZWVuZFwiLFxuICAgIHllYXJzSFRNTFRhYmxlQm9keVllYXJzRGV0YWlsLFxuICApO1xuICB5ZWFyc0hUTUxUYWJsZUJvZHlSb3cuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KFxuICAgIFwiYmVmb3JlZW5kXCIsXG4gICAgeWVhcnNIVE1MVGFibGVCb2R5RGV0YWlsTmV4dCxcbiAgKTtcblxuICAvLyBhcHBlbmQgdGhlIHRhYmxlIHJvdyB0byB0aGUgeWVhcnMgY2hpbGQgdGFibGUgYm9keVxuICB5ZWFyc0hUTUxUYWJsZUJvZHkuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KFwiYmVmb3JlZW5kXCIsIHllYXJzSFRNTFRhYmxlQm9keVJvdyk7XG5cbiAgLy8gYXBwZW5kIHRoZSB5ZWFycyB0YWJsZSBib2R5IHRvIHRoZSB5ZWFycyBwYXJlbnQgdGFibGVcbiAgeWVhcnNUYWJsZVBhcmVudC5pbnNlcnRBZGphY2VudEVsZW1lbnQoXCJiZWZvcmVlbmRcIiwgeWVhcnNIVE1MVGFibGVCb2R5KTtcblxuICAvLyBhcHBlbmQgdGhlIHBhcmVudCB0YWJsZSB0byB0aGUgY2FsZW5kYXIgd3JhcHBlclxuICB5ZWFyc0NhbGVuZGFyV3JhcHBlci5pbnNlcnRBZGphY2VudEVsZW1lbnQoXCJiZWZvcmVlbmRcIiwgeWVhcnNUYWJsZVBhcmVudCk7XG5cbiAgLy8gYXBwZW5kIHRoZSB5ZWFycyBjYWxlbmRlciB0byB0aGUgbmV3IGNhbGVuZGFyXG4gIG5ld0NhbGVuZGFyLmluc2VydEFkamFjZW50RWxlbWVudChcImJlZm9yZWVuZFwiLCB5ZWFyc0NhbGVuZGFyV3JhcHBlcik7XG5cbiAgLy8gcmVwbGFjZSBjYWxlbmRhclxuICBjYWxlbmRhckVsLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKG5ld0NhbGVuZGFyLCBjYWxlbmRhckVsKTtcblxuICBzdGF0dXNFbC50ZXh0Q29udGVudCA9IFNhbml0aXplci5lc2NhcGVIVE1MYFNob3dpbmcgeWVhcnMgJHt5ZWFyVG9DaHVua30gdG8gJHtcbiAgICB5ZWFyVG9DaHVuayArIFlFQVJfQ0hVTksgLSAxXG4gIH0uIFNlbGVjdCBhIHllYXIuYDtcblxuICByZXR1cm4gbmV3Q2FsZW5kYXI7XG59O1xuXG4vKipcbiAqIE5hdmlnYXRlIGJhY2sgYnkgeWVhcnMgYW5kIGRpc3BsYXkgdGhlIHllYXIgc2VsZWN0aW9uIHNjcmVlbi5cbiAqXG4gKiBAcGFyYW0ge0hUTUxCdXR0b25FbGVtZW50fSBlbCBBbiBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKi9cbmNvbnN0IGRpc3BsYXlQcmV2aW91c1llYXJDaHVuayA9IChlbCkgPT4ge1xuICBpZiAoZWwuZGlzYWJsZWQpIHJldHVybjtcblxuICBjb25zdCB7IGNhbGVuZGFyRWwsIGNhbGVuZGFyRGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSB9ID1cbiAgICBnZXREYXRlUGlja2VyQ29udGV4dChlbCk7XG4gIGNvbnN0IHllYXJFbCA9IGNhbGVuZGFyRWwucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9ZRUFSX0ZPQ1VTRUQpO1xuICBjb25zdCBzZWxlY3RlZFllYXIgPSBwYXJzZUludCh5ZWFyRWwudGV4dENvbnRlbnQsIDEwKTtcblxuICBsZXQgYWRqdXN0ZWRZZWFyID0gc2VsZWN0ZWRZZWFyIC0gWUVBUl9DSFVOSztcbiAgYWRqdXN0ZWRZZWFyID0gTWF0aC5tYXgoMCwgYWRqdXN0ZWRZZWFyKTtcblxuICBjb25zdCBkYXRlID0gc2V0WWVhcihjYWxlbmRhckRhdGUsIGFkanVzdGVkWWVhcik7XG4gIGNvbnN0IGNhcHBlZERhdGUgPSBrZWVwRGF0ZUJldHdlZW5NaW5BbmRNYXgoZGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSk7XG4gIGNvbnN0IG5ld0NhbGVuZGFyID0gZGlzcGxheVllYXJTZWxlY3Rpb24oXG4gICAgY2FsZW5kYXJFbCxcbiAgICBjYXBwZWREYXRlLmdldEZ1bGxZZWFyKCksXG4gICk7XG5cbiAgbGV0IG5leHRUb0ZvY3VzID0gbmV3Q2FsZW5kYXIucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9QUkVWSU9VU19ZRUFSX0NIVU5LKTtcbiAgaWYgKG5leHRUb0ZvY3VzLmRpc2FibGVkKSB7XG4gICAgbmV4dFRvRm9jdXMgPSBuZXdDYWxlbmRhci5xdWVyeVNlbGVjdG9yKENBTEVOREFSX1lFQVJfUElDS0VSKTtcbiAgfVxuICBuZXh0VG9Gb2N1cy5mb2N1cygpO1xufTtcblxuLyoqXG4gKiBOYXZpZ2F0ZSBmb3J3YXJkIGJ5IHllYXJzIGFuZCBkaXNwbGF5IHRoZSB5ZWFyIHNlbGVjdGlvbiBzY3JlZW4uXG4gKlxuICogQHBhcmFtIHtIVE1MQnV0dG9uRWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGRhdGUgcGlja2VyIGNvbXBvbmVudFxuICovXG5jb25zdCBkaXNwbGF5TmV4dFllYXJDaHVuayA9IChlbCkgPT4ge1xuICBpZiAoZWwuZGlzYWJsZWQpIHJldHVybjtcblxuICBjb25zdCB7IGNhbGVuZGFyRWwsIGNhbGVuZGFyRGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSB9ID1cbiAgICBnZXREYXRlUGlja2VyQ29udGV4dChlbCk7XG4gIGNvbnN0IHllYXJFbCA9IGNhbGVuZGFyRWwucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9ZRUFSX0ZPQ1VTRUQpO1xuICBjb25zdCBzZWxlY3RlZFllYXIgPSBwYXJzZUludCh5ZWFyRWwudGV4dENvbnRlbnQsIDEwKTtcblxuICBsZXQgYWRqdXN0ZWRZZWFyID0gc2VsZWN0ZWRZZWFyICsgWUVBUl9DSFVOSztcbiAgYWRqdXN0ZWRZZWFyID0gTWF0aC5tYXgoMCwgYWRqdXN0ZWRZZWFyKTtcblxuICBjb25zdCBkYXRlID0gc2V0WWVhcihjYWxlbmRhckRhdGUsIGFkanVzdGVkWWVhcik7XG4gIGNvbnN0IGNhcHBlZERhdGUgPSBrZWVwRGF0ZUJldHdlZW5NaW5BbmRNYXgoZGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSk7XG4gIGNvbnN0IG5ld0NhbGVuZGFyID0gZGlzcGxheVllYXJTZWxlY3Rpb24oXG4gICAgY2FsZW5kYXJFbCxcbiAgICBjYXBwZWREYXRlLmdldEZ1bGxZZWFyKCksXG4gICk7XG5cbiAgbGV0IG5leHRUb0ZvY3VzID0gbmV3Q2FsZW5kYXIucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9ORVhUX1lFQVJfQ0hVTkspO1xuICBpZiAobmV4dFRvRm9jdXMuZGlzYWJsZWQpIHtcbiAgICBuZXh0VG9Gb2N1cyA9IG5ld0NhbGVuZGFyLnF1ZXJ5U2VsZWN0b3IoQ0FMRU5EQVJfWUVBUl9QSUNLRVIpO1xuICB9XG4gIG5leHRUb0ZvY3VzLmZvY3VzKCk7XG59O1xuXG4vKipcbiAqIFNlbGVjdCBhIHllYXIgaW4gdGhlIGRhdGUgcGlja2VyIGNvbXBvbmVudC5cbiAqXG4gKiBAcGFyYW0ge0hUTUxCdXR0b25FbGVtZW50fSB5ZWFyRWwgQSB5ZWFyIGVsZW1lbnQgd2l0aGluIHRoZSBkYXRlIHBpY2tlciBjb21wb25lbnRcbiAqL1xuY29uc3Qgc2VsZWN0WWVhciA9ICh5ZWFyRWwpID0+IHtcbiAgaWYgKHllYXJFbC5kaXNhYmxlZCkgcmV0dXJuO1xuICBjb25zdCB7IGNhbGVuZGFyRWwsIGNhbGVuZGFyRGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSB9ID1cbiAgICBnZXREYXRlUGlja2VyQ29udGV4dCh5ZWFyRWwpO1xuICBjb25zdCBzZWxlY3RlZFllYXIgPSBwYXJzZUludCh5ZWFyRWwuaW5uZXJIVE1MLCAxMCk7XG4gIGxldCBkYXRlID0gc2V0WWVhcihjYWxlbmRhckRhdGUsIHNlbGVjdGVkWWVhcik7XG4gIGRhdGUgPSBrZWVwRGF0ZUJldHdlZW5NaW5BbmRNYXgoZGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSk7XG4gIGNvbnN0IG5ld0NhbGVuZGFyID0gcmVuZGVyQ2FsZW5kYXIoY2FsZW5kYXJFbCwgZGF0ZSk7XG4gIG5ld0NhbGVuZGFyLnF1ZXJ5U2VsZWN0b3IoQ0FMRU5EQVJfREFURV9GT0NVU0VEKS5mb2N1cygpO1xufTtcblxuLy8gI2VuZHJlZ2lvbiBDYWxlbmRhciAtIFllYXIgU2VsZWN0aW9uIFZpZXdcblxuLy8gI3JlZ2lvbiBDYWxlbmRhciBFdmVudCBIYW5kbGluZ1xuXG4vKipcbiAqIEhpZGUgdGhlIGNhbGVuZGFyLlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgdGhlIGtleWRvd24gZXZlbnRcbiAqL1xuY29uc3QgaGFuZGxlRXNjYXBlRnJvbUNhbGVuZGFyID0gKGV2ZW50KSA9PiB7XG4gIGNvbnN0IHsgZGF0ZVBpY2tlckVsLCBleHRlcm5hbElucHV0RWwgfSA9IGdldERhdGVQaWNrZXJDb250ZXh0KGV2ZW50LnRhcmdldCk7XG5cbiAgaGlkZUNhbGVuZGFyKGRhdGVQaWNrZXJFbCk7XG4gIGV4dGVybmFsSW5wdXRFbC5mb2N1cygpO1xuXG4gIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG59O1xuXG4vLyAjZW5kcmVnaW9uIENhbGVuZGFyIEV2ZW50IEhhbmRsaW5nXG5cbi8vICNyZWdpb24gQ2FsZW5kYXIgRGF0ZSBFdmVudCBIYW5kbGluZ1xuXG4vKipcbiAqIEFkanVzdCB0aGUgZGF0ZSBhbmQgZGlzcGxheSB0aGUgY2FsZW5kYXIgaWYgbmVlZGVkLlxuICpcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGFkanVzdERhdGVGbiBmdW5jdGlvbiB0aGF0IHJldHVybnMgdGhlIGFkanVzdGVkIGRhdGVcbiAqL1xuY29uc3QgYWRqdXN0Q2FsZW5kYXIgPSAoYWRqdXN0RGF0ZUZuKSA9PiAoZXZlbnQpID0+IHtcbiAgY29uc3QgeyBjYWxlbmRhckVsLCBjYWxlbmRhckRhdGUsIG1pbkRhdGUsIG1heERhdGUgfSA9IGdldERhdGVQaWNrZXJDb250ZXh0KFxuICAgIGV2ZW50LnRhcmdldCxcbiAgKTtcblxuICBjb25zdCBkYXRlID0gYWRqdXN0RGF0ZUZuKGNhbGVuZGFyRGF0ZSk7XG5cbiAgY29uc3QgY2FwcGVkRGF0ZSA9IGtlZXBEYXRlQmV0d2Vlbk1pbkFuZE1heChkYXRlLCBtaW5EYXRlLCBtYXhEYXRlKTtcbiAgaWYgKCFpc1NhbWVEYXkoY2FsZW5kYXJEYXRlLCBjYXBwZWREYXRlKSkge1xuICAgIGNvbnN0IG5ld0NhbGVuZGFyID0gcmVuZGVyQ2FsZW5kYXIoY2FsZW5kYXJFbCwgY2FwcGVkRGF0ZSk7XG4gICAgbmV3Q2FsZW5kYXIucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9EQVRFX0ZPQ1VTRUQpLmZvY3VzKCk7XG4gIH1cbiAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbn07XG5cbi8qKlxuICogTmF2aWdhdGUgYmFjayBvbmUgd2VlayBhbmQgZGlzcGxheSB0aGUgY2FsZW5kYXIuXG4gKlxuICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudCB0aGUga2V5ZG93biBldmVudFxuICovXG5jb25zdCBoYW5kbGVVcEZyb21EYXRlID0gYWRqdXN0Q2FsZW5kYXIoKGRhdGUpID0+IHN1YldlZWtzKGRhdGUsIDEpKTtcblxuLyoqXG4gKiBOYXZpZ2F0ZSBmb3J3YXJkIG9uZSB3ZWVrIGFuZCBkaXNwbGF5IHRoZSBjYWxlbmRhci5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50XG4gKi9cbmNvbnN0IGhhbmRsZURvd25Gcm9tRGF0ZSA9IGFkanVzdENhbGVuZGFyKChkYXRlKSA9PiBhZGRXZWVrcyhkYXRlLCAxKSk7XG5cbi8qKlxuICogTmF2aWdhdGUgYmFjayBvbmUgZGF5IGFuZCBkaXNwbGF5IHRoZSBjYWxlbmRhci5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50XG4gKi9cbmNvbnN0IGhhbmRsZUxlZnRGcm9tRGF0ZSA9IGFkanVzdENhbGVuZGFyKChkYXRlKSA9PiBzdWJEYXlzKGRhdGUsIDEpKTtcblxuLyoqXG4gKiBOYXZpZ2F0ZSBmb3J3YXJkIG9uZSBkYXkgYW5kIGRpc3BsYXkgdGhlIGNhbGVuZGFyLlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgdGhlIGtleWRvd24gZXZlbnRcbiAqL1xuY29uc3QgaGFuZGxlUmlnaHRGcm9tRGF0ZSA9IGFkanVzdENhbGVuZGFyKChkYXRlKSA9PiBhZGREYXlzKGRhdGUsIDEpKTtcblxuLyoqXG4gKiBOYXZpZ2F0ZSB0byB0aGUgc3RhcnQgb2YgdGhlIHdlZWsgYW5kIGRpc3BsYXkgdGhlIGNhbGVuZGFyLlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgdGhlIGtleWRvd24gZXZlbnRcbiAqL1xuY29uc3QgaGFuZGxlSG9tZUZyb21EYXRlID0gYWRqdXN0Q2FsZW5kYXIoKGRhdGUpID0+IHN0YXJ0T2ZXZWVrKGRhdGUpKTtcblxuLyoqXG4gKiBOYXZpZ2F0ZSB0byB0aGUgZW5kIG9mIHRoZSB3ZWVrIGFuZCBkaXNwbGF5IHRoZSBjYWxlbmRhci5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50XG4gKi9cbmNvbnN0IGhhbmRsZUVuZEZyb21EYXRlID0gYWRqdXN0Q2FsZW5kYXIoKGRhdGUpID0+IGVuZE9mV2VlayhkYXRlKSk7XG5cbi8qKlxuICogTmF2aWdhdGUgZm9yd2FyZCBvbmUgbW9udGggYW5kIGRpc3BsYXkgdGhlIGNhbGVuZGFyLlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgdGhlIGtleWRvd24gZXZlbnRcbiAqL1xuY29uc3QgaGFuZGxlUGFnZURvd25Gcm9tRGF0ZSA9IGFkanVzdENhbGVuZGFyKChkYXRlKSA9PiBhZGRNb250aHMoZGF0ZSwgMSkpO1xuXG4vKipcbiAqIE5hdmlnYXRlIGJhY2sgb25lIG1vbnRoIGFuZCBkaXNwbGF5IHRoZSBjYWxlbmRhci5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50XG4gKi9cbmNvbnN0IGhhbmRsZVBhZ2VVcEZyb21EYXRlID0gYWRqdXN0Q2FsZW5kYXIoKGRhdGUpID0+IHN1Yk1vbnRocyhkYXRlLCAxKSk7XG5cbi8qKlxuICogTmF2aWdhdGUgZm9yd2FyZCBvbmUgeWVhciBhbmQgZGlzcGxheSB0aGUgY2FsZW5kYXIuXG4gKlxuICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudCB0aGUga2V5ZG93biBldmVudFxuICovXG5jb25zdCBoYW5kbGVTaGlmdFBhZ2VEb3duRnJvbURhdGUgPSBhZGp1c3RDYWxlbmRhcigoZGF0ZSkgPT4gYWRkWWVhcnMoZGF0ZSwgMSkpO1xuXG4vKipcbiAqIE5hdmlnYXRlIGJhY2sgb25lIHllYXIgYW5kIGRpc3BsYXkgdGhlIGNhbGVuZGFyLlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgdGhlIGtleWRvd24gZXZlbnRcbiAqL1xuY29uc3QgaGFuZGxlU2hpZnRQYWdlVXBGcm9tRGF0ZSA9IGFkanVzdENhbGVuZGFyKChkYXRlKSA9PiBzdWJZZWFycyhkYXRlLCAxKSk7XG5cbi8qKlxuICogU2V0IHJhbmdlIGRhdGUgY2xhc3NlcyB3aXRob3V0IHJlLXJlbmRlcmluZyB0aGUgY2FsZW5kYXIuIENhbGxlZCB3aGVuIGRhdGUgYnV0dG9uIGlzIGhvdmVyZWQuXG4gKiBSZXR1cm5zIGVhcmx5IGlmIHRoZSBkYXRlIGhvdmVyZWQgaXMgZGlzYWJsZWQgb3IgaWYgdGhlcmUgaXMgYWxyZWFkeSBhIHNlbGVjdGVkIGRhdGUuXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZGF0ZUVsIC0gQ2FsZW5kYXIgZGF0ZSBidXR0b24gd2l0aGluIHRoZSBkYXRlIHBpY2tlciBjb21wb25lbnQuXG4gKi9cblxuY29uc3QgaGFuZGxlTW91c2VvdmVyRnJvbURhdGUgPSAoZGF0ZUVsKSA9PiB7XG4gIGlmIChkYXRlRWwuZGlzYWJsZWQpIHJldHVybjtcblxuICBjb25zdCBob3ZlckRhdGUgPSBwYXJzZURhdGVTdHJpbmcoZGF0ZUVsLmRhdGFzZXQudmFsdWUpO1xuICBjb25zdCB7IGNhbGVuZGFyRWwsIHNlbGVjdGVkRGF0ZSwgcmFuZ2VEYXRlIH0gPSBnZXREYXRlUGlja2VyQ29udGV4dChkYXRlRWwpO1xuXG4gIGlmIChzZWxlY3RlZERhdGUpIHJldHVybjtcblxuICBjb25zdCB7IHdpdGhpblJhbmdlU3RhcnREYXRlLCB3aXRoaW5SYW5nZUVuZERhdGUgfSA9IHNldFJhbmdlRGF0ZXMoXG4gICAgaG92ZXJEYXRlLFxuICAgIHJhbmdlRGF0ZSxcbiAgKTtcblxuICBjb25zdCBkYXRlQnV0dG9ucyA9IGNhbGVuZGFyRWwucXVlcnlTZWxlY3RvckFsbChcbiAgICBgLiR7Q0FMRU5EQVJfREFURV9DVVJSRU5UX01PTlRIX0NMQVNTfWAsXG4gICk7XG5cbiAgZGF0ZUJ1dHRvbnMuZm9yRWFjaCgoYnV0dG9uKSA9PiB7XG4gICAgY29uc3QgYnV0dG9uRGF0ZSA9IHBhcnNlRGF0ZVN0cmluZyhidXR0b24uZGF0YXNldC52YWx1ZSk7XG4gICAgaWYgKFxuICAgICAgaXNEYXRlV2l0aGluTWluQW5kTWF4KFxuICAgICAgICBidXR0b25EYXRlLFxuICAgICAgICB3aXRoaW5SYW5nZVN0YXJ0RGF0ZSxcbiAgICAgICAgd2l0aGluUmFuZ2VFbmREYXRlLFxuICAgICAgKVxuICAgICkge1xuICAgICAgYnV0dG9uLmNsYXNzTGlzdC5hZGQoQ0FMRU5EQVJfREFURV9XSVRISU5fUkFOR0VfQ0xBU1MpO1xuICAgIH0gZWxzZSB7XG4gICAgICBidXR0b24uY2xhc3NMaXN0LnJlbW92ZShDQUxFTkRBUl9EQVRFX1dJVEhJTl9SQU5HRV9DTEFTUyk7XG4gICAgfVxuICB9KTtcbn07XG5cbi8vICNlbmRyZWdpb24gQ2FsZW5kYXIgRGF0ZSBFdmVudCBIYW5kbGluZ1xuXG4vLyAjcmVnaW9uIENhbGVuZGFyIE1vbnRoIEV2ZW50IEhhbmRsaW5nXG5cbi8qKlxuICogQWRqdXN0IHRoZSBtb250aCBhbmQgZGlzcGxheSB0aGUgbW9udGggc2VsZWN0aW9uIHNjcmVlbiBpZiBuZWVkZWQuXG4gKlxuICogQHBhcmFtIHtmdW5jdGlvbn0gYWRqdXN0TW9udGhGbiBmdW5jdGlvbiB0aGF0IHJldHVybnMgdGhlIGFkanVzdGVkIG1vbnRoXG4gKi9cbmNvbnN0IGFkanVzdE1vbnRoU2VsZWN0aW9uU2NyZWVuID0gKGFkanVzdE1vbnRoRm4pID0+IChldmVudCkgPT4ge1xuICBjb25zdCBtb250aEVsID0gZXZlbnQudGFyZ2V0O1xuICBjb25zdCBzZWxlY3RlZE1vbnRoID0gcGFyc2VJbnQobW9udGhFbC5kYXRhc2V0LnZhbHVlLCAxMCk7XG4gIGNvbnN0IHsgY2FsZW5kYXJFbCwgY2FsZW5kYXJEYXRlLCBtaW5EYXRlLCBtYXhEYXRlIH0gPVxuICAgIGdldERhdGVQaWNrZXJDb250ZXh0KG1vbnRoRWwpO1xuICBjb25zdCBjdXJyZW50RGF0ZSA9IHNldE1vbnRoKGNhbGVuZGFyRGF0ZSwgc2VsZWN0ZWRNb250aCk7XG5cbiAgbGV0IGFkanVzdGVkTW9udGggPSBhZGp1c3RNb250aEZuKHNlbGVjdGVkTW9udGgpO1xuICBhZGp1c3RlZE1vbnRoID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oMTEsIGFkanVzdGVkTW9udGgpKTtcblxuICBjb25zdCBkYXRlID0gc2V0TW9udGgoY2FsZW5kYXJEYXRlLCBhZGp1c3RlZE1vbnRoKTtcbiAgY29uc3QgY2FwcGVkRGF0ZSA9IGtlZXBEYXRlQmV0d2Vlbk1pbkFuZE1heChkYXRlLCBtaW5EYXRlLCBtYXhEYXRlKTtcbiAgaWYgKCFpc1NhbWVNb250aChjdXJyZW50RGF0ZSwgY2FwcGVkRGF0ZSkpIHtcbiAgICBjb25zdCBuZXdDYWxlbmRhciA9IGRpc3BsYXlNb250aFNlbGVjdGlvbihcbiAgICAgIGNhbGVuZGFyRWwsXG4gICAgICBjYXBwZWREYXRlLmdldE1vbnRoKCksXG4gICAgKTtcbiAgICBuZXdDYWxlbmRhci5xdWVyeVNlbGVjdG9yKENBTEVOREFSX01PTlRIX0ZPQ1VTRUQpLmZvY3VzKCk7XG4gIH1cbiAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbn07XG5cbi8qKlxuICogTmF2aWdhdGUgYmFjayB0aHJlZSBtb250aHMgYW5kIGRpc3BsYXkgdGhlIG1vbnRoIHNlbGVjdGlvbiBzY3JlZW4uXG4gKlxuICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudCB0aGUga2V5ZG93biBldmVudFxuICovXG5jb25zdCBoYW5kbGVVcEZyb21Nb250aCA9IGFkanVzdE1vbnRoU2VsZWN0aW9uU2NyZWVuKChtb250aCkgPT4gbW9udGggLSAzKTtcblxuLyoqXG4gKiBOYXZpZ2F0ZSBmb3J3YXJkIHRocmVlIG1vbnRocyBhbmQgZGlzcGxheSB0aGUgbW9udGggc2VsZWN0aW9uIHNjcmVlbi5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50XG4gKi9cbmNvbnN0IGhhbmRsZURvd25Gcm9tTW9udGggPSBhZGp1c3RNb250aFNlbGVjdGlvblNjcmVlbigobW9udGgpID0+IG1vbnRoICsgMyk7XG5cbi8qKlxuICogTmF2aWdhdGUgYmFjayBvbmUgbW9udGggYW5kIGRpc3BsYXkgdGhlIG1vbnRoIHNlbGVjdGlvbiBzY3JlZW4uXG4gKlxuICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudCB0aGUga2V5ZG93biBldmVudFxuICovXG5jb25zdCBoYW5kbGVMZWZ0RnJvbU1vbnRoID0gYWRqdXN0TW9udGhTZWxlY3Rpb25TY3JlZW4oKG1vbnRoKSA9PiBtb250aCAtIDEpO1xuXG4vKipcbiAqIE5hdmlnYXRlIGZvcndhcmQgb25lIG1vbnRoIGFuZCBkaXNwbGF5IHRoZSBtb250aCBzZWxlY3Rpb24gc2NyZWVuLlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgdGhlIGtleWRvd24gZXZlbnRcbiAqL1xuY29uc3QgaGFuZGxlUmlnaHRGcm9tTW9udGggPSBhZGp1c3RNb250aFNlbGVjdGlvblNjcmVlbigobW9udGgpID0+IG1vbnRoICsgMSk7XG5cbi8qKlxuICogTmF2aWdhdGUgdG8gdGhlIHN0YXJ0IG9mIHRoZSByb3cgb2YgbW9udGhzIGFuZCBkaXNwbGF5IHRoZSBtb250aCBzZWxlY3Rpb24gc2NyZWVuLlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgdGhlIGtleWRvd24gZXZlbnRcbiAqL1xuY29uc3QgaGFuZGxlSG9tZUZyb21Nb250aCA9IGFkanVzdE1vbnRoU2VsZWN0aW9uU2NyZWVuKFxuICAobW9udGgpID0+IG1vbnRoIC0gKG1vbnRoICUgMyksXG4pO1xuXG4vKipcbiAqIE5hdmlnYXRlIHRvIHRoZSBlbmQgb2YgdGhlIHJvdyBvZiBtb250aHMgYW5kIGRpc3BsYXkgdGhlIG1vbnRoIHNlbGVjdGlvbiBzY3JlZW4uXG4gKlxuICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudCB0aGUga2V5ZG93biBldmVudFxuICovXG5jb25zdCBoYW5kbGVFbmRGcm9tTW9udGggPSBhZGp1c3RNb250aFNlbGVjdGlvblNjcmVlbihcbiAgKG1vbnRoKSA9PiBtb250aCArIDIgLSAobW9udGggJSAzKSxcbik7XG5cbi8qKlxuICogTmF2aWdhdGUgdG8gdGhlIGxhc3QgbW9udGggKERlY2VtYmVyKSBhbmQgZGlzcGxheSB0aGUgbW9udGggc2VsZWN0aW9uIHNjcmVlbi5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50XG4gKi9cbmNvbnN0IGhhbmRsZVBhZ2VEb3duRnJvbU1vbnRoID0gYWRqdXN0TW9udGhTZWxlY3Rpb25TY3JlZW4oKCkgPT4gMTEpO1xuXG4vKipcbiAqIE5hdmlnYXRlIHRvIHRoZSBmaXJzdCBtb250aCAoSmFudWFyeSkgYW5kIGRpc3BsYXkgdGhlIG1vbnRoIHNlbGVjdGlvbiBzY3JlZW4uXG4gKlxuICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudCB0aGUga2V5ZG93biBldmVudFxuICovXG5jb25zdCBoYW5kbGVQYWdlVXBGcm9tTW9udGggPSBhZGp1c3RNb250aFNlbGVjdGlvblNjcmVlbigoKSA9PiAwKTtcblxuLy8gI2VuZHJlZ2lvbiBDYWxlbmRhciBNb250aCBFdmVudCBIYW5kbGluZ1xuXG4vLyAjcmVnaW9uIENhbGVuZGFyIFllYXIgRXZlbnQgSGFuZGxpbmdcblxuLyoqXG4gKiBBZGp1c3QgdGhlIHllYXIgYW5kIGRpc3BsYXkgdGhlIHllYXIgc2VsZWN0aW9uIHNjcmVlbiBpZiBuZWVkZWQuXG4gKlxuICogQHBhcmFtIHtmdW5jdGlvbn0gYWRqdXN0WWVhckZuIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgYWRqdXN0ZWQgeWVhclxuICovXG5jb25zdCBhZGp1c3RZZWFyU2VsZWN0aW9uU2NyZWVuID0gKGFkanVzdFllYXJGbikgPT4gKGV2ZW50KSA9PiB7XG4gIGNvbnN0IHllYXJFbCA9IGV2ZW50LnRhcmdldDtcbiAgY29uc3Qgc2VsZWN0ZWRZZWFyID0gcGFyc2VJbnQoeWVhckVsLmRhdGFzZXQudmFsdWUsIDEwKTtcbiAgY29uc3QgeyBjYWxlbmRhckVsLCBjYWxlbmRhckRhdGUsIG1pbkRhdGUsIG1heERhdGUgfSA9XG4gICAgZ2V0RGF0ZVBpY2tlckNvbnRleHQoeWVhckVsKTtcbiAgY29uc3QgY3VycmVudERhdGUgPSBzZXRZZWFyKGNhbGVuZGFyRGF0ZSwgc2VsZWN0ZWRZZWFyKTtcblxuICBsZXQgYWRqdXN0ZWRZZWFyID0gYWRqdXN0WWVhckZuKHNlbGVjdGVkWWVhcik7XG4gIGFkanVzdGVkWWVhciA9IE1hdGgubWF4KDAsIGFkanVzdGVkWWVhcik7XG5cbiAgY29uc3QgZGF0ZSA9IHNldFllYXIoY2FsZW5kYXJEYXRlLCBhZGp1c3RlZFllYXIpO1xuICBjb25zdCBjYXBwZWREYXRlID0ga2VlcERhdGVCZXR3ZWVuTWluQW5kTWF4KGRhdGUsIG1pbkRhdGUsIG1heERhdGUpO1xuICBpZiAoIWlzU2FtZVllYXIoY3VycmVudERhdGUsIGNhcHBlZERhdGUpKSB7XG4gICAgY29uc3QgbmV3Q2FsZW5kYXIgPSBkaXNwbGF5WWVhclNlbGVjdGlvbihcbiAgICAgIGNhbGVuZGFyRWwsXG4gICAgICBjYXBwZWREYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgKTtcbiAgICBuZXdDYWxlbmRhci5xdWVyeVNlbGVjdG9yKENBTEVOREFSX1lFQVJfRk9DVVNFRCkuZm9jdXMoKTtcbiAgfVxuICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xufTtcblxuLyoqXG4gKiBOYXZpZ2F0ZSBiYWNrIHRocmVlIHllYXJzIGFuZCBkaXNwbGF5IHRoZSB5ZWFyIHNlbGVjdGlvbiBzY3JlZW4uXG4gKlxuICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudCB0aGUga2V5ZG93biBldmVudFxuICovXG5jb25zdCBoYW5kbGVVcEZyb21ZZWFyID0gYWRqdXN0WWVhclNlbGVjdGlvblNjcmVlbigoeWVhcikgPT4geWVhciAtIDMpO1xuXG4vKipcbiAqIE5hdmlnYXRlIGZvcndhcmQgdGhyZWUgeWVhcnMgYW5kIGRpc3BsYXkgdGhlIHllYXIgc2VsZWN0aW9uIHNjcmVlbi5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50XG4gKi9cbmNvbnN0IGhhbmRsZURvd25Gcm9tWWVhciA9IGFkanVzdFllYXJTZWxlY3Rpb25TY3JlZW4oKHllYXIpID0+IHllYXIgKyAzKTtcblxuLyoqXG4gKiBOYXZpZ2F0ZSBiYWNrIG9uZSB5ZWFyIGFuZCBkaXNwbGF5IHRoZSB5ZWFyIHNlbGVjdGlvbiBzY3JlZW4uXG4gKlxuICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudCB0aGUga2V5ZG93biBldmVudFxuICovXG5jb25zdCBoYW5kbGVMZWZ0RnJvbVllYXIgPSBhZGp1c3RZZWFyU2VsZWN0aW9uU2NyZWVuKCh5ZWFyKSA9PiB5ZWFyIC0gMSk7XG5cbi8qKlxuICogTmF2aWdhdGUgZm9yd2FyZCBvbmUgeWVhciBhbmQgZGlzcGxheSB0aGUgeWVhciBzZWxlY3Rpb24gc2NyZWVuLlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgdGhlIGtleWRvd24gZXZlbnRcbiAqL1xuY29uc3QgaGFuZGxlUmlnaHRGcm9tWWVhciA9IGFkanVzdFllYXJTZWxlY3Rpb25TY3JlZW4oKHllYXIpID0+IHllYXIgKyAxKTtcblxuLyoqXG4gKiBOYXZpZ2F0ZSB0byB0aGUgc3RhcnQgb2YgdGhlIHJvdyBvZiB5ZWFycyBhbmQgZGlzcGxheSB0aGUgeWVhciBzZWxlY3Rpb24gc2NyZWVuLlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgdGhlIGtleWRvd24gZXZlbnRcbiAqL1xuY29uc3QgaGFuZGxlSG9tZUZyb21ZZWFyID0gYWRqdXN0WWVhclNlbGVjdGlvblNjcmVlbihcbiAgKHllYXIpID0+IHllYXIgLSAoeWVhciAlIDMpLFxuKTtcblxuLyoqXG4gKiBOYXZpZ2F0ZSB0byB0aGUgZW5kIG9mIHRoZSByb3cgb2YgeWVhcnMgYW5kIGRpc3BsYXkgdGhlIHllYXIgc2VsZWN0aW9uIHNjcmVlbi5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50XG4gKi9cbmNvbnN0IGhhbmRsZUVuZEZyb21ZZWFyID0gYWRqdXN0WWVhclNlbGVjdGlvblNjcmVlbihcbiAgKHllYXIpID0+IHllYXIgKyAyIC0gKHllYXIgJSAzKSxcbik7XG5cbi8qKlxuICogTmF2aWdhdGUgdG8gYmFjayAxMiB5ZWFycyBhbmQgZGlzcGxheSB0aGUgeWVhciBzZWxlY3Rpb24gc2NyZWVuLlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgdGhlIGtleWRvd24gZXZlbnRcbiAqL1xuY29uc3QgaGFuZGxlUGFnZVVwRnJvbVllYXIgPSBhZGp1c3RZZWFyU2VsZWN0aW9uU2NyZWVuKFxuICAoeWVhcikgPT4geWVhciAtIFlFQVJfQ0hVTkssXG4pO1xuXG4vKipcbiAqIE5hdmlnYXRlIGZvcndhcmQgMTIgeWVhcnMgYW5kIGRpc3BsYXkgdGhlIHllYXIgc2VsZWN0aW9uIHNjcmVlbi5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50XG4gKi9cbmNvbnN0IGhhbmRsZVBhZ2VEb3duRnJvbVllYXIgPSBhZGp1c3RZZWFyU2VsZWN0aW9uU2NyZWVuKFxuICAoeWVhcikgPT4geWVhciArIFlFQVJfQ0hVTkssXG4pO1xuXG4vLyAjZW5kcmVnaW9uIENhbGVuZGFyIFllYXIgRXZlbnQgSGFuZGxpbmdcblxuLy8gI3JlZ2lvbiBGb2N1cyBIYW5kbGluZyBFdmVudCBIYW5kbGluZ1xuXG5jb25zdCB0YWJIYW5kbGVyID0gKGZvY3VzYWJsZSkgPT4ge1xuICBjb25zdCBnZXRGb2N1c2FibGVDb250ZXh0ID0gKGVsKSA9PiB7XG4gICAgY29uc3QgeyBjYWxlbmRhckVsIH0gPSBnZXREYXRlUGlja2VyQ29udGV4dChlbCk7XG4gICAgY29uc3QgZm9jdXNhYmxlRWxlbWVudHMgPSBzZWxlY3QoZm9jdXNhYmxlLCBjYWxlbmRhckVsKTtcblxuICAgIGNvbnN0IGZpcnN0VGFiSW5kZXggPSAwO1xuICAgIGNvbnN0IGxhc3RUYWJJbmRleCA9IGZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCAtIDE7XG4gICAgY29uc3QgZmlyc3RUYWJTdG9wID0gZm9jdXNhYmxlRWxlbWVudHNbZmlyc3RUYWJJbmRleF07XG4gICAgY29uc3QgbGFzdFRhYlN0b3AgPSBmb2N1c2FibGVFbGVtZW50c1tsYXN0VGFiSW5kZXhdO1xuICAgIGNvbnN0IGZvY3VzSW5kZXggPSBmb2N1c2FibGVFbGVtZW50cy5pbmRleE9mKGFjdGl2ZUVsZW1lbnQoKSk7XG5cbiAgICBjb25zdCBpc0xhc3RUYWIgPSBmb2N1c0luZGV4ID09PSBsYXN0VGFiSW5kZXg7XG4gICAgY29uc3QgaXNGaXJzdFRhYiA9IGZvY3VzSW5kZXggPT09IGZpcnN0VGFiSW5kZXg7XG4gICAgY29uc3QgaXNOb3RGb3VuZCA9IGZvY3VzSW5kZXggPT09IC0xO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGZvY3VzYWJsZUVsZW1lbnRzLFxuICAgICAgaXNOb3RGb3VuZCxcbiAgICAgIGZpcnN0VGFiU3RvcCxcbiAgICAgIGlzRmlyc3RUYWIsXG4gICAgICBsYXN0VGFiU3RvcCxcbiAgICAgIGlzTGFzdFRhYixcbiAgICB9O1xuICB9O1xuXG4gIHJldHVybiB7XG4gICAgdGFiQWhlYWQoZXZlbnQpIHtcbiAgICAgIGNvbnN0IHsgZmlyc3RUYWJTdG9wLCBpc0xhc3RUYWIsIGlzTm90Rm91bmQgfSA9IGdldEZvY3VzYWJsZUNvbnRleHQoXG4gICAgICAgIGV2ZW50LnRhcmdldCxcbiAgICAgICk7XG5cbiAgICAgIGlmIChpc0xhc3RUYWIgfHwgaXNOb3RGb3VuZCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBmaXJzdFRhYlN0b3AuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHRhYkJhY2soZXZlbnQpIHtcbiAgICAgIGNvbnN0IHsgbGFzdFRhYlN0b3AsIGlzRmlyc3RUYWIsIGlzTm90Rm91bmQgfSA9IGdldEZvY3VzYWJsZUNvbnRleHQoXG4gICAgICAgIGV2ZW50LnRhcmdldCxcbiAgICAgICk7XG5cbiAgICAgIGlmIChpc0ZpcnN0VGFiIHx8IGlzTm90Rm91bmQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgbGFzdFRhYlN0b3AuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9LFxuICB9O1xufTtcblxuY29uc3QgZGF0ZVBpY2tlclRhYkV2ZW50SGFuZGxlciA9IHRhYkhhbmRsZXIoREFURV9QSUNLRVJfRk9DVVNBQkxFKTtcbmNvbnN0IG1vbnRoUGlja2VyVGFiRXZlbnRIYW5kbGVyID0gdGFiSGFuZGxlcihNT05USF9QSUNLRVJfRk9DVVNBQkxFKTtcbmNvbnN0IHllYXJQaWNrZXJUYWJFdmVudEhhbmRsZXIgPSB0YWJIYW5kbGVyKFlFQVJfUElDS0VSX0ZPQ1VTQUJMRSk7XG5cbi8vICNlbmRyZWdpb24gRm9jdXMgSGFuZGxpbmcgRXZlbnQgSGFuZGxpbmdcblxuLy8gI3JlZ2lvbiBEYXRlIFBpY2tlciBFdmVudCBEZWxlZ2F0aW9uIFJlZ2lzdHJhdGlvbiAvIENvbXBvbmVudFxuXG5jb25zdCBkYXRlUGlja2VyRXZlbnRzID0ge1xuICBbQ0xJQ0tdOiB7XG4gICAgW0RBVEVfUElDS0VSX0JVVFRPTl0oKSB7XG4gICAgICB0b2dnbGVDYWxlbmRhcih0aGlzKTtcbiAgICB9LFxuICAgIFtDQUxFTkRBUl9EQVRFXSgpIHtcbiAgICAgIHNlbGVjdERhdGUodGhpcyk7XG4gICAgfSxcbiAgICBbQ0FMRU5EQVJfTU9OVEhdKCkge1xuICAgICAgc2VsZWN0TW9udGgodGhpcyk7XG4gICAgfSxcbiAgICBbQ0FMRU5EQVJfWUVBUl0oKSB7XG4gICAgICBzZWxlY3RZZWFyKHRoaXMpO1xuICAgIH0sXG4gICAgW0NBTEVOREFSX1BSRVZJT1VTX01PTlRIXSgpIHtcbiAgICAgIGRpc3BsYXlQcmV2aW91c01vbnRoKHRoaXMpO1xuICAgIH0sXG4gICAgW0NBTEVOREFSX05FWFRfTU9OVEhdKCkge1xuICAgICAgZGlzcGxheU5leHRNb250aCh0aGlzKTtcbiAgICB9LFxuICAgIFtDQUxFTkRBUl9QUkVWSU9VU19ZRUFSXSgpIHtcbiAgICAgIGRpc3BsYXlQcmV2aW91c1llYXIodGhpcyk7XG4gICAgfSxcbiAgICBbQ0FMRU5EQVJfTkVYVF9ZRUFSXSgpIHtcbiAgICAgIGRpc3BsYXlOZXh0WWVhcih0aGlzKTtcbiAgICB9LFxuICAgIFtDQUxFTkRBUl9QUkVWSU9VU19ZRUFSX0NIVU5LXSgpIHtcbiAgICAgIGRpc3BsYXlQcmV2aW91c1llYXJDaHVuayh0aGlzKTtcbiAgICB9LFxuICAgIFtDQUxFTkRBUl9ORVhUX1lFQVJfQ0hVTktdKCkge1xuICAgICAgZGlzcGxheU5leHRZZWFyQ2h1bmsodGhpcyk7XG4gICAgfSxcbiAgICBbQ0FMRU5EQVJfTU9OVEhfU0VMRUNUSU9OXSgpIHtcbiAgICAgIGNvbnN0IG5ld0NhbGVuZGFyID0gZGlzcGxheU1vbnRoU2VsZWN0aW9uKHRoaXMpO1xuICAgICAgbmV3Q2FsZW5kYXIucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9NT05USF9GT0NVU0VEKS5mb2N1cygpO1xuICAgIH0sXG4gICAgW0NBTEVOREFSX1lFQVJfU0VMRUNUSU9OXSgpIHtcbiAgICAgIGNvbnN0IG5ld0NhbGVuZGFyID0gZGlzcGxheVllYXJTZWxlY3Rpb24odGhpcyk7XG4gICAgICBuZXdDYWxlbmRhci5xdWVyeVNlbGVjdG9yKENBTEVOREFSX1lFQVJfRk9DVVNFRCkuZm9jdXMoKTtcbiAgICB9LFxuICB9LFxuICBrZXl1cDoge1xuICAgIFtEQVRFX1BJQ0tFUl9DQUxFTkRBUl0oZXZlbnQpIHtcbiAgICAgIGNvbnN0IGtleWRvd24gPSB0aGlzLmRhdGFzZXQua2V5ZG93bktleUNvZGU7XG4gICAgICBpZiAoYCR7ZXZlbnQua2V5Q29kZX1gICE9PSBrZXlkb3duKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB9XG4gICAgfSxcbiAgfSxcbiAga2V5ZG93bjoge1xuICAgIFtEQVRFX1BJQ0tFUl9FWFRFUk5BTF9JTlBVVF0oZXZlbnQpIHtcbiAgICAgIGlmIChldmVudC5rZXlDb2RlID09PSBFTlRFUl9LRVlDT0RFKSB7XG4gICAgICAgIHZhbGlkYXRlRGF0ZUlucHV0KHRoaXMpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW0NBTEVOREFSX0RBVEVdOiBrZXltYXAoe1xuICAgICAgVXA6IGhhbmRsZVVwRnJvbURhdGUsXG4gICAgICBBcnJvd1VwOiBoYW5kbGVVcEZyb21EYXRlLFxuICAgICAgRG93bjogaGFuZGxlRG93bkZyb21EYXRlLFxuICAgICAgQXJyb3dEb3duOiBoYW5kbGVEb3duRnJvbURhdGUsXG4gICAgICBMZWZ0OiBoYW5kbGVMZWZ0RnJvbURhdGUsXG4gICAgICBBcnJvd0xlZnQ6IGhhbmRsZUxlZnRGcm9tRGF0ZSxcbiAgICAgIFJpZ2h0OiBoYW5kbGVSaWdodEZyb21EYXRlLFxuICAgICAgQXJyb3dSaWdodDogaGFuZGxlUmlnaHRGcm9tRGF0ZSxcbiAgICAgIEhvbWU6IGhhbmRsZUhvbWVGcm9tRGF0ZSxcbiAgICAgIEVuZDogaGFuZGxlRW5kRnJvbURhdGUsXG4gICAgICBQYWdlRG93bjogaGFuZGxlUGFnZURvd25Gcm9tRGF0ZSxcbiAgICAgIFBhZ2VVcDogaGFuZGxlUGFnZVVwRnJvbURhdGUsXG4gICAgICBcIlNoaWZ0K1BhZ2VEb3duXCI6IGhhbmRsZVNoaWZ0UGFnZURvd25Gcm9tRGF0ZSxcbiAgICAgIFwiU2hpZnQrUGFnZVVwXCI6IGhhbmRsZVNoaWZ0UGFnZVVwRnJvbURhdGUsXG4gICAgICBUYWI6IGRhdGVQaWNrZXJUYWJFdmVudEhhbmRsZXIudGFiQWhlYWQsXG4gICAgfSksXG4gICAgW0NBTEVOREFSX0RBVEVfUElDS0VSXToga2V5bWFwKHtcbiAgICAgIFRhYjogZGF0ZVBpY2tlclRhYkV2ZW50SGFuZGxlci50YWJBaGVhZCxcbiAgICAgIFwiU2hpZnQrVGFiXCI6IGRhdGVQaWNrZXJUYWJFdmVudEhhbmRsZXIudGFiQmFjayxcbiAgICB9KSxcbiAgICBbQ0FMRU5EQVJfTU9OVEhdOiBrZXltYXAoe1xuICAgICAgVXA6IGhhbmRsZVVwRnJvbU1vbnRoLFxuICAgICAgQXJyb3dVcDogaGFuZGxlVXBGcm9tTW9udGgsXG4gICAgICBEb3duOiBoYW5kbGVEb3duRnJvbU1vbnRoLFxuICAgICAgQXJyb3dEb3duOiBoYW5kbGVEb3duRnJvbU1vbnRoLFxuICAgICAgTGVmdDogaGFuZGxlTGVmdEZyb21Nb250aCxcbiAgICAgIEFycm93TGVmdDogaGFuZGxlTGVmdEZyb21Nb250aCxcbiAgICAgIFJpZ2h0OiBoYW5kbGVSaWdodEZyb21Nb250aCxcbiAgICAgIEFycm93UmlnaHQ6IGhhbmRsZVJpZ2h0RnJvbU1vbnRoLFxuICAgICAgSG9tZTogaGFuZGxlSG9tZUZyb21Nb250aCxcbiAgICAgIEVuZDogaGFuZGxlRW5kRnJvbU1vbnRoLFxuICAgICAgUGFnZURvd246IGhhbmRsZVBhZ2VEb3duRnJvbU1vbnRoLFxuICAgICAgUGFnZVVwOiBoYW5kbGVQYWdlVXBGcm9tTW9udGgsXG4gICAgfSksXG4gICAgW0NBTEVOREFSX01PTlRIX1BJQ0tFUl06IGtleW1hcCh7XG4gICAgICBUYWI6IG1vbnRoUGlja2VyVGFiRXZlbnRIYW5kbGVyLnRhYkFoZWFkLFxuICAgICAgXCJTaGlmdCtUYWJcIjogbW9udGhQaWNrZXJUYWJFdmVudEhhbmRsZXIudGFiQmFjayxcbiAgICB9KSxcbiAgICBbQ0FMRU5EQVJfWUVBUl06IGtleW1hcCh7XG4gICAgICBVcDogaGFuZGxlVXBGcm9tWWVhcixcbiAgICAgIEFycm93VXA6IGhhbmRsZVVwRnJvbVllYXIsXG4gICAgICBEb3duOiBoYW5kbGVEb3duRnJvbVllYXIsXG4gICAgICBBcnJvd0Rvd246IGhhbmRsZURvd25Gcm9tWWVhcixcbiAgICAgIExlZnQ6IGhhbmRsZUxlZnRGcm9tWWVhcixcbiAgICAgIEFycm93TGVmdDogaGFuZGxlTGVmdEZyb21ZZWFyLFxuICAgICAgUmlnaHQ6IGhhbmRsZVJpZ2h0RnJvbVllYXIsXG4gICAgICBBcnJvd1JpZ2h0OiBoYW5kbGVSaWdodEZyb21ZZWFyLFxuICAgICAgSG9tZTogaGFuZGxlSG9tZUZyb21ZZWFyLFxuICAgICAgRW5kOiBoYW5kbGVFbmRGcm9tWWVhcixcbiAgICAgIFBhZ2VEb3duOiBoYW5kbGVQYWdlRG93bkZyb21ZZWFyLFxuICAgICAgUGFnZVVwOiBoYW5kbGVQYWdlVXBGcm9tWWVhcixcbiAgICB9KSxcbiAgICBbQ0FMRU5EQVJfWUVBUl9QSUNLRVJdOiBrZXltYXAoe1xuICAgICAgVGFiOiB5ZWFyUGlja2VyVGFiRXZlbnRIYW5kbGVyLnRhYkFoZWFkLFxuICAgICAgXCJTaGlmdCtUYWJcIjogeWVhclBpY2tlclRhYkV2ZW50SGFuZGxlci50YWJCYWNrLFxuICAgIH0pLFxuICAgIFtEQVRFX1BJQ0tFUl9DQUxFTkRBUl0oZXZlbnQpIHtcbiAgICAgIHRoaXMuZGF0YXNldC5rZXlkb3duS2V5Q29kZSA9IGV2ZW50LmtleUNvZGU7XG4gICAgfSxcbiAgICBbREFURV9QSUNLRVJdKGV2ZW50KSB7XG4gICAgICBjb25zdCBrZXlNYXAgPSBrZXltYXAoe1xuICAgICAgICBFc2NhcGU6IGhhbmRsZUVzY2FwZUZyb21DYWxlbmRhcixcbiAgICAgIH0pO1xuXG4gICAgICBrZXlNYXAoZXZlbnQpO1xuICAgIH0sXG4gIH0sXG4gIGZvY3Vzb3V0OiB7XG4gICAgW0RBVEVfUElDS0VSX0VYVEVSTkFMX0lOUFVUXSgpIHtcbiAgICAgIHZhbGlkYXRlRGF0ZUlucHV0KHRoaXMpO1xuICAgIH0sXG4gICAgW0RBVEVfUElDS0VSXShldmVudCkge1xuICAgICAgaWYgKCF0aGlzLmNvbnRhaW5zKGV2ZW50LnJlbGF0ZWRUYXJnZXQpKSB7XG4gICAgICAgIGhpZGVDYWxlbmRhcih0aGlzKTtcbiAgICAgIH1cbiAgICB9LFxuICB9LFxuICBpbnB1dDoge1xuICAgIFtEQVRFX1BJQ0tFUl9FWFRFUk5BTF9JTlBVVF0oKSB7XG4gICAgICByZWNvbmNpbGVJbnB1dFZhbHVlcyh0aGlzKTtcbiAgICAgIHVwZGF0ZUNhbGVuZGFySWZWaXNpYmxlKHRoaXMpO1xuICAgIH0sXG4gIH0sXG59O1xuXG5pZiAoIWlzSW9zRGV2aWNlKCkpIHtcbiAgZGF0ZVBpY2tlckV2ZW50cy5tb3VzZW92ZXIgPSB7XG4gICAgW0NBTEVOREFSX0RBVEVfQ1VSUkVOVF9NT05USF0oKSB7XG4gICAgICBoYW5kbGVNb3VzZW92ZXJGcm9tRGF0ZSh0aGlzKTtcbiAgICB9LFxuICB9O1xufVxuXG5jb25zdCBkYXRlUGlja2VyID0gYmVoYXZpb3IoZGF0ZVBpY2tlckV2ZW50cywge1xuICBpbml0KHJvb3QpIHtcbiAgICBzZWxlY3RPck1hdGNoZXMoREFURV9QSUNLRVIsIHJvb3QpLmZvckVhY2goKGRhdGVQaWNrZXJFbCkgPT4ge1xuICAgICAgZW5oYW5jZURhdGVQaWNrZXIoZGF0ZVBpY2tlckVsKTtcbiAgICB9KTtcbiAgfSxcbiAgZ2V0RGF0ZVBpY2tlckNvbnRleHQsXG4gIGRpc2FibGUsXG4gIGFyaWFEaXNhYmxlLFxuICBlbmFibGUsXG4gIGlzRGF0ZUlucHV0SW52YWxpZCxcbiAgc2V0Q2FsZW5kYXJWYWx1ZSxcbiAgdmFsaWRhdGVEYXRlSW5wdXQsXG4gIHJlbmRlckNhbGVuZGFyLFxuICB1cGRhdGVDYWxlbmRhcklmVmlzaWJsZSxcbn0pO1xuXG4vLyAjZW5kcmVnaW9uIERhdGUgUGlja2VyIEV2ZW50IERlbGVnYXRpb24gUmVnaXN0cmF0aW9uIC8gQ29tcG9uZW50XG5cbm1vZHVsZS5leHBvcnRzID0gZGF0ZVBpY2tlcjtcbiIsImNvbnN0IGJlaGF2aW9yID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2JlaGF2aW9yXCIpO1xuY29uc3Qgc2VsZWN0ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3NlbGVjdFwiKTtcbmNvbnN0IHNlbGVjdE9yTWF0Y2hlcyA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9zZWxlY3Qtb3ItbWF0Y2hlc1wiKTtcbmNvbnN0IHsgcHJlZml4OiBQUkVGSVggfSA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy9jb25maWdcIik7XG5jb25zdCB7XG4gIGdldERhdGVQaWNrZXJDb250ZXh0LFxuICBpc0RhdGVJbnB1dEludmFsaWQsXG4gIHVwZGF0ZUNhbGVuZGFySWZWaXNpYmxlLFxufSA9IHJlcXVpcmUoXCIuLi8uLi91c2EtZGF0ZS1waWNrZXIvc3JjL2luZGV4XCIpO1xuXG5jb25zdCBEQVRFX1BJQ0tFUl9DTEFTUyA9IGAke1BSRUZJWH0tZGF0ZS1waWNrZXJgO1xuY29uc3QgREFURV9SQU5HRV9QSUNLRVJfQ0xBU1MgPSBgJHtQUkVGSVh9LWRhdGUtcmFuZ2UtcGlja2VyYDtcbmNvbnN0IERBVEVfUkFOR0VfUElDS0VSX1JBTkdFX1NUQVJUX0NMQVNTID0gYCR7REFURV9SQU5HRV9QSUNLRVJfQ0xBU1N9X19yYW5nZS1zdGFydGA7XG5jb25zdCBEQVRFX1JBTkdFX1BJQ0tFUl9SQU5HRV9FTkRfQ0xBU1MgPSBgJHtEQVRFX1JBTkdFX1BJQ0tFUl9DTEFTU31fX3JhbmdlLWVuZGA7XG5cbmNvbnN0IERBVEVfUElDS0VSID0gYC4ke0RBVEVfUElDS0VSX0NMQVNTfWA7XG5jb25zdCBEQVRFX1JBTkdFX1BJQ0tFUiA9IGAuJHtEQVRFX1JBTkdFX1BJQ0tFUl9DTEFTU31gO1xuY29uc3QgREFURV9SQU5HRV9QSUNLRVJfUkFOR0VfU1RBUlQgPSBgLiR7REFURV9SQU5HRV9QSUNLRVJfUkFOR0VfU1RBUlRfQ0xBU1N9YDtcbmNvbnN0IERBVEVfUkFOR0VfUElDS0VSX1JBTkdFX0VORCA9IGAuJHtEQVRFX1JBTkdFX1BJQ0tFUl9SQU5HRV9FTkRfQ0xBU1N9YDtcblxuY29uc3QgREVGQVVMVF9NSU5fREFURSA9IFwiMDAwMC0wMS0wMVwiO1xuXG4vKipcbiAqIFRoZSBwcm9wZXJ0aWVzIGFuZCBlbGVtZW50cyB3aXRoaW4gdGhlIGRhdGUgcmFuZ2UgcGlja2VyLlxuICogQHR5cGVkZWYge09iamVjdH0gRGF0ZVJhbmdlUGlja2VyQ29udGV4dFxuICogQHByb3BlcnR5IHtIVE1MRWxlbWVudH0gZGF0ZVJhbmdlUGlja2VyRWxcbiAqIEBwcm9wZXJ0eSB7SFRNTEVsZW1lbnR9IHJhbmdlU3RhcnRFbFxuICogQHByb3BlcnR5IHtIVE1MRWxlbWVudH0gcmFuZ2VFbmRFbFxuICovXG5cbi8qKlxuICogR2V0IGFuIG9iamVjdCBvZiB0aGUgcHJvcGVydGllcyBhbmQgZWxlbWVudHMgYmVsb25naW5nIGRpcmVjdGx5IHRvIHRoZSBnaXZlblxuICogZGF0ZSBwaWNrZXIgY29tcG9uZW50LlxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsIHRoZSBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXJcbiAqIEByZXR1cm5zIHtEYXRlUmFuZ2VQaWNrZXJDb250ZXh0fSBlbGVtZW50c1xuICovXG5jb25zdCBnZXREYXRlUmFuZ2VQaWNrZXJDb250ZXh0ID0gKGVsKSA9PiB7XG4gIGNvbnN0IGRhdGVSYW5nZVBpY2tlckVsID0gZWwuY2xvc2VzdChEQVRFX1JBTkdFX1BJQ0tFUik7XG5cbiAgaWYgKCFkYXRlUmFuZ2VQaWNrZXJFbCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgRWxlbWVudCBpcyBtaXNzaW5nIG91dGVyICR7REFURV9SQU5HRV9QSUNLRVJ9YCk7XG4gIH1cblxuICBjb25zdCByYW5nZVN0YXJ0RWwgPSBkYXRlUmFuZ2VQaWNrZXJFbC5xdWVyeVNlbGVjdG9yKFxuICAgIERBVEVfUkFOR0VfUElDS0VSX1JBTkdFX1NUQVJULFxuICApO1xuICBjb25zdCByYW5nZUVuZEVsID0gZGF0ZVJhbmdlUGlja2VyRWwucXVlcnlTZWxlY3RvcihcbiAgICBEQVRFX1JBTkdFX1BJQ0tFUl9SQU5HRV9FTkQsXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICBkYXRlUmFuZ2VQaWNrZXJFbCxcbiAgICByYW5nZVN0YXJ0RWwsXG4gICAgcmFuZ2VFbmRFbCxcbiAgfTtcbn07XG5cbi8qKlxuICogaGFuZGxlIHVwZGF0ZSBmcm9tIHJhbmdlIHN0YXJ0IGRhdGUgcGlja2VyXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgYW4gZWxlbWVudCB3aXRoaW4gdGhlIGRhdGUgcmFuZ2UgcGlja2VyXG4gKi9cbmNvbnN0IGhhbmRsZVJhbmdlU3RhcnRVcGRhdGUgPSAoZWwpID0+IHtcbiAgY29uc3QgeyBkYXRlUmFuZ2VQaWNrZXJFbCwgcmFuZ2VTdGFydEVsLCByYW5nZUVuZEVsIH0gPVxuICAgIGdldERhdGVSYW5nZVBpY2tlckNvbnRleHQoZWwpO1xuICBjb25zdCB7IGludGVybmFsSW5wdXRFbCB9ID0gZ2V0RGF0ZVBpY2tlckNvbnRleHQocmFuZ2VTdGFydEVsKTtcbiAgY29uc3QgdXBkYXRlZERhdGUgPSBpbnRlcm5hbElucHV0RWwudmFsdWU7XG5cbiAgaWYgKHVwZGF0ZWREYXRlICYmICFpc0RhdGVJbnB1dEludmFsaWQoaW50ZXJuYWxJbnB1dEVsKSkge1xuICAgIHJhbmdlRW5kRWwuZGF0YXNldC5taW5EYXRlID0gdXBkYXRlZERhdGU7XG4gICAgcmFuZ2VFbmRFbC5kYXRhc2V0LnJhbmdlRGF0ZSA9IHVwZGF0ZWREYXRlO1xuICAgIHJhbmdlRW5kRWwuZGF0YXNldC5kZWZhdWx0RGF0ZSA9IHVwZGF0ZWREYXRlO1xuICB9IGVsc2Uge1xuICAgIHJhbmdlRW5kRWwuZGF0YXNldC5taW5EYXRlID0gZGF0ZVJhbmdlUGlja2VyRWwuZGF0YXNldC5taW5EYXRlIHx8IFwiXCI7XG4gICAgcmFuZ2VFbmRFbC5kYXRhc2V0LnJhbmdlRGF0ZSA9IFwiXCI7XG4gICAgcmFuZ2VFbmRFbC5kYXRhc2V0LmRlZmF1bHREYXRlID0gXCJcIjtcbiAgfVxuXG4gIHVwZGF0ZUNhbGVuZGFySWZWaXNpYmxlKHJhbmdlRW5kRWwpO1xufTtcblxuLyoqXG4gKiBoYW5kbGUgdXBkYXRlIGZyb20gcmFuZ2Ugc3RhcnQgZGF0ZSBwaWNrZXJcbiAqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbCBhbiBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSByYW5nZSBwaWNrZXJcbiAqL1xuY29uc3QgaGFuZGxlUmFuZ2VFbmRVcGRhdGUgPSAoZWwpID0+IHtcbiAgY29uc3QgeyBkYXRlUmFuZ2VQaWNrZXJFbCwgcmFuZ2VTdGFydEVsLCByYW5nZUVuZEVsIH0gPVxuICAgIGdldERhdGVSYW5nZVBpY2tlckNvbnRleHQoZWwpO1xuICBjb25zdCB7IGludGVybmFsSW5wdXRFbCB9ID0gZ2V0RGF0ZVBpY2tlckNvbnRleHQocmFuZ2VFbmRFbCk7XG4gIGNvbnN0IHVwZGF0ZWREYXRlID0gaW50ZXJuYWxJbnB1dEVsLnZhbHVlO1xuXG4gIGlmICh1cGRhdGVkRGF0ZSAmJiAhaXNEYXRlSW5wdXRJbnZhbGlkKGludGVybmFsSW5wdXRFbCkpIHtcbiAgICByYW5nZVN0YXJ0RWwuZGF0YXNldC5tYXhEYXRlID0gdXBkYXRlZERhdGU7XG4gICAgcmFuZ2VTdGFydEVsLmRhdGFzZXQucmFuZ2VEYXRlID0gdXBkYXRlZERhdGU7XG4gICAgcmFuZ2VTdGFydEVsLmRhdGFzZXQuZGVmYXVsdERhdGUgPSB1cGRhdGVkRGF0ZTtcbiAgfSBlbHNlIHtcbiAgICByYW5nZVN0YXJ0RWwuZGF0YXNldC5tYXhEYXRlID0gZGF0ZVJhbmdlUGlja2VyRWwuZGF0YXNldC5tYXhEYXRlIHx8IFwiXCI7XG4gICAgcmFuZ2VTdGFydEVsLmRhdGFzZXQucmFuZ2VEYXRlID0gXCJcIjtcbiAgICByYW5nZVN0YXJ0RWwuZGF0YXNldC5kZWZhdWx0RGF0ZSA9IFwiXCI7XG4gIH1cblxuICB1cGRhdGVDYWxlbmRhcklmVmlzaWJsZShyYW5nZVN0YXJ0RWwpO1xufTtcblxuLyoqXG4gKiBFbmhhbmNlIGFuIGlucHV0IHdpdGggdGhlIGRhdGUgcGlja2VyIGVsZW1lbnRzXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgVGhlIGluaXRpYWwgd3JhcHBpbmcgZWxlbWVudCBvZiB0aGUgZGF0ZSByYW5nZSBwaWNrZXIgY29tcG9uZW50XG4gKi9cbmNvbnN0IGVuaGFuY2VEYXRlUmFuZ2VQaWNrZXIgPSAoZWwpID0+IHtcbiAgY29uc3QgZGF0ZVJhbmdlUGlja2VyRWwgPSBlbC5jbG9zZXN0KERBVEVfUkFOR0VfUElDS0VSKTtcblxuICBjb25zdCBbcmFuZ2VTdGFydCwgcmFuZ2VFbmRdID0gc2VsZWN0KERBVEVfUElDS0VSLCBkYXRlUmFuZ2VQaWNrZXJFbCk7XG5cbiAgaWYgKCFyYW5nZVN0YXJ0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYCR7REFURV9SQU5HRV9QSUNLRVJ9IGlzIG1pc3NpbmcgaW5uZXIgdHdvICcke0RBVEVfUElDS0VSfScgZWxlbWVudHNgLFxuICAgICk7XG4gIH1cblxuICBpZiAoIXJhbmdlRW5kKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYCR7REFURV9SQU5HRV9QSUNLRVJ9IGlzIG1pc3Npbmcgc2Vjb25kICcke0RBVEVfUElDS0VSfScgZWxlbWVudGAsXG4gICAgKTtcbiAgfVxuXG4gIHJhbmdlU3RhcnQuY2xhc3NMaXN0LmFkZChEQVRFX1JBTkdFX1BJQ0tFUl9SQU5HRV9TVEFSVF9DTEFTUyk7XG4gIHJhbmdlRW5kLmNsYXNzTGlzdC5hZGQoREFURV9SQU5HRV9QSUNLRVJfUkFOR0VfRU5EX0NMQVNTKTtcblxuICBpZiAoIWRhdGVSYW5nZVBpY2tlckVsLmRhdGFzZXQubWluRGF0ZSkge1xuICAgIGRhdGVSYW5nZVBpY2tlckVsLmRhdGFzZXQubWluRGF0ZSA9IERFRkFVTFRfTUlOX0RBVEU7XG4gIH1cblxuICBjb25zdCB7IG1pbkRhdGUgfSA9IGRhdGVSYW5nZVBpY2tlckVsLmRhdGFzZXQ7XG4gIHJhbmdlU3RhcnQuZGF0YXNldC5taW5EYXRlID0gbWluRGF0ZTtcbiAgcmFuZ2VFbmQuZGF0YXNldC5taW5EYXRlID0gbWluRGF0ZTtcblxuICBjb25zdCB7IG1heERhdGUgfSA9IGRhdGVSYW5nZVBpY2tlckVsLmRhdGFzZXQ7XG4gIGlmIChtYXhEYXRlKSB7XG4gICAgcmFuZ2VTdGFydC5kYXRhc2V0Lm1heERhdGUgPSBtYXhEYXRlO1xuICAgIHJhbmdlRW5kLmRhdGFzZXQubWF4RGF0ZSA9IG1heERhdGU7XG4gIH1cblxuICBoYW5kbGVSYW5nZVN0YXJ0VXBkYXRlKGRhdGVSYW5nZVBpY2tlckVsKTtcbiAgaGFuZGxlUmFuZ2VFbmRVcGRhdGUoZGF0ZVJhbmdlUGlja2VyRWwpO1xufTtcblxuY29uc3QgZGF0ZVJhbmdlUGlja2VyID0gYmVoYXZpb3IoXG4gIHtcbiAgICBcImlucHV0IGNoYW5nZVwiOiB7XG4gICAgICBbREFURV9SQU5HRV9QSUNLRVJfUkFOR0VfU1RBUlRdKCkge1xuICAgICAgICBoYW5kbGVSYW5nZVN0YXJ0VXBkYXRlKHRoaXMpO1xuICAgICAgfSxcbiAgICAgIFtEQVRFX1JBTkdFX1BJQ0tFUl9SQU5HRV9FTkRdKCkge1xuICAgICAgICBoYW5kbGVSYW5nZUVuZFVwZGF0ZSh0aGlzKTtcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbiAge1xuICAgIGluaXQocm9vdCkge1xuICAgICAgc2VsZWN0T3JNYXRjaGVzKERBVEVfUkFOR0VfUElDS0VSLCByb290KS5mb3JFYWNoKChkYXRlUmFuZ2VQaWNrZXJFbCkgPT4ge1xuICAgICAgICBlbmhhbmNlRGF0ZVJhbmdlUGlja2VyKGRhdGVSYW5nZVBpY2tlckVsKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gIH0sXG4pO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGRhdGVSYW5nZVBpY2tlcjtcbiIsImNvbnN0IHNlbGVjdE9yTWF0Y2hlcyA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9zZWxlY3Qtb3ItbWF0Y2hlc1wiKTtcbmNvbnN0IGJlaGF2aW9yID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2JlaGF2aW9yXCIpO1xuY29uc3QgU2FuaXRpemVyID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3Nhbml0aXplclwiKTtcbmNvbnN0IHsgcHJlZml4OiBQUkVGSVggfSA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy9jb25maWdcIik7XG5cbmNvbnN0IERST1BaT05FX0NMQVNTID0gYCR7UFJFRklYfS1maWxlLWlucHV0YDtcbmNvbnN0IERST1BaT05FID0gYC4ke0RST1BaT05FX0NMQVNTfWA7XG5jb25zdCBJTlBVVF9DTEFTUyA9IGAke1BSRUZJWH0tZmlsZS1pbnB1dF9faW5wdXRgO1xuY29uc3QgVEFSR0VUX0NMQVNTID0gYCR7UFJFRklYfS1maWxlLWlucHV0X190YXJnZXRgO1xuY29uc3QgSU5QVVQgPSBgLiR7SU5QVVRfQ0xBU1N9YDtcbmNvbnN0IEJPWF9DTEFTUyA9IGAke1BSRUZJWH0tZmlsZS1pbnB1dF9fYm94YDtcbmNvbnN0IElOU1RSVUNUSU9OU19DTEFTUyA9IGAke1BSRUZJWH0tZmlsZS1pbnB1dF9faW5zdHJ1Y3Rpb25zYDtcbmNvbnN0IFBSRVZJRVdfQ0xBU1MgPSBgJHtQUkVGSVh9LWZpbGUtaW5wdXRfX3ByZXZpZXdgO1xuY29uc3QgUFJFVklFV19IRUFESU5HX0NMQVNTID0gYCR7UFJFRklYfS1maWxlLWlucHV0X19wcmV2aWV3LWhlYWRpbmdgO1xuY29uc3QgRElTQUJMRURfQ0xBU1MgPSBgJHtQUkVGSVh9LWZpbGUtaW5wdXQtLWRpc2FibGVkYDtcbmNvbnN0IENIT09TRV9DTEFTUyA9IGAke1BSRUZJWH0tZmlsZS1pbnB1dF9fY2hvb3NlYDtcbmNvbnN0IEFDQ0VQVEVEX0ZJTEVfTUVTU0FHRV9DTEFTUyA9IGAke1BSRUZJWH0tZmlsZS1pbnB1dF9fYWNjZXB0ZWQtZmlsZXMtbWVzc2FnZWA7XG5jb25zdCBEUkFHX1RFWFRfQ0xBU1MgPSBgJHtQUkVGSVh9LWZpbGUtaW5wdXRfX2RyYWctdGV4dGA7XG5jb25zdCBEUkFHX0NMQVNTID0gYCR7UFJFRklYfS1maWxlLWlucHV0LS1kcmFnYDtcbmNvbnN0IExPQURJTkdfQ0xBU1MgPSBcImlzLWxvYWRpbmdcIjtcbmNvbnN0IElOVkFMSURfRklMRV9DTEFTUyA9IFwiaGFzLWludmFsaWQtZmlsZVwiO1xuY29uc3QgR0VORVJJQ19QUkVWSUVXX0NMQVNTX05BTUUgPSBgJHtQUkVGSVh9LWZpbGUtaW5wdXRfX3ByZXZpZXctaW1hZ2VgO1xuY29uc3QgR0VORVJJQ19QUkVWSUVXX0NMQVNTID0gYCR7R0VORVJJQ19QUkVWSUVXX0NMQVNTX05BTUV9LS1nZW5lcmljYDtcbmNvbnN0IFBERl9QUkVWSUVXX0NMQVNTID0gYCR7R0VORVJJQ19QUkVWSUVXX0NMQVNTX05BTUV9LS1wZGZgO1xuY29uc3QgV09SRF9QUkVWSUVXX0NMQVNTID0gYCR7R0VORVJJQ19QUkVWSUVXX0NMQVNTX05BTUV9LS13b3JkYDtcbmNvbnN0IFZJREVPX1BSRVZJRVdfQ0xBU1MgPSBgJHtHRU5FUklDX1BSRVZJRVdfQ0xBU1NfTkFNRX0tLXZpZGVvYDtcbmNvbnN0IEVYQ0VMX1BSRVZJRVdfQ0xBU1MgPSBgJHtHRU5FUklDX1BSRVZJRVdfQ0xBU1NfTkFNRX0tLWV4Y2VsYDtcbmNvbnN0IFNSX09OTFlfQ0xBU1MgPSBgJHtQUkVGSVh9LXNyLW9ubHlgO1xuY29uc3QgU1BBQ0VSX0dJRiA9XG4gIFwiZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3XCI7XG5jb25zdCBERUZBVUxUX0VSUk9SX0xBQkVMX1RFWFQgPSBcIkVycm9yOiBUaGlzIGlzIG5vdCBhIHZhbGlkIGZpbGUgdHlwZS5cIjtcblxubGV0IFRZUEVfSVNfVkFMSUQgPSBCb29sZWFuKHRydWUpOyAvLyBsb2dpYyBnYXRlIGZvciBjaGFuZ2UgbGlzdGVuZXJcbmxldCBERUZBVUxUX0FSSUFfTEFCRUxfVEVYVCA9IFwiXCI7XG5sZXQgREVGQVVMVF9GSUxFX1NUQVRVU19URVhUID0gXCJcIjtcblxuLyoqXG4gKiBUaGUgcHJvcGVydGllcyBhbmQgZWxlbWVudHMgd2l0aGluIHRoZSBmaWxlIGlucHV0LlxuICogQHR5cGVkZWYge09iamVjdH0gRmlsZUlucHV0Q29udGV4dFxuICogQHByb3BlcnR5IHtIVE1MRGl2RWxlbWVudH0gZHJvcFpvbmVFbFxuICogQHByb3BlcnR5IHtIVE1MSW5wdXRFbGVtZW50fSBpbnB1dEVsXG4gKi9cblxuLyoqXG4gKiBHZXQgYW4gb2JqZWN0IG9mIHRoZSBwcm9wZXJ0aWVzIGFuZCBlbGVtZW50cyBiZWxvbmdpbmcgZGlyZWN0bHkgdG8gdGhlIGdpdmVuXG4gKiBmaWxlIGlucHV0IGNvbXBvbmVudC5cbiAqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbCB0aGUgZWxlbWVudCB3aXRoaW4gdGhlIGZpbGUgaW5wdXRcbiAqIEByZXR1cm5zIHtGaWxlSW5wdXRDb250ZXh0fSBlbGVtZW50c1xuICovXG5jb25zdCBnZXRGaWxlSW5wdXRDb250ZXh0ID0gKGVsKSA9PiB7XG4gIGNvbnN0IGRyb3Bab25lRWwgPSBlbC5jbG9zZXN0KERST1BaT05FKTtcblxuICBpZiAoIWRyb3Bab25lRWwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEVsZW1lbnQgaXMgbWlzc2luZyBvdXRlciAke0RST1BaT05FfWApO1xuICB9XG5cbiAgY29uc3QgaW5wdXRFbCA9IGRyb3Bab25lRWwucXVlcnlTZWxlY3RvcihJTlBVVCk7XG5cbiAgcmV0dXJuIHtcbiAgICBkcm9wWm9uZUVsLFxuICAgIGlucHV0RWwsXG4gIH07XG59O1xuXG4vKipcbiAqIERpc2FibGUgdGhlIGZpbGUgaW5wdXQgY29tcG9uZW50XG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGZpbGUgaW5wdXQgY29tcG9uZW50XG4gKi9cbmNvbnN0IGRpc2FibGUgPSAoZWwpID0+IHtcbiAgY29uc3QgeyBkcm9wWm9uZUVsLCBpbnB1dEVsIH0gPSBnZXRGaWxlSW5wdXRDb250ZXh0KGVsKTtcblxuICBpbnB1dEVsLmRpc2FibGVkID0gdHJ1ZTtcbiAgZHJvcFpvbmVFbC5jbGFzc0xpc3QuYWRkKERJU0FCTEVEX0NMQVNTKTtcbn07XG5cbi8qKlxuICogU2V0IGFyaWEtZGlzYWJsZWQgYXR0cmlidXRlIHRvIGZpbGUgaW5wdXQgY29tcG9uZW50XG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGZpbGUgaW5wdXQgY29tcG9uZW50XG4gKi9cbmNvbnN0IGFyaWFEaXNhYmxlID0gKGVsKSA9PiB7XG4gIGNvbnN0IHsgZHJvcFpvbmVFbCB9ID0gZ2V0RmlsZUlucHV0Q29udGV4dChlbCk7XG5cbiAgZHJvcFpvbmVFbC5jbGFzc0xpc3QuYWRkKERJU0FCTEVEX0NMQVNTKTtcbn07XG5cbi8qKlxuICogRW5hYmxlIHRoZSBmaWxlIGlucHV0IGNvbXBvbmVudFxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBmaWxlIGlucHV0IGNvbXBvbmVudFxuICovXG5jb25zdCBlbmFibGUgPSAoZWwpID0+IHtcbiAgY29uc3QgeyBkcm9wWm9uZUVsLCBpbnB1dEVsIH0gPSBnZXRGaWxlSW5wdXRDb250ZXh0KGVsKTtcblxuICBpbnB1dEVsLmRpc2FibGVkID0gZmFsc2U7XG4gIGRyb3Bab25lRWwuY2xhc3NMaXN0LnJlbW92ZShESVNBQkxFRF9DTEFTUyk7XG4gIGRyb3Bab25lRWwucmVtb3ZlQXR0cmlidXRlKFwiYXJpYS1kaXNhYmxlZFwiKTtcbn07XG5cbi8qKlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBzIHNwZWNpYWwgY2hhcmFjdGVyc1xuICogQHJldHVybnMge1N0cmluZ30gcmVwbGFjZXMgc3BlY2lmaWVkIHZhbHVlc1xuICovXG5jb25zdCByZXBsYWNlTmFtZSA9IChzKSA9PiB7XG4gIGNvbnN0IGMgPSBzLmNoYXJDb2RlQXQoMCk7XG4gIGlmIChjID09PSAzMikgcmV0dXJuIFwiLVwiO1xuICBpZiAoYyA+PSA2NSAmJiBjIDw9IDkwKSByZXR1cm4gYGltZ18ke3MudG9Mb3dlckNhc2UoKX1gO1xuICByZXR1cm4gYF9fJHsoXCIwMDBcIiwgYy50b1N0cmluZygxNikpLnNsaWNlKC00KX1gO1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGFuIElEIG5hbWUgZm9yIGVhY2ggZmlsZSB0aGF0IHN0cmlwcyBhbGwgaW52YWxpZCBjaGFyYWN0ZXJzLlxuICogQHBhcmFtIHtTdHJpbmd9IG5hbWUgLSBuYW1lIG9mIHRoZSBmaWxlIGFkZGVkIHRvIGZpbGUgaW5wdXQgKHNlYXJjaHZhbHVlKVxuICogQHJldHVybnMge1N0cmluZ30gc2FtZSBjaGFyYWN0ZXJzIGFzIHRoZSBuYW1lIHdpdGggaW52YWxpZCBjaGFycyByZW1vdmVkIChuZXd2YWx1ZSlcbiAqL1xuY29uc3QgbWFrZVNhZmVGb3JJRCA9IChuYW1lKSA9PiBuYW1lLnJlcGxhY2UoL1teYS16MC05XS9nLCByZXBsYWNlTmFtZSk7XG5cbi8vIFRha2VzIGEgZ2VuZXJhdGVkIHNhZmUgSUQgYW5kIGNyZWF0ZXMgYSB1bmlxdWUgSUQuXG5jb25zdCBjcmVhdGVVbmlxdWVJRCA9IChuYW1lKSA9PlxuICBgJHtuYW1lfS0ke01hdGguZmxvb3IoRGF0ZS5ub3coKS50b1N0cmluZygpIC8gMTAwMCl9YDtcblxuLyoqXG4gKiBEZXRlcm1pbmVzIGlmIHRoZSBzaW5ndWxhciBvciBwbHVyYWwgaXRlbSBsYWJlbCBzaG91bGQgYmUgdXNlZFxuICogRGV0ZXJtaW5hdGlvbiBpcyBiYXNlZCBvbiB0aGUgcHJlc2VuY2Ugb2YgdGhlIGBtdWx0aXBsZWAgYXR0cmlidXRlXG4gKlxuICogQHBhcmFtIHtIVE1MSW5wdXRFbGVtZW50fSBmaWxlSW5wdXRFbCAtIFRoZSBpbnB1dCBlbGVtZW50LlxuICogQHJldHVybnMge0hUTUxEaXZFbGVtZW50fSBUaGUgc2luZ3VsYXIgb3IgcGx1cmFsIHZlcnNpb24gb2YgXCJpdGVtXCJcbiAqL1xuY29uc3QgZ2V0SXRlbXNMYWJlbCA9IChmaWxlSW5wdXRFbCkgPT4ge1xuICBjb25zdCBhY2NlcHRzTXVsdGlwbGUgPSBmaWxlSW5wdXRFbC5oYXNBdHRyaWJ1dGUoXCJtdWx0aXBsZVwiKTtcbiAgY29uc3QgaXRlbXNMYWJlbCA9IGFjY2VwdHNNdWx0aXBsZSA/IFwiZmlsZXNcIiA6IFwiZmlsZVwiO1xuXG4gIHJldHVybiBpdGVtc0xhYmVsO1xufTtcblxuLyoqXG4gKiBTY2FmZm9sZCB0aGUgZmlsZSBpbnB1dCBjb21wb25lbnQgd2l0aCBhIHBhcmVudCB3cmFwcGVyIGFuZFxuICogQ3JlYXRlIGEgdGFyZ2V0IGFyZWEgb3ZlcmxheSBmb3IgZHJhZyBhbmQgZHJvcCBmdW5jdGlvbmFsaXR5XG4gKlxuICogQHBhcmFtIHtIVE1MSW5wdXRFbGVtZW50fSBmaWxlSW5wdXRFbCAtIFRoZSBpbnB1dCBlbGVtZW50LlxuICogQHJldHVybnMge0hUTUxEaXZFbGVtZW50fSBUaGUgZHJhZyBhbmQgZHJvcCB0YXJnZXQgYXJlYS5cbiAqL1xuY29uc3QgY3JlYXRlVGFyZ2V0QXJlYSA9IChmaWxlSW5wdXRFbCkgPT4ge1xuICBjb25zdCBmaWxlSW5wdXRQYXJlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICBjb25zdCBkcm9wVGFyZ2V0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgY29uc3QgYm94ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcblxuICAvLyBBZGRzIGNsYXNzIG5hbWVzIGFuZCBvdGhlciBhdHRyaWJ1dGVzXG4gIGZpbGVJbnB1dEVsLmNsYXNzTGlzdC5yZW1vdmUoRFJPUFpPTkVfQ0xBU1MpO1xuICBmaWxlSW5wdXRFbC5jbGFzc0xpc3QuYWRkKElOUFVUX0NMQVNTKTtcbiAgZmlsZUlucHV0UGFyZW50LmNsYXNzTGlzdC5hZGQoRFJPUFpPTkVfQ0xBU1MpO1xuICBib3guY2xhc3NMaXN0LmFkZChCT1hfQ0xBU1MpO1xuICBkcm9wVGFyZ2V0LmNsYXNzTGlzdC5hZGQoVEFSR0VUX0NMQVNTKTtcblxuICAvLyBBZGRzIGNoaWxkIGVsZW1lbnRzIHRvIHRoZSBET01cbiAgZHJvcFRhcmdldC5wcmVwZW5kKGJveCk7XG4gIGZpbGVJbnB1dEVsLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGRyb3BUYXJnZXQsIGZpbGVJbnB1dEVsKTtcbiAgZmlsZUlucHV0RWwucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZmlsZUlucHV0UGFyZW50LCBkcm9wVGFyZ2V0KTtcbiAgZHJvcFRhcmdldC5hcHBlbmRDaGlsZChmaWxlSW5wdXRFbCk7XG4gIGZpbGVJbnB1dFBhcmVudC5hcHBlbmRDaGlsZChkcm9wVGFyZ2V0KTtcblxuICByZXR1cm4gZHJvcFRhcmdldDtcbn07XG5cbi8qKlxuICogQnVpbGQgdGhlIHZpc2libGUgZWxlbWVudCB3aXRoIGRlZmF1bHQgaW50ZXJhY3Rpb24gaW5zdHJ1Y3Rpb25zLlxuICpcbiAqIEBwYXJhbSB7SFRNTElucHV0RWxlbWVudH0gZmlsZUlucHV0RWwgLSBUaGUgaW5wdXQgZWxlbWVudC5cbiAqIEByZXR1cm5zIHtIVE1MRGl2RWxlbWVudH0gVGhlIGNvbnRhaW5lciBmb3IgdmlzaWJsZSBpbnRlcmFjdGlvbiBpbnN0cnVjdGlvbnMuXG4gKi9cbmNvbnN0IGNyZWF0ZVZpc2libGVJbnN0cnVjdGlvbnMgPSAoZmlsZUlucHV0RWwpID0+IHtcbiAgY29uc3QgZmlsZUlucHV0UGFyZW50ID0gZmlsZUlucHV0RWwuY2xvc2VzdChEUk9QWk9ORSk7XG4gIGNvbnN0IGl0ZW1zTGFiZWwgPSBnZXRJdGVtc0xhYmVsKGZpbGVJbnB1dEVsKTtcbiAgY29uc3QgaW5zdHJ1Y3Rpb25zID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgY29uc3QgZHJhZ1RleHQgPSBgRHJhZyAke2l0ZW1zTGFiZWx9IGhlcmUgb3JgO1xuICBjb25zdCBjaG9vc2VUZXh0ID0gXCJjaG9vc2UgZnJvbSBmb2xkZXJcIjtcblxuICAvLyBDcmVhdGUgaW5zdHJ1Y3Rpb25zIHRleHQgZm9yIGFyaWEtbGFiZWxcbiAgREVGQVVMVF9BUklBX0xBQkVMX1RFWFQgPSBgJHtkcmFnVGV4dH0gJHtjaG9vc2VUZXh0fWA7XG5cbiAgLy8gQWRkcyBjbGFzcyBuYW1lcyBhbmQgb3RoZXIgYXR0cmlidXRlc1xuICBpbnN0cnVjdGlvbnMuY2xhc3NMaXN0LmFkZChJTlNUUlVDVElPTlNfQ0xBU1MpO1xuICBpbnN0cnVjdGlvbnMuc2V0QXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIiwgXCJ0cnVlXCIpO1xuXG4gIC8vIEFkZCBpbml0aWFsIGluc3RydWN0aW9ucyBmb3IgaW5wdXQgdXNhZ2VcbiAgZmlsZUlucHV0RWwuc2V0QXR0cmlidXRlKFwiYXJpYS1sYWJlbFwiLCBERUZBVUxUX0FSSUFfTEFCRUxfVEVYVCk7XG4gIGluc3RydWN0aW9ucy5pbm5lckhUTUwgPSBTYW5pdGl6ZXIuZXNjYXBlSFRNTGA8c3BhbiBjbGFzcz1cIiR7RFJBR19URVhUX0NMQVNTfVwiPiR7ZHJhZ1RleHR9PC9zcGFuPiA8c3BhbiBjbGFzcz1cIiR7Q0hPT1NFX0NMQVNTfVwiPiR7Y2hvb3NlVGV4dH08L3NwYW4+YDtcblxuICAvLyBBZGQgdGhlIGluc3RydWN0aW9ucyBlbGVtZW50IHRvIHRoZSBET01cbiAgZmlsZUlucHV0RWwucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaW5zdHJ1Y3Rpb25zLCBmaWxlSW5wdXRFbCk7XG5cbiAgLy8gSUUxMSBhbmQgRWRnZSBkbyBub3Qgc3VwcG9ydCBkcm9wIGZpbGVzIG9uIGZpbGUgaW5wdXRzLCBzbyB3ZSd2ZSByZW1vdmVkIHRleHQgdGhhdCBpbmRpY2F0ZXMgdGhhdFxuICBpZiAoXG4gICAgL3J2OjExLjAvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpIHx8XG4gICAgL0VkZ2VcXC9cXGQuL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KVxuICApIHtcbiAgICBmaWxlSW5wdXRQYXJlbnQucXVlcnlTZWxlY3RvcihgLiR7RFJBR19URVhUX0NMQVNTfWApLm91dGVySFRNTCA9IFwiXCI7XG4gIH1cblxuICByZXR1cm4gaW5zdHJ1Y3Rpb25zO1xufTtcblxuLyoqXG4gKiBCdWlsZCBhIHNjcmVlbiByZWFkZXItb25seSBtZXNzYWdlIGVsZW1lbnQgdGhhdCBjb250YWlucyBmaWxlIHN0YXR1cyB1cGRhdGVzIGFuZFxuICogQ3JlYXRlIGFuZCBzZXQgdGhlIGRlZmF1bHQgZmlsZSBzdGF0dXMgbWVzc2FnZVxuICpcbiAqIEBwYXJhbSB7SFRNTElucHV0RWxlbWVudH0gZmlsZUlucHV0RWwgLSBUaGUgaW5wdXQgZWxlbWVudC5cbiAqL1xuY29uc3QgY3JlYXRlU1JPbmx5U3RhdHVzID0gKGZpbGVJbnB1dEVsKSA9PiB7XG4gIGNvbnN0IHN0YXR1c0VsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgY29uc3QgaXRlbXNMYWJlbCA9IGdldEl0ZW1zTGFiZWwoZmlsZUlucHV0RWwpO1xuICBjb25zdCBmaWxlSW5wdXRQYXJlbnQgPSBmaWxlSW5wdXRFbC5jbG9zZXN0KERST1BaT05FKTtcbiAgY29uc3QgZmlsZUlucHV0VGFyZ2V0ID0gZmlsZUlucHV0RWwuY2xvc2VzdChgLiR7VEFSR0VUX0NMQVNTfWApO1xuXG4gIERFRkFVTFRfRklMRV9TVEFUVVNfVEVYVCA9IGBObyAke2l0ZW1zTGFiZWx9IHNlbGVjdGVkLmA7XG5cbiAgLy8gQWRkcyBjbGFzcyBuYW1lcyBhbmQgb3RoZXIgYXR0cmlidXRlc1xuICBzdGF0dXNFbC5jbGFzc0xpc3QuYWRkKFNSX09OTFlfQ0xBU1MpO1xuICBzdGF0dXNFbC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWxpdmVcIiwgXCJwb2xpdGVcIik7XG5cbiAgLy8gQWRkIGluaXRpYWwgZmlsZSBzdGF0dXMgbWVzc2FnZVxuICBzdGF0dXNFbC50ZXh0Q29udGVudCA9IERFRkFVTFRfRklMRV9TVEFUVVNfVEVYVDtcblxuICAvLyBBZGQgdGhlIHN0YXR1cyBlbGVtZW50IHRvIHRoZSBET01cbiAgZmlsZUlucHV0UGFyZW50Lmluc2VydEJlZm9yZShzdGF0dXNFbCwgZmlsZUlucHV0VGFyZ2V0KTtcbn07XG5cbi8qKlxuICogU2NhZmZvbGQgdGhlIGNvbXBvbmVudCB3aXRoIGFsbCByZXF1aXJlZCBlbGVtZW50c1xuICpcbiAqIEBwYXJhbSB7SFRNTElucHV0RWxlbWVudH0gZmlsZUlucHV0RWwgLSBUaGUgb3JpZ2luYWwgaW5wdXQgZWxlbWVudC5cbiAqL1xuY29uc3QgZW5oYW5jZUZpbGVJbnB1dCA9IChmaWxlSW5wdXRFbCkgPT4ge1xuICBjb25zdCBpc0lucHV0RGlzYWJsZWQgPVxuICAgIGZpbGVJbnB1dEVsLmhhc0F0dHJpYnV0ZShcImFyaWEtZGlzYWJsZWRcIikgfHxcbiAgICBmaWxlSW5wdXRFbC5oYXNBdHRyaWJ1dGUoXCJkaXNhYmxlZFwiKTtcbiAgY29uc3QgZHJvcFRhcmdldCA9IGNyZWF0ZVRhcmdldEFyZWEoZmlsZUlucHV0RWwpO1xuICBjb25zdCBpbnN0cnVjdGlvbnMgPSBjcmVhdGVWaXNpYmxlSW5zdHJ1Y3Rpb25zKGZpbGVJbnB1dEVsKTtcbiAgY29uc3QgeyBkcm9wWm9uZUVsIH0gPSBnZXRGaWxlSW5wdXRDb250ZXh0KGZpbGVJbnB1dEVsKTtcblxuICBpZiAoaXNJbnB1dERpc2FibGVkKSB7XG4gICAgZHJvcFpvbmVFbC5jbGFzc0xpc3QuYWRkKERJU0FCTEVEX0NMQVNTKTtcbiAgfSBlbHNlIHtcbiAgICBjcmVhdGVTUk9ubHlTdGF0dXMoZmlsZUlucHV0RWwpO1xuICB9XG5cbiAgcmV0dXJuIHsgaW5zdHJ1Y3Rpb25zLCBkcm9wVGFyZ2V0IH07XG59O1xuXG4vKipcbiAqIFJlbW92ZXMgaW1hZ2UgcHJldmlld3NcbiAqIFdlIHdhbnQgdG8gc3RhcnQgd2l0aCBhIGNsZWFuIGxpc3QgZXZlcnkgdGltZSBmaWxlcyBhcmUgYWRkZWQgdG8gdGhlIGZpbGUgaW5wdXRcbiAqXG4gKiBAcGFyYW0ge0hUTUxEaXZFbGVtZW50fSBkcm9wVGFyZ2V0IC0gVGhlIGRyYWcgYW5kIGRyb3AgdGFyZ2V0IGFyZWEuXG4gKiBAcGFyYW0ge0hUTUxEaXZFbGVtZW50fSBpbnN0cnVjdGlvbnMgLSBUaGUgY29udGFpbmVyIGZvciB2aXNpYmxlIGludGVyYWN0aW9uIGluc3RydWN0aW9ucy5cbiAqL1xuY29uc3QgcmVtb3ZlT2xkUHJldmlld3MgPSAoZHJvcFRhcmdldCwgaW5zdHJ1Y3Rpb25zKSA9PiB7XG4gIGNvbnN0IGZpbGVQcmV2aWV3cyA9IGRyb3BUYXJnZXQucXVlcnlTZWxlY3RvckFsbChgLiR7UFJFVklFV19DTEFTU31gKTtcbiAgY29uc3QgY3VycmVudFByZXZpZXdIZWFkaW5nID0gZHJvcFRhcmdldC5xdWVyeVNlbGVjdG9yKFxuICAgIGAuJHtQUkVWSUVXX0hFQURJTkdfQ0xBU1N9YCxcbiAgKTtcbiAgY29uc3QgY3VycmVudEVycm9yTWVzc2FnZSA9IGRyb3BUYXJnZXQucXVlcnlTZWxlY3RvcihcbiAgICBgLiR7QUNDRVBURURfRklMRV9NRVNTQUdFX0NMQVNTfWAsXG4gICk7XG5cbiAgLyoqXG4gICAqIGZpbmRzIHRoZSBwYXJlbnQgb2YgdGhlIHBhc3NlZCBub2RlIGFuZCByZW1vdmVzIHRoZSBjaGlsZFxuICAgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBub2RlXG4gICAqL1xuICBjb25zdCByZW1vdmVJbWFnZXMgPSAobm9kZSkgPT4ge1xuICAgIG5vZGUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChub2RlKTtcbiAgfTtcblxuICAvLyBSZW1vdmUgdGhlIGhlYWRpbmcgYWJvdmUgdGhlIHByZXZpZXdzXG4gIGlmIChjdXJyZW50UHJldmlld0hlYWRpbmcpIHtcbiAgICBjdXJyZW50UHJldmlld0hlYWRpbmcub3V0ZXJIVE1MID0gXCJcIjtcbiAgfVxuXG4gIC8vIFJlbW92ZSBleGlzdGluZyBlcnJvciBtZXNzYWdlc1xuICBpZiAoY3VycmVudEVycm9yTWVzc2FnZSkge1xuICAgIGN1cnJlbnRFcnJvck1lc3NhZ2Uub3V0ZXJIVE1MID0gXCJcIjtcbiAgICBkcm9wVGFyZ2V0LmNsYXNzTGlzdC5yZW1vdmUoSU5WQUxJRF9GSUxFX0NMQVNTKTtcbiAgfVxuXG4gIC8vIEdldCByaWQgb2YgZXhpc3RpbmcgcHJldmlld3MgaWYgdGhleSBleGlzdCwgc2hvdyBpbnN0cnVjdGlvbnNcbiAgaWYgKGZpbGVQcmV2aWV3cyAhPT0gbnVsbCkge1xuICAgIGlmIChpbnN0cnVjdGlvbnMpIHtcbiAgICAgIGluc3RydWN0aW9ucy5yZW1vdmVBdHRyaWJ1dGUoXCJoaWRkZW5cIik7XG4gICAgfVxuICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoZmlsZVByZXZpZXdzLCByZW1vdmVJbWFnZXMpO1xuICB9XG59O1xuXG4vKipcbiAqIFVwZGF0ZSB0aGUgc2NyZWVuIHJlYWRlci1vbmx5IHN0YXR1cyBtZXNzYWdlIGFmdGVyIGludGVyYWN0aW9uXG4gKlxuICogQHBhcmFtIHtIVE1MRGl2RWxlbWVudH0gc3RhdHVzRWxlbWVudCAtIFRoZSBzY3JlZW4gcmVhZGVyLW9ubHkgY29udGFpbmVyIGZvciBmaWxlIHN0YXR1cyB1cGRhdGVzLlxuICogQHBhcmFtIHtPYmplY3R9IGZpbGVOYW1lcyAtIFRoZSBzZWxlY3RlZCBmaWxlcyBmb3VuZCBpbiB0aGUgZmlsZUxpc3Qgb2JqZWN0LlxuICogQHBhcmFtIHtBcnJheX0gZmlsZVN0b3JlIC0gVGhlIGFycmF5IG9mIHVwbG9hZGVkIGZpbGUgbmFtZXMgY3JlYXRlZCBmcm9tIHRoZSBmaWxlTmFtZXMgb2JqZWN0LlxuICovXG5jb25zdCB1cGRhdGVTdGF0dXNNZXNzYWdlID0gKHN0YXR1c0VsZW1lbnQsIGZpbGVOYW1lcywgZmlsZVN0b3JlKSA9PiB7XG4gIGNvbnN0IHN0YXR1c0VsID0gc3RhdHVzRWxlbWVudDtcbiAgbGV0IHN0YXR1c01lc3NhZ2UgPSBERUZBVUxUX0ZJTEVfU1RBVFVTX1RFWFQ7XG5cbiAgLy8gSWYgZmlsZXMgYWRkZWQsIHVwZGF0ZSB0aGUgc3RhdHVzIG1lc3NhZ2Ugd2l0aCBmaWxlIG5hbWUocylcbiAgaWYgKGZpbGVOYW1lcy5sZW5ndGggPT09IDEpIHtcbiAgICBzdGF0dXNNZXNzYWdlID0gYFlvdSBoYXZlIHNlbGVjdGVkIHRoZSBmaWxlOiAke2ZpbGVTdG9yZX1gO1xuICB9IGVsc2UgaWYgKGZpbGVOYW1lcy5sZW5ndGggPiAxKSB7XG4gICAgc3RhdHVzTWVzc2FnZSA9IGBZb3UgaGF2ZSBzZWxlY3RlZCAke1xuICAgICAgZmlsZU5hbWVzLmxlbmd0aFxuICAgIH0gZmlsZXM6ICR7ZmlsZVN0b3JlLmpvaW4oXCIsIFwiKX1gO1xuICB9XG5cbiAgLy8gQWRkIGRlbGF5IHRvIGVuY291cmFnZSBzY3JlZW4gcmVhZGVyIHJlYWRvdXRcbiAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgc3RhdHVzRWwudGV4dENvbnRlbnQgPSBzdGF0dXNNZXNzYWdlO1xuICB9LCAxMDAwKTtcbn07XG5cbi8qKlxuICogU2hvdyB0aGUgcHJldmlldyBoZWFkaW5nLCBoaWRlIHRoZSBpbml0aWFsIGluc3RydWN0aW9ucyBhbmRcbiAqIFVwZGF0ZSB0aGUgYXJpYS1sYWJlbCB3aXRoIG5ldyBpbnN0cnVjdGlvbnMgdGV4dFxuICpcbiAqIEBwYXJhbSB7SFRNTElucHV0RWxlbWVudH0gZmlsZUlucHV0RWwgLSBUaGUgaW5wdXQgZWxlbWVudC5cbiAqIEBwYXJhbSB7T2JqZWN0fSBmaWxlTmFtZXMgLSBUaGUgc2VsZWN0ZWQgZmlsZXMgZm91bmQgaW4gdGhlIGZpbGVMaXN0IG9iamVjdC5cbiAqL1xuY29uc3QgYWRkUHJldmlld0hlYWRpbmcgPSAoZmlsZUlucHV0RWwsIGZpbGVOYW1lcykgPT4ge1xuICBjb25zdCBmaWxlUHJldmlld3NIZWFkaW5nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgY29uc3QgZHJvcFRhcmdldCA9IGZpbGVJbnB1dEVsLmNsb3Nlc3QoYC4ke1RBUkdFVF9DTEFTU31gKTtcbiAgY29uc3QgaW5zdHJ1Y3Rpb25zID0gZHJvcFRhcmdldC5xdWVyeVNlbGVjdG9yKGAuJHtJTlNUUlVDVElPTlNfQ0xBU1N9YCk7XG4gIGxldCBjaGFuZ2VJdGVtVGV4dCA9IFwiQ2hhbmdlIGZpbGVcIjtcbiAgbGV0IHByZXZpZXdIZWFkaW5nVGV4dCA9IFwiXCI7XG5cbiAgaWYgKGZpbGVOYW1lcy5sZW5ndGggPT09IDEpIHtcbiAgICBwcmV2aWV3SGVhZGluZ1RleHQgPSBTYW5pdGl6ZXIuZXNjYXBlSFRNTGBTZWxlY3RlZCBmaWxlIDxzcGFuIGNsYXNzPVwidXNhLWZpbGUtaW5wdXRfX2Nob29zZVwiPiR7Y2hhbmdlSXRlbVRleHR9PC9zcGFuPmA7XG4gIH0gZWxzZSBpZiAoZmlsZU5hbWVzLmxlbmd0aCA+IDEpIHtcbiAgICBjaGFuZ2VJdGVtVGV4dCA9IFwiQ2hhbmdlIGZpbGVzXCI7XG4gICAgcHJldmlld0hlYWRpbmdUZXh0ID0gU2FuaXRpemVyLmVzY2FwZUhUTUxgJHtmaWxlTmFtZXMubGVuZ3RofSBmaWxlcyBzZWxlY3RlZCA8c3BhbiBjbGFzcz1cInVzYS1maWxlLWlucHV0X19jaG9vc2VcIj4ke2NoYW5nZUl0ZW1UZXh0fTwvc3Bhbj5gO1xuICB9XG5cbiAgLy8gSGlkZXMgbnVsbCBzdGF0ZSBjb250ZW50IGFuZCBzZXRzIHByZXZpZXcgaGVhZGluZ1xuICBpbnN0cnVjdGlvbnMuc2V0QXR0cmlidXRlKFwiaGlkZGVuXCIsIFwidHJ1ZVwiKTtcbiAgZmlsZVByZXZpZXdzSGVhZGluZy5jbGFzc0xpc3QuYWRkKFBSRVZJRVdfSEVBRElOR19DTEFTUyk7XG4gIGZpbGVQcmV2aWV3c0hlYWRpbmcuaW5uZXJIVE1MID0gcHJldmlld0hlYWRpbmdUZXh0O1xuICBkcm9wVGFyZ2V0Lmluc2VydEJlZm9yZShmaWxlUHJldmlld3NIZWFkaW5nLCBpbnN0cnVjdGlvbnMpO1xuXG4gIC8vIFVwZGF0ZSBhcmlhIGxhYmVsIHRvIG1hdGNoIHRoZSB2aXNpYmxlIGFjdGlvbiB0ZXh0XG4gIGZpbGVJbnB1dEVsLnNldEF0dHJpYnV0ZShcImFyaWEtbGFiZWxcIiwgY2hhbmdlSXRlbVRleHQpO1xufTtcblxuLyoqIEFkZCBhbiBlcnJvciBsaXN0ZW5lciB0byB0aGUgaW1hZ2UgcHJldmlldyB0byBzZXQgYSBmYWxsYmFjayBpbWFnZVxuICogQHBhcmFtIHtIVE1MSW1hZ2VFbGVtZW50fSBwcmV2aWV3SW1hZ2UgLSBUaGUgaW1hZ2UgZWxlbWVudFxuICogQHBhcmFtIHtTdHJpbmd9IGZhbGxiYWNrQ2xhc3MgLSBUaGUgQ1NTIGNsYXNzIG9mIHRoZSBmYWxsYmFjayBpbWFnZVxuICovXG5jb25zdCBzZXRQcmV2aWV3RmFsbGJhY2sgPSAocHJldmlld0ltYWdlLCBmYWxsYmFja0NsYXNzKSA9PiB7XG4gIHByZXZpZXdJbWFnZS5hZGRFdmVudExpc3RlbmVyKFxuICAgIFwiZXJyb3JcIixcbiAgICAoKSA9PiB7XG4gICAgICBjb25zdCBsb2NhbFByZXZpZXdJbWFnZSA9IHByZXZpZXdJbWFnZTsgLy8gdG8gYXZvaWQgbm8tcGFyYW0tcmVhc3NpZ24gZnJvbSBFU0xpbnRcbiAgICAgIGxvY2FsUHJldmlld0ltYWdlLnNyYyA9IFNQQUNFUl9HSUY7XG4gICAgICBsb2NhbFByZXZpZXdJbWFnZS5jbGFzc0xpc3QuYWRkKGZhbGxiYWNrQ2xhc3MpO1xuICAgIH0sXG4gICAgeyBvbmNlOiB0cnVlIH0sXG4gICk7XG59O1xuXG4vKipcbiAqIFdoZW4gbmV3IGZpbGVzIGFyZSBhcHBsaWVkIHRvIGZpbGUgaW5wdXQsIHRoaXMgZnVuY3Rpb24gZ2VuZXJhdGVzIHByZXZpZXdzXG4gKiBhbmQgcmVtb3ZlcyBvbGQgb25lcy5cbiAqXG4gKiBAcGFyYW0ge2V2ZW50fSBlXG4gKiBAcGFyYW0ge0hUTUxJbnB1dEVsZW1lbnR9IGZpbGVJbnB1dEVsIC0gVGhlIGlucHV0IGVsZW1lbnQuXG4gKiBAcGFyYW0ge0hUTUxEaXZFbGVtZW50fSBpbnN0cnVjdGlvbnMgLSBUaGUgY29udGFpbmVyIGZvciB2aXNpYmxlIGludGVyYWN0aW9uIGluc3RydWN0aW9ucy5cbiAqIEBwYXJhbSB7SFRNTERpdkVsZW1lbnR9IGRyb3BUYXJnZXQgLSBUaGUgZHJhZyBhbmQgZHJvcCB0YXJnZXQgYXJlYS5cbiAqL1xuXG5jb25zdCBoYW5kbGVDaGFuZ2UgPSAoZSwgZmlsZUlucHV0RWwsIGluc3RydWN0aW9ucywgZHJvcFRhcmdldCkgPT4ge1xuICBjb25zdCBmaWxlTmFtZXMgPSBlLnRhcmdldC5maWxlcztcbiAgY29uc3QgaW5wdXRQYXJlbnQgPSBkcm9wVGFyZ2V0LmNsb3Nlc3QoYC4ke0RST1BaT05FX0NMQVNTfWApO1xuICBjb25zdCBzdGF0dXNFbGVtZW50ID0gaW5wdXRQYXJlbnQucXVlcnlTZWxlY3RvcihgLiR7U1JfT05MWV9DTEFTU31gKTtcbiAgY29uc3QgZmlsZVN0b3JlID0gW107XG5cbiAgLy8gRmlyc3QsIGdldCByaWQgb2YgZXhpc3RpbmcgcHJldmlld3NcbiAgcmVtb3ZlT2xkUHJldmlld3MoZHJvcFRhcmdldCwgaW5zdHJ1Y3Rpb25zKTtcblxuICAvLyBUaGVuLCBpdGVyYXRlIHRocm91Z2ggZmlsZXMgbGlzdCBhbmQgY3JlYXRlIHByZXZpZXdzXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgZmlsZU5hbWVzLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICBjb25zdCBmaWxlTmFtZSA9IGZpbGVOYW1lc1tpXS5uYW1lO1xuICAgIGxldCBpbWFnZUlkO1xuXG4gICAgLy8gUHVzaCB1cGRhdGVkIGZpbGUgbmFtZXMgaW50byB0aGUgc3RvcmUgYXJyYXlcbiAgICBmaWxlU3RvcmUucHVzaChmaWxlTmFtZSk7XG5cbiAgICAvLyBTdGFydHMgd2l0aCBhIGxvYWRpbmcgaW1hZ2Ugd2hpbGUgcHJldmlldyBpcyBjcmVhdGVkXG4gICAgcmVhZGVyLm9ubG9hZHN0YXJ0ID0gZnVuY3Rpb24gY3JlYXRlTG9hZGluZ0ltYWdlKCkge1xuICAgICAgaW1hZ2VJZCA9IGNyZWF0ZVVuaXF1ZUlEKG1ha2VTYWZlRm9ySUQoZmlsZU5hbWUpKTtcblxuICAgICAgaW5zdHJ1Y3Rpb25zLmluc2VydEFkamFjZW50SFRNTChcbiAgICAgICAgXCJhZnRlcmVuZFwiLFxuICAgICAgICBTYW5pdGl6ZXIuZXNjYXBlSFRNTGA8ZGl2IGNsYXNzPVwiJHtQUkVWSUVXX0NMQVNTfVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgIDxpbWcgaWQ9XCIke2ltYWdlSWR9XCIgc3JjPVwiJHtTUEFDRVJfR0lGfVwiIGFsdD1cIlwiIGNsYXNzPVwiJHtHRU5FUklDX1BSRVZJRVdfQ0xBU1NfTkFNRX0gJHtMT0FESU5HX0NMQVNTfVwiLz4ke2ZpbGVOYW1lfVxuICAgICAgICA8ZGl2PmAsXG4gICAgICApO1xuICAgIH07XG5cbiAgICAvLyBOb3QgYWxsIGZpbGVzIHdpbGwgYmUgYWJsZSB0byBnZW5lcmF0ZSBwcmV2aWV3cy4gSW4gY2FzZSB0aGlzIGhhcHBlbnMsIHdlIHByb3ZpZGUgc2V2ZXJhbCB0eXBlcyBcImdlbmVyaWMgcHJldmlld3NcIiBiYXNlZCBvbiB0aGUgZmlsZSBleHRlbnNpb24uXG4gICAgcmVhZGVyLm9ubG9hZGVuZCA9IGZ1bmN0aW9uIGNyZWF0ZUZpbGVQcmV2aWV3KCkge1xuICAgICAgY29uc3QgcHJldmlld0ltYWdlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaW1hZ2VJZCk7XG4gICAgICBjb25zdCBmaWxlRXh0ZW5zaW9uID0gZmlsZU5hbWUuc3BsaXQoXCIuXCIpLnBvcCgpO1xuICAgICAgaWYgKGZpbGVFeHRlbnNpb24gPT09IFwicGRmXCIpIHtcbiAgICAgICAgc2V0UHJldmlld0ZhbGxiYWNrKHByZXZpZXdJbWFnZSwgUERGX1BSRVZJRVdfQ0xBU1MpO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgZmlsZUV4dGVuc2lvbiA9PT0gXCJkb2NcIiB8fFxuICAgICAgICBmaWxlRXh0ZW5zaW9uID09PSBcImRvY3hcIiB8fFxuICAgICAgICBmaWxlRXh0ZW5zaW9uID09PSBcInBhZ2VzXCJcbiAgICAgICkge1xuICAgICAgICBzZXRQcmV2aWV3RmFsbGJhY2socHJldmlld0ltYWdlLCBXT1JEX1BSRVZJRVdfQ0xBU1MpO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgZmlsZUV4dGVuc2lvbiA9PT0gXCJ4bHNcIiB8fFxuICAgICAgICBmaWxlRXh0ZW5zaW9uID09PSBcInhsc3hcIiB8fFxuICAgICAgICBmaWxlRXh0ZW5zaW9uID09PSBcIm51bWJlcnNcIlxuICAgICAgKSB7XG4gICAgICAgIHNldFByZXZpZXdGYWxsYmFjayhwcmV2aWV3SW1hZ2UsIEVYQ0VMX1BSRVZJRVdfQ0xBU1MpO1xuICAgICAgfSBlbHNlIGlmIChmaWxlRXh0ZW5zaW9uID09PSBcIm1vdlwiIHx8IGZpbGVFeHRlbnNpb24gPT09IFwibXA0XCIpIHtcbiAgICAgICAgc2V0UHJldmlld0ZhbGxiYWNrKHByZXZpZXdJbWFnZSwgVklERU9fUFJFVklFV19DTEFTUyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRQcmV2aWV3RmFsbGJhY2socHJldmlld0ltYWdlLCBHRU5FUklDX1BSRVZJRVdfQ0xBU1MpO1xuICAgICAgfVxuXG4gICAgICAvLyBSZW1vdmVzIGxvYWRlciBhbmQgZGlzcGxheXMgcHJldmlld1xuICAgICAgcHJldmlld0ltYWdlLmNsYXNzTGlzdC5yZW1vdmUoTE9BRElOR19DTEFTUyk7XG4gICAgICBwcmV2aWV3SW1hZ2Uuc3JjID0gcmVhZGVyLnJlc3VsdDtcbiAgICB9O1xuXG4gICAgaWYgKGZpbGVOYW1lc1tpXSkge1xuICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZU5hbWVzW2ldKTtcbiAgICB9XG4gIH1cblxuICBpZiAoZmlsZU5hbWVzLmxlbmd0aCA9PT0gMCkge1xuICAgIC8vIFJlc2V0IGlucHV0IGFyaWEtbGFiZWwgd2l0aCBkZWZhdWx0IG1lc3NhZ2VcbiAgICBmaWxlSW5wdXRFbC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWxhYmVsXCIsIERFRkFVTFRfQVJJQV9MQUJFTF9URVhUKTtcbiAgfSBlbHNlIHtcbiAgICBhZGRQcmV2aWV3SGVhZGluZyhmaWxlSW5wdXRFbCwgZmlsZU5hbWVzKTtcbiAgfVxuXG4gIHVwZGF0ZVN0YXR1c01lc3NhZ2Uoc3RhdHVzRWxlbWVudCwgZmlsZU5hbWVzLCBmaWxlU3RvcmUpO1xufTtcblxuLyoqXG4gKiBXaGVuIHVzaW5nIGFuIEFjY2VwdCBhdHRyaWJ1dGUsIGludmFsaWQgZmlsZXMgd2lsbCBiZSBoaWRkZW4gZnJvbVxuICogZmlsZSBicm93c2VyLCBidXQgdGhleSBjYW4gc3RpbGwgYmUgZHJhZ2dlZCB0byB0aGUgaW5wdXQuIFRoaXNcbiAqIGZ1bmN0aW9uIHByZXZlbnRzIHRoZW0gZnJvbSBiZWluZyBkcmFnZ2VkIGFuZCByZW1vdmVzIGVycm9yIHN0YXRlc1xuICogd2hlbiBjb3JyZWN0IGZpbGVzIGFyZSBhZGRlZC5cbiAqXG4gKiBAcGFyYW0ge2V2ZW50fSBlXG4gKiBAcGFyYW0ge0hUTUxJbnB1dEVsZW1lbnR9IGZpbGVJbnB1dEVsIC0gVGhlIGlucHV0IGVsZW1lbnQuXG4gKiBAcGFyYW0ge0hUTUxEaXZFbGVtZW50fSBpbnN0cnVjdGlvbnMgLSBUaGUgY29udGFpbmVyIGZvciB2aXNpYmxlIGludGVyYWN0aW9uIGluc3RydWN0aW9ucy5cbiAqIEBwYXJhbSB7SFRNTERpdkVsZW1lbnR9IGRyb3BUYXJnZXQgLSBUaGUgZHJhZyBhbmQgZHJvcCB0YXJnZXQgYXJlYS5cbiAqL1xuY29uc3QgcHJldmVudEludmFsaWRGaWxlcyA9IChlLCBmaWxlSW5wdXRFbCwgaW5zdHJ1Y3Rpb25zLCBkcm9wVGFyZ2V0KSA9PiB7XG4gIGNvbnN0IGFjY2VwdGVkRmlsZXNBdHRyID0gZmlsZUlucHV0RWwuZ2V0QXR0cmlidXRlKFwiYWNjZXB0XCIpO1xuICBkcm9wVGFyZ2V0LmNsYXNzTGlzdC5yZW1vdmUoSU5WQUxJRF9GSUxFX0NMQVNTKTtcblxuICAvKipcbiAgICogV2UgY2FuIHByb2JhYmx5IG1vdmUgYXdheSBmcm9tIHRoaXMgb25jZSBJRTExIHN1cHBvcnQgc3RvcHMsIGFuZCByZXBsYWNlXG4gICAqIHdpdGggYSBzaW1wbGUgZXMgYC5pbmNsdWRlc2BcbiAgICogY2hlY2sgaWYgZWxlbWVudCBpcyBpbiBhcnJheVxuICAgKiBjaGVjayBpZiAxIG9yIG1vcmUgYWxwaGFiZXRzIGFyZSBpbiBzdHJpbmdcbiAgICogaWYgZWxlbWVudCBpcyBwcmVzZW50IHJldHVybiB0aGUgcG9zaXRpb24gdmFsdWUgYW5kIC0xIG90aGVyd2lzZVxuICAgKiBAcGFyYW0ge09iamVjdH0gZmlsZVxuICAgKiBAcGFyYW0ge1N0cmluZ30gdmFsdWVcbiAgICogQHJldHVybnMge0Jvb2xlYW59XG4gICAqL1xuICBjb25zdCBpc0luY2x1ZGVkID0gKGZpbGUsIHZhbHVlKSA9PiB7XG4gICAgbGV0IHJldHVyblZhbHVlID0gZmFsc2U7XG4gICAgY29uc3QgcG9zID0gZmlsZS5pbmRleE9mKHZhbHVlKTtcbiAgICBpZiAocG9zID49IDApIHtcbiAgICAgIHJldHVyblZhbHVlID0gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHJldHVyblZhbHVlO1xuICB9O1xuXG4gIC8vIFJ1bnMgaWYgb25seSBzcGVjaWZpYyBmaWxlcyBhcmUgYWNjZXB0ZWRcbiAgaWYgKGFjY2VwdGVkRmlsZXNBdHRyKSB7XG4gICAgY29uc3QgYWNjZXB0ZWRGaWxlcyA9IGFjY2VwdGVkRmlsZXNBdHRyLnNwbGl0KFwiLFwiKTtcbiAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICAgIGNvbnN0IHVzZXJFcnJvclRleHQgPSBmaWxlSW5wdXRFbC5kYXRhc2V0LmVycm9ybWVzc2FnZTtcbiAgICBjb25zdCBlcnJvck1lc3NhZ2VUZXh0ID0gdXNlckVycm9yVGV4dCB8fCBERUZBVUxUX0VSUk9SX0xBQkVMX1RFWFQ7XG5cbiAgICBlcnJvck1lc3NhZ2Uuc2V0QXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIiwgdHJ1ZSk7XG5cbiAgICAvLyBJZiBtdWx0aXBsZSBmaWxlcyBhcmUgZHJhZ2dlZCwgdGhpcyBpdGVyYXRlcyB0aHJvdWdoIHRoZW0gYW5kIGxvb2sgZm9yIGFueSBmaWxlcyB0aGF0IGFyZSBub3QgYWNjZXB0ZWQuXG4gICAgbGV0IGFsbEZpbGVzQWxsb3dlZCA9IHRydWU7XG4gICAgY29uc3Qgc2Nhbm5lZEZpbGVzID0gZS50YXJnZXQuZmlsZXMgfHwgZS5kYXRhVHJhbnNmZXIuZmlsZXM7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzY2FubmVkRmlsZXMubGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgIGNvbnN0IGZpbGUgPSBzY2FubmVkRmlsZXNbaV07XG4gICAgICBpZiAoYWxsRmlsZXNBbGxvd2VkKSB7XG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgYWNjZXB0ZWRGaWxlcy5sZW5ndGg7IGogKz0gMSkge1xuICAgICAgICAgIGNvbnN0IGZpbGVUeXBlID0gYWNjZXB0ZWRGaWxlc1tqXTtcbiAgICAgICAgICBhbGxGaWxlc0FsbG93ZWQgPVxuICAgICAgICAgICAgZmlsZS5uYW1lLmluZGV4T2YoZmlsZVR5cGUpID4gMCB8fFxuICAgICAgICAgICAgaXNJbmNsdWRlZChmaWxlLnR5cGUsIGZpbGVUeXBlLnJlcGxhY2UoL1xcKi9nLCBcIlwiKSk7XG4gICAgICAgICAgaWYgKGFsbEZpbGVzQWxsb3dlZCkge1xuICAgICAgICAgICAgVFlQRV9JU19WQUxJRCA9IHRydWU7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBicmVhaztcbiAgICB9XG5cbiAgICAvLyBJZiBkcmFnZ2VkIGZpbGVzIGFyZSBub3QgYWNjZXB0ZWQsIHRoaXMgcmVtb3ZlcyB0aGVtIGZyb20gdGhlIHZhbHVlIG9mIHRoZSBpbnB1dCBhbmQgY3JlYXRlcyBhbmQgZXJyb3Igc3RhdGVcbiAgICBpZiAoIWFsbEZpbGVzQWxsb3dlZCkge1xuICAgICAgcmVtb3ZlT2xkUHJldmlld3MoZHJvcFRhcmdldCwgaW5zdHJ1Y3Rpb25zKTtcbiAgICAgIGZpbGVJbnB1dEVsLnZhbHVlID0gXCJcIjsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICAgICAgZXJyb3JNZXNzYWdlLnRleHRDb250ZW50ID0gZXJyb3JNZXNzYWdlVGV4dDtcbiAgICAgIGRyb3BUYXJnZXQuaW5zZXJ0QmVmb3JlKGVycm9yTWVzc2FnZSwgZmlsZUlucHV0RWwpO1xuXG4gICAgICBjb25zdCBhcmlhTGFiZWxUZXh0ID0gYCR7ZXJyb3JNZXNzYWdlVGV4dH0gJHtERUZBVUxUX0FSSUFfTEFCRUxfVEVYVH1gO1xuXG4gICAgICBmaWxlSW5wdXRFbC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWxhYmVsXCIsIGFyaWFMYWJlbFRleHQpO1xuICAgICAgZXJyb3JNZXNzYWdlLmNsYXNzTGlzdC5hZGQoQUNDRVBURURfRklMRV9NRVNTQUdFX0NMQVNTKTtcbiAgICAgIGRyb3BUYXJnZXQuY2xhc3NMaXN0LmFkZChJTlZBTElEX0ZJTEVfQ0xBU1MpO1xuICAgICAgVFlQRV9JU19WQUxJRCA9IGZhbHNlO1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gIH1cbn07XG5cbi8qKlxuICogMS4gcGFzc2VzIHRocm91Z2ggZ2F0ZSBmb3IgcHJldmVudGluZyBpbnZhbGlkIGZpbGVzXG4gKiAyLiBoYW5kbGVzIHVwZGF0ZXMgaWYgZmlsZSBpcyB2YWxpZFxuICpcbiAqIEBwYXJhbSB7ZXZlbnR9IGV2ZW50XG4gKiBAcGFyYW0ge0hUTUxJbnB1dEVsZW1lbnR9IGZpbGVJbnB1dEVsIC0gVGhlIGlucHV0IGVsZW1lbnQuXG4gKiBAcGFyYW0ge0hUTUxEaXZFbGVtZW50fSBpbnN0cnVjdGlvbnMgLSBUaGUgY29udGFpbmVyIGZvciB2aXNpYmxlIGludGVyYWN0aW9uIGluc3RydWN0aW9ucy5cbiAqIEBwYXJhbSB7SFRNTERpdkVsZW1lbnR9IGRyb3BUYXJnZXQgLSBUaGUgZHJhZyBhbmQgZHJvcCB0YXJnZXQgYXJlYS5cbiAqL1xuY29uc3QgaGFuZGxlVXBsb2FkID0gKGV2ZW50LCBmaWxlSW5wdXRFbCwgaW5zdHJ1Y3Rpb25zLCBkcm9wVGFyZ2V0KSA9PiB7XG4gIHByZXZlbnRJbnZhbGlkRmlsZXMoZXZlbnQsIGZpbGVJbnB1dEVsLCBpbnN0cnVjdGlvbnMsIGRyb3BUYXJnZXQpO1xuICBpZiAoVFlQRV9JU19WQUxJRCA9PT0gdHJ1ZSkge1xuICAgIGhhbmRsZUNoYW5nZShldmVudCwgZmlsZUlucHV0RWwsIGluc3RydWN0aW9ucywgZHJvcFRhcmdldCk7XG4gIH1cbn07XG5cbmNvbnN0IGZpbGVJbnB1dCA9IGJlaGF2aW9yKFxuICB7fSxcbiAge1xuICAgIGluaXQocm9vdCkge1xuICAgICAgc2VsZWN0T3JNYXRjaGVzKERST1BaT05FLCByb290KS5mb3JFYWNoKChmaWxlSW5wdXRFbCkgPT4ge1xuICAgICAgICBjb25zdCB7IGluc3RydWN0aW9ucywgZHJvcFRhcmdldCB9ID0gZW5oYW5jZUZpbGVJbnB1dChmaWxlSW5wdXRFbCk7XG5cbiAgICAgICAgZHJvcFRhcmdldC5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAgIFwiZHJhZ292ZXJcIixcbiAgICAgICAgICBmdW5jdGlvbiBoYW5kbGVEcmFnT3ZlcigpIHtcbiAgICAgICAgICAgIHRoaXMuY2xhc3NMaXN0LmFkZChEUkFHX0NMQVNTKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGZhbHNlLFxuICAgICAgICApO1xuXG4gICAgICAgIGRyb3BUYXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgICBcImRyYWdsZWF2ZVwiLFxuICAgICAgICAgIGZ1bmN0aW9uIGhhbmRsZURyYWdMZWF2ZSgpIHtcbiAgICAgICAgICAgIHRoaXMuY2xhc3NMaXN0LnJlbW92ZShEUkFHX0NMQVNTKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGZhbHNlLFxuICAgICAgICApO1xuXG4gICAgICAgIGRyb3BUYXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgICBcImRyb3BcIixcbiAgICAgICAgICBmdW5jdGlvbiBoYW5kbGVEcm9wKCkge1xuICAgICAgICAgICAgdGhpcy5jbGFzc0xpc3QucmVtb3ZlKERSQUdfQ0xBU1MpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZmFsc2UsXG4gICAgICAgICk7XG5cbiAgICAgICAgZmlsZUlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgICBcImNoYW5nZVwiLFxuICAgICAgICAgIChlKSA9PiBoYW5kbGVVcGxvYWQoZSwgZmlsZUlucHV0RWwsIGluc3RydWN0aW9ucywgZHJvcFRhcmdldCksXG4gICAgICAgICAgZmFsc2UsXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIHRlYXJkb3duKHJvb3QpIHtcbiAgICAgIHNlbGVjdE9yTWF0Y2hlcyhJTlBVVCwgcm9vdCkuZm9yRWFjaCgoZmlsZUlucHV0RWwpID0+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+IGFjY29yZGlvbi5oaWRlKGJ0bikpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0sXG4gICAga2V5ZG93bjoge1xuICAgICAgW0xBTkdVQUdFX1BSSU1BUlldOiBrZXltYXAoeyBFc2NhcGU6IGhhbmRsZUVzY2FwZSB9KSxcbiAgICB9LFxuICAgIGZvY3Vzb3V0OiB7XG4gICAgICBbTEFOR1VBR0VfUFJJTUFSWV0oZXZlbnQpIHtcbiAgICAgICAgY29uc3QgbGFuZ3VhZ2UgPSBldmVudC50YXJnZXQuY2xvc2VzdChMQU5HVUFHRV9QUklNQVJZKTtcblxuICAgICAgICBpZiAoIWxhbmd1YWdlLmNvbnRhaW5zKGV2ZW50LnJlbGF0ZWRUYXJnZXQpKSB7XG4gICAgICAgICAgaGlkZUFjdGl2ZUxhbmd1YWdlRHJvcGRvd24oKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9LFxuICB9LFxuICB7XG4gICAgaW5pdChyb290KSB7XG4gICAgICBjb25zdCB0cmFwQ29udGFpbmVyID0gcm9vdC5tYXRjaGVzKExBTkdVQUdFX1NVQilcbiAgICAgICAgPyByb290XG4gICAgICAgIDogcm9vdC5xdWVyeVNlbGVjdG9yKExBTkdVQUdFX1NVQik7XG5cbiAgICAgIGlmICh0cmFwQ29udGFpbmVyKSB7XG4gICAgICAgIGxhbmd1YWdlU2VsZWN0b3IuZm9jdXNUcmFwID0gRm9jdXNUcmFwKHRyYXBDb250YWluZXIsIHtcbiAgICAgICAgICBFc2NhcGU6IG9uTGFuZ3VhZ2VDbG9zZSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICB0ZWFyZG93bigpIHtcbiAgICAgIGxhbmd1YWdlQWN0aXZlID0gZmFsc2U7XG4gICAgfSxcbiAgICBmb2N1c1RyYXA6IG51bGwsXG4gIH0sXG4pO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGxhbmd1YWdlU2VsZWN0b3I7XG4iLCJjb25zdCBzZWxlY3RPck1hdGNoZXMgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvc2VsZWN0LW9yLW1hdGNoZXNcIik7XG5jb25zdCBGb2N1c1RyYXAgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvZm9jdXMtdHJhcFwiKTtcbmNvbnN0IFNjcm9sbEJhcldpZHRoID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3Njcm9sbGJhci13aWR0aFwiKTtcbmNvbnN0IGJlaGF2aW9yID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2JlaGF2aW9yXCIpO1xuXG5jb25zdCB7IHByZWZpeDogUFJFRklYIH0gPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvY29uZmlnXCIpO1xuXG5jb25zdCBNT0RBTF9DTEFTU05BTUUgPSBgJHtQUkVGSVh9LW1vZGFsYDtcbmNvbnN0IE9WRVJMQVlfQ0xBU1NOQU1FID0gYCR7TU9EQUxfQ0xBU1NOQU1FfS1vdmVybGF5YDtcbmNvbnN0IFdSQVBQRVJfQ0xBU1NOQU1FID0gYCR7TU9EQUxfQ0xBU1NOQU1FfS13cmFwcGVyYDtcbmNvbnN0IE9QRU5FUl9BVFRSSUJVVEUgPSBcImRhdGEtb3Blbi1tb2RhbFwiO1xuY29uc3QgQ0xPU0VSX0FUVFJJQlVURSA9IFwiZGF0YS1jbG9zZS1tb2RhbFwiO1xuY29uc3QgRk9SQ0VfQUNUSU9OX0FUVFJJQlVURSA9IFwiZGF0YS1mb3JjZS1hY3Rpb25cIjtcbmNvbnN0IE5PTl9NT0RBTF9ISURERU5fQVRUUklCVVRFID0gYGRhdGEtbW9kYWwtaGlkZGVuYDtcbmNvbnN0IE1PREFMID0gYC4ke01PREFMX0NMQVNTTkFNRX1gO1xuY29uc3QgSU5JVElBTF9GT0NVUyA9IGAuJHtXUkFQUEVSX0NMQVNTTkFNRX0gKltkYXRhLWZvY3VzXWA7XG5jb25zdCBDTE9TRV9CVVRUT04gPSBgJHtXUkFQUEVSX0NMQVNTTkFNRX0gKlske0NMT1NFUl9BVFRSSUJVVEV9XWA7XG5jb25zdCBPUEVORVJTID0gYCpbJHtPUEVORVJfQVRUUklCVVRFfV1bYXJpYS1jb250cm9sc11gO1xuY29uc3QgQ0xPU0VSUyA9IGAke0NMT1NFX0JVVFRPTn0sIC4ke09WRVJMQVlfQ0xBU1NOQU1FfTpub3QoWyR7Rk9SQ0VfQUNUSU9OX0FUVFJJQlVURX1dKWA7XG5jb25zdCBOT05fTU9EQUxTID0gYGJvZHkgPiAqOm5vdCguJHtXUkFQUEVSX0NMQVNTTkFNRX0pOm5vdChbYXJpYS1oaWRkZW5dKWA7XG5jb25zdCBOT05fTU9EQUxTX0hJRERFTiA9IGBbJHtOT05fTU9EQUxfSElEREVOX0FUVFJJQlVURX1dYDtcblxuY29uc3QgQUNUSVZFX0NMQVNTID0gXCJ1c2EtanMtbW9kYWwtLWFjdGl2ZVwiO1xuY29uc3QgUFJFVkVOVF9DTElDS19DTEFTUyA9IFwidXNhLWpzLW5vLWNsaWNrXCI7XG5jb25zdCBWSVNJQkxFX0NMQVNTID0gXCJpcy12aXNpYmxlXCI7XG5jb25zdCBISURERU5fQ0xBU1MgPSBcImlzLWhpZGRlblwiO1xuXG5sZXQgbW9kYWw7XG5sZXQgSU5JVElBTF9CT0RZX1BBRERJTkc7XG5sZXQgVEVNUE9SQVJZX0JPRFlfUEFERElORztcblxuY29uc3QgaXNBY3RpdmUgPSAoKSA9PiBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucyhBQ1RJVkVfQ0xBU1MpO1xuY29uc3QgU0NST0xMQkFSX1dJRFRIID0gU2Nyb2xsQmFyV2lkdGgoKTtcblxuLyoqXG4gKiAgQ2xvc2VzIG1vZGFsIHdoZW4gYm91bmQgdG8gYSBidXR0b24gYW5kIHByZXNzZWQuXG4gKi9cbmNvbnN0IG9uTWVudUNsb3NlID0gKCkgPT4ge1xuICBtb2RhbC50b2dnbGVNb2RhbC5jYWxsKG1vZGFsLCBmYWxzZSk7XG59O1xuXG4vKipcbiAqIFNldCB0aGUgdmFsdWUgZm9yIHRlbXBvcmFyeSBib2R5IHBhZGRpbmcgdGhhdCB3aWxsIGJlIGFwcGxpZWQgd2hlbiB0aGUgbW9kYWwgaXMgb3Blbi5cbiAqIFZhbHVlIGlzIGNyZWF0ZWQgYnkgY2hlY2tpbmcgZm9yIGluaXRpYWwgYm9keSBwYWRkaW5nIGFuZCBhZGRpbmcgdGhlIHdpZHRoIG9mIHRoZSBzY3JvbGxiYXIuXG4gKi9cbmNvbnN0IHNldFRlbXBvcmFyeUJvZHlQYWRkaW5nID0gKCkgPT4ge1xuICBJTklUSUFMX0JPRFlfUEFERElORyA9IHdpbmRvd1xuICAgIC5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpXG4gICAgLmdldFByb3BlcnR5VmFsdWUoXCJwYWRkaW5nLXJpZ2h0XCIpO1xuICBURU1QT1JBUllfQk9EWV9QQURESU5HID0gYCR7XG4gICAgcGFyc2VJbnQoSU5JVElBTF9CT0RZX1BBRERJTkcucmVwbGFjZSgvcHgvLCBcIlwiKSwgMTApICtcbiAgICBwYXJzZUludChTQ1JPTExCQVJfV0lEVEgucmVwbGFjZSgvcHgvLCBcIlwiKSwgMTApXG4gIH1weGA7XG59O1xuXG4vKipcbiAqICBUb2dnbGUgdGhlIHZpc2liaWxpdHkgb2YgYSBtb2RhbCB3aW5kb3dcbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50LlxuICogQHJldHVybnMge2Jvb2xlYW59IHNhZmVBY3RpdmUgaWYgbW9iaWxlIGlzIG9wZW4uXG4gKi9cbmZ1bmN0aW9uIHRvZ2dsZU1vZGFsKGV2ZW50KSB7XG4gIGxldCBvcmlnaW5hbE9wZW5lcjtcbiAgbGV0IGNsaWNrZWRFbGVtZW50ID0gZXZlbnQudGFyZ2V0O1xuICBjb25zdCB7IGJvZHkgfSA9IGRvY3VtZW50O1xuICBjb25zdCBzYWZlQWN0aXZlID0gIWlzQWN0aXZlKCk7XG4gIGNvbnN0IG1vZGFsSWQgPSBjbGlja2VkRWxlbWVudFxuICAgID8gY2xpY2tlZEVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiYXJpYS1jb250cm9sc1wiKVxuICAgIDogZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgLiR7V1JBUFBFUl9DTEFTU05BTUV9LiR7VklTSUJMRV9DTEFTU31gKTtcbiAgY29uc3QgdGFyZ2V0TW9kYWwgPSBzYWZlQWN0aXZlXG4gICAgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChtb2RhbElkKVxuICAgIDogZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgLiR7V1JBUFBFUl9DTEFTU05BTUV9LiR7VklTSUJMRV9DTEFTU31gKTtcblxuICAvLyBpZiB0aGVyZSBpcyBubyBtb2RhbCB3ZSByZXR1cm4gZWFybHlcbiAgaWYgKCF0YXJnZXRNb2RhbCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IG9wZW5Gb2N1c0VsID0gdGFyZ2V0TW9kYWwucXVlcnlTZWxlY3RvcihJTklUSUFMX0ZPQ1VTKVxuICAgID8gdGFyZ2V0TW9kYWwucXVlcnlTZWxlY3RvcihJTklUSUFMX0ZPQ1VTKVxuICAgIDogdGFyZ2V0TW9kYWwucXVlcnlTZWxlY3RvcihgLiR7TU9EQUxfQ0xBU1NOQU1FfWApO1xuICBjb25zdCByZXR1cm5Gb2N1cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFxuICAgIHRhcmdldE1vZGFsLmdldEF0dHJpYnV0ZShcImRhdGEtb3BlbmVyXCIpLFxuICApO1xuICBjb25zdCBtZW51QnV0dG9uID0gYm9keS5xdWVyeVNlbGVjdG9yKE9QRU5FUlMpO1xuICBjb25zdCBmb3JjZVVzZXJBY3Rpb24gPSB0YXJnZXRNb2RhbC5nZXRBdHRyaWJ1dGUoRk9SQ0VfQUNUSU9OX0FUVFJJQlVURSk7XG5cbiAgLy8gU2V0cyB0aGUgY2xpY2tlZCBlbGVtZW50IHRvIHRoZSBjbG9zZSBidXR0b25cbiAgLy8gc28gZXNjIGtleSBhbHdheXMgY2xvc2VzIG1vZGFsXG4gIGlmIChldmVudC50eXBlID09PSBcImtleWRvd25cIiAmJiB0YXJnZXRNb2RhbCAhPT0gbnVsbCkge1xuICAgIGNsaWNrZWRFbGVtZW50ID0gdGFyZ2V0TW9kYWwucXVlcnlTZWxlY3RvcihDTE9TRV9CVVRUT04pO1xuICB9XG5cbiAgLy8gV2hlbiB3ZSdyZSBub3QgaGl0dGluZyB0aGUgZXNjYXBlIGtleeKAplxuICBpZiAoY2xpY2tlZEVsZW1lbnQpIHtcbiAgICAvLyBNYWtlIHN1cmUgd2UgY2xpY2sgdGhlIG9wZW5lclxuICAgIC8vIElmIGl0IGRvZXNuJ3QgaGF2ZSBhbiBJRCwgbWFrZSBvbmVcbiAgICAvLyBTdG9yZSBpZCBhcyBkYXRhIGF0dHJpYnV0ZSBvbiBtb2RhbFxuICAgIGlmIChjbGlja2VkRWxlbWVudC5oYXNBdHRyaWJ1dGUoT1BFTkVSX0FUVFJJQlVURSkpIHtcbiAgICAgIGlmICh0aGlzLmdldEF0dHJpYnV0ZShcImlkXCIpID09PSBudWxsKSB7XG4gICAgICAgIG9yaWdpbmFsT3BlbmVyID0gYG1vZGFsLSR7TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogOTAwMDAwKSArIDEwMDAwMH1gO1xuICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZShcImlkXCIsIG9yaWdpbmFsT3BlbmVyKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9yaWdpbmFsT3BlbmVyID0gdGhpcy5nZXRBdHRyaWJ1dGUoXCJpZFwiKTtcbiAgICAgIH1cbiAgICAgIHRhcmdldE1vZGFsLnNldEF0dHJpYnV0ZShcImRhdGEtb3BlbmVyXCIsIG9yaWdpbmFsT3BlbmVyKTtcbiAgICB9XG5cbiAgICAvLyBUaGlzIGJhc2ljYWxseSBzdG9wcyB0aGUgcHJvcGFnYXRpb24gaWYgdGhlIGVsZW1lbnRcbiAgICAvLyBpcyBpbnNpZGUgdGhlIG1vZGFsIGFuZCBub3QgYSBjbG9zZSBidXR0b24gb3JcbiAgICAvLyBlbGVtZW50IGluc2lkZSBhIGNsb3NlIGJ1dHRvblxuICAgIGlmIChjbGlja2VkRWxlbWVudC5jbG9zZXN0KGAuJHtNT0RBTF9DTEFTU05BTUV9YCkpIHtcbiAgICAgIGlmIChcbiAgICAgICAgY2xpY2tlZEVsZW1lbnQuaGFzQXR0cmlidXRlKENMT1NFUl9BVFRSSUJVVEUpIHx8XG4gICAgICAgIGNsaWNrZWRFbGVtZW50LmNsb3Nlc3QoYFske0NMT1NFUl9BVFRSSUJVVEV9XWApXG4gICAgICApIHtcbiAgICAgICAgLy8gZG8gbm90aGluZy4gbW92ZSBvbi5cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBib2R5LmNsYXNzTGlzdC50b2dnbGUoQUNUSVZFX0NMQVNTLCBzYWZlQWN0aXZlKTtcbiAgdGFyZ2V0TW9kYWwuY2xhc3NMaXN0LnRvZ2dsZShWSVNJQkxFX0NMQVNTLCBzYWZlQWN0aXZlKTtcbiAgdGFyZ2V0TW9kYWwuY2xhc3NMaXN0LnRvZ2dsZShISURERU5fQ0xBU1MsICFzYWZlQWN0aXZlKTtcblxuICAvLyBJZiB1c2VyIGlzIGZvcmNlZCB0byB0YWtlIGFuIGFjdGlvbiwgYWRkaW5nXG4gIC8vIGEgY2xhc3MgdG8gdGhlIGJvZHkgdGhhdCBwcmV2ZW50cyBjbGlja2luZyB1bmRlcm5lYXRoXG4gIC8vIG92ZXJsYXlcbiAgaWYgKGZvcmNlVXNlckFjdGlvbikge1xuICAgIGJvZHkuY2xhc3NMaXN0LnRvZ2dsZShQUkVWRU5UX0NMSUNLX0NMQVNTLCBzYWZlQWN0aXZlKTtcbiAgfVxuXG4gIC8vIFRlbXBvcmFyaWx5IGluY3JlYXNlIGJvZHkgcGFkZGluZyB0byBpbmNsdWRlIHRoZSB3aWR0aCBvZiB0aGUgc2Nyb2xsYmFyLlxuICAvLyBUaGlzIGFjY291bnRzIGZvciB0aGUgY29udGVudCBzaGlmdCB3aGVuIHRoZSBzY3JvbGxiYXIgaXMgcmVtb3ZlZCBvbiBtb2RhbCBvcGVuLlxuICBpZiAoYm9keS5zdHlsZS5wYWRkaW5nUmlnaHQgPT09IFRFTVBPUkFSWV9CT0RZX1BBRERJTkcpIHtcbiAgICBib2R5LnN0eWxlLnJlbW92ZVByb3BlcnR5KFwicGFkZGluZy1yaWdodFwiKTtcbiAgfSBlbHNlIHtcbiAgICBib2R5LnN0eWxlLnBhZGRpbmdSaWdodCA9IFRFTVBPUkFSWV9CT0RZX1BBRERJTkc7XG4gIH1cblxuICAvLyBIYW5kbGUgdGhlIGZvY3VzIGFjdGlvbnNcbiAgaWYgKHNhZmVBY3RpdmUgJiYgb3BlbkZvY3VzRWwpIHtcbiAgICAvLyBUaGUgbW9kYWwgd2luZG93IGlzIG9wZW5lZC4gRm9jdXMgaXMgc2V0IHRvIGNsb3NlIGJ1dHRvbi5cblxuICAgIC8vIEJpbmRzIGVzY2FwZSBrZXkgaWYgd2UncmUgbm90IGZvcmNpbmdcbiAgICAvLyB0aGUgdXNlciB0byB0YWtlIGFuIGFjdGlvblxuICAgIGlmIChmb3JjZVVzZXJBY3Rpb24pIHtcbiAgICAgIG1vZGFsLmZvY3VzVHJhcCA9IEZvY3VzVHJhcCh0YXJnZXRNb2RhbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG1vZGFsLmZvY3VzVHJhcCA9IEZvY3VzVHJhcCh0YXJnZXRNb2RhbCwge1xuICAgICAgICBFc2NhcGU6IG9uTWVudUNsb3NlLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gSGFuZGxlcyBmb2N1cyBzZXR0aW5nIGFuZCBpbnRlcmFjdGlvbnNcbiAgICBtb2RhbC5mb2N1c1RyYXAudXBkYXRlKHNhZmVBY3RpdmUpO1xuICAgIG9wZW5Gb2N1c0VsLmZvY3VzKCk7XG5cbiAgICAvLyBIaWRlcyBldmVyeXRoaW5nIHRoYXQgaXMgbm90IHRoZSBtb2RhbCBmcm9tIHNjcmVlbiByZWFkZXJzXG4gICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChOT05fTU9EQUxTKS5mb3JFYWNoKChub25Nb2RhbCkgPT4ge1xuICAgICAgbm9uTW9kYWwuc2V0QXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIiwgXCJ0cnVlXCIpO1xuICAgICAgbm9uTW9kYWwuc2V0QXR0cmlidXRlKE5PTl9NT0RBTF9ISURERU5fQVRUUklCVVRFLCBcIlwiKTtcbiAgICB9KTtcbiAgfSBlbHNlIGlmICghc2FmZUFjdGl2ZSAmJiBtZW51QnV0dG9uICYmIHJldHVybkZvY3VzKSB7XG4gICAgLy8gVGhlIG1vZGFsIHdpbmRvdyBpcyBjbG9zZWQuXG4gICAgLy8gTm9uLW1vZGFscyBub3cgYWNjZXNpYmxlIHRvIHNjcmVlbiByZWFkZXJcbiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKE5PTl9NT0RBTFNfSElEREVOKS5mb3JFYWNoKChub25Nb2RhbCkgPT4ge1xuICAgICAgbm9uTW9kYWwucmVtb3ZlQXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIik7XG4gICAgICBub25Nb2RhbC5yZW1vdmVBdHRyaWJ1dGUoTk9OX01PREFMX0hJRERFTl9BVFRSSUJVVEUpO1xuICAgIH0pO1xuXG4gICAgLy8gRm9jdXMgaXMgcmV0dXJuZWQgdG8gdGhlIG9wZW5lclxuICAgIHJldHVybkZvY3VzLmZvY3VzKCk7XG4gICAgbW9kYWwuZm9jdXNUcmFwLnVwZGF0ZShzYWZlQWN0aXZlKTtcbiAgfVxuXG4gIHJldHVybiBzYWZlQWN0aXZlO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBwbGFjZWhvbGRlciB3aXRoIGRhdGEgYXR0cmlidXRlcyBmb3IgY2xlYW51cCBmdW5jdGlvbi5cbiAqIFRoZSBjbGVhbnVwIGZ1bmN0aW9uIHVzZXMgdGhpcyBwbGFjZWhvbGRlciB0byBlYXNpbHkgcmVzdG9yZSB0aGUgb3JpZ2luYWwgTW9kYWwgSFRNTCBvbiB0ZWFyZG93bi5cbiAqXG4gKiBAcGFyYW0ge0hUTUxEaXZFbGVtZW50fSBiYXNlQ29tcG9uZW50IC0gTW9kYWwgSFRNTCBmcm9tIHRoZSBET00uXG4gKiBAcmV0dXJucyB7SFRNTERpdkVsZW1lbnR9IFBsYWNlaG9sZGVyIHVzZWQgZm9yIGNsZWFudXAgZnVuY3Rpb24uXG4gKi9cbmNvbnN0IGNyZWF0ZVBsYWNlSG9sZGVyID0gKGJhc2VDb21wb25lbnQpID0+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+IHtcbiAgY29uc3QgdmFsaWRhdGlvbkNvbnRhaW5lciA9IGlucHV0LnBhcmVudE5vZGU7XG4gIGNvbnN0IGNoZWNrbGlzdEl0ZW1zID0gdmFsaWRhdGlvbkNvbnRhaW5lci5xdWVyeVNlbGVjdG9yQWxsKENIRUNLTElTVF9JVEVNKTtcbiAgY29uc3QgdmFsaWRhdGlvbkVsZW1lbnQgPSBpbnB1dC5nZXRBdHRyaWJ1dGUoXCJkYXRhLXZhbGlkYXRpb24tZWxlbWVudFwiKTtcblxuICBpbnB1dC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWNvbnRyb2xzXCIsIHZhbGlkYXRpb25FbGVtZW50KTtcblxuICBjaGVja2xpc3RJdGVtcy5mb3JFYWNoKChsaXN0SXRlbSkgPT4ge1xuICAgIGxldCBjdXJyZW50U3RhdHVzID0gXCJzdGF0dXMgaW5jb21wbGV0ZVwiO1xuICAgIGlmIChpbnB1dC5oYXNBdHRyaWJ1dGUoXCJkYXRhLXZhbGlkYXRpb24taW5jb21wbGV0ZVwiKSkge1xuICAgICAgY3VycmVudFN0YXR1cyA9IGlucHV0LmdldEF0dHJpYnV0ZShcImRhdGEtdmFsaWRhdGlvbi1pbmNvbXBsZXRlXCIpO1xuICAgIH1cbiAgICBjb25zdCBpdGVtU3RhdHVzID0gYCR7bGlzdEl0ZW0udGV4dENvbnRlbnR9ICR7Y3VycmVudFN0YXR1c30gYDtcbiAgICBsaXN0SXRlbS5zZXRBdHRyaWJ1dGUoXCJhcmlhLWxhYmVsXCIsIGl0ZW1TdGF0dXMpO1xuICB9KTtcbn07XG5cbmNvbnN0IGVuaGFuY2VWYWxpZGF0aW9uID0gKGlucHV0KSA9PiB7XG4gIGNyZWF0ZVN0YXR1c0VsZW1lbnQoaW5wdXQpO1xuICBjcmVhdGVJbml0aWFsU3RhdHVzKGlucHV0KTtcbn07XG5cbmNvbnN0IHZhbGlkYXRvciA9IGJlaGF2aW9yKFxuICB7XG4gICAgXCJpbnB1dCBjaGFuZ2VcIjoge1xuICAgICAgW1ZBTElEQVRFX0lOUFVUXShldmVudCkge1xuICAgICAgICBoYW5kbGVDaGFuZ2UoZXZlbnQudGFyZ2V0KTtcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbiAge1xuICAgIGluaXQocm9vdCkge1xuICAgICAgc2VsZWN0T3JNYXRjaGVzKFZBTElEQVRFX0lOUFVULCByb290KS5mb3JFYWNoKChpbnB1dCkgPT5cbiAgICAgICAgZW5oYW5jZVZhbGlkYXRpb24oaW5wdXQpLFxuICAgICAgKTtcbiAgICB9LFxuICB9LFxuKTtcblxubW9kdWxlLmV4cG9ydHMgPSB2YWxpZGF0b3I7XG4iLCJtb2R1bGUuZXhwb3J0cyA9IHtcbiAgcHJlZml4OiBcInVzYVwiLFxufTtcbiIsIm1vZHVsZS5leHBvcnRzID0ge1xuICAvLyBUaGlzIHVzZWQgdG8gYmUgY29uZGl0aW9uYWxseSBkZXBlbmRlbnQgb24gd2hldGhlciB0aGVcbiAgLy8gYnJvd3NlciBzdXBwb3J0ZWQgdG91Y2ggZXZlbnRzOyBpZiBpdCBkaWQsIGBDTElDS2Agd2FzIHNldCB0b1xuICAvLyBgdG91Y2hzdGFydGAuICBIb3dldmVyLCB0aGlzIGhhZCBkb3duc2lkZXM6XG4gIC8vXG4gIC8vICogSXQgcHJlLWVtcHRlZCBtb2JpbGUgYnJvd3NlcnMnIGRlZmF1bHQgYmVoYXZpb3Igb2YgZGV0ZWN0aW5nXG4gIC8vICAgd2hldGhlciBhIHRvdWNoIHR1cm5lZCBpbnRvIGEgc2Nyb2xsLCB0aGVyZWJ5IHByZXZlbnRpbmdcbiAgLy8gICB1c2VycyBmcm9tIHVzaW5nIHNvbWUgb2Ygb3VyIGNvbXBvbmVudHMgYXMgc2Nyb2xsIHN1cmZhY2VzLlxuICAvL1xuICAvLyAqIFNvbWUgZGV2aWNlcywgc3VjaCBhcyB0aGUgTWljcm9zb2Z0IFN1cmZhY2UgUHJvLCBzdXBwb3J0ICpib3RoKlxuICAvLyAgIHRvdWNoIGFuZCBjbGlja3MuIFRoaXMgbWVhbnQgdGhlIGNvbmRpdGlvbmFsIGVmZmVjdGl2ZWx5IGRyb3BwZWRcbiAgLy8gICBzdXBwb3J0IGZvciB0aGUgdXNlcidzIG1vdXNlLCBmcnVzdHJhdGluZyB1c2VycyB3aG8gcHJlZmVycmVkXG4gIC8vICAgaXQgb24gdGhvc2Ugc3lzdGVtcy5cbiAgQ0xJQ0s6IFwiY2xpY2tcIixcbn07XG4iLCJjb25zdCBhY2NvcmRpb24gPSByZXF1aXJlKFwiLi4vLi4vLi4vdXNhLWFjY29yZGlvbi9zcmMvaW5kZXhcIik7XG5jb25zdCBiYW5uZXIgPSByZXF1aXJlKFwiLi4vLi4vLi4vdXNhLWJhbm5lci9zcmMvaW5kZXhcIik7XG5jb25zdCBidXR0b24gPSByZXF1aXJlKFwiLi4vLi4vLi4vdXNhLWJ1dHRvbi9zcmMvaW5kZXhcIik7XG5jb25zdCBjaGFyYWN0ZXJDb3VudCA9IHJlcXVpcmUoXCIuLi8uLi8uLi91c2EtY2hhcmFjdGVyLWNvdW50L3NyYy9pbmRleFwiKTtcbmNvbnN0IGNvbWJvQm94ID0gcmVxdWlyZShcIi4uLy4uLy4uL3VzYS1jb21iby1ib3gvc3JjL2luZGV4XCIpO1xuY29uc3QgZGF0ZVBpY2tlciA9IHJlcXVpcmUoXCIuLi8uLi8uLi91c2EtZGF0ZS1waWNrZXIvc3JjL2luZGV4XCIpO1xuY29uc3QgZGF0ZVJhbmdlUGlja2VyID0gcmVxdWlyZShcIi4uLy4uLy4uL3VzYS1kYXRlLXJhbmdlLXBpY2tlci9zcmMvaW5kZXhcIik7XG5jb25zdCBmaWxlSW5wdXQgPSByZXF1aXJlKFwiLi4vLi4vLi4vdXNhLWZpbGUtaW5wdXQvc3JjL2luZGV4XCIpO1xuY29uc3QgZm9vdGVyID0gcmVxdWlyZShcIi4uLy4uLy4uL3VzYS1mb290ZXIvc3JjL2luZGV4XCIpO1xuY29uc3QgaW5QYWdlTmF2aWdhdGlvbiA9IHJlcXVpcmUoXCIuLi8uLi8uLi91c2EtaW4tcGFnZS1uYXZpZ2F0aW9uL3NyYy9pbmRleFwiKTtcbmNvbnN0IGlucHV0TWFzayA9IHJlcXVpcmUoXCIuLi8uLi8uLi91c2EtaW5wdXQtbWFzay9zcmMvaW5kZXhcIik7XG5jb25zdCBsYW5ndWFnZVNlbGVjdG9yID0gcmVxdWlyZShcIi4uLy4uLy4uL3VzYS1sYW5ndWFnZS1zZWxlY3Rvci9zcmMvaW5kZXhcIik7XG5jb25zdCBtb2RhbCA9IHJlcXVpcmUoXCIuLi8uLi8uLi91c2EtbW9kYWwvc3JjL2luZGV4XCIpO1xuY29uc3QgbmF2aWdhdGlvbiA9IHJlcXVpcmUoXCIuLi8uLi8uLi91c2EtaGVhZGVyL3NyYy9pbmRleFwiKTtcbmNvbnN0IHBhc3N3b3JkID0gcmVxdWlyZShcIi4uLy4uLy4uL191c2EtcGFzc3dvcmQvc3JjL2luZGV4XCIpO1xuY29uc3QgcmFuZ2UgPSByZXF1aXJlKFwiLi4vLi4vLi4vdXNhLXJhbmdlL3NyYy9pbmRleFwiKTtcbmNvbnN0IHNlYXJjaCA9IHJlcXVpcmUoXCIuLi8uLi8uLi91c2Etc2VhcmNoL3NyYy9pbmRleFwiKTtcbmNvbnN0IHNraXBuYXYgPSByZXF1aXJlKFwiLi4vLi4vLi4vdXNhLXNraXBuYXYvc3JjL2luZGV4XCIpO1xuY29uc3QgdGFibGUgPSByZXF1aXJlKFwiLi4vLi4vLi4vdXNhLXRhYmxlL3NyYy9pbmRleFwiKTtcbmNvbnN0IHRpbWVQaWNrZXIgPSByZXF1aXJlKFwiLi4vLi4vLi4vdXNhLXRpbWUtcGlja2VyL3NyYy9pbmRleFwiKTtcbmNvbnN0IHRvb2x0aXAgPSByZXF1aXJlKFwiLi4vLi4vLi4vdXNhLXRvb2x0aXAvc3JjL2luZGV4XCIpO1xuY29uc3QgdmFsaWRhdG9yID0gcmVxdWlyZShcIi4uLy4uLy4uL3VzYS12YWxpZGF0aW9uL3NyYy9pbmRleFwiKTtcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIGFjY29yZGlvbixcbiAgYmFubmVyLFxuICBidXR0b24sXG4gIGNoYXJhY3RlckNvdW50LFxuICBjb21ib0JveCxcbiAgZGF0ZVBpY2tlcixcbiAgZGF0ZVJhbmdlUGlja2VyLFxuICBmaWxlSW5wdXQsXG4gIGZvb3RlcixcbiAgaW5QYWdlTmF2aWdhdGlvbixcbiAgaW5wdXRNYXNrLFxuICBsYW5ndWFnZVNlbGVjdG9yLFxuICBtb2RhbCxcbiAgbmF2aWdhdGlvbixcbiAgcGFzc3dvcmQsXG4gIHJhbmdlLFxuICBzZWFyY2gsXG4gIHNraXBuYXYsXG4gIHRhYmxlLFxuICB0aW1lUGlja2VyLFxuICB0b29sdGlwLFxuICB2YWxpZGF0b3IsXG59O1xuIiwid2luZG93LnVzd2RzUHJlc2VudCA9IHRydWU7IC8vIEdMT0JBTCB2YXJpYWJsZSB0byBpbmRpY2F0ZSB0aGF0IHRoZSB1c3dkcy5qcyBoYXMgbG9hZGVkIGluIHRoZSBET00uXG5cbmNvbnN0IHVzd2RzID0gcmVxdWlyZShcIi4vY29uZmlnXCIpO1xuXG5jb25zdCBjb21wb25lbnRzID0gcmVxdWlyZShcIi4vaW5kZXhcIik7XG5cbnVzd2RzLmNvbXBvbmVudHMgPSBjb21wb25lbnRzO1xuXG5jb25zdCBpbml0Q29tcG9uZW50cyA9ICgpID0+IHtcbiAgY29uc3QgdGFyZ2V0ID0gZG9jdW1lbnQuYm9keTtcbiAgT2JqZWN0LmtleXMoY29tcG9uZW50cykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgY29uc3QgYmVoYXZpb3IgPSBjb21wb25lbnRzW2tleV07XG4gICAgYmVoYXZpb3Iub24odGFyZ2V0KTtcbiAgfSk7XG59O1xuXG5pZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gXCJsb2FkaW5nXCIpIHtcbiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcIkRPTUNvbnRlbnRMb2FkZWRcIiwgaW5pdENvbXBvbmVudHMsIHsgb25jZTogdHJ1ZSB9KTtcbn0gZWxzZSB7XG4gIGluaXRDb21wb25lbnRzKCk7XG59XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHVzd2RzO1xuZXhwb3J0cy5pbml0Q29tcG9uZW50cyA9IGluaXRDb21wb25lbnRzO1xuIiwibW9kdWxlLmV4cG9ydHMgPSAoaHRtbERvY3VtZW50ID0gZG9jdW1lbnQpID0+IGh0bWxEb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuIiwiY29uc3QgQmVoYXZpb3IgPSByZXF1aXJlKFwicmVjZXB0b3IvYmVoYXZpb3JcIik7XG5cbi8qKlxuICogQG5hbWUgc2VxdWVuY2VcbiAqIEBwYXJhbSB7Li4uRnVuY3Rpb259IHNlcSBhbiBhcnJheSBvZiBmdW5jdGlvbnNcbiAqIEByZXR1cm4geyBjbG9zdXJlIH0gY2FsbEhvb2tzXG4gKi9cbi8vIFdlIHVzZSBhIG5hbWVkIGZ1bmN0aW9uIGhlcmUgYmVjYXVzZSB3ZSB3YW50IGl0IHRvIGluaGVyaXQgaXRzIGxleGljYWwgc2NvcGVcbi8vIGZyb20gdGhlIGJlaGF2aW9yIHByb3BzIG9iamVjdCwgbm90IGZyb20gdGhlIG1vZHVsZVxuY29uc3Qgc2VxdWVuY2UgPSAoLi4uc2VxKSA9PlxuICBmdW5jdGlvbiBjYWxsSG9va3ModGFyZ2V0ID0gZG9jdW1lbnQuYm9keSkge1xuICAgIHNlcS5mb3JFYWNoKChtZXRob2QpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgdGhpc1ttZXRob2RdID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgdGhpc1ttZXRob2RdLmNhbGwodGhpcywgdGFyZ2V0KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuLyoqXG4gKiBAbmFtZSBiZWhhdmlvclxuICogQHBhcmFtIHtvYmplY3R9IGV2ZW50c1xuICogQHBhcmFtIHtvYmplY3Q/fSBwcm9wc1xuICogQHJldHVybiB7cmVjZXB0b3IuYmVoYXZpb3J9XG4gKi9cbm1vZHVsZS5leHBvcnRzID0gKGV2ZW50cywgcHJvcHMpID0+XG4gIEJlaGF2aW9yKGV2ZW50cywge1xuICAgIG9uOiBzZXF1ZW5jZShcImluaXRcIiwgXCJhZGRcIiksXG4gICAgb2ZmOiBzZXF1ZW5jZShcInRlYXJkb3duXCIsIFwicmVtb3ZlXCIpLFxuICAgIC4uLnByb3BzLFxuICB9KTtcbiIsIi8qKlxuICogQ2FsbCBhIGZ1bmN0aW9uIGV2ZXJ5IFggYW1vdW50IG9mIG1pbGxpc2Vjb25kcy5cbiAqXG4gKiBAcGFyYW0gIHtGdW5jdGlvbn0gY2FsbGJhY2sgLSBBIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGJlIGRlYm91bmNlZFxuICogQHBhcmFtICB7bnVtYmVyfSBkZWxheSAtIE1pbGxpc2Vjb25kcyB0byB3YWl0IGJlZm9yZSBjYWxsaW5nIGZ1bmN0aW9uXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IEEgZGVib3VuY2VkIGZ1bmN0aW9uXG4gKiBAZXhhbXBsZSBjb25zdCB1cGRhdGVTdGF0dXMgPSBkZWJvdW5jZSgoc3RyaW5nKSA9PiBjb25zb2xlLmxvZyhzdHJpbmcpLCAyMDAwKVxuICovXG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gZGVib3VuY2UoY2FsbGJhY2ssIGRlbGF5ID0gNTAwKSB7XG4gIGxldCB0aW1lciA9IG51bGw7XG4gIHJldHVybiAoLi4uYXJncykgPT4ge1xuICAgIHdpbmRvdy5jbGVhclRpbWVvdXQodGltZXIpO1xuICAgIHRpbWVyID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY2FsbGJhY2suYXBwbHkodGhpcywgYXJncyk7XG4gICAgfSwgZGVsYXkpO1xuICB9O1xufTtcbiIsImNvbnN0IHsga2V5bWFwIH0gPSByZXF1aXJlKFwicmVjZXB0b3JcIik7XG5jb25zdCBiZWhhdmlvciA9IHJlcXVpcmUoXCIuL2JlaGF2aW9yXCIpO1xuY29uc3Qgc2VsZWN0ID0gcmVxdWlyZShcIi4vc2VsZWN0XCIpO1xuY29uc3QgYWN0aXZlRWxlbWVudCA9IHJlcXVpcmUoXCIuL2FjdGl2ZS1lbGVtZW50XCIpO1xuXG5jb25zdCBGT0NVU0FCTEUgPVxuICAnYVtocmVmXSwgYXJlYVtocmVmXSwgaW5wdXQ6bm90KFtkaXNhYmxlZF0pLCBzZWxlY3Q6bm90KFtkaXNhYmxlZF0pLCB0ZXh0YXJlYTpub3QoW2Rpc2FibGVkXSksIGJ1dHRvbjpub3QoW2Rpc2FibGVkXSksIGlmcmFtZSwgb2JqZWN0LCBlbWJlZCwgW3RhYmluZGV4PVwiMFwiXSwgW2NvbnRlbnRlZGl0YWJsZV0nO1xuXG5jb25zdCB0YWJIYW5kbGVyID0gKGNvbnRleHQpID0+IHtcbiAgY29uc3QgZm9jdXNhYmxlRWxlbWVudHMgPSBzZWxlY3QoRk9DVVNBQkxFLCBjb250ZXh0KTtcbiAgY29uc3QgZmlyc3RUYWJTdG9wID0gZm9jdXNhYmxlRWxlbWVudHNbMF07XG4gIGNvbnN0IGxhc3RUYWJTdG9wID0gZm9jdXNhYmxlRWxlbWVudHNbZm9jdXNhYmxlRWxlbWVudHMubGVuZ3RoIC0gMV07XG5cbiAgLy8gU3BlY2lhbCBydWxlcyBmb3Igd2hlbiB0aGUgdXNlciBpcyB0YWJiaW5nIGZvcndhcmQgZnJvbSB0aGUgbGFzdCBmb2N1c2FibGUgZWxlbWVudCxcbiAgLy8gb3Igd2hlbiB0YWJiaW5nIGJhY2t3YXJkcyBmcm9tIHRoZSBmaXJzdCBmb2N1c2FibGUgZWxlbWVudFxuICBmdW5jdGlvbiB0YWJBaGVhZChldmVudCkge1xuICAgIGlmIChhY3RpdmVFbGVtZW50KCkgPT09IGxhc3RUYWJTdG9wKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZmlyc3RUYWJTdG9wLmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gdGFiQmFjayhldmVudCkge1xuICAgIGlmIChhY3RpdmVFbGVtZW50KCkgPT09IGZpcnN0VGFiU3RvcCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGxhc3RUYWJTdG9wLmZvY3VzKCk7XG4gICAgfVxuICAgIC8vIFRoaXMgY2hlY2tzIGlmIHlvdSB3YW50IHRvIHNldCB0aGUgaW5pdGlhbCBmb2N1cyB0byBhIGNvbnRhaW5lclxuICAgIC8vIGluc3RlYWQgb2YgYW4gZWxlbWVudCB3aXRoaW4sIGFuZCB0aGUgdXNlciB0YWJzIGJhY2suXG4gICAgLy8gVGhlbiB3ZSBzZXQgdGhlIGZvY3VzIHRvIHRoZSBmaXJzdFxuICAgIGVsc2UgaWYgKCFmb2N1c2FibGVFbGVtZW50cy5pbmNsdWRlcyhhY3RpdmVFbGVtZW50KCkpKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZmlyc3RUYWJTdG9wLmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBmaXJzdFRhYlN0b3AsXG4gICAgbGFzdFRhYlN0b3AsXG4gICAgdGFiQWhlYWQsXG4gICAgdGFiQmFjayxcbiAgfTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gKGNvbnRleHQsIGFkZGl0aW9uYWxLZXlCaW5kaW5ncyA9IHt9KSA9PiB7XG4gIGNvbnN0IHRhYkV2ZW50SGFuZGxlciA9IHRhYkhhbmRsZXIoY29udGV4dCk7XG4gIGNvbnN0IGJpbmRpbmdzID0gYWRkaXRpb25hbEtleUJpbmRpbmdzO1xuICBjb25zdCB7IEVzYywgRXNjYXBlIH0gPSBiaW5kaW5ncztcblxuICBpZiAoRXNjYXBlICYmICFFc2MpIGJpbmRpbmdzLkVzYyA9IEVzY2FwZTtcblxuICAvLyAgVE9ETzogSW4gdGhlIGZ1dHVyZSwgbG9vcCBvdmVyIGFkZGl0aW9uYWwga2V5YmluZGluZ3MgYW5kIHBhc3MgYW4gYXJyYXlcbiAgLy8gb2YgZnVuY3Rpb25zLCBpZiBuZWNlc3NhcnksIHRvIHRoZSBtYXAga2V5cy4gVGhlbiBwZW9wbGUgaW1wbGVtZW50aW5nXG4gIC8vIHRoZSBmb2N1cyB0cmFwIGNvdWxkIHBhc3MgY2FsbGJhY2tzIHRvIGZpcmUgd2hlbiB0YWJiaW5nXG4gIGNvbnN0IGtleU1hcHBpbmdzID0ga2V5bWFwKHtcbiAgICBUYWI6IHRhYkV2ZW50SGFuZGxlci50YWJBaGVhZCxcbiAgICBcIlNoaWZ0K1RhYlwiOiB0YWJFdmVudEhhbmRsZXIudGFiQmFjayxcbiAgICAuLi5hZGRpdGlvbmFsS2V5QmluZGluZ3MsXG4gIH0pO1xuXG4gIGNvbnN0IGZvY3VzVHJhcCA9IGJlaGF2aW9yKFxuICAgIHtcbiAgICAgIGtleWRvd246IGtleU1hcHBpbmdzLFxuICAgIH0sXG4gICAge1xuICAgICAgaW5pdCgpIHtcbiAgICAgICAgLy8gVE9ETzogaXMgdGhpcyBkZXNpcmVhYmxlIGJlaGF2aW9yPyBTaG91bGQgdGhlIHRyYXAgYWx3YXlzIGRvIHRoaXMgYnkgZGVmYXVsdCBvciBzaG91bGRcbiAgICAgICAgLy8gdGhlIGNvbXBvbmVudCBnZXR0aW5nIGRlY29yYXRlZCBoYW5kbGUgdGhpcz9cbiAgICAgICAgaWYgKHRhYkV2ZW50SGFuZGxlci5maXJzdFRhYlN0b3ApIHtcbiAgICAgICAgICB0YWJFdmVudEhhbmRsZXIuZmlyc3RUYWJTdG9wLmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB1cGRhdGUoaXNBY3RpdmUpIHtcbiAgICAgICAgaWYgKGlzQWN0aXZlKSB7XG4gICAgICAgICAgdGhpcy5vbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMub2ZmKCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSxcbiAgKTtcblxuICByZXR1cm4gZm9jdXNUcmFwO1xufTtcbiIsIi8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS83NTU3NDMzXG5mdW5jdGlvbiBpc0VsZW1lbnRJblZpZXdwb3J0KFxuICBlbCxcbiAgd2luID0gd2luZG93LFxuICBkb2NFbCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxcbikge1xuICBjb25zdCByZWN0ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgcmV0dXJuIChcbiAgICByZWN0LnRvcCA+PSAwICYmXG4gICAgcmVjdC5sZWZ0ID49IDAgJiZcbiAgICByZWN0LmJvdHRvbSA8PSAod2luLmlubmVySGVpZ2h0IHx8IGRvY0VsLmNsaWVudEhlaWdodCkgJiZcbiAgICByZWN0LnJpZ2h0IDw9ICh3aW4uaW5uZXJXaWR0aCB8fCBkb2NFbC5jbGllbnRXaWR0aClcbiAgKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpc0VsZW1lbnRJblZpZXdwb3J0O1xuIiwiLy8gaU9TIGRldGVjdGlvbiBmcm9tOiBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS85MDM5ODg1LzE3NzcxMFxuZnVuY3Rpb24gaXNJb3NEZXZpY2UoKSB7XG4gIHJldHVybiAoXG4gICAgdHlwZW9mIG5hdmlnYXRvciAhPT0gXCJ1bmRlZmluZWRcIiAmJlxuICAgIChuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC8oaVBvZHxpUGhvbmV8aVBhZCkvZykgfHxcbiAgICAgIChuYXZpZ2F0b3IucGxhdGZvcm0gPT09IFwiTWFjSW50ZWxcIiAmJiBuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMgPiAxKSkgJiZcbiAgICAhd2luZG93Lk1TU3RyZWFtXG4gICk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNJb3NEZXZpY2U7XG4iLCIvKiBlc2xpbnQtZGlzYWJsZSAqL1xuLyogZ2xvYmFscyBkZWZpbmUsIG1vZHVsZSAqL1xuXG4vKipcbiAqIEEgc2ltcGxlIGxpYnJhcnkgdG8gaGVscCB5b3UgZXNjYXBlIEhUTUwgdXNpbmcgdGVtcGxhdGUgc3RyaW5ncy5cbiAqXG4gKiBJdCdzIHRoZSBjb3VudGVycGFydCB0byBvdXIgZXNsaW50IFwibm8tdW5zYWZlLWlubmVyaHRtbFwiIHBsdWdpbiB0aGF0IGhlbHBzIHVzXG4gKiBhdm9pZCB1bnNhZmUgY29kaW5nIHByYWN0aWNlcy5cbiAqIEEgZnVsbCB3cml0ZS11cCBvZiB0aGUgSG93cyBhbmQgV2h5cyBhcmUgZG9jdW1lbnRlZFxuICogZm9yIGRldmVsb3BlcnMgYXRcbiAqICBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9GaXJlZm94X09TL1NlY3VyaXR5L1NlY3VyaXR5X0F1dG9tYXRpb25cbiAqIHdpdGggYWRkaXRpb25hbCBiYWNrZ3JvdW5kIGluZm9ybWF0aW9uIGFuZCBkZXNpZ24gZG9jcyBhdFxuICogIGh0dHBzOi8vd2lraS5tb3ppbGxhLm9yZy9Vc2VyOkZicmF1bi9HYWlhL1NhZmVpbm5lckhUTUxSb2FkbWFwXG4gKlxuICovXG5cbiEoZnVuY3Rpb24gKGZhY3RvcnkpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCk7XG59KShmdW5jdGlvbiAoKSB7XG4gIFwidXNlIHN0cmljdFwiO1xuXG4gIHZhciBTYW5pdGl6ZXIgPSB7XG4gICAgX2VudGl0eTogL1smPD5cIicvXS9nLFxuXG4gICAgX2VudGl0aWVzOiB7XG4gICAgICBcIiZcIjogXCImYW1wO1wiLFxuICAgICAgXCI8XCI6IFwiJmx0O1wiLFxuICAgICAgXCI+XCI6IFwiJmd0O1wiLFxuICAgICAgJ1wiJzogXCImcXVvdDtcIixcbiAgICAgIFwiJ1wiOiBcIiZhcG9zO1wiLFxuICAgICAgXCIvXCI6IFwiJiN4MkY7XCIsXG4gICAgfSxcblxuICAgIGdldEVudGl0eTogZnVuY3Rpb24gKHMpIHtcbiAgICAgIHJldHVybiBTYW5pdGl6ZXIuX2VudGl0aWVzW3NdO1xuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBFc2NhcGVzIEhUTUwgZm9yIGFsbCB2YWx1ZXMgaW4gYSB0YWdnZWQgdGVtcGxhdGUgc3RyaW5nLlxuICAgICAqL1xuICAgIGVzY2FwZUhUTUw6IGZ1bmN0aW9uIChzdHJpbmdzKSB7XG4gICAgICB2YXIgcmVzdWx0ID0gXCJcIjtcblxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHJpbmdzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHJlc3VsdCArPSBzdHJpbmdzW2ldO1xuICAgICAgICBpZiAoaSArIDEgPCBhcmd1bWVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgdmFyIHZhbHVlID0gYXJndW1lbnRzW2kgKyAxXSB8fCBcIlwiO1xuICAgICAgICAgIHJlc3VsdCArPSBTdHJpbmcodmFsdWUpLnJlcGxhY2UoXG4gICAgICAgICAgICBTYW5pdGl6ZXIuX2VudGl0eSxcbiAgICAgICAgICAgIFNhbml0aXplci5nZXRFbnRpdHksXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogRXNjYXBlcyBIVE1MIGFuZCByZXR1cm5zIGEgd3JhcHBlZCBvYmplY3QgdG8gYmUgdXNlZCBkdXJpbmcgRE9NIGluc2VydGlvblxuICAgICAqL1xuICAgIGNyZWF0ZVNhZmVIVE1MOiBmdW5jdGlvbiAoc3RyaW5ncykge1xuICAgICAgdmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoO1xuICAgICAgdmFyIHZhbHVlcyA9IG5ldyBBcnJheShfbGVuID4gMSA/IF9sZW4gLSAxIDogMCk7XG4gICAgICBmb3IgKHZhciBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgICB2YWx1ZXNbX2tleSAtIDFdID0gYXJndW1lbnRzW19rZXldO1xuICAgICAgfVxuXG4gICAgICB2YXIgZXNjYXBlZCA9IFNhbml0aXplci5lc2NhcGVIVE1MLmFwcGx5KFxuICAgICAgICBTYW5pdGl6ZXIsXG4gICAgICAgIFtzdHJpbmdzXS5jb25jYXQodmFsdWVzKSxcbiAgICAgICk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBfX2h0bWw6IGVzY2FwZWQsXG4gICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIFwiW29iamVjdCBXcmFwcGVkSFRNTE9iamVjdF1cIjtcbiAgICAgICAgfSxcbiAgICAgICAgaW5mbzpcbiAgICAgICAgICBcIlRoaXMgaXMgYSB3cmFwcGVkIEhUTUwgb2JqZWN0LiBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vclwiICtcbiAgICAgICAgICBcImcvZW4tVVMvRmlyZWZveF9PUy9TZWN1cml0eS9TZWN1cml0eV9BdXRvbWF0aW9uIGZvciBtb3JlLlwiLFxuICAgICAgfTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIFVud3JhcCBzYWZlIEhUTUwgY3JlYXRlZCBieSBjcmVhdGVTYWZlSFRNTCBvciBhIGN1c3RvbSByZXBsYWNlbWVudCB0aGF0XG4gICAgICogdW5kZXJ3ZW50IHNlY3VyaXR5IHJldmlldy5cbiAgICAgKi9cbiAgICB1bndyYXBTYWZlSFRNTDogZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoO1xuICAgICAgdmFyIGh0bWxPYmplY3RzID0gbmV3IEFycmF5KF9sZW4pO1xuICAgICAgZm9yICh2YXIgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICAgICAgaHRtbE9iamVjdHNbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgICB9XG5cbiAgICAgIHZhciBtYXJrdXBMaXN0ID0gaHRtbE9iamVjdHMubWFwKGZ1bmN0aW9uIChvYmopIHtcbiAgICAgICAgcmV0dXJuIG9iai5fX2h0bWw7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBtYXJrdXBMaXN0LmpvaW4oXCJcIik7XG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4gU2FuaXRpemVyO1xufSk7XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGdldFNjcm9sbGJhcldpZHRoKCkge1xuICAvLyBDcmVhdGluZyBpbnZpc2libGUgY29udGFpbmVyXG4gIGNvbnN0IG91dGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgb3V0ZXIuc3R5bGUudmlzaWJpbGl0eSA9IFwiaGlkZGVuXCI7XG4gIG91dGVyLnN0eWxlLm92ZXJmbG93ID0gXCJzY3JvbGxcIjsgLy8gZm9yY2luZyBzY3JvbGxiYXIgdG8gYXBwZWFyXG4gIG91dGVyLnN0eWxlLm1zT3ZlcmZsb3dTdHlsZSA9IFwic2Nyb2xsYmFyXCI7IC8vIG5lZWRlZCBmb3IgV2luSlMgYXBwc1xuICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG91dGVyKTtcblxuICAvLyBDcmVhdGluZyBpbm5lciBlbGVtZW50IGFuZCBwbGFjaW5nIGl0IGluIHRoZSBjb250YWluZXJcbiAgY29uc3QgaW5uZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICBvdXRlci5hcHBlbmRDaGlsZChpbm5lcik7XG5cbiAgLy8gQ2FsY3VsYXRpbmcgZGlmZmVyZW5jZSBiZXR3ZWVuIGNvbnRhaW5lcidzIGZ1bGwgd2lkdGggYW5kIHRoZSBjaGlsZCB3aWR0aFxuICBjb25zdCBzY3JvbGxiYXJXaWR0aCA9IGAke291dGVyLm9mZnNldFdpZHRoIC0gaW5uZXIub2Zmc2V0V2lkdGh9cHhgO1xuXG4gIC8vIFJlbW92aW5nIHRlbXBvcmFyeSBlbGVtZW50cyBmcm9tIHRoZSBET01cbiAgb3V0ZXIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChvdXRlcik7XG5cbiAgcmV0dXJuIHNjcm9sbGJhcldpZHRoO1xufTtcbiIsImNvbnN0IHNlbGVjdCA9IHJlcXVpcmUoXCIuL3NlbGVjdFwiKTtcbi8qKlxuICogQG5hbWUgaXNFbGVtZW50XG4gKiBAZGVzYyByZXR1cm5zIHdoZXRoZXIgb3Igbm90IHRoZSBnaXZlbiBhcmd1bWVudCBpcyBhIERPTSBlbGVtZW50LlxuICogQHBhcmFtIHthbnl9IHZhbHVlXG4gKiBAcmV0dXJuIHtib29sZWFufVxuICovXG5jb25zdCBpc0VsZW1lbnQgPSAodmFsdWUpID0+XG4gIHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIiAmJiB2YWx1ZS5ub2RlVHlwZSA9PT0gMTtcblxuLyoqXG4gKiBAbmFtZSBzZWxlY3RPck1hdGNoZXNcbiAqIEBkZXNjIHNlbGVjdHMgZWxlbWVudHMgZnJvbSB0aGUgRE9NIGJ5IGNsYXNzIHNlbGVjdG9yIG9yIElEIHNlbGVjdG9yLlxuICogQHBhcmFtIHtzdHJpbmd9IHNlbGVjdG9yIC0gVGhlIHNlbGVjdG9yIHRvIHRyYXZlcnNlIHRoZSBET00gd2l0aC5cbiAqIEBwYXJhbSB7RG9jdW1lbnR8SFRNTEVsZW1lbnQ/fSBjb250ZXh0IC0gVGhlIGNvbnRleHQgdG8gdHJhdmVyc2UgdGhlIERPTVxuICogICBpbi4gSWYgbm90IHByb3ZpZGVkLCBpdCBkZWZhdWx0cyB0byB0aGUgZG9jdW1lbnQuXG4gKiBAcmV0dXJuIHtIVE1MRWxlbWVudFtdfSAtIEFuIGFycmF5IG9mIERPTSBub2RlcyBvciBhbiBlbXB0eSBhcnJheS5cbiAqL1xubW9kdWxlLmV4cG9ydHMgPSAoc2VsZWN0b3IsIGNvbnRleHQpID0+IHtcbiAgY29uc3Qgc2VsZWN0aW9uID0gc2VsZWN0KHNlbGVjdG9yLCBjb250ZXh0KTtcbiAgaWYgKHR5cGVvZiBzZWxlY3RvciAhPT0gXCJzdHJpbmdcIikge1xuICAgIHJldHVybiBzZWxlY3Rpb247XG4gIH1cblxuICBpZiAoaXNFbGVtZW50KGNvbnRleHQpICYmIGNvbnRleHQubWF0Y2hlcyhzZWxlY3RvcikpIHtcbiAgICBzZWxlY3Rpb24ucHVzaChjb250ZXh0KTtcbiAgfVxuXG4gIHJldHVybiBzZWxlY3Rpb247XG59O1xuIiwiLyoqXG4gKiBAbmFtZSBpc0VsZW1lbnRcbiAqIEBkZXNjIHJldHVybnMgd2hldGhlciBvciBub3QgdGhlIGdpdmVuIGFyZ3VtZW50IGlzIGEgRE9NIGVsZW1lbnQuXG4gKiBAcGFyYW0ge2FueX0gdmFsdWVcbiAqIEByZXR1cm4ge2Jvb2xlYW59XG4gKi9cbmNvbnN0IGlzRWxlbWVudCA9ICh2YWx1ZSkgPT5cbiAgdmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiICYmIHZhbHVlLm5vZGVUeXBlID09PSAxO1xuXG4vKipcbiAqIEBuYW1lIHNlbGVjdFxuICogQGRlc2Mgc2VsZWN0cyBlbGVtZW50cyBmcm9tIHRoZSBET00gYnkgY2xhc3Mgc2VsZWN0b3Igb3IgSUQgc2VsZWN0b3IuXG4gKiBAcGFyYW0ge3N0cmluZ30gc2VsZWN0b3IgLSBUaGUgc2VsZWN0b3IgdG8gdHJhdmVyc2UgdGhlIERPTSB3aXRoLlxuICogQHBhcmFtIHtEb2N1bWVudHxIVE1MRWxlbWVudD99IGNvbnRleHQgLSBUaGUgY29udGV4dCB0byB0cmF2ZXJzZSB0aGUgRE9NXG4gKiAgIGluLiBJZiBub3QgcHJvdmlkZWQsIGl0IGRlZmF1bHRzIHRvIHRoZSBkb2N1bWVudC5cbiAqIEByZXR1cm4ge0hUTUxFbGVtZW50W119IC0gQW4gYXJyYXkgb2YgRE9NIG5vZGVzIG9yIGFuIGVtcHR5IGFycmF5LlxuICovXG5tb2R1bGUuZXhwb3J0cyA9IChzZWxlY3RvciwgY29udGV4dCkgPT4ge1xuICBpZiAodHlwZW9mIHNlbGVjdG9yICE9PSBcInN0cmluZ1wiKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgaWYgKCFjb250ZXh0IHx8ICFpc0VsZW1lbnQoY29udGV4dCkpIHtcbiAgICBjb250ZXh0ID0gd2luZG93LmRvY3VtZW50OyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gIH1cblxuICBjb25zdCBzZWxlY3Rpb24gPSBjb250ZXh0LnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpO1xuICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoc2VsZWN0aW9uKTtcbn07XG4iLCIvKipcbiAqIEZsaXBzIGdpdmVuIElOUFVUIGVsZW1lbnRzIGJldHdlZW4gbWFza2VkIChoaWRpbmcgdGhlIGZpZWxkIHZhbHVlKSBhbmQgdW5tYXNrZWRcbiAqIEBwYXJhbSB7QXJyYXkuSFRNTEVsZW1lbnR9IGZpZWxkcyAtIEFuIGFycmF5IG9mIElOUFVUIGVsZW1lbnRzXG4gKiBAcGFyYW0ge0Jvb2xlYW59IG1hc2sgLSBXaGV0aGVyIHRoZSBtYXNrIHNob3VsZCBiZSBhcHBsaWVkLCBoaWRpbmcgdGhlIGZpZWxkIHZhbHVlXG4gKi9cbm1vZHVsZS5leHBvcnRzID0gKGZpZWxkLCBtYXNrKSA9PiB7XG4gIGZpZWxkLnNldEF0dHJpYnV0ZShcImF1dG9jYXBpdGFsaXplXCIsIFwib2ZmXCIpO1xuICBmaWVsZC5zZXRBdHRyaWJ1dGUoXCJhdXRvY29ycmVjdFwiLCBcIm9mZlwiKTtcbiAgZmllbGQuc2V0QXR0cmlidXRlKFwidHlwZVwiLCBtYXNrID8gXCJwYXNzd29yZFwiIDogXCJ0ZXh0XCIpO1xufTtcbiIsImNvbnN0IHJlc29sdmVJZFJlZnMgPSByZXF1aXJlKFwicmVzb2x2ZS1pZC1yZWZzXCIpO1xuY29uc3QgdG9nZ2xlRmllbGRNYXNrID0gcmVxdWlyZShcIi4vdG9nZ2xlLWZpZWxkLW1hc2tcIik7XG5cbmNvbnN0IENPTlRST0xTID0gXCJhcmlhLWNvbnRyb2xzXCI7XG5jb25zdCBQUkVTU0VEID0gXCJhcmlhLXByZXNzZWRcIjtcbmNvbnN0IFNIT1dfQVRUUiA9IFwiZGF0YS1zaG93LXRleHRcIjtcbmNvbnN0IEhJREVfQVRUUiA9IFwiZGF0YS1oaWRlLXRleHRcIjtcblxuLyoqXG4gKiBSZXBsYWNlIHRoZSB3b3JkIFwiU2hvd1wiIChvciBcInNob3dcIikgd2l0aCBcIkhpZGVcIiAob3IgXCJoaWRlXCIpIGluIGEgc3RyaW5nLlxuICogQHBhcmFtIHtzdHJpbmd9IHNob3dUZXh0XG4gKiBAcmV0dXJuIHtzdHJvbmd9IGhpZGVUZXh0XG4gKi9cbmNvbnN0IGdldEhpZGVUZXh0ID0gKHNob3dUZXh0KSA9PlxuICBzaG93VGV4dC5yZXBsYWNlKC9cXGJTaG93XFxiL2ksIChzaG93KSA9PiBgJHtzaG93WzBdID09PSBcIlNcIiA/IFwiSFwiIDogXCJoXCJ9aWRlYCk7XG5cbi8qKlxuICogQ29tcG9uZW50IHRoYXQgZGVjb3JhdGVzIGFuIEhUTUwgZWxlbWVudCB3aXRoIHRoZSBhYmlsaXR5IHRvIHRvZ2dsZSB0aGVcbiAqIG1hc2tlZCBzdGF0ZSBvZiBhbiBpbnB1dCBmaWVsZCAobGlrZSBhIHBhc3N3b3JkKSB3aGVuIGNsaWNrZWQuXG4gKiBUaGUgaWRzIG9mIHRoZSBmaWVsZHMgdG8gYmUgbWFza2VkIHdpbGwgYmUgcHVsbGVkIGRpcmVjdGx5IGZyb20gdGhlIGJ1dHRvbidzXG4gKiBgYXJpYS1jb250cm9sc2AgYXR0cmlidXRlLlxuICpcbiAqIEBwYXJhbSAge0hUTUxFbGVtZW50fSBlbCAgICBQYXJlbnQgZWxlbWVudCBjb250YWluaW5nIHRoZSBmaWVsZHMgdG8gYmUgbWFza2VkXG4gKiBAcmV0dXJuIHtib29sZWFufVxuICovXG5tb2R1bGUuZXhwb3J0cyA9IChlbCkgPT4ge1xuICAvLyB0aGlzIGlzIHRoZSAqdGFyZ2V0KiBzdGF0ZTpcbiAgLy8gKiBpZiB0aGUgZWxlbWVudCBoYXMgdGhlIGF0dHIgYW5kIGl0J3MgIT09IFwidHJ1ZVwiLCBwcmVzc2VkIGlzIHRydWVcbiAgLy8gKiBvdGhlcndpc2UsIHByZXNzZWQgaXMgZmFsc2VcbiAgY29uc3QgcHJlc3NlZCA9XG4gICAgZWwuaGFzQXR0cmlidXRlKFBSRVNTRUQpICYmIGVsLmdldEF0dHJpYnV0ZShQUkVTU0VEKSAhPT0gXCJ0cnVlXCI7XG5cbiAgY29uc3QgZmllbGRzID0gcmVzb2x2ZUlkUmVmcyhlbC5nZXRBdHRyaWJ1dGUoQ09OVFJPTFMpKTtcbiAgZmllbGRzLmZvckVhY2goKGZpZWxkKSA9PiB0b2dnbGVGaWVsZE1hc2soZmllbGQsIHByZXNzZWQpKTtcblxuICBpZiAoIWVsLmhhc0F0dHJpYnV0ZShTSE9XX0FUVFIpKSB7XG4gICAgZWwuc2V0QXR0cmlidXRlKFNIT1dfQVRUUiwgZWwudGV4dENvbnRlbnQpO1xuICB9XG5cbiAgY29uc3Qgc2hvd1RleHQgPSBlbC5nZXRBdHRyaWJ1dGUoU0hPV19BVFRSKTtcbiAgY29uc3QgaGlkZVRleHQgPSBlbC5nZXRBdHRyaWJ1dGUoSElERV9BVFRSKSB8fCBnZXRIaWRlVGV4dChzaG93VGV4dCk7XG5cbiAgZWwudGV4dENvbnRlbnQgPSBwcmVzc2VkID8gc2hvd1RleHQgOiBoaWRlVGV4dDsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICBlbC5zZXRBdHRyaWJ1dGUoUFJFU1NFRCwgcHJlc3NlZCk7XG4gIHJldHVybiBwcmVzc2VkO1xufTtcbiIsImNvbnN0IEVYUEFOREVEID0gXCJhcmlhLWV4cGFuZGVkXCI7XG5jb25zdCBDT05UUk9MUyA9IFwiYXJpYS1jb250cm9sc1wiO1xuY29uc3QgSElEREVOID0gXCJoaWRkZW5cIjtcblxubW9kdWxlLmV4cG9ydHMgPSAoYnV0dG9uLCBleHBhbmRlZCkgPT4ge1xuICBsZXQgc2FmZUV4cGFuZGVkID0gZXhwYW5kZWQ7XG5cbiAgaWYgKHR5cGVvZiBzYWZlRXhwYW5kZWQgIT09IFwiYm9vbGVhblwiKSB7XG4gICAgc2FmZUV4cGFuZGVkID0gYnV0dG9uLmdldEF0dHJpYnV0ZShFWFBBTkRFRCkgPT09IFwiZmFsc2VcIjtcbiAgfVxuXG4gIGJ1dHRvbi5zZXRBdHRyaWJ1dGUoRVhQQU5ERUQsIHNhZmVFeHBhbmRlZCk7XG5cbiAgY29uc3QgaWQgPSBidXR0b24uZ2V0QXR0cmlidXRlKENPTlRST0xTKTtcbiAgY29uc3QgY29udHJvbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7XG4gIGlmICghY29udHJvbHMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIHRvZ2dsZSB0YXJnZXQgZm91bmQgd2l0aCBpZDogXCIke2lkfVwiYCk7XG4gIH1cblxuICBpZiAoc2FmZUV4cGFuZGVkKSB7XG4gICAgY29udHJvbHMucmVtb3ZlQXR0cmlidXRlKEhJRERFTik7XG4gIH0gZWxzZSB7XG4gICAgY29udHJvbHMuc2V0QXR0cmlidXRlKEhJRERFTiwgXCJcIik7XG4gIH1cblxuICByZXR1cm4gc2FmZUV4cGFuZGVkO1xufTtcbiIsImNvbnN0IGRlYm91bmNlID0gcmVxdWlyZShcIi4vZGVib3VuY2VcIik7XG5jb25zdCB7IHByZWZpeDogUFJFRklYIH0gPSByZXF1aXJlKFwiLi4vY29uZmlnXCIpO1xuXG5jb25zdCBDSEVDS0VEX0NMQVNTID0gYCR7UFJFRklYfS1jaGVja2xpc3RfX2l0ZW0tLWNoZWNrZWRgO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIHZhbGlkYXRlKGVsKSB7XG4gIGNvbnN0IGlkID0gZWwuZGF0YXNldC52YWxpZGF0aW9uRWxlbWVudDtcbiAgY29uc3QgY2hlY2tMaXN0ID1cbiAgICBpZC5jaGFyQXQoMCkgPT09IFwiI1wiXG4gICAgICA/IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoaWQpXG4gICAgICA6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtcblxuICBpZiAoIWNoZWNrTGlzdCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgTm8gdmFsaWRhdGlvbiBlbGVtZW50IGZvdW5kIHdpdGggaWQ6IFwiJHtpZH1cImApO1xuICB9XG5cbiAgbGV0IHN0YXR1c1N1bW1hcnkgPSBcIlwiO1xuICBPYmplY3QuZW50cmllcyhlbC5kYXRhc2V0KS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICBpZiAoa2V5LnN0YXJ0c1dpdGgoXCJ2YWxpZGF0ZVwiKSkge1xuICAgICAgY29uc3QgdmFsaWRhdG9yTmFtZSA9IGtleS5zdWJzdHIoXCJ2YWxpZGF0ZVwiLmxlbmd0aCkudG9Mb3dlckNhc2UoKTtcbiAgICAgIGNvbnN0IHZhbGlkYXRvclBhdHRlcm4gPSBuZXcgUmVnRXhwKHZhbHVlKTtcbiAgICAgIGNvbnN0IHZhbGlkYXRvclNlbGVjdG9yID0gYFtkYXRhLXZhbGlkYXRvcj1cIiR7dmFsaWRhdG9yTmFtZX1cIl1gO1xuICAgICAgY29uc3QgdmFsaWRhdG9yQ2hlY2tib3ggPSBjaGVja0xpc3QucXVlcnlTZWxlY3Rvcih2YWxpZGF0b3JTZWxlY3Rvcik7XG4gICAgICBjb25zdCB2YWxpZGF0b3JQYXJlbnQgPSBlbC5wYXJlbnROb2RlO1xuICAgICAgY29uc3Qgc3RhdHVzU3VtbWFyeUNvbnRhaW5lciA9IHZhbGlkYXRvclBhcmVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgICBgW2RhdGEtdmFsaWRhdGlvbi1zdGF0dXNdYCxcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IGNoZWNrZWQgPSB2YWxpZGF0b3JQYXR0ZXJuLnRlc3QoZWwudmFsdWUpO1xuICAgICAgdmFsaWRhdG9yQ2hlY2tib3guY2xhc3NMaXN0LnRvZ2dsZShDSEVDS0VEX0NMQVNTLCBjaGVja2VkKTtcblxuICAgICAgaWYgKCF2YWxpZGF0b3JDaGVja2JveCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIHZhbGlkYXRvciBjaGVja2JveCBmb3VuZCBmb3I6IFwiJHt2YWxpZGF0b3JOYW1lfVwiYCk7XG4gICAgICB9XG5cbiAgICAgIC8vIENyZWF0ZSBzdGF0dXMgcmVwb3J0cyBmb3IgY2hlY2tsaXN0IGl0ZW1zXG4gICAgICBjb25zdCBzdGF0dXNDb21wbGV0ZSA9IGVsLmRhdGFzZXQudmFsaWRhdGlvbkNvbXBsZXRlIHx8IFwic3RhdHVzIGNvbXBsZXRlXCI7XG4gICAgICBjb25zdCBzdGF0dXNJbmNvbXBsZXRlID1cbiAgICAgICAgZWwuZGF0YXNldC52YWxpZGF0aW9uSW5jb21wbGV0ZSB8fCBcInN0YXR1cyBpbmNvbXBsZXRlXCI7XG4gICAgICBsZXQgY2hlY2tib3hDb250ZW50ID0gYCR7dmFsaWRhdG9yQ2hlY2tib3gudGV4dENvbnRlbnR9IGA7XG5cbiAgICAgIGlmICh2YWxpZGF0b3JDaGVja2JveC5jbGFzc0xpc3QuY29udGFpbnMoQ0hFQ0tFRF9DTEFTUykpIHtcbiAgICAgICAgY2hlY2tib3hDb250ZW50ICs9IHN0YXR1c0NvbXBsZXRlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2hlY2tib3hDb250ZW50ICs9IHN0YXR1c0luY29tcGxldGU7XG4gICAgICB9XG5cbiAgICAgIC8vIG1vdmUgc3RhdHVzIHVwZGF0ZXMgdG8gYXJpYS1sYWJlbCBvbiBjaGVja2xpc3QgaXRlbVxuICAgICAgdmFsaWRhdG9yQ2hlY2tib3guc2V0QXR0cmlidXRlKFwiYXJpYS1sYWJlbFwiLCBjaGVja2JveENvbnRlbnQpO1xuXG4gICAgICAvLyBDcmVhdGUgYSBzdW1tYXJ5IG9mIHN0YXR1cyBmb3IgYWxsIGNoZWNrbGlzdCBpdGVtc1xuICAgICAgc3RhdHVzU3VtbWFyeSArPSBgJHtjaGVja2JveENvbnRlbnR9LiBgO1xuXG4gICAgICAvLyBBZGQgc3VtbWFyeSB0byBzY3JlZW4gcmVhZGVyIHN1bW1hcnkgY29udGFpbmVyLCBhZnRlciBhIGRlbGF5XG4gICAgICBjb25zdCBzclVwZGF0ZVN0YXR1cyA9IGRlYm91bmNlKCgpID0+IHtcbiAgICAgICAgc3RhdHVzU3VtbWFyeUNvbnRhaW5lci50ZXh0Q29udGVudCA9IHN0YXR1c1N1bW1hcnk7XG4gICAgICB9LCAxMDAwKTtcblxuICAgICAgc3JVcGRhdGVTdGF0dXMoKTtcbiAgICB9XG4gIH0pO1xufTtcbiJdfQ== diff --git a/assets/uswds/js/uswds.min.js b/assets/uswds/js/uswds.min.js new file mode 100644 index 0000000..4b7948d --- /dev/null +++ b/assets/uswds/js/uswds.min.js @@ -0,0 +1,84 @@ +!function a(s,i,n){function o(t,e){if(!i[t]){if(!s[t]){var r="function"==typeof require&&require;if(!e&&r)return r(t,!0);if(l)return l(t,!0);throw(e=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",e}r=i[t]={exports:{}},s[t][0].call(r.exports,function(e){return o(s[t][1][e]||e)},r,r.exports,a,s,i,n)}return i[t].exports}for(var l="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"}},s=1;s<25;s++)a.keys[111+s]="F"+s;var i="";for(s=65;s<91;s++)i=String.fromCharCode(s),a.keys[s]=[i.toLowerCase(),i.toUpperCase()];"function"==typeof define&&define.amd?define("keyboardevent-key-polyfill",a):void 0!==r&&void 0!==t?t.exports=a:window&&(window.keyboardeventKeyPolyfill=a)},{}],3:[function(e,t,r){var l=Object.getOwnPropertySymbols,c=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable;t.exports=(()=>{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 a,s=Object.getOwnPropertyNames(t).map(function(e){return t[e]});if("0123456789"===s.join(""))return a={},"abcdefghijklmnopqrst".split("").forEach(function(e){a[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},a)).join("")?1:void 0}}}catch(e){}})()?Object.assign:function(e,t){for(var r,a=(e=>{if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)})(e),s=1;s{var r=e.key;if(t)for(var a in i)!0===e[i[a]]&&(r=[a,r].join("+"));return r})(r,e);return[a,a.toLowerCase()].reduce(function(e,t){return e=t in s?s[a].call(this,r):e},void 0)}},t.exports.MODIFIERS=i},{"keyboardevent-key-polyfill":2}],11:[function(e,t,r){t.exports=function(t,r){function a(e){return e.currentTarget.removeEventListener(e.type,a,r),t.call(this,e)}return a}},{}],12:[function(e,t,r){var a=/(^\s+)|(\s+$)/g,s=/\s+/,i=String.prototype.trim?function(e){return e.trim()}:function(e){return e.replace(a,"")};t.exports=function(e,t){if("string"!=typeof e)throw new Error("Expected a string but got "+typeof e);var r=((t=t||window.document).getElementById||function(e){return this.querySelector('[id="'+e.replace(/"/g,'\\"')+'"]')}).bind(t);return 1===(e=i(e).split(s)).length&&""===e[0]?[]:e.map(function(e){var t=r(e);if(t)return t;throw new Error('no element with id: "'+e+'"')})}},{}],13:[function(e,t,r){var a=e("../../uswds-core/src/js/utils/behavior");let s=e("../../uswds-core/src/js/utils/toggle-form-input");var i=e("../../uswds-core/src/js/events").CLICK,e=e("../../uswds-core/src/js/config").prefix;t.exports=a({[i]:{[`.${e}-show-password`]:function(e){e.preventDefault(),s(this)}}})},{"../../uswds-core/src/js/config":35,"../../uswds-core/src/js/events":36,"../../uswds-core/src/js/utils/behavior":40,"../../uswds-core/src/js/utils/toggle-form-input":50}],14:[function(e,t,r){let a=e("../../uswds-core/src/js/utils/select");var s=e("../../uswds-core/src/js/utils/behavior");let i=e("../../uswds-core/src/js/utils/toggle"),n=e("../../uswds-core/src/js/utils/is-in-viewport");var o=e("../../uswds-core/src/js/events").CLICK,e=e("../../uswds-core/src/js/config").prefix;let l=`.${e}-accordion, .${e}-accordion--bordered`,c=`.${e}-accordion__button[aria-controls]:not(${`.${e}-banner__button`})`,u="aria-expanded",d=t=>a(c,t).filter(e=>e.closest(l)===t),p=(t,e)=>{var r=t.closest(l);if(!r)throw new Error(c+" is missing outer "+l);var e=i(t,e),a=r.hasAttribute("data-allow-multiple");e&&!a&&d(r).forEach(e=>{e!==t&&i(e,!1)})};e=s({[o]:{[c](){p(this),"true"!==this.getAttribute(u)||n(this)||this.scrollIntoView()}}},{init(e){a(c,e).forEach(e=>{var t="true"===e.getAttribute(u);p(e,t)})},ACCORDION:l,BUTTON:c,show:e=>p(e,!0),hide:e=>p(e,!1),toggle:p,getButtons:d});t.exports=e},{"../../uswds-core/src/js/config":35,"../../uswds-core/src/js/events":36,"../../uswds-core/src/js/utils/behavior":40,"../../uswds-core/src/js/utils/is-in-viewport":43,"../../uswds-core/src/js/utils/select":48,"../../uswds-core/src/js/utils/toggle":51}],15:[function(e,t,r){var a=e("../../uswds-core/src/js/utils/behavior");let s=e("../../uswds-core/src/js/utils/select");var i=e("../../uswds-core/src/js/events").CLICK,n=e("../../uswds-core/src/js/config").prefix;let o=e("../../uswds-core/src/js/utils/toggle"),l=`.${n}-banner__header`,c=n+"-banner__header--expanded",u=l+" [aria-controls]";t.exports=a({[i]:{[u]:function(e){e.preventDefault();e=e.target.closest(u);o(e),this.closest(l).classList.toggle(c)}}},{init(e){s(u,e).forEach(e=>{var t="true"===e.getAttribute(c);o(e,t)})}})},{"../../uswds-core/src/js/config":35,"../../uswds-core/src/js/events":36,"../../uswds-core/src/js/utils/behavior":40,"../../uswds-core/src/js/utils/select":48,"../../uswds-core/src/js/utils/toggle":51}],16:[function(e,t,r){var a=e("receptor/keymap"),e=e("../../uswds-core/src/js/utils/behavior")({keydown:{'a[class*="usa-button"]':a({" ":e=>{e.preventDefault(),e.target.click()}})}});t.exports=e},{"../../uswds-core/src/js/utils/behavior":40,"receptor/keymap":10}],17:[function(e,t,r){let a=e("../../uswds-core/src/js/utils/select");var s=e("../../uswds-core/src/js/utils/behavior"),i=e("../../uswds-core/src/js/utils/debounce"),e=e("../../uswds-core/src/js/config").prefix,n=e+"-character-count";let o="."+n;var l=e+"-form-group";let c=l+"--error",u="."+l,d=e+"-label"+"--error",p=`.${e}-character-count__field`,b=e+"-input--error",f=`.${e}-character-count__message`,h="The content is too long.",m=e+"-character-count__status--invalid",v=n+"__status",g=n+"__sr-status",w="."+v,y="."+g,E="characters allowed",A=e=>{var t=e.closest(o);if(!t)throw new Error(p+" is missing outer "+o);var r=t.querySelector(u),e=e.getAttribute("id"),a=document.querySelector(`label[for=${e}]`),s=t.querySelector(f);if(s)return{characterCountEl:t,formGroupEl:r,inputID:e,labelEl:a,messageEl:s};throw new Error(o+" is missing inner "+f)},x=e=>{var t=document.createElement("div"),r=document.createElement("div"),a=e.dataset.maxlength+" "+E;t.classList.add(""+v,"usa-hint"),r.classList.add(""+g,"usa-sr-only"),t.setAttribute("aria-hidden",!0),r.setAttribute("aria-live","polite"),t.textContent=a,r.textContent=a,e.append(t,r)},j=(e,t)=>{let r="";var a;return r=0===e?t+" "+E:(a=Math.abs(t-e))+` ${"character"+(1===a?"":"s")} `+(t{e.textContent=t},1e3),S=e=>{var{characterCountEl:t,labelEl:r,formGroupEl:a}=A(e),s=e.value.length,i=parseInt(t.getAttribute("data-maxlength"),10),n=t.querySelector(w),t=t.querySelector(y),o=j(s,i);i&&(i=s&&i{var t,{characterCountEl:r,messageEl:a}=A(e);a.classList.add("usa-sr-only"),a.removeAttribute("aria-live"),a=e,e=A(a).characterCountEl,(t=a.getAttribute("maxlength"))&&(a.removeAttribute("maxlength"),e.setAttribute("data-maxlength",t)),x(r)};l=s({input:{[p](){S(this)}}},{init(e){a(p,e).forEach(e=>_(e))},FORM_GROUP_ERROR_CLASS:c,LABEL_ERROR_CLASS:d,INPUT_ERROR_CLASS:b,MESSAGE_INVALID_CLASS:m,VALIDATION_MESSAGE:h,STATUS_MESSAGE_CLASS:v,STATUS_MESSAGE_SR_ONLY_CLASS:g,DEFAULT_STATUS_LABEL:E,createStatusMessages:x,getCountMessage:j,updateCountMessage:S});t.exports=l},{"../../uswds-core/src/js/config":35,"../../uswds-core/src/js/utils/behavior":40,"../../uswds-core/src/js/utils/debounce":41,"../../uswds-core/src/js/utils/select":48}],18:[function(e,t,N){var r=e("receptor/keymap");let a=e("../../uswds-core/src/js/utils/select-or-matches");var s=e("../../uswds-core/src/js/utils/behavior");let p=e("../../uswds-core/src/js/utils/sanitizer");var i=e("../../uswds-core/src/js/config").prefix,e=e("../../uswds-core/src/js/events").CLICK,i=i+"-combo-box";let b=i+"--pristine",f=i+"__select",h=i+"__input",m=i+"__clear-input",B=m+"__wrapper",O=i+"__input-button-separator",v=i+"__toggle-list",H=v+"__wrapper",g=i+"__list",y=i+"__list-option",E=y+"--focused",A=y+"--selected",w=i+"__status",x="."+i,P="."+f,u="."+h,d="."+m,j="."+v,R="."+g,n="."+y,L="."+E,F="."+A,Y="."+w,U=".*{{query}}.*";let S=(e,t="")=>{e.value=t,t=new CustomEvent("change",{bubbles:!0,cancelable:!0,detail:{value:t}});e.dispatchEvent(t)},_=e=>{var t,r,a,s,i,n,o,l,c,e=e.closest(x);if(e)return t=e.querySelector(P),r=e.querySelector(u),a=e.querySelector(R),s=e.querySelector(Y),i=e.querySelector(L),n=e.querySelector(F),o=e.querySelector(j),l=e.querySelector(d),c=e.classList.contains(b),{comboBoxEl:e,selectEl:t,inputEl:r,listEl:a,statusEl:s,focusedOptionEl:i,selectedOptionEl:n,toggleListBtnEl:o,clearInputBtnEl:l,isPristine:c,disableFiltering:"true"===e.dataset.disableFiltering};throw new Error("Element is missing outer "+x)},D=e=>{var{inputEl:e,toggleListBtnEl:t,clearInputBtnEl:r}=_(e);r.hidden=!0,t.disabled=r.disabled=!0,e.disabled=!0};let o=e=>{e=e.closest(x);if(!e.dataset.enhanced){let r=e.querySelector("select");if(!r)throw new Error(x+" is missing inner select");var t=r.id,n=document.querySelector(`label[for="${t}"]`),o=t+"--list",l=t+"-label";let a=[];var c=e.dataset.defaultValue,u=e.dataset.placeholder;let s;if(u&&a.push({placeholder:u}),c)for(let e=0,t=r.options.length;e{var t;r.hasAttribute(e)&&(t=r.getAttribute(e),a.push({[e]:t}),r.removeAttribute(e))});let i=document.createElement("input");i.setAttribute("id",t),i.setAttribute("aria-owns",o),i.setAttribute("aria-controls",o),i.setAttribute("aria-autocomplete","list"),i.setAttribute("aria-expanded","false"),i.setAttribute("autocapitalize","off"),i.setAttribute("autocomplete","off"),i.setAttribute("class",h),i.setAttribute("type","text"),i.setAttribute("role","combobox"),a.forEach(r=>Object.keys(r).forEach(e=>{var t=p.escapeHTML`${r[e]}`;i.setAttribute(e,t)})),e.insertAdjacentElement("beforeend",i),e.insertAdjacentHTML("beforeend",p.escapeHTML` + + + +   + + + + +
`),s&&(u=_(e).inputEl,S(r,s.value),S(u,s.text),e.classList.add(b)),r.disabled&&(D(e),r.disabled=!1),r.hasAttribute("aria-disabled")&&((e=>{var{inputEl:e,toggleListBtnEl:t,clearInputBtnEl:r}=_(e);r.hidden=!0,r.setAttribute("aria-disabled",!0),t.setAttribute("aria-disabled",!0),e.setAttribute("aria-disabled",!0)})(e),r.removeAttribute("aria-disabled")),e.dataset.enhanced="true"}},C=(e,t,{skipFocus:r,preventScroll:a}={})=>{var{inputEl:e,listEl:s,focusedOptionEl:i}=_(e);i&&(i.classList.remove(E),i.setAttribute("tabIndex","-1")),t?(e.setAttribute("aria-activedescendant",t.id),t.setAttribute("tabIndex","0"),t.classList.add(E),a||(i=t.offsetTop+t.offsetHeight,s.scrollTop+s.offsetHeight{let i=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");e=`^(?:${e.replace(/{{(.*?)}}/g,(e,t)=>{var t=t.trim(),r=s[t];return"query"!==t&&r?(t=new RegExp(r,"i"),(r=a.match(t))?i(r[1]):""):i(a)})})$`;return new RegExp(e,"i")},l=e=>{let{comboBoxEl:t,selectEl:a,inputEl:r,listEl:s,statusEl:i,isPristine:n,disableFiltering:o}=_(e),l,c,u=s.id+"--option-",d=(r.value||"").toLowerCase();e=t.dataset.filter||U;let p=$(e,d,t.dataset),b=[],f=[],h=[];e=[...a.options];let m=e=>p.test(e.text);e.forEach(e=>{var t,r;(r=e).value&&(o||n||!d||m(r))&&(r=e,o||n?b.push(r):((r.text.toLowerCase().startsWith(d)?f:h).push(r),b=[...f,...h]),r=u+b.indexOf(e),t=e,o&&!c&&m(t)&&(c=r),t=e,a.value)&&t.value===a.value&&(l=r)});var e=b.length,v=b.map((e,t)=>{var r=u+t,a=[y];let s="-1",i="false";r===l&&(a.push(A,E),s="0",i="true"),l||0!==t||(a.push(E),s="0");var n=document.createElement("li");return n.setAttribute("aria-setsize",b.length),n.setAttribute("aria-posinset",t+1),n.setAttribute("aria-selected",i),n.setAttribute("id",r),n.setAttribute("class",a.join(" ")),n.setAttribute("tabindex",s),n.setAttribute("role","option"),n.setAttribute("data-value",e.value),n.textContent=e.text,n}),g=document.createElement("li");g.setAttribute("class",y+"--no-results"),g.textContent="No results found",s.hidden=!1,e?(s.innerHTML="",v.forEach(e=>s.insertAdjacentElement("beforeend",e))):(s.innerHTML="",s.insertAdjacentElement("beforeend",g)),r.setAttribute("aria-expanded","true"),i.textContent=e?e+` result${1{var{inputEl:e,listEl:t,statusEl:r,focusedOptionEl:a}=_(e);r.innerHTML="",e.setAttribute("aria-expanded","false"),e.setAttribute("aria-activedescendant",""),a&&a.classList.remove(E),t.scrollTop=0,t.hidden=!0},T=e=>{var{comboBoxEl:t,selectEl:r,inputEl:a}=_(e);S(r,e.dataset.value),S(a,e.textContent),t.classList.add(b),c(t),a.focus()},k=e=>{var{comboBoxEl:r,selectEl:a,inputEl:s}=_(e),i=a.value,n=(s.value||"").toLowerCase();if(i)for(let e=0,t=a.options.length;e{var{comboBoxEl:t,listEl:r}=_(e.target),r=(r.hidden&&l(t),r.querySelector(L)||r.querySelector(n));r&&C(t,r),e.preventDefault()},q=e=>{var t=e.target,r=t.nextSibling;r&&C(t,r),e.preventDefault()},I=e=>{var{comboBoxEl:t,listEl:r,focusedOptionEl:a}=_(e.target),a=a&&a.previousSibling,r=!r.hidden;C(t,a),r&&e.preventDefault(),a||c(t)};s=s({[e]:{[u](){this.disabled||(e=>{var{comboBoxEl:e,listEl:t}=_(e);t.hidden&&l(e)})(this)},[j](){this.disabled||(e=>{var{comboBoxEl:e,listEl:t,inputEl:r}=_(e);(t.hidden?l:c)(e),r.focus()})(this)},[n](){this.disabled||T(this)},[d](){this.disabled||(e=>{var{comboBoxEl:e,listEl:t,selectEl:r,inputEl:a}=_(e),t=!t.hidden;r.value&&S(r),a.value&&S(a),e.classList.remove(b),t&&l(e),a.focus()})(this)}},focusout:{[x](e){this.contains(e.relatedTarget)||(k(this),c(this))}},keydown:{[x]:r({Escape:e=>{var{comboBoxEl:e,inputEl:t}=_(e.target);c(e),k(e),t.focus()}}),[u]:r({Enter:e=>{var{comboBoxEl:t,listEl:r}=_(e.target),r=!r.hidden;(e=>{var{comboBoxEl:r,selectEl:a,inputEl:s,statusEl:e}=_(e),i=(e.textContent="",(s.value||"").toLowerCase());if(i)for(let e=0,t=a.options.length;e{T(e.target),e.preventDefault()}," ":e=>{T(e.target),e.preventDefault()},"Shift+Tab":()=>{}})},input:{[u](){this.closest(x).classList.remove(b),l(this)}},mouseover:{[n](){var e;(e=this).classList.contains(E)||C(e,e,{preventScroll:!0})}}},{init(e){a(x,e).forEach(e=>{o(e)})},getComboBoxContext:_,enhanceComboBox:o,generateDynamicRegExp:$,disable:D,enable:e=>{var{inputEl:e,toggleListBtnEl:t,clearInputBtnEl:r}=_(e);r.hidden=!1,t.disabled=r.disabled=!1,e.disabled=!1},displayList:l,hideList:c,COMBO_BOX_CLASS:i});t.exports=s},{"../../uswds-core/src/js/config":35,"../../uswds-core/src/js/events":36,"../../uswds-core/src/js/utils/behavior":40,"../../uswds-core/src/js/utils/sanitizer":45,"../../uswds-core/src/js/utils/select-or-matches":47,"receptor/keymap":10}],19:[function(e,E,A){let t=e("receptor/keymap");var S=e("../../uswds-core/src/js/utils/behavior");let _=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,R=e("../../uswds-core/src/js/events").CLICK;let F=e("../../uswds-core/src/js/utils/active-element");var Y=e("../../uswds-core/src/js/utils/is-ios-device");let D=e("../../uswds-core/src/js/utils/sanitizer");e=r+"-date-picker";let U=e+"__wrapper",V=e+"--initialized",K=e+"--active",W=e+"__internal-input",z=e+"__external-input",Q=e+"__button",i=e+"__calendar",G=e+"__status",C=i+"__date",Z=C+"--focused",J=C+"--selected",X=C+"--previous-month",ee=C+"--current-month",te=C+"--next-month",re=C+"--range-date",ae=C+"--today",se=C+"--range-date-start",ie=C+"--range-date-end",ne=C+"--within-range",oe=i+"__previous-year",le=i+"__previous-month",ce=i+"__next-year",ue=i+"__next-month",de=i+"__month-selection",pe=i+"__year-selection",p=i+"__month",be=p+"--focused",fe=p+"--selected",x=i+"__year",he=x+"--focused",me=x+"--selected",ve=i+"__previous-year-chunk",ge=i+"__next-year-chunk",we=i+"__date-picker",ye=i+"__month-picker",Ee=i+"__year-picker",$=i+"__table",Ae=i+"__row",T=i+"__cell",k=T+"--center-items",xe=i+"__month-label",je=i+"__day-of-week",f="."+e,Le="."+Q,Se="."+W,h="."+z,_e="."+i,De="."+G;r="."+C;let o="."+Z;e="."+ee;let Ce="."+oe,$e="."+le,Te="."+ce,ke="."+ue;var Me="."+pe,qe="."+de,Ie="."+p;let Ne="."+x,Be="."+ve,Oe="."+ge,M="."+we;var He="."+ye;let Pe="."+Ee,Re="."+be,l="."+he,Fe="Please enter a valid date",Ye=["January","February","March","April","May","June","July","August","September","October","November","December"],Ue=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],j=12,m="MM/DD/YYYY",Ve="YYYY-MM-DD";var a=(...e)=>e.map(e=>e+":not([disabled])").join(", "),s=a(Ce,$e,Me,qe,Te,ke,o),Ke=a(Re),a=a(Be,Oe,l);let We=(e,t)=>(t!==e.getMonth()&&e.setDate(0),e),d=(e,t,r)=>{var a=new Date(0);return a.setFullYear(e,t,r),a},ze=()=>{var e=new Date,t=e.getDate(),r=e.getMonth(),e=e.getFullYear();return d(e,r,t)},Qe=e=>{var t=new Date(0);return t.setFullYear(e.getFullYear(),e.getMonth(),1),t},Ge=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},Ze=(e,t)=>q(e,-t),Je=(e,t)=>q(e,7*t),Xe=e=>{var t=e.getDay();return Ze(e,t)},I=(e,t)=>{var e=new Date(e.getTime()),r=(e.getMonth()+12+t)%12;return e.setMonth(e.getMonth()+t),We(e,r),e},et=(e,t)=>I(e,-t),tt=(e,t)=>I(e,12*t),rt=(e,t)=>tt(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(),N=(e,t)=>it(e,t)&&e.getMonth()===t.getMonth(),B=(e,t)=>N(e,t)&&e.getDate()===t.getDate(),c=(e,t,r)=>{let a=e;return et<=e&&(!r||e<=r),ot=(e,t,r)=>Ge(e)r,lt=(e,t,r)=>Ge(b(e,11))r,ct=(e,t)=>{var r=t&&at(e,t),e=t&&st(e,t);return{rangeStartDate:r,rangeEndDate:e,withinRangeStartDate:t&&q(r,1),withinRangeEndDate:t&&Ze(e,1)}},v=(a,s=Ve,i=!1)=>{let n,o,l,c,u;if(a){let e,t,r;s===m?[e,t,r]=a.split("/"):[r,e,t]=a.split("-"),r&&(u=parseInt(r,10),Number.isNaN(u)||(c=u,i&&(c=Math.max(0,c),r.length<3)&&(a=(s=ze().getFullYear())-s%10**r.length,c=a+u))),e&&(u=parseInt(e,10),Number.isNaN(u)||(o=u,i&&(o=Math.max(1,o),o=Math.min(12,o)))),o&&t&&null!=c&&(u=parseInt(t,10),Number.isNaN(u)||(l=u,i&&(s=d(c,o,0).getDate(),l=Math.max(1,l),l=Math.min(s,l)))),o&&l&&null!=c&&(n=d(c,o-1,l))}return n},O=(e,t=Ve)=>{var r=(e,t)=>("0000"+e).slice(-t),a=e.getMonth()+1,s=e.getDate(),e=e.getFullYear();return t===m?[r(a,2),r(s,2),r(e,4)].join("/"):[r(e,4),r(a,2),r(s,2)].join("-")},ut=(e,r)=>{var a=[],s=[];let i=0;for(;i{t.insertAdjacentElement("beforeend",e)}),a.push(t)}return a},dt=e=>{let 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(Se),r=e.querySelector(h),a=e.querySelector(_e),s=e.querySelector(Le),i=e.querySelector(De),n=e.querySelector(Ne),o=v(r.value,m,!0),l=v(t.value),c=v(a.dataset.value),u=v(e.dataset.minDate),d=v(e.dataset.maxDate),p=v(e.dataset.rangeDate),b=v(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),e.setAttribute("readonly","")};let ht=e=>{var t,r,a,s,{externalInputEl:e,minDate:i,maxDate:n}=H(e),e=e.value;let o=!1;return o=e&&(o=!0,[t,r,a]=(e=e.split("/")).map(e=>{let t;e=parseInt(e,10);return t=Number.isNaN(e)?t:e}),t)&&r&&null!=a&&(s=d(a,t-1,r)).getMonth()===t-1&&s.getDate()===r&&s.getFullYear()===a&&4===e[2].length&&nt(s,i,n)?!1:o},mt=e=>{var e=H(e).externalInputEl,t=ht(e);t&&!e.validationMessage&&e.setCustomValidity(Fe),t||e.validationMessage!==Fe||e.setCustomValidity("")},vt=(e,t)=>{var r,a,s=v(t);s&&(s=O(s,m),{datePickerEl:e,internalInputEl:r,externalInputEl:a}=H(e),pt(r,t),pt(a,s),mt(e))},u=(e,t)=>{let{datePickerEl:r,calendarEl:a,statusEl:s,selectedDate:d,maxDate:p,minDate:b,rangeDate:f}=H(e),h=ze(),i=t||h;e=a.hidden;let m=q(i,0);var n=i.getMonth(),t=i.getFullYear();let v=et(i,1),g=I(i,1);var o=O(i),l=Qe(i),c=N(i,b),u=N(i,p);let{rangeStartDate:w,rangeEndDate:y,withinRangeStartDate:E,withinRangeEndDate:A}=ct(d||i,f);for(var x=Ye[n],j=(i=Xe(l),[]);j.length<28||i.getMonth()===n||j.length%7!=0;)j.push((e=>{var t=[C],r=e.getDate(),a=e.getMonth(),s=e.getFullYear(),i=e.getDay(),n=O(e);let o="-1";var l=!nt(e,b,p),c=B(e,d),e=(N(e,v)&&t.push(X),N(e,m)&&t.push(ee),N(e,g)&&t.push(te),c&&t.push(J),B(e,h)&&t.push(ae),f&&(B(e,f)&&t.push(re),B(e,w)&&t.push(se),B(e,y)&&t.push(ie),nt(e,E,A))&&t.push(ne),B(e,m)&&(o="0",t.push(Z)),Ye[a]),i=Ue[i],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",a+1),u.setAttribute("data-year",s),u.setAttribute("data-value",n),u.setAttribute("aria-label",D.escapeHTML`${r} ${e} ${s} ${i}`),u.setAttribute("aria-selected",c?"true":"false"),!0==l&&(u.disabled=!0),u.textContent=r,u})(i)),i=q(i,1);var l=ut(j,7),L=a.cloneNode(),o=(L.dataset.value=o,L.style.top=r.offsetHeight+"px",L.hidden=!1,L.innerHTML=D.escapeHTML` +
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+ `,document.createElement("table")),c=(o.setAttribute("class",$),document.createElement("thead"));o.insertAdjacentElement("beforeend",c);let S=document.createElement("tr"),_=(c.insertAdjacentElement("beforeend",S),{Sunday:"S",Monday:"M",Tuesday:"T",Wednesday:"W",Thursday:"Th",Friday:"Fr",Saturday:"S"});Object.keys(_).forEach(e=>{var t=document.createElement("th");t.setAttribute("class",je),t.setAttribute("scope","col"),t.setAttribute("aria-label",e),t.textContent=_[e],S.insertAdjacentElement("beforeend",t)});u=dt(l);o.insertAdjacentElement("beforeend",u);L.querySelector(M).insertAdjacentElement("beforeend",o),a.parentNode.replaceChild(L,a),r.classList.add(K);c=[];return B(d,m)&&c.push("Selected date"),e?(c.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"),s.textContent=""):c.push(x+" "+t),s.textContent=c.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:a}=H(e);!e.hidden&&t&&(t=c(t,r,a),u(e,t))},yt=(e,t)=>{let{calendarEl:r,statusEl:a,calendarDate:o,minDate:l,maxDate:c}=H(e),u=o.getMonth(),d=null==t?u:t;var e=Ye.map((e,t)=>{var r=b(o,t),r=ot(r,l,c);let a="-1";var s=[p],i=t===u,n=(t===d&&(a="0",s.push(be)),i&&s.push(fe),document.createElement("button"));return n.setAttribute("type","button"),n.setAttribute("tabindex",a),n.setAttribute("class",s.join(" ")),n.setAttribute("data-value",t),n.setAttribute("data-label",e),n.setAttribute("aria-selected",i?"true":"false"),!0===r&&(n.disabled=!0),n.textContent=e,n}),t=document.createElement("div"),s=(t.setAttribute("tabindex","-1"),t.setAttribute("class",ye),document.createElement("table")),e=(s.setAttribute("class",$),s.setAttribute("role","presentation"),ut(e,3)),e=dt(e),e=(s.insertAdjacentElement("beforeend",e),t.insertAdjacentElement("beforeend",s),r.cloneNode());return e.insertAdjacentElement("beforeend",t),r.parentNode.replaceChild(e,r),a.textContent="Select a month.",e},Et=(e,t)=>{var{calendarEl:e,statusEl:r,calendarDate:a,minDate:s,maxDate:i}=H(e),n=a.getFullYear(),o=null==t?n:t,t=o,l=(t-=t%j,t=Math.max(0,t),lt(L(a,t-1),s,i)),c=lt(L(a,t+j),s,i),u=[];let d=t;for(;u.length{var{datePickerEl:t,externalInputEl:r}=H(e.target);gt(t),r.focus(),e.preventDefault()};var n=n=>e=>{var{calendarEl:t,calendarDate:r,minDate:a,maxDate:s}=H(e.target),i=n(r),i=c(i,a,s);B(r,i)||u(t,i).querySelector(o).focus(),e.preventDefault()},xt=n(e=>{return e=e,t=1,Je(e,-t);var t}),jt=n(e=>Je(e,1)),Lt=n(e=>Ze(e,1)),St=n(e=>q(e,1)),_t=n(e=>Xe(e)),Dt=n(e=>{return t=(e=e).getDay(),q(e,6-t);var t}),Ct=n(e=>I(e,1)),$t=n(e=>et(e,1)),Tt=n(e=>tt(e,1)),n=n(e=>rt(e,1));var g=o=>e=>{var t=e.target,r=parseInt(t.dataset.value,10),{calendarEl:t,calendarDate:a,minDate:s,maxDate:i}=H(t),n=b(a,r),r=o(r),r=Math.max(0,Math.min(11,r)),a=b(a,r),r=c(a,s,i);N(n,r)||yt(t,r.getMonth()).querySelector(Re).focus(),e.preventDefault()},kt=g(e=>e-3),Mt=g(e=>e+3),qt=g(e=>e-1),It=g(e=>e+1),Nt=g(e=>e-e%3),Bt=g(e=>e+2-e%3),Ot=g(()=>11),g=g(()=>0),w=o=>e=>{var t=e.target,r=parseInt(t.dataset.value,10),{calendarEl:t,calendarDate:a,minDate:s,maxDate:i}=H(t),n=L(a,r),r=o(r),r=Math.max(0,r),a=L(a,r),r=c(a,s,i);it(n,r)||Et(t,r.getFullYear()).querySelector(l).focus(),e.preventDefault()},Ht=w(e=>e-3),Pt=w(e=>e+3),Rt=w(e=>e-1),Ft=w(e=>e+1),Yt=w(e=>e-e%3),Ut=w(e=>e+2-e%3),Vt=w(e=>e-j),w=w(e=>e+j),y=i=>{let s=e=>{var e=H(e).calendarEl,e=_(i,e),t=e.length-1,r=e[0],a=e[t],s=e.indexOf(F());return{focusableElements:e,isNotFound:-1===s,firstTabStop:r,isFirstTab:0===s,lastTabStop:a,isLastTab:s===t}};return{tabAhead(e){var{firstTabStop:t,isLastTab:r,isNotFound:a}=s(e.target);(r||a)&&(e.preventDefault(),t.focus())},tabBack(e){var{lastTabStop:t,isFirstTab:r,isNotFound:a}=s(e.target);(r||a)&&(e.preventDefault(),t.focus())}}},s=y(s),Ke=y(Ke),y=y(a),a={[R]:{[Le](){var e,t,r,a,s,i;(e=this).disabled||e.hasAttribute("aria-disabled")||({calendarEl:t,inputDate:i,minDate:r,maxDate:a,defaultDate:s}=H(e),t.hidden?(i=c(i||s||ze(),r,a),u(t,i).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())},[Ie](){var e,t,r,a,s;(e=this).disabled||({calendarEl:t,calendarDate:s,minDate:r,maxDate:a}=H(e),e=parseInt(e.dataset.value,10),s=b(s,e),s=c(s,r,a),u(t,s).querySelector(o).focus())},[Ne](){var e,t,r,a,s;(e=this).disabled||({calendarEl:t,calendarDate:s,minDate:r,maxDate:a}=H(e),e=parseInt(e.innerHTML,10),s=L(s,e),s=c(s,r,a),u(t,s).querySelector(o).focus())},[$e](){(t=>{if(!t.disabled){var{calendarEl:t,calendarDate:r,minDate:a,maxDate:s}=H(t),r=et(r,1),r=c(r,a,s),a=u(t,r);let e=a.querySelector($e);(e=e.disabled?a.querySelector(M):e).focus()}})(this)},[ke](){(t=>{if(!t.disabled){var{calendarEl:t,calendarDate:r,minDate:a,maxDate:s}=H(t),r=I(r,1),r=c(r,a,s),a=u(t,r);let e=a.querySelector(ke);(e=e.disabled?a.querySelector(M):e).focus()}})(this)},[Ce](){(t=>{if(!t.disabled){var{calendarEl:t,calendarDate:r,minDate:a,maxDate:s}=H(t),r=rt(r,1),r=c(r,a,s),a=u(t,r);let e=a.querySelector(Ce);(e=e.disabled?a.querySelector(M):e).focus()}})(this)},[Te](){(t=>{if(!t.disabled){var{calendarEl:t,calendarDate:r,minDate:a,maxDate:s}=H(t),r=tt(r,1),r=c(r,a,s),a=u(t,r);let e=a.querySelector(Te);(e=e.disabled?a.querySelector(M):e).focus()}})(this)},[Be](){(t=>{if(!t.disabled){var{calendarEl:t,calendarDate:r,minDate:a,maxDate:s}=H(t),i=t.querySelector(l),i=parseInt(i.textContent,10)-j,i=Math.max(0,i),r=L(r,i),i=c(r,a,s),r=Et(t,i.getFullYear());let e=r.querySelector(Be);(e=e.disabled?r.querySelector(Pe):e).focus()}})(this)},[Oe](){(t=>{if(!t.disabled){var{calendarEl:t,calendarDate:r,minDate:a,maxDate:s}=H(t),i=t.querySelector(l),i=parseInt(i.textContent,10)+j,i=Math.max(0,i),r=L(r,i),i=c(r,a,s),r=Et(t,i.getFullYear());let e=r.querySelector(Oe);(e=e.disabled?r.querySelector(Pe):e).focus()}})(this)},[qe](){yt(this).querySelector(Re).focus()},[Me](){Et(this).querySelector(l).focus()}},keyup:{[_e](e){var t=this.dataset.keydownKeyCode;""+e.keyCode!==t&&e.preventDefault()}},keydown:{[h](e){13===e.keyCode&&mt(this)},[r]:t({Up:xt,ArrowUp:xt,Down:jt,ArrowDown:jt,Left:Lt,ArrowLeft:Lt,Right:St,ArrowRight:St,Home:_t,End:Dt,PageDown:Ct,PageUp:$t,"Shift+PageDown":Tt,"Shift+PageUp":n,Tab:s.tabAhead}),[M]:t({Tab:s.tabAhead,"Shift+Tab":s.tabBack}),[Ie]:t({Up:kt,ArrowUp:kt,Down:Mt,ArrowDown:Mt,Left:qt,ArrowLeft:qt,Right:It,ArrowRight:It,Home:Nt,End:Bt,PageDown:Ot,PageUp:g}),[He]:t({Tab:Ke.tabAhead,"Shift+Tab":Ke.tabBack}),[Ne]:t({Up:Ht,ArrowUp:Ht,Down:Pt,ArrowDown:Pt,Left:Rt,ArrowLeft:Rt,Right:Ft,ArrowRight:Ft,Home:Yt,End:Ut,PageDown:w,PageUp:Vt}),[Pe]:t({Tab:y.tabAhead,"Shift+Tab":y.tabBack}),[_e](e){this.dataset.keydownKeyCode=e.keyCode},[f](e){t({Escape:At})(e)}},focusout:{[h](){mt(this)},[f](e){this.contains(e.relatedTarget)||gt(this)}},input:{[h](){(e=>{var{internalInputEl:t,inputDate:r}=H(e);let a="";r&&!ht(e)&&(a=O(r)),t.value!==a&&pt(t,a)})(this),wt(this)}}},R=(Y()||(a.mouseover={[e](){(e=>{if(!e.disabled){var t=v(e.dataset.value),{calendarEl:e,selectedDate:r,rangeDate:s}=H(e);if(!r){let{withinRangeStartDate:r,withinRangeEndDate:a}=ct(t,s);e.querySelectorAll("."+ee).forEach(e=>{var t=v(e.dataset.value);nt(t,r,a)?e.classList.add(ne):e.classList.remove(ne)})}}})(this)}}),S(a,{init(e){P(f,e).forEach(e=>{(e=>{var e=e.closest(f),t=e.dataset.defaultValue,r=e.querySelector("input");if(!r)throw new Error(f+" is missing inner input");r.value&&(r.value="");var a=v(e.dataset.minDate||r.getAttribute("min")),a=(e.dataset.minDate=a?O(a):"0000-01-01",v(e.dataset.maxDate||r.getAttribute("max"))),a=(a&&(e.dataset.maxDate=O(a)),document.createElement("div")),s=(a.classList.add(U),r.cloneNode());s.classList.add(z),s.type="text",a.appendChild(s),a.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(a),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"))})(e)})},getDatePickerContext:H,disable:bt,ariaDisable:ft,enable:e=>{var{externalInputEl:e,toggleBtnEl:t}=H(e);t.disabled=!1,t.removeAttribute("aria-disabled"),e.disabled=!1,e.removeAttribute("aria-disabled"),e.removeAttribute("readonly")},isDateInputInvalid:ht,setCalendarValue:vt,validateDateInput:mt,renderCalendar:u,updateCalendarIfVisible:wt}));E.exports=R},{"../../uswds-core/src/js/config":35,"../../uswds-core/src/js/events":36,"../../uswds-core/src/js/utils/active-element":39,"../../uswds-core/src/js/utils/behavior":40,"../../uswds-core/src/js/utils/is-ios-device":44,"../../uswds-core/src/js/utils/sanitizer":45,"../../uswds-core/src/js/utils/select":48,"../../uswds-core/src/js/utils/select-or-matches":47,"receptor/keymap":10}],20:[function(e,t,r){var a=e("../../uswds-core/src/js/utils/behavior");let s=e("../../uswds-core/src/js/utils/select"),i=e("../../uswds-core/src/js/utils/select-or-matches");var n=e("../../uswds-core/src/js/config").prefix;let{getDatePickerContext:o,isDateInputInvalid:l,updateCalendarIfVisible:c}=e("../../usa-date-picker/src/index");e=n+"-date-range-picker";let u=e+"__range-start",d=e+"__range-end",p="."+(n+"-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,a=t.value;a&&!l(t)?(r.dataset.minDate=a,r.dataset.rangeDate=a,r.dataset.defaultDate=a):(r.dataset.minDate=e.dataset.minDate||"",r.dataset.rangeDate="",r.dataset.defaultDate=""),c(r)},g=e=>{var{dateRangePickerEl:e,rangeStartEl:t,rangeEndEl:r}=m(e),r=o(r).internalInputEl,a=r.value;a&&!l(r)?(t.dataset.maxDate=a,t.dataset.rangeDate=a,t.dataset.defaultDate=a):(t.dataset.maxDate=e.dataset.maxDate||"",t.dataset.rangeDate="",t.dataset.defaultDate=""),c(t)};n=a({"input change":{[f](){v(this)},[h](){g(this)}}},{init(e){i(b,e).forEach(e=>{(e=>{var e=e.closest(b),[t,r]=s(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 a=e.dataset.minDate,a=(t.dataset.minDate=a,r.dataset.minDate=a,e.dataset).maxDate;a&&(t.dataset.maxDate=a,r.dataset.maxDate=a),v(e),g(e)})(e)})}});t.exports=n},{"../../usa-date-picker/src/index":19,"../../uswds-core/src/js/config":35,"../../uswds-core/src/js/utils/behavior":40,"../../uswds-core/src/js/utils/select":48,"../../uswds-core/src/js/utils/select-or-matches":47}],21:[function(e,t,n){let r=e("../../uswds-core/src/js/utils/select-or-matches");var a=e("../../uswds-core/src/js/utils/behavior");let l=e("../../uswds-core/src/js/utils/sanitizer");e=e("../../uswds-core/src/js/config").prefix;let c=e+"-file-input",u="."+c,d=e+"-file-input__input",p=e+"-file-input__target",s="."+d,b=e+"-file-input__box",f=e+"-file-input__instructions",h=e+"-file-input__preview",o=e+"-file-input__preview-heading",m=e+"-file-input--disabled",v=e+"-file-input__choose",g=e+"-file-input__accepted-files-message",w=e+"-file-input__drag-text",i=e+"-file-input--drag",y="is-loading",E="has-invalid-file",A=e+"-file-input__preview-image",x=A+"--generic",j=A+"--pdf",L=A+"--word",S=A+"--video",_=A+"--excel",D=e+"-sr-only",C="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",B="Error: This is not a valid file type.",$=Boolean(!0),T="",k="",M=e=>{var t,e=e.closest(u);if(e)return t=e.querySelector(s),{dropZoneEl:e,inputEl:t};throw new Error("Element is missing outer "+u)};let O=e=>{var t=e.charCodeAt(0);return 32===t?"-":65<=t&&t<=90?"img_"+e.toLowerCase():"__"+t.toString(16).slice(-4)},H=e=>e.replace(/[^a-z0-9]/g,O),P=e=>e+"-"+Math.floor(Date.now().toString()/1e3),q=e=>e.hasAttribute("multiple")?"files":"file",R=e=>{var t,r,a,s=e.hasAttribute("aria-disabled")||e.hasAttribute("disabled"),i=(t=e,r=document.createElement("div"),n=document.createElement("div"),i=document.createElement("div"),t.classList.remove(c),t.classList.add(d),r.classList.add(c),i.classList.add(b),n.classList.add(p),n.prepend(i),t.parentNode.insertBefore(n,t),t.parentNode.insertBefore(r,n),n.appendChild(t),r.appendChild(n),n),n=(r=(t=e).closest(u),n=q(t),a=document.createElement("div"),n=`Drag ${n} here or`,o="choose from folder",T=n+" "+o,a.classList.add(f),a.setAttribute("aria-hidden","true"),t.setAttribute("aria-label",T),a.innerHTML=l.escapeHTML`${n} ${o}`,t.parentNode.insertBefore(a,t),(/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent))&&(r.querySelector("."+w).outerHTML=""),a),o=M(e).dropZoneEl;return s?o.classList.add(m):(t=e,r=document.createElement("div"),a=q(t),s=t.closest(u),t=t.closest("."+p),k=`No ${a} selected.`,r.classList.add(D),r.setAttribute("aria-live","polite"),r.textContent=k,s.insertBefore(r,t)),{instructions:n,dropTarget:i}},I=(e,t)=>{var r=e.querySelectorAll("."+h),a=e.querySelector("."+o),s=e.querySelector("."+g);a&&(a.outerHTML=""),s&&(s.outerHTML="",e.classList.remove(E)),null!==r&&(t&&t.removeAttribute("hidden"),Array.prototype.forEach.call(r,e=>{e.parentNode.removeChild(e)}))},F=(e,t,r)=>{let a=e,s=k;1===t.length?s="You have selected the file: "+r:1{a.textContent=s},1e3)},Y=(e,t)=>{var r=document.createElement("div"),a=e.closest("."+p),s=a.querySelector("."+f);let i="Change file",n="";1===t.length?n=l.escapeHTML`Selected file ${i}`:1${i}`),s.setAttribute("hidden","true"),r.classList.add(o),r.innerHTML=n,a.insertBefore(r,s),e.setAttribute("aria-label",i)},N=(t,r)=>{t.addEventListener("error",()=>{var e=t;e.src=C,e.classList.add(r)},{once:!0})},U=(e,t,r,a)=>{((e,r,a,s)=>{var i=r.getAttribute("accept");s.classList.remove(E);if(i){var n=i.split(","),i=document.createElement("div"),o=r.dataset.errormessage||B;i.setAttribute("aria-hidden",!0);let t=!0;var l=e.target.files||e.dataTransfer.files;for(let e=0;e{let r=!1;e=e.indexOf(t);return r=0<=e?!0:r})(c.type,u.replace(/\*/g,""))){$=!0;break}}}t||(I(s,a),r.value="",i.textContent=o,s.insertBefore(i,r),a=o+" "+T,r.setAttribute("aria-label",a),i.classList.add(g),s.classList.add(E),$=!1,e.preventDefault(),e.stopPropagation())}})(e,t,r,a),!0===$&&((e,t,i,r)=>{var n=e.target.files,e=r.closest("."+c).querySelector("."+D),o=[];I(r,i);for(let e=0;e
+ +
  • +
    +
    +

    Title

    +
    +
    +
    + +
    +
    + +
    +
  • +
  • +
    +
    +

    Title

    +
    +
    +
    + +
    +
    + +
    +
  • + + + +
      +
    • +
      +
      +

      Title

      +
      +
      +
      + +
      +
      + +
      +
    • +
    • +
      +
      +

      Title

      +
      +
      +
      + +
      +
      + +
      +
    • +
    • +
      +
      +

      Title

      +
      +
      +
      + +
      +
      + +
      +
    • +
    + + diff --git a/packages/uswds-validation/_index.scss b/packages/uswds-validation/_index.scss new file mode 100644 index 0000000..3bb61c0 --- /dev/null +++ b/packages/uswds-validation/_index.scss @@ -0,0 +1,7 @@ +// Validation +// ------------------------------------- +@forward "uswds-form-controls"; +@forward "usa-checklist"; +@forward "usa-alert"; +@forward "usa-button"; +@forward "usa-form"; diff --git a/packages/uswds/_index.scss b/packages/uswds/_index.scss new file mode 100644 index 0000000..ad1637d --- /dev/null +++ b/packages/uswds/_index.scss @@ -0,0 +1,55 @@ +/*! uswds @version */ + +// Global +// ------------------------------------- +@forward "uswds-global"; + +// Helpers +// ------------------------------------- +@forward "uswds-helpers"; + +// Components +// ------------------------------------- +@forward "uswds-typography"; +@forward "usa-accordion/src/styles"; +@forward "usa-alert/src/styles"; +@forward "usa-banner/src/styles"; +@forward "usa-breadcrumb/src/styles"; +@forward "usa-button-group/src/styles"; +@forward "usa-button/src/styles"; +@forward "usa-card/src/styles"; +@forward "usa-checklist/src/styles"; +@forward "usa-collection/src/styles"; +@forward "usa-embed-container/src/styles"; +@forward "usa-footer/src/styles"; +@forward "usa-form/src/styles"; +@forward "usa-graphic-list/src/styles"; +@forward "usa-header/src/styles"; +@forward "usa-hero/src/styles"; +@forward "usa-icon-list/src/styles"; +@forward "usa-icon/src/styles"; +@forward "usa-identifier/src/styles"; +@forward "usa-in-page-navigation/src/styles"; +@forward "usa-language-selector/src/styles"; +@forward "usa-layout-docs/src/styles"; +@forward "usa-layout-grid/src/styles"; +@forward "usa-media-block/src/styles"; +@forward "usa-modal/src/styles"; +@forward "usa-nav/src/styles"; +@forward "usa-pagination/src/styles"; +@forward "usa-process-list/src/styles"; +@forward "usa-search/src/styles"; +@forward "usa-section/src/styles"; +@forward "usa-sidenav/src/styles"; +@forward "usa-site-alert/src/styles"; +@forward "usa-skipnav/src/styles"; +@forward "usa-step-indicator/src/styles"; +@forward "usa-summary-box/src/styles"; +@forward "usa-table/src/styles"; +@forward "usa-tag/src/styles"; +@forward "usa-tooltip/src/styles"; +@forward "uswds-form-controls"; + +// Utilities +// ------------------------------------- +@forward "uswds-utilities/src/styles"; diff --git a/sass/styles.scss b/sass/styles.scss new file mode 100644 index 0000000..5e4506e --- /dev/null +++ b/sass/styles.scss @@ -0,0 +1,10 @@ +/* styles.scss */ + +// 1. Load your project's USWDS settings configuration +@forward "uswds-theme.scss"; + +// 2. Load USWDS source code +@forward "./path/to/source/uswds"; + +// 3. Load your project's custom Sass +@forward "project-styles.scss"; \ No newline at end of file diff --git a/sass/uswds/_uswds-theme-custom-styles.scss b/sass/uswds/_uswds-theme-custom-styles.scss new file mode 100644 index 0000000..8411eec --- /dev/null +++ b/sass/uswds/_uswds-theme-custom-styles.scss @@ -0,0 +1,23 @@ +/* +* * * * * ============================== +* * * * * ============================== +* * * * * ============================== +* * * * * ============================== +======================================== +======================================== +======================================== +---------------------------------------- +USWDS THEME CUSTOM STYLES +---------------------------------------- +!! Copy this file to your project's + sass root. Don't edit the version + in node_modules. +---------------------------------------- +Custom project SASS goes here. + +i.e. +@include u-padding-right('05'); +---------------------------------------- +*/ + +@use "uswds-core" as *; diff --git a/sass/uswds/_uswds-theme.scss b/sass/uswds/_uswds-theme.scss new file mode 100644 index 0000000..eead761 --- /dev/null +++ b/sass/uswds/_uswds-theme.scss @@ -0,0 +1,15 @@ +/* +---------------------------------------- +USWDS with settings overrides +---------------------------------------- +Uncomment the following lines and add a list of changed settings +in the form $setting: value, +---------------------------------------- +*/ + +// +// @use "uswds-core" with ( +// $setting: value, +// $setting: value +// ); +// diff --git a/sass/uswds/styles.scss b/sass/uswds/styles.scss new file mode 100644 index 0000000..6897863 --- /dev/null +++ b/sass/uswds/styles.scss @@ -0,0 +1,3 @@ +@forward "uswds-theme"; +@forward "uswds"; +@forward "uswds-theme-custom-styles"; diff --git a/security/README.md b/security/README.md new file mode 100644 index 0000000..d0a92b0 --- /dev/null +++ b/security/README.md @@ -0,0 +1,13 @@ +This `/security` directory contains SHA-256 hashes for each USWDS hashed release ZIP file. Use these hashes to verify the authenticity of USWDS release ZIP files. Compare our SHA-256 hash with the hash you generate from the ZIP you wish to test. + +**OSX/Linux**: Use the `sha256sum` command in a terminal window. (Replace the path with the path to the file you wish to test.) + +```bash +sha256sum path/to/filename.zip +``` + +**Windows:** Open up PowerShell and run the following command. (Replace the path with the path to the file you wish to test.) + +```bash +powershell get-filehash -algorithm sha256 .\path\to\filename.zip +``` diff --git a/security/uswds-2.10.0-zip-hash.txt b/security/uswds-2.10.0-zip-hash.txt new file mode 100644 index 0000000..fedafa8 --- /dev/null +++ b/security/uswds-2.10.0-zip-hash.txt @@ -0,0 +1 @@ +1c3c31de6fdb62bd327b54e46c1513a252ffc4a54b9152db1e2fcafb7dbc4c4e \ No newline at end of file diff --git a/security/uswds-2.10.1-zip-hash.txt b/security/uswds-2.10.1-zip-hash.txt new file mode 100644 index 0000000..7104653 --- /dev/null +++ b/security/uswds-2.10.1-zip-hash.txt @@ -0,0 +1 @@ +f71fcb38eb05d4d1b36db8546016104ed7e93ee2e0fbf7250b9e11678e8c8327 \ No newline at end of file diff --git a/security/uswds-2.10.2-zip-hash.txt b/security/uswds-2.10.2-zip-hash.txt new file mode 100644 index 0000000..3e84491 --- /dev/null +++ b/security/uswds-2.10.2-zip-hash.txt @@ -0,0 +1 @@ +204f91185f424abdd1b65ea2d1b4565f2208726be429c455477668d1507a9a5b \ No newline at end of file diff --git a/security/uswds-2.10.3-zip-hash.txt b/security/uswds-2.10.3-zip-hash.txt new file mode 100644 index 0000000..cd997b3 --- /dev/null +++ b/security/uswds-2.10.3-zip-hash.txt @@ -0,0 +1 @@ +73c158b0d495f714ea4d96521e27ca6486360f74830e89bef0fb41556c91e183 \ No newline at end of file diff --git a/security/uswds-2.11.0-zip-hash.txt b/security/uswds-2.11.0-zip-hash.txt new file mode 100644 index 0000000..5aec211 --- /dev/null +++ b/security/uswds-2.11.0-zip-hash.txt @@ -0,0 +1 @@ +818f90854e96272fcd985925f4d421d72b9ab35af8fd4f92620836a4cbedbffb \ No newline at end of file diff --git a/security/uswds-2.11.1-zip-hash.txt b/security/uswds-2.11.1-zip-hash.txt new file mode 100644 index 0000000..35f44cc --- /dev/null +++ b/security/uswds-2.11.1-zip-hash.txt @@ -0,0 +1 @@ +50f9f331b9df4681454b0abd66d968358af28456887e3e54229c3ad2ba3548d4 \ No newline at end of file diff --git a/security/uswds-2.11.2-zip-hash.txt b/security/uswds-2.11.2-zip-hash.txt new file mode 100644 index 0000000..2836eee --- /dev/null +++ b/security/uswds-2.11.2-zip-hash.txt @@ -0,0 +1 @@ +688ddc5a0807eb202093f435b9949a5b29ebef9a7d6e7d073279d28ffd83e9a8 \ No newline at end of file diff --git a/security/uswds-2.12.0-zip-hash.txt b/security/uswds-2.12.0-zip-hash.txt new file mode 100644 index 0000000..a8975f1 --- /dev/null +++ b/security/uswds-2.12.0-zip-hash.txt @@ -0,0 +1 @@ +95be7f97ad592f68384d6cbbea87e1cd154b585207f35ca3ae2b7bdc6ffd1270 \ No newline at end of file diff --git a/security/uswds-2.12.1-zip-hash.txt b/security/uswds-2.12.1-zip-hash.txt new file mode 100644 index 0000000..ecd5faa --- /dev/null +++ b/security/uswds-2.12.1-zip-hash.txt @@ -0,0 +1 @@ +4492423dacfe6cf4f383cb2e436203c9f6b4caf302850b97bf8b6c81712312fa \ No newline at end of file diff --git a/security/uswds-2.12.2-zip-hash.txt b/security/uswds-2.12.2-zip-hash.txt new file mode 100644 index 0000000..0eefa16 --- /dev/null +++ b/security/uswds-2.12.2-zip-hash.txt @@ -0,0 +1 @@ +2c4a794c11dca65db04d6552312241ae6c397b7fd4ea5c8094698461d8d3f687 \ No newline at end of file diff --git a/security/uswds-2.13.0-zip-hash.txt b/security/uswds-2.13.0-zip-hash.txt new file mode 100644 index 0000000..8b6bb7e --- /dev/null +++ b/security/uswds-2.13.0-zip-hash.txt @@ -0,0 +1 @@ +34a951034e07288c6a23c2db3b9e54d6b5f11bec13b1484ca8a8ca8f3b013fbf \ No newline at end of file diff --git a/security/uswds-2.13.1-zip-hash.txt b/security/uswds-2.13.1-zip-hash.txt new file mode 100644 index 0000000..9b7e3a9 --- /dev/null +++ b/security/uswds-2.13.1-zip-hash.txt @@ -0,0 +1 @@ +c048e4958cbc51a5512d89e321bc7bb90aa3bec00539330042125d6b2c0a0c45 diff --git a/security/uswds-2.13.2-zip-hash.txt b/security/uswds-2.13.2-zip-hash.txt new file mode 100644 index 0000000..01b90d7 --- /dev/null +++ b/security/uswds-2.13.2-zip-hash.txt @@ -0,0 +1 @@ +c869a7b5d0ebc5b8f44645782bad39faccdb272b1e38a077586ce94e2b09c4cd \ No newline at end of file diff --git a/security/uswds-2.13.3-zip-hash.txt b/security/uswds-2.13.3-zip-hash.txt new file mode 100644 index 0000000..d79e02f --- /dev/null +++ b/security/uswds-2.13.3-zip-hash.txt @@ -0,0 +1 @@ +ee183c713841b49f13e6ca7082b81cfd4b75ceff4d8ee4d6ea2cc61241139e68 \ No newline at end of file diff --git a/security/uswds-2.14.0-beta.1-zip-hash.txt b/security/uswds-2.14.0-beta.1-zip-hash.txt new file mode 100644 index 0000000..3d5ea93 --- /dev/null +++ b/security/uswds-2.14.0-beta.1-zip-hash.txt @@ -0,0 +1 @@ +73d2dbc8241d34476fc2a40bc44e1593b61e7513586c1515b077eeed8f3099ff \ No newline at end of file diff --git a/security/uswds-2.9.0-zip-hash.txt b/security/uswds-2.9.0-zip-hash.txt new file mode 100644 index 0000000..1fb46b7 --- /dev/null +++ b/security/uswds-2.9.0-zip-hash.txt @@ -0,0 +1 @@ +4b3928e5a292ee4a2ac0b1a5106c179c4cfadd9355e56f5fb6b8e6e1954cfdb2 \ No newline at end of file diff --git a/security/uswds-3.0.0-beta.1-zip-hash.txt b/security/uswds-3.0.0-beta.1-zip-hash.txt new file mode 100644 index 0000000..c6d0850 --- /dev/null +++ b/security/uswds-3.0.0-beta.1-zip-hash.txt @@ -0,0 +1 @@ +4226f63ef09f7064bff4e169b3bda8d94f1da2ce866592302bca7b84bf91018f \ No newline at end of file diff --git a/security/uswds-3.0.0-beta.2-zip-hash.txt b/security/uswds-3.0.0-beta.2-zip-hash.txt new file mode 100644 index 0000000..15f9428 --- /dev/null +++ b/security/uswds-3.0.0-beta.2-zip-hash.txt @@ -0,0 +1 @@ +55ffc38b87c619c9b0e6cc0d6d7bbd03b3729122f1dbc60d326ae406503dd368 \ No newline at end of file diff --git a/security/uswds-3.0.0-beta.3-zip-hash.txt b/security/uswds-3.0.0-beta.3-zip-hash.txt new file mode 100644 index 0000000..efab84d --- /dev/null +++ b/security/uswds-3.0.0-beta.3-zip-hash.txt @@ -0,0 +1 @@ +c7aea4cbccae675b5a43d8d32c38538ffecc3fa5f12ddf86c117541c4ee7b403 \ No newline at end of file diff --git a/security/uswds-3.0.0-beta.4-zip-hash.txt b/security/uswds-3.0.0-beta.4-zip-hash.txt new file mode 100644 index 0000000..783d5ef --- /dev/null +++ b/security/uswds-3.0.0-beta.4-zip-hash.txt @@ -0,0 +1 @@ +c9b81584d1305165777899d6ace4ecba45589d29c78586302d789dadaf6b6847 \ No newline at end of file diff --git a/security/uswds-3.0.0-beta.5-zip-hash.txt b/security/uswds-3.0.0-beta.5-zip-hash.txt new file mode 100644 index 0000000..288d47b --- /dev/null +++ b/security/uswds-3.0.0-beta.5-zip-hash.txt @@ -0,0 +1 @@ +827982ca2b6da828aa3d49eb189e42e27d4fb705385d38ee411e09ece55bf5ac \ No newline at end of file diff --git a/security/uswds-3.0.0-zip-hash.txt b/security/uswds-3.0.0-zip-hash.txt new file mode 100644 index 0000000..c4199db --- /dev/null +++ b/security/uswds-3.0.0-zip-hash.txt @@ -0,0 +1 @@ +a98c4b4fc5974f5e335c2fc9d9a0416c236dd73e53dac62c0cc0031adfa5bb03 \ No newline at end of file diff --git a/security/uswds-3.0.1-zip-hash.txt b/security/uswds-3.0.1-zip-hash.txt new file mode 100644 index 0000000..d211fa1 --- /dev/null +++ b/security/uswds-3.0.1-zip-hash.txt @@ -0,0 +1 @@ +75bcd83f886b4a3515bec16e34229521b82a5472b231d073cc32bc086e28caf1 \ No newline at end of file diff --git a/security/uswds-3.0.2-zip-hash.txt b/security/uswds-3.0.2-zip-hash.txt new file mode 100644 index 0000000..64d773c --- /dev/null +++ b/security/uswds-3.0.2-zip-hash.txt @@ -0,0 +1 @@ +c760b8287f4fdc15652df6eb9cc8790eb1f931bac53a5141a5a3ac328980dee0 \ No newline at end of file diff --git a/security/uswds-3.1.0-zip-hash.txt b/security/uswds-3.1.0-zip-hash.txt new file mode 100644 index 0000000..2d41f7d --- /dev/null +++ b/security/uswds-3.1.0-zip-hash.txt @@ -0,0 +1 @@ +727a1883badb336f67f6f355e8fdf7ace9af871ca8af7dbb231b2e3cc7649a9b \ No newline at end of file diff --git a/security/uswds-3.10.0-zip-hash.txt b/security/uswds-3.10.0-zip-hash.txt new file mode 100644 index 0000000..d97399a --- /dev/null +++ b/security/uswds-3.10.0-zip-hash.txt @@ -0,0 +1 @@ +fdd1f9fc4cbfeb0fca7feeba1c94b205ba4ee22d03f63bb916c8750982715fb7 \ No newline at end of file diff --git a/security/uswds-3.11.0-zip-hash.txt b/security/uswds-3.11.0-zip-hash.txt new file mode 100644 index 0000000..79d76ac --- /dev/null +++ b/security/uswds-3.11.0-zip-hash.txt @@ -0,0 +1 @@ +1c10cd70a3c627fd14d9ee74a4071e67c4e5ba4bf14ca1c50c19c2fe5885e70a \ No newline at end of file diff --git a/security/uswds-3.2.0-zip-hash.txt b/security/uswds-3.2.0-zip-hash.txt new file mode 100644 index 0000000..05950f0 --- /dev/null +++ b/security/uswds-3.2.0-zip-hash.txt @@ -0,0 +1 @@ +2cf071fe6af1d337c0a2bfe3fd930ea9396dae1130b7e3a7bafbfafb98e2492f \ No newline at end of file diff --git a/security/uswds-3.3.0-zip-hash.txt b/security/uswds-3.3.0-zip-hash.txt new file mode 100644 index 0000000..1873439 --- /dev/null +++ b/security/uswds-3.3.0-zip-hash.txt @@ -0,0 +1 @@ +01994f2a02cad085a0fabb9bb2a238b94e3e03f587e241348731063b80e4308c \ No newline at end of file diff --git a/security/uswds-3.4.0-zip-hash.txt b/security/uswds-3.4.0-zip-hash.txt new file mode 100644 index 0000000..74b56f0 --- /dev/null +++ b/security/uswds-3.4.0-zip-hash.txt @@ -0,0 +1 @@ +7b0336d95fa6e9f31b27a27424f3a53e84b415e09b5bbff5d9ec8a398fb406d7 \ No newline at end of file diff --git a/security/uswds-3.4.1-zip-hash.txt b/security/uswds-3.4.1-zip-hash.txt new file mode 100644 index 0000000..772223b --- /dev/null +++ b/security/uswds-3.4.1-zip-hash.txt @@ -0,0 +1 @@ +af1cd42c60b73fbbfa9c27b8ee52fb735b1a2234c6b3aa17de5bbf8a9190ca62 \ No newline at end of file diff --git a/security/uswds-3.5.0-zip-hash.txt b/security/uswds-3.5.0-zip-hash.txt new file mode 100644 index 0000000..69d20dc --- /dev/null +++ b/security/uswds-3.5.0-zip-hash.txt @@ -0,0 +1 @@ +e0dbab25bffaaf02b3b7317690939d9e0e63bc5c824046e778de8f4c15227a9c \ No newline at end of file diff --git a/security/uswds-3.6.0-zip-hash.txt b/security/uswds-3.6.0-zip-hash.txt new file mode 100644 index 0000000..dc35bce --- /dev/null +++ b/security/uswds-3.6.0-zip-hash.txt @@ -0,0 +1 @@ +a6c303c350063a1f42baa0de8f1c860d91b06fd85f330b947209a8886f0e290a \ No newline at end of file diff --git a/security/uswds-3.6.1-zip-hash.txt b/security/uswds-3.6.1-zip-hash.txt new file mode 100644 index 0000000..e2869c0 --- /dev/null +++ b/security/uswds-3.6.1-zip-hash.txt @@ -0,0 +1 @@ +01d5885a524db30d826dff9c67cd4ac66e431ffc86f01f3a9672f096da9ac7fa \ No newline at end of file diff --git a/security/uswds-3.7.0-zip-hash.txt b/security/uswds-3.7.0-zip-hash.txt new file mode 100644 index 0000000..1646041 --- /dev/null +++ b/security/uswds-3.7.0-zip-hash.txt @@ -0,0 +1 @@ +3806aed4a1affb5dd66fda8a0ecef3c56240242117d7172647c2f1e04c7f62e0 \ No newline at end of file diff --git a/security/uswds-3.7.1-zip-hash.txt b/security/uswds-3.7.1-zip-hash.txt new file mode 100644 index 0000000..7c5094b --- /dev/null +++ b/security/uswds-3.7.1-zip-hash.txt @@ -0,0 +1 @@ +6e1d3032e1a7ac614d05fe76c87cc398725d84e5ba0656a7a17c6ca4c7579526 \ No newline at end of file diff --git a/security/uswds-3.8.0-zip-hash.txt b/security/uswds-3.8.0-zip-hash.txt new file mode 100644 index 0000000..31dfcd4 --- /dev/null +++ b/security/uswds-3.8.0-zip-hash.txt @@ -0,0 +1 @@ +072f0f8333b1aa000183e00676616d9ff5a174e27ca8d35c130ca70ea5d4f66d \ No newline at end of file diff --git a/security/uswds-3.8.1-zip-hash.txt b/security/uswds-3.8.1-zip-hash.txt new file mode 100644 index 0000000..a0bb81e --- /dev/null +++ b/security/uswds-3.8.1-zip-hash.txt @@ -0,0 +1 @@ +a86fa133b842ce28d1eed2226216c478debf31bf6c16ffcd96fecf061fdf4583 \ No newline at end of file diff --git a/security/uswds-3.8.2-zip-hash.txt b/security/uswds-3.8.2-zip-hash.txt new file mode 100644 index 0000000..90a5103 --- /dev/null +++ b/security/uswds-3.8.2-zip-hash.txt @@ -0,0 +1 @@ +94049e150c2a67dfdb75f140fc664d2e936ef652480a2f88dfdd96922e0a940c \ No newline at end of file diff --git a/security/uswds-3.9.0-zip-hash.txt b/security/uswds-3.9.0-zip-hash.txt new file mode 100644 index 0000000..2004b8e --- /dev/null +++ b/security/uswds-3.9.0-zip-hash.txt @@ -0,0 +1 @@ +140cb2162e6c60a6a6ecbc71d8d047819d4ec26f9dd6c7056bd4bd8a266af2ab \ No newline at end of file diff --git a/src/stylesheets/packages/_usa-accordion.scss b/src/stylesheets/packages/_usa-accordion.scss new file mode 100644 index 0000000..9810b21 --- /dev/null +++ b/src/stylesheets/packages/_usa-accordion.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-accordion"; diff --git a/src/stylesheets/packages/_usa-alert.scss b/src/stylesheets/packages/_usa-alert.scss new file mode 100644 index 0000000..63bd888 --- /dev/null +++ b/src/stylesheets/packages/_usa-alert.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-alert"; diff --git a/src/stylesheets/packages/_usa-banner.scss b/src/stylesheets/packages/_usa-banner.scss new file mode 100644 index 0000000..64c9afa --- /dev/null +++ b/src/stylesheets/packages/_usa-banner.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-banner"; diff --git a/src/stylesheets/packages/_usa-breadcrumb.scss b/src/stylesheets/packages/_usa-breadcrumb.scss new file mode 100644 index 0000000..f4d44d7 --- /dev/null +++ b/src/stylesheets/packages/_usa-breadcrumb.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-breadcrumb"; diff --git a/src/stylesheets/packages/_usa-button-group.scss b/src/stylesheets/packages/_usa-button-group.scss new file mode 100644 index 0000000..e9f0eea --- /dev/null +++ b/src/stylesheets/packages/_usa-button-group.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-button-group"; diff --git a/src/stylesheets/packages/_usa-button.scss b/src/stylesheets/packages/_usa-button.scss new file mode 100644 index 0000000..2203e09 --- /dev/null +++ b/src/stylesheets/packages/_usa-button.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-button"; diff --git a/src/stylesheets/packages/_usa-card.scss b/src/stylesheets/packages/_usa-card.scss new file mode 100644 index 0000000..9127d45 --- /dev/null +++ b/src/stylesheets/packages/_usa-card.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-card"; diff --git a/src/stylesheets/packages/_usa-character-count.scss b/src/stylesheets/packages/_usa-character-count.scss new file mode 100644 index 0000000..d9d0dcc --- /dev/null +++ b/src/stylesheets/packages/_usa-character-count.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-character-count"; diff --git a/src/stylesheets/packages/_usa-checkbox.scss b/src/stylesheets/packages/_usa-checkbox.scss new file mode 100644 index 0000000..9458682 --- /dev/null +++ b/src/stylesheets/packages/_usa-checkbox.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-checkbox"; diff --git a/src/stylesheets/packages/_usa-checklist.scss b/src/stylesheets/packages/_usa-checklist.scss new file mode 100644 index 0000000..18e1088 --- /dev/null +++ b/src/stylesheets/packages/_usa-checklist.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-checklist"; diff --git a/src/stylesheets/packages/_usa-collection.scss b/src/stylesheets/packages/_usa-collection.scss new file mode 100644 index 0000000..1017115 --- /dev/null +++ b/src/stylesheets/packages/_usa-collection.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-collection"; diff --git a/src/stylesheets/packages/_usa-combo-box.scss b/src/stylesheets/packages/_usa-combo-box.scss new file mode 100644 index 0000000..ff2cadc --- /dev/null +++ b/src/stylesheets/packages/_usa-combo-box.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-combo-box"; diff --git a/src/stylesheets/packages/_usa-content.scss b/src/stylesheets/packages/_usa-content.scss new file mode 100644 index 0000000..cc82940 --- /dev/null +++ b/src/stylesheets/packages/_usa-content.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-content"; diff --git a/src/stylesheets/packages/_usa-dark-background.scss b/src/stylesheets/packages/_usa-dark-background.scss new file mode 100644 index 0000000..7de5f31 --- /dev/null +++ b/src/stylesheets/packages/_usa-dark-background.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-dark-background"; diff --git a/src/stylesheets/packages/_usa-date-picker.scss b/src/stylesheets/packages/_usa-date-picker.scss new file mode 100644 index 0000000..21e13de --- /dev/null +++ b/src/stylesheets/packages/_usa-date-picker.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-date-picker"; diff --git a/src/stylesheets/packages/_usa-display.scss b/src/stylesheets/packages/_usa-display.scss new file mode 100644 index 0000000..32edc3b --- /dev/null +++ b/src/stylesheets/packages/_usa-display.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-display"; diff --git a/src/stylesheets/packages/_usa-embed-container.scss b/src/stylesheets/packages/_usa-embed-container.scss new file mode 100644 index 0000000..2c6d9c0 --- /dev/null +++ b/src/stylesheets/packages/_usa-embed-container.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-embed-container"; diff --git a/src/stylesheets/packages/_usa-error-message.scss b/src/stylesheets/packages/_usa-error-message.scss new file mode 100644 index 0000000..374224d --- /dev/null +++ b/src/stylesheets/packages/_usa-error-message.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-error-message"; diff --git a/src/stylesheets/packages/_usa-fieldset.scss b/src/stylesheets/packages/_usa-fieldset.scss new file mode 100644 index 0000000..02eaf72 --- /dev/null +++ b/src/stylesheets/packages/_usa-fieldset.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-fieldset"; diff --git a/src/stylesheets/packages/_usa-file-input.scss b/src/stylesheets/packages/_usa-file-input.scss new file mode 100644 index 0000000..f0f9a90 --- /dev/null +++ b/src/stylesheets/packages/_usa-file-input.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-file-input"; diff --git a/src/stylesheets/packages/_usa-footer.scss b/src/stylesheets/packages/_usa-footer.scss new file mode 100644 index 0000000..a54822a --- /dev/null +++ b/src/stylesheets/packages/_usa-footer.scss @@ -0,0 +1,4 @@ +// dependencies + +// component +@forward "usa-footer"; diff --git a/src/stylesheets/packages/_usa-form-group.scss b/src/stylesheets/packages/_usa-form-group.scss new file mode 100644 index 0000000..89583a8 --- /dev/null +++ b/src/stylesheets/packages/_usa-form-group.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-form-group"; diff --git a/src/stylesheets/packages/_usa-form.scss b/src/stylesheets/packages/_usa-form.scss new file mode 100644 index 0000000..a871504 --- /dev/null +++ b/src/stylesheets/packages/_usa-form.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-form"; diff --git a/src/stylesheets/packages/_usa-graphic-list.scss b/src/stylesheets/packages/_usa-graphic-list.scss new file mode 100644 index 0000000..27fc737 --- /dev/null +++ b/src/stylesheets/packages/_usa-graphic-list.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-graphic-list"; diff --git a/src/stylesheets/packages/_usa-header.scss b/src/stylesheets/packages/_usa-header.scss new file mode 100644 index 0000000..816d0c4 --- /dev/null +++ b/src/stylesheets/packages/_usa-header.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-header"; diff --git a/src/stylesheets/packages/_usa-hero.scss b/src/stylesheets/packages/_usa-hero.scss new file mode 100644 index 0000000..5e74a1e --- /dev/null +++ b/src/stylesheets/packages/_usa-hero.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-hero"; diff --git a/src/stylesheets/packages/_usa-hint.scss b/src/stylesheets/packages/_usa-hint.scss new file mode 100644 index 0000000..b66f05e --- /dev/null +++ b/src/stylesheets/packages/_usa-hint.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-hint"; diff --git a/src/stylesheets/packages/_usa-icon-list.scss b/src/stylesheets/packages/_usa-icon-list.scss new file mode 100644 index 0000000..57c4cec --- /dev/null +++ b/src/stylesheets/packages/_usa-icon-list.scss @@ -0,0 +1,5 @@ +// dependencies +@forward "usa-icon"; + +// src +@forward "usa-icon-list"; diff --git a/src/stylesheets/packages/_usa-icon.scss b/src/stylesheets/packages/_usa-icon.scss new file mode 100644 index 0000000..eb1a978 --- /dev/null +++ b/src/stylesheets/packages/_usa-icon.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-icon"; diff --git a/src/stylesheets/packages/_usa-identifier.scss b/src/stylesheets/packages/_usa-identifier.scss new file mode 100644 index 0000000..bebe02c --- /dev/null +++ b/src/stylesheets/packages/_usa-identifier.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-identifier"; diff --git a/src/stylesheets/packages/_usa-input-prefix-suffix.scss b/src/stylesheets/packages/_usa-input-prefix-suffix.scss new file mode 100644 index 0000000..d049012 --- /dev/null +++ b/src/stylesheets/packages/_usa-input-prefix-suffix.scss @@ -0,0 +1,5 @@ +// dependencies +@forward "usa-input"; + +// src +@forward "usa-input-prefix-suffix"; diff --git a/src/stylesheets/packages/_usa-input.scss b/src/stylesheets/packages/_usa-input.scss new file mode 100644 index 0000000..2fc4196 --- /dev/null +++ b/src/stylesheets/packages/_usa-input.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-input"; diff --git a/src/stylesheets/packages/_usa-intro.scss b/src/stylesheets/packages/_usa-intro.scss new file mode 100644 index 0000000..c271ddd --- /dev/null +++ b/src/stylesheets/packages/_usa-intro.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-intro"; diff --git a/src/stylesheets/packages/_usa-label.scss b/src/stylesheets/packages/_usa-label.scss new file mode 100644 index 0000000..17b8288 --- /dev/null +++ b/src/stylesheets/packages/_usa-label.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-label"; diff --git a/src/stylesheets/packages/_usa-layout-docs.scss b/src/stylesheets/packages/_usa-layout-docs.scss new file mode 100644 index 0000000..9cf7ebe --- /dev/null +++ b/src/stylesheets/packages/_usa-layout-docs.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-layout-docs"; diff --git a/src/stylesheets/packages/_usa-layout-grid.scss b/src/stylesheets/packages/_usa-layout-grid.scss new file mode 100644 index 0000000..cabed8e --- /dev/null +++ b/src/stylesheets/packages/_usa-layout-grid.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-layout-grid"; diff --git a/src/stylesheets/packages/_usa-legend.scss b/src/stylesheets/packages/_usa-legend.scss new file mode 100644 index 0000000..3fa9ffb --- /dev/null +++ b/src/stylesheets/packages/_usa-legend.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-legend"; diff --git a/src/stylesheets/packages/_usa-link.scss b/src/stylesheets/packages/_usa-link.scss new file mode 100644 index 0000000..c7c8cdf --- /dev/null +++ b/src/stylesheets/packages/_usa-link.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-link"; diff --git a/src/stylesheets/packages/_usa-list.scss b/src/stylesheets/packages/_usa-list.scss new file mode 100644 index 0000000..8e1bc99 --- /dev/null +++ b/src/stylesheets/packages/_usa-list.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-list"; diff --git a/src/stylesheets/packages/_usa-media-block.scss b/src/stylesheets/packages/_usa-media-block.scss new file mode 100644 index 0000000..6f01cea --- /dev/null +++ b/src/stylesheets/packages/_usa-media-block.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-media-block"; diff --git a/src/stylesheets/packages/_usa-megamenu.scss b/src/stylesheets/packages/_usa-megamenu.scss new file mode 100644 index 0000000..816d0c4 --- /dev/null +++ b/src/stylesheets/packages/_usa-megamenu.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-header"; diff --git a/src/stylesheets/packages/_usa-memorable-date.scss b/src/stylesheets/packages/_usa-memorable-date.scss new file mode 100644 index 0000000..0ae0bd1 --- /dev/null +++ b/src/stylesheets/packages/_usa-memorable-date.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-memorable-date"; diff --git a/src/stylesheets/packages/_usa-modal.scss b/src/stylesheets/packages/_usa-modal.scss new file mode 100644 index 0000000..294de2e --- /dev/null +++ b/src/stylesheets/packages/_usa-modal.scss @@ -0,0 +1,5 @@ +// dependencies +@forward "usa-button"; + +// src +@forward "usa-modal"; diff --git a/src/stylesheets/packages/_usa-nav-container.scss b/src/stylesheets/packages/_usa-nav-container.scss new file mode 100644 index 0000000..816d0c4 --- /dev/null +++ b/src/stylesheets/packages/_usa-nav-container.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-header"; diff --git a/src/stylesheets/packages/_usa-nav.scss b/src/stylesheets/packages/_usa-nav.scss new file mode 100644 index 0000000..c34bb59 --- /dev/null +++ b/src/stylesheets/packages/_usa-nav.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-nav"; diff --git a/src/stylesheets/packages/_usa-navbar.scss b/src/stylesheets/packages/_usa-navbar.scss new file mode 100644 index 0000000..816d0c4 --- /dev/null +++ b/src/stylesheets/packages/_usa-navbar.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-header"; diff --git a/src/stylesheets/packages/_usa-pagination.scss b/src/stylesheets/packages/_usa-pagination.scss new file mode 100644 index 0000000..f400213 --- /dev/null +++ b/src/stylesheets/packages/_usa-pagination.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-pagination"; diff --git a/src/stylesheets/packages/_usa-paragraph.scss b/src/stylesheets/packages/_usa-paragraph.scss new file mode 100644 index 0000000..b9c5fb9 --- /dev/null +++ b/src/stylesheets/packages/_usa-paragraph.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-paragraph"; diff --git a/src/stylesheets/packages/_usa-process-list.scss b/src/stylesheets/packages/_usa-process-list.scss new file mode 100644 index 0000000..f9b1cdb --- /dev/null +++ b/src/stylesheets/packages/_usa-process-list.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-process-list"; diff --git a/src/stylesheets/packages/_usa-prose.scss b/src/stylesheets/packages/_usa-prose.scss new file mode 100644 index 0000000..451c467 --- /dev/null +++ b/src/stylesheets/packages/_usa-prose.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-prose"; diff --git a/src/stylesheets/packages/_usa-radio.scss b/src/stylesheets/packages/_usa-radio.scss new file mode 100644 index 0000000..1bbbe18 --- /dev/null +++ b/src/stylesheets/packages/_usa-radio.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-radio"; diff --git a/src/stylesheets/packages/_usa-range.scss b/src/stylesheets/packages/_usa-range.scss new file mode 100644 index 0000000..7cd9bea --- /dev/null +++ b/src/stylesheets/packages/_usa-range.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-range"; diff --git a/src/stylesheets/packages/_usa-search.scss b/src/stylesheets/packages/_usa-search.scss new file mode 100644 index 0000000..aaee062 --- /dev/null +++ b/src/stylesheets/packages/_usa-search.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-search"; diff --git a/src/stylesheets/packages/_usa-section.scss b/src/stylesheets/packages/_usa-section.scss new file mode 100644 index 0000000..c429d15 --- /dev/null +++ b/src/stylesheets/packages/_usa-section.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-section"; diff --git a/src/stylesheets/packages/_usa-select.scss b/src/stylesheets/packages/_usa-select.scss new file mode 100644 index 0000000..cc13e6d --- /dev/null +++ b/src/stylesheets/packages/_usa-select.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-select"; diff --git a/src/stylesheets/packages/_usa-sidenav.scss b/src/stylesheets/packages/_usa-sidenav.scss new file mode 100644 index 0000000..1934ec4 --- /dev/null +++ b/src/stylesheets/packages/_usa-sidenav.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-sidenav"; diff --git a/src/stylesheets/packages/_usa-site-alert.scss b/src/stylesheets/packages/_usa-site-alert.scss new file mode 100644 index 0000000..a37cd86 --- /dev/null +++ b/src/stylesheets/packages/_usa-site-alert.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-site-alert"; diff --git a/src/stylesheets/packages/_usa-skipnav.scss b/src/stylesheets/packages/_usa-skipnav.scss new file mode 100644 index 0000000..de1fbcc --- /dev/null +++ b/src/stylesheets/packages/_usa-skipnav.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-skipnav"; diff --git a/src/stylesheets/packages/_usa-step-indicator.scss b/src/stylesheets/packages/_usa-step-indicator.scss new file mode 100644 index 0000000..8eaeff2 --- /dev/null +++ b/src/stylesheets/packages/_usa-step-indicator.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-step-indicator"; diff --git a/src/stylesheets/packages/_usa-summary-box.scss b/src/stylesheets/packages/_usa-summary-box.scss new file mode 100644 index 0000000..b14cfd6 --- /dev/null +++ b/src/stylesheets/packages/_usa-summary-box.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-summary-box"; diff --git a/src/stylesheets/packages/_usa-table.scss b/src/stylesheets/packages/_usa-table.scss new file mode 100644 index 0000000..942848f --- /dev/null +++ b/src/stylesheets/packages/_usa-table.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-table"; diff --git a/src/stylesheets/packages/_usa-tag.scss b/src/stylesheets/packages/_usa-tag.scss new file mode 100644 index 0000000..a337f3a --- /dev/null +++ b/src/stylesheets/packages/_usa-tag.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-tag"; diff --git a/src/stylesheets/packages/_usa-textarea.scss b/src/stylesheets/packages/_usa-textarea.scss new file mode 100644 index 0000000..b97d033 --- /dev/null +++ b/src/stylesheets/packages/_usa-textarea.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-textarea"; diff --git a/src/stylesheets/packages/_usa-time-picker.scss b/src/stylesheets/packages/_usa-time-picker.scss new file mode 100644 index 0000000..2dd74b0 --- /dev/null +++ b/src/stylesheets/packages/_usa-time-picker.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-time-picker"; diff --git a/src/stylesheets/packages/_usa-tooltip.scss b/src/stylesheets/packages/_usa-tooltip.scss new file mode 100644 index 0000000..69bc0c5 --- /dev/null +++ b/src/stylesheets/packages/_usa-tooltip.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-tooltip"; diff --git a/src/stylesheets/packages/_uswds-components.scss b/src/stylesheets/packages/_uswds-components.scss new file mode 100644 index 0000000..6359489 --- /dev/null +++ b/src/stylesheets/packages/_uswds-components.scss @@ -0,0 +1,45 @@ +// Components +// ------------------------------------- +@forward "uswds-typography"; +@forward "usa-accordion"; +@forward "usa-alert"; +@forward "usa-banner"; +@forward "usa-breadcrumb"; +@forward "usa-button-group"; +@forward "usa-button"; +@forward "usa-card"; +@forward "usa-checklist"; +@forward "usa-collection"; +@forward "usa-embed-container"; +@forward "usa-footer"; +@forward "usa-form"; +@forward "usa-graphic-list"; +@forward "usa-header"; +@forward "usa-hero"; +@forward "usa-icon-list"; +@forward "usa-icon"; +@forward "usa-identifier"; +@forward "usa-in-page-navigation"; +@forward "usa-input-mask"; +@forward "usa-language-selector"; +@forward "usa-layout-docs"; +@forward "usa-layout-grid"; +@forward "usa-media-block"; +@forward "usa-megamenu"; +@forward "usa-modal"; +@forward "usa-nav-container"; +@forward "usa-nav"; +@forward "usa-navbar"; +@forward "usa-pagination"; +@forward "usa-process-list"; +@forward "usa-search"; +@forward "usa-section"; +@forward "usa-sidenav"; +@forward "usa-site-alert"; +@forward "usa-skipnav"; +@forward "usa-step-indicator"; +@forward "usa-summary-box"; +@forward "usa-table"; +@forward "usa-tag"; +@forward "usa-tooltip"; +@forward "uswds-form-controls"; diff --git a/src/stylesheets/packages/_uswds-core.scss b/src/stylesheets/packages/_uswds-core.scss new file mode 100644 index 0000000..314c357 --- /dev/null +++ b/src/stylesheets/packages/_uswds-core.scss @@ -0,0 +1,3 @@ +// Core +// ------------------------------------- +@forward "uswds-core"; diff --git a/src/stylesheets/packages/_uswds-elements.scss b/src/stylesheets/packages/_uswds-elements.scss new file mode 100644 index 0000000..9f6a512 --- /dev/null +++ b/src/stylesheets/packages/_uswds-elements.scss @@ -0,0 +1 @@ +@forward "uswds-elements"; diff --git a/src/stylesheets/packages/_uswds-fonts.scss b/src/stylesheets/packages/_uswds-fonts.scss new file mode 100644 index 0000000..56ee4cc --- /dev/null +++ b/src/stylesheets/packages/_uswds-fonts.scss @@ -0,0 +1,3 @@ +// Fonts +// ------------------------------------- +@forward "uswds-fonts/src/styles/font-face"; diff --git a/src/stylesheets/packages/_uswds-form-controls.scss b/src/stylesheets/packages/_uswds-form-controls.scss new file mode 100644 index 0000000..92aca3c --- /dev/null +++ b/src/stylesheets/packages/_uswds-form-controls.scss @@ -0,0 +1,23 @@ +// Form controls +// ------------------------------------- +@forward "usa-character-count"; +@forward "usa-checkbox"; +@forward "usa-combo-box"; +@forward "usa-date-picker"; +@forward "usa-error-message"; +@forward "usa-fieldset"; +@forward "usa-file-input"; +@forward "usa-form-group"; +@forward "usa-form"; +@forward "usa-hint"; +@forward "usa-input-prefix-suffix"; +@forward "usa-input"; +@forward "usa-input-mask"; +@forward "usa-label"; +@forward "usa-legend"; +@forward "usa-memorable-date"; +@forward "usa-radio"; +@forward "usa-range"; +@forward "usa-select"; +@forward "usa-textarea"; +@forward "usa-time-picker"; diff --git a/src/stylesheets/packages/_uswds-form-templates.scss b/src/stylesheets/packages/_uswds-form-templates.scss new file mode 100644 index 0000000..ea205a7 --- /dev/null +++ b/src/stylesheets/packages/_uswds-form-templates.scss @@ -0,0 +1,8 @@ +// Form templates +// ------------------------------------- +@forward "usa-layout-grid"; +@forward "uswds-form-controls"; +@forward "uswds-validation"; +@forward "usa-alert"; +@forward "usa-button"; +@forward "usa-form"; diff --git a/src/stylesheets/packages/_uswds-global.scss b/src/stylesheets/packages/_uswds-global.scss new file mode 100644 index 0000000..05100aa --- /dev/null +++ b/src/stylesheets/packages/_uswds-global.scss @@ -0,0 +1,6 @@ +// Global +// ------------------------------------- +@forward "uswds-elements/lib/normalize"; +@forward "uswds-core"; +@forward "uswds-elements"; +@forward "uswds-helpers"; diff --git a/src/stylesheets/packages/_uswds-helpers.scss b/src/stylesheets/packages/_uswds-helpers.scss new file mode 100644 index 0000000..16fd2c3 --- /dev/null +++ b/src/stylesheets/packages/_uswds-helpers.scss @@ -0,0 +1,3 @@ +// Helpers +// ------------------------------------- +@forward "uswds-helpers"; diff --git a/src/stylesheets/packages/_uswds-typography.scss b/src/stylesheets/packages/_uswds-typography.scss new file mode 100644 index 0000000..4298617 --- /dev/null +++ b/src/stylesheets/packages/_uswds-typography.scss @@ -0,0 +1,10 @@ +// Typography +// ------------------------------------- +@forward "usa-content"; +@forward "usa-dark-background"; +@forward "usa-display"; +@forward "usa-intro"; +@forward "usa-link"; +@forward "usa-list"; +@forward "usa-paragraph"; +@forward "usa-prose"; diff --git a/src/stylesheets/packages/_uswds-utilities.scss b/src/stylesheets/packages/_uswds-utilities.scss new file mode 100644 index 0000000..f5c4e03 --- /dev/null +++ b/src/stylesheets/packages/_uswds-utilities.scss @@ -0,0 +1,9 @@ +// Utilities +// ------------------------------------- + +// Src +@forward "uswds-utilities/src/styles/utility-fonts"; +@use "uswds-utilities/src/styles/rules/package" as *; +@use "uswds-core/src/styles/mixins/utility-builder" as *; + +@include render-utilities-in($utilities-package); diff --git a/src/stylesheets/packages/_uswds-validation.scss b/src/stylesheets/packages/_uswds-validation.scss new file mode 100644 index 0000000..3bb61c0 --- /dev/null +++ b/src/stylesheets/packages/_uswds-validation.scss @@ -0,0 +1,7 @@ +// Validation +// ------------------------------------- +@forward "uswds-form-controls"; +@forward "usa-checklist"; +@forward "usa-alert"; +@forward "usa-button"; +@forward "usa-form"; diff --git a/src/stylesheets/uswds.scss b/src/stylesheets/uswds.scss new file mode 100644 index 0000000..f73af52 --- /dev/null +++ b/src/stylesheets/uswds.scss @@ -0,0 +1 @@ +@forward "../../packages/uswds"; diff --git a/src/test/build.spec.js b/src/test/build.spec.js new file mode 100644 index 0000000..fa70f70 --- /dev/null +++ b/src/test/build.spec.js @@ -0,0 +1,59 @@ +const assert = require("assert"); +const fs = require("fs"); +const path = require("path"); +const pkg = require("../../package.json"); +const { runGulp, distCssPath } = require("../../packages/uswds-core/src/js/utils/test/util"); + +before(() => { + setTimeout(() => runGulp("sass"), 20000); +}); + +describe("build output", () => { + it("generates CSS at dist/css/uswds.css", () => { + const distFilename = path.join(distCssPath, "uswds.css"); + assert.ok( + fs.existsSync(distFilename), + `the file does not exist: ${distFilename}` + ); + }); + + it("generates minified CSS at dist/css/uswds.min.css", () => { + const distFilename = path.join(distCssPath, "uswds.min.css"); + assert.ok( + fs.existsSync(distFilename), + `the file does not exist: ${distFilename}` + ); + }); +}); + +describe("version output", () => { + const versionString = `/*! uswds v${pkg.version} */`; + + /* eslint-disable */ + const checkVersion = (filename, done) => + new Promise((resolve, reject) => { + fs.readFile(filename, (error, buffer) => { + if (error) { + return reject(error); + } + + const css = buffer.toString(); + assert.ok( + css.indexOf(versionString) > -1, + `CSS does not include version string: "${css.substr(0, 24)}"...` + ); + resolve(); + }); + }); + /* eslint-enable */ + + it("includes the current version text in uswds.css", () => { + const distFilename = path.join(distCssPath, "uswds.css"); + return checkVersion(distFilename); + }); + + it("includes the current version text in uswds.min.css", () => { + const distFilename = path.join(distCssPath, "uswds.min.css"); + return checkVersion(distFilename); + }); +}); diff --git a/src/test/include.spec.js b/src/test/include.spec.js new file mode 100644 index 0000000..08a3872 --- /dev/null +++ b/src/test/include.spec.js @@ -0,0 +1,31 @@ +require("sass-embedded"); +const path = require("path"); +const { + runGulp, + distScssPath, + render, +} = require("../../packages/uswds-core/src/js/utils/test/util"); + +const includePath = path.resolve(path.join(__dirname, "../")); + +describe("include paths", () => { + it('can be loaded with @import "uswds"', async () => { + setTimeout(() => { + render('@import "uswds";', [includePath]); + }, 20000); + }); +}); + +describe("standalone dist scss", () => { + before(() => { + setTimeout(() => { + runGulp("copy-dist-sass"); + }, 20000); + }); + + it('can be loaded with @import "uswds"', () => { + setTimeout(() => { + render('@import "uswds";', [distScssPath]); + }, 20000); + }); +}); diff --git a/svgo.config.js b/svgo.config.js new file mode 100644 index 0000000..7a28995 --- /dev/null +++ b/svgo.config.js @@ -0,0 +1,12 @@ +module.exports = { + plugins: [ + { + name: 'preset-default', + params: { + overrides: { + removeViewBox: false, + }, + }, + } + ] +} \ No newline at end of file diff --git a/tasks/build.js b/tasks/build.js new file mode 100644 index 0000000..d2da1a2 --- /dev/null +++ b/tasks/build.js @@ -0,0 +1,29 @@ +const { series, parallel } = require("gulp"); +const dutil = require("./utils/doc-util"); +const { buildSprite } = require("./svg-sprite"); +const { compileSass } = require("./sass"); +const { compileJS } = require("./javascript"); +const { copyTheme, copyFonts, copyIcons, copyImages, copySass } = require("./copy"); +const { cleanDist } = require("./clean"); + +/** + * Generates the dist directory that gets zipped on release. + . + ├── * Delete `dist/` directory + ├── * Create SVG spritesheet + ├── * Copy markdown docs + ├── * Compile sass and js + └── * Copy sass, images, and fonts to `dist/` + */ +exports.build = series( + (done) => { + dutil.logIntroduction(); + dutil.logMessage("build", "Creating distribution directories."); + done(); + }, + cleanDist, + parallel(copyTheme, copyImages, copyFonts, copyIcons, copySass), + buildSprite, + compileJS, + compileSass +); diff --git a/tasks/clean.js b/tasks/clean.js new file mode 100644 index 0000000..b8bde89 --- /dev/null +++ b/tasks/clean.js @@ -0,0 +1,22 @@ +/** + * Clean tasks - Clean compiled dist directories. + */ + +// Include Our Plugins +const del = require('del'); +const cFlags = require("./utils/cflags"); +const dutil = require("./utils/doc-util"); + +// Clean generated Dist directory. +exports.cleanDist = done => { + if (!cFlags.cleanup) { + dutil.logMessage( + "clean-dist", + "Skipping cleaning up the distribution directories." + ); + return done(); + } + dutil.logMessage("clean-dist", "Removing distribution directories."); + + return del("dist"); +}; diff --git a/tasks/copy.js b/tasks/copy.js new file mode 100644 index 0000000..c8bff7b --- /dev/null +++ b/tasks/copy.js @@ -0,0 +1,50 @@ +const { src, dest } = require("gulp"); +const rename = require("gulp-rename"); +const dutil = require("./utils/doc-util"); + +module.exports = { + // Copy theme settings files to /dist directory + copyTheme() { + dutil.logMessage( + "copyTheme", + "Copying theme settings files to /dist/theme" + ); + return src("packages/uswds-core/src/theme/*.scss").pipe(dest("dist/theme")); + }, + + // Copy Sass stylesheets to /dist directory + // TODO: Do we want to copy to the scss any more? + copySass() { + dutil.logMessage("copySass", "Copying Sass stylesheets to /dist/scss"); + return src("src/**/**/*.scss").pipe(dest("dist/scss")); + }, + + // Copy material icons to /dist/img/material-icons + copyIcons() { + dutil.logMessage("copyIcons", "Copying Material icons to dist/img/material-icons"); + return src(["node_modules/@material-design-icons/svg/filled/*"]) + .pipe(dest("dist/img/material-icons")); + }, + + // Copy images to /dist directory + copyImages() { + dutil.logMessage("copyImages", "Copying images to /dist/img"); + return src(["packages/**/src/img/**/[!_]*.{png,jpg,gif,webp,svg,ico}"]) + .pipe( + // use only the part of the path specific to the package img dir + rename((path) => { + path.dirname = path.dirname.replace(/[a-z-]+?\/src\/img/i, ""); + return path; + }) + ) + .pipe(dest("dist/img")); + }, + + // Copy fonts to /dist directory + copyFonts() { + dutil.logMessage("copyFonts", "Copying fonts to /dist/fonts"); + return src("packages/uswds-core/src/assets/fonts/**/*").pipe( + dest("dist/fonts") + ); + }, +}; diff --git a/tasks/flags.js b/tasks/flags.js new file mode 100644 index 0000000..e4e1062 --- /dev/null +++ b/tasks/flags.js @@ -0,0 +1,19 @@ +const dutil = require("./utils/doc-util"); +const cFlags = require("./utils/cflags"); + +module.exports = { + noTest(done) { + dutil.logMessage("no-test", "Disabling linting and tests for all assets."); + cFlags.test = false; + done(); + }, + + noCleanup(done) { + dutil.logMessage( + "no-cleanup", + "Disabling cleanup of distribution directories." + ); + cFlags.cleanup = false; + done(); + } +} diff --git a/tasks/javascript.js b/tasks/javascript.js new file mode 100644 index 0000000..a69acb1 --- /dev/null +++ b/tasks/javascript.js @@ -0,0 +1,67 @@ +/* eslint-disable arrow-body-style */ + +const { dest, src } = require("gulp"); +const buffer = require("vinyl-buffer"); +const browserify = require("browserify"); +const childProcess = require("child_process"); +const rename = require("gulp-rename"); +const source = require("vinyl-source-stream"); +const sourcemaps = require("gulp-sourcemaps"); +const uglify = require("gulp-uglify"); +const merge = require("merge-stream"); +const dutil = require("./utils/doc-util"); + +module.exports = { + compileJS() { + dutil.logMessage("javascript", "Compiling JavaScript"); + let packageName = dutil.pkg.name.replace("@uswds/", ""); + const streams = Object.entries({ + [packageName]: browserify({ + entries: ["packages/uswds-core/src/js/start.js"], + debug: true, + }) + .transform("babelify", { + global: true, + presets: ["@babel/preset-env"], + }) + .bundle() + .pipe(source(`${packageName}.js`)) + .pipe(buffer()), + "uswds-init": src("packages/uswds-core/src/js/uswds-init.js"), + }).map(([basename, stream]) => + stream + .pipe(rename({ basename })) + .pipe(dest("dist/js")) + .pipe(sourcemaps.init({ loadMaps: true })) + .on("error", function handleError(error) { + dutil.logError(error); + this.emit('end'); + }) + .pipe(uglify()) + .pipe( + rename({ + suffix: ".min", + }) + ) + .pipe(sourcemaps.write(".")) + .pipe(dest("dist/js")) + ); + + return merge(streams); + }, + typeCheck() { + return new Promise((resolve, reject) => { + childProcess + .spawn("./node_modules/.bin/tsc", { stdio: "inherit" }) + .on("error", reject) + .on("exit", (code) => { + if (code === 0) { + dutil.logMessage("typecheck", "TypeScript likes our code!"); + resolve(); + } else { + reject(new Error("TypeScript failed, see output for details!")); + } + }); + }); + }, +}; diff --git a/tasks/lint.js b/tasks/lint.js new file mode 100644 index 0000000..1334aab --- /dev/null +++ b/tasks/lint.js @@ -0,0 +1,58 @@ +const { formatters } = require("stylelint"); +const childProcess = require("child_process"); +const stylelint = require("stylelint"); +const dutil = require("./utils/doc-util"); + +const IGNORE_STRING = "This file is ignored"; +const PROJECT_SASS_SRC = "./packages"; + +function ignoreStylelintIgnoreWarnings(lintResults) { + return formatters.string( + lintResults.reduce((memo, result) => { + const { warnings } = result; + const fileIsIgnored = warnings.some((warning) => + RegExp(IGNORE_STRING, "i").test(warning.text) + ); + + if (!fileIsIgnored) { + memo.push(result); + } + + return memo; + }, []) + ); +} + +function typecheck() { + return new Promise((resolve, reject) => { + childProcess + .spawn("./node_modules/.bin/tsc", { stdio: "inherit" }) + .on("error", reject) + .on("exit", (code) => { + if (code === 0) { + dutil.logMessage("typecheck", "TypeScript likes our code!"); + resolve(); + } else { + reject(new Error("TypeScript failed, see output for details!")); + } + }); + }); +}; + +async function lintSass(callback) { + const { errored, report } = await stylelint.lint({ + files: [ + `${PROJECT_SASS_SRC}/**/*.scss`, + `!${PROJECT_SASS_SRC}/uswds/**/*.scss`, + `!${PROJECT_SASS_SRC}/uswds-elements/lib/**/*.scss`, + ], + formatter: "string", + }); + + callback(errored ? new Error(report) : null); +} + +module.exports = { + lintSass, + typecheck +}; diff --git a/tasks/release.js b/tasks/release.js new file mode 100644 index 0000000..b182f43 --- /dev/null +++ b/tasks/release.js @@ -0,0 +1,66 @@ +const spawn = require("cross-spawn"); +const { series } = require("gulp"); +const crypto = require("crypto"); +const fs = require("fs"); +const dutil = require("./utils/doc-util"); +const { build } = require("./build"); + +const hash = crypto.createHash("sha256"); + +const version = dutil.dirName.replace("@uswds/", ""); + +// Create a hash from the compiled tgz users can compare and verify +// their download is authentic. +function createHash(file) { + dutil.logMessage("createHash", "Generating sha256sum hash from ZIP file."); + + const fileBuffer = fs.readFileSync(file); + hash.update(fileBuffer); + const dir = "./security"; + const hex = hash.digest("hex"); + const fileName = `${dir}/${version}-zip-hash.txt`; + + if (!fs.existsSync(dir)) { + fs.mkdirSync(dir); + } + + fs.writeFile(fileName, hex, (error) => { + if (error) { + return dutil.logError(`Error writing hash: ${error}`); + } + + return dutil.logMessage("createHash", `Created sha256sum hash: ${hex}`); + }); +} + +function zipArchives(done) { + const zip = spawn("npm", ["pack"]); + + dutil.logMessage("zip-archives", `Creating a tgz archive in root directory`); + + zip.stdout.on("data", (data) => + dutil.logData("zip-archives", `Created ${data}`) + ); + + zip.stderr.on("data", (data) => dutil.logError("zip-archives", data)); + + // @TODO get data from stdout + zip.on("close", (code) => { + if (code === 0) { + createHash(`./uswds-${version}.tgz`); + done(); + } + }); +} + +exports.release = series( + (done) => { + dutil.logMessage( + "release", + `Creating a tgz archive at ./uswds-${version}.tgz` + ); + done(); + }, + build, + zipArchives +); diff --git a/tasks/sass.js b/tasks/sass.js new file mode 100644 index 0000000..cef5507 --- /dev/null +++ b/tasks/sass.js @@ -0,0 +1,44 @@ +const autoprefixer = require("autoprefixer"); +const csso = require("postcss-csso"); +const discardComments = require("postcss-discard-comments"); +const { src, dest } = require("gulp"); +const postcss = require("gulp-postcss"); +const replace = require("gulp-replace"); +const rename = require("gulp-rename"); +const sass = require("gulp-sass")(require("sass-embedded")); +const sourcemaps = require("gulp-sourcemaps"); +const dutil = require("./utils/doc-util"); +const pkg = require("../package.json"); + +module.exports = { + compileSass() { + dutil.logMessage("sass", "Compiling Sass"); + const pluginsProcess = [discardComments(), autoprefixer()]; + const pluginsMinify = [csso({ forceMediaMerge: false })]; + + return src("src/stylesheets/uswds.scss") + .pipe(sourcemaps.init({ largeFile: true })) + .pipe( + sass({ + includePaths: [ + "./packages", + ], + outputStyle: "expanded", + }).on("error", function handleError(error) { + dutil.logError(error); + this.emit("end"); + }) + ) + .pipe(postcss(pluginsProcess)) + .pipe(replace(/\buswds @version\b/g, `uswds v${pkg.version}`)) + .pipe(dest("dist/css")) + .pipe(postcss(pluginsMinify)) + .pipe( + rename({ + suffix: ".min", + }) + ) + .pipe(sourcemaps.write(".")) + .pipe(dest("dist/css")); + }, +}; diff --git a/tasks/svg-sprite.js b/tasks/svg-sprite.js new file mode 100644 index 0000000..ab7c246 --- /dev/null +++ b/tasks/svg-sprite.js @@ -0,0 +1,62 @@ +/* eslint-disable arrow-body-style */ +const { src, dest, series } = require("gulp"); +const svgSprite = require("gulp-svgstore"); +const rename = require("gulp-rename"); +const del = require("del"); +const dutil = require("./utils/doc-util"); +const { logError } = require('./utils/doc-util'); +const { copyIcons } = require("./copy"); +const iconConfig = require("../packages/usa-icon/src/usa-icons.config"); + +const svgPath = "dist/img"; + +function cleanIcons() { + return del(`${svgPath}/usa-icons`); +} + +function collectIcons() { + dutil.logMessage("collectIcons", "Collecting default icon set in dist/img/usa-icons"); + return src([ + `node_modules/@material-design-icons/svg/filled/{${iconConfig.material}}.svg`, + `packages/usa-icon/src/img/material-icons-deprecated/{${iconConfig.materialDeprecated}}.svg`, + `packages/usa-icon/src/img/uswds-icons/{${iconConfig.uswds}}.svg`, + ]) + .pipe(dest(`${svgPath}/usa-icons`)) +} + +function buildSprite(done) { + return ( + src(`${svgPath}/usa-icons/*.svg`) + .pipe(svgSprite()) + .on("error", logError) + .pipe(dest(svgPath)) + .on("end", () => done()) + ); +} + +function renameSprite() { + return src(`${svgPath}/usa-icons.svg`) + .pipe(rename(`${svgPath}/sprite.svg`)) + .pipe(dest(`./`)); +} + +function cleanSprite() { + return del(`${svgPath}/usa-icons.svg`); +} + +exports.buildSpriteStandalone = series( + copyIcons, + cleanIcons, + collectIcons, + buildSprite, + renameSprite, + cleanSprite +) + +exports.buildSprite = series( + cleanIcons, + collectIcons, + buildSprite, + renameSprite, + cleanSprite +) diff --git a/tasks/test.js b/tasks/test.js new file mode 100644 index 0000000..752f76f --- /dev/null +++ b/tasks/test.js @@ -0,0 +1,19 @@ +const { src } = require("gulp"); +const mocha = require("gulp-mocha"); + +const mochaConfig = { + config: "packages/uswds-core/src/js/utils/test/.mocharc.json", +}; + +// Export our tasks. +module.exports = { + // run unit test. + unitTests() { + return src("packages/usa-*/**/*.spec.js").pipe(mocha(mochaConfig)); + }, + + sassTests() { + return src("packages/uswds-core/src/test/sass.spec.js") + .pipe(mocha()); + }, +}; diff --git a/tasks/utils/cflags.js b/tasks/utils/cflags.js new file mode 100644 index 0000000..097ea0d --- /dev/null +++ b/tasks/utils/cflags.js @@ -0,0 +1,4 @@ +module.exports = { + test: true, + cleanup: true, +}; diff --git a/tasks/utils/doc-util.js b/tasks/utils/doc-util.js new file mode 100644 index 0000000..0c43198 --- /dev/null +++ b/tasks/utils/doc-util.js @@ -0,0 +1,52 @@ +const log = require("fancy-log"); +const colors = require("ansi-colors"); +const pkg = require("../../package.json"); + +const shellPrefix = "$"; + +function drawFlag() { + log(colors.white("")); + log(colors.white("* * * * * ========================")); + log(colors.white("* * * * * ========================")); + log(colors.white("* * * * * ========================")); + log(colors.white("* * * * * ========================")); + log(colors.white("==================================")); + log(colors.white("==================================")); + log(colors.white("==================================")); + log(colors.white("")); +} + +module.exports = { + pkg: { + name: pkg.name, + version: pkg.version, + }, + + dirName: `${pkg.name}-${pkg.version}`, + + logIntroduction(message) { + const introMessage = message || "USWDS"; + log(colors.yellow(`${introMessage} v${pkg.version}`)); + drawFlag(); + }, + + logCommand(name, message) { + log(shellPrefix, colors.cyan(name), colors.magenta(message)); + }, + + logHelp(name, message) { + log(shellPrefix, colors.cyan(name), colors.yellow(message)); + }, + + logData(name, message) { + log(colors.cyan(name), colors.yellow(message)); + }, + + logError(name, message) { + log(colors.red(name), colors.yellow(message)); + }, + + logMessage(name, message) { + log(colors.cyan(name), colors.green(message)); + }, +}; diff --git a/tasks/watch.js b/tasks/watch.js new file mode 100644 index 0000000..277dbc6 --- /dev/null +++ b/tasks/watch.js @@ -0,0 +1,38 @@ +const { watch, series, parallel } = require("gulp"); +const { unitTests, sassTests } = require("./test"); +const { lintSass, typecheck } = require("./lint"); +const { compileSass } = require("./sass"); +const { compileJS } = require("./javascript"); +const { build } = require("./build"); + +/** + * Watch Sass and JS files. + */ +function watchFiles() { + // Watch all my sass files and compile sass if a file changes. + watch( + "./src/**/**/*.scss", + parallel(lintSass, compileSass), + ); + + // Watch all my JS files and compile if a file changes. + watch( + "./src/**/**/*.js", + series( + parallel(typecheck, compileJS), + ) + ); + + // Watch all my unit tests and run if a file changes. + watch( + "./src/**/*.spec.js", + series( + series(unitTests, sassTests), + (done) => done()) + ); +} + +exports.watch = series( + build, + watchFiles +); diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..91c024e --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "noEmit": true, + "allowJs": true, + "checkJs": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noImplicitAny": true, + "strictNullChecks": true, + "lib": ["es6", "DOM"], + "types": ["node"] + }, + "include": ["packages/uswds-core/src/js/utils/select.js"] +} diff --git a/webpack.twig.config.js b/webpack.twig.config.js new file mode 100644 index 0000000..1604d21 --- /dev/null +++ b/webpack.twig.config.js @@ -0,0 +1,149 @@ +const fs = require('fs'); +const path = require('path'); +const HtmlWebpackPlugin = require('html-webpack-plugin'); +const merge = require('lodash.merge'); + +const outputDir = path.resolve(__dirname, './html-templates'); +const entryFile = path.resolve(__dirname, `${outputDir}/main.js`); +const contentDir = "content" + +if (!fs.existsSync(outputDir)){ + fs.mkdirSync(outputDir) + fs.writeFile(entryFile, "", (err) => { + if (err) throw err + }); +} + +// syncronously check if a file exists +function checkFileExistsSync(filepath){ + let flag = true; + try{ + fs.accessSync(filepath, fs.constants.F_OK); + }catch(e){ + flag = false; + } + return flag && filepath; +} + +// builds the file object for html page gen +function buildFileObj(dir, file, dataFile){ + const templateFile = file + const dataFilePath = `${dir}/${dataFile}` + const name = !dataFile + ? `${file.substr(file.lastIndexOf('/') + 1).replace('.twig', '.html')}` + : `${dataFile.replace('.json', '.html')}` + + function buildModifierData(dataSource) { + const regexDashes = /--([\s\S]*)$/ + const regexTilda = /~([\s\S]*)$/ + let modifiedData; + + if (dataSource.indexOf('--') > -1) { + const rootDataFile = dataSource.replace(regexDashes, '.json') + modifiedData = merge( + JSON.parse(fs.readFileSync(rootDataFile, 'utf-8')), + JSON.parse(fs.readFileSync(dataSource, 'utf-8')) + ) + } + + if (dataSource.indexOf('~') > -1) { + const rootDataFile = dataSource.replace(regexTilda, '.json') + + modifiedData = merge( + JSON.parse(fs.readFileSync(rootDataFile, 'utf-8')), + JSON.parse(fs.readFileSync(dataSource, 'utf-8')) + ) + } + + return modifiedData || JSON.parse(fs.readFileSync(dataSource, 'utf-8')) + } + + const data = checkFileExistsSync(dataFilePath) + ? buildModifierData(dataFilePath) + : {} + + const fileObj = { + filename: name, + template: templateFile, + templateParameters: data, + } + return fileObj +} + +// filter out anything that starts with an underscore or is not a twig file +function walk(dir, ext) { + let results = []; + const list = fs.readdirSync(dir); + + list.forEach(file => { + // eslint-disable-next-line no-param-reassign + file = `${dir}/${file}`; + const stat = fs.statSync(file); + if (stat && stat.isDirectory() && path.basename(file).indexOf('_') !== 0) { + /* Recurse into a subdirectory */ + results = results.concat(walk(file, ext)); + } else if ( + stat && + !stat.isDirectory() && + path.extname(file) === `${ext}` && + path.basename(file).indexOf('_') !== 0 + ) { + /* Is a file */ + // in each directory, we need to build modifers + // if a directory contains a content directory we update dir here + // once we are done migrating components, we should update since we won't + // have as many use cases + const dataDir = list.indexOf(contentDir) > -1 ? `${dir}/${contentDir}/` : dir + const allData = fs.readdirSync(dataDir).filter( f => f.indexOf('.json') > -1) + + if (allData.length > 0) { + allData.forEach((d) => { + results.push(buildFileObj(dataDir, file, d)); + }) + } else { + results.push(buildFileObj(dataDir, file)) + } + } + }); + return results; +} + +const components = walk('./packages', '.twig'); +const templates = walk('./packages/templates', '.twig'); +const files = [].concat( + components, + templates + ) + +const htmlPlugins = files.map(file => + new HtmlWebpackPlugin({ + inject: false, + filename: file.filename, + template: file.template, + templateParameters: file.templateParameters, + })) + +module.exports = { + mode: 'production', + entry: { + main: entryFile, + }, + output: { + path: outputDir, + }, + module: { + rules: [ + { + test: /\.twig$/, + use: "twigjs-loader", + resolve: { + alias: { + "@components": path.resolve(__dirname, './packages'), + "@templates": path.resolve(__dirname, './packages/templates'), + }, + }, + }, + ], + }, + plugins: [].concat(htmlPlugins), +}