/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./assets/website/css/main.scss ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/*
! tailwindcss v3.4.1 | 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 {
  -webkit-box-sizing: border-box;
          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.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/
html,
:host {
  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, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  -webkit-font-feature-settings: normal;
          font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}
/*
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. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. 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 */
  -webkit-font-feature-settings: normal;
          font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}
/*
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 */
  -webkit-font-feature-settings: inherit;
          font-feature-settings: inherit; /* 1 */
  font-variation-settings: 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;
}
/*
Reset default styling for dialogs.
*/
dialog {
  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::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
input::-ms-input-placeholder, textarea::-ms-input-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'],input:where(:not([type])),[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, input:where(:not([type])):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);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
          box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  border-color: #2563eb;
}
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder{
  color: #6b7280;
  opacity: 1;
}
input::-moz-placeholder, textarea::-moz-placeholder{
  color: #6b7280;
  opacity: 1;
}
input:-ms-input-placeholder, textarea:-ms-input-placeholder{
  color: #6b7280;
  opacity: 1;
}
input::-ms-input-placeholder, textarea::-ms-input-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;
  text-align: inherit;
}
::-webkit-datetime-edit{
  display: -webkit-inline-box;
  display: inline-flex;
}
::-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='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%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],[size]:where(select:not([size="1"])){
  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;
      -ms-user-select: none;
          user-select: none;
  -ms-flex-negative: 0;
      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);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
          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='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.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'/%3e%3c/svg%3e");
}
@media (forced-colors: active) {
  [type='checkbox']:checked{
    -webkit-appearance: auto;
       -moz-appearance: auto;
            appearance: auto;
  }
}
[type='radio']:checked{
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");
}
@media (forced-colors: active) {
  [type='radio']:checked{
    -webkit-appearance: auto;
       -moz-appearance: auto;
            appearance: auto;
  }
}
[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='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");
  border-color: transparent;
  background-color: currentColor;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}
@media (forced-colors: active) {
  [type='checkbox']:indeterminate{
    -webkit-appearance: auto;
       -moz-appearance: auto;
            appearance: auto;
  }
}
[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-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --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:  ;
}
::-ms-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-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --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-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --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:  ;
}
.container{
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 1rem;
  padding-left: 1rem;
}
@media (min-width: 768px){
  .container{
    max-width: 768px;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media (min-width: 992px){
  .container{
    max-width: 992px;
  }
}
@media (min-width: 1200px){
  .container{
    max-width: 1200px;
  }
}
@media (min-width: 1280px){
  .container{
    max-width: 1280px;
  }
}
@media (min-width: 1536px){
  .container{
    max-width: 1536px;
  }
}
.sr-only{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.visible{
  visibility: visible;
}
.collapse{
  visibility: collapse;
}
.static{
  position: static;
}
.fixed{
  position: fixed;
}
.absolute{
  position: absolute;
}
.relative{
  position: relative;
}
.float-right{
  float: right;
}
.float-left{
  float: left;
}
.m-0{
  margin: 0px;
}
.\!mb-16{
  margin-bottom: 4rem !important;
}
.\!mt-20{
  margin-top: 5rem !important;
}
.mb-16{
  margin-bottom: 4rem;
}
.mb-20{
  margin-bottom: 5rem;
}
.mb-4{
  margin-bottom: 1rem;
}
.mb-40{
  margin-bottom: 10rem;
}
.mb-8{
  margin-bottom: 2rem;
}
.mt-10{
  margin-top: 2.5rem;
}
.mt-40{
  margin-top: 10rem;
}
.mt-8{
  margin-top: 2rem;
}
.block{
  display: block;
}
.inline{
  display: inline;
}
.flex{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.table{
  display: table;
}
.grid{
  display: grid;
}
.hidden{
  display: none;
}
.w-full{
  width: 100%;
}
.border-collapse{
  border-collapse: collapse;
}
.transform{
  -webkit-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));
          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;
}
.flex-col{
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.items-center{
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.justify-end{
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.justify-center{
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.justify-between{
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.space-x-2 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(0.5rem * var(--tw-space-x-reverse));
  margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.text-wrap{
  text-wrap: wrap;
}
.border{
  border-width: 1px;
}
.border-b{
  border-bottom-width: 1px;
}
.border-gray-heading{
  --tw-border-opacity: 1;
  border-color: rgb(119 119 119 / var(--tw-border-opacity));
}
.py-1{
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.\!pt-28{
  padding-top: 7rem !important;
}
.pb-10{
  padding-bottom: 2.5rem;
}
.pb-5{
  padding-bottom: 1.25rem;
}
.pb-8{
  padding-bottom: 2rem;
}
.pt-10{
  padding-top: 2.5rem;
}
.pt-12{
  padding-top: 3rem;
}
.text-left{
  text-align: left;
}
.text-center{
  text-align: center;
}
.uppercase{
  text-transform: uppercase;
}
.filter{
  -webkit-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);
          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);
}
.transition{
  -webkit-transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, -webkit-box-shadow, -webkit-transform, -webkit-filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, -webkit-box-shadow, -webkit-transform, -webkit-filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-box-shadow, -webkit-transform, -webkit-filter, -webkit-backdrop-filter;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
          transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 150ms;
          transition-duration: 150ms;
}
[type=text], input:where(:not([type])), [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 {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

img {
  display: inline-block;
  max-width: 100%;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* Slider */
.slick-loading .slick-list {
  background: #fff url(/build/website/images/ajax-loader.fb6f3c23.gif) center center no-repeat;
}

/* Icons */
@font-face {
  font-family: "slick";
  src: url(/build/website/fonts/slick.a4e97f5a.eot);
  src: url(/build/website/fonts/slick.a4e97f5a.eot?#iefix) format("embedded-opentype"), url(/build/website/fonts/slick.29518378.woff) format("woff"), url(/build/website/fonts/slick.c94f7671.ttf) format("truetype"), url(/build/website/images/slick.2630a3e3.svg#slick) format("svg");
  font-weight: normal;
  font-style: normal;
}
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
}
.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}
.slick-prev:hover:before, .slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}
.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}
[dir=rtl] .slick-prev {
  left: auto;
  right: -25px;
}
.slick-prev:before {
  content: "←";
}
[dir=rtl] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: -25px;
}
[dir=rtl] .slick-next {
  left: -25px;
  right: auto;
}
.slick-next:before {
  content: "→";
}
[dir=rtl] .slick-next:before {
  content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}
.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 1;
}
.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75;
}

.slick-slider .slick-dots button::before {
  font-size: 20px;
}
.slick-slider .slick-dots {
  bottom: 20px;
}
.slick-slider .slick-slider .slick-dots button::before {
  color: white;
}
.slick-slider .slick-dots li.slick-active button:before {
  color: white;
  opacity: 0.75;
}
.slick-slider .slick-slide img {
  display: inline-block;
  position: absolute;
  top: -45%;
}
@media (max-width: 767px) {
  .slick-slider .slick-slide img {
    top: 0;
    min-width: 400px;
  }
}

.blocks {
  margin: -30px 0;
}

.blocks__item {
  margin: 30px 0;
}

.navbar-nav li:hover {
  background-color: #333333;
  padding: 0;
}
.navbar-nav li:hover a {
  text-decoration: none;
}
.navbar-nav li .submenu {
  display: none;
  position: absolute;
  min-width: 350px;
  right: 0;
  background-color: #777777;
  border: 1px solid #777777;
  border-top: 0;
  margin-right: -1px;
}
.navbar-nav li .submenu.visible {
  display: block;
}
.navbar-nav li .submenu li {
  display: block;
  text-align: left;
}
@media (max-width: 767px) {
  .navbar-nav li .submenu li a {
    padding: 15px 40px;
  }
  .navbar-nav li .submenu {
    position: relative !important;
  }
}
.navbar-nav li .dropdown-ico {
  margin: 0 0 0 5px;
}
@media (max-width: 767px) {
  .navbar-nav li .dropdown-ico {
    display: none;
  }
}
.navbar-nav li .dropdown-ico-mobile {
  display: none;
}
@media (max-width: 767px) {
  .navbar-nav li .dropdown-ico-mobile {
    display: block;
    float: right;
    margin: 0;
    position: absolute;
    top: 3px;
    right: 17px;
    color: white;
    padding: 10px 15px;
  }
}

.imagemap__container {
  margin: auto;
  max-width: 800px;
  position: relative;
}

.imagemap__img {
  display: block;
  max-width: 100%;
  width: auto;
}

.imagemap__hotspot {
  position: absolute;
}

.imagemap__hotspot--rectangle {
  background-color: rgba(0, 0, 0, 0.5);
  border: 2px solid white;
}

.imagemap__hotspot--circle {
  background-color: rgba(0, 0, 0, 0.3);
  border: 2px solid white;
  border-radius: 100%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.imagemap__hotspot--point {
  background-color: white;
  border-radius: 100%;
  height: 30px;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 30px;
}

.imagemap__hotspot-text {
  color: white;
  display: block;
  font-family: sans-serif;
  font-weight: 700;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.imagemap__hotspot--point > .imagemap__hotspot-text {
  color: black;
}

.imagemap__hotspot-content {
  background-color: black;
  border-radius: 6px;
  color: #FFFFFF;
  margin-top: -40px;
  padding: 5px 0;
  position: absolute;
  text-align: center;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  visibility: hidden;
  width: 200px;
  z-index: 1;
}

.imagemap__hotspot-content:hover,
.imagemap__hotspot:hover + .imagemap__hotspot-content {
  visibility: visible;
}

.teaser-container .teaser {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 160px;
}
.teaser-container .teaser h2 {
  margin: 0 0 15px 0;
}
.teaser-container .teaser .teaser-image {
  display: block;
  width: 100%;
}
.teaser-container .teaser .link-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: auto;
}
.teaser-container .teaser .link-container a.more {
  color: #ffffff;
  text-align: right;
  text-decoration: none;
  margin-top: auto;
  border: 1px solid #787878;
  padding: 8px 15px;
}
.teaser-container .teaser .link-container a.more span .fa {
  font-weight: 100;
  font-size: 12px;
}

.block-image {
  width: auto;
  margin: 0 auto;
}

.block-image__top {
  margin-bottom: 15px;
}

.block-image__bottom {
  margin-top: 15px;
}

.block-image__left,
.block-image__right {
  max-width: 300px;
  margin-bottom: 15px;
}

.block-image__left {
  float: left;
  margin-right: 15px;
}
@media only screen and (max-width: 767px) {
  .block-image__left {
    float: none;
    margin-right: auto;
  }
}

.block-image__right {
  float: right;
  margin-left: 15px;
}
@media only screen and (max-width: 767px) {
  .block-image__right {
    float: none;
    margin-left: auto;
  }
}

.block-title {
  line-height: 70px;
  margin: 0;
}
@media only screen and (max-width: 767px) {
  .block-title {
    font-size: 22px;
    line-height: 60px;
  }
}

.block-quote {
  margin-left: 10px;
  padding: 50px 0 20px 0;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .block-quote {
    margin-left: 0;
  }
}

.quote {
  font-weight: 700;
  margin: 0;
  color: #ffffff;
}

.reference {
  color: #FFFFFF;
  margin: 20px 0 0;
}

.feedbacks-wrap .block-quote {
  padding: 10px 0 60px 0;
}
.feedbacks-wrap .block-quote .quote {
  font-size: 16px;
  font-weight: 100;
}
.feedbacks-wrap .block-quote .reference {
  text-align: right;
  padding: 0 0 15px 0;
  margin: 10px 0 0;
}

.block-link {
  display: block;
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
}

.pswp-gallery {
  display: grid;
  gap: 15px;
  margin-top: 20px;
  padding: 15px;
}
@media (max-width: 767px) {
  .pswp-gallery {
    display: block;
    padding: 0 15px 15px;
  }
  .pswp-gallery img {
    padding: 15px 0 0;
  }
}

.pswp__dynamic-caption {
  color: #fff;
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
  -webkit-transition: opacity 120ms linear !important;
  transition: opacity 120ms linear !important;
}

.pswp-caption-content {
  display: none;
}

.pswp__dynamic-caption a {
  color: #fff;
}

.pswp__dynamic-caption--faded {
  opacity: 0 !important;
}

.pswp__dynamic-caption--aside {
  width: auto;
  max-width: 300px;
  padding: 20px 15px 20px 20px;
  margin-top: 70px;
}

.pswp__dynamic-caption--below {
  width: auto;
  max-width: 700px;
  padding: 15px 0 0;
}

.pswp__dynamic-caption--on-hor-edge {
  padding-left: 15px;
  padding-right: 15px;
}

.pswp__dynamic-caption--mobile {
  width: 100%;
  background: rgba(0, 0, 0, 0.5);
  padding: 10px 15px;
  right: 0;
  bottom: 0;
  top: auto !important;
  left: 0 !important;
}

#gallery--with-custom-caption {
  background-color: #faf8f8;
}

#gallery--with-custom-caption .pswp-gallery__item {
  margin: auto;
}

@media screen and (min-width: 768px) {
  #gallery--with-custom-caption .pswp-gallery__item {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 calc(50% - 20px);
            flex: 1 0 calc(50% - 20px);
  }
}
.pswp__custom-caption {
  background: rgba(87, 85, 85, 0.75);
  font-size: 16px;
  color: #fff;
  text-align: center;
  width: calc(100% - 32px);
  max-width: 400px;
  padding: 2px 8px;
  border-radius: 4px;
  position: absolute;
  left: 50%;
  bottom: 16px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.pswp__custom-caption a {
  color: #fff;
  text-decoration: underline;
}

.hidden-caption-content {
  display: none;
}

.pswp--custom {
  --pswp-bg: #333333 !important;
}

.download-documents ul {
  padding: 20px 0;
}
.download-documents ul li {
  padding: 10px 0;
}
.download-documents ul li a, .download-documents ul li span {
  color: #ffffff;
}
.download-documents ul li .pre {
  margin: 0 5px 0 0;
}
.download-documents ul li .pos {
  margin: 0 0 0 5px;
}

#feedback .row h2 {
  padding: 0 0 30px 0;
}

.alert {
  border-radius: 0;
  padding: 10px 15px;
  background-color: transparent;
  margin-top: 27px;
}
.alert.alert-error {
  border-color: red;
  color: red;
}
.alert.alert-success {
  border-color: lightgreen;
  color: lightgreen;
}
.alert.alert-danger {
  border-color: transparent;
  color: red;
  padding: 0;
}

.topfix.topfix-sticky {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
}
.topfix.topfix-sticky div {
  margin: 0 15px;
}

/* Responsive styles
================================================== */
/* Large Devices, Wide Screens */
@media (min-width: 1200px) {
  .img-container {
    height: 540px;
  }
  .main-text {
    bottom: 80px;
    margin: 0;
  }
  #contact .img-container, #services .img-container, #references .img-container, #feedback .img-container {
    height: 350px;
  }
  #main .row, #services .row, #references .row, #feedback .row, #contact .row {
    padding-top: 30px;
  }
}
/* Medium Devices, Desktops */
@media (min-width: 992px) {
  .navbar-fixed-top {
    position: relative;
  }
  .navbar-nav .active {
    background-color: #333333;
    padding: 0;
  }
  .navbar-site-name {
    display: inline-block;
  }
  .navbar-logo {
    display: none;
  }
  /*portfolio*/
  .single-portfolio figcaption .links a {
    float: left;
    margin: 0px 5px 0px 0px;
  }
  .img-container {
    height: 350px;
  }
  .main-text {
    bottom: 50px;
    margin: 0;
  }
  #contact .img-container, #services .img-container, #references .img-container, #feedback .img-container {
    height: 350px;
  }
  #main .row, #services .row, #references .row, #feedback .row, #contact .row {
    padding-top: 30px;
  }
}
/* Small Devices, Tablets */
@media (min-width: 768px) and (max-width: 991px) {
  .navbar-fixed-top {
    position: relative;
  }
  .navbar-nav .active {
    background-color: #333333;
    padding: 0;
  }
  .navbar-site-name {
    display: none;
  }
  .navbar-logo {
    display: inline-block;
  }
  .navbar-header {
    width: 20%;
  }
  .navbar-brand {
    height: 48px;
  }
  ul.navbar-nav a {
    padding: 15px 0px 10px 10px;
  }
  /*main Slider*/
  #slider_part {
    height: 530px;
    margin-top: 70px;
  }
  .carousel-caption {
    top: 30%;
  }
  .carousel-caption h2 {
    font-size: 30px;
    line-height: 55px;
    width: 30%;
    margin-bottom: 40px;
  }
  .carousel-caption h2:after {
    height: 80px;
  }
  .carousel-caption h2:before {
    height: 80px;
  }
  .carousel-caption h3 {
    font-size: 40px;
    line-height: 30px;
  }
  .carousel-caption p {
    font-size: 30px;
    line-height: 45px;
  }
  .overlay-slide {
    height: 100%;
  }
  .carousel-indicators {
    bottom: 15%;
  }
  .carousel-control.right {
    right: 32px;
  }
  .img-container {
    height: 350px;
  }
  .main-text {
    bottom: 50px;
    margin: 0;
  }
  /*ABout us*/
  .feature_content .btn-main {
    margin-bottom: 40px;
  }
  /*portfolio*/
  #contact .img-container, #services .img-container, #references .img-container, #feedback .img-container {
    height: 350px;
  }
  #main .row, #services .row, #references .row, #feedback .row, #contact .row {
    padding-top: 30px;
  }
  .single-portfolio figcaption .links a {
    float: left;
    margin: 0px 5px 0px 0px;
  }
  /*count*/
  .facts-wrap {
    margin: 0px auto 65px;
  }
  .video-text {
    margin-top: 30px;
  }
  /*pricing*/
  .pricing {
    margin: 0 auto;
    width: 50%;
  }
  .cyprass-carousel-controller {
    left: 41%;
  }
  .testimonial-slide .testimonial-text {
    font-size: 14px;
    padding-top: 20px;
    text-align: justify;
    max-width: 651px;
    padding: 0px 20px 0px 20px;
  }
  /*backt top*/
  #back-top {
    right: 12px;
  }
  /*-- Landing ---*/
  .hero-text {
    width: 95%;
  }
  .hero-title {
    font-size: 36px;
  }
  .hero-buttons a.btn {
    padding: 10px 20px;
  }
  .app-gallery figure.effect-oscar a {
    margin-top: 105px;
  }
  .hero-section {
    padding-bottom: 0px;
    padding-top: 0px;
  }
  .hero-content {
    position: relative;
    display: table;
    height: 100%;
    width: 100%;
  }
  .hero-text {
    padding-top: 90px;
  }
  .footer_b {
    padding-bottom: 25px;
  }
  .footer_mid {
    float: left !important;
  }
  .inputfile-info {
    width: 268%;
  }
}
/* Small Devices Potrait */
@media (max-width: 767px) {
  .navbar-logo {
    display: none;
  }
  .carousel-caption h3 {
    font-size: 20px;
    line-height: 30px;
  }
  .carousel-caption p {
    font-size: 35px;
    line-height: 45px;
  }
  .carousel-caption h2 {
    font-size: 16px;
    line-height: 34px;
    width: 50%;
  }
  .carousel-caption h2:after {
    content: "";
    position: absolute;
    width: 2px;
    height: 55px;
    background: #EE3B24;
    left: 5px;
    top: -10px;
  }
  .carousel-caption h2:before {
    content: "";
    position: absolute;
    width: 2px;
    height: 55px;
    background: #EE3B24;
    right: 5px;
    top: -10px;
  }
  /*main Slider*/
  #slider_part {
    height: 250px;
    margin-top: 75px;
  }
  .carousel-caption {
    top: 20%;
  }
  .overlay-slide {
    height: 100%;
  }
  .carousel-caption p {
    font-size: 12px;
    line-height: 14px;
    margin-top: 20px;
  }
  .carousel-indicators li {
    width: 15px !important;
    height: 15px !important;
  }
  .carousel-indicators {
    width: 25%;
    left: 37%;
    bottom: 9%;
  }
  .slides-control .carousel-control i {
    line-height: 15px;
    font-size: 20px;
    width: 30px;
    height: 30px;
  }
  .carousel-control.right {
    right: 30px;
  }
  .main-text {
    bottom: 30px;
    margin: 0;
  }
  /*header*/
  .navbar-brand img {
    height: 45px;
    margin-top: -16px;
  }
  .feature_title {
    width: 60%;
    font-size: 30px;
  }
  .feature_content .btn-main {
    margin-bottom: 40px;
  }
  #service {
    padding-bottom: 0px;
    padding-top: 40px;
  }
  #contact .img-container, #services .img-container, #references .img-container, #feedback .img-container {
    height: 250px;
  }
  #contact .img-container img, #services .img-container img, #references .img-container img, #feedback .img-container img {
    min-width: 400px;
  }
  #main .row, #services .row, #references .row, #feedback .row, #contact .row {
    padding-top: 30px;
  }
  /*count*/
  .facts-wrap {
    margin: 0 auto 65px;
  }
  .video-text {
    margin-top: 30px;
  }
  /*pricing table*/
  .single_table {
    width: 287px;
  }
  .single_table ul li.price {
    font-size: 40px;
  }
  .single_table .plan_wraper {
    height: 64px;
    left: 38%;
  }
  .single_table ul li {
    font-size: 16px;
  }
  .grey_bg {
    -webkit-transform: none;
    transform: none;
  }
  /*Testimonial */
  .cyprass-carousel-controller {
    left: 33%;
  }
  .testimonial-slide .testimonial-text {
    font-size: 14px;
    padding-top: 20px;
    text-align: justify;
    max-width: 431px;
    padding: 0px 20px 0px 20px;
  }
  /*client*/
  .client_logo {
    padding: 0px;
    margin: 0 auto;
    width: 50%;
  }
  #client {
    padding: 0px 0px;
  }
  /*blog*/
  #banner {
    height: 400px;
  }
  .blog-header {
    margin-top: 95px;
  }
  #portfolio-slider li img {
    height: 250px !important;
  }
  .bx-wrapper .bx-controls-direction a {
    top: 42%;
  }
  .bx-wrapper .bx-viewport {
    height: 250px !important;
  }
  .bx-wrapper .bx-pager {
    top: 60%;
  }
  .share1 {
    height: 88px;
    padding: 5px 20px 30px 20px;
  }
  .blog-desc {
    margin-top: -90px;
  }
  /*footer*/
  .footer_b {
    padding-bottom: 21px;
  }
  .footer_mid {
    float: left !important;
  }
  /*backt top*/
  #back-top {
    right: 12px;
  }
}
body {
  font-family: Raleway, sans-serif;
  font-weight: 400;
  background-color: #333333;
  /* overflow: hidden; */
}

/* __general__ */
h1, h2, h3, h4, h5, h6 {
  font-family: Raleway, sans-serif;
  /* font-weight: 700; */
  color: #fff;
  font-weight: 100;
  text-transform: uppercase;
}

h2 {
  font-size: 26px;
  color: #777777;
  font-weight: 700;
}

h3 {
  font-size: 18px;
  font-weight: 100;
  text-transform: lowercase;
  line-height: 30px;
  margin-top: 10px;
}

p {
  font-size: 14px;
  font-weight: 100;
  line-height: 25px;
  color: #fcfafa;
}

.navbar-header h1 {
  margin-top: 0px;
}

.info-bar h2 {
  color: #ffffff;
  font-size: 18px;
  font-weight: 100;
  text-transform: lowercase;
  line-height: 30px;
  margin-top: 10px;
  margin-bottom: 10px;
}

.alert {
  margin-bottom: 0px;
}

#contact {
  /* padding-bottom: 130px; */
  /* padding-top: 120px; */
}

#main .container, #contact .container, #googlemap .container {
  /* width: 900px; */
}

.btn-main {
  padding: 10px 25px;
  border-radius: 1px;
  vertical-align: middle;
  cursor: pointer;
  border: 1px solid #333;
  font-size: 16px;
  background: #333333;
  color: #fff;
  font-weight: 100;
  margin-top: 30px;
  text-transform: uppercase !important;
}

form .button, #main .btn-main, #hpcontact .btn-main, #services .btn-main {
  background: #333333;
  border: 1px solid #787878;
  text-transform: uppercase;
  color: #fff;
}

#feedback .button {
  float: right;
}

#contact, #googlemap, #main, #hpcontact, #services, #references, #feedback {
  background-color: #333333;
}

.clear {
  clear: both;
}

.navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus {
  background-color: #666;
  color: #555;
}

/* __header__ */
header {
  /* height: 52px; */
}

.main-text p {
  line-height: 32px;
  font-size: 16px;
  text-transform: uppercase;
  color: #ffffff;
}

/* __navigation__ */
.navbar-inverse .navbar-brand {
  /* color: #F67E00; */
  color: #fff;
  font-weight: 100;
}

.navbar-logo {
  padding: 7px 10px !important;
}
.navbar-logo img {
  height: 35px;
}

.navbar-fixed-top {
  top: 0;
  border-width: 0 0 0;
  background-color: #777777;
}

.navbar-toggle {
  border-radius: 1px;
}

.contact-info {
  padding: 50px 0 30px !important;
}

.navbar-brand {
  font-size: 18px;
  color: #fff;
  padding: 17px 25px;
}

ul.navbar-nav a {
  font-size: 14px;
  color: #ffffff !important;
  width: 100%;
  padding: 15px 20px;
  display: inline-block;
  text-transform: uppercase;
}

.navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus {
  background: transparent;
  /* color: #F67E00!important; */
  color: #ffffff !important;
}

/* __info-bar__ */
.info-bar {
  position: relative;
  /* top: 52px; */
  width: 100%;
  z-index: 1000;
  overflow: hidden;
  background: none repeat scroll 0% 0% #333333;
}

.info-bar .row {
  margin-left: 0px;
  margin-right: 0px;
}

.info-bar .fa {
  margin-right: 10px;
  /* color: #F67E00; */
}

/* __carousel__ */
.owl-theme .owl-controls {
  margin-top: 0px;
}

.img-container {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.img-container-desc {
  /* display: none; */
}

.carousel img {
  vertical-align: middle;
}

.owl-carousel h2, #contact .main-text h2, #services .main-text h2, #references .main-text h2, #feedback .main-text h2 {
  font-size: 20px;
  color: #fff;
  font-weight: 100;
  line-height: 34px;
  margin-top: 12px;
  margin-bottom: 2px;
}

.carousel-item {
  width: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

/* __main__ */
#main .container {
  /* padding-top: 27px; */
  /* margin-top: 500px; */
}

.main-header h3 {
  font-size: 14px;
  font-weight: 400;
  text-transform: lowercase;
  line-height: 20px;
}

/* __references__ */
.references-img img {
  width: 100%;
  /* padding: 5px 5px; */
  margin: 15px 0px;
  border: 1px solid #787878;
}

/* __contact__ */
.contact-container {
  background-color: #333333;
  padding: 0px 60px 30px;
}

.main-header {
  background-size: cover;
  background-repeat: no-repeat;
  /* background-attachment: fixed; */
  background-position: center;
  /* height: 400px; */
}

.main-text {
  background-color: #333333;
  position: absolute;
  display: block;
  padding: 0 25px 11px;
  margin-top: 0;
}

.services {
  /* padding-top: 40px; */
}

.services .add {
  padding-top: 50px;
}

.contact-details {
  margin-bottom: 25px;
}

#contact form {
  margin-top: 10px;
}

/* __google map__ */
#googlemap .row {
  /* padding-bottom: 50px; */
  margin-left: 0px;
  margin-right: 0px;
}

#googlemap .container {
  background-color: #333333;
  padding: 10px 0px 0px;
  width: 100%;
  max-width: none;
}

.map {
  height: 250px;
  z-index: 1;
  width: 100%;
}

.map p {
  line-height: 20px;
  font-weight: 400;
  color: #6a6a6a;
  text-transform: capitalize !important;
}

/* __form__ */
#contact form dt {
  display: none;
}

#contact form dd {
  /* padding: 5px 0px; */
}

form select, form .text, form textarea {
  width: 100%;
  padding: 10px 15px;
  border: 1px solid #eee;
  margin-bottom: 8px;
}

#feedback form textarea {
  padding: 20px 15px;
  height: 125px;
}

form .button {
  padding: 10px 30px;
  border: 1px solid #787878;
  margin-bottom: 8px;
}

#hpcontact .footer-contact-form, #hpcontact form .button {
  margin-top: 20px;
}

#hpcontact .flash {
  text-align: center;
}

/* #contact form textarea {
    height: 120px;
} */
#contact form select {
  padding: 10px;
}

select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: #fff;
}

/* target Internet Explorer 9 and Internet Explorer 10: */
@media screen and (min-width: 0 \0 ) {
  select {
    background: none;
    padding: 5px;
  }
}
fieldset {
  /* width: 49%; */
}

legend {
  display: none;
}

#contact form select option {
  padding: 30px 0px;
}

/* #contact form i {
    position: absolute;
    right: 40px;
    color: #888888;
}
#hpcontact form .fa, #contact form .fa {
    margin-top: -39px;
    width: 50px;
    font-size: 20px;
    padding-left: 35px;
    height: 47px;
    position: absolute;
    color: #888;
} */
#hpcontact form .fa, #contact form .fa, #feedback form .fa {
  margin-top: -35px;
  width: 45px;
  font-size: 16px;
  padding-right: 35px;
  float: right;
  height: 47px;
  position: relative;
  color: #888;
}

#feedback form .controls {
  position: relative;
}
#feedback form .controls .fa-pencil, #feedback form .controls .fa-comment-o {
  top: 30px;
  position: absolute;
  right: 0;
  margin: 0;
  padding: 0;
}

#hpcontact form .fa-pencil, #contact form .fa-pencil {
  margin-top: -158px;
}

#hpcontact form .fa-warning, #contact form .fa-warning {
  position: relative;
  margin-top: 5px;
  width: 0px;
  font-size: 12px;
  margin-right: -20px;
  height: 30px;
  float: left !important;
}

#hpcontact form .fa, #contact form .fa {
  position: relative;
  float: right;
  /* margin-right: 25px; */
}

#contact form .fa-pencil {
  position: absolute;
  margin-top: 10px;
  right: 12px;
  display: none;
}

#hpcontact form textarea, #contact form textarea {
  height: 158px;
}

#contact form .button {
  width: 20%;
  float: right;
}

form span {
  color: #777777;
}

#back label {
  color: #fff;
  font-weight: 100;
}

#back input[type=radio] {
  margin: 0 10px;
}

#back .sortable li {
  margin: 5px 0;
}

.inputfile, .js #contact label .inputfile-label {
  display: block;
  color: #fcfafa;
}

#contact label {
  color: #fcfafa;
  display: inline-block;
}

.inputfile-label, .js input[type=file] {
  display: block;
}

input[type=checkbox]:focus, input[type=file]:focus, input[type=radio]:focus {
  outline: 0 auto -webkit-focus-ring-color;
  outline-offset: 0;
}

.inputfile-label {
  border: 1px solid #787878;
  display: inline-block;
  padding: 11px 10px 11px 20px;
  margin-top: 4px;
  position: relative;
  cursor: pointer;
  z-index: 2;
  background: #333;
  width: 171px;
  text-transform: uppercase;
}

.inputfile-info {
  color: #fcfafa;
  margin: -12px 0 0 14px;
  padding: 11px 24px;
  position: absolute;
  border: 1px solid #787878;
  border-left-width: 0;
  width: 320%;
  height: 44px;
}

.upload-check {
  cursor: pointer;
}

#contact .error-message {
  display: block;
  height: 35px;
}

#back label {
  color: #fff;
  font-weight: 100;
}

#back input[type=radio] {
  margin: 0px 10px;
}

#back .sortable li {
  margin: 5px 0px;
}

/* __footer__ */
.footer {
  position: relative;
  bottom: 0px;
  width: 100%;
  z-index: 1000;
  overflow: hidden;
  background: none repeat scroll 0% 0% #333333;
}

.footer .row {
  margin-left: 0px;
  margin-right: 0px;
}

.footer .fa {
  margin-right: 10px;
  /* color: #F67E00; */
}

/* __top__ */
#scrolltop {
  position: fixed;
  right: 30px;
  bottom: 58px;
  z-index: 9999;
}

#scrolltop .btn-primary {
  color: #fff;
  background: #333;
  border: 1px solid #787878;
  border-radius: 1px;
  padding: 0px;
  font-size: 20px;
  width: 42px;
  height: 42px;
}

#scrolltop a:hover {
  background: #ee3b24;
  opacity: 1;
}

/* __customize__ */
.row {
  margin-left: -50px;
  margin-right: -50px;
}

/* __sortable__ */
body.dragging,
body.dragging * {
  cursor: move !important;
}

.dragged {
  position: absolute;
  opacity: 0.5;
  filter: alpha(opacity=50);
  z-index: 2000;
}

ul {
  list-style-type: none;
  padding-left: 0px;
}

#back .icon-visible, #back .icon-hidden, #back .icon-move, #back .icon-delete, #back .icon-edit {
  cursor: pointer;
}

#back .icon-move {
  background-position: -168px -72px;
}

#back .icon-hidden {
  background-position: -120px -120px;
  margin: 0px 8px;
}

#back .icon-visible {
  background-position: -96px -120px;
  margin: 0px 8px;
}

#back .icon-delete {
  background-position: -458px 0px;
}

#back .icon-edit {
  background-position: 0px -72px;
  margin-left: 3px;
  margin-right: 8px;
}

#back .icon-preview {
  background-position: -335px 0px;
}

#back .icon-img {
  background-position: -456px -48px;
  margin-right: 10px;
}

#back .container [class^=icon-],
#back .container [class*=" icon-"] {
  display: inline-block;
  width: 14px;
  height: 14px;
  line-height: 14px;
  vertical-align: text-top;
  background-image: url("./images/glyphicons-halflings.png");
  background-repeat: no-repeat;
}

#back .container [class^=icon-arrow-left], #back .container [class*=" icon-arrow-left"] {
  width: 40px;
  height: 40px;
  text-indent: -9999px;
  background: url("/images/goleft.png") no-repeat;
  background-size: 40px;
  margin-right: 6px;
  float: left;
}

#back .container [class^=icon-arrow-right], #back .container [class*=" icon-arrow-right"] {
  width: 40px;
  height: 40px;
  text-indent: -9999px;
  background: url("/images/goright.png") no-repeat;
  background-size: 40px;
  float: left;
}

.footer-desc {
  margin: 20px 0;
}

.text-container {
  position: relative;
}

/* __Tiny MCE__ */
#tinymce img {
  width: 100%;
}

/* __media query__ */
@media (min-width: 1200px) {
  .navbar-fixed-top {
    position: relative;
  }
  .affix {
    position: fixed;
    top: 0;
    width: 100%;
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
  }
  .affix-top {
    position: static;
    top: -35px;
  }
  .affix + .container-fluid {
    padding-top: 70px;
  }
  .navbar-nav .active {
    background-color: #333333;
    padding: 0px;
  }
  .container {
    width: 1170px;
  }
  .img-container {
    height: 540px;
  }
  #contact .img-container, #services .img-container, #references .img-container, #feedback .img-container {
    height: 350px;
  }
  #main .row, #services .row, #references .row, #feedback .row, #contact .row {
    padding-top: 30px;
  }
  .contact-info {
    padding: 60px 0 30px !important;
  }
  .main-text {
    background-color: #333333;
    position: absolute;
    bottom: 80px;
    margin: 0;
  }
  .navbar-brand {
    padding: 16px 0px;
    margin-left: 10px;
  }
  .navbar-nav.navbar-right:last-child {
    margin-right: 10px;
    height: 50px;
  }
  #contact .container, #services .container, #references .container, #feedback .container {
    position: relative;
  }
  #contact .main-text, #services .main-text, #references .main-text, #feedback .main-text {
    bottom: 60px;
  }
  #scrolltop a {
    display: block;
  }
  /* __form__ */
  #contact-form {
    position: relative;
  }
}
@media (max-width: 768px) {
  .navbar-fixed-top, .affix {
    position: fixed;
  }
  .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus {
    background-color: #777;
  }
  .navbar-inverse .navbar-toggle {
    border-color: #787878;
  }
  .navbar-collapse {
    max-height: 100%;
    overflow-x: visible;
    background-color: #333333;
    margin-top: 2px;
    padding-right: 15px;
    padding-left: 15px;
    border-top: 0px solid transparent;
    -webkit-overflow-scrolling: touch;
  }
  #back .navbar-collapse {
    margin-top: 0px;
  }
  .navbar-nav .active {
    background-color: #666666;
  }
  .img-container {
    height: 250px;
  }
  .info-bar {
    margin-top: 50px;
  }
  .owl-carousel h2 {
    color: #ffffff;
  }
  .main-text {
    padding: 5px 25px 14px;
    background-color: #333;
    margin-bottom: 24px;
  }
  #contact .contact-container {
    padding: 0px 60px 2px;
  }
  #hpcontact .row {
    margin-left: -65px;
    margin-right: -65px;
  }
  #contact .row {
    margin-left: 0;
    margin-right: 0;
  }
  #hpcontact .hpcontact-details {
    margin-left: 15px;
    margin-right: 15px;
  }
  #hpcontact .text-center {
    float: left !important;
  }
  #contact form {
    margin-top: 20px;
  }
  #scrolltop a {
    display: block;
  }
  #scrolltop {
    bottom: 60px;
  }
  #contact form .button {
    width: 50%;
    float: left;
  }
}
/* __admin__ */
#back .navbar-default, #back .navbar-default .navbar-toggle {
  /* background-color: #777777;
    border-color: #777777; */
  /* background-color: #ff9800; */
  background-color: #009966;
  border-color: #009966;
}

#back .navbar-default .navbar-brand i {
  /* color: #009966; */
}

#back .dropdown-menu {
  background-color: #777777;
}

.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus {
  text-decoration: none;
  color: #262626;
  background-color: transparent;
}

.dropdown-menu > li:hover, .dropdown-menu > li:focus {
  text-decoration: none;
  color: #262626;
  background-color: #666;
}

#back .navbar-default .navbar-brand, #back .navbar-default .navbar-brand:hover, #back .navbar-default .navbar-brand:focus {
  background-color: transparent;
  color: #fff;
  background-color: #333;
  border-color: #333;
  padding: 14px 25px 0px 26px;
  margin-top: 0px;
  margin-left: 10px;
}

#back .navbar-default .navbar-nav > .active > a, #back .navbar-default .navbar-nav > .active > a:hover, #back .navbar-default .navbar-nav > .active > a:focus {
  color: #555;
  background-color: #666;
}

#back .navbar-default .navbar-brand i {
  font-size: 20px;
}

#back .navbar {
  border: 0px solid transparent;
}

.navbar-default .navbar-toggle .icon-bar {
  background-color: #fff;
}

.navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {
  background-color: #009966;
}

#back .navbar-header span {
  margin-left: 18px;
}

.navbar-toggle .icon-bar {
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

/* Rotate first bar */
.change .bar1 {
  -webkit-transform: rotate(-45deg) translate(-9px, 6px);
          transform: rotate(-45deg) translate(-9px, 6px);
  -webkit-transform: rotate(-45deg) translate(-5px, 4px);
          transform: rotate(-45deg) translate(-5px, 4px);
}

/* Fade out the second bar */
.change .bar2 {
  opacity: 0;
}

/* Rotate last bar */
.change .bar3 {
  -webkit-transform: rotate(45deg) translate(-8px, -8px);
          transform: rotate(45deg) translate(-8px, -8px);
  -webkit-transform: rotate(45deg) translate(-4px, -4px);
          transform: rotate(45deg) translate(-4px, -4px);
}

@media (min-width: 768px) {
  #back .navbar {
    border-radius: 0;
  }
}
/* __mce styles__ */
body {
  font-family: Raleway, sans-serif;
  font-weight: 400;
  background-color: #333333;
}

/* __general__ */
h1, h2, h3, h4, h5, h6 {
  font-family: Raleway, sans-serif;
  /* font-weight: 700; */
  color: #fff;
  font-weight: 100;
  text-transform: uppercase;
}

h2 {
  font-size: 22px;
  /* color: #F67E00; */
  color: #777777;
  font-weight: 700;
}

h3 {
  font-size: 18px;
  font-weight: 100;
  text-transform: lowercase;
  line-height: 30px;
  margin-top: 10px;
}

p {
  font-size: 14px;
  font-weight: 100;
  line-height: 25px;
  color: #fcfafa;
}

.row {
  margin-left: 0px;
  margin-right: 0px;
}

.col-md-6 {
  width: 50%;
  float: left;
  position: relative;
  min-height: 1px;
  /* padding-left: 15px;
    padding-right: 15px; */
}

.col-md-6 img {
  width: 95%;
  /* padding: 5px 5px; */
  margin: 15px 0;
  border: 1px solid #787878;
}

.alert {
  margin-bottom: 10px;
}

blockquote {
  font-size: 16px;
  color: #FFFFFF;
  text-align: justify;
}

.blockquote-reference {
  color: #777777;
}

/* Add custom styles below */
#navbar-dropdown-menu {
  display: none;
}

#navbar-dropdown-menu:not(.hidden) {
  display: block;
}

@media (min-width: 768px){
  .sm\:mt-12{
    margin-top: 3rem;
  }
}

@media (min-width: 992px){
  .md\:absolute{
    position: absolute;
  }
  .md\:bottom-0{
    bottom: 0px;
  }
  .md\:right-0{
    right: 0px;
  }
  .md\:order-1{
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .md\:order-2{
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .md\:float-right{
    float: right;
  }
  .md\:float-left{
    float: left;
  }
  .md\:mr-12{
    margin-right: 3rem;
  }
  .md\:mr-4{
    margin-right: 1rem;
  }
  .md\:w-1\/2{
    width: 50%;
  }
  .md\:w-\[49\%\]{
    width: 49%;
  }
  .md\:w-full{
    width: 100%;
  }
  .md\:flex-row{
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .md\:pl-5{
    padding-left: 1.25rem;
  }
  .md\:pr-12{
    padding-right: 3rem;
  }
  .md\:pr-5{
    padding-right: 1.25rem;
  }
  .md\:pt-0{
    padding-top: 0px;
  }
  .md\:pt-6{
    padding-top: 1.5rem;
  }
}

@media (max-width: 767px){
  .max-md\:w-full{
    width: 100%;
  }
  .max-md\:pl-20{
    padding-left: 5rem;
  }
  .max-md\:pr-20{
    padding-right: 5rem;
  }
}
/*!*******************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!./node_modules/photoswipe/dist/photoswipe.css ***!
  \*******************************************************************************************************************************************************************************************************************/
/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */

.pswp {
  --pswp-bg: #000;
  --pswp-placeholder-bg: #222;
  

  --pswp-root-z-index: 100000;
  
  --pswp-preloader-color: rgba(79, 79, 79, 0.4);
  --pswp-preloader-color-secondary: rgba(255, 255, 255, 0.9);
  
  /* defined via js:
  --pswp-transition-duration: 333ms; */
  
  --pswp-icon-color: #fff;
  --pswp-icon-color-secondary: #4f4f4f;
  --pswp-icon-stroke-color: #4f4f4f;
  --pswp-icon-stroke-width: 2px;

  --pswp-error-text-color: var(--pswp-icon-color);
}


/*
	Styles for basic PhotoSwipe (pswp) functionality (sliding area, open/close transitions)
*/

.pswp {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: var(--pswp-root-z-index);
	display: none;
	-ms-touch-action: none;
	    touch-action: none;
	outline: 0;
	opacity: 0.003;
	contain: layout style size;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* Prevents focus outline on the root element,
  (it may be focused initially) */
.pswp:focus {
  outline: 0;
}

.pswp * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.pswp img {
  max-width: none;
}

.pswp--open {
	display: block;
}

.pswp,
.pswp__bg {
	-webkit-transform: translateZ(0);
	        transform: translateZ(0);
	will-change: opacity;
}

.pswp__bg {
  opacity: 0.005;
	background: var(--pswp-bg);
}

.pswp,
.pswp__scroll-wrap {
	overflow: hidden;
}

.pswp__scroll-wrap,
.pswp__bg,
.pswp__container,
.pswp__item,
.pswp__content,
.pswp__img,
.pswp__zoom-wrap {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.pswp__img,
.pswp__zoom-wrap {
	width: auto;
	height: auto;
}

.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img {
	cursor: -webkit-zoom-in;
	cursor: zoom-in;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img {
	cursor: move;
	cursor: -webkit-grab;
	cursor: grab;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/* :active to override grabbing cursor */
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,
.pswp__img {
	cursor: -webkit-zoom-out;
	cursor: zoom-out;
}


/* Prevent selection and tap highlights */
.pswp__container,
.pswp__img,
.pswp__button,
.pswp__counter {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.pswp__item {
	/* z-index for fade transition */
	z-index: 1;
	overflow: hidden;
}

.pswp__hidden {
	display: none !important;
}

/* Allow to click through pswp__content element, but not its children */
.pswp__content {
  pointer-events: none;
}
.pswp__content > * {
  pointer-events: auto;
}


/*

  PhotoSwipe UI

*/

/*
	Error message appears when image is not loaded
	(JS option errorMsg controls markup)
*/
.pswp__error-msg-container {
  display: grid;
}
.pswp__error-msg {
	margin: auto;
	font-size: 1em;
	line-height: 1;
	color: var(--pswp-error-text-color);
}

/*
class pswp__hide-on-close is applied to elements that
should hide (for example fade out) when PhotoSwipe is closed
and show (for example fade in) when PhotoSwipe is opened
 */
.pswp .pswp__hide-on-close {
	opacity: 0.005;
	will-change: opacity;
	-webkit-transition: opacity var(--pswp-transition-duration) cubic-bezier(0.4, 0, 0.22, 1);
	transition: opacity var(--pswp-transition-duration) cubic-bezier(0.4, 0, 0.22, 1);
	z-index: 10; /* always overlap slide content */
	pointer-events: none; /* hidden elements should not be clickable */
}

/* class pswp--ui-visible is added when opening or closing transition starts */
.pswp--ui-visible .pswp__hide-on-close {
	opacity: 1;
	pointer-events: auto;
}

/* <button> styles, including css reset */
.pswp__button {
	position: relative;
	display: block;
	width: 50px;
	height: 60px;
	padding: 0;
	margin: 0;
	overflow: hidden;
	cursor: pointer;
	background: none;
	border: 0;
	-webkit-box-shadow: none;
	        box-shadow: none;
	opacity: 0.85;
	-webkit-appearance: none;
	-webkit-touch-callout: none;
}

.pswp__button:hover,
.pswp__button:active,
.pswp__button:focus {
  -webkit-transition: none;
  transition: none;
  padding: 0;
  background: none;
  border: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  opacity: 1;
}

.pswp__button:disabled {
  opacity: 0.3;
  cursor: auto;
}

.pswp__icn {
  fill: var(--pswp-icon-color);
  color: var(--pswp-icon-color-secondary);
  position: absolute;
  top: 14px;
  left: 9px;
  width: 32px;
  height: 32px;
  overflow: hidden;
  pointer-events: none;
}

.pswp__icn-shadow {
  stroke: var(--pswp-icon-stroke-color);
  stroke-width: var(--pswp-icon-stroke-width);
  fill: none;
}

.pswp__icn:focus {
	outline: 0;
}

/*
	div element that matches size of large image,
	large image loads on top of it,
	used when msrc is not provided
*/
div.pswp__img--placeholder,
.pswp__img--with-bg {
	background: var(--pswp-placeholder-bg);
}

.pswp__top-bar {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 60px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
	z-index: 10;

	/* allow events to pass through top bar itself */
	pointer-events: none !important;
}
.pswp__top-bar > * {
  pointer-events: auto;
  /* this makes transition significantly more smooth,
     even though inner elements are not animated */
  will-change: opacity;
}


/*

  Close button

*/
.pswp__button--close {
  margin-right: 6px;
}


/*

  Arrow buttons

*/
.pswp__button--arrow {
  position: absolute;
  top: 0;
  width: 75px;
  height: 100px;
  top: 50%;
  margin-top: -50px;
}

.pswp__button--arrow:disabled {
  display: none;
  cursor: default;
}

.pswp__button--arrow .pswp__icn {
  top: 50%;
  margin-top: -30px;
  width: 60px;
  height: 60px;
  background: none;
  border-radius: 0;
}

.pswp--one-slide .pswp__button--arrow {
  display: none;
}

/* hide arrows on touch screens */
.pswp--touch .pswp__button--arrow {
  visibility: hidden;
}

/* show arrows only after mouse was used */
.pswp--has_mouse .pswp__button--arrow {
  visibility: visible;
}

.pswp__button--arrow--prev {
  right: auto;
  left: 0px;
}

.pswp__button--arrow--next {
  right: 0px;
}
.pswp__button--arrow--next .pswp__icn {
  left: auto;
  right: 14px;
  /* flip horizontally */
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}

/*

  Zoom button

*/
.pswp__button--zoom {
  display: none;
}

.pswp--zoom-allowed .pswp__button--zoom {
  display: block;
}

/* "+" => "-" */
.pswp--zoomed-in .pswp__zoom-icn-bar-v {
  display: none;
}


/*

  Loading indicator

*/
.pswp__preloader {
  position: relative;
  overflow: hidden;
  width: 50px;
  height: 60px;
  margin-right: auto;
}

.pswp__preloader .pswp__icn {
  opacity: 0;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  -webkit-animation: pswp-clockwise 600ms linear infinite;
          animation: pswp-clockwise 600ms linear infinite;
}

.pswp__preloader--active .pswp__icn {
  opacity: 0.85;
}

@-webkit-keyframes pswp-clockwise {
  0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}

@keyframes pswp-clockwise {
  0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}


/*

  "1 of 10" counter

*/
.pswp__counter {
  height: 30px;
  margin-top: 15px;
  -webkit-margin-start: 20px;
          margin-inline-start: 20px;
  font-size: 14px;
  line-height: 30px;
  color: var(--pswp-icon-color);
  text-shadow: 1px 1px 3px var(--pswp-icon-color-secondary);
  opacity: 0.85;
}

.pswp--one-slide .pswp__counter {
  display: none;
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFBQSxnQkFBZ0I7QUFHaEI7O0NBQUE7QUFBQTs7O0NBQUE7QUFBQTs7O0VBQUE7VUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0FBQUE7O0VBQUE7QUFBQTtBQUFBOzs7Ozs7OztDQUFBO0FBQUE7O0VBQUE7RUFBQTtFQUFBO0VBQUE7S0FBQTtFQUFBO0VBQUE7VUFBQTtFQUFBO0VBQUE7QUFBQTtBQUFBOzs7Q0FBQTtBQUFBO0VBQUE7RUFBQTtBQUFBO0FBQUE7Ozs7Q0FBQTtBQUFBO0VBQUE7RUFBQTtFQUFBO0FBQUE7QUFBQTs7Q0FBQTtBQUFBO0VBQUE7VUFBQTtBQUFBO0FBQUE7O0NBQUE7QUFBQTs7Ozs7O0VBQUE7RUFBQTtBQUFBO0FBQUE7O0NBQUE7QUFBQTtFQUFBO0VBQUE7QUFBQTtBQUFBOztDQUFBO0FBQUE7O0VBQUE7QUFBQTtBQUFBOzs7OztDQUFBO0FBQUE7Ozs7RUFBQTtFQUFBO1VBQUE7RUFBQTtFQUFBO0FBQUE7QUFBQTs7Q0FBQTtBQUFBO0VBQUE7QUFBQTtBQUFBOztDQUFBO0FBQUE7O0VBQUE7RUFBQTtFQUFBO0VBQUE7QUFBQTtBQUFBO0VBQUE7QUFBQTtBQUFBO0VBQUE7QUFBQTtBQUFBOzs7O0NBQUE7QUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0FBQUE7Ozs7Q0FBQTtBQUFBOzs7OztFQUFBO0VBQUE7VUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0FBQUE7QUFBQTs7Q0FBQTtBQUFBOztFQUFBO0FBQUE7QUFBQTs7O0NBQUE7QUFBQTs7OztFQUFBO0VBQUE7RUFBQTtBQUFBO0FBQUE7O0NBQUE7QUFBQTtFQUFBO0FBQUE7QUFBQTs7Q0FBQTtBQUFBO0VBQUE7QUFBQTtBQUFBOztDQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7O0NBQUE7QUFBQTs7RUFBQTtBQUFBO0FBQUE7OztDQUFBO0FBQUE7RUFBQTtFQUFBO0FBQUE7QUFBQTs7Q0FBQTtBQUFBO0VBQUE7QUFBQTtBQUFBOzs7Q0FBQTtBQUFBO0VBQUE7RUFBQTtBQUFBO0FBQUE7O0NBQUE7QUFBQTtFQUFBO0FBQUE7QUFBQTs7Q0FBQTtBQUFBOzs7Ozs7Ozs7Ozs7O0VBQUE7QUFBQTtBQUFBO0VBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7OztFQUFBO0VBQUE7RUFBQTtBQUFBO0FBQUE7O0NBQUE7QUFBQTtFQUFBO0FBQUE7QUFBQTs7Q0FBQTtBQUFBO0VBQUE7QUFBQTtBQUFBOzs7Q0FBQTtBQUFBO0VBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtFQUFBO0FBQUE7QUFBQTtFQUFBO0VBQUE7QUFBQTtBQUFBO0VBQUE7RUFBQTtBQUFBO0FBQUE7O0VBQUE7RUFBQTtBQUFBO0FBQUE7O0NBQUE7QUFBQTs7RUFBQTtBQUFBO0FBQUE7O0NBQUE7QUFBQTtFQUFBO0FBQUE7QUFBQTs7OztDQUFBO0FBQUE7Ozs7Ozs7O0VBQUE7RUFBQTtBQUFBO0FBQUE7O0NBQUE7QUFBQTs7RUFBQTtFQUFBO0FBQUE7QUFBQTtBQUFBO0VBQUE7QUFBQTtBQUFBO0VBQUE7S0FBQTtVQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7VUFBQTtFQUFBO0FBQUE7QUFBQTtFQUFBO0VBQUE7QUFBQTtBQUFBO0VBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtFQUFBO0FBQUE7QUFBQTtFQUFBO0VBQUE7QUFBQTtBQUFBO0VBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtFQUFBO0FBQUE7QUFBQTtFQUFBO0VBQUE7QUFBQTtBQUFBO0VBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7VUFBQTtBQUFBO0FBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7VUFBQTtBQUFBO0FBQUE7RUFBQTtLQUFBO1VBQUE7RUFBQTtFQUFBO1VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtLQUFBO01BQUE7VUFBQTtFQUFBO01BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7VUFBQTtBQUFBO0FBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0FBQUE7QUFBQTtFQUFBO0FBQUE7QUFBQTtFQUFBO0lBQUE7T0FBQTtZQUFBO0VBQUE7QUFBQTtBQUFBO0VBQUE7QUFBQTtBQUFBO0VBQUE7SUFBQTtPQUFBO1lBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtFQUFBO0FBQUE7QUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtJQUFBO09BQUE7WUFBQTtFQUFBO0FBQUE7QUFBQTtFQUFBO0VBQUE7QUFBQTtBQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7QUFBQTtBQUFBO0VBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0FBQUE7QUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7QUFBQTtBQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0FBQ0E7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0FBQUE7QUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUE7QUFBQTtBQUFBO0VBQUE7SUFBQTtFQUFBO0FBQUE7QUFBQTtFQUFBO0lBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtJQUFBO0VBQUE7QUFBQTtBQUFBO0VBQUE7SUFBQTtFQUFBO0FBQUE7QUFDQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtFQUFBO0VBQUE7QUFBQTtBQUFBO0VBQUE7QUFBQTtBQUFBO0VBQUE7QUFBQTtBQUFBO0VBQUE7QUFBQTtBQUFBO0VBQUE7QUFBQTtBQUFBO0VBQUE7QUFBQTtBQUFBO0VBQUE7VUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtFQUFBO01BQUE7VUFBQTtBQUFBO0FBQUE7RUFBQTtNQUFBO1VBQUE7QUFBQTtBQUFBO0VBQUE7TUFBQTtVQUFBO0FBQUE7QUFBQTtFQUFBO01BQUE7VUFBQTtBQUFBO0FBQUE7RUFBQTtNQUFBO1VBQUE7QUFBQTtBQUFBO0VBQUE7RUFBQTtFQUFBO0FBQUE7QUFBQTtFQUFBO0FBQUE7QUFBQTtFQUFBO0FBQUE7QUFBQTtFQUFBO0FBQUE7QUFBQTtFQUFBO0VBQUE7QUFBQTtBQUFBO0VBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtVQUFBO0FBQUE7QUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7VUFBQTtFQUFBO1VBQUE7QUFBQTtBQ0xBO0VBQ0U7RUFDQTtBREtGOztBRVBBO0VBQ0k7RUFDQTtBRlVKOztBR1pBO0FBRUE7RUFDSTtFQUNBO0VBQ0E7VUFBQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUhjSjs7QUdaQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUhlSjtBR2JJO0VBQ0k7QUhlUjtBR1pJO0VBQ0k7RUFDQTtBSGNSOztBR1hBOztFQUVJO0VBSUE7QUhjSjs7QUdYQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSGNKO0FHWkk7RUFFSTtFQUNBO0FIYVI7QUdWSTtFQUNJO0FIWVI7QUdUSTtFQUNJO0FIV1I7O0FHUkE7RUFDSTtFQUNBO0VBQ0E7RUFXQTtBSENKO0FHWEk7RUFD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SUFDQztJQUNBO0VyQnlyQkE7RXFCdnJCRDtJQUNDO0VyQnlyQkE7RXFCdnJCRDtJQUNDO0VyQnlyQkE7RXFCdHJCRDtFQUVBO0lBQ0k7SUFDQTtFckJ1ckJIO0VxQnByQkQ7SUFDQztFckJzckJBO0VxQm5yQkQ7SUFDQztJQUNBO0VyQnFyQkE7RXFCbHJCRDtJQUNDO0VyQm9yQkE7RXFCbHJCRDtJQUNDO0VyQm9yQkE7QUFDRjtBcUJqckJBO0FBQ0E7RUFDQztJQUNDO0VyQm1yQkE7RXFCanJCRDtJQUNDO0lBQ0E7RXJCbXJCQTtFcUJockJEO0lBQ0M7RXJCa3JCQTtFcUJockJEO0lBQ0M7RXJCa3JCQTtFcUIvcUJEO0lBQ0M7RXJCaXJCQTtFcUIvcUJEO0lBQ0k7RXJCaXJCSDtFcUIvcUJEO0lBQ0k7RXJCaXJCSDtFcUI5cUJEO0VBQ0E7SUFDSTtJQUNBO0VyQmdyQkg7RXFCOXFCRDtJQUNJO0VyQmdyQkg7RXFCOXFCRDtJQUNJO0lBQ0g7SUFDQTtJQUNBO0VyQmdyQkE7RXFCOXFCRDtJQUNJO0VyQmdyQkg7RXFCOXFCRDtJQUNJO0VyQmdyQkg7RXFCOXFCRDtJQUNJO0lBQ0E7RXJCZ3JCSDtFcUI5cUJEO0lBQ0k7SUFDQTtFckJnckJIO0VxQjlxQkQ7SUFDSTtFckJnckJIO0VxQjlxQkQ7SUFDSTtFckJnckJIO0VxQjlxQkQ7SUFDSTtFckJnckJIO0VxQjlxQkQ7SUFDQztFckJnckJBO0VxQjdxQkQ7SUFDQztJQUNBO0VyQitxQkE7RXFCNXFCRDtFQUNBO0lBQ0M7RXJCOHFCQTtFcUIzcUJEO0VBRUE7SUFDQztFckI0cUJBO0VxQjFxQkQ7SUFDQztFckI0cUJBO0VxQnpxQkQ7SUFDSTtJQUNBO0VyQjJxQkg7RXFCenFCRDtFQUNBO0lBQ0k7RXJCMnFCSDtFcUJ4cUJEO0lBQ0k7RXJCMHFCSDtFcUJ2cUJEO0VBQ0E7SUFDQztJQUNBO0VyQnlxQkE7RXFCdnFCRDtJQUNJO0VyQnlxQkg7RXFCdnFCRDtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXJCeXFCSDtFcUJycUJEO0VBQ0E7SUFDSTtFckJ1cUJIO0VxQm5xQkQ7RUFFQTtJQUNDO0VyQm9xQkE7RXFCbHFCRDtJQUNDO0VyQm9xQkE7RXFCbHFCRDtJQUNDO0VyQm9xQkE7RXFCanFCRDtJQUNDO0VyQm1xQkE7RXFCanFCRDtJQUNJO0lBQ0E7RXJCbXFCSDtFcUJqcUJEO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7RXJCbXFCSDtFcUJqcUJEO0lBQ0M7RXJCbXFCQTtFcUJqcUJEO0lBQ0k7RXJCbXFCSDtFcUJqcUJEO0lBQ0M7RXJCbXFCQTtFcUJqcUJEO0lBQ0M7RXJCbXFCQTtBQUNGO0FxQi9wQkE7QUFDQTtFQUNDO0lBQ0M7RXJCaXFCQTtFcUI5cEJEO0lBQ0k7SUFDQTtFckJncUJIO0VxQjlwQkQ7SUFDSTtJQUNBO0VyQmdxQkg7RXFCOXBCRDtJQUNJO0lBQ0g7SUFDQTtFckJncUJBO0VxQjlwQkQ7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFckJncUJIO0VxQjlwQkQ7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFckJncUJIO0VxQjlwQkQ7RUFDQTtJQUNJO0lBQ0E7RXJCZ3FCSDtFcUI5cEJEO0lBQ0k7RXJCZ3FCSDtFcUI5cEJEO0lBQ0k7RXJCZ3FCSDtFcUI5cEJEO0lBQ0k7SUFDQTtJQUNBO0VyQmdxQkg7RXFCOXBCRDtJQUNJO0lBQ0E7RXJCZ3FCSDtFcUI5cEJEO0lBQ0k7SUFHQTtJQUNBO0VyQjRwQkg7RXFCenBCRDtJQUNJO0lBQ0E7SUFDQTtJQUNBO0VyQitwQkg7RXFCN3BCRDtJQUNJO0VyQitwQkg7RXFCNXBCRDtJQUNDO0lBQ0E7RXJCOHBCQTtFcUIzcEJEO0VBQ0U7SUFDRTtJQUNBO0VyQjZwQkg7RXFCMXBCRDtJQUNJO0lBQ0E7RXJCNHBCSDtFcUIxcEJEO0lBQ0M7RXJCNHBCQTtFcUJ6cEJEO0lBQ0M7SUFDQTtFckIycEJBO0VxQnpwQkQ7SUFDQztFckIycEJBO0VxQnpwQkE7SUFDQztFckIycEJEO0VxQnhwQkQ7SUFDQztFckIwcEJBO0VxQnZwQkQ7RUFDQTtJQUNJO0VyQnlwQkg7RXFCdHBCRDtJQUNJO0VyQndwQkg7RXFCcnBCRDtFQUNBO0lBQ0k7RXJCdXBCSDtFcUJycEJEO0lBQ0k7RXJCdXBCSDtFcUJycEJEO0lBQ0k7SUFDQTtFckJ1cEJIO0VxQnJwQkQ7SUFDRztFckJ1cEJGO0VxQnJwQkQ7SUFDQztJQUdBO0VyQnVwQkE7RXFCcHBCRDtFQUNBO0lBQ0k7RXJCc3BCSDtFcUJwcEJEO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFckJzcEJIO0VxQnBwQkQ7RUFDQTtJQUNJO0lBQ0E7SUFDQTtFckJzcEJIO0VxQm5wQkQ7SUFDSTtFckJxcEJIO0VxQmxwQkQ7RUFDQTtJQUNJO0VyQm9wQkg7RXFCbHBCRDtJQUNJO0VyQm9wQkg7RXFCbHBCRDtJQUNJO0VyQm9wQkg7RXFCbHBCRDtJQUNJO0VyQm9wQkg7RXFCbHBCRDtJQUNJO0VyQm9wQkg7RXFCbHBCRDtJQUNJO0VyQm9wQkg7RXFCbHBCRDtJQUNJO0lBQ0E7RXJCb3BCSDtFcUJscEJEO0lBQ0M7RXJCb3BCQTtFcUJqcEJEO0VBQ0E7SUFDSTtFckJtcEJIO0VxQmpwQkQ7SUFDQztFckJtcEJBO0VxQmhwQkQ7RUFDQTtJQUNJO0VyQmtwQkg7QUFDRjtBc0IxakNBO0VBQ0U7RUFDQTtFQUNBO0VBRUE7QXRCMmpDRjs7QXNCeGpDQTtBQUVBO0VBQ0U7RUFFQTtFQUNBO0VBQ0E7RUFDQTtBdEJ5akNGOztBc0J0akNBO0VBQ0U7RUFDQTtFQUNBO0F0QnlqQ0Y7O0FzQnRqQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0QnlqQ0Y7O0FzQnRqQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBdEJ5akNGOztBc0J0akNBO0VBQ0U7QXRCeWpDRjs7QXNCdGpDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0QnlqQ0Y7O0FzQnRqQ0E7RUFDRTtBdEJ5akNGOztBc0J0akNBO0VBRUU7RUFDQTtBdEJ3akNGOztBc0JyakNBO0VBRUU7QXRCdWpDRjs7QXNCcGpDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRCdWpDRjs7QXNCcGpDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F0QnVqQ0Y7O0FzQnBqQ0E7RUFDRTtBdEJ1akNGOztBc0JwakNBO0VBQ0U7QXRCdWpDRjs7QXNCcGpDQTtFQUNFO0F0QnVqQ0Y7O0FzQnBqQ0E7RUFDRTtFQUNBO0F0QnVqQ0Y7O0FzQnBqQ0E7QUFFQTtFQUVFO0F0QnFqQ0Y7O0FzQmxqQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBdEJxakNGOztBc0JsakNBO0FBRUE7RUFFRTtFQUNBO0VBQ0E7QXRCbWpDRjs7QXNCaGpDQTtFQUNFO0F0Qm1qQ0Y7QXNCampDRTtFQUNFO0F0Qm1qQ0o7O0FzQi9pQ0E7RUFDRTtFQUNBO0VBQ0E7QXRCa2pDRjs7QXNCL2lDQTtFQUNFO0F0QmtqQ0Y7O0FzQi9pQ0E7RUFDRTtBdEJrakNGOztBc0IzaUNBO0VBQ0U7RUFDQTtFQUNBO0F0QjhpQ0Y7O0FzQjNpQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRCOGlDRjs7QXNCM2lDQTtFQUNFO0VBRUE7RUFDQTtBdEI2aUNGOztBc0IxaUNBO0FBRUE7RUFDRTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRCMmlDRjs7QXNCeGlDQTtFQUNFO0VBQ0E7QXRCMmlDRjs7QXNCeGlDQTtFQUNFO0VBRUE7QXRCMGlDRjs7QXNCdmlDQTtBQUNBO0VBQ0U7QXRCMGlDRjs7QXNCdmlDQTtFQUNFO0VBQ0E7RUFBQTtFQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7TUFBQTtVQUFBO0F0QjBpQ0Y7O0FzQnZpQ0E7RUFFRTtBdEJ5aUNGOztBc0J0aUNBO0VBQ0U7QXRCeWlDRjs7QXNCdGlDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEJ5aUNGOztBc0J0aUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXRCeWlDRjs7QXNCcmlDQTtBQUNBO0VBRUU7RUFDQTtBdEJ1aUNGOztBc0JwaUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXRCdWlDRjs7QXNCcGlDQTtBQUNBO0VBQ0U7RUFFQTtFQUNBO0VBQ0E7QXRCc2lDRjs7QXNCbmlDQTtBQUVBO0VBQ0U7RUFDQTtBdEJxaUNGOztBc0JsaUNBO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7RUFFQTtBdEJtaUNGOztBc0JoaUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEJtaUNGOztBc0JoaUNBO0VBRUU7QXRCa2lDRjs7QXNCL2hDQTtFQUNFO0F0QmtpQ0Y7O0FzQi9oQ0E7RUFDRTtBdEJraUNGOztBc0IvaENBO0VBQ0U7QXRCa2lDRjs7QXNCL2hDQTtBQUVBO0VBRUU7RUFDQTtFQUNBO0F0QmdpQ0Y7O0FzQjdoQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBdEJnaUNGOztBc0I3aENBO0VBQ0U7RUFDQTtFQUNBO0F0QmdpQ0Y7O0FzQjdoQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBdEJnaUNGOztBc0I3aENBO0FBRUE7RUFDRTtBdEIraENGOztBc0I1aENBO0VBRUU7QXRCOGhDRjs7QXNCM2hDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F0QjhoQ0Y7O0FzQjNoQ0E7RUFDRTtFQUNBO0F0QjhoQ0Y7O0FzQjNoQ0E7RUFDRTtFQUNBO0VBQ0E7QXRCOGhDRjs7QXNCM2hDQTtFQUNFO0F0QjhoQ0Y7O0FzQjNoQ0E7RUFDRTtBdEI4aENGOztBc0IzaENBOztHQUFBO0FBR0E7RUFDRTtBdEI4aENGOztBc0IzaENBO0VBQ0U7S0FBQTtVQUFBO0VBQ0E7QXRCOGhDRjs7QXNCM2hDQTtBQUVBO0VBRUU7SUFDRTtJQUNBO0V0QjRoQ0Y7QUFDRjtBc0J6aENBO0VBRUU7QXRCMGhDRjs7QXNCdmhDQTtFQUNFO0F0QjBoQ0Y7O0FzQnZoQ0E7RUFDRTtBdEIwaENGOztBc0J2aENBOzs7Ozs7Ozs7Ozs7O0dBQUE7QUFjQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRCMGhDRjs7QXNCcmhDSTtFQUNFO0F0QndoQ047QXNCdGhDTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRCd2hDUjs7QXNCbGhDQTtFQUNFO0F0QnFoQ0Y7O0FzQmxoQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEJxaENGOztBc0JsaENBO0VBQ0U7RUFDQTtFQUVBO0F0Qm9oQ0Y7O0FzQmpoQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBdEJvaENGOztBc0JqaENBO0VBQ0U7QXRCb2hDRjs7QXNCamhDQTtFQUNFO0VBQ0E7QXRCb2hDRjs7QXNCamhDQTtFQUNFO0F0Qm9oQ0Y7O0FzQjVnQ0E7RUFDRTtFQUNBO0F0QitnQ0Y7O0FzQjVnQ0E7RUFDRTtBdEIrZ0NGOztBc0I1Z0NBO0VBQ0U7QXRCK2dDRjs7QXNCNWdDQTtFQUNFO0VBQ0E7QXRCK2dDRjs7QXNCNWdDQTtFQUNFO0VBQ0E7QXRCK2dDRjs7QXNCNWdDQTtFQUNFO0F0QitnQ0Y7O0FzQjVnQ0E7RUFDRTtFQUNBO0F0QitnQ0Y7O0FzQjVnQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEIrZ0NGOztBc0I1Z0NBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEIrZ0NGOztBc0I1Z0NBO0VBQ0U7QXRCK2dDRjs7QXNCNWdDQTtFQUNFO0VBQ0E7QXRCK2dDRjs7QXNCNWdDQTtFQUNFO0VBQ0E7QXRCK2dDRjs7QXNCNWdDQTtFQUNFO0F0QitnQ0Y7O0FzQjVnQ0E7RUFDRTtBdEIrZ0NGOztBc0I1Z0NBO0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRCOGdDRjs7QXNCM2dDQTtFQUNFO0VBQ0E7QXRCOGdDRjs7QXNCM2dDQTtFQUNFO0VBRUE7QXRCNmdDRjs7QXNCMWdDQTtBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXRCNGdDRjs7QXNCemdDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRCNGdDRjs7QXNCemdDQTtFQUNFO0VBQ0E7QXRCNGdDRjs7QXNCemdDQTtBQUVBO0VBQ0U7RUFDQTtBdEIyZ0NGOztBc0J4Z0NBO0FBRUE7O0VBRUU7QXRCMGdDRjs7QXNCdmdDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F0QjBnQ0Y7O0FzQnZnQ0E7RUFDRTtFQUNBO0F0QjBnQ0Y7O0FzQnZnQ0E7RUFDRTtBdEIwZ0NGOztBc0J2Z0NBO0VBQ0U7QXRCMGdDRjs7QXNCdmdDQTtFQUNFO0VBQ0E7QXRCMGdDRjs7QXNCdmdDQTtFQUNFO0VBQ0E7QXRCMGdDRjs7QXNCdmdDQTtFQUNFO0F0QjBnQ0Y7O0FzQnZnQ0E7RUFDRTtFQUNBO0VBQ0E7QXRCMGdDRjs7QXNCdmdDQTtFQUNFO0F0QjBnQ0Y7O0FzQnZnQ0E7RUFDRTtFQUNBO0F0QjBnQ0Y7O0FzQnZnQ0E7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRCMGdDRjs7QXNCdmdDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0QjBnQ0Y7O0FzQnZnQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRCMGdDRjs7QXNCdmdDQTtFQUNFO0F0QjBnQ0Y7O0FzQnZnQ0E7RUFDRTtBdEIwZ0NGOztBc0J2Z0NBO0FBQ0E7RUFDRTtBdEIwZ0NGOztBc0J2Z0NBO0FBRUE7RUFDRTtJQUNFO0V0QnlnQ0Y7RXNCdmdDQTtJQUNFO0lBR0E7SUFDQTtJQUVBO0lBQUE7RXRCbWdDRjtFc0JqZ0NBO0lBQ0U7SUFDQTtFdEJ5Z0NGO0VzQnZnQ0E7SUFDRTtFdEJ5Z0NGO0VzQnZnQ0E7SUFDRTtJQUNBO0V0QnlnQ0Y7RXNCdmdDQTtJQUNFO0V0QnlnQ0Y7RXNCdmdDQTtJQUNFO0V0QnlnQ0Y7RXNCdGdDQTtJQUNFO0V0QndnQ0Y7RXNCdGdDQTtJQUNFO0V0QndnQ0Y7RXNCcmdDQTtJQUNFO0V0QnVnQ0Y7RXNCcGdDQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0V0QnNnQ0Y7RXNCcGdDQTtJQUNFO0lBQ0E7RXRCc2dDRjtFc0JwZ0NBO0lBQ0U7SUFDQTtFdEJzZ0NGO0VzQnBnQ0E7SUFDRTtFdEJzZ0NGO0VzQnBnQ0E7SUFDRTtFdEJzZ0NGO0VzQnBnQ0E7SUFDRTtFdEJzZ0NGO0Vz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O0FBRUE7RUFDRSxXQUFXO0VBQ1gsU0FBUztBQUNYOztBQUVBO0VBQ0UsVUFBVTtBQUNaO0FBQ0E7RUFDRSxVQUFVO0VBQ1YsV0FBVztFQUNYLHNCQUFzQjtFQUN0QiwrQkFBdUI7VUFBdkIsdUJBQXVCO0FBQ3pCOztBQUVBOzs7O0NBSUM7QUFDRDtFQUNFLGFBQWE7QUFDZjs7QUFFQTtFQUNFLGNBQWM7QUFDaEI7O0FBRUEsZUFBZTtBQUNmO0VBQ0UsYUFBYTtBQUNmOzs7QUFHQTs7OztDQUlDO0FBQ0Q7RUFDRSxrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBQ2hCLFdBQVc7RUFDWCxZQUFZO0VBQ1osa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsVUFBVTtFQUNWLHVDQUErQjtFQUEvQiwrQkFBK0I7RUFDL0IsdURBQStDO1VBQS9DLCtDQUErQztBQUNqRDs7QUFFQTtFQUNFLGFBQWE7QUFDZjs7QUFFQTtFQUNFLEtBQUssK0JBQXVCLEVBQXZCLHVCQUF1QixFQUFFO0VBQzlCLE9BQU8saUNBQXlCLEVBQXpCLHlCQUF5QixFQUFFO0FBQ3BDOztBQUhBO0VBQ0UsS0FBSywrQkFBdUIsRUFBdkIsdUJBQXVCLEVBQUU7RUFDOUIsT0FBTyxpQ0FBeUIsRUFBekIseUJBQXlCLEVBQUU7QUFDcEM7OztBQUdBOzs7O0NBSUM7QUFDRDtFQUNFLFlBQVk7RUFDWixnQkFBZ0I7RUFDaEIsMEJBQXlCO1VBQXpCLHlCQUF5QjtFQUN6QixlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLDZCQUE2QjtFQUM3Qix5REFBeUQ7RUFDekQsYUFBYTtBQUNmOztBQUVBO0VBQ0UsYUFBYTtBQUNmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vc3VsdV9za2VsZXRvbi8uL2Fzc2V0cy93ZWJzaXRlL2Nzcy9tYWluLnNjc3MiLCJ3ZWJwYWNrOi8vc3VsdV9za2VsZXRvbi8uL2Fzc2V0cy93ZWJzaXRlL2Nzcy9lbGVtZW50cy9faW5wdXQuc2NzcyIsIndlYnBhY2s6Ly9zdWx1X3NrZWxldG9uLy4vYXNzZXRzL3dlYnNpdGUvY3NzL2VsZW1lbnRzL19pbWFnZS5zY3NzIiwid2VicGFjazovL3N1bHVfc2tlbGV0b24vLi9ub2RlX21vZHVsZXMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2suc2NzcyIsIndlYnBhY2s6Ly9zdWx1X3NrZWxldG9uLy4vbm9kZV9tb2R1bGVzL3NsaWNrLWNhcm91c2VsL3NsaWNrL3NsaWNrLXRoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vc3VsdV9za2VsZXRvbi8uL2Fzc2V0cy93ZWJzaXRlL2Nzcy9jb21wb25lbnRzL19zbGljay1zbGlkZXIuc2NzcyIsIndlYnBhY2s6Ly9zdWx1X3NrZWxldG9uLy4vYXNzZXRzL3dlYnNpdGUvY3NzL2NvbXBvbmVudHMvX2Jsb2Nrcy5zY3NzIiwid2VicGFjazovL3N1bHVfc2tlbGV0b24vLi9hc3NldHMvd2Vic2l0ZS9jc3MvY29tcG9uZW50cy9fbmF2YmFyLnNjc3MiLCJ3ZWJwYWNrOi8vc3VsdV9za2VsZXRvbi8uL2Fzc2V0cy93ZWJzaXRlL2Nzcy9jb21wb25lbnRzL19pbWFnZS1tYXAuc2NzcyIsIndlYnBhY2s6Ly9zdWx1X3NrZWxldG9uLy4vYXNzZXRzL3dlYnNpdGUvY3NzL2NvbXBvbmVudHMvX3RlYXNlci5zY3NzIiwid2VicGFjazovL3N1bHVfc2tlbGV0b24vLi9hc3NldHMvd2Vic2l0ZS9jc3MvY29tcG9uZW50cy9ibG9ja3MvX2ltYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vc3VsdV9za2VsZXRvbi8uL25vZGVfbW9kdWxlcy9Ac3VsdS93ZWIvcGFja2FnZXMvc2Nzcy90b29scy9tZWRpYS9fbWVkaWEuc2NzcyIsIndlYnBhY2s6Ly9zdWx1X3NrZWxldG9uLy4vYXNzZXRzL3dlYnNpdGUvY3NzL2NvbXBvbmVudHMvYmxvY2tzL190aXRsZS5zY3NzIiwid2VicGFjazovL3N1bHVfc2tlbGV0b24vLi9hc3NldHMvd2Vic2l0ZS9jc3MvY29tcG9uZW50cy9ibG9ja3MvX3F1b3RlLnNjc3MiLCJ3ZWJwYWNrOi8vc3VsdV9za2VsZXRvbi8uL2Fzc2V0cy93ZWJzaXRlL2Nzcy9zZXR0aW5ncy9fY29sb3Iuc2NzcyIsIndlYnBhY2s6Ly9zdWx1X3NrZWxldG9uLy4vYXNzZXRzL3dlYnNpdGUvY3NzL2NvbXBvbmVudHMvYmxvY2tzL19saW5rLnNjc3MiLCJ3ZWJwYWNrOi8vc3VsdV9za2VsZXRvbi8uL2Fzc2V0cy93ZWJzaXRlL2Nzcy9jb21wb25lbnRzL19nYWxsZXJ5LnNjc3MiLCJ3ZWJwYWNrOi8vc3VsdV9za2VsZXRvbi8uL2Fzc2V0cy93ZWJzaXRlL2Nzcy9jb21wb25lbnRzL19kb2N1bWVudHMuc2NzcyIsIndlYnBhY2s6Ly9zdWx1X3NrZWxldG9uLy4vYXNzZXRzL3dlYnNpdGUvY3NzL2NvbXBvbmVudHMvX2ZlZWRiYWNrLnNjc3MiLCJ3ZWJwYWNrOi8vc3VsdV9za2VsZXRvbi8uL2Fzc2V0cy93ZWJzaXRlL2Nzcy9jb21wb25lbnRzL19hbGVydC5zY3NzIiwid2VicGFjazovL3N1bHVfc2tlbGV0b24vLi9hc3NldHMvd2Vic2l0ZS9jc3Mvb2xkLXBhZ2UvdG9wZml4LnNjc3MiLCJ3ZWJwYWNrOi8vc3VsdV9za2VsZXRvbi8uL2Fzc2V0cy93ZWJzaXRlL2Nzcy9vbGQtcGFnZS9yZXNwb25zaXZlLnNjc3MiLCJ3ZWJwYWNrOi8vc3VsdV9za2VsZXRvbi8uL2Fzc2V0cy93ZWJzaXRlL2Nzcy9vbGQtcGFnZS9zdHlsZS5zY3NzIiwid2VicGFjazovL3N1bHVfc2tlbGV0b24vLi9hc3NldHMvd2Vic2l0ZS9jc3Mvb2xkLXBhZ2UvbWNlLnNjc3MiLCJ3ZWJwYWNrOi8vc3VsdV9za2VsZXRvbi8uL2Fzc2V0cy93ZWJzaXRlL2Nzcy9vbGQtcGFnZS9tYWluLnNjc3MiLCJ3ZWJwYWNrOi8vc3VsdV9za2VsZXRvbi8uL25vZGVfbW9kdWxlcy9waG90b3N3aXBlL2Rpc3QvcGhvdG9zd2lwZS5jc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSVRDU1MgU3RydWN0dXJlIGlzIHVzZWQgaGVyZTogaHR0cHM6Ly93d3cueGZpdmUuY28vYmxvZy9pdGNzcy1zY2FsYWJsZS1tYWludGFpbmFibGUtY3NzLWFyY2hpdGVjdHVyZS9cblxuLy8gU2V0dGluZ3M6XG5AdGFpbHdpbmQgYmFzZTtcbkB0YWlsd2luZCBjb21wb25lbnRzO1xuQHRhaWx3aW5kIHV0aWxpdGllcztcblxuLy9AaW1wb3J0ICd+Zm9udC1hd2Vzb21lL3Njc3MvZm9udC1hd2Vzb21lLnNjc3MnO1xuXG5AaW1wb3J0ICdzZXR0aW5ncy9icmVha3BvaW50JztcbkBpbXBvcnQgJ3NldHRpbmdzL2NvbG9yJztcbi8vQGltcG9ydCAnc2V0dGluZ3MvY29udGFpbmVyJztcbi8vQGltcG9ydCAnc2V0dGluZ3MvZm9udCc7XG4vL0BpbXBvcnQgJ3NldHRpbmdzL2dyaWQnO1xuLy9AaW1wb3J0ICdzZXR0aW5ncy96aW5kZXgnO1xuLy9AaW1wb3J0ICcuLi8uLi8uLi9wdWJsaWMvd2Vic2l0ZS9mb250cy9pY29tb29uL3ZhcmlhYmxlcyc7XG4vL1xuLy8vLyBUb29sczpcbkBpbXBvcnQgJ35Ac3VsdS93ZWIvcGFja2FnZXMvc2Nzcy90b29scy9tZWRpYS9tZWRpYSc7XG4vL1xuLy8vLyBHZW5lcmljczpcbi8vQGltcG9ydCAnfm5vcm1hbGl6ZS5jc3Mvbm9ybWFsaXplJztcbi8vQGltcG9ydCAnZ2VuZXJpY3MvZm9udCc7XG4vL0BpbXBvcnQgJ2dlbmVyaWNzL2JveC1zaXppbmcnO1xuLy9AaW1wb3J0ICdnZW5lcmljcy9mb250LXNldHRpbmdzJztcbi8vXG4vLy8vIEVsZW1lbnRzOlxuLy9AaW1wb3J0ICdlbGVtZW50cy9ib2R5JztcbkBpbXBvcnQgJ2VsZW1lbnRzL2lucHV0JztcbkBpbXBvcnQgJ2VsZW1lbnRzL2ltYWdlJztcbi8vQGltcG9ydCAnZWxlbWVudHMvYSc7XG4vL0BpbXBvcnQgJ2VsZW1lbnRzL2gnO1xuLy9cbi8vLy8gT2JqZWN0czpcbi8vQGltcG9ydCAnb2JqZWN0cy9jb250YWluZXInO1xuLy9AaW1wb3J0ICdvYmplY3RzL2dyaWQnO1xuLy9AaW1wb3J0ICdvYmplY3RzL3dpZHRoJztcbkBpbXBvcnQgJ35zbGljay1jYXJvdXNlbC9zbGljay9zbGljay5zY3NzJztcbkBpbXBvcnQgJ35zbGljay1jYXJvdXNlbC9zbGljay9zbGljay10aGVtZS5zY3NzJztcbi8vXG4vLy8vIENvbXBvbmVudHM6XG4vL0BpbXBvcnQgJ2NvbXBvbmVudHMvYXJ0aWNsZS1saXN0Jztcbi8vQGltcG9ydCAnY29tcG9uZW50cy9hcnRpY2xlLWluZm8nO1xuLy9AaW1wb3J0ICdjb21wb25lbnRzL2FsYnVtcyc7XG4vL0BpbXBvcnQgJ2NvbXBvbmVudHMvc2ltaWxhci1hcnRpY2xlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWNrLXNsaWRlcic7XG4vL0BpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmxvY2tzJztcbi8vQGltcG9ydCAnY29tcG9uZW50cy9jb250ZW50Jztcbi8vQGltcG9ydCAnY29tcG9uZW50cy9kZW1vYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbmF2YmFyJztcbi8vQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbi8vQGltcG9ydCAnY29tcG9uZW50cy9mb290ZXInO1xuLy9AaW1wb3J0ICdjb21wb25lbnRzL2hlYWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ltYWdlLW1hcCc7XG4vL0BpbXBvcnQgJ2NvbXBvbmVudHMvcG9zdGVkLWJ5Jztcbi8vQGltcG9ydCAnY29tcG9uZW50cy9zb2NpYWwtZm9vdGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGVhc2VyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmxvY2tzL3RleHQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9ibG9ja3MvaW1hZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9ibG9ja3MvdGl0bGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9ibG9ja3MvcXVvdGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9ibG9ja3MvbGluayc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2dhbGxlcnknO1xuQGltcG9ydCAnY29tcG9uZW50cy9kb2N1bWVudHMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mZWVkYmFjayc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FsZXJ0JztcblxuQGltcG9ydCAnb2xkLXBhZ2UvbWFpbic7XG5cbi8qIEFkZCBjdXN0b20gc3R5bGVzIGJlbG93ICovXG4jbmF2YmFyLWRyb3Bkb3duLW1lbnUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jbmF2YmFyLWRyb3Bkb3duLW1lbnU6bm90KC5oaWRkZW4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4iLCJbdHlwZT0ndGV4dCddLCBpbnB1dDp3aGVyZSg6bm90KFt0eXBlXSkpLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0nd2VlayddLCBbbXVsdGlwbGVdLCB0ZXh0YXJlYSwgc2VsZWN0IHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS43NXJlbTtcbn1cbiIsImltZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG4iLCIvKiBTbGlkZXIgKi9cblxuLnNsaWNrLXNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zbGljay1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICYuZHJhZ2dpbmcge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGN1cnNvcjogaGFuZDtcbiAgICB9XG59XG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmRyYWdnaW5nIGltZyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2xpY2stdmVydGljYWwgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbn1cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vIERlZmF1bHQgVmFyaWFibGVzXG5cbi8vIFNsaWNrIGljb24gZW50aXR5IGNvZGVzIG91dHB1dHMgdGhlIGZvbGxvd2luZ1xuLy8gXCJcXDIxOTBcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKGkFwiXG4vLyBcIlxcMjE5MlwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaSXCJcbi8vIFwiXFwyMDIyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLigKJcIlxuXG4kc2xpY2stZm9udC1wYXRoOiBcIi4vZm9udHMvXCIgIWRlZmF1bHQ7XG4kc2xpY2stZm9udC1mYW1pbHk6IFwic2xpY2tcIiAhZGVmYXVsdDtcbiRzbGljay1sb2FkZXItcGF0aDogXCIuL1wiICFkZWZhdWx0O1xuJHNsaWNrLWFycm93LWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU6ICRzbGljay1kb3QtY29sb3IgIWRlZmF1bHQ7XG4kc2xpY2stcHJldi1jaGFyYWN0ZXI6IFwiXFwyMTkwXCIgIWRlZmF1bHQ7XG4kc2xpY2stbmV4dC1jaGFyYWN0ZXI6IFwiXFwyMTkyXCIgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNoYXJhY3RlcjogXCJcXDIwMjJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3Qtc2l6ZTogNnB4ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktZGVmYXVsdDogMC43NSAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LW9uLWhvdmVyOiAxICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTogMC4yNSAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIHNsaWNrLWltYWdlLXVybCgkdXJsKSB7XG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhpbWFnZS11cmwpIHtcbiAgICAgICAgQHJldHVybiBpbWFnZS11cmwoJHVybCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiB1cmwoJHNsaWNrLWxvYWRlci1wYXRoICsgJHVybCk7XG4gICAgfVxufVxuXG5AZnVuY3Rpb24gc2xpY2stZm9udC11cmwoJHVybCkge1xuICAgIEBpZiBmdW5jdGlvbi1leGlzdHMoZm9udC11cmwpIHtcbiAgICAgICAgQHJldHVybiBmb250LXVybCgkdXJsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIHVybCgkc2xpY2stZm9udC1wYXRoICsgJHVybCk7XG4gICAgfVxufVxuXG4vKiBTbGlkZXIgKi9cblxuLnNsaWNrLWxpc3Qge1xuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmIHNsaWNrLWltYWdlLXVybChcImFqYXgtbG9hZGVyLmdpZlwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICB9XG59XG5cbi8qIEljb25zICovXG5AaWYgJHNsaWNrLWZvbnQtZmFtaWx5ID09IFwic2xpY2tcIiB7XG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gICAgICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3RcIik7XG4gICAgICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2suc3ZnI3NsaWNrXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIH1cbn1cblxuLyogQXJyb3dzICovXG5cbi5zbGljay1wcmV2LFxuLnNsaWNrLW5leHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICBmb250LXNpemU6IDBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRvcDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxuICAgICYuc2xpY2stZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBjb2xvcjogJHNsaWNrLWFycm93LWNvbG9yO1xuICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1kZWZhdWx0O1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG59XG5cbi5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogLTI1cHg7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgY29udGVudDogJHNsaWNrLW5leHQtY2hhcmFjdGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IC0yNXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGxlZnQ6IC0yNXB4O1xuICAgICAgICByaWdodDogYXV0bztcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIERvdHMgKi9cblxuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5zbGljay1kb3RzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMjVweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgY29udGVudDogJHNsaWNrLWRvdC1jaGFyYWN0ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2xpY2stZG90LXNpemU7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuc2xpY2stc2xpZGVyIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItY29tYmluYXRvci1ibGFja2xpc3RcbiAgICAuc2xpY2stZG90cyBidXR0b246OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG5cbiAgICAuc2xpY2stZG90cyB7XG4gICAgICAgIGJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAuc2xpY2stc2xpZGVyIC5zbGljay1kb3RzIGJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cblxuICAgIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBvcGFjaXR5OiAwLjc1O1xuICAgIH1cblxuICAgIC5zbGljay1zbGlkZSB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC00NSU7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDQwMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmJsb2NrcyB7XG4gICAgbWFyZ2luOiAtMzBweCAwO1xufVxuXG4uYmxvY2tzX19pdGVtIHtcbiAgICBtYXJnaW46IDMwcHggMDtcbn1cbiIsIlxuLm5hdmJhci1uYXYge1xuICAgIGxpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zdWJtZW51IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDM1MHB4O1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3Nzc3O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc3Nzc3NztcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG5cbiAgICAgICAgICAgICYudmlzaWJsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCA0MHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5kcm9wZG93bi1pY28ge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCA1cHg7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZHJvcGRvd24taWNvLW1vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgICAgICAgICByaWdodDogMTdweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgLy9ib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbn1cbiIsIi5pbWFnZW1hcF9fY29udGFpbmVyIHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5pbWFnZW1hcF9faW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi5pbWFnZW1hcF9faG90c3BvdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4uaW1hZ2VtYXBfX2hvdHNwb3QtLXJlY3RhbmdsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAgMCAwIC8gNTAlKTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcbn1cblxuLmltYWdlbWFwX19ob3RzcG90LS1jaXJjbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDAgMCAvIDMwJSk7XG4gICAgYm9yZGVyOiAycHggc29saWQgd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLmltYWdlbWFwX19ob3RzcG90LS1wb2ludCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgd2lkdGg6IDMwcHg7XG59XG5cbi5pbWFnZW1hcF9faG90c3BvdC10ZXh0IHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4uaW1hZ2VtYXBfX2hvdHNwb3QtLXBvaW50ID4gLmltYWdlbWFwX19ob3RzcG90LXRleHQge1xuICAgIGNvbG9yOiBibGFjaztcbn1cblxuLmltYWdlbWFwX19ob3RzcG90LWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBtYXJnaW4tdG9wOiAtNDBweDtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi5pbWFnZW1hcF9faG90c3BvdC1jb250ZW50OmhvdmVyLFxuLmltYWdlbWFwX19ob3RzcG90OmhvdmVyICsgLmltYWdlbWFwX19ob3RzcG90LWNvbnRlbnQge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG4iLCIudGVhc2VyLWNvbnRhaW5lciB7XG4gIC8vJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIC8vICBwYWRkaW5nLXRvcDogNjBweCAhaW1wb3J0YW50O1xuICAvL31cbiAgLnRlYXNlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1pbi1oZWlnaHQ6IDE2MHB4O1xuXG4gICAgaDIge1xuICAgICAgbWFyZ2luOiAwIDAgMTVweCAwO1xuICAgIH1cblxuICAgIC50ZWFzZXItaW1hZ2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAubGluay1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG87XG5cbiAgICAgIGEge1xuICAgICAgICAmLm1vcmUge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3ODc4Nzg7XG4gICAgICAgICAgcGFkZGluZzogOHB4IDE1cHg7XG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIC5mYSB7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4iLCIkYmxvY2staW1hZ2Utc3BhY2U6IDE1cHg7XG5cbi5ibG9jay1pbWFnZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5ibG9jay1pbWFnZV9fdG9wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYmxvY2staW1hZ2Utc3BhY2U7XG59XG5cbi5ibG9jay1pbWFnZV9fYm90dG9tIHtcbiAgICBtYXJnaW4tdG9wOiAkYmxvY2staW1hZ2Utc3BhY2U7XG59XG5cbi5ibG9jay1pbWFnZV9fbGVmdCxcbi5ibG9jay1pbWFnZV9fcmlnaHQge1xuICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJsb2NrLWltYWdlLXNwYWNlO1xufVxuXG4uYmxvY2staW1hZ2VfX2xlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogJGJsb2NrLWltYWdlLXNwYWNlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxufVxuXG4uYmxvY2staW1hZ2VfX3JpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6ICRibG9jay1pbWFnZS1zcGFjZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxufVxuIiwiLy8gTWVkaWEgbWl4aW5zOlxuLy9cbi8vICRicmVha3BvaW50czogKFxuLy8gICAgIGxhcHRvcDogMTE5OXB4LCAgICAgLy8gOTkycHggLT4gMTE5OXB4XG4vLyAgICAgdGFibGV0OiA5OTFweCwgICAgICAvLyA3NjhweCAtPiAgOTkxcHhcbi8vICAgICBzbWFydDogNzY3cHgsICAgICAgIC8vIDU3OHB4IC0+ICA3NjdweFxuLy8gICAgIG1vYmlsZTogNTc3cHgsICAgICAgLy8gMHB4ICAgLT4gIDU3N3B4XG4vLyApO1xuJG1lZGlhLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vIE1lZGlhIG1pbiBhdXRvbWF0aWNhbGx5IGNyZWF0ZSBhIFwib25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR2YWx1ZSlcIiBtZWRpYSBxdWVyeS5cbkBtaXhpbiBtZWRpYU1pbigkdmFsdWUpIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR2YWx1ZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8vIE1lZGlhIG1heCBhdXRvbWF0aWNhbGx5IGNyZWF0ZSBhIFwib25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR2YWx1ZSlcIiBtZWRpYSBxdWVyeS5cbkBtaXhpbiBtZWRpYU1heCgkdmFsdWUpIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR2YWx1ZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8vIE1lZGlhIG9ubHkgYXV0b21hdGljYWxseSBjcmVhdGUgYSBcIm9ubHkgc2NyZWVuIGFuZChtaW4td2lkdGg6ICRtaW52YWx1ZSkgYW5kIChtYXgtd2lkdGg6ICRtYXh2YWx1ZSlcIiBtZWRpYSBxdWVyeS5cbkBtaXhpbiBtZWRpYU9ubHkoJG1pbnZhbHVlLCAkbWF4dmFsdWUpIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtaW52YWx1ZSkgYW5kIChtYXgtd2lkdGg6ICRtYXh2YWx1ZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8vIE1lZGlhIG1peGluIGZvciBlYXNpZXIgcmVhZGFibGUgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBVc2FnZTpcbi8vXG4vLyAuZXhhbXBsZSB7XG4vLyAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4vLyAgICAgICAgIGNvbG9yOiByZWQ7XG4vLyAgICAgfVxuLy9cbi8vICAgICBAaW5jbHVkZSBtZWRpYSgnbGFwdG9wJykge1xuLy8gICAgICAgICBjb2xvcjogYmx1ZTtcbi8vICAgICB9XG4vLyB9XG4vL1xuLy8gT3V0cHV0OlxuLy9cbi8vIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbi8vICAgICAuZXhhbXBsZSB7XG4vLyAgICAgICAgIGNvbG9yOiByZWQ7XG4vLyAgICAgfVxuLy8gfVxuLy9cbi8vIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbi8vICAgICAuZXhhbXBsZSB7XG4vLyAgICAgICAgIGNvbG9yOiBibHVlO1xuLy8gICAgIH1cbi8vIH1cbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9uKSB7XG4gICAgJGZ1bmN0aW9uOiBzdHItc2xpY2UoJGNvbmRpdGlvbiwgMSwgMSk7XG4gICAgJGN1cnJlbnRCcmVha3BvaW50OiBzdHItc2xpY2UoJGNvbmRpdGlvbiwgMik7XG5cbiAgICBAaWYgJGZ1bmN0aW9uID09ICc+JyB7XG4gICAgICAgICR2YWx1ZTogbWFwLWdldCgkbWVkaWEtYnJlYWtwb2ludHMsICRjdXJyZW50QnJlYWtwb2ludCk7XG5cbiAgICAgICAgQGlmIG5vdCAkdmFsdWUge1xuICAgICAgICAgICAgQGVycm9yICdGb2xsb3dpbmcgY29uZGl0aW9uIGlzIG5vdCBhbGxvd2VkOiAjeyRjb25kaXRpb259JztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhTWluKCR2YWx1ZSArIDEpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfSBAZWxzZSBpZiAkZnVuY3Rpb24gPT0gJzwnIHtcbiAgICAgICAgJGluZGV4Q29uZGl0aW9uOiAxO1xuXG4gICAgICAgIEBpZiAkY3VycmVudEJyZWFrcG9pbnQgIT0gJ2RlZmF1bHQnIHtcbiAgICAgICAgICAgICRpbmRleENvbmRpdGlvbjogaW5kZXgobWFwLWtleXMoJG1lZGlhLWJyZWFrcG9pbnRzKSwgJGN1cnJlbnRCcmVha3BvaW50KSArIDE7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJGluZGV4Q29uZGl0aW9uID4gbGVuZ3RoKCRtZWRpYS1icmVha3BvaW50cykgb3IgJGluZGV4Q29uZGl0aW9uIDwgMSB7XG4gICAgICAgICAgICBAZXJyb3IgJ0ZvbGxvd2luZyBjb25kaXRpb24gaXMgbm90IGFsbG93ZWQ6ICN7JGNvbmRpdGlvbn0nO1xuICAgICAgICB9XG5cbiAgICAgICAgJHZhbHVlOiBudGgobnRoKCRtZWRpYS1icmVha3BvaW50cywgJGluZGV4Q29uZGl0aW9uKSwgMik7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWFNYXgoJHZhbHVlKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgICBAaWYgJGNvbmRpdGlvbiA9PSAnZGVmYXVsdCcge1xuICAgICAgICAgICAgJG1heEJyZWFrcG9pbnQ6IDA7XG5cbiAgICAgICAgICAgIEBlYWNoICRuYW1lLCAkYnJlYWtwb2ludCBpbiAkbWVkaWEtYnJlYWtwb2ludHMge1xuICAgICAgICAgICAgICAgIEBpZiAkYnJlYWtwb2ludCA+ICRtYXhCcmVha3BvaW50IHtcbiAgICAgICAgICAgICAgICAgICAgJG1heEJyZWFrcG9pbnQ6ICRicmVha3BvaW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICRtYXhCcmVha3BvaW50ID4gMCB7XG4gICAgICAgICAgICAgICAgJG1heEJyZWFrcG9pbnQ6ICRtYXhCcmVha3BvaW50ICsgMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWFNaW4oJG1heEJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkbWF4dmFsdWU6IG1hcC1nZXQoJG1lZGlhLWJyZWFrcG9pbnRzLCAkY29uZGl0aW9uKTtcbiAgICAgICAgICAgICRtaW52YWx1ZTogMDtcblxuICAgICAgICAgICAgQGlmIG5vdCAkbWF4dmFsdWUge1xuICAgICAgICAgICAgICAgIEBlcnJvciAnRm9sbG93aW5nIGNvbmRpdGlvbiBpcyBub3QgYWxsb3dlZDogI3skY29uZGl0aW9ufSc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBlYWNoICRuYW1lLCAkYnJlYWtwb2ludCBpbiAkbWVkaWEtYnJlYWtwb2ludHMge1xuICAgICAgICAgICAgICAgIEBpZiAkYnJlYWtwb2ludCA+ICRtaW52YWx1ZSBhbmQgJGJyZWFrcG9pbnQgPCAkbWF4dmFsdWUge1xuICAgICAgICAgICAgICAgICAgICAkbWludmFsdWU6ICRicmVha3BvaW50ICsgMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhT25seSgkbWludmFsdWUsICRtYXh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBNZWRpYSBlYWNoIG1heCBmb3IgZWFzeSBnZW5lcmF0ZSBhdHRyaWJ1dGVzIGZvcmVhY2ggbWVkaWEgcXVlcnkuXG4vL1xuLy8gVXNhZ2U6XG4vL1xuLy8gJG1hcmdpbnM6IChcbi8vICAgICBkZWZhdWx0OiBhdXRvLFxuLy8gICAgIGxhcHRvcDogNjJweCxcbi8vICAgICB0YWJsZXQ6IDY0cHgsXG4vLyAgICAgc21hcnQ6IDMwcHhcbi8vICk7XG4vL1xuLy8gLmV4YW1wbGUge1xuLy8gICAgIEBpbmNsdWRlIG1lZGlhRWFjaE1heCgoXG4vLyAgICAgICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2lucyxcbi8vICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2lucyxcbi8vICAgICApKTtcbi8vIH1cbi8vXG4vLyBPdXRwdXQ6XG4vL1xuLy8gLmV4YW1wbGUge1xuLy8gICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuLy8gICAgIG1hcmdpbi1yaWdodDogYXV0bztcbi8vIH1cbi8vXG4vLyBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuLy8gICAgIC5leGFtcGxlIHtcbi8vICAgICAgICAgbWFyZ2luLWxlZnQ6IDYycHg7XG4vLyAgICAgICAgIG1hcmdpbi1sZWZ0OiA2MnB4O1xuLy8gICAgIH1cbi8vIH1cbi8vXG4vLyBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4vLyAgICAgLmV4YW1wbGUge1xuLy8gICAgICAgICBtYXJnaW4tbGVmdDogNjRweDtcbi8vICAgICAgICAgbWFyZ2luLWxlZnQ6IDY0cHg7XG4vLyAgICAgfVxuLy8gfVxuLy9cbi8vIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbi8vICAgICAuZXhhbXBsZSB7XG4vLyAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuLy8gICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbi8vICAgICB9XG4vLyB9XG5AbWl4aW4gbWVkaWFFYWNoTWF4KCRhdHRyaWJ1dGVzKSB7XG4gICAgQGVhY2ggJGF0dHJpYnV0ZS1uYW1lLCAkbWF0cml4IGluICRhdHRyaWJ1dGVzIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXRyaXgsICdkZWZhdWx0Jykge1xuICAgICAgICAgICAgI3skYXR0cmlidXRlLW5hbWV9OiBtYXAtZ2V0KCRtYXRyaXgsICdkZWZhdWx0Jyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAZWFjaCAkYnJlYWtwb2ludC1uYW1lLCAkYnJlYWtwb2ludCBpbiAkbWVkaWEtYnJlYWtwb2ludHMge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYU1heCgkYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgQGVhY2ggJGF0dHJpYnV0ZS1uYW1lLCAkbWF0cml4IGluICRhdHRyaWJ1dGVzIHtcbiAgICAgICAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hdHJpeCwgJGJyZWFrcG9pbnQtbmFtZSkge1xuICAgICAgICAgICAgICAgICAgICAjeyRhdHRyaWJ1dGUtbmFtZX06IG1hcC1nZXQoJG1hdHJpeCwgJGJyZWFrcG9pbnQtbmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5ibG9jay10aXRsZSB7XG4gICAgbGluZS1oZWlnaHQ6IDcwcHg7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAgfVxufVxuIiwiLmJsb2NrLXF1b3RlIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIHBhZGRpbmc6IDUwcHggMCAyMHB4IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4ucXVvdGUge1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4ucmVmZXJlbmNlIHtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgbWFyZ2luOiAyMHB4IDAgMDtcbn1cblxuLmZlZWRiYWNrcy13cmFwIHtcbiAgLmJsb2NrLXF1b3RlIHtcbiAgICBwYWRkaW5nOiAxMHB4IDAgNjBweCAwO1xuXG4gICAgLnF1b3RlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgfVxuXG4gICAgLnJlZmVyZW5jZSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIHBhZGRpbmc6IDAgMCAxNXB4IDA7XG4gICAgICBtYXJnaW46IDEwcHggMCAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQVRURU5USU9OIEFUVEVOVElPTjogUGxlYXNlIG9yZGVyIHRoaXMgbGlzdCBhbHBoYWJldGljYWxseVxuJHJlZDogI0I2MUQxRDtcbiR3aGl0ZTogI0ZGRkZGRjtcbiRibGFjazogIzAwMDAwMDtcbiRncmV5OiAjMzEzMTMxO1xuJGdyZXktZGFyazogIzIwMjAyMDtcbiRsaWdodC1ibHVlOiAjNTJCNkNBO1xuJGxpZ2h0LWdyYXk6ICM3Nzc3Nzc7XG4iLCIuYmxvY2stbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IG1pbi1jb250ZW50O1xufVxuIiwiLnBzd3AtZ2FsbGVyeSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMTVweDtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgcGFkZGluZzogMTVweDtcblxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwIDE1cHggMTVweDtcblxuICAgIGltZyB7XG4gICAgICBwYWRkaW5nOiAxNXB4IDAgMDtcbiAgICB9XG4gIH1cbn1cblxuLnBzd3BfX2R5bmFtaWMtY2FwdGlvbiB7XG4gIGNvbG9yOiAjZmZmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTIwbXMgbGluZWFyICFpbXBvcnRhbnQ7XG59XG5cbi5wc3dwLWNhcHRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wc3dwX19keW5hbWljLWNhcHRpb24gYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4ucHN3cF9fZHluYW1pYy1jYXB0aW9uLS1mYWRlZCB7XG4gIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbn1cblxuLnBzd3BfX2R5bmFtaWMtY2FwdGlvbi0tYXNpZGUge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAzMDBweDtcbiAgcGFkZGluZzogMjBweCAxNXB4IDIwcHggMjBweDtcbiAgbWFyZ2luLXRvcDogNzBweDtcbn1cblxuLnBzd3BfX2R5bmFtaWMtY2FwdGlvbi0tYmVsb3cge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiA3MDBweDtcbiAgcGFkZGluZzogMTVweCAwIDA7XG59XG5cbi5wc3dwX19keW5hbWljLWNhcHRpb24tLW9uLWhvci1lZGdlIHtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xufVxuXG4ucHN3cF9fZHluYW1pYy1jYXB0aW9uLS1tb2JpbGUge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjUpO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi8vRmxleGJveFxuI2dhbGxlcnktLXdpdGgtY3VzdG9tLWNhcHRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmOGY4O1xufVxuXG4jZ2FsbGVyeS0td2l0aC1jdXN0b20tY2FwdGlvbiAucHN3cC1nYWxsZXJ5X19pdGVtIHtcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAjZ2FsbGVyeS0td2l0aC1jdXN0b20tY2FwdGlvbiAucHN3cC1nYWxsZXJ5X19pdGVtIHtcbiAgICBmbGV4OiAxIDAgY2FsYyg1MCUgLSAyMHB4KTtcbiAgfVxufVxuXG4vL0N1c3RvbVxuLnBzd3BfX2N1c3RvbS1jYXB0aW9uIHtcbiAgYmFja2dyb3VuZDogcmdiYSg4NywgODUsIDg1LCAwLjc1KTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMzJweCk7XG4gIG1heC13aWR0aDogNDAwcHg7XG4gIHBhZGRpbmc6IDJweCA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIGJvdHRvbTogMTZweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuLnBzd3BfX2N1c3RvbS1jYXB0aW9uIGEge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4uaGlkZGVuLWNhcHRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vQ3VzdG9tIEJhY2tncm91bmQsIEljb25zLCBldGMuXG4ucHN3cC0tY3VzdG9tIHtcbiAgLS1wc3dwLWJnOiAjMzMzMzMzICFpbXBvcnRhbnQ7XG4gIC8vLS1wc3dwLWJnOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gIC8vLS1wc3dwLWljb24tY29sb3I6ICM0ZjRmNGYgIWltcG9ydGFudDtcbiAgLy8tLXBzd3AtaWNvbi1jb2xvci1zZWNvbmRhcnk6ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cbiIsIlxuLmRvd25sb2FkLWRvY3VtZW50cyB7XG4gICAgdWwge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuXG4gICAgICAgICAgICBhLCBzcGFuIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wb3Mge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiI2ZlZWRiYWNrIHtcbiAgICAucm93IHtcbiAgICAgICAgaDIge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDMwcHggMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5hbGVydCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbi10b3A6IDI3cHg7XG5cbiAgJi5hbGVydC1lcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjRkYwMDAwRkY7XG4gICAgY29sb3I6ICNGRjAwMDBGRjtcbiAgfVxuICAmLmFsZXJ0LXN1Y2Nlc3Mge1xuICAgIGJvcmRlci1jb2xvcjogIzkwRUU5MEZGO1xuICAgIGNvbG9yOiAjOTBFRTkwRkY7XG4gIH1cbiAgJi5hbGVydC1kYW5nZXIge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNGRjAwMDBGRjtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG4iLCIudG9wZml4LnRvcGZpeC1zdGlja3kge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0ei1pbmRleDogOTk5OTtcblx0d2lkdGg6IDEwMCU7XG5cblx0ZGl2IHtcblx0XHRtYXJnaW46IDAgMTVweDtcblx0fVxuXG59IiwiLyogUmVzcG9uc2l2ZSBzdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qIExhcmdlIERldmljZXMsIFdpZGUgU2NyZWVucyAqL1xyXG5AbWVkaWEgKG1pbi13aWR0aCA6IDEyMDBweCkge1xyXG5cdC5pbWctY29udGFpbmVyIHtcclxuXHRcdGhlaWdodDogNTQwcHg7XHJcblx0XHQvL2hlaWdodDogNjAwcHg7XHJcblx0fVxyXG5cdC5tYWluLXRleHQge1xyXG5cdFx0Ym90dG9tOiA4MHB4O1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdH1cclxuXHQjY29udGFjdCAuaW1nLWNvbnRhaW5lciwgI3NlcnZpY2VzIC5pbWctY29udGFpbmVyLCAjcmVmZXJlbmNlcyAuaW1nLWNvbnRhaW5lciwgI2ZlZWRiYWNrIC5pbWctY29udGFpbmVyIHtcclxuXHRcdGhlaWdodDogMzUwcHg7XHJcblx0fVxyXG5cdCNtYWluIC5yb3csICNzZXJ2aWNlcyAucm93LCAjcmVmZXJlbmNlcyAucm93LCAjZmVlZGJhY2sgLnJvdywgI2NvbnRhY3QgLnJvdyB7XHJcblx0XHRwYWRkaW5nLXRvcDogMzBweDtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKiBNZWRpdW0gRGV2aWNlcywgRGVza3RvcHMgKi9cclxuQG1lZGlhIChtaW4td2lkdGggOiA5OTJweCkge1xyXG5cdC5uYXZiYXItZml4ZWQtdG9wIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR9XHJcblx0Lm5hdmJhci1uYXYgLmFjdGl2ZSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHR9XHJcblx0Lm5hdmJhci1zaXRlLW5hbWUge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdH1cclxuXHQubmF2YmFyLWxvZ28ge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG5cdC8qcG9ydGZvbGlvKi9cclxuXHJcblx0LnNpbmdsZS1wb3J0Zm9saW8gZmlnY2FwdGlvbiAubGlua3MgYSB7XHJcblx0ICAgIGZsb2F0OiBsZWZ0O1xyXG5cdCAgICBtYXJnaW46IDBweCA1cHggMHB4IDBweDtcclxuXHR9XHJcblxyXG5cdC5pbWctY29udGFpbmVyIHtcclxuXHRcdGhlaWdodDogMzUwcHg7XHJcblx0fVxyXG5cclxuXHQubWFpbi10ZXh0IHtcclxuXHRcdGJvdHRvbTogNTBweDtcclxuXHRcdG1hcmdpbjogMDtcclxuXHR9XHJcblxyXG5cdCNjb250YWN0IC5pbWctY29udGFpbmVyLCAjc2VydmljZXMgLmltZy1jb250YWluZXIsICNyZWZlcmVuY2VzIC5pbWctY29udGFpbmVyLCAjZmVlZGJhY2sgLmltZy1jb250YWluZXIge1xyXG5cdFx0aGVpZ2h0OiAzNTBweDtcclxuXHR9XHJcblx0I21haW4gLnJvdywgI3NlcnZpY2VzIC5yb3csICNyZWZlcmVuY2VzIC5yb3csICNmZWVkYmFjayAucm93LCAjY29udGFjdCAucm93IHtcclxuXHRcdHBhZGRpbmctdG9wOiAzMHB4O1xyXG5cdH1cclxufVxyXG5cclxuLyogU21hbGwgRGV2aWNlcywgVGFibGV0cyAqL1xyXG5AbWVkaWEgKG1pbi13aWR0aCA6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcclxuXHQubmF2YmFyLWZpeGVkLXRvcCB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0fVxyXG5cdC5uYXZiYXItbmF2IC5hY3RpdmUge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzMzMzMzMztcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0fVxyXG5cclxuXHQubmF2YmFyLXNpdGUtbmFtZSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHQubmF2YmFyLWxvZ28ge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdH1cclxuXHJcblx0Lm5hdmJhci1oZWFkZXJ7XHJcblx0XHR3aWR0aDogMjAlO1xyXG5cdH1cclxuXHQubmF2YmFyLWJyYW5kIHtcclxuICAgIFx0aGVpZ2h0OiA0OHB4O1xyXG5cdH1cclxuXHR1bC5uYXZiYXItbmF2IGEge1xyXG5cdCAgICBwYWRkaW5nOiAxNXB4IDBweCAxMHB4IDEwcHg7XHJcblx0fVxyXG5cclxuXHQvKm1haW4gU2xpZGVyKi9cclxuXHQjc2xpZGVyX3BhcnQge1xyXG4gICAgXHRoZWlnaHQ6IDUzMHB4O1xyXG4gICAgXHRtYXJnaW4tdG9wOiA3MHB4O1xyXG5cdH1cclxuXHQuY2Fyb3VzZWwtY2FwdGlvbiB7XHJcbiAgICBcdHRvcDogMzAlO1xyXG5cdH1cclxuXHQuY2Fyb3VzZWwtY2FwdGlvbiBoMntcclxuICAgIFx0Zm9udC1zaXplOiAzMHB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDU1cHg7XHJcblx0XHR3aWR0aDogMzAlO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcclxuXHR9XHJcblx0LmNhcm91c2VsLWNhcHRpb24gaDI6YWZ0ZXJ7XHJcblx0ICAgIGhlaWdodDogODBweDtcclxuXHR9XHJcblx0LmNhcm91c2VsLWNhcHRpb24gaDI6YmVmb3Jle1xyXG5cdCAgICBoZWlnaHQ6IDgwcHg7XHJcblx0fVxyXG5cdC5jYXJvdXNlbC1jYXB0aW9uIGgzIHtcclxuXHQgICAgZm9udC1zaXplOiA0MHB4O1xyXG5cdCAgICBsaW5lLWhlaWdodDogMzBweDtcclxuXHR9XHJcblx0LmNhcm91c2VsLWNhcHRpb24gcCB7XHJcblx0ICAgIGZvbnQtc2l6ZTogMzBweDtcclxuXHQgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XHJcblx0fVxyXG5cdC5vdmVybGF5LXNsaWRlIHtcclxuICAgIFx0aGVpZ2h0OiAxMDAlO1xyXG5cdH1cclxuXHQuY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XHJcbiAgICBcdGJvdHRvbTogMTUlO1xyXG5cdH1cclxuXHQuY2Fyb3VzZWwtY29udHJvbC5yaWdodCB7XHJcbiAgICBcdHJpZ2h0OiAzMnB4O1xyXG5cdH1cclxuXHQuaW1nLWNvbnRhaW5lciB7XHJcblx0XHRoZWlnaHQ6IDM1MHB4O1xyXG5cdH1cclxuXHJcblx0Lm1haW4tdGV4dCB7XHJcblx0XHRib3R0b206IDUwcHg7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0fVxyXG5cclxuXHQvKkFCb3V0IHVzKi9cclxuXHQuZmVhdHVyZV9jb250ZW50IC5idG4tbWFpbntcclxuXHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XHJcblx0fVxyXG5cclxuXHQvKnBvcnRmb2xpbyovXHJcblxyXG5cdCNjb250YWN0IC5pbWctY29udGFpbmVyLCAjc2VydmljZXMgLmltZy1jb250YWluZXIsICNyZWZlcmVuY2VzIC5pbWctY29udGFpbmVyLCAjZmVlZGJhY2sgLmltZy1jb250YWluZXIge1xyXG5cdFx0aGVpZ2h0OiAzNTBweDtcclxuXHR9XHJcblx0I21haW4gLnJvdywgI3NlcnZpY2VzIC5yb3csICNyZWZlcmVuY2VzIC5yb3csICNmZWVkYmFjayAucm93LCAjY29udGFjdCAucm93IHtcclxuXHRcdHBhZGRpbmctdG9wOiAzMHB4O1xyXG5cdH1cclxuXHJcblx0LnNpbmdsZS1wb3J0Zm9saW8gZmlnY2FwdGlvbiAubGlua3MgYSB7XHJcblx0ICAgIGZsb2F0OiBsZWZ0O1xyXG5cdCAgICBtYXJnaW46IDBweCA1cHggMHB4IDBweDtcclxuXHR9XHJcblx0Lypjb3VudCovXHJcblx0LmZhY3RzLXdyYXAge1xyXG4gICAgXHRtYXJnaW46IDBweCBhdXRvIDY1cHg7XHJcblx0fVxyXG5cclxuXHQudmlkZW8tdGV4dCB7XHJcbiAgICBcdG1hcmdpbi10b3A6IDMwcHg7XHJcblx0fVxyXG5cclxuXHQvKnByaWNpbmcqL1xyXG5cdC5wcmljaW5ne1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHR3aWR0aDogNTAlO1xyXG5cdH1cclxuXHQuY3lwcmFzcy1jYXJvdXNlbC1jb250cm9sbGVyIHtcclxuXHQgICAgbGVmdDogNDElO1xyXG5cdH1cclxuXHQudGVzdGltb25pYWwtc2xpZGUgLnRlc3RpbW9uaWFsLXRleHQge1xyXG5cdCAgICBmb250LXNpemU6IDE0cHg7XHJcblx0ICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG5cdCAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG5cdCAgICBtYXgtd2lkdGg6IDY1MXB4O1xyXG5cdCAgICBwYWRkaW5nOiAwcHggMjBweCAwcHggMjBweDtcclxuXHR9XHJcblxyXG5cclxuXHQvKmJhY2t0IHRvcCovXHJcblx0I2JhY2stdG9wIHtcclxuICAgIFx0cmlnaHQ6IDEycHg7XHJcblx0fVxyXG5cclxuXHJcblx0LyotLSBMYW5kaW5nIC0tLSovXHJcblxyXG5cdC5oZXJvLXRleHR7XHJcblx0XHR3aWR0aDogOTUlO1xyXG5cdH1cclxuXHQuaGVyby10aXRsZXtcclxuXHRcdGZvbnQtc2l6ZTogMzZweDtcclxuXHR9XHJcblx0Lmhlcm8tYnV0dG9ucyBhLmJ0biB7XHJcblx0XHRwYWRkaW5nOiAxMHB4IDIwcHg7XHJcblx0fVxyXG5cclxuXHQuYXBwLWdhbGxlcnkgZmlndXJlLmVmZmVjdC1vc2NhciBhe1xyXG5cdFx0bWFyZ2luLXRvcDogMTA1cHg7XHJcblx0fVxyXG5cdC5oZXJvLXNlY3Rpb24ge1xyXG5cdCAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xyXG5cdCAgICBwYWRkaW5nLXRvcDogMHB4O1xyXG5cdH1cclxuXHQuaGVyby1jb250ZW50IHtcclxuXHQgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdCAgICBkaXNwbGF5OiB0YWJsZTtcclxuXHQgICAgaGVpZ2h0OiAxMDAlO1xyXG5cdCAgICB3aWR0aDogMTAwJTtcclxuXHR9XHJcblx0Lmhlcm8tdGV4dHtcclxuXHRcdHBhZGRpbmctdG9wOiA5MHB4O1xyXG5cdH1cclxuXHQuZm9vdGVyX2Ige1xyXG5cdCAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcclxuXHR9XHJcblx0LmZvb3Rlcl9taWR7XHJcblx0XHRmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHQuaW5wdXRmaWxlLWluZm8ge1xyXG5cdFx0d2lkdGg6IDI2OCU7XHJcblx0fVxyXG5cclxufVxyXG5cclxuLyogU21hbGwgRGV2aWNlcyBQb3RyYWl0ICovXHJcbkBtZWRpYSAobWF4LXdpZHRoIDogNzY3cHgpe1xyXG5cdC5uYXZiYXItbG9nbyB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcblx0LmNhcm91c2VsLWNhcHRpb24gaDMge1xyXG5cdCAgICBmb250LXNpemU6IDIwcHg7XHJcblx0ICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG5cdH1cclxuXHQuY2Fyb3VzZWwtY2FwdGlvbiBwIHtcclxuXHQgICAgZm9udC1zaXplOiAzNXB4O1xyXG5cdCAgICBsaW5lLWhlaWdodDogNDVweDtcclxuXHR9XHJcblx0LmNhcm91c2VsLWNhcHRpb24gaDJ7XHJcbiAgICBcdGZvbnQtc2l6ZTogMTZweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAzNHB4O1xyXG5cdFx0d2lkdGg6IDUwJTtcclxuXHR9XHJcblx0LmNhcm91c2VsLWNhcHRpb24gaDI6YWZ0ZXJ7XHJcblx0ICAgIGNvbnRlbnQ6IFwiXCI7XHJcblx0ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHQgICAgd2lkdGg6IDJweDtcclxuXHQgICAgaGVpZ2h0OiA1NXB4O1xyXG5cdCAgICBiYWNrZ3JvdW5kOiAjRUUzQjI0O1xyXG5cdCAgICBsZWZ0OiA1cHg7XHJcblx0ICAgIHRvcDogLTEwcHg7XHJcblx0fVxyXG5cdC5jYXJvdXNlbC1jYXB0aW9uIGgyOmJlZm9yZXtcclxuXHQgICAgY29udGVudDogXCJcIjtcclxuXHQgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cdCAgICB3aWR0aDogMnB4O1xyXG5cdCAgICBoZWlnaHQ6IDU1cHg7XHJcblx0ICAgIGJhY2tncm91bmQ6ICNFRTNCMjQ7XHJcblx0ICAgIHJpZ2h0OiA1cHg7XHJcblx0ICAgIHRvcDogLTEwcHg7XHJcblx0fVxyXG5cdC8qbWFpbiBTbGlkZXIqL1xyXG5cdCNzbGlkZXJfcGFydCB7XHJcbiAgICBcdGhlaWdodDogMjUwcHg7XHJcbiAgICBcdG1hcmdpbi10b3A6IDc1cHg7XHJcblx0fVxyXG5cdC5jYXJvdXNlbC1jYXB0aW9uIHtcclxuICAgIFx0dG9wOiAyMCU7XHJcblx0fVxyXG5cdC5vdmVybGF5LXNsaWRlIHtcclxuICAgIFx0aGVpZ2h0OiAxMDAlO1xyXG5cdH1cclxuXHQuY2Fyb3VzZWwtY2FwdGlvbiBwIHtcclxuXHQgICAgZm9udC1zaXplOiAxMnB4O1xyXG5cdCAgICBsaW5lLWhlaWdodDogMTRweDtcclxuXHQgICAgbWFyZ2luLXRvcDogMjBweDtcclxuXHR9XHJcblx0LmNhcm91c2VsLWluZGljYXRvcnMgbGkge1xyXG5cdCAgICB3aWR0aDogMTVweCAhaW1wb3J0YW50O1xyXG5cdCAgICBoZWlnaHQ6IDE1cHggIWltcG9ydGFudDtcclxuXHR9XHJcblx0LmNhcm91c2VsLWluZGljYXRvcnMge1xyXG4gICAgXHR3aWR0aDogMjUlO1xyXG5cdH1cclxuXHQuY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XHJcblx0ICAgIGxlZnQ6IDM3JTtcclxuXHQgICAgYm90dG9tOiA5JTtcclxuXHR9XHJcblxyXG5cdC5zbGlkZXMtY29udHJvbCAuY2Fyb3VzZWwtY29udHJvbCBpIHtcclxuXHQgICAgbGluZS1oZWlnaHQ6IDE1cHg7XHJcblx0ICAgIGZvbnQtc2l6ZTogMjBweDtcclxuXHQgICAgd2lkdGg6IDMwcHg7XHJcblx0ICAgIGhlaWdodDogMzBweDtcclxuXHR9XHJcblx0LmNhcm91c2VsLWNvbnRyb2wucmlnaHQge1xyXG4gICAgXHRyaWdodDogMzBweDtcclxuXHR9XHJcblxyXG5cdC5tYWluLXRleHQge1xyXG5cdFx0Ym90dG9tOiAzMHB4O1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdH1cclxuXHJcblx0LypoZWFkZXIqL1xyXG4gIFx0Lm5hdmJhci1icmFuZCBpbWcge1xyXG5cdCAgICBoZWlnaHQ6IDQ1cHg7XHJcblx0ICAgIG1hcmdpbi10b3A6IC0xNnB4O1xyXG5cdH1cclxuXHJcblx0LmZlYXR1cmVfdGl0bGUge1xyXG4gICAgXHR3aWR0aDogNjAlO1xyXG4gICAgXHRmb250LXNpemU6IDMwcHg7XHJcblx0fVxyXG5cdC5mZWF0dXJlX2NvbnRlbnQgLmJ0bi1tYWlue1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcclxuXHR9XHJcblxyXG5cdCNzZXJ2aWNle1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDBweDtcclxuXHRcdHBhZGRpbmctdG9wOiA0MHB4O1xyXG5cdH1cclxuXHQjY29udGFjdCAuaW1nLWNvbnRhaW5lciwgI3NlcnZpY2VzIC5pbWctY29udGFpbmVyLCAjcmVmZXJlbmNlcyAuaW1nLWNvbnRhaW5lciwgI2ZlZWRiYWNrIC5pbWctY29udGFpbmVyIHtcclxuXHRcdGhlaWdodDogMjUwcHg7XHJcblxyXG5cdFx0aW1nIHtcclxuXHRcdFx0bWluLXdpZHRoOiA0MDBweDtcclxuXHRcdH1cclxuXHR9XHJcblx0I21haW4gLnJvdywgI3NlcnZpY2VzIC5yb3csICNyZWZlcmVuY2VzIC5yb3csICNmZWVkYmFjayAucm93LCAjY29udGFjdCAucm93IHtcclxuXHRcdHBhZGRpbmctdG9wOiAzMHB4O1xyXG5cdH1cclxuXHJcblx0Lypjb3VudCovXHJcblx0LmZhY3RzLXdyYXAge1xyXG4gICAgXHRtYXJnaW46IDAgYXV0byA2NXB4O1xyXG5cdH1cclxuXHJcblx0LnZpZGVvLXRleHQge1xyXG4gICAgXHRtYXJnaW4tdG9wOiAzMHB4O1xyXG5cdH1cclxuXHJcblx0LypwcmljaW5nIHRhYmxlKi9cclxuXHQuc2luZ2xlX3RhYmxlIHtcclxuICAgIFx0d2lkdGg6IDI4N3B4O1xyXG5cdH1cclxuXHQuc2luZ2xlX3RhYmxlIHVsIGxpLnByaWNlIHtcclxuICAgXHRcdGZvbnQtc2l6ZTogNDBweDtcclxuXHR9XHJcblx0LnNpbmdsZV90YWJsZSAucGxhbl93cmFwZXIge1xyXG5cdCAgICBoZWlnaHQ6IDY0cHg7XHJcblx0ICAgIGxlZnQ6IDM4JTtcclxuXHR9XHJcblx0LnNpbmdsZV90YWJsZSB1bCBsaSB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcblx0fVxyXG5cdC5ncmV5X2Jne1xyXG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcblx0XHQtbXMtdHJhbnNmb3JtOiBub25lO1xyXG5cdFx0LW8tdHJhbnNmb3JtOiBub25lO1xyXG5cdFx0dHJhbnNmb3JtOiBub25lO1xyXG5cdH1cclxuXHJcblx0LypUZXN0aW1vbmlhbCAqL1xyXG5cdC5jeXByYXNzLWNhcm91c2VsLWNvbnRyb2xsZXIge1xyXG5cdCAgICBsZWZ0OiAzMyU7XHJcblx0fVxyXG5cdC50ZXN0aW1vbmlhbC1zbGlkZSAudGVzdGltb25pYWwtdGV4dCB7XHJcblx0ICAgIGZvbnQtc2l6ZTogMTRweDtcclxuXHQgICAgcGFkZGluZy10b3A6IDIwcHg7XHJcblx0ICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XHJcblx0ICAgIG1heC13aWR0aDogNDMxcHg7XHJcblx0ICAgIHBhZGRpbmc6IDBweCAyMHB4IDBweCAyMHB4O1xyXG5cdH1cclxuXHQvKmNsaWVudCovXHJcblx0LmNsaWVudF9sb2dvIHtcclxuXHQgICAgcGFkZGluZzogMHB4O1xyXG5cdCAgICBtYXJnaW46IDAgYXV0bztcclxuXHQgICAgd2lkdGg6IDUwJTtcclxuXHR9XHJcblxyXG5cdCNjbGllbnQge1xyXG4gICAgXHRwYWRkaW5nOiAwcHggMHB4O1xyXG5cdH1cclxuXHJcblx0LypibG9nKi9cclxuXHQjYmFubmVyIHtcclxuXHQgICAgaGVpZ2h0OiA0MDBweDtcclxuXHR9XHJcblx0LmJsb2ctaGVhZGVyIHtcclxuXHQgICAgbWFyZ2luLXRvcDogOTVweDtcclxuXHR9XHJcblx0I3BvcnRmb2xpby1zbGlkZXIgbGkgaW1nIHtcclxuXHQgICAgaGVpZ2h0OiAyNTBweCAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHQuYngtd3JhcHBlciAuYngtY29udHJvbHMtZGlyZWN0aW9uIGEge1xyXG4gICAgXHR0b3A6IDQyJTtcclxuXHR9XHJcblx0LmJ4LXdyYXBwZXIgLmJ4LXZpZXdwb3J0IHtcclxuXHQgICAgaGVpZ2h0OiAyNTBweCAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHQuYngtd3JhcHBlciAuYngtcGFnZXIge1xyXG4gICAgXHR0b3A6IDYwJTtcclxuXHR9XHJcblx0LnNoYXJlMSB7XHJcblx0ICAgIGhlaWdodDogODhweDtcclxuXHQgICAgcGFkZGluZzogNXB4IDIwcHggMzBweCAyMHB4O1xyXG5cdH1cclxuXHQuYmxvZy1kZXNje1xyXG5cdFx0bWFyZ2luLXRvcDogLTkwcHg7XHJcblx0fVxyXG5cclxuXHQvKmZvb3RlciovXHJcblx0LmZvb3Rlcl9iIHtcclxuXHQgICAgcGFkZGluZy1ib3R0b206IDIxcHg7XHJcblx0fVxyXG5cdC5mb290ZXJfbWlke1xyXG5cdFx0ZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcclxuXHR9XHJcblxyXG5cdC8qYmFja3QgdG9wKi9cclxuXHQjYmFjay10b3Age1xyXG4gICAgXHRyaWdodDogMTJweDtcclxuXHR9XHJcblxyXG5cclxufVxyXG4iLCJib2R5IHtcclxuICBmb250LWZhbWlseTogUmFsZXdheSwgc2Fucy1zZXJpZjtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7XHJcblxyXG4gIC8qIG92ZXJmbG93OiBoaWRkZW47ICovXHJcbn1cclxuXHJcbi8qIF9fZ2VuZXJhbF9fICovXHJcblxyXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcclxuICBmb250LWZhbWlseTogUmFsZXdheSwgc2Fucy1zZXJpZjtcclxuXHJcbiAgLyogZm9udC13ZWlnaHQ6IDcwMDsgKi9cclxuICBjb2xvcjogI2ZmZjtcclxuICBmb250LXdlaWdodDogMTAwO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuXHJcbmgyIHtcclxuICBmb250LXNpemU6IDI2cHg7XHJcbiAgY29sb3I6ICM3Nzc3Nzc7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuaDMge1xyXG4gIGZvbnQtc2l6ZTogMThweDtcclxuICBmb250LXdlaWdodDogMTAwO1xyXG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XHJcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgbWFyZ2luLXRvcDogMTBweDtcclxufVxyXG5cclxucCB7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiAxMDA7XHJcbiAgbGluZS1oZWlnaHQ6IDI1cHg7XHJcbiAgY29sb3I6ICNmY2ZhZmE7XHJcbn1cclxuXHJcbi5uYXZiYXItaGVhZGVyIGgxIHtcclxuICBtYXJnaW4tdG9wOiAwcHg7XHJcbn1cclxuXHJcbi5pbmZvLWJhciBoMiB7XHJcbiAgY29sb3I6ICNmZmZmZmY7XHJcbiAgZm9udC1zaXplOiAxOHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiAxMDA7XHJcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcclxuICBsaW5lLWhlaWdodDogMzBweDtcclxuICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi5hbGVydCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG59XHJcblxyXG4jY29udGFjdCB7XHJcblxyXG4gIC8qIHBhZGRpbmctYm90dG9tOiAxMzBweDsgKi9cclxuICAvKiBwYWRkaW5nLXRvcDogMTIwcHg7ICovXHJcbn1cclxuXHJcbiNtYWluIC5jb250YWluZXIsICNjb250YWN0IC5jb250YWluZXIsICNnb29nbGVtYXAgLmNvbnRhaW5lciB7XHJcblxyXG4gIC8qIHdpZHRoOiA5MDBweDsgKi9cclxufVxyXG5cclxuLmJ0bi1tYWluIHtcclxuICBwYWRkaW5nOiAxMHB4IDI1cHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICMzMzM7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIGJhY2tncm91bmQ6ICMzMzMzMzM7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgZm9udC13ZWlnaHQ6IDEwMDtcclxuICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDtcclxufVxyXG5cclxuZm9ybSAuYnV0dG9uLCAjbWFpbiAuYnRuLW1haW4sICNocGNvbnRhY3QgLmJ0bi1tYWluLCAjc2VydmljZXMgLmJ0bi1tYWluIHtcclxuICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICM3ODc4Nzg7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuI2ZlZWRiYWNrIC5idXR0b24ge1xyXG4gIGZsb2F0OiByaWdodDtcclxufVxyXG5cclxuI2NvbnRhY3QsICNnb29nbGVtYXAsICNtYWluLCAjaHBjb250YWN0LCAjc2VydmljZXMsICNyZWZlcmVuY2VzLCAjZmVlZGJhY2sge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7XHJcbn1cclxuXHJcbi5jbGVhciB7XHJcbiAgY2xlYXI6IGJvdGg7XHJcbn1cclxuXHJcbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IC5vcGVuID4gYSwgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLm9wZW4gPiBhOmhvdmVyLCAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAub3BlbiA+IGE6Zm9jdXMge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM2NjY7XHJcbiAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi8qIF9faGVhZGVyX18gKi9cclxuXHJcbmhlYWRlciB7XHJcblxyXG4gIC8qIGhlaWdodDogNTJweDsgKi9cclxufVxyXG5cclxuLm1haW4tdGV4dCBwIHtcclxuICBsaW5lLWhlaWdodDogMzJweDtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBjb2xvcjogI2ZmZmZmZjtcclxufVxyXG5cclxuLyogX19uYXZpZ2F0aW9uX18gKi9cclxuXHJcbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWJyYW5kIHtcclxuXHJcbiAgLyogY29sb3I6ICNGNjdFMDA7ICovXHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgZm9udC13ZWlnaHQ6IDEwMDtcclxufVxyXG5cclxuLm5hdmJhci1sb2dvIHtcclxuICBwYWRkaW5nOiA3cHggMTBweCAhaW1wb3J0YW50O1xyXG5cclxuICBpbWcge1xyXG4gICAgaGVpZ2h0OiAzNXB4O1xyXG4gIH1cclxufVxyXG5cclxuLm5hdmJhci1maXhlZC10b3Age1xyXG4gIHRvcDogMDtcclxuICBib3JkZXItd2lkdGg6IDAgMCAwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM3Nzc3Nzc7XHJcbn1cclxuXHJcbi5uYXZiYXItdG9nZ2xlIHtcclxuICBib3JkZXItcmFkaXVzOiAxcHg7XHJcbn1cclxuXHJcbi5jb250YWN0LWluZm8ge1xyXG4gIHBhZGRpbmc6IDUwcHggMCAzMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5uYXZiYXItZml4ZWQtdG9wIC5jb250YWluZXIge1xyXG5cclxufVxyXG5cclxuLm5hdmJhci1icmFuZCB7XHJcbiAgZm9udC1zaXplOiAxOHB4O1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIHBhZGRpbmc6IDE3cHggMjVweDtcclxufVxyXG5cclxudWwubmF2YmFyLW5hdiBhIHtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcclxuICB3aWR0aDogMTAwJTtcclxuICBwYWRkaW5nOiAxNXB4IDIwcHg7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuXHJcbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhLCAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiAuYWN0aXZlID4gYTpob3ZlciwgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGE6Zm9jdXMge1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cclxuICAvKiBjb2xvcjogI0Y2N0UwMCFpbXBvcnRhbnQ7ICovXHJcbiAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogX19pbmZvLWJhcl9fICovXHJcblxyXG4uaW5mby1iYXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgLyogdG9wOiA1MnB4OyAqL1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHotaW5kZXg6IDEwMDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBiYWNrZ3JvdW5kOiBub25lIHJlcGVhdCBzY3JvbGwgMCUgMCUgIzMzMzMzMztcclxufVxyXG5cclxuLmluZm8tYmFyIC5yb3cge1xyXG4gIG1hcmdpbi1sZWZ0OiAwcHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiAwcHg7XHJcbn1cclxuXHJcbi5pbmZvLWJhciAuZmEge1xyXG4gIG1hcmdpbi1yaWdodDogMTBweDtcclxuXHJcbiAgLyogY29sb3I6ICNGNjdFMDA7ICovXHJcbn1cclxuXHJcbi8qIF9fY2Fyb3VzZWxfXyAqL1xyXG4ub3dsLXRoZW1lIC5vd2wtY29udHJvbHMge1xyXG4gIG1hcmdpbi10b3A6IDBweDtcclxufVxyXG5cclxuLmltZy1jb250YWluZXIge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uaW1nLWNvbnRhaW5lci1kZXNjIHtcclxuXHJcbiAgLyogZGlzcGxheTogbm9uZTsgKi9cclxufVxyXG5cclxuLmNhcm91c2VsIGltZyB7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG5cclxuLm93bC1jYXJvdXNlbCBoMiwgI2NvbnRhY3QgLm1haW4tdGV4dCBoMiwgI3NlcnZpY2VzIC5tYWluLXRleHQgaDIsICNyZWZlcmVuY2VzIC5tYWluLXRleHQgaDIsICNmZWVkYmFjayAubWFpbi10ZXh0IGgyIHtcclxuICBmb250LXNpemU6IDIwcHg7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgZm9udC13ZWlnaHQ6IDEwMDtcclxuICBsaW5lLWhlaWdodDogMzRweDtcclxuICBtYXJnaW4tdG9wOiAxMnB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDJweDtcclxufVxyXG5cclxuLmNhcm91c2VsLWl0ZW0ge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgLy9oZWlnaHQ6IDEwMHZoO1xyXG59XHJcblxyXG4vKiBfX21haW5fXyAqL1xyXG4jbWFpbiAuY29udGFpbmVyIHtcclxuXHJcbiAgLyogcGFkZGluZy10b3A6IDI3cHg7ICovXHJcbiAgLyogbWFyZ2luLXRvcDogNTAwcHg7ICovXHJcbn1cclxuXHJcbi5tYWluLWhlYWRlciBoMyB7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcclxuICBsaW5lLWhlaWdodDogMjBweDtcclxufVxyXG5cclxuLyogX19yZWZlcmVuY2VzX18gKi9cclxuLnJlZmVyZW5jZXMtaW1nIGltZyB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcblxyXG4gIC8qIHBhZGRpbmc6IDVweCA1cHg7ICovXHJcbiAgbWFyZ2luOiAxNXB4IDBweDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjNzg3ODc4O1xyXG59XHJcblxyXG4vKiBfX2NvbnRhY3RfXyAqL1xyXG5cclxuLmNvbnRhY3QtY29udGFpbmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzO1xyXG4gIHBhZGRpbmc6IDBweCA2MHB4IDMwcHg7XHJcbn1cclxuXHJcbi5tYWluLWhlYWRlciB7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cclxuICAvKiBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkOyAqL1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuXHJcbiAgLyogaGVpZ2h0OiA0MDBweDsgKi9cclxufVxyXG5cclxuLm1haW4tdGV4dCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzMzMztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcGFkZGluZzogMCAyNXB4IDExcHg7XHJcbiAgbWFyZ2luLXRvcDogMDtcclxufVxyXG5cclxuLnNlcnZpY2VzIHtcclxuXHJcbiAgLyogcGFkZGluZy10b3A6IDQwcHg7ICovXHJcbn1cclxuXHJcbi5zZXJ2aWNlcyAuYWRkIHtcclxuICBwYWRkaW5nLXRvcDogNTBweDtcclxufVxyXG5cclxuLmNvbnRhY3QtZGV0YWlscyB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxufVxyXG5cclxuI2NvbnRhY3QgZm9ybSB7XHJcbiAgbWFyZ2luLXRvcDogMTBweDtcclxufVxyXG5cclxuLyogX19nb29nbGUgbWFwX18gKi9cclxuXHJcbiNnb29nbGVtYXAgLnJvdyB7XHJcblxyXG4gIC8qIHBhZGRpbmctYm90dG9tOiA1MHB4OyAqL1xyXG4gIG1hcmdpbi1sZWZ0OiAwcHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiAwcHg7XHJcbn1cclxuXHJcbiNnb29nbGVtYXAgLmNvbnRhaW5lciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzMzMztcclxuICBwYWRkaW5nOiAxMHB4IDBweCAwcHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWF4LXdpZHRoOiBub25lO1xyXG59XHJcblxyXG4ubWFwIHtcclxuICBoZWlnaHQ6IDI1MHB4O1xyXG4gIHotaW5kZXg6IDE7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5tYXAgcCB7XHJcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBjb2xvcjogIzZhNmE2YTtcclxuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiBfX2Zvcm1fXyAqL1xyXG5cclxuI2NvbnRhY3QgZm9ybSBkdCB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuI2NvbnRhY3QgZm9ybSBkZCB7XHJcblxyXG4gIC8qIHBhZGRpbmc6IDVweCAwcHg7ICovXHJcbn1cclxuXHJcbmZvcm0gc2VsZWN0LCBmb3JtIC50ZXh0LCBmb3JtIHRleHRhcmVhIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBwYWRkaW5nOiAxMHB4IDE1cHg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcclxuICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbn1cclxuXHJcbiNmZWVkYmFjayBmb3JtIHRleHRhcmVhIHtcclxuICBwYWRkaW5nOiAyMHB4IDE1cHg7XHJcbiAgaGVpZ2h0OiAxMjVweDtcclxufVxyXG5cclxuZm9ybSAuYnV0dG9uIHtcclxuICBwYWRkaW5nOiAxMHB4IDMwcHg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgIzc4Nzg3ODtcclxuICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbn1cclxuXHJcbiNocGNvbnRhY3QgLmZvb3Rlci1jb250YWN0LWZvcm0sICNocGNvbnRhY3QgZm9ybSAuYnV0dG9uIHtcclxuICBtYXJnaW4tdG9wOiAyMHB4O1xyXG59XHJcblxyXG4jaHBjb250YWN0IC5mbGFzaCB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4vKiAjY29udGFjdCBmb3JtIHRleHRhcmVhIHtcclxuICAgIGhlaWdodDogMTIwcHg7XHJcbn0gKi9cclxuI2NvbnRhY3QgZm9ybSBzZWxlY3Qge1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcbnNlbGVjdCB7XHJcbiAgYXBwZWFyYW5jZTogbm9uZTtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG59XHJcblxyXG4vKiB0YXJnZXQgSW50ZXJuZXQgRXhwbG9yZXIgOSBhbmQgSW50ZXJuZXQgRXhwbG9yZXIgMTA6ICovXHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwIFxcMFxyXG4pIHtcclxuICBzZWxlY3Qge1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICB9XHJcbn1cclxuXHJcbmZpZWxkc2V0IHtcclxuXHJcbiAgLyogd2lkdGg6IDQ5JTsgKi9cclxufVxyXG5cclxubGVnZW5kIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4jY29udGFjdCBmb3JtIHNlbGVjdCBvcHRpb24ge1xyXG4gIHBhZGRpbmc6IDMwcHggMHB4O1xyXG59XHJcblxyXG4vKiAjY29udGFjdCBmb3JtIGkge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDQwcHg7XHJcbiAgICBjb2xvcjogIzg4ODg4ODtcclxufVxyXG4jaHBjb250YWN0IGZvcm0gLmZhLCAjY29udGFjdCBmb3JtIC5mYSB7XHJcbiAgICBtYXJnaW4tdG9wOiAtMzlweDtcclxuICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xyXG4gICAgaGVpZ2h0OiA0N3B4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgY29sb3I6ICM4ODg7XHJcbn0gKi9cclxuI2hwY29udGFjdCBmb3JtIC5mYSwgI2NvbnRhY3QgZm9ybSAuZmEsICNmZWVkYmFjayBmb3JtIC5mYSB7XHJcbiAgbWFyZ2luLXRvcDogLTM1cHg7XHJcbiAgd2lkdGg6IDQ1cHg7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIHBhZGRpbmctcmlnaHQ6IDM1cHg7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG4gIGhlaWdodDogNDdweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgY29sb3I6ICM4ODg7XHJcbn1cclxuXHJcbiNmZWVkYmFjayB7XHJcbiAgZm9ybSB7XHJcbiAgICAuY29udHJvbHMge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAuZmEtcGVuY2lsLCAuZmEtY29tbWVudC1vIHtcclxuICAgICAgICB0b3A6IDMwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4jaHBjb250YWN0IGZvcm0gLmZhLXBlbmNpbCwgI2NvbnRhY3QgZm9ybSAuZmEtcGVuY2lsIHtcclxuICBtYXJnaW4tdG9wOiAtMTU4cHg7XHJcbn1cclxuXHJcbiNocGNvbnRhY3QgZm9ybSAuZmEtd2FybmluZywgI2NvbnRhY3QgZm9ybSAuZmEtd2FybmluZyB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbi10b3A6IDVweDtcclxuICB3aWR0aDogMHB4O1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xyXG4gIGhlaWdodDogMzBweDtcclxuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jaHBjb250YWN0IGZvcm0gLmZhLCAjY29udGFjdCBmb3JtIC5mYSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGZsb2F0OiByaWdodDtcclxuXHJcbiAgLyogbWFyZ2luLXJpZ2h0OiAyNXB4OyAqL1xyXG59XHJcblxyXG4jY29udGFjdCBmb3JtIC5mYS1wZW5jaWwge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gIHJpZ2h0OiAxMnB4O1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbiNocGNvbnRhY3QgZm9ybSB0ZXh0YXJlYSwgI2NvbnRhY3QgZm9ybSB0ZXh0YXJlYSB7XHJcbiAgaGVpZ2h0OiAxNThweDtcclxufVxyXG5cclxuI2NvbnRhY3QgZm9ybSAuYnV0dG9uIHtcclxuICB3aWR0aDogMjAlO1xyXG4gIGZsb2F0OiByaWdodDtcclxufVxyXG5cclxuZm9ybSBzcGFuIHtcclxuICBjb2xvcjogIzc3Nzc3NztcclxufVxyXG5cclxuLy8jY29udGFjdCBsYWJlbCwgI2hwY29udGFjdCBsYWJlbCwgI2ZlZWRiYWNrIGxhYmVsIHtcclxuLy8gIGRpc3BsYXk6IG5vbmU7XHJcbi8vfVxyXG5cclxuXHJcbiNiYWNrIGxhYmVsIHtcclxuICBjb2xvcjogI2ZmZjtcclxuICBmb250LXdlaWdodDogMTAwXHJcbn1cclxuXHJcbiNiYWNrIGlucHV0W3R5cGU9cmFkaW9dIHtcclxuICBtYXJnaW46IDAgMTBweFxyXG59XHJcblxyXG4jYmFjayAuc29ydGFibGUgbGkge1xyXG4gIG1hcmdpbjogNXB4IDBcclxufVxyXG5cclxuLmlucHV0ZmlsZSwgLmpzICNjb250YWN0IGxhYmVsIC5pbnB1dGZpbGUtbGFiZWwge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGNvbG9yOiAjZmNmYWZhXHJcbn1cclxuXHJcbiNjb250YWN0IGxhYmVsIHtcclxuICBjb2xvcjogI2ZjZmFmYTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbi5pbnB1dGZpbGUtbGFiZWwsIC5qcyBpbnB1dFt0eXBlPWZpbGVdIHtcclxuICBkaXNwbGF5OiBibG9jazs7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9Y2hlY2tib3hdOmZvY3VzLCBpbnB1dFt0eXBlPWZpbGVdOmZvY3VzLCBpbnB1dFt0eXBlPXJhZGlvXTpmb2N1cyB7XHJcbiAgb3V0bGluZTogMCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcclxuICBvdXRsaW5lLW9mZnNldDogMFxyXG59XHJcblxyXG4uaW5wdXRmaWxlLWxhYmVsIHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjNzg3ODc4O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBwYWRkaW5nOiAxMXB4IDEwcHggMTFweCAyMHB4O1xyXG4gIG1hcmdpbi10b3A6IDRweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHotaW5kZXg6IDI7XHJcbiAgYmFja2dyb3VuZDogIzMzMztcclxuICB3aWR0aDogMTcxcHg7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZVxyXG59XHJcblxyXG4uaW5wdXRmaWxlLWluZm8ge1xyXG4gIGNvbG9yOiAjZmNmYWZhO1xyXG4gIG1hcmdpbjogLTEycHggMCAwIDE0cHg7XHJcbiAgcGFkZGluZzogMTFweCAyNHB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjNzg3ODc4O1xyXG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xyXG4gIHdpZHRoOiAzMjAlO1xyXG4gIGhlaWdodDogNDRweFxyXG59XHJcblxyXG4udXBsb2FkLWNoZWNrIHtcclxuICBjdXJzb3I6IHBvaW50ZXJcclxufVxyXG5cclxuI2NvbnRhY3QgLmVycm9yLW1lc3NhZ2Uge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGhlaWdodDogMzVweFxyXG59XHJcblxyXG4jYmFjayBsYWJlbCB7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgZm9udC13ZWlnaHQ6IDEwMDtcclxufVxyXG5cclxuI2JhY2sgaW5wdXRbdHlwZT0ncmFkaW8nXSB7XHJcbiAgbWFyZ2luOiAwcHggMTBweDtcclxufVxyXG5cclxuI2JhY2sgLnNvcnRhYmxlIGxpIHtcclxuICBtYXJnaW46IDVweCAwcHg7XHJcbn1cclxuXHJcbi8qIF9fZm9vdGVyX18gKi9cclxuXHJcbi5mb290ZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBib3R0b206IDBweDtcclxuICB3aWR0aDogMTAwJTtcclxuICB6LWluZGV4OiAxMDAwO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgYmFja2dyb3VuZDogbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDAlICMzMzMzMzM7XHJcbn1cclxuXHJcbi5mb290ZXIgLnJvdyB7XHJcbiAgbWFyZ2luLWxlZnQ6IDBweDtcclxuICBtYXJnaW4tcmlnaHQ6IDBweDtcclxufVxyXG5cclxuLmZvb3RlciAuZmEge1xyXG4gIG1hcmdpbi1yaWdodDogMTBweDtcclxuXHJcbiAgLyogY29sb3I6ICNGNjdFMDA7ICovXHJcbn1cclxuXHJcbi8qIF9fdG9wX18gKi9cclxuXHJcbiNzY3JvbGx0b3Age1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICByaWdodDogMzBweDtcclxuICBib3R0b206IDU4cHg7XHJcbiAgei1pbmRleDogOTk5OTtcclxufVxyXG5cclxuI3Njcm9sbHRvcCAuYnRuLXByaW1hcnkge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGJhY2tncm91bmQ6ICMzMzM7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgIzc4Nzg3ODtcclxuICBib3JkZXItcmFkaXVzOiAxcHg7XHJcbiAgcGFkZGluZzogMHB4O1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxuICB3aWR0aDogNDJweDtcclxuICBoZWlnaHQ6IDQycHg7XHJcbn1cclxuXHJcbiNzY3JvbGx0b3AgYTpob3ZlciB7XHJcbiAgYmFja2dyb3VuZDogI2VlM2IyNDtcclxuICBvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4vKiBfX2N1c3RvbWl6ZV9fICovXHJcblxyXG4ucm93IHtcclxuICBtYXJnaW4tbGVmdDogLTUwcHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiAtNTBweDtcclxufVxyXG5cclxuLyogX19zb3J0YWJsZV9fICovXHJcblxyXG5ib2R5LmRyYWdnaW5nLFxyXG5ib2R5LmRyYWdnaW5nICoge1xyXG4gIGN1cnNvcjogbW92ZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZHJhZ2dlZCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIG9wYWNpdHk6IC41O1xyXG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT01MCk7XHJcbiAgei1pbmRleDogMjAwMDtcclxufVxyXG5cclxudWwge1xyXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICBwYWRkaW5nLWxlZnQ6IDBweDtcclxufVxyXG5cclxuI2JhY2sgLmljb24tdmlzaWJsZSwgI2JhY2sgLmljb24taGlkZGVuLCAjYmFjayAuaWNvbi1tb3ZlLCAjYmFjayAuaWNvbi1kZWxldGUsICNiYWNrIC5pY29uLWVkaXQge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuI2JhY2sgLmljb24tbW92ZSB7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2OHB4IC03MnB4O1xyXG59XHJcblxyXG4jYmFjayAuaWNvbi1oaWRkZW4ge1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAtMTIwcHg7XHJcbiAgbWFyZ2luOiAwcHggOHB4O1xyXG59XHJcblxyXG4jYmFjayAuaWNvbi12aXNpYmxlIHtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTIwcHg7XHJcbiAgbWFyZ2luOiAwcHggOHB4O1xyXG59XHJcblxyXG4jYmFjayAuaWNvbi1kZWxldGUge1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00NThweCAwcHg7XHJcbn1cclxuXHJcbiNiYWNrIC5pY29uLWVkaXQge1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNzJweDtcclxuICBtYXJnaW4tbGVmdDogM3B4O1xyXG4gIG1hcmdpbi1yaWdodDogOHB4O1xyXG59XHJcblxyXG4jYmFjayAuaWNvbi1wcmV2aWV3IHtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzM1cHggMHB4O1xyXG59XHJcblxyXG4jYmFjayAuaWNvbi1pbWcge1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00NTZweCAtNDhweDtcclxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbiNiYWNrIC5jb250YWluZXIgW2NsYXNzXj0naWNvbi0nXSxcclxuI2JhY2sgLmNvbnRhaW5lciBbY2xhc3MqPScgaWNvbi0nXSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAxNHB4O1xyXG4gIGhlaWdodDogMTRweDtcclxuICBsaW5lLWhlaWdodDogMTRweDtcclxuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvZ2x5cGhpY29ucy1oYWxmbGluZ3MucG5nJyk7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG5cclxuI2JhY2sgLmNvbnRhaW5lciBbY2xhc3NePSdpY29uLWFycm93LWxlZnQnXSwgI2JhY2sgLmNvbnRhaW5lciBbY2xhc3MqPScgaWNvbi1hcnJvdy1sZWZ0J10ge1xyXG4gIHdpZHRoOiA0MHB4O1xyXG4gIGhlaWdodDogNDBweDtcclxuICB0ZXh0LWluZGVudDogLTk5OTlweDtcclxuICBiYWNrZ3JvdW5kOiB1cmwoJy9pbWFnZXMvZ29sZWZ0LnBuZycpIG5vLXJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IDQwcHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiA2cHg7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbiNiYWNrIC5jb250YWluZXIgW2NsYXNzXj0naWNvbi1hcnJvdy1yaWdodCddLCAjYmFjayAuY29udGFpbmVyIFtjbGFzcyo9JyBpY29uLWFycm93LXJpZ2h0J10ge1xyXG4gIHdpZHRoOiA0MHB4O1xyXG4gIGhlaWdodDogNDBweDtcclxuICB0ZXh0LWluZGVudDogLTk5OTlweDtcclxuICBiYWNrZ3JvdW5kOiB1cmwoJy9pbWFnZXMvZ29yaWdodC5wbmcnKSBuby1yZXBlYXQ7XHJcbiAgYmFja2dyb3VuZC1zaXplOiA0MHB4O1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG59XHJcblxyXG4uZm9vdGVyLWRlc2Mge1xyXG4gIG1hcmdpbjogMjBweCAwO1xyXG59XHJcblxyXG4udGV4dC1jb250YWluZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLyogX19UaW55IE1DRV9fICovXHJcbiN0aW55bWNlIGltZyB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8qIF9fbWVkaWEgcXVlcnlfXyAqL1xyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xyXG4gIC5uYXZiYXItZml4ZWQtdG9wIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB9XHJcbiAgLmFmZml4IHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICB9XHJcbiAgLmFmZml4IHtcclxuICAgIHRvcDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLWluLW91dDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZS1pbi1vdXQ7XHJcbiAgfVxyXG4gIC5hZmZpeC10b3Age1xyXG4gICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgIHRvcDogLTM1cHg7XHJcbiAgfVxyXG4gIC5hZmZpeCArIC5jb250YWluZXItZmx1aWQge1xyXG4gICAgcGFkZGluZy10b3A6IDcwcHg7XHJcbiAgfVxyXG4gIC5uYXZiYXItbmF2IC5hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzMzMztcclxuICAgIHBhZGRpbmc6IDBweDtcclxuICB9XHJcbiAgLmNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTE3MHB4O1xyXG4gIH1cclxuICAuaW1nLWNvbnRhaW5lciB7XHJcbiAgICBoZWlnaHQ6IDU0MHB4O1xyXG4gICAgLy9oZWlnaHQ6IDYwMHB4O1xyXG4gIH1cclxuICAjY29udGFjdCAuaW1nLWNvbnRhaW5lciwgI3NlcnZpY2VzIC5pbWctY29udGFpbmVyLCAjcmVmZXJlbmNlcyAuaW1nLWNvbnRhaW5lciwgI2ZlZWRiYWNrIC5pbWctY29udGFpbmVyIHtcclxuICAgIGhlaWdodDogMzUwcHg7XHJcbiAgfVxyXG4gICNtYWluIC5yb3csICNzZXJ2aWNlcyAucm93LCAjcmVmZXJlbmNlcyAucm93LCAjZmVlZGJhY2sgLnJvdywgI2NvbnRhY3QgLnJvdyB7XHJcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcclxuICB9XHJcblxyXG4gIC5jb250YWN0LWluZm8ge1xyXG4gICAgcGFkZGluZzogNjBweCAwIDMwcHggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5tYWluLXRleHQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzMzMztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogODBweDtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcbiAgLm5hdmJhci1icmFuZCB7XHJcbiAgICBwYWRkaW5nOiAxNnB4IDBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gIH1cclxuICAubmF2YmFyLW5hdi5uYXZiYXItcmlnaHQ6bGFzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgfVxyXG4gICNjb250YWN0IC5jb250YWluZXIsICNzZXJ2aWNlcyAuY29udGFpbmVyLCAjcmVmZXJlbmNlcyAuY29udGFpbmVyLCAjZmVlZGJhY2sgLmNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgfVxyXG4gICNjb250YWN0IC5tYWluLXRleHQsICNzZXJ2aWNlcyAubWFpbi10ZXh0LCAjcmVmZXJlbmNlcyAubWFpbi10ZXh0LCAjZmVlZGJhY2sgLm1haW4tdGV4dCB7XHJcbiAgICBib3R0b206IDYwcHg7XHJcbiAgfVxyXG4gICNzY3JvbGx0b3AgYSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG4gIC8qIF9fZm9ybV9fICovXHJcbiAgI2NvbnRhY3QtZm9ybSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgLm5hdmJhci1maXhlZC10b3AsIC5hZmZpeCB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgfVxyXG4gIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLXRvZ2dsZTpob3ZlciwgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItdG9nZ2xlOmZvY3VzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7XHJcbiAgfVxyXG4gIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLXRvZ2dsZSB7XHJcbiAgICBib3JkZXItY29sb3I6ICM3ODc4Nzg7XHJcbiAgfVxyXG4gIC5uYXZiYXItY29sbGFwc2Uge1xyXG4gICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgIG92ZXJmbG93LXg6IHZpc2libGU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzO1xyXG4gICAgbWFyZ2luLXRvcDogMnB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcclxuICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgIGJvcmRlci10b3A6IDBweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuICB9XHJcbiAgI2JhY2sgLm5hdmJhci1jb2xsYXBzZSB7XHJcbiAgICBtYXJnaW4tdG9wOiAwcHg7XHJcbiAgfVxyXG4gIC5uYXZiYXItbmF2IC5hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY2NjY2NjtcclxuICB9XHJcbiAgLmltZy1jb250YWluZXIge1xyXG4gICAgaGVpZ2h0OiAyNTBweDtcclxuICB9XHJcbiAgLmluZm8tYmFyIHtcclxuICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgfVxyXG4gIC5vd2wtY2Fyb3VzZWwgaDIge1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgfVxyXG4gIC5tYWluLXRleHQge1xyXG4gICAgcGFkZGluZzogNXB4IDI1cHggMTRweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xyXG4gIH1cclxuICAjY29udGFjdCAuY29udGFjdC1jb250YWluZXIge1xyXG4gICAgcGFkZGluZzogMHB4IDYwcHggMnB4O1xyXG4gIH1cclxuICAjaHBjb250YWN0IC5yb3cge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC02NXB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAtNjVweDtcclxuICB9XHJcbiAgI2NvbnRhY3QgLnJvdyB7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICB9XHJcbiAgI2hwY29udGFjdCAuaHBjb250YWN0LWRldGFpbHMge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgfVxyXG4gICNocGNvbnRhY3QgLnRleHQtY2VudGVyIHtcclxuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gICNjb250YWN0IGZvcm0ge1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuICB9XHJcbiAgI3Njcm9sbHRvcCBhIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxuICAjc2Nyb2xsdG9wIHtcclxuICAgIGJvdHRvbTogNjBweDtcclxuICB9XHJcbiAgI2NvbnRhY3QgZm9ybSAuYnV0dG9uIHtcclxuICAgIHdpZHRoOiA1MCU7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICB9XHJcbn1cclxuXHJcbi8qIF9fYWRtaW5fXyAqL1xyXG5cclxuI2JhY2sgLm5hdmJhci1kZWZhdWx0LCAjYmFjayAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGUge1xyXG5cclxuICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3Nzc3O1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjNzc3Nzc3OyAqL1xyXG4gIC8qIGJhY2tncm91bmQtY29sb3I6ICNmZjk4MDA7ICovXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTk2NjtcclxuICBib3JkZXItY29sb3I6ICMwMDk5NjY7XHJcbn1cclxuXHJcbiNiYWNrIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWJyYW5kIGkge1xyXG5cclxuICAvKiBjb2xvcjogIzAwOTk2NjsgKi9cclxufVxyXG5cclxuI2JhY2sgLmRyb3Bkb3duLW1lbnUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM3Nzc3Nzc7XHJcbn1cclxuXHJcbi5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmhvdmVyLCAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpmb2N1cyB7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIGNvbG9yOiAjMjYyNjI2O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4uZHJvcGRvd24tbWVudSA+IGxpOmhvdmVyLCAuZHJvcGRvd24tbWVudSA+IGxpOmZvY3VzIHtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgY29sb3I6ICMyNjI2MjY7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY2NjtcclxufVxyXG5cclxuI2JhY2sgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItYnJhbmQsICNiYWNrIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWJyYW5kOmhvdmVyLCAjYmFjayAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1icmFuZDpmb2N1cyB7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbiNiYWNrIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWJyYW5kLCAjYmFjayAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1icmFuZDpob3ZlciwgI2JhY2sgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItYnJhbmQ6Zm9jdXMge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XHJcbiAgYm9yZGVyLWNvbG9yOiAjMzMzO1xyXG4gIHBhZGRpbmc6IDE0cHggMjVweCAwcHggMjZweDtcclxuICBtYXJnaW4tdG9wOiAwcHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbn1cclxuXHJcbiNiYWNrIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhLCAjYmFjayAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAuYWN0aXZlID4gYTpob3ZlciwgI2JhY2sgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGE6Zm9jdXMge1xyXG4gIGNvbG9yOiAjNTU1O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM2NjY7XHJcbn1cclxuXHJcbiNiYWNrIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWJyYW5kIGkge1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxufVxyXG5cclxuI2JhY2sgLm5hdmJhciB7XHJcbiAgYm9yZGVyOiAwcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRvZ2dsZSAuaWNvbi1iYXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRvZ2dsZTpob3ZlciwgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdG9nZ2xlOmZvY3VzIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5OTY2O1xyXG59XHJcblxyXG4jYmFjayAubmF2YmFyLWhlYWRlciBzcGFuIHtcclxuICBtYXJnaW4tbGVmdDogMThweDtcclxufVxyXG5cclxuLm5hdmJhci10b2dnbGUgLmljb24tYmFyIHtcclxuICB0cmFuc2l0aW9uOiAuNHM7XHJcbn1cclxuXHJcbi8qIFJvdGF0ZSBmaXJzdCBiYXIgKi9cclxuLmNoYW5nZSAuYmFyMSB7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUoLTlweCwgNnB4KTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZSgtNXB4LCA0cHgpO1xyXG59XHJcblxyXG4vKiBGYWRlIG91dCB0aGUgc2Vjb25kIGJhciAqL1xyXG4uY2hhbmdlIC5iYXIyIHtcclxuICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4vKiBSb3RhdGUgbGFzdCBiYXIgKi9cclxuLmNoYW5nZSAuYmFyMyB7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZSgtOHB4LCAtOHB4KTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKC00cHgsIC00cHgpO1xyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAjYmFjayAubmF2YmFyIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgfVxyXG59XHJcbiIsIi8qIF9fbWNlIHN0eWxlc19fICovXG5cbmJvZHkge1xuICBmb250LWZhbWlseTogUmFsZXdheSwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzMzMztcbn1cblxuLyogX19nZW5lcmFsX18gKi9cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIGZvbnQtZmFtaWx5OiBSYWxld2F5LCBzYW5zLXNlcmlmO1xuXG4gIC8qIGZvbnQtd2VpZ2h0OiA3MDA7ICovXG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogMTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuaDIge1xuICBmb250LXNpemU6IDIycHg7XG5cbiAgLyogY29sb3I6ICNGNjdFMDA7ICovXG4gIGNvbG9yOiAjNzc3Nzc3O1xuICBmb250LXdlaWdodDogNzAwO1xufVxuaDMge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxucCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gIGNvbG9yOiAjZmNmYWZhO1xufVxuLnJvdyB7XG4gIG1hcmdpbi1sZWZ0OiAwcHg7XG4gIG1hcmdpbi1yaWdodDogMHB4O1xufVxuLmNvbC1tZC02IHtcbiAgd2lkdGg6IDUwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuXG4gIC8qIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyAqL1xufVxuLmNvbC1tZC02IGltZyB7XG4gIHdpZHRoOiA5NSU7XG5cbiAgLyogcGFkZGluZzogNXB4IDVweDsgKi9cbiAgbWFyZ2luOiAxNXB4IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3ODc4Nzg7XG59XG4iLCJcbkBpbXBvcnQgXCIuL3RvcGZpeC5zY3NzXCI7XG5AaW1wb3J0IFwiLi9yZXNwb25zaXZlLnNjc3NcIjtcbkBpbXBvcnQgXCIuL3N0eWxlLnNjc3NcIjtcbkBpbXBvcnQgXCIuL21jZS5zY3NzXCI7XG5cbi5hbGVydCB7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbmJsb2NrcXVvdGUge1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG5cbi5ibG9ja3F1b3RlLXJlZmVyZW5jZSB7XG5cdGNvbG9yOiAkbGlnaHQtZ3JheTtcbn1cbiIsIi8qISBQaG90b1N3aXBlIG1haW4gQ1NTIGJ5IERteXRybyBTZW1lbm92IHwgcGhvdG9zd2lwZS5jb20gKi9cclxuXHJcbi5wc3dwIHtcclxuICAtLXBzd3AtYmc6ICMwMDA7XHJcbiAgLS1wc3dwLXBsYWNlaG9sZGVyLWJnOiAjMjIyO1xyXG4gIFxyXG5cclxuICAtLXBzd3Atcm9vdC16LWluZGV4OiAxMDAwMDA7XHJcbiAgXHJcbiAgLS1wc3dwLXByZWxvYWRlci1jb2xvcjogcmdiYSg3OSwgNzksIDc5LCAwLjQpO1xyXG4gIC0tcHN3cC1wcmVsb2FkZXItY29sb3Itc2Vjb25kYXJ5OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XHJcbiAgXHJcbiAgLyogZGVmaW5lZCB2aWEganM6XHJcbiAgLS1wc3dwLXRyYW5zaXRpb24tZHVyYXRpb246IDMzM21zOyAqL1xyXG4gIFxyXG4gIC0tcHN3cC1pY29uLWNvbG9yOiAjZmZmO1xyXG4gIC0tcHN3cC1pY29uLWNvbG9yLXNlY29uZGFyeTogIzRmNGY0ZjtcclxuICAtLXBzd3AtaWNvbi1zdHJva2UtY29sb3I6ICM0ZjRmNGY7XHJcbiAgLS1wc3dwLWljb24tc3Ryb2tlLXdpZHRoOiAycHg7XHJcblxyXG4gIC0tcHN3cC1lcnJvci10ZXh0LWNvbG9yOiB2YXIoLS1wc3dwLWljb24tY29sb3IpO1xyXG59XHJcblxyXG5cclxuLypcclxuXHRTdHlsZXMgZm9yIGJhc2ljIFBob3RvU3dpcGUgKHBzd3ApIGZ1bmN0aW9uYWxpdHkgKHNsaWRpbmcgYXJlYSwgb3Blbi9jbG9zZSB0cmFuc2l0aW9ucylcclxuKi9cclxuXHJcbi5wc3dwIHtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdHotaW5kZXg6IHZhcigtLXBzd3Atcm9vdC16LWluZGV4KTtcclxuXHRkaXNwbGF5OiBub25lO1xyXG5cdHRvdWNoLWFjdGlvbjogbm9uZTtcclxuXHRvdXRsaW5lOiAwO1xyXG5cdG9wYWNpdHk6IDAuMDAzO1xyXG5cdGNvbnRhaW46IGxheW91dCBzdHlsZSBzaXplO1xyXG5cdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcclxufVxyXG5cclxuLyogUHJldmVudHMgZm9jdXMgb3V0bGluZSBvbiB0aGUgcm9vdCBlbGVtZW50LFxyXG4gIChpdCBtYXkgYmUgZm9jdXNlZCBpbml0aWFsbHkpICovXHJcbi5wc3dwOmZvY3VzIHtcclxuICBvdXRsaW5lOiAwO1xyXG59XHJcblxyXG4ucHN3cCAqIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4ucHN3cCBpbWcge1xyXG4gIG1heC13aWR0aDogbm9uZTtcclxufVxyXG5cclxuLnBzd3AtLW9wZW4ge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4ucHN3cCxcclxuLnBzd3BfX2JnIHtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcblx0d2lsbC1jaGFuZ2U6IG9wYWNpdHk7XHJcbn1cclxuXHJcbi5wc3dwX19iZyB7XHJcbiAgb3BhY2l0eTogMC4wMDU7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tcHN3cC1iZyk7XHJcbn1cclxuXHJcbi5wc3dwLFxyXG4ucHN3cF9fc2Nyb2xsLXdyYXAge1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5wc3dwX19zY3JvbGwtd3JhcCxcclxuLnBzd3BfX2JnLFxyXG4ucHN3cF9fY29udGFpbmVyLFxyXG4ucHN3cF9faXRlbSxcclxuLnBzd3BfX2NvbnRlbnQsXHJcbi5wc3dwX19pbWcsXHJcbi5wc3dwX196b29tLXdyYXAge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5wc3dwX19pbWcsXHJcbi5wc3dwX196b29tLXdyYXAge1xyXG5cdHdpZHRoOiBhdXRvO1xyXG5cdGhlaWdodDogYXV0bztcclxufVxyXG5cclxuLnBzd3AtLWNsaWNrLXRvLXpvb20ucHN3cC0tem9vbS1hbGxvd2VkIC5wc3dwX19pbWcge1xyXG5cdGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xyXG5cdGN1cnNvcjogLW1vei16b29tLWluO1xyXG5cdGN1cnNvcjogem9vbS1pbjtcclxufVxyXG5cclxuLnBzd3AtLWNsaWNrLXRvLXpvb20ucHN3cC0tem9vbWVkLWluIC5wc3dwX19pbWcge1xyXG5cdGN1cnNvcjogbW92ZTtcclxuXHRjdXJzb3I6IC13ZWJraXQtZ3JhYjtcclxuXHRjdXJzb3I6IC1tb3otZ3JhYjtcclxuXHRjdXJzb3I6IGdyYWI7XHJcbn1cclxuXHJcbi5wc3dwLS1jbGljay10by16b29tLnBzd3AtLXpvb21lZC1pbiAucHN3cF9faW1nOmFjdGl2ZSB7XHJcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xyXG4gIGN1cnNvcjogLW1vei1ncmFiYmluZztcclxuICBjdXJzb3I6IGdyYWJiaW5nO1xyXG59XHJcblxyXG4vKiA6YWN0aXZlIHRvIG92ZXJyaWRlIGdyYWJiaW5nIGN1cnNvciAqL1xyXG4ucHN3cC0tbm8tbW91c2UtZHJhZy5wc3dwLS16b29tZWQtaW4gLnBzd3BfX2ltZyxcclxuLnBzd3AtLW5vLW1vdXNlLWRyYWcucHN3cC0tem9vbWVkLWluIC5wc3dwX19pbWc6YWN0aXZlLFxyXG4ucHN3cF9faW1nIHtcclxuXHRjdXJzb3I6IC13ZWJraXQtem9vbS1vdXQ7XHJcblx0Y3Vyc29yOiAtbW96LXpvb20tb3V0O1xyXG5cdGN1cnNvcjogem9vbS1vdXQ7XHJcbn1cclxuXHJcblxyXG4vKiBQcmV2ZW50IHNlbGVjdGlvbiBhbmQgdGFwIGhpZ2hsaWdodHMgKi9cclxuLnBzd3BfX2NvbnRhaW5lcixcclxuLnBzd3BfX2ltZyxcclxuLnBzd3BfX2J1dHRvbixcclxuLnBzd3BfX2NvdW50ZXIge1xyXG5cdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuXHQtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0dXNlci1zZWxlY3Q6IG5vbmU7XHJcbn1cclxuXHJcbi5wc3dwX19pdGVtIHtcclxuXHQvKiB6LWluZGV4IGZvciBmYWRlIHRyYW5zaXRpb24gKi9cclxuXHR6LWluZGV4OiAxO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5wc3dwX19oaWRkZW4ge1xyXG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogQWxsb3cgdG8gY2xpY2sgdGhyb3VnaCBwc3dwX19jb250ZW50IGVsZW1lbnQsIGJ1dCBub3QgaXRzIGNoaWxkcmVuICovXHJcbi5wc3dwX19jb250ZW50IHtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG4ucHN3cF9fY29udGVudCA+ICoge1xyXG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG59XHJcblxyXG5cclxuLypcclxuXHJcbiAgUGhvdG9Td2lwZSBVSVxyXG5cclxuKi9cclxuXHJcbi8qXHJcblx0RXJyb3IgbWVzc2FnZSBhcHBlYXJzIHdoZW4gaW1hZ2UgaXMgbm90IGxvYWRlZFxyXG5cdChKUyBvcHRpb24gZXJyb3JNc2cgY29udHJvbHMgbWFya3VwKVxyXG4qL1xyXG4ucHN3cF9fZXJyb3ItbXNnLWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZ3JpZDtcclxufVxyXG4ucHN3cF9fZXJyb3ItbXNnIHtcclxuXHRtYXJnaW46IGF1dG87XHJcblx0Zm9udC1zaXplOiAxZW07XHJcblx0bGluZS1oZWlnaHQ6IDE7XHJcblx0Y29sb3I6IHZhcigtLXBzd3AtZXJyb3ItdGV4dC1jb2xvcik7XHJcbn1cclxuXHJcbi8qXHJcbmNsYXNzIHBzd3BfX2hpZGUtb24tY2xvc2UgaXMgYXBwbGllZCB0byBlbGVtZW50cyB0aGF0XHJcbnNob3VsZCBoaWRlIChmb3IgZXhhbXBsZSBmYWRlIG91dCkgd2hlbiBQaG90b1N3aXBlIGlzIGNsb3NlZFxyXG5hbmQgc2hvdyAoZm9yIGV4YW1wbGUgZmFkZSBpbikgd2hlbiBQaG90b1N3aXBlIGlzIG9wZW5lZFxyXG4gKi9cclxuLnBzd3AgLnBzd3BfX2hpZGUtb24tY2xvc2Uge1xyXG5cdG9wYWNpdHk6IDAuMDA1O1xyXG5cdHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tcHN3cC10cmFuc2l0aW9uLWR1cmF0aW9uKSBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKTtcclxuXHR6LWluZGV4OiAxMDsgLyogYWx3YXlzIG92ZXJsYXAgc2xpZGUgY29udGVudCAqL1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lOyAvKiBoaWRkZW4gZWxlbWVudHMgc2hvdWxkIG5vdCBiZSBjbGlja2FibGUgKi9cclxufVxyXG5cclxuLyogY2xhc3MgcHN3cC0tdWktdmlzaWJsZSBpcyBhZGRlZCB3aGVuIG9wZW5pbmcgb3IgY2xvc2luZyB0cmFuc2l0aW9uIHN0YXJ0cyAqL1xyXG4ucHN3cC0tdWktdmlzaWJsZSAucHN3cF9faGlkZS1vbi1jbG9zZSB7XHJcblx0b3BhY2l0eTogMTtcclxuXHRwb2ludGVyLWV2ZW50czogYXV0bztcclxufVxyXG5cclxuLyogPGJ1dHRvbj4gc3R5bGVzLCBpbmNsdWRpbmcgY3NzIHJlc2V0ICovXHJcbi5wc3dwX19idXR0b24ge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHR3aWR0aDogNTBweDtcclxuXHRoZWlnaHQ6IDYwcHg7XHJcblx0cGFkZGluZzogMDtcclxuXHRtYXJnaW46IDA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRib3JkZXI6IDA7XHJcblx0Ym94LXNoYWRvdzogbm9uZTtcclxuXHRvcGFjaXR5OiAwLjg1O1xyXG5cdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuXHQtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XHJcbn1cclxuXHJcbi5wc3dwX19idXR0b246aG92ZXIsXHJcbi5wc3dwX19idXR0b246YWN0aXZlLFxyXG4ucHN3cF9fYnV0dG9uOmZvY3VzIHtcclxuICB0cmFuc2l0aW9uOiBub25lO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgYmFja2dyb3VuZDogbm9uZTtcclxuICBib3JkZXI6IDA7XHJcbiAgYm94LXNoYWRvdzogbm9uZTtcclxuICBvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4ucHN3cF9fYnV0dG9uOmRpc2FibGVkIHtcclxuICBvcGFjaXR5OiAwLjM7XHJcbiAgY3Vyc29yOiBhdXRvO1xyXG59XHJcblxyXG4ucHN3cF9faWNuIHtcclxuICBmaWxsOiB2YXIoLS1wc3dwLWljb24tY29sb3IpO1xyXG4gIGNvbG9yOiB2YXIoLS1wc3dwLWljb24tY29sb3Itc2Vjb25kYXJ5KTtcclxufVxyXG5cclxuLnBzd3BfX2ljbiB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMTRweDtcclxuICBsZWZ0OiA5cHg7XHJcbiAgd2lkdGg6IDMycHg7XHJcbiAgaGVpZ2h0OiAzMnB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbi5wc3dwX19pY24tc2hhZG93IHtcclxuICBzdHJva2U6IHZhcigtLXBzd3AtaWNvbi1zdHJva2UtY29sb3IpO1xyXG4gIHN0cm9rZS13aWR0aDogdmFyKC0tcHN3cC1pY29uLXN0cm9rZS13aWR0aCk7XHJcbiAgZmlsbDogbm9uZTtcclxufVxyXG5cclxuLnBzd3BfX2ljbjpmb2N1cyB7XHJcblx0b3V0bGluZTogMDtcclxufVxyXG5cclxuLypcclxuXHRkaXYgZWxlbWVudCB0aGF0IG1hdGNoZXMgc2l6ZSBvZiBsYXJnZSBpbWFnZSxcclxuXHRsYXJnZSBpbWFnZSBsb2FkcyBvbiB0b3Agb2YgaXQsXHJcblx0dXNlZCB3aGVuIG1zcmMgaXMgbm90IHByb3ZpZGVkXHJcbiovXHJcbmRpdi5wc3dwX19pbWctLXBsYWNlaG9sZGVyLFxyXG4ucHN3cF9faW1nLS13aXRoLWJnIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1wc3dwLXBsYWNlaG9sZGVyLWJnKTtcclxufVxyXG5cclxuLnBzd3BfX3RvcC1iYXIge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRsZWZ0OiAwO1xyXG5cdHRvcDogMDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDYwcHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblx0ei1pbmRleDogMTA7XHJcblxyXG5cdC8qIGFsbG93IGV2ZW50cyB0byBwYXNzIHRocm91Z2ggdG9wIGJhciBpdHNlbGYgKi9cclxuXHRwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcbi5wc3dwX190b3AtYmFyID4gKiB7XHJcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbiAgLyogdGhpcyBtYWtlcyB0cmFuc2l0aW9uIHNpZ25pZmljYW50bHkgbW9yZSBzbW9vdGgsXHJcbiAgICAgZXZlbiB0aG91Z2ggaW5uZXIgZWxlbWVudHMgYXJlIG5vdCBhbmltYXRlZCAqL1xyXG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xyXG59XHJcblxyXG5cclxuLypcclxuXHJcbiAgQ2xvc2UgYnV0dG9uXHJcblxyXG4qL1xyXG4ucHN3cF9fYnV0dG9uLS1jbG9zZSB7XHJcbiAgbWFyZ2luLXJpZ2h0OiA2cHg7XHJcbn1cclxuXHJcblxyXG4vKlxyXG5cclxuICBBcnJvdyBidXR0b25zXHJcblxyXG4qL1xyXG4ucHN3cF9fYnV0dG9uLS1hcnJvdyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICB3aWR0aDogNzVweDtcclxuICBoZWlnaHQ6IDEwMHB4O1xyXG4gIHRvcDogNTAlO1xyXG4gIG1hcmdpbi10b3A6IC01MHB4O1xyXG59XHJcblxyXG4ucHN3cF9fYnV0dG9uLS1hcnJvdzpkaXNhYmxlZCB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBjdXJzb3I6IGRlZmF1bHQ7XHJcbn1cclxuXHJcbi5wc3dwX19idXR0b24tLWFycm93IC5wc3dwX19pY24ge1xyXG4gIHRvcDogNTAlO1xyXG4gIG1hcmdpbi10b3A6IC0zMHB4O1xyXG4gIHdpZHRoOiA2MHB4O1xyXG4gIGhlaWdodDogNjBweDtcclxuICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbn1cclxuXHJcbi5wc3dwLS1vbmUtc2xpZGUgLnBzd3BfX2J1dHRvbi0tYXJyb3cge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qIGhpZGUgYXJyb3dzIG9uIHRvdWNoIHNjcmVlbnMgKi9cclxuLnBzd3AtLXRvdWNoIC5wc3dwX19idXR0b24tLWFycm93IHtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8qIHNob3cgYXJyb3dzIG9ubHkgYWZ0ZXIgbW91c2Ugd2FzIHVzZWQgKi9cclxuLnBzd3AtLWhhc19tb3VzZSAucHN3cF9fYnV0dG9uLS1hcnJvdyB7XHJcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxufVxyXG5cclxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXByZXYge1xyXG4gIHJpZ2h0OiBhdXRvO1xyXG4gIGxlZnQ6IDBweDtcclxufVxyXG5cclxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLW5leHQge1xyXG4gIHJpZ2h0OiAwcHg7XHJcbn1cclxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLW5leHQgLnBzd3BfX2ljbiB7XHJcbiAgbGVmdDogYXV0bztcclxuICByaWdodDogMTRweDtcclxuICAvKiBmbGlwIGhvcml6b250YWxseSAqL1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xyXG59XHJcblxyXG4vKlxyXG5cclxuICBab29tIGJ1dHRvblxyXG5cclxuKi9cclxuLnBzd3BfX2J1dHRvbi0tem9vbSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLnBzd3AtLXpvb20tYWxsb3dlZCAucHN3cF9fYnV0dG9uLS16b29tIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLyogXCIrXCIgPT4gXCItXCIgKi9cclxuLnBzd3AtLXpvb21lZC1pbiAucHN3cF9fem9vbS1pY24tYmFyLXYge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcblxyXG4vKlxyXG5cclxuICBMb2FkaW5nIGluZGljYXRvclxyXG5cclxuKi9cclxuLnBzd3BfX3ByZWxvYWRlciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgd2lkdGg6IDUwcHg7XHJcbiAgaGVpZ2h0OiA2MHB4O1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxufVxyXG5cclxuLnBzd3BfX3ByZWxvYWRlciAucHN3cF9faWNuIHtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XHJcbiAgYW5pbWF0aW9uOiBwc3dwLWNsb2Nrd2lzZSA2MDBtcyBsaW5lYXIgaW5maW5pdGU7XHJcbn1cclxuXHJcbi5wc3dwX19wcmVsb2FkZXItLWFjdGl2ZSAucHN3cF9faWNuIHtcclxuICBvcGFjaXR5OiAwLjg1O1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHBzd3AtY2xvY2t3aXNlIHtcclxuICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbiAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cclxufVxyXG5cclxuXHJcbi8qXHJcblxyXG4gIFwiMSBvZiAxMFwiIGNvdW50ZXJcclxuXHJcbiovXHJcbi5wc3dwX19jb3VudGVyIHtcclxuICBoZWlnaHQ6IDMwcHg7XHJcbiAgbWFyZ2luLXRvcDogMTVweDtcclxuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAyMHB4O1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBsaW5lLWhlaWdodDogMzBweDtcclxuICBjb2xvcjogdmFyKC0tcHN3cC1pY29uLWNvbG9yKTtcclxuICB0ZXh0LXNoYWRvdzogMXB4IDFweCAzcHggdmFyKC0tcHN3cC1pY29uLWNvbG9yLXNlY29uZGFyeSk7XHJcbiAgb3BhY2l0eTogMC44NTtcclxufVxyXG5cclxuLnBzd3AtLW9uZS1zbGlkZSAucHN3cF9fY291bnRlciB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/