/*!
 Theme Name:     30 Lines
 Theme URI:      http://30lines.com
 Description:    Another awesome website by 30 Lines, built with care in Columbus, Ohio.
 Author:         30 Lines
 Author URI:     http://30lines.com
 Template:       Divi
 Version:        1.0.0
*/.fa,.far,.fas{font-family:"Font Awesome 5 Free",'FontAwesome' !important;font-weight:900 !important}body{font-size:16px}h1{font-family:'Cantata One',Georgia,"Times New Roman",serif;line-height:1.2em}@media (min-width: 70em){h1{font-size:3.750em}}h2{font-family:'Cantata One',Georgia,"Times New Roman",serif;line-height:1.2em}@media (min-width: 70em){h2{font-size:3em}}h3{font-family:'Cantata One',Georgia,"Times New Roman",serif;line-height:1.2em}@media (min-width: 70em){h3{font-size:1.875em}}h4{font-family:'Lato', sans-serif !important;text-transform:uppercase;letter-spacing:.2em;color:#cd9f39}@media (min-width: 70em){h4{font-size:1em}}.icon{color:#cd9f39;font-size:1.875em;transition-property:all;transition-duration:0.5s;transition-timing-function:cubic-bezier(0, 1, 0.5, 1)}.et_pb_button{line-height:40px !important}.full-width-header-offset a.button{color:#fff !important}.full-width-header-offset a.button.is-secondary{background-color:#fff;color:#cd9f39 !important;border-color:#fff}.full-width-header-offset .prop-cta p{overflow:hidden}.button.is-pill{padding:0.75rem 2rem !important;color:#fff}.button.is-pill:hover{color:#cd9f39 !important;border:1px solid #cd9f39 !important;padding:0.75rem 2rem !important;background-color:#fff !important}.secondary-button{font-weight:700 !important;background-color:transparent !important}.secondary-button:hover{background-color:transparent !important}.gform_button{background-color:#cd9f39;border:none;padding:0.75rem 1.5rem;color:#fff;text-transform:uppercase;font-size:14px;font-family:"Lato","HelveticaNeue","Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:2px;cursor:pointer}button.close-button{font-size:2rem;line-height:1;cursor:pointer;background:none;border:none;float:right}.prop-contact-form{clear:both}.home .home-custom-neighborhood-section h3{font-size:1.5rem !important;min-height:66px !important;margin-bottom:0 !important;padding-bottom:0 !important}.home .home-custom-neighborhood-section h4{min-height:60px !important}.primary-page-hero .et_pb_fullwidth_header{padding:6rem 0 8rem !important}.primary-page-hero .et_pb_fullwidth_header .et_pb_module_header{font-size:1rem;color:#cd9f39}.ds-vertical-align{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}.float{transition:all .3s ease-out}.float:hover{-ms-transform:translate(0px, -10px);transform:translate(0px, -10px)}.float:hover .icon{opacity:1}.page-id-41 .et_pb_module.et_pb_team_member{position:relative}.page-id-41 .et_pb_team_member_image img{height:325px;object-fit:cover;width:325px;border-radius:50%;-webkit-backface-visibility:hidden;backface-visibility:hidden}nav#leadershipNav a{display:inline-block;color:#111;padding:0.5rem 1rem 0.6rem;margin:0.25rem;border-radius:20px;line-height:1}nav#leadershipNav a:hover,nav#leadershipNav a.active{background-color:#dedede}nav#leadershipNav br{display:none}.page-id-41 .et_pb_module.et_pb_team_member{margin-bottom:100px !important;margin-top:50px}.page-id-41 .et_pb_module.et_pb_team_member:hover .et_pb_team_member_image{-ms-transform:scale(1.02);transform:scale(1.02)}.et_pb_team_member_description{text-align:center}.et_pb_team_member_description p:not(.et_pb_member_position){max-height:0;opacity:0;overflow:hidden;transition:all 200ms ease-in-out}.et_pb_module.et_pb_team_member:hover p{max-height:500px;opacity:1;transition:all 300ms ease-in-out}.et_pb_team_member_description{padding:1rem;background-color:#fff;transition:background-color 200ms ease-in-out}.et_pb_module.et_pb_team_member:hover .et_pb_team_member_description{background-color:#1c315c;color:#fff}.et_pb_team_member_description{position:absolute;z-index:100}.et_pb_module.et_pb_team_member:hover .et_pb_team_member_description:before{content:'';position:absolute;top:-30px;left:50%;width:0;height:0;border-style:solid;border-width:0 25px 30px 	25px;-ms-transform:translateX(-50%);transform:translateX(-50%);border-color:transparent transparent #1c315c transparent}.full-width-header-offset .button{padding:0.5rem 1rem;color:#fff;background-color:#cd9f39;border:1px solid #fff;display:block;width:48%;font-size:12px;float:left;border-radius:25px;border:1px solid #cd9f39;transition:all 200ms ease-in-out;text-align:center;font-weight:bold;margin:0 1%}@media (max-width: 700px){.full-width-header-offset .button{display:block;width:100%;float:none}}.full-width-header-offset .button.secondary-button{background-color:#fff !important;color:#cd9f39 !important}.single-prop-footer-buttons{padding:1rem 2rem 6rem !important}.et_pb_module.primary-text-balloon{width:200px;height:200px;border-radius:50%;background-color:#1c315c;text-align:center;line-height:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;color:#fff;padding:0.5rem;float:right;margin-right:10%}.et_pb_module.primary-text-balloon h3{color:#cd9f39;font-size:25px !important}.et_pb_module.accent-text-balloon{width:250px;height:250px;border-radius:50%;background-color:#cd9f39;text-align:center;line-height:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;color:#fff;padding:0.5rem;float:left;margin-top:10%}.et_pb_module.accent-text-balloon h3{color:#1c315c;font-size:45px !important}.about-section-block-1 .et_pb_module.small-accent-image{position:absolute;max-width:200px;bottom:0;left:0}.about-section-block-2 .et_pb_module.small-accent-image{position:absolute;max-width:200px;top:0;right:0}.about-section-block-1 .et_pb_module.small-accent-image:before,.about-section-block-2 .et_pb_module.small-accent-image:before{content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-color:rgba(205,159,57,0.7);z-index:10}.about-section-block-2 .et_pb_module.small-accent-image:before{background-color:rgba(28,49,92,0.7)}.about-section-block-1 .et_pb_button,.about-section-block-2 .et_pb_button{background-color:#fff;padding:0}ul.inline-page-nav{padding:0 !important;margin:0;list-style-type:none;text-align:center}ul.inline-page-nav li{display:inline-block;margin-right:1rem}ul.inline-page-nav li a{color:#fff !important;text-transform:uppercase;padding:0.5rem}.about-section-block-1 .et_pb_column_1_2:last-child{padding:250px 0}.about-section-block-2 .et_pb_column_1_2:first-child{padding:250px 0}.about-section-block-2 .et_pb_button,.about-section-block-1 .et_pb_button{background-color:#fff !important;color:#cd9f39 !important;margin-top:2rem;position:relative}.about-section-block-2 .et_pb_button:after,.about-section-block-1 .et_pb_button:after{content:"3";font-family:'ETmodules';font-size:16px;font-weight:800}.counter-row-wrapper .et_pb_counters li .et_pb_counter_title{margin-bottom:5px;font-size:16px !important;min-width:25%;max-width:25%;float:left;line-height:1 !important;padding-right:0.5rem}.counter-row-wrapper .et_pb_counters li:after{display:block;margin:-8px 0 16px;color:#1c315c;font-weight:bold;font-size:12px !important;width:75%;margin-left:25%}.counter-row-wrapper .et_pb_counters{max-height:0;overflow:hidden;opacity:0 !important;transition:opacity 200ms ease-in-out !important}.counter-row-wrapper .et_pb_counters.is-active{max-height:1000px;overflow:hidden;opacity:1 !important}.counter-tabs h4{display:inline-block;padding:0.75rem 2rem;margin-right:2rem;border-radius:40px;cursor:pointer}.counter-tabs h4.is-active{background-color:#dedede}h5.et_pb_toggle_title{padding:0.5rem 0 !important}.affiliate-grid .et_pb_module{min-height:550px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.fancy-list-1 ul{margin:0;list-style-type:none;columns:2}.fancy-list-1 ul li{border-left:3px solid #cd9f39;padding:0 0.75rem;margin-bottom:1rem;line-height:1.4}ul.et_pb_tabs_controls:after{border-color:#fff}#careers-list .et_pb_tab_content ul{list-style-type:none;padding-left:0;display:-ms-flexbox;display:flex;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}#careers-list .et_pb_tab_content li{position:relative;margin-bottom:1rem;width:100%;padding:1% 2%;display:-ms-flexbox;display:flex;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-align:center;align-items:center}@media (min-width: 1080px){#careers-list .et_pb_tab_content li{width:32.33%}}#careers-list .et_pb_tab_content li i{font-size:2.5rem;color:#cd9f39;margin-right:0.5rem}.et_pb_testimonial_description_inner i{color:#1c305c;font-size:30px}#jobs_widget_container{font-family:'Lato', Helvetica,Arial,sans-serif;background:#f6f6f6 !important}#jobsTable td{padding:12px 8px !important;border-top:3px solid #f6f6f6 !important}#jobs_widget_container #jobsTable th{background-color:#1c305c !important;color:#fff !important;padding:12px 8px !important}#jobs_widget_container{padding:0 !important;border:none !important}.inline-nav-titles ul{list-style-type:none;margin:0;padding:0}@media (min-width: 981px){.inline-nav-titles ul{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}}.timeline-date{width:80px;height:80px;border-radius:50%;text-align:center;float:left}.timeline-date p{width:80px;line-height:80px;margin:0;color:#fff;font-family:'Cantata One'}@media (min-width: 768px){.single-post .single-entry-content{margin-top:-150px}}.single-post .et_pb_title_container{-webkit-display:flex;display:-ms-flexbox;display:flex;-ms-flex-direction:column-reverse;flex-direction:column-reverse}@media (min-width: 981px){.contact-page-form{-ms-transform:translateY(-25%);transform:translateY(-25%);background-color:#fff;padding:2rem}}.search-page-search-bar{background-color:#f9f9f9}.search-page-search-bar .row{box-shadow:0 14px 28px rgba(0,0,0,0.05),0 10px 10px rgba(0,0,0,0.02)}#top-menu .is-cta a{padding:0.75rem 1.5rem !important;background-color:#1c315c;color:#fff;border-radius:3px}.container.et_search_form_container.et_pb_search_visible{z-index:999;background-color:#fff}@media (max-width: 980px){.container.et_search_form_container.et_pb_search_visible .et_header_style_left .et-search-form,.container.et_search_form_container.et_pb_search_visible .et_header_style_split .et-search-form{width:100% !important;max-width:100% !important}.container.et_search_form_container.et_pb_search_visible form.et-search-form{background:#fff !important}}@media (min-width: 981px) and (max-width: 1299px){#logo{max-width:150px !important}}#main-footer{background-color:#1c315c}#main-footer #et-boc .et_pb_section{position:relative;background-color:#1c315c;color:#fff}#main-footer #et-boc .et_pb_section p,#main-footer #et-boc .et_pb_section li{color:#fff}#main-footer #et-boc .et_pb_section a{color:#cd9f39 !important}#main-footer h3,#main-footer h4{color:#fff !important}#main-footer .main-footer-module>div:first-child{border-top:3px solid #162748}#main-footer .main-footer-module .footer-widget-block{padding-top:0;padding-bottom:0;border-top:3px solid #162748;border-bottom:3px solid #162748}#main-footer .main-footer-module .footer-widget-block .et_pb_column{padding-top:2%;padding-bottom:2%}#main-footer .main-footer-module .footer-widget-block .et_pb_column:nth-of-type(even){position:relative}@media (min-width: 48em){#main-footer .main-footer-module .footer-widget-block .et_pb_column:nth-of-type(even):before,#main-footer .main-footer-module .footer-widget-block .et_pb_column:nth-of-type(even):after{content:'';position:absolute;top:0;height:100%;left:-13.5%;width:3px;background-color:#162748}#main-footer .main-footer-module .footer-widget-block .et_pb_column:nth-of-type(even):after{left:100%}}#main-footer .main-footer-module .footer-widget-block .et_pb_column:nth-of-type(even) ul{padding-bottom:3rem}@media (min-width: 70em){#main-footer .main-footer-module .footer-widget-block .et_pb_column:nth-of-type(even) ul{padding-bottom:2rem}}@media (max-width: 48em){#main-footer .main-footer-module .gform_wrapper .gform_footer{padding-top:0}}#main-footer .footer-signup h3{font-family:"Cantata One",Georgia,"Times New Roman",serif;text-transform:lowercase}@media (min-width: 48em){#main-footer .footer-signup h3{font-size:3rem}}#main-footer .footer-signup h3 span{display:block;font-size:1rem;color:#cd9f39;font-family:"Lato","HelveticaNeue","Helvetica Neue",Helvetica,Arial,sans-serif;text-transform:uppercase}@media (min-width: 70em){#main-footer .footer-newsletter-signup{padding-left:5rem !important;padding-right:5rem !important;padding-top:0 !important}}#main-footer .footer-newsletter-signup form{position:relative;overflow:hidden}#main-footer .footer-newsletter-signup form input{width:100%;margin:1rem 0 !important;padding:0.5rem;background-color:rgba(255,255,255,0.1);border:none;float:left;color:#fff;font-size:1rem;font-family:"Cantata One",Georgia,"Times New Roman",serif;font-weight:bold;font-size:1.25rem}@media (min-width: 48em){#main-footer .footer-newsletter-signup form input{margin:1%;padding:1rem}}#main-footer .footer-newsletter-signup form #gform_submit_button_8{display:block;position:relative;width:100%;font-size:2.5rem;color:#fff;border:3px solid #cd9f39;background-color:transparent;line-height:37px;background-color:transparent;display:block;font-family:ETmodules;text-align:center;color:#cd9f39}@media (min-width: 48em){#main-footer .footer-newsletter-signup form #gform_submit_button_8{padding-left:3px;font-size:1.25rem;border-radius:50%;position:absolute;padding:0;margin:0;right:1rem;top:7px;padding:0;margin:0;height:40px;width:40px;right:2rem;top:32px}}#main-footer .footer-newsletter-signup ::-webkit-input-placeholder{color:#fff}#main-footer .footer-newsletter-signup ::-moz-placeholder{color:#fff}#main-footer .footer-newsletter-signup :-ms-input-placeholder{color:#fff}#main-footer .footer-newsletter-signup :-moz-placeholder{color:#fff}#main-footer .footer-newsletter-signup .ginput_container.ginput_container_checkbox{margin-top:-50px}@media (min-width: 800px){#main-footer .footer-newsletter-signup .ginput_container.ginput_container_checkbox{-ms-transform:translateX(-4rem);transform:translateX(-4rem)}}#main-footer .footer-newsletter-signup .ginput_container.ginput_container_checkbox input{padding:0.75rem !important}#main-footer .footer-newsletter-signup #input_8_3{display:-ms-flexbox;display:flex}#main-footer .footer-newsletter-signup #input_8_3 label{font-family:"Cantata One",Georgia,"Times New Roman",serif;font-size:1rem}#main-footer .footer-newsletter-signup #input_8_3 input[type="checkbox"]{width:auto !important;-webkit-appearance:none}#main-footer .footer-newsletter-signup #input_8_3 .gchoice_8_3_1,#main-footer .footer-newsletter-signup #input_8_3 .gchoice_8_3_2{display:-ms-flexbox !important;display:flex !important;-ms-flex:1;flex:1;-ms-flex-pack:end;justify-content:flex-end;-ms-flex-align:center;align-items:center}@media (min-width: 981px){#main-footer .footer-newsletter-signup #input_8_3 .gchoice_8_3_1,#main-footer .footer-newsletter-signup #input_8_3 .gchoice_8_3_2{padding:0 2rem !important}}#main-footer .footer-newsletter-signup #input_8_3 .gchoice_8_3_1 label,#main-footer .footer-newsletter-signup #input_8_3 .gchoice_8_3_2 label{margin-left:1rem}#main-footer .footer-newsletter-signup #input_8_3 .gchoice_8_3_2{-ms-flex-pack:start;justify-content:flex-start}#main-footer .footer-newsletter-signup #input_8_3 input#choice_8_3_1:checked,#main-footer .footer-newsletter-signup #input_8_3 input#choice_8_3_2:checked{background-color:#cd9f39 !important}#main-footer .et_pb_section{background-color:#1c315c;color:#fff}#main-footer .et_pb_section p,#main-footer .et_pb_section h3,#main-footer .et_pb_section h4,#main-footer .et_pb_section h5,#main-footer .et_pb_section h6{color:#fff}#main-footer .et_pb_section a{color:#cd9f39}#main-footer .et_pb_posts .et_pb_post{margin-bottom:8px}#main-footer .et_pb_posts .entry-title{font-size:0.9rem}#main-footer .et_pb_posts .post-content{display:none}@media (min-width: 70em){#main-footer .footer-widget-block>div:first-child{padding-left:5rem}#main-footer .footer-widget-block>div:first-child>div{margin-left:1%}}#main-footer .footer-widget-block h4{font-family:"Cantata One",Georgia,"Times New Roman",serif;font-weight:bold;font-size:1.25rem}@media (min-width: 20em){#main-footer .footer-widget-block .et_pb_social_media_follow li{float:left}}#main-footer .footer-widget-block .et_pb_social_media_follow li a:before{color:#cd9f39;font-size:1.5rem}.footer-legal{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;color:#fff !important;padding:1rem;background-color:#1c315c}.footer-legal h6,.footer-legal p{color:#fff;margin-bottom:0;padding-bottom:0;line-height:1.7}@media (min-width: 70em){.footer-legal h6,.footer-legal p{margin-left:1rem}}tags-input{display:block}tags-input *,tags-input :after,tags-input :before{box-sizing:border-box}tags-input .host{position:relative;margin-top:5px;margin-bottom:5px;height:100%}tags-input .host:active{outline:0}tags-input .tags{-moz-appearance:textfield;-webkit-appearance:textfield;padding:1px;overflow:hidden;word-wrap:break-word;cursor:text;background-color:#fff;border:1px solid #a9a9a9;box-shadow:1px 1px 1px 0 #d3d3d3 inset;height:100%}tags-input .tags.focused{outline:0;box-shadow:0 0 3px 1px rgba(5,139,242,0.6)}tags-input .tags .tag-list{margin:0;padding:0;list-style-type:none}tags-input .tags .tag-item{margin:2px;padding:0 5px;display:inline-block;float:left;font:14px "Helvetica Neue",Helvetica,Arial,sans-serif;height:26px;line-height:25px;border:1px solid #acacac;border-radius:3px;background:linear-gradient(to bottom, #f0f9ff 0, #cbebff 47%, #a1dbff 100%)}tags-input .tags .tag-item.selected{background:linear-gradient(to bottom, #febbbb 0, #fe9090 45%, #ff5c5c 100%)}tags-input .tags .tag-item .remove-button{margin:0 0 0 5px;padding:0;border:none;background:0 0;cursor:pointer;vertical-align:middle;font:700 16px Arial,sans-serif;color:#585858}tags-input .tags .input.invalid-tag,tags-input .tags .tag-item .remove-button:active{color:red}tags-input .tags .input{border:0;outline:0;margin:2px;padding:0 0 0 5px;float:left;height:26px;font:14px "Helvetica Neue",Helvetica,Arial,sans-serif}tags-input .tags .input::-ms-clear{display:none}tags-input.ng-invalid .tags{box-shadow:0 0 3px 1px rgba(255,0,0,0.6)}tags-input[disabled] .host:focus{outline:0}tags-input[disabled] .tags{background-color:#eee;cursor:default}tags-input[disabled] .tags .tag-item{opacity:.65;background:linear-gradient(to bottom, #f0f9ff 0, rgba(203,235,255,0.75) 47%, rgba(161,219,255,0.62) 100%)}tags-input[disabled] .tags .tag-item .remove-button{cursor:default}tags-input[disabled] .tags .tag-item .remove-button:active{color:#585858}tags-input[disabled] .tags .input{background-color:#eee;cursor:default}tags-input .autocomplete{margin-top:5px;position:absolute;padding:5px 0;z-index:999;width:100%;background-color:#fff;border:1px solid rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}tags-input .autocomplete .suggestion-list{margin:0;padding:0;list-style-type:none;max-height:280px;overflow-y:auto;position:relative}tags-input .autocomplete .suggestion-item{padding:5px 10px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:16px "Helvetica Neue",Helvetica,Arial,sans-serif;color:#000;background-color:#fff}tags-input .autocomplete .suggestion-item.selected,tags-input .autocomplete .suggestion-item.selected em{color:#fff;background-color:#0097cf}tags-input .autocomplete .suggestion-item em{font:normal 700 16px "Helvetica Neue",Helvetica,Arial,sans-serif;color:#000;background-color:#fff}body.is-reveal-open{overflow:hidden}html.is-reveal-open,html.is-reveal-open body{min-height:100%;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.reveal-overlay{display:none;position:fixed;top:0;bottom:0;left:0;right:0;z-index:1005;background-color:rgba(10,10,10,0.45);overflow-y:scroll}.reveal{display:none;z-index:1006;padding:1rem;border:1px solid #cacaca;background-color:#fff;border-radius:0;position:relative;top:100px;margin-left:auto;margin-right:auto;overflow-y:auto}[data-whatinput='mouse'] .reveal{outline:0}@media screen and (min-width: 40em){.reveal{min-height:0}}.reveal .column,.reveal .columns{min-width:0}.reveal>:last-child{margin-bottom:0}@media screen and (min-width: 40em){.reveal{width:600px;max-width:75rem}}@media screen and (min-width: 40em){.reveal .reveal{left:auto;right:auto;margin:0 auto}}.reveal.collapse{padding:0}@media screen and (min-width: 40em){.reveal.tiny{width:30%;max-width:75rem}}@media screen and (min-width: 40em){.reveal.small{width:50%;max-width:75rem}}@media screen and (min-width: 40em){.reveal.large{width:90%;max-width:75rem}}.reveal.full{top:0;left:0;width:100%;height:100%;height:100vh;min-height:100vh;max-width:none;margin-left:0;border:0;border-radius:0}@media screen and (max-width: 39.9375em){.reveal{top:0;left:0;width:100%;height:100%;height:100vh;min-height:100vh;max-width:none;margin-left:0;border:0;border-radius:0}}.reveal.without-overlay{position:fixed}.row{margin:0 auto;width:100%;max-width:1080px}.row.wide{max-width:1350px}.row.narrow{max-width:810px}@media (min-width: 48em){.row .row [class*='col-']:nth-of-type(1){margin-left:-.975em}.row .row [class*='col-']:last-of-type{margin-right:-.975em;float:right}}[class*='col-']{width:100%;float:left;min-height:.025em;padding:.975em}.switch [class*='col-']{float:right}@media (min-width: 48em){.col-1{width:8.33333%}.col-2{width:16.66667%}.col-3{width:25%}.col-4{width:33.33333%}.col-5{width:41.66667%}.col-6{width:50%}.col-7{width:58.33333%}.col-8{width:66.66667%}.col-9{width:75%}.col-10{width:83.33333%}.col-11{width:91.66667%}.col-12{width:100%}}@media (min-width: 70em){.large-1{width:8.33333%}.large-2{width:16.66667%}.large-3{width:25%}.large-4{width:33.33333%}.large-5{width:41.66667%}.large-6{width:50%}.large-7{width:58.33333%}.large-8{width:66.66667%}.large-9{width:75%}.large-10{width:83.33333%}.large-11{width:91.66667%}.large-12{width:100%}}@media (max-width: 47.975em){.mobile-quarter{width:25%}}@media (max-width: 47.975em){.mobile-third{width:33.3333%}}@media (max-width: 47.975em){.mobile-fifty{width:50%}}@media (min-width: 48em){[class*='col-'].is-end{float:right}}@media (min-width: 48em){[class*='col-'].is-single{margin:0 auto;float:none;clear:both}}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}.row:before,.row:after{content:" ";display:table}.row:after{clear:both}section#display-properties{position:relative;z-index:100;max-width:1180px;margin:0 auto;-ms-transform:translateY(2rem);transform:translateY(2rem)}section#display-properties .is-rp-fp{background-color:transparent !important;min-height:425px}section#display-properties .is-rp-fp figure{background-color:#e2e2e2;margin-bottom:1rem}section#display-properties .is-rp-fp h4{color:#1c315c;font-family:"Cantata One",Georgia,"Times New Roman",serif !important;text-transform:capitalize;font-weight:600;letter-spacing:normal;padding-bottom:0.25rem}section#display-properties .is-rp-fp .feat-rp-neighborhood{text-transform:uppercase !important;font-size:0.9rem;color:#505050;font-family:"Lato","HelveticaNeue","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400}section#display-properties .is-rp-fp .rp-fp-details{background-color:#fff !important}section#display-properties .is-rp-fp .rp-fp-details h4{min-height:72px}section#display-properties .is-rp-fp .rp-fp-details .amenity-list{display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around;padding:1.5rem 0}section#display-properties .is-rp-fp .rp-fp-details .amenity-list .header-amenity{padding-top:8px;position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;-ms-flex-direction:column;flex-direction:column;-ms-flex:1;flex:1}section#display-properties .is-rp-fp .rp-fp-details .amenity-list .header-amenity:after{content:'';position:absolute;height:100%;width:2px;right:-1px;background-color:#cd9f39}section#display-properties .is-rp-fp .rp-fp-details .amenity-list .header-amenity:last-child:after{content:none}section#display-properties .is-rp-fp .rp-fp-details .amenity-list .icon{display:block}section#display-properties .is-rp-fp .rp-fp-details .amenity-list .icon svg{height:25px;width:auto}section#display-properties .is-rp-fp .rp-fp-details .amenity-list .amenity-text{font-size:0.75rem}section#display-properties .is-rp-fp .prop-link{color:#cd9f39;text-transform:uppercase;font-size:0.9rem;font-weight:bold}#display-properties+#main-footer{padding-top:6rem}.has-bg-img{background-size:cover;background-repeat:no-repeat;background-position:center center}.mobile-only{margin:0;line-height:0;padding:0}@media (min-width: 48em){.mobile-only{display:none}}[class*="righty-tabs-"]{margin:.975em 0}@media (min-width: 48em){[class*="righty-tabs-"]{text-align:left}}[class*="righty-tabs-"] input[type=radio]{display:none}[class*="righty-tabs-"] input[type="checkbox"]+label,[class*="righty-tabs-"] input[type="radio"]+label{margin-left:0}[class*="righty-tabs-"] label{font-family:"Lato","HelveticaNeue","Helvetica Neue",Helvetica,Arial,sans-serif;cursor:pointer;display:inline-block;font-weight:bold;padding:0 1.5rem;margin-right:1rem;text-align:center;line-height:3em;border-radius:25px;transition:background 0.2s ease-in-out, height 0.2s linear}[class*="righty-tabs-"] label:last-of-type{border-bottom:none}[class*="righty-tabs-"] label:hover{background:#eaeaea}@media (min-width: 48em){[class*="righty-tabs-"] label{width:auto;border-bottom:none}}#tab1:checked+label,#tab2:checked+label,#tab3:checked+label,#tab4:checked+label,#tab5:checked+label{background:#e2e2e2;transition:background 0.2s ease-in-out, height 0.2s linear}#tab1:checked+label:hover,#tab2:checked+label:hover,#tab3:checked+label:hover,#tab4:checked+label:hover,#tab5:checked+label:hover{background:#eaeaea}.tab-body{position:absolute;top:-9999px;opacity:1;padding:2em}@media (min-width: 48em){.tab-body{overflow:hidden}}.single-properties .tab-body-wrapper .tab-body{padding:1em 2em;position:relative;top:auto}@media (min-width: 48em){.single-properties .tab-body-wrapper .tab-body{overflow:inherit}}.single-properties .tab-body-wrapper p{margin-bottom:1rem;padding-bottom:0.5rem;position:relative}.single-properties .tab-body-wrapper p strong{font-size:1.25rem;font-family:'Cantata One';font-weight:400}.single-properties .tab-body-wrapper p:after{content:'';position:absolute;bottom:-3px;left:0;width:50%;height:4px;background-color:#cd9f39}.single-properties .tab-body-wrapper li{position:relative;list-style-type:none;padding-left:1rem}.single-properties .tab-body-wrapper li:before{content:'';position:absolute;left:0;height:8px;width:8px;background-color:#1c315c;border-radius:50%;top:11px}.single-properties .righty-tabs-2 label{display:none}.tab-body-wrapper{background:#f6f6f6;clear:both}@media (min-width: 48em){.tab-body-wrapper ul{columns:2;list-style-type:disc;text-align:left}}#tab1:checked ~ .tab-body-wrapper #tab-body-1,#tab2:checked ~ .tab-body-wrapper #tab-body-2,#tab3:checked ~ .tab-body-wrapper #tab-body-3,#tab4:checked ~ .tab-body-wrapper #tab-body-4{position:relative;top:0px;opacity:1}.slick-prev{left:25px !important;z-index:10}.slick-next{right:25px !important}.slick-next:before,.slick-prev:before{font-family:'Font Awesome 5 Free';font-size:24px;line-height:1;opacity:.75;color:#cd9f39;font-weight:900;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.slick-prev::before{content:'\f104' !important}.slick-next::before{content:'\f105' !important}.page-id-41 .et_pb_team_member_image{height:325px;overflow:hidden;margin:0 auto !important;padding:0 !important;transition:all 200ms ease-in-out}.side-x-side-list ul{overflow:hidden;margin-left:0;padding-left:0}.side-x-side-list li{float:left;width:50%;display:block}.side-x-side-list li strong{display:block;line-height:1}#development-loop .et_pb_portfolio_filters{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end}#development-loop .et_pb_filterable_portfolio .et_pb_portofolio_pagination{border-top:1px solid #ffffff}@media (min-width: 981px){.et_pb_portfolio_item.et_pb_grid_item{width:33.3333% !important;margin:0 !important;padding:0 1rem}}#awards .et_pb_image_wrap img{max-width:150px}.awards-slider .slick-dots li{width:100px !important}.awards-slider .slick-dots button:before{content:'';font-family:none;width:100px !important}.modal-form{display:none}.custom-filter-grid .et_portfolio_image{display:block;position:relative;height:225px}.custom-filter-grid .et_portfolio_image img{height:225px;max-width:none;object-fit:cover}.custom-filter-grid .entry-title{background-color:#fff;padding:1rem !important;text-align:center;width:100%;transition:min-height 200ms ease-in-out;margin-top:0 !important}#rp-archive-fp-sidebar .rp-archive-fp-is-filter-module .rp-module-wrapper{max-height:2000px !important}@media (max-width: 767px){.et_pb_column .et_pb_grid_item.et_pb_portfolio_item:nth-child(3n),.et_pb_column .et_pb_shop_grid .woocommerce ul.products li.product:nth-child(3n){margin-right:0}}.is-rp-fp figure,.is-rp-fp .rp-prop-figure{overflow:hidden}.is-rp-fp figure img,.is-rp-fp .rp-prop-figure img{min-height:250px;object-fit:cover}@media (min-width: 31.25em){#display-properties .is-rp-fp{height:auto}}#display-properties .is-rp-fp a{background-color:#fff;display:block;box-shadow:0 7px 1rem -2px rgba(0,0,0,0);transition:all 200ms ease-in-out}#display-properties .is-rp-fp a:hover{box-shadow:0 7px 1rem -2px rgba(0,0,0,0.375)}#display-properties .is-rp-fp:hover{box-shadow:0 7px 1rem -2px rgba(0,0,0,0)}.page-id-43 .et_pb_portfolio_filters.clearfix select{background-color:#f6f6f6;padding:0.5rem;text-transform:uppercase;border:none;color:#1c305c}@media (min-width: 981px){.page-id-43 .et_pb_portfolio_items .et_pb_grid_item:nth-child(4n+1){clear:none}.page-id-43 .et_pb_portfolio_items .et_pb_grid_item .entry-title{font-size:26px}.page-id-43 .et_pb_portfolio_items .et_pb_grid_item p.post-meta{position:absolute;bottom:155px;top:auto}.page-id-43 .et_pb_portfolio_items .et_pb_portfolio_item{padding-left:0;padding-right:0;border:10px solid #f6f6f6}.page-id-43 .et_pb_portfolio_items .et_pb_portfolio_item .et_portfolio_image{max-height:225px;margin-bottom:1.5rem}.page-id-43 .et_pb_portfolio_items .et_pb_portfolio_item .et_portfolio_image img{height:225px;object-fit:cover}}.page-id-43 .et_pb_portfolio_items .et_pb_portfolio_item{position:relative}@media (min-width: 767px){.page-id-43 .et_pb_portfolio_items .et_pb_portfolio_item{max-width:50%;float:left;min-height:475px}}@media (min-width: 767px){.page-id-43 .et_pb_portfolio_items .et_pb_portfolio_item{max-width:33.3333%}}.page-id-43 .et_pb_portfolio_items .et_pb_portfolio_item>a:not(.more-link){height:225px;margin-bottom:1.5rem}.page-id-43 .et_pb_portfolio_items .et_pb_portfolio_item .et_portfolio_image{max-height:225px}.page-id-43 .et_pb_portfolio_items .et_pb_portfolio_item .et_portfolio_image img{height:225px;object-fit:cover}.page-id-43 .et_pb_portfolio_items .et_pb_portfolio_item .entry-title{font-size:18px;min-height:75px}.page-id-43 .et_pb_portfolio_items .et_pb_portfolio_item .entry-title,.page-id-43 .et_pb_portfolio_items .et_pb_portfolio_item .post-meta{padding-left:1.5rem;padding-right:1.5rem}.page-id-43 .et_pb_portfolio_items .et_pb_portfolio_item p.post-meta{background-color:#cd9f39;color:#fff}.page-id-43 .et_pb_portfolio_items .et_pb_portfolio_item p.post-meta span{color:#fff}.page-id-43 .et_pb_portfolio_items .et_pb_portfolio_item p.post-meta span a{color:#fff}.page-id-43 .et_pb_portfolio_items .et_pb_portfolio_item .more-link{text-transform:uppercase;font-family:"Lato","HelveticaNeue","Helvetica Neue",Helvetica,Arial,sans-serif;padding:1rem 1.5rem;letter-spacing:2px;font-size:14px;display:block}#commentform p.form-submit input{color:#fff;font-size:14px}.post-template .et_pb_row,.post-template-template-divi .et_pb_row{padding-right:30px;padding-left:30px}#neighborhood-icon-list{font-size:0;color:transparent}#neighborhood-icon-list a{display:block;float:left;color:#505050 !important;width:50%;font-size:1rem;pointer-events:none}#neighborhood-icon-list a:before{content:'\f0a3';font-family:'FontAwesome';display:inline-block;margin-right:10px;color:#1c305c}#neighborhood-icon-list a:nth-of-type(2n+3){clear:left}#neighborhood-icon-list a[href*='active']:before{content:'\f206'}#neighborhood-icon-list a[href*='art-scene']:before{content:'\f1fc'}#neighborhood-icon-list a[href*='artistic']:before{content:'\f1fc'}#neighborhood-icon-list a[href*='artsy']:before{content:'\f1fc'}#neighborhood-icon-list a[href*='bike-friendly']:before{content:'\f206'}#neighborhood-icon-list a[href*='centrally-located']:before{content:'\f041'}#neighborhood-icon-list a[href*='dining']:before{content:'\f0f5'}#neighborhood-icon-list a[href*='dining']:before{content:'\f0f5'}#neighborhood-icon-list a[href*='great-transit']:before{content:'\f207'}#neighborhood-icon-list a[href*='hip']:before{content:'\f0a3'}#neighborhood-icon-list a[href*='historic']:before{content:'\f1ad'}#neighborhood-icon-list a[href*='intersting-architecture']:before{content:'\f0f7'}#neighborhood-icon-list a[href*='lively']:before{content:'\f000'}#neighborhood-icon-list a[href*='loved-by-washingtonians']:before{content:'\f004'}#neighborhood-icon-list a[href*='national-zoo']:before{content:'\024'}#neighborhood-icon-list a[href*='nightlife']:before{content:'\f000'}#neighborhood-icon-list a[href*='on-the-mall']:before{content:'\f1ad'}#neighborhood-icon-list a[href*='peace-and-quiet']:before{content:'\f0a3'}#neighborhood-icon-list a[href*='residential']:before{content:'\f1bb'}#neighborhood-icon-list a[href*='scenic']:before{content:'\f03e'}#neighborhood-icon-list a[href*='shopping']:before{content:'\f290'}#neighborhood-icon-list a[href*='suburban']:before{content:'\f015'}#neighborhood-icon-list a[href*='tight-knit']:before{content:'\f03e'}#neighborhood-icon-list a[href*='touristy']:before{content:'\f083'}#neighborhood-icon-list a[href*='up-and-coming']:before{content:'\f271'}#neighborhood-icon-list a[href*='walkable']:before{content:'\f277'}#page-nav{position:-webkit-sticky;position:sticky}.single-neighborhoods .wpgmp_tabs_container.cleanslate{position:absolute;left:0;width:100% !important;max-width:100%;height:110px;top:100%;box-shadow:none}.single-neighborhoods .wpgmp_tabs_container .wpgmp_tabs li a.active{background:#1c315c;display:none !important}.single-neighborhoods .wpgmp_toggle_main_container .wpgmp_tab_item{display:inline-block;margin-right:2rem;border:none}.single-neighborhoods .wpgmp_toggle_main_container{text-align:center}.single-neighborhoods .wpgmp_tabs_container{background:#1c315c}.single-neighborhoods .wpgmp_toggle_main_container .wpgmp_tab_item input[type="checkbox"]{border:none;background-color:skyblue}.single-neighborhoods .wpgmp_tab_item a{color:#fff !important;text-transform:uppercase !important;font-size:0.9rem !important;pointer-events:none}.single-neighborhoods .wpgmp_tab_item:hover a{transition:none;margin:0}.wpgmp_toggle_container{display:none}.wpgmp_tabs_container .wpgmp_tabs,.wpgmp_toggle_container{background:#1c315c !important}.wpgmp_tab_item span.arrow{display:none !important}@media (min-width: 981px){.single-neighborhoods .et_pb_gutters3.et-db #et-boc .et_pb_column_4_4 .et_pb_grid_item:nth-child(4n+1){clear:none !important}.single-neighborhoods .et_pb_portfolio_item{min-height:325px}.single-neighborhoods .et_pb_portfolio_item:nth-child(4n+1){clear:none !important}}.single-neighborhoods .header-content-container h1,.single-neighborhoods .header-content-container .et_pb_fullwidth_header_subhead{font-size:2.5rem;max-width:500px;text-align:center;margin:0 auto;font-family:'Cantata One',Georgia,"Times New Roman",serif}.single-neighborhoods .header-content-container .et_pb_fullwidth_header_subhead{font-size:3.5rem}@media (max-width: 680px){.et_pb_column .et_pb_grid_item.et_pb_portfolio_item{float:none !important;width:100% !important;margin:0 0 2rem !important}}.custom-filter-grid .et_pb_grid_item{padding:0 !important;border:1rem solid #f5f5f5;background-color:#fff;text-align:center;min-height:425px;overflow:hidden}@media (max-width: 680px){.custom-filter-grid .et_pb_grid_item{float:none !important;width:100% !important;margin:0 0 2rem !important}}.custom-filter-grid .is-term{display:inline-block}.custom-filter-grid .is-term:not(:last-child):after{content:','}@media (max-width: 680px){.custom-filter-grid .et_pb_grid_item .term-wrapper{-ms-transform:scale(0) translateY(0);transform:scale(0) translateY(0);padding:1rem;opacity:0;-ms-transform-origin:bottom;transform-origin:bottom;transition:opacity 300ms ease-in-out}}.custom-filter-grid .et_pb_grid_item:hover .term-wrapper{-ms-transform:scale(1) translateY(-1rem);transform:scale(1) translateY(-1rem);opacity:1}.custom-filter-grid .et_pb_grid_item .is-term{font-size:0.9;line-height:1;margin-left:0.5rem}.custom-filter-grid .et_pb_grid_item .entry-title:after{content:'$';display:block;font-family:ETmodules;text-align:center;color:#cd9f39;font-size:0;line-height:0;opacity:0;-ms-transform:scale(0);transform:scale(0);-ms-transform:translateY(0);transform:translateY(0);transition-property:all;transition-duration:0.5s;transition-timing-function:cubic-bezier(0, 1, 0.5, 1)}.custom-filter-grid .et_pb_grid_item:hover .entry-title:after{opacity:1;-ms-transform:scale(1);transform:scale(1);-ms-transform:translateY(-1.75rem);transform:translateY(-1.75rem);font-size:1.875rem}.custom-filter-grid .et_pb_grid_item .entry-title{padding:0 !important}.custom-filter-grid .et_pb_grid_item .entry-title a{display:block;padding:1rem;background-color:#fff}.custom-filter-grid .et_pb_grid_item .entry-title a{transition-property:all;transition-duration:0.5s;-ms-transform:translateY(2rem);transform:translateY(2rem);transition-timing-function:cubic-bezier(0, 1, 0.5, 1);-ms-transform-origin:bottom;transform-origin:bottom}.custom-filter-grid .et_pb_grid_item:hover .entry-title a{-ms-transform:translateY(-2rem);transform:translateY(-2rem)}@media (max-width: 980px){.et-db #et-boc #getting-around{background-image:none !important}.et-db #et-boc #overview{background-image:none !important}}@media (min-width: 981px){.page-id-32 .et_pb_filterable_portfolio .et_pb_grid_item:nth-child(4n+1),.page-id-32 .et_pb_dpblog_portfolio .et_pb_grid_item:nth-child(4n+1){clear:none !important}.page-id-32 .et_pb_portfolio_item.et_pb_grid_item{margin-bottom:2rem !important}}div#neighborhoodArchiveAmenityNav ul{display:block;margin:0 auto;padding:0;list-style-type:none;max-width:800px;text-align:center}div#neighborhoodArchiveAmenityNav ul li{font-size:16px;padding:0.375rem 0.5rem !important;border-radius:30px;margin-bottom:1rem;margin-right:0;display:inline-block !important}@media (min-width: 981px){div#neighborhoodArchiveAmenityNav ul li{font-size:20px;padding:0.375rem 1.25rem !important;margin-right:1rem}}div#neighborhoodArchiveAmenityNav ul li span{color:#1c315c;display:inline-block;margin-right:0.5rem;-ms-transform:scale(1.1);transform:scale(1.1)}div#neighborhoodArchiveAmenityNav ul li.mixitup-control-active{background-color:#dedede}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCJnbG9iYWwvX3ZhcnMuc2NzcyIsImdsb2JhbC9fdHlwZS5zY3NzIiwiZ2xvYmFsL19wYWdlLnNjc3MiLCJnbG9iYWwvX2hlYWRlci5zY3NzIiwiZ2xvYmFsL19mb290ZXIuc2NzcyIsIm5nLXRhZ3MtaW5wdXQubWluLnNjc3MiLCJmb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCJmb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCJmb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsImdsb2JhbC9fZ3JpZC5zY3NzIiwibW9kdWxlcy9fbW9kdWxlcy5zY3NzIiwidGVtcGxhdGVzL19ibG9nLnNjc3MiLCJ0ZW1wbGF0ZXMvX25laWdoYm9yaG9vZC1zaW5nbGUuc2NzcyIsInRlbXBsYXRlcy9fZGV2ZWxvcG1lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7RUFRRSxjQzhCRSwyREFDQSwwQkFBMkIsQ0FDOUIsS0NyQ0EsY0FBYyxDQUNkLEdBR0EsMERBSUEsaUJBQWtCLENBSGxCLHlCQUZELEdBR0UsaUJBQWtCLENBR25CLENBRUQsR0FDQywwREFJQSxpQkFBa0IsQ0FIbEIseUJBRkQsR0FHRSxhQUFjLENBR2YsQ0FFRCxHQUNDLDBEQUlBLGlCQUFrQixDQUhsQix5QkFGRCxHQUdFLGlCQUFrQixDQUduQixDQUVELEdBQ0MsMENBQ0EseUJBQ0Esb0JBSUEsYUFBYyxDQUhkLHlCQUpELEdBS0UsYUFBYyxDQUdmLENBRUQsTUFDQyxjQUNBLGtCQUVBLHdCQUNBLHlCQUNBLHFEQUFzRCxDQUV0RCxjQUdBLDJCQUE0QixDQUM1QixtQ0FHRyxxQkFBc0IsQ0FDekIsZ0RBR0csc0JBQ0EseUJBQ0YsaUJBQWtCLENBQ25CLHNDQUdDLGVBQWdCLENBQ2pC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RSxzQkFDQSxzQkFDQSwwQkFBMkIsQ0FFNUIsQ0FFRCw2QkFFRSxvQkFBcUIsQ0FGdkIsb0RBS0csV0FBWSxDQUNaLDBCQVdILG1EQUdFLHFDQUFBLEFBQ0EsaUNBQUEsYUFDQSxVQUNBLDRCQUFBLEFBRUEsd0JBQUEsb0NBQXFDLENBR3RDLENBRUQseURBRUMseUNBQUEsQUFDQSxxQ0FBQSxTQUFVLENBQ1YsOENBS0EsY0FDQSxjQUVBLGtCQUFtQixDQUduQix3REFVQSxZQUNBLGNBQ0Esc0JBQ0csa0JBQ0EsY0FDQSxZQUNBLGNBQ0gsVUFDQSx1QkFBQSxBQUNBLG1CQUFBLDRCQUFBLEFBQ0csd0JBQUEsd0JBQ0EseUJBQ0EscURBQXNELENBQ3pELDhEQUdBLFVBQ0EsdUJBQUEsQUFDQSxtQkFBQSxtQ0FBQSxBQUNHLCtCQUFBLGtCQUFtQixDQUN0QixrREFHQSxvQkFBb0IsQ0FDcEIsb0RBR0EsY0FDQSxhQUNBLHFCQUFxQixDQUh0QixvREFPQyx3QkFDRyx5QkFDQSwrQkFBQSxBQUNBLDJCQUFBLHNEQUNILDRCQUFBLEFBQXdCLHVCQUFBLENBQ3hCLDBEQUdBLGdDQUFBLEFBQTRCLDJCQUFBLENBQzVCLDBCQU9BLCtCQUNJLGdDQUFpQyxDQUNwQyx5QkFHRyxnQ0FBaUMsQ0FDcEMsQ0NyWUYsMEJBQ0EsOElBQ0kscUJBQXNCLENBQ3hCLGtEQUdFLDZCQUE4QixDQUNoQyxDQUdGLHFDQUNJLGNBQ0EsY0FDQSxVQUNBLHFCQUNBLGdCQUNGLGlCQUFrQixDQUNuQix3Q0FHQSxlQUNHLG1DQUNBLG1CQUNBLG1CQUNBLGVBQ0EsK0JBQWdDLENBQ2hDLDBCQVBKLHdDQVFLLGVBQ0gsb0NBQ0EsaUJBQWlCLENBRWxCLENBRUQsNkNBQ0MsY0FDQSxxQkFDQSxvQkFDQSx5QkFBQSxBQUFxQixvQkFBQSxDQUNyQiwrREFHQSx3QkFBeUIsQ0FDekIiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gVGhlbWUgTmFtZTogICAgIDMwIExpbmVzXG4gVGhlbWUgVVJJOiAgICAgIGh0dHA6Ly8zMGxpbmVzLmNvbVxuIERlc2NyaXB0aW9uOiAgICBBbm90aGVyIGF3ZXNvbWUgd2Vic2l0ZSBieSAzMCBMaW5lcywgYnVpbHQgd2l0aCBjYXJlIGluIENvbHVtYnVzLCBPaGlvLlxuIEF1dGhvcjogICAgICAgICAzMCBMaW5lc1xuIEF1dGhvciBVUkk6ICAgICBodHRwOi8vMzBsaW5lcy5jb21cbiBUZW1wbGF0ZTogICAgICAgRGl2aVxuIFZlcnNpb246ICAgICAgICAxLjAuMFxuKi9cblxuQGltcG9ydCBcImdsb2JhbC92YXJzXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL3R5cGVcIjtcbkBpbXBvcnQgXCJnbG9iYWwvcGFnZVwiO1xuQGltcG9ydCBcImdsb2JhbC9oZWFkZXJcIjtcbkBpbXBvcnQgXCJnbG9iYWwvZm9vdGVyXCI7XG5cbkBpbXBvcnQgXCJuZy10YWdzLWlucHV0Lm1pblwiO1xuQGltcG9ydCBcImZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL3V0aWxcIjtcbkBpbXBvcnQgXCJmb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ2xvYmFsXCI7XG5AaW1wb3J0IFwiZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvcmV2ZWFsXCI7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcblxuQGltcG9ydCBcImdsb2JhbC9ncmlkXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9tb2R1bGVzXCI7XG5cbi8vIEBpbXBvcnQgXCJ0ZW1wbGF0ZXMvc2luZ2xlLXByb3BcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvYmxvZ1wiO1xuQGltcG9ydCBcInRlbXBsYXRlcy9uZWlnaGJvcmhvb2Qtc2luZ2xlXCI7XG4vLyBAaW1wb3J0IFwidGVtcGxhdGVzL3NlYXJjaFwiO1xuQGltcG9ydCBcInRlbXBsYXRlcy9kZXZlbG9wbWVudFwiO1xuXG4iLCIvL192YXJzLnNjc3NcblxuJGFjY2VudC1jb2xvcjojY2Q5ZjM5OyAvL29yYW5nZVxuJHByaW1hcnktY29sb3I6IzFjMzE1YzsgLy9uYXZ5XG4kbGlnaHQtZ3JheTojZTJlMmUyO1xuJHdoaXRlOiAjZmZmO1xuJG1lZC1ncmF5OiAjYjdiN2I3O1xuJG9mZndoaXRlOiNmNmY2ZjY7XG5cbiRkYXJrLWdyYXk6IzUwNTA1MDtcblxuJGZvbnQtc2VyaWY6ICdDYW50YXRhIE9uZScsR2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjtcbiRmb250LXNhbnM6IFwiTGF0b1wiLCBcIkhlbHZldGljYU5ldWVcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4kYW5pbWU6IGFsbCAyMDBtcyBlYXNlLWluLW91dDtcblxuLy8gJHNtYWxsOiA0ODBweDtcbi8vICRtZWRpdW06IDk4MXB4O1xuLy8gJGxhcmdlOiAxMzUwcHg7XG5cbiRvbmU6IDAuMDI1ZW07XG5cbiRzbWFsbDogMjBlbTsgLy8zMjBweFxuJG1lZGl1bTogNDhlbTsgLy83NjhweFxuJGxhcmdlOiA3MGVtO1xuJHhsYXJnZTogODBlbTtcbi8vICR4eGxhcmdlOiA3OGVtO1xuXG4kbWF4LW1lZGl1bTogKCRtZWRpdW0gLSAkb25lKTtcbiRtYXgtbGFyZ2U6ICgkbGFyZ2UgLSAkb25lKTtcbiRtYXgteGxhcmdlOiAoJHhsYXJnZSAtICRvbmUpO1xuXG4kZ3JpZC1jb2x1bW5zOiAxMjtcbiRjb250YWluZXItd2lkdGg6IDEwODBweCAhZGVmYXVsdDsgLy8xMDAwcHhcbiRndXR0ZXI6IDAuOTc1ZW0gIWRlZmF1bHQ7XG4kY29sLXdpZHRoOiAxMDAlO1xuXG4uZmEsIC5mYXIsIC5mYXMge1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIiwnRm9udEF3ZXNvbWUnICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDkwMCAhaW1wb3J0YW50O1xufSIsIi8vX3R5cGUuc2Nzc1xuXG5ib2R5e1xuXHRmb250LXNpemU6MTZweDtcbn1cblxuaDEge1xuXHRmb250LWZhbWlseTonQ2FudGF0YSBPbmUnLEdlb3JnaWEsXCJUaW1lcyBOZXcgUm9tYW5cIixzZXJpZjtcblx0QG1lZGlhIChtaW4td2lkdGg6ICRsYXJnZSkge1xuXHRcdGZvbnQtc2l6ZTogMy43NTBlbTtcblx0fVxuXHRsaW5lLWhlaWdodDogMS4yZW07XG59XG5cbmgyIHtcblx0Zm9udC1mYW1pbHk6J0NhbnRhdGEgT25lJyxHZW9yZ2lhLFwiVGltZXMgTmV3IFJvbWFuXCIsc2VyaWY7XG5cdEBtZWRpYSAobWluLXdpZHRoOiAkbGFyZ2UpIHtcblx0XHRmb250LXNpemU6IDNlbTtcblx0fVxuXHRsaW5lLWhlaWdodDogMS4yZW07XG59XG5cbmgzIHtcblx0Zm9udC1mYW1pbHk6J0NhbnRhdGEgT25lJyxHZW9yZ2lhLFwiVGltZXMgTmV3IFJvbWFuXCIsc2VyaWY7XG5cdEBtZWRpYSAobWluLXdpZHRoOiAkbGFyZ2UpIHtcblx0XHRmb250LXNpemU6IDEuODc1ZW07XG5cdH1cblx0bGluZS1oZWlnaHQ6IDEuMmVtO1xufVxuXG5oNCB7XG5cdGZvbnQtZmFtaWx5OiAnTGF0bycsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0bGV0dGVyLXNwYWNpbmc6IC4yZW07XG5cdEBtZWRpYSAobWluLXdpZHRoOiAkbGFyZ2UpIHtcblx0XHRmb250LXNpemU6IDFlbTtcblx0fVxuXHRjb2xvcjogI2NkOWYzOTtcbn1cblxuLmljb24ge1xuXHRjb2xvcjogI2NkOWYzOTtcblx0Zm9udC1zaXplOiAxLjg3NWVtO1xuXHQvLyBvcGFjaXR5OiAwO1xuXHR0cmFuc2l0aW9uLXByb3BlcnR5OiBhbGw7XG5cdHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XG5cdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMCwgMSwgMC41LCAxKTtcblxufVxuXG4uZXRfcGJfYnV0dG9uIHtcblx0bGluZS1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbn1cblxuLmZ1bGwtd2lkdGgtaGVhZGVyLW9mZnNldCBhLmJ1dHRvbiB7XG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLmZ1bGwtd2lkdGgtaGVhZGVyLW9mZnNldCBhLmJ1dHRvbi5pcy1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgY29sb3I6ICNjZDlmMzkgIWltcG9ydGFudDtcblx0XHRib3JkZXItY29sb3I6ICNmZmY7XG59XG5cbi5mdWxsLXdpZHRoLWhlYWRlci1vZmZzZXQgLnByb3AtY3RhIHAge1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG59XG5cblxuXG5cbi5idXR0b24uaXMtcGlsbCB7XG5cdHBhZGRpbmc6IDAuNzVyZW0gMnJlbSAhaW1wb3J0YW50O1xuXHRjb2xvcjojZmZmO1xufVxuLmJ1dHRvbi5pcy1waWxsOmhvdmVyIHtcbiAgICBjb2xvcjogI2NkOWYzOSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZDlmMzkgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDJyZW0gIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG5cbi5zZWNvbmRhcnktYnV0dG9uIHtcblx0Zm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHQvLyBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcbn1cblxuLnNlY29uZGFyeS1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4uZ2Zvcm1fYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWNvbG9yO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDEuNXJlbTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LWZhbWlseTogJGZvbnQtc2FucztcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuYnV0dG9uLmNsb3NlLWJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5cbi5wcm9wLWNvbnRhY3QtZm9ybSB7XG4gICAgY2xlYXI6IGJvdGg7XG59XG5cbiIsIi8vX3BhZ2Uuc2Nzc1xuXG4uaG9tZSB7XG4gICAgLmhvbWUtY3VzdG9tLW5laWdoYm9yaG9vZC1zZWN0aW9uIHtcbiAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDY2cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgaDQge1xuICAgICAgICAgICAgbWluLWhlaWdodDogNjBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi5wcmltYXJ5LXBhZ2UtaGVybyAuZXRfcGJfZnVsbHdpZHRoX2hlYWRlciB7XG4gICAgcGFkZGluZzogNnJlbSAwIDhyZW0gIWltcG9ydGFudDtcblxuICAgIC5ldF9wYl9tb2R1bGVfaGVhZGVyIHtcbiAgICBcdGZvbnQtc2l6ZTogMXJlbTtcbiAgICBcdGNvbG9yOiAkYWNjZW50LWNvbG9yO1xuICAgIH1cbiAgICAuZXRfcGJfZnVsbHdpZHRoX2hlYWRlcl9zdWJoZWFkIHtcblxuICAgIH1cbn1cblxuLmRzLXZlcnRpY2FsLWFsaWduIHsgXG5cdGRpc3BsYXk6IGZsZXg7IFxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5mbG9hdCB7XG4gIC8vIC13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2Utb3V0O1xuICAvLyAtbW96LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLW91dDtcbiAgLy8gLW1zLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLW91dDtcbiAgLy8gLW8tdHJhbnNpdGlvbjphbGwgLjNzIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1vdXQ7XG59XG5cbi5mbG9hdDpob3ZlciB7XG4gIC8vIC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwcHgsLTEwcHgpO1xuICAvLyAtbW96LXRyYW5zZm9ybTp0cmFuc2xhdGUoMHB4LC0xMHB4KTtcbiAgLy8gLW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoMHB4LC0xMHB4KTtcbiAgLy8gLW8tdHJhbnNmb3JtOnRyYW5zbGF0ZSgwcHgsLTEwcHgpO1xuICB0cmFuc2Zvcm06dHJhbnNsYXRlKDBweCwtMTBweCk7XG59XG5cbi5mbG9hdDpob3ZlciAuaWNvbiB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi8vIExFQURFUlNISVBcbi5wYWdlLWlkLTQxIC5ldF9wYl9tb2R1bGUuZXRfcGJfdGVhbV9tZW1iZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wYWdlLWlkLTQxIC5ldF9wYl90ZWFtX21lbWJlcl9pbWFnZSBpbWcge1xuXHRoZWlnaHQ6IDMyNXB4O1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgd2lkdGg6IDMyNXB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO1xuLyogXHR0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1pbi1vdXQ7ICovXG59XG5cbm5hdiNsZWFkZXJzaGlwTmF2IGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogIzExMTtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbSAwLjZyZW07XG4vKiAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYzsgKi9cbiAgICBtYXJnaW46IDAuMjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcblx0XHRsaW5lLWhlaWdodDoxO1xufVxubmF2I2xlYWRlcnNoaXBOYXYgYTpob3ZlcixuYXYjbGVhZGVyc2hpcE5hdiBhLmFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICNkZWRlZGU7XG59XG5uYXYjbGVhZGVyc2hpcE5hdiBiciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBhZ2UtaWQtNDEgLmV0X3BiX21vZHVsZS5ldF9wYl90ZWFtX21lbWJlciB7XG5cdFx0bWFyZ2luLWJvdHRvbToxMDBweCAhaW1wb3J0YW50O1xuXHRtYXJnaW4tdG9wOiA1MHB4O1xufVxuXG4ucGFnZS1pZC00MSAuZXRfcGJfbW9kdWxlLmV0X3BiX3RlYW1fbWVtYmVyOmhvdmVyIC5ldF9wYl90ZWFtX21lbWJlcl9pbWFnZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcbn1cblxuLmV0X3BiX3RlYW1fbWVtYmVyX2Rlc2NyaXB0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5ldF9wYl90ZWFtX21lbWJlcl9kZXNjcmlwdGlvbiBwOm5vdCguZXRfcGJfbWVtYmVyX3Bvc2l0aW9uKSB7XG4gICAgbWF4LWhlaWdodDowO1xuXHRcdG9wYWNpdHk6MDtcblx0XHRvdmVyZmxvdzpoaWRkZW47XG5cdFx0dHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2UtaW4tb3V0O1xufVxuXG4uZXRfcGJfbW9kdWxlLmV0X3BiX3RlYW1fbWVtYmVyOmhvdmVyIHAge1xuICAgIG1heC1oZWlnaHQ6NTAwcHg7XG5cdFx0b3BhY2l0eToxO1xuXHR0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XG59XG5cbi5ldF9wYl90ZWFtX21lbWJlcl9kZXNjcmlwdGlvbiB7XG5cdHBhZGRpbmc6IDFyZW07XG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdHRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAyMDBtcyBlYXNlLWluLW91dDtcbn1cbi5ldF9wYl9tb2R1bGUuZXRfcGJfdGVhbV9tZW1iZXI6aG92ZXIgLmV0X3BiX3RlYW1fbWVtYmVyX2Rlc2NyaXB0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWMzMTVjO1xuXHRjb2xvcjojZmZmO1xufVxuXG4uZXRfcGJfdGVhbV9tZW1iZXJfZGVzY3JpcHRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMDA7XG59XG5cbi5ldF9wYl9tb2R1bGUuZXRfcGJfdGVhbV9tZW1iZXI6aG92ZXIgLmV0X3BiX3RlYW1fbWVtYmVyX2Rlc2NyaXB0aW9uOmJlZm9yZSB7XG5cdGNvbnRlbnQ6Jyc7XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHR0b3A6LTMwcHg7XG5cdGxlZnQ6NTAlO1xuXHR3aWR0aDogMDtcblx0aGVpZ2h0OiAwO1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItd2lkdGg6IDAgMjVweCAzMHB4IFx0MjVweDtcblx0dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7XG5cdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzFjMzE1YyB0cmFuc3BhcmVudDtcbn1cblxuLy8gT0ZGU0VUIEdSSURcbi5mdWxsLXdpZHRoLWhlYWRlci1vZmZzZXQgLmJ1dHRvbiB7XG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XG5cdGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjZDlmMzk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNDglO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAvLyBtaW4td2lkdGg6IDE1MHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NkOWYzOTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbjogMCAxJTtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzAwcHgpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG59XG5cbi5mdWxsLXdpZHRoLWhlYWRlci1vZmZzZXQgLmJ1dHRvbi5zZWNvbmRhcnktYnV0dG9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjojZmZmICFpbXBvcnRhbnQ7XG5cdGNvbG9yOiNjZDlmMzkgIWltcG9ydGFudDtcbn1cblxuLnNpbmdsZS1wcm9wLWZvb3Rlci1idXR0b25zIHtcblx0cGFkZGluZzogMXJlbSAycmVtIDZyZW0gIWltcG9ydGFudDtcbn1cblxuLmV0X3BiX21vZHVsZS5wcmltYXJ5LXRleHQtYmFsbG9vbiB7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxYzMxNWM7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgZmxvYXQ6IHJpZ2h0O1xuXHRcdG1hcmdpbi1yaWdodDoxMCU7XG59XG4uZXRfcGJfbW9kdWxlLnByaW1hcnktdGV4dC1iYWxsb29uIGgzIHtcblx0XHRjb2xvcjogI2NkOWYzOTtcbiAgICBmb250LXNpemU6IDI1cHggIWltcG9ydGFudDtcbn1cblxuLmV0X3BiX21vZHVsZS5hY2NlbnQtdGV4dC1iYWxsb29uIHtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgaGVpZ2h0OiAyNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NkOWYzOTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXHQgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICBmbG9hdDogbGVmdDtcblx0XHRtYXJnaW4tdG9wOjEwJTtcbn1cbi5ldF9wYl9tb2R1bGUuYWNjZW50LXRleHQtYmFsbG9vbiBoMyB7XG5cdFx0Y29sb3I6ICMxYzMxNWM7XG4gICAgZm9udC1zaXplOiA0NXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5hYm91dC1zZWN0aW9uLWJsb2NrLTEgLmV0X3BiX21vZHVsZS5zbWFsbC1hY2NlbnQtaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xufVxuXG4uYWJvdXQtc2VjdGlvbi1ibG9jay0yIC5ldF9wYl9tb2R1bGUuc21hbGwtYWNjZW50LWltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cbi5hYm91dC1zZWN0aW9uLWJsb2NrLTEgLmV0X3BiX21vZHVsZS5zbWFsbC1hY2NlbnQtaW1hZ2U6YmVmb3JlLC5hYm91dC1zZWN0aW9uLWJsb2NrLTIgLmV0X3BiX21vZHVsZS5zbWFsbC1hY2NlbnQtaW1hZ2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA1LCAxNTksIDU3LCAwLjcpO1xuICAgIHotaW5kZXg6IDEwO1xufVxuXG4uYWJvdXQtc2VjdGlvbi1ibG9jay0yIC5ldF9wYl9tb2R1bGUuc21hbGwtYWNjZW50LWltYWdlOmJlZm9yZSB7XG5cdGJhY2tncm91bmQtY29sb3I6cmdiYSgyOCwgNDksIDkyLCAwLjcpO1xufVxuXG4uYWJvdXQtc2VjdGlvbi1ibG9jay0xICAuZXRfcGJfYnV0dG9uLC5hYm91dC1zZWN0aW9uLWJsb2NrLTIgLmV0X3BiX2J1dHRvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdHBhZGRpbmc6IDA7XG59XG5cbnVsLmlubGluZS1wYWdlLW5hdiB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxudWwuaW5saW5lLXBhZ2UtbmF2IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuXG51bC5pbmxpbmUtcGFnZS1uYXYgbGkgYSB7XG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmc6MC41cmVtO1xufVxuXG4uYWJvdXQtc2VjdGlvbi1ibG9jay0xIC5ldF9wYl9jb2x1bW5fMV8yOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmc6IDI1MHB4IDA7XG59XG5cbi5hYm91dC1zZWN0aW9uLWJsb2NrLTIgLmV0X3BiX2NvbHVtbl8xXzI6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmc6IDI1MHB4IDA7XG59XG5cbi5hYm91dC1zZWN0aW9uLWJsb2NrLTIgLmV0X3BiX2J1dHRvbiwgLmFib3V0LXNlY3Rpb24tYmxvY2stMSAuZXRfcGJfYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNjZDlmMzkgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmFib3V0LXNlY3Rpb24tYmxvY2stMiAuZXRfcGJfYnV0dG9uOmFmdGVyLCAuYWJvdXQtc2VjdGlvbi1ibG9jay0xIC5ldF9wYl9idXR0b246YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIzXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnRVRtb2R1bGVzJztcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbn1cblxuLmNvdW50ZXItcm93LXdyYXBwZXIgLmV0X3BiX2NvdW50ZXJzIGxpIC5ldF9wYl9jb3VudGVyX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgZm9udC1zaXplOjE2cHggIWltcG9ydGFudDtcbiAgICBcbiAgICBtaW4td2lkdGg6IDI1JTtcbiAgICBtYXgtd2lkdGg6MjUlO1xuICBmbG9hdDogbGVmdDtcbiAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xufVxuXG4uY291bnRlci1yb3ctd3JhcHBlciAuZXRfcGJfY291bnRlcnMgbGk6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogLThweCAwIDE2cHg7XG4gICAgY29sb3I6ICMxYzMxNWM7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOjEycHggIWltcG9ydGFudDtcbiAgICB3aWR0aDogNzUlO1xuICBtYXJnaW4tbGVmdDogMjUlO1xufVxuXG4uY291bnRlci1yb3ctd3JhcHBlciAuZXRfcGJfY291bnRlcnMge1xuICAgIG1heC1oZWlnaHQ6MDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG9wYWNpdHk6MCAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgZWFzZS1pbi1vdXQgIWltcG9ydGFudDtcbn1cblxuLmNvdW50ZXItcm93LXdyYXBwZXIgLmV0X3BiX2NvdW50ZXJzLmlzLWFjdGl2ZSB7XG4gICAgbWF4LWhlaWdodDoxMDAwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBvcGFjaXR5OjEgIWltcG9ydGFudDtcbn1cblxuLmNvdW50ZXItdGFicyBoNCB7XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMC43NXJlbSAycmVtO1xuICAgIG1hcmdpbi1yaWdodDogMnJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmNvdW50ZXItdGFicyBoNC5pcy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWRlZGU7XG59XG5cbi8vY2FyZWVycz9cblxuaDUuZXRfcGJfdG9nZ2xlX3RpdGxlIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMCAhaW1wb3J0YW50O1xufVxuXG4uYWZmaWxpYXRlLWdyaWQgLmV0X3BiX21vZHVsZSB7XG4gICAgbWluLWhlaWdodDogNTUwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZmFuY3ktbGlzdC0xIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIGNvbHVtbnM6IDI7XG59XG5cbi5mYW5jeS1saXN0LTEgdWwgbGl7XG4gICAgYm9yZGVyLWxlZnQ6M3B4IHNvbGlkICNjZDlmMzk7XG4gICAgcGFkZGluZzowIDAuNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbToxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OjEuNFxufVxuXG51bC5ldF9wYl90YWJzX2NvbnRyb2xzOmFmdGVyIHtcbmJvcmRlci1jb2xvcjojZmZmO1xufVxuXG4jY2FyZWVycy1saXN0IC5ldF9wYl90YWJfY29udGVudCB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDowO1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4jY2FyZWVycy1saXN0IC5ldF9wYl90YWJfY29udGVudCBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDElIDIlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOjEwODBweCl7XG4gICAgI2NhcmVlcnMtbGlzdCAuZXRfcGJfdGFiX2NvbnRlbnQgbGkge1xuICAgICAgICB3aWR0aDogMzIuMzMlO1xuICAgIH1cbn1cblxuI2NhcmVlcnMtbGlzdCAuZXRfcGJfdGFiX2NvbnRlbnQgbGkgaSB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBjb2xvcjogI2NkOWYzOTtcbiAgICBtYXJnaW4tcmlnaHQ6MC41cmVtO1xufVxuXG4uZXRfcGJfdGVzdGltb25pYWxfZGVzY3JpcHRpb25faW5uZXIgaSB7XG4gICAgY29sb3I6IzFjMzA1YztcbiAgICBmb250LXNpemU6IDMwcHg7XG59XG5cbiNqb2JzX3dpZGdldF9jb250YWluZXIge1xuICAgIGZvbnQtZmFtaWx5OidMYXRvJywgSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7XG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNiAhaW1wb3J0YW50O1xufVxuXG4jam9ic1RhYmxlIHRkIHtcbiAgICBwYWRkaW5nOiAxMnB4IDhweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCAjZjZmNmY2ICFpbXBvcnRhbnQ7XG59XG5cbiNqb2JzX3dpZGdldF9jb250YWluZXIgI2pvYnNUYWJsZSB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFjMzA1YyAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMTJweCA4cHggIWltcG9ydGFudDtcbn1cblxuI2pvYnNfd2lkZ2V0X2NvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uaW5saW5lLW5hdi10aXRsZXMgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTpub25lO1xuICAgIG1hcmdpbjowO1xuICAgIHBhZGRpbmc6MDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk4MXB4KSB7XG4gICAgLmlubGluZS1uYXYtdGl0bGVzIHVsIHtcbiAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxufVxuXG4udGltZWxpbmUtZGF0ZSB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi50aW1lbGluZS1kYXRlIHAge1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA4MHB4O1xuICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgY29sb3I6I2ZmZjtcbiAgICBmb250LWZhbWlseTonQ2FudGF0YSBPbmUnO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpe1xuLnNpbmdsZS1wb3N0IC5zaW5nbGUtZW50cnktY29udGVudCB7XG4vKiAgdHJhbnNmb3JtOiB0cmFuc2xhdGV5KC0xNTBweCk7ICovXG4gICAgbWFyZ2luLXRvcDogLTE1MHB4O1xufVxufVxuXG4uc2luZ2xlLXBvc3QgLmV0X3BiX3RpdGxlX2NvbnRhaW5lciB7XG4gICAgLXdlYmtpdC1kaXNwbGF5OiBmbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTgxcHgpIHtcbiAgICAuY29udGFjdC1wYWdlLWZvcm0ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1JSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgfVxufVxuXG4vL3NlYXJjaCBwYWdlXG4uc2VhcmNoLXBhZ2Utc2VhcmNoLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbn1cblxuLnNlYXJjaC1wYWdlLXNlYXJjaC1iYXIgLnJvdyB7XG4gIGJveC1zaGFkb3c6IDAgMTRweCAyOHB4IHJnYmEoMCwwLDAsMC4wNSksIDAgMTBweCAxMHB4IHJnYmEoMCwwLDAsMC4wMik7XG59IiwiLy9faGVhZGVyLnNjc3NcblxuI3RvcC1tZW51IHtcblxuXHQuaXMtY3RhIHtcblxuXHRcdGEge1xuXHRcdFx0Ly8gZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwYWRkaW5nOiAwLjc1cmVtIDEuNXJlbSAhaW1wb3J0YW50O1xuXHRcdCAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblx0XHQgICAgY29sb3I6ICNmZmY7XG5cdFx0ICAgIGJvcmRlci1yYWRpdXM6IDNweDtcblx0XHR9XG5cdH1cbn1cblxuLmNvbnRhaW5lci5ldF9zZWFyY2hfZm9ybV9jb250YWluZXIuZXRfcGJfc2VhcmNoX3Zpc2libGUge1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk4MHB4KSB7XG5cdFx0LmV0X2hlYWRlcl9zdHlsZV9sZWZ0IC5ldC1zZWFyY2gtZm9ybSwgLmV0X2hlYWRlcl9zdHlsZV9zcGxpdCAuZXQtc2VhcmNoLWZvcm0ge1xuXHRcdCAgICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG5cdFx0ICAgIG1heC13aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG5cdFx0fVxuXG5cdFx0Zm9ybS5ldC1zZWFyY2gtZm9ybSB7XG5cdFx0ICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk4MXB4KSBhbmQgKG1heC13aWR0aDoxMjk5cHgpIHtcblxuXHQjbG9nbyB7XG5cdCAgICBtYXgtd2lkdGg6IDE1MHB4ICFpbXBvcnRhbnQ7XG5cdH1cbn0iLCIvL19mb290ZXIuc2Nzc1xuXG4vLyAjbWFpbi1mb290ZXIgI2V0LWJvYyAuZXRfcGJfc2VjdGlvbiB7XG4vLyAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMxYzMxNWMgIWltcG9ydGFudDtcbi8vIH1cblxuI21haW4tZm9vdGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG5cblx0I2V0LWJvYyAuZXRfcGJfc2VjdGlvbiB7XG5cdCAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdCAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblx0ICAgIGNvbG9yOiAjZmZmO1xuXHQgICAgcCwgbGkge1xuXHQgICAgXHRjb2xvcjogI2ZmZjtcblx0ICAgIH1cblx0ICAgIGEge1xuICAgIFx0XHRjb2xvcjogJGFjY2VudC1jb2xvciAhaW1wb3J0YW50O1xuICAgIFx0fVxuXHR9XG5cblx0aDMsIGg0IHtcblx0XHRjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuXHR9XG5cblx0Lm1haW4tZm9vdGVyLW1vZHVsZSB7XG5cdFx0PiBkaXY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0Ym9yZGVyLXRvcDogM3B4IHNvbGlkIGRhcmtlbigkcHJpbWFyeS1jb2xvciw1JSk7XG5cdFx0fVxuXHRcdC5mb290ZXItd2lkZ2V0LWJsb2NrIHtcblx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0XHRib3JkZXItdG9wOiAzcHggc29saWQgZGFya2VuKCRwcmltYXJ5LWNvbG9yLDUlKTtcblx0XHRcdGJvcmRlci1ib3R0b206IDNweCBzb2xpZCBkYXJrZW4oJHByaW1hcnktY29sb3IsNSUpO1xuXHRcdFx0LmV0X3BiX2NvbHVtbiB7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiAyJTtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDIlO1xuXHRcdFx0fVxuXHRcdFx0LmV0X3BiX2NvbHVtbjpudGgtb2YtdHlwZShldmVuKSB7XG5cdFx0XHRcdC8vIGJhY2tncm91bmQtY29sb3I6IHBpbms7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0QG1lZGlhIChtaW4td2lkdGg6ICRtZWRpdW0pIHtcblx0XHRcdFx0XHQmOmJlZm9yZSwgJjphZnRlciB7XG5cdFx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0XHRcdGxlZnQ6IC0xMy41JTtcblx0XHRcdFx0XHRcdHdpZHRoOiAzcHg7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHByaW1hcnktY29sb3IsNSUpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdGxlZnQ6IDEwMCU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0dWwge1xuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAzcmVtO1xuXHRcdFx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiAkbGFyZ2UpIHtcblx0XHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAycmVtO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIHtcblx0XHRcdEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaXVtKSB7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5mb290ZXItc2lnbnVwIHtcblx0XHRoMyB7XG5cdFx0XHRmb250LWZhbWlseTogJGZvbnQtc2VyaWY7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuXHRcdFx0QG1lZGlhIChtaW4td2lkdGg6ICRtZWRpdW0pIHtcblx0XHRcdFx0Zm9udC1zaXplOiAzcmVtO1xuXHRcdFx0fVxuXHRcdFx0c3BhbiB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRmb250LXNpemU6IDFyZW07XG5cdFx0XHRcdGNvbG9yOiAkYWNjZW50LWNvbG9yO1xuXHRcdFx0XHRmb250LWZhbWlseTogJGZvbnQtc2Fucztcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuZm9vdGVyLW5ld3NsZXR0ZXItc2lnbnVwIHtcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJGxhcmdlKSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDVyZW0gIWltcG9ydGFudDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDVyZW0gIWltcG9ydGFudDtcblx0XHRcdHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHRcdGZvcm0ge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdGlucHV0IHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdG1hcmdpbjoxcmVtIDAgIWltcG9ydGFudDtcblx0XHRcdFx0cGFkZGluZzogMC41cmVtO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuMSk7XG5cdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0XHRmb250LXNpemU6IDFyZW07XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAkZm9udC1zZXJpZjtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMS4yNXJlbTtcblx0XHRcdFx0QG1lZGlhIChtaW4td2lkdGg6ICRtZWRpdW0pIHtcblx0XHRcdFx0XHQvLyB3aWR0aDogNDglICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0bWFyZ2luOiAxJTtcblx0XHRcdFx0XHRwYWRkaW5nOiAxcmVtO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQjZ2Zvcm1fc3VibWl0X2J1dHRvbl84IHtcblxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0Ly8gd2lkdGg6IDEwMCU7XG5cdFx0XHRcdC8vIHBhZGRpbmc6IDFyZW07XG5cdFx0XHRcdGZvbnQtc2l6ZTogMi41cmVtO1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRib3JkZXI6IDNweCBzb2xpZCAkYWNjZW50LWNvbG9yO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDM3cHg7XG5cdFx0XHQgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHQgICAgZGlzcGxheTogYmxvY2s7XG5cdFx0XHQgICAgZm9udC1mYW1pbHk6IEVUbW9kdWxlcztcblx0XHRcdCAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHQgICAgY29sb3I6ICRhY2NlbnQtY29sb3I7XG5cdFx0XHRcdC8vIGZvbnQtc2l6ZTogMDtcblxuXHRcdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogJG1lZGl1bSkge1xuXHRcdFx0XHRcdC8vIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3I7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAzcHg7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxLjI1cmVtO1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdFx0cmlnaHQ6IDFyZW07XG5cdFx0XHRcdFx0dG9wOjdweDtcblx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHQvLyByaWdodDogMXJlbTtcblx0XHRcdFx0XHRoZWlnaHQ6IDQwcHg7XG5cdFx0XHRcdFx0d2lkdGg6IDQwcHg7XG5cdFx0XHRcdCAgICByaWdodDogMnJlbTtcblx0XHRcdFx0ICAgIHRvcDogMzJweDtcblx0XHRcdFx0fVxuXG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgLy8qIENocm9tZS9PcGVyYS9TYWZhcmkgKi9cblx0XHQgIGNvbG9yOiAkd2hpdGU7XG5cdFx0fVxuXHRcdDo6LW1vei1wbGFjZWhvbGRlciB7IC8vKiBGaXJlZm94IDE5KyAqL1xuXHRcdCAgY29sb3I6ICR3aGl0ZTtcblx0XHR9XG5cdFx0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IC8vKiBJRSAxMCsgKi9cblx0XHQgIGNvbG9yOiAkd2hpdGU7XG5cdFx0fVxuXHRcdDotbW96LXBsYWNlaG9sZGVyIHsgLy8qIEZpcmVmb3ggMTgtICovXG5cdFx0ICBjb2xvcjogJHdoaXRlO1xuXHRcdH1cblxuXHRcdC5naW5wdXRfY29udGFpbmVyLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3gge1xuXHRcdFx0bWFyZ2luLXRvcDogLTUwcHg7XG5cdFx0XHRAbWVkaWEgKG1pbi13aWR0aDo4MDBweCkge1xuXHRcdFx0XHR0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNHJlbSk7XG5cdFx0XHR9XG5cblx0XHRcdGlucHV0IHtcblx0XHRcdCAgICBwYWRkaW5nOiAwLjc1cmVtICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0I2lucHV0XzhfMyB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0bGFiZWwge1xuXHRcdFx0XHRmb250LWZhbWlseTogJGZvbnQtc2VyaWY7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMXJlbTtcblx0XHRcdH1cblx0XHRcdGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG5cdFx0XHRcdHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0XHRcdC13ZWJraXQtYXBwZWFyYW5jZTpub25lO1xuXHRcdCAgICB9XG5cdFx0XHQuZ2Nob2ljZV84XzNfMSwuZ2Nob2ljZV84XzNfMiB7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcblx0XHRcdCAgICBmbGV4OiAxO1xuXHRcdFx0ICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdFx0XHQgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdCAgICBAbWVkaWEgKG1pbi13aWR0aDogOTgxcHgpIHtcblx0XHRcdFx0ICAgIHBhZGRpbmc6IDAgMnJlbSAhaW1wb3J0YW50O1xuXHRcdFx0XHR9XG5cdFx0XHQgICAgbGFiZWwge1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAxcmVtO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuZ2Nob2ljZV84XzNfMiB7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRcdH1cblx0XHRcdGlucHV0I2Nob2ljZV84XzNfMTpjaGVja2VkLGlucHV0I2Nob2ljZV84XzNfMjpjaGVja2VkIHtcblx0XHRcdCAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2Q5ZjM5ICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmV0X3BiX3NlY3Rpb24ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXHRcdGNvbG9yOiAjZmZmO1xuXG5cdFx0cCwgaDMsaDQsaDUsaDYge1xuXHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0fVxuXHRcdGEge1xuXHRcdFx0Y29sb3I6ICRhY2NlbnQtY29sb3I7XG5cdFx0fVxuXHR9XG5cblx0LmV0X3BiX3Bvc3RzIHtcblx0XHQuZXRfcGJfcG9zdCB7XG5cdFx0ICAgIG1hcmdpbi1ib3R0b206IDhweDtcblx0XHR9XG5cdFx0LmVudHJ5LXRpdGxlIHtcblx0XHRcdGZvbnQtc2l6ZTogMC45cmVtO1xuXHRcdH1cblx0XHQucG9zdC1jb250ZW50IHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0LmZvb3Rlci13aWRnZXQtYmxvY2sge1xuXHRcdCYgPiBkaXY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0QG1lZGlhIChtaW4td2lkdGg6ICRsYXJnZSkge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDVyZW07XG5cdFx0XHRcdD4gZGl2IHtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMSU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0aDQge1xuXHRcdFx0Zm9udC1mYW1pbHk6ICRmb250LXNlcmlmO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRmb250LXNpemU6IDEuMjVyZW07XG5cdFx0fVxuXHRcdC5ldF9wYl9zb2NpYWxfbWVkaWFfZm9sbG93IHtcblx0XHRcdGxpIHtcblx0XHRcdFx0QG1lZGlhIChtaW4td2lkdGg6ICRzbWFsbCkge1xuXHRcdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0XHR9XG5cdFx0XHRcdGE6YmVmb3JlIHtcblx0XHRcdFx0XHRjb2xvcjogJGFjY2VudC1jb2xvcjtcblx0XHRcdFx0XHRmb250LXNpemU6IDEuNXJlbTtcblx0XHRcdFx0fVxuXHRcdFx0XHQvLyAmOm50aC1vZi10eXBlKG9kZCkge1xuXHRcdFx0XHQvLyBcdEBtZWRpYSAobWluLXdpZHRoOiAkbGFyZ2UpIHtcblx0XHRcdFx0Ly8gXHRcdGNsZWFyOiBsZWZ0O1xuXHRcdFx0XHQvLyBcdH1cblx0XHRcdFx0Ly8gfVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufSAvLyBtYWluLWZvb3RlclxuXG4uZm9vdGVyLWxlZ2FsIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmc6IDFyZW07XG5cdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXHRoNiwgcCB7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRsaW5lLWhlaWdodDogMS43O1xuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkbGFyZ2UpIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAxcmVtO1xuXHRcdH1cblx0fVxufSIsInRhZ3MtaW5wdXR7ZGlzcGxheTpibG9ja310YWdzLWlucHV0ICosdGFncy1pbnB1dCA6YWZ0ZXIsdGFncy1pbnB1dCA6YmVmb3Jley1tb3otYm94LXNpemluZzpib3JkZXItYm94Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH10YWdzLWlucHV0IC5ob3N0e3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi10b3A6NXB4O21hcmdpbi1ib3R0b206NXB4O2hlaWdodDoxMDAlfXRhZ3MtaW5wdXQgLmhvc3Q6YWN0aXZle291dGxpbmU6MH10YWdzLWlucHV0IC50YWdzey1tb3otYXBwZWFyYW5jZTp0ZXh0ZmllbGQ7LXdlYmtpdC1hcHBlYXJhbmNlOnRleHRmaWVsZDtwYWRkaW5nOjFweDtvdmVyZmxvdzpoaWRkZW47d29yZC13cmFwOmJyZWFrLXdvcmQ7Y3Vyc29yOnRleHQ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2E5YTlhOTtib3gtc2hhZG93OjFweCAxcHggMXB4IDAgI2QzZDNkMyBpbnNldDtoZWlnaHQ6MTAwJX10YWdzLWlucHV0IC50YWdzLmZvY3VzZWR7b3V0bGluZTowOy13ZWJraXQtYm94LXNoYWRvdzowIDAgM3B4IDFweCByZ2JhKDUsMTM5LDI0MiwuNik7LW1vei1ib3gtc2hhZG93OjAgMCAzcHggMXB4IHJnYmEoNSwxMzksMjQyLC42KTtib3gtc2hhZG93OjAgMCAzcHggMXB4IHJnYmEoNSwxMzksMjQyLC42KX10YWdzLWlucHV0IC50YWdzIC50YWctbGlzdHttYXJnaW46MDtwYWRkaW5nOjA7bGlzdC1zdHlsZS10eXBlOm5vbmV9dGFncy1pbnB1dCAudGFncyAudGFnLWl0ZW17bWFyZ2luOjJweDtwYWRkaW5nOjAgNXB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2Zsb2F0OmxlZnQ7Zm9udDoxNHB4IFwiSGVsdmV0aWNhIE5ldWVcIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtoZWlnaHQ6MjZweDtsaW5lLWhlaWdodDoyNXB4O2JvcmRlcjoxcHggc29saWQgI2FjYWNhYztib3JkZXItcmFkaXVzOjNweDtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwjZjBmOWZmIDAsI2NiZWJmZiA0NyUsI2ExZGJmZiAxMDAlKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sI2YwZjlmZiAwLCNjYmViZmYgNDclLCNhMWRiZmYgMTAwJSl9dGFncy1pbnB1dCAudGFncyAudGFnLWl0ZW0uc2VsZWN0ZWR7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsI2ZlYmJiYiAwLCNmZTkwOTAgNDUlLCNmZjVjNWMgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCNmZWJiYmIgMCwjZmU5MDkwIDQ1JSwjZmY1YzVjIDEwMCUpfXRhZ3MtaW5wdXQgLnRhZ3MgLnRhZy1pdGVtIC5yZW1vdmUtYnV0dG9ue21hcmdpbjowIDAgMCA1cHg7cGFkZGluZzowO2JvcmRlcjpub25lO2JhY2tncm91bmQ6MCAwO2N1cnNvcjpwb2ludGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtmb250OjcwMCAxNnB4IEFyaWFsLHNhbnMtc2VyaWY7Y29sb3I6IzU4NTg1OH10YWdzLWlucHV0IC50YWdzIC5pbnB1dC5pbnZhbGlkLXRhZyx0YWdzLWlucHV0IC50YWdzIC50YWctaXRlbSAucmVtb3ZlLWJ1dHRvbjphY3RpdmV7Y29sb3I6cmVkfXRhZ3MtaW5wdXQgLnRhZ3MgLmlucHV0e2JvcmRlcjowO291dGxpbmU6MDttYXJnaW46MnB4O3BhZGRpbmc6MCAwIDAgNXB4O2Zsb2F0OmxlZnQ7aGVpZ2h0OjI2cHg7Zm9udDoxNHB4IFwiSGVsdmV0aWNhIE5ldWVcIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZn10YWdzLWlucHV0IC50YWdzIC5pbnB1dDo6LW1zLWNsZWFye2Rpc3BsYXk6bm9uZX10YWdzLWlucHV0Lm5nLWludmFsaWQgLnRhZ3N7LXdlYmtpdC1ib3gtc2hhZG93OjAgMCAzcHggMXB4IHJnYmEoMjU1LDAsMCwuNik7LW1vei1ib3gtc2hhZG93OjAgMCAzcHggMXB4IHJnYmEoMjU1LDAsMCwuNik7Ym94LXNoYWRvdzowIDAgM3B4IDFweCByZ2JhKDI1NSwwLDAsLjYpfXRhZ3MtaW5wdXRbZGlzYWJsZWRdIC5ob3N0OmZvY3Vze291dGxpbmU6MH10YWdzLWlucHV0W2Rpc2FibGVkXSAudGFnc3tiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7Y3Vyc29yOmRlZmF1bHR9dGFncy1pbnB1dFtkaXNhYmxlZF0gLnRhZ3MgLnRhZy1pdGVte29wYWNpdHk6LjY1O2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCNmMGY5ZmYgMCxyZ2JhKDIwMywyMzUsMjU1LC43NSkgNDclLHJnYmEoMTYxLDIxOSwyNTUsLjYyKSAxMDAlKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sI2YwZjlmZiAwLHJnYmEoMjAzLDIzNSwyNTUsLjc1KSA0NyUscmdiYSgxNjEsMjE5LDI1NSwuNjIpIDEwMCUpfXRhZ3MtaW5wdXRbZGlzYWJsZWRdIC50YWdzIC50YWctaXRlbSAucmVtb3ZlLWJ1dHRvbntjdXJzb3I6ZGVmYXVsdH10YWdzLWlucHV0W2Rpc2FibGVkXSAudGFncyAudGFnLWl0ZW0gLnJlbW92ZS1idXR0b246YWN0aXZle2NvbG9yOiM1ODU4NTh9dGFncy1pbnB1dFtkaXNhYmxlZF0gLnRhZ3MgLmlucHV0e2JhY2tncm91bmQtY29sb3I6I2VlZTtjdXJzb3I6ZGVmYXVsdH10YWdzLWlucHV0IC5hdXRvY29tcGxldGV7bWFyZ2luLXRvcDo1cHg7cG9zaXRpb246YWJzb2x1dGU7cGFkZGluZzo1cHggMDt6LWluZGV4Ojk5OTt3aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjIpOy13ZWJraXQtYm94LXNoYWRvdzowIDVweCAxMHB4IHJnYmEoMCwwLDAsLjIpOy1tb3otYm94LXNoYWRvdzowIDVweCAxMHB4IHJnYmEoMCwwLDAsLjIpO2JveC1zaGFkb3c6MCA1cHggMTBweCByZ2JhKDAsMCwwLC4yKX10YWdzLWlucHV0IC5hdXRvY29tcGxldGUgLnN1Z2dlc3Rpb24tbGlzdHttYXJnaW46MDtwYWRkaW5nOjA7bGlzdC1zdHlsZS10eXBlOm5vbmU7bWF4LWhlaWdodDoyODBweDtvdmVyZmxvdy15OmF1dG87cG9zaXRpb246cmVsYXRpdmV9dGFncy1pbnB1dCAuYXV0b2NvbXBsZXRlIC5zdWdnZXN0aW9uLWl0ZW17cGFkZGluZzo1cHggMTBweDtjdXJzb3I6cG9pbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udDoxNnB4IFwiSGVsdmV0aWNhIE5ldWVcIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtjb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6I2ZmZn10YWdzLWlucHV0IC5hdXRvY29tcGxldGUgLnN1Z2dlc3Rpb24taXRlbS5zZWxlY3RlZCx0YWdzLWlucHV0IC5hdXRvY29tcGxldGUgLnN1Z2dlc3Rpb24taXRlbS5zZWxlY3RlZCBlbXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzAwOTdjZn10YWdzLWlucHV0IC5hdXRvY29tcGxldGUgLnN1Z2dlc3Rpb24taXRlbSBlbXtmb250Om5vcm1hbCA3MDAgMTZweCBcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Y29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkoJGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uLFxuICAuY29sdW1ucyB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBEdXBsaWNhdGVQcm9wZXJ0eVxuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG4gIC8vIFtUT0RPXSBJcyB0aGlzIG5lY2Vzc2FyeT9cbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbiAgYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICAvLyBodG1sIGdldHMgdGhpcyBjbGFzcyBvbmx5IGluIGlPU1xuICBodG1sLmlzLXJldmVhbC1vcGVuLFxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbiAgICAvLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICVyZXZlYWwtY2VudGVyZWQge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSkge1xuICAkbWFwOiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbWFwOiBtYXAtcmVtb3ZlKCRtYXAsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIEBlYWNoICRzaXplIGluICRtYXAge1xuICAgICQtemYtc2l6ZTogJHNpemUgIWdsb2JhbDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENvbnZlcnMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcC4gSWYgdGhlIGNvbmZpZyBtYXAgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLiBJZiB0aGUgY29uZmlnIG1hcCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gSW5wdXQgY29uZmlnIG1hcC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4vLyBMZWdhY3kgYnJlYWtwb2ludCB2YXJpYWJsZXNcbi8vIFRoZXNlIHdpbGwgYmUgcmVtb3ZlZCBpbiA2LjNcbiRzbWFsbC11cDogbnVsbDtcbiRzbWFsbC1vbmx5OiBudWxsO1xuJG1lZGl1bS11cDogbnVsbDtcbiRtZWRpdW0tb25seTogbnVsbDtcbiRsYXJnZS11cDogbnVsbDtcbiRsYXJnZS1vbmx5OiBudWxsO1xuJHhsYXJnZS11cDogbnVsbDtcbiR4bGFyZ2Utb25seTogbnVsbDtcbiR4eGxhcmdlLXVwOiBudWxsO1xuJHh4bGFyZ2Utb25seTogbnVsbDtcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkYmFzZS1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuICBcbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vICogQiBBIFMgRSAgIEcgUiBJIEQgICpcbi8vXG4vL2luc3BpcmVkIGZyb20gaHR0cDovL3dlYmRlc2lnbi50dXRzcGx1cy5jb20vdHV0b3JpYWxzL2Etc2ltcGxlLXJlc3BvbnNpdmUtZ3JpZC1tYWRlLWV2ZW4tYmV0dGVyLXdpdGgtc2Fzcy0tY21zLTIxNTQwXG5cbi5yb3cge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogJGNvbnRhaW5lci13aWR0aDtcbiAgICBAZXh0ZW5kICVjbGVhcmZpeDtcbiAgICAmLndpZGUge1xuICAgICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItd2lkdGggKiAxLjI1OyAvLyBjaGFuZ2UgdG8gc3VpdFxuICAgIH1cbiAgICAmLm5hcnJvdyB7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci13aWR0aCAqIC43NTsgLy8gY2hhbmdlIHRvIHN1aXRcbiAgICB9XG4gICAgLnJvdyB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWVkaXVtKSB7XG4gICAgICAgICAgICBbY2xhc3MqPSdjb2wtJ106bnRoLW9mLXR5cGUoMSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGd1dHRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFtjbGFzcyo9J2NvbC0nXTpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRndXR0ZXI7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5bY2xhc3MqPSdjb2wtJ10ge1xuICAgIC8vIGZsb2F0OiBsZWZ0OyAvLyBhZGQgZmxvYXQgYmFjayB0byBtb2JpbGUtZmlyc3QgY29sIGlmIGV4cGVyaWVuY2luZyBjb2xsYXBzaW5nIGlzc3Vlcy4gQnV0LCBtYW4uLi4gaXQgZmVlbHMgbmljZSB0byBqdXN0IGFkZCAnZmxvYXQ6bGVmdCcgd2hlbiBpdCdzIG5lY2Vzc2FyeVxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1pbi1oZWlnaHQ6ICRvbmU7XG4gICAgcGFkZGluZzogJGd1dHRlcjtcbiAgICAuc3dpdGNoICYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJG1lZGl1bSkge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7ICAgICAgXG4gICAgICAgIC5jb2wtI3skaX0sIHsgXG4gICAgICAgICAgICAvLyBmbG9hdDogbGVmdDsgICAgICAgIFxuICAgICAgICAgICAgd2lkdGg6IDEwMCUgLyAkZ3JpZC1jb2x1bW5zICogJGk7ICAgXG4gICAgICAgIH0gICAgICAgICAgIFxuICAgIH0gICBcbn0gLy8gKiBtcVxuXG5cbltjbGFzcyo9J2xhcmdlLSddIHsgLy8gbW9kaWZpZXIgZm9yIGNvbC14XG4gICAgLy93aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRsYXJnZSkge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7ICAgICAgXG4gICAgICAgIC5sYXJnZS0jeyRpfSwgeyAgICAgICBcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlIC8gJGdyaWQtY29sdW1ucyAqICRpOyAgIFxuICAgICAgICB9ICAgICAgICAgICBcbiAgICB9ICAgXG59IC8vICogbXFcblxuXG5cbi8vIEcgUiBJIEQgIEggRSBMIFAgRSBSIFNcblxuLm1vYmlsZS1xdWFydGVyIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heC1tZWRpdW0pIHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgLy8gZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICAgIC8vICYgKyAqOm5vdCgubW9iaWxlLXF1YXJ0ZXIpXG4gICAgLy8ge1xuICAgIC8vICAgICBjbGVhcjogYm90aDtcbiAgICAvLyB9XG59XG5cbi5tb2JpbGUtdGhpcmQge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4LW1lZGl1bSkge1xuICAgICAgICB3aWR0aDogMzMuMzMzMyU7XG4gICAgICAgIC8vIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgICAvLyAmICsgKjpub3QoLm1vYmlsZS10aGlyZClcbiAgICAvLyB7XG4gICAgLy8gICAgIGNsZWFyOiBib3RoO1xuICAgIC8vIH1cbn1cblxuLm1vYmlsZS1maWZ0eSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgtbWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIC8vIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgICAvLyAmICsgKjpub3QoLm1vYmlsZS1maWZ0eSlcbiAgICAvLyB7XG4gICAgLy8gICAgIGNsZWFyOiBib3RoO1xuICAgIC8vIH1cbn1cblxuW2NsYXNzKj0nY29sLSddLmlzLWVuZCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpdW0pIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbn1cblxuW2NsYXNzKj0nY29sLSddLmlzLXNpbmdsZSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG59XG5cbi5jbGVhcmZpeCB7XG4gICAgKnpvb206IDE7XG4gICAgJjpiZWZvcmUsIFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG59XG5cblxuLy8gKiBNIEkgWCBJIE4gUyAqXG4vLyAqIEFwcGx5IGEgY2xlYXJmaXggdG8gYW4gZWxlbWVudC5cblxuQG1peGluIGNsZWFyZml4KCkge1xuICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4lY2xlYXJmaXgge1xuICAgICY6YmVmb3JlLCBcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxufVxuXG4vLyAqIGRlZmluZSBhIHJvdyB3aXRoIGFueSBzaXplIHdpZHRoICpcbkBtaXhpbiByb3coJG1heC13aWR0aDogJGNvbnRhaW5lci13aWR0aCwgJHBhZGRlZDogMCkge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAgYXV0bztcbiAgfTtcbiAgcGFkZGluZzoge1xuICAgIGxlZnQ6ICAkcGFkZGVkO1xuICAgIHJpZ2h0OiAkcGFkZGVkO1xuICB9O1xufVxuXG5AbWl4aW4gY29sKCRtZWRpdW0td2lkdGg6ICRjb2wtd2lkdGgsICRsYXJnZS13aWR0aDogbnVsbCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6ICRvbmU7XG4gICAgcGFkZGluZzogJGd1dHRlcjtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1lZGl1bSkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6ICRtZWRpdW0td2lkdGg7XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbGFyZ2UpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAkbGFyZ2Utd2lkdGg7XG4gICAgfVxufSIsIi8vX21vZHVsZXMuc2Nzc1xuXG5zZWN0aW9uI2Rpc3BsYXktcHJvcGVydGllcyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTAwO1xuXHRtYXgtd2lkdGg6IDExODBweDtcblx0bWFyZ2luOiAwIGF1dG87XG5cdHRyYW5zZm9ybTp0cmFuc2xhdGVZKDJyZW0pO1xuXG5cdC5pcy1ycC1mcCB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0XHRtaW4taGVpZ2h0OiA0MjVweDtcblx0XHRmaWd1cmUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRcdH1cblx0XHRoNCB7XG5cdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XG5cdFx0XHRmb250LWZhbWlseTogJGZvbnQtc2VyaWYgIWltcG9ydGFudDtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXHRcdCAgICBmb250LXdlaWdodDogNjAwO1xuXHRcdCAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuXHRcdCAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcblx0XHR9XG5cdFx0LmZlYXQtcnAtbmVpZ2hib3Job29kIHtcblx0ICAgIFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50O1xuXHQgICAgXHRmb250LXNpemU6IDAuOXJlbTtcblx0ICAgIFx0Y29sb3I6ICRkYXJrLWdyYXk7XG5cdCAgICBcdGZvbnQtZmFtaWx5OiAkZm9udC1zYW5zO1xuXHQgICAgXHRmb250LXdlaWdodDogNDAwO1xuXHQgICAgfVxuXHQgICAgLnJwLWZwLWRldGFpbHMge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG5cdFx0XHRoNCB7XG5cdFx0XHRcdG1pbi1oZWlnaHQ6IDcycHg7XG5cdFx0XHR9XG5cblx0XHRcdC5hbWVuaXR5LWxpc3Qge1xuXHRcdFx0ICAgIGRpc3BsYXk6IGZsZXg7XG5cdFx0XHQgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG5cdFx0XHQgICAgcGFkZGluZzogMS41cmVtIDA7XG5cblx0XHRcdCAgICAuaGVhZGVyLWFtZW5pdHkge1xuXHRcdFx0ICAgIFx0cGFkZGluZy10b3A6IDhweDtcblx0XHRcdCAgICBcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdCAgICBcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHQgICAgXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0ICAgIFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHQgICAgXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0ICAgIFx0ZmxleDoxO1xuXHRcdFx0ICAgIFx0JjphZnRlciB7XG5cdFx0XHQgICAgXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0ICAgIFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHQgICAgXHRcdGhlaWdodDogMTAwJTtcblx0XHRcdCAgICBcdFx0d2lkdGg6IDJweDtcblx0XHRcdCAgICBcdFx0cmlnaHQ6IC0xcHg7XG5cdFx0XHQgICAgXHRcdGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3I7XG5cdFx0XHQgICAgXHR9XG5cdFx0XHQgICAgXHQmOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuXHRcdFx0ICAgIFx0XHRjb250ZW50OiBub25lO1xuXHRcdFx0ICAgIFx0fVxuXHRcdFx0ICAgIH1cblx0XHRcdCAgICAuaWNvbiB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHQgICAgXHRzdmcge1xuXHRcdFx0XHQgICAgXHRoZWlnaHQ6IDI1cHg7XG5cdFx0XHRcdCAgICBcdHdpZHRoOiBhdXRvO1xuXHRcdFx0XHQgICAgfVxuXHRcdFx0ICAgIH1cblx0XHRcdCAgICAuYW1lbml0eS10ZXh0IHtcblx0XHRcdCAgICBcdGZvbnQtc2l6ZTogMC43NXJlbTtcblx0XHRcdCAgICB9XG5cdFx0XHR9XG5cdCAgICB9XG5cblx0ICAgIC5wcm9wLWxpbmsge1xuXHRcdFx0Y29sb3I6ICRhY2NlbnQtY29sb3I7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0Zm9udC1zaXplOiAwLjlyZW07XG5cdFx0ICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXHQgICAgfVxuXHR9XG59XG5cbiNkaXNwbGF5LXByb3BlcnRpZXMgKyAjbWFpbi1mb290ZXIge1xuXHRwYWRkaW5nLXRvcDogNnJlbTtcbn1cblxuLmhhcy1iZy1pbWcge1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xufVxuXG4ubW9iaWxlLW9ubHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWVkaXVtKSB7XG4gICAgXHRkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLy8gKiBSIEkgRyBIIFQgWSAgVCBBIEIgUyAqXG5cbltjbGFzcyo9XCJyaWdodHktdGFicy1cIl0ge1xuXHRtYXJnaW46JGd1dHRlciAwO1xuXHRAbWVkaWEgKG1pbi13aWR0aDogJG1lZGl1bSkge1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdH1cblx0aW5wdXRbdHlwZT1yYWRpb10ge1xuXHRcdGRpc3BsYXk6bm9uZTtcblx0fVxuXHRpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0rbGFiZWwsIGlucHV0W3R5cGU9XCJyYWRpb1wiXStsYWJlbCB7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdH1cblx0bGFiZWwge1xuXHRcdGZvbnQtZmFtaWx5OiAkZm9udC1zYW5zO1xuXHRcdC8vIGZvbnQtc2l6ZTogMS4yNXJlbTtcblx0XHRjdXJzb3I6cG9pbnRlcjtcblx0XHQvLyBjb2xvcjokcHJpbWFyeS1jb2xvcjtcblx0XHQvLyB3aWR0aDoxMDAlO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHQvLyBtaW4taGVpZ2h0OjNlbTtcblx0XHQvLyBiYWNrZ3JvdW5kOiNmZmY7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0cGFkZGluZzogMCAxLjVyZW07XG5cdFx0bWFyZ2luLXJpZ2h0OiAxcmVtO1xuXHRcdHRleHQtYWxpZ246Y2VudGVyO1xuXHRcdGxpbmUtaGVpZ2h0OjNlbTtcblx0XHRib3JkZXItcmFkaXVzOjI1cHg7XG5cdFx0Ly8gYm9yZGVyLWJvdHRvbToycHggc29saWQgJHByaW1hcnktY29sb3I7XG5cdFx0dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIDAuMnMgZWFzZS1pbi1vdXQsIGhlaWdodCAwLjJzIGxpbmVhcjtcblx0XHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRib3JkZXItYm90dG9tOm5vbmU7XG5cdFx0fVxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZDpsaWdodGVuKCRsaWdodC1ncmF5LCAzJSk7XG5cdFx0XHQvLyBjb2xvcjogI2ZmZjtcbiAgICAgIFx0Ly9AaW5jbHVkZSB0cmFuc2Zvcm0gKHRyYW5zbGF0ZSgwLC0wLjJlbSkpO1xuXHRcdH1cblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJG1lZGl1bSkge1xuXHRcdFx0d2lkdGg6IGF1dG87IFxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0XHRcdC8vIGZsb2F0OiBsZWZ0O1xuXHQgICAgfVxuXHR9XG59XG5cbi8vIEBtZWRpYSAobWluLXdpZHRoOiAkbWVkaXVtKSB7XG4vLyBcdEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggNSB7IC8vIDIgdGhyb3VnaCA1IHRhYnMgaXMgcHJldHR5IGFjY2VwdGFibGUuIFRob3VnaCB5b3UgY2FuIGN1c3RvbWl6ZS5cbi8vIFx0XHQuI3tyaWdodHktdGFic30tI3skaX0gbGFiZWwge1xuLy8gXHRcdFx0d2lkdGg6IDEwMCUgLyAkaTtcbi8vIFx0XHR9XG4vLyBcdH1cbi8vIH1cblxuI3RhYjEsICN0YWIyLCAjdGFiMywgI3RhYjQsICN0YWI1IHtcblx0JjpjaGVja2Vke1xuXHRcdCsgbGFiZWwge1xuXHRcdFx0YmFja2dyb3VuZDokbGlnaHQtZ3JheTtcblx0XHRcdHRyYW5zaXRpb246YmFja2dyb3VuZCAwLjJzIGVhc2UtaW4tb3V0LCBoZWlnaHQgMC4ycyBsaW5lYXI7XG5cdFx0XHQvLyBjb2xvcjojZmZmO1xuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGJhY2tncm91bmQ6bGlnaHRlbigkbGlnaHQtZ3JheSwgMyUpO1xuXHRcdFx0XHQvLyBjb2xvcjogI2ZmZjtcblx0XHQgICAgICBcdC8vQGluY2x1ZGUgdHJhbnNmb3JtICh0cmFuc2xhdGUoMCwtMC4yZW0pKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLnRhYi1ib2R5IHtcblx0cG9zaXRpb246YWJzb2x1dGU7XG5cdHRvcDotOTk5OXB4O1xuXHRvcGFjaXR5OjE7Ly8gbm90IHdvcmtpbmc/XG5cdHBhZGRpbmc6MmVtO1xuXHRAbWVkaWEgKG1pbi13aWR0aDogJG1lZGl1bSkge1xuXHRcdG92ZXJmbG93OmhpZGRlbjtcblx0fVxufVxuXG4uc2luZ2xlLXByb3BlcnRpZXMgLnRhYi1ib2R5LXdyYXBwZXIge1xuXG5cdFx0LnRhYi1ib2R5IHtcblx0XHRcdHBhZGRpbmc6IDFlbSAyZW07XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR0b3A6IGF1dG87XG5cdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogJG1lZGl1bSkge1xuXHRcdFx0XHRvdmVyZmxvdzppbmhlcml0O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHAge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0XHQgICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcblx0XHQgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0c3Ryb25nIHtcblx0XHQgICAgXHRmb250LXNpemU6IDEuMjVyZW07XG5cdFx0ICAgIFx0Zm9udC1mYW1pbHk6ICdDYW50YXRhIE9uZSc7XG5cdFx0ICAgIFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHQgICAgfVxuXHRcdCAgICAmOmFmdGVyIHtcblx0XHRcdCAgICBjb250ZW50OiAnJztcblx0XHRcdCAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHQgICAgYm90dG9tOiAtM3B4O1xuXHRcdFx0ICAgIGxlZnQ6IDA7XG5cdFx0XHQgICAgd2lkdGg6IDUwJTtcblx0XHRcdCAgICBoZWlnaHQ6IDRweDtcblx0XHRcdCAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2Q5ZjM5O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRsaSB7XG5cdFx0ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRcdCAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG5cblx0XHQgICAgJjpiZWZvcmUge1xuXHRcdFx0ICAgIGNvbnRlbnQ6ICcnO1xuXHRcdFx0ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdCAgICBsZWZ0OiAwO1xuXHRcdFx0ICAgIGhlaWdodDogOHB4O1xuXHRcdFx0ICAgIHdpZHRoOiA4cHg7XG5cdFx0XHQgICAgYmFja2dyb3VuZC1jb2xvcjogIzFjMzE1Yztcblx0XHRcdCAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHQgICAgdG9wOiAxMXB4O1xuXHRcdCAgICB9XG5cdFx0fVxuXHR9XG5cbi5zaW5nbGUtcHJvcGVydGllcyAucmlnaHR5LXRhYnMtMiBsYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRhYi1ib2R5LXdyYXBwZXIge1xuXHRiYWNrZ3JvdW5kOiAkb2Zmd2hpdGU7XG5cdC8vIGJvcmRlci10b3A6MnB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuXHRjbGVhcjogYm90aDtcblxuXHR1bCB7XG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRtZWRpdW0pIHtcblx0XHRcdGNvbHVtbnM6Mjtcblx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0fVxuXHRcdGxpIHtcblxuXHRcdH1cblx0fVxufVxuXG4jdGFiMTpjaGVja2VkIH4gLnRhYi1ib2R5LXdyYXBwZXIgI3RhYi1ib2R5LTEsIFxuI3RhYjI6Y2hlY2tlZCB+IC50YWItYm9keS13cmFwcGVyICN0YWItYm9keS0yLFxuI3RhYjM6Y2hlY2tlZCB+IC50YWItYm9keS13cmFwcGVyICN0YWItYm9keS0zLCBcbiN0YWI0OmNoZWNrZWQgfiAudGFiLWJvZHktd3JhcHBlciAjdGFiLWJvZHktNCB7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHR0b3A6MHB4O1xuXHRvcGFjaXR5OiAxO1xufVxuXG4uc2xpY2stcHJldiB7XG4gICAgbGVmdDogMjVweCAhaW1wb3J0YW50O1xuXHRcdHotaW5kZXg6MTA7XG59XG4uc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IDI1cHggIWltcG9ydGFudDtcbn1cbi5zbGljay1uZXh0OmJlZm9yZSwgLnNsaWNrLXByZXY6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBvcGFjaXR5OiAuNzU7XG4gICAgY29sb3I6ICNjZDlmMzk7XG5cdFx0Zm9udC13ZWlnaHQ6OTAwO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG4uc2xpY2stcHJldjo6YmVmb3JlIHtcblx0Y29udGVudDonXFxmMTA0JyAhaW1wb3J0YW50O1xufVxuLnNsaWNrLW5leHQ6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6J1xcZjEwNScgIWltcG9ydGFudDtcbn1cblxuLnBhZ2UtaWQtNDEgLmV0X3BiX3RlYW1fbWVtYmVyX2ltYWdlIHtcbiAgICBoZWlnaHQ6IDMyNXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluLW91dDtcbn1cblxuLnNpZGUteC1zaWRlLWxpc3QgdWwge1xuXHRcdG92ZXJmbG93OmhpZGRlbjtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG59XG4uc2lkZS14LXNpZGUtbGlzdCBsaSB7XG5cdFx0ZmxvYXQ6bGVmdDtcblx0XHR3aWR0aDo1MCU7XG5cdFx0ZGlzcGxheTpibG9jaztcbn1cbi5zaWRlLXgtc2lkZS1saXN0IGxpIHN0cm9uZyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bGluZS1oZWlnaHQ6MTtcbn1cblxuLy8gZGV2ZWxvcG1lbnQgbG9vcFxuXG4jZGV2ZWxvcG1lbnQtbG9vcCAuZXRfcGJfcG9ydGZvbGlvX2ZpbHRlcnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuI2RldmVsb3BtZW50LWxvb3AgLmV0X3BiX2ZpbHRlcmFibGVfcG9ydGZvbGlvIC5ldF9wYl9wb3J0b2ZvbGlvX3BhZ2luYXRpb24ge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZmZmZmZmO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDo5ODFweCkge1xuLmV0X3BiX3BvcnRmb2xpb19pdGVtLmV0X3BiX2dyaWRfaXRlbSB7XG4gICAgd2lkdGg6IDMzLjMzMzMlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAxcmVtO1xuXHR9XG59XG5cbiNhd2FyZHMgLmV0X3BiX2ltYWdlX3dyYXAgaW1nIHtcblx0bWF4LXdpZHRoOiAxNTBweDtcbn1cblxuLmF3YXJkcy1zbGlkZXIgLnNsaWNrLWRvdHMgbGkge1xuXHR3aWR0aDogMTAwcHggIWltcG9ydGFudDtcbn1cblxuLmF3YXJkcy1zbGlkZXIgLnNsaWNrLWRvdHMgYnV0dG9uOmJlZm9yZSB7XG5cdGNvbnRlbnQ6Jyc7XG5cdGZvbnQtZmFtaWx5OiBub25lO1xuXHR3aWR0aDogMTAwcHggIWltcG9ydGFudDtcbn1cblxuLm1vZGFsLWZvcm0ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4uY3VzdG9tLWZpbHRlci1ncmlkIHtcblxuXHQuZXRfcG9ydGZvbGlvX2ltYWdlIHtcblx0ICAgIGRpc3BsYXk6IGJsb2NrO1xuXHQgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHQgICAgaGVpZ2h0OiAyMjVweDtcblx0ICAgIGltZyB7XG5cdCAgICBcdGhlaWdodDogMjI1cHg7XG5cdCAgICBcdG1heC13aWR0aDogbm9uZTtcblx0ICAgIFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdCAgICB9XG5cdH1cblxuXHQuZW50cnktdGl0bGUge1xuXHQgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0ICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDtcblx0ICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblx0ICAgIHdpZHRoOiAxMDAlO1xuXHRcdHRyYW5zaXRpb246IG1pbi1oZWlnaHQgMjAwbXMgZWFzZS1pbi1vdXQ7XG5cdFx0bWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuXHR9XG59XG5cbiNycC1hcmNoaXZlLWZwLXNpZGViYXIgLnJwLWFyY2hpdmUtZnAtaXMtZmlsdGVyLW1vZHVsZSAucnAtbW9kdWxlLXdyYXBwZXIge1xuICAgIG1heC1oZWlnaHQ6IDIwMDBweCAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcblx0LmV0X3BiX2NvbHVtbiAuZXRfcGJfZ3JpZF9pdGVtLmV0X3BiX3BvcnRmb2xpb19pdGVtOm50aC1jaGlsZCgzbiksIC5ldF9wYl9jb2x1bW4gLmV0X3BiX3Nob3BfZ3JpZCAud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdDpudGgtY2hpbGQoM24pIHtcblx0ICAgIG1hcmdpbi1yaWdodDogMDtcblx0fVxufVxuXG4uaXMtcnAtZnAgZmlndXJlLCAuaXMtcnAtZnAgLnJwLXByb3AtZmlndXJlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgaW1nIHtcbiAgICBcdG1pbi1oZWlnaHQ6IDI1MHB4O1xuICAgIFx0b2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxufVxuXG4vKiBSUCBmaXggKi9cbkBtZWRpYSAobWluLXdpZHRoOiAzMS4yNWVtKXtcblx0I2Rpc3BsYXktcHJvcGVydGllcyAuaXMtcnAtZnAge1xuICAgIGhlaWdodDogYXV0bztcblx0fVxufVxuXG4jZGlzcGxheS1wcm9wZXJ0aWVzIC5pcy1ycC1mcCBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdGRpc3BsYXk6YmxvY2s7XG5cdGJveC1zaGFkb3c6IDAgN3B4IDFyZW0gLTJweCByZ2JhKDAsMCwwLDApO1xuXHRcdHRyYW5zaXRpb246YWxsIDIwMG1zIGVhc2UtaW4tb3V0O1xufVxuI2Rpc3BsYXktcHJvcGVydGllcyAuaXMtcnAtZnAgYTpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMXJlbSAtMnB4IHJnYmEoMCwwLDAsMC4zNzUpO1xufVxuXG4jZGlzcGxheS1wcm9wZXJ0aWVzIC5pcy1ycC1mcDpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMXJlbSAtMnB4IHJnYmEoMCwwLDAsMCk7XG59XG4iLCIvL19ibG9nLnNjc3NcblxuLypibG9nKi9cbi5wYWdlLWlkLTQzIC5ldF9wYl9wb3J0Zm9saW9fZmlsdGVycy5jbGVhcmZpeCBzZWxlY3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiAjMWMzMDVjO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTgxcHgpe1xuXG5cdC5wYWdlLWlkLTQzICB7XG5cblx0XHQuZXRfcGJfcG9ydGZvbGlvX2l0ZW1zIC5ldF9wYl9ncmlkX2l0ZW06bnRoLWNoaWxkKDRuKzEpIHtcblx0XHQgICAgY2xlYXI6IG5vbmU7XG5cdFx0fVxuXHRcdC5ldF9wYl9wb3J0Zm9saW9faXRlbXMgLmV0X3BiX2dyaWRfaXRlbSB7XG5cdFx0XHQvLyBtaW4taGVpZ2h0OjUwMHB4O1xuXHRcdFx0LmVudHJ5LXRpdGxlIHtcblx0XHQgICAgXHRmb250LXNpemU6IDI2cHg7XG5cdFx0ICAgIH1cblx0XHQgICAgcC5wb3N0LW1ldGEge1xuXHRcdFx0ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdCAgICBib3R0b206IDE1NXB4O1xuXHRcdFx0ICAgIHRvcDogYXV0bztcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuZXRfcGJfcG9ydGZvbGlvX2l0ZW1zIC5ldF9wYl9wb3J0Zm9saW9faXRlbSB7XG5cdFx0ICAgIHBhZGRpbmctbGVmdDogMDtcblx0XHQgICAgcGFkZGluZy1yaWdodDogMDtcblx0XHQgICAgYm9yZGVyOiAxMHB4IHNvbGlkICNmNmY2ZjY7XG5cblx0XHQgICAgLmV0X3BvcnRmb2xpb19pbWFnZSB7XG5cdFx0ICAgIFx0bWF4LWhlaWdodDogMjI1cHg7XG5cdFx0ICAgIFx0bWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXHRcdCAgICBcdGltZyB7XG5cdFx0ICAgIFx0XHRoZWlnaHQ6IDIyNXB4O1xuXHRcdCAgICBcdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0ICAgIFx0fVxuXHRcdCAgICB9XG5cdFx0fVxuXHR9XG59XG5cbi5wYWdlLWlkLTQzIC5ldF9wYl9wb3J0Zm9saW9faXRlbXMgLmV0X3BiX3BvcnRmb2xpb19pdGVtIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHQvLyBtaW4taGVpZ2h0OiA0MDBweDtcblx0QG1lZGlhIChtaW4td2lkdGg6IDc2N3B4KSB7XG5cdFx0bWF4LXdpZHRoOiA1MCU7XG5cdCAgICBmbG9hdDogbGVmdDtcblx0ICAgIG1pbi1oZWlnaHQ6IDQ3NXB4O1xuXHR9XG5cdEBtZWRpYSAobWluLXdpZHRoOiA3NjdweCkge1xuXHRcdG1heC13aWR0aDogMzMuMzMzMyU7XG5cdH1cblxuXHQ+IGE6bm90KC5tb3JlLWxpbmspIHtcblx0XHRoZWlnaHQ6IDIyNXB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblx0fVxuIFx0LmV0X3BvcnRmb2xpb19pbWFnZSB7XG4gICAgXHRtYXgtaGVpZ2h0OiAyMjVweDtcbiAgICBcdGltZyB7XG4gICAgXHRcdGhlaWdodDogMjI1cHg7XG4gICAgXHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIFx0fVxuICAgIH1cblxuICAgIC5lbnRyeS10aXRsZSB7XG4gICAgXHRmb250LXNpemU6IDE4cHg7XG4gICAgXHRtaW4taGVpZ2h0OiA3NXB4O1xuICAgIH1cblxuICAgIC5lbnRyeS10aXRsZSwgLnBvc3QtbWV0YSB7XG4gICAgXHRwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICBcdHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICB9XG4gICAgcC5wb3N0LW1ldGEge1xuXHQgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuXHQgICAgLy8gYm90dG9tOiAxNTVweDtcblx0ICAgIGJhY2tncm91bmQtY29sb3I6ICNjZDlmMzk7XG5cdCAgICBjb2xvcjogI2ZmZjtcblx0ICAgIHNwYW4ge1xuXHQgICAgXHRjb2xvcjogI2ZmZjtcblx0ICAgIFx0YSB7XG5cdCAgICBcdFx0Y29sb3I6ICNmZmY7XG5cdCAgICBcdH1cblx0ICAgIH1cblx0fVxuICAgIC5tb3JlLWxpbmsge1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Zm9udC1mYW1pbHk6ICRmb250LXNhbnM7XG5cdFx0cGFkZGluZzogMXJlbSAxLjVyZW07XG5cdCAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuXHQgICAgZm9udC1zaXplOiAxNHB4O1xuXHQgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4jY29tbWVudGZvcm0gcC5mb3JtLXN1Ym1pdCBpbnB1dCB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4ucG9zdC10ZW1wbGF0ZSAuZXRfcGJfcm93LCAucG9zdC10ZW1wbGF0ZS10ZW1wbGF0ZS1kaXZpIC5ldF9wYl9yb3cge1xuXHRwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuXHRwYWRkaW5nLWxlZnQ6IDMwcHg7XG59IiwiLy9fbmVpZ2hib3Job29kLXNpbmdsZS5zY3NzXG5cbiNuZWlnaGJvcmhvb2QtaWNvbi1saXN0IHtcblxuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICBhIHtcbiAgICBcdGRpc3BsYXk6IGJsb2NrO1xuXHQgICAgZmxvYXQ6IGxlZnQ7XG5cdCAgICBjb2xvcjojNTA1MDUwICFpbXBvcnRhbnQ7XG5cdCAgICB3aWR0aDogNTAlO1xuXHQgICAgZm9udC1zaXplOiAxcmVtO1xuXHQgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cblx0ICAgICY6YmVmb3JlIHtcblx0XHQgICAgY29udGVudDogJ1xcZjBhMyc7XG5cdFx0ICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuXHRcdCAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0ICAgIG1hcmdpbi1yaWdodDogMTBweDtcblx0XHQgICAgY29sb3I6ICMxYzMwNWM7XG5cdFx0fVxuXG5cdFx0JjpudGgtb2YtdHlwZSgybiszKSB7XG5cdFx0XHRjbGVhcjogbGVmdDtcblx0XHR9XG4gICAgfVxuXG5cdGFbaHJlZio9J2FjdGl2ZSddOmJlZm9yZSB7XG4gICAgXHRjb250ZW50OiAnXFxmMjA2Jztcblx0fVxuXG5cdGFbaHJlZio9J2FydC1zY2VuZSddOmJlZm9yZSB7XG4gICAgXHRjb250ZW50OiAnXFxmMWZjJztcblx0fVxuXG5cdGFbaHJlZio9J2FydGlzdGljJ106YmVmb3JlIHtcbiAgICBcdGNvbnRlbnQ6ICdcXGYxZmMnO1xuXHR9XG5cblx0YVtocmVmKj0nYXJ0c3knXTpiZWZvcmUge1xuICAgIFx0Y29udGVudDogJ1xcZjFmYyc7XG5cdH1cblxuXHRhW2hyZWYqPSdiaWtlLWZyaWVuZGx5J106YmVmb3JlIHtcbiAgICBcdGNvbnRlbnQ6ICdcXGYyMDYnO1xuXHR9XG5cblx0YVtocmVmKj0nY2VudHJhbGx5LWxvY2F0ZWQnXTpiZWZvcmUge1xuICAgIFx0Y29udGVudDogJ1xcZjA0MSc7XG5cdH1cblxuXHRhW2hyZWYqPSdkaW5pbmcnXTpiZWZvcmUge1xuICAgIFx0Y29udGVudDogJ1xcZjBmNSc7XG5cdH1cblxuXHRhW2hyZWYqPSdkaW5pbmcnXTpiZWZvcmUge1xuICAgIFx0Y29udGVudDogJ1xcZjBmNSc7XG5cdH1cblxuXHRhW2hyZWYqPSdncmVhdC10cmFuc2l0J106YmVmb3JlIHtcbiAgICBcdGNvbnRlbnQ6ICdcXGYyMDcnO1xuXHR9XG5cblx0YVtocmVmKj0naGlwJ106YmVmb3JlIHtcbiAgICBcdGNvbnRlbnQ6ICdcXGYwYTMnO1xuXHR9XG5cblx0YVtocmVmKj0naGlzdG9yaWMnXTpiZWZvcmUge1xuICAgIFx0Y29udGVudDogJ1xcZjFhZCc7XG5cdH1cblxuXHRhW2hyZWYqPSdpbnRlcnN0aW5nLWFyY2hpdGVjdHVyZSddOmJlZm9yZSB7XG4gICAgXHRjb250ZW50OiAnXFxmMGY3Jztcblx0fVxuXG5cdGFbaHJlZio9J2xpdmVseSddOmJlZm9yZSB7XG4gICAgXHRjb250ZW50OiAnXFxmMDAwJztcblx0fVxuXG5cdGFbaHJlZio9J2xvdmVkLWJ5LXdhc2hpbmd0b25pYW5zJ106YmVmb3JlIHtcbiAgICBcdGNvbnRlbnQ6ICdcXGYwMDQnO1xuXHR9XG5cblx0YVtocmVmKj0nbmF0aW9uYWwtem9vJ106YmVmb3JlIHtcbiAgICBcdGNvbnRlbnQ6ICdcXDAyNCc7XG5cdH1cblxuXHRhW2hyZWYqPSduaWdodGxpZmUnXTpiZWZvcmUge1xuICAgIFx0Y29udGVudDogJ1xcZjAwMCc7XG5cdH1cblxuXHRhW2hyZWYqPSdvbi10aGUtbWFsbCddOmJlZm9yZSB7XG4gICAgXHRjb250ZW50OiAnXFxmMWFkJztcblx0fVxuXG5cdGFbaHJlZio9J3BlYWNlLWFuZC1xdWlldCddOmJlZm9yZSB7XG4gICAgXHRjb250ZW50OiAnXFxmMGEzJztcblx0fVxuXG5cdGFbaHJlZio9J3Jlc2lkZW50aWFsJ106YmVmb3JlIHtcbiAgICBcdGNvbnRlbnQ6ICdcXGYxYmInO1xuXHR9XG5cblx0YVtocmVmKj0nc2NlbmljJ106YmVmb3JlIHtcbiAgICBcdGNvbnRlbnQ6ICdcXGYwM2UnO1xuXHR9XG5cblx0YVtocmVmKj0nc2hvcHBpbmcnXTpiZWZvcmUge1xuICAgIFx0Y29udGVudDogJ1xcZjI5MCc7XG5cdH1cblxuXHRhW2hyZWYqPSdzdWJ1cmJhbiddOmJlZm9yZSB7XG4gICAgXHRjb250ZW50OiAnXFxmMDE1Jztcblx0fVxuXG5cdGFbaHJlZio9J3RpZ2h0LWtuaXQnXTpiZWZvcmUge1xuICAgIFx0Y29udGVudDogJ1xcZjAzZSc7XG5cdH1cblxuXHRhW2hyZWYqPSd0b3VyaXN0eSddOmJlZm9yZSB7XG4gICAgXHRjb250ZW50OiAnXFxmMDgzJztcblx0fVxuXG5cdGFbaHJlZio9J3VwLWFuZC1jb21pbmcnXTpiZWZvcmUge1xuICAgIFx0Y29udGVudDogJ1xcZjI3MSc7XG5cdH1cblxuXHRhW2hyZWYqPSd3YWxrYWJsZSddOmJlZm9yZSB7XG4gICAgXHRjb250ZW50OiAnXFxmMjc3Jztcblx0fVxuXG59XG5cbiNwYWdlLW5hdiB7XG5cdHBvc2l0aW9uOi13ZWJraXQtc3RpY2t5O1xuXHRwb3NpdGlvbjogc3RpY2t5O1xufVxuXG4uc2luZ2xlLW5laWdoYm9yaG9vZHMgLndwZ21wX3RhYnNfY29udGFpbmVyLmNsZWFuc2xhdGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTEwcHg7XG4gICAgdG9wOiAxMDAlO1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5zaW5nbGUtbmVpZ2hib3Job29kcyAud3BnbXBfdGFic19jb250YWluZXIgLndwZ21wX3RhYnMgbGkgYS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICMxYzMxNWM7XG5cdGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xufVxuXG4uc2luZ2xlLW5laWdoYm9yaG9vZHMgLndwZ21wX3RvZ2dsZV9tYWluX2NvbnRhaW5lciAud3BnbXBfdGFiX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDJyZW07XG5cdFx0Ym9yZGVyOiBub25lO1xufVxuXG4uc2luZ2xlLW5laWdoYm9yaG9vZHMgLndwZ21wX3RvZ2dsZV9tYWluX2NvbnRhaW5lciB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNpbmdsZS1uZWlnaGJvcmhvb2RzIC53cGdtcF90YWJzX2NvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZDogIzFjMzE1Yztcbn1cblxuLnNpbmdsZS1uZWlnaGJvcmhvb2RzIC53cGdtcF90b2dnbGVfbWFpbl9jb250YWluZXIgLndwZ21wX3RhYl9pdGVtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXXtcblx0Ym9yZGVyOiBub25lO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBza3libHVlO1xufVxuXG4uc2luZ2xlLW5laWdoYm9yaG9vZHMgLndwZ21wX3RhYl9pdGVtIGEge1xuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMC45cmVtICFpbXBvcnRhbnQ7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uc2luZ2xlLW5laWdoYm9yaG9vZHMgLndwZ21wX3RhYl9pdGVtOmhvdmVyIGEge1xuXHR0cmFuc2l0aW9uOiBub25lO1xuXHRtYXJnaW46MDtcbn1cblxuLndwZ21wX3RvZ2dsZV9jb250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi53cGdtcF90YWJzX2NvbnRhaW5lciAud3BnbXBfdGFicywgLndwZ21wX3RvZ2dsZV9jb250YWluZXIge1xuICAgIGJhY2tncm91bmQ6ICMxYzMxNWMgIWltcG9ydGFudDtcbn1cblxuLndwZ21wX3RhYl9pdGVtIHNwYW4uYXJyb3cge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk4MXB4KSB7XG4uc2luZ2xlLW5laWdoYm9yaG9vZHMgLmV0X3BiX2d1dHRlcnMzLmV0LWRiICNldC1ib2MgLmV0X3BiX2NvbHVtbl80XzQgLmV0X3BiX2dyaWRfaXRlbTpudGgtY2hpbGQoNG4rMSkge1xuXHRjbGVhcjogbm9uZSAhaW1wb3J0YW50O1xufVxuXHQuc2luZ2xlLW5laWdoYm9yaG9vZHMgLmV0X3BiX3BvcnRmb2xpb19pdGVtIHtcblx0XHRtaW4taGVpZ2h0OiAzMjVweDtcblx0fVxuXHQuc2luZ2xlLW5laWdoYm9yaG9vZHMgLmV0X3BiX3BvcnRmb2xpb19pdGVtOm50aC1jaGlsZCg0bisxKSB7XG5cdFx0Y2xlYXI6bm9uZSAhaW1wb3J0YW50O1xuXHR9XG59XG5cbi5zaW5nbGUtbmVpZ2hib3Job29kcyAuaGVhZGVyLWNvbnRlbnQtY29udGFpbmVyIGgxLCAuc2luZ2xlLW5laWdoYm9yaG9vZHMgLmhlYWRlci1jb250ZW50LWNvbnRhaW5lciAuZXRfcGJfZnVsbHdpZHRoX2hlYWRlcl9zdWJoZWFkIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0bztcblx0Zm9udC1mYW1pbHk6ICdDYW50YXRhIE9uZScsR2VvcmdpYSxcIlRpbWVzIE5ldyBSb21hblwiLHNlcmlmO1xufVxuLnNpbmdsZS1uZWlnaGJvcmhvb2RzIC5oZWFkZXItY29udGVudC1jb250YWluZXIgLmV0X3BiX2Z1bGx3aWR0aF9oZWFkZXJfc3ViaGVhZCB7XG5cdGZvbnQtc2l6ZTogMy41cmVtO1xufVxuXG4vLyAuc2luZ2xlLW5laWdoYm9yaG9vZHMgLndwZ21wX3RvZ2dsZV9tYWluX2NvbnRhaW5lciAud3BnbXBfdGFiX2l0ZW0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdXG4vLyB7XG4vLyAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbi8vICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuLy8gICAgICBhcHBlYXJhbmNlOiBub25lO1xuLy8gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4vLyAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbi8vICAgICAgY29sb3I6ICM2NjY7XG4vLyAgICAgIHRvcDogMDtcbi8vICAgICAgaGVpZ2h0OiAyMHB4O1xuLy8gICAgICB3aWR0aDogMjBweDtcbi8vICAgICAgYm9yZGVyOiAwO1xuLy8gICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4vLyAgICAgIGN1cnNvcjogcG9pbnRlcjsgICAgIFxuLy8gICAgICBtYXJnaW4tcmlnaHQ6IDdweDtcbi8vICAgICAgb3V0bGluZTogbm9uZTtcbi8vIH1cblxuLy8gLnNpbmdsZS1uZWlnaGJvcmhvb2RzIC53cGdtcF90b2dnbGVfbWFpbl9jb250YWluZXIgLndwZ21wX3RhYl9pdGVtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkOjpiZWZvcmVcbi8vIHtcbi8vICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICAgICBmb250OiAxM3B4LzEgJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XG4vLyAgICAgIGxlZnQ6IDhweDtcbi8vICAgICAgdG9wOiA1cHg7XG4vLyAgICAgIGNvbnRlbnQ6ICdcXDAyMTQzJztcbi8vICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDBkZWcpO1xuLy8gfVxuLy8gLnNpbmdsZS1uZWlnaGJvcmhvb2RzIC53cGdtcF90b2dnbGVfbWFpbl9jb250YWluZXIgLndwZ21wX3RhYl9pdGVtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpob3ZlclxuLy8ge1xuLy8gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlO1xuLy8gfVxuLy8gLnNpbmdsZS1uZWlnaGJvcmhvb2RzIC53cGdtcF90b2dnbGVfbWFpbl9jb250YWluZXIgLndwZ21wX3RhYl9pdGVtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkXG4vLyB7XG4vLyAgICAgIGJhY2tncm91bmQtY29sb3I6IHNreWJsdWU7XG4vLyB9XG5cbi5ldF9wYl9jb2x1bW4gLmV0X3BiX2dyaWRfaXRlbS5ldF9wYl9wb3J0Zm9saW9faXRlbSB7XG5cdEBtZWRpYSAobWF4LXdpZHRoOiA2ODBweCkge1xuXHRcdGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG5cdFx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblx0XHRtYXJnaW46IDAgMCAycmVtICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuLmN1c3RvbS1maWx0ZXItZ3JpZCAuZXRfcGJfZ3JpZF9pdGVtIHtcblx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xuXHRib3JkZXI6MXJlbSBzb2xpZCAjZjVmNWY1O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdG1pbi1oZWlnaHQ6IDQyNXB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRAbWVkaWEgKG1heC13aWR0aDogNjgwcHgpIHtcblx0XHRmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuXHRcdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdFx0bWFyZ2luOiAwIDAgMnJlbSAhaW1wb3J0YW50O1xuXHR9XG59XG5cbi5jdXN0b20tZmlsdGVyLWdyaWQge1xuXHQuaXMtdGVybSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdC8vIHBhZGRpbmc6IDAuMjVyZW0gMCAwLjI1cmVtIDAuNXJlbTtcblx0XHQmOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogJywnO1xuXHRcdH1cblx0fVxufVxuXG4vLyAuY3VzdG9tLWZpbHRlci1ncmlkIC5ldF9wYl9ncmlkX2l0ZW0gLnRlcm0td3JhcHBlciB7XG4vLyBcdG1heC1oZWlnaHQ6IDA7XG4vLyBcdG92ZXJmbG93LXk6IGhpZGRlbjtcbi8vIFx0b3BhY2l0eTowO1xuLy8gXHR0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XG4vLyB9XG5cbi5jdXN0b20tZmlsdGVyLWdyaWQgLmV0X3BiX2dyaWRfaXRlbSAudGVybS13cmFwcGVyIHtcblx0QG1lZGlhIChtYXgtd2lkdGg6IDY4MHB4KSB7XG5cdFx0Ly8gbWF4LWhlaWdodDogMDtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDApIHRyYW5zbGF0ZVkoMCk7XG5cdFx0cGFkZGluZzogMXJlbTtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcblx0XHQvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcyBlYXNlLWluLW91dDtcblx0XHQvLyBvdmVyZmxvdy15OiBoaWRkZW47XG5cdH1cbn1cblxuLmN1c3RvbS1maWx0ZXItZ3JpZCAuZXRfcGJfZ3JpZF9pdGVtOmhvdmVyIC50ZXJtLXdyYXBwZXIge1xuXHQvLyBtYXgtaGVpZ2h0OiAyMDBweDtcblx0dHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVZKC0xcmVtKTtcblx0b3BhY2l0eTogMTtcbn1cblxuLmN1c3RvbS1maWx0ZXItZ3JpZCAuZXRfcGJfZ3JpZF9pdGVtIC5pcy10ZXJtIHtcblx0Ly8gdHJhbnNmb3JtOiBzY2FsZSgwKTtcblx0Ly8gdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuXHRmb250LXNpemU6IDAuOTtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdC8vIG9wYWNpdHk6IDA7XG5cdG1hcmdpbi1sZWZ0OiAwLjVyZW07XG5cdC8vIHBhZGRpbmc6IDA7XG5cdC8vIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXMgZWFzZS1pbi1vdXQ7XG59XG5cbi8vIC5jdXN0b20tZmlsdGVyLWdyaWQgLmV0X3BiX2dyaWRfaXRlbTpob3ZlciAuaXMtdGVybSB7XG5cdC8vIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcblx0Ly8gZm9udC1zaXplOiAwLjlyZW07XG5cdC8vIHBhZGRpbmc6IDAuMjVyZW0gMCAwLjI1cmVtIDAuNXJlbTtcblx0Ly8gb3BhY2l0eTogMTtcbi8vIH1cblxuLmN1c3RvbS1maWx0ZXItZ3JpZCAuZXRfcGJfZ3JpZF9pdGVtIC5lbnRyeS10aXRsZTphZnRlciB7XG5cdGNvbnRlbnQ6JyQnO1xuXHRkaXNwbGF5OmJsb2NrO1xuXHRmb250LWZhbWlseTogRVRtb2R1bGVzO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogI2NkOWYzOTtcbiAgICBmb250LXNpemU6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG5cdG9wYWNpdHk6MDtcblx0dHJhbnNmb3JtOiBzY2FsZSgwKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMCwgMSwgMC41LCAxKTtcbn1cblxuLmN1c3RvbS1maWx0ZXItZ3JpZCAuZXRfcGJfZ3JpZF9pdGVtOmhvdmVyIC5lbnRyeS10aXRsZTphZnRlciB7XG5cdG9wYWNpdHk6MTtcblx0dHJhbnNmb3JtOnNjYWxlKDEpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEuNzVyZW0pO1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG59XG5cbi5jdXN0b20tZmlsdGVyLWdyaWQgLmV0X3BiX2dyaWRfaXRlbSAuZW50cnktdGl0bGUge1xuXHRwYWRkaW5nOjAgIWltcG9ydGFudDtcbn1cblxuLmN1c3RvbS1maWx0ZXItZ3JpZCAuZXRfcGJfZ3JpZF9pdGVtIC5lbnRyeS10aXRsZSBhIHtcblx0ZGlzcGxheTpibG9jaztcblx0cGFkZGluZzoxcmVtO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7XG59XG5cbi5jdXN0b20tZmlsdGVyLWdyaWQgLmV0X3BiX2dyaWRfaXRlbSAuZW50cnktdGl0bGUgYSB7XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycmVtKTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDEsIDAuNSwgMSk7XG5cdHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbn1cblxuLmN1c3RvbS1maWx0ZXItZ3JpZCAuZXRfcGJfZ3JpZF9pdGVtOmhvdmVyIC5lbnRyeS10aXRsZSBhIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycmVtKTtcbn1cblxuLy8gLmN1c3RvbS1maWx0ZXItZ3JpZCAuZXRfcGJfZ3JpZF9pdGVtOmhvdmVyIC5lbnRyeS10aXRsZSBhOmFmdGVyIHtcbi8vIFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFyZW0pO1xuLy8gfVxuXG5AbWVkaWEgKG1heC13aWR0aDo5ODBweCl7XG5cdC5ldC1kYiAjZXQtYm9jICNnZXR0aW5nLWFyb3VuZCB7XG5cdCAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQuZXQtZGIgI2V0LWJvYyAjb3ZlcnZpZXcge1xuXHQgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG59XG5cbi8vIC5zaW5nbGUtbmVpZ2hib3Job29kcyAubmVhcmJ5LWNvbW11bml0eS1ncmlkIC5ldF9wYl9wb3J0Zm9saW9faXRlbSAubW9yZS1saW5rIHtcbi8vICAgICBmb250LXNpemU6IDAuODc1ZW07XG4vLyAgICAgZm9udC1mYW1pbHk6ICRmb250LXNhbnM7XG4vLyAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuLy8gICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4vLyB9XG5cbi8vIC5jdXN0b20tZmlsdGVyLWdyaWQgLmV0X3BiX3BvcnRmb2xpb19pdGVtIC5tb3JlLWxpbmsge1xuLy8gICAgIGZvbnQtc2l6ZTogMC44NzVlbSAhaW1wb3J0YW50O1xuLy8gICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zYW5zICFpbXBvcnRhbnQ7XG4vLyB9IiwiQG1lZGlhIChtaW4td2lkdGg6IDk4MXB4KSB7XG4ucGFnZS1pZC0zMiAuZXRfcGJfZmlsdGVyYWJsZV9wb3J0Zm9saW8gIC5ldF9wYl9ncmlkX2l0ZW06bnRoLWNoaWxkKDRuKzEpLCAucGFnZS1pZC0zMiAuZXRfcGJfZHBibG9nX3BvcnRmb2xpbyAuZXRfcGJfZ3JpZF9pdGVtOm50aC1jaGlsZCg0bisxKSB7XG4gICAgY2xlYXI6IG5vbmUgIWltcG9ydGFudDtcblx0fVxuXHRcblx0LnBhZ2UtaWQtMzIgLmV0X3BiX3BvcnRmb2xpb19pdGVtLmV0X3BiX2dyaWRfaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50O1xuXHR9XG59XG5cbmRpdiNuZWlnaGJvcmhvb2RBcmNoaXZlQW1lbml0eU5hdiB1bCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbmRpdiNuZWlnaGJvcmhvb2RBcmNoaXZlQW1lbml0eU5hdiB1bCBsaSB7XG5cdGZvbnQtc2l6ZTogMTZweDtcbiAgICBwYWRkaW5nOiAwLjM3NXJlbSAwLjVyZW0gIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5ODFweCkge1xuXHQgICAgZm9udC1zaXplOiAyMHB4O1xuXHRcdHBhZGRpbmc6MC4zNzVyZW0gMS4yNXJlbSAhaW1wb3J0YW50O1xuXHRcdG1hcmdpbi1yaWdodDoxcmVtO1xuXHR9XG59XG5cbmRpdiNuZWlnaGJvcmhvb2RBcmNoaXZlQW1lbml0eU5hdiB1bCBsaSBzcGFuIHtcblx0Y29sb3I6IzFjMzE1Yztcblx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdG1hcmdpbi1yaWdodDowLjVyZW07XG5cdHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbn1cblxuZGl2I25laWdoYm9yaG9vZEFyY2hpdmVBbWVuaXR5TmF2IHVsIGxpLm1peGl0dXAtY29udHJvbC1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZGVkZWRlO1xufVxuXG4vLyAjbmVpZ2hib3Job29kQXJjaGl2ZUxvb3AgLnR5cGUtbmVpZ2hib3Job29kcyBoMiB7XG4vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4vLyAgICAgcGFkZGluZzogMXJlbSAwO1xuLy8gICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbi8vICAgICB3aWR0aDogMTAwJTtcbi8vICAgICBib3R0b206IDA7XG4vLyAgICAgbGVmdDogMDtcbi8vIFx0bWluLWhlaWdodDoxMHB4O1xuLy8gXHR0cmFuc2l0aW9uOiBtaW4taGVpZ2h0IDIwMG1zIGVhc2UtaW4tb3V0O1xuLy8gfVxuXG4vLyAjbmVpZ2hib3Job29kQXJjaGl2ZUxvb3AgLnR5cGUtbmVpZ2hib3Job29kczpob3ZlciBoMiB7XG4vLyBcdG1pbi1oZWlnaHQ6MTAwcHg7XG4vLyB9XG4iXX0= */
