og-image/app.cb69df91.css
2024-04-18 18:40:31 +00:00

1067 lines
63 KiB
CSS

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/page/OgImageGeneratorPage.vue?vue&type=style&index=0&id=5a646e14&lang=css ***!
\****************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.tool {
max-height: calc(100vh - 200px);
overflow: auto;
}
.tools {
height: calc(100vh - 200px);
width: 443px;
}
.og {
margin: auto;
}
.og-wrapper {
width: calc(100vw - 540px);
}
.og-svg {
overflow: hidden;
box-sizing: border-box;
}
.og-svg > foreignObject {
overflow: hidden;
}
.og-wrapper-content {
background-color: #c1c1c1;
background-image: linear-gradient(45deg, #646464 25%, transparent 25%, transparent 75%, #646464 75%), linear-gradient(45deg, #646464 25%, transparent 25%, transparent 75%, #646464 75%);
background-size: 20px 20px;
background-position: 0 0, 10px 10px;
text-align: center;
}
.og-heading {
font-size: 5em;
}
.og-subheading {
font-size: 3em;
}
.og-image--footer img {
background-size: cover;
background-position: center center;
}
.og-image-hover {
overflow: hidden;
}
/*!**************************************************************************************************************************************************************!*\
!*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./src/scss/app.css ***!
\**************************************************************************************************************************************************************/
/*
! tailwindcss v3.2.4 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/
*,
::before,
::after {
box-sizing: border-box; /* 1 */
border-width: 0; /* 2 */
border-style: solid; /* 2 */
border-color: #e5e7eb; /* 2 */
}
::before,
::after {
--tw-content: '';
}
/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
*/
html {
line-height: 1.5; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
-moz-tab-size: 4; /* 3 */
-o-tab-size: 4;
tab-size: 4; /* 3 */
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
font-feature-settings: normal; /* 5 */
}
/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/
body {
margin: 0; /* 1 */
line-height: inherit; /* 2 */
}
/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/
hr {
height: 0; /* 1 */
color: inherit; /* 2 */
border-top-width: 1px; /* 3 */
}
/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr:where([title]) {
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
}
/*
Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
font-size: inherit;
font-weight: inherit;
}
/*
Reset links to optimize for opt-in styling instead of opt-out.
*/
a {
color: inherit;
text-decoration: inherit;
}
/*
Add the correct font weight in Edge and Safari.
*/
b,
strong {
font-weight: bolder;
}
/*
1. Use the user's configured `mono` font family by default.
2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
font-size: 1em; /* 2 */
}
/*
Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/
table {
text-indent: 0; /* 1 */
border-color: inherit; /* 2 */
border-collapse: collapse; /* 3 */
}
/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/
button,
input,
optgroup,
select,
textarea {
font-family: inherit; /* 1 */
font-size: 100%; /* 1 */
font-weight: inherit; /* 1 */
line-height: inherit; /* 1 */
color: inherit; /* 1 */
margin: 0; /* 2 */
padding: 0; /* 3 */
}
/*
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
text-transform: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/
button,
[type='button'],
[type='reset'],
[type='submit'] {
-webkit-appearance: button; /* 1 */
background-color: transparent; /* 2 */
background-image: none; /* 2 */
}
/*
Use the modern Firefox focus style for all focusable elements.
*/
:-moz-focusring {
outline: auto;
}
/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/
:-moz-ui-invalid {
box-shadow: none;
}
/*
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
vertical-align: baseline;
}
/*
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
height: auto;
}
/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type='search'] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
/*
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
-webkit-appearance: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
/*
Add the correct display in Chrome and Safari.
*/
summary {
display: list-item;
}
/*
Removes the default spacing and border for appropriate elements.
*/
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
margin: 0;
}
fieldset {
margin: 0;
padding: 0;
}
legend {
padding: 0;
}
ol,
ul,
menu {
list-style: none;
margin: 0;
padding: 0;
}
/*
Prevent resizing textareas horizontally by default.
*/
textarea {
resize: vertical;
}
/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/
input::-moz-placeholder, textarea::-moz-placeholder {
opacity: 1; /* 1 */
color: #9ca3af; /* 2 */
}
input::placeholder,
textarea::placeholder {
opacity: 1; /* 1 */
color: #9ca3af; /* 2 */
}
/*
Set the default cursor for buttons.
*/
button,
[role="button"] {
cursor: pointer;
}
/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
cursor: default;
}
/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
This can trigger a poorly considered lint error in some tools but is included by design.
*/
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
display: block; /* 1 */
vertical-align: middle; /* 2 */
}
/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/
img,
video {
max-width: 100%;
height: auto;
}
/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden] {
display: none;
}
[type='text'],[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='search'],[type='tel'],[type='time'],[type='week'],[multiple],textarea,select {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background-color: #fff;
border-color: #6b7280;
border-width: 1px;
border-radius: 0px;
padding-top: 0.5rem;
padding-right: 0.75rem;
padding-bottom: 0.5rem;
padding-left: 0.75rem;
font-size: 1rem;
line-height: 1.5rem;
--tw-shadow: 0 0 #0000;
}
[type='text']:focus, [type='email']:focus, [type='url']:focus, [type='password']:focus, [type='number']:focus, [type='date']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='week']:focus, [multiple]:focus, textarea:focus, select:focus {
outline: 2px solid transparent;
outline-offset: 2px;
--tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
--tw-ring-offset-width: 0px;
--tw-ring-offset-color: #fff;
--tw-ring-color: #2563eb;
--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
border-color: #2563eb;
}
input::-moz-placeholder, textarea::-moz-placeholder {
color: #6b7280;
opacity: 1;
}
input::placeholder,textarea::placeholder {
color: #6b7280;
opacity: 1;
}
::-webkit-datetime-edit-fields-wrapper {
padding: 0;
}
::-webkit-date-and-time-value {
min-height: 1.5em;
}
::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field {
padding-top: 0;
padding-bottom: 0;
}
select {
background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27none%27 viewBox=%270 0 20 20%27%3e%3cpath stroke=%27%236b7280%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%271.5%27 d=%27M6 8l4 4 4-4%27/%3e%3c/svg%3e");
background-position: right 0.5rem center;
background-repeat: no-repeat;
background-size: 1.5em 1.5em;
padding-right: 2.5rem;
-webkit-print-color-adjust: exact;
print-color-adjust: exact;
}
[multiple] {
background-image: initial;
background-position: initial;
background-repeat: unset;
background-size: initial;
padding-right: 0.75rem;
-webkit-print-color-adjust: unset;
print-color-adjust: unset;
}
[type='checkbox'],[type='radio'] {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
padding: 0;
-webkit-print-color-adjust: exact;
print-color-adjust: exact;
display: inline-block;
vertical-align: middle;
background-origin: border-box;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
flex-shrink: 0;
height: 1rem;
width: 1rem;
color: #2563eb;
background-color: #fff;
border-color: #6b7280;
border-width: 1px;
--tw-shadow: 0 0 #0000;
}
[type='checkbox'] {
border-radius: 0px;
}
[type='radio'] {
border-radius: 100%;
}
[type='checkbox']:focus,[type='radio']:focus {
outline: 2px solid transparent;
outline-offset: 2px;
--tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
--tw-ring-offset-width: 2px;
--tw-ring-offset-color: #fff;
--tw-ring-color: #2563eb;
--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
[type='checkbox']:checked,[type='radio']:checked {
border-color: transparent;
background-color: currentColor;
background-size: 100% 100%;
background-position: center;
background-repeat: no-repeat;
}
[type='checkbox']:checked {
background-image: url("data:image/svg+xml,%3csvg viewBox=%270 0 16 16%27 fill=%27white%27 xmlns=%27http://www.w3.org/2000/svg%27%3e%3cpath d=%27M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z%27/%3e%3c/svg%3e");
}
[type='radio']:checked {
background-image: url("data:image/svg+xml,%3csvg viewBox=%270 0 16 16%27 fill=%27white%27 xmlns=%27http://www.w3.org/2000/svg%27%3e%3ccircle cx=%278%27 cy=%278%27 r=%273%27/%3e%3c/svg%3e");
}
[type='checkbox']:checked:hover,[type='checkbox']:checked:focus,[type='radio']:checked:hover,[type='radio']:checked:focus {
border-color: transparent;
background-color: currentColor;
}
[type='checkbox']:indeterminate {
background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27none%27 viewBox=%270 0 16 16%27%3e%3cpath stroke=%27white%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27M4 8h8%27/%3e%3c/svg%3e");
border-color: transparent;
background-color: currentColor;
background-size: 100% 100%;
background-position: center;
background-repeat: no-repeat;
}
[type='checkbox']:indeterminate:hover,[type='checkbox']:indeterminate:focus {
border-color: transparent;
background-color: currentColor;
}
[type='file'] {
background: unset;
border-color: inherit;
border-width: 0;
border-radius: 0;
padding: 0;
font-size: unset;
line-height: inherit;
}
[type='file']:focus {
outline: 1px solid ButtonText;
outline: 1px auto -webkit-focus-ring-color;
}
*, ::before, ::after {
--tw-border-spacing-x: 0;
--tw-border-spacing-y: 0;
--tw-translate-x: 0;
--tw-translate-y: 0;
--tw-rotate: 0;
--tw-skew-x: 0;
--tw-skew-y: 0;
--tw-scale-x: 1;
--tw-scale-y: 1;
--tw-pan-x: ;
--tw-pan-y: ;
--tw-pinch-zoom: ;
--tw-scroll-snap-strictness: proximity;
--tw-ordinal: ;
--tw-slashed-zero: ;
--tw-numeric-figure: ;
--tw-numeric-spacing: ;
--tw-numeric-fraction: ;
--tw-ring-inset: ;
--tw-ring-offset-width: 0px;
--tw-ring-offset-color: #fff;
--tw-ring-color: rgb(59 130 246 / 0.5);
--tw-ring-offset-shadow: 0 0 #0000;
--tw-ring-shadow: 0 0 #0000;
--tw-shadow: 0 0 #0000;
--tw-shadow-colored: 0 0 #0000;
--tw-blur: ;
--tw-brightness: ;
--tw-contrast: ;
--tw-grayscale: ;
--tw-hue-rotate: ;
--tw-invert: ;
--tw-saturate: ;
--tw-sepia: ;
--tw-drop-shadow: ;
--tw-backdrop-blur: ;
--tw-backdrop-brightness: ;
--tw-backdrop-contrast: ;
--tw-backdrop-grayscale: ;
--tw-backdrop-hue-rotate: ;
--tw-backdrop-invert: ;
--tw-backdrop-opacity: ;
--tw-backdrop-saturate: ;
--tw-backdrop-sepia: ;
}
::backdrop {
--tw-border-spacing-x: 0;
--tw-border-spacing-y: 0;
--tw-translate-x: 0;
--tw-translate-y: 0;
--tw-rotate: 0;
--tw-skew-x: 0;
--tw-skew-y: 0;
--tw-scale-x: 1;
--tw-scale-y: 1;
--tw-pan-x: ;
--tw-pan-y: ;
--tw-pinch-zoom: ;
--tw-scroll-snap-strictness: proximity;
--tw-ordinal: ;
--tw-slashed-zero: ;
--tw-numeric-figure: ;
--tw-numeric-spacing: ;
--tw-numeric-fraction: ;
--tw-ring-inset: ;
--tw-ring-offset-width: 0px;
--tw-ring-offset-color: #fff;
--tw-ring-color: rgb(59 130 246 / 0.5);
--tw-ring-offset-shadow: 0 0 #0000;
--tw-ring-shadow: 0 0 #0000;
--tw-shadow: 0 0 #0000;
--tw-shadow-colored: 0 0 #0000;
--tw-blur: ;
--tw-brightness: ;
--tw-contrast: ;
--tw-grayscale: ;
--tw-hue-rotate: ;
--tw-invert: ;
--tw-saturate: ;
--tw-sepia: ;
--tw-drop-shadow: ;
--tw-backdrop-blur: ;
--tw-backdrop-brightness: ;
--tw-backdrop-contrast: ;
--tw-backdrop-grayscale: ;
--tw-backdrop-hue-rotate: ;
--tw-backdrop-invert: ;
--tw-backdrop-opacity: ;
--tw-backdrop-saturate: ;
--tw-backdrop-sepia: ;
}
.col-span-12 {
grid-column: span 12 / span 12;
}
.m-auto {
margin: auto;
}
.mx-auto {
margin-left: auto;
margin-right: auto;
}
.mx-4 {
margin-left: 1rem;
margin-right: 1rem;
}
.ml-auto {
margin-left: auto;
}
.ml-2 {
margin-left: 0.5rem;
}
.mb-5 {
margin-bottom: 1.25rem;
}
.ml-1 {
margin-left: 0.25rem;
}
.mb-2 {
margin-bottom: 0.5rem;
}
.mr-2 {
margin-right: 0.5rem;
}
.mt-4 {
margin-top: 1rem;
}
.mt-1 {
margin-top: 0.25rem;
}
.mr-1 {
margin-right: 0.25rem;
}
.mt-3 {
margin-top: 0.75rem;
}
.mt-2 {
margin-top: 0.5rem;
}
.block {
display: block;
}
.inline {
display: inline;
}
.flex {
display: flex;
}
.grid {
display: grid;
}
.hidden {
display: none;
}
.h-full {
height: 100%;
}
.w-full {
width: 100%;
}
.transform {
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.resize {
resize: both;
}
.grid-cols-1 {
grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.flex-row {
flex-direction: row;
}
.flex-col {
flex-direction: column;
}
.items-center {
align-items: center;
}
.justify-between {
justify-content: space-between;
}
.gap-2 {
gap: 0.5rem;
}
.gap-x-4 {
-moz-column-gap: 1rem;
column-gap: 1rem;
}
.rounded {
border-radius: 0.25rem;
}
.rounded-md {
border-radius: 0.375rem;
}
.rounded-full {
border-radius: 9999px;
}
.rounded-l-md {
border-top-left-radius: 0.375rem;
border-bottom-left-radius: 0.375rem;
}
.rounded-r-md {
border-top-right-radius: 0.375rem;
border-bottom-right-radius: 0.375rem;
}
.border {
border-width: 1px;
}
.border-b-2 {
border-bottom-width: 2px;
}
.border-zinc-300 {
--tw-border-opacity: 1;
border-color: rgb(212 212 216 / var(--tw-border-opacity));
}
.border-gray-400 {
--tw-border-opacity: 1;
border-color: rgb(156 163 175 / var(--tw-border-opacity));
}
.border-gray-300 {
--tw-border-opacity: 1;
border-color: rgb(209 213 219 / var(--tw-border-opacity));
}
.border-gray-200 {
--tw-border-opacity: 1;
border-color: rgb(229 231 235 / var(--tw-border-opacity));
}
.bg-fuchsia-300 {
--tw-bg-opacity: 1;
background-color: rgb(240 171 252 / var(--tw-bg-opacity));
}
.bg-slate-300 {
--tw-bg-opacity: 1;
background-color: rgb(203 213 225 / var(--tw-bg-opacity));
}
.bg-lime-300 {
--tw-bg-opacity: 1;
background-color: rgb(190 242 100 / var(--tw-bg-opacity));
}
.bg-white {
--tw-bg-opacity: 1;
background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}
.stroke-purple-900 {
stroke: #581c87;
}
.stroke-gray-400 {
stroke: #9ca3af;
}
.p-4 {
padding: 1rem;
}
.p-3 {
padding: 0.75rem;
}
.p-5 {
padding: 1.25rem;
}
.px-3 {
padding-left: 0.75rem;
padding-right: 0.75rem;
}
.py-2 {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
}
.py-6 {
padding-top: 1.5rem;
padding-bottom: 1.5rem;
}
.px-4 {
padding-left: 1rem;
padding-right: 1rem;
}
.py-1 {
padding-top: 0.25rem;
padding-bottom: 0.25rem;
}
.pt-5 {
padding-top: 1.25rem;
}
.pb-4 {
padding-bottom: 1rem;
}
.pb-6 {
padding-bottom: 1.5rem;
}
.pb-3 {
padding-bottom: 0.75rem;
}
.pt-0 {
padding-top: 0px;
}
.pl-10 {
padding-left: 2.5rem;
}
.text-center {
text-align: center;
}
.font-mono {
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.text-2xl {
font-size: 1.5rem;
line-height: 2rem;
}
.text-sm {
font-size: 0.875rem;
line-height: 1.25rem;
}
.font-bold {
font-weight: 700;
}
.font-medium {
font-weight: 500;
}
.leading-none {
line-height: 1;
}
.leading-tight {
line-height: 1.25;
}
.text-gray-900 {
--tw-text-opacity: 1;
color: rgb(17 24 39 / var(--tw-text-opacity));
}
.text-cyan-600 {
--tw-text-opacity: 1;
color: rgb(8 145 178 / var(--tw-text-opacity));
}
.text-gray-700 {
--tw-text-opacity: 1;
color: rgb(55 65 81 / var(--tw-text-opacity));
}
.shadow-sm {
--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.drop-shadow-md {
--tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / 0.07)) drop-shadow(0 2px 2px rgb(0 0 0 / 0.06));
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.hover\:bg-gray-100:hover {
--tw-bg-opacity: 1;
background-color: rgb(243 244 246 / var(--tw-bg-opacity));
}
.hover\:text-blue-700:hover {
--tw-text-opacity: 1;
color: rgb(29 78 216 / var(--tw-text-opacity));
}
.focus\:z-10:focus {
z-index: 10;
}
.focus\:border-indigo-300:focus {
--tw-border-opacity: 1;
border-color: rgb(165 180 252 / var(--tw-border-opacity));
}
.focus\:text-blue-700:focus {
--tw-text-opacity: 1;
color: rgb(29 78 216 / var(--tw-text-opacity));
}
.focus\:ring:focus {
--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-2:focus {
--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-indigo-200:focus {
--tw-ring-opacity: 1;
--tw-ring-color: rgb(199 210 254 / var(--tw-ring-opacity));
}
.focus\:ring-blue-700:focus {
--tw-ring-opacity: 1;
--tw-ring-color: rgb(29 78 216 / var(--tw-ring-opacity));
}
.focus\:ring-opacity-50:focus {
--tw-ring-opacity: 0.5;
}
@media (prefers-color-scheme: dark) {
.dark\:border-gray-600 {
--tw-border-opacity: 1;
border-color: rgb(75 85 99 / var(--tw-border-opacity));
}
.dark\:bg-gray-700 {
--tw-bg-opacity: 1;
background-color: rgb(55 65 81 / var(--tw-bg-opacity));
}
.dark\:text-white {
--tw-text-opacity: 1;
color: rgb(255 255 255 / var(--tw-text-opacity));
}
.dark\:hover\:bg-gray-600:hover {
--tw-bg-opacity: 1;
background-color: rgb(75 85 99 / var(--tw-bg-opacity));
}
.dark\:hover\:text-white:hover {
--tw-text-opacity: 1;
color: rgb(255 255 255 / var(--tw-text-opacity));
}
.dark\:focus\:text-white:focus {
--tw-text-opacity: 1;
color: rgb(255 255 255 / var(--tw-text-opacity));
}
.dark\:focus\:ring-blue-500:focus {
--tw-ring-opacity: 1;
--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity));
}
}
@media (min-width: 640px) {
.sm\:gap-4 {
gap: 1rem;
}
}
@media (min-width: 768px) {
.md\:visible {
visibility: visible;
}
.md\:block {
display: block;
}
.md\:w-1\/2 {
width: 50%;
}
.md\:border {
border-width: 1px;
}
.md\:p-10 {
padding: 2.5rem;
}
}
@media (min-width: 1024px) {
.lg\:mr-4 {
margin-right: 1rem;
}
.lg\:grid-cols-\[1fr_2fr\] {
grid-template-columns: 1fr 2fr;
}
.lg\:gap-x-20 {
-moz-column-gap: 5rem;
column-gap: 5rem;
}
.lg\:text-4xl {
font-size: 2.25rem;
line-height: 2.5rem;
}
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNiNjlkZjkxLmNzcyIsIm1hcHBpbmdzIjoiOzs7O0FBOHJCQTtFQUNFLCtCQUErQjtFQUMvQixjQUFjO0FBQ2hCO0FBRUE7RUFDRSwyQkFBMkI7RUFDM0IsWUFBWTtBQUNkO0FBRUE7RUFDRSxZQUFZO0FBQ2Q7QUFFQTtFQUNFLDBCQUEwQjtBQUM1QjtBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLHNCQUFzQjtBQUN4QjtBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCO0FBRUE7RUFDRSx5QkFBeUI7RUFDekIsd0xBQXdMO0VBQ3hMLDBCQUEwQjtFQUMxQixtQ0FBbUM7RUFDbkMsa0JBQWtCO0FBQ3BCO0FBRUE7RUFDRSxjQUFjO0FBQ2hCO0FBRUE7RUFDRSxjQUFjO0FBQ2hCO0FBRUE7RUFDRSxzQkFBc0I7RUFDdEIsa0NBQWtDO0FBQ3BDO0FBRUE7RUFDRSxnQkFBZ0I7QUFDbEI7Ozs7O0FDaHZCQTs7Q0FBYyxDQUFkOzs7Q0FBYzs7QUFBZDs7O0VBQUEsc0JBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxtQkFBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7RUFBQSxnQkFBYztBQUFBOztBQUFkOzs7Ozs7Q0FBYzs7QUFBZDtFQUFBLGdCQUFjLEVBQWQsTUFBYztFQUFkLDhCQUFjLEVBQWQsTUFBYztFQUFkLGdCQUFjLEVBQWQsTUFBYztFQUFkLGNBQWM7S0FBZCxXQUFjLEVBQWQsTUFBYztFQUFkLDROQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLFNBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDtFQUFBLFNBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHlDQUFjO1VBQWQsaUNBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7Ozs7O0VBQUEsa0JBQWM7RUFBZCxvQkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsY0FBYztFQUFkLHdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsbUJBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7Ozs7RUFBQSwrR0FBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsY0FBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLGNBQWM7RUFBZCxjQUFjO0VBQWQsa0JBQWM7RUFBZCx3QkFBYztBQUFBOztBQUFkO0VBQUEsZUFBYztBQUFBOztBQUFkO0VBQUEsV0FBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztFQUFkLHlCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7Ozs7O0VBQUEsb0JBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztFQUFkLFNBQWMsRUFBZCxNQUFjO0VBQWQsVUFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxvQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDs7OztFQUFBLDBCQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLHNCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsYUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsWUFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLDZCQUFjLEVBQWQs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QW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLHFCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxpQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxtQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDBDQUFtQjtFQUFuQix1REFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxtR0FBbUI7RUFBbkI7QUFBbUI7QUFGbkI7RUFBQSxtQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLHFCQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUE7Q0NBQTtBREFBO0VBQUEsdUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxxQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLDRHQ0FBO0VEQUEsMEdDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSw0R0NBQTtFREFBLDBHQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEscUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxxQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBO0NDQUE7QURBQTs7RUFBQTtJQUFBLHVCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLHFCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLHFCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLHFCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLHFCQ0FBO0lEQUE7R0NBQTtDQUFBO0FEQUE7O0VBQUE7SUFBQTtHQ0FBO0NBQUE7QURBQTs7RUFBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBO0NBQUE7QURBQTs7RUFBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUEsc0JDQUE7U0RBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBO0NBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvcGFnZS9PZ0ltYWdlR2VuZXJhdG9yUGFnZS52dWUiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvYXBwLmNzcyIsIndlYnBhY2s6Ly8vPG5vIHNvdXJjZT4iXSwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwiZmxleFwiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwibGc6bXItNCB0b29sc1wiXG4gICAgICByZWY9XCJ0b29sc1wiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cIm1iLTIgZmxleCBmbGV4LXJvd1wiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdi1mb3I9XCIobmFtZSwgdmFsdWUpIGluIHRvb2xzXCJcbiAgICAgICAgICBjbGFzcz1cInAtMyBtci0yIHJvdW5kZWRcIlxuICAgICAgICAgIDpjbGFzcz1cInsnYmctc2xhdGUtMzAwJzogdGhpcy50b29sID09IHZhbHVlfVwiXG4gICAgICAgICAgQGNsaWNrPVwidGhpcy50b29sID0gdmFsdWVcIlxuICAgICAgICAgIHYtdGV4dD1cIm5hbWVcIlxuICAgICAgICA+PC9idXR0b24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdlxuICAgICAgICA6Y2xhc3M9XCJ7aGlkZGVuOiB0aGlzLnRvb2wgIT09ICdoZWFkaW5nJ31cIlxuICAgICAgICBjbGFzcz1cImRyb3Atc2hhZG93LW1kIHJvdW5kZWQtbWQgbWQ6Ym9yZGVyIGJvcmRlci16aW5jLTMwMCB0b29sXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInAtNVwiPlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8VGV4dGFyZWFGb3JtXG4gICAgICAgICAgICAgIGlkPVwiaGVhZGluZ1wiXG4gICAgICAgICAgICAgIHYtbW9kZWw9XCJoZWFkaW5nXCJcbiAgICAgICAgICAgICAgbGFiZWw9XCJIZWFkaW5nXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8UmFuZ2VGb3JtXG4gICAgICAgICAgICAgIGlkPVwiaGVhZGluZy1zaXplXCJcbiAgICAgICAgICAgICAgdi1tb2RlbD1cImhlYWRpbmdTaXplXCJcbiAgICAgICAgICAgICAgbWluPVwiMVwiXG4gICAgICAgICAgICAgIG1heD1cIjIwXCJcbiAgICAgICAgICAgICAgc3RlcD1cIjAuMVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInB5LTZcIj5cbiAgICAgICAgICAgIDxUZXh0YXJlYUZvcm1cbiAgICAgICAgICAgICAgaWQ9XCJzdWJoZWFkaW5nXCJcbiAgICAgICAgICAgICAgdi1tb2RlbD1cInN1YmhlYWRpbmdcIlxuICAgICAgICAgICAgICBsYWJlbD1cIlN1YmhlYWRpbmdcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxSYW5nZUZvcm1cbiAgICAgICAgICAgICAgaWQ9XCJzdWJoZWFkaW5nLXNpemVcIlxuICAgICAgICAgICAgICB2LW1vZGVsPVwic3ViaGVhZGluZ1NpemVcIlxuICAgICAgICAgICAgICBtaW49XCIxXCJcbiAgICAgICAgICAgICAgbWF4PVwiMjBcIlxuICAgICAgICAgICAgICBzdGVwPVwiMC4xXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGItNlwiPlxuICAgICAgICAgICAgPENoZWNrYm94Rm9ybVxuICAgICAgICAgICAgICBpZD1cImFsbG93LWh0bWxcIlxuICAgICAgICAgICAgICB2LW1vZGVsPVwiYWxsb3dIdG1sXCJcbiAgICAgICAgICAgICAgbGFiZWw9XCJBbGxvdyBIVE1MXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGItNlwiPlxuICAgICAgICAgICAgPFJhbmdlRm9ybVxuICAgICAgICAgICAgICBpZD1cImhlYWRpbmctc3BhY2luZ1wiXG4gICAgICAgICAgICAgIHYtbW9kZWw9XCJoZWFkaW5nU3BhY2luZ1wiXG4gICAgICAgICAgICAgIG1pbj1cIjBcIlxuICAgICAgICAgICAgICBtYXg9XCIzMDBcIlxuICAgICAgICAgICAgICBzdGVwPVwiMC4wNVwiXG4gICAgICAgICAgICAgIGxhYmVsPVwiU3BhY2luZ1wiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBiLTZcIj5cbiAgICAgICAgICAgIDxSYW5nZUZvcm1cbiAgICAgICAgICAgICAgaWQ9XCJjb250ZW50LXBhZGRpbmdcIlxuICAgICAgICAgICAgICB2LW1vZGVsPVwiY29udGVudFBhZGRpbmdcIlxuICAgICAgICAgICAgICBtaW49XCIwXCJcbiAgICAgICAgICAgICAgbWF4PVwiMzAwXCJcbiAgICAgICAgICAgICAgc3RlcD1cIjAuMDVcIlxuICAgICAgICAgICAgICBsYWJlbD1cIlBhZGRpbmdcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYi0zXCI+XG4gICAgICAgICAgICA8SW5wdXRGb3JtXG4gICAgICAgICAgICAgIGlkPVwidGV4dC1jb2xvclwiXG4gICAgICAgICAgICAgIHYtbW9kZWw9XCJ0ZXh0Q29sb3JcIlxuICAgICAgICAgICAgICBsYWJlbD1cIlRleHQgY29sb3JcIlxuICAgICAgICAgICAgICB0eXBlPVwiY29sb3JcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgc3Ryb2tlLWdyYXktNDAwXCI+XG4gICAgICAgICAgICAgIDxBbGlnbkZvcm0gdi1tb2RlbD1cImhlYWRpbmdBbGlnblwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdlxuICAgICAgICA6Y2xhc3M9XCJ7aGlkZGVuOiB0aGlzLnRvb2wgIT09ICdhdXRob3InfVwiXG4gICAgICAgIGNsYXNzPVwiZHJvcC1zaGFkb3ctbWQgcm91bmRlZC1tZCBtZDpib3JkZXIgYm9yZGVyLXppbmMtMzAwIHRvb2xcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicC01XCI+XG4gICAgICAgICAgPENoZWNrYm94Rm9ybVxuICAgICAgICAgICAgaWQ9XCJhdXRob3Itc2hvd1wiXG4gICAgICAgICAgICB2LW1vZGVsPVwiYXV0aG9yU2hvd1wiXG4gICAgICAgICAgICBsYWJlbD1cIlNob3cgdGhlIGJsb2NrXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwicC01IHB0LTBcIj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPElucHV0Rm9ybVxuICAgICAgICAgICAgICBpZD1cImF1dGhvclwiXG4gICAgICAgICAgICAgIHYtbW9kZWw9XCJhdXRob3JcIlxuICAgICAgICAgICAgICBsYWJlbD1cIkF1dGhvclwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFJhbmdlRm9ybVxuICAgICAgICAgICAgICBpZD1cImF1dGhvci1zaXplXCJcbiAgICAgICAgICAgICAgdi1tb2RlbD1cImF1dGhvclNpemVcIlxuICAgICAgICAgICAgICBtaW49XCIxXCJcbiAgICAgICAgICAgICAgbWF4PVwiMjBcIlxuICAgICAgICAgICAgICBzdGVwPVwiMC4xXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInB5LTZcIj5cbiAgICAgICAgICAgIDxGaWxlRm9ybVxuICAgICAgICAgICAgICBpZD1cImF2YXRhclwiXG4gICAgICAgICAgICAgIHYtbW9kZWw9XCJhdmF0YXJcIlxuICAgICAgICAgICAgICBsYWJlbD1cIkF2YXRhclwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxGaWxlRm9ybVxuICAgICAgICAgICAgICBpZD1cImxvZ29cIlxuICAgICAgICAgICAgICB2LW1vZGVsPVwibG9nb1wiXG4gICAgICAgICAgICAgIGxhYmVsPVwiTG9nb1wiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZS1ncmF5LTQwMCBweS02XCI+XG4gICAgICAgICAgICA8UmFuZ2VGb3JtXG4gICAgICAgICAgICAgIGlkPVwiYXV0aG9yLW1hcmdpbi1ib3R0b21cIlxuICAgICAgICAgICAgICB2LW1vZGVsPVwiYXV0aG9yTWFyZ2luQm90dG9tXCJcbiAgICAgICAgICAgICAgbWluPVwiMFwiXG4gICAgICAgICAgICAgIG1heD1cIjUwMFwiXG4gICAgICAgICAgICAgIHN0ZXA9XCIwLjFcIlxuICAgICAgICAgICAgICBsYWJlbD1cIlBvc2l0aW9uXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8UmFuZ2VGb3JtXG4gICAgICAgICAgICAgIGlkPVwiYXV0aG9yLXBhZGRpbmdcIlxuICAgICAgICAgICAgICB2LW1vZGVsPVwiYXV0aG9yUGFkZGluZ1wiXG4gICAgICAgICAgICAgIG1pbj1cIjBcIlxuICAgICAgICAgICAgICBtYXg9XCI1MFwiXG4gICAgICAgICAgICAgIHN0ZXA9XCIwLjA1XCJcbiAgICAgICAgICAgICAgbGFiZWw9XCJQYWRkaW5nXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGItM1wiPlxuICAgICAgICAgICAgPElucHV0Rm9ybVxuICAgICAgICAgICAgICBpZD1cImF1dGhvci10ZXh0LWNvbG9yXCJcbiAgICAgICAgICAgICAgdi1tb2RlbD1cImF1dGhvclRleHRDb2xvclwiXG4gICAgICAgICAgICAgIGxhYmVsPVwiVGV4dCBjb2xvclwiXG4gICAgICAgICAgICAgIHR5cGU9XCJjb2xvclwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxJbnB1dEZvcm1cbiAgICAgICAgICAgICAgaWQ9XCJiYWNrZ3JvdW5kLWNvbG9yXCJcbiAgICAgICAgICAgICAgdi1tb2RlbD1cImF1dGhvckJhY2tncm91bmRDb2xvclwiXG4gICAgICAgICAgICAgIGxhYmVsPVwiQmFja2dyb3VuZCBjb2xvclwiXG4gICAgICAgICAgICAgIHR5cGU9XCJjb2xvclwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFJhbmdlRm9ybVxuICAgICAgICAgICAgICBpZD1cImF1dGhvci1iYWNrZ3JvdW5kLW9wYWNpdHlcIlxuICAgICAgICAgICAgICB2LW1vZGVsPVwiYXV0aG9yQmFja2dyb3VuZE9wYWNpdHlcIlxuICAgICAgICAgICAgICBtaW49XCIwXCJcbiAgICAgICAgICAgICAgbWF4PVwiMVwiXG4gICAgICAgICAgICAgIHN0ZXA9XCIwLjA1XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHN0cm9rZS1ncmF5LTQwMCBwdC01XCI+XG4gICAgICAgICAgICAgIDxBbGlnbkZvcm0gdi1tb2RlbD1cImF1dGhvckFsaWduXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIDpjbGFzcz1cIntoaWRkZW46IHRoaXMudG9vbCAhPT0gJ2ZvbnQnfVwiXG4gICAgICAgIGNsYXNzPVwiZHJvcC1zaGFkb3ctbWQgcm91bmRlZC1tZCBtZDpib3JkZXIgYm9yZGVyLXppbmMtMzAwIHRvb2xcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicC01XCI+XG4gICAgICAgICAgPFNlbGVjdEZvcm1cbiAgICAgICAgICAgIGlkPVwiZm9udFwiXG4gICAgICAgICAgICB2LW1vZGVsPVwiZm9udFwiXG4gICAgICAgICAgICA6aXRlbXM9XCJmb250c1wiXG4gICAgICAgICAgICBsYWJlbD1cIkZvbnRcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgOmNsYXNzPVwie2hpZGRlbjogdGhpcy50b29sICE9PSAnYmFja2dyb3VuZCd9XCJcbiAgICAgICAgY2xhc3M9XCJkcm9wLXNoYWRvdy1tZCByb3VuZGVkLW1kIG1kOmJvcmRlciBib3JkZXItemluYy0zMDAgdG9vbFwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwLTVcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGItNlwiPlxuICAgICAgICAgICAgPEZpbGVGb3JtXG4gICAgICAgICAgICAgIGlkPVwiYmFja2dyb3VuZFwiXG4gICAgICAgICAgICAgIHYtbW9kZWw9XCJiYWNrZ3JvdW5kXCJcbiAgICAgICAgICAgICAgbGFiZWw9XCJCYWNrZ3JvdW5kXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPElucHV0Rm9ybVxuICAgICAgICAgICAgICBpZD1cImJhY2tncm91bmQtaG92ZXJcIlxuICAgICAgICAgICAgICB2LW1vZGVsPVwiYmFja2dyb3VuZEhvdmVyXCJcbiAgICAgICAgICAgICAgbGFiZWw9XCJCYWNrZ3JvdW5kIGhvdmVyXCJcbiAgICAgICAgICAgICAgdHlwZT1cImNvbG9yXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8UmFuZ2VGb3JtXG4gICAgICAgICAgICAgIGlkPVwiYmFja2dyb3VuZC1ob3Zlci1vcGFjaXR5XCJcbiAgICAgICAgICAgICAgdi1tb2RlbD1cImJhY2tncm91bmRIb3Zlck9wYWNpdHlcIlxuICAgICAgICAgICAgICBtaW49XCIwXCJcbiAgICAgICAgICAgICAgbWF4PVwiMVwiXG4gICAgICAgICAgICAgIHN0ZXA9XCIwLjA1XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIDpjbGFzcz1cIntoaWRkZW46IHRoaXMudG9vbCAhPT0gJ3NpemVzJ31cIlxuICAgICAgICBjbGFzcz1cImRyb3Atc2hhZG93LW1kIHJvdW5kZWQtbWQgbWQ6Ym9yZGVyIGJvcmRlci16aW5jLTMwMCB0b29sXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInAtNVwiPlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgY2xhc3M9XCJibG9jayB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZ3JheS03MDBcIlxuICAgICAgICAgICAgICBmb3I9XCJ3aWR0aFwiXG4gICAgICAgICAgICA+U2l6ZXM8L2xhYmVsPlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBncmlkLWNvbHMtMiBnYXAteC00XCI+XG4gICAgICAgICAgICAgIDxJbnB1dEZvcm1cbiAgICAgICAgICAgICAgICBpZD1cIndpZHRoXCJcbiAgICAgICAgICAgICAgICB2LW1vZGVsPVwid2lkdGhcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8SW5wdXRGb3JtXG4gICAgICAgICAgICAgICAgaWQ9XCJoZWlnaHRcIlxuICAgICAgICAgICAgICAgIHYtbW9kZWw9XCJoZWlnaHRcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxoMyBjbGFzcz1cIm10LTQgYmxvY2sgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWdyYXktNzAwXCI+UmVjb21tZW5kYXRpb25zPC9oMz5cblxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICB2LWZvcj1cIihzaXplcywgbmFtZSkgaW4gc2l6ZXNSZWNvbW1lbmRhdGlvbnNcIlxuICAgICAgICAgICAgICBjbGFzcz1cImJnLWxpbWUtMzAwIHJvdW5kZWQgcHgtMyBweS0yIG10LTEgbXItMVwiXG4gICAgICAgICAgICAgIEBjbGljaz1cInRoaXMuc2V0U2l6ZXMoc2l6ZXNbMF0sIHNpemVzWzFdKVwiXG4gICAgICAgICAgICAgIHYtdGV4dD1cIm5hbWVcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIHJlZj1cIm9nd3JhcHBlclwiXG4gICAgICBjbGFzcz1cIm9nLXdyYXBwZXIgcGwtMTBcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJvZy13cmFwcGVyLWNvbnRlbnRcIj5cbiAgICAgICAgPHN2Z1xuICAgICAgICAgIDp2aWV3Qm94PVwiWzAsIDAsIHdpZHRoLCBoZWlnaHRdLmpvaW4oJyAnKVwiXG4gICAgICAgICAgOnN0eWxlPVwib2dTdmdTdHlsZSgpXCJcbiAgICAgICAgICA6d2lkdGg9XCJvZ01heFdpZHRoXCJcbiAgICAgICAgICA6aGVpZ2h0PVwib2dNYXhIZWlnaHRcIlxuICAgICAgICA+XG4gICAgICAgICAgPGZvcmVpZ25PYmplY3RcbiAgICAgICAgICAgIDpzdHlsZT1cIm9nU3ZnRm9TdHlsZSgpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIHJlZj1cIm9nXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJvZ1wiXG4gICAgICAgICAgICAgIDpzdHlsZT1cIm9nU3R5bGUoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICByZWY9XCJyZW5kZXJcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwib2ctaW1hZ2VcIlxuICAgICAgICAgICAgICAgIDpzdHlsZT1cIm9nSW1hZ2VTdHlsZSgpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwib2ctaW1hZ2UtaG92ZXJcIlxuICAgICAgICAgICAgICAgICAgOnN0eWxlPVwib2dJbWFnZUhvdmVyU3R5bGUoKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImgtZnVsbCBmbGV4IGZsZXgtY29sIGp1c3RpZnktYmV0d2VlblwiXG4gICAgICAgICAgICAgICAgICAgIDpzdHlsZT1cIm9nQ29udGVudFN0eWxlKClcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHYtaWY9XCJhbGxvd0h0bWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8aDFcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibGVhZGluZy1ub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIDpzdHlsZT1cIm9nSGVhZGluZ1N0eWxlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdi1odG1sPVwiaGVhZGluZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8cFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJsZWFkaW5nLXRpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIDpzdHlsZT1cIm9nU3ViaGVhZGluZ1N0eWxlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdi1odG1sPVwic3ViaGVhZGluZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgdi1lbHNlPlxuICAgICAgICAgICAgICAgICAgICAgIDxoMVxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJsZWFkaW5nLW5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgOnN0eWxlPVwib2dIZWFkaW5nU3R5bGUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB2LXRleHQ9XCJoZWFkaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxwXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxlYWRpbmctdGlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgOnN0eWxlPVwib2dTdWJoZWFkaW5nU3R5bGUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB2LXRleHQ9XCJzdWJoZWFkaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBmbGV4IGZsZXgtcm93IGl0ZW1zLWNlbnRlciBvZy1pbWFnZS0tZm9vdGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICA6c3R5bGU9XCJvZ0F1dGhvclN0eWxlKClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgdi1pZj1cImF2YXRhclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInJvdW5kZWQtZnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA6c3R5bGU9XCJvZ0F1dGhvckltYWdlU3R5bGUoJ2F2YXRhcicpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFBQkNBUUFBQUMxSEF3Q0FBQUFDMGxFUVZSNDJtTmtZQUFBQUFZQUFqQ0IwQzhBQUFBQVNVVk9SSzVDWUlJPVwiXG4gICAgICAgICAgICAgICAgICAgICAgPlxuXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXgtNFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA6c3R5bGU9XCJvZ0F1dGhvclRleHRTdHlsZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHYtdGV4dD1cImF1dGhvclwiXG4gICAgICAgICAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgIHYtaWY9XCJsb2dvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicm91bmRlZC1mdWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIDpzdHlsZT1cIm9nQXV0aG9ySW1hZ2VTdHlsZSgnbG9nbycpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFBQkNBUUFBQUMxSEF3Q0FBQUFDMGxFUVZSNDJtTmtZQUFBQUFZQUFqQ0IwQzhBQUFBQVNVVk9SSzVDWUlJPVwiXG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZm9yZWlnbk9iamVjdD5cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtdC0zXCI+XG4gICAgICAgIDxEb3dubG9hZEJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwicm91bmRlZC1sLW1kXCJcbiAgICAgICAgICBsYWJlbD1cIlBOR1wiXG4gICAgICAgICAgQGNsaWNrPVwiZG93bmxvYWRBc1BuZ1wiXG4gICAgICAgIC8+XG4gICAgICAgIDxEb3dubG9hZEJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwicm91bmRlZC1yLW1kXCJcbiAgICAgICAgICBsYWJlbD1cIkpQRUdcIlxuICAgICAgICAgIEBjbGljaz1cImRvd25sb2FkQXNKcGVnXCJcbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5pbXBvcnQgeyBoZXhUb1JnYiB9IGZyb20gJy4uL3V0aWwvY29sb3InXG5pbXBvcnQgeyB0b1BuZywgdG9KcGVnIH0gZnJvbSAnaHRtbC10by1pbWFnZSdcbmltcG9ydCBJbnB1dEZvcm0gZnJvbSAnLi4vdWkvSW5wdXRGb3JtJ1xuaW1wb3J0IFJhbmdlRm9ybSBmcm9tICcuLi91aS9SYW5nZUZvcm0nXG5pbXBvcnQgVGV4dGFyZWFGb3JtIGZyb20gJy4uL3VpL1RleHRhcmVhRm9ybSdcbmltcG9ydCBGaWxlRm9ybSBmcm9tICcuLi91aS9GaWxlRm9ybSdcbmltcG9ydCBTZWxlY3RGb3JtIGZyb20gJy4uL3VpL1NlbGVjdEZvcm0nXG5pbXBvcnQgQ2hlY2tib3hGb3JtIGZyb20gJy4uL3VpL0NoZWNrYm94Rm9ybSdcbmltcG9ydCBBbGlnbkZvcm0gZnJvbSAnLi4vdWkvQWxpZ25Gb3JtJ1xuaW1wb3J0IERvd25sb2FkQnV0dG9uIGZyb20gJy4uL3VpL0Rvd25sb2FkQnV0dG9uJ1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGNvbXBvbmVudHM6IHtcbiAgICBJbnB1dEZvcm0sXG4gICAgUmFuZ2VGb3JtLFxuICAgIFRleHRhcmVhRm9ybSxcbiAgICBGaWxlRm9ybSxcbiAgICBTZWxlY3RGb3JtLFxuICAgIENoZWNrYm94Rm9ybSxcbiAgICBBbGlnbkZvcm0sXG4gICAgRG93bmxvYWRCdXR0b24sXG4gIH0sXG4gIGRhdGEoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRvb2w6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd0b29sJykgPz8gJ2hlYWRpbmcnLFxuICAgICAgYXV0aG9yOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnYXV0aG9yJykgPz8gJ0F1dGhvciBuYW1lJyxcbiAgICAgIGF1dGhvclNpemU6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdhdXRob3JTaXplJykgPz8gMS41LFxuICAgICAgYXV0aG9yU2hvdzogbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2F1dGhvclNob3cnKSA/PyB0cnVlLFxuICAgICAgYXV0aG9yUGFkZGluZzogbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2F1dGhvclBhZGRpbmcnKSA/PyAxMCxcbiAgICAgIGF1dGhvckFsaWduOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnYXV0aG9yQWxpZ24nKSA/PyAnbGVmdCcsXG4gICAgICBhdXRob3JUZXh0Q29sb3I6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdhdXRob3JUZXh0Q29sb3InKSA/PyAnI2ZmZjllNicsXG4gICAgICBhdXRob3JNYXJnaW5Cb3R0b206IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdhdXRob3JNYXJnaW5Cb3R0b20nKSA/PyAyMDAsXG4gICAgICBhdXRob3JCYWNrZ3JvdW5kQ29sb3I6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdhdXRob3JCYWNrZ3JvdW5kQ29sb3InKSA/PyAnI2ZjNTcwNScsXG4gICAgICBhdXRob3JCYWNrZ3JvdW5kT3BhY2l0eTogbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2F1dGhvckJhY2tncm91bmRPcGFjaXR5JykgPz8gMSxcbiAgICAgIGhlYWRpbmc6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdoZWFkaW5nJykgPz8gJ0hlYWRpbmcnLFxuICAgICAgc3ViaGVhZGluZzogbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3N1YmhlYWRpbmcnKSA/PyAnU3ViaGVhZGluZycsXG4gICAgICBoZWFkaW5nU3BhY2luZzogbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2hlYWRpbmdTcGFjaW5nJykgPz8gMTAsXG4gICAgICBoZWFkaW5nQWxpZ246IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdoZWFkaW5nQWxpZ24nKSA/PyAnbGVmdCcsXG4gICAgICBmb250OiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnZm9udCcpID8/ICdUcmVidWNoZXQgTVMnLFxuICAgICAgYXZhdGFyOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnYXZhdGFyJyksXG4gICAgICBsb2dvOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbG9nbycpLFxuICAgICAgdGV4dENvbG9yOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndGV4dENvbG9yJykgPz8gJyNmYzU3MDUnLFxuICAgICAgYmFja2dyb3VuZDogbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2JhY2tncm91bmQnKSxcbiAgICAgIGJhY2tncm91bmRIb3ZlcjogbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2JhY2tncm91bmRIb3ZlcicpID8/ICcjZmZmOWU2JyxcbiAgICAgIGJhY2tncm91bmRIb3Zlck9wYWNpdHk6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdiYWNrZ3JvdW5kSG92ZXJPcGFjaXR5JykgPz8gMSxcbiAgICAgIGhlYWRpbmdTaXplOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnaGVhZGluZ1NpemUnKSA/PyA0LFxuICAgICAgc3ViaGVhZGluZ1NpemU6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdzdWJoZWFkaW5nU2l6ZScpID8/IDIsXG4gICAgICB3aWR0aDogbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3dpZHRoJykgPz8gMTIwMCxcbiAgICAgIGhlaWdodDogbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2hlaWdodCcpID8/IDYwMCxcbiAgICAgIGNvbnRlbnRQYWRkaW5nOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnY29udGVudFBhZGRpbmcnKSA/PyAyMCxcbiAgICAgIGFsbG93SHRtbDogbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2FsbG93SHRtbCcpID8/IGZhbHNlLFxuICAgICAgb2dNYXhXaWR0aDogMTAwLFxuICAgICAgdG9vbHM6IHtcbiAgICAgICAgaGVhZGluZzogJ0hlYWRpbmcnLFxuICAgICAgICBhdXRob3I6ICdBdXRob3InLFxuICAgICAgICBmb250OiAnRm9udCcsXG4gICAgICAgIGJhY2tncm91bmQ6ICdCYWNrZ3JvdW5kJyxcbiAgICAgICAgc2l6ZXM6ICdTaXplcycsXG4gICAgICB9LFxuICAgICAgc2l6ZXNSZWNvbW1lbmRhdGlvbnM6IHtcbiAgICAgICAgTWFzdG9kb246IFsxMjAwLCA2MDBdLFxuICAgICAgICBMaW5rZWRJbjogWzEyMDAsIDYyN10sXG4gICAgICAgIEluc3RhZ3JhbTogWzEyMDAsIDYzMF0sXG4gICAgICAgIFg6IFsxMjAwLCA2NzVdLFxuICAgICAgfSxcbiAgICAgIGZvbnRzOiBbXG4gICAgICAgIHtsYWJlbDogJ0FyaWFsIChzYW5zLXNlcmlmKScsIHZhbHVlIDogJ0FyaWFsJ30sXG4gICAgICAgIHtsYWJlbDogJ0JydXNoIFNjcmlwdCBNVCAoY3Vyc2l2ZSknLCB2YWx1ZSA6ICdCcnVzaCBTY3JpcHQgTVQnfSxcbiAgICAgICAge2xhYmVsOiAnQ2FsaWJyaSAoc2Fucy1zZXJpZiknLCB2YWx1ZSA6ICdDYWxpYnJpJ30sXG4gICAgICAgIHtsYWJlbDogJ0NvdXJpZXIgTmV3IChtb25vc3BhY2UpJywgdmFsdWUgOiAnQ291cmllciBOZXcnfSxcbiAgICAgICAge2xhYmVsOiAnR2FyYW1vbmQgKHNlcmlmKScsIHZhbHVlIDogJ0dhcmFtb25kJ30sXG4gICAgICAgIHtsYWJlbDogJ0dlb3JnaWEgKHNlcmlmKScsIHZhbHVlIDogJ0dlb3JnaWEnfSxcbiAgICAgICAge2xhYmVsOiAnVGFob21hIChzYW5zLXNlcmlmKScsIHZhbHVlIDogJ1RhaG9tYSd9LFxuICAgICAgICB7bGFiZWw6ICdUaW1lcyBOZXcgUm9tYW4gKHNlcmlmKScsIHZhbHVlIDogJ1RpbWVzIE5ldyBSb21hbid9LFxuICAgICAgICB7bGFiZWw6ICdUcmVidWNoZXQgTVMgKHNhbnMtc2VyaWYpJywgdmFsdWUgOiAnVHJlYnVjaGV0IE1TJ30sXG4gICAgICAgIHtsYWJlbDogJ1ZlcmRhbmEgKHNhbnMtc2VyaWYpJywgdmFsdWUgOiAnVmVyZGFuYSd9LFxuICAgICAgXSxcbiAgICB9XG4gIH0sXG4gIHdhdGNoOiB7XG4gICAgdG9vbCh2YWx1ZSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3Rvb2wnLCB2YWx1ZSlcbiAgICB9LFxuICAgIGF1dGhvcih2YWx1ZSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2F1dGhvcicsIHZhbHVlKVxuICAgIH0sXG4gICAgYXV0aG9yU2hvdyh2YWx1ZSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2F1dGhvclNob3cnLCB2YWx1ZSlcbiAgICB9LFxuICAgIGF1dGhvclNpemUodmFsdWUpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdhdXRob3JTaXplJywgdmFsdWUpXG4gICAgfSxcbiAgICBhdXRob3JBbGlnbih2YWx1ZSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2F1dGhvckFsaWduJywgdmFsdWUpXG4gICAgfSxcbiAgICBhdXRob3JQYWRkaW5nKHZhbHVlKSB7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnYXV0aG9yUGFkZGluZycsIHZhbHVlKVxuICAgIH0sXG4gICAgYXV0aG9yQmFja2dyb3VuZENvbG9yKHZhbHVlKSB7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnYXV0aG9yQmFja2dyb3VuZENvbG9yJywgdmFsdWUpXG4gICAgfSxcbiAgICBhdXRob3JCYWNrZ3JvdW5kT3BhY2l0eSh2YWx1ZSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2F1dGhvckJhY2tncm91bmRPcGFjaXR5JywgdmFsdWUpXG4gICAgfSxcbiAgICBhdXRob3JUZXh0Q29sb3IodmFsdWUpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdhdXRob3JUZXh0Q29sb3InLCB2YWx1ZSlcbiAgICB9LFxuICAgIGF1dGhvck1hcmdpbkJvdHRvbSh2YWx1ZSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2F1dGhvck1hcmdpbkJvdHRvbScsIHZhbHVlKVxuICAgIH0sXG4gICAgaGVhZGluZyh2YWx1ZSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2hlYWRpbmcnLCB2YWx1ZSlcbiAgICB9LFxuICAgIHN1YmhlYWRpbmcodmFsdWUpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdzdWJoZWFkaW5nJywgdmFsdWUpXG4gICAgfSxcbiAgICBoZWFkaW5nU3BhY2luZyh2YWx1ZSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2hlYWRpbmdTcGFjaW5nJywgdmFsdWUpXG4gICAgfSxcbiAgICBhdmF0YXIodmFsdWUpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdhdmF0YXInLCB2YWx1ZSlcbiAgICB9LFxuICAgIGxvZ28odmFsdWUpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdsb2dvJywgdmFsdWUpXG4gICAgfSxcbiAgICB0ZXh0Q29sb3IodmFsdWUpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCd0ZXh0Q29sb3InLCB2YWx1ZSlcbiAgICB9LFxuICAgIGJhY2tncm91bmQodmFsdWUpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdiYWNrZ3JvdW5kJywgdmFsdWUpXG4gICAgfSxcbiAgICBiYWNrZ3JvdW5kSG92ZXIodmFsdWUpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdiYWNrZ3JvdW5kSG92ZXInLCB2YWx1ZSlcbiAgICB9LFxuICAgIGJhY2tncm91bmRIb3Zlck9wYWNpdHkodmFsdWUpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdiYWNrZ3JvdW5kSG92ZXJPcGFjaXR5JywgdmFsdWUpXG4gICAgfSxcbiAgICBoZWFkaW5nU2l6ZSh2YWx1ZSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2hlYWRpbmdTaXplJywgdmFsdWUpXG4gICAgfSxcbiAgICBzdWJoZWFkaW5nU2l6ZSh2YWx1ZSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3N1YmhlYWRpbmdTaXplJywgdmFsdWUpXG4gICAgfSxcbiAgICBoZWFkaW5nQWxpZ24odmFsdWUpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdoZWFkaW5nQWxpZ24nLCB2YWx1ZSlcbiAgICB9LFxuICAgIHdpZHRoKHZhbHVlKSB7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnd2lkdGgnLCB2YWx1ZSlcbiAgICB9LFxuICAgIGhlaWdodCh2YWx1ZSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2hlaWdodCcsIHZhbHVlKVxuICAgIH0sXG4gICAgY29udGVudFBhZGRpbmcodmFsdWUpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdjb250ZW50UGFkZGluZycsIHZhbHVlKVxuICAgIH0sXG4gICAgZm9udCh2YWx1ZSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2ZvbnQnLCB2YWx1ZSlcbiAgICB9LFxuICAgIGFsbG93SHRtbCh2YWx1ZSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2FsbG93SHRtbCcsIHZhbHVlKVxuICAgIH0sXG4gIH0sXG4gIG1vdW50ZWQoKSB7XG4gICAgdGhpcy51cGRhdGVPZ01heFdpZHRoKClcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy51cGRhdGVPZ01heFdpZHRoLCBmYWxzZSlcbiAgfSxcbiAgbWV0aG9kczoge1xuICAgIG9nU3ZnU3R5bGUoKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhc3BlY3RSYXRpbzogYCR7dGhpcy53aWR0aH0vJHt0aGlzLmhlaWdodH1gLFxuICAgICAgICBtYXhIZWlnaHQ6IGAke3RoaXMub2dNYXhIZWlnaHR9cHggIWltcG9ydGFudGAsXG4gICAgICAgIG1heFdpZHRoOiAnMTAwJScsXG4gICAgICB9XG4gICAgfSxcbiAgICBvZ1N2Z0ZvU3R5bGUoKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhc3BlY3RSYXRpbzogYCR7dGhpcy53aWR0aH0vJHt0aGlzLmhlaWdodH1gLFxuICAgICAgICBtYXhIZWlnaHQ6IGAke3RoaXMub2dNYXhIZWlnaHR9cHggIWltcG9ydGFudGAsXG4gICAgICAgIHdpZHRoOiBgJHt0aGlzLndpZHRofXB4YCxcbiAgICAgICAgaGVpZ2h0OiBgJHt0aGlzLmhlaWdodH1weGAsXG4gICAgICB9XG4gICAgfSxcbiAgICBvZ1N0eWxlKCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29sb3I6IHRoaXMudGV4dENvbG9yLFxuICAgICAgICBhc3BlY3RSYXRpbzogYCR7dGhpcy53aWR0aH0vJHt0aGlzLmhlaWdodH1gLFxuICAgICAgICBtYXhIZWlnaHQ6IGAke3RoaXMub2dNYXhIZWlnaHR9cHggIWltcG9ydGFudGAsXG4gICAgICAgIGZvbnRGYW1pbHk6IHRoaXMuZm9udCxcbiAgICAgICAgd2lkdGg6IGAke3RoaXMud2lkdGh9cHhgLFxuICAgICAgICBoZWlnaHQ6IGAke3RoaXMuaGVpZ2h0fXB4YCxcbiAgICAgIH1cbiAgICB9LFxuICAgIG9nSW1hZ2VTdHlsZSgpIHtcbiAgICAgIGxldCB2YWx1ZSA9IHtcbiAgICAgICAgYXNwZWN0UmF0aW86IGAke3RoaXMud2lkdGh9LyR7dGhpcy5oZWlnaHR9YFxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5iYWNrZ3JvdW5kKSB7XG4gICAgICAgIHZhbHVlLmJhY2tncm91bmQgPSBgdXJsKCR7dGhpcy5iYWNrZ3JvdW5kfSkgY2VudGVyYFxuICAgICAgICB2YWx1ZS5iYWNrZ3JvdW5kU2l6ZSA9ICdjb3ZlcidcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHZhbHVlXG4gICAgfSxcbiAgICBvZ0hlYWRpbmdTdHlsZSgpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGZvbnRTaXplOiBgJHt0aGlzLmhlYWRpbmdTaXplfWVtYCxcbiAgICAgICAgdGV4dEFsaWduOiB0aGlzLmhlYWRpbmdBbGlnbixcbiAgICAgIH1cbiAgICB9LFxuICAgIG9nU3ViaGVhZGluZ1N0eWxlKCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZm9udFNpemU6IGAke3RoaXMuc3ViaGVhZGluZ1NpemV9ZW1gLFxuICAgICAgICB0ZXh0QWxpZ246IHRoaXMuaGVhZGluZ0FsaWduLFxuICAgICAgICBtYXJnaW5Ub3A6IGAke3RoaXMuaGVhZGluZ1NwYWNpbmd9cHhgLFxuICAgICAgfVxuICAgIH0sXG4gICAgb2dBdXRob3JTdHlsZSgpIHtcbiAgICAgIGxldCB2YWx1ZSA9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJ25vbmUnLFxuICAgICAgICB0ZXh0QWxpZ246IHRoaXMuYXV0aG9yQWxpZ24sXG4gICAgICAgIGNvbG9yOiB0aGlzLmF1dGhvclRleHRDb2xvcixcbiAgICAgICAgbWFyZ2luQm90dG9tOiBgJHt0aGlzLmF1dGhvck1hcmdpbkJvdHRvbX1weGAsXG4gICAgICAgIHBhZGRpbmc6IGAke3RoaXMuYXV0aG9yUGFkZGluZ31weGAsXG4gICAgICAgIG1hcmdpbkxlZnQ6IGAtJHt0aGlzLmNvbnRlbnRQYWRkaW5nfXB4YCxcbiAgICAgICAgZm9udFNpemU6IGAke3RoaXMuYXV0aG9yU2l6ZX1lbWAsXG4gICAgICAgIHdpZHRoOiBgY2FsYygke3RoaXMuY29udGVudFBhZGRpbmcgKiAyfXB4ICsgMTAwJSlgLFxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5iYWNrZ3JvdW5kSG92ZXIpIHtcbiAgICAgICAgY29uc3QgY29sb3JzID0gaGV4VG9SZ2IodGhpcy5hdXRob3JCYWNrZ3JvdW5kQ29sb3IpXG4gICAgICAgIHZhbHVlLmJhY2tncm91bmQgPSBgcmdiYSgke2NvbG9ycy5yZWR9LCAke2NvbG9ycy5ncmVlbn0sICR7Y29sb3JzLmJsdWV9LCAke3RoaXMuYXV0aG9yQmFja2dyb3VuZE9wYWNpdHl9KWBcbiAgICAgIH1cblxuICAgICAgaWYgKCF0aGlzLmF1dGhvclNob3cpIHtcbiAgICAgICAgdmFsdWUuZGlzcGxheSA9ICdub25lJ1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdmFsdWVcbiAgICB9LFxuICAgIG9nQXV0aG9ySW1hZ2VTdHlsZSh0YXJnZXQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHdpZHRoOiBgJHt0aGlzLmF1dGhvclNpemV9ZW1gLFxuICAgICAgICBoZWlnaHQ6IGAke3RoaXMuYXV0aG9yU2l6ZX1lbWAsXG4gICAgICAgIGJhY2tncm91bmRJbWFnZTogYHVybCgke3RhcmdldCA9PT0gJ2xvZ28nID8gdGhpcy5sb2dvIDogdGhpcy5hdmF0YXJ9KWAsXG4gICAgICB9XG4gICAgfSxcbiAgICBvZ0F1dGhvclRleHRTdHlsZSgpIHtcbiAgICAgIGxldCB2YWx1ZSA9IHt9XG5cbiAgICAgIGlmICh0aGlzLmF1dGhvckFsaWduID09PSAnbGVmdCcpIHtcbiAgICAgICAgdmFsdWUubWFyZ2luUmlnaHQgPSAnYXV0byAhaW1wb3J0YW50J1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmF1dGhvckFsaWduID09PSAnY2VudGVyJykge1xuICAgICAgICB2YWx1ZS5tYXJnaW5MZWZ0ID0gJ2F1dG8gIWltcG9ydGFudCdcbiAgICAgICAgdmFsdWUubWFyZ2luUmlnaHQgPSAnYXV0byAhaW1wb3J0YW50J1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmF1dGhvckFsaWduID09PSAncmlnaHQnKSB7XG4gICAgICAgIHZhbHVlLm1hcmdpbkxlZnQgPSAnYXV0byAhaW1wb3J0YW50J1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdmFsdWVcbiAgICB9LFxuICAgIG9nSW1hZ2VIb3ZlclN0eWxlKCkge1xuICAgICAgbGV0IGJhY2tncm91bmQgPSAnbm9uZSdcblxuICAgICAgaWYgKHRoaXMuYmFja2dyb3VuZEhvdmVyKSB7XG4gICAgICAgIGNvbnN0IGNvbG9ycyA9IGhleFRvUmdiKHRoaXMuYmFja2dyb3VuZEhvdmVyKVxuICAgICAgICBiYWNrZ3JvdW5kID0gYHJnYmEoJHtjb2xvcnMucmVkfSwgJHtjb2xvcnMuZ3JlZW59LCAke2NvbG9ycy5ibHVlfSwgJHt0aGlzLmJhY2tncm91bmRIb3Zlck9wYWNpdHl9KWBcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYmFja2dyb3VuZCxcbiAgICAgICAgYXNwZWN0UmF0aW86IGAke3RoaXMud2lkdGh9LyR7dGhpcy5oZWlnaHR9YFxuICAgICAgfVxuICAgIH0sXG4gICAgb2dDb250ZW50U3R5bGUoKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwYWRkaW5nVG9wOiBgJHt0aGlzLmNvbnRlbnRQYWRkaW5nfXB4YCxcbiAgICAgICAgcGFkZGluZ1JpZ2h0OiBgJHt0aGlzLmNvbnRlbnRQYWRkaW5nfXB4YCxcbiAgICAgICAgcGFkZGluZ0xlZnQ6IGAke3RoaXMuY29udGVudFBhZGRpbmd9cHhgLFxuICAgICAgfVxuICAgIH0sXG4gICAgc2V0U2l6ZXMod2lkdGgsIGhlaWdodCkge1xuICAgICAgdGhpcy53aWR0aCA9IHdpZHRoXG4gICAgICB0aGlzLmhlaWdodCA9IGhlaWdodFxuICAgIH0sXG4gICAgZG93bmxvYWRBc1BuZygpIHtcbiAgICAgIHJldHVybiB0aGlzLmRvd25sb2FkKHRvUG5nLCAnaW1hZ2UucG5nJylcbiAgICB9LFxuICAgIGRvd25sb2FkQXNKcGVnKCkge1xuICAgICAgcmV0dXJuIHRoaXMuZG93bmxvYWQodG9KcGVnLCAnaW1hZ2UuanBnJylcbiAgICB9LFxuICAgIGRvd25sb2FkKGNhbGxiYWNrLCBmaWxlbmFtZSkge1xuICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuJHJlZnMucmVuZGVyXG5cbiAgICAgIGNhbGxiYWNrKGVsZW1lbnQsIHtcbiAgICAgICAgY2FudmFzV2lkdGg6IHRoaXMud2lkdGgsXG4gICAgICAgIGNhbnZhc0hlaWdodDogdGhpcy5oZWlnaHQsXG4gICAgICAgIHF1YWxpdHk6IDEsXG4gICAgICB9KVxuICAgICAgICAudGhlbigoZGF0YVVybCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJylcblxuICAgICAgICAgIGxpbmsuc2V0QXR0cmlidXRlKCdocmVmJywgZGF0YVVybClcbiAgICAgICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnZG93bmxvYWQnLCBmaWxlbmFtZSlcbiAgICAgICAgICBsaW5rLmNsaWNrKClcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgnb2ctLXNjYWxlJywgZmFsc2UpXG5cbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdvb3BzLCBzb21ldGhpbmcgd2VudCB3cm9uZyEnLCBlcnJvcik7XG4gICAgICAgIH0pXG4gICAgfSxcbiAgICB1cGRhdGVPZ01heFdpZHRoKCkge1xuICAgICAgdGhpcy4kcmVmcy5vZy5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnXG4gICAgICB0aGlzLm9nTWF4V2lkdGggPSB0aGlzLiRyZWZzLm9nd3JhcHBlci5vZmZzZXRXaWR0aCAtIDMwXG4gICAgICB0aGlzLm9nTWF4SGVpZ2h0ID0gdGhpcy4kcmVmcy50b29scy5vZmZzZXRIZWlnaHRcbiAgICAgIHRoaXMuJHJlZnMub2cuc3R5bGUuZGlzcGxheSA9ICdibG9jaydcbiAgICB9LFxuICB9XG59XG48L3NjcmlwdD5cblxuPHN0eWxlPlxuLnRvb2wge1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjAwcHgpO1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLnRvb2xzIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjAwcHgpO1xuICB3aWR0aDogNDQzcHg7XG59XG5cbi5vZyB7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuLm9nLXdyYXBwZXIge1xuICB3aWR0aDogY2FsYygxMDB2dyAtIDU0MHB4KTtcbn1cblxuLm9nLXN2ZyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5vZy1zdmcgPiBmb3JlaWduT2JqZWN0IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm9nLXdyYXBwZXItY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMWMxYzE7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgIzY0NjQ2NCAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNzUlLCAjNjQ2NDY0IDc1JSksIGxpbmVhci1ncmFkaWVudCg0NWRlZywgIzY0NjQ2NCAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNzUlLCAjNjQ2NDY0IDc1JSk7XG4gIGJhY2tncm91bmQtc2l6ZTogMjBweCAyMHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDAsIDEwcHggMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ub2ctaGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogNWVtO1xufVxuXG4ub2ctc3ViaGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogM2VtO1xufVxuXG4ub2ctaW1hZ2UtLWZvb3RlciBpbWcge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xufVxuXG4ub2ctaW1hZ2UtaG92ZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuPC9zdHlsZT5cbiIsIkB0YWlsd2luZCBiYXNlO1xuQHRhaWx3aW5kIGNvbXBvbmVudHM7XG5AdGFpbHdpbmQgdXRpbGl0aWVzO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/