﻿@font-face{font-family:"RTCRaleway";src:url("webfonts/ralewayrtc-medium-webfont.woff2") format("woff2"),url("webfonts/ralewayrtc-medium-webfont.woff") format("woff");font-weight:500;font-style:normal}@font-face{font-family:"RTCRaleway";src:url("webfonts/ralewayrtc-mediumitalic-webfont.woff2") format("woff2"),url("webfonts/ralewayrtc-mediumitalic-webfont.woff") format("woff");font-weight:500;font-style:italic}@font-face{font-family:"RTCRaleway";src:url("webfonts/ralewayrtc-semibold-webfont.woff2") format("woff2"),url("webfonts/ralewayrtc-semibold-webfont.woff") format("woff");font-weight:600;font-style:normal}@font-face{font-family:"RTCRaleway";src:url("webfonts/ralewayrtc-semibolditalic-webfont.woff2") format("woff2"),url("webfonts/ralewayrtc-semibolditalic-webfont.woff") format("woff");font-weight:600;font-style:italic}@font-face{font-family:"RTCRaleway";src:url("webfonts/ralewayrtc-bold-webfont.woff2") format("woff2"),url("webfonts/ralewayrtc-bold-webfont.woff") format("woff");font-weight:700;font-style:normal}@font-face{font-family:"RTCRaleway";src:url("webfonts/ralewayrtc-bolditalic-webfont.woff2") format("woff2"),url("webfonts/ralewayrtc-bolditalic-webfont.woff") format("woff");font-weight:700;font-style:italic}@font-face{font-family:"RTCRaleway";src:url("webfonts/ralewayrtc-extrabold-webfont.woff2") format("woff2"),url("webfonts/ralewayrtc-extrabold-webfont.woff") format("woff");font-weight:800;font-style:normal}@font-face{font-family:"RTCRaleway";src:url("webfonts/ralewayrtc-extrabolditalic-webfont.woff2") format("woff2"),url("webfonts/ralewayrtc-extrabolditalic-webfont.woff") format("woff");font-weight:800;font-style:italic}@font-face{font-family:"RTCRaleway";src:url("webfonts/ralewayrtc-black-webfont.woff2") format("woff2"),url("webfonts/ralewayrtc-black-webfont.woff") format("woff");font-weight:900;font-style:normal}@font-face{font-family:"RTCRaleway";src:url("webfonts/ralewayrtc-blackitalic-webfont.woff2") format("woff2"),url("webfonts/ralewayrtc-blackitalic-webfont.woff") format("woff");font-weight:900;font-style:italic}@media print,screen and (min-width: 48em){.reveal.large,.reveal.small,.reveal.tiny,.reveal{right:auto;left:auto;margin:0 auto}}/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:rgba(0,0,0,0)}abbr[title]{border-bottom:0;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}[data-whatintent=mouse] *,[data-whatintent=mouse] *:focus,[data-whatintent=touch] *,[data-whatintent=touch] *:focus,[data-whatinput=mouse] *,[data-whatinput=mouse] *:focus,[data-whatinput=touch] *,[data-whatinput=touch] *:focus{outline:none}[draggable=false]{-webkit-touch-callout:none;-webkit-user-select:none}.foundation-mq{font-family:"small=0em&medium=48em&large=64em&xlarge=80em&xxlarge=80em"}html{box-sizing:border-box;font-size:1rem}*,*::before,*::after{box-sizing:inherit}body{margin:0;padding:0;background:#fff;font-family:"RTCRaleway",sans-serif;font-weight:normal;line-height:1.75;color:#414141;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:inline-block;vertical-align:middle;max-width:100%;height:auto;-ms-interpolation-mode:bicubic}textarea{height:auto;min-height:50px;border-radius:0}select{box-sizing:border-box;width:100%;border-radius:0}.map_canvas img,.map_canvas embed,.map_canvas object,.mqa-display img,.mqa-display embed,.mqa-display object{max-width:none !important}button{padding:0;appearance:none;border:0;border-radius:0;background:rgba(0,0,0,0);line-height:1;cursor:auto}[data-whatinput=mouse] button{outline:0}pre{overflow:auto;-webkit-overflow-scrolling:touch}button,input,optgroup,select,textarea{font-family:inherit}.is-visible{display:block !important}.is-hidden{display:none !important}.grid-container{padding-right:0.625rem;padding-left:0.625rem;max-width:80.25rem;margin-left:auto;margin-right:auto}@media print,screen and (min-width: 48em){.grid-container{padding-right:0.9375rem;padding-left:0.9375rem}}.grid-container.fluid{padding-right:0.625rem;padding-left:0.625rem;max-width:100%;margin-left:auto;margin-right:auto}@media print,screen and (min-width: 48em){.grid-container.fluid{padding-right:0.9375rem;padding-left:0.9375rem}}.grid-container.full{padding-right:0;padding-left:0;max-width:100%;margin-left:auto;margin-right:auto}.grid-x{display:flex;flex-flow:row wrap}.cell{flex:0 0 auto;min-height:0;min-width:0;width:100%}.cell.auto{flex:1 1 0}.cell.shrink{flex:0 0 auto}.grid-x>.auto{width:auto}.grid-x>.shrink{width:auto}.grid-x>.small-shrink,.grid-x>.small-full,.grid-x>.small-1,.grid-x>.small-2,.grid-x>.small-3,.grid-x>.small-4,.grid-x>.small-5,.grid-x>.small-6,.grid-x>.small-7,.grid-x>.small-8,.grid-x>.small-9,.grid-x>.small-10,.grid-x>.small-11,.grid-x>.small-12{flex-basis:auto}@media print,screen and (min-width: 48em){.grid-x>.medium-shrink,.grid-x>.medium-full,.grid-x>.medium-1,.grid-x>.medium-2,.grid-x>.medium-3,.grid-x>.medium-4,.grid-x>.medium-5,.grid-x>.medium-6,.grid-x>.medium-7,.grid-x>.medium-8,.grid-x>.medium-9,.grid-x>.medium-10,.grid-x>.medium-11,.grid-x>.medium-12{flex-basis:auto}}@media print,screen and (min-width: 64em){.grid-x>.large-shrink,.grid-x>.large-full,.grid-x>.large-1,.grid-x>.large-2,.grid-x>.large-3,.grid-x>.large-4,.grid-x>.large-5,.grid-x>.large-6,.grid-x>.large-7,.grid-x>.large-8,.grid-x>.large-9,.grid-x>.large-10,.grid-x>.large-11,.grid-x>.large-12{flex-basis:auto}}.grid-x>.small-12,.grid-x>.small-11,.grid-x>.small-10,.grid-x>.small-9,.grid-x>.small-8,.grid-x>.small-7,.grid-x>.small-6,.grid-x>.small-5,.grid-x>.small-4,.grid-x>.small-3,.grid-x>.small-2,.grid-x>.small-1{flex:0 0 auto}.grid-x>.small-1{width:8.3333333333%}.grid-x>.small-2{width:16.6666666667%}.grid-x>.small-3{width:25%}.grid-x>.small-4{width:33.3333333333%}.grid-x>.small-5{width:41.6666666667%}.grid-x>.small-6{width:50%}.grid-x>.small-7{width:58.3333333333%}.grid-x>.small-8{width:66.6666666667%}.grid-x>.small-9{width:75%}.grid-x>.small-10{width:83.3333333333%}.grid-x>.small-11{width:91.6666666667%}.grid-x>.small-12{width:100%}@media print,screen and (min-width: 48em){.grid-x>.medium-auto{flex:1 1 0;width:auto}.grid-x>.medium-12,.grid-x>.medium-11,.grid-x>.medium-10,.grid-x>.medium-9,.grid-x>.medium-8,.grid-x>.medium-7,.grid-x>.medium-6,.grid-x>.medium-5,.grid-x>.medium-4,.grid-x>.medium-3,.grid-x>.medium-2,.grid-x>.medium-1,.grid-x>.medium-shrink{flex:0 0 auto}.grid-x>.medium-shrink{width:auto}.grid-x>.medium-1{width:8.3333333333%}.grid-x>.medium-2{width:16.6666666667%}.grid-x>.medium-3{width:25%}.grid-x>.medium-4{width:33.3333333333%}.grid-x>.medium-5{width:41.6666666667%}.grid-x>.medium-6{width:50%}.grid-x>.medium-7{width:58.3333333333%}.grid-x>.medium-8{width:66.6666666667%}.grid-x>.medium-9{width:75%}.grid-x>.medium-10{width:83.3333333333%}.grid-x>.medium-11{width:91.6666666667%}.grid-x>.medium-12{width:100%}}@media print,screen and (min-width: 64em){.grid-x>.large-auto{flex:1 1 0;width:auto}.grid-x>.large-12,.grid-x>.large-11,.grid-x>.large-10,.grid-x>.large-9,.grid-x>.large-8,.grid-x>.large-7,.grid-x>.large-6,.grid-x>.large-5,.grid-x>.large-4,.grid-x>.large-3,.grid-x>.large-2,.grid-x>.large-1,.grid-x>.large-shrink{flex:0 0 auto}.grid-x>.large-shrink{width:auto}.grid-x>.large-1{width:8.3333333333%}.grid-x>.large-2{width:16.6666666667%}.grid-x>.large-3{width:25%}.grid-x>.large-4{width:33.3333333333%}.grid-x>.large-5{width:41.6666666667%}.grid-x>.large-6{width:50%}.grid-x>.large-7{width:58.3333333333%}.grid-x>.large-8{width:66.6666666667%}.grid-x>.large-9{width:75%}.grid-x>.large-10{width:83.3333333333%}.grid-x>.large-11{width:91.6666666667%}.grid-x>.large-12{width:100%}}.grid-margin-x:not(.grid-x)>.cell{width:auto}.grid-margin-y:not(.grid-y)>.cell{height:auto}.grid-margin-x{margin-left:-0.625rem;margin-right:-0.625rem}@media print,screen and (min-width: 48em){.grid-margin-x{margin-left:-0.9375rem;margin-right:-0.9375rem}}.grid-margin-x>.cell{width:calc(100% - 1.25rem);margin-left:0.625rem;margin-right:0.625rem}@media print,screen and (min-width: 48em){.grid-margin-x>.cell{width:calc(100% - 1.875rem);margin-left:0.9375rem;margin-right:0.9375rem}}.grid-margin-x>.auto{width:auto}.grid-margin-x>.shrink{width:auto}.grid-margin-x>.small-1{width:calc(8.3333333333% - 1.25rem)}.grid-margin-x>.small-2{width:calc(16.6666666667% - 1.25rem)}.grid-margin-x>.small-3{width:calc(25% - 1.25rem)}.grid-margin-x>.small-4{width:calc(33.3333333333% - 1.25rem)}.grid-margin-x>.small-5{width:calc(41.6666666667% - 1.25rem)}.grid-margin-x>.small-6{width:calc(50% - 1.25rem)}.grid-margin-x>.small-7{width:calc(58.3333333333% - 1.25rem)}.grid-margin-x>.small-8{width:calc(66.6666666667% - 1.25rem)}.grid-margin-x>.small-9{width:calc(75% - 1.25rem)}.grid-margin-x>.small-10{width:calc(83.3333333333% - 1.25rem)}.grid-margin-x>.small-11{width:calc(91.6666666667% - 1.25rem)}.grid-margin-x>.small-12{width:calc(100% - 1.25rem)}@media print,screen and (min-width: 48em){.grid-margin-x>.auto{width:auto}.grid-margin-x>.shrink{width:auto}.grid-margin-x>.small-1{width:calc(8.3333333333% - 1.875rem)}.grid-margin-x>.small-2{width:calc(16.6666666667% - 1.875rem)}.grid-margin-x>.small-3{width:calc(25% - 1.875rem)}.grid-margin-x>.small-4{width:calc(33.3333333333% - 1.875rem)}.grid-margin-x>.small-5{width:calc(41.6666666667% - 1.875rem)}.grid-margin-x>.small-6{width:calc(50% - 1.875rem)}.grid-margin-x>.small-7{width:calc(58.3333333333% - 1.875rem)}.grid-margin-x>.small-8{width:calc(66.6666666667% - 1.875rem)}.grid-margin-x>.small-9{width:calc(75% - 1.875rem)}.grid-margin-x>.small-10{width:calc(83.3333333333% - 1.875rem)}.grid-margin-x>.small-11{width:calc(91.6666666667% - 1.875rem)}.grid-margin-x>.small-12{width:calc(100% - 1.875rem)}.grid-margin-x>.medium-auto{width:auto}.grid-margin-x>.medium-shrink{width:auto}.grid-margin-x>.medium-1{width:calc(8.3333333333% - 1.875rem)}.grid-margin-x>.medium-2{width:calc(16.6666666667% - 1.875rem)}.grid-margin-x>.medium-3{width:calc(25% - 1.875rem)}.grid-margin-x>.medium-4{width:calc(33.3333333333% - 1.875rem)}.grid-margin-x>.medium-5{width:calc(41.6666666667% - 1.875rem)}.grid-margin-x>.medium-6{width:calc(50% - 1.875rem)}.grid-margin-x>.medium-7{width:calc(58.3333333333% - 1.875rem)}.grid-margin-x>.medium-8{width:calc(66.6666666667% - 1.875rem)}.grid-margin-x>.medium-9{width:calc(75% - 1.875rem)}.grid-margin-x>.medium-10{width:calc(83.3333333333% - 1.875rem)}.grid-margin-x>.medium-11{width:calc(91.6666666667% - 1.875rem)}.grid-margin-x>.medium-12{width:calc(100% - 1.875rem)}}@media print,screen and (min-width: 64em){.grid-margin-x>.large-auto{width:auto}.grid-margin-x>.large-shrink{width:auto}.grid-margin-x>.large-1{width:calc(8.3333333333% - 1.875rem)}.grid-margin-x>.large-2{width:calc(16.6666666667% - 1.875rem)}.grid-margin-x>.large-3{width:calc(25% - 1.875rem)}.grid-margin-x>.large-4{width:calc(33.3333333333% - 1.875rem)}.grid-margin-x>.large-5{width:calc(41.6666666667% - 1.875rem)}.grid-margin-x>.large-6{width:calc(50% - 1.875rem)}.grid-margin-x>.large-7{width:calc(58.3333333333% - 1.875rem)}.grid-margin-x>.large-8{width:calc(66.6666666667% - 1.875rem)}.grid-margin-x>.large-9{width:calc(75% - 1.875rem)}.grid-margin-x>.large-10{width:calc(83.3333333333% - 1.875rem)}.grid-margin-x>.large-11{width:calc(91.6666666667% - 1.875rem)}.grid-margin-x>.large-12{width:calc(100% - 1.875rem)}}.grid-padding-x .grid-padding-x{margin-right:-0.625rem;margin-left:-0.625rem}@media print,screen and (min-width: 48em){.grid-padding-x .grid-padding-x{margin-right:-0.9375rem;margin-left:-0.9375rem}}.grid-container:not(.full)>.grid-padding-x{margin-right:-0.625rem;margin-left:-0.625rem}@media print,screen and (min-width: 48em){.grid-container:not(.full)>.grid-padding-x{margin-right:-0.9375rem;margin-left:-0.9375rem}}.grid-padding-x>.cell{padding-right:0.625rem;padding-left:0.625rem}@media print,screen and (min-width: 48em){.grid-padding-x>.cell{padding-right:0.9375rem;padding-left:0.9375rem}}.small-up-1>.cell{width:100%}.small-up-2>.cell{width:50%}.small-up-3>.cell{width:33.3333333333%}.small-up-4>.cell{width:25%}.small-up-5>.cell{width:20%}.small-up-6>.cell{width:16.6666666667%}.small-up-7>.cell{width:14.2857142857%}.small-up-8>.cell{width:12.5%}@media print,screen and (min-width: 48em){.medium-up-1>.cell{width:100%}.medium-up-2>.cell{width:50%}.medium-up-3>.cell{width:33.3333333333%}.medium-up-4>.cell{width:25%}.medium-up-5>.cell{width:20%}.medium-up-6>.cell{width:16.6666666667%}.medium-up-7>.cell{width:14.2857142857%}.medium-up-8>.cell{width:12.5%}}@media print,screen and (min-width: 64em){.large-up-1>.cell{width:100%}.large-up-2>.cell{width:50%}.large-up-3>.cell{width:33.3333333333%}.large-up-4>.cell{width:25%}.large-up-5>.cell{width:20%}.large-up-6>.cell{width:16.6666666667%}.large-up-7>.cell{width:14.2857142857%}.large-up-8>.cell{width:12.5%}}.grid-margin-x.small-up-1>.cell{width:calc(100% - 1.25rem)}.grid-margin-x.small-up-2>.cell{width:calc(50% - 1.25rem)}.grid-margin-x.small-up-3>.cell{width:calc(33.3333333333% - 1.25rem)}.grid-margin-x.small-up-4>.cell{width:calc(25% - 1.25rem)}.grid-margin-x.small-up-5>.cell{width:calc(20% - 1.25rem)}.grid-margin-x.small-up-6>.cell{width:calc(16.6666666667% - 1.25rem)}.grid-margin-x.small-up-7>.cell{width:calc(14.2857142857% - 1.25rem)}.grid-margin-x.small-up-8>.cell{width:calc(12.5% - 1.25rem)}@media print,screen and (min-width: 48em){.grid-margin-x.small-up-1>.cell{width:calc(100% - 1.875rem)}.grid-margin-x.small-up-2>.cell{width:calc(50% - 1.875rem)}.grid-margin-x.small-up-3>.cell{width:calc(33.3333333333% - 1.875rem)}.grid-margin-x.small-up-4>.cell{width:calc(25% - 1.875rem)}.grid-margin-x.small-up-5>.cell{width:calc(20% - 1.875rem)}.grid-margin-x.small-up-6>.cell{width:calc(16.6666666667% - 1.875rem)}.grid-margin-x.small-up-7>.cell{width:calc(14.2857142857% - 1.875rem)}.grid-margin-x.small-up-8>.cell{width:calc(12.5% - 1.875rem)}.grid-margin-x.medium-up-1>.cell{width:calc(100% - 1.875rem)}.grid-margin-x.medium-up-2>.cell{width:calc(50% - 1.875rem)}.grid-margin-x.medium-up-3>.cell{width:calc(33.3333333333% - 1.875rem)}.grid-margin-x.medium-up-4>.cell{width:calc(25% - 1.875rem)}.grid-margin-x.medium-up-5>.cell{width:calc(20% - 1.875rem)}.grid-margin-x.medium-up-6>.cell{width:calc(16.6666666667% - 1.875rem)}.grid-margin-x.medium-up-7>.cell{width:calc(14.2857142857% - 1.875rem)}.grid-margin-x.medium-up-8>.cell{width:calc(12.5% - 1.875rem)}}@media print,screen and (min-width: 64em){.grid-margin-x.large-up-1>.cell{width:calc(100% - 1.875rem)}.grid-margin-x.large-up-2>.cell{width:calc(50% - 1.875rem)}.grid-margin-x.large-up-3>.cell{width:calc(33.3333333333% - 1.875rem)}.grid-margin-x.large-up-4>.cell{width:calc(25% - 1.875rem)}.grid-margin-x.large-up-5>.cell{width:calc(20% - 1.875rem)}.grid-margin-x.large-up-6>.cell{width:calc(16.6666666667% - 1.875rem)}.grid-margin-x.large-up-7>.cell{width:calc(14.2857142857% - 1.875rem)}.grid-margin-x.large-up-8>.cell{width:calc(12.5% - 1.875rem)}}.small-margin-collapse{margin-right:0;margin-left:0}.small-margin-collapse>.cell{margin-right:0;margin-left:0}.small-margin-collapse>.small-1{width:8.3333333333%}.small-margin-collapse>.small-2{width:16.6666666667%}.small-margin-collapse>.small-3{width:25%}.small-margin-collapse>.small-4{width:33.3333333333%}.small-margin-collapse>.small-5{width:41.6666666667%}.small-margin-collapse>.small-6{width:50%}.small-margin-collapse>.small-7{width:58.3333333333%}.small-margin-collapse>.small-8{width:66.6666666667%}.small-margin-collapse>.small-9{width:75%}.small-margin-collapse>.small-10{width:83.3333333333%}.small-margin-collapse>.small-11{width:91.6666666667%}.small-margin-collapse>.small-12{width:100%}@media print,screen and (min-width: 48em){.small-margin-collapse>.medium-1{width:8.3333333333%}.small-margin-collapse>.medium-2{width:16.6666666667%}.small-margin-collapse>.medium-3{width:25%}.small-margin-collapse>.medium-4{width:33.3333333333%}.small-margin-collapse>.medium-5{width:41.6666666667%}.small-margin-collapse>.medium-6{width:50%}.small-margin-collapse>.medium-7{width:58.3333333333%}.small-margin-collapse>.medium-8{width:66.6666666667%}.small-margin-collapse>.medium-9{width:75%}.small-margin-collapse>.medium-10{width:83.3333333333%}.small-margin-collapse>.medium-11{width:91.6666666667%}.small-margin-collapse>.medium-12{width:100%}}@media print,screen and (min-width: 64em){.small-margin-collapse>.large-1{width:8.3333333333%}.small-margin-collapse>.large-2{width:16.6666666667%}.small-margin-collapse>.large-3{width:25%}.small-margin-collapse>.large-4{width:33.3333333333%}.small-margin-collapse>.large-5{width:41.6666666667%}.small-margin-collapse>.large-6{width:50%}.small-margin-collapse>.large-7{width:58.3333333333%}.small-margin-collapse>.large-8{width:66.6666666667%}.small-margin-collapse>.large-9{width:75%}.small-margin-collapse>.large-10{width:83.3333333333%}.small-margin-collapse>.large-11{width:91.6666666667%}.small-margin-collapse>.large-12{width:100%}}.small-padding-collapse{margin-right:0;margin-left:0}.small-padding-collapse>.cell{padding-right:0;padding-left:0}@media print,screen and (min-width: 48em){.medium-margin-collapse{margin-right:0;margin-left:0}.medium-margin-collapse>.cell{margin-right:0;margin-left:0}}@media print,screen and (min-width: 48em){.medium-margin-collapse>.small-1{width:8.3333333333%}.medium-margin-collapse>.small-2{width:16.6666666667%}.medium-margin-collapse>.small-3{width:25%}.medium-margin-collapse>.small-4{width:33.3333333333%}.medium-margin-collapse>.small-5{width:41.6666666667%}.medium-margin-collapse>.small-6{width:50%}.medium-margin-collapse>.small-7{width:58.3333333333%}.medium-margin-collapse>.small-8{width:66.6666666667%}.medium-margin-collapse>.small-9{width:75%}.medium-margin-collapse>.small-10{width:83.3333333333%}.medium-margin-collapse>.small-11{width:91.6666666667%}.medium-margin-collapse>.small-12{width:100%}}@media print,screen and (min-width: 48em){.medium-margin-collapse>.medium-1{width:8.3333333333%}.medium-margin-collapse>.medium-2{width:16.6666666667%}.medium-margin-collapse>.medium-3{width:25%}.medium-margin-collapse>.medium-4{width:33.3333333333%}.medium-margin-collapse>.medium-5{width:41.6666666667%}.medium-margin-collapse>.medium-6{width:50%}.medium-margin-collapse>.medium-7{width:58.3333333333%}.medium-margin-collapse>.medium-8{width:66.6666666667%}.medium-margin-collapse>.medium-9{width:75%}.medium-margin-collapse>.medium-10{width:83.3333333333%}.medium-margin-collapse>.medium-11{width:91.6666666667%}.medium-margin-collapse>.medium-12{width:100%}}@media print,screen and (min-width: 64em){.medium-margin-collapse>.large-1{width:8.3333333333%}.medium-margin-collapse>.large-2{width:16.6666666667%}.medium-margin-collapse>.large-3{width:25%}.medium-margin-collapse>.large-4{width:33.3333333333%}.medium-margin-collapse>.large-5{width:41.6666666667%}.medium-margin-collapse>.large-6{width:50%}.medium-margin-collapse>.large-7{width:58.3333333333%}.medium-margin-collapse>.large-8{width:66.6666666667%}.medium-margin-collapse>.large-9{width:75%}.medium-margin-collapse>.large-10{width:83.3333333333%}.medium-margin-collapse>.large-11{width:91.6666666667%}.medium-margin-collapse>.large-12{width:100%}}@media print,screen and (min-width: 48em){.medium-padding-collapse{margin-right:0;margin-left:0}.medium-padding-collapse>.cell{padding-right:0;padding-left:0}}@media print,screen and (min-width: 64em){.large-margin-collapse{margin-right:0;margin-left:0}.large-margin-collapse>.cell{margin-right:0;margin-left:0}}@media print,screen and (min-width: 64em){.large-margin-collapse>.small-1{width:8.3333333333%}.large-margin-collapse>.small-2{width:16.6666666667%}.large-margin-collapse>.small-3{width:25%}.large-margin-collapse>.small-4{width:33.3333333333%}.large-margin-collapse>.small-5{width:41.6666666667%}.large-margin-collapse>.small-6{width:50%}.large-margin-collapse>.small-7{width:58.3333333333%}.large-margin-collapse>.small-8{width:66.6666666667%}.large-margin-collapse>.small-9{width:75%}.large-margin-collapse>.small-10{width:83.3333333333%}.large-margin-collapse>.small-11{width:91.6666666667%}.large-margin-collapse>.small-12{width:100%}}@media print,screen and (min-width: 64em){.large-margin-collapse>.medium-1{width:8.3333333333%}.large-margin-collapse>.medium-2{width:16.6666666667%}.large-margin-collapse>.medium-3{width:25%}.large-margin-collapse>.medium-4{width:33.3333333333%}.large-margin-collapse>.medium-5{width:41.6666666667%}.large-margin-collapse>.medium-6{width:50%}.large-margin-collapse>.medium-7{width:58.3333333333%}.large-margin-collapse>.medium-8{width:66.6666666667%}.large-margin-collapse>.medium-9{width:75%}.large-margin-collapse>.medium-10{width:83.3333333333%}.large-margin-collapse>.medium-11{width:91.6666666667%}.large-margin-collapse>.medium-12{width:100%}}@media print,screen and (min-width: 64em){.large-margin-collapse>.large-1{width:8.3333333333%}.large-margin-collapse>.large-2{width:16.6666666667%}.large-margin-collapse>.large-3{width:25%}.large-margin-collapse>.large-4{width:33.3333333333%}.large-margin-collapse>.large-5{width:41.6666666667%}.large-margin-collapse>.large-6{width:50%}.large-margin-collapse>.large-7{width:58.3333333333%}.large-margin-collapse>.large-8{width:66.6666666667%}.large-margin-collapse>.large-9{width:75%}.large-margin-collapse>.large-10{width:83.3333333333%}.large-margin-collapse>.large-11{width:91.6666666667%}.large-margin-collapse>.large-12{width:100%}}@media print,screen and (min-width: 64em){.large-padding-collapse{margin-right:0;margin-left:0}.large-padding-collapse>.cell{padding-right:0;padding-left:0}}.small-offset-0{margin-left:0%}.grid-margin-x>.small-offset-0{margin-left:calc(0% + 1.25rem / 2)}.small-offset-1{margin-left:8.3333333333%}.grid-margin-x>.small-offset-1{margin-left:calc(8.3333333333% + 1.25rem / 2)}.small-offset-2{margin-left:16.6666666667%}.grid-margin-x>.small-offset-2{margin-left:calc(16.6666666667% + 1.25rem / 2)}.small-offset-3{margin-left:25%}.grid-margin-x>.small-offset-3{margin-left:calc(25% + 1.25rem / 2)}.small-offset-4{margin-left:33.3333333333%}.grid-margin-x>.small-offset-4{margin-left:calc(33.3333333333% + 1.25rem / 2)}.small-offset-5{margin-left:41.6666666667%}.grid-margin-x>.small-offset-5{margin-left:calc(41.6666666667% + 1.25rem / 2)}.small-offset-6{margin-left:50%}.grid-margin-x>.small-offset-6{margin-left:calc(50% + 1.25rem / 2)}.small-offset-7{margin-left:58.3333333333%}.grid-margin-x>.small-offset-7{margin-left:calc(58.3333333333% + 1.25rem / 2)}.small-offset-8{margin-left:66.6666666667%}.grid-margin-x>.small-offset-8{margin-left:calc(66.6666666667% + 1.25rem / 2)}.small-offset-9{margin-left:75%}.grid-margin-x>.small-offset-9{margin-left:calc(75% + 1.25rem / 2)}.small-offset-10{margin-left:83.3333333333%}.grid-margin-x>.small-offset-10{margin-left:calc(83.3333333333% + 1.25rem / 2)}.small-offset-11{margin-left:91.6666666667%}.grid-margin-x>.small-offset-11{margin-left:calc(91.6666666667% + 1.25rem / 2)}@media print,screen and (min-width: 48em){.medium-offset-0{margin-left:0%}.grid-margin-x>.medium-offset-0{margin-left:calc(0% + 1.875rem / 2)}.medium-offset-1{margin-left:8.3333333333%}.grid-margin-x>.medium-offset-1{margin-left:calc(8.3333333333% + 1.875rem / 2)}.medium-offset-2{margin-left:16.6666666667%}.grid-margin-x>.medium-offset-2{margin-left:calc(16.6666666667% + 1.875rem / 2)}.medium-offset-3{margin-left:25%}.grid-margin-x>.medium-offset-3{margin-left:calc(25% + 1.875rem / 2)}.medium-offset-4{margin-left:33.3333333333%}.grid-margin-x>.medium-offset-4{margin-left:calc(33.3333333333% + 1.875rem / 2)}.medium-offset-5{margin-left:41.6666666667%}.grid-margin-x>.medium-offset-5{margin-left:calc(41.6666666667% + 1.875rem / 2)}.medium-offset-6{margin-left:50%}.grid-margin-x>.medium-offset-6{margin-left:calc(50% + 1.875rem / 2)}.medium-offset-7{margin-left:58.3333333333%}.grid-margin-x>.medium-offset-7{margin-left:calc(58.3333333333% + 1.875rem / 2)}.medium-offset-8{margin-left:66.6666666667%}.grid-margin-x>.medium-offset-8{margin-left:calc(66.6666666667% + 1.875rem / 2)}.medium-offset-9{margin-left:75%}.grid-margin-x>.medium-offset-9{margin-left:calc(75% + 1.875rem / 2)}.medium-offset-10{margin-left:83.3333333333%}.grid-margin-x>.medium-offset-10{margin-left:calc(83.3333333333% + 1.875rem / 2)}.medium-offset-11{margin-left:91.6666666667%}.grid-margin-x>.medium-offset-11{margin-left:calc(91.6666666667% + 1.875rem / 2)}}@media print,screen and (min-width: 64em){.large-offset-0{margin-left:0%}.grid-margin-x>.large-offset-0{margin-left:calc(0% + 1.875rem / 2)}.large-offset-1{margin-left:8.3333333333%}.grid-margin-x>.large-offset-1{margin-left:calc(8.3333333333% + 1.875rem / 2)}.large-offset-2{margin-left:16.6666666667%}.grid-margin-x>.large-offset-2{margin-left:calc(16.6666666667% + 1.875rem / 2)}.large-offset-3{margin-left:25%}.grid-margin-x>.large-offset-3{margin-left:calc(25% + 1.875rem / 2)}.large-offset-4{margin-left:33.3333333333%}.grid-margin-x>.large-offset-4{margin-left:calc(33.3333333333% + 1.875rem / 2)}.large-offset-5{margin-left:41.6666666667%}.grid-margin-x>.large-offset-5{margin-left:calc(41.6666666667% + 1.875rem / 2)}.large-offset-6{margin-left:50%}.grid-margin-x>.large-offset-6{margin-left:calc(50% + 1.875rem / 2)}.large-offset-7{margin-left:58.3333333333%}.grid-margin-x>.large-offset-7{margin-left:calc(58.3333333333% + 1.875rem / 2)}.large-offset-8{margin-left:66.6666666667%}.grid-margin-x>.large-offset-8{margin-left:calc(66.6666666667% + 1.875rem / 2)}.large-offset-9{margin-left:75%}.grid-margin-x>.large-offset-9{margin-left:calc(75% + 1.875rem / 2)}.large-offset-10{margin-left:83.3333333333%}.grid-margin-x>.large-offset-10{margin-left:calc(83.3333333333% + 1.875rem / 2)}.large-offset-11{margin-left:91.6666666667%}.grid-margin-x>.large-offset-11{margin-left:calc(91.6666666667% + 1.875rem / 2)}}.grid-y{display:flex;flex-flow:column nowrap}.grid-y>.cell{height:auto;max-height:none}.grid-y>.auto{height:auto}.grid-y>.shrink{height:auto}.grid-y>.small-shrink,.grid-y>.small-full,.grid-y>.small-1,.grid-y>.small-2,.grid-y>.small-3,.grid-y>.small-4,.grid-y>.small-5,.grid-y>.small-6,.grid-y>.small-7,.grid-y>.small-8,.grid-y>.small-9,.grid-y>.small-10,.grid-y>.small-11,.grid-y>.small-12{flex-basis:auto}@media print,screen and (min-width: 48em){.grid-y>.medium-shrink,.grid-y>.medium-full,.grid-y>.medium-1,.grid-y>.medium-2,.grid-y>.medium-3,.grid-y>.medium-4,.grid-y>.medium-5,.grid-y>.medium-6,.grid-y>.medium-7,.grid-y>.medium-8,.grid-y>.medium-9,.grid-y>.medium-10,.grid-y>.medium-11,.grid-y>.medium-12{flex-basis:auto}}@media print,screen and (min-width: 64em){.grid-y>.large-shrink,.grid-y>.large-full,.grid-y>.large-1,.grid-y>.large-2,.grid-y>.large-3,.grid-y>.large-4,.grid-y>.large-5,.grid-y>.large-6,.grid-y>.large-7,.grid-y>.large-8,.grid-y>.large-9,.grid-y>.large-10,.grid-y>.large-11,.grid-y>.large-12{flex-basis:auto}}.grid-y>.small-12,.grid-y>.small-11,.grid-y>.small-10,.grid-y>.small-9,.grid-y>.small-8,.grid-y>.small-7,.grid-y>.small-6,.grid-y>.small-5,.grid-y>.small-4,.grid-y>.small-3,.grid-y>.small-2,.grid-y>.small-1{flex:0 0 auto}.grid-y>.small-1{height:8.3333333333%}.grid-y>.small-2{height:16.6666666667%}.grid-y>.small-3{height:25%}.grid-y>.small-4{height:33.3333333333%}.grid-y>.small-5{height:41.6666666667%}.grid-y>.small-6{height:50%}.grid-y>.small-7{height:58.3333333333%}.grid-y>.small-8{height:66.6666666667%}.grid-y>.small-9{height:75%}.grid-y>.small-10{height:83.3333333333%}.grid-y>.small-11{height:91.6666666667%}.grid-y>.small-12{height:100%}@media print,screen and (min-width: 48em){.grid-y>.medium-auto{flex:1 1 0;height:auto}.grid-y>.medium-12,.grid-y>.medium-11,.grid-y>.medium-10,.grid-y>.medium-9,.grid-y>.medium-8,.grid-y>.medium-7,.grid-y>.medium-6,.grid-y>.medium-5,.grid-y>.medium-4,.grid-y>.medium-3,.grid-y>.medium-2,.grid-y>.medium-1,.grid-y>.medium-shrink{flex:0 0 auto}.grid-y>.medium-shrink{height:auto}.grid-y>.medium-1{height:8.3333333333%}.grid-y>.medium-2{height:16.6666666667%}.grid-y>.medium-3{height:25%}.grid-y>.medium-4{height:33.3333333333%}.grid-y>.medium-5{height:41.6666666667%}.grid-y>.medium-6{height:50%}.grid-y>.medium-7{height:58.3333333333%}.grid-y>.medium-8{height:66.6666666667%}.grid-y>.medium-9{height:75%}.grid-y>.medium-10{height:83.3333333333%}.grid-y>.medium-11{height:91.6666666667%}.grid-y>.medium-12{height:100%}}@media print,screen and (min-width: 64em){.grid-y>.large-auto{flex:1 1 0;height:auto}.grid-y>.large-12,.grid-y>.large-11,.grid-y>.large-10,.grid-y>.large-9,.grid-y>.large-8,.grid-y>.large-7,.grid-y>.large-6,.grid-y>.large-5,.grid-y>.large-4,.grid-y>.large-3,.grid-y>.large-2,.grid-y>.large-1,.grid-y>.large-shrink{flex:0 0 auto}.grid-y>.large-shrink{height:auto}.grid-y>.large-1{height:8.3333333333%}.grid-y>.large-2{height:16.6666666667%}.grid-y>.large-3{height:25%}.grid-y>.large-4{height:33.3333333333%}.grid-y>.large-5{height:41.6666666667%}.grid-y>.large-6{height:50%}.grid-y>.large-7{height:58.3333333333%}.grid-y>.large-8{height:66.6666666667%}.grid-y>.large-9{height:75%}.grid-y>.large-10{height:83.3333333333%}.grid-y>.large-11{height:91.6666666667%}.grid-y>.large-12{height:100%}}.grid-padding-y .grid-padding-y{margin-top:-0.625rem;margin-bottom:-0.625rem}@media print,screen and (min-width: 48em){.grid-padding-y .grid-padding-y{margin-top:-0.9375rem;margin-bottom:-0.9375rem}}.grid-padding-y>.cell{padding-top:0.625rem;padding-bottom:0.625rem}@media print,screen and (min-width: 48em){.grid-padding-y>.cell{padding-top:0.9375rem;padding-bottom:0.9375rem}}.grid-margin-y{margin-top:-0.625rem;margin-bottom:-0.625rem}@media print,screen and (min-width: 48em){.grid-margin-y{margin-top:-0.9375rem;margin-bottom:-0.9375rem}}.grid-margin-y>.cell{height:calc(100% - 1.25rem);margin-top:0.625rem;margin-bottom:0.625rem}@media print,screen and (min-width: 48em){.grid-margin-y>.cell{height:calc(100% - 1.875rem);margin-top:0.9375rem;margin-bottom:0.9375rem}}.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.3333333333% - 1.25rem)}.grid-margin-y>.small-2{height:calc(16.6666666667% - 1.25rem)}.grid-margin-y>.small-3{height:calc(25% - 1.25rem)}.grid-margin-y>.small-4{height:calc(33.3333333333% - 1.25rem)}.grid-margin-y>.small-5{height:calc(41.6666666667% - 1.25rem)}.grid-margin-y>.small-6{height:calc(50% - 1.25rem)}.grid-margin-y>.small-7{height:calc(58.3333333333% - 1.25rem)}.grid-margin-y>.small-8{height:calc(66.6666666667% - 1.25rem)}.grid-margin-y>.small-9{height:calc(75% - 1.25rem)}.grid-margin-y>.small-10{height:calc(83.3333333333% - 1.25rem)}.grid-margin-y>.small-11{height:calc(91.6666666667% - 1.25rem)}.grid-margin-y>.small-12{height:calc(100% - 1.25rem)}@media print,screen and (min-width: 48em){.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.3333333333% - 1.875rem)}.grid-margin-y>.small-2{height:calc(16.6666666667% - 1.875rem)}.grid-margin-y>.small-3{height:calc(25% - 1.875rem)}.grid-margin-y>.small-4{height:calc(33.3333333333% - 1.875rem)}.grid-margin-y>.small-5{height:calc(41.6666666667% - 1.875rem)}.grid-margin-y>.small-6{height:calc(50% - 1.875rem)}.grid-margin-y>.small-7{height:calc(58.3333333333% - 1.875rem)}.grid-margin-y>.small-8{height:calc(66.6666666667% - 1.875rem)}.grid-margin-y>.small-9{height:calc(75% - 1.875rem)}.grid-margin-y>.small-10{height:calc(83.3333333333% - 1.875rem)}.grid-margin-y>.small-11{height:calc(91.6666666667% - 1.875rem)}.grid-margin-y>.small-12{height:calc(100% - 1.875rem)}.grid-margin-y>.medium-auto{height:auto}.grid-margin-y>.medium-shrink{height:auto}.grid-margin-y>.medium-1{height:calc(8.3333333333% - 1.875rem)}.grid-margin-y>.medium-2{height:calc(16.6666666667% - 1.875rem)}.grid-margin-y>.medium-3{height:calc(25% - 1.875rem)}.grid-margin-y>.medium-4{height:calc(33.3333333333% - 1.875rem)}.grid-margin-y>.medium-5{height:calc(41.6666666667% - 1.875rem)}.grid-margin-y>.medium-6{height:calc(50% - 1.875rem)}.grid-margin-y>.medium-7{height:calc(58.3333333333% - 1.875rem)}.grid-margin-y>.medium-8{height:calc(66.6666666667% - 1.875rem)}.grid-margin-y>.medium-9{height:calc(75% - 1.875rem)}.grid-margin-y>.medium-10{height:calc(83.3333333333% - 1.875rem)}.grid-margin-y>.medium-11{height:calc(91.6666666667% - 1.875rem)}.grid-margin-y>.medium-12{height:calc(100% - 1.875rem)}}@media print,screen and (min-width: 64em){.grid-margin-y>.large-auto{height:auto}.grid-margin-y>.large-shrink{height:auto}.grid-margin-y>.large-1{height:calc(8.3333333333% - 1.875rem)}.grid-margin-y>.large-2{height:calc(16.6666666667% - 1.875rem)}.grid-margin-y>.large-3{height:calc(25% - 1.875rem)}.grid-margin-y>.large-4{height:calc(33.3333333333% - 1.875rem)}.grid-margin-y>.large-5{height:calc(41.6666666667% - 1.875rem)}.grid-margin-y>.large-6{height:calc(50% - 1.875rem)}.grid-margin-y>.large-7{height:calc(58.3333333333% - 1.875rem)}.grid-margin-y>.large-8{height:calc(66.6666666667% - 1.875rem)}.grid-margin-y>.large-9{height:calc(75% - 1.875rem)}.grid-margin-y>.large-10{height:calc(83.3333333333% - 1.875rem)}.grid-margin-y>.large-11{height:calc(91.6666666667% - 1.875rem)}.grid-margin-y>.large-12{height:calc(100% - 1.875rem)}}.grid-frame{overflow:hidden;position:relative;flex-wrap:nowrap;align-items:stretch;width:100vw}.cell .grid-frame{width:100%}.cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.cell-block-y{overflow-y:auto;max-height:100%;min-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.cell-block-container{display:flex;flex-direction:column;max-height:100%}.cell-block-container>.grid-x{max-height:100%;flex-wrap:nowrap}@media print,screen and (min-width: 48em){.medium-grid-frame{overflow:hidden;position:relative;flex-wrap:nowrap;align-items:stretch;width:100vw}.cell .medium-grid-frame{width:100%}.medium-cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.medium-cell-block-container{display:flex;flex-direction:column;max-height:100%}.medium-cell-block-container>.grid-x{max-height:100%;flex-wrap:nowrap}.medium-cell-block-y{overflow-y:auto;max-height:100%;min-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}}@media print,screen and (min-width: 64em){.large-grid-frame{overflow:hidden;position:relative;flex-wrap:nowrap;align-items:stretch;width:100vw}.cell .large-grid-frame{width:100%}.large-cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.large-cell-block-container{display:flex;flex-direction:column;max-height:100%}.large-cell-block-container>.grid-x{max-height:100%;flex-wrap:nowrap}.large-cell-block-y{overflow-y:auto;max-height:100%;min-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}}.grid-y.grid-frame{overflow:hidden;position:relative;flex-wrap:nowrap;align-items:stretch;height:100vh;width:auto}@media print,screen and (min-width: 48em){.grid-y.medium-grid-frame{overflow:hidden;position:relative;flex-wrap:nowrap;align-items:stretch;height:100vh;width:auto}}@media print,screen and (min-width: 64em){.grid-y.large-grid-frame{overflow:hidden;position:relative;flex-wrap:nowrap;align-items:stretch;height:100vh;width:auto}}.cell .grid-y.grid-frame{height:100%}@media print,screen and (min-width: 48em){.cell .grid-y.medium-grid-frame{height:100%}}@media print,screen and (min-width: 64em){.cell .grid-y.large-grid-frame{height:100%}}.grid-margin-y{margin-top:-0.625rem;margin-bottom:-0.625rem}@media print,screen and (min-width: 48em){.grid-margin-y{margin-top:-0.9375rem;margin-bottom:-0.9375rem}}.grid-margin-y>.cell{height:calc(100% - 1.25rem);margin-top:0.625rem;margin-bottom:0.625rem}@media print,screen and (min-width: 48em){.grid-margin-y>.cell{height:calc(100% - 1.875rem);margin-top:0.9375rem;margin-bottom:0.9375rem}}.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.3333333333% - 1.25rem)}.grid-margin-y>.small-2{height:calc(16.6666666667% - 1.25rem)}.grid-margin-y>.small-3{height:calc(25% - 1.25rem)}.grid-margin-y>.small-4{height:calc(33.3333333333% - 1.25rem)}.grid-margin-y>.small-5{height:calc(41.6666666667% - 1.25rem)}.grid-margin-y>.small-6{height:calc(50% - 1.25rem)}.grid-margin-y>.small-7{height:calc(58.3333333333% - 1.25rem)}.grid-margin-y>.small-8{height:calc(66.6666666667% - 1.25rem)}.grid-margin-y>.small-9{height:calc(75% - 1.25rem)}.grid-margin-y>.small-10{height:calc(83.3333333333% - 1.25rem)}.grid-margin-y>.small-11{height:calc(91.6666666667% - 1.25rem)}.grid-margin-y>.small-12{height:calc(100% - 1.25rem)}@media print,screen and (min-width: 48em){.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.3333333333% - 1.875rem)}.grid-margin-y>.small-2{height:calc(16.6666666667% - 1.875rem)}.grid-margin-y>.small-3{height:calc(25% - 1.875rem)}.grid-margin-y>.small-4{height:calc(33.3333333333% - 1.875rem)}.grid-margin-y>.small-5{height:calc(41.6666666667% - 1.875rem)}.grid-margin-y>.small-6{height:calc(50% - 1.875rem)}.grid-margin-y>.small-7{height:calc(58.3333333333% - 1.875rem)}.grid-margin-y>.small-8{height:calc(66.6666666667% - 1.875rem)}.grid-margin-y>.small-9{height:calc(75% - 1.875rem)}.grid-margin-y>.small-10{height:calc(83.3333333333% - 1.875rem)}.grid-margin-y>.small-11{height:calc(91.6666666667% - 1.875rem)}.grid-margin-y>.small-12{height:calc(100% - 1.875rem)}.grid-margin-y>.medium-auto{height:auto}.grid-margin-y>.medium-shrink{height:auto}.grid-margin-y>.medium-1{height:calc(8.3333333333% - 1.875rem)}.grid-margin-y>.medium-2{height:calc(16.6666666667% - 1.875rem)}.grid-margin-y>.medium-3{height:calc(25% - 1.875rem)}.grid-margin-y>.medium-4{height:calc(33.3333333333% - 1.875rem)}.grid-margin-y>.medium-5{height:calc(41.6666666667% - 1.875rem)}.grid-margin-y>.medium-6{height:calc(50% - 1.875rem)}.grid-margin-y>.medium-7{height:calc(58.3333333333% - 1.875rem)}.grid-margin-y>.medium-8{height:calc(66.6666666667% - 1.875rem)}.grid-margin-y>.medium-9{height:calc(75% - 1.875rem)}.grid-margin-y>.medium-10{height:calc(83.3333333333% - 1.875rem)}.grid-margin-y>.medium-11{height:calc(91.6666666667% - 1.875rem)}.grid-margin-y>.medium-12{height:calc(100% - 1.875rem)}}@media print,screen and (min-width: 64em){.grid-margin-y>.large-auto{height:auto}.grid-margin-y>.large-shrink{height:auto}.grid-margin-y>.large-1{height:calc(8.3333333333% - 1.875rem)}.grid-margin-y>.large-2{height:calc(16.6666666667% - 1.875rem)}.grid-margin-y>.large-3{height:calc(25% - 1.875rem)}.grid-margin-y>.large-4{height:calc(33.3333333333% - 1.875rem)}.grid-margin-y>.large-5{height:calc(41.6666666667% - 1.875rem)}.grid-margin-y>.large-6{height:calc(50% - 1.875rem)}.grid-margin-y>.large-7{height:calc(58.3333333333% - 1.875rem)}.grid-margin-y>.large-8{height:calc(66.6666666667% - 1.875rem)}.grid-margin-y>.large-9{height:calc(75% - 1.875rem)}.grid-margin-y>.large-10{height:calc(83.3333333333% - 1.875rem)}.grid-margin-y>.large-11{height:calc(91.6666666667% - 1.875rem)}.grid-margin-y>.large-12{height:calc(100% - 1.875rem)}}.grid-frame.grid-margin-y{height:calc(100vh + 1.25rem)}@media print,screen and (min-width: 48em){.grid-frame.grid-margin-y{height:calc(100vh + 1.875rem)}}@media print,screen and (min-width: 64em){.grid-frame.grid-margin-y{height:calc(100vh + 1.875rem)}}@media print,screen and (min-width: 48em){.grid-margin-y.medium-grid-frame{height:calc(100vh + 1.875rem)}}@media print,screen and (min-width: 64em){.grid-margin-y.large-grid-frame{height:calc(100vh + 1.875rem)}}.align-left{justify-content:flex-start}.align-right{justify-content:flex-end}.align-center{justify-content:center}.align-justify{justify-content:space-between}.align-spaced{justify-content:space-around}.align-left.vertical.menu>li>a{justify-content:flex-start}.align-right.vertical.menu>li>a{justify-content:flex-end}.align-center.vertical.menu>li>a{justify-content:center}.align-top{align-items:flex-start}.align-self-top{align-self:flex-start}.align-bottom{align-items:flex-end}.align-self-bottom{align-self:flex-end}.align-middle{align-items:center}.align-self-middle{align-self:center}.align-stretch{align-items:stretch}.align-self-stretch{align-self:stretch}.align-center-middle{justify-content:center;align-items:center;align-content:center}.small-order-1{order:1}.small-order-2{order:2}.small-order-3{order:3}.small-order-4{order:4}.small-order-5{order:5}.small-order-6{order:6}@media print,screen and (min-width: 48em){.medium-order-1{order:1}.medium-order-2{order:2}.medium-order-3{order:3}.medium-order-4{order:4}.medium-order-5{order:5}.medium-order-6{order:6}}@media print,screen and (min-width: 64em){.large-order-1{order:1}.large-order-2{order:2}.large-order-3{order:3}.large-order-4{order:4}.large-order-5{order:5}.large-order-6{order:6}}.flex-container{display:flex}.flex-child-auto{flex:1 1 auto}.flex-child-grow{flex:1 0 auto}.flex-child-shrink{flex:0 1 auto}.flex-dir-row{flex-direction:row}.flex-dir-row-reverse{flex-direction:row-reverse}.flex-dir-column{flex-direction:column}.flex-dir-column-reverse{flex-direction:column-reverse}@media print,screen and (min-width: 48em){.medium-flex-container{display:flex}.medium-flex-child-auto{flex:1 1 auto}.medium-flex-child-grow{flex:1 0 auto}.medium-flex-child-shrink{flex:0 1 auto}.medium-flex-dir-row{flex-direction:row}.medium-flex-dir-row-reverse{flex-direction:row-reverse}.medium-flex-dir-column{flex-direction:column}.medium-flex-dir-column-reverse{flex-direction:column-reverse}}@media print,screen and (min-width: 64em){.large-flex-container{display:flex}.large-flex-child-auto{flex:1 1 auto}.large-flex-child-grow{flex:1 0 auto}.large-flex-child-shrink{flex:0 1 auto}.large-flex-dir-row{flex-direction:row}.large-flex-dir-row-reverse{flex-direction:row-reverse}.large-flex-dir-column{flex-direction:column}.large-flex-dir-column-reverse{flex-direction:column-reverse}}div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0}p{margin-bottom:1rem;font-size:inherit;line-height:1.75;text-rendering:optimizeLegibility}em,i{font-style:italic;line-height:inherit}strong,b{font-weight:bold;line-height:inherit}small{font-size:100%;line-height:inherit}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{font-family:"RTCRaleway",sans-serif;font-style:normal;font-weight:normal;color:inherit;text-rendering:optimizeLegibility}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small{line-height:0;color:#ebebeb}h1,.h1{font-size:2.25rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h2,.h2{font-size:1.75rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h3,.h3{font-size:1.3125rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h4,.h4{font-size:1.125rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h5,.h5{font-size:1rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h6,.h6{font-size:.875rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}@media print,screen and (min-width: 48em){h1,.h1{font-size:2.25rem}h2,.h2{font-size:1.75rem}h3,.h3{font-size:1.3125rem}h4,.h4{font-size:1.125rem}h5,.h5{font-size:1rem}h6,.h6{font-size:.875rem}}a{line-height:inherit;color:#1d427f;text-decoration:none;cursor:pointer}a:hover,a:focus{color:#19396d}a img{border:0}hr{clear:both;max-width:80.25rem;height:0;margin:1.25rem auto;border-top:0;border-right:0;border-bottom:1px solid #ebebeb;border-left:0}ul,ol,dl{margin-bottom:1rem;list-style-position:outside;line-height:1.75}li{font-size:inherit}ul{margin-left:1.25rem;list-style-type:disc}ol{margin-left:1.25rem}ul ul,ul ol,ol ul,ol ol{margin-left:1.25rem;margin-bottom:0}dl{margin-bottom:1rem}dl dt{margin-bottom:.3rem;font-weight:bold}blockquote{margin:0 0 1rem;padding:.5625rem 1.25rem 0 1.1875rem;border-left:1px solid #ebebeb}blockquote,blockquote p{line-height:1.75;color:#414141}abbr,abbr[title]{border-bottom:1px dotted #151515;cursor:help;text-decoration:none}figure{margin:0}kbd{margin:0;padding:.125rem .25rem 0;background-color:#f2f2f2;font-family:"RTCRaleway",sans-serif;color:#151515}.subheader{margin-top:.2rem;margin-bottom:.5rem;font-weight:normal;line-height:1.4;color:#414141}.lead{font-size:1.25rem;line-height:1.6}.stat{font-size:2.5rem;line-height:1}p+.stat{margin-top:-1rem}ul.no-bullet,ol.no-bullet{margin-left:0;list-style:none}.cite-block,cite{display:block;color:#414141;font-size:.8125rem}.cite-block:before,cite:before{content:"— "}.code-inline,code{border:1px solid #ebebeb;background-color:#f2f2f2;font-family:"RTCRaleway",sans-serif;font-weight:normal;color:#151515;display:inline;max-width:100%;word-wrap:break-word;padding:.125rem .3125rem .0625rem}.code-block{border:1px solid #ebebeb;background-color:#f2f2f2;font-family:"RTCRaleway",sans-serif;font-weight:normal;color:#151515;display:block;overflow:auto;white-space:pre;padding:1rem;margin-bottom:1.5rem}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}@media print,screen and (min-width: 48em){.medium-text-left{text-align:left}.medium-text-right{text-align:right}.medium-text-center{text-align:center}.medium-text-justify{text-align:justify}}@media print,screen and (min-width: 64em){.large-text-left{text-align:left}.large-text-right{text-align:right}.large-text-center{text-align:center}.large-text-justify{text-align:justify}}.show-for-print{display:none !important}@media print{*{background:rgba(0,0,0,0) !important;color:#000 !important;print-color-adjust:economy;box-shadow:none !important;text-shadow:none !important}.show-for-print{display:block !important}.hide-for-print{display:none !important}table.show-for-print{display:table !important}thead.show-for-print{display:table-header-group !important}tbody.show-for-print{display:table-row-group !important}tr.show-for-print{display:table-row !important}td.show-for-print{display:table-cell !important}th.show-for-print{display:table-cell !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}abbr[title]:after{content:" (" attr(title) ")"}pre,blockquote{border:1px solid #414141;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.print-break-inside{page-break-inside:auto}}.is-off-canvas-open{overflow:hidden}.js-off-canvas-overlay{position:absolute;top:0;left:0;z-index:11;width:100%;height:100%;transition:opacity .5s ease,visibility .5s ease;background:rgba(255,255,255,.25);opacity:0;visibility:hidden;overflow:hidden}.js-off-canvas-overlay.is-visible{opacity:1;visibility:visible}.js-off-canvas-overlay.is-closable{cursor:pointer}.js-off-canvas-overlay.is-overlay-absolute{position:absolute}.js-off-canvas-overlay.is-overlay-fixed{position:fixed}.off-canvas-wrapper{position:relative;overflow:hidden}.off-canvas{position:fixed;z-index:12;transition:transform .5s ease;backface-visibility:hidden;background:#f2f2f2}[data-whatinput=mouse] .off-canvas{outline:0}.off-canvas.is-transition-push{z-index:12}.off-canvas.is-closed{visibility:hidden}.off-canvas.is-transition-overlap{z-index:13}.off-canvas.is-transition-overlap.is-open{box-shadow:0 0 10px rgba(21,21,21,.7)}.off-canvas.is-open{transform:translate(0, 0)}.off-canvas-absolute{position:absolute;z-index:12;transition:transform .5s ease;backface-visibility:hidden;background:#f2f2f2}[data-whatinput=mouse] .off-canvas-absolute{outline:0}.off-canvas-absolute.is-transition-push{z-index:12}.off-canvas-absolute.is-closed{visibility:hidden}.off-canvas-absolute.is-transition-overlap{z-index:13}.off-canvas-absolute.is-transition-overlap.is-open{box-shadow:0 0 10px rgba(21,21,21,.7)}.off-canvas-absolute.is-open{transform:translate(0, 0)}.position-left{top:0;left:0;height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;width:250px;transform:translateX(-250px)}.off-canvas-content .off-canvas.position-left{transform:translateX(-250px)}.off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open{transform:translate(0, 0)}.off-canvas-content.is-open-left.has-transition-push{transform:translateX(250px)}.position-left.is-transition-push{box-shadow:inset -13px 0 20px -13px rgba(21,21,21,.25)}.position-right{top:0;right:0;height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;width:250px;transform:translateX(250px)}.off-canvas-content .off-canvas.position-right{transform:translateX(250px)}.off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open{transform:translate(0, 0)}.off-canvas-content.is-open-right.has-transition-push{transform:translateX(-250px)}.position-right.is-transition-push{box-shadow:inset 13px 0 20px -13px rgba(21,21,21,.25)}.position-top{top:0;left:0;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;height:250px;transform:translateY(-250px)}.off-canvas-content .off-canvas.position-top{transform:translateY(-250px)}.off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open{transform:translate(0, 0)}.off-canvas-content.is-open-top.has-transition-push{transform:translateY(250px)}.position-top.is-transition-push{box-shadow:inset 0 -13px 20px -13px rgba(21,21,21,.25)}.position-bottom{bottom:0;left:0;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;height:250px;transform:translateY(250px)}.off-canvas-content .off-canvas.position-bottom{transform:translateY(250px)}.off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open{transform:translate(0, 0)}.off-canvas-content.is-open-bottom.has-transition-push{transform:translateY(-250px)}.position-bottom.is-transition-push{box-shadow:inset 0 13px 20px -13px rgba(21,21,21,.25)}.off-canvas-content{transform:none;backface-visibility:hidden}.off-canvas-content.has-transition-overlap,.off-canvas-content.has-transition-push{transition:transform .5s ease}.off-canvas-content.has-transition-push{transform:translate(0, 0)}.off-canvas-content .off-canvas.is-open{transform:translate(0, 0)}@media print,screen and (min-width: 48em){.position-left.reveal-for-medium{transform:none;z-index:12;transition:none;visibility:visible}.position-left.reveal-for-medium .close-button{display:none}.off-canvas-content .position-left.reveal-for-medium{transform:none}.off-canvas-content.has-reveal-left{margin-left:250px}.position-left.reveal-for-medium~.off-canvas-content{margin-left:250px}.position-right.reveal-for-medium{transform:none;z-index:12;transition:none;visibility:visible}.position-right.reveal-for-medium .close-button{display:none}.off-canvas-content .position-right.reveal-for-medium{transform:none}.off-canvas-content.has-reveal-right{margin-right:250px}.position-right.reveal-for-medium~.off-canvas-content{margin-right:250px}.position-top.reveal-for-medium{transform:none;z-index:12;transition:none;visibility:visible}.position-top.reveal-for-medium .close-button{display:none}.off-canvas-content .position-top.reveal-for-medium{transform:none}.off-canvas-content.has-reveal-top{margin-top:250px}.position-top.reveal-for-medium~.off-canvas-content{margin-top:250px}.position-bottom.reveal-for-medium{transform:none;z-index:12;transition:none;visibility:visible}.position-bottom.reveal-for-medium .close-button{display:none}.off-canvas-content .position-bottom.reveal-for-medium{transform:none}.off-canvas-content.has-reveal-bottom{margin-bottom:250px}.position-bottom.reveal-for-medium~.off-canvas-content{margin-bottom:250px}}@media print,screen and (min-width: 64em){.position-left.reveal-for-large{transform:none;z-index:12;transition:none;visibility:visible}.position-left.reveal-for-large .close-button{display:none}.off-canvas-content .position-left.reveal-for-large{transform:none}.off-canvas-content.has-reveal-left{margin-left:250px}.position-left.reveal-for-large~.off-canvas-content{margin-left:250px}.position-right.reveal-for-large{transform:none;z-index:12;transition:none;visibility:visible}.position-right.reveal-for-large .close-button{display:none}.off-canvas-content .position-right.reveal-for-large{transform:none}.off-canvas-content.has-reveal-right{margin-right:250px}.position-right.reveal-for-large~.off-canvas-content{margin-right:250px}.position-top.reveal-for-large{transform:none;z-index:12;transition:none;visibility:visible}.position-top.reveal-for-large .close-button{display:none}.off-canvas-content .position-top.reveal-for-large{transform:none}.off-canvas-content.has-reveal-top{margin-top:250px}.position-top.reveal-for-large~.off-canvas-content{margin-top:250px}.position-bottom.reveal-for-large{transform:none;z-index:12;transition:none;visibility:visible}.position-bottom.reveal-for-large .close-button{display:none}.off-canvas-content .position-bottom.reveal-for-large{transform:none}.off-canvas-content.has-reveal-bottom{margin-bottom:250px}.position-bottom.reveal-for-large~.off-canvas-content{margin-bottom:250px}}@media print,screen and (min-width: 48em){.off-canvas.in-canvas-for-medium{visibility:visible;height:auto;position:static;background:none;width:auto;overflow:visible;transition:none}.off-canvas.in-canvas-for-medium.position-left,.off-canvas.in-canvas-for-medium.position-right,.off-canvas.in-canvas-for-medium.position-top,.off-canvas.in-canvas-for-medium.position-bottom{box-shadow:none;transform:none}.off-canvas.in-canvas-for-medium .close-button{display:none}}@media print,screen and (min-width: 64em){.off-canvas.in-canvas-for-large{visibility:visible;height:auto;position:static;background:none;width:auto;overflow:visible;transition:none}.off-canvas.in-canvas-for-large.position-left,.off-canvas.in-canvas-for-large.position-right,.off-canvas.in-canvas-for-large.position-top,.off-canvas.in-canvas-for-large.position-bottom{box-shadow:none;transform:none}.off-canvas.in-canvas-for-large .close-button{display:none}}html.is-reveal-open{position:fixed;width:100%;overflow-y:hidden}html.is-reveal-open.zf-has-scroll{overflow-y:scroll;-webkit-overflow-scrolling:touch}html.is-reveal-open body{overflow-y:hidden}.reveal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1005;display:none;background-color:rgba(21,21,21,.45);overflow-y:auto;-webkit-overflow-scrolling:touch}.reveal{z-index:1006;backface-visibility:hidden;display:none;padding:1rem;border:none;border-radius:0;background-color:#151515;position:relative;top:100px;margin-right:auto;margin-left:auto;overflow-y:auto;-webkit-overflow-scrolling:touch}[data-whatinput=mouse] .reveal{outline:0}@media print,screen and (min-width: 48em){.reveal{min-height:0}}.reveal .column{min-width:0}.reveal>:last-child{margin-bottom:0}@media print,screen and (min-width: 48em){.reveal{width:100%;max-width:80.25rem}}.reveal.collapse{padding:0}@media print,screen and (min-width: 48em){.reveal.tiny{width:30%;max-width:80.25rem}}@media print,screen and (min-width: 48em){.reveal.small{width:50%;max-width:80.25rem}}@media print,screen and (min-width: 48em){.reveal.large{width:90%;max-width:80.25rem}}.reveal.full{top:0;right:0;bottom:0;left:0;width:100%;max-width:none;height:100%;min-height:100%;margin-left:0;border:0;border-radius:0}@media print,screen and (max-width: 47.99875em){.reveal{top:0;right:0;bottom:0;left:0;width:100%;max-width:none;height:100%;min-height:100%;margin-left:0;border:0;border-radius:0}}.reveal.without-overlay{position:fixed}.has-tip{position:relative;display:inline-block;border-bottom:dotted 1px #414141;font-weight:bold;cursor:help}.tooltip{position:absolute;top:calc(100% + 0.6495rem);z-index:1200;max-width:10rem;padding:.75rem;border-radius:0;background-color:#151515;font-size:100%;color:#fff}.tooltip::before{position:absolute}.tooltip.bottom::before{display:block;width:0;height:0;border-style:solid;border-width:.75rem;content:"";border-top-width:0;border-color:rgba(0,0,0,0) rgba(0,0,0,0) #151515;bottom:100%}.tooltip.bottom.align-center::before{left:50%;transform:translateX(-50%)}.tooltip.top::before{display:block;width:0;height:0;border-style:solid;border-width:.75rem;content:"";border-bottom-width:0;border-color:#151515 rgba(0,0,0,0) rgba(0,0,0,0);top:100%;bottom:auto}.tooltip.top.align-center::before{left:50%;transform:translateX(-50%)}.tooltip.left::before{display:block;width:0;height:0;border-style:solid;border-width:.75rem;content:"";border-right-width:0;border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) #151515;left:100%}.tooltip.left.align-center::before{bottom:auto;top:50%;transform:translateY(-50%)}.tooltip.right::before{display:block;width:0;height:0;border-style:solid;border-width:.75rem;content:"";border-left-width:0;border-color:rgba(0,0,0,0) #151515 rgba(0,0,0,0) rgba(0,0,0,0);right:100%;left:auto}.tooltip.right.align-center::before{bottom:auto;top:50%;transform:translateY(-50%)}.tooltip.align-top::before{bottom:auto;top:10%}.tooltip.align-bottom::before{bottom:10%;top:auto}.tooltip.align-left::before{left:10%;right:auto}.tooltip.align-right::before{left:auto;right:10%}body{font-size:1rem}#sliders-container{padding-top:73px}@media print,screen and (max-width: 63.99875em){#sliders-container{padding-top:82px}}header{width:100%;position:fixed;z-index:10010}header .desktop_header_container{width:100%;background-color:#fff;box-shadow:0px 0px 5px rgba(0,0,0,.25);position:relative;z-index:999}@media print,screen and (max-width: 63.99875em){header .desktop_header_container{display:none}}header .desktop_header{max-width:80.25rem;margin:auto;padding:13.5px 12px}header .desktop_header .nav{position:relative;display:flex;align-items:center}header .desktop_header .nav .logo{width:56px;height:46px;background-image:url("https://assets.rtcsnv.com/wp-content/uploads/2019/04/16173037/rtc_logo%402x.png");background-size:contain;background-position:center center;background-repeat:no-repeat;margin-right:14px}header .desktop_header .nav .logo a{display:inline-block;width:100%;height:100%}header .desktop_header nav ul{list-style-type:none;margin:0}header .desktop_header nav ul li{display:inline-block;border-left:1px solid #dadada;height:41px}header .desktop_header nav ul li a{font-size:16px;font-weight:600;line-height:41px;padding:27.5px 14px;color:#4a4a4a}header .desktop_header nav ul li a:hover{color:#1d427f;text-decoration:underline}header .desktop_header nav ul li .sns_in_nav{display:inline-block;width:123px;height:45px;background-color:#7fffd4}header .desktop_header nav ul li:last-child a{padding-right:0}header .desktop_header .header_options{display:flex;flex-grow:1;align-items:center;justify-content:flex-end}header .desktop_header .header_options .search .search_elem i{font-size:1.5rem;padding-left:24px;line-height:45px;-webkit-transition:color 250ms;transition:color 250ms;color:#4a4a4a}header .desktop_header .header_options .search .search_elem:hover i{color:#dcb43b}header .desktop_header .header_options .lang{padding-left:20px;font-size:14px;position:relative}header .desktop_header .header_options .lang a{font-weight:600;color:#4a4a4a;display:inline-block;height:100%;width:100%}header .desktop_header .header_options .lang a svg{vertical-align:middle;width:32px;height:30px}header .desktop_header .header_options .lang a svg path{fill:#4a4a4a}header .desktop_header .header_options .lang a svg path.lang_globe{fill:#1d427f}header .desktop_header .header_options .lang a:hover{color:#1d427f}header .desktop_header .header_options .lang a:hover svg path{fill:#1d427f}header .desktop_header .header_options .lang_options,header .desktop_header .header_options .gtranslate_wrapper{display:none;position:absolute;width:120px;right:-12px;top:45px;background:#fff;box-shadow:0px 5px 5px rgba(0,0,0,.25);border-radius:6px;padding:10px}header .desktop_header .header_options .lang_options ul,header .desktop_header .header_options .gtranslate_wrapper ul{margin:0;list-style-type:none;text-align:right}header .desktop_header .header_options .lang_options ul li a,header .desktop_header .header_options .gtranslate_wrapper ul li a{font-weight:600}header .mobile_header{display:none;padding:1rem 0;position:fixed;width:100%;background-color:#fff;z-index:9990}@media print,screen and (max-width: 63.99875em){header .mobile_header{display:block}}header .mobile_header .mobnav{position:relative;z-index:10001}header .mobile_header .mobnav .cell{position:relative}header .mobile_header .mobnav .hmenu{background-color:#1d427f;border-radius:0 11px 11px 0;text-align:right;margin-right:15px;position:relative;z-index:9996}header .mobile_header .mobnav .hmenu .hamburger{padding:13px 11px 4px}header .mobile_header .mobnav .hmenu .hamburger .hamburger-box .hamburger-inner{background-color:#fff}header .mobile_header .mobnav .hmenu .hamburger .hamburger-box .hamburger-inner::before{background-color:#fff}header .mobile_header .mobnav .hmenu .hamburger .hamburger-box .hamburger-inner::after{background-color:#fff}header .mobile_header .mobnav .hmenu .hamburger.is-active:hover{opacity:1}header .mobile_header .mobnav .hmenu .hamburger:hover{opacity:1}header .mobile_header .mobnav .hmenu i{color:#fff;padding:9px;font-size:2rem}header .mobile_header .mobnav .logo{width:61px;height:50px;background-image:url("/wp-content/themes/RTC-Theme-2024-Full/assets/images/rtc_logo@2x.png");background-size:contain;background-position:center center;background-repeat:no-repeat;position:relative;margin:auto;z-index:9992}header .mobile_header .mobnav .logo a{display:inline-block;width:100%;height:100%}header .mobile_header .mobnav .msearch{background-color:#1d427f;border-radius:11px 0 0 11px;margin-left:15px;z-index:9996;height:50px}header .mobile_header .mobnav .msearch .mobsrch_btn{overflow:hidden;max-width:50px;max-height:50px;position:relative;height:50px;width:50px}header .mobile_header .mobnav .msearch .mobsrch_btn .fa-search{color:#fff;padding:9px;font-size:2rem;position:absolute;top:0px;left:0px;transition:font-size 200ms,top 200ms,left 200ms}header .mobile_header .mobnav .msearch .mobsrch_btn .fa-times-circle{color:#fff;padding:9px;font-size:2rem;position:absolute;top:0px;left:0px;opacity:0;transition:opacity 200ms}header .mobile_header .mobnav .msearch .mobsrch_btn.is-active .fa-search{font-size:10rem;top:-50px;left:-50px}header .mobile_header .mobnav .msearch .mobsrch_btn.is-active .fa-times-circle{opacity:1}header .mobile_header .mobile_flyout{background-color:#fff;position:fixed;width:80%;height:100%;left:-100%;top:0;z-index:9991;box-shadow:20px 0 20px rgba(0,0,0,.1)}header .mobile_header .mobile_flyout .flyout_box{width:100%;background-color:#fff;padding-top:82px}header .mobile_header .mobile_flyout .smallnav{list-style-type:none;margin:0;padding:0 0 1rem 2rem;line-height:3rem}header .mobile_header .mobile_flyout .smallnav a{font-size:17px;color:#414141}header .mobile_header .mobile_flyout .smallnav ul{display:none;list-style-type:none;margin:0;padding:0 0 0 2rem;line-height:2.5rem}header .mobile_header .mobile_search{background-color:#fff;position:fixed;width:80%;height:100%;right:-100%;top:0;z-index:9991;box-shadow:20px 0 20px rgba(0,0,0,.1)}header .mobile_header .mobile_search .msearch_content{padding:82px 1rem 1rem 1rem}header .mobile_header .mobile_search .msearch_content .searchform input[type=text]{color:#222;font-size:16px;border-radius:6px;padding:8px;height:auto;margin:0 0 10px}header .mobile_header .mobile_search .msearch_content .searchform input[type=submit]{border-radius:6px;border:none;background-color:#1d427f;color:#fff;font-weight:bold;padding:8px;margin:auto}header .mobile_header .mobile_search .msearch_content .tptn_posts_shortcode h3{display:none}header .mobile_header .mobile_search .msearch_content ul{list-style-type:none;margin:0;font-size:14px}header .mobile_header .mobile_overlay{position:fixed;display:none;height:100%;width:100%;background-color:rgba(0,0,0,.5);z-index:9990;top:0}.megamenu{background:#f2f2f2;position:relative;height:480px;z-index:995;display:none;overflow:hidden;box-shadow:0px 0px 20px rgba(0,0,0,.2)}.megamenu .megarow{max-width:80.25rem;margin:auto;height:inherit;position:relative}.megamenu .megarow ul{margin:0;list-style-type:none;display:flex;flex-direction:column;justify-content:space-around;height:inherit;padding:10px 0;position:relative;left:83px}.megamenu .megarow ul li a{font-size:16px;font-weight:600;padding:15px 20px;display:inline-block;width:100%;color:#1d427f !important}.megamenu .megarow ul li a.active{background:#fff;text-decoration:underline}.megamenu .megarow ul li a.active i{position:absolute;left:248px;line-height:28px;font-size:20px;opacity:1;transition-property:opacity;transition-duration:.2s;transition-timing-function:linear}.megamenu .megarow ul li a i{opacity:0}.megamenu .megarow .subnav-block-level-1{height:inherit}.megamenu .megarow .subnav-block-level-1 .subnav-level-1{height:inherit;display:none}.megamenu .megarow .navslate{background:#fff;position:relative;top:-480px;left:340px;width:100%;height:100%}.megamenu .megarow .subnav-block-level-3{position:absolute;background:none;pointer-events:none;height:inherit;top:0;right:0;padding-left:340px;width:100%;z-index:3}.megamenu .megarow .subnav-block-level-3 .lvl2-subnav-elems{pointer-events:all}.megamenu .megarow .subnav-block-level-3 .lvl2-subnav-elems .subnav-level-2{justify-content:flex-start;display:none;left:0px;width:100%}.megamenu .megarow .subnav-block-level-3 .lvl2-subnav-elems .subnav-level-2 li a{padding-left:30px;font-weight:normal;width:fit-content}.megamenu .megarow .subnav-block-level-3 .lvl2-subnav-elems .subnav-level-2 li a:hover{text-decoration:underline}.megamenu .megarow .subnav-block-level-3 .lvl3-content{max-height:480px;position:relative}.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout{display:none;margin-top:20px;pointer-events:all}.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .fusion-fullwidth{padding:0px !important}.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout p{margin:0}.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_1col .fusion-column-wrapper{position:relative}.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_1col .fusion-column-wrapper .fusion-imageframe{height:420px}.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_1col .fusion-column-wrapper .fusion-text{margin:0 !important;position:absolute;z-index:99;bottom:100px;padding:0 30px}.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_1col .fusion-column-wrapper .fusion-text h1,.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_1col .fusion-column-wrapper .fusion-text h2,.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_1col .fusion-column-wrapper .fusion-text h3,.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_1col .fusion-column-wrapper .fusion-text h4,.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_1col .fusion-column-wrapper .fusion-text h5,.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_1col .fusion-column-wrapper .fusion-text h6,.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_1col .fusion-column-wrapper .fusion-text p{color:#fff}.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_1col .fusion-column-wrapper .fusion-title{margin:0 !important;position:absolute;bottom:20px;left:30px;z-index:99;background-color:#1d427f}.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_1col .fusion-column-wrapper .fusion-title h1,.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_1col .fusion-column-wrapper .fusion-title h2,.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_1col .fusion-column-wrapper .fusion-title h3,.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_1col .fusion-column-wrapper .fusion-title h4,.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_1col .fusion-column-wrapper .fusion-title h5,.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_1col .fusion-column-wrapper .fusion-title h6,.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_1col .fusion-column-wrapper .fusion-title p{color:#fff !important;padding:10px 30px !important;font-size:16px !important}.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_2col .fusion-column-wrapper{position:relative}.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_2col .fusion-column-wrapper .fusion-imageframe{height:420px}.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_2col .fusion-column-wrapper .fusion-title{margin:0 !important;position:absolute;bottom:0px;z-index:99;width:100%;background-color:#1d427f}.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_2col .fusion-column-wrapper .fusion-title h1,.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_2col .fusion-column-wrapper .fusion-title h2,.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_2col .fusion-column-wrapper .fusion-title h3,.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_2col .fusion-column-wrapper .fusion-title h4,.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_2col .fusion-column-wrapper .fusion-title h5,.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_2col .fusion-column-wrapper .fusion-title h6,.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_2col .fusion-column-wrapper .fusion-title p{color:#fff !important;padding:10px 0 !important;font-size:16px !important}.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_3row .fusion-column-wrapper{position:relative}.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_3row .fusion-column-wrapper .fusion-imageframe{height:130px}.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_3row .fusion-column-wrapper .fusion-title{margin:0 !important;position:absolute;bottom:0px;right:0px;z-index:99;background-color:#1d427f}.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_3row .fusion-column-wrapper .fusion-title h1,.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_3row .fusion-column-wrapper .fusion-title h2,.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_3row .fusion-column-wrapper .fusion-title h3,.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_3row .fusion-column-wrapper .fusion-title h4,.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_3row .fusion-column-wrapper .fusion-title h5,.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_3row .fusion-column-wrapper .fusion-title h6,.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_3row .fusion-column-wrapper .fusion-title p{color:#fff !important;padding:10px 30px !important;font-size:16px !important}.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_2x2-grid .fusion-column-wrapper{position:relative}.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_2x2-grid .fusion-column-wrapper .fusion-title{margin:0 !important;position:absolute;bottom:0px;z-index:99;width:100%;background-color:#1d427f}.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_2x2-grid .fusion-column-wrapper .fusion-title h1,.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_2x2-grid .fusion-column-wrapper .fusion-title h2,.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_2x2-grid .fusion-column-wrapper .fusion-title h3,.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_2x2-grid .fusion-column-wrapper .fusion-title h4,.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_2x2-grid .fusion-column-wrapper .fusion-title h5,.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_2x2-grid .fusion-column-wrapper .fusion-title h6,.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_2x2-grid .fusion-column-wrapper .fusion-title p{color:#fff !important;padding:10px 0 !important;font-size:16px !important}.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout.rtc_green .tout_1col .fusion-column-wrapper .fusion-title{background-color:#92b13e}.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout.rtc_green .tout_2col .fusion-column-wrapper .fusion-title{background-color:#92b13e}.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout.rtc_green .tout_3row .fusion-column-wrapper .fusion-title{background-color:#92b13e}.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout.rtc_green .tout_2x2-grid .fusion-column-wrapper .fusion-title{background-color:#92b13e}.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout.rtc_orange .tout_1col .fusion-column-wrapper .fusion-title{background-color:#f26d26}.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout.rtc_orange .tout_2col .fusion-column-wrapper .fusion-title{background-color:#f26d26}.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout.rtc_orange .tout_3row .fusion-column-wrapper .fusion-title{background-color:#f26d26}.megamenu .megarow .subnav-block-level-3 .lvl3-content .tout.rtc_orange .tout_2x2-grid .fusion-column-wrapper .fusion-title{background-color:#f26d26}.megamenu .megarow .subnav-block-level-3 .takeover{display:none;padding:10px;pointer-events:all}body.rtc_cs_orange .megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_1col .fusion-column-wrapper .fusion-title{background-color:#f26d26}body.rtc_cs_orange .megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_2col .fusion-column-wrapper .fusion-title{background-color:#f26d26}body.rtc_cs_orange .megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_3row .fusion-column-wrapper .fusion-title{background-color:#f26d26}body.rtc_cs_orange .megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_2x2-grid .fusion-column-wrapper .fusion-title{background-color:#f26d26}body.rtc_cs_green .megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_1col .fusion-column-wrapper .fusion-title{background-color:#92b13e}body.rtc_cs_green .megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_2col .fusion-column-wrapper .fusion-title{background-color:#92b13e}body.rtc_cs_green .megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_3row .fusion-column-wrapper .fusion-title{background-color:#92b13e}body.rtc_cs_green .megamenu .megarow .subnav-block-level-3 .lvl3-content .tout .tout_2x2-grid .fusion-column-wrapper .fusion-title{background-color:#92b13e}.searchconsole{background:#fff;position:relative;height:460px;z-index:996;display:none;overflow:hidden;box-shadow:0px 0px 20px rgba(0,0,0,.2)}.searchconsole .searchrow{max-width:80.25rem;margin:auto;height:inherit;position:relative}.searchconsole .searchrow .menuoffset{margin-left:83px;margin-right:12px}.searchconsole .searchrow .menuoffset .ep-autosuggest-container{width:100%}.searchconsole .searchrow .cell.medium-4{padding-right:1rem}.searchconsole .searchrow .cell.medium-4:last-child{padding:0}.searchconsole .searchrow .cell h3{font-size:18px;font-weight:700;color:#1d427f}.searchconsole .searchrow .cell h4{font-size:16px;font-weight:600;color:#414141}.searchconsole .searchrow .cell hr{border-color:#414141}.searchconsole .searchrow .cell input{font-size:1rem;height:3rem;color:#151515;border:1px solid #1d427f !important}.searchconsole .searchrow .cell ul{margin:0;list-style-type:none}.searchconsole .searchrow .cell ul.split{columns:2}.searchconsole .searchrow .cell ul li{line-height:16px}.searchconsole .searchrow .cell ul li a{font-size:14px;margin-bottom:1rem;display:inline-block;color:#1d427f !important}.searchconsole .searchrow .searchfield{margin-top:3rem;margin-bottom:3rem}.searchconsole .searchrow .searchfield .searchform .fusion-search-form-content{position:relative}.searchconsole .searchrow .searchfield .searchform .fusion-search-form-content .fusion-search-button{position:absolute;right:0}.searchconsole .searchrow .searchfield .searchform .fusion-search-form-content .fusion-search-button input[type=submit]{height:48px;width:48px;background-color:#1d427f;color:#fff}.searchconsole .mostpopular .tptn_posts_shortcode h3{display:none}.searchconsole .mostpopular .tptn_posts_shortcode ul{columns:2}.searchconsole .gs_menu ul{columns:2}.searchconsole .fd_menu ul{columns:1}.search_results{list-style-type:none;margin:0}.search_results li{margin-bottom:1rem}.search_results li a{font-size:20px}.search_results li .search_details{font-size:12px;color:#999}.rtc_custom_breadcrumb{background-color:#ddd;position:relative;height:auto}.rtc_custom_breadcrumb .imgblock{position:absolute;width:100%;height:300px}@media print,screen and (max-width: 63.99875em){.rtc_custom_breadcrumb .imgblock{height:150px}}.rtc_custom_breadcrumb .imgblock .leftimg{background-color:#46352a;position:relative;height:100%;width:43.5%;float:left}.rtc_custom_breadcrumb .imgblock .leftimg::before{content:"";background-position:left center;background-repeat:no-repeat;background-size:cover;filter:blur(0.5px) grayscale(1);opacity:.15;width:100%;height:100%;position:absolute}.rtc_custom_breadcrumb .imgblock .rightimg{position:relative;height:100%;width:56.5%;float:right}.rtc_custom_breadcrumb .imgblock .rightimg::before{content:"";background-position:center center;background-repeat:no-repeat;background-size:cover;filter:blur(0.5px) grayscale(1);opacity:.15;width:100%;height:100%;position:absolute}.rtc_custom_breadcrumb .imgblock .caret{position:absolute;display:flex;align-items:center;justify-content:center;font-size:40px;height:58px;width:58px;border-radius:29px;left:43.5%;top:50%;transform:translate(-50%, -50%);color:#fff}@media print,screen and (max-width: 63.99875em){.rtc_custom_breadcrumb .imgblock .caret{height:40px;width:40px;border-radius:20px;font-size:30px}}.rtc_custom_breadcrumb.rtc_cs_blue .imgblock .rightimg,.rtc_custom_breadcrumb.rtc_cs_blue .imgblock .caret{background-color:#1d427f}.rtc_custom_breadcrumb.rtc_cs_green .imgblock .rightimg,.rtc_custom_breadcrumb.rtc_cs_green .imgblock .caret{background-color:#92b13e}.rtc_custom_breadcrumb.rtc_cs_orange .imgblock .rightimg,.rtc_custom_breadcrumb.rtc_cs_orange .imgblock .caret{background-color:#f26d26}.rtc_custom_breadcrumb .titleblock{max-width:80.25rem;position:relative;height:300px;width:100%;margin:auto}@media print,screen and (max-width: 63.99875em){.rtc_custom_breadcrumb .titleblock{height:150px}}.rtc_custom_breadcrumb .titleblock .grid-x{width:100%;height:100%;align-items:center;position:relative}.rtc_custom_breadcrumb .titleblock .grid-x .rtitle{text-align:center}.rtc_custom_breadcrumb .titleblock .grid-x h1,.rtc_custom_breadcrumb .titleblock .grid-x h2{color:#fff;font-size:3vw;font-weight:bold;line-height:1;padding-left:10px}@media print,screen and (max-width: 63.99875em){.rtc_custom_breadcrumb .titleblock .grid-x h1,.rtc_custom_breadcrumb .titleblock .grid-x h2{font-size:22px}}.rtc_custom_breadcrumb .titleblock .grid-x h1{padding-right:18px}.rtc_custom_breadcrumb .titleblock .grid-x h2 a{color:#fff !important}#wrapper #main .tripplanner_row{background-color:#333;margin-left:-30px;margin-right:-30px;text-align:center}#wrapper #main .tripplanner_row .titlebox{background-color:#333;position:relative;display:inline-block;padding:20px 60px;margin-top:-35px}@media print,screen and (max-width: 63.99875em){#wrapper #main .tripplanner_row .titlebox{padding:16px 0;width:100%;margin-top:0;background-color:#767676}#wrapper #main .tripplanner_row .titlebox.activ{background-color:#333}}#wrapper #main .tripplanner_row .titlebox h2{font-size:36px;font-weight:600;color:#fff;margin:0}#wrapper #main .tripplanner_row .titlebox h2 span{border:4px solid #fff;display:inline-block;border-radius:21px;width:42px;height:42px;vertical-align:text-top}#wrapper #main .tripplanner_row .titlebox h2 span i{font-size:23px;vertical-align:text-top}@media print,screen and (max-width: 47.99875em){#wrapper #main .tripplanner_row .titlebox h2{font-size:18px}}@media print,screen and (max-width: 47.99875em){#wrapper #main .tripplanner_row .titlebox.pyr{display:inline-block;float:left;width:60%;cursor:pointer}}#wrapper #main .tripplanner_row .titlebox.tools{display:none}@media print,screen and (max-width: 47.99875em){#wrapper #main .tripplanner_row .titlebox.tools{display:inline-block;width:40%;cursor:pointer}}#wrapper #main .tripplanner_row .plannerbox{max-width:80.25rem;padding-bottom:25px;text-align:left;margin:auto}@media print,screen and (max-width: 63.99875em){#wrapper #main .tripplanner_row .plannerbox{padding:10px 15px}}#wrapper #main .tripplanner_row .plannerbox label{color:#fff}#wrapper #main .tripplanner_row .plannerbox input[type=text]{height:50px;font-size:16px;color:#151515;border:0}@media print,screen and (max-width: 63.99875em){#wrapper #main .tripplanner_row .plannerbox .departing_field{margin-bottom:12px}}#wrapper #main .tripplanner_row .plannerbox .show_opts{display:none}@media print,screen and (max-width: 63.99875em){#wrapper #main .tripplanner_row .plannerbox .show_opts{display:block;padding-top:8px}#wrapper #main .tripplanner_row .plannerbox .show_opts a{color:#dcb43b}}#wrapper #main .tripplanner_row .plannerbox .radiobtns{padding:6px 0 0;position:relative;float:left;width:27%}@media print,screen and (max-width: 63.99875em){#wrapper #main .tripplanner_row .plannerbox .radiobtns{display:none;padding:20px 0 10px;text-align:center;width:100%}#wrapper #main .tripplanner_row .plannerbox .radiobtns .opt1,#wrapper #main .tripplanner_row .plannerbox .radiobtns .opt2{float:left;width:50%}}#wrapper #main .tripplanner_row .plannerbox .radiobtns .opt1{margin-bottom:12px}#wrapper #main .tripplanner_row .plannerbox .radiobtns input[type=radio]{opacity:0;position:absolute}#wrapper #main .tripplanner_row .plannerbox .radiobtns label{position:relative;cursor:pointer}#wrapper #main .tripplanner_row .plannerbox .radiobtns label::before{content:"";display:inline-block;border:4px solid #fff;height:30px;width:30px;border-radius:15px;margin-right:5px;vertical-align:bottom}#wrapper #main .tripplanner_row .plannerbox .radiobtns label::after{content:"";display:inline-block;height:18px;width:18px;border-radius:9px;border:9px solid #dcb43b;position:absolute;left:6px;top:0px}#wrapper #main .tripplanner_row .plannerbox .radiobtns label.leave_label{padding-right:20px}#wrapper #main .tripplanner_row .plannerbox .radiobtns input[type=radio]+label::after{content:none}#wrapper #main .tripplanner_row .plannerbox .radiobtns input[type=radio]:checked+label::after{content:""}#wrapper #main .tripplanner_row .plannerbox .radiobtns input[type=radio]:focus+label::before{outline:#3b99fc auto 5px}#wrapper #main .tripplanner_row .plannerbox .datetime_options{float:left;width:50%}@media print,screen and (max-width: 63.99875em){#wrapper #main .tripplanner_row .plannerbox .datetime_options{display:none;width:100%;margin:0}}#wrapper #main .tripplanner_row .plannerbox .datetime_options .date_opt{float:left;width:50%;padding-right:5px}#wrapper #main .tripplanner_row .plannerbox .datetime_options .time_opt{float:left;width:50%;padding-right:5px}#wrapper #main .tripplanner_row .plannerbox .datetime_options input[type=text]{width:100%}#wrapper #main .tripplanner_row .plannerbox .go_btn{float:left;padding:28px 0 0;width:23%}@media print,screen and (max-width: 63.99875em){#wrapper #main .tripplanner_row .plannerbox .go_btn{width:100%;padding:18px 0}}#wrapper #main .tripplanner_row .plannerbox .go_btn .go_go{height:50px;background-color:#dcb43b;color:#fff;border:0;font-weight:700;padding:0px 10px;width:100%}#wrapper #main .tripplanner_row .routeslink{position:absolute;width:100%;left:0;bottom:0px}#wrapper #main .tripplanner_row .routeslink a{color:#fff;font-size:14px;border-bottom:1px dotted rgba(255,255,255,.65);padding-bottom:1px}#wrapper #main .tripplanner_row .routeslink .fa-car-bus::before{content:""}@media print,screen and (max-width: 63.99875em){#wrapper #main .tripplanner_row .routeslink{position:relative;padding-bottom:5px}}#wrapper #main .tripplanner_row .transithelpers{display:flex;justify-content:space-between;max-width:80.25rem;padding-bottom:20px;margin:auto}#wrapper #main .tripplanner_row .transithelpers .btn{width:25%;margin:15px;background-color:#1d427f;position:relative}#wrapper #main .tripplanner_row .transithelpers .btn a{color:#fff;font-size:21px;font-weight:600;padding:16px;display:inline-block;width:100%;height:100%}#wrapper #main .tripplanner_row .transithelpers .btn .alertcount{width:26px;height:26px;background-color:red;color:#fff;position:absolute;border-radius:13px;top:-13px;right:-13px;font-weight:700;display:none}@media print,screen and (max-width: 47.99875em){#wrapper #main .tripplanner_row .transithelpers .btn{width:100%;margin:10px 15px}}@media print,screen and (max-width: 47.99875em){#wrapper #main .tripplanner_row .transithelpers{display:none}#wrapper #main .tripplanner_row .transithelpers.tp_tls{display:flex !important;flex-wrap:wrap;padding-top:10px}}@media print,screen and (max-width: 47.99875em){.fusion-slider-container{display:none}}.rtc-posts-container{display:flex;width:100%}@media print,screen and (max-width: 63.99875em){.rtc-posts-container{flex-direction:column}}.rtc-posts-container article{width:33.33333333%;padding:15px}@media print,screen and (max-width: 63.99875em){.rtc-posts-container article{width:100%;padding:0;margin-bottom:1.5rem;border-bottom:4px double #c7c7c7}}.rtc-posts-container article h2{font-size:18px !important;margin:20px 0 15px;color:#1d427f}.rtc-posts-container article p{font-size:12px;color:#767676}.rtc-posts-container article p a[rel=tag]{background-color:#767676;display:inline-block;border-radius:12px;padding:6px 9px;margin-bottom:2px;font-weight:600;line-height:1;color:#fff;transition-property:background-color;transition-duration:.2s;transition-timing-function:linear}.rtc-posts-container article p a[rel=tag]:hover{background-color:#1d427f}#content .layout_container{display:flex;justify-content:space-between}@media print,screen and (max-width: 63.99875em){#content .layout_container{flex-direction:column}}#content .layout_container .two-thirds{width:71%}@media print,screen and (max-width: 63.99875em){#content .layout_container .two-thirds{width:100%}}#content .layout_container .one-third{width:23%}@media print,screen and (max-width: 63.99875em){#content .layout_container .one-third{width:100%}}.section_submenu{max-width:68.75rem;margin:auto}.section_submenu ul{max-width:100%;column-count:2;list-style-type:none;margin:10px 0 30px}.section_submenu ul .mobileUp{display:none}.section_submenu ul li{font-weight:700;color:#4a4a4a;font-size:18px;padding-bottom:10px}.section_submenu ul li a{color:#1d427f;text-decoration:underline}.section_submenu ul.sect_bc{column-count:unset}.section_submenu ul.sect_bc li{display:inline-block;padding-right:10px}.section_submenu ul.sect_bc li.delim{color:#4a4a4a}.section_submenu ul.sect_bc li:last-child{padding:0}@media print,screen and (max-width: 63.99875em){.section_submenu ul{column-count:1 !important;text-align:center;background:#f4f4f4}.section_submenu ul .mobileUp{display:block}.section_submenu ul li{padding:8px 0;border-bottom:1px solid #dedede}.section_submenu ul li:last-child{border-bottom:0}.section_submenu ul li a{text-decoration:none}}@media print,screen and (max-width: 63.99875em){.section_submenu ul{display:none;margin:0}}.section_submenu .dror_handl{text-align:center;margin-top:-10px;padding:8px 0;color:#4a4a4a;cursor:pointer;background:#f4f4f4;display:none}.section_submenu .dror_handl span{font-size:18px;font-weight:bold}@media print,screen and (max-width: 63.99875em){.section_submenu .dror_handl{display:block}}@media print,screen and (max-width: 63.99875em){.section_submenu{margin-bottom:50px}}#main.rtc_cs_green .section_submenu a{color:#92b13e}#main.rtc_cs_orange .section_submenu a{color:#f26d26}.ways-to-travel ol.htb_section{margin-left:2rem}.ways-to-travel ol.htb_section li{list-style-type:none}.ways-to-travel ol.htb_section li::before{content:attr(data-count);position:absolute;left:0px;font-size:28px;line-height:36px;font-weight:700}#wrapper #main .newsroom_intro{margin-bottom:2rem}#wrapper #main .newsroom_postroll article .fusion-post-slideshow{width:250px}#wrapper #main .newsroom_postroll article .fusion-post-content .blog-shortcode-post-title{font-size:18px;margin-bottom:20px;line-height:1.4}#wrapper #main .newsroom_postroll article .fusion-post-content p{margin-bottom:0}#wrapper #main .newsroom_postroll article .fusion-meta-info{margin-top:10px}#wrapper #main .newsroom_postroll .fusion-load-more-button{font-family:"RTCRaleway";background-color:#1d427f;color:#fff;border-radius:25px}#wrapper #main .news aside .widget_categories li{padding-bottom:0px;border-bottom:none;line-height:24px}#wrapper #main .news aside .widget_tag_cloud .tagcloud a{border-radius:15px;border-color:#1d427f;line-height:25px;min-height:auto}#wrapper #main .fusion-blog-archive .fusion-post-content-container p{font-size:14px;line-height:1.45rem}#wrapper #main .archive_header h1{font-size:1.25rem;text-transform:uppercase;margin-bottom:2rem;color:#4a4a4a;border-bottom:1px solid #4a4a4a;padding-bottom:0rem}#wrapper #main .fusion-load-more-button{font-family:"RTCRaleway";background-color:#1d427f;color:#fff;border-radius:25px}#wrapper #main .fusion-meta-info .fad,#wrapper #main .fusion-meta-info .fas{color:#767676}#wrapper #main .fusion-meta-info a[rel=tag]{background-color:#767676;display:inline-block;border-radius:12px;padding:6px 9px;font-weight:600;line-height:1;color:#fff;transition-property:background-color;transition-duration:.2s;transition-timing-function:linear}#wrapper #main .fusion-meta-info a[rel=tag]:hover{background-color:#1d427f}#wrapper #main .fusion-read-more{line-height:24px;text-transform:uppercase;font-weight:600}#wrapper #main .rtc_single_post .fusion-post-title{font-size:30px !important}#wrapper #main .rtc_single_post .post-content p,#wrapper #main .rtc_single_post .post-content li{line-height:2rem;font-size:1.25rem}#wrapper #main .rtc_single_post .pr_pre-content p{line-height:1.5rem;font-size:1rem}#wrapper #main .rtc_single_post .pr_download{font-weight:bold}#wrapper #main .rtc_single_post .pr_download .fa-file-pdf{color:#333}#wrapper #main .rtc_single_post .prev_link{float:left}#wrapper #main .rtc_single_post .prev_link a[rel=prev]{margin-left:1rem;margin-right:1rem}#wrapper #main .rtc_single_post .bctt-click-to-tweet{display:block;background-color:#e1e8ed;position:relative;border:none;-moz-border-radius:4px;border-radius:16px;padding:20px 25px;margin-bottom:1.75em;margin-top:1.75em}#wrapper #main .rtc_single_post .bctt-click-to-tweet .bctt-ctt-text a{padding:15px 0;margin:15px 0;position:relative;color:#414141 !important;font-family:"RTCRaleway" !important;line-height:2rem;font-size:1.25rem;font-weight:700;text-decoration:none !important;text-transform:none !important;word-wrap:break-word;border-bottom:none !important;box-shadow:none !important}#wrapper #main .rtc_single_post .bctt-click-to-tweet .bctt-ctt-text a:hover{color:#4a4a4a}#wrapper #main .rtc_single_post .bctt-click-to-tweet a.bctt-ctt-btn{padding:15px 24px 0 0;color:#657786 !important;background:rgba(0,0,0,0) url(../img/birdy.png) no-repeat right top 15px;transition-property:background;transition-duration:75ms}.rtc_alertbox .rtc_alert_container{height:60px;display:flex;align-items:center;border:1px solid #ee1f2e !important;margin-bottom:0}.rtc_alertbox .rtc_alert_container .rtc_alert_icon{display:inline-block;margin:0 20px !important;color:#ee1f2e !important}.rtc_alertbox .rtc_alert_container .rtc_alert_title{margin-top:0px !important;margin-bottom:0px !important}.rtc_alertbox .rtc_alert_container .rtc_alert_title h2{font-weight:bold !important;font-size:21px !important;color:#4a4a4a !important}.rtc_alertbox .rtc_alert_container .fusion-column-wrapper{display:flex;align-items:center;margin:0 !important;height:60px}.rtc_alertbox .rtc_alert_body{border-width:0px 1px 1px;border-style:solid;border-color:#ee1f2e !important;padding:28px 35px 30px}.rtc_alertbox .rtc_alert_body p{margin:0 !important}.rtc_intro_wrapper{position:relative;min-height:124px}@media print,screen and (max-width: 63.99875em){.rtc_intro_wrapper{margin-top:30px !important}}.rtc_intro_wrapper .rtc_intro_title{margin-left:80px;margin-right:30px;padding-top:20px}@media print,screen and (max-width: 63.99875em){.rtc_intro_wrapper .rtc_intro_title{margin-left:30px;padding-top:50px}}.rtc_intro_wrapper .rtc_intro_title h1{font-size:34px !important;font-weight:bold !important;line-height:2.5rem;padding-bottom:20px !important}.rtc_intro_wrapper .rtc_intro_text{margin-left:80px;margin-right:30px}@media print,screen and (max-width: 63.99875em){.rtc_intro_wrapper .rtc_intro_text{margin-left:30px}}.rtc_intro_wrapper .rtc_intro_text p{font-size:16px !important}.rtc_intro_wrapper .rtc_intro_icon{top:20px;left:-35px;position:absolute;border-color:#1d427f !important;background-color:#1d427f !important}@media print,screen and (max-width: 63.99875em){.rtc_intro_wrapper .rtc_intro_icon{top:-35px;left:20px}}.rtc_cs_green .rtc_intro_wrapper .rtc_intro_icon{border-color:#92b13e !important;background-color:#92b13e !important}.rtc_cs_orange .rtc_intro_wrapper .rtc_intro_icon{border-color:#f26d26 !important;background-color:#f26d26 !important}.rtc_inset_tabs .nav ul li{margin-right:20px}.rtc_inset_tabs .nav ul li a h4.fusion-tab-heading{font-family:"RTCRaleway",sans-serif !important;font-weight:700;font-size:21px;text-align:left;color:#4a4a4a}.rtc_inset_tabs .nav ul li a.tab-link{border:0px !important}.rtc_inset_tabs .nav ul li.active a.tab-link{border:0px !important}.rtc_inset_tabs .nav ul li.active a:after{content:"";display:block;margin:0 0;padding-top:5px;width:80%}.rtc_inset_tabs .nav ul li.active a h4.fusion-tab-heading{display:table;color:#1d427f;border-bottom:4px solid #1d427f}@media print,screen and (max-width: 63.99875em){.rtc_inset_tabs .nav ul li.active a{display:inline-block}}.rtc_inset_tabs .tab-content{margin:15px !important}.rtc_inset_tabs .tab-content .nav>ul>li.active>a:after{content:"";display:block;margin:0 0;padding-top:5px;width:100%;border-bottom:4px solid #1d427f}.rtc_inset_tabs .tab-content .nav>ul>li.active>a h4.fusion-tab-heading{color:#1d427f}@media print,screen and (max-width: 63.99875em){.rtc_inset_tabs .tab-content .nav>ul>li.active>a{display:inline-block}}.rtc_inset_tabs .tab-content .nav>ul>li>a>h4.fusion-tab-heading{font-weight:bold;font-size:21px;color:#4a4a4a}main.rtc_cs_green.rtc_inset_tabs>.nav>ul>li.active>a>h4.fusion-tab-heading{color:#92b13e;border-bottom:4px solid #92b13e}main.rtc_cs_green .rtc_inset_tabs>.tab-content>.nav>ul>li.active>a:after{border-bottom:4px solid #92b13e}main.rtc_cs_green .rtc_inset_tabs>.tab-content>.nav>ul>li.active>a>h4.fusion-tab-heading{color:#92b13e}main.rtc_cs_orange .rtc_inset_tabs>.nav>ul>li.active>a>h4.fusion-tab-heading{color:#f26d26;border-bottom:4px solid #f26d26}main.rtc_cs_orange .rtc_inset_tabs>.tab-content>.nav>ul>li.active>a:after{border-bottom:4px solid #f26d26}main.rtc_cs_orange .rtc_inset_tabs>.tab-content>.nav>ul>li.active>a>h4.fusion-tab-heading{color:#f26d26}.rtc_small_tout_body_wrapper{border-left:1px solid #ccc !important;border-right:1px solid #ccc !important;border-bottom:1px solid #ccc !important}.rtc_small_tout_title{padding:10px 20px 0 20px !important;margin-bottom:0 !important}.rtc_small_tout_title h1{font-size:21px;font-family:"RTCRaleway",sans-serif !important;font-weight:700;line-height:24px;padding:10px 0 0 !important}.rtc_small_tout_link{background:none !important;border:0 !important;color:#1d427f !important;padding-left:10px}.rtc_small_tout_image{max-height:220px;overflow:hidden}.rtc_small_tout_image img{width:100% !important}.rtc_small_tout_text p{font-size:16px;padding:20px;margin-bottom:-10px}.rtc_small_tout_link{width:100% !important;text-align:left;font-family:"RTCRaleway",sans-serif !important;font-weight:400}.rtc_small_tout_link .fusion-button-text,.rtc_small_tout_link .button-icon-right{margin-left:10px !important;vertical-align:middle;font-size:16px;line-height:28px;color:#1d427f !important}.rtc_small_tout_link .button-icon-right{font-size:35px}.rtc_100_banner_wrapper{height:120px !important;max-height:120px;overflow:hidden;margin-bottom:10px}.rtc_100_banner_wrapper .fusion-layout-column{height:120px !important}.rtc_100_banner_wrapper .fusion-builder-row .fusion_builder_column .fusion-column-wrapper{display:flex;align-items:center;margin:0 !important;height:100% !important}.rtc_100_banner_wrapper .rtc_100_banner_close{margin-left:35px;cursor:pointer}.rtc_100_banner_wrapper .rtc_banner_image{margin:0 40px;padding:0;float:left}.rtc_100_banner_wrapper .rtc_100_banner_a_text{text-transform:uppercase;color:#dcb43b;margin-left:20px;float:left}.rtc_100_banner_wrapper .rtc_100_banner_a_text p{vertical-align:middle;margin:auto;font-size:21px;font-weight:bold;line-height:24px}.rtc_100_banner_wrapper .rtc_100_banner_b_text{color:#fff;display:block}.rtc_100_banner_wrapper .rtc_100_banner_b_text p{vertical-align:middle;margin:auto;font-size:18px}.rtc_100_banner_wrapper .rtc_100_banner_b_text h2{font-size:28px !important;line-height:27px !important;color:#fff;font-weight:bold !important}.rtc_100_banner_wrapper .rtc_100_banner_b_button{margin-left:40px;background-color:#faa11b;font-size:16px}.rtc_100_banner_wrapper .rtc_100_banner_c_text{color:#dcb43b;display:block;font-weight:bold}.rtc_100_banner_wrapper .rtc_100_banner_c_text p{vertical-align:middle;margin:auto;font-size:18px;text-shadow:0px 0px 1px rgba(255,255,255,.25)}.rtc_100_banner_wrapper .rtc_100_banner_c_button{margin-left:40px;background-color:#dcb43b;font-size:16px}.rtc_accordion_head_wrap{border-bottom:2px solid #ccc;min-height:80px;display:flex;align-items:center;vertical-align:middle;cursor:pointer}.rtc_accordion_head_wrap .rtc_accordion_icon{color:#1d427f !important}.rtc_accordion_head_wrap .fusion-title.rtc_accordion_title{display:flex;height:40px}.rtc_accordion_head_wrap .fusion-title.rtc_accordion_title h2{font-size:28px !important;font-weight:bold !important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.rtc_box_accordion_wrap{margin-bottom:0px !important}.rtc_box_accordion_title p{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.rtc_icon_accordion_table_wrap{display:none}.rtc_icon_avada_fix{float:left}.rtc_route_help_icon{float:left;margin-left:10px}.rtc_accordion_table table,.rtc_accordion_table table thead,.rtc_accordion_table table thead tr th,.rtc_accordion_table table tbody tr{background-color:rgba(0,0,0,0) !important;border:0 !important;border-bottom:1px solid #ccc !important;overflow:hidden}.rtc_accordion_table table,.rtc_accordion_table table thead,.rtc_accordion_table table thead tr th{font-family:"RTCRaleway",sans-serif !important}.rtc_accordion_table table tbody tr td{border:0 !important}.rtc_box_accordion_wrap{max-height:60px;display:flex;flex-direction:column;align-items:center;vertical-align:middle;cursor:pointer}.rtc_box_accordion_head_wrap{border:1px solid #ccc;max-height:58px;margin-bottom:0px !important}.rtc_box_accordion_head_wrap.active{border:1px solid #1d427f}.rtc_box_accordion_head_wrap.active .rtc_box_accordion_icon{color:#1d427f !important;border-right:1px solid #1d427f}.rtc_accordion_icon{color:#1d427f !important}.rtc_box_accordion_head_wrap.active{border:1px solid #1d427f}.rtc_box_accordion_head_wrap.active .rtc_box_accordion_icon{color:#1d427f !important;border-right:1px solid #1d427f}.rtc_box_accordion_icon{position:relative;vertical-align:middle;padding:12px 14px;margin-right:10px;border-right:1px solid #ccc;color:#1d427f !important}.rtc_box_accordion_title{vertical-align:middle;padding:15px;margin-left:60px}.rtc_box_accordion_title p{margin-bottom:0}.rtc_box_accordion_text_wrapper{display:none;margin:20px 0}main.rtc_cs_green .rtc_accordion_icon{color:#92b13e !important}main.rtc_cs_green .rtc_box_accordion_head_wrap.active{border:1px solid #92b13e}main.rtc_cs_green .rtc_box_accordion_head_wrap.active .rtc_box_accordion_icon{color:#92b13e !important;border-right:1px solid #92b13e}main.rtc_cs_orange .rtc_accordion_icon{color:#f26d26 !important}main.rtc_cs_orange .rtc_box_accordion_head_wrap.active{border:1px solid #f26d26}main.rtc_cs_orange .rtc_box_accordion_head_wrap.active .rtc_box_accordion_icon{color:#f26d26 !important;border-right:1px solid #f26d26}.rtc_tooltip_icon{position:relative;display:inline-block;cursor:pointer;width:20px;height:20px}.rtc_tooltip_body{display:none;position:absolute;top:-10px;left:10px;width:30%;height:auto;padding:25px;border:1px solid #ddd;border-radius:20px;z-index:1000;background-color:#fff;-webkit-box-shadow:3px 3px 2px 0px rgba(0,0,0,.3);-moz-box-shadow:3px 3px 2px 0px rgba(0,0,0,.3);box-shadow:3px 3px 2px 0px rgba(0,0,0,.3)}.rtc_tooltip_body.active{display:block}.rtc_cta_tout_wrapper{max-width:290px}.rtc_cta_tout_title{border-right:2px solid #ccc;border-left:2px solid #ccc;padding:10px 20px 0 20px !important;margin-bottom:0 !important}.rtc_cta_tout_title h1{font-size:21px !important;font-family:"RTCRaleway",sans-serif !important;font-weight:700}.rtc_cta_tout_text{border-right:2px solid #ccc;border-left:2px solid #ccc}.rtc_cta_tout_text p{padding:20px;margin:0}.rtc_cta_tout_image{max-height:220px}.rtc_cta_tout_image img{width:100% !important}main .rtc_cta_tout_link{border:0 !important;padding-left:0;background-color:#1d427f !important}main.rtc_cs_blue .rtc_cta_tout_link{border:0 !important;padding-left:0;background-color:#1d427f !important}main.rtc_cs_green .rtc_cta_tout_link{border:0 !important;padding-left:0;background-color:#92b13e !important}main.rtc_cs_orange .rtc_cta_tout_link{border:0 !important;padding-left:0;background-color:#f26d26 !important}.rtc_cta_tout_link .fusion-button-text,.rtc_cta_tout_link .button-icon-right{font-size:18px;font-weight:bold;color:#fff !important}.rtc_html_tout_wrapper{max-width:290px}.rtc_html_tout_wrapper .rtc_html_tout_link{background:none !important;border:0 !important;color:#1d427f !important;padding-left:0}.rtc_html_tout_wrapper .rtc_html_tout_link .fusion-button-text .rtc_html_tout_wrapper .rtc_html_tout_link .button-icon-right{font-size:24px;color:#1d427f !important}.rtc_html_tout_wrapper .rtc_html_tout_text i{color:#1d427f}.rtc_html_tout_wrapper .rtc_html_tout_text h4{color:#1d427f}.rtc_html_tout_wrapper .rtc_html_tout_text span{color:#1d427f}.rtc_html_tout_wrapper .rtc_html_tout_text a{color:#1d427f}.rtc_html_tout_wrapper.blue .rtc_html_tout_link{background:none !important;border:0 !important;color:#1d427f !important;padding-left:0}.rtc_html_tout_wrapper.blue .rtc_html_tout_link .fusion-button-text,.rtc_html_tout_wrapper.blue .rtc_html_tout_link .button-icon-right{font-size:24px;color:#1d427f !important}.rtc_html_tout_wrapper.blue .rtc_html_tout_text i{color:#1d427f}.rtc_html_tout_wrapper.blue .rtc_html_tout_text h4{color:#1d427f}.rtc_html_tout_wrapper.blue .rtc_html_tout_text span{color:#1d427f}.rtc_html_tout_wrapper.blue .rtc_html_tout_text a{color:#1d427f}.rtc_html_tout_wrapper.green .rtc_html_tout_link{background:none !important;border:0 !important;color:#92b13e !important;padding-left:0}.rtc_html_tout_wrapper.green .rtc_html_tout_link .fusion-button-text,.rtc_html_tout_wrapper.green .rtc_html_tout_link .button-icon-right{font-size:24px;color:#92b13e !important}.rtc_html_tout_wrapper.green .rtc_html_tout_text i{color:#92b13e}.rtc_html_tout_wrapper.green .rtc_html_tout_text h4{color:#92b13e}.rtc_html_tout_wrapper.green .rtc_html_tout_text span{color:#92b13e}.rtc_html_tout_wrapper.green .rtc_html_tout_text a{color:#92b13e}.rtc_html_tout_wrapper.orange .rtc_html_tout_link{background:none !important;border:0 !important;color:#f26d26 !important;padding-left:0}.rtc_html_tout_wrapper.orange .rtc_html_tout_link .fusion-button-text,.rtc_html_tout_wrapper.orange .rtc_html_tout_link .button-icon-right{font-size:24px;color:#f26d26 !important}.rtc_html_tout_wrapper.orange .rtc_html_tout_text i{color:#f26d26}.rtc_html_tout_wrapper.orange .rtc_html_tout_text h4{color:#f26d26}.rtc_html_tout_wrapper.orange .rtc_html_tout_text span{color:#f26d26}.rtc_html_tout_wrapper.orange .rtc_html_tout_text a{color:#f26d26}.rtc_html_tout_title h1{font-size:21px;font-weight:bold}.rtc_emphasis_tout_wrapper{max-width:290px}.rtc_emphasis_tout_title{background:#ccc}.rtc_emphasis_tout_title h1{font-size:21px;font-weight:bold;padding:10px 20px !important}.rtc_emphasis_tout_text{border:2px solid #ccc;border-top:0;font-size:16px}.rtc_emphasis_tout_text .fusion-separator.sep-solid{margin-left:10px}.rtc_emphasis_tout_text p{padding:20px;margin:0}main .rtc_emphasis_tout_text p a{color:#1d427f !important}main.rtc_cs_blue .rtc_emphasis_tout_text p a{color:#1d427f !important}main.rtc_cs_green .rtc_emphasis_tout_text p a{color:#92b13e !important}main.rtc_cs_orange .rtc_emphasis_tout_text p a{color:#f26d26 !important}.rtc_sidebar_contact_wrapper{max-width:290px}.rtc_sidebar_contact_wrapper h3{font-size:18px;font-weight:bold;margin-bottom:5px}main .rtc_sidebar_contact_wrapper{padding:30px;background-color:#edf2fb}main .rtc_sidebar_contact_wrapper p a,main .rtc_sidebar_contact_wrapper a h3,main .rtc_sidebar_contact_wrapper i,main .rtc_sidebar_contact_wrapper h4,main .rtc_sidebar_contact_wrapper span{color:#1d427f !important}main.rtc_cs_blue .rtc_sidebar_contact_wrapper{padding:30px;background-color:#edf2fb}main.rtc_cs_blue .rtc_sidebar_contact_wrapper p a,main.rtc_cs_blue .rtc_sidebar_contact_wrapper a h3,main.rtc_cs_blue .rtc_sidebar_contact_wrapper i,main.rtc_cs_blue .rtc_sidebar_contact_wrapper h4,main.rtc_cs_blue .rtc_sidebar_contact_wrapper span{color:#1d427f !important}main.rtc_cs_green .rtc_sidebar_contact_wrapper{padding:30px;background-color:#eff4e0}main.rtc_cs_green .rtc_sidebar_contact_wrapper p a,main.rtc_cs_green .rtc_sidebar_contact_wrapper a h3,main.rtc_cs_green .rtc_sidebar_contact_wrapper i,main.rtc_cs_green .rtc_sidebar_contact_wrapper h4,main.rtc_cs_green .rtc_sidebar_contact_wrapper span{color:#92b13e !important}main.rtc_cs_orange .rtc_sidebar_contact_wrapper{padding:30px;background-color:#fde8dd}main.rtc_cs_orange .rtc_sidebar_contact_wrapper p a,main.rtc_cs_orange .rtc_sidebar_contact_wrapper a h3,main.rtc_cs_orange .rtc_sidebar_contact_wrapper i,main.rtc_cs_orange .rtc_sidebar_contact_wrapper h4,main.rtc_cs_orange .rtc_sidebar_contact_wrapper span{color:#f26d26 !important}.rtc_sidebar_doc_item_wrapper{max-width:290px;margin-bottom:-20px !important}.rtc_sidebar_doc_title h2{font-size:21px !important;font-weight:bold !important}.fusion-button.rtc_sidebar_doc_link{background:none !important;border:0 !important;padding:0}.fusion-button.rtc_sidebar_doc_link .fusion-button-text{font-size:16px;line-height:20px}.rtc_sidebar_doc_icon{margin-top:5px;margin-bottom:20px}main .fusion-button.rtc_sidebar_doc_link .fusion-button-text{color:#1d427f !important}main.rtc_cs_blue .fusion-button.rtc_sidebar_doc_link .fusion-button-text{color:#1d427f !important}main.rtc_cs_green .fusion-button.rtc_sidebar_doc_link .fusion-button-text{color:#92b13e !important}main.rtc_cs_orange .fusion-button.rtc_sidebar_doc_link .fusion-button-text{color:#f26d26 !important}.rtc_sidebar_whatis_tout_wrapper{max-width:290px;border:1px solid #ccc !important}.rtc_sidebar_whatis_tout_title{padding:20px 20px 0 20px !important;margin-bottom:0 !important}.rtc_sidebar_whatis_tout_title h1{font-size:21px;font-weight:bold}.rtc_sidebar_whatis_tout_text p{font-size:16px;line-height:28px;padding:20px;margin-bottom:-10px}.rtc_sidebar_whatis_tout_link{width:100% !important;text-align:left}.rtc_sidebar_whatis_tout_link .button-icon-right{font-size:35px}main .rtc_sidebar_whatis_tout_link{background:none !important;border:0 !important;color:#1d427f !important;padding-left:0}main .rtc_sidebar_whatis_tout_link .fusion-button-text,main .rtc_sidebar_whatis_tout_link .button-icon-right{margin-left:20px !important;vertical-align:middle;font-size:16px;line-height:28px;color:#1d427f !important}main.rtc_cs_blue .rtc_sidebar_whatis_tout_link{background:none !important;border:0 !important;color:#1d427f !important;padding-left:0}main.rtc_cs_blue .rtc_sidebar_whatis_tout_link .fusion-button-text,main.rtc_cs_blue .rtc_sidebar_whatis_tout_link .button-icon-right{margin-left:20px !important;vertical-align:middle;font-size:16px;line-height:28px;color:#1d427f !important}main.rtc_cs_green .rtc_sidebar_whatis_tout_link{background:none !important;border:0 !important;color:#92b13e !important;padding-left:0}main.rtc_cs_green .rtc_sidebar_whatis_tout_link .fusion-button-text,main.rtc_cs_green .rtc_sidebar_whatis_tout_link .button-icon-right{margin-left:20px !important;vertical-align:middle;font-size:16px;line-height:28px;color:#92b13e !important}main.rtc_cs_orange .rtc_sidebar_whatis_tout_link{background:none !important;border:0 !important;color:#f26d26 !important;padding-left:0}main.rtc_cs_orange .rtc_sidebar_whatis_tout_link .fusion-button-text,main.rtc_cs_orange .rtc_sidebar_whatis_tout_link .button-icon-right{margin-left:20px !important;vertical-align:middle;font-size:16px;line-height:28px;color:#f26d26 !important}.rtc_sidebar_accordion_tout_wrapper{position:relative;margin-bottom:30px !important}.rtc_sidebar_accordion_tout_title{background:#ccc}.rtc_sidebar_accordion_tout_title h1{font-size:21px;font-weight:bold;padding:10px 10px 10px 20px !important}.rtc_sidebar_accordion_expansion_wrapper{overflow:hidden;margin:-1px auto 0 auto;max-height:200px;border:2px solid #ccc;border-top:0;padding-bottom:40px;-webkit-transition:height 1s;transition:height 1s}.rtc_sidebar_accordion_tout_body{margin-top:20px;max-height:140px;font-size:16px;overflow:hidden;-webkit-transition:max-height 1s;transition:max-height 1s}.rtc_sidebar_accordion_expansion_wrapper.active,.rtc_sidebar_accordion_tout_body.active{max-height:initial !important}.rtc_sidebar_accordion_icon{display:none !important}.rtc_sidebar_accordion_icon.active{display:block !important}main .rtc_sidebar_accordion_tout_body ul{list-style:none;line-height:180%;color:#1d427f}main .rtc_sidebar_accordion_icon{position:absolute;bottom:-5px;left:20px;z-index:10;cursor:pointer;border-color:#1d427f !important;background-color:#1d427f !important}main.rtc_cs_blue .rtc_sidebar_accordion_tout_body ul{list-style:none;line-height:180%;color:#1d427f}main.rtc_cs_blue .rtc_sidebar_accordion_icon{position:absolute;bottom:-5px;left:20px;z-index:10;cursor:pointer;border-color:#1d427f !important;background-color:#1d427f !important}main.rtc_cs_green .rtc_sidebar_accordion_tout_body ul{list-style:none;line-height:180%;color:#92b13e}main.rtc_cs_green .rtc_sidebar_accordion_icon{position:absolute;bottom:-5px;left:20px;z-index:10;cursor:pointer;border-color:#92b13e !important;background-color:#92b13e !important}main.rtc_cs_orange .rtc_sidebar_accordion_tout_body ul{list-style:none;line-height:180%;color:#f26d26;margin-bottom:0}main.rtc_cs_orange .rtc_sidebar_accordion_tout_body ul li{line-height:1.125rem;padding:.375rem 0}main.rtc_cs_orange .rtc_sidebar_accordion_icon{position:absolute;bottom:-5px;left:20px;z-index:10;cursor:pointer;border-color:#f26d26 !important;background-color:#f26d26 !important}.rtc_sidebar_alt_cta_tout_image_wrapper{max-width:290px}.rtc_sidebar_alt_cta_tout_image{max-width:100px}.rtc_sidebar_alt_cta_tout_icon{color:#1d427f !important}.rtc_sidebar_alt_cta_tout_title{margin-bottom:5px !important}.rtc_sidebar_alt_cta_tout_title h2{font-size:18px !important;font-weight:bold !important;color:#4a4a4a !important}.rtc_sidebar_alt_cta_tout_image_wrapper .rtc_sidebar_alt_cta_tout_text{color:#4a4a4a !important}.rtc_sidebar_alt_cta_tout_button{background-color:#fff;border:4px solid #f26d26 !important}.rtc_sidebar_alt_cta_tout_button:hover{background-color:#fff}.rtc_sidebar_alt_cta_tout_button span{font-size:18px !important}.rtc_sidebar_alt_cta_tout_image_wrapper .rtc_sidebar_alt_cta_tout_button{border:4px solid #f26d26 !important}.rtc_sidebar_alt_cta_tout_image_wrapper .rtc_sidebar_alt_cta_tout_button span{color:#f26d26 !important}.rtc_sidebar_alt_cta_tout_icon_wrapper .rtc_sidebar_alt_cta_tout_button{border:4px solid #1d427f !important}.rtc_sidebar_alt_cta_tout_icon_wrapper .rtc_sidebar_alt_cta_tout_button span{color:#1d427f !important}.rtc-prefooter{background:#f4f4f4}.rtc-prefooter .pf-container{padding:40px 0 50px;max-width:1100px;width:100%;margin:auto}@media print,screen and (max-width: 79.99875em){.rtc-prefooter .pf-container{padding-left:30px;padding-right:30px}}@media print,screen and (max-width: 63.99875em){.rtc-prefooter .pf-container{padding:10px 0}}.rtc-prefooter .pf-container .cell{padding:0 20px}.rtc-prefooter .pf-container .cell:first-child{padding-left:0}.rtc-prefooter .pf-container .cell:last-child{padding-right:0}.rtc-prefooter .pf-container .cell .icnblk{margin-bottom:16px;min-height:60px}@media print,screen and (max-width: 63.99875em){.rtc-prefooter .pf-container .cell{padding:35px}.rtc-prefooter .pf-container .cell:first-child{padding-left:35px}.rtc-prefooter .pf-container .cell:last-child{padding-right:35px}}.rtc-prefooter .pf-container h3{font-weight:bold}.pf_callout_row .fusion-button.button-flat.fusion-button-round.button-large.button-default.round-button-grey{background:rgba(0,0,0,0);border:3px solid #4a4a4a;border-radius:30px;padding:15px 32px;text-align:center;text-decoration:none;display:inline-block;font-size:18px}.pf_callout_row .fusion-button.button-flat.fusion-button-round.button-large.button-default.round-button-grey .fusion-button-text{color:#4a4a4a}.pf_callout_row .fusion-button.button-flat.fusion-button-round.button-large.button-default.round-button-grey:hover{border:3px solid #6f6f6f}.pf_callout_row .fusion-button.button-flat.fusion-button-round.button-large.button-default.round-button-grey:hover .fusion-button-text{color:#6f6f6f}.rtc-footer{background-color:#4a4a4a}.rtc-footer footer{max-width:80.25rem;width:100%;margin:auto;position:relative;padding:50px 14px 0}@media print,screen and (max-width: 63.99875em){.rtc-footer footer{padding-top:0}}@media print,screen and (max-width: 63.99875em){.rtc-footer .footer-menu-system{display:none}}@media print,screen and (max-width: 63.99875em){.rtc-footer .menu-system{display:none}}.rtc-footer .menu-system .menu,.rtc-footer .menu-system .social-menu{list-style-type:none;column-count:4;margin:0}.rtc-footer .menu-system .menu li a,.rtc-footer .menu-system .social-menu li a{font-weight:700;font-size:21px;color:#fff;padding-bottom:10px;display:inline-block}.rtc-footer .menu-system .menu .sub-menu,.rtc-footer .menu-system .social-menu .sub-menu{list-style-type:none;line-height:40px;margin:0}.rtc-footer .menu-system .menu .sub-menu li.boldme a,.rtc-footer .menu-system .social-menu .sub-menu li.boldme a{font-weight:700;font-size:21px}.rtc-footer .menu-system .menu .sub-menu li a,.rtc-footer .menu-system .social-menu .sub-menu li a{font-weight:500;font-size:16px;display:inline}.rtc-footer .menu-system .social-menu{column-count:1}.rtc-footer .menu-system .social-menu .sub-menu li{color:#fff}.rtc-footer .menu-system .social-menu .sub-menu li.fab{display:list-item}.rtc-footer .menu-system .social-menu .sub-menu li::before{content:""}.rtc-footer .menu-system .social-menu .sub-menu li a .fab{margin-right:15px;font-size:24px}.rtc-footer .rtc-copyright-notice{margin-top:20px;margin-bottom:40px}@media print,screen and (max-width: 63.99875em){.rtc-footer .rtc-copyright-notice{margin-bottom:0}}.rtc-footer .rtc-copyright-notice .footer-logo{width:77px;height:62px;background-image:url("https://assets.rtcsnv.com/wp-content/uploads/2019/05/07162122/rtc_logo_white%402x.png");background-size:contain;margin-right:30px;float:left}.rtc-footer .rtc-copyright-notice .legal-and-copyright ul{margin:0;list-style-type:none}.rtc-footer .rtc-copyright-notice .legal-and-copyright ul li{display:inline-block;line-height:1.5;margin-bottom:1rem;margin-right:10px}.rtc-footer .rtc-copyright-notice .legal-and-copyright ul li a{color:#fff}@media print,screen and (max-width: 63.99875em){.rtc-footer .rtc-copyright-notice .legal-and-copyright ul{text-align:right}.rtc-footer .rtc-copyright-notice .legal-and-copyright ul li{font-size:14px}}.rtc-footer .rtc-copyright-notice .legal-and-copyright p{color:#ccc;font-size:14px}@media print,screen and (max-width: 63.99875em){.rtc-footer .rtc-copyright-notice .legal-and-copyright p{font-size:12px;text-align:center}}.rtc-footer .rtc-language-opts{margin-top:20px;display:flex;justify-content:flex-end}@media print,screen and (max-width: 63.99875em){.rtc-footer .rtc-language-opts{display:none}}.rtc-footer .rtc-language-opts .lang{padding-left:20px;font-size:14px;position:relative}.rtc-footer .rtc-language-opts .lang a{font-weight:600;color:#fff;display:inline-block;height:100%;width:100%}.rtc-footer .rtc-language-opts .lang a svg{vertical-align:middle;width:32px;height:30px}.rtc-footer .rtc-language-opts .lang a svg path{fill:#fff}.rtc-footer .rtc-language-opts .lang a svg path.lang_globe{fill:#fff}.rtc-footer .rtc-language-opts .lang a:hover{color:#fff}.rtc-footer .rtc-language-opts .lang a:hover svg path{fill:#fff}.rtc-footer .rtc-language-opts .lang_options{display:none;position:absolute;width:120px;right:0px;top:-275px;background:#4a4a4a;border-radius:6px;border:2px solid #fff;padding:10px}.rtc-footer .rtc-language-opts .lang_options ul{margin:0;list-style-type:none;text-align:right}.rtc-footer .rtc-language-opts .lang_options ul li a{font-weight:600}#wrapper{background-color:#7fffd4}.valign-middle{position:relative;top:50%;transform:translateY(-50%)}p{line-height:1.5}.gform_page_footer input[type=button],.gform_page_footer input[type=button],.gform_wrapper .button,.gform_wrapper .gfield_description,.gform_wrapper .gform_button,.gform_wrapper label{font-family:"RTCRaleway" !important}.gform_wrapper .top_label .gfield_label{font-family:"RTCRaleway" !important}#main #content table th,#main #content table td{border:none;background:none;padding:16px;font-family:"RTCRaleway" !important}#main #content .table-1table{border:1px solid #dcdcdc;border-spacing:1px;border-collapse:separate}@media print,screen and (max-width: 63.99875em){#main #content .tab-pane table tr td p,#main #content .tab-pane table tr td span,#main #content .tab-pane table tr td{font-size:14px;padding:6px 2px !important}#main #content .fusion-column-wrapper table tr td p,#main #content .fusion-column-wrapper tr td span,#main #content .fusion-column-wrapper table tr td{font-size:14px;padding:6px 2px !important}}.slide-content .fusion-button.button-default{background-color:#dcb43b}.slide-content .fusion-button.button-default:hover{background-color:#f0c74d}.latest_initiatives_row h4{font-size:21px;line-height:25px;font-family:"RTCRaleway"}.latest_initiatives_row .fusion-button.button-flat.fusion-button-round.button-large.button-default.round-button-blue.round-button-blue{background-color:#fff;border:3px solid #1d427f;border-radius:30px;padding:15px 32px;text-align:center;text-decoration:none;display:inline-block;font-size:18px}.latest_initiatives_row .fusion-button.button-flat.fusion-button-round.button-large.button-default.round-button-blue.round-button-blue .fusion-button-text{color:#1d427f}.latest_initiatives_row .fusion-button.button-flat.fusion-button-round.button-large.button-default.round-button-blue.round-button-blue:hover{border:3px solid #527abb}.latest_initiatives_row .fusion-button.button-flat.fusion-button-round.button-large.button-default.round-button-blue.round-button-blue:hover .fusion-button-text{color:#527abb}.fusion-button.fusion-button-round.round-button{background-color:#fff !important;border:3px solid !important;border-radius:30px !important;padding:15px 32px !important;text-align:center !important;text-decoration:none !important;display:inline-block !important;font-size:18px !important}.rtc_cs_blue .fusion-button.fusion-button-round.round-button{border:3px solid #1d427f !important}.rtc_cs_blue .fusion-button.fusion-button-round.round-button .fusion-button-text{color:#1d427f !important}.rtc_cs_blue .fusion-button.fusion-button-round.round-button:hover{border:3px solid #527abb}.rtc_cs_blue .fusion-button.fusion-button-round.round-button:hover .fusion-button-text{color:#527abb}.rtc_cs_green .fusion-button.fusion-button-round.round-button{border:3px solid #92b13e !important}.rtc_cs_green .fusion-button.fusion-button-round.round-button .fusion-button-text{color:#92b13e !important}.rtc_cs_green .fusion-button.fusion-button-round.round-button:hover{border:3px solid #a6c551 !important}.rtc_cs_green .fusion-button.fusion-button-round.round-button:hover .fusion-button-text{color:#a6c551 !important}.rtc_cs_orange .fusion-button.fusion-button-round.round-button{border:3px solid #f26d26 !important}.rtc_cs_orange .fusion-button.fusion-button-round.round-button .fusion-button-text{color:#f26d26 !important}.rtc_cs_orange .fusion-button.fusion-button-round.round-button:hover{border:3px solid #d45511 !important}.rtc_cs_orange .fusion-button.fusion-button-round.round-button:hover .fusion-button-text{color:#d45511 !important}.rtc_cs_orange .fusion-button-wrapper .fusion-button.button-flat.fusion-button-pill{border:3px solid #f26d26 !important;background:#fff !important}.rtc_cs_orange .fusion-button-wrapper .fusion-button.button-flat.fusion-button-pill i{color:#f26d26 !important}.rtc_cs_orange .fusion-button-wrapper .fusion-button.button-flat.fusion-button-pill .fusion-button-text{color:#f26d26 !important}.rtc_cs_orange .fusion-button-wrapper .fusion-button.button-flat.fusion-button-pill:hover{border:3px solid #d45511 !important}.rtc_cs_orange .fusion-button-wrapper .fusion-button.button-flat.fusion-button-pill:hover i{color:#d45511 !important}.rtc_cs_orange .fusion-button-wrapper .fusion-button.button-flat.fusion-button-pill:hover .fusion-button-text{color:#d45511 !important}.rtc_cs_orange #main a{color:#f26d26 !important}.rtc_cs_orange #main a:hover{color:#d45511 !important}.rtc_cs_green .fusion-button-wrapper .fusion-button.button-flat.fusion-button-pill{border:3px solid #92b13e !important;background:#fff !important}.rtc_cs_green .fusion-button-wrapper .fusion-button.button-flat.fusion-button-pill .fusion-button-text{color:#92b13e !important}.rtc_cs_green .fusion-button-wrapper .fusion-button.button-flat.fusion-button-pill:hover{border:3px solid #a6c551 !important}.rtc_cs_green .fusion-button-wrapper .fusion-button.button-flat.fusion-button-pill:hover .fusion-button-text{color:#a6c551 !important}.rtc_cs_green #main a{color:#92b13e !important}.rtc_cs_green #main a:hover{color:#a6c551 !important}.fusion-button.gold-button{background-color:#dcb43b !important}.fusion-button.gold-button:hover{background-color:#f0c74d !important}.fusion-modal h1,.fusion-page-title-bar h1,.fusion-title h1,.fusion-widget-area h1,.post-content h1,.search-page-search-form h1{font-family:"RTCRaleway" !important}#main .post h2,#main .reading-box h2,#main h2,.ei-title h2,.fusion-modal h2,.fusion-title h2,.fusion-widget-area h2,.main-flex .slide-content h2,.post-content h2,.title h2{font-family:"RTCRaleway" !important}.fusion-author .fusion-author-title,.fusion-header-tagline,.fusion-modal .modal-title,.fusion-modal h3,.fusion-pricing-table .pricing-row,.fusion-pricing-table .title-row,.fusion-title h3,.fusion-widget-area h3,.main-flex .slide-content h3,.post-content h3,.project-content h3,.sidebar .widget h3{font-family:"RTCRaleway" !important}#main #comment-submit,#main .comment-submit,#reviews input#submit,.button-default,.button.default,.comment-form input[type=submit],.fusion-button,.fusion-button-default,.fusion-portfolio-one .fusion-button,.post-password-form input[type=submit],.slidingbar-area .button-default,.ticket-selector-submit-btn[type=submit],.tml-submit-wrap input[type=submit],input.button-default{font-family:"RTCRaleway" !important}#wrapper #main .fusion-portfolio-content>h1.fusion-post-title,#wrapper #main .fusion-portfolio-content>h2.fusion-post-title,#wrapper #main .fusion-post-content>.blog-shortcode-post-title,#wrapper #main .fusion-post-content>h1.fusion-post-title,#wrapper #main .fusion-post-content>h2.fusion-post-title,#wrapper #main .post>.fusion-post-title-meta-wrap>h1.fusion-post-title,#wrapper #main .post>.fusion-post-title-meta-wrap>h2.fusion-post-title,#wrapper #main .post>h1.fusion-post-title,#wrapper #main .post>h2.fusion-post-title,#wrapper .fusion-events-shortcode .fusion-events-meta h1,#wrapper .fusion-events-shortcode .fusion-events-meta h2,.single-product #main .product h1.product_title,.single-product #main .product h2.product_title{font-family:"RTCRaleway" !important}#wrapper #main .fusion-portfolio-content>h4.fusion-post-title,#wrapper #main .fusion-portfolio-content>h4.fusion-post-title,#wrapper #main .fusion-post-content>.blog-shortcode-post-title,#wrapper #main .fusion-post-content>h4.fusion-post-title,#wrapper #main .fusion-post-content>h4.fusion-post-title,#wrapper #main .post>.fusion-post-title-meta-wrap>h4.fusion-post-title,#wrapper #main .post>.fusion-post-title-meta-wrap>h4.fusion-post-title,#wrapper #main .post>h1.fusion-post-title,#wrapper #main .post>h4.fusion-post-title,#wrapper .fusion-events-shortcode .fusion-events-meta h4,#wrapper .fusion-events-shortcode .fusion-events-meta h4,.single-product #main .product h4.product_title,.single-product #main .product h4.product_title{font-family:"RTCRaleway" !important}.fusion-accordian .panel-title .fusion-toggle-heading{font-family:"RTCRaleway" !important}#tribe-events-content .tribe-events-tooltip .entry-title,#tribe-events-content .tribe-events-tooltip .tribe-event-title,.fusion-accordian .panel-heading a,.fusion-accordian .panel-title,.fusion-carousel-title,.fusion-flip-boxes .fusion-flip-box .flip-box-heading-back,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-title,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-title a,.fusion-megamenu-title,.fusion-modal h4,.fusion-person .person-desc .person-author .person-author-wrapper,.fusion-tabs .nav-tabs li .fusion-tab-heading,.fusion-tabs-widget .fusion-tabs-nav ul li a,.fusion-title h4,.fusion-widget-area h4,.popover .popover-title,.post-content h4,.project-content .project-info h4,.share-box h4,table th{font-family:"RTCRaleway" !important}h1,h2{font-weight:700}.fa-file-pdf,.fa-file-audio{color:#cdcdcd;padding-right:6px}.fusion-alert-content-wrapper .alert-icon .fa-exclamation-triangle{font-size:26px}.fusion-alert-content-wrapper .fusion-alert-content p{font-size:16px;color:#4a4a4a}#subnav_7{display:none !important}.fullfullwidth{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhcnRpYWxzL193ZWJmb250cy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy92ZW5kb3Ivbm9ybWFsaXplLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ndXR0ZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2dyaWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2VsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZnJhbWUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCJfZ2xvYmFsLnNjc3MiLCJwYXJ0aWFscy9faGVhZGVyX25hdi5zY3NzIiwicGFydGlhbHMvX21lZ2FfbWVudS5zY3NzIiwicGFydGlhbHMvX3NlYXJjaF9jb25zb2xlLnNjc3MiLCJwYXJ0aWFscy9fcnRjX2N1c3RvbV9icmVhZGNydW1icy5zY3NzIiwicGFydGlhbHMvX3RyaXBwbGFubmVyLnNjc3MiLCJwYXJ0aWFscy9fbGF5b3V0cy5zY3NzIiwicGFydGlhbHMvX3J0Y19uZXdzcm9vbS5zY3NzIiwicGFydGlhbHMvX3J0Y19hbGVydC5zY3NzIiwicGFydGlhbHMvX3J0Y19pbnRyby5zY3NzIiwicGFydGlhbHMvX3J0Y19pbnNldC5zY3NzIiwicGFydGlhbHMvX3J0Y19zbWFsbF90b3V0cy5zY3NzIiwicGFydGlhbHMvX3J0Y18xMDBfYmFubmVyLnNjc3MiLCJwYXJ0aWFscy9fcnRjX2FjY29yZGlvbi5zY3NzIiwicGFydGlhbHMvX3J0Y190b29sdGlwLnNjc3MiLCJwYXJ0aWFscy9fcnRjX2N0YV90b3V0cy5zY3NzIiwicGFydGlhbHMvX3J0Y19odG1sX3RvdXRzLnNjc3MiLCJwYXJ0aWFscy9fcnRjX2VtcGhhc2lzX3RvdXRzLnNjc3MiLCJwYXJ0aWFscy9fcnRjX3NpZGViYXJfY29udGFjdF9tb2R1bGUuc2NzcyIsInBhcnRpYWxzL19ydGNfc2lkZWJhcl9kb2NfdG91dHMuc2NzcyIsInBhcnRpYWxzL19ydGNfc2lkZWJhcl93aGF0aXNfdG91dHMuc2NzcyIsInBhcnRpYWxzL19ydGNfc2lkZWJhcl9hY2NvcmRpb25fdG91dHMuc2NzcyIsInBhcnRpYWxzL19ydGNfc2lkZWJhcl9hbHRfY3RhX3RvdXRzLnNjc3MiLCJwYXJ0aWFscy9fcnRjX2Zvb3Rlci5zY3NzIiwiX292ZXJyaWRlcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJDQUFBLFdBQ0UseUJBQ0Esa0lBRUEsZ0JBQ0Esa0JBR0YsV0FDRSx5QkFDQSw4SUFFQSxnQkFDQSxrQkFHRixXQUNFLHlCQUNBLHNJQUVBLGdCQUNBLGtCQUdGLFdBQ0UseUJBQ0Esa0pBRUEsZ0JBQ0Esa0JBR0YsV0FDRSx5QkFDQSw4SEFFQSxnQkFDQSxrQkFHRixXQUNFLHlCQUNBLDBJQUVBLGdCQUNBLGtCQUdGLFdBQ0UseUJBQ0Esd0lBRUEsZ0JBQ0Esa0JBR0YsV0FDRSx5QkFDQSxvSkFFQSxnQkFDQSxrQkFHRixXQUNFLHlCQUNBLGdJQUVBLGdCQUNBLGtCQUdGLFdBQ0UseUJBQ0EsNElBRUEsZ0JBQ0Esa0JDc0dNLDBDQ3RJTixpREFDRSxXQUNBLFVBQ0EsZUM3Q0YsNEVBUUEsS0FDRSxpQkFDQSw4QkFRRixLQUNFLFNBTUYsR0FDRSxjQUNBLGVBU0YsR0FDRSx1QkFDQSxTQUNBLGlCQU1GLElBQ0UsZ0NBQ0EsY0FRRixFQUNFLCtCQU1GLFlBQ0UsZ0JBQ0EsaUNBS0YsU0FFRSxtQkFNRixjQUdFLGdDQUNBLGNBS0YsTUFDRSxjQU1GLFFBRUUsY0FDQSxjQUNBLGtCQUNBLHdCQUdGLElBQ0UsZUFHRixJQUNFLFdBUUYsSUFDRSxrQkFTRixzQ0FLRSxvQkFDQSxlQUNBLGlCQUNBLFNBTUYsYUFFRSxpQkFNRixjQUVFLG9CQUtGLGdEQUlFLDBCQUtGLHdIQUlFLGtCQUNBLFVBS0YsNEdBSUUsOEJBS0YsU0FDRSwyQkFRRixPQUNFLHNCQUNBLGNBQ0EsY0FDQSxlQUNBLFVBQ0EsbUJBS0YsU0FDRSx3QkFLRixTQUNFLGNBTUYsNkJBRUUsc0JBQ0EsVUFLRixrRkFFRSxZQU1GLGNBQ0UsNkJBQ0Esb0JBS0YseUNBQ0Usd0JBTUYsNkJBQ0UsMEJBQ0EsYUFRRixRQUNFLGNBS0YsUUFDRSxrQkFRRixTQUNFLGFBS0YsU0FDRSxhQVFBLG9PQUNFLGFBS0osa0JBQ0UsMkJBQ0EseUJDeEpGLGVBQ0Usd0VBR0YsS0FDRSxzQkFDQSxVQ3JGZSxLRHlGakIscUJBR0UsbUJBSUYsS0FDRSxTQUNBLFVBVUEsV0NwR0ksS0RzR0osWUM5RWUsd0JEK0VmLFlDekVtQixPRDBFbkIsWUM5R2dCLEtEK0doQixNQzNHUSxRRDhHTixtQ0FDQSxrQ0FJSixJQUVFLHFCQUNBLHNCQUdBLGVBQ0EsWUFDQSwrQkFJRixTQUNFLFlBQ0EsZ0JBQ0EsY0NoR1ksRURvR2QsT0FDRSxzQkFDQSxXQUNBLGNDdkdZLEVEOEdaLDZHQUdFLDBCQUtKLE9BRUUsVUFDQSxnQkFDQSxTQUNBLGNDM0hZLEVENEhaLHlCQUNBLGNBQ0EsT0N4SG1CLEtDMkZyQiw4QkFDRSxVRmdDRixJQUNFLGNBQ0EsaUNBSUYsc0NBS0Usb0JBSUYsWUFDRSx5QkFHRixXQUNFLHdCR2xQRixnQkNvQk0sNkNDZE4sVUorQ2EsU0k5Q2IsaUJBQ0Esa0JSK0pNLDBDTXZLTixnQkNvQk0sZ0REakJKLHNCQ2lCSSw2Q0NkTixVRkYrQixLRUcvQixpQkFDQSxrQlIrSk0sMENNcEtKLHNCQ2lCSSxnRERiSixxQkNzQkUsK0JDdkJKLFVGRStCLEtFRC9CLGlCQUNBLGtCRktBLFFFU0EsYUFDQSxtQkZOQSxNR3FHQSxjQUlFLGFBQ0EsWUFzQ0EsTUFUTSxLSHBJTixXR2tHRixXSDlGRSxhRzhGRixjSHhGRSxjR21JQSxNQVRNLEtIdEhOLGdCRytIQSxNQVRNLEtIdEdKLHlQQUNFLGdCTm9IQSwwQ01ySEYsdVFBQ0UsaUJOb0hBLDBDTXJIRix5UEFDRSxpQkFhSiwrTUdzREYsY0h2Q0ksaUJHa0ZGLE1BVE0sY0h6RUosaUJHa0ZGLE1BVE0sZUh6RUosaUJHa0ZGLE1BVE0sSUh6RUosaUJHa0ZGLE1BVE0sZUh6RUosaUJHa0ZGLE1BVE0sZUh6RUosaUJHa0ZGLE1BVE0sSUh6RUosaUJHa0ZGLE1BVE0sZUh6RUosaUJHa0ZGLE1BVE0sZUh6RUosaUJHa0ZGLE1BVE0sSUh6RUosa0JHa0ZGLE1BVE0sZUh6RUosa0JHa0ZGLE1BVE0sZUh6RUosa0JHa0ZGLE1BVE0sS1RlRiwwQ001R0YscUJHMkRKLFdBMkNFLE1BVE0sS0h4Rk4sa1BHc0RGLGNIaERJLHVCRzJGRixNQVRNLEtIekVKLGtCR2tGRixNQVRNLGNIekVKLGtCR2tGRixNQVRNLGVIekVKLGtCR2tGRixNQVRNLElIekVKLGtCR2tGRixNQVRNLGVIekVKLGtCR2tGRixNQVRNLGVIekVKLGtCR2tGRixNQVRNLElIekVKLGtCR2tGRixNQVRNLGVIekVKLGtCR2tGRixNQVRNLGVIekVKLGtCR2tGRixNQVRNLElIekVKLG1CR2tGRixNQVRNLGVIekVKLG1CR2tGRixNQVRNLGVIekVKLG1CR2tGRixNQVRNLE1UZUYsMENNNUdGLG9CRzJESixXQTJDRSxNQVRNLEtIeEZOLHFPR3NERixjSGhESSxzQkcyRkYsTUFUTSxLSHpFSixpQkdrRkYsTUFUTSxjSHpFSixpQkdrRkYsTUFUTSxlSHpFSixpQkdrRkYsTUFUTSxJSHpFSixpQkdrRkYsTUFUTSxlSHpFSixpQkdrRkYsTUFUTSxlSHpFSixpQkdrRkYsTUFUTSxJSHpFSixpQkdrRkYsTUFUTSxlSHpFSixpQkdrRkYsTUFUTSxlSHpFSixpQkdrRkYsTUFUTSxJSHpFSixrQkdrRkYsTUFUTSxlSHpFSixrQkdrRkYsTUFUTSxlSHpFSixrQkdrRkYsTUFUTSxNSGpFUixrQ0FDRSxXQUlGLGtDQUNFLFlBOEJGLGVDdkdNLDZDUG1KQSwwQ001Q04sZUN2R00sZ0REMkdKLHFCR2tDQSxNQVRNLHFCRjNISiwyQ1AwSUUsMENNakNBLHFCRzJCSixNQVRNLHNCRjNISiw4Q0RzRUoscUJHOERFLE1BVE0sS0hqRFIsdUJHMERFLE1BVE0sS0h6Q04sd0JHa0RBLE1BVE0sOEJIekNOLHdCR2tEQSxNQVRNLCtCSHpDTix3QkdrREEsTUFUTSxvQkh6Q04sd0JHa0RBLE1BVE0sK0JIekNOLHdCR2tEQSxNQVRNLCtCSHpDTix3QkdrREEsTUFUTSxvQkh6Q04sd0JHa0RBLE1BVE0sK0JIekNOLHdCR2tEQSxNQVRNLCtCSHpDTix3QkdrREEsTUFUTSxvQkh6Q04seUJHa0RBLE1BVE0sK0JIekNOLHlCR2tEQSxNQVRNLCtCSHpDTix5QkdrREEsTUFUTSxxQlRlRiwwQ01wRU4scUJHOERFLE1BVE0sS0hqRFIsdUJHMERFLE1BVE0sS0h6Q04sd0JHa0RBLE1BVE0sK0JIekNOLHdCR2tEQSxNQVRNLGdDSHpDTix3QkdrREEsTUFUTSxxQkh6Q04sd0JHa0RBLE1BVE0sZ0NIekNOLHdCR2tEQSxNQVRNLGdDSHpDTix3QkdrREEsTUFUTSxxQkh6Q04sd0JHa0RBLE1BVE0sZ0NIekNOLHdCR2tEQSxNQVRNLGdDSHpDTix3QkdrREEsTUFUTSxxQkh6Q04seUJHa0RBLE1BVE0sZ0NIekNOLHlCR2tEQSxNQVRNLGdDSHpDTix5QkdrREEsTUFUTSxzQkhyRFIsNEJHOERFLE1BVE0sS0hqRFIsOEJHMERFLE1BVE0sS0h6Q04seUJHa0RBLE1BVE0sK0JIekNOLHlCR2tEQSxNQVRNLGdDSHpDTix5QkdrREEsTUFUTSxxQkh6Q04seUJHa0RBLE1BVE0sZ0NIekNOLHlCR2tEQSxNQVRNLGdDSHpDTix5QkdrREEsTUFUTSxxQkh6Q04seUJHa0RBLE1BVE0sZ0NIekNOLHlCR2tEQSxNQVRNLGdDSHpDTix5QkdrREEsTUFUTSxxQkh6Q04sMEJHa0RBLE1BVE0sZ0NIekNOLDBCR2tEQSxNQVRNLGdDSHpDTiwwQkdrREEsTUFUTSx1QlRlRiwwQ01wRU4sMkJHOERFLE1BVE0sS0hqRFIsNkJHMERFLE1BVE0sS0h6Q04sd0JHa0RBLE1BVE0sK0JIekNOLHdCR2tEQSxNQVRNLGdDSHpDTix3QkdrREEsTUFUTSxxQkh6Q04sd0JHa0RBLE1BVE0sZ0NIekNOLHdCR2tEQSxNQVRNLGdDSHpDTix3QkdrREEsTUFUTSxxQkh6Q04sd0JHa0RBLE1BVE0sZ0NIekNOLHdCR2tEQSxNQVRNLGdDSHpDTix3QkdrREEsTUFUTSxxQkh6Q04seUJHa0RBLE1BVE0sZ0NIekNOLHlCR2tEQSxNQVRNLGdDSHpDTix5QkdrREEsTUFUTSx1QkhVTixnQ0M5SUksNkNQbUpBLDBDTUxKLGdDQzlJSSxnRERvSkosMkNDcEpJLDZDUG1KQSwwQ01DSiwyQ0NwSkksZ0REeUpKLHNCQ3pKSSw2Q1BtSkEsMENNTUosc0JDekpJLGtFRTZJSixNQVRNLEtDcElSLGtCRDZJRSxNQVRNLElDcElSLGtCRDZJRSxNQVRNLGVDcElSLGtCRDZJRSxNQVRNLElDcElSLGtCRDZJRSxNQVRNLElDcElSLGtCRDZJRSxNQVRNLGVDcElSLGtCRDZJRSxNQVRNLGVDcElSLGtCRDZJRSxNQVRNLE1UZUYsMENVbkpOLG1CRDZJRSxNQVRNLEtDcElSLG1CRDZJRSxNQVRNLElDcElSLG1CRDZJRSxNQVRNLGVDcElSLG1CRDZJRSxNQVRNLElDcElSLG1CRDZJRSxNQVRNLElDcElSLG1CRDZJRSxNQVRNLGVDcElSLG1CRDZJRSxNQVRNLGVDcElSLG1CRDZJRSxNQVRNLE9UZUYsMENVbkpOLGtCRDZJRSxNQVRNLEtDcElSLGtCRDZJRSxNQVRNLElDcElSLGtCRDZJRSxNQVRNLGVDcElSLGtCRDZJRSxNQVRNLElDcElSLGtCRDZJRSxNQVRNLElDcElSLGtCRDZJRSxNQVRNLGVDcElSLGtCRDZJRSxNQVRNLGVDcElSLGtCRDZJRSxNQVRNLE9DcElSLGdDRDZJRSxNQVRNLHFCQ3BJUixnQ0Q2SUUsTUFUTSxvQkNwSVIsZ0NENklFLE1BVE0sK0JDcElSLGdDRDZJRSxNQVRNLG9CQ3BJUixnQ0Q2SUUsTUFUTSxvQkNwSVIsZ0NENklFLE1BVE0sK0JDcElSLGdDRDZJRSxNQVRNLCtCQ3BJUixnQ0Q2SUUsTUFUTSxzQlRlRiwwQ1VuSk4sZ0NENklFLE1BVE0sc0JDcElSLGdDRDZJRSxNQVRNLHFCQ3BJUixnQ0Q2SUUsTUFUTSxnQ0NwSVIsZ0NENklFLE1BVE0scUJDcElSLGdDRDZJRSxNQVRNLHFCQ3BJUixnQ0Q2SUUsTUFUTSxnQ0NwSVIsZ0NENklFLE1BVE0sZ0NDcElSLGdDRDZJRSxNQVRNLHVCQ3BJUixpQ0Q2SUUsTUFUTSxzQkNwSVIsaUNENklFLE1BVE0scUJDcElSLGlDRDZJRSxNQVRNLGdDQ3BJUixpQ0Q2SUUsTUFUTSxxQkNwSVIsaUNENklFLE1BVE0scUJDcElSLGlDRDZJRSxNQVRNLGdDQ3BJUixpQ0Q2SUUsTUFUTSxnQ0NwSVIsaUNENklFLE1BVE0sd0JUZUYsMENVbkpOLGdDRDZJRSxNQVRNLHNCQ3BJUixnQ0Q2SUUsTUFUTSxxQkNwSVIsZ0NENklFLE1BVE0sZ0NDcElSLGdDRDZJRSxNQVRNLHFCQ3BJUixnQ0Q2SUUsTUFUTSxxQkNwSVIsZ0NENklFLE1BVE0sZ0NDcElSLGdDRDZJRSxNQVRNLGdDQ3BJUixnQ0Q2SUUsTUFUTSx3QkhtRUosdUJLOU1FLDZCQUdGLDZCQUVJLDZCQXNCRSxnQ0Z5SFIsTUFUTSxjRWhIRSxnQ0Z5SFIsTUFUTSxlRWhIRSxnQ0Z5SFIsTUFUTSxJRWhIRSxnQ0Z5SFIsTUFUTSxlRWhIRSxnQ0Z5SFIsTUFUTSxlRWhIRSxnQ0Z5SFIsTUFUTSxJRWhIRSxnQ0Z5SFIsTUFUTSxlRWhIRSxnQ0Z5SFIsTUFUTSxlRWhIRSxnQ0Z5SFIsTUFUTSxJRWhIRSxpQ0Z5SFIsTUFUTSxlRWhIRSxpQ0Z5SFIsTUFUTSxlRWhIRSxpQ0Z5SFIsTUFUTSxLVGVGLDBDVy9ISSxpQ0Z5SFIsTUFUTSxjRWhIRSxpQ0Z5SFIsTUFUTSxlRWhIRSxpQ0Z5SFIsTUFUTSxJRWhIRSxpQ0Z5SFIsTUFUTSxlRWhIRSxpQ0Z5SFIsTUFUTSxlRWhIRSxpQ0Z5SFIsTUFUTSxJRWhIRSxpQ0Z5SFIsTUFUTSxlRWhIRSxpQ0Z5SFIsTUFUTSxlRWhIRSxpQ0Z5SFIsTUFUTSxJRWhIRSxrQ0Z5SFIsTUFUTSxlRWhIRSxrQ0Z5SFIsTUFUTSxlRWhIRSxrQ0Z5SFIsTUFUTSxNVGVGLDBDVy9ISSxnQ0Z5SFIsTUFUTSxjRWhIRSxnQ0Z5SFIsTUFUTSxlRWhIRSxnQ0Z5SFIsTUFUTSxJRWhIRSxnQ0Z5SFIsTUFUTSxlRWhIRSxnQ0Z5SFIsTUFUTSxlRWhIRSxnQ0Z5SFIsTUFUTSxJRWhIRSxnQ0Z5SFIsTUFUTSxlRWhIRSxnQ0Z5SFIsTUFUTSxlRWhIRSxnQ0Z5SFIsTUFUTSxJRWhIRSxpQ0Z5SFIsTUFUTSxlRWhIRSxpQ0Z5SFIsTUFUTSxlRWhIRSxpQ0Z5SFIsTUFUTSxNSHlFSix3Qks3S0UsNkJBR0YsOEJBRUksK0JYOEdGLDBDTW9ERix3Qks5TUUsNkJBR0YsOEJBRUksOEJYcUpGLDBDV3hJSSxpQ0ZrSVIsTUFUTSxjRXpIRSxpQ0ZrSVIsTUFUTSxlRXpIRSxpQ0ZrSVIsTUFUTSxJRXpIRSxpQ0ZrSVIsTUFUTSxlRXpIRSxpQ0ZrSVIsTUFUTSxlRXpIRSxpQ0ZrSVIsTUFUTSxJRXpIRSxpQ0ZrSVIsTUFUTSxlRXpIRSxpQ0ZrSVIsTUFUTSxlRXpIRSxpQ0ZrSVIsTUFUTSxJRXpIRSxrQ0ZrSVIsTUFUTSxlRXpIRSxrQ0ZrSVIsTUFUTSxlRXpIRSxrQ0ZrSVIsTUFUTSxNVGVGLDBDVy9ISSxrQ0Z5SFIsTUFUTSxjRWhIRSxrQ0Z5SFIsTUFUTSxlRWhIRSxrQ0Z5SFIsTUFUTSxJRWhIRSxrQ0Z5SFIsTUFUTSxlRWhIRSxrQ0Z5SFIsTUFUTSxlRWhIRSxrQ0Z5SFIsTUFUTSxJRWhIRSxrQ0Z5SFIsTUFUTSxlRWhIRSxrQ0Z5SFIsTUFUTSxlRWhIRSxrQ0Z5SFIsTUFUTSxJRWhIRSxtQ0Z5SFIsTUFUTSxlRWhIRSxtQ0Z5SFIsTUFUTSxlRWhIRSxtQ0Z5SFIsTUFUTSxNVGVGLDBDVy9ISSxpQ0Z5SFIsTUFUTSxjRWhIRSxpQ0Z5SFIsTUFUTSxlRWhIRSxpQ0Z5SFIsTUFUTSxJRWhIRSxpQ0Z5SFIsTUFUTSxlRWhIRSxpQ0Z5SFIsTUFUTSxlRWhIRSxpQ0Z5SFIsTUFUTSxJRWhIRSxpQ0Z5SFIsTUFUTSxlRWhIRSxpQ0Z5SFIsTUFUTSxlRWhIRSxpQ0Z5SFIsTUFUTSxJRWhIRSxrQ0Z5SFIsTUFUTSxlRWhIRSxrQ0Z5SFIsTUFUTSxlRWhIRSxrQ0Z5SFIsTUFUTSxNVGVGLDBDTTBERix5Qks3S0UsNkJBR0YsK0JBRUksZ0NYOEdGLDBDTW9ERix1Qks5TUUsNkJBR0YsNkJBRUksOEJYcUpGLDBDV3hJSSxnQ0ZrSVIsTUFUTSxjRXpIRSxnQ0ZrSVIsTUFUTSxlRXpIRSxnQ0ZrSVIsTUFUTSxJRXpIRSxnQ0ZrSVIsTUFUTSxlRXpIRSxnQ0ZrSVIsTUFUTSxlRXpIRSxnQ0ZrSVIsTUFUTSxJRXpIRSxnQ0ZrSVIsTUFUTSxlRXpIRSxnQ0ZrSVIsTUFUTSxlRXpIRSxnQ0ZrSVIsTUFUTSxJRXpIRSxpQ0ZrSVIsTUFUTSxlRXpIRSxpQ0ZrSVIsTUFUTSxlRXpIRSxpQ0ZrSVIsTUFUTSxNVGVGLDBDV3hJSSxpQ0ZrSVIsTUFUTSxjRXpIRSxpQ0ZrSVIsTUFUTSxlRXpIRSxpQ0ZrSVIsTUFUTSxJRXpIRSxpQ0ZrSVIsTUFUTSxlRXpIRSxpQ0ZrSVIsTUFUTSxlRXpIRSxpQ0ZrSVIsTUFUTSxJRXpIRSxpQ0ZrSVIsTUFUTSxlRXpIRSxpQ0ZrSVIsTUFUTSxlRXpIRSxpQ0ZrSVIsTUFUTSxJRXpIRSxrQ0ZrSVIsTUFUTSxlRXpIRSxrQ0ZrSVIsTUFUTSxlRXpIRSxrQ0ZrSVIsTUFUTSxNVGVGLDBDVy9ISSxnQ0Z5SFIsTUFUTSxjRWhIRSxnQ0Z5SFIsTUFUTSxlRWhIRSxnQ0Z5SFIsTUFUTSxJRWhIRSxnQ0Z5SFIsTUFUTSxlRWhIRSxnQ0Z5SFIsTUFUTSxlRWhIRSxnQ0Z5SFIsTUFUTSxJRWhIRSxnQ0Z5SFIsTUFUTSxlRWhIRSxnQ0Z5SFIsTUFUTSxlRWhIRSxnQ0Z5SFIsTUFUTSxJRWhIRSxpQ0Z5SFIsTUFUTSxlRWhIRSxpQ0Z5SFIsTUFUTSxlRWhIRSxpQ0Z5SFIsTUFUTSxNVGVGLDBDTTBERix3Qks3S0UsNkJBR0YsOEJBRUksZ0NMc0xKLGdCTW5NRixlTnVNRSwrQk12TUYsbUNObU1FLGdCTW5NRiwwQk51TUUsK0JNdk1GLDhDTm1NRSxnQk1uTUYsMkJOdU1FLCtCTXZNRiwrQ05tTUUsZ0JNbk1GLGdCTnVNRSwrQk12TUYsb0NObU1FLGdCTW5NRiwyQk51TUUsK0JNdk1GLCtDTm1NRSxnQk1uTUYsMkJOdU1FLCtCTXZNRiwrQ05tTUUsZ0JNbk1GLGdCTnVNRSwrQk12TUYsb0NObU1FLGdCTW5NRiwyQk51TUUsK0JNdk1GLCtDTm1NRSxnQk1uTUYsMkJOdU1FLCtCTXZNRiwrQ05tTUUsZ0JNbk1GLGdCTnVNRSwrQk12TUYsb0NObU1FLGlCTW5NRiwyQk51TUUsZ0NNdk1GLCtDTm1NRSxpQk1uTUYsMkJOdU1FLGdDTXZNRiwrQ1oySEksMENNd0VGLGlCTW5NRixlTnVNRSxnQ012TUYsb0NObU1FLGlCTW5NRiwwQk51TUUsZ0NNdk1GLCtDTm1NRSxpQk1uTUYsMkJOdU1FLGdDTXZNRixnRE5tTUUsaUJNbk1GLGdCTnVNRSxnQ012TUYscUNObU1FLGlCTW5NRiwyQk51TUUsZ0NNdk1GLGdETm1NRSxpQk1uTUYsMkJOdU1FLGdDTXZNRixnRE5tTUUsaUJNbk1GLGdCTnVNRSxnQ012TUYscUNObU1FLGlCTW5NRiwyQk51TUUsZ0NNdk1GLGdETm1NRSxpQk1uTUYsMkJOdU1FLGdDTXZNRixnRE5tTUUsaUJNbk1GLGdCTnVNRSxnQ012TUYscUNObU1FLGtCTW5NRiwyQk51TUUsaUNNdk1GLGdETm1NRSxrQk1uTUYsMkJOdU1FLGlDTXZNRixpRFoySEksMENNd0VGLGdCTW5NRixlTnVNRSwrQk12TUYsb0NObU1FLGdCTW5NRiwwQk51TUUsK0JNdk1GLCtDTm1NRSxnQk1uTUYsMkJOdU1FLCtCTXZNRixnRE5tTUUsZ0JNbk1GLGdCTnVNRSwrQk12TUYscUNObU1FLGdCTW5NRiwyQk51TUUsK0JNdk1GLGdETm1NRSxnQk1uTUYsMkJOdU1FLCtCTXZNRixnRE5tTUUsZ0JNbk1GLGdCTnVNRSwrQk12TUYscUNObU1FLGdCTW5NRiwyQk51TUUsK0JNdk1GLGdETm1NRSxnQk1uTUYsMkJOdU1FLCtCTXZNRixnRE5tTUUsZ0JNbk1GLGdCTnVNRSwrQk12TUYscUNObU1FLGlCTW5NRiwyQk51TUUsZ0NNdk1GLGdETm1NRSxpQk1uTUYsMkJOdU1FLGdDTXZNRixpRE55TkYsUUUvT0EsYUFDQSx3QkZrUEUsY0dySUYsWUFDQSxnQkh3SUUsY0c1R0EsT0FUTSxLSHlITixnQkdoSEEsT0FUTSxLSHVJSix5UEFDRSxnQk56SEEsMENNd0hGLHVRQUNFLGlCTnpIQSwwQ013SEYseVBBQ0UsaUJBWUYsK01HdExKLGNIcU1NLGlCRzFKSixPQVRNLGNIbUtGLGlCRzFKSixPQVRNLGVIbUtGLGlCRzFKSixPQVRNLElIbUtGLGlCRzFKSixPQVRNLGVIbUtGLGlCRzFKSixPQVRNLGVIbUtGLGlCRzFKSixPQVRNLElIbUtGLGlCRzFKSixPQVRNLGVIbUtGLGlCRzFKSixPQVRNLGVIbUtGLGlCRzFKSixPQVRNLElIbUtGLGtCRzFKSixPQVRNLGVIbUtGLGtCRzFKSixPQVRNLGVIbUtGLGtCRzFKSixPQVRNLEtUZUYsMENNZ0lBLHFCR2pMTixXQTJDRSxPQVRNLEtIb0pKLGtQR3RMSixjSDRMTSx1QkdqSkosT0FUTSxLSG1LRixrQkcxSkosT0FUTSxjSG1LRixrQkcxSkosT0FUTSxlSG1LRixrQkcxSkosT0FUTSxJSG1LRixrQkcxSkosT0FUTSxlSG1LRixrQkcxSkosT0FUTSxlSG1LRixrQkcxSkosT0FUTSxJSG1LRixrQkcxSkosT0FUTSxlSG1LRixrQkcxSkosT0FUTSxlSG1LRixrQkcxSkosT0FUTSxJSG1LRixtQkcxSkosT0FUTSxlSG1LRixtQkcxSkosT0FUTSxlSG1LRixtQkcxSkosT0FUTSxNVGVGLDBDTWdJQSxvQkdqTE4sV0EyQ0UsT0FUTSxLSG9KSixxT0d0TEosY0g0TE0sc0JHakpKLE9BVE0sS0htS0YsaUJHMUpKLE9BVE0sY0htS0YsaUJHMUpKLE9BVE0sZUhtS0YsaUJHMUpKLE9BVE0sSUhtS0YsaUJHMUpKLE9BVE0sZUhtS0YsaUJHMUpKLE9BVE0sZUhtS0YsaUJHMUpKLE9BVE0sSUhtS0YsaUJHMUpKLE9BVE0sZUhtS0YsaUJHMUpKLE9BVE0sZUhtS0YsaUJHMUpKLE9BVE0sSUhtS0Ysa0JHMUpKLE9BVE0sZUhtS0Ysa0JHMUpKLE9BVE0sZUhtS0Ysa0JHMUpKLE9BVE0sTUgrS0osZ0NDblRFLDZDUG1KQSwwQ01nS0YsZ0NDblRFLGdERHdURixzQkN4VEUsNkNQbUpBLDBDTXFLRixzQkN4VEUsZ0REdUdOLGVDdkdNLDZDUG1KQSwwQ001Q04sZUN2R00sZ0REMkdKLHFCR2tDQSxPQVRNLHFCRjNISiwyQ1AwSUUsMENNakNBLHFCRzJCSixPQVRNLHNCRjNISiw4Q0RzRUoscUJHOERFLE9BVE0sS0hqRFIsdUJHMERFLE9BVE0sS0h6Q04sd0JHa0RBLE9BVE0sOEJIekNOLHdCR2tEQSxPQVRNLCtCSHpDTix3QkdrREEsT0FUTSxvQkh6Q04sd0JHa0RBLE9BVE0sK0JIekNOLHdCR2tEQSxPQVRNLCtCSHpDTix3QkdrREEsT0FUTSxvQkh6Q04sd0JHa0RBLE9BVE0sK0JIekNOLHdCR2tEQSxPQVRNLCtCSHpDTix3QkdrREEsT0FUTSxvQkh6Q04seUJHa0RBLE9BVE0sK0JIekNOLHlCR2tEQSxPQVRNLCtCSHpDTix5QkdrREEsT0FUTSxxQlRlRiwwQ01wRU4scUJHOERFLE9BVE0sS0hqRFIsdUJHMERFLE9BVE0sS0h6Q04sd0JHa0RBLE9BVE0sK0JIekNOLHdCR2tEQSxPQVRNLGdDSHpDTix3QkdrREEsT0FUTSxxQkh6Q04sd0JHa0RBLE9BVE0sZ0NIekNOLHdCR2tEQSxPQVRNLGdDSHpDTix3QkdrREEsT0FUTSxxQkh6Q04sd0JHa0RBLE9BVE0sZ0NIekNOLHdCR2tEQSxPQVRNLGdDSHpDTix3QkdrREEsT0FUTSxxQkh6Q04seUJHa0RBLE9BVE0sZ0NIekNOLHlCR2tEQSxPQVRNLGdDSHpDTix5QkdrREEsT0FUTSxzQkhyRFIsNEJHOERFLE9BVE0sS0hqRFIsOEJHMERFLE9BVE0sS0h6Q04seUJHa0RBLE9BVE0sK0JIekNOLHlCR2tEQSxPQVRNLGdDSHpDTix5QkdrREEsT0FUTSxxQkh6Q04seUJHa0RBLE9BVE0sZ0NIekNOLHlCR2tEQSxPQVRNLGdDSHpDTix5QkdrREEsT0FUTSxxQkh6Q04seUJHa0RBLE9BVE0sZ0NIekNOLHlCR2tEQSxPQVRNLGdDSHpDTix5QkdrREEsT0FUTSxxQkh6Q04sMEJHa0RBLE9BVE0sZ0NIekNOLDBCR2tEQSxPQVRNLGdDSHpDTiwwQkdrREEsT0FUTSx1QlRlRiwwQ01wRU4sMkJHOERFLE9BVE0sS0hqRFIsNkJHMERFLE9BVE0sS0h6Q04sd0JHa0RBLE9BVE0sK0JIekNOLHdCR2tEQSxPQVRNLGdDSHpDTix3QkdrREEsT0FUTSxxQkh6Q04sd0JHa0RBLE9BVE0sZ0NIekNOLHdCR2tEQSxPQVRNLGdDSHpDTix3QkdrREEsT0FUTSxxQkh6Q04sd0JHa0RBLE9BVE0sZ0NIekNOLHdCR2tEQSxPQVRNLGdDSHpDTix3QkdrREEsT0FUTSxxQkh6Q04seUJHa0RBLE9BVE0sZ0NIekNOLHlCR2tEQSxPQVRNLGdDSHpDTix5QkdrREEsT0FUTSx1QkhrTVIsWU9wVkUsZ0JBQ0Esa0JBQ0EsaUJBQ0Esb0JBbUNJLFlQa1ROLGtCQUNFLFdBR0YsWU9uU0UsZ0JBQ0EsZUFHRixpQ0FDQSw0Q1BrU0EsY08zU0UsZ0JBQ0EsZ0JBQ0EsZ0JBTUYsaUNBQ0EsNENQdVNBLHNCT2hTQSxhQUNBLHNCQUNBLGdCQUVBLDhCQUNFLGdCQUNBLGlCYnNGSSwwQ00yTUosbUJPNVdBLGdCQUNBLGtCQUNBLGlCQUNBLG9CQW1DSSxZUDBVSix5QkFDRSxXQUdGLG1CTzNUQSxnQkFDQSxlQUdGLGlDQUNBLDRDUDBURSw2Qk9uVEYsYUFDQSxzQkFDQSxnQkFFQSxxQ0FDRSxnQkFDQSxpQlBpVEEscUJPdlVBLGdCQUNBLGdCQUNBLGdCQU1GLGlDQUNBLDZDYm1HTSwwQ00yTUosa0JPNVdBLGdCQUNBLGtCQUNBLGlCQUNBLG9CQW1DSSxZUDBVSix3QkFDRSxXQUdGLGtCTzNUQSxnQkFDQSxlQUdGLGlDQUNBLDRDUDBURSw0Qk9uVEYsYUFDQSxzQkFDQSxnQkFFQSxvQ0FDRSxnQkFDQSxpQlBpVEEsb0JPdlVBLGdCQUNBLGdCQUNBLGdCQU1GLGlDQUNBLDZDUHFVSSxtQk9uWUYsZ0JBQ0Esa0JBQ0EsaUJBQ0Esb0JBaUNJLGFQaVdBLFdOcE9BLDBDTXdPQSwwQk96WUosZ0JBQ0Esa0JBQ0EsaUJBQ0Esb0JBaUNJLGFQdVdFLFlOMU9GLDBDTXdPQSx5Qk96WUosZ0JBQ0Esa0JBQ0EsaUJBQ0Esb0JBaUNJLGFQdVdFLFlBTUoseUJBQ0UsWU5qUEEsMENNb1BBLGdDQUNFLGFOclBGLDBDTW9QQSwrQkFDRSxhQWpTUixlQ3ZHTSw2Q1BtSkEsMENNNUNOLGVDdkdNLGdERDJHSixxQkdrQ0EsT0FUTSxxQkYzSEosMkNQMElFLDBDTWpDQSxxQkcyQkosT0FUTSxzQkYzSEosOENEc0VKLHFCRzhERSxPQVRNLEtIakRSLHVCRzBERSxPQVRNLEtIekNOLHdCR2tEQSxPQVRNLDhCSHpDTix3QkdrREEsT0FUTSwrQkh6Q04sd0JHa0RBLE9BVE0sb0JIekNOLHdCR2tEQSxPQVRNLCtCSHpDTix3QkdrREEsT0FUTSwrQkh6Q04sd0JHa0RBLE9BVE0sb0JIekNOLHdCR2tEQSxPQVRNLCtCSHpDTix3QkdrREEsT0FUTSwrQkh6Q04sd0JHa0RBLE9BVE0sb0JIekNOLHlCR2tEQSxPQVRNLCtCSHpDTix5QkdrREEsT0FUTSwrQkh6Q04seUJHa0RBLE9BVE0scUJUZUYsMENNcEVOLHFCRzhERSxPQVRNLEtIakRSLHVCRzBERSxPQVRNLEtIekNOLHdCR2tEQSxPQVRNLCtCSHpDTix3QkdrREEsT0FUTSxnQ0h6Q04sd0JHa0RBLE9BVE0scUJIekNOLHdCR2tEQSxPQVRNLGdDSHpDTix3QkdrREEsT0FUTSxnQ0h6Q04sd0JHa0RBLE9BVE0scUJIekNOLHdCR2tEQSxPQVRNLGdDSHpDTix3QkdrREEsT0FUTSxnQ0h6Q04sd0JHa0RBLE9BVE0scUJIekNOLHlCR2tEQSxPQVRNLGdDSHpDTix5QkdrREEsT0FUTSxnQ0h6Q04seUJHa0RBLE9BVE0sc0JIckRSLDRCRzhERSxPQVRNLEtIakRSLDhCRzBERSxPQVRNLEtIekNOLHlCR2tEQSxPQVRNLCtCSHpDTix5QkdrREEsT0FUTSxnQ0h6Q04seUJHa0RBLE9BVE0scUJIekNOLHlCR2tEQSxPQVRNLGdDSHpDTix5QkdrREEsT0FUTSxnQ0h6Q04seUJHa0RBLE9BVE0scUJIekNOLHlCR2tEQSxPQVRNLGdDSHpDTix5QkdrREEsT0FUTSxnQ0h6Q04seUJHa0RBLE9BVE0scUJIekNOLDBCR2tEQSxPQVRNLGdDSHpDTiwwQkdrREEsT0FUTSxnQ0h6Q04sMEJHa0RBLE9BVE0sdUJUZUYsMENNcEVOLDJCRzhERSxPQVRNLEtIakRSLDZCRzBERSxPQVRNLEtIekNOLHdCR2tEQSxPQVRNLCtCSHpDTix3QkdrREEsT0FUTSxnQ0h6Q04sd0JHa0RBLE9BVE0scUJIekNOLHdCR2tEQSxPQVRNLGdDSHpDTix3QkdrREEsT0FUTSxnQ0h6Q04sd0JHa0RBLE9BVE0scUJIekNOLHdCR2tEQSxPQVRNLGdDSHpDTix3QkdrREEsT0FUTSxnQ0h6Q04sd0JHa0RBLE9BVE0scUJIekNOLHlCR2tEQSxPQVRNLGdDSHpDTix5QkdrREEsT0FUTSxnQ0h6Q04seUJHa0RBLE9BVE0sdUJIMlFOLDBCT3RZSSw2QmIwSUEsMENNNFBKLDBCT3RZSSwrQmIwSUEsMENNNFBKLDBCT3RZSSwrQmIwSUEsMENNZ1FGLGlDTzFZRSwrQmIwSUEsMENNZ1FGLGdDTzFZRSwrQkNpQ0osWUNuQkYsZ0JBaEJRLFdEbUNOLGFDbkJGLGdCQWhCUSxTRG1DTixjQ25CRixnQkFoQlEsT0RtQ04sZUNuQkYsZ0JBaEJRLGNEbUNOLGNDbkJGLGdCQWhCUSxhRDRDRiwrQkM1Qk4sZ0JBaEJRLFdENENGLGdDQzVCTixnQkFoQlEsU0Q0Q0YsaUNDNUJOLGdCQWhCUSxPRHFETixXQ3BDRixZQVJRLFdEZ0ROLGdCQ3hCRixXQVBRLFdEMkJOLGNDcENGLFlBUlEsU0RnRE4sbUJDeEJGLFdBUFEsU0QyQk4sY0NwQ0YsWUFSUSxPRGdETixtQkN4QkYsV0FQUSxPRDJCTixlQ3BDRixZQVJRLFFEZ0ROLG9CQ3hCRixXQVBRLFFEcUNSLHFCQy9DQSxnQkFoQlEsT0FpQlIsWUFSUSxPRHdETixxQkFNRSxlQ2hDSixNRCtCZSxFQUNYLGVDaENKLE1EK0JlLEVBQ1gsZUNoQ0osTUQrQmUsRUFDWCxlQ2hDSixNRCtCZSxFQUNYLGVDaENKLE1EK0JlLEVBQ1gsZUNoQ0osTUQrQmUsRWRzRVQsMENjckVGLGdCQ2hDSixNRCtCZSxFQUNYLGdCQ2hDSixNRCtCZSxFQUNYLGdCQ2hDSixNRCtCZSxFQUNYLGdCQ2hDSixNRCtCZSxFQUNYLGdCQ2hDSixNRCtCZSxFQUNYLGdCQ2hDSixNRCtCZSxHZHNFVCwwQ2NyRUYsZUNoQ0osTUQrQmUsRUFDWCxlQ2hDSixNRCtCZSxFQUNYLGVDaENKLE1EK0JlLEVBQ1gsZUNoQ0osTUQrQmUsRUFDWCxlQ2hDSixNRCtCZSxFQUNYLGVDaENKLE1EK0JlLEdBNUZmLGdCQ1lBLGFEUkEsaUJBQ0UsY0FHRixpQkFDRSxjQUdGLG1CQUNFLGNBSUEsY0NzREYsZUFwRW1CLElEY2pCLHNCQ3NERixlQXBFbUIsWURjakIsaUJDc0RGLGVBcEVtQixPRGNqQix5QkNzREYsZUFwRW1CLGVmK0piLDBDY3ZJRSx1QkNmUixhRG1CUSx3QkFDRSxjQUdGLHdCQUNFLGNBR0YsMEJBQ0UsY0FJQSxxQkMyQlYsZUFwRW1CLElEeUNULDZCQzJCVixlQXBFbUIsWUR5Q1Qsd0JDMkJWLGVBcEVtQixPRHlDVCxnQ0MyQlYsZUFwRW1CLGdCZitKYiwwQ2N2SUUsc0JDZlIsYURtQlEsdUJBQ0UsY0FHRix1QkFDRSxjQUdGLHlCQUNFLGNBSUEsb0JDMkJWLGVBcEVtQixJRHlDVCw0QkMyQlYsZUFwRW1CLFlEeUNULHVCQzJCVixlQXBFbUIsT0R5Q1QsK0JDMkJWLGVBcEVtQixnQkMrTW5CLG9FQW1CRSxTQUNBLFVBSUYsRUFDRSxjWjlHc0Is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LGtCQUNBLFlBQ0EsU0FDQSxVQUNBLGtCQUNBIiwiZmlsZSI6InN0eWxlcy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdSVENSYWxld2F5JztcbiAgc3JjOiB1cmwoJ3dlYmZvbnRzL3JhbGV3YXlydGMtbWVkaXVtLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgdXJsKCd3ZWJmb250cy9yYWxld2F5cnRjLW1lZGl1bS13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdSVENSYWxld2F5JztcbiAgc3JjOiB1cmwoJ3dlYmZvbnRzL3JhbGV3YXlydGMtbWVkaXVtaXRhbGljLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgdXJsKCd3ZWJmb250cy9yYWxld2F5cnRjLW1lZGl1bWl0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdSVENSYWxld2F5JztcbiAgc3JjOiB1cmwoJ3dlYmZvbnRzL3JhbGV3YXlydGMtc2VtaWJvbGQtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICB1cmwoJ3dlYmZvbnRzL3JhbGV3YXlydGMtc2VtaWJvbGQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUlRDUmFsZXdheSc7XG4gIHNyYzogdXJsKCd3ZWJmb250cy9yYWxld2F5cnRjLXNlbWlib2xkaXRhbGljLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgdXJsKCd3ZWJmb250cy9yYWxld2F5cnRjLXNlbWlib2xkaXRhbGljLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1JUQ1JhbGV3YXknO1xuICBzcmM6IHVybCgnd2ViZm9udHMvcmFsZXdheXJ0Yy1ib2xkLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgdXJsKCd3ZWJmb250cy9yYWxld2F5cnRjLWJvbGQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUlRDUmFsZXdheSc7XG4gIHNyYzogdXJsKCd3ZWJmb250cy9yYWxld2F5cnRjLWJvbGRpdGFsaWMtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICB1cmwoJ3dlYmZvbnRzL3JhbGV3YXlydGMtYm9sZGl0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdSVENSYWxld2F5JztcbiAgc3JjOiB1cmwoJ3dlYmZvbnRzL3JhbGV3YXlydGMtZXh0cmFib2xkLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgdXJsKCd3ZWJmb250cy9yYWxld2F5cnRjLWV4dHJhYm9sZC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdSVENSYWxld2F5JztcbiAgc3JjOiB1cmwoJ3dlYmZvbnRzL3JhbGV3YXlydGMtZXh0cmFib2xkaXRhbGljLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgdXJsKCd3ZWJmb250cy9yYWxld2F5cnRjLWV4dHJhYm9sZGl0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdSVENSYWxld2F5JztcbiAgc3JjOiB1cmwoJ3dlYmZvbnRzL3JhbGV3YXlydGMtYmxhY2std2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICB1cmwoJ3dlYmZvbnRzL3JhbGV3YXlydGMtYmxhY2std2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUlRDUmFsZXdheSc7XG4gIHNyYzogdXJsKCd3ZWJmb250cy9yYWxld2F5cnRjLWJsYWNraXRhbGljLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgdXJsKCd3ZWJmb250cy9yYWxld2F5cnRjLWJsYWNraXRhbGljLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBQYXRjaCB0byBmaXggaXNzdWUgIzEyMDgwXG4kLXpmLXNpemU6IG51bGw7XG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgXCJzbWFsbFwiOiAwLFxuICBcIm1lZGl1bVwiOiA2NDBweCxcbiAgXCJsYXJnZVwiOiAxMDI0cHgsXG4gIFwieGxhcmdlXCI6IDEyMDBweCxcbiAgXCJ4eGxhcmdlXCI6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgSGlEUEkgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMgZm9yIHJlc29sdXRpb25zLlxuLy8vIFZhbHVlcyBtdXN0IHJlcHJlc2VudCB0aGUgZGV2aWNlIHBpeGVscyAvIHdlYiBwaXhlbHMgcmF0aW9uIGFuZCBiZSB1bml0bGVzcyBvciBpbiBEUFBYLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzLWhpZHBpOiAoXG4gIFwiaGlkcGktMVwiOiAxLFxuICBcImhpZHBpLTEtNVwiOiAxLjUsXG4gIFwiaGlkcGktMlwiOiAyLFxuICBcInJldGluYVwiOiAyLFxuICBcImhpZHBpLTNcIjogM1xuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdUaGUgZmlyc3Qga2V5IGluIHRoZSAkYnJlYWtwb2ludHMgbWFwIG11c3QgaGF2ZSBhIHZhbHVlIG9mIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBXZWIgc3RhbmRhcmQgUGl4ZWxzIHBlciBpbmNoLiAoMWRkcHggLyAkc3RkLXdlYi1kcGkpID0gMWRwaVxuICAvLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy12YWx1ZXMtMy8jYWJzb2x1dGUtbGVuZ3Roc1xuICAkc3RkLXdlYi1kcGk6IDk2O1xuXG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgb2YgdGhlIGZvbGxvd2luZyBicmVha3BvaW50XG4gICRicC1uZXh0OiBudWxsO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1pbjogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1pbi13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IG51bGw7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBJZiBuYW1lZCwgbmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuICAkbmFtZTogbnVsbDtcbiAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSBIaURQSSBicmVha3BvaW50XG4gICRoaWRwaTogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG5cbiAgLy8gSWYgYSBicmVha3BvaW50IG5hbWUgaXMgZ2l2ZW4sIGdldCBpdHMgdmFsdWUgZnJvbSB0aGUgJGJyZWFrcG9pbnRzLyRicmVha3BvaW50cy1oaWRwaSBtYXAuXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cy1oaWRwaSwgJGJwKSB7XG4gICAgICAkbmFtZTogJGJwO1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cy1oaWRwaSwgJG5hbWUpO1xuICAgICAgJGJwLW5leHQ6IC16Zi1tYXAtbmV4dC1udW1iZXIoJGJyZWFrcG9pbnRzLWhpZHBpLCAkYnApO1xuICAgICAgJGhpZHBpOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyIGAkYnJlYWtwb2ludHNgIG9yIGAkYnJlYWtwb2ludHMtaGlkcGlgIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICBAaWYgbm90ICRuYW1lIGFuZCAkZGlyID09ICdvbmx5JyB7XG4gICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIE9ubHkgJ29ubHknIGFuZCAndXAnIGhhdmUgYSBtaW4gbGltaXQuXG4gIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICd1cCcge1xuICAgICRicC1taW46IGlmKCRoaWRwaSwgc3RyaXAtdW5pdCgkYnApLCAtemYtYnAtdG8tZW0oJGJwKSk7XG4gIH1cbiAgLy8gT25seSAnb25seScgYW5kICdkb3duJyBoYXZlIGEgbWF4IGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgdmFsdWUsIHVzZSBpdCBhcyBtYXggbGltaXQuXG4gICAgQGlmIG5vdCAkbmFtZSB7XG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICAgIH1cbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBuYW1lZCwgdGhlIG1heCBsaW1pdCBpcyB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnQgLSAxcHguXG4gICAgQGVsc2UgaWYgJGJwLW5leHQge1xuICAgICAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAgICAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgICAgICRicC1tYXg6IGlmKCRoaWRwaSwgJGJwLW5leHQgLSBkaXZpZGUoMSwgJHN0ZC13ZWItZHBpKSwgLXpmLWJwLXRvLWVtKCRicC1uZXh0KSAtIDAuMDAxMjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyYXRlIHRoZSBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSBtaW4gYW5kIG1heCBsaW1pdHMuXG4gIEBpZiAkaGlkcGkge1xuICAgIC8vIEdlbmVyYXRlIHZhbHVlcyBpbiBEUEkgaW5zdGVhZCBvZiBEUFBYIGZvciBhbiBJRTktMTEvT3BlcmEgbWluaSBjb21wYXRpYmlsaXR5LlxuICAgIC8vIFNlZSBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1tZWRpYS1yZXNvbHV0aW9uXG4gICAgJGJwLW1pbi1kcGk6IGlmKCRicC1taW4sICRicC1taW4gKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWluKTtcbiAgICAkYnAtbWF4LWRwaTogaWYoJGJwLW1heCwgJGJwLW1heCAqICRzdGQtd2ViLWRwaSAqIDFkcGksICRicC1tYXgpO1xuICAgIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgICAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4LCAnLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvJywgJy13ZWJraXQtbWF4LWRldmljZS1waXhlbC1yYXRpbycpLFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbi1kcGksICRicC1tYXgtZHBpLCAnbWluLXJlc29sdXRpb24nLCAnbWF4LXJlc29sdXRpb24nKSxcbiAgICAgICcsICcpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIC16Zi1icC1qb2luKCRicC1taW4sICRicC1tYXgpO1xuICB9XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgYW5kIGAkYnJlYWtwb2ludHMtaGlkcGlgIG1hcHMsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBJZiBtdWx0aXBsZSB2YWx1ZXMgYXJlIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgZ2VuZXJhdGUgYSBtZWRpYSBxdWVyeSBmb3IgZWFjaCBvZiB0aGVtIGFzIGRlc2NyaWJlZCBhYm92ZS5cbi8vLyBTaW5jZSB0aGUgY29udGVudCBpcyBkdXBsaWNhdGVkIGZvciBlYWNoIGJyZWFrcG9pbnQsIHRoaXMgbWl4aW4gc2hvdWxkIG9ubHkgYmUgdXNlZCB3aXRoIHByb3BlcnRpZXMgdGhhdFxuLy8vIGNoYW5nZSBhY3Jvc3MgYnJlYWtwb2ludHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWVzLi4uIC0gQnJlYWtwb2ludCBuYW1lIG9yIHB4L3JlbS9lbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWVzLi4uKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZXMpIHtcbiAgICAkdmFsdWU6IG50aCgkdmFsdWVzLCAkaSk7XG4gICAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCBudGgoJHZhbHVlLCAxKSk7XG4gICAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG4gICAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgICAkZGlyOiBpZihsZW5ndGgoJHZhbHVlKSA+IDEsIG50aCgkdmFsdWUsIDIpLCB1cCk7XG5cbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gICAgQGlmICRzdHIgPT0gJycge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgICBAZWxzZSB7XG4gICAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgICAvLyBnZW5lcmF0ZSBwcmludCBpZiB0aGUgYnJlYWtwb2ludCBhZmZlY3RzIHRoZSBwcmludC1icmVha3BvaW50IChvciBzbWFsbGVyKS5cbiAgICAgIC8vIFRoaXMgbWVhbnMgdGhlIGN1cnJlbnQgY29uZGl0aW9uIG9ubHkgbmVlZHMgdG8gYmUgZXh0ZW5kZWQgc28gJ2Rvd24nIGFsd2F5cyBnZW5lcmF0ZXMgcHJpbnQuXG4gICAgICBAaWYgJGJwICE9IG51bGwgYW5kICgkYnAgPD0gJHBicCBvciAkZGlyID09IGRvd24pIHtcbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gQ29udmVydHMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIEZpbmQgdGhlIG5leHQgbnVtYmVyIGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJG51bWJlciAtIE51bWJlciB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIG51bWJlciBmb2xsb3dpbmcgYCRudW1iZXJgLCBpZiBgJG51bWJlcmAgd2FzIGZvdW5kLiBJZiBgJG51bWJlcmAgd2FzIG5vdCBmb3VuZCwgb3IgYCRudW1iZXJgIHdhcyB0aGUgYmlnZ2VzdCBudW1iZXIgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0LW51bWJlcigkbWFwLCAkbnVtYmVyKSB7XG5cbiAgJG5leHQtbnVtYmVyOiBudWxsO1xuXG4gIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICBAaWYgdHlwZS1vZigkdikgPT0gJ251bWJlcicgYW5kICR2ID4gJG51bWJlciBhbmQgKCRuZXh0LW51bWJlciA9PSBudWxsIG9yICR2IDwgJG5leHQtbnVtYmVyKSB7XG4gICAgICAkbmV4dC1udW1iZXI6ICR2O1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5leHQtbnVtYmVyO1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kLWtleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZC1rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kLWtleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbi8vLyBSZXR1cm4gdGhlIGJlc3QgYnJlYWtwb2ludCB0byB1c2UgYWNjb3JkaW5nIHRvIHRoZSBjYWxsaW5nIGNvbnRleHQuIEl0IHJldHVybnMgaW4gb3JkZXI6XG4vLy8gMS4gdGhlIGdpdmVuIGAkdmFsdWVgIGFyZ3VtZW50IGlmIGl0IGlzIG5vdCBudWxsLlxuLy8vIDIuIHRoZSBnbG9iYWwgYnJlYWtwb2ludCBjb250ZXh0IGAkLXpmLXNpemVgIGlmIGl0IGlzIG5vdCBudWxsIChsaWtlIGlmIGNhbGxlZCBpbnNpZGUgdGhlbiBgYnJlYWtwb2ludCgpYCBtaXhpbilcbi8vLyAzLiB0aGUgZ2l2ZW4gYCRkZWZhdWx0YCBhcmd1bWVudC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGluIHByaW9yaXR5IGlmIG5vbi1udWxsLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRlZmF1bHQgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgYnkgZGVmYXVsdCBpZiBubyBvdGhlciB2YWx1ZSBjYW4gYmUgdXNlZC5cbi8vL1xuLy8vIEByZXR1cm4ge0tleXdvcmR9IFRoZSByZXNvbHZlZCBicmVha3BvaW50LlxuQGZ1bmN0aW9uIC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJHZhbHVlOiBudWxsLCAkZGVmYXVsdDogbnVsbCkge1xuICBAaWYgKCR2YWx1ZSAhPSBudWxsKSB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbiAgQGVsc2UgaWYgKHZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkgYW5kIHR5cGUtb2YoJC16Zi1zaXplKSAhPSAnbnVtYmVyJykgYW5kICQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICBAcmV0dXJuICQtemYtc2l6ZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkZGVmYXVsdDtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIG1lZGlhIHF1ZXJ5IHN0cmluZyBmcm9tIHRoZSBnaXZlbiBtaW4gYW5kL29yIG1heCBsaW1pdHMuXG4vLy8gSWYgYSBsaW1pdCBpcyBlcXVhbCB0byBgbnVsbGAgb3IgYDBgLCBpdCBpcyBpZ25vcmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtaW4gWzBdIC0gTWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IFswXSAtIE1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1pbi1uYW1lIFsnbWluLXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtaW4gbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkZWxpbWl0ZXIgWydtYXgtd2lkdGgnXSAtIE5hbWUgb2YgdGhlIG1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IE1lZGlhIFF1ZXJ5IHN0cmluZy5cbkBmdW5jdGlvbiAtemYtYnAtam9pbihcbiAgJG1pbjogMCxcbiAgJG1heDogMCxcbiAgJG1pbi1uYW1lOiAnbWluLXdpZHRoJyxcbiAgJG1heC1uYW1lOiAnbWF4LXdpZHRoJ1xuKSB7XG4gIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgaWYoJG1pbiBhbmQgJG1pbiA+IDAsICcoI3skbWluLW5hbWV9OiAjeyRtaW59KScsIG51bGwpLFxuICAgIGlmKCRtYXggYW5kICRtYXggPiAwLCAnKCN7JG1heC1uYW1lfTogI3skbWF4fSknLCBudWxsKSxcbiAgICAnIGFuZCAnKTtcbn1cblxuJHNtYWxsLXVwOiAnJztcbiRzbWFsbC1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuJG1lZGl1bS11cDogJyc7XG4kbWVkaXVtLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbiRsYXJnZS11cDogJyc7XG4kbGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4bGFyZ2UtdXA6ICcnO1xuJHhsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG4keHhsYXJnZS11cDogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cblxuLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4vLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG4vLyBUaGlzIHNob3VsZCBiZSBpbiB0aGUgc2FtZSBicmVha3BvaW50IHRoZW4gYEBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGhgXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkoJGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kKSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcblxuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xuICAvLyBXb3JrYXJvdW5kIGFuZHJvaWQgYnJvd3NlciB6LWluZGV4IGJ1Z1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJHJldmVhbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIC8vIEV4dGVuZHMgbXVzdCBiZSBtYWRlIG91dHNpZGUgb2YgYnJlYWtwb2ludHMgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBuZXdlciBTYXNzIHZlcnNpb25zIChsaWJzYXNzIHYzLjUpXG4gIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuXG4gIC8vLyBEaXNhYmxlcyB0aGUgc2Nyb2xsIHdoZW4gUmV2ZWFsIGlzIHNob3duIHRvIHByZXZlbnQgdGhlIGJhY2tncm91bmQgZnJvbSBzaGlmdGluZ1xuICBodG1sLmlzLXJldmVhbC1vcGVuIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuXG4gICAgJi56Zi1oYXMtc2Nyb2xsIHtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICB9XG5cbiAgICBib2R5IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgLy8gT3ZlcmxheVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIHJldmVhbC1vdmVybGF5O1xuICB9XG5cbiAgLy8gTW9kYWwgY29udGFpbmVyXG4gIC5yZXZlYWwge1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgkcmV2ZWFsLXdpZHRoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXZlbmRvci1wcmVmaXhlc1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ub3JtYWxpemUoKSB7XG4gIC8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuICAvLyBEb2N1bWVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG5cbiAgaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgfVxuXG4gIC8vIFNlY3Rpb25zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgLy8gYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgfVxuXG4gIC8vIEdyb3VwaW5nIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAvLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuICBociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgICBoZWlnaHQ6IDA7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHByZSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAgLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDsgLy8gMVxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMlxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cblxuICBiLFxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgY29kZSxcbiAga2JkLFxuICBzYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICB9XG5cbiAgLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gIC8vIGFsbCBicm93c2Vycy5cblxuICBzdWIsXG4gIHN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIHN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xuICB9XG5cbiAgc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbiAgfVxuXG4gIC8vIEVtYmVkZGVkIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuXG4gIGltZyB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICB9XG5cbiAgLy8gRm9ybXNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMTAwJTsgLy8gMVxuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gICAgbWFyZ2luOiAwOyAvLyAyXG4gIH1cblxuICAvLyBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgLy8gMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cblxuICBidXR0b24sXG4gIGlucHV0IHsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gIC8vIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cblxuICBidXR0b24sXG4gIHNlbGVjdCB7IC8vIDFcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgW3R5cGU9XCJyZXNldFwiXSxcbiAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cblxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG5cbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cblxuICBmaWVsZHNldCB7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAvLyAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gIC8vICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGxlZ2VuZCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIGNvbG9yOiBpbmhlcml0OyAvLyAyXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDFcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAzXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cblxuICBwcm9ncmVzcyB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG5cbiAgdGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gIC8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cblxuICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gMlxuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyXG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gIC8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cblxuICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMVxuICAgIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgfVxuXG4gIC8vIEludGVyYWN0aXZlXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cblxuICBkZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cblxuICBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIH1cblxuICAvLyBNaXNjXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuXG4gIHRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG5cbiAgW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBEaXNhYmxlIG91dGxpbmUgd2hlbiBpbnRlbnQgaXMgY2xlYXJseSBtb3VzZSBhbmQgdG91Y2hcbiAgW2RhdGEtd2hhdGludGVudD1cIm1vdXNlXCJdLFxuICBbZGF0YS13aGF0aW50ZW50PVwidG91Y2hcIl0sXG4gIFtkYXRhLXdoYXRpbnB1dD1cIm1vdXNlXCJdLFxuICBbZGF0YS13aGF0aW5wdXQ9XCJ0b3VjaFwiXSB7XG4gICAgKiwgKjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGUgaU9TIGNhbGxvdXRzIHdoZW4gZHJhZ2dhYmxlIGlzIGZhbHNlXG4gIFtkcmFnZ2FibGU9ZmFsc2VdIHtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgXCJwcmltYXJ5XCI6ICMxNzc5YmEsXG4gIFwic2Vjb25kYXJ5XCI6ICM3Njc2NzYsXG4gIFwic3VjY2Vzc1wiOiAjM2FkYjc2LFxuICBcIndhcm5pbmdcIjogI2ZmYWUwMCxcbiAgXCJhbGVydFwiOiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgc2FmZSBwYWRkaW5nIG9uIHRoZSBib2R5IGZvciBub24tcmVjdGFuZ3VsYXIgZGV2aWNlcyAoaS5lLiBwaG9uZXMgd2l0aCBub3RjaGVzKVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LXNhZmUtcGFkZGluZzogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBDYW4gYmUgb3ZlcndyaXR0ZW4gYXQgaW5kaXZpZHVhbCBtZW51IGNvbXBvbmVudCBsZXZlbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIE5lc3RlZCBtYXJnaW4gZm9yIHN1Ym1lbnUuXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVkIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHByb3RvdHlwZXMgaWYgYXBwbGljYWJsZVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBjdXJzb3IncyB2YWx1ZSwgYGF1dG9gIGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG8gIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlIHRoYXQgY29udGFpbnMgdGhlIGZsZXgganVzdGlmeWluZyBvcHRpb25zXG4kLXpmLWZsZXgtanVzdGlmeTogLXpmLWZsZXgtanVzdGlmeSgkZ2xvYmFsLXRleHQtZGlyZWN0aW9uKTtcblxuLy8vIEdsb2JhbCB0b2xlcmFuY2UgZm9yIGNvbG9yIHBpY2sgY29udHJhc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgQGlmICgkYm9keS1zYWZlLXBhZGRpbmcpIHtcbiAgICAgIC8vIHVzaW5nIGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBhY2NvdW50IGZvciBub24tcmVjdGFuZ3VsYXIgZGlzcGxheXMgZS5nLiBwaG9uZXMgd2l0aCBub3RjaGVzXG4gICAgICBwYWRkaW5nLXRvcDogZW52KHNhZmUtYXJlYS1pbnNldC10b3ApO1xuICAgICAgcGFkZGluZy1yaWdodDogZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xuICAgICAgcGFkZGluZy1sZWZ0OiBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAgMjAuIEZvcm1zXG4vLyAgMjEuIExhYmVsXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxuLy8gIDIzLiBNZW51XG4vLyAgMjQuIE1ldGVyXG4vLyAgMjUuIE9mZi1jYW52YXNcbi8vICAyNi4gT3JiaXRcbi8vICAyNy4gUGFnaW5hdGlvblxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDQ3LiBSZXZlYWxcbi8vICA0OC4gU2xpZGVyXG4vLyAgNDkuIFN3aXRjaFxuLy8gIDUwLiBUYWJsZVxuLy8gIDUxLiBUYWJzXG4vLyAgNTIuIFRodW1ibmFpbFxuLy8gIDUzLiBUaXRsZSBCYXJcbi8vICA1NC4gVG9vbHRpcFxuLy8gIDU1LiBUb3AgQmFyXG4vLyAgNTYuIFh5IEdyaWRcbkBpbXBvcnQgJy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC91dGlsJztcbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMXJlbTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyODRweCk7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNzU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoIHByaW1hcnk6ICMxNzc5YmEsIHNlY29uZGFyeTogIzc2NzY3Niwgc3VjY2VzczogIzNhZGI3Niwgd2FybmluZzogI2ZmYWUwMCwgYWxlcnQ6ICNFRTFGMkUsICk7XG4kbGlnaHQtZ3JheTogI2YyZjJmMjtcbiRtZWRpdW0tZ3JheTogI2ViZWJlYjtcbiRkYXJrLWdyYXk6ICM0MTQxNDE7XG4kYmxhY2s6ICMxNTE1MTU7XG4kd2hpdGU6ICNmZmY7XG4vLyBSVEMgQ09MT1IgUEFMRVRURVxuJHJ0Y2JsdWUgOiAjMUQ0MjdGO1xuJHJ0Y2dyZWVuIDogIzkyQjEzRTtcbiRydGNvcmFuZ2U6ICNGMjZEMjY7XG4kcnRjZ29sZCA6ICNEQ0I0M0I7XG4kcnRjYmx1ZV9ob3ZlciA6ICM1MjdBQkI7XG4kcnRjZ3JlZW5faG92ZXIgOiAjQTZDNTUxO1xuJHJ0Y29yYW5nZV9ob3ZlcjogI0Q0NTUxMTtcbiRydGNnb2xkX2hvdmVyIDogI0RDQjQzQjtcbiRzcGFuZ3JheTogIzRBNEE0QTtcbiRydGNsdGdyYXk6ICM3Njc2NzY7XG4vLyBGT1VOREFUSU9OLUFTU0lHTkVEIENPTE9SIFZBUklBQkxFU1xuJHByaW1hcnktY29sb3I6ICRydGNibHVlO1xuJHN1Y2Nlc3MtY29sb3I6ICRydGNncmVlbjtcbiR3YXJuaW5nLWNvbG9yOiAkcnRjb3JhbmdlO1xuJGFsZXJ0LWNvbG9yOiAjRUUxRjJFO1xuLy8gREVQUkVDQVRFRFxuJG9yYW5nZTogI0YwNUQyNTtcbiR5ZWxsb3c6ICNGQUE3MzQ7XG4kYmx1ZTogIzAwQUVFRjtcbiRncmVlbjogIzgxQTQyNTtcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRib2R5LWZvbnQtY29sb3I6ICRkYXJrLWdyYXk7XG4kYm9keS1mb250LWZhbWlseTogJ1JUQ1JhbGV3YXknLFxuc2Fucy1zZXJpZjtcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xuJGdsb2JhbC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtO1xuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xuJGdsb2JhbC1yYWRpdXM6IDA7XG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW07XG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0bztcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG4vL0BpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcbi8vIDIuIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuJGJyZWFrcG9pbnRzOiAoIHNtYWxsOiAwLCBtZWRpdW06IDc2OHB4LCBsYXJnZTogMTAyNHB4LCB4bGFyZ2U6IDEyODBweCwgeHhsYXJnZTogMTI4MHB4LCApO1xuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSk7XG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoIHNtYWxsOiAyMHB4LCBtZWRpdW06IDMwcHgsICk7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAnUlRDUmFsZXdheScsXG5zYW5zLXNlcmlmO1xuJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcbiRoZWFkZXItbGluZWhlaWdodDogMS40O1xuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kaGVhZGVyLXN0eWxlczogKCBzbWFsbDogKCAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDM2KSwgJ2gyJzogKCdmb250LXNpemUnOiAyOCksICdoMyc6ICgnZm9udC1zaXplJzogMjEpLCAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSwgJ2g1JzogKCdmb250LXNpemUnOiAxNiksICdoNic6ICgnZm9udC1zaXplJzogMTQpLCApLCBtZWRpdW06ICggJ2gxJzogKCdmb250LXNpemUnOiAzNiksICdoMic6ICgnZm9udC1zaXplJzogMjgpLCAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDIxKSwgJ2g0JzogKCdmb250LXNpemUnOiAxOCksICdoNSc6ICgnZm9udC1zaXplJzogMTYpLCAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE0KSwgKSwgKTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDEwMCU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS43NTtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6ICRydGNibHVlO1xuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XG4kYnV0dG9uLXNpemVzOiAoIHRpbnk6IDAuNnJlbSwgc21hbGw6IDAuNzVyZW0sIGRlZmF1bHQ6IDAuOXJlbSwgbGFyZ2U6IDEuMjVyZW0sICk7XG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlO1xuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LFxuY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcbi8vIDE0LiBDYXJkXG4vLyAtLS0tLS0tLVxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4vLyAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKCBzbWFsbDogMC42NnJlbSwgbWVkaXVtOiAxcmVtLCApO1xuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKCBzbWFsbDogMC4zM2VtLCBtZWRpdW06IDAuNXJlbSwgKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoIHNtYWxsOiAxLjVlbSwgbWVkaXVtOiAyZW0sICk7XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHg7XG4vLyAxNy4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoIHRpbnk6IDEwMHB4LCBzbWFsbDogMjAwcHgsIGxhcmdlOiA0MDBweCwgKTtcbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbTtcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweDtcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDtcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2O1xuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZTtcbi8vIDIwLiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuJGlucHV0LXBhZGRpbmc6IGNhbGMoJGZvcm0tc3BhY2luZyAvIDIpO1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsXG5ib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbi8vIDIxLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4vLyAyMi4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcbi8vIDIzLiBNZW51XG4vLyAtLS0tLS0tLVxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW07XG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZTtcbi8vIDI0LiBNZXRlclxuLy8gLS0tLS0tLS0tXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG4vLyAyNS4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cbiRvZmZjYW52YXMtc2l6ZXM6ICggc21hbGw6IDI1MHB4LCApO1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKCBzbWFsbDogMjUwcHgsICk7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweDtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSk7XG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMTtcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTM7XG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuLy8gMjYuIE9yYml0XG4vLyAtLS0tLS0tLS1cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcbi8vIDI3LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuLy8gMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoIGRvd24sIHVwLCByaWdodCwgbGVmdCk7XG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcbi8vIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4vLyAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbi8vIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1kaXNwbGF5OiAoIGlubGluZSwgaW5saW5lLWJsb2NrLCBibG9jaywgdGFibGUsIHRhYmxlLWNlbGwpO1xuLy8gMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KTtcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKCBkaXNjLCBjaXJjbGUsIHNxdWFyZSk7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKCBkZWNpbWFsLCBsb3dlci1hbHBoYSwgbG93ZXItbGF0aW4sIGxvd2VyLXJvbWFuLCB1cHBlci1hbHBoYSwgdXBwZXItbGF0aW4sIHVwcGVyLXJvbWFuKTtcbi8vIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1vdmVyZmxvdzogKCB2aXNpYmxlLCBoaWRkZW4sIHNjcm9sbCk7XG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtcG9zaXRpb246ICggc3RhdGljLCByZWxhdGl2ZSwgYWJzb2x1dGUsIGZpeGVkKTtcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcbi8vIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsIDAsIDAsIC4xNiksXG4wIDJweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAuMTIpO1xuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNpemluZzogKCB3aWR0aCwgaGVpZ2h0KTtcbiRwcm90b3R5cGUtc2l6ZXM6ICggMjU6IDI1JSwgNTA6IDUwJSwgNzU6IDc1JSwgMTAwOiAxMDAlKTtcbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzO1xuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246ICggb3ZlcmxpbmUsIHVuZGVybGluZSwgbGluZS10aHJvdWdoLCApO1xuLy8gNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoIGxvd2VyY2FzZSwgdXBwZXJjYXNlLCBjYXBpdGFsaXplKTtcbi8vIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDApO1xuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoIGRlZmF1bHQ6IDQgYnkgMywgd2lkZXNjcmVlbjogMTYgYnkgOSwgKTtcbi8vIDQ3LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cbiRyZXZlYWwtYmFja2dyb3VuZDogJGJsYWNrO1xuJHJldmVhbC13aWR0aDogMTAwJTtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kcmV2ZWFsLWJvcmRlcjogbm9uZTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcbi8vIDQ4LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbi8vIDQ5LiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4vLyA1MC4gVGFibGVcbi8vIC0tLS0tLS0tLVxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlO1xuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlOiBldmVuO1xuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsIGNhbGMoJHRhYmxlLWNvbG9yLXNjYWxlIC8gMikpO1xuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG4vLyA1MS4gVGFic1xuLy8gLS0tLS0tLS1cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuLy8gNTIuIFRodW1ibmFpbFxuLy8gLS0tLS0tLS0tLS0tLVxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuLy8gNTMuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjaztcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbTtcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbi8vIDU1LiBUb3AgQmFyXG4vLyAtLS0tLS0tLS0tLVxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG4vLyA1Ni4gWHkgR3JpZFxuLy8gLS0tLS0tLS0tLS1cbiR4eS1ncmlkOiB0cnVlO1xuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uczogMTI7XG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKCBzbWFsbDogMjBweCwgbWVkaXVtOiAzMHB4KTtcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcbiR4eS1ibG9jay1ncmlkLW1heDogODsiLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vIFBhdGNoIHRvIGZpeCBpc3N1ZSAjMTIwODBcbiQtemYtYnAtdmFsdWU6IG51bGw7XG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiBkaXZpZGUoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpLCAkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDMyIDI0XCI+PHBvbHlnb24gcG9pbnRzPVwiMCwwIDMyLDAgMTYsMjRcIiBzdHlsZT1cImZpbGw6ICN7JHJnYn1cIj48L3BvbHlnb24+PC9zdmc+Jyk7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKGRpdmlkZSgxLCAkaSkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZW5mb3JjZSAtIElmIGB0cnVlYCwgdXNlIGAhaW1wb3J0YW50YCBvbiBhcHBsaWVkIHByb3BlcnRpZXNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZShcbiAgJGVuZm9yY2U6IHRydWVcbikge1xuICAkaW1wb3J0YW50OiBpZigkZW5mb3JjZSwgJyFpbXBvcnRhbnQnLCBudWxsKTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGUgI3skaW1wb3J0YW50fTtcbiAgd2lkdGg6IDFweCAjeyRpbXBvcnRhbnR9O1xuICBoZWlnaHQ6IDFweCAjeyRpbXBvcnRhbnR9O1xuICBwYWRkaW5nOiAwICN7JGltcG9ydGFudH07XG4gIG92ZXJmbG93OiBoaWRkZW4gI3skaW1wb3J0YW50fTtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAjeyRpbXBvcnRhbnR9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICN7JGltcG9ydGFudH07XG4gIGJvcmRlcjogMCAjeyRpbXBvcnRhbnR9O1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGVuZm9yY2UgLSBJZiBgdHJ1ZWAsIHVzZSBgIWltcG9ydGFudGAgb24gYXBwbGllZCBwcm9wZXJ0aWVzXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmKFxuICAkZW5mb3JjZTogdHJ1ZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCAnIWltcG9ydGFudCcsIG51bGwpO1xuXG4gIHBvc2l0aW9uOiBzdGF0aWMgI3skaW1wb3J0YW50fTtcbiAgd2lkdGg6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgaGVpZ2h0OiBhdXRvICN7JGltcG9ydGFudH07XG4gIG92ZXJmbG93OiB2aXNpYmxlICN7JGltcG9ydGFudH07XG4gIGNsaXA6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAjeyRpbXBvcnRhbnR9O1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KFxuICAkc21hbGw6IHRydWUsXG4gICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oYXV0bywgLXpmLWJvb2woJHNtYWxsKSwgLXpmLWJvb2woJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzKSkge1xuICAgIEBjb250ZW50XG4gIH07XG59XG5cbi8vLyBJdGVyYXRlcyB3aXRoIGBAY29udGVudGAgdGhyb3VnaCB0aGUgZ2l2ZW4gbGlzdCBvZiBicmVha3BvaW50cyBgJGJyZWFrcG9pbnRzYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRicmVha3BvaW50cyBbYXV0b10gLSBCcmVha3BvaW50cyB0byBpdGVyYXRlcyBvbi4gSXQgY2FuIGJlIGEgYnJlYWtwb2ludCBuYW1lLCBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIGBhdXRvYCBmb3IgYWxsIGJyZWFrcG9pbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbnxOdWxsfSAkemVyby1icmVha3BvaW50IFtudWxsXSAtIFdoZXRoZXIgdGhlIHplcm8tYnJlYWtwb2ludCAob2Z0ZW4gYHNtYWxsYCkgbXVzdCBiZSBpbmNsdWRlZC4gSWYgYHRydWVgLCBpdCB3aWxsIGFsd2F5cyBiZSBhZGRlZCB0byB0aGUgbGlzdCBpZiBub3QgYWxyZWFkeSB0aGVyZS4gSWYgYGZhbHNlYCwgaXQgd2lsbCBhbHdheXMgYmUgcmVtb3ZlZC4gRG9lcyBub3RoaW5nIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtCb29sZWFufEtleXdvcmR9ICRtZWRpYS1xdWVyaWVzIFt0cnVlXSAtIFdoZXRoZXIgbWVkaWEtcXVlcmllcyBtdXN0IGJlIGdlbmVyYXRlZC4gSWYgYGZvci1saXN0c2AsIG9ubHkgZ2VuZXJhdGUgbWVkaWEtcXVlcmllcyB3aGVuIGAkYnJlYWtwb2ludHNgIGlzIGEgbGlzdC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50LWluKFxuICAkYnJlYWtwb2ludHM6IGF1dG8sXG4gICR6ZXJvLWJyZWFrcG9pbnQ6IG51bGwsXG4gICRtZWRpYS1xdWVyaWVzOiB0cnVlXG4pIHtcbiAgJC1saXN0OiAoKTtcbiAgJC1icmVha3BvaW50cy1pcy1hLWxpc3Q6IHRydWU7XG5cbiAgLy8gUmV0cmlldmUgdGhlIGxpc3Qgb2YgYnJlYWtwb2ludChzKSB0byBpdGVyYXRlIG9uLlxuICBAaWYgJGJyZWFrcG9pbnRzID09IGF1dG8ge1xuICAgICQtbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRicmVha3BvaW50cykgPT0gJ2xpc3QnIHtcbiAgICAkLWxpc3Q6ICRicmVha3BvaW50cztcbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRicmVha3BvaW50cykgPT0gJ3N0cmluZycge1xuICAgICQtbGlzdDogKCRicmVha3BvaW50cyk7XG4gICAgJC1icmVha3BvaW50cy1pcy1hLWxpc3Q6IGZhbHNlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgXCIkYnJlYWtwb2ludHNcIiBpbiBcIi16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oKVwiLiBHb3QgXCIjeyRicmVha3BvaW50c31cIiAoI3t0eXBlLW9mKCRicmVha3BvaW50cyl9KS4gRXhwZWN0ZWQgYSBicmVha3BvaW50IG5hbWUsIGEgbGlzdCBvZiBicmVha3BvaW50cyBvciBcImF1dG9cIic7XG4gIH1cblxuICAvLyBBZGQgb3IgcmVtb3ZlIHRoZSB6ZXJvIGJyZWFrcG9pbnQgYWNjb3JkaW5nIHRvIGAkemVyby1icmVha3BvaW50YFxuICBAaWYgJHplcm8tYnJlYWtwb2ludCA9PSB0cnVlIHtcbiAgICAkLWxpc3Q6IGpvaW4oKCQtemYtemVyby1icmVha3BvaW50KSwgc2wtcmVtb3ZlKCQtbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpKTtcbiAgfVxuICBAZWxzZSBpZiAkemVyby1icmVha3BvaW50ID09IGZhbHNlIHtcbiAgICAkLWxpc3Q6IHNsLXJlbW92ZSgkLWxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIEl0ZXJhdGUgb24gYnJlYWtwb2ludChzKVxuICBAZWFjaCAkYnAgaW4gJC1saXN0IHtcbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6ICRicCAhZ2xvYmFsO1xuXG4gICAgQGlmICgkbWVkaWEtcXVlcmllcyA9PSB0cnVlIG9yICgkbWVkaWEtcXVlcmllcyA9PSAnZm9yLWxpc3RzJyBhbmQgJC1icmVha3BvaW50cy1pcy1hLWxpc3QpKSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkYnAtdmFsdWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICAgIEBpZiAkYnAtdmFsdWUgIT0gbnVsbCB7XG4gICAgICAgICRuYW1lOiAkYnAtdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1iYXNlLWdyaWQtY2xhc3NlcyB7XG5cbiAgLy8gR3JpZCBDb250YWluZXJcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgICYuZmx1aWQge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUsIDApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgLmdyaWQteCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKGZ1bGwsICRndXR0ZXItdHlwZTogbm9uZSk7XG5cbiAgICAmLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgIH1cblxuICAgICYuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICB9XG4gIC5ncmlkLXgge1xuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQXV0byB3aWR0aFxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgJiBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgLmdyaWQteCB7XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiO1xuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgXCJzaHJpbmtcIiBtb2RpZmllclxuICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgd2lkdGggd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXhgIG5vdCBvbiBgLmdyaWQteGBcbiAgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXG4gIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcbiAgJHByZWZpeDogaWYoJGNsYXNzLWJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQsICcnLCAnI3skY2xhc3MtYnJlYWtwb2ludH0tJyk7XG4gID4gLiN7JHByZWZpeH1hdXRvIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgPiAuI3skcHJlZml4fXNocmluayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xuXG4gICAgPiAjeyRjbGFzc25hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcbiAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXG4pe1xuICAjeyR3cmFwcGluZy1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHZlcnRpY2FsOiAkdmVydGljYWwsICRvdXRwdXQ6IChzaXplIGd1dHRlcnMpKTtcbiAgICB9XG5cbiAgICAvLyBiYXNlIHN0eWxlcyBuZWVkIHRvIGFsbCBiZSBiZWZvcmUgdGhlIGF1dG8gYW5kIHNocmluayBzdHlsZXNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHZlcnRpY2FsOiAkdmVydGljYWwsICRvdXRwdXQ6IChzaXplIGd1dHRlcnMpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAvLyBmb3IgYWxsIHByaW9yIGJyZWFrcG9pbnRzLlxuICAgICAgLy8gQXMgdGhlaXIgZ3V0dGVyIGlzIGRlZmluZWQgd2l0aCB0aGVpciB3aWR0aC9oZWlnaHQsIGV2ZW4gYnJlYWtwb2ludCB3aXRob3V0IGEgbmV3IG1hcmdpbiBtdXN0IGJlXG4gICAgICAvLyBnZW5lcmF0ZWQgdG8gbm90IGhhdmluZyB0aGVpciB3aWR0aC9oZWlnaHQgb3ZlcnJpZGVkIGJ5IHJlLWFkanVzdGVkIHNtYWxsZXIgYnJlYWtwb2ludHMuXG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJC16Zi1zaXplLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFBhZGRpbmcgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktcGFkZGluZy1ncmlkLWNsYXNzZXMge1xuICAuZ3JpZC1wYWRkaW5nLXgge1xuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgZ3JpZHMgd2l0aGluIGBncmlkLWNvbnRhaW5lci9ncmlkLWNvbnRhaW5lci5mbHVpZGBcbiAgICAvLyBUaGlzIGFsbG93cyBtYXJnaW4gYW5kIHBhZGRpbmcgZ3JpZHMgdG8gbGluZSB1cCB3aXRoIGVhY2hvdGhlclxuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gJiB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCbG9jayBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogcGFkZGluZywgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBtYXJnaW4sICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBtYXJnaW4sICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sbGFwc2UgY2xhc3Nlc1xuQG1peGluIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgICAgLiN7JGJwfS1tYXJnaW4tY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogbWFyZ2luLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgICAgLiN7JGJwfS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT2Zmc2V0IGNsYXNzZXNcbkBtaXhpbiB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLW1hcmdpbi14ID4gLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcyhcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAvLyAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgLmdyaWQteSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xuXG5cbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtcmVzZXQoKTtcbiAgICB9XG5cbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzIGFuZCBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiO1xuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFJlc3BvbnNpdmUgXCJhdXRvXCIgbW9kaWZpZXJcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgICB9XG5cbiAgICAgIC8vIFJlc3BvbnNpdmUgXCJzaHJpbmtcIiBtb2RpZmllclxuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9O1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuXG4gICAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgICA+IC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gIH1cblxufVxuXG5AbWl4aW4geHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkOiB0cnVlLCAkbWFyZ2luLWdyaWQ6IHRydWUpIHtcbiAgLy8gRnJhbWVkIGdyaWQgc3R5bGVzXG4gIC5ncmlkLWZyYW1lIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICB9XG5cbiAgLmNlbGwgLmdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICB9XG5cbiAgLmNlbGwtYmxvY2sge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgfVxuXG4gIC5jZWxsLWJsb2NrLXkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gIH1cblxuXG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgfVxuXG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuXG4gICAgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gICAgfVxuXG4gICAgLmNlbGwgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICR2ZXJ0aWNhbC1ncmlkIHtcbiAgICAuZ3JpZC15IHtcbiAgICAgICYuZ3JpZC1mcmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgICYuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICAuY2VsbCB7XG4gICAgICAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgIC5ncmlkLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRpbmNsdWRlLWJhc2U6IGZhbHNlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgLmdyaWQtbWFyZ2luLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpbmFsIGNsYXNzZXNcbkBtaXhpbiBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcyhcbiAgJGJhc2UtZ3JpZDogdHJ1ZSxcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlLFxuICAkYmxvY2stZ3JpZDogdHJ1ZSxcbiAgJGNvbGxhcHNlOiB0cnVlLFxuICAkb2Zmc2V0OiB0cnVlLFxuICAkdmVydGljYWwtZ3JpZDogdHJ1ZSxcbiAgJGZyYW1lLWdyaWQ6IHRydWVcbikge1xuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgQGlmKCRiYXNlLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1iYXNlLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gTWFyZ2luIGdyaWRcbiAgQGlmKCRtYXJnaW4tZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFBhZGRpbmcgZ3JpZFxuICBAaWYoJHBhZGRpbmctZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBCbG9jayBncmlkXG4gIEBpZigkYmxvY2stZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gQ29sbGFwc2UgZ3V0dGVyc1xuICBAaWYoJGNvbGxhcHNlKSB7XG4gICAgQGluY2x1ZGUgeHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBPZmZzZXQgZ3V0dGVyc1xuICBAaWYoJG9mZnNldCkge1xuICAgIEBpbmNsdWRlIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGdyaWRcbiAgQGlmKCR2ZXJ0aWNhbC1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICBAaWYgKCRmcmFtZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkLCAkbWFyZ2luLWdyaWQpXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGUgZ3V0dGVycyBmb3IgYSBjZWxsL2NvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgZWl0aGVyIG1hcmdpbiBvciBwYWRkaW5nLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVnYXRpdmUgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIGd1dHRlciBhcyBhIG5lZ2F0aXZlIHZhbHVlLiBDb21tb25seSB1c2VkIGZvciBuZXN0ZWQgZ3JpZHMuXG5AbWl4aW4geHktZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG5lZ2F0aXZlOiBmYWxzZVxuKSB7XG4gICRvcGVyYXRvcjogaWYoJG5lZ2F0aXZlLCAnLScsICcnKTtcblxuICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIG5lZ2F0aXZlIGd1dHRlcnMsIGZvcmNlIHR5cGUgdG8gYG1hcmdpbi5cbiAgJGd1dHRlci10eXBlOiBpZigkbmVnYXRpdmUsICdtYXJnaW4nLCAkZ3V0dGVyLXR5cGUpO1xuXG4gIC8vIE91dHB1dCBvdXIgbWFyZ2luIGd1dHRlcnMuXG4gIEBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkZ3V0dGVycykge1xuICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgKiAwLjU7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpICogMC41O1xuXG4gICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIG1heCB3aWR0aCBjb250YWluZXIsIGRlc2lnbmVkIHRvIGhvdXNlIHlvdXIgZ3JpZCBjb250ZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtY29udGFpbmVyXSAtIGEgd2lkdGggdG8gbGltaXQgdGhlIGNvbnRhaW5lciB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRncmlkLWNvbnRhaW5lci1wYWRkaW5nXSAtIHBhZGRpbmdzIG9mIHRoZSBjb250YWluZXIuXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXIoXG4gICR3aWR0aDogJGdyaWQtY29udGFpbmVyLFxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmdcbikge1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkcGFkZGluZywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIHlvdXIgZmxleCBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbaG9yaXpvbnRhbF0gLSBFaXRoZXIgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBkaXJlY3Rpb24gb2YgY2VsbHMgd2l0aGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gSWYgdGhlIGNlbGxzIHdpdGhpbiBzaG91bGQgd3JhcCBvciBub3QuXG5AbWl4aW4geHktZ3JpZChcbiAgJGRpcmVjdGlvbjogaG9yaXpvbnRhbCxcbiAgJHdyYXA6IHRydWVcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uID09ICdob3Jpem9udGFsJywgcm93LCBjb2x1bW4pO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiAkZGlyZWN0aW9uICR3cmFwO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyBmbGV4IHZhbHVlIGZvciBhIGNlbGwgYmFzZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCwgYGdyb3dgLCBvciBhbnkgb3RoZXIgdmFsdWUgcmVwcmVzZW50aW5nIGEgY2VsbCBzaXplIChpdCB3aWxsIGJlIHRyZWF0ZWQgYXMgYHNocmlua2ApLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IFRoZSBjZWxsIGZsZXggcHJvcGVydHkgdmFsdWUuXG5AZnVuY3Rpb24geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gIEBpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgQHJldHVybiAxIDEgMDtcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ2dyb3cnKSB7XG4gICAgQHJldHVybiAxIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ3Nocmluaycgb3IgJHNpemUgPT0gJ2Z1bGwnIG9yIHpmLWlzLWZyYWN0aW9uKCRzaXplLCAkYWxsb3ctbm8tZGVub21pbmF0b3I6IHRydWUpKSB7XG4gICAgQHJldHVybiAwIDAgYXV0bztcbiAgfVxuICBAcmV0dXJuIG51bGw7XG59XG5cbi8vLyBDYWxjdWxhdGUgdGhlIHNpemUgb2YgYSBjZWxsIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgcmV0dXJucyB0aGUgcmVzcG9uc2l2ZSBndXR0ZXJzIG1hcCBgJGd1dHRlcnNgLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfE1hcH0gVGhlIGNlbGwgZ3V0dGVyIHNpemUgb3IgdGhlIHJlc3BvbnNpdmUgZ3V0dGVycyBtYXAuXG5AZnVuY3Rpb24geHktY2VsbC1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgLy8gRm9yIGBhdXRvYCwgcmV0dXJucyB0aGUgcmVzcG9uc2l2ZSBtYXAgYCRndXR0ZXJzYC5cbiAgQGlmICgkYnJlYWtwb2ludCA9PSAnYXV0bycpIHtcbiAgICBAcmV0dXJuICRndXR0ZXJzO1xuICB9XG5cbiAgLy8gVXNlIHRoZSBjb250ZXh0dWFsIGJyZWFrcG9pbnQgYnkgZGVmYXVsdC5cbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpO1xuXG4gIEBpZiAoJGJyZWFrcG9pbnQpIHtcbiAgICBAcmV0dXJuIC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtemVyby1icmVha3BvaW50KSBvciAwO1xuICB9XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzNgLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gU2l6ZSBvZiB0aGUgY2VsbCAoaW4gcGVyY2VudCkuXG5AZnVuY3Rpb24geHktY2VsbC1zaXplKFxuICAkc2l6ZTogJGdyaWQtY29sdW1uc1xuKSB7XG4gIEByZXR1cm4gZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgkc2l6ZSwgJGRlbm9taW5hdG9yOiAkZ3JpZC1jb2x1bW5zKTtcbn1cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyB2YWx1ZSBmb3IgYSBjZWxsIHNpemUuXG4vLy9cbi8vLyBHdXR0ZXJzLXJlbGF0ZWQgYXJndW1lbnRzIGFyZSByZXF1aXJlZCBmb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycyAoYnkgZGVmYXVsdCkgYXMgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2Agb3IgYW55IGZyYWN0aW9uIGxpa2UgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIHJldHVybnMgYSBtYXAgb2Ygc2l6ZXMgYWRhcHRlZCB0byByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8U3RyaW5nfE1hcH0gVGhlIGNlbGwgc2l6aW5nIHByb3BlcnR5IHZhbHVlLCBvciBhIHJlc3BvbnNpdmUgbWFwIG9mIHRoZW0uXG5AZnVuY3Rpb24geHktY2VsbC1zaXplLWNzcyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgJG1hcmdpbi1ndXR0ZXI6IDA7XG5cbiAgQGlmICgkc2l6ZSA9PSAnYXV0bycgb3IgJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBAcmV0dXJuIGF1dG87XG4gIH1cblxuICAvLyBGb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycywgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgJG1hcmdpbi1ndXR0ZXI6IHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAgIEBpZiAoJG1hcmdpbi1ndXR0ZXIgPT0gbnVsbCkge1xuICAgICAgQGVycm9yICd4eS1jZWxsLXNpemU6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiJztcbiAgICB9XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgdGhlIGNlbGwgc2l6ZSAobnVtYmVyKVxuICAkc2l6ZS1yYXc6IGlmKCRzaXplID09ICdmdWxsJywgMTAwJSwgeHktY2VsbC1zaXplKCRzaXplKSk7XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBjZWxsIENTUyBzaXplIGluY2x1ZGluZyBndXR0ZXJzIChzdHJpbmcpXG4gIC8vIElmIHRoZSBjZWxsIGhhcyByZXNwb25zaXZlIG1hcmdpbiBndXR0ZXJzLCByZXR1cm4gYSByZXNwb25zaXZlIG1hcCBvZiBzaXplcy5cbiAgQGlmIHR5cGUtb2YoJG1hcmdpbi1ndXR0ZXIpID09ICdtYXAnIHtcbiAgICAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM6ICgpO1xuXG4gICAgQGVhY2ggJGJwLCAkbWcgaW4gJG1hcmdpbi1ndXR0ZXIge1xuICAgICAgJG1nYzogcmVtLWNhbGMoJG1nKTtcbiAgICAgIEBpZiAkbWdjID09IDAge1xuICAgICAgICAkbWdjOiAwcmVtO1xuICAgICAgfVxuICAgICAgJHNpemUtY3NzOiBpZigkbWcgPT0gMCwgJHNpemUtcmF3LCBjYWxjKCN7JHNpemUtcmF3fSAtICN7JG1nfSkpO1xuICAgICAgJHJlc3BvbnNpdmUtY3NzLXNpemVzOiBtYXAtbWVyZ2UoJHJlc3BvbnNpdmUtY3NzLXNpemVzLCAoJGJwOiAkc2l6ZS1jc3MpKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRyZXNwb25zaXZlLWNzcy1zaXplcztcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiBhIHNpbmdsZSBDU1Mgc2l6ZS5cbiAgQGVsc2Uge1xuICAgIC8vIE1ha2Ugc3VyZSB0aGF0IDAgaXMgdHJhbnNsYXRlZCBpbiAwcmVtIGZvciBjYWxjKClcbiAgICAkbWdjOiByZW0tY2FsYygkbWFyZ2luLWd1dHRlcik7XG4gICAgQGlmICRtZ2MgPT0gMCB7XG4gICAgICAkbWdjOiAwcmVtO1xuICAgIH1cbiAgICAkY3NzLXNpemU6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsICRzaXplLXJhdywgY2FsYygjeyRzaXplLXJhd30gLSAjeyRtZ2N9KSk7XG4gICAgQHJldHVybiAkY3NzLXNpemU7XG4gIH1cbn1cblxuLy8vIFNldHMgYmFzZSBmbGV4IHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgLCBgZ3Jvd2AsIG9yIGFueSBvdGhlciB2YWx1ZSByZXByZXNlbnRpbmcgYSBjZWxsIHNpemUgKGl0IHdpbGwgYmUgdHJlYXRlZCBhcyBgc2hyaW5rYCkuXG5AbWl4aW4geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gICRiYXNlOiB4eS1jZWxsLWJhc2UoJHNpemUpO1xuXG4gIGZsZXg6ICN7JGJhc2V9O1xuXG4gIC8vIFNldCBiYXNlIHN0eWxlcyBmb3IgXCJmdWxsXCIgb25seVxuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cbn1cblxuLy8vIFJlc2V0cyBhIGNlbGxzIHdpZHRoIChvciBoZWlnaHQgaWYgdmVydGljYWwgaXMgdHJ1ZSkgYXMgd2VsbCBhcyBzdHJpcHMgaXRzIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1yZXNldCgkdmVydGljYWw6IHRydWUpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICBtYXgtI3skZGlyZWN0aW9ufTogbm9uZTtcbn1cblxuLy8vIFNldHMgc2l6aW5nIHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gR3V0dGVycy1yZWxhdGVkIGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQgZm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMgKGJ5IGRlZmF1bHQpIGFzIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgc2l6ZXMgYWRhcHRlZCBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHNpemVzOiB4eS1jZWxsLXNpemUtY3NzKCRzaXplLCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkYnJlYWtwb2ludCk7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcblxuICBAaWYgKHR5cGUtb2YoJHNpemVzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRzaXplcykge1xuICAgICAgI3skZGlyZWN0aW9ufTogJC16Zi1icC12YWx1ZTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICN7JGRpcmVjdGlvbn06ICRzaXplcztcbiAgfVxufVxuXG4vLy8gU2V0cyBndXR0ZXJzIHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gRGlyZWN0aW9uIG9mIHRoZSBndXR0ZXJzIHRvIG91dHB1dC4gU2VlIGAkZ3V0dGVyLXBvc2l0aW9uYC5cbkBtaXhpbiB4eS1jZWxsLWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgLy8gR2V0IHRoZSBkZWZhdWx0IGd1dHRlciBwb3NpdGlvbiBhY2NvcmRpbmcgdG8gY2VsbCBkaXJlY3Rpb25cbiAgQGlmKCRndXR0ZXItcG9zaXRpb24gPT0gbnVsbCkge1xuICAgICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcbiAgfVxuXG4gIC8vIEdldCB0aGUgZ3V0dGVyIHdpZHRoIGZvciB0aGlzIGJyZWFrcG9pbnRcbiAgJGd1dHRlci13aWR0aDogeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIEBpZiAoJGd1dHRlci13aWR0aCA9PSBudWxsKSB7XG4gICAgQGVycm9yICd4eS1jZWxsLWd1dHRlcnM6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiJztcbiAgfVxuXG4gIEBpZiAoJGd1dHRlci10eXBlIGFuZCAkZ3V0dGVyLXR5cGUgIT0gbm9uZSkge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci13aWR0aCwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFtudWxsXSAtIFtERVBSRUNBVEVEXSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRvdXRwdXQgWyhiYXNlIHNpemUgZ3V0dGVycyldIC0gQ2VsbCBwYXJ0cyB0byBvdXRwdXQuIFlvdSB3aWxsIG5lZWQgdG8gZ2VuZXJhdGUgb3RoZXJzIHBhcnRzIG9mIHRoZSBjZWxsIHNlcGVyYXRlbHksIGl0IG1heSBub3Qgd29yayBwcm9wZXJseSBvdGhlcndpc2UuXG5AbWl4aW4geHktY2VsbChcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiBudWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG91dHB1dDogKGJhc2Ugc2l6ZSBndXR0ZXJzKVxuKSB7XG4gIC8vIERlZmF1bHQgZm9yICRndXR0ZXItb3V0cHV0XG4gIEBpZiAoJGd1dHRlci1vdXRwdXQgIT0gbnVsbCkge1xuICAgIEB3YXJuICd4eS1jZWxsOiAkZ3V0dGVyLW91dHB1dCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMCc7XG4gICAgQGlmICgkZ3V0dGVyLW91dHB1dCA9PSBmYWxzZSkge1xuICAgICAgJG91dHB1dDogc2wtcmVtb3ZlKCRvdXRwdXQsIGd1dHRlcnMpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgYmFzZSkpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoJHNpemUpO1xuICB9XG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgc2l6ZSkpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJHNpemUsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgZ3V0dGVycykpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCBzaXplZCBncmlkLiBVc2VkIHRvIGdlbmVyYXRlIG91ciBncmlkIGNsYXNzZXMuXG4vLy9cbi8vLyBgeHktY2VsbC1zdGF0aWMoKWAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLlxuLy8vIFVzZSBgeHktY2VsbCgpYCBpbnN0ZWFkIHdpdGggYCRvdXRwdXQ6IChzaXplIGd1dHRlcnMpYCB0byBub3QgZ2VuZXJhdGUgdGhlIGNlbGwgYmFzZS5cbi8vLyBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTBcbi8vL1xuLy8vIEBkZXByZWNhdGVkIHY2LjYuMFxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuIEFsd2F5cyBgdHJ1ZWAgZm9yIG1hcmdpbiBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zdGF0aWMoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgQHdhcm4gJ3h5LWNlbGwtc3RhdGljKCkgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgXCJ4eS1jZWxsKClcIiBpbnN0ZWFkLiBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTAnO1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICAkLWd1dHRlci1vdXRwdXQ6IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgdHJ1ZSwgJGd1dHRlci1vdXRwdXQpO1xuICAkLWd1dHRlci1tYXJnaW46IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgJGd1dHRlciwgMCk7XG5cbiAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJC1ndXR0ZXItbWFyZ2luLCAkdmVydGljYWwpO1xuICBAaWYgKCQtZ3V0dGVyLW91dHB1dCkge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNlbGwnXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbbnVsbF0gLSBbREVQUkVDQVRFRF0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIGJyZWFrcG9pbnQgdG8gdXNlIGZvciB0aGUgY2VsbCBnZW5lcmF0aW9uLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJG91dHB1dCBbKGJhc2Ugc2l6ZSBndXR0ZXJzKV0gLSBDZWxsIHBhcnRzIHRvIG91dHB1dC4gWW91IHdpbGwgbmVlZCB0byBnZW5lcmF0ZSBvdGhlcnMgcGFydHMgb2YgdGhlIGNlbGwgc2VwZXJhdGVseSwgaXQgbWF5IG5vdCB3b3JrIGNvcnJlY3RseSBvdGhlcndpc2UuXG5AbWl4aW4geHktZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItb3V0cHV0OiBudWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG91dHB1dDogKGJhc2Ugc2l6ZSBndXR0ZXJzKVxuKSB7XG4gICRzaXplOiBwZXJjZW50YWdlKGRpdmlkZSgxLCAkbikpO1xuXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemUsICRndXR0ZXItb3V0cHV0LCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsLCAkb3V0cHV0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENvbGxhcHNlcyB0aGUgZ3JpZCBhIGNlbGxzIHdpdGhpbiBpdC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWy5jZWxsXSAtIFRoZSBjaGlsZCBlbGVtZW50IHRvIHJlbW92ZSB0aGUgZ3V0dGVyIGZyb20uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gcmVtb3ZlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb25zIHRvIHJlbW92ZSBndXR0ZXJzIGZyb20uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG1pbi1icmVha3BvaW50IFskLXpmLXplcm8tYnJlYWtwb2ludF0gLSBNaW5pbXVtIGJyZWFrcG9pbnQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGZvciB3aGljaCB0byBjb2xsYXBzZSB0aGUgZ3V0dGVyLlxuQG1peGluIHh5LWdyaWQtY29sbGFwc2UoXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRtaW4tYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnRcbikge1xuICAvLyBGaXJzdCwgbGV0cyBuZWdhdGUgYW55IG1hcmdpbnMgb24gdGhlIHRvcCBsZXZlbFxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICRleGNsdWRlZC1icHM6IC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJG1pbi1icmVha3BvaW50KTtcblxuICAgIC8vIE91dHB1dCBuZXcgd2lkdGhzIHRvIG5vdCBpbmNsdWRlIGd1dHRlcnNcbiAgICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYoc2wtY29udGFpbigkZXhjbHVkZWQtYnBzLCAkYnApKSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIHBhZGRpbmctI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIHZhbHVlIHRvIG9mZnNldCBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgeHktY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gTWFwIG9mIGd1dHRlcnMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIFRoZSB0eXBlIG9mIGd1dHRlciB0byB1c2UuIENhbiBiZSBgbWFyZ2luYCBvciBgcGFkZGluZ2Bcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfFN0cmluZ30gVGhlIGNlbGwgb2Zmc2V0IHByb3BlcnR5IHZhbHVlLlxuQGZ1bmN0aW9uIHh5LWNlbGwtb2Zmc2V0KFxuICAkbixcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCwgJGRlZmF1bHQ6ICQtemYtemVyby1icmVha3BvaW50KTtcbiAgJHNpemU6IHh5LWNlbGwtc2l6ZSgkbik7XG5cbiAgJG9mZnNldDogJHNpemU7XG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgLy8gTWFrZSBzdXJlIHRoYXQgMCBpcyB0cmFuc2xhdGVkIGluIDByZW0gZm9yIGNhbGMoKVxuICAgICRndXR0ZXI6IHJlbS1jYWxjKHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpKTtcbiAgICBAaWYgJGd1dHRlciA9PSAwIHtcbiAgICAgICRndXR0ZXI6IDByZW07XG4gICAgfVxuICAgICRvZmZzZXQ6IGlmKCRndXR0ZXIgPT0gMCwgJHNpemUsIGNhbGMoI3skc2l6ZX0gKyAjeyRndXR0ZXJ9IC8gMikpO1xuICB9XG4gIEByZXR1cm4gJG9mZnNldDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0L2JvdHRvbSBieSBgJG5gIGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgeHktY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gTWFwIG9mIGd1dHRlcnMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIFRoZSB0eXBlIG9mIGd1dHRlciB0byB1c2UuIENhbiBiZSBgbWFyZ2luYCBvciBgcGFkZGluZ2Bcbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBmb3IgYCRndXR0ZXJzYC4gSXQgY2FuIGJlIGEgYnJlYWtwb2ludCBuYW1lLCBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIGBhdXRvYCBmb3IgYWxsIGJyZWFrcG9pbnRzLiBJZiBhIGxpc3QgaXMgZ2l2ZW4sIG1lZGlhLXF1ZXJpZXMgd2lsbCBiZSBnZW5lcmF0ZWQuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIFNldHMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgb2Zmc2V0LiBJZiBzZXQgdG8gdHJ1ZSB3aWxsIGFwcGx5IG1hcmdpbi10b3AgaW5zdGVhZC5cbkBtaXhpbiB4eS1jZWxsLW9mZnNldChcbiAgJG4sXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQsICRkZWZhdWx0OiAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCwgJ3RvcCcsICRnbG9iYWwtbGVmdCk7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbigkYnJlYWtwb2ludCwgJG1lZGlhLXF1ZXJpZXM6ICdmb3ItbGlzdHMnKSB7XG4gICAgJG9mZnNldDogeHktY2VsbC1vZmZzZXQoJG4sICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUpO1xuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRvZmZzZXR9O1xuICB9XG59XG4iLCIvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby12ZW5kb3ItcHJlZml4ZXNcblxuLy8vIE1vZGlmaWVzIGEgZ3JpZCB0byBnaXZlIGl0IFwiZnJhbWVcIiBiZWhhdmlvciAobm8gb3ZlcmZsb3csIG5vIHdyYXAsIHN0cmV0Y2ggYmVoYXZpb3IpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0ZWQgW2ZhbHNlXSAtIElzIGdyaWQgbmVzdGVkIG9yIG5vdC4gSWYgbmVzdGVkIGlzIHRydWUgdGhpcyBzZXRzIHRoZSBmcmFtZSB0byAxMDAlIGhlaWdodCwgb3RoZXJ3aXNlIHdpbGwgYmUgMTAwdmguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbbnVsbF0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW5jbHVkZS1iYXNlIFt0cnVlXSAtIEluY2x1ZGUgdGhlIGJhc2Ugc3R5bGVzIHRoYXQgZG9uJ3QgdmFyeSBwZXIgYnJlYWtwb2ludC5cbkBtaXhpbiB4eS1ncmlkLWZyYW1lKFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkbmVzdGVkOiBmYWxzZSxcbiAgJGd1dHRlcnM6IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkaW5jbHVkZS1iYXNlOiB0cnVlXG4pIHtcblxuICBAaWYgJGluY2x1ZGUtYmFzZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCBhbmQgdHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKCR2ZXJ0aWNhbCwgJG5lc3RlZCwgJGd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gR2V0IG91ciBndXR0ZXJzIGlmIGFwcGxpY2FibGVcbiAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gICAgLy8gSWYgd2UgaGF2ZSBhIGd1dHRlciwgYWRkIGl0IHRvIHRoZSB3aWR0aC9oZWlnaHRcbiAgICBAaWYgJGd1dHRlciB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICAvLyBNYWtlIHN1cmUgdGhhdCAwIGlzIHRyYW5zbGF0ZWQgaW4gMHJlbSBmb3IgY2FsYygpXG4gICAgICAgIEBpZiAkZ3V0dGVyID09IDAge1xuICAgICAgICAgICRndXR0ZXI6IDByZW07XG4gICAgICAgIH1cbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgLy8gTWFrZSBzdXJlIHRoYXQgMCBpcyB0cmFuc2xhdGVkIGluIDByZW0gZm9yIGNhbGMoKVxuICAgICAgICBAaWYgJGd1dHRlciA9PSAwIHtcbiAgICAgICAgICAkZ3V0dGVyOiAwcmVtO1xuICAgICAgICB9XG4gICAgICAgIHdpZHRoOiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgIGhlaWdodDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgd2lkdGg6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gTW9kaWZpZXMgYSBjZWxsIHRvIGdpdmUgaXQgXCJibG9ja1wiIGJlaGF2aW9yIChvdmVyZmxvdyBhdXRvLCBpbmVydGlhbCBzY3JvbGxpbmcpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrKFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHByb3BlcnR5OiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgJ292ZXJmbG93LXknLCAnb3ZlcmZsb3cteCcpO1xuXG4gIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIH0gQGVsc2Uge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLy8vIENvbnRhaW5lciBmb3IgaW5zaWRlIGEgZ3JpZCBmcmFtZSBjb250YWluaW5nIG11bHRpcGxlIGJsb2Nrcy4gVHlwaWNhbGx5IHVzZWRcbi8vLyBhcyBhIG1vZGlmaWVyIGZvciBhIGAuY2VsbGAgdG8gYWxsb3cgdGhlIGNlbGwgdG8gcGFzcyBhbG9uZyBmbGV4IHNpemluZ1xuLy8vIGNvbnN0cmFpbnRzIC8gZnJvbSBwYXJlbnRzIHRvIGNoaWxkcmVuLlxuQG1peGluIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIEZsZXhib3ggVXRpbGl0aWVzXG4vLy8vXG4vL1xuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBjb3VudCBvZiBzb3VyY2Ugb3JkZXJpbmdgXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDYgIWRlZmF1bHQ7XG5cbi8vLyBRdWlja2x5IGRpc2FibGUvZW5hYmxlIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIFZhbmlsbGEgRmxleCBIZWxwZXJzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmbGV4LWhlbHBlcnMge1xuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtanVzdGlmeSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgJi5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBDZW50cmFsIGFsaWdubWVudCBvZiBjb250ZW50XG4gIC5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBjZW50ZXIsICR5OiBtaWRkbGUpO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudCB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmFuaWxsYSBGbGV4Ym94IEhlbHBlcnNcbiAgQGluY2x1ZGUgZmxleC1oZWxwZXJzO1xufVxuIiwiQGZ1bmN0aW9uIC16Zi1mbGV4LWp1c3RpZnkoJHRleHQtZGlyZWN0aW9uKSB7XG4gICQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICAgJ2xlZnQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LWVuZCwgZmxleC1zdGFydCksXG4gICAgJ3JpZ2h0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1zdGFydCwgZmxleC1lbmQpLFxuICAgICdjZW50ZXInOiBjZW50ZXIsXG4gICAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAgICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4gICk7XG5cbiAgQHJldHVybiAkLXpmLWZsZXgtanVzdGlmeTtcbn1cblxuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkLWZyb20taGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTtcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGQtZnJvbS1oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBVc2UgdGhlIGAuY29kZS1pbmxpbmVgIGNvbXBvbmVudCBhcyBkZWZhdWx0IGZvciBgPGNvZGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZW5hYmxlLWNvZGUtaW5saW5lOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFVzZSB0aGUgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQgYXMgZGVmYXVsdCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGVuYWJsZS1jaXRlLWJsb2NrOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLCAuaDEsXG4gIGgyLCAuaDIsXG4gIGgzLCAuaDMsXG4gIGg0LCAuaDQsXG4gIGg1LCAuaDUsXG4gIGg2LCAuaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSwgLiN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBJbmxpbmUgQ2l0YXRpb25zXG4gIEBpZiAoJGVuYWJsZS1jaXRlLWJsb2NrID09IHRydWUpIHtcbiAgICBjaXRlIHtcbiAgICAgIC8vIEV4dGVuZGluZyBhIGNsYXNzIGlzIG5vdCByZWNvbW1lbmRlZC5cbiAgICAgIC8vIFRPRE86IEJyZWFrIHRoZSB0eXBvZ3JhcGh5LWJhc2UvdHlwb2dyYXBoeS1oZWxwZXJzIHNlcGFyYXRpb25cbiAgICAgIEBleHRlbmQgJWNpdGUtYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyLCBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29kZVxuICBAaWYgKCRlbmFibGUtY29kZS1pbmxpbmUgPT0gdHJ1ZSkge1xuICAgIGNvZGUge1xuICAgICAgQGV4dGVuZCAlY29kZS1pbmxpbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gUHNldWRvIGNvbnRlbnQgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIHRoZSBgLmNvZGUtaW5saW5lYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiB0aGUgYC5jb2RlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtYmxvY2stcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiB1bmRlciB0aGUgYC5jb2RlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY29kZS1ibG9jay1tYXJnaW4tYm90dG9tOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBjaXRlLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAkY2l0ZS1jb2xvcjtcbiAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRjaXRlLXBzZXVkby1jb250ZW50O1xuICB9XG59XG5cbi8vLyBBZGQgYmFzaWMgc3R5bGVzIGZvciBhIGNvZGUgaGVscGVyLlxuLy8vIFNlZSBgY29kZS1pbmxpbmVgIGFuZCBgY29kZS1ibG9ja2AgbWl4aW5zLlxuQG1peGluIGNvZGUtc3R5bGUge1xuICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgY29sb3I6ICRjb2RlLWNvbG9yO1xufVxuXG4vLy8gTWFrZSBjb2RlIGhlbHBlciBmcm9tIHRoZSBgY29kZS1zdHlsZWAgbWl4aW4gaW5saW5lLlxuLy8vIFVzZWQgdG8gZ2VuZXJhdGUgYC5jb2RlLWlubGluZWBcbkBtaXhpbiBjb2RlLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcbn1cblxuLy8vIE1ha2UgY29kZSBoZWxwZXIgZnJvbSB0aGUgYGNvZGUtc3R5bGVgIG1peGluIGEgYmxvY2suXG4vLy8gVXNlZCB0byBnZW5lcmF0ZSBgLmNvZGUtYmxvY2tgXG5AbWl4aW4gY29kZS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogYXV0bztcbiAgd2hpdGUtc3BhY2U6IHByZTtcblxuICBwYWRkaW5nOiAkY29kZS1ibG9jay1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiAkY29kZS1ibG9jay1tYXJnaW4tYm90dG9tO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgdWwsIG9sIHtcbiAgICAvLyBVc2UgdG8gcmVtb3ZlIG51bWJlcnMgZnJvbSBvcmRlcmVkIGxpc3QgJiBidWxsZXRzIGZyb20gdW5vcmRlcmVkIGxpc3RcbiAgICAmLm5vLWJ1bGxldCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAlY2l0ZS1ibG9jayB7XG4gICAgQGluY2x1ZGUgY2l0ZS1ibG9jaztcbiAgfVxuXG4gIC5jaXRlLWJsb2NrIHtcbiAgICBAZXh0ZW5kICVjaXRlLWJsb2NrO1xuICB9XG5cbiAgJWNvZGUtaW5saW5lIHtcbiAgICBAaW5jbHVkZSBjb2RlLXN0eWxlO1xuICAgIEBpbmNsdWRlIGNvZGUtaW5saW5lO1xuICB9XG5cbiAgLmNvZGUtaW5saW5lIHtcbiAgICBAZXh0ZW5kICVjb2RlLWlubGluZTtcbiAgfVxuXG4gIC5jb2RlLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBjb2RlLXN0eWxlO1xuICAgIEBpbmNsdWRlIGNvZGUtYmxvY2s7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXlzIG5leHQgdG8gYWxsIGxpbmtzIHRoZWlyIFwiaHJlZlwiIHdoZW4gcHJpbnRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIC8vIEVuc3VyZSBhIFwiYmxhY2stb24td2hpdGVcIiBwcmludCBieSByZW1vdmluZyBiYWNrZ3JvdW5kcyxcbiAgICAgIC8vIHVzaW5nIGJsYWNrIHRleHQgZXZlcnl3aGVyZSBhbmQgZm9yY2luZyB0aGUgYnJvd3NlciB0byBlY29ub21pemUgaW5rLlxuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICAgIHByaW50LWNvbG9yLWFkanVzdDogZWNvbm9teTtcbiAgICAgIH1cbiAgICAgIC8vIE90aGVyd2lzZSwgcHJldmVudCBhbnkgZWNvbm9teSBieSB0aGUgYnJvd3Nlci5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDtcbiAgICAgIH1cblxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgQGlmICRwcmludC1ocmVmcyB7XG4gICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuICAgIH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgIC8vIEhlbHBlciB0byByZS1hbGxvdyBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGNlcnRhaW4gZWxlbWVudHMgKGUuZy4gcHJlLCBibG9ja3F1b3RlLCB0cilcbiAgICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9mZi1jYW52YXNcbi8vLy9cblxuLy8vIFdpZHRoIG1hcCBvZiBhIGxlZnQvcmlnaHQgb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBtYXAgb2YgYSB0b3AvYm90dG9tIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGZvciB0aGUgb2ZmLWNhbnZhcyBvdmVybGFwIHBhbmVsLlxuLy8vIEB0eXBlIFNoYWRvd1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBzaXplIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweCAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgY29sb3IgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgY29udGVudCBvdmVybGF5LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTEgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYHB1c2hgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgb3ZlcmxhcGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHVzaW5nIHRoZSBgcmV2ZWFsLWZvci0qYCBjbGFzc2VzIG9yIG1peGluLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIExlbmd0aCBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xuXG4vLy8gVGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhIHJldmVhbGVkIG9mZi1jYW52YXMgd2lsbCBiZSBmaXhlZC1wb3NpdGlvbiwgYW5kIHNjcm9sbCB3aXRoIHRoZSBzY3JlZW4uXG4vLy8gQHR5cGUgQm9vbFxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgb3ZlcmxheSB0aGF0IGFwcGVhcnMgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBDU1MgY2xhc3MgdXNlZCBmb3IgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGUgb2ZmLWNhbnZhcyBtaXhpbnMgdXNlIHRoaXMgdG8gdGFyZ2V0IHRoZSBwYWdlIGNvbnRlbnQuXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNlbGluZSBzdHlsZXMgZm9yIG9mZi1jYW52YXMuIFRoaXMgQ1NTIGlzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIG90aGVyIHBpZWNlcyB3b3JrLlxuQG1peGluIG9mZi1jYW52YXMtYmFzaWNzIHtcblxuICAvLy8gVHJhbnNmb3JtIGRlcHJlY2F0ZWQgc2l6ZSBzZXR0aW5ncyBpbnRvIG1hcCAmIHNob3cgd2FybmluZ1xuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXNpemVzIGluc3RlYWQnO1xuICB9XG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cblxuICAvLyBDaGVja3MgdGhlIHotaW5kZXhlcyBhbmQgaW5jcmVhc2UgdGhlbSBkdWUgdG8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4gIC8vIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgdGhlIG92ZXJsYXkncyB6LWluZGV4IGlzIG5ldyBzaW5jZSB2Ni40IGFuZCBtYXkgYmUgaWRlbnRpY2FsIHRvIHRoZSB1c2VyIGN1c3RvbSBzZXR0aW5ncyBvZiB0aGUgcHVzaCB6LWluZGV4LlxuICBAaWYgJG9mZmNhbnZhcy1wdXNoLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1wdXNoLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleCA8PSAkb2ZmY2FudmFzLXB1c2gtemluZGV4IHsgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cblxuICAvLyBIaWRlcyBvdmVyZmxvdyBvbiBib2R5IHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuICAuaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZywgdmlzaWJpbGl0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG5cbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDtcblxuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3NhYmxlIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHdyYXBwZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy13cmFwcGVyKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2UoXG4gICRiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQsXG4gICR0cmFuc2l0aW9uOiAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsXG4gICRmaXhlZDogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICBAaWYgJGZpeGVkID09IHRydWUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLy8gU2V0IHRoZSBvZmYtY2FudmFzIHotaW5kZXguXG4gIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuICB9XG5cbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgLy8gSGlkZSBpbmFjdGl2ZSBvZmYtY2FudmFzIHdpdGhpbiB0aGUgY29udGVudCB0aGF0IGhhdmUgdGhlIHNhbWUgcG9zaXRpb25cbiAgJi5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE92ZXJsYXAgb25seSBzdHlsZXMuXG4gICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4O1xuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6ICRvZmZjYW52YXMtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldHMgdHJhbnNmb3JtIHRvIDAgdG8gc2hvdyBhbiBvZmYtY2FudmFzIHBhbmVsLlxuICAmLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBwb3NpdGlvbiBhbiBvZmYtY2FudmFzIHBhbmVsIHRvIHRoZSBsZWZ0L3JpZ2h0L3RvcC9ib3R0b20uXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkb3JpZW50YXRpb246IGhvcml6b250YWwsXG4gICRzaXplczogaWYoJG9yaWVudGF0aW9uID09IGhvcml6b250YWwsICRvZmZjYW52YXMtc2l6ZXMsICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMpXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUgaXMgc2V0LCBhZGQgaW5uZXIgYm94LXNoYWRvdy5cbiAgLy8gVGhpcyBtaW1pY3MgdGhlIG9mZi1jYW52YXMgcGFuZWwgaGF2aW5nIGEgbG93ZXIgei1pbmRleCwgd2l0aG91dCBoYXZpbmcgdG8gaGF2ZSBvbmUuXG4gIEBpZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIHtcbiAgICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhyaWdodCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cobGVmdCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGJvdHRvbSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHRvcCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi8vLyBTZXRzIHRoZSBzdHlsZXMgZm9yIHRoZSBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiBvZmYtY2FudmFzLWNvbnRlbnQoKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIC8vIEJpbmQgdG8gaGFzLXRyYW5zaXRpb24tWCBjbGFzcyB0byBwcmV2ZW50IHRyYW5zaXRpb24gZm9yIHRyYW5zZm9ybTpub25lXG4gICYuaGFzLXRyYW5zaXRpb24tb3ZlcmxhcCxcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIHNjb3BlIHVudGlsIHRoZSBlbGVtZW50IGlzIGNsb3NlZCAobWFrZXMgc3VyZSB0cmFuc2l0aW9uZW5kIGdldHMgdHJpZ2dlcmVkKVxuICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgZWxlbWVudCAmIGNvbnRlbnQsIG5lc3RlZCBpbiBhbm90aGVyIGNvbnRlbnRcbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRoYXQgcmV2ZWFsIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1yZXZlYWwoXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuICAkY29udGVudDogJG1haW5jb250ZW50LWNsYXNzLFxuICAkYnJlYWtwb2ludDogc21hbGxcbikge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6ICR6aW5kZXg7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgQGlmIG5vdCAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIHJldmVhbGVkIGVsZW1lbnQgaXMgbmVzdGVkIGluIGNvbnRlbnRcbiAgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICBAYXQtcm9vdCAuI3skY29udGVudH0uaGFzLXJldmVhbC0jeyRwb3NpdGlvbn0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IChwcmlvciB0byB2Ni40KVxuICAmIH4gLiN7JGNvbnRlbnR9IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuLy8vIE92ZXJyaWRlcyB0aGUgb2ZmLWNhbnZhcyBzdHlsZXNcbkBtaXhpbiBpbi1jYW52YXMoKSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB0cmFuc2l0aW9uOiBub25lO1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLnBvc2l0aW9uLWxlZnQsXG4gICYucG9zaXRpb24tcmlnaHQsXG4gICYucG9zaXRpb24tdG9wLFxuICAmLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9mZi1jYW52YXMge1xuICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2ljcztcblxuICAvLyBPZmYtY2FudmFzIHdyYXBwZXJcbiAgLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy13cmFwcGVyO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgIC8vIEZvcmNlIHBvc2l0aW9uIGFic29sdXRlIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBiZWNhdXNlIGZpeGVkIGRvZXNuJ3Qgd29yayBmb3IgcHVzaCB0cmFuc2l0aW9uIHdpdGhpbiB0aGUgdHJhbnNmb3JtIHNjb3BlLlxuICAgIC8vIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgLy8gICAvLyBOT1RFOiBzaW5jZSBvdmVybGFwIHRyYW5zaXRpb24gaXMgY3VycmVudGx5IGZvcmNlZCBpZiBuZXN0ZWQsIHRoZXJlJ3Mgbm8gbmVlZCB0byBmb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSB1bnRpbCBuZXN0ZWQgcHVzaCB0cmFuc2l0aW9uIGlzIHN1cHBvcnRlZC5cbiAgICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvLyB9XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lciB3aXRoIGFic29sdXRlIHBvc2l0aW9uXG4gIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2UoJGZpeGVkOiBmYWxzZSk7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIHBvc2l0aW9uIGNsYXNzZXNcbiAgLnBvc2l0aW9uLWxlZnQgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGxlZnQsICAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0ICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHJpZ2h0LCAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXRvcCAgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHRvcCwgICAgdmVydGljYWwpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20gIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihib3R0b20sIHZlcnRpY2FsKTsgfVxuXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtY29udGVudDtcbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIHBhbmVsIG9uIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwobGVmdCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwodG9wLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChib3R0b20sICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNb3ZlIGluLWNhbnZhcyBmb3IgbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBpbi1jYW52YXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvb2x0aXBcbi8vLy9cblxuLy8vIERlZmF1bHQgY3Vyc29yIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhhcy10aXAtY3Vyc29yOiBoZWxwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYm90dG9tIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgTGlzdFxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGZvbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgb2YgdGhlIHRvb2x0aXAgdGV4dC4gQnkgZGVmYXVsdCwgd2UgcmVjb21tZW5kIGEgc21hbGxlciBmb250IHNpemUgdGhhbiB0aGUgYm9keSBjb3B5LlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgaGVpZ2h0IGZvciB0b29sdGlwcy4gVGhpcyBpcyBoZWxwZnVsIGZvciBjYWxjdWxhdGluZyB0aGUgZGlzdGFuY2Ugb2YgdGhlIHRvb2x0aXAgZnJvbSB0aGUgdG9vbHRpcCB3b3JkLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b207XG4gIGZvbnQtd2VpZ2h0OiAkaGFzLXRpcC1mb250LXdlaWdodDtcbiAgY3Vyc29yOiAkaGFzLXRpcC1jdXJzb3I7XG59XG5cbkBtaXhpbiB0b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArICN7JHRvb2x0aXAtcGlwLWhlaWdodH0pO1xuICB6LWluZGV4OiAxMjAwO1xuXG4gIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICR0b29sdGlwLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gICYuYm90dG9tIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgdXApO1xuICAgICAgYm90dG9tOiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYudG9wIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgZG93bik7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5sZWZ0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgcmlnaHQpO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYucmlnaHQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBsZWZ0KTtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tdG9wOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDEwJTtcbiAgfVxuXG4gICYuYWxpZ24tYm90dG9tOjpiZWZvcmUge1xuICAgIGJvdHRvbTogMTAlO1xuICAgIHRvcDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tbGVmdDo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0OjpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b29sdGlwIHtcbiAgLmhhcy10aXAge1xuICAgIEBpbmNsdWRlIGhhcy10aXA7XG4gIH1cblxuICAudG9vbHRpcCB7XG4gICAgQGluY2x1ZGUgdG9vbHRpcDtcbiAgfVxufVxuIiwiYm9keSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgLypcbiAgLmZsYWcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgJi5mbGFnX29uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgei1pbmRleDogOTk5OTk5OTtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgb3BhY2l0eTogMC43NTtcbiAgICAgIGJvcmRlci10b3A6IDIwMHB4IHNvbGlkIHJlZDtcbiAgICAgIGJvcmRlci1yaWdodDogMjAwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgIHNwYW4ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0b3A6IC0xNTVweDtcbiAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgKi9cbn1cblxuI3NsaWRlcnMtY29udGFpbmVyIHtcbiAgcGFkZGluZy10b3A6IDczcHg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBwYWRkaW5nLXRvcDogODJweDtcbiAgfVxufVxuXG5AbWl4aW4gdGhlbWUoJG5hbWUsICRjb2xvcikge1xuICAuI3skbmFtZX0ge1xuICAgIC5lbGVtZW50IHtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59IiwiaGVhZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwMTA7XG4gIC5kZXNrdG9wX2hlYWRlcl9jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCA1cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogOTk5O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5kZXNrdG9wX2hlYWRlciB7XG4gICAgbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nOiAxMy41cHggMTJweDtcbiAgICAubmF2IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgLmxvZ28ge1xuICAgICAgICB3aWR0aDogNTZweDtcbiAgICAgICAgaGVpZ2h0OiA0NnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vYXNzZXRzLnJ0Y3Nudi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMDQvMTYxNzMwMzcvcnRjX2xvZ28lNDAyeC5wbmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE0cHg7XG4gICAgICAgIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgbmF2IHtcbiAgICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGFkYWRhO1xuICAgICAgICAgIGhlaWdodDogNDFweDtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDFweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDI3LjVweCAxNHB4O1xuICAgICAgICAgICAgY29sb3I6ICM0QTRBNEE7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRydGNibHVlO1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLnNuc19pbl9uYXYge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEyM3B4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYXF1YW1hcmluZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LWNoaWxkIGEge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmhlYWRlcl9vcHRpb25zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIC5zZWFyY2gge1xuICAgICAgICAuc2VhcmNoX2VsZW0ge1xuICAgICAgICAgIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgMjUwbXM7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAyNTBtcztcbiAgICAgICAgICAgIGNvbG9yOiAjNEE0QTRBO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICBjb2xvcjogJHJ0Y2dvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvKiogTGFuZ3VhZ2Ugb3B0aW9ucyAqL1xuICAgICAgLmxhbmcge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBhIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGNvbG9yOiAjNEE0QTRBO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICBmaWxsOiAjNEE0QTRBO1xuICAgICAgICAgICAgICAmLmxhbmdfZ2xvYmUge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRydGNibHVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRydGNibHVlO1xuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgZmlsbDogJHJ0Y2JsdWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5sYW5nX29wdGlvbnMsIC5ndHJhbnNsYXRlX3dyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgcmlnaHQ6IC0xMnB4O1xuICAgICAgICB0b3A6IDQ1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCA1cHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgdWwge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8qKiBNT0JJTEUgTkFWICovXG4gIC5tb2JpbGVfaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICB6LWluZGV4OiA5OTkwO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAubW9ibmF2IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDEwMDAxO1xuICAgICAgLmNlbGwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG4gICAgICAuaG1lbnUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnRjYmx1ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAxMXB4IDExcHggMDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiA5OTk2O1xuICAgICAgICAuaGFtYnVyZ2VyIHtcbiAgICAgICAgICBwYWRkaW5nOiAxM3B4IDExcHggNHB4O1xuICAgICAgICAgIC5oYW1idXJnZXItYm94IHtcbiAgICAgICAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaSB7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgcGFkZGluZzogOXB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmxvZ28ge1xuICAgICAgICB3aWR0aDogNjFweDtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy93cC1jb250ZW50L3RoZW1lcy9SVEMtVGhlbWUtMjAyNC1GdWxsL2Fzc2V0cy9pbWFnZXMvcnRjX2xvZ29AMngucG5nJyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIHotaW5kZXg6IDk5OTI7XG4gICAgICAgIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5tc2VhcmNoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJ0Y2JsdWU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDExcHggMCAwIDExcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgICB6LWluZGV4OiA5OTk2O1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIC5tb2JzcmNoX2J0biB7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBtYXgtd2lkdGg6IDUwcHg7XG4gICAgICAgICAgbWF4LWhlaWdodDogNTBweDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICAgIC5mYS1zZWFyY2gge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBwYWRkaW5nOiA5cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAyMDBtcywgdG9wIDIwMG1zLCBsZWZ0IDIwMG1zO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuZmEtdGltZXMtY2lyY2xlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgcGFkZGluZzogOXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcztcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgLmZhLXNlYXJjaCB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTByZW07XG4gICAgICAgICAgICAgIHRvcDogLTUwcHg7XG4gICAgICAgICAgICAgIGxlZnQ6IC01MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmZhLXRpbWVzLWNpcmNsZSB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5tb2JpbGVfZmx5b3V0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogLTEwMCU7XG4gICAgICB0b3A6IDA7XG4gICAgICB6LWluZGV4OiA5OTkxO1xuICAgICAgYm94LXNoYWRvdzogMjBweCAwIDIwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgLmZseW91dF9ib3gge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgcGFkZGluZy10b3A6IDgycHg7XG4gICAgICB9XG4gICAgICAuc21hbGxuYXYge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMCAwIDFyZW0gMnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDNyZW07XG4gICAgICAgIGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgfVxuICAgICAgICB1bCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDJyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAubW9iaWxlX3NlYXJjaCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHJpZ2h0OiAtMTAwJTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHotaW5kZXg6IDk5OTE7XG4gICAgICBib3gtc2hhZG93OiAyMHB4IDAgMjBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAubXNlYXJjaF9jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogODJweCAxcmVtIDFyZW0gMXJlbTtcbiAgICAgICAgLnNlYXJjaGZvcm0ge1xuICAgICAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMjIyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnRjYmx1ZTtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC50cHRuX3Bvc3RzX3Nob3J0Y29kZSB7XG4gICAgICAgICAgaDMge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdWwge1xuICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5tb2JpbGVfb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgICB6LWluZGV4OiA5OTkwO1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxufSIsIi5tZWdhbWVudSB7XG4gIGJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNDgwcHg7XG4gIHotaW5kZXg6IDk5NTtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgLm1lZ2Fyb3cge1xuICAgIG1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGVmdDogODNweDtcbiAgICAgIGxpIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBjb2xvcjogJHJ0Y2JsdWUgIWltcG9ydGFudDtcbiAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICBsZWZ0OiAyNDhweDtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuc3VibmF2LWJsb2NrLWxldmVsLTEge1xuICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgLnN1Ym5hdi1sZXZlbC0xIHtcbiAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICAubmF2c2xhdGUge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLTQ4MHB4O1xuICAgICAgbGVmdDogMzQwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gICAgLnN1Ym5hdi1ibG9jay1sZXZlbC0zIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAzNDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgei1pbmRleDogMztcbiAgICAgIC5sdmwyLXN1Ym5hdi1lbGVtcyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAgIC5zdWJuYXYtbGV2ZWwtMiB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5sdmwzLWNvbnRlbnQge1xuICAgICAgICBtYXgtaGVpZ2h0OiA0ODBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAudG91dCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAgICAgLmZ1c2lvbi1mdWxsd2lkdGgge1xuICAgICAgICAgICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAudG91dF8xY29sIHtcbiAgICAgICAgICAgIC5mdXNpb24tY29sdW1uLXdyYXBwZXIge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIC5mdXNpb24taW1hZ2VmcmFtZSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MjBweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAuZnVzaW9uLXRleHQge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA5OTtcbiAgICAgICAgICAgICAgICBib3R0b206IDEwMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICAgICAgICAgICAgICBoMSxcbiAgICAgICAgICAgICAgICBoMixcbiAgICAgICAgICAgICAgICBoMyxcbiAgICAgICAgICAgICAgICBoNCxcbiAgICAgICAgICAgICAgICBoNSxcbiAgICAgICAgICAgICAgICBoNixcbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAuZnVzaW9uLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgei1pbmRleDogOTk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJ0Y2JsdWU7XG4gICAgICAgICAgICAgICAgaDEsXG4gICAgICAgICAgICAgICAgaDIsXG4gICAgICAgICAgICAgICAgaDMsXG4gICAgICAgICAgICAgICAgaDQsXG4gICAgICAgICAgICAgICAgaDUsXG4gICAgICAgICAgICAgICAgaDYsXG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLnRvdXRfMmNvbCB7XG4gICAgICAgICAgICAuZnVzaW9uLWNvbHVtbi13cmFwcGVyIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAuZnVzaW9uLWltYWdlZnJhbWUge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDIwcHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLmZ1c2lvbi10aXRsZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRydGNibHVlO1xuICAgICAgICAgICAgICAgIGgxLFxuICAgICAgICAgICAgICAgIGgyLFxuICAgICAgICAgICAgICAgIGgzLFxuICAgICAgICAgICAgICAgIGg0LFxuICAgICAgICAgICAgICAgIGg1LFxuICAgICAgICAgICAgICAgIGg2LFxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC50b3V0XzNyb3cge1xuICAgICAgICAgICAgLmZ1c2lvbi1jb2x1bW4td3JhcHBlciB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgLmZ1c2lvbi1pbWFnZWZyYW1lIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEzMHB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC5mdXNpb24tdGl0bGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDBweDtcbiAgICAgICAgICAgICAgICByaWdodDogMHB4O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRydGNibHVlO1xuICAgICAgICAgICAgICAgIGgxLFxuICAgICAgICAgICAgICAgIGgyLFxuICAgICAgICAgICAgICAgIGgzLFxuICAgICAgICAgICAgICAgIGg0LFxuICAgICAgICAgICAgICAgIGg1LFxuICAgICAgICAgICAgICAgIGg2LFxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMzBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC50b3V0XzJ4Mi1ncmlkIHtcbiAgICAgICAgICAgIC5mdXNpb24tY29sdW1uLXdyYXBwZXIge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIC5mdXNpb24tdGl0bGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDBweDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA5OTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnRjYmx1ZTtcbiAgICAgICAgICAgICAgICBoMSxcbiAgICAgICAgICAgICAgICBoMixcbiAgICAgICAgICAgICAgICBoMyxcbiAgICAgICAgICAgICAgICBoNCxcbiAgICAgICAgICAgICAgICBoNSxcbiAgICAgICAgICAgICAgICBoNixcbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmLnJ0Y19ncmVlbiB7XG4gICAgICAgICAgICAudG91dF8xY29sIHtcbiAgICAgICAgICAgICAgLmZ1c2lvbi1jb2x1bW4td3JhcHBlciB7XG4gICAgICAgICAgICAgICAgLmZ1c2lvbi10aXRsZSB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnRjZ3JlZW5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50b3V0XzJjb2wge1xuICAgICAgICAgICAgICAuZnVzaW9uLWNvbHVtbi13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAuZnVzaW9uLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRydGNncmVlblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnRvdXRfM3JvdyB7XG4gICAgICAgICAgICAgIC5mdXNpb24tY29sdW1uLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIC5mdXNpb24tdGl0bGUge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJ0Y2dyZWVuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudG91dF8yeDItZ3JpZCB7XG4gICAgICAgICAgICAgIC5mdXNpb24tY29sdW1uLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIC5mdXNpb24tdGl0bGUge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJ0Y2dyZWVuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICYucnRjX29yYW5nZSB7XG4gICAgICAgICAgICAudG91dF8xY29sIHtcbiAgICAgICAgICAgICAgLmZ1c2lvbi1jb2x1bW4td3JhcHBlciB7XG4gICAgICAgICAgICAgICAgLmZ1c2lvbi10aXRsZSB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnRjb3JhbmdlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudG91dF8yY29sIHtcbiAgICAgICAgICAgICAgLmZ1c2lvbi1jb2x1bW4td3JhcHBlciB7XG4gICAgICAgICAgICAgICAgLmZ1c2lvbi10aXRsZSB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnRjb3JhbmdlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudG91dF8zcm93IHtcbiAgICAgICAgICAgICAgLmZ1c2lvbi1jb2x1bW4td3JhcHBlciB7XG4gICAgICAgICAgICAgICAgLmZ1c2lvbi10aXRsZSB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnRjb3JhbmdlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudG91dF8yeDItZ3JpZCB7XG4gICAgICAgICAgICAgIC5mdXNpb24tY29sdW1uLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIC5mdXNpb24tdGl0bGUge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJ0Y29yYW5nZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLyogVEFLRSBPVkVSIFNFQ1RJT04gT0YgVEhFIFNVQk5BViAqL1xuICAgICAgLnRha2VvdmVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuYm9keSB7XG4gICYucnRjX2NzX29yYW5nZSB7XG4gICAgLm1lZ2FtZW51IC5tZWdhcm93IC5zdWJuYXYtYmxvY2stbGV2ZWwtMyAubHZsMy1jb250ZW50IC50b3V0IHtcbiAgICAgIC50b3V0XzFjb2wgLmZ1c2lvbi1jb2x1bW4td3JhcHBlciAuZnVzaW9uLXRpdGxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJ0Y29yYW5nZTtcbiAgICAgIH1cbiAgICAgIC50b3V0XzJjb2wgLmZ1c2lvbi1jb2x1bW4td3JhcHBlciAuZnVzaW9uLXRpdGxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJ0Y29yYW5nZTtcbiAgICAgIH1cbiAgICAgIC50b3V0XzNyb3cgLmZ1c2lvbi1jb2x1bW4td3JhcHBlciAuZnVzaW9uLXRpdGxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJ0Y29yYW5nZTtcbiAgICAgIH1cbiAgICAgIC50b3V0XzJ4Mi1ncmlkIC5mdXNpb24tY29sdW1uLXdyYXBwZXIgLmZ1c2lvbi10aXRsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRydGNvcmFuZ2U7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYucnRjX2NzX2dyZWVuIHtcbiAgICAubWVnYW1lbnUgLm1lZ2Fyb3cgLnN1Ym5hdi1ibG9jay1sZXZlbC0zIC5sdmwzLWNvbnRlbnQgLnRvdXQge1xuICAgICAgLnRvdXRfMWNvbCAuZnVzaW9uLWNvbHVtbi13cmFwcGVyIC5mdXNpb24tdGl0bGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnRjZ3JlZW47XG4gICAgICB9XG4gICAgICAudG91dF8yY29sIC5mdXNpb24tY29sdW1uLXdyYXBwZXIgLmZ1c2lvbi10aXRsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRydGNncmVlbjtcbiAgICAgIH1cbiAgICAgIC50b3V0XzNyb3cgLmZ1c2lvbi1jb2x1bW4td3JhcHBlciAuZnVzaW9uLXRpdGxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJ0Y2dyZWVuO1xuICAgICAgfVxuICAgICAgLnRvdXRfMngyLWdyaWQgLmZ1c2lvbi1jb2x1bW4td3JhcHBlciAuZnVzaW9uLXRpdGxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJ0Y2dyZWVuO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5zZWFyY2hjb25zb2xlIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDQ2MHB4O1xuICB6LWluZGV4OiA5OTY7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIC5zZWFyY2hyb3cge1xuICAgIG1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAubWVudW9mZnNldCB7XG4gICAgICBtYXJnaW4tbGVmdDogODNweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICAgIC5lcC1hdXRvc3VnZ2VzdC1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgJi5tZWRpdW0tNCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICB9XG4gICAgICAmLm1lZGl1bS00Omxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuICAgICAgaDMge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiAkcnRjYmx1ZTtcbiAgICAgIH1cbiAgICAgIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgIH1cbiAgICAgIGhyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgfVxuICAgICAgaW5wdXQge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHJ0Y2JsdWUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICYuc3BsaXQge1xuICAgICAgICAgIGNvbHVtbnM6IDI7XG4gICAgICAgIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiAkcnRjYmx1ZSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuc2VhcmNoZmllbGQge1xuICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgICAuc2VhcmNoZm9ybSB7XG4gICAgICAgIC5mdXNpb24tc2VhcmNoLWZvcm0tY29udGVudCB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIC5mdXNpb24tc2VhcmNoLWJ1dHRvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnRjYmx1ZTtcbiAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5tb3N0cG9wdWxhciB7XG4gICAgLnRwdG5fcG9zdHNfc2hvcnRjb2RlIHtcbiAgICAgIGgzIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgIHVsIHtcbiAgICAgICAgY29sdW1uczogMjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmdzX21lbnUge1xuICAgIHVsIHtcbiAgICAgIGNvbHVtbnM6IDI7XG4gICAgfVxuICB9XG4gIC5mZF9tZW51IHtcbiAgICB1bCB7XG4gICAgICBjb2x1bW5zOiAxO1xuICAgIH1cbiAgfVxufVxuXG4uc2VhcmNoX3Jlc3VsdHMge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgYSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuICAgIC5zZWFyY2hfZGV0YWlscyB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICB9XG4gIH1cbn0iLCIucnRjX2N1c3RvbV9icmVhZGNydW1iIHtcbiAgLy9wYWRkaW5nLXRvcDogNzNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IGF1dG87XG4gIFxuICAuaW1nYmxvY2sge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDMwMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bil7XG4gICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgIH1cblxuICAgIC5sZWZ0aW1nIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0NjM1MkE7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogNDMuNSU7XG4gICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGZpbHRlcjogYmx1cigwLjVweCkgZ3JheXNjYWxlKDEpO1xuICAgICAgICBvcGFjaXR5OiAwLjE1O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB9XG4gICAgfVxuICAgIC5yaWdodGltZyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogNTYuNSU7XG4gICAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGZpbHRlcjogYmx1cigwLjVweCkgZ3JheXNjYWxlKDEpO1xuICAgICAgICBvcGFjaXR5OiAwLjE1O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhcmV0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICBoZWlnaHQ6IDU4cHg7XG4gICAgICB3aWR0aDogNThweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI5cHg7XG4gICAgICBsZWZ0OiA0My41JTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bil7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnJ0Y19jc19ibHVlIHtcbiAgICAuaW1nYmxvY2sge1xuICAgICAgLnJpZ2h0aW1nLCAuY2FyZXQge2JhY2tncm91bmQtY29sb3I6ICRydGNibHVlO31cbiAgICB9XG4gIH1cbiAgJi5ydGNfY3NfZ3JlZW4ge1xuICAgIC5pbWdibG9jayB7XG4gICAgICAucmlnaHRpbWcsIC5jYXJldCB7YmFja2dyb3VuZC1jb2xvcjogJHJ0Y2dyZWVuO31cbiAgICB9XG4gIH1cbiAgJi5ydGNfY3Nfb3JhbmdlIHtcbiAgICAuaW1nYmxvY2sge1xuICAgICAgLnJpZ2h0aW1nLCAuY2FyZXQge2JhY2tncm91bmQtY29sb3I6ICRydGNvcmFuZ2U7fVxuICAgIH1cbiAgfVxuXG4gIC50aXRsZWJsb2NrIHtcbiAgICBtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMzAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pe1xuICAgICAgaGVpZ2h0OiAxNTBweDtcbiAgICB9XG5cbiAgICAuZ3JpZC14IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLnJ0aXRsZSB7dGV4dC1hbGlnbjogY2VudGVyO31cblxuICAgICAgaDEsIGgyIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogM3Z3O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bil7XG4gICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBoMSB7cGFkZGluZy1yaWdodDogMThweH1cbiAgICAgIGgyIHtcbiAgICAgICAgYSB7Y29sb3I6ICNmZmYgIWltcG9ydGFudDt9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiI3dyYXBwZXIgI21haW4ge1xuICAudHJpcHBsYW5uZXJfcm93IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzO1xuICAgIG1hcmdpbi1sZWZ0OiAtMzBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAudGl0bGVib3gge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzMzMztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDIwcHggNjBweDtcbiAgICAgIG1hcmdpbi10b3A6IC0zNXB4O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnRjbHRncmF5O1xuICAgICAgICAmLmFjdGl2IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgYm9yZGVyOiA0cHggc29saWQgI2ZmZjtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMjFweDtcbiAgICAgICAgICB3aWR0aDogNDJweDtcbiAgICAgICAgICBoZWlnaHQ6IDQycHg7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xuICAgICAgICAgIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pe1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5weXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pe1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi50b29scyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bil7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5wbGFubmVyYm94IHtcbiAgICAgIG1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgICAgfVxuICAgICAgbGFiZWwge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgIH1cbiAgICAgIC5kZXBhcnRpbmdfZmllbGQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnNob3dfb3B0cyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRydGNnb2xkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnJhZGlvYnRucyB7XG4gICAgICAgIHBhZGRpbmc6IDZweCAwIDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAyNyU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIHBhZGRpbmc6IDIwcHggMCAxMHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAub3B0MSxcbiAgICAgICAgICAub3B0MiB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5vcHQxIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgICB9XG4gICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBib3JkZXI6IDRweCBzb2xpZCAjZmZmO1xuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA5cHg7XG4gICAgICAgICAgICBib3JkZXI6IDlweCBzb2xpZCAjRENCNDNCO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNnB4O1xuICAgICAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgICYubGVhdmVfbGFiZWwge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5yYWRpb2J0bnMgaW5wdXRbdHlwZT1cInJhZGlvXCJdK2xhYmVsOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICB9XG4gICAgICAvKiogVW5oaWRlIHRoZSBjaGVja21hcmsgb24gdGhlIGNoZWNrZWQgc3RhdGUgKi9cbiAgICAgIC5yYWRpb2J0bnMgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQrbGFiZWw6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIH1cbiAgICAgIC8qKiBBZGQgZm9jdXMgc3R5bGUgb24gdGhlIG91dGVyIG9mIHRoZSBzZWxlY3RlZCByYWRpbyAqL1xuICAgICAgLnJhZGlvYnRucyBpbnB1dFt0eXBlPVwicmFkaW9cIl06Zm9jdXMrbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIG91dGxpbmU6IHJnYig1OSwgMTUzLCAyNTIpIGF1dG8gNXB4O1xuICAgICAgfVxuICAgICAgLmRhdGV0aW1lX29wdGlvbnMge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICAgIC5kYXRlX29wdCB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgICAgIH1cbiAgICAgICAgLnRpbWVfb3B0IHtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5nb19idG4ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZzogMjhweCAwIDA7XG4gICAgICAgIHdpZHRoOiAyMyU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nOiAxOHB4IDA7XG4gICAgICAgIH1cbiAgICAgICAgLmdvX2dvIHtcbiAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJ0Y2dvbGQ7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgcGFkZGluZzogMHB4IDEwcHg7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnJvdXRlc2xpbmsge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAwcHg7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjUpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXB4O1xuICAgICAgfVxuICAgICAgLmZhLWNhci1idXMge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICdcXGY4NWEnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnRyYW5zaXRoZWxwZXJzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIC5idG4ge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICBtYXJnaW46IDE1cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRydGNibHVlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAuYWxlcnRjb3VudCB7XG4gICAgICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMTNweDtcbiAgICAgICAgICB0b3A6IC0xM3B4O1xuICAgICAgICAgIHJpZ2h0OiAtMTNweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKXtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXJnaW46IDEwcHggMTVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKXtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgJi50cF90bHMge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bil7XG4gIC5mdXNpb24tc2xpZGVyLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufSIsIi8qKiBcbiAqIFZBUklPVVMgR0xPQkFMIExBWU9VVCBTVFlMRVNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqXG4gKiBHbG9iYWwgU3R5bGVzIGZvciB2YXJpb3VzIFxuICogbGF5b3V0cyBhbiBvdGhlciBlbGVtZW50cy5cbiAqL1xuXG4vKiogRnJvbnQgUGFnZSBOZXdzcG9zdHMgTGF5b3V0ICoqL1xuLnJ0Yy1wb3N0cy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bil7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICBhcnRpY2xlIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMlO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bil7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICBib3JkZXItYm90dG9tOiA0cHggZG91YmxlICNDN0M3Qzc7XG4gICAgfVxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luOiAyMHB4IDAgMTVweDtcbiAgICAgIGNvbG9yOiAkcnRjYmx1ZTtcbiAgICB9XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBjb2xvcjogIzc2NzY3NjtcbiAgICAgIGFbcmVsPXRhZ117XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgcGFkZGluZzogNnB4IDlweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4ycztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFkNDI3ZjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiogQ3VzdG9tIFRlbXBsYXRlIExheW91dCBTdHlsZXMgKiovXG4jY29udGVudCB7XG4gIC5sYXlvdXRfY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICAudHdvLXRoaXJkcyB7XG4gICAgICB3aWR0aDogNzElO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgLm9uZS10aGlyZCB7XG4gICAgICB3aWR0aDogMjMlO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqIFNlY3Rpb24gU3VibWVudSBTdHlsZXMgKiovXG4uc2VjdGlvbl9zdWJtZW51IHtcbiAgbWF4LXdpZHRoOiA2OC43NXJlbTtcbiAgbWFyZ2luOiBhdXRvO1xuICB1bCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAxMHB4IDAgMzBweDtcbiAgICAubW9iaWxlVXAge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgbGkge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAkc3BhbmdyYXk7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJHJ0Y2JsdWU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cbiAgICAmLnNlY3RfYmMge1xuICAgICAgY29sdW1uLWNvdW50OiB1bnNldDtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAmLmRlbGltIHtcbiAgICAgICAgICBjb2xvcjogIzRhNGE0YTtcbiAgICAgICAgfVxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgY29sdW1uLWNvdW50OiAxICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjRmNGY0O1xuICAgICAgLm1vYmlsZVVwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDhweCAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RlZGVkZTtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuICAuZHJvcl9oYW5kbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgIHBhZGRpbmc6IDhweCAwO1xuICAgIGNvbG9yOiAjNGE0YTRhO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAjZjRmNGY0O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgc3BhbiB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICB9XG59XG5cbiNtYWluLnJ0Y19jc19ncmVlbiB7XG4gIC5zZWN0aW9uX3N1Ym1lbnUge1xuICAgIGEge1xuICAgICAgY29sb3I6ICRydGNncmVlbjtcbiAgICB9XG4gIH1cbn1cblxuI21haW4ucnRjX2NzX29yYW5nZSB7XG4gIC5zZWN0aW9uX3N1Ym1lbnUge1xuICAgIGEge1xuICAgICAgY29sb3I6ICRydGNvcmFuZ2U7XG4gICAgfVxuICB9XG59XG5cbi53YXlzLXRvLXRyYXZlbCB7XG4gIG9sLmh0Yl9zZWN0aW9uIHtcbiAgICBtYXJnaW4tbGVmdDogMnJlbTtcbiAgICBsaSB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtY291bnQpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIjd3JhcHBlciB7XG4gICNtYWluIHtcbiAgICAvKiogTmV3c3Jvb20gSW50cm8qKi9cbiAgICAubmV3c3Jvb21faW50cm8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB9XG4gICAgLyoqIE5ld3Nyb29tIE1haW4gKiovXG4gICAgLm5ld3Nyb29tX3Bvc3Ryb2xsIHtcbiAgICAgIGFydGljbGUge1xuICAgICAgICAuZnVzaW9uLXBvc3Qtc2xpZGVzaG93IHtcbiAgICAgICAgICB3aWR0aDogMjUwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmZ1c2lvbi1wb3N0LWNvbnRlbnQge1xuICAgICAgICAgIC5ibG9nLXNob3J0Y29kZS1wb3N0LXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICAgIH1cbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5mdXNpb24tbWV0YS1pbmZvIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZnVzaW9uLWxvYWQtbW9yZS1idXR0b24ge1xuICAgICAgICBmb250LWZhbWlseTogJ1JUQ1JhbGV3YXknO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnRjYmx1ZTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICB9XG4gICAgfVxuICAgIC8qKiBOZXdzcm9vbSBTaWRlYmFyICoqL1xuICAgIC5uZXdzIHtcbiAgICAgIGFzaWRlIHtcbiAgICAgICAgLndpZGdldF9jYXRlZ29yaWVzIHtcbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAud2lkZ2V0X3RhZ19jbG91ZCB7XG4gICAgICAgICAgLnRhZ2Nsb3VkIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRydGNibHVlO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgICAgICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQVJDSElWRSAoQ2F0ZWdvcnkgb3IgVGFnKSBMQVlPVVQgKiovXG4gICAgLmZ1c2lvbi1ibG9nLWFyY2hpdmUge1xuICAgICAgLmZ1c2lvbi1wb3N0LWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ1cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5hcmNoaXZlX2hlYWRlciB7XG4gICAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgY29sb3I6ICM0YTRhNGE7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNGE0YTRhO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMHJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmZ1c2lvbi1sb2FkLW1vcmUtYnV0dG9uIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnUlRDUmFsZXdheSc7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnRjYmx1ZTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICB9XG4gICAgLmZ1c2lvbi1tZXRhLWluZm8ge1xuICAgICAgLmZhZCwgLmZhcyB7XG4gICAgICAgIGNvbG9yOiAkcnRjbHRncmF5O1xuICAgICAgfVxuICAgICAgYVtyZWw9XCJ0YWdcIl17XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRydGNsdGdyYXk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgcGFkZGluZzogNnB4IDlweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMnM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJ0Y2JsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgICAuZnVzaW9uLXJlYWQtbW9yZSB7XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cblxuICAgIC8qKiBTSU5HTEUgUE9TVCBMQVlPVVQgKiovXG4gICAgLnJ0Y19zaW5nbGVfcG9zdCB7XG4gICAgICAvKiBQb3N0IFRpdGxlICovXG4gICAgICAuZnVzaW9uLXBvc3QtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDMwcHggIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5wb3N0LWNvbnRlbnQge1xuICAgICAgICBwLCBsaSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvKiBQcmVzcyBSZWxlYXNlLXNwZWNpZmljICovXG4gICAgICAucHJfcHJlLWNvbnRlbnQge1xuICAgICAgICBwIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnByX2Rvd25sb2FkIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIC5mYS1maWxlLXBkZiB7Y29sb3I6ICMzMzM7fVxuICAgICAgfVxuICAgICAgLyogUHJldmlvdXMgYW5kIE5leHQgTGlua3MgKi9cbiAgICAgIC5wcmV2X2xpbmsge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgYVtyZWw9cHJldl0ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLyogQ2xpY2sgdG8gVHdlZXQgQm94ICovXG4gICAgICAuYmN0dC1jbGljay10by10d2VldCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTFFOEVEO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMjVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS43NWVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjc1ZW07XG5cbiAgICAgICAgLmJjdHQtY3R0LXRleHQgYSB7XG4gICAgICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgICAgIG1hcmdpbjogMTVweCAwO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBjb2xvcjogJGRhcmstZ3JheSAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlJUQ1JhbGV3YXlcIiAhaW1wb3J0YW50O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkc3BhbmdyYXk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGEuYmN0dC1jdHQtYnRuIHtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4IDI0cHggMCAwO1xuICAgICAgICAgIGNvbG9yOiAjNjU3Nzg2ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKC4uL2ltZy9iaXJkeS5wbmcpIG5vLXJlcGVhdCByaWdodCB0b3AgMTVweDtcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kO1xuICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5ydGNfYWxlcnRib3gge1xuICAucnRjX2FsZXJ0X2NvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYWxlcnQtY29sb3IgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgLnJ0Y19hbGVydF9pY29uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJGFsZXJ0LWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5ydGNfYWxlcnRfdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcbiAgICAgIFxuICAgICAgaDIge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDIxcHggIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICRzcGFuZ3JheSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mdXNpb24tY29sdW1uLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogNjBweDtcbiAgICB9XG4gIH1cblxuICAucnRjX2FsZXJ0X2JvZHkge1xuICAgIGJvcmRlci13aWR0aDogMHB4IDFweCAxcHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNlZTFmMmUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAyOHB4IDM1cHggMzBweDtcbiAgICBcbiAgICBwIHtcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLnJ0Y19pbnRyb193cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxMjRweDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIG1hcmdpbi10b3A6IDMwcHggIWltcG9ydGFudDtcbiAgfVxuICAucnRjX2ludHJvX3RpdGxlIHtcbiAgICBtYXJnaW4tbGVmdDogODBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICB9XG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiAzNHB4IWltcG9ydGFudDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkIWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAucnRjX2ludHJvX3RleHQge1xuICAgIG1hcmdpbi1sZWZ0OiA4MHB4O1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICB9XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDE2cHghaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAucnRjX2ludHJvX2ljb24ge1xuICAgIHRvcDogMjBweDtcbiAgICBsZWZ0OiAtMzVweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLyogZGVmYXVsdCBpY29uIGNvbG9yICovXG4gICAgYm9yZGVyLWNvbG9yOiAkcnRjYmx1ZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRydGNibHVlICFpbXBvcnRhbnQ7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgdG9wOiAtMzVweDtcbiAgICAgIGxlZnQ6IDIwcHg7XG4gICAgfVxuICB9XG59XG5cblxuLyogQ29sb3IgVmFyaWFudHMgKi9cblxuLnJ0Y19jc19ncmVlbiB7XG4gIC5ydGNfaW50cm9fd3JhcHBlciB7XG4gICAgLnJ0Y19pbnRyb19pY29uIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHJ0Y2dyZWVuICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnRjZ3JlZW4gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLnJ0Y19jc19vcmFuZ2Uge1xuICAucnRjX2ludHJvX3dyYXBwZXIge1xuICAgIC5ydGNfaW50cm9faWNvbiB7XG4gICAgICBib3JkZXItY29sb3I6ICRydGNvcmFuZ2UgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRydGNvcmFuZ2UgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn0iLCIvKiogSW5zZXQgVGFicyAqKi9cbi5ydGNfaW5zZXRfdGFicyB7XG4gIC5uYXYge1xuICAgIHVsIHtcbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuXG4gICAgICAgIGEge1xuXG4gICAgICAgICAgaDQuZnVzaW9uLXRhYi1oZWFkaW5nIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBjb2xvcjogIzRhNGE0YTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi50YWItbGluayB7XG4gICAgICAgICAgICBib3JkZXI6IDBweCFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgJi50YWItbGluayB7XG4gICAgICAgICAgICAgIGJvcmRlcjogMHB4IWltcG9ydGFudDtcbiAgICAgICAgICAgIH0gXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCAwO1xuICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaDQuZnVzaW9uLXRhYi1oZWFkaW5nIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICAgIGNvbG9yOiAkcnRjYmx1ZTtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRydGNibHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bil7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnRhYi1jb250ZW50IHtcbiAgICBtYXJnaW46IDE1cHghaW1wb3J0YW50O1xuICAgIC5uYXY+dWw+bGkuYWN0aXZlPmEge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAkcnRjYmx1ZTtcbiAgICAgIH1cbiAgICAgIGg0LmZ1c2lvbi10YWItaGVhZGluZyB7XG4gICAgICAgIGNvbG9yOiAkcnRjYmx1ZTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pe1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICAgIC5uYXY+dWw+bGk+YT5oNC5mdXNpb24tdGFiLWhlYWRpbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICBjb2xvcjogIzRhNGE0YTtcbiAgICB9XG4gIH1cbn1cblxuLyoqIEJyYW5kIENvbG9yIFN3aXRjaGluZyAqKi9cbm1haW4ge1xuICAmLnJ0Y19jc19ncmVlbiB7XG4gICAgJi5ydGNfaW5zZXRfdGFicz4ubmF2PnVsPmxpLmFjdGl2ZT5hPmg0LmZ1c2lvbi10YWItaGVhZGluZyB7XG4gICAgICBjb2xvcjogJHJ0Y2dyZWVuO1xuICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRydGNncmVlbjtcbiAgICB9XG4gICAgJiAucnRjX2luc2V0X3RhYnM+LnRhYi1jb250ZW50Pi5uYXY+dWw+bGkuYWN0aXZlPmE6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRydGNncmVlbjtcbiAgICB9XG4gICAgJiAucnRjX2luc2V0X3RhYnM+LnRhYi1jb250ZW50Pi5uYXY+dWw+bGkuYWN0aXZlPmE+aDQuZnVzaW9uLXRhYi1oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiAkcnRjZ3JlZW47XG4gICAgfVxuICB9XG4gICYucnRjX2NzX29yYW5nZSB7XG4gICAgJiAucnRjX2luc2V0X3RhYnM+Lm5hdj51bD5saS5hY3RpdmU+YT5oNC5mdXNpb24tdGFiLWhlYWRpbmcge1xuICAgICAgY29sb3I6ICRydGNvcmFuZ2U7XG4gICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJHJ0Y29yYW5nZTtcbiAgICB9XG4gICAgJiAucnRjX2luc2V0X3RhYnM+LnRhYi1jb250ZW50Pi5uYXY+dWw+bGkuYWN0aXZlPmE6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRydGNvcmFuZ2U7XG4gICAgfVxuICAgICYgLnJ0Y19pbnNldF90YWJzPi50YWItY29udGVudD4ubmF2PnVsPmxpLmFjdGl2ZT5hPmg0LmZ1c2lvbi10YWItaGVhZGluZyB7XG4gICAgICBjb2xvcjogJHJ0Y29yYW5nZTtcbiAgICB9XG4gIH1cbn0iLCIucnRjX3NtYWxsX3RvdXRfYm9keV93cmFwcGVyIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjIWltcG9ydGFudDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYyFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjIWltcG9ydGFudDtcbn1cblxuLnJ0Y19zbWFsbF90b3V0X3RpdGxlIHtcbiAgcGFkZGluZzogMTBweCAyMHB4IDAgMjBweCFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDAhaW1wb3J0YW50O1xufVxuXG4ucnRjX3NtYWxsX3RvdXRfdGl0bGUgaDEge1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBwYWRkaW5nOiAxMHB4IDAgMCAhaW1wb3J0YW50O1xufVxuXG4ucnRjX3NtYWxsX3RvdXRfbGluayB7XG4gIGJhY2tncm91bmQ6IG5vbmUhaW1wb3J0YW50O1xuICBib3JkZXI6IDAhaW1wb3J0YW50O1xuICBjb2xvcjogJHJ0Y2JsdWUhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG59XG4ucnRjX3NtYWxsX3RvdXRfaW1hZ2Uge1xuICBtYXgtaGVpZ2h0OiAyMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5ydGNfc21hbGxfdG91dF9pbWFnZSBpbWcge1xuICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG59XG5cbi5ydGNfc21hbGxfdG91dF90ZXh0IHAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IC0xMHB4OyAvKiBUaGlzIGlzIGluIHBsYWNlIGJlY2F1c2UgdGhlcmUgaXMgc29tZXRoaW5nIGNhdXNpbmcgdGhlIGJ1dHRvbiB1bmRlcm5lYXRoIHRvIG1haW50YWluIGEgfjEwcHggZ2FwLCB3aXRoIG5vIGNzcyBydWxlcyBJIGNhbiBmaW5kIHRvIGFjdHVhbGx5IGNhdXNlIGl0LiAqL1xufVxuXG4ucnRjX3NtYWxsX3RvdXRfbGluayB7XG4gIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5IWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcblxufVxuXG4ucnRjX3NtYWxsX3RvdXRfbGluayAuZnVzaW9uLWJ1dHRvbi10ZXh0LCAucnRjX3NtYWxsX3RvdXRfbGluayAuYnV0dG9uLWljb24tcmlnaHQge1xuICBtYXJnaW4tbGVmdDogMTBweCFpbXBvcnRhbnQ7XG4gIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgY29sb3I6ICRydGNibHVlIWltcG9ydGFudDtcbn1cblxuLnJ0Y19zbWFsbF90b3V0X2xpbmsgLmJ1dHRvbi1pY29uLXJpZ2h0IHtcbiAgZm9udC1zaXplOiAzNXB4O1xufSIsIi8qKiBBbGwgQmFubmVyIFN0eWxlcyAqKi9cbi5ydGNfMTAwX2Jhbm5lcl93cmFwcGVyIHtcbiAgaGVpZ2h0OiAxMjBweCAhaW1wb3J0YW50O1xuICBtYXgtaGVpZ2h0OiAxMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAuZnVzaW9uLWxheW91dC1jb2x1bW4ge1xuICAgIGhlaWdodDogMTIwcHggIWltcG9ydGFudDtcbiAgfVxuICAuZnVzaW9uLWJ1aWxkZXItcm93IC5mdXNpb25fYnVpbGRlcl9jb2x1bW4gLmZ1c2lvbi1jb2x1bW4td3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMCFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucnRjXzEwMF9iYW5uZXJfY2xvc2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICAucnRjX2Jhbm5lcl9pbWFnZSB7XG4gICAgbWFyZ2luOiAwIDQwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gIC8qKiBCYW5uZXIgQSAoTm8gRmFyZSwgTm8gUmlkZSkgKiovXG4gIC5ydGNfMTAwX2Jhbm5lcl9hX3RleHQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICRydGNnb2xkO1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHAge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgfVxuICB9XG5cbiAgLyoqIEJhbm5lciBCIChQYXJhdHJhbnNpdCkgKiovXG4gIC5ydGNfMTAwX2Jhbm5lcl9iX3RleHQge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcCB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgIH1cbiAgICBoMntcbiAgICAgIGZvbnQtc2l6ZTogMjhweCFpbXBvcnRhbnQ7XG4gICAgICBsaW5lLWhlaWdodDogMjdweCFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAucnRjXzEwMF9iYW5uZXJfYl9idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGQUExMUI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG5cbiAgLyoqIEJhbm5lciBDIChyaWRlUlRDIGFwcCkgKiovXG4gIC5ydGNfMTAwX2Jhbm5lcl9jX3RleHQge1xuICAgIGNvbG9yOiAkcnRjZ29sZDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICB0ZXh0LXNoYWRvdzogMHB4IDBweCAxcHggcmdiYSgyNTUsMjU1LDI1NSwwLjI1KTtcbiAgICB9XG4gIH1cbiAgLnJ0Y18xMDBfYmFubmVyX2NfYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnRjZ29sZDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiIsIi8qKiBBQ0NPUkRJT04gQ09NUE9ORU5UIFNUWUxFUyAqKi9cblxuLyoqIEljb24gQWNjb3JkaW9uICoqL1xuLnJ0Y19hY2NvcmRpb25faGVhZF93cmFwIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNjY2NjY2M7XG4gIG1pbi1oZWlnaHQ6IDgwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAucnRjX2FjY29yZGlvbl9pY29uIHtcbiAgICBjb2xvcjogJHJ0Y2JsdWUhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZ1c2lvbi10aXRsZS5ydGNfYWNjb3JkaW9uX3RpdGxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IDI4cHggIWltcG9ydGFudDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkIWltcG9ydGFudDtcbiAgICAgIC8qIHByZXZlbnRzIGRvdWJsZS1jbGljayBzZWxlY3Rpb24gKi9cbiAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgfVxuICB9IFxufVxuXG5cbi5ydGNfYm94X2FjY29yZGlvbl93cmFwIHtcbiAgbWFyZ2luLWJvdHRvbTogMHB4IWltcG9ydGFudDtcbn1cblxuXG4ucnRjX2JveF9hY2NvcmRpb25fdGl0bGUgcCB7XG4gIC8qIHByZXZlbnRzIGRvdWJsZS1jbGljayBzZWxlY3Rpb24gKi9cbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi5ydGNfaWNvbl9hY2NvcmRpb25fdGFibGVfd3JhcCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ucnRjX2ljb25fYXZhZGFfZml4IHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4ucnRjX3JvdXRlX2hlbHBfaWNvbiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cbi5ydGNfYWNjb3JkaW9uX3RhYmxlIHRhYmxlLC5ydGNfYWNjb3JkaW9uX3RhYmxlIHRhYmxlIHRoZWFkLCAucnRjX2FjY29yZGlvbl90YWJsZSB0YWJsZSB0aGVhZCB0ciB0aCwgLnJ0Y19hY2NvcmRpb25fdGFibGUgdGFibGUgdGJvZHkgdHIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjY2NjIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5ydGNfYWNjb3JkaW9uX3RhYmxlIHRhYmxlLC5ydGNfYWNjb3JkaW9uX3RhYmxlIHRhYmxlIHRoZWFkLCAucnRjX2FjY29yZGlvbl90YWJsZSB0YWJsZSB0aGVhZCB0ciB0aCB7XG4gIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhaW1wb3J0YW50O1xufVxuLnJ0Y19hY2NvcmRpb25fdGFibGUgdGFibGUgdGJvZHkgdHIgdGQge1xuICBib3JkZXI6IDAhaW1wb3J0YW50O1xufVxuLnJ0Y19ib3hfYWNjb3JkaW9uX3dyYXAge1xuICBtYXgtaGVpZ2h0OiA2MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ucnRjX2JveF9hY2NvcmRpb25faGVhZF93cmFwIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjY2NjYztcbiAgbWF4LWhlaWdodDogNThweDtcbiAgbWFyZ2luLWJvdHRvbTogMHB4IWltcG9ydGFudDtcbiAgJi5hY3RpdmUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRydGNibHVlO1xuXG4gICAgLnJ0Y19ib3hfYWNjb3JkaW9uX2ljb24ge1xuICAgICAgY29sb3I6ICRydGNibHVlIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRydGNibHVlO1xuICAgIH1cbiAgfVxufVxuLyoqIERlZmF1bHQgKiovXG4ucnRjX2FjY29yZGlvbl9pY29uIHtcbiAgY29sb3I6ICRydGNibHVlIWltcG9ydGFudDtcbn1cbi5ydGNfYm94X2FjY29yZGlvbl9oZWFkX3dyYXAuYWN0aXZlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJHJ0Y2JsdWU7XG59XG4ucnRjX2JveF9hY2NvcmRpb25faGVhZF93cmFwLmFjdGl2ZSAucnRjX2JveF9hY2NvcmRpb25faWNvbiB7XG4gIGNvbG9yOiAkcnRjYmx1ZSFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRydGNibHVlO1xufVxuLnJ0Y19ib3hfYWNjb3JkaW9uX2ljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHBhZGRpbmc6IDEycHggMTRweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjY2NjO1xuICBjb2xvcjogJHJ0Y2JsdWUhaW1wb3J0YW50O1xufVxuLnJ0Y19ib3hfYWNjb3JkaW9uX3RpdGxlIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgcGFkZGluZzogMTVweDtcbiAgbWFyZ2luLWxlZnQ6IDYwcHg7XG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbi5ydGNfYm94X2FjY29yZGlvbl90ZXh0X3dyYXBwZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW46IDIwcHggMDtcbn1cblxuLyoqIEJyYW5kIENvbG9yIFN3aXRjaGluZyAqKi9cbm1haW4ge1xuXG4gICYucnRjX2NzX2dyZWVuIHtcbiAgICAucnRjX2FjY29yZGlvbl9pY29uIHtcbiAgICAgIGNvbG9yOiAkcnRjZ3JlZW4haW1wb3J0YW50O1xuICAgIH1cbiAgICAucnRjX2JveF9hY2NvcmRpb25faGVhZF93cmFwLmFjdGl2ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkcnRjZ3JlZW47XG4gICAgfVxuICAgIC5ydGNfYm94X2FjY29yZGlvbl9oZWFkX3dyYXAuYWN0aXZlIC5ydGNfYm94X2FjY29yZGlvbl9pY29uIHtcbiAgICAgIGNvbG9yOiAkcnRjZ3JlZW4haW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHJ0Y2dyZWVuO1xuICAgIH1cbiAgfVxuICAmLnJ0Y19jc19vcmFuZ2Uge1xuICAgIC5ydGNfYWNjb3JkaW9uX2ljb24ge1xuICAgICAgY29sb3I6ICRydGNvcmFuZ2UhaW1wb3J0YW50O1xuICAgIH1cbiAgICAucnRjX2JveF9hY2NvcmRpb25faGVhZF93cmFwLmFjdGl2ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkcnRjb3JhbmdlO1xuICAgIH1cbiAgICAucnRjX2JveF9hY2NvcmRpb25faGVhZF93cmFwLmFjdGl2ZSAucnRjX2JveF9hY2NvcmRpb25faWNvbiB7XG4gICAgICBjb2xvcjogJHJ0Y29yYW5nZSFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkcnRjb3JhbmdlO1xuICAgIH1cbiAgfVxufVxuIiwiLnJ0Y190b29sdGlwX2ljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xufVxuLnJ0Y190b29sdGlwX2JvZHkge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTEwcHg7XG4gIGxlZnQ6IDEwcHg7XG4gIHdpZHRoOiAzMCU7XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZzogMjVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZGRkZDtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgei1pbmRleDogMTAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAzcHggM3B4IDJweCAwcHggcmdiYSgwLDAsMCwwLjMpO1xuICAtbW96LWJveC1zaGFkb3c6IDNweCAzcHggMnB4IDBweCByZ2JhKDAsMCwwLDAuMyk7XG4gIGJveC1zaGFkb3c6IDNweCAzcHggMnB4IDBweCByZ2JhKDAsMCwwLDAuMyk7XG59XG4ucnRjX3Rvb2x0aXBfYm9keS5hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbn0iLCIucnRjX2N0YV90b3V0X3dyYXBwZXIge1xuICBtYXgtd2lkdGg6IDI5MHB4O1xufVxuLnJ0Y19jdGFfdG91dF90aXRsZSB7XG4gIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1sZWZ0OiAycHggc29saWQgI2NjYztcbiAgcGFkZGluZzogMTBweCAyMHB4IDAgMjBweCFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDAhaW1wb3J0YW50O1xufVxuXG4ucnRjX2N0YV90b3V0X3RpdGxlIGgxIHtcbiAgZm9udC1zaXplOiAyMXB4IWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5IWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgLy9wYWRkaW5nOiAxMHB4IDIwcHghaW1wb3J0YW50O1xufVxuLnJ0Y19jdGFfdG91dF90ZXh0IHtcbiAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgI2NjYztcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjY2NjO1xufVxuLnJ0Y19jdGFfdG91dF90ZXh0IHAge1xuICBwYWRkaW5nOiAyMHB4O1xuICBtYXJnaW46IDA7XG59XG4ucnRjX2N0YV90b3V0X2ltYWdlIHtcbiAgbWF4LWhlaWdodDogMjIwcHg7XG59XG4ucnRjX2N0YV90b3V0X2ltYWdlIGltZyB7XG4gIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcbn1cblxuLy8gQnJhbmQgQ29sb3IgU3dpdGNoaW5nXG5tYWluIHtcbiAgJiAucnRjX2N0YV90b3V0X2xpbmsge1xuICAgIGJvcmRlcjogMCFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRydGNibHVlIWltcG9ydGFudDtcbiAgfVxuICAmLnJ0Y19jc19ibHVlIHtcbiAgICAmIC5ydGNfY3RhX3RvdXRfbGluayB7XG4gICAgICBib3JkZXI6IDAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJ0Y2JsdWUhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAmLnJ0Y19jc19ncmVlbiB7XG4gICAgJiAucnRjX2N0YV90b3V0X2xpbmsge1xuICAgICAgYm9yZGVyOiAwIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRydGNncmVlbiFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gICYucnRjX2NzX29yYW5nZSB7XG4gICAgJiAucnRjX2N0YV90b3V0X2xpbmsge1xuICAgICAgYm9yZGVyOiAwIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRydGNvcmFuZ2UhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4ucnRjX2N0YV90b3V0X2xpbmsgLmZ1c2lvbi1idXR0b24tdGV4dCAsLnJ0Y19jdGFfdG91dF9saW5rIC5idXR0b24taWNvbi1yaWdodCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmZmIWltcG9ydGFudDtcbn1cbiIsIi5ydGNfaHRtbF90b3V0X3dyYXBwZXIge1xuICBtYXgtd2lkdGg6IDI5MHB4O1xuXG4gICYgLnJ0Y19odG1sX3RvdXRfbGluayB7XG4gICAgYmFja2dyb3VuZDogbm9uZSFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwIWltcG9ydGFudDtcbiAgICBjb2xvcjogJHJ0Y2JsdWUhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gICYgLnJ0Y19odG1sX3RvdXRfbGluayAuZnVzaW9uLWJ1dHRvbi10ZXh0XG4gICYgLnJ0Y19odG1sX3RvdXRfbGluayAuYnV0dG9uLWljb24tcmlnaHQge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBjb2xvcjogJHJ0Y2JsdWUhaW1wb3J0YW50O1xuICB9XG4gICYgLnJ0Y19odG1sX3RvdXRfdGV4dCBpIHtcbiAgICBjb2xvcjogJHJ0Y2JsdWU7XG4gIH1cbiAgJiAucnRjX2h0bWxfdG91dF90ZXh0IGg0IHtcbiAgICBjb2xvcjogJHJ0Y2JsdWU7XG4gIH1cbiAgJiAucnRjX2h0bWxfdG91dF90ZXh0IHNwYW4ge1xuICAgIGNvbG9yOiAkcnRjYmx1ZTtcbiAgfVxuICAmIC5ydGNfaHRtbF90b3V0X3RleHQgYSB7XG4gICAgY29sb3I6ICRydGNibHVlO1xuICB9XG5cbiAgJi5ibHVlIHtcbiAgICAmIC5ydGNfaHRtbF90b3V0X2xpbmsge1xuICAgICAgYmFja2dyb3VuZDogbm9uZSFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXI6IDAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICRydGNibHVlIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgJiAucnRjX2h0bWxfdG91dF9saW5rIC5mdXNpb24tYnV0dG9uLXRleHQsXG4gICAgJiAucnRjX2h0bWxfdG91dF9saW5rIC5idXR0b24taWNvbi1yaWdodCB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBjb2xvcjogJHJ0Y2JsdWUhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmIC5ydGNfaHRtbF90b3V0X3RleHQgaSB7XG4gICAgICBjb2xvcjogJHJ0Y2JsdWU7XG4gICAgfVxuICAgICYgLnJ0Y19odG1sX3RvdXRfdGV4dCBoNCB7XG4gICAgICBjb2xvcjogJHJ0Y2JsdWU7XG4gICAgfVxuICAgICYgLnJ0Y19odG1sX3RvdXRfdGV4dCBzcGFuIHtcbiAgICAgIGNvbG9yOiAkcnRjYmx1ZTtcbiAgICB9XG4gICAgJiAucnRjX2h0bWxfdG91dF90ZXh0IGEge1xuICAgICAgY29sb3I6ICRydGNibHVlO1xuICAgIH1cbiAgfVxuICAmLmdyZWVuIHtcbiAgICAmIC5ydGNfaHRtbF90b3V0X2xpbmsge1xuICAgICAgYmFja2dyb3VuZDogbm9uZSFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXI6IDAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICRydGNncmVlbiFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgICYgLnJ0Y19odG1sX3RvdXRfbGluayAuZnVzaW9uLWJ1dHRvbi10ZXh0LFxuICAgICYgLnJ0Y19odG1sX3RvdXRfbGluayAuYnV0dG9uLWljb24tcmlnaHQge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgY29sb3I6ICRydGNncmVlbiFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICYgLnJ0Y19odG1sX3RvdXRfdGV4dCBpIHtcbiAgICAgIGNvbG9yOiAkcnRjZ3JlZW47XG4gICAgfVxuICAgICYgLnJ0Y19odG1sX3RvdXRfdGV4dCBoNCB7XG4gICAgICBjb2xvcjogJHJ0Y2dyZWVuO1xuICAgIH1cbiAgICAmIC5ydGNfaHRtbF90b3V0X3RleHQgc3BhbiB7XG4gICAgICBjb2xvcjogJHJ0Y2dyZWVuO1xuICAgIH1cbiAgICAmIC5ydGNfaHRtbF90b3V0X3RleHQgYSB7XG4gICAgICBjb2xvcjogJHJ0Y2dyZWVuO1xuICAgIH1cbiAgfVxuICAmLm9yYW5nZSB7XG4gICAgJiAucnRjX2h0bWxfdG91dF9saW5rIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmUhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiAwIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkcnRjb3JhbmdlIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgJiAucnRjX2h0bWxfdG91dF9saW5rIC5mdXNpb24tYnV0dG9uLXRleHQsXG4gICAgJiAucnRjX2h0bWxfdG91dF9saW5rIC5idXR0b24taWNvbi1yaWdodCB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBjb2xvcjogJHJ0Y29yYW5nZSFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICYgLnJ0Y19odG1sX3RvdXRfdGV4dCBpIHtcbiAgICAgIGNvbG9yOiAkcnRjb3JhbmdlO1xuICAgIH1cbiAgICAmIC5ydGNfaHRtbF90b3V0X3RleHQgaDQge1xuICAgICAgY29sb3I6ICRydGNvcmFuZ2U7XG4gICAgfVxuICAgICYgLnJ0Y19odG1sX3RvdXRfdGV4dCBzcGFuIHtcbiAgICAgIGNvbG9yOiAkcnRjb3JhbmdlO1xuICAgIH1cbiAgICAmIC5ydGNfaHRtbF90b3V0X3RleHQgYSB7XG4gICAgICBjb2xvcjogJHJ0Y29yYW5nZTtcbiAgICB9XG4gIH1cblxuICB9XG4ucnRjX2h0bWxfdG91dF90aXRsZSBoMSB7XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4iLCIucnRjX2VtcGhhc2lzX3RvdXRfd3JhcHBlciB7XG4gIG1heC13aWR0aDogMjkwcHg7XG59XG4ucnRjX2VtcGhhc2lzX3RvdXRfdGl0bGUge1xuICBiYWNrZ3JvdW5kOiAjY2NjO1xufVxuLnJ0Y19lbXBoYXNpc190b3V0X3RpdGxlIGgxIHtcbiAgZm9udC1zaXplOiAyMXB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogMTBweCAyMHB4IWltcG9ydGFudDtcbn1cbi5ydGNfZW1waGFzaXNfdG91dF90ZXh0IHtcbiAgYm9yZGVyOiAycHggc29saWQgI2NjYztcbiAgYm9yZGVyLXRvcDogMDtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuLnJ0Y19lbXBoYXNpc190b3V0X3RleHQge1xuICAuZnVzaW9uLXNlcGFyYXRvci5zZXAtc29saWQge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB9XG59XG4ucnRjX2VtcGhhc2lzX3RvdXRfdGV4dCBwIHtcbiAgcGFkZGluZzogMjBweDtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLyBCcmFuZCBDb2xvciBTd2l0Y2hpbmdcbm1haW4ge1xuICAmIC5ydGNfZW1waGFzaXNfdG91dF90ZXh0IHAgYSB7XG4gICAgY29sb3I6ICRydGNibHVlIWltcG9ydGFudDtcbiAgfVxuICAmLnJ0Y19jc19ibHVlIHtcbiAgICAmIC5ydGNfZW1waGFzaXNfdG91dF90ZXh0IHAgYSB7XG4gICAgICBjb2xvcjogJHJ0Y2JsdWUhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAmLnJ0Y19jc19ncmVlbiB7XG4gICAgJiAucnRjX2VtcGhhc2lzX3RvdXRfdGV4dCBwIGEge1xuICAgICAgY29sb3I6ICRydGNncmVlbiFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gICYucnRjX2NzX29yYW5nZSB7XG4gICAgJiAucnRjX2VtcGhhc2lzX3RvdXRfdGV4dCBwIGEge1xuICAgICAgY29sb3I6ICRydGNvcmFuZ2UhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufSIsIi5ydGNfc2lkZWJhcl9jb250YWN0X3dyYXBwZXIge1xuICBtYXgtd2lkdGg6IDI5MHB4O1xufVxuLnJ0Y19zaWRlYmFyX2NvbnRhY3Rfd3JhcHBlciBoMyB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLy8gQnJhbmQgQ29sb3IgU3dpdGNoaW5nXG5tYWluIHtcbiAgJiAucnRjX3NpZGViYXJfY29udGFjdF93cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJHJ0Y2JsdWUsIDY1JSk7XG4gIH1cbiAgJiAucnRjX3NpZGViYXJfY29udGFjdF93cmFwcGVyIHAgYSwgLnJ0Y19zaWRlYmFyX2NvbnRhY3Rfd3JhcHBlciBhIGgzLCAucnRjX3NpZGViYXJfY29udGFjdF93cmFwcGVyIGksIC5ydGNfc2lkZWJhcl9jb250YWN0X3dyYXBwZXIgaDQsIC5ydGNfc2lkZWJhcl9jb250YWN0X3dyYXBwZXIgc3BhbiB7XG4gICAgY29sb3I6ICRydGNibHVlIWltcG9ydGFudDtcbiAgfVxuICAmLnJ0Y19jc19ibHVlIHtcbiAgICAmIC5ydGNfc2lkZWJhcl9jb250YWN0X3dyYXBwZXIge1xuICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJHJ0Y2JsdWUsIDY1JSk7XG4gICAgfVxuICAgICYgLnJ0Y19zaWRlYmFyX2NvbnRhY3Rfd3JhcHBlciBwIGEsIC5ydGNfc2lkZWJhcl9jb250YWN0X3dyYXBwZXIgYSBoMywgLnJ0Y19zaWRlYmFyX2NvbnRhY3Rfd3JhcHBlciBpLCAucnRjX3NpZGViYXJfY29udGFjdF93cmFwcGVyIGg0LCAucnRjX3NpZGViYXJfY29udGFjdF93cmFwcGVyIHNwYW4ge1xuICAgICAgY29sb3I6ICRydGNibHVlIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgJi5ydGNfY3NfZ3JlZW4ge1xuICAgICYgLnJ0Y19zaWRlYmFyX2NvbnRhY3Rfd3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkcnRjZ3JlZW4sIDQ1JSk7XG4gICAgfVxuICAgICYgLnJ0Y19zaWRlYmFyX2NvbnRhY3Rfd3JhcHBlciBwIGEsIC5ydGNfc2lkZWJhcl9jb250YWN0X3dyYXBwZXIgYSBoMywgLnJ0Y19zaWRlYmFyX2NvbnRhY3Rfd3JhcHBlciBpLCAucnRjX3NpZGViYXJfY29udGFjdF93cmFwcGVyIGg0LCAucnRjX3NpZGViYXJfY29udGFjdF93cmFwcGVyIHNwYW4ge1xuICAgICAgY29sb3I6ICRydGNncmVlbiFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gICYucnRjX2NzX29yYW5nZSB7XG4gICAgJiAucnRjX3NpZGViYXJfY29udGFjdF93cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRydGNvcmFuZ2UsIDM4JSk7XG4gICAgfVxuICAgICYgLnJ0Y19zaWRlYmFyX2NvbnRhY3Rfd3JhcHBlciBwIGEsIC5ydGNfc2lkZWJhcl9jb250YWN0X3dyYXBwZXIgYSBoMywgLnJ0Y19zaWRlYmFyX2NvbnRhY3Rfd3JhcHBlciBpLCAucnRjX3NpZGViYXJfY29udGFjdF93cmFwcGVyIGg0LCAucnRjX3NpZGViYXJfY29udGFjdF93cmFwcGVyIHNwYW4ge1xuICAgICAgY29sb3I6ICRydGNvcmFuZ2UhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLnJ0Y19zaWRlYmFyX2RvY19pdGVtX3dyYXBwZXIge1xuICBtYXgtd2lkdGg6IDI5MHB4O1xuICBtYXJnaW4tYm90dG9tOiAtMjBweCFpbXBvcnRhbnQ7IC8qIFRoaXMgaXMgaW4gcGxhY2UgYmVjYXVzZSB0aGVyZSBpcyBzb21ldGhpbmcgY2F1c2luZyB0aGUgYnV0dG9uIHRvIG1haW50YWluIGEgZ2FwIHVuZGVybmVhdGgsIHdpdGggbm8gY3NzIHJ1bGVzIEkgY2FuIGZpbmQgdG8gYWN0dWFsbHkgY2F1c2UgaXQuICovXG59XG5cbi5ydGNfc2lkZWJhcl9kb2NfdGl0bGUgaDIge1xuICBmb250LXNpemU6IDIxcHghaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogYm9sZCFpbXBvcnRhbnQ7XG59XG5cbi5mdXNpb24tYnV0dG9uLnJ0Y19zaWRlYmFyX2RvY19saW5rIHtcbiAgYmFja2dyb3VuZDogbm9uZSFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDA7XG59XG4uZnVzaW9uLWJ1dHRvbi5ydGNfc2lkZWJhcl9kb2NfbGluayAuZnVzaW9uLWJ1dHRvbi10ZXh0IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbn1cbi5ydGNfc2lkZWJhcl9kb2NfaWNvbiB7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLy8gQnJhbmQgQ29sb3IgU3dpdGNoaW5nXG5tYWluIHtcbiAgJiAuZnVzaW9uLWJ1dHRvbi5ydGNfc2lkZWJhcl9kb2NfbGluayAuZnVzaW9uLWJ1dHRvbi10ZXh0IHtcbiAgICBjb2xvcjogJHJ0Y2JsdWUhaW1wb3J0YW50O1xuICB9XG4gICYucnRjX2NzX2JsdWUge1xuICAgICYgLmZ1c2lvbi1idXR0b24ucnRjX3NpZGViYXJfZG9jX2xpbmsgLmZ1c2lvbi1idXR0b24tdGV4dCB7XG4gICAgICAgY29sb3I6ICRydGNibHVlIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgJi5ydGNfY3NfZ3JlZW4ge1xuICAgICYgLmZ1c2lvbi1idXR0b24ucnRjX3NpZGViYXJfZG9jX2xpbmsgLmZ1c2lvbi1idXR0b24tdGV4dCB7XG4gICAgICBjb2xvcjogJHJ0Y2dyZWVuIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgJi5ydGNfY3Nfb3JhbmdlIHtcbiAgICAmIC5mdXNpb24tYnV0dG9uLnJ0Y19zaWRlYmFyX2RvY19saW5rIC5mdXNpb24tYnV0dG9uLXRleHQge1xuICAgICAgY29sb3I6ICRydGNvcmFuZ2UhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufSIsIi5ydGNfc2lkZWJhcl93aGF0aXNfdG91dF93cmFwcGVyIHtcbiAgbWF4LXdpZHRoOiAyOTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYyFpbXBvcnRhbnQ7XG59XG5cbi5ydGNfc2lkZWJhcl93aGF0aXNfdG91dF90aXRsZSB7XG4gIHBhZGRpbmc6IDIwcHggMjBweCAwIDIwcHghaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwIWltcG9ydGFudDtcbn1cblxuLnJ0Y19zaWRlYmFyX3doYXRpc190b3V0X3RpdGxlIGgxIHtcbiAgZm9udC1zaXplOiAyMXB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnJ0Y19zaWRlYmFyX3doYXRpc190b3V0X3RleHQgcCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IC0xMHB4OyAvKiBUaGlzIGlzIGluIHBsYWNlIGJlY2F1c2UgdGhlcmUgaXMgc29tZXRoaW5nIGNhdXNpbmcgdGhlIGJ1dHRvbiB1bmRlcm5lYXRoIHRvIG1haW50YWluIGEgfjEwcHggZ2FwLCB3aXRoIG5vIGNzcyBydWxlcyBJIGNhbiBmaW5kIHRvIGFjdHVhbGx5IGNhdXNlIGl0LiAqL1xufVxuXG4ucnRjX3NpZGViYXJfd2hhdGlzX3RvdXRfbGluayB7XG4gIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5ydGNfc2lkZWJhcl93aGF0aXNfdG91dF9saW5rIC5idXR0b24taWNvbi1yaWdodCB7XG4gIGZvbnQtc2l6ZTogMzVweDtcbn1cblxuLy8gQnJhbmQgQ29sb3IgU3dpdGNoaW5nXG5tYWluIHtcbiAgJiAucnRjX3NpZGViYXJfd2hhdGlzX3RvdXRfbGluayB7XG4gICAgYmFja2dyb3VuZDogbm9uZSFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwIWltcG9ydGFudDtcbiAgICBjb2xvcjogJHJ0Y2JsdWUhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICAmIC5ydGNfc2lkZWJhcl93aGF0aXNfdG91dF9saW5rIC5mdXNpb24tYnV0dG9uLXRleHQsIC5ydGNfc2lkZWJhcl93aGF0aXNfdG91dF9saW5rIC5idXR0b24taWNvbi1yaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHghaW1wb3J0YW50O1xuICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgY29sb3I6ICRydGNibHVlIWltcG9ydGFudDtcbiAgfVxuICAmLnJ0Y19jc19ibHVlIHtcbiAgICAmIC5ydGNfc2lkZWJhcl93aGF0aXNfdG91dF9saW5rIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmUhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiAwIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkcnRjYmx1ZSFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgICYgLnJ0Y19zaWRlYmFyX3doYXRpc190b3V0X2xpbmsgLmZ1c2lvbi1idXR0b24tdGV4dCwgLnJ0Y19zaWRlYmFyX3doYXRpc190b3V0X2xpbmsgLmJ1dHRvbi1pY29uLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4IWltcG9ydGFudDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgY29sb3I6ICRydGNibHVlIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgJi5ydGNfY3NfZ3JlZW4ge1xuICAgICYgLnJ0Y19zaWRlYmFyX3doYXRpc190b3V0X2xpbmsge1xuICAgICAgYmFja2dyb3VuZDogbm9uZSFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXI6IDAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICRydGNncmVlbiFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgICYgLnJ0Y19zaWRlYmFyX3doYXRpc190b3V0X2xpbmsgLmZ1c2lvbi1idXR0b24tdGV4dCwgLnJ0Y19zaWRlYmFyX3doYXRpc190b3V0X2xpbmsgLmJ1dHRvbi1pY29uLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4IWltcG9ydGFudDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgY29sb3I6ICRydGNncmVlbiFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gICYucnRjX2NzX29yYW5nZSB7XG4gICAgJiAucnRjX3NpZGViYXJfd2hhdGlzX3RvdXRfbGluayB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lIWltcG9ydGFudDtcbiAgICAgIGJvcmRlcjogMCFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJHJ0Y29yYW5nZSFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgICYgLnJ0Y19zaWRlYmFyX3doYXRpc190b3V0X2xpbmsgLmZ1c2lvbi1idXR0b24tdGV4dCwgLnJ0Y19zaWRlYmFyX3doYXRpc190b3V0X2xpbmsgLmJ1dHRvbi1pY29uLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4IWltcG9ydGFudDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgY29sb3I6ICRydGNvcmFuZ2UhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLnJ0Y19zaWRlYmFyX2FjY29yZGlvbl90b3V0X3dyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDMwcHggIWltcG9ydGFudDtcbn1cbi5ydGNfc2lkZWJhcl9hY2NvcmRpb25fdG91dF90aXRsZSB7XG4gIGJhY2tncm91bmQ6ICNjY2M7XG59XG4ucnRjX3NpZGViYXJfYWNjb3JkaW9uX3RvdXRfdGl0bGUgaDEge1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweCAyMHB4IWltcG9ydGFudDtcbn1cbi5ydGNfc2lkZWJhcl9hY2NvcmRpb25fZXhwYW5zaW9uX3dyYXBwZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IC0xcHggYXV0byAwIGF1dG87XG4gIG1heC1oZWlnaHQ6IDIwMHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjY2NjO1xuICBib3JkZXItdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBoZWlnaHQgMXM7IC8qIFNhZmFyaSAqL1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMXM7XG59XG4ucnRjX3NpZGViYXJfYWNjb3JkaW9uX3RvdXRfYm9keSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG1heC1oZWlnaHQ6IDE0MHB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogbWF4LWhlaWdodCAxczsgLyogU2FmYXJpICovXG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMXM7XG59XG4ucnRjX3NpZGViYXJfYWNjb3JkaW9uX2V4cGFuc2lvbl93cmFwcGVyLmFjdGl2ZSwgLnJ0Y19zaWRlYmFyX2FjY29yZGlvbl90b3V0X2JvZHkuYWN0aXZlIHtcbiAgbWF4LWhlaWdodDogaW5pdGlhbCFpbXBvcnRhbnQ7XG59XG4ucnRjX3NpZGViYXJfYWNjb3JkaW9uX2ljb24ge1xuICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbn1cbi5ydGNfc2lkZWJhcl9hY2NvcmRpb25faWNvbi5hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jayFpbXBvcnRhbnQ7XG59XG5cbi8vIEJyYW5kIENvbG9yIFN3aXRjaGluZ1xubWFpbiB7XG4gICYgLnJ0Y19zaWRlYmFyX2FjY29yZGlvbl90b3V0X2JvZHkgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE4MCU7XG4gICAgY29sb3I6ICRydGNibHVlO1xuICB9XG4gICYgLnJ0Y19zaWRlYmFyX2FjY29yZGlvbl9pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtNXB4O1xuICAgIGxlZnQ6IDIwcHg7XG4gICAgei1pbmRleDogMTA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1jb2xvcjogJHJ0Y2JsdWUhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRydGNibHVlIWltcG9ydGFudDtcbiAgfVxuICAmLnJ0Y19jc19ibHVlIHtcbiAgICAmIC5ydGNfc2lkZWJhcl9hY2NvcmRpb25fdG91dF9ib2R5IHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBsaW5lLWhlaWdodDogMTgwJTtcbiAgICAgIGNvbG9yOiAkcnRjYmx1ZTtcbiAgICB9XG4gICAgJiAucnRjX3NpZGViYXJfYWNjb3JkaW9uX2ljb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtNXB4O1xuICAgICAgbGVmdDogMjBweDtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkcnRjYmx1ZSFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnRjYmx1ZSFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gICYucnRjX2NzX2dyZWVuIHtcbiAgICAmIC5ydGNfc2lkZWJhcl9hY2NvcmRpb25fdG91dF9ib2R5IHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBsaW5lLWhlaWdodDogMTgwJTtcbiAgICAgIGNvbG9yOiAkcnRjZ3JlZW47XG4gICAgfVxuICAgICYgLnJ0Y19zaWRlYmFyX2FjY29yZGlvbl9pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTVweDtcbiAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1jb2xvcjogJHJ0Y2dyZWVuIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRydGNncmVlbiFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gICYucnRjX2NzX29yYW5nZSB7XG4gICAgJiAucnRjX3NpZGViYXJfYWNjb3JkaW9uX3RvdXRfYm9keSB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDE4MCU7XG4gICAgICBjb2xvcjogJHJ0Y29yYW5nZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBsaSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICAgICAgcGFkZGluZzogMC4zNzVyZW0gMDtcbiAgICAgIH1cbiAgICB9XG4gICAgJiAucnRjX3NpZGViYXJfYWNjb3JkaW9uX2ljb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtNXB4O1xuICAgICAgbGVmdDogMjBweDtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkcnRjb3JhbmdlIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRydGNvcmFuZ2UhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLnJ0Y19zaWRlYmFyX2FsdF9jdGFfdG91dF9pbWFnZV93cmFwcGVyIHtcbiAgbWF4LXdpZHRoOiAyOTBweDtcbn1cblxuLnJ0Y19zaWRlYmFyX2FsdF9jdGFfdG91dF9pbWFnZSB7XG4gIG1heC13aWR0aDogMTAwcHg7XG59XG4ucnRjX3NpZGViYXJfYWx0X2N0YV90b3V0X2ljb24ge1xuICBjb2xvcjogJHJ0Y2JsdWUhaW1wb3J0YW50O1xufVxuLnJ0Y19zaWRlYmFyX2FsdF9jdGFfdG91dF90aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDVweCFpbXBvcnRhbnQ7XG59XG4ucnRjX3NpZGViYXJfYWx0X2N0YV90b3V0X3RpdGxlIGgyIHtcbiAgZm9udC1zaXplOiAxOHB4IWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQhaW1wb3J0YW50O1xuICBjb2xvcjogJHNwYW5ncmF5IWltcG9ydGFudDtcbn1cbi5ydGNfc2lkZWJhcl9hbHRfY3RhX3RvdXRfaW1hZ2Vfd3JhcHBlciAucnRjX3NpZGViYXJfYWx0X2N0YV90b3V0X3RleHQge1xuICBjb2xvcjogJHNwYW5ncmF5IWltcG9ydGFudDtcbn1cblxuLnJ0Y19zaWRlYmFyX2FsdF9jdGFfdG91dF9idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIGJvcmRlcjogNHB4IHNvbGlkICRydGNvcmFuZ2UhaW1wb3J0YW50O1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIH1cbn1cbi5ydGNfc2lkZWJhcl9hbHRfY3RhX3RvdXRfYnV0dG9uIHNwYW4ge1xuICBmb250LXNpemU6IDE4cHghaW1wb3J0YW50O1xufVxuXG4ucnRjX3NpZGViYXJfYWx0X2N0YV90b3V0X2ltYWdlX3dyYXBwZXIgLnJ0Y19zaWRlYmFyX2FsdF9jdGFfdG91dF9idXR0b24ge1xuICBib3JkZXI6IDRweCBzb2xpZCAkcnRjb3JhbmdlIWltcG9ydGFudDtcbn1cbi5ydGNfc2lkZWJhcl9hbHRfY3RhX3RvdXRfaW1hZ2Vfd3JhcHBlciAucnRjX3NpZGViYXJfYWx0X2N0YV90b3V0X2J1dHRvbiBzcGFuIHtcbiAgY29sb3I6ICRydGNvcmFuZ2UhaW1wb3J0YW50O1xufVxuXG4ucnRjX3NpZGViYXJfYWx0X2N0YV90b3V0X2ljb25fd3JhcHBlciAucnRjX3NpZGViYXJfYWx0X2N0YV90b3V0X2J1dHRvbiB7XG4gIGJvcmRlcjogNHB4IHNvbGlkICRydGNibHVlIWltcG9ydGFudDtcbn1cbi5ydGNfc2lkZWJhcl9hbHRfY3RhX3RvdXRfaWNvbl93cmFwcGVyIC5ydGNfc2lkZWJhcl9hbHRfY3RhX3RvdXRfYnV0dG9uIHNwYW4ge1xuICBjb2xvcjogJHJ0Y2JsdWUhaW1wb3J0YW50O1xufSIsIi8qKiBcbiAqIFBSRS1GT09URVIgYW5kIEZPT1RFUiBTVFlMRVNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqXG4gKiBHbG9iYWwgU3R5bGVzIGZvciB0aGUgUHJlLWZvb3RlclxuICogYW5kIGZvb3RlciBlbGVtZW50cy5cbiAqL1xuXG5cbi8qKiBQcmUtRm9vdGVyIFJvdyAqL1xuXG4ucnRjLXByZWZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICNmNGY0ZjQ7XG4gIC5wZi1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDQwcHggMCA1MHB4O1xuICAgIG1heC13aWR0aDogMTEwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIH1cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgICAuaWNuYmxrIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgICAgbWluLWhlaWdodDogNjBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgcGFkZGluZzogMzVweDtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMzVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBoMyB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gIH1cbn1cblxuLnBmX2NhbGxvdXRfcm93IHtcbiAgLmZ1c2lvbi1idXR0b24uYnV0dG9uLWZsYXQuZnVzaW9uLWJ1dHRvbi1yb3VuZC5idXR0b24tbGFyZ2UuYnV0dG9uLWRlZmF1bHQucm91bmQtYnV0dG9uLWdyZXkge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICM0QTRBNEE7XG4gICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICBwYWRkaW5nOiAxNXB4IDMycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIC5mdXNpb24tYnV0dG9uLXRleHQge1xuICAgICAgY29sb3I6ICM0QTRBNEE7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgIzZGNkY2RjtcbiAgICAgIC5mdXNpb24tYnV0dG9uLXRleHQge1xuICAgICAgICBjb2xvcjogIzZGNkY2RjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vKiogRm9vdGVyIEJsb2NrICovXG5cbi5ydGMtZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRBNEE0QTtcbiAgZm9vdGVyIHtcbiAgICBtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiA1MHB4IDE0cHggMDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gIH1cbiAgLmZvb3Rlci1tZW51LXN5c3RlbSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLm1lbnUtc3lzdGVtIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAubWVudSxcbiAgICAuc29jaWFsLW1lbnUge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgY29sdW1uLWNvdW50OiA0O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGkge1xuICAgICAgICBhIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5zdWItbWVudSB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGkge1xuICAgICAgICAgICYuYm9sZG1lIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnNvY2lhbC1tZW51IHtcbiAgICAgIGNvbHVtbi1jb3VudDogMTtcbiAgICAgIC5zdWItbWVudSB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAmLmZhYiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgICAgICAgfVxuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB9XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICAuZmFiIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5ydGMtY29weXJpZ2h0LW5vdGljZSB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIC5mb290ZXItbG9nbyB7XG4gICAgICB3aWR0aDogNzdweDtcbiAgICAgIGhlaWdodDogNjJweDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9hc3NldHMucnRjc252LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxOS8wNS8wNzE2MjEyMi9ydGNfbG9nb193aGl0ZSU0MDJ4LnBuZycpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICAgIC5sZWdhbC1hbmQtY29weXJpZ2h0IHtcbiAgICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcCB7XG4gICAgICAgIGNvbG9yOiAjY2NjO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8qKiBMYW5ndWFnZSBvcHRpb25zICovXG4gIC5ydGMtbGFuZ3VhZ2Utb3B0cyB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmxhbmcge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICBmaWxsOiAjZmZmO1xuICAgICAgICAgICAgJi5sYW5nX2dsb2JlIHtcbiAgICAgICAgICAgICAgZmlsbDogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICBmaWxsOiAjZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAubGFuZ19vcHRpb25zIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTIwcHg7XG4gICAgICByaWdodDogMHB4O1xuICAgICAgdG9wOiAtMjc1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjNGE0YTRhO1xuICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICB1bCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgbGkge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIvKiogRG9jdW1lbnQgT3ZlcnJpZGVzICovXG5cbiN3cmFwcGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogYXF1YW1hcmluZTtcbn1cblxuXG4vKiogUG9zaXRpb25pbmcgT3ZlcnJpZGVzICovXG5cbi52YWxpZ24tbWlkZGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG5cbi8qKiBUeXBvZ3JhcGh5IE92ZXJyaWRlcyAqL1xuXG5wIHtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmdmb3JtX3BhZ2VfZm9vdGVyIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG4uZ2Zvcm1fcGFnZV9mb290ZXIgaW5wdXRbdHlwZT1idXR0b25dLFxuLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbixcbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfZGVzY3JpcHRpb24sXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uLFxuLmdmb3JtX3dyYXBwZXIgbGFiZWwge1xuICBmb250LWZhbWlseTogJ1JUQ1JhbGV3YXknICFpbXBvcnRhbnQ7XG59XG5cbi5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgLmdmaWVsZF9sYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiAnUlRDUmFsZXdheScgIWltcG9ydGFudDtcbn1cblxuXG4vKiogVGFibGUgT3ZlcnJpZGVzICovXG5cbiNtYWluICNjb250ZW50IHtcbiAgdGFibGUge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAxNnB4O1xuICAgICAgZm9udC1mYW1pbHk6ICdSVENSYWxld2F5JyAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAudGFibGUtMSB7XG4gICAgJnRhYmxlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgICBib3JkZXItc3BhY2luZzogMXB4O1xuICAgICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIC50YWItcGFuZSB0YWJsZSB0ciB0ZCBwLFxuICAgIC50YWItcGFuZSB0YWJsZSB0ciB0ZCBzcGFuLFxuICAgIC50YWItcGFuZSB0YWJsZSB0ciB0ZCB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBwYWRkaW5nOiA2cHggMnB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5mdXNpb24tY29sdW1uLXdyYXBwZXIgdGFibGUgdHIgdGQgcCxcbiAgICAuZnVzaW9uLWNvbHVtbi13cmFwcGVyIHRyIHRkIHNwYW4sXG4gICAgLmZ1c2lvbi1jb2x1bW4td3JhcHBlciB0YWJsZSB0ciB0ZCB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBwYWRkaW5nOiA2cHggMnB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLyoqXG4gKiBIT01FUEFHRSBPVkVSUklERVNcbiAqID09PT09PT09PT09PT09PT09PVxuICogXG4gKiBBbGwgaG9tZXBhZ2Ugc3R5bGVzLFxuICogYWxsIHRoZSB0aW1lLlxuICpcbiAqL1xuXG5cbi8qKiBIb21lcGFnZSBTbGlkZXIgT3ZlcnJpZGVzICovXG5cbi5zbGlkZS1jb250ZW50IHtcbiAgLmZ1c2lvbi1idXR0b24ge1xuICAgICYuYnV0dG9uLWRlZmF1bHQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0RDQjQzQjtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjBDNzREO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8qKiBMYXRlc3QgSW5pdGlhdGl2ZXMgUm93ICovXG5cbi5sYXRlc3RfaW5pdGlhdGl2ZXNfcm93IHtcbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICBmb250LWZhbWlseTogJ1JUQ1JhbGV3YXknO1xuICB9XG4gIC5mdXNpb24tYnV0dG9uLmJ1dHRvbi1mbGF0LmZ1c2lvbi1idXR0b24tcm91bmQuYnV0dG9uLWxhcmdlLmJ1dHRvbi1kZWZhdWx0LnJvdW5kLWJ1dHRvbi1ibHVlLnJvdW5kLWJ1dHRvbi1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjMUQ0MjdGO1xuICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgcGFkZGluZzogMTVweCAzMnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAuZnVzaW9uLWJ1dHRvbi10ZXh0IHtcbiAgICAgIGNvbG9yOiAjMUQ0MjdGO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkICM1MjdBQkI7XG4gICAgICAuZnVzaW9uLWJ1dHRvbi10ZXh0IHtcbiAgICAgICAgY29sb3I6ICM1MjdBQkI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5mdXNpb24tYnV0dG9uLmZ1c2lvbi1idXR0b24tcm91bmQucm91bmQtYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAzcHggc29saWQgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMzBweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAxNXB4IDMycHggIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5ydGNfY3NfYmx1ZSB7XG4gIC5mdXNpb24tYnV0dG9uLmZ1c2lvbi1idXR0b24tcm91bmQucm91bmQtYnV0dG9uIHtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAkcnRjYmx1ZSAhaW1wb3J0YW50O1xuICAgIC5mdXNpb24tYnV0dG9uLXRleHQge1xuICAgICAgY29sb3I6ICRydGNibHVlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgIzUyN0FCQjtcbiAgICAgIC5mdXNpb24tYnV0dG9uLXRleHQge1xuICAgICAgICBjb2xvcjogIzUyN0FCQjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnJ0Y19jc19ncmVlbiB7XG4gIC5mdXNpb24tYnV0dG9uLmZ1c2lvbi1idXR0b24tcm91bmQucm91bmQtYnV0dG9uIHtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAkcnRjZ3JlZW4gIWltcG9ydGFudDtcbiAgICAuZnVzaW9uLWJ1dHRvbi10ZXh0IHtcbiAgICAgIGNvbG9yOiAkcnRjZ3JlZW4gIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAkcnRjZ3JlZW5faG92ZXIgIWltcG9ydGFudDtcbiAgICAgIC5mdXNpb24tYnV0dG9uLXRleHQge1xuICAgICAgICBjb2xvcjogJHJ0Y2dyZWVuX2hvdmVyICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5ydGNfY3Nfb3JhbmdlIHtcbiAgLmZ1c2lvbi1idXR0b24uZnVzaW9uLWJ1dHRvbi1yb3VuZC5yb3VuZC1idXR0b24ge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICRydGNvcmFuZ2UgIWltcG9ydGFudDtcbiAgICAuZnVzaW9uLWJ1dHRvbi10ZXh0IHtcbiAgICAgIGNvbG9yOiAkcnRjb3JhbmdlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgJHJ0Y29yYW5nZV9ob3ZlciAhaW1wb3J0YW50O1xuICAgICAgLmZ1c2lvbi1idXR0b24tdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkcnRjb3JhbmdlX2hvdmVyICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5ydGNfY3Nfb3JhbmdlIHtcbiAgLmZ1c2lvbi1idXR0b24td3JhcHBlciB7XG4gICAgLmZ1c2lvbi1idXR0b24ge1xuICAgICAgJi5idXR0b24tZmxhdCB7XG4gICAgICAgICYuZnVzaW9uLWJ1dHRvbi1waWxsIHtcbiAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAkcnRjb3JhbmdlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICAgIGkge1xuICAgICAgICAgICAgY29sb3I6ICRydGNvcmFuZ2UgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmZ1c2lvbi1idXR0b24tdGV4dCB7XG4gICAgICAgICAgICBjb2xvcjogJHJ0Y29yYW5nZSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICRydGNvcmFuZ2VfaG92ZXIgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICBjb2xvcjogJHJ0Y29yYW5nZV9ob3ZlciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmZ1c2lvbi1idXR0b24tdGV4dCB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkcnRjb3JhbmdlX2hvdmVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICNtYWluIHtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkcnRjb3JhbmdlICFpbXBvcnRhbnQ7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRydGNvcmFuZ2VfaG92ZXIgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnJ0Y19jc19ncmVlbiB7XG4gIC5mdXNpb24tYnV0dG9uLXdyYXBwZXIge1xuICAgIC5mdXNpb24tYnV0dG9uIHtcbiAgICAgICYuYnV0dG9uLWZsYXQge1xuICAgICAgICAmLmZ1c2lvbi1idXR0b24tcGlsbCB7XG4gICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJHJ0Y2dyZWVuICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICAgIC5mdXNpb24tYnV0dG9uLXRleHQge1xuICAgICAgICAgICAgY29sb3I6ICRydGNncmVlbiAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICRydGNncmVlbl9ob3ZlciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgLmZ1c2lvbi1idXR0b24tdGV4dCB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkcnRjZ3JlZW5faG92ZXIgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgI21haW4ge1xuICAgIGEge1xuICAgICAgY29sb3I6ICRydGNncmVlbiAhaW1wb3J0YW50O1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkcnRjZ3JlZW5faG92ZXIgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmZ1c2lvbi1idXR0b24ge1xuICAmLmdvbGQtYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRENCNDNCICFpbXBvcnRhbnQ7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjBDNzREICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLyoqIEF2YWRhIChGdXNpb24pIEZvbnQgT3ZlcnJpZGVzICovXG5cbi5mdXNpb24tbW9kYWwgaDEsXG4uZnVzaW9uLXBhZ2UtdGl0bGUtYmFyIGgxLFxuLmZ1c2lvbi10aXRsZSBoMSxcbi5mdXNpb24td2lkZ2V0LWFyZWEgaDEsXG4ucG9zdC1jb250ZW50IGgxLFxuLnNlYXJjaC1wYWdlLXNlYXJjaC1mb3JtIGgxIHtcbiAgZm9udC1mYW1pbHk6ICdSVENSYWxld2F5JyAhaW1wb3J0YW50O1xufVxuXG4jbWFpbiAucG9zdCBoMixcbiNtYWluIC5yZWFkaW5nLWJveCBoMixcbiNtYWluIGgyLFxuLmVpLXRpdGxlIGgyLFxuLmZ1c2lvbi1tb2RhbCBoMixcbi5mdXNpb24tdGl0bGUgaDIsXG4uZnVzaW9uLXdpZGdldC1hcmVhIGgyLFxuLm1haW4tZmxleCAuc2xpZGUtY29udGVudCBoMixcbi5wb3N0LWNvbnRlbnQgaDIsXG4udGl0bGUgaDIge1xuICBmb250LWZhbWlseTogJ1JUQ1JhbGV3YXknICFpbXBvcnRhbnQ7XG59XG5cbi5mdXNpb24tYXV0aG9yIC5mdXNpb24tYXV0aG9yLXRpdGxlLFxuLmZ1c2lvbi1oZWFkZXItdGFnbGluZSxcbi5mdXNpb24tbW9kYWwgLm1vZGFsLXRpdGxlLFxuLmZ1c2lvbi1tb2RhbCBoMyxcbi5mdXNpb24tcHJpY2luZy10YWJsZSAucHJpY2luZy1yb3csXG4uZnVzaW9uLXByaWNpbmctdGFibGUgLnRpdGxlLXJvdyxcbi5mdXNpb24tdGl0bGUgaDMsXG4uZnVzaW9uLXdpZGdldC1hcmVhIGgzLFxuLm1haW4tZmxleCAuc2xpZGUtY29udGVudCBoMyxcbi5wb3N0LWNvbnRlbnQgaDMsXG4ucHJvamVjdC1jb250ZW50IGgzLFxuLnNpZGViYXIgLndpZGdldCBoMyB7XG4gIGZvbnQtZmFtaWx5OiAnUlRDUmFsZXdheScgIWltcG9ydGFudDtcbn1cblxuI21haW4gI2NvbW1lbnQtc3VibWl0LFxuI21haW4gLmNvbW1lbnQtc3VibWl0LFxuI3Jldmlld3MgaW5wdXQjc3VibWl0LFxuLmJ1dHRvbi1kZWZhdWx0LFxuLmJ1dHRvbi5kZWZhdWx0LFxuLmNvbW1lbnQtZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuLmZ1c2lvbi1idXR0b24sXG4uZnVzaW9uLWJ1dHRvbi1kZWZhdWx0LFxuLmZ1c2lvbi1wb3J0Zm9saW8tb25lIC5mdXNpb24tYnV0dG9uLFxuLnBvc3QtcGFzc3dvcmQtZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuLnNsaWRpbmdiYXItYXJlYSAuYnV0dG9uLWRlZmF1bHQsXG4udGlja2V0LXNlbGVjdG9yLXN1Ym1pdC1idG5bdHlwZT1zdWJtaXRdLFxuLnRtbC1zdWJtaXQtd3JhcCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuaW5wdXQuYnV0dG9uLWRlZmF1bHQge1xuICBmb250LWZhbWlseTogJ1JUQ1JhbGV3YXknICFpbXBvcnRhbnQ7XG59XG5cbiN3cmFwcGVyICNtYWluIC5mdXNpb24tcG9ydGZvbGlvLWNvbnRlbnQ+aDEuZnVzaW9uLXBvc3QtdGl0bGUsXG4jd3JhcHBlciAjbWFpbiAuZnVzaW9uLXBvcnRmb2xpby1jb250ZW50PmgyLmZ1c2lvbi1wb3N0LXRpdGxlLFxuI3dyYXBwZXIgI21haW4gLmZ1c2lvbi1wb3N0LWNvbnRlbnQ+LmJsb2ctc2hvcnRjb2RlLXBvc3QtdGl0bGUsXG4jd3JhcHBlciAjbWFpbiAuZnVzaW9uLXBvc3QtY29udGVudD5oMS5mdXNpb24tcG9zdC10aXRsZSxcbiN3cmFwcGVyICNtYWluIC5mdXNpb24tcG9zdC1jb250ZW50PmgyLmZ1c2lvbi1wb3N0LXRpdGxlLFxuI3dyYXBwZXIgI21haW4gLnBvc3Q+LmZ1c2lvbi1wb3N0LXRpdGxlLW1ldGEtd3JhcD5oMS5mdXNpb24tcG9zdC10aXRsZSxcbiN3cmFwcGVyICNtYWluIC5wb3N0Pi5mdXNpb24tcG9zdC10aXRsZS1tZXRhLXdyYXA+aDIuZnVzaW9uLXBvc3QtdGl0bGUsXG4jd3JhcHBlciAjbWFpbiAucG9zdD5oMS5mdXNpb24tcG9zdC10aXRsZSxcbiN3cmFwcGVyICNtYWluIC5wb3N0PmgyLmZ1c2lvbi1wb3N0LXRpdGxlLFxuI3dyYXBwZXIgLmZ1c2lvbi1ldmVudHMtc2hvcnRjb2RlIC5mdXNpb24tZXZlbnRzLW1ldGEgaDEsXG4jd3JhcHBlciAuZnVzaW9uLWV2ZW50cy1zaG9ydGNvZGUgLmZ1c2lvbi1ldmVudHMtbWV0YSBoMixcbi5zaW5nbGUtcHJvZHVjdCAjbWFpbiAucHJvZHVjdCBoMS5wcm9kdWN0X3RpdGxlLFxuLnNpbmdsZS1wcm9kdWN0ICNtYWluIC5wcm9kdWN0IGgyLnByb2R1Y3RfdGl0bGUge1xuICBmb250LWZhbWlseTogJ1JUQ1JhbGV3YXknICFpbXBvcnRhbnQ7XG59XG5cbiN3cmFwcGVyICNtYWluIC5mdXNpb24tcG9ydGZvbGlvLWNvbnRlbnQ+aDQuZnVzaW9uLXBvc3QtdGl0bGUsXG4jd3JhcHBlciAjbWFpbiAuZnVzaW9uLXBvcnRmb2xpby1jb250ZW50Pmg0LmZ1c2lvbi1wb3N0LXRpdGxlLFxuI3dyYXBwZXIgI21haW4gLmZ1c2lvbi1wb3N0LWNvbnRlbnQ+LmJsb2ctc2hvcnRjb2RlLXBvc3QtdGl0bGUsXG4jd3JhcHBlciAjbWFpbiAuZnVzaW9uLXBvc3QtY29udGVudD5oNC5mdXNpb24tcG9zdC10aXRsZSxcbiN3cmFwcGVyICNtYWluIC5mdXNpb24tcG9zdC1jb250ZW50Pmg0LmZ1c2lvbi1wb3N0LXRpdGxlLFxuI3dyYXBwZXIgI21haW4gLnBvc3Q+LmZ1c2lvbi1wb3N0LXRpdGxlLW1ldGEtd3JhcD5oNC5mdXNpb24tcG9zdC10aXRsZSxcbiN3cmFwcGVyICNtYWluIC5wb3N0Pi5mdXNpb24tcG9zdC10aXRsZS1tZXRhLXdyYXA+aDQuZnVzaW9uLXBvc3QtdGl0bGUsXG4jd3JhcHBlciAjbWFpbiAucG9zdD5oMS5mdXNpb24tcG9zdC10aXRsZSxcbiN3cmFwcGVyICNtYWluIC5wb3N0Pmg0LmZ1c2lvbi1wb3N0LXRpdGxlLFxuI3dyYXBwZXIgLmZ1c2lvbi1ldmVudHMtc2hvcnRjb2RlIC5mdXNpb24tZXZlbnRzLW1ldGEgaDQsXG4jd3JhcHBlciAuZnVzaW9uLWV2ZW50cy1zaG9ydGNvZGUgLmZ1c2lvbi1ldmVudHMtbWV0YSBoNCxcbi5zaW5nbGUtcHJvZHVjdCAjbWFpbiAucHJvZHVjdCBoNC5wcm9kdWN0X3RpdGxlLFxuLnNpbmdsZS1wcm9kdWN0ICNtYWluIC5wcm9kdWN0IGg0LnByb2R1Y3RfdGl0bGUge1xuICBmb250LWZhbWlseTogJ1JUQ1JhbGV3YXknICFpbXBvcnRhbnQ7XG59XG5cbi5mdXNpb24tYWNjb3JkaWFuIC5wYW5lbC10aXRsZSAuZnVzaW9uLXRvZ2dsZS1oZWFkaW5nIHtcbiAgZm9udC1mYW1pbHk6ICdSVENSYWxld2F5JyAhaW1wb3J0YW50O1xufVxuXG4jdHJpYmUtZXZlbnRzLWNvbnRlbnQgLnRyaWJlLWV2ZW50cy10b29sdGlwIC5lbnRyeS10aXRsZSxcbiN0cmliZS1ldmVudHMtY29udGVudCAudHJpYmUtZXZlbnRzLXRvb2x0aXAgLnRyaWJlLWV2ZW50LXRpdGxlLFxuLmZ1c2lvbi1hY2NvcmRpYW4gLnBhbmVsLWhlYWRpbmcgYSxcbi5mdXNpb24tYWNjb3JkaWFuIC5wYW5lbC10aXRsZSxcbi5mdXNpb24tY2Fyb3VzZWwtdGl0bGUsXG4uZnVzaW9uLWZsaXAtYm94ZXMgLmZ1c2lvbi1mbGlwLWJveCAuZmxpcC1ib3gtaGVhZGluZy1iYWNrLFxuLmZ1c2lvbi1pbWFnZS13cmFwcGVyIC5mdXNpb24tcm9sbG92ZXIgLmZ1c2lvbi1yb2xsb3Zlci1jb250ZW50IC5mdXNpb24tcm9sbG92ZXItdGl0bGUsXG4uZnVzaW9uLWltYWdlLXdyYXBwZXIgLmZ1c2lvbi1yb2xsb3ZlciAuZnVzaW9uLXJvbGxvdmVyLWNvbnRlbnQgLmZ1c2lvbi1yb2xsb3Zlci10aXRsZSBhLFxuLmZ1c2lvbi1tZWdhbWVudS10aXRsZSxcbi5mdXNpb24tbW9kYWwgaDQsXG4uZnVzaW9uLXBlcnNvbiAucGVyc29uLWRlc2MgLnBlcnNvbi1hdXRob3IgLnBlcnNvbi1hdXRob3Itd3JhcHBlcixcbi5mdXNpb24tdGFicyAubmF2LXRhYnMgbGkgLmZ1c2lvbi10YWItaGVhZGluZyxcbi5mdXNpb24tdGFicy13aWRnZXQgLmZ1c2lvbi10YWJzLW5hdiB1bCBsaSBhLFxuLmZ1c2lvbi10aXRsZSBoNCxcbi5mdXNpb24td2lkZ2V0LWFyZWEgaDQsXG4ucG9wb3ZlciAucG9wb3Zlci10aXRsZSxcbi5wb3N0LWNvbnRlbnQgaDQsXG4ucHJvamVjdC1jb250ZW50IC5wcm9qZWN0LWluZm8gaDQsXG4uc2hhcmUtYm94IGg0LFxudGFibGUgdGgge1xuICBmb250LWZhbWlseTogJ1JUQ1JhbGV3YXknICFpbXBvcnRhbnQ7XG59XG5cbmgxLFxuaDIge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4uZmEtZmlsZS1wZGYsXG4uZmEtZmlsZS1hdWRpbyB7XG4gIGNvbG9yOiAjY2RjZGNkO1xuICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG59XG5cbi5mdXNpb24tYWxlcnQtY29udGVudC13cmFwcGVyIHtcbiAgLmFsZXJ0LWljb24ge1xuICAgIC5mYS1leGNsYW1hdGlvbi10cmlhbmdsZSB7XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgfVxuICB9XG4gIC5mdXNpb24tYWxlcnQtY29udGVudCB7XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBjb2xvcjogIzRhNGE0YTtcbiAgICB9XG4gIH1cbn1cblxuI3N1Ym5hdl83IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uZnVsbGZ1bGx3aWR0aCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMHZ3O1xuICBsZWZ0OiA1MCU7XG4gIHJpZ2h0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNTB2dztcbiAgbWFyZ2luLXJpZ2h0OiAtNTB2dztcbn1cbiJdfQ== */
