meta.foundation-version{font-family:"/5.5.3/"}meta.foundation-mq-small{font-family:"/only screen/";width:0}meta.foundation-mq-small-only{font-family:"/only screen and (max-width: 40em)/";width:0}meta.foundation-mq-medium{font-family:"/only screen and (min-width:40.0625em)/";width:40.0625em}meta.foundation-mq-medium-only{font-family:"/only screen and (min-width:40.0625em) and (max-width:64em)/";width:40.0625em}meta.foundation-mq-large{font-family:"/only screen and (min-width:64.0625em)/";width:64.0625em}meta.foundation-mq-large-only{font-family:"/only screen and (min-width:64.0625em) and (max-width:90em)/";width:64.0625em}meta.foundation-mq-xlarge{font-family:"/only screen and (min-width:90.0625em)/";width:90.0625em}meta.foundation-mq-xlarge-only{font-family:"/only screen and (min-width:90.0625em) and (max-width:120em)/";width:90.0625em}meta.foundation-mq-xxlarge{font-family:"/only screen and (min-width:120.0625em)/";width:120.0625em}meta.foundation-data-attribute-namespace{font-family:false}html,body{height:100%}*,*:before,*:after{box-sizing:border-box}html,body{font-size:16px}body{background:#eee;color:#333;cursor:auto;font-family:"Lato",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;line-height:1.5;margin:0;padding:0;position:relative}a:hover{cursor:pointer}img{max-width:100%;height:auto}img{-ms-interpolation-mode:bicubic}#map_canvas img,#map_canvas embed,#map_canvas object,.map_canvas img,.map_canvas embed,.map_canvas object,.mqa-display img,.mqa-display embed,.mqa-display object{max-width:none !important}.left{float:left !important}.right{float:right !important}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}.hide{display:none}.invisible{visibility:hidden}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:inline-block;vertical-align:middle}textarea{height:auto;min-height:50px}select{width:100%}.row{margin:0 auto;max-width:62.5rem;width:100%}.row:before,.row:after{content:" ";display:table}.row:after{clear:both}.row.collapse>.column,.row.collapse>.columns{padding-left:0;padding-right:0}.row.collapse .row{margin-left:0;margin-right:0}.row .row{margin:0 -.9375rem;max-width:none;width:auto}.row .row:before,.row .row:after{content:" ";display:table}.row .row:after{clear:both}.row .row.collapse{margin:0;max-width:none;width:auto}.row .row.collapse:before,.row .row.collapse:after{content:" ";display:table}.row .row.collapse:after{clear:both}.column,.columns{padding-left:.9375rem;padding-right:.9375rem;width:100%;float:left}.column+.column:last-child,.columns+.column:last-child,.column+.columns:last-child,.columns+.columns:last-child{float:right}.column+.column.end,.columns+.column.end,.column+.columns.end,.columns+.columns.end{float:left}@media only screen{.small-push-0{position:relative;left:0;right:auto}.small-pull-0{position:relative;right:0;left:auto}.small-push-1{position:relative;left:8.33333%;right:auto}.small-pull-1{position:relative;right:8.33333%;left:auto}.small-push-2{position:relative;left:16.66667%;right:auto}.small-pull-2{position:relative;right:16.66667%;left:auto}.small-push-3{position:relative;left:25%;right:auto}.small-pull-3{position:relative;right:25%;left:auto}.small-push-4{position:relative;left:33.33333%;right:auto}.small-pull-4{position:relative;right:33.33333%;left:auto}.small-push-5{position:relative;left:41.66667%;right:auto}.small-pull-5{position:relative;right:41.66667%;left:auto}.small-push-6{position:relative;left:50%;right:auto}.small-pull-6{position:relative;right:50%;left:auto}.small-push-7{position:relative;left:58.33333%;right:auto}.small-pull-7{position:relative;right:58.33333%;left:auto}.small-push-8{position:relative;left:66.66667%;right:auto}.small-pull-8{position:relative;right:66.66667%;left:auto}.small-push-9{position:relative;left:75%;right:auto}.small-pull-9{position:relative;right:75%;left:auto}.small-push-10{position:relative;left:83.33333%;right:auto}.small-pull-10{position:relative;right:83.33333%;left:auto}.small-push-11{position:relative;left:91.66667%;right:auto}.small-pull-11{position:relative;right:91.66667%;left:auto}.column,.columns{position:relative;padding-left:.9375rem;padding-right:.9375rem;float:left}.small-1{width:8.33333%}.small-2{width:16.66667%}.small-3{width:25%}.small-4{width:33.33333%}.small-5{width:41.66667%}.small-6{width:50%}.small-7{width:58.33333%}.small-8{width:66.66667%}.small-9{width:75%}.small-10{width:83.33333%}.small-11{width:91.66667%}.small-12{width:100%}.small-offset-0{margin-left:0 !important}.small-offset-1{margin-left:8.33333% !important}.small-offset-2{margin-left:16.66667% !important}.small-offset-3{margin-left:25% !important}.small-offset-4{margin-left:33.33333% !important}.small-offset-5{margin-left:41.66667% !important}.small-offset-6{margin-left:50% !important}.small-offset-7{margin-left:58.33333% !important}.small-offset-8{margin-left:66.66667% !important}.small-offset-9{margin-left:75% !important}.small-offset-10{margin-left:83.33333% !important}.small-offset-11{margin-left:91.66667% !important}.small-reset-order{float:left;left:auto;margin-left:0;margin-right:0;right:auto}.column.small-centered,.columns.small-centered{margin-left:auto;margin-right:auto;float:none}.column.small-uncentered,.columns.small-uncentered{float:left;margin-left:0;margin-right:0}.column.small-centered:last-child,.columns.small-centered:last-child{float:none}.column.small-uncentered:last-child,.columns.small-uncentered:last-child{float:left}.column.small-uncentered.opposite,.columns.small-uncentered.opposite{float:right}.row.small-collapse>.column,.row.small-collapse>.columns{padding-left:0;padding-right:0}.row.small-collapse .row{margin-left:0;margin-right:0}.row.small-uncollapse>.column,.row.small-uncollapse>.columns{padding-left:.9375rem;padding-right:.9375rem;float:left}}@media only screen and (min-width: 40.0625em){.medium-push-0{position:relative;left:0;right:auto}.medium-pull-0{position:relative;right:0;left:auto}.medium-push-1{position:relative;left:8.33333%;right:auto}.medium-pull-1{position:relative;right:8.33333%;left:auto}.medium-push-2{position:relative;left:16.66667%;right:auto}.medium-pull-2{position:relative;right:16.66667%;left:auto}.medium-push-3{position:relative;left:25%;right:auto}.medium-pull-3{position:relative;right:25%;left:auto}.medium-push-4{position:relative;left:33.33333%;right:auto}.medium-pull-4{position:relative;right:33.33333%;left:auto}.medium-push-5{position:relative;left:41.66667%;right:auto}.medium-pull-5{position:relative;right:41.66667%;left:auto}.medium-push-6{position:relative;left:50%;right:auto}.medium-pull-6{position:relative;right:50%;left:auto}.medium-push-7{position:relative;left:58.33333%;right:auto}.medium-pull-7{position:relative;right:58.33333%;left:auto}.medium-push-8{position:relative;left:66.66667%;right:auto}.medium-pull-8{position:relative;right:66.66667%;left:auto}.medium-push-9{position:relative;left:75%;right:auto}.medium-pull-9{position:relative;right:75%;left:auto}.medium-push-10{position:relative;left:83.33333%;right:auto}.medium-pull-10{position:relative;right:83.33333%;left:auto}.medium-push-11{position:relative;left:91.66667%;right:auto}.medium-pull-11{position:relative;right:91.66667%;left:auto}.column,.columns{position:relative;padding-left:.9375rem;padding-right:.9375rem;float:left}.medium-1{width:8.33333%}.medium-2{width:16.66667%}.medium-3{width:25%}.medium-4{width:33.33333%}.medium-5{width:41.66667%}.medium-6{width:50%}.medium-7{width:58.33333%}.medium-8{width:66.66667%}.medium-9{width:75%}.medium-10{width:83.33333%}.medium-11{width:91.66667%}.medium-12{width:100%}.medium-offset-0{margin-left:0 !important}.medium-offset-1{margin-left:8.33333% !important}.medium-offset-2{margin-left:16.66667% !important}.medium-offset-3{margin-left:25% !important}.medium-offset-4{margin-left:33.33333% !important}.medium-offset-5{margin-left:41.66667% !important}.medium-offset-6{margin-left:50% !important}.medium-offset-7{margin-left:58.33333% !important}.medium-offset-8{margin-left:66.66667% !important}.medium-offset-9{margin-left:75% !important}.medium-offset-10{margin-left:83.33333% !important}.medium-offset-11{margin-left:91.66667% !important}.medium-reset-order{float:left;left:auto;margin-left:0;margin-right:0;right:auto}.column.medium-centered,.columns.medium-centered{margin-left:auto;margin-right:auto;float:none}.column.medium-uncentered,.columns.medium-uncentered{float:left;margin-left:0;margin-right:0}.column.medium-centered:last-child,.columns.medium-centered:last-child{float:none}.column.medium-uncentered:last-child,.columns.medium-uncentered:last-child{float:left}.column.medium-uncentered.opposite,.columns.medium-uncentered.opposite{float:right}.row.medium-collapse>.column,.row.medium-collapse>.columns{padding-left:0;padding-right:0}.row.medium-collapse .row{margin-left:0;margin-right:0}.row.medium-uncollapse>.column,.row.medium-uncollapse>.columns{padding-left:.9375rem;padding-right:.9375rem;float:left}.push-0{position:relative;left:0;right:auto}.pull-0{position:relative;right:0;left:auto}.push-1{position:relative;left:8.33333%;right:auto}.pull-1{position:relative;right:8.33333%;left:auto}.push-2{position:relative;left:16.66667%;right:auto}.pull-2{position:relative;right:16.66667%;left:auto}.push-3{position:relative;left:25%;right:auto}.pull-3{position:relative;right:25%;left:auto}.push-4{position:relative;left:33.33333%;right:auto}.pull-4{position:relative;right:33.33333%;left:auto}.push-5{position:relative;left:41.66667%;right:auto}.pull-5{position:relative;right:41.66667%;left:auto}.push-6{position:relative;left:50%;right:auto}.pull-6{position:relative;right:50%;left:auto}.push-7{position:relative;left:58.33333%;right:auto}.pull-7{position:relative;right:58.33333%;left:auto}.push-8{position:relative;left:66.66667%;right:auto}.pull-8{position:relative;right:66.66667%;left:auto}.push-9{position:relative;left:75%;right:auto}.pull-9{position:relative;right:75%;left:auto}.push-10{position:relative;left:83.33333%;right:auto}.pull-10{position:relative;right:83.33333%;left:auto}.push-11{position:relative;left:91.66667%;right:auto}.pull-11{position:relative;right:91.66667%;left:auto}}@media only screen and (min-width: 64.0625em){.large-push-0{position:relative;left:0;right:auto}.large-pull-0{position:relative;right:0;left:auto}.large-push-1{position:relative;left:8.33333%;right:auto}.large-pull-1{position:relative;right:8.33333%;left:auto}.large-push-2{position:relative;left:16.66667%;right:auto}.large-pull-2{position:relative;right:16.66667%;left:auto}.large-push-3{position:relative;left:25%;right:auto}.large-pull-3{position:relative;right:25%;left:auto}.large-push-4{position:relative;left:33.33333%;right:auto}.large-pull-4{position:relative;right:33.33333%;left:auto}.large-push-5{position:relative;left:41.66667%;right:auto}.large-pull-5{position:relative;right:41.66667%;left:auto}.large-push-6{position:relative;left:50%;right:auto}.large-pull-6{position:relative;right:50%;left:auto}.large-push-7{position:relative;left:58.33333%;right:auto}.large-pull-7{position:relative;right:58.33333%;left:auto}.large-push-8{position:relative;left:66.66667%;right:auto}.large-pull-8{position:relative;right:66.66667%;left:auto}.large-push-9{position:relative;left:75%;right:auto}.large-pull-9{position:relative;right:75%;left:auto}.large-push-10{position:relative;left:83.33333%;right:auto}.large-pull-10{position:relative;right:83.33333%;left:auto}.large-push-11{position:relative;left:91.66667%;right:auto}.large-pull-11{position:relative;right:91.66667%;left:auto}.column,.columns{position:relative;padding-left:.9375rem;padding-right:.9375rem;float:left}.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%}.large-offset-0{margin-left:0 !important}.large-offset-1{margin-left:8.33333% !important}.large-offset-2{margin-left:16.66667% !important}.large-offset-3{margin-left:25% !important}.large-offset-4{margin-left:33.33333% !important}.large-offset-5{margin-left:41.66667% !important}.large-offset-6{margin-left:50% !important}.large-offset-7{margin-left:58.33333% !important}.large-offset-8{margin-left:66.66667% !important}.large-offset-9{margin-left:75% !important}.large-offset-10{margin-left:83.33333% !important}.large-offset-11{margin-left:91.66667% !important}.large-reset-order{float:left;left:auto;margin-left:0;margin-right:0;right:auto}.column.large-centered,.columns.large-centered{margin-left:auto;margin-right:auto;float:none}.column.large-uncentered,.columns.large-uncentered{float:left;margin-left:0;margin-right:0}.column.large-centered:last-child,.columns.large-centered:last-child{float:none}.column.large-uncentered:last-child,.columns.large-uncentered:last-child{float:left}.column.large-uncentered.opposite,.columns.large-uncentered.opposite{float:right}.row.large-collapse>.column,.row.large-collapse>.columns{padding-left:0;padding-right:0}.row.large-collapse .row{margin-left:0;margin-right:0}.row.large-uncollapse>.column,.row.large-uncollapse>.columns{padding-left:.9375rem;padding-right:.9375rem;float:left}.push-0{position:relative;left:0;right:auto}.pull-0{position:relative;right:0;left:auto}.push-1{position:relative;left:8.33333%;right:auto}.pull-1{position:relative;right:8.33333%;left:auto}.push-2{position:relative;left:16.66667%;right:auto}.pull-2{position:relative;right:16.66667%;left:auto}.push-3{position:relative;left:25%;right:auto}.pull-3{position:relative;right:25%;left:auto}.push-4{position:relative;left:33.33333%;right:auto}.pull-4{position:relative;right:33.33333%;left:auto}.push-5{position:relative;left:41.66667%;right:auto}.pull-5{position:relative;right:41.66667%;left:auto}.push-6{position:relative;left:50%;right:auto}.pull-6{position:relative;right:50%;left:auto}.push-7{position:relative;left:58.33333%;right:auto}.pull-7{position:relative;right:58.33333%;left:auto}.push-8{position:relative;left:66.66667%;right:auto}.pull-8{position:relative;right:66.66667%;left:auto}.push-9{position:relative;left:75%;right:auto}.pull-9{position:relative;right:75%;left:auto}.push-10{position:relative;left:83.33333%;right:auto}.pull-10{position:relative;right:83.33333%;left:auto}.push-11{position:relative;left:91.66667%;right:auto}.pull-11{position:relative;right:91.66667%;left:auto}}.accordion{margin-bottom:0;margin-left:0}.accordion:before,.accordion:after{content:" ";display:table}.accordion:after{clear:both}.accordion .accordion-navigation,.accordion dd{display:block;margin-bottom:0 !important}.accordion .accordion-navigation.active>a,.accordion dd.active>a{background:#e8e8e8;color:#222}.accordion .accordion-navigation>a,.accordion dd>a{background:#EFEFEF;color:#222;display:block;font-family:"Lato",Helvetica,Arial,sans-serif;font-size:1rem;padding:1rem}.accordion .accordion-navigation>a:hover,.accordion dd>a:hover{background:#e3e3e3}.accordion .accordion-navigation>.content,.accordion dd>.content{display:none;padding:.9375rem}.accordion .accordion-navigation>.content.active,.accordion dd>.content.active{background:#fff;display:block}.alert-box{border-style:solid;border-width:1px;display:block;font-size:.8125rem;font-weight:normal;margin-bottom:1.25rem;padding:.875rem 1.5rem .875rem .875rem;position:relative;transition:opacity 100ms ease-out;background-color:#57A8EA;border-color:#2f93e5;color:#fff}.alert-box .close{right:.25rem;background:inherit;color:#333;font-size:1.375rem;line-height:.9;margin-top:-.6875rem;opacity:.3;padding:0 6px 4px;position:absolute;top:50%}.alert-box .close:hover,.alert-box .close:focus{opacity:.5}.alert-box.radius{border-radius:3px}.alert-box.round{border-radius:1000px}.alert-box.success{background-color:#8BCC29;border-color:#78af23;color:#fff}.alert-box.alert{background-color:#E05151;border-color:#da2d2d;color:#fff}.alert-box.secondary{background-color:#4682b4;border-color:#3c709b;color:#fff}.alert-box.warning{background-color:#ffffe0;border-color:#ffff9d;color:#182c3d}.alert-box.info{background-color:#4682b4;border-color:#3c709b;color:#fff}.alert-box.alert-close{opacity:0}[class*="block-grid-"]{display:block;padding:0;margin:0 -.625rem}[class*="block-grid-"]:before,[class*="block-grid-"]:after{content:" ";display:table}[class*="block-grid-"]:after{clear:both}[class*="block-grid-"]>li{display:block;float:left;height:auto;padding:0 .625rem 1.25rem}@media only screen{.small-block-grid-1>li{list-style:none;width:100%}.small-block-grid-1>li:nth-of-type(1n){clear:none}.small-block-grid-1>li:nth-of-type(1n+1){clear:both}.small-block-grid-2>li{list-style:none;width:50%}.small-block-grid-2>li:nth-of-type(1n){clear:none}.small-block-grid-2>li:nth-of-type(2n+1){clear:both}.small-block-grid-3>li{list-style:none;width:33.33333%}.small-block-grid-3>li:nth-of-type(1n){clear:none}.small-block-grid-3>li:nth-of-type(3n+1){clear:both}.small-block-grid-4>li{list-style:none;width:25%}.small-block-grid-4>li:nth-of-type(1n){clear:none}.small-block-grid-4>li:nth-of-type(4n+1){clear:both}.small-block-grid-5>li{list-style:none;width:20%}.small-block-grid-5>li:nth-of-type(1n){clear:none}.small-block-grid-5>li:nth-of-type(5n+1){clear:both}.small-block-grid-6>li{list-style:none;width:16.66667%}.small-block-grid-6>li:nth-of-type(1n){clear:none}.small-block-grid-6>li:nth-of-type(6n+1){clear:both}.small-block-grid-7>li{list-style:none;width:14.28571%}.small-block-grid-7>li:nth-of-type(1n){clear:none}.small-block-grid-7>li:nth-of-type(7n+1){clear:both}.small-block-grid-8>li{list-style:none;width:12.5%}.small-block-grid-8>li:nth-of-type(1n){clear:none}.small-block-grid-8>li:nth-of-type(8n+1){clear:both}.small-block-grid-9>li{list-style:none;width:11.11111%}.small-block-grid-9>li:nth-of-type(1n){clear:none}.small-block-grid-9>li:nth-of-type(9n+1){clear:both}.small-block-grid-10>li{list-style:none;width:10%}.small-block-grid-10>li:nth-of-type(1n){clear:none}.small-block-grid-10>li:nth-of-type(10n+1){clear:both}.small-block-grid-11>li{list-style:none;width:9.09091%}.small-block-grid-11>li:nth-of-type(1n){clear:none}.small-block-grid-11>li:nth-of-type(11n+1){clear:both}.small-block-grid-12>li{list-style:none;width:8.33333%}.small-block-grid-12>li:nth-of-type(1n){clear:none}.small-block-grid-12>li:nth-of-type(12n+1){clear:both}}@media only screen and (min-width: 40.0625em){.medium-block-grid-1>li{list-style:none;width:100%}.medium-block-grid-1>li:nth-of-type(1n){clear:none}.medium-block-grid-1>li:nth-of-type(1n+1){clear:both}.medium-block-grid-2>li{list-style:none;width:50%}.medium-block-grid-2>li:nth-of-type(1n){clear:none}.medium-block-grid-2>li:nth-of-type(2n+1){clear:both}.medium-block-grid-3>li{list-style:none;width:33.33333%}.medium-block-grid-3>li:nth-of-type(1n){clear:none}.medium-block-grid-3>li:nth-of-type(3n+1){clear:both}.medium-block-grid-4>li{list-style:none;width:25%}.medium-block-grid-4>li:nth-of-type(1n){clear:none}.medium-block-grid-4>li:nth-of-type(4n+1){clear:both}.medium-block-grid-5>li{list-style:none;width:20%}.medium-block-grid-5>li:nth-of-type(1n){clear:none}.medium-block-grid-5>li:nth-of-type(5n+1){clear:both}.medium-block-grid-6>li{list-style:none;width:16.66667%}.medium-block-grid-6>li:nth-of-type(1n){clear:none}.medium-block-grid-6>li:nth-of-type(6n+1){clear:both}.medium-block-grid-7>li{list-style:none;width:14.28571%}.medium-block-grid-7>li:nth-of-type(1n){clear:none}.medium-block-grid-7>li:nth-of-type(7n+1){clear:both}.medium-block-grid-8>li{list-style:none;width:12.5%}.medium-block-grid-8>li:nth-of-type(1n){clear:none}.medium-block-grid-8>li:nth-of-type(8n+1){clear:both}.medium-block-grid-9>li{list-style:none;width:11.11111%}.medium-block-grid-9>li:nth-of-type(1n){clear:none}.medium-block-grid-9>li:nth-of-type(9n+1){clear:both}.medium-block-grid-10>li{list-style:none;width:10%}.medium-block-grid-10>li:nth-of-type(1n){clear:none}.medium-block-grid-10>li:nth-of-type(10n+1){clear:both}.medium-block-grid-11>li{list-style:none;width:9.09091%}.medium-block-grid-11>li:nth-of-type(1n){clear:none}.medium-block-grid-11>li:nth-of-type(11n+1){clear:both}.medium-block-grid-12>li{list-style:none;width:8.33333%}.medium-block-grid-12>li:nth-of-type(1n){clear:none}.medium-block-grid-12>li:nth-of-type(12n+1){clear:both}}@media only screen and (min-width: 64.0625em){.large-block-grid-1>li{list-style:none;width:100%}.large-block-grid-1>li:nth-of-type(1n){clear:none}.large-block-grid-1>li:nth-of-type(1n+1){clear:both}.large-block-grid-2>li{list-style:none;width:50%}.large-block-grid-2>li:nth-of-type(1n){clear:none}.large-block-grid-2>li:nth-of-type(2n+1){clear:both}.large-block-grid-3>li{list-style:none;width:33.33333%}.large-block-grid-3>li:nth-of-type(1n){clear:none}.large-block-grid-3>li:nth-of-type(3n+1){clear:both}.large-block-grid-4>li{list-style:none;width:25%}.large-block-grid-4>li:nth-of-type(1n){clear:none}.large-block-grid-4>li:nth-of-type(4n+1){clear:both}.large-block-grid-5>li{list-style:none;width:20%}.large-block-grid-5>li:nth-of-type(1n){clear:none}.large-block-grid-5>li:nth-of-type(5n+1){clear:both}.large-block-grid-6>li{list-style:none;width:16.66667%}.large-block-grid-6>li:nth-of-type(1n){clear:none}.large-block-grid-6>li:nth-of-type(6n+1){clear:both}.large-block-grid-7>li{list-style:none;width:14.28571%}.large-block-grid-7>li:nth-of-type(1n){clear:none}.large-block-grid-7>li:nth-of-type(7n+1){clear:both}.large-block-grid-8>li{list-style:none;width:12.5%}.large-block-grid-8>li:nth-of-type(1n){clear:none}.large-block-grid-8>li:nth-of-type(8n+1){clear:both}.large-block-grid-9>li{list-style:none;width:11.11111%}.large-block-grid-9>li:nth-of-type(1n){clear:none}.large-block-grid-9>li:nth-of-type(9n+1){clear:both}.large-block-grid-10>li{list-style:none;width:10%}.large-block-grid-10>li:nth-of-type(1n){clear:none}.large-block-grid-10>li:nth-of-type(10n+1){clear:both}.large-block-grid-11>li{list-style:none;width:9.09091%}.large-block-grid-11>li:nth-of-type(1n){clear:none}.large-block-grid-11>li:nth-of-type(11n+1){clear:both}.large-block-grid-12>li{list-style:none;width:8.33333%}.large-block-grid-12>li:nth-of-type(1n){clear:none}.large-block-grid-12>li:nth-of-type(12n+1){clear:both}}.breadcrumbs{border-style:solid;border-width:1px;display:block;list-style:none;margin-left:0;overflow:hidden;padding:.5625rem .875rem .5625rem;background-color:#abc7de;border-color:#8eb4d3;border-radius:3px}.breadcrumbs>*{color:#57A8EA;float:left;font-size:.6875rem;line-height:.6875rem;margin:0;text-transform:uppercase}.breadcrumbs>*:hover a,.breadcrumbs>*:focus a{text-decoration:underline}.breadcrumbs>* a{color:#57A8EA}.breadcrumbs>*.current{color:#333;cursor:default}.breadcrumbs>*.current a{color:#333;cursor:default}.breadcrumbs>*.current:hover,.breadcrumbs>*.current:hover a,.breadcrumbs>*.current:focus,.breadcrumbs>*.current:focus a{text-decoration:none}.breadcrumbs>*.unavailable{color:#999}.breadcrumbs>*.unavailable a{color:#999}.breadcrumbs>*.unavailable:hover,.breadcrumbs>*.unavailable:hover a,.breadcrumbs>*.unavailable:focus,.breadcrumbs>*.unavailable a:focus{color:#999;cursor:not-allowed;text-decoration:none}.breadcrumbs>*:before{color:#aaa;content:"/";margin:0 .75rem;position:relative;top:1px}.breadcrumbs>*:first-child:before{content:" ";margin:0}[aria-label="breadcrumbs"] [aria-hidden="true"]:after{content:"/"}button,.button{-webkit-appearance:none;-moz-appearance:none;border-radius:0;border-style:solid;border-width:0;cursor:pointer;font-family:"Lato",Helvetica,Arial,sans-serif;font-weight:normal;line-height:normal;margin:0 0 1.25rem;position:relative;text-align:center;text-decoration:none;display:inline-block;padding:1rem 2rem 1.0625rem 2rem;font-size:1rem;background-color:#57A8EA;border-color:#1e8ae3;color:#fff;transition:background-color 300ms ease-out}button:hover,button:focus,.button:hover,.button:focus{background-color:#1e8ae3}button:hover,button:focus,.button:hover,.button:focus{color:#fff}button.secondary,.button.secondary{background-color:#4682b4;border-color:#386890;color:#fff}button.secondary:hover,button.secondary:focus,.button.secondary:hover,.button.secondary:focus{background-color:#386890}button.secondary:hover,button.secondary:focus,.button.secondary:hover,.button.secondary:focus{color:#fff}button.success,.button.success{background-color:#8BCC29;border-color:#6fa321;color:#fff}button.success:hover,button.success:focus,.button.success:hover,.button.success:focus{background-color:#6fa321}button.success:hover,button.success:focus,.button.success:hover,.button.success:focus{color:#fff}button.alert,.button.alert{background-color:#E05151;border-color:#cf2525;color:#fff}button.alert:hover,button.alert:focus,.button.alert:hover,.button.alert:focus{background-color:#cf2525}button.alert:hover,button.alert:focus,.button.alert:hover,.button.alert:focus{color:#fff}button.warning,.button.warning{background-color:#ffffe0;border-color:#ffff80;color:#333}button.warning:hover,button.warning:focus,.button.warning:hover,.button.warning:focus{background-color:#ffff80}button.warning:hover,button.warning:focus,.button.warning:hover,.button.warning:focus{color:#333}button.info,.button.info{background-color:#4682b4;border-color:#386890;color:#fff}button.info:hover,button.info:focus,.button.info:hover,.button.info:focus{background-color:#386890}button.info:hover,button.info:focus,.button.info:hover,.button.info:focus{color:#fff}button.large,.button.large{padding:1.125rem 2.25rem 1.1875rem 2.25rem;font-size:1.25rem}button.small,.button.small{padding:.875rem 1.75rem .9375rem 1.75rem;font-size:.8125rem}button.tiny,.button.tiny{padding:.625rem 1.25rem .6875rem 1.25rem;font-size:.6875rem}button.expand,.button.expand{padding:1rem 2rem 1.0625rem 2rem;font-size:1rem;padding-bottom:1.0625rem;padding-top:1rem;padding-left:1rem;padding-right:1rem;width:100%}button.left-align,.button.left-align{text-align:left;text-indent:.75rem}button.right-align,.button.right-align{text-align:right;padding-right:.75rem}button.radius,.button.radius{border-radius:3px}button.round,.button.round{border-radius:1000px}button.disabled,button[disabled],.button.disabled,.button[disabled]{background-color:#57A8EA;border-color:#1e8ae3;color:#fff;box-shadow:none;cursor:default;opacity:.7}button.disabled:hover,button.disabled:focus,button[disabled]:hover,button[disabled]:focus,.button.disabled:hover,.button.disabled:focus,.button[disabled]:hover,.button[disabled]:focus{background-color:#1e8ae3}button.disabled:hover,button.disabled:focus,button[disabled]:hover,button[disabled]:focus,.button.disabled:hover,.button.disabled:focus,.button[disabled]:hover,.button[disabled]:focus{color:#fff}button.disabled:hover,button.disabled:focus,button[disabled]:hover,button[disabled]:focus,.button.disabled:hover,.button.disabled:focus,.button[disabled]:hover,.button[disabled]:focus{background-color:#57A8EA}button.disabled.secondary,button[disabled].secondary,.button.disabled.secondary,.button[disabled].secondary{background-color:#4682b4;border-color:#386890;color:#fff;box-shadow:none;cursor:default;opacity:.7}button.disabled.secondary:hover,button.disabled.secondary:focus,button[disabled].secondary:hover,button[disabled].secondary:focus,.button.disabled.secondary:hover,.button.disabled.secondary:focus,.button[disabled].secondary:hover,.button[disabled].secondary:focus{background-color:#386890}button.disabled.secondary:hover,button.disabled.secondary:focus,button[disabled].secondary:hover,button[disabled].secondary:focus,.button.disabled.secondary:hover,.button.disabled.secondary:focus,.button[disabled].secondary:hover,.button[disabled].secondary:focus{color:#fff}button.disabled.secondary:hover,button.disabled.secondary:focus,button[disabled].secondary:hover,button[disabled].secondary:focus,.button.disabled.secondary:hover,.button.disabled.secondary:focus,.button[disabled].secondary:hover,.button[disabled].secondary:focus{background-color:#4682b4}button.disabled.success,button[disabled].success,.button.disabled.success,.button[disabled].success{background-color:#8BCC29;border-color:#6fa321;color:#fff;box-shadow:none;cursor:default;opacity:.7}button.disabled.success:hover,button.disabled.success:focus,button[disabled].success:hover,button[disabled].success:focus,.button.disabled.success:hover,.button.disabled.success:focus,.button[disabled].success:hover,.button[disabled].success:focus{background-color:#6fa321}button.disabled.success:hover,button.disabled.success:focus,button[disabled].success:hover,button[disabled].success:focus,.button.disabled.success:hover,.button.disabled.success:focus,.button[disabled].success:hover,.button[disabled].success:focus{color:#fff}button.disabled.success:hover,button.disabled.success:focus,button[disabled].success:hover,button[disabled].success:focus,.button.disabled.success:hover,.button.disabled.success:focus,.button[disabled].success:hover,.button[disabled].success:focus{background-color:#8BCC29}button.disabled.alert,button[disabled].alert,.button.disabled.alert,.button[disabled].alert{background-color:#E05151;border-color:#cf2525;color:#fff;box-shadow:none;cursor:default;opacity:.7}button.disabled.alert:hover,button.disabled.alert:focus,button[disabled].alert:hover,button[disabled].alert:focus,.button.disabled.alert:hover,.button.disabled.alert:focus,.button[disabled].alert:hover,.button[disabled].alert:focus{background-color:#cf2525}button.disabled.alert:hover,button.disabled.alert:focus,button[disabled].alert:hover,button[disabled].alert:focus,.button.disabled.alert:hover,.button.disabled.alert:focus,.button[disabled].alert:hover,.button[disabled].alert:focus{color:#fff}button.disabled.alert:hover,button.disabled.alert:focus,button[disabled].alert:hover,button[disabled].alert:focus,.button.disabled.alert:hover,.button.disabled.alert:focus,.button[disabled].alert:hover,.button[disabled].alert:focus{background-color:#E05151}button.disabled.warning,button[disabled].warning,.button.disabled.warning,.button[disabled].warning{background-color:#ffffe0;border-color:#ffff80;color:#333;box-shadow:none;cursor:default;opacity:.7}button.disabled.warning:hover,button.disabled.warning:focus,button[disabled].warning:hover,button[disabled].warning:focus,.button.disabled.warning:hover,.button.disabled.warning:focus,.button[disabled].warning:hover,.button[disabled].warning:focus{background-color:#ffff80}button.disabled.warning:hover,button.disabled.warning:focus,button[disabled].warning:hover,button[disabled].warning:focus,.button.disabled.warning:hover,.button.disabled.warning:focus,.button[disabled].warning:hover,.button[disabled].warning:focus{color:#333}button.disabled.warning:hover,button.disabled.warning:focus,button[disabled].warning:hover,button[disabled].warning:focus,.button.disabled.warning:hover,.button.disabled.warning:focus,.button[disabled].warning:hover,.button[disabled].warning:focus{background-color:#ffffe0}button.disabled.info,button[disabled].info,.button.disabled.info,.button[disabled].info{background-color:#4682b4;border-color:#386890;color:#fff;box-shadow:none;cursor:default;opacity:.7}button.disabled.info:hover,button.disabled.info:focus,button[disabled].info:hover,button[disabled].info:focus,.button.disabled.info:hover,.button.disabled.info:focus,.button[disabled].info:hover,.button[disabled].info:focus{background-color:#386890}button.disabled.info:hover,button.disabled.info:focus,button[disabled].info:hover,button[disabled].info:focus,.button.disabled.info:hover,.button.disabled.info:focus,.button[disabled].info:hover,.button[disabled].info:focus{color:#fff}button.disabled.info:hover,button.disabled.info:focus,button[disabled].info:hover,button[disabled].info:focus,.button.disabled.info:hover,.button.disabled.info:focus,.button[disabled].info:hover,.button[disabled].info:focus{background-color:#4682b4}button::-moz-focus-inner{border:0;padding:0}@media only screen and (min-width: 40.0625em){button,.button{display:inline-block}}.button-group{list-style:none;margin:0;left:0}.button-group:before,.button-group:after{content:" ";display:table}.button-group:after{clear:both}.button-group.even-2 li{display:inline-block;margin:0 -2px;width:50%}.button-group.even-2 li>button,.button-group.even-2 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-2 li:first-child button,.button-group.even-2 li:first-child .button{border-left:0}.button-group.even-2 li button,.button-group.even-2 li .button{width:100%}.button-group.even-3 li{display:inline-block;margin:0 -2px;width:33.33333%}.button-group.even-3 li>button,.button-group.even-3 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-3 li:first-child button,.button-group.even-3 li:first-child .button{border-left:0}.button-group.even-3 li button,.button-group.even-3 li .button{width:100%}.button-group.even-4 li{display:inline-block;margin:0 -2px;width:25%}.button-group.even-4 li>button,.button-group.even-4 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-4 li:first-child button,.button-group.even-4 li:first-child .button{border-left:0}.button-group.even-4 li button,.button-group.even-4 li .button{width:100%}.button-group.even-5 li{display:inline-block;margin:0 -2px;width:20%}.button-group.even-5 li>button,.button-group.even-5 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-5 li:first-child button,.button-group.even-5 li:first-child .button{border-left:0}.button-group.even-5 li button,.button-group.even-5 li .button{width:100%}.button-group.even-6 li{display:inline-block;margin:0 -2px;width:16.66667%}.button-group.even-6 li>button,.button-group.even-6 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-6 li:first-child button,.button-group.even-6 li:first-child .button{border-left:0}.button-group.even-6 li button,.button-group.even-6 li .button{width:100%}.button-group.even-7 li{display:inline-block;margin:0 -2px;width:14.28571%}.button-group.even-7 li>button,.button-group.even-7 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-7 li:first-child button,.button-group.even-7 li:first-child .button{border-left:0}.button-group.even-7 li button,.button-group.even-7 li .button{width:100%}.button-group.even-8 li{display:inline-block;margin:0 -2px;width:12.5%}.button-group.even-8 li>button,.button-group.even-8 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-8 li:first-child button,.button-group.even-8 li:first-child .button{border-left:0}.button-group.even-8 li button,.button-group.even-8 li .button{width:100%}.button-group>li{display:inline-block;margin:0 -2px}.button-group>li>button,.button-group>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group>li:first-child button,.button-group>li:first-child .button{border-left:0}.button-group.stack>li{display:block;margin:0;float:none}.button-group.stack>li>button,.button-group.stack>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.stack>li:first-child button,.button-group.stack>li:first-child .button{border-left:0}.button-group.stack>li>button,.button-group.stack>li .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.stack>li>button{width:100%}.button-group.stack>li:first-child button,.button-group.stack>li:first-child .button{border-top:0}.button-group.stack-for-small>li{display:inline-block;margin:0 -2px}.button-group.stack-for-small>li>button,.button-group.stack-for-small>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.stack-for-small>li:first-child button,.button-group.stack-for-small>li:first-child .button{border-left:0}@media only screen and (max-width: 40em){.button-group.stack-for-small>li{display:block;margin:0;width:100%}.button-group.stack-for-small>li>button,.button-group.stack-for-small>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.stack-for-small>li:first-child button,.button-group.stack-for-small>li:first-child .button{border-left:0}.button-group.stack-for-small>li>button,.button-group.stack-for-small>li .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.stack-for-small>li>button{width:100%}.button-group.stack-for-small>li:first-child button,.button-group.stack-for-small>li:first-child .button{border-top:0}}.button-group.radius>*{display:inline-block;margin:0 -2px}.button-group.radius>*>button,.button-group.radius>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius>*:first-child button,.button-group.radius>*:first-child .button{border-left:0}.button-group.radius>*,.button-group.radius>*>a,.button-group.radius>*>button,.button-group.radius>*>.button{border-radius:0}.button-group.radius>*:first-child,.button-group.radius>*:first-child>a,.button-group.radius>*:first-child>button,.button-group.radius>*:first-child>.button{-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.button-group.radius>*:last-child,.button-group.radius>*:last-child>a,.button-group.radius>*:last-child>button,.button-group.radius>*:last-child>.button{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.button-group.radius.stack>*{display:block;margin:0}.button-group.radius.stack>*>button,.button-group.radius.stack>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius.stack>*:first-child button,.button-group.radius.stack>*:first-child .button{border-left:0}.button-group.radius.stack>*>button,.button-group.radius.stack>* .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.radius.stack>*>button{width:100%}.button-group.radius.stack>*:first-child button,.button-group.radius.stack>*:first-child .button{border-top:0}.button-group.radius.stack>*,.button-group.radius.stack>*>a,.button-group.radius.stack>*>button,.button-group.radius.stack>*>.button{border-radius:0}.button-group.radius.stack>*:first-child,.button-group.radius.stack>*:first-child>a,.button-group.radius.stack>*:first-child>button,.button-group.radius.stack>*:first-child>.button{-webkit-top-left-radius:3px;-webkit-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px}.button-group.radius.stack>*:last-child,.button-group.radius.stack>*:last-child>a,.button-group.radius.stack>*:last-child>button,.button-group.radius.stack>*:last-child>.button{-webkit-bottom-left-radius:3px;-webkit-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px}@media only screen and (min-width: 40.0625em){.button-group.radius.stack-for-small>*{display:inline-block;margin:0 -2px}.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius.stack-for-small>*:first-child button,.button-group.radius.stack-for-small>*:first-child .button{border-left:0}.button-group.radius.stack-for-small>*,.button-group.radius.stack-for-small>*>a,.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>*>.button{border-radius:0}.button-group.radius.stack-for-small>*:first-child,.button-group.radius.stack-for-small>*:first-child>a,.button-group.radius.stack-for-small>*:first-child>button,.button-group.radius.stack-for-small>*:first-child>.button{-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.button-group.radius.stack-for-small>*:last-child,.button-group.radius.stack-for-small>*:last-child>a,.button-group.radius.stack-for-small>*:last-child>button,.button-group.radius.stack-for-small>*:last-child>.button{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}}@media only screen and (max-width: 40em){.button-group.radius.stack-for-small>*{display:block;margin:0}.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius.stack-for-small>*:first-child button,.button-group.radius.stack-for-small>*:first-child .button{border-left:0}.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>* .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.radius.stack-for-small>*>button{width:100%}.button-group.radius.stack-for-small>*:first-child button,.button-group.radius.stack-for-small>*:first-child .button{border-top:0}.button-group.radius.stack-for-small>*,.button-group.radius.stack-for-small>*>a,.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>*>.button{border-radius:0}.button-group.radius.stack-for-small>*:first-child,.button-group.radius.stack-for-small>*:first-child>a,.button-group.radius.stack-for-small>*:first-child>button,.button-group.radius.stack-for-small>*:first-child>.button{-webkit-top-left-radius:3px;-webkit-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px}.button-group.radius.stack-for-small>*:last-child,.button-group.radius.stack-for-small>*:last-child>a,.button-group.radius.stack-for-small>*:last-child>button,.button-group.radius.stack-for-small>*:last-child>.button{-webkit-bottom-left-radius:3px;-webkit-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px}}.button-group.round>*{display:inline-block;margin:0 -2px}.button-group.round>*>button,.button-group.round>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round>*:first-child button,.button-group.round>*:first-child .button{border-left:0}.button-group.round>*,.button-group.round>*>a,.button-group.round>*>button,.button-group.round>*>.button{border-radius:0}.button-group.round>*:first-child,.button-group.round>*:first-child>a,.button-group.round>*:first-child>button,.button-group.round>*:first-child>.button{-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}.button-group.round>*:last-child,.button-group.round>*:last-child>a,.button-group.round>*:last-child>button,.button-group.round>*:last-child>.button{-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}.button-group.round.stack>*{display:block;margin:0}.button-group.round.stack>*>button,.button-group.round.stack>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round.stack>*:first-child button,.button-group.round.stack>*:first-child .button{border-left:0}.button-group.round.stack>*>button,.button-group.round.stack>* .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.round.stack>*>button{width:100%}.button-group.round.stack>*:first-child button,.button-group.round.stack>*:first-child .button{border-top:0}.button-group.round.stack>*,.button-group.round.stack>*>a,.button-group.round.stack>*>button,.button-group.round.stack>*>.button{border-radius:0}.button-group.round.stack>*:first-child,.button-group.round.stack>*:first-child>a,.button-group.round.stack>*:first-child>button,.button-group.round.stack>*:first-child>.button{-webkit-top-left-radius:1rem;-webkit-top-right-radius:1rem;border-top-left-radius:1rem;border-top-right-radius:1rem}.button-group.round.stack>*:last-child,.button-group.round.stack>*:last-child>a,.button-group.round.stack>*:last-child>button,.button-group.round.stack>*:last-child>.button{-webkit-bottom-left-radius:1rem;-webkit-bottom-right-radius:1rem;border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}@media only screen and (min-width: 40.0625em){.button-group.round.stack-for-small>*{display:inline-block;margin:0 -2px}.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round.stack-for-small>*:first-child button,.button-group.round.stack-for-small>*:first-child .button{border-left:0}.button-group.round.stack-for-small>*,.button-group.round.stack-for-small>*>a,.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>*>.button{border-radius:0}.button-group.round.stack-for-small>*:first-child,.button-group.round.stack-for-small>*:first-child>a,.button-group.round.stack-for-small>*:first-child>button,.button-group.round.stack-for-small>*:first-child>.button{-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}.button-group.round.stack-for-small>*:last-child,.button-group.round.stack-for-small>*:last-child>a,.button-group.round.stack-for-small>*:last-child>button,.button-group.round.stack-for-small>*:last-child>.button{-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}}@media only screen and (max-width: 40em){.button-group.round.stack-for-small>*{display:block;margin:0}.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round.stack-for-small>*:first-child button,.button-group.round.stack-for-small>*:first-child .button{border-left:0}.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>* .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.round.stack-for-small>*>button{width:100%}.button-group.round.stack-for-small>*:first-child button,.button-group.round.stack-for-small>*:first-child .button{border-top:0}.button-group.round.stack-for-small>*,.button-group.round.stack-for-small>*>a,.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>*>.button{border-radius:0}.button-group.round.stack-for-small>*:first-child,.button-group.round.stack-for-small>*:first-child>a,.button-group.round.stack-for-small>*:first-child>button,.button-group.round.stack-for-small>*:first-child>.button{-webkit-top-left-radius:1rem;-webkit-top-right-radius:1rem;border-top-left-radius:1rem;border-top-right-radius:1rem}.button-group.round.stack-for-small>*:last-child,.button-group.round.stack-for-small>*:last-child>a,.button-group.round.stack-for-small>*:last-child>button,.button-group.round.stack-for-small>*:last-child>.button{-webkit-bottom-left-radius:1rem;-webkit-bottom-right-radius:1rem;border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}}.button-bar:before,.button-bar:after{content:" ";display:table}.button-bar:after{clear:both}.button-bar .button-group{float:left;margin-right:.625rem}.button-bar .button-group div{overflow:hidden}.clearing-thumbs,[data-clearing]{list-style:none;margin-left:0;margin-bottom:0}.clearing-thumbs:before,.clearing-thumbs:after,[data-clearing]:before,[data-clearing]:after{content:" ";display:table}.clearing-thumbs:after,[data-clearing]:after{clear:both}.clearing-thumbs li,[data-clearing] li{float:left;margin-right:10px}.clearing-thumbs[class*="block-grid-"] li,[data-clearing][class*="block-grid-"] li{margin-right:0}.clearing-blackout{background:#333;height:100%;position:fixed;top:0;width:100%;z-index:998;left:0}.clearing-blackout .clearing-close{display:block}.clearing-container{height:100%;margin:0;overflow:hidden;position:relative;z-index:998}.clearing-touch-label{color:#aaa;font-size:.6em;left:50%;position:absolute;top:50%}.visible-img{height:95%;position:relative}.visible-img img{position:absolute;left:50%;top:50%;transform:translateY(-50%) translateX(-50%);max-height:100%;max-width:100%}.clearing-caption{background:#333;bottom:0;color:#ccc;font-size:.875em;line-height:1.3;margin-bottom:0;padding:10px 30px 20px;position:absolute;text-align:center;width:100%;left:0}.clearing-close{color:#ccc;display:none;font-size:30px;line-height:1;padding-left:20px;padding-top:10px;z-index:999}.clearing-close:hover,.clearing-close:focus{color:#ccc}.clearing-assembled .clearing-container{height:100%}.clearing-assembled .clearing-container .carousel>ul{display:none}.clearing-feature li{display:none}.clearing-feature li.clearing-featured-img{display:block}@media only screen and (min-width: 40.0625em){.clearing-main-prev,.clearing-main-next{height:100%;position:absolute;top:0;width:40px}.clearing-main-prev>span,.clearing-main-next>span{border:solid 12px;display:block;height:0;position:absolute;top:50%;width:0}.clearing-main-prev>span:hover,.clearing-main-next>span:hover{opacity:.8}.clearing-main-prev{left:0}.clearing-main-prev>span{left:5px;border-color:transparent;border-right-color:#ccc}.clearing-main-next{right:0}.clearing-main-next>span{border-color:transparent;border-left-color:#ccc}.clearing-main-prev.disabled,.clearing-main-next.disabled{opacity:.3}.clearing-assembled .clearing-container .carousel{background:rgba(51,51,51,0.8);height:120px;margin-top:10px;text-align:center}.clearing-assembled .clearing-container .carousel>ul{display:inline-block;z-index:999;height:100%;position:relative;float:none}.clearing-assembled .clearing-container .carousel>ul li{clear:none;cursor:pointer;display:block;float:left;margin-right:0;min-height:inherit;opacity:.4;overflow:hidden;padding:0;position:relative;width:120px}.clearing-assembled .clearing-container .carousel>ul li.fix-height img{height:100%;max-width:none}.clearing-assembled .clearing-container .carousel>ul li a.th{border:none;box-shadow:none;display:block}.clearing-assembled .clearing-container .carousel>ul li img{cursor:pointer !important;width:100% !important}.clearing-assembled .clearing-container .carousel>ul li.visible{opacity:1}.clearing-assembled .clearing-container .carousel>ul li:hover{opacity:.8}.clearing-assembled .clearing-container .visible-img{background:#333;height:85%;overflow:hidden}.clearing-close{padding-left:0;padding-top:0;position:absolute;top:10px;right:20px}}.f-dropdown{display:none;left:-9999px;list-style:none;margin-left:0;position:absolute;background:#fff;border:solid 1px #ccc;font-size:.875rem;height:auto;max-height:none;width:100%;z-index:89;margin-top:2px;max-width:200px}.f-dropdown.open{display:block}.f-dropdown>*:first-child{margin-top:0}.f-dropdown>*:last-child{margin-bottom:0}.f-dropdown:before{border:inset 6px;content:"";display:block;height:0;width:0;border-color:transparent transparent #fff transparent;border-bottom-style:solid;position:absolute;top:-12px;left:10px;z-index:89}.f-dropdown:after{border:inset 7px;content:"";display:block;height:0;width:0;border-color:transparent transparent #ccc transparent;border-bottom-style:solid;position:absolute;top:-14px;left:9px;z-index:88}.f-dropdown.right:before{left:auto;right:10px}.f-dropdown.right:after{left:auto;right:9px}.f-dropdown.drop-right{display:none;left:-9999px;list-style:none;margin-left:0;position:absolute;background:#fff;border:solid 1px #ccc;font-size:.875rem;height:auto;max-height:none;width:100%;z-index:89;margin-top:0;margin-left:2px;max-width:200px}.f-dropdown.drop-right.open{display:block}.f-dropdown.drop-right>*:first-child{margin-top:0}.f-dropdown.drop-right>*:last-child{margin-bottom:0}.f-dropdown.drop-right:before{border:inset 6px;content:"";display:block;height:0;width:0;border-color:transparent #fff transparent transparent;border-right-style:solid;position:absolute;top:10px;left:-12px;z-index:89}.f-dropdown.drop-right:after{border:inset 7px;content:"";display:block;height:0;width:0;border-color:transparent #ccc transparent transparent;border-right-style:solid;position:absolute;top:9px;left:-14px;z-index:88}.f-dropdown.drop-left{display:none;left:-9999px;list-style:none;margin-left:0;position:absolute;background:#fff;border:solid 1px #ccc;font-size:.875rem;height:auto;max-height:none;width:100%;z-index:89;margin-top:0;margin-left:-2px;max-width:200px}.f-dropdown.drop-left.open{display:block}.f-dropdown.drop-left>*:first-child{margin-top:0}.f-dropdown.drop-left>*:last-child{margin-bottom:0}.f-dropdown.drop-left:before{border:inset 6px;content:"";display:block;height:0;width:0;border-color:transparent transparent transparent #fff;border-left-style:solid;position:absolute;top:10px;right:-12px;left:auto;z-index:89}.f-dropdown.drop-left:after{border:inset 7px;content:"";display:block;height:0;width:0;border-color:transparent transparent transparent #ccc;border-left-style:solid;position:absolute;top:9px;right:-14px;left:auto;z-index:88}.f-dropdown.drop-top{display:none;left:-9999px;list-style:none;margin-left:0;position:absolute;background:#fff;border:solid 1px #ccc;font-size:.875rem;height:auto;max-height:none;width:100%;z-index:89;margin-left:0;margin-top:-2px;max-width:200px}.f-dropdown.drop-top.open{display:block}.f-dropdown.drop-top>*:first-child{margin-top:0}.f-dropdown.drop-top>*:last-child{margin-bottom:0}.f-dropdown.drop-top:before{border:inset 6px;content:"";display:block;height:0;width:0;border-color:#fff transparent transparent transparent;border-top-style:solid;bottom:-12px;position:absolute;top:auto;left:10px;right:auto;z-index:89}.f-dropdown.drop-top:after{border:inset 7px;content:"";display:block;height:0;width:0;border-color:#ccc transparent transparent transparent;border-top-style:solid;bottom:-14px;position:absolute;top:auto;left:9px;right:auto;z-index:88}.f-dropdown li{cursor:pointer;font-size:.875rem;line-height:1.125rem;margin:0}.f-dropdown li:hover,.f-dropdown li:focus{background:#eee}.f-dropdown li a{display:block;padding:.5rem;color:#555}.f-dropdown.content{display:none;left:-9999px;list-style:none;margin-left:0;position:absolute;background:#fff;border:solid 1px #ccc;font-size:.875rem;height:auto;max-height:none;padding:1.25rem;width:100%;z-index:89;max-width:200px}.f-dropdown.content.open{display:block}.f-dropdown.content>*:first-child{margin-top:0}.f-dropdown.content>*:last-child{margin-bottom:0}.f-dropdown.radius{border-radius:3px}.f-dropdown.tiny{max-width:200px}.f-dropdown.small{max-width:300px}.f-dropdown.medium{max-width:500px}.f-dropdown.large{max-width:800px}.f-dropdown.mega{width:100% !important;max-width:100% !important}.f-dropdown.mega.open{left:0 !important}.dropdown.button,button.dropdown{position:relative;padding-right:3.5625rem}.dropdown.button::after,button.dropdown::after{border-color:#fff transparent transparent transparent;border-style:solid;content:"";display:block;height:0;position:absolute;top:50%;width:0}.dropdown.button::after,button.dropdown::after{border-width:.375rem;right:1.40625rem;margin-top:-.15625rem}.dropdown.button::after,button.dropdown::after{border-color:#fff transparent transparent transparent}.dropdown.button.tiny,button.dropdown.tiny{padding-right:2.625rem}.dropdown.button.tiny:after,button.dropdown.tiny:after{border-width:.375rem;right:1.125rem;margin-top:-.125rem}.dropdown.button.tiny::after,button.dropdown.tiny::after{border-color:#fff transparent transparent transparent}.dropdown.button.small,button.dropdown.small{padding-right:3.0625rem}.dropdown.button.small::after,button.dropdown.small::after{border-width:.4375rem;right:1.3125rem;margin-top:-.15625rem}.dropdown.button.small::after,button.dropdown.small::after{border-color:#fff transparent transparent transparent}.dropdown.button.large,button.dropdown.large{padding-right:3.625rem}.dropdown.button.large::after,button.dropdown.large::after{border-width:.3125rem;right:1.71875rem;margin-top:-.15625rem}.dropdown.button.large::after,button.dropdown.large::after{border-color:#fff transparent transparent transparent}.dropdown.button.secondary:after,button.dropdown.secondary:after{border-color:#333 transparent transparent transparent}.flex-video{height:0;margin-bottom:1rem;overflow:hidden;padding-bottom:67.5%;padding-top:1.5625rem;position:relative}.flex-video.widescreen{padding-bottom:56.34%}.flex-video.vimeo{padding-top:0}.flex-video iframe,.flex-video object,.flex-video embed,.flex-video video{height:100%;position:absolute;top:0;width:100%;left:0}form{margin:0 0 1rem}form .row .row{margin:0 -.5rem}form .row .row .column,form .row .row .columns{padding:0 .5rem}form .row .row.collapse{margin:0}form .row .row.collapse .column,form .row .row.collapse .columns{padding:0}form .row .row.collapse input{-webkit-border-bottom-right-radius:0;-webkit-border-top-right-radius:0;border-bottom-right-radius:0;border-top-right-radius:0}form .row input.column,form .row input.columns,form .row textarea.column,form .row textarea.columns{padding-left:.5rem}label{color:#444;cursor:pointer;display:block;font-size:.875rem;font-weight:bold;line-height:2;margin-bottom:0}label.right{float:none !important;text-align:right}label.inline{margin:0 0 1rem 0;padding:.5625rem 0}label small{text-transform:capitalize;color:#606060}.prefix,.postfix{border-style:solid;border-width:0;display:block;font-size:.875rem;height:2.3125rem;line-height:2.3125rem;overflow:visible;padding-bottom:0;padding-top:0;position:relative;text-align:center;width:100%;z-index:2}.postfix.button{border:none;padding-left:0;padding-right:0;padding-bottom:0;padding-top:0;text-align:center}.prefix.button{border:none;padding-left:0;padding-right:0;padding-bottom:0;padding-top:0;text-align:center}.prefix.button.radius{border-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.postfix.button.radius{border-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.prefix.button.round{border-radius:0;-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}.postfix.button.round{border-radius:0;-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}span.prefix,label.prefix{background:#888;border-right:none;color:#fff;border-color:#ccc}span.postfix,label.postfix{background:#888;border-left:none;color:#fff;border-color:#ccc}input:not([type]),input[type="text"],input[type="password"],input[type="date"],input[type="datetime"],input[type="datetime-local"],input[type="month"],input[type="week"],input[type="email"],input[type="number"],input[type="search"],input[type="tel"],input[type="time"],input[type="url"],input[type="color"],textarea{-webkit-appearance:none;-moz-appearance:none;border-radius:0;background-color:#fff;border-style:solid;border-width:1px;border-color:#ddd;box-shadow:0 1px 4px rgba(0,0,0,0.06);color:rgba(0,0,0,0.75);display:block;font-family:inherit;font-size:.875rem;height:2.3125rem;margin:0 0 1rem 0;padding:.5rem;width:100%;box-sizing:border-box;transition:border-color .15s linear,background .15s linear}input:not([type]):focus,input[type="text"]:focus,input[type="password"]:focus,input[type="date"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="month"]:focus,input[type="week"]:focus,input[type="email"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="time"]:focus,input[type="url"]:focus,input[type="color"]:focus,textarea:focus{background:#fff;border-color:#4682b4;outline:none}input:not([type]):disabled,input[type="text"]:disabled,input[type="password"]:disabled,input[type="date"]:disabled,input[type="datetime"]:disabled,input[type="datetime-local"]:disabled,input[type="month"]:disabled,input[type="week"]:disabled,input[type="email"]:disabled,input[type="number"]:disabled,input[type="search"]:disabled,input[type="tel"]:disabled,input[type="time"]:disabled,input[type="url"]:disabled,input[type="color"]:disabled,textarea:disabled{background-color:#ddd;cursor:default}input:not([type])[disabled],input:not([type])[readonly],fieldset[disabled] input:not([type]),input[type="text"][disabled],input[type="text"][readonly],fieldset[disabled] input[type="text"],input[type="password"][disabled],input[type="password"][readonly],fieldset[disabled] input[type="password"],input[type="date"][disabled],input[type="date"][readonly],fieldset[disabled] input[type="date"],input[type="datetime"][disabled],input[type="datetime"][readonly],fieldset[disabled] input[type="datetime"],input[type="datetime-local"][disabled],input[type="datetime-local"][readonly],fieldset[disabled] input[type="datetime-local"],input[type="month"][disabled],input[type="month"][readonly],fieldset[disabled] input[type="month"],input[type="week"][disabled],input[type="week"][readonly],fieldset[disabled] input[type="week"],input[type="email"][disabled],input[type="email"][readonly],fieldset[disabled] input[type="email"],input[type="number"][disabled],input[type="number"][readonly],fieldset[disabled] input[type="number"],input[type="search"][disabled],input[type="search"][readonly],fieldset[disabled] input[type="search"],input[type="tel"][disabled],input[type="tel"][readonly],fieldset[disabled] input[type="tel"],input[type="time"][disabled],input[type="time"][readonly],fieldset[disabled] input[type="time"],input[type="url"][disabled],input[type="url"][readonly],fieldset[disabled] input[type="url"],input[type="color"][disabled],input[type="color"][readonly],fieldset[disabled] input[type="color"],textarea[disabled],textarea[readonly],fieldset[disabled] textarea{background-color:#ddd;cursor:default}input:not([type]).radius,input[type="text"].radius,input[type="password"].radius,input[type="date"].radius,input[type="datetime"].radius,input[type="datetime-local"].radius,input[type="month"].radius,input[type="week"].radius,input[type="email"].radius,input[type="number"].radius,input[type="search"].radius,input[type="tel"].radius,input[type="time"].radius,input[type="url"].radius,input[type="color"].radius,textarea.radius{border-radius:20px}form .row .prefix-radius.row.collapse input,form .row .prefix-radius.row.collapse textarea,form .row .prefix-radius.row.collapse select,form .row .prefix-radius.row.collapse button{border-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}form .row .prefix-radius.row.collapse .prefix{border-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}form .row .postfix-radius.row.collapse input,form .row .postfix-radius.row.collapse textarea,form .row .postfix-radius.row.collapse select,form .row .postfix-radius.row.collapse button{border-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}form .row .postfix-radius.row.collapse .postfix{border-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}form .row .prefix-round.row.collapse input,form .row .prefix-round.row.collapse textarea,form .row .prefix-round.row.collapse select,form .row .prefix-round.row.collapse button{border-radius:0;-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}form .row .prefix-round.row.collapse .prefix{border-radius:0;-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}form .row .postfix-round.row.collapse input,form .row .postfix-round.row.collapse textarea,form .row .postfix-round.row.collapse select,form .row .postfix-round.row.collapse button{border-radius:0;-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}form .row .postfix-round.row.collapse .postfix{border-radius:0;-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}input[type="submit"]{-webkit-appearance:none;-moz-appearance:none;border-radius:0}textarea[rows]{height:auto}textarea{max-width:100%}::-webkit-input-placeholder{color:#666}:-moz-placeholder{color:#666}::-moz-placeholder{color:#666}:-ms-input-placeholder{color:#666}select{-webkit-appearance:none !important;-moz-appearance:none !important;background-color:#fff;border-radius:0;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+");background-position:100% center;background-repeat:no-repeat;border-style:solid;border-width:1px;border-color:#ddd;color:rgba(0,0,0,0.75);font-family:inherit;font-size:.875rem;line-height:normal;padding:.5rem;border-radius:0;height:2.3125rem}select::-ms-expand{display:none}select.radius{border-radius:3px}select:focus{background-color:#fff;border-color:#4682b4}select:disabled{background-color:#ddd;cursor:default}select[multiple]{height:auto}input[type="file"],input[type="checkbox"],input[type="radio"],select{margin:0 0 1rem 0}input[type="checkbox"]+label,input[type="radio"]+label{display:inline-block;margin-left:.5rem;margin-right:1rem;margin-bottom:0;vertical-align:baseline}input[type="file"]{width:100%}fieldset{border:1px solid #ddd;margin:0 0 1rem;padding:1.25rem}fieldset legend{font-weight:bold;margin:0;margin-left:-.1875rem;padding:0 .1875rem}[data-abide] .error small.error,[data-abide] .error span.error,[data-abide] span.error,[data-abide] small.error{display:block;font-size:.75rem;font-style:italic;font-weight:normal;margin-bottom:1rem;margin-top:8px;padding:.375rem .625rem;background:#E05151;color:#fff}[data-abide] span.error,[data-abide] small.error{display:none}span.error,small.error{display:block;font-size:.75rem;font-style:italic;font-weight:normal;margin-bottom:1rem;margin-top:8px;padding:.375rem .625rem;background:#E05151;color:#fff}.error input,.error textarea,.error select{margin-bottom:0}.error input[type="checkbox"],.error input[type="radio"]{margin-bottom:1rem}.error label,.error label.error{color:#E05151}.error small.error{display:block;font-size:.75rem;font-style:italic;font-weight:normal;margin-bottom:1rem;margin-top:8px;padding:.375rem .625rem;background:#E05151;color:#fff}.error>label>small{background:transparent;color:#606060;display:inline;font-size:60%;font-style:normal;margin:0;padding:0;text-transform:capitalize}.error span.error-message{display:block}input.error,textarea.error,select.error{margin-bottom:0}label.error{color:#E05151}.icon-bar{display:inline-block;font-size:0;width:100%;background:#333}.icon-bar>*{display:block;float:left;font-size:1rem;margin:0 auto;padding:1.25rem;text-align:center;width:25%}.icon-bar>* i,.icon-bar>* img{display:block;margin:0 auto}.icon-bar>* i+label,.icon-bar>* img+label{margin-top:.0625rem}.icon-bar>* i{font-size:1.875rem;vertical-align:middle}.icon-bar>* img{height:1.875rem;width:1.875rem}.icon-bar.label-right>* i,.icon-bar.label-right>* img{display:inline-block;margin:0 .0625rem 0 0}.icon-bar.label-right>* i+label,.icon-bar.label-right>* img+label{margin-top:0}.icon-bar.label-right>* label{display:inline-block}.icon-bar.vertical.label-right>*{text-align:left}.icon-bar.vertical,.icon-bar.small-vertical{height:100%;width:auto}.icon-bar.vertical .item,.icon-bar.small-vertical .item{float:none;margin:auto;width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.medium-vertical{height:100%;width:auto}.icon-bar.medium-vertical .item{float:none;margin:auto;width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.large-vertical{height:100%;width:auto}.icon-bar.large-vertical .item{float:none;margin:auto;width:auto}}.icon-bar>*{font-size:1rem;padding:1.25rem}.icon-bar>* i+label,.icon-bar>* img+label{margin-top:.0625rem;font-size:1rem}.icon-bar>* i{font-size:1.875rem}.icon-bar>* img{height:1.875rem;width:1.875rem}.icon-bar>* label{color:#fff}.icon-bar>* i{color:#fff}.icon-bar>a:hover{background:#57A8EA}.icon-bar>a:hover label{color:#fff}.icon-bar>a:hover i{color:#fff}.icon-bar>a.active{background:#57A8EA}.icon-bar>a.active label{color:#fff}.icon-bar>a.active i{color:#fff}.icon-bar .item.disabled{cursor:not-allowed;opacity:.7;pointer-events:none}.icon-bar .item.disabled>*{opacity:.7;cursor:not-allowed}.icon-bar.two-up .item{width:50%}.icon-bar.two-up.vertical .item,.icon-bar.two-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.two-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.two-up.large-vertical .item{width:auto}}.icon-bar.three-up .item{width:33.3333%}.icon-bar.three-up.vertical .item,.icon-bar.three-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.three-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.three-up.large-vertical .item{width:auto}}.icon-bar.four-up .item{width:25%}.icon-bar.four-up.vertical .item,.icon-bar.four-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.four-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.four-up.large-vertical .item{width:auto}}.icon-bar.five-up .item{width:20%}.icon-bar.five-up.vertical .item,.icon-bar.five-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.five-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.five-up.large-vertical .item{width:auto}}.icon-bar.six-up .item{width:16.66667%}.icon-bar.six-up.vertical .item,.icon-bar.six-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.six-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.six-up.large-vertical .item{width:auto}}.icon-bar.seven-up .item{width:14.28571%}.icon-bar.seven-up.vertical .item,.icon-bar.seven-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.seven-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.seven-up.large-vertical .item{width:auto}}.icon-bar.eight-up .item{width:12.5%}.icon-bar.eight-up.vertical .item,.icon-bar.eight-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.eight-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.eight-up.large-vertical .item{width:auto}}.icon-bar.two-up .item{width:50%}.icon-bar.two-up.vertical .item,.icon-bar.two-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.two-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.two-up.large-vertical .item{width:auto}}.icon-bar.three-up .item{width:33.3333%}.icon-bar.three-up.vertical .item,.icon-bar.three-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.three-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.three-up.large-vertical .item{width:auto}}.icon-bar.four-up .item{width:25%}.icon-bar.four-up.vertical .item,.icon-bar.four-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.four-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.four-up.large-vertical .item{width:auto}}.icon-bar.five-up .item{width:20%}.icon-bar.five-up.vertical .item,.icon-bar.five-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.five-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.five-up.large-vertical .item{width:auto}}.icon-bar.six-up .item{width:16.66667%}.icon-bar.six-up.vertical .item,.icon-bar.six-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.six-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.six-up.large-vertical .item{width:auto}}.icon-bar.seven-up .item{width:14.28571%}.icon-bar.seven-up.vertical .item,.icon-bar.seven-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.seven-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.seven-up.large-vertical .item{width:auto}}.icon-bar.eight-up .item{width:12.5%}.icon-bar.eight-up.vertical .item,.icon-bar.eight-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.eight-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.eight-up.large-vertical .item{width:auto}}.inline-list{list-style:none;margin-top:0;margin-bottom:1.0625rem;margin-left:-1.375rem;margin-right:0;overflow:hidden;padding:0}.inline-list>li{display:block;float:left;list-style:none;margin-left:1.375rem}.inline-list>li>*{display:block}.joyride-list{display:none}.joyride-tip-guide{background:#333;color:#fff;display:none;font-family:inherit;font-weight:normal;position:absolute;top:0;width:95%;z-index:103;left:2.5%}.lt-ie9 .joyride-tip-guide{margin-left:-400px;max-width:800px;left:50%}.joyride-content-wrapper{padding:1.125rem 1.25rem 1.5rem;width:100%}.joyride-content-wrapper .button{margin-bottom:0 !important}.joyride-content-wrapper .joyride-prev-tip{margin-right:10px}.joyride-tip-guide .joyride-nub{border:10px solid #333;display:block;height:0;position:absolute;width:0;left:22px}.joyride-tip-guide .joyride-nub.top{border-color:#333;border-top-color:transparent !important;border-top-style:solid;border-left-color:transparent !important;border-right-color:transparent !important;top:-20px}.joyride-tip-guide .joyride-nub.bottom{border-color:#333 !important;border-bottom-color:transparent !important;border-bottom-style:solid;border-left-color:transparent !important;border-right-color:transparent !important;bottom:-20px}.joyride-tip-guide .joyride-nub.right{right:-20px}.joyride-tip-guide .joyride-nub.left{left:-20px}.joyride-tip-guide h1,.joyride-tip-guide h2,.joyride-tip-guide h3,.joyride-tip-guide h4,.joyride-tip-guide h5,.joyride-tip-guide h6{color:#fff;font-weight:bold;line-height:1.25;margin:0}.joyride-tip-guide p{font-size:.875rem;line-height:1.3;margin:0 0 1.125rem 0}.joyride-timer-indicator-wrap{border:solid 1px #555;bottom:1rem;height:3px;position:absolute;width:50px;right:1.0625rem}.joyride-timer-indicator{background:#666;display:block;height:inherit;width:0}.joyride-close-tip{color:#777 !important;font-size:24px;font-weight:normal;line-height:.5 !important;position:absolute;text-decoration:none;top:10px;right:12px}.joyride-close-tip:hover,.joyride-close-tip:focus{color:#eee !important}.joyride-modal-bg{background:rgba(0,0,0,0.5);cursor:pointer;display:none;height:100%;position:fixed;top:0;width:100%;z-index:100;left:0}.joyride-expose-wrapper{background-color:#fff;border-radius:3px;box-shadow:0 0 15px #fff;position:absolute;z-index:102}.joyride-expose-cover{background:transparent;border-radius:3px;left:0;position:absolute;top:0;z-index:9999}@media only screen{.joyride-tip-guide{width:300px;left:inherit}.joyride-tip-guide .joyride-nub.bottom{border-color:#333 !important;border-bottom-color:transparent !important;border-left-color:transparent !important;border-right-color:transparent !important;bottom:-20px}.joyride-tip-guide .joyride-nub.right{border-color:#333 !important;border-right-color:transparent !important;border-bottom-color:transparent !important;border-top-color:transparent !important;left:auto;right:-20px;top:22px}.joyride-tip-guide .joyride-nub.left{border-color:#333 !important;border-bottom-color:transparent !important;border-left-color:transparent !important;border-top-color:transparent !important;left:-20px;right:auto;top:22px}}.keystroke,kbd{background-color:#ededed;border-color:#ddd;color:#222;border-style:solid;border-width:1px;font-family:"Consolas","Menlo","Courier",monospace;font-size:inherit;margin:0;padding:.125rem .25rem 0;border-radius:3px}.label{display:inline-block;font-family:"Lato",Helvetica,Arial,sans-serif;font-weight:normal;line-height:1;margin-bottom:auto;position:relative;text-align:center;text-decoration:none;white-space:nowrap;padding:.25rem .5rem .25rem;font-size:.6875rem;background-color:#57A8EA;color:#fff}.label.radius{border-radius:3px}.label.round{border-radius:1000px}.label.alert{background-color:#E05151;color:#fff}.label.warning{background-color:#ffffe0;color:#333}.label.success{background-color:#8BCC29;color:#fff}.label.secondary{background-color:#4682b4;color:#fff}.label.info{background-color:#4682b4;color:#fff}[data-magellan-expedition],[data-magellan-expedition-clone]{background:#fff;min-width:100%;padding:10px;z-index:50}[data-magellan-expedition] .sub-nav,[data-magellan-expedition-clone] .sub-nav{margin-bottom:0}[data-magellan-expedition] .sub-nav dd,[data-magellan-expedition-clone] .sub-nav dd{margin-bottom:0}[data-magellan-expedition] .sub-nav a,[data-magellan-expedition-clone] .sub-nav a{line-height:1.8em}@keyframes rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.slideshow-wrapper{position:relative}.slideshow-wrapper ul{list-style-type:none;margin:0}.slideshow-wrapper ul li,.slideshow-wrapper ul li .orbit-caption{display:none}.slideshow-wrapper ul li:first-child{display:block}.slideshow-wrapper .orbit-container{background-color:transparent}.slideshow-wrapper .orbit-container li{display:block}.slideshow-wrapper .orbit-container li .orbit-caption{display:block}.slideshow-wrapper .orbit-container .orbit-bullets li{display:inline-block}.slideshow-wrapper .preloader{border-radius:1000px;animation-duration:1.5s;animation-iteration-count:infinite;animation-name:rotate;animation-timing-function:linear;border-color:#555 #fff;border:solid 3px;display:block;height:40px;left:50%;margin-left:-20px;margin-top:-20px;position:absolute;top:50%;width:40px}.orbit-container{background:none;overflow:hidden;position:relative;width:100%}.orbit-container .orbit-slides-container{list-style:none;margin:0;padding:0;position:relative;transform:translateZ(0)}.orbit-container .orbit-slides-container img{display:block;max-width:100%}.orbit-container .orbit-slides-container>*{position:absolute;top:0;width:100%;margin-left:100%}.orbit-container .orbit-slides-container>*:first-child{margin-left:0}.orbit-container .orbit-slides-container>* .orbit-caption{bottom:0;position:absolute;background-color:rgba(51,51,51,0.8);color:#fff;font-size:.875rem;padding:.625rem .875rem;width:100%}.orbit-container .orbit-slide-number{left:10px;background:transparent;color:#fff;font-size:12px;position:absolute;top:10px;z-index:10}.orbit-container .orbit-slide-number span{font-weight:700;padding:.3125rem}.orbit-container .orbit-timer{position:absolute;top:12px;right:10px;height:6px;width:100px;z-index:10}.orbit-container .orbit-timer .orbit-progress{height:3px;background-color:rgba(255,255,255,0.3);display:block;width:0;position:relative;right:20px;top:5px}.orbit-container .orbit-timer>span{border:solid 4px #fff;border-bottom:none;border-top:none;display:none;height:14px;position:absolute;top:0;width:11px;right:0}.orbit-container .orbit-timer.paused>span{top:0;width:11px;height:14px;border:inset 8px;border-left-style:solid;border-color:transparent;border-left-color:#fff;right:-4px}.orbit-container .orbit-timer.paused>span.dark{border-left-color:#333}.orbit-container:hover .orbit-timer>span{display:block}.orbit-container .orbit-prev,.orbit-container .orbit-next{background-color:transparent;color:white;height:60px;line-height:50px;margin-top:-25px;position:absolute;text-indent:-9999px !important;top:45%;width:36px;z-index:10}.orbit-container .orbit-prev:hover,.orbit-container .orbit-next:hover{background-color:rgba(0,0,0,0.3)}.orbit-container .orbit-prev>span,.orbit-container .orbit-next>span{border:inset 10px;display:block;height:0;margin-top:-10px;position:absolute;top:50%;width:0}.orbit-container .orbit-prev{left:0}.orbit-container .orbit-prev>span{border-right-style:solid;border-color:transparent;border-right-color:#fff}.orbit-container .orbit-prev:hover>span{border-right-color:#fff}.orbit-container .orbit-next{right:0}.orbit-container .orbit-next>span{border-color:transparent;border-left-style:solid;border-left-color:#fff;left:50%;margin-left:-4px}.orbit-container .orbit-next:hover>span{border-left-color:#fff}.orbit-bullets-container{text-align:center}.orbit-bullets{display:block;float:none;margin:0 auto 30px auto;overflow:hidden;position:relative;text-align:center;top:10px}.orbit-bullets li{background:#ccc;cursor:pointer;display:inline-block;float:none;height:.5625rem;margin-right:6px;width:.5625rem;border-radius:1000px}.orbit-bullets li.active{background:#999}.orbit-bullets li:last-child{margin-right:0}.touch .orbit-container .orbit-prev,.touch .orbit-container .orbit-next{display:none}.touch .orbit-bullets{display:none}@media only screen and (min-width: 40.0625em){.touch .orbit-container .orbit-prev,.touch .orbit-container .orbit-next{display:inherit}.touch .orbit-bullets{display:block}}@media only screen and (max-width: 40em){.orbit-stack-on-small .orbit-slides-container{height:auto !important}.orbit-stack-on-small .orbit-slides-container>*{margin:0  !important;opacity:1 !important;position:relative}.orbit-stack-on-small .orbit-slide-number{display:none}.orbit-timer{display:none}.orbit-next,.orbit-prev{display:none}.orbit-bullets{display:none}}ul.pagination{display:block;margin-left:-.3125rem;min-height:1.5rem}ul.pagination li{color:#222;font-size:.875rem;height:1.5rem;margin-left:.3125rem}ul.pagination li a,ul.pagination li button{border-radius:3px;transition:background-color 300ms ease-out;background:none;color:#999;display:block;font-size:1em;font-weight:normal;line-height:inherit;padding:.0625rem .625rem .0625rem}ul.pagination li:hover a,ul.pagination li a:focus,ul.pagination li:hover button,ul.pagination li button:focus{background:#e6e6e6}ul.pagination li.unavailable a,ul.pagination li.unavailable button{cursor:default;color:#999;pointer-events:none}ul.pagination li.unavailable:hover a,ul.pagination li.unavailable a:focus,ul.pagination li.unavailable:hover button,ul.pagination li.unavailable button:focus{background:transparent}ul.pagination li.current a,ul.pagination li.current button{background:#57A8EA;color:#fff;cursor:default;font-weight:bold}ul.pagination li.current a:hover,ul.pagination li.current a:focus,ul.pagination li.current button:hover,ul.pagination li.current button:focus{background:#57A8EA}ul.pagination li{display:block;float:left}.pagination-centered{text-align:center}.pagination-centered ul.pagination li{display:inline-block;float:none}.panel{border-style:solid;border-width:1px;border-color:#d8d8d8;margin-bottom:1.25rem;padding:1.25rem;background:#f2f2f2;color:#333}.panel>:first-child{margin-top:0}.panel>:last-child{margin-bottom:0}.panel h1,.panel h2,.panel h3,.panel h4,.panel h5,.panel h6,.panel p,.panel li,.panel dl{color:#333}.panel h1,.panel h2,.panel h3,.panel h4,.panel h5,.panel h6{line-height:1;margin-bottom:.625rem}.panel h1.subheader,.panel h2.subheader,.panel h3.subheader,.panel h4.subheader,.panel h5.subheader,.panel h6.subheader{line-height:1.4}.panel.callout{border-style:solid;border-width:1px;border-color:#d8d8d8;margin-bottom:1.25rem;padding:1.25rem;background:#f5fafe;color:#333}.panel.callout>:first-child{margin-top:0}.panel.callout>:last-child{margin-bottom:0}.panel.callout h1,.panel.callout h2,.panel.callout h3,.panel.callout h4,.panel.callout h5,.panel.callout h6,.panel.callout p,.panel.callout li,.panel.callout dl{color:#333}.panel.callout h1,.panel.callout h2,.panel.callout h3,.panel.callout h4,.panel.callout h5,.panel.callout h6{line-height:1;margin-bottom:.625rem}.panel.callout h1.subheader,.panel.callout h2.subheader,.panel.callout h3.subheader,.panel.callout h4.subheader,.panel.callout h5.subheader,.panel.callout h6.subheader{line-height:1.4}.panel.callout a:not(.button){color:#57A8EA}.panel.callout a:not(.button):hover,.panel.callout a:not(.button):focus{color:#2f93e5}.panel.radius{border-radius:3px}.pricing-table{border:solid 1px #ddd;margin-left:0;margin-bottom:1.25rem}.pricing-table *{list-style:none;line-height:1}.pricing-table .title{background-color:#333;color:#eee;font-family:"Lato",Helvetica,Arial,sans-serif;font-size:1rem;font-weight:normal;padding:.9375rem 1.25rem;text-align:center}.pricing-table .price{background-color:#F6F6F6;color:#333;font-family:"Lato",Helvetica,Arial,sans-serif;font-size:2rem;font-weight:normal;padding:.9375rem 1.25rem;text-align:center}.pricing-table .description{background-color:#fff;border-bottom:dotted 1px #ddd;color:#777;font-size:.75rem;font-weight:normal;line-height:1.4;padding:.9375rem;text-align:center}.pricing-table .bullet-item{background-color:#fff;border-bottom:dotted 1px #ddd;color:#333;font-size:.875rem;font-weight:normal;padding:.9375rem;text-align:center}.pricing-table .cta-button{background-color:#fff;padding:1.25rem 1.25rem 0;text-align:center}.progress{background-color:#F6F6F6;border:1px solid #fff;height:1.5625rem;margin-bottom:.625rem;padding:.125rem}.progress .meter{background:#57A8EA;display:block;height:100%;float:left;width:0%}.progress .meter.secondary{background:#4682b4;display:block;height:100%;float:left;width:0%}.progress .meter.success{background:#8BCC29;display:block;height:100%;float:left;width:0%}.progress .meter.alert{background:#E05151;display:block;height:100%;float:left;width:0%}.progress.secondary .meter{background:#4682b4;display:block;height:100%;float:left;width:0%}.progress.success .meter{background:#8BCC29;display:block;height:100%;float:left;width:0%}.progress.alert .meter{background:#E05151;display:block;height:100%;float:left;width:0%}.progress.radius{border-radius:3px}.progress.radius .meter{border-radius:2px}.progress.round{border-radius:1000px}.progress.round .meter{border-radius:999px}.range-slider{border:1px solid #ddd;margin:1.25rem 0;position:relative;-ms-touch-action:none;touch-action:none;display:block;height:1rem;width:100%;background:#FAFAFA}.range-slider.vertical-range{border:1px solid #ddd;margin:1.25rem 0;position:relative;-ms-touch-action:none;touch-action:none;display:inline-block;height:12.5rem;width:1rem}.range-slider.vertical-range .range-slider-handle{bottom:-10.5rem;margin-left:-.5rem;margin-top:0;position:absolute}.range-slider.vertical-range .range-slider-active-segment{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;border-top-left-radius:initial;bottom:0;height:auto;width:.875rem}.range-slider.radius{background:#FAFAFA;border-radius:3px}.range-slider.radius .range-slider-handle{background:#57A8EA;border-radius:3px}.range-slider.radius .range-slider-handle:hover{background:#3596e6}.range-slider.round{background:#FAFAFA;border-radius:1000px}.range-slider.round .range-slider-handle{background:#57A8EA;border-radius:1000px}.range-slider.round .range-slider-handle:hover{background:#3596e6}.range-slider.disabled,.range-slider[disabled]{background:#FAFAFA;cursor:not-allowed;opacity:.7}.range-slider.disabled .range-slider-handle,.range-slider[disabled] .range-slider-handle{background:#57A8EA;cursor:default;opacity:.7}.range-slider.disabled .range-slider-handle:hover,.range-slider[disabled] .range-slider-handle:hover{background:#3596e6}.range-slider-active-segment{background:#4581b2;border-bottom-left-radius:inherit;border-top-left-radius:inherit;display:inline-block;height:.875rem;position:absolute}.range-slider-handle{border:1px solid none;cursor:pointer;display:inline-block;height:1.375rem;position:absolute;top:-.3125rem;width:2rem;z-index:1;-ms-touch-action:manipulation;touch-action:manipulation;background:#57A8EA}.range-slider-handle:hover{background:#3596e6}.reveal-modal-bg{background:#000;background:rgba(0,0,0,0.45);bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:1004;left:0}.reveal-modal{border-radius:3px;display:none;position:absolute;top:0;visibility:hidden;width:100%;z-index:1005;left:0;background-color:#fff;padding:1.75rem;border:solid 1px #666;box-shadow:0 2px 4px 1px rgba(0,0,0,0.1)}@media only screen and (max-width: 40em){.reveal-modal{min-height:100vh}}.reveal-modal .column,.reveal-modal .columns{min-width:0}.reveal-modal>:first-child{margin-top:0}.reveal-modal>:last-child{margin-bottom:0}@media only screen and (min-width: 40.0625em){.reveal-modal{left:0;margin:0 auto;max-width:720px;right:0;width:80%}}@media only screen and (min-width: 40.0625em){.reveal-modal{top:5rem}}.reveal-modal.radius{box-shadow:none;border-radius:3px}.reveal-modal.round{box-shadow:none;border-radius:1000px}.reveal-modal.collapse{padding:0;box-shadow:none}@media only screen and (min-width: 40.0625em){.reveal-modal.tiny{left:0;margin:0 auto;max-width:720px;right:0;width:30%}}@media only screen and (min-width: 40.0625em){.reveal-modal.small{left:0;margin:0 auto;max-width:720px;right:0;width:40%}}@media only screen and (min-width: 40.0625em){.reveal-modal.medium{left:0;margin:0 auto;max-width:720px;right:0;width:60%}}@media only screen and (min-width: 40.0625em){.reveal-modal.large{left:0;margin:0 auto;max-width:720px;right:0;width:70%}}@media only screen and (min-width: 40.0625em){.reveal-modal.xlarge{left:0;margin:0 auto;max-width:720px;right:0;width:95%}}.reveal-modal.full{height:100vh;height:100%;left:0;margin-left:0 !important;max-width:none !important;min-height:100vh;top:0}@media only screen and (min-width: 40.0625em){.reveal-modal.full{left:0;margin:0 auto;max-width:720px;right:0;width:100%}}.reveal-modal.toback{z-index:1003}.reveal-modal .close-reveal-modal{color:#aaa;cursor:pointer;font-size:2.5rem;font-weight:bold;line-height:1;position:absolute;top:.625rem;right:1.375rem}.side-nav{display:block;font-family:"Lato",Helvetica,Arial,sans-serif;list-style-position:outside;list-style-type:none;margin:0;padding:.875rem 0}.side-nav li{font-size:.875rem;font-weight:normal;margin:0 0 .4375rem 0}.side-nav li a:not(.button){color:#57A8EA;display:block;margin:0;padding:.4375rem .875rem}.side-nav li a:not(.button):hover,.side-nav li a:not(.button):focus{background:rgba(0,0,0,0.025);color:#89c2f0}.side-nav li a:not(.button):active{color:#89c2f0}.side-nav li.active>a:first-child:not(.button){color:#89c2f0;font-family:"Lato",Helvetica,Arial,sans-serif;font-weight:normal}.side-nav li.divider{border-top:1px solid;height:0;list-style:none;padding:0;border-top-color:#e6e6e6}.side-nav li.heading{color:#57A8EA;font-size:.875rem;font-weight:bold;text-transform:uppercase}.split.button{position:relative;padding-right:5.0625rem}.split.button span{display:block;height:100%;position:absolute;right:0;top:0;border-left:solid 1px}.split.button span:after{position:absolute;content:"";width:0;height:0;display:block;border-style:inset;top:50%;left:50%}.split.button span:active{background-color:rgba(0,0,0,0.1)}.split.button span{border-left-color:rgba(255,255,255,0.5)}.split.button span{width:3.09375rem}.split.button span:after{border-top-style:solid;border-width:.375rem;margin-left:-.375rem;top:48%}.split.button span:after{border-color:#fff transparent transparent transparent}.split.button.secondary span{border-left-color:rgba(255,255,255,0.5)}.split.button.secondary span:after{border-color:#fff transparent transparent transparent}.split.button.alert span{border-left-color:rgba(255,255,255,0.5)}.split.button.success span{border-left-color:rgba(255,255,255,0.5)}.split.button.tiny{padding-right:3.75rem}.split.button.tiny span{width:2.25rem}.split.button.tiny span:after{border-top-style:solid;border-width:.375rem;margin-left:-.375rem;top:48%}.split.button.small{padding-right:4.375rem}.split.button.small span{width:2.625rem}.split.button.small span:after{border-top-style:solid;border-width:.4375rem;margin-left:-.375rem;top:48%}.split.button.large{padding-right:5.5rem}.split.button.large span{width:3.4375rem}.split.button.large span:after{border-top-style:solid;border-width:.3125rem;margin-left:-.375rem;top:48%}.split.button.expand{padding-left:2rem}.split.button.secondary span:after{border-color:#333 transparent transparent transparent}.split.button.radius span{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.split.button.round span{-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}.split.button.no-pip span:before{border-style:none}.split.button.no-pip span:after{border-style:none}.split.button.no-pip span>i{display:block;left:50%;margin-left:-0.28889em;margin-top:-0.48889em;position:absolute;top:50%}.sub-nav{display:block;margin:-.25rem 0 1.125rem;overflow:hidden;padding-top:.25rem;width:auto}.sub-nav dt{text-transform:uppercase}.sub-nav dt,.sub-nav dd,.sub-nav li{color:#999;float:left;font-family:"Lato",Helvetica,Arial,sans-serif;font-size:.875rem;font-weight:normal;margin-left:1rem;margin-bottom:0}.sub-nav dt a,.sub-nav dd a,.sub-nav li a{color:#999;padding:.1875rem 1rem;text-decoration:none}.sub-nav dt a:hover,.sub-nav dd a:hover,.sub-nav li a:hover{color:#737373}.sub-nav dt.active a,.sub-nav dd.active a,.sub-nav li.active a{border-radius:3px;background:#57A8EA;color:#fff;cursor:default;font-weight:normal;padding:.1875rem 1rem}.sub-nav dt.active a:hover,.sub-nav dd.active a:hover,.sub-nav li.active a:hover{background:#2f93e5}.switch{border:none;margin-bottom:1.5rem;outline:0;padding:0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch label{background:#ddd;color:transparent;cursor:pointer;display:block;margin-bottom:1rem;position:relative;text-indent:100%;width:4rem;height:2rem;transition:left .15s ease-out}.switch input{left:10px;opacity:0;padding:0;position:absolute;top:9px}.switch input+label{margin-left:0;margin-right:0}.switch label:after{background:#fff;content:"";display:block;height:1.5rem;left:.25rem;position:absolute;top:.25rem;width:1.5rem;transition:left .15s ease-out;transform:translate3d(0, 0, 0)}.switch input:checked+label{background:#57A8EA}.switch input:checked+label:after{left:2.25rem}.switch label{height:2rem;width:4rem}.switch label:after{height:1.5rem;width:1.5rem}.switch input:checked+label:after{left:2.25rem}.switch label{color:transparent;background:#ddd}.switch label:after{background:#fff}.switch input:checked+label{background:#57A8EA}.switch.large label{height:2.5rem;width:5rem}.switch.large label:after{height:2rem;width:2rem}.switch.large input:checked+label:after{left:2.75rem}.switch.small label{height:1.75rem;width:3.5rem}.switch.small label:after{height:1.25rem;width:1.25rem}.switch.small input:checked+label:after{left:2rem}.switch.tiny label{height:1.5rem;width:3rem}.switch.tiny label:after{height:1rem;width:1rem}.switch.tiny input:checked+label:after{left:1.75rem}.switch.radius label{border-radius:4px}.switch.radius label:after{border-radius:3px}.switch.round{border-radius:1000px}.switch.round label{border-radius:2rem}.switch.round label:after{border-radius:2rem}table{background:#fff;border:solid 1px #ddd;margin-bottom:1.25rem;table-layout:auto}table caption{background:transparent;color:#222;font-size:1rem;font-weight:bold}table thead{background:#f5f5f5}table thead tr th,table thead tr td{color:#222;font-size:.875rem;font-weight:bold;padding:.5rem .625rem .625rem}table tfoot{background:#f5f5f5}table tfoot tr th,table tfoot tr td{color:#222;font-size:.875rem;font-weight:bold;padding:.5rem .625rem .625rem}table tr th,table tr td{color:#222;font-size:.875rem;padding:.5625rem .625rem;text-align:left}table tr.even,table tr.alt,table tr:nth-of-type(even){background:#F9F9F9}table thead tr th,table tfoot tr th,table tfoot tr td,table tbody tr th,table tbody tr td,table tr td{display:table-cell;line-height:1.125rem}.tabs{margin-bottom:0 !important;margin-left:0}.tabs:before,.tabs:after{content:" ";display:table}.tabs:after{clear:both}.tabs dd,.tabs .tab-title{float:left;list-style:none;margin-bottom:0 !important;position:relative}.tabs dd>a,.tabs .tab-title>a{display:block;background-color:#EFEFEF;color:#222;font-family:"Lato",Helvetica,Arial,sans-serif;font-size:1rem;padding:1rem 2rem}.tabs dd>a:hover,.tabs .tab-title>a:hover{background-color:#e1e1e1}.tabs dd.active>a,.tabs .tab-title.active>a{background-color:#fff;color:#222}.tabs.radius dd:first-child a,.tabs.radius .tab:first-child a{-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.tabs.radius dd:last-child a,.tabs.radius .tab:last-child a{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.tabs.vertical dd,.tabs.vertical .tab-title{position:inherit;float:none;display:block;top:auto}.tabs-content{margin-bottom:1.5rem;width:100%}.tabs-content:before,.tabs-content:after{content:" ";display:table}.tabs-content:after{clear:both}.tabs-content>.content{display:none;float:left;padding:.9375rem 0;width:100%}.tabs-content>.content.active{display:block;float:none}.tabs-content>.content.contained{padding:.9375rem}.tabs-content.vertical{display:block}.tabs-content.vertical>.content{padding:0 .9375rem}@media only screen and (min-width: 40.0625em){.tabs.vertical{float:left;margin:0;margin-bottom:1.25rem !important;max-width:20%;width:20%}.tabs-content.vertical{float:left;margin-left:-1px;max-width:80%;padding-left:1rem;width:80%}}.no-js .tabs-content>.content{display:block;float:none}.th{border:solid 4px #fff;box-shadow:0 0 0 1px rgba(0,0,0,0.2);display:inline-block;line-height:0;max-width:100%;transition:all 200ms ease-out}.th:hover,.th:focus{box-shadow:0 0 6px 1px rgba(87,168,234,0.5)}.th.radius{border-radius:3px}.has-tip{border-bottom:dotted 1px #ccc;color:#333;cursor:help;font-weight:bold}.has-tip:hover,.has-tip:focus{border-bottom:dotted 1px #104e80;color:#57A8EA}.has-tip.tip-left,.has-tip.tip-right{float:none !important}.tooltip{background:#333;color:#fff;display:none;font-size:.875rem;font-weight:normal;line-height:1.3;max-width:300px;padding:.75rem;position:absolute;width:100%;z-index:1006;left:50%}.tooltip>.nub{border:solid 5px;border-color:transparent transparent #333 transparent;display:block;height:0;pointer-events:none;position:absolute;top:-10px;width:0;left:5px}.tooltip>.nub.rtl{left:auto;right:5px}.tooltip.radius{border-radius:3px}.tooltip.round{border-radius:1000px}.tooltip.round>.nub{left:2rem}.tooltip.opened{border-bottom:dotted 1px #104e80 !important;color:#57A8EA !important}.tap-to-close{color:#777;display:block;font-size:.625rem;font-weight:normal}@media only screen{.tooltip>.nub{border-color:transparent transparent #333 transparent;top:-10px}.tooltip.tip-top>.nub{border-color:#333 transparent transparent transparent;bottom:-10px;top:auto}.tooltip.tip-left,.tooltip.tip-right{float:none !important}.tooltip.tip-left>.nub{border-color:transparent transparent transparent #333;left:auto;margin-top:-5px;right:-10px;top:50%}.tooltip.tip-right>.nub{border-color:transparent #333 transparent transparent;left:-10px;margin-top:-5px;right:auto;top:50%}}meta.foundation-mq-topbar{font-family:"/only screen and (min-width:40.0625em)/";width:40.0625em}.contain-to-grid{width:100%;background:#333}.contain-to-grid .top-bar{margin-bottom:0}.fixed{position:fixed;top:0;width:100%;z-index:99;left:0}.fixed.expanded:not(.top-bar){height:auto;max-height:100%;overflow-y:auto;width:100%}.fixed.expanded:not(.top-bar) .title-area{position:fixed;width:100%;z-index:99}.fixed.expanded:not(.top-bar) .top-bar-section{margin-top:2.8125rem;z-index:98}.top-bar{background:#333;height:2.8125rem;line-height:2.8125rem;margin-bottom:0;overflow:hidden;position:relative}.top-bar ul{list-style:none;margin-bottom:0}.top-bar .row{max-width:none}.top-bar form,.top-bar input,.top-bar select{margin-bottom:0}.top-bar input,.top-bar select{font-size:.75rem;height:1.75rem;padding-bottom:.35rem;padding-top:.35rem}.top-bar .button,.top-bar button{font-size:.75rem;margin-bottom:0;padding-bottom:0.4125rem;padding-top:0.4125rem}@media only screen and (max-width: 40em){.top-bar .button,.top-bar button{position:relative;top:-1px}}.top-bar .title-area{margin:0;position:relative}.top-bar .name{font-size:16px;height:2.8125rem;margin:0}.top-bar .name h1,.top-bar .name h2,.top-bar .name h3,.top-bar .name h4,.top-bar .name p,.top-bar .name span{font-size:1.0625rem;line-height:2.8125rem;margin:0}.top-bar .name h1 a,.top-bar .name h2 a,.top-bar .name h3 a,.top-bar .name h4 a,.top-bar .name p a,.top-bar .name span a{color:#fff;display:block;font-weight:normal;padding:0 .9375rem;width:75%}.top-bar .toggle-topbar{position:absolute;right:0;top:0}.top-bar .toggle-topbar a{color:#fff;display:block;font-size:.8125rem;font-weight:bold;height:2.8125rem;line-height:2.8125rem;padding:0 .9375rem;position:relative;text-transform:uppercase}.top-bar .toggle-topbar.menu-icon{margin-top:-16px;top:50%}.top-bar .toggle-topbar.menu-icon a{color:#fff;height:34px;line-height:33px;padding:0 2.5rem 0 .9375rem;position:relative}.top-bar .toggle-topbar.menu-icon a span::after{content:"";display:block;height:0;position:absolute;margin-top:-8px;top:50%;right:.9375rem;box-shadow:0 0 0 1px #fff,0 7px 0 1px #fff,0 14px 0 1px #fff;width:16px}.top-bar .toggle-topbar.menu-icon a span:hover:after{box-shadow:0 0 0 1px "",0 7px 0 1px "",0 14px 0 1px ""}.top-bar.expanded{background:transparent;height:auto}.top-bar.expanded .title-area{background:#333}.top-bar.expanded .toggle-topbar a{color:#888}.top-bar.expanded .toggle-topbar a span::after{box-shadow:0 0 0 1px #888,0 7px 0 1px #888,0 14px 0 1px #888}@media screen and (-webkit-min-device-pixel-ratio: 0){.top-bar.expanded .top-bar-section .has-dropdown.moved>.dropdown,.top-bar.expanded .top-bar-section .dropdown{clip:initial}.top-bar.expanded .top-bar-section .has-dropdown:not(.moved)>ul{padding:0}}.top-bar-section{left:0;position:relative;width:auto;transition:left 300ms ease-out}.top-bar-section ul{display:block;font-size:16px;height:auto;margin:0;padding:0;width:100%}.top-bar-section .divider,.top-bar-section [role="separator"]{border-top:solid 1px #1a1a1a;clear:both;height:1px;width:100%}.top-bar-section ul li{background:#333}.top-bar-section ul li>a{color:#fff;display:block;font-family:"Lato",Helvetica,Arial,sans-serif;font-size:.8125rem;font-weight:normal;padding-left:.9375rem;padding:12px 0 12px .9375rem;text-transform:none;width:100%}.top-bar-section ul li>a.button{font-size:.8125rem;padding-left:.9375rem;padding-right:.9375rem;background-color:#57A8EA;border-color:#1e8ae3;color:#fff}.top-bar-section ul li>a.button:hover,.top-bar-section ul li>a.button:focus{background-color:#1e8ae3}.top-bar-section ul li>a.button:hover,.top-bar-section ul li>a.button:focus{color:#fff}.top-bar-section ul li>a.button.secondary{background-color:#4682b4;border-color:#386890;color:#fff}.top-bar-section ul li>a.button.secondary:hover,.top-bar-section ul li>a.button.secondary:focus{background-color:#386890}.top-bar-section ul li>a.button.secondary:hover,.top-bar-section ul li>a.button.secondary:focus{color:#fff}.top-bar-section ul li>a.button.success{background-color:#8BCC29;border-color:#6fa321;color:#fff}.top-bar-section ul li>a.button.success:hover,.top-bar-section ul li>a.button.success:focus{background-color:#6fa321}.top-bar-section ul li>a.button.success:hover,.top-bar-section ul li>a.button.success:focus{color:#fff}.top-bar-section ul li>a.button.alert{background-color:#E05151;border-color:#cf2525;color:#fff}.top-bar-section ul li>a.button.alert:hover,.top-bar-section ul li>a.button.alert:focus{background-color:#cf2525}.top-bar-section ul li>a.button.alert:hover,.top-bar-section ul li>a.button.alert:focus{color:#fff}.top-bar-section ul li>a.button.warning{background-color:#ffffe0;border-color:#ffff80;color:#333}.top-bar-section ul li>a.button.warning:hover,.top-bar-section ul li>a.button.warning:focus{background-color:#ffff80}.top-bar-section ul li>a.button.warning:hover,.top-bar-section ul li>a.button.warning:focus{color:#333}.top-bar-section ul li>a.button.info{background-color:#4682b4;border-color:#386890;color:#fff}.top-bar-section ul li>a.button.info:hover,.top-bar-section ul li>a.button.info:focus{background-color:#386890}.top-bar-section ul li>a.button.info:hover,.top-bar-section ul li>a.button.info:focus{color:#fff}.top-bar-section ul li>button{font-size:.8125rem;padding-left:.9375rem;padding-right:.9375rem;background-color:#57A8EA;border-color:#1e8ae3;color:#fff}.top-bar-section ul li>button:hover,.top-bar-section ul li>button:focus{background-color:#1e8ae3}.top-bar-section ul li>button:hover,.top-bar-section ul li>button:focus{color:#fff}.top-bar-section ul li>button.secondary{background-color:#4682b4;border-color:#386890;color:#fff}.top-bar-section ul li>button.secondary:hover,.top-bar-section ul li>button.secondary:focus{background-color:#386890}.top-bar-section ul li>button.secondary:hover,.top-bar-section ul li>button.secondary:focus{color:#fff}.top-bar-section ul li>button.success{background-color:#8BCC29;border-color:#6fa321;color:#fff}.top-bar-section ul li>button.success:hover,.top-bar-section ul li>button.success:focus{background-color:#6fa321}.top-bar-section ul li>button.success:hover,.top-bar-section ul li>button.success:focus{color:#fff}.top-bar-section ul li>button.alert{background-color:#E05151;border-color:#cf2525;color:#fff}.top-bar-section ul li>button.alert:hover,.top-bar-section ul li>button.alert:focus{background-color:#cf2525}.top-bar-section ul li>button.alert:hover,.top-bar-section ul li>button.alert:focus{color:#fff}.top-bar-section ul li>button.warning{background-color:#ffffe0;border-color:#ffff80;color:#333}.top-bar-section ul li>button.warning:hover,.top-bar-section ul li>button.warning:focus{background-color:#ffff80}.top-bar-section ul li>button.warning:hover,.top-bar-section ul li>button.warning:focus{color:#333}.top-bar-section ul li>button.info{background-color:#4682b4;border-color:#386890;color:#fff}.top-bar-section ul li>button.info:hover,.top-bar-section ul li>button.info:focus{background-color:#386890}.top-bar-section ul li>button.info:hover,.top-bar-section ul li>button.info:focus{color:#fff}.top-bar-section ul li:hover:not(.has-form)>a{background-color:#555;color:#fff;background:#222}.top-bar-section ul li.active>a{background:#57A8EA;color:#fff}.top-bar-section ul li.active>a:hover{background:#2f93e5;color:#fff}.top-bar-section .has-form{padding:.9375rem}.top-bar-section .has-dropdown{position:relative}.top-bar-section .has-dropdown>a:after{border:inset 5px;content:"";display:block;height:0;width:0;border-color:transparent transparent transparent rgba(255,255,255,0.4);border-left-style:solid;margin-right:.9375rem;margin-top:-4.5px;position:absolute;top:50%;right:0}.top-bar-section .has-dropdown.moved{position:static}.top-bar-section .has-dropdown.moved>.dropdown{position:static !important;height:auto;width:auto;overflow:visible;clip:auto;display:block;position:absolute !important;width:100%}.top-bar-section .has-dropdown.moved>a:after{display:none}.top-bar-section .dropdown{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px;display:block;padding:0;position:absolute;top:0;z-index:99;left:100%}.top-bar-section .dropdown li{height:auto;width:100%}.top-bar-section .dropdown li a{font-weight:normal;padding:8px .9375rem}.top-bar-section .dropdown li a.parent-link{font-weight:normal}.top-bar-section .dropdown li.title h5,.top-bar-section .dropdown li.parent-link{margin-bottom:0;margin-top:0;font-size:1.125rem}.top-bar-section .dropdown li.title h5 a,.top-bar-section .dropdown li.parent-link a{color:#fff;display:block}.top-bar-section .dropdown li.title h5 a:hover,.top-bar-section .dropdown li.parent-link a:hover{background:none}.top-bar-section .dropdown li.has-form{padding:8px .9375rem}.top-bar-section .dropdown li .button,.top-bar-section .dropdown li button{top:auto}.top-bar-section .dropdown label{color:#777;font-size:.625rem;font-weight:bold;margin-bottom:0;padding:8px .9375rem 2px;text-transform:uppercase}.js-generated{display:block}@media only screen and (min-width: 40.0625em){.top-bar{background:#333;overflow:visible}.top-bar:before,.top-bar:after{content:" ";display:table}.top-bar:after{clear:both}.top-bar .toggle-topbar{display:none}.top-bar .title-area{float:left}.top-bar .name h1 a,.top-bar .name h2 a,.top-bar .name h3 a,.top-bar .name h4 a,.top-bar .name h5 a,.top-bar .name h6 a{width:auto}.top-bar input,.top-bar select,.top-bar .button,.top-bar button{font-size:.875rem;height:1.75rem;position:relative;top:.53125rem}.top-bar .has-form>.button,.top-bar .has-form>button{font-size:.875rem;height:1.75rem;position:relative;top:.53125rem}.top-bar.expanded{background:#333}.contain-to-grid .top-bar{margin:0 auto;margin-bottom:0;max-width:62.5rem}.top-bar-section{transition:none 0 0;left:0 !important}.top-bar-section ul{display:inline;height:auto !important;width:auto}.top-bar-section ul li{float:left}.top-bar-section ul li .js-generated{display:none}.top-bar-section li.hover>a:not(.button){background-color:#555;background:#222;color:#fff}.top-bar-section li:not(.has-form) a:not(.button){background:#333;line-height:2.8125rem;padding:0 .9375rem}.top-bar-section li:not(.has-form) a:not(.button):hover{background-color:#555;background:#222}.top-bar-section li.active:not(.has-form) a:not(.button){background:#57A8EA;color:#fff;line-height:2.8125rem;padding:0 .9375rem}.top-bar-section li.active:not(.has-form) a:not(.button):hover{background:#2f93e5;color:#fff}.top-bar-section .has-dropdown>a{padding-right:2.1875rem !important}.top-bar-section .has-dropdown>a:after{border:inset 5px;content:"";display:block;height:0;width:0;border-color:rgba(255,255,255,0.4) transparent transparent transparent;border-top-style:solid;margin-top:-2.5px;top:1.40625rem}.top-bar-section .has-dropdown.moved{position:relative}.top-bar-section .has-dropdown.moved>.dropdown{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px;display:block}.top-bar-section .has-dropdown.hover>.dropdown,.top-bar-section .has-dropdown.not-click:hover>.dropdown{position:static !important;height:auto;width:auto;overflow:visible;clip:auto;display:block;position:absolute !important}.top-bar-section .has-dropdown>a:focus+.dropdown{position:static !important;height:auto;width:auto;overflow:visible;clip:auto;display:block;position:absolute !important}.top-bar-section .has-dropdown .dropdown li.has-dropdown>a:after{border:none;content:"\00bb";top:.1875rem;right:5px}.top-bar-section .dropdown{left:0;background:transparent;min-width:100%;top:auto}.top-bar-section .dropdown li a{background:#333;color:#fff;line-height:2.8125rem;padding:12px .9375rem;white-space:nowrap}.top-bar-section .dropdown li:not(.has-form):not(.active)>a:not(.button){background:#333;color:#fff}.top-bar-section .dropdown li:not(.has-form):not(.active):hover>a:not(.button){background-color:#555;color:#fff;background:#222}.top-bar-section .dropdown li label{background:#333;white-space:nowrap}.top-bar-section .dropdown li .dropdown{left:100%;top:0}.top-bar-section>ul>.divider,.top-bar-section>ul>[role="separator"]{border-right:solid 1px #4e4e4e;border-bottom:none;border-top:none;clear:none;height:2.8125rem;width:0}.top-bar-section .has-form{background:#333;height:2.8125rem;padding:0 .9375rem}.top-bar-section .right li .dropdown{left:auto;right:0}.top-bar-section .right li .dropdown li .dropdown{right:100%}.top-bar-section .left li .dropdown{right:auto;left:0}.top-bar-section .left li .dropdown li .dropdown{left:100%}.no-js .top-bar-section ul li:hover>a{background-color:#555;background:#222;color:#fff}.no-js .top-bar-section ul li:active>a{background:#57A8EA;color:#fff}.no-js .top-bar-section .has-dropdown:hover>.dropdown{position:static !important;height:auto;width:auto;overflow:visible;clip:auto;display:block;position:absolute !important}.no-js .top-bar-section .has-dropdown>a:focus+.dropdown{position:static !important;height:auto;width:auto;overflow:visible;clip:auto;display:block;position:absolute !important}}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}.text-justify{text-align:justify !important}@media only screen and (max-width: 40em){.small-only-text-left{text-align:left !important}.small-only-text-right{text-align:right !important}.small-only-text-center{text-align:center !important}.small-only-text-justify{text-align:justify !important}}@media only screen{.small-text-left{text-align:left !important}.small-text-right{text-align:right !important}.small-text-center{text-align:center !important}.small-text-justify{text-align:justify !important}}@media only screen and (min-width: 40.0625em) and (max-width: 64em){.medium-only-text-left{text-align:left !important}.medium-only-text-right{text-align:right !important}.medium-only-text-center{text-align:center !important}.medium-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 40.0625em){.medium-text-left{text-align:left !important}.medium-text-right{text-align:right !important}.medium-text-center{text-align:center !important}.medium-text-justify{text-align:justify !important}}@media only screen and (min-width: 64.0625em) and (max-width: 90em){.large-only-text-left{text-align:left !important}.large-only-text-right{text-align:right !important}.large-only-text-center{text-align:center !important}.large-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 64.0625em){.large-text-left{text-align:left !important}.large-text-right{text-align:right !important}.large-text-center{text-align:center !important}.large-text-justify{text-align:justify !important}}@media only screen and (min-width: 90.0625em) and (max-width: 120em){.xlarge-only-text-left{text-align:left !important}.xlarge-only-text-right{text-align:right !important}.xlarge-only-text-center{text-align:center !important}.xlarge-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 90.0625em){.xlarge-text-left{text-align:left !important}.xlarge-text-right{text-align:right !important}.xlarge-text-center{text-align:center !important}.xlarge-text-justify{text-align:justify !important}}@media only screen and (min-width: 120.0625em) and (max-width: 6249999.9375em){.xxlarge-only-text-left{text-align:left !important}.xxlarge-only-text-right{text-align:right !important}.xxlarge-only-text-center{text-align:center !important}.xxlarge-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 120.0625em){.xxlarge-text-left{text-align:left !important}.xxlarge-text-right{text-align:right !important}.xxlarge-text-center{text-align:center !important}.xxlarge-text-justify{text-align:justify !important}}div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0}a{color:#57A8EA;line-height:inherit;text-decoration:none}a:hover,a:focus{color:#2f93e5}a img{border:none}p{font-family:inherit;font-size:1rem;font-weight:normal;line-height:1.6;margin-bottom:1.25rem;text-rendering:optimizeLegibility}p.lead{font-size:1.21875rem;line-height:1.6}p aside{font-size:.875rem;font-style:italic;line-height:1.35}h1,h2,h3,h4,h5,h6{color:#222;font-family:"Lato",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;line-height:1.4;margin-bottom:.5rem;margin-top:.2rem;text-rendering:optimizeLegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#6f6f6f;font-size:60%;line-height:0}h1{font-size:1.875rem}h2{font-size:1.5625rem}h3{font-size:1.0625rem}h4{font-size:1.0625rem}h5{font-size:1rem}h6{font-size:.875rem}.subheader{line-height:1.4;color:#6f6f6f;font-weight:normal;margin-top:.2rem;margin-bottom:.5rem}hr{border:solid #ddd;border-width:1px 0 0;clear:both;height:0;margin:1.25rem 0 1.1875rem}em,i{font-style:italic;line-height:inherit}strong,b{font-weight:bold;line-height:inherit}small{font-size:60%;line-height:inherit}code{background-color:#c7dae9;border-color:#a8c5dd;border-style:solid;border-width:1px;color:#333;font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:normal;padding:.125rem .3125rem .0625rem}ul,ol,dl{font-family:inherit;font-size:1rem;line-height:1.6;list-style-position:outside;margin-bottom:1.25rem}ul{margin-left:1.1rem}ul li ul,ul li ol{margin-left:1.25rem;margin-bottom:0}ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}ul.square{list-style-type:square;margin-left:1.1rem}ul.circle{list-style-type:circle;margin-left:1.1rem}ul.disc{list-style-type:disc;margin-left:1.1rem}ol{margin-left:1.4rem}ol li ul,ol li ol{margin-left:1.25rem;margin-bottom:0}.no-bullet{list-style-type:none;margin-left:0}.no-bullet li ul,.no-bullet li ol{margin-left:1.25rem;margin-bottom:0;list-style:none}dl dt{margin-bottom:.3rem;font-weight:bold}dl dd{margin-bottom:.75rem}abbr,acronym{text-transform:uppercase;font-size:90%;color:#333;cursor:help}abbr{text-transform:none}abbr[title]{border-bottom:1px dotted #ddd}blockquote{margin:0 0 1.25rem;padding:.5625rem 1.25rem 0 1.1875rem;border-left:1px solid #ddd}blockquote cite{display:block;font-size:.8125rem;color:#555}blockquote cite:before{content:"\2014 \0020"}blockquote cite a,blockquote cite a:visited{color:#555}blockquote,blockquote p{line-height:1.6;color:#6f6f6f}.vcard{display:inline-block;margin:0 0 1.25rem 0;border:1px solid #ddd;padding:.625rem .75rem}.vcard li{margin:0;display:block}.vcard .fn{font-weight:bold;font-size:.9375rem}.vevent .summary{font-weight:bold}.vevent abbr{cursor:default;text-decoration:none;font-weight:bold;border:none;padding:0 .0625rem}@media only screen and (min-width: 40.0625em){h1,h2,h3,h4,h5,h6{line-height:1.4}h1{font-size:2.5rem}h2{font-size:1.75rem}h3{font-size:1.375rem}h4{font-size:1.125rem}h5{font-size:1rem}h6{font-size:.875rem}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:.34in}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.off-canvas-wrap{-webkit-backface-visibility:hidden;position:relative;width:100%;overflow:hidden}.off-canvas-wrap.move-right,.off-canvas-wrap.move-left,.off-canvas-wrap.move-bottom,.off-canvas-wrap.move-top{min-height:100%;-webkit-overflow-scrolling:touch}.inner-wrap{position:relative;width:100%;transition:transform 500ms ease}.inner-wrap:before,.inner-wrap:after{content:" ";display:table}.inner-wrap:after{clear:both}.tab-bar{-webkit-backface-visibility:hidden;background:#333;color:#fff;height:2.8125rem;line-height:2.8125rem;position:relative}.tab-bar h1,.tab-bar h2,.tab-bar h3,.tab-bar h4,.tab-bar h5,.tab-bar h6{color:#fff;font-weight:bold;line-height:2.8125rem;margin:0}.tab-bar h1,.tab-bar h2,.tab-bar h3,.tab-bar h4{font-size:1rem}.left-small{height:2.8125rem;position:absolute;top:0;width:2.8125rem;border-right:solid 1px #1a1a1a;left:0}.right-small{height:2.8125rem;position:absolute;top:0;width:2.8125rem;border-left:solid 1px #1a1a1a;right:0}.tab-bar-section{height:2.8125rem;padding:0 .625rem;position:absolute;text-align:center;top:0}.tab-bar-section.left{text-align:left}.tab-bar-section.right{text-align:right}.tab-bar-section.left{left:0;right:2.8125rem}.tab-bar-section.right{left:2.8125rem;right:0}.tab-bar-section.middle{left:2.8125rem;right:2.8125rem}.tab-bar .menu-icon{color:#fff;display:block;height:2.8125rem;padding:0;position:relative;text-indent:2.1875rem;transform:translate3d(0, 0, 0);width:2.8125rem}.tab-bar .menu-icon span::after{content:"";display:block;height:0;position:absolute;top:50%;margin-top:-.5rem;left:.90625rem;box-shadow:0 0 0 1px #fff,0 7px 0 1px #fff,0 14px 0 1px #fff;width:1rem}.tab-bar .menu-icon span:hover:after{box-shadow:0 0 0 1px #b3b3b3,0 7px 0 1px #b3b3b3,0 14px 0 1px #b3b3b3}.left-off-canvas-menu{-webkit-backface-visibility:hidden;background:#333;bottom:0;box-sizing:content-box;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;overflow-x:hidden;overflow-y:auto;position:absolute;transition:transform 500ms ease 0s;width:15.625rem;z-index:1001;transform:translate3d(-100%, 0, 0);left:0;top:0}.left-off-canvas-menu *{-webkit-backface-visibility:hidden}.right-off-canvas-menu{-webkit-backface-visibility:hidden;background:#333;bottom:0;box-sizing:content-box;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;overflow-x:hidden;overflow-y:auto;position:absolute;transition:transform 500ms ease 0s;width:15.625rem;z-index:1001;transform:translate3d(100%, 0, 0);right:0;top:0}.right-off-canvas-menu *{-webkit-backface-visibility:hidden}.top-off-canvas-menu{-webkit-backface-visibility:hidden;background:#333;bottom:0;box-sizing:content-box;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;overflow-x:hidden;overflow-y:auto;position:absolute;transition:transform 500ms ease 0s;width:15.625rem;z-index:1001;transform:translate3d(0, -100%, 0);top:0;width:100%;height:18.75rem}.top-off-canvas-menu *{-webkit-backface-visibility:hidden}.bottom-off-canvas-menu{-webkit-backface-visibility:hidden;background:#333;bottom:0;box-sizing:content-box;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;overflow-x:hidden;overflow-y:auto;position:absolute;transition:transform 500ms ease 0s;width:15.625rem;z-index:1001;transform:translate3d(0, 100%, 0);bottom:0;width:100%;height:18.75rem}.bottom-off-canvas-menu *{-webkit-backface-visibility:hidden}ul.off-canvas-list{list-style-type:none;margin:0;padding:0}ul.off-canvas-list li label{background:#444;border-bottom:none;border-top:1px solid #5e5e5e;color:#999;display:block;font-size:.75rem;font-weight:bold;margin:0;padding:0.3rem .9375rem;text-transform:uppercase}ul.off-canvas-list li a{border-bottom:1px solid #262626;color:rgba(255,255,255,0.7);display:block;padding:.66667rem;transition:background 300ms ease}ul.off-canvas-list li a:hover{background:#242424}ul.off-canvas-list li a:active{background:#242424}.move-right>.inner-wrap{transform:translate3d(15.625rem, 0, 0)}.move-right .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.0625em){.move-right .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.move-left>.inner-wrap{transform:translate3d(-15.625rem, 0, 0)}.move-left .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.0625em){.move-left .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.move-top>.inner-wrap{transform:translate3d(0, -18.75rem, 0)}.move-top .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.0625em){.move-top .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.move-bottom>.inner-wrap{transform:translate3d(0, 18.75rem, 0)}.move-bottom .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.0625em){.move-bottom .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap .left-off-canvas-menu,.offcanvas-overlap .right-off-canvas-menu,.offcanvas-overlap .top-off-canvas-menu,.offcanvas-overlap .bottom-off-canvas-menu{transform:none;z-index:1003}.offcanvas-overlap .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.0625em){.offcanvas-overlap .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap-left .right-off-canvas-menu{transform:none;z-index:1003}.offcanvas-overlap-left .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.0625em){.offcanvas-overlap-left .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap-right .left-off-canvas-menu{transform:none;z-index:1003}.offcanvas-overlap-right .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.0625em){.offcanvas-overlap-right .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap-top .bottom-off-canvas-menu{transform:none;z-index:1003}.offcanvas-overlap-top .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.0625em){.offcanvas-overlap-top .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap-bottom .top-off-canvas-menu{transform:none;z-index:1003}.offcanvas-overlap-bottom .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.0625em){.offcanvas-overlap-bottom .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.no-csstransforms .left-off-canvas-menu{left:-15.625rem}.no-csstransforms .right-off-canvas-menu{right:-15.625rem}.no-csstransforms .top-off-canvas-menu{top:-18.75rem}.no-csstransforms .bottom-off-canvas-menu{bottom:-18.75rem}.no-csstransforms .move-left>.inner-wrap{right:15.625rem}.no-csstransforms .move-right>.inner-wrap{left:15.625rem}.no-csstransforms .move-top>.inner-wrap{right:18.75rem}.no-csstransforms .move-bottom>.inner-wrap{left:18.75rem}.left-submenu{-webkit-backface-visibility:hidden;-webkit-overflow-scrolling:touch;background:#333;bottom:0;box-sizing:content-box;margin:0;overflow-x:hidden;overflow-y:auto;position:absolute;top:0;width:15.625rem;height:18.75rem;z-index:1002;transform:translate3d(-100%, 0, 0);left:0;transition:transform 500ms ease}.left-submenu *{-webkit-backface-visibility:hidden}.left-submenu .back>a{background:#444;border-bottom:none;border-top:1px solid #5e5e5e;color:#999;font-weight:bold;padding:0.3rem .9375rem;text-transform:uppercase;margin:0}.left-submenu .back>a:hover{background:#303030;border-bottom:none;border-top:1px solid #5e5e5e}.left-submenu .back>a:before{content:"\AB";margin-right:.5rem;display:inline}.left-submenu.move-right,.left-submenu.offcanvas-overlap-right,.left-submenu.offcanvas-overlap{transform:translate3d(0%, 0, 0)}.right-submenu{-webkit-backface-visibility:hidden;-webkit-overflow-scrolling:touch;background:#333;bottom:0;box-sizing:content-box;margin:0;overflow-x:hidden;overflow-y:auto;position:absolute;top:0;width:15.625rem;height:18.75rem;z-index:1002;transform:translate3d(100%, 0, 0);right:0;transition:transform 500ms ease}.right-submenu *{-webkit-backface-visibility:hidden}.right-submenu .back>a{background:#444;border-bottom:none;border-top:1px solid #5e5e5e;color:#999;font-weight:bold;padding:0.3rem .9375rem;text-transform:uppercase;margin:0}.right-submenu .back>a:hover{background:#303030;border-bottom:none;border-top:1px solid #5e5e5e}.right-submenu .back>a:after{content:"\BB";margin-left:.5rem;display:inline}.right-submenu.move-left,.right-submenu.offcanvas-overlap-left,.right-submenu.offcanvas-overlap{transform:translate3d(0%, 0, 0)}.top-submenu{-webkit-backface-visibility:hidden;-webkit-overflow-scrolling:touch;background:#333;bottom:0;box-sizing:content-box;margin:0;overflow-x:hidden;overflow-y:auto;position:absolute;top:0;width:15.625rem;height:18.75rem;z-index:1002;transform:translate3d(0, -100%, 0);top:0;width:100%;transition:transform 500ms ease}.top-submenu *{-webkit-backface-visibility:hidden}.top-submenu .back>a{background:#444;border-bottom:none;border-top:1px solid #5e5e5e;color:#999;font-weight:bold;padding:0.3rem .9375rem;text-transform:uppercase;margin:0}.top-submenu .back>a:hover{background:#303030;border-bottom:none;border-top:1px solid #5e5e5e}.top-submenu.move-bottom,.top-submenu.offcanvas-overlap-bottom,.top-submenu.offcanvas-overlap{transform:translate3d(0, 0%, 0)}.bottom-submenu{-webkit-backface-visibility:hidden;-webkit-overflow-scrolling:touch;background:#333;bottom:0;box-sizing:content-box;margin:0;overflow-x:hidden;overflow-y:auto;position:absolute;top:0;width:15.625rem;height:18.75rem;z-index:1002;transform:translate3d(0, 100%, 0);bottom:0;width:100%;transition:transform 500ms ease}.bottom-submenu *{-webkit-backface-visibility:hidden}.bottom-submenu .back>a{background:#444;border-bottom:none;border-top:1px solid #5e5e5e;color:#999;font-weight:bold;padding:0.3rem .9375rem;text-transform:uppercase;margin:0}.bottom-submenu .back>a:hover{background:#303030;border-bottom:none;border-top:1px solid #5e5e5e}.bottom-submenu.move-top,.bottom-submenu.offcanvas-overlap-top,.bottom-submenu.offcanvas-overlap{transform:translate3d(0, 0%, 0)}.left-off-canvas-menu ul.off-canvas-list li.has-submenu>a:after{content:"\BB";margin-left:.5rem;display:inline}.right-off-canvas-menu ul.off-canvas-list li.has-submenu>a:before{content:"\AB";margin-right:.5rem;display:inline}@media only screen{.show-for-small-only,.show-for-small-up,.show-for-small,.show-for-small-down,.hide-for-medium-only,.hide-for-medium-up,.hide-for-medium,.show-for-medium-down,.hide-for-large-only,.hide-for-large-up,.hide-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.hide-for-small-only,.hide-for-small-up,.hide-for-small,.hide-for-small-down,.show-for-medium-only,.show-for-medium-up,.show-for-medium,.hide-for-medium-down,.show-for-large-only,.show-for-large-up,.show-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.visible-for-small-only,.visible-for-small-up,.visible-for-small,.visible-for-small-down,.hidden-for-medium-only,.hidden-for-medium-up,.hidden-for-medium,.visible-for-medium-down,.hidden-for-large-only,.hidden-for-large-up,.hidden-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.hidden-for-small-only,.hidden-for-small-up,.hidden-for-small,.hidden-for-small-down,.visible-for-medium-only,.visible-for-medium-up,.visible-for-medium,.hidden-for-medium-down,.visible-for-large-only,.visible-for-large-up,.visible-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.show-for-small-only,table.show-for-small-up,table.show-for-small,table.show-for-small-down,table.hide-for-medium-only,table.hide-for-medium-up,table.hide-for-medium,table.show-for-medium-down,table.hide-for-large-only,table.hide-for-large-up,table.hide-for-large,table.show-for-large-down,table.hide-for-xlarge-only,table.hide-for-xlarge-up,table.hide-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.show-for-small-only,thead.show-for-small-up,thead.show-for-small,thead.show-for-small-down,thead.hide-for-medium-only,thead.hide-for-medium-up,thead.hide-for-medium,thead.show-for-medium-down,thead.hide-for-large-only,thead.hide-for-large-up,thead.hide-for-large,thead.show-for-large-down,thead.hide-for-xlarge-only,thead.hide-for-xlarge-up,thead.hide-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.show-for-small-only,tbody.show-for-small-up,tbody.show-for-small,tbody.show-for-small-down,tbody.hide-for-medium-only,tbody.hide-for-medium-up,tbody.hide-for-medium,tbody.show-for-medium-down,tbody.hide-for-large-only,tbody.hide-for-large-up,tbody.hide-for-large,tbody.show-for-large-down,tbody.hide-for-xlarge-only,tbody.hide-for-xlarge-up,tbody.hide-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.show-for-small-only,tr.show-for-small-up,tr.show-for-small,tr.show-for-small-down,tr.hide-for-medium-only,tr.hide-for-medium-up,tr.hide-for-medium,tr.show-for-medium-down,tr.hide-for-large-only,tr.hide-for-large-up,tr.hide-for-large,tr.show-for-large-down,tr.hide-for-xlarge-only,tr.hide-for-xlarge-up,tr.hide-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.show-for-small-only,td.show-for-small-only,th.show-for-small-up,td.show-for-small-up,th.show-for-small,td.show-for-small,th.show-for-small-down,td.show-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.hide-for-medium-up,td.hide-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.show-for-medium-down,td.show-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.hide-for-large-up,td.hide-for-large-up,th.hide-for-large,td.hide-for-large,th.show-for-large-down,td.show-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.hide-for-xlarge-up,td.hide-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width: 40.0625em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.show-for-medium-only,.show-for-medium-up,.show-for-medium,.show-for-medium-down,.hide-for-large-only,.hide-for-large-up,.hide-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.hide-for-medium-only,.hide-for-medium-up,.hide-for-medium,.hide-for-medium-down,.show-for-large-only,.show-for-large-up,.show-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.visible-for-medium-only,.visible-for-medium-up,.visible-for-medium,.visible-for-medium-down,.hidden-for-large-only,.hidden-for-large-up,.hidden-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.hidden-for-medium-only,.hidden-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.visible-for-large-only,.visible-for-large-up,.visible-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.show-for-medium-only,table.show-for-medium-up,table.show-for-medium,table.show-for-medium-down,table.hide-for-large-only,table.hide-for-large-up,table.hide-for-large,table.show-for-large-down,table.hide-for-xlarge-only,table.hide-for-xlarge-up,table.hide-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.show-for-medium-only,thead.show-for-medium-up,thead.show-for-medium,thead.show-for-medium-down,thead.hide-for-large-only,thead.hide-for-large-up,thead.hide-for-large,thead.show-for-large-down,thead.hide-for-xlarge-only,thead.hide-for-xlarge-up,thead.hide-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.show-for-medium-only,tbody.show-for-medium-up,tbody.show-for-medium,tbody.show-for-medium-down,tbody.hide-for-large-only,tbody.hide-for-large-up,tbody.hide-for-large,tbody.show-for-large-down,tbody.hide-for-xlarge-only,tbody.hide-for-xlarge-up,tbody.hide-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.show-for-medium-only,tr.show-for-medium-up,tr.show-for-medium,tr.show-for-medium-down,tr.hide-for-large-only,tr.hide-for-large-up,tr.hide-for-large,tr.show-for-large-down,tr.hide-for-xlarge-only,tr.hide-for-xlarge-up,tr.hide-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.show-for-medium-only,td.show-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.show-for-medium,td.show-for-medium,th.show-for-medium-down,td.show-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.hide-for-large-up,td.hide-for-large-up,th.hide-for-large,td.hide-for-large,th.show-for-large-down,td.show-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.hide-for-xlarge-up,td.hide-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width: 64.0625em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.hide-for-medium-only,.show-for-medium-up,.hide-for-medium,.hide-for-medium-down,.show-for-large-only,.show-for-large-up,.show-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.show-for-medium-only,.hide-for-medium-up,.show-for-medium,.show-for-medium-down,.hide-for-large-only,.hide-for-large-up,.hide-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.hidden-for-medium-only,.visible-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.visible-for-large-only,.visible-for-large-up,.visible-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.visible-for-medium-only,.hidden-for-medium-up,.visible-for-medium,.visible-for-medium-down,.hidden-for-large-only,.hidden-for-large-up,.hidden-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.hide-for-medium-only,table.show-for-medium-up,table.hide-for-medium,table.hide-for-medium-down,table.show-for-large-only,table.show-for-large-up,table.show-for-large,table.show-for-large-down,table.hide-for-xlarge-only,table.hide-for-xlarge-up,table.hide-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.hide-for-medium-only,thead.show-for-medium-up,thead.hide-for-medium,thead.hide-for-medium-down,thead.show-for-large-only,thead.show-for-large-up,thead.show-for-large,thead.show-for-large-down,thead.hide-for-xlarge-only,thead.hide-for-xlarge-up,thead.hide-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.hide-for-medium-only,tbody.show-for-medium-up,tbody.hide-for-medium,tbody.hide-for-medium-down,tbody.show-for-large-only,tbody.show-for-large-up,tbody.show-for-large,tbody.show-for-large-down,tbody.hide-for-xlarge-only,tbody.hide-for-xlarge-up,tbody.hide-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.hide-for-medium-only,tr.show-for-medium-up,tr.hide-for-medium,tr.hide-for-medium-down,tr.show-for-large-only,tr.show-for-large-up,tr.show-for-large,tr.show-for-large-down,tr.hide-for-xlarge-only,tr.hide-for-xlarge-up,tr.hide-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.hide-for-medium-down,td.hide-for-medium-down,th.show-for-large-only,td.show-for-large-only,th.show-for-large-up,td.show-for-large-up,th.show-for-large,td.show-for-large,th.show-for-large-down,td.show-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.hide-for-xlarge-up,td.hide-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width: 90.0625em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.hide-for-medium-only,.show-for-medium-up,.hide-for-medium,.hide-for-medium-down,.hide-for-large-only,.show-for-large-up,.hide-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.show-for-medium-only,.hide-for-medium-up,.show-for-medium,.show-for-medium-down,.show-for-large-only,.hide-for-large-up,.show-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.hidden-for-medium-only,.visible-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.hidden-for-large-only,.visible-for-large-up,.hidden-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.visible-for-medium-only,.hidden-for-medium-up,.visible-for-medium,.visible-for-medium-down,.visible-for-large-only,.hidden-for-large-up,.visible-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.hide-for-medium-only,table.show-for-medium-up,table.hide-for-medium,table.hide-for-medium-down,table.hide-for-large-only,table.show-for-large-up,table.hide-for-large,table.hide-for-large-down,table.show-for-xlarge-only,table.show-for-xlarge-up,table.show-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.hide-for-medium-only,thead.show-for-medium-up,thead.hide-for-medium,thead.hide-for-medium-down,thead.hide-for-large-only,thead.show-for-large-up,thead.hide-for-large,thead.hide-for-large-down,thead.show-for-xlarge-only,thead.show-for-xlarge-up,thead.show-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.hide-for-medium-only,tbody.show-for-medium-up,tbody.hide-for-medium,tbody.hide-for-medium-down,tbody.hide-for-large-only,tbody.show-for-large-up,tbody.hide-for-large,tbody.hide-for-large-down,tbody.show-for-xlarge-only,tbody.show-for-xlarge-up,tbody.show-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.hide-for-medium-only,tr.show-for-medium-up,tr.hide-for-medium,tr.hide-for-medium-down,tr.hide-for-large-only,tr.show-for-large-up,tr.hide-for-large,tr.hide-for-large-down,tr.show-for-xlarge-only,tr.show-for-xlarge-up,tr.show-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.hide-for-medium-down,td.hide-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.show-for-large-up,td.show-for-large-up,th.hide-for-large,td.hide-for-large,th.hide-for-large-down,td.hide-for-large-down,th.show-for-xlarge-only,td.show-for-xlarge-only,th.show-for-xlarge-up,td.show-for-xlarge-up,th.show-for-xlarge,td.show-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width: 120.0625em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.hide-for-medium-only,.show-for-medium-up,.hide-for-medium,.hide-for-medium-down,.hide-for-large-only,.show-for-large-up,.hide-for-large,.hide-for-large-down,.hide-for-xlarge-only,.show-for-xlarge-up,.hide-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.show-for-medium-only,.hide-for-medium-up,.show-for-medium,.show-for-medium-down,.show-for-large-only,.hide-for-large-up,.show-for-large,.show-for-large-down,.show-for-xlarge-only,.hide-for-xlarge-up,.show-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.hidden-for-medium-only,.visible-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.hidden-for-large-only,.visible-for-large-up,.hidden-for-large,.hidden-for-large-down,.hidden-for-xlarge-only,.visible-for-xlarge-up,.hidden-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.visible-for-medium-only,.hidden-for-medium-up,.visible-for-medium,.visible-for-medium-down,.visible-for-large-only,.hidden-for-large-up,.visible-for-large,.visible-for-large-down,.visible-for-xlarge-only,.hidden-for-xlarge-up,.visible-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.hide-for-medium-only,table.show-for-medium-up,table.hide-for-medium,table.hide-for-medium-down,table.hide-for-large-only,table.show-for-large-up,table.hide-for-large,table.hide-for-large-down,table.hide-for-xlarge-only,table.show-for-xlarge-up,table.hide-for-xlarge,table.hide-for-xlarge-down,table.show-for-xxlarge-only,table.show-for-xxlarge-up,table.show-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.hide-for-medium-only,thead.show-for-medium-up,thead.hide-for-medium,thead.hide-for-medium-down,thead.hide-for-large-only,thead.show-for-large-up,thead.hide-for-large,thead.hide-for-large-down,thead.hide-for-xlarge-only,thead.show-for-xlarge-up,thead.hide-for-xlarge,thead.hide-for-xlarge-down,thead.show-for-xxlarge-only,thead.show-for-xxlarge-up,thead.show-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.hide-for-medium-only,tbody.show-for-medium-up,tbody.hide-for-medium,tbody.hide-for-medium-down,tbody.hide-for-large-only,tbody.show-for-large-up,tbody.hide-for-large,tbody.hide-for-large-down,tbody.hide-for-xlarge-only,tbody.show-for-xlarge-up,tbody.hide-for-xlarge,tbody.hide-for-xlarge-down,tbody.show-for-xxlarge-only,tbody.show-for-xxlarge-up,tbody.show-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.hide-for-medium-only,tr.show-for-medium-up,tr.hide-for-medium,tr.hide-for-medium-down,tr.hide-for-large-only,tr.show-for-large-up,tr.hide-for-large,tr.hide-for-large-down,tr.hide-for-xlarge-only,tr.show-for-xlarge-up,tr.hide-for-xlarge,tr.hide-for-xlarge-down,tr.show-for-xxlarge-only,tr.show-for-xxlarge-up,tr.show-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.hide-for-medium-down,td.hide-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.show-for-large-up,td.show-for-large-up,th.hide-for-large,td.hide-for-large,th.hide-for-large-down,td.hide-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.show-for-xlarge-up,td.show-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.hide-for-xlarge-down,td.hide-for-xlarge-down,th.show-for-xxlarge-only,td.show-for-xxlarge-only,th.show-for-xxlarge-up,td.show-for-xxlarge-up,th.show-for-xxlarge,td.show-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}.show-for-landscape,.hide-for-portrait{display:inherit !important}.hide-for-landscape,.show-for-portrait{display:none !important}table.hide-for-landscape,table.show-for-portrait{display:table !important}thead.hide-for-landscape,thead.show-for-portrait{display:table-header-group !important}tbody.hide-for-landscape,tbody.show-for-portrait{display:table-row-group !important}tr.hide-for-landscape,tr.show-for-portrait{display:table-row !important}td.hide-for-landscape,td.show-for-portrait,th.hide-for-landscape,th.show-for-portrait{display:table-cell !important}@media only screen and (orientation: landscape){.show-for-landscape,.hide-for-portrait{display:inherit !important}.hide-for-landscape,.show-for-portrait{display:none !important}table.show-for-landscape,table.hide-for-portrait{display:table !important}thead.show-for-landscape,thead.hide-for-portrait{display:table-header-group !important}tbody.show-for-landscape,tbody.hide-for-portrait{display:table-row-group !important}tr.show-for-landscape,tr.hide-for-portrait{display:table-row !important}td.show-for-landscape,td.hide-for-portrait,th.show-for-landscape,th.hide-for-portrait{display:table-cell !important}}@media only screen and (orientation: portrait){.show-for-portrait,.hide-for-landscape{display:inherit !important}.hide-for-portrait,.show-for-landscape{display:none !important}table.show-for-portrait,table.hide-for-landscape{display:table !important}thead.show-for-portrait,thead.hide-for-landscape{display:table-header-group !important}tbody.show-for-portrait,tbody.hide-for-landscape{display:table-row-group !important}tr.show-for-portrait,tr.hide-for-landscape{display:table-row !important}td.show-for-portrait,td.hide-for-landscape,th.show-for-portrait,th.hide-for-landscape{display:table-cell !important}}.show-for-touch{display:none !important}.hide-for-touch{display:inherit !important}.touch .show-for-touch{display:inherit !important}.touch .hide-for-touch{display:none !important}table.hide-for-touch{display:table !important}.touch table.show-for-touch{display:table !important}thead.hide-for-touch{display:table-header-group !important}.touch thead.show-for-touch{display:table-header-group !important}tbody.hide-for-touch{display:table-row-group !important}.touch tbody.show-for-touch{display:table-row-group !important}tr.hide-for-touch{display:table-row !important}.touch tr.show-for-touch{display:table-row !important}td.hide-for-touch{display:table-cell !important}.touch td.show-for-touch{display:table-cell !important}th.hide-for-touch{display:table-cell !important}.touch th.show-for-touch{display:table-cell !important}.show-for-sr{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}.show-on-focus{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}.show-on-focus:focus,.show-on-focus:active{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.print-only,.show-for-print{display:none !important}@media print{.print-only,.show-for-print{display:block !important}.hide-on-print,.hide-for-print{display:none !important}table.show-for-print{display:table !important}thead.show-for-print{display:table-header-group !important}tbody.show-for-print{display:table-row-group !important}tr.show-for-print{display:table-row !important}td.show-for-print{display:table-cell !important}th.show-for-print{display:table-cell !important}}.feature-icon{width:60px;height:60px;margin:0 auto 1.25rem auto;background-repeat:no-repeat;background-position:center center;background-size:60px}.icon-working-papers{background-image:url("../images/icons/working-papers.svg")}.icon-working-papers-sync{background-image:url("../images/icons/working-papers-sync.svg")}.icon-practice-management-solution{background-image:url("../images/icons/practice-management.svg")}.icon-person{background-image:url("../images/icons/person.svg")}.icon-people{background-image:url("../images/icons/app-people.svg")}.icon-files{background-image:url("../images/icons/app-files.svg")}.icon-lock{background-image:url("../images/icons/lock.svg")}.icon-overview{background-image:url("../images/icons/app-overview.svg")}.icon-entities{background-image:url("../images/icons/app-entities.svg")}.icon-q{background-image:url("../images/icons/app-q.svg")}.icon-association{background-image:url("../images/icons/association.svg")}.icon-folder{background-image:url("../images/icons/folder.svg")}.icon-time{background-image:url("../images/icons/app-time.svg")}.icon-success{background-image:url("../images/icons/success.svg")}html,body{max-width:100%;min-height:100%;height:100%}body{overflow-x:hidden;overflow-y:scroll;-webkit-overflow-scrolling:touch}.wrapper{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-height:100vh}main{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;transition:all 200ms ease 0s;background:#FFFFFF;-ms-flex:1 0 auto;flex:1 0 auto;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;overflow:hidden}main>section:LAST-CHILD{padding-bottom:6.25rem}@media (max-width: 64em){main>section:LAST-CHILD{padding-bottom:5rem}}@media (max-width: 40em){main>section:LAST-CHILD{padding-bottom:3.75rem}}section{width:100%;-ms-flex:0 0 auto;flex:0 0 auto}section+section{padding-top:3.75rem}@media (max-width: 64em){section+section{padding-top:1.875rem}}@media (max-width: 40em){section+section{padding-top:0}}section>article{padding:0 3.75rem;transition:all 100ms ease 0s}@media (max-width: 64em){section>article{padding:2.5rem}}@media (max-width: 40em){section>article{padding:1.875rem 1.875rem 0}}section h1{font-size:1.625rem;max-width:62.5rem;margin-right:auto;margin-bottom:2.5rem;margin-left:auto;padding-bottom:.875rem;padding-left:0;text-transform:uppercase;border-bottom:2px solid #E5E5E5}@media (max-width: 64em){section h1{font-size:1.75rem}}@media (max-width: 40em){section h1{font-size:1.625rem}}section p{color:#666666}ul{list-style:none}.article-content{padding:0 2.5rem}.article-content .row+.row{margin-top:1.25rem}@media (max-width: 64em){.article-content{padding:0 1.25rem}}@media (max-width: 40em){.article-content{padding:0}}h1{font-weight:normal;color:black}h2{font-weight:normal}h3{font-weight:normal;color:black}small{font-size:70%;display:inline-block;letter-spacing:0.2px}button{margin:0;padding:8px 14px;border:0;border-radius:2px}.button-large,.button-hollow,a.request-invite{font-weight:bold;padding:.875rem 1.875rem;transition:all 150ms ease 0s;color:#fff;border-radius:3px;background:linear-gradient(to bottom, #57A8EA, #57A8EA)}.button-large:HOVER:enabled,.button-hollow:HOVER:enabled,a.request-invite:HOVER:enabled{background:linear-gradient(to bottom, #57A8EA, #57A8EA);box-shadow:0 1px 3px rgba(0,0,0,0.3)}.button-large:FOCUS,.button-hollow:FOCUS,a.request-invite:FOCUS{outline:none;background:linear-gradient(to bottom, #4682b4, #57A8EA)}.button-hollow{color:#4682b4;border:2px solid #4682b4;background:transparent;opacity:1}.button-hollow:HOVER:enabled{color:white;border-color:transparent;background:#4682b4}.button-hollow:FOCUS{color:white;border-color:transparent;background:#4682b4}.show-pricing{padding:14px 20px}a,a:HOVER a:VISITED{color:#57A8EA}a:HOVER,a:HOVER a:VISITED:HOVER{cursor:pointer;text-decoration:underline}a:FOCUS,a:HOVER a:VISITED:FOCUS{text-decoration:underline;outline:none}a.request-invite{white-space:nowrap;color:#fff;border-color:#E05151;background:#E05151}a.request-invite:HOVER:enabled{text-decoration:none;background:#de4444}a.request-invite:FOCUS{background:#de4444}@media (max-width: 64em){a.request-invite{font-size:.875rem;margin-left:.625rem;padding:.5rem .875rem}}@media (max-width: 40em){a.request-invite{font-size:.75rem;padding:.375rem .75rem}}.reveal-modal:FOCUS{outline:none}@media (max-width: 64em){.reveal-modal.medium{right:0;left:0;width:90%;margin:0 auto}}@media (max-width: 40em){.reveal-modal.medium{width:96%}}.dialog-title{font-weight:bold;margin-bottom:1.25rem;color:steelblue}.flex{display:-ms-flexbox;display:flex}.flex-align-center{-ms-flex-align:center;align-items:center}.flex-align-baseline{-ms-flex-align:baseline;align-items:baseline}.flex-align-strech{-ms-flex-align:stretch;align-items:stretch}.flex-justify-center{-ms-flex-pack:center;justify-content:center}.flex-0{-ms-flex:0 0 auto;flex:0 0 auto}.flex-1{-ms-flex:1 1 auto;flex:1 1 auto}input[type=checkbox]+label{line-height:1.5;margin-left:10px}table{border-collapse:collapse}.important-callout{margin-bottom:3.125rem;padding:1.875rem;border-radius:2px}@media (max-width: 64em){.important-callout{margin-bottom:1.875rem;padding:1.25rem}}.no-margin-bottom{margin-bottom:0}.italic-link{font-style:italic;text-decoration:underline;color:#57A8EA}.feature-grid{margin-top:5rem}@media (max-width: 64em){.feature-grid{margin-top:1.25rem}}@media (max-width: 40em){.feature-grid{margin-top:0}}.feature-grid .row+.row{margin-top:2.5rem}@media (max-width: 64em){.feature-grid .row+.row{margin-top:0}}.feature-grid p{padding:0 10px}.overview-bg{min-height:100%;margin:auto;background-repeat:no-repeat;background-position:center;background-size:cover}.overview-bg:AFTER{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:rgba(0,0,0,0.7)}header{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;position:fixed;top:0;left:0;right:0;height:80px;z-index:100;padding:0 1.25rem 0 1rem;border-bottom:1px solid transparent;transition:all 200ms ease 0s}@media (max-width: 45.3125em){header{height:100px;padding:0 .625rem 0 .375rem;position:absolute;box-shadow:none}header .logo-anchor{margin:auto}header .logo-anchor h3{font-size:1.5rem}header a.request-invite{display:none}}.header-dark,.header-dark-blue{background:rgba(0,0,0,0.4);border-color:rgba(0,0,0,0.15)}.header-dark-blue{background:rgba(6,55,75,0.65)}.header-dark-transparent{background:transparent;border-color:transparent}.header-light{background:rgba(255,255,255,0.9);border-bottom:1px solid #DDDDDD;box-shadow:0 2px 20px rgba(0,0,0,0.05)}@media (max-width: 40em){.header-light{box-shadow:none}}.content-fade:AFTER{left:0;background:linear-gradient(to top, rgba(255,255,255,0), #fff 80%);width:100%;content:"";position:fixed;z-index:10;right:0;top:0;height:80px}.logo-anchor{padding:4px 12px;transition:all 150ms ease 0s;border-radius:3px}.logo-anchor:HOVER,.logo-anchor:FOCUS{text-decoration:none}.logo-anchor:FOCUS{box-shadow:0 0 0 1px rgba(255,255,255,0.3) inset}.header-light .logo-anchor:FOCUS{box-shadow:0 0 0 1px rgba(0,0,0,0.15) inset}.logo{color:#444;letter-spacing:-0.6px;font-size:1.5rem;white-space:nowrap;margin:0}.logo .online{color:#58BBFF;margin-left:8px}@media (max-width: 64em){.logo{font-size:1.375rem}}@media (max-width: 40em){.logo{font-size:1.25rem;margin:0}}.header-dark .logo,.header-dark-blue .logo{color:#fff;text-shadow:0 1px 0 rgba(0,0,0,0.2)}nav{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}nav a{display:block;text-decoration:none;color:black;border-radius:3px;position:relative;overflow:hidden}nav a:HOVER{background:rgba(0,0,0,0.1);color:black;outline:none;cursor:pointer;text-decoration:none}nav button{margin-left:.875rem}nav>ul{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;margin:0;padding:0;list-style:none;margin-top:10px}nav>ul ul{display:none}nav>ul li:HOVER ul{display:block;position:absolute;background:white;box-shadow:0 2px 8px rgba(0,0,0,0.1),0 0 0 1px rgba(0,0,0,0.08);padding:14px 0;border-radius:2px;margin-left:0}nav>ul li:HOVER ul a{border-radius:0;height:34px;line-height:34px;padding:0 20px}nav>ul li:HOVER ul a:HOVER{background:#57A8EA;color:white}nav .main-link{height:40px;line-height:40px;margin-bottom:10px;padding:0 20px;font-weight:bold;letter-spacing:-0.2px;transition:background 200ms ease 0s}nav .main-link:HOVER,nav .main-link:FOCUS{text-decoration:none;outline:none}@media (max-width: 64em){nav .main-link{font-size:.75rem;padding:0 8px;height:28px;line-height:28px}}@media (max-width: 45.3125em){nav .main-link{display:none}}.header-dark .main-link,.header-dark-blue .main-link{color:#fff}.header-dark .main-link:HOVER,.header-dark-blue .main-link:HOVER{background:rgba(255,255,255,0.2)}.header-dark .main-link:FOCUS,.header-dark-blue .main-link:FOCUS{box-shadow:0 0 0 1px rgba(255,255,255,0.3) inset}header a.request-invite{margin-left:.875rem;padding:.375rem .875rem;font-size:.875rem;white-space:nowrap;color:#fff;border-color:#E05151;background:#E05151}header a.request-invite:HOVER:enabled{text-decoration:none;background:#de4444}header a.request-invite:FOCUS{background:#de4444}.columns{padding-left:1%;padding-right:1%}.columns:FIRST-CHILD{padding-left:0}.columns:LAST-CHILD{padding-right:0}@media (max-width: 64em){.columns{padding:0;margin-bottom:.875rem}.columns:LAST-CHILD{margin-bottom:0}}input[type="text"],input[type="password"],input[type="date"],input[type="datetime"],input[type="datetime-local"],input[type="month"],input[type="week"],input[type="email"],input[type="number"],input[type="search"],input[type="tel"],input[type="time"],input[type="url"],input[type="color"],input[type="checkbox"],input[type="radio"],textarea,select{font-weight:normal;margin:0;color:#666;border-radius:2px;box-shadow:0 1px 4px rgba(0,0,0,0.06)}.error input[type="checkbox"]{margin:0}select{transition:.15s}select:HOVER{cursor:pointer}select:FOCUS{border-color:#4682b4;outline:none}.select-with-heading-centered{width:50%;margin-right:auto;margin-bottom:40px;margin-left:auto}@media (max-width: 64em){.select-with-heading-centered{width:70%}}@media (max-width: 40em){.select-with-heading-centered{width:100%}}input[type=submit]{font-weight:bold;line-height:20px;height:40px;padding:0 20px;transition:all 150ms ease 0s;opacity:0.9;color:#fff;border:0;border-radius:3px;background:#57A8EA}input[type=submit]:HOVER,input[type=submit]:FOCUS{cursor:pointer;opacity:1;outline:none}input[type=checkbox]+label,input[type=radio]+label{font-weight:normal}.label-note{font-weight:normal;font-style:italic;color:#999999;margin-left:.375rem}fieldset legend{font-size:1.125rem}small.error{border-radius:2px}span.prefix-login-address{font-size:1rem;text-align:left;color:#888;border:0;background:none}.textarea-message,.textarea-address{line-height:1.5;min-height:82px}.section-heading{font-size:1rem;margin:.625rem 0 .875rem;padding:.5rem 0;border-bottom:2px solid #4682b4;color:#4682b4;font-weight:bold}#working-papers-versions-row,#time-integration-row{display:none}form section+section{margin-top:1.875rem;padding-top:0}form .row{margin-bottom:.875rem}input[type=radio],input[type=checkbox]{visibility:hidden;width:0}input[type=radio]+label{display:inline-block;position:relative;margin-left:0 !important;margin-right:16px;padding-left:24px;cursor:pointer}input[type=radio]+label:before{content:"";display:block;position:absolute;width:16px;height:16px;left:0;top:50%;margin-top:-8px;border:1px solid #ddd;box-shadow:0 1px 4px rgba(0,0,0,0.06);border-radius:8px}input[type=radio]+label:after{content:"";display:block;position:absolute;width:0;height:0;top:50%;left:8px;margin-top:0;background:#57A8EA;border-radius:4px;transition:0.2s ease-in-out}input[type=radio]:checked+label:after{height:8px;width:8px;margin-top:-4px;left:4px}input[type=checkbox]+label{display:inline-block;position:relative;margin-left:0 !important;margin-right:16px;padding-left:24px;cursor:pointer}input[type=checkbox]+label:before{content:"";display:block;position:absolute;width:16px;height:16px;left:0;top:50%;margin-top:-8px;border:1px solid #ddd;box-shadow:0 1px 4px rgba(0,0,0,0.06)}input[type=checkbox]+label:after{content:"";display:block;position:absolute;width:0;height:0;top:50%;left:8px;margin-top:0;background:#57A8EA;transition:0.2s ease-in-out}input[type=checkbox]:checked+label:after{height:8px;width:8px;margin-top:-4px;left:4px}small.error-msg{display:block;font-size:0.75rem;font-style:italic;font-weight:normal;margin-bottom:1rem;margin-top:8px;padding:0.375rem 0.625rem;background:#E05151;color:#fff}#data-center{background-color:#4caf50;padding-left:1rem;color:white}footer{background:#263947;position:relative;-ms-flex:0 0 auto;flex:0 0 auto}footer .footer-col{padding-right:3.75rem;padding-bottom:1.875rem}footer .footer-wrapper{max-width:62.5rem;margin:auto;padding:2.5rem 2.5rem 3.75rem}@media (max-width: 40em){footer .footer-wrapper{padding-left:10%;padding-right:10%;-ms-flex-direction:column;flex-direction:column}}footer .main-links{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap}footer .footer-heading{margin-bottom:.625rem;text-transform:uppercase;color:rgba(255,255,255,0.8);font-weight:bold}footer ul{margin:0;padding:0;list-style:none}footer ul a{display:block;color:rgba(255,255,255,0.4);font-size:.875rem;padding:.25rem 0}footer ul a:HOVER,footer ul a:FOCUS{color:#FFFFFF}#copyright{color:rgba(255,255,255,0.4);border-top:1px solid rgba(255,255,255,0.2);padding-top:1.875rem;font-size:.875rem}.overview-header,.header-v-50,.header-v-100{position:relative;min-height:400px;max-height:800px}.header-v-50{height:50vh}.header-v-100{height:100vh}.overview-bg-home{background-image:url("../images/main.jpg")}.overview-main{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;height:100%;position:absolute;left:0;right:0;bottom:0;top:0;margin:auto;background-position:center;background-repeat:no-repeat}.overview-main h1{font-size:2.25rem;font-weight:bold;border:0;margin:0;color:#fff;padding:0 1.25em;word-spacing:2px}@media (max-width: 64em){.overview-main h1{font-size:2rem}}@media (max-width: 40em){.overview-main h1{font-size:1.625rem;font-weight:bold}}.overview-main h3{color:#fff}.feature-grid h4{font-weight:bold}#solutions h4{font-weight:bold}.overview-main .request-invite{margin-left:0;margin-top:1.875rem;padding:.75rem 1.875rem;box-shadow:0 3px 2px rgba(0,0,0,0.3)}@media (max-width: 64em){.overview-main .request-invite{margin-top:1.5rem;padding:1.5rem 1.5rem;height:2.5rem;line-height:0}}.btn-play{background:rgba(0,0,0,0.05);border:2px solid black;color:black;border-radius:50%;width:100px;height:100px;font-size:2.6rem;padding-left:20px;margin-top:14px;-ms-flex:0 0 auto;flex:0 0 auto;transition:all 150ms ease 0s}.btn-play:HOVER{background:#57A8EA;color:white;border:2px solid transparent;box-shadow:0 1px 3px rgba(0,0,0,0.3)}.btn-play:FOCUS{outline:none;background:#57A8EA;border:2px solid transparent}.btn-play-label{color:black;font-style:italic;font-weight:bold;margin-top:8px}.main-heading{color:#FFFFFF;margin:0;padding:30px 100px;text-align:center;overflow:hidden;font-size:1.25rem;background-image:url("../images/triangles.jpg");background-size:cover;background-attachment:fixed;background-position:center;text-shadow:0 1px 2px rgba(0,0,0,0.3)}@media (max-width: 40em){.main-heading{font-size:1.125rem;background-attachment:initial;background-size:160%;padding-left:20px;padding-right:20px}}#overview article .left{width:50%}#features .left{width:65%}#features .row{display:-ms-flexbox;display:flex}@media (max-width: 64em){#features .row{display:block}}#solutions-page-image-wrapper{min-height:1px}#solutions-page-image{max-width:none;height:100%}@media (max-width: 64em){#solutions-page-image{position:static;margin-top:0;width:100%}}.right{width:65%;float:right}.solution-link{display:block;padding:20px;border-radius:3px}.solution-link:HOVER,.solution-link:FOCUS{text-decoration:none;background:#f5f5f5}@media (min-width: 40em){.learn-more{display:none}}@media (max-width: 40em){.overview-main .request-invite{font-size:.875rem}.large-4.medium-4.columns{margin-bottom:20px}.large-4.medium-4.columns:first-child{margin-top:10px}.large-3.medium-3.columns p{margin-bottom:10px}.solution-link p{margin-bottom:10px}.solution-link h4{font-weight:bold}.learn-more a{text-decoration:none}#benefits h3{font-weight:bold}#security h3{font-weight:bold}}.pricing-org-lbl{font-weight:bold;font-size:1.125rem;margin-bottom:6px}#pricing-table{display:table;width:100%;table-layout:fixed;overflow:hidden;margin:auto;border:0;max-width:800px}#pricing-table td{padding:20px}#disclaimer{margin-top:.875rem}#conditions{font-size:.6875rem}#conditions div{margin-top:.5rem}#pricing-table tr{background:none}#pricing-table tr:first-child td{background:#4682b4;color:white;font-size:1.125rem}.country-name{color:#000000;font-style:italic;font-size:1.25rem}#pricing-table tr:first-child td:first-child{background:none;text-align:left;padding-left:20px}#pricing-table td:first-child{color:#000000;text-align:right;padding-left:100px}#pricing-table td:not(:first-child){text-align:center}#pricing-table td+td{border-left:3px solid white;background:#f5f5f5}#pricing-wrapper .card{margin-top:2.5rem}.card{border-radius:3px;padding:1.875rem;margin:.875rem 0 1.5rem;box-shadow:0 3px 10px -1px rgba(0,0,0,0.16);background:#FAFAFA}.card.important-callout{margin-left:auto;margin-right:auto}.card .key{padding-right:1.25rem;width:6.25rem;color:#999}.card .value{word-break:break-all}.card .value+.key{margin-top:14px}@media (max-width: 40em){#pricing-table td:first-child{padding-left:0px}#pricing-table td{padding:8px}.card .key{padding-right:.875rem;width:5rem}}@media (max-width: 64em){#pricing-table td{padding:14px}.card{padding:1.25rem}}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fZ2xvYmFsLnNjc3MiLCJfc2V0dGluZ3Nfb3ZlcnJpZGUuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fZ3JpZC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vX2Z1bmN0aW9ucy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19hbGVydC1ib3hlcy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19ibG9jay1ncmlkLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fYnV0dG9uLWdyb3Vwcy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19jbGVhcmluZy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19kcm9wZG93bi1idXR0b25zLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2ZsZXgtdmlkZW8uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fZm9ybXMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9faWNvbi1iYXIuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9faW5saW5lLWxpc3RzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2pveXJpZGUuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fa2V5c3Ryb2tlcy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19sYWJlbHMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fbWFnZWxsYW4uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fb3JiaXQuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19wYW5lbHMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fcHJpY2luZy10YWJsZXMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fcHJvZ3Jlc3MtYmFycy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19yYW5nZS1zbGlkZXIuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3NpZGUtbmF2LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3NwbGl0LWJ1dHRvbnMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fc3ViLW5hdi5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19zd2l0Y2hlcy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL190YWJsZXMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL190aHVtYnMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fdG9vbHRpcHMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fdG9wLWJhci5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL190eXBlLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX29mZmNhbnZhcy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCJtb2R1bGVzL19pY29ucy5zY3NzIiwiX2N3LXN0eWxlcy5zY3NzIiwibW9kdWxlcy9fbmF2LnNjc3MiLCJtb2R1bGVzL19mb3Jtcy5zY3NzIiwibW9kdWxlcy9fZm9vdGVyLnNjc3MiLCJtYWluLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOGFRLHdCQUNGLHFCQUF1QixDQUN4Qix5QkFHQyw0QkFDQSxPQWpFWSxDQW9FViw4QkFDRixrREFDQSxPQXRFWSxDQXlFViwwQkFDRixzREFDQSxlQTFFNEIsQ0E2RTlCLCtCQUNFLDJFQUNBLGVBL0U0QixDQWdGN0IseUJBR0Msc0RBQ0EsZUFuRjZCLENBb0Y5Qiw4QkFHQywyRUFDQSxlQXhGNkIsQ0EyRjNCLDBCQUNGLHNEQUNBLGVBNUY0QixDQStGOUIsK0JBQ0UsNEVBQ0EsZUFqRzRCLENBb0c5QiwyQkFDRSx1REFDQSxnQkFyRzZCLENBc0c5Qix5Q0FHQyxpQkFBYSxDQVFmLFVBQWEsV0FBYSxDQUcxQixtQkFyVk0scUJBd1YwQixDQUMvQixVQUdNLGNDdGJVLENEc2JvQixLQUluQyxnQkFDQSxXQUNBLFlBQ0EsOENBQ0Es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LGNBR0ssY0FDQSxrQkFDQSxpQnpDaE5jLEN5Q21OcEIsNkNBQ0ksZ0JBQ0EsZ0JBQ0EsaUJBQW1CLENBR3ZCLDhCQUNJLGNBQ0EsaUJBQ0Esa0JBQW9CLENBR3hCLG9DQUNJLGlCQUFtQixDQUN0QixxQkFHRyw0QkFDQSxrQjVDck9pQixDNENzT3BCLHVCQUdHLGlCekN6T2dCLEN5QzRPcEIsTUFDSSxrQkFDQSxpQkFDQSx3QkFDQSw0Q0FDQSxrQjVDcFBXLEM0QytPZix3QkFRRSxpQkFDQSxpQkFBbUIsQ0FJckIsV0FDSSxzQkFDQSxjQUNBLFU1Q3JQYyxDNENzUGpCLGFBR0csb0JBQXNCLENBQ3pCLGtCQUdHLGVBQWlCLENBQ3BCLHlCQUdHLDhCQUNJLGdCQUFrQixDQUNyQixrQkFHRyxXQUFhLENBQ2hCLFdBR0csc0JBQ0EsVXpDbFJZLEN5Q21SZixDQUdMLHlCQUNJLGtCQUNJLFlBQWMsQ0FHbEIsTUFDSSxlekM1UlksQ3lDNlJmLENBQUEiLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICcuLi9mdW5jdGlvbnMnO1xuLy9cbi8vIEZvdW5kYXRpb24gVmFyaWFibGVzXG4vL1xuXG4vLyBEYXRhIGF0dHJpYnV0ZSBuYW1lc3BhY2Vcbi8vIHN0eWxlcyBnZXQgYXBwbGllZCB0byBbZGF0YS1teXNpdGUtcGx1Z2luXSwgZXRjXG4kbmFtZXNwYWNlOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZm9udC1zaXplIGlzIHNldCB0byAxMDAlIG9mIHRoZSBicm93c2VyIHN0eWxlIHNoZWV0ICh1c3VhbGx5IDE2cHgpXG4vLyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIGJyb3dzZXItYmFzZWQgdGV4dCB6b29tIG9yIHVzZXItc2V0IGRlZmF1bHRzLlxuXG4vLyBTaW5jZSB0aGUgdHlwaWNhbCBkZWZhdWx0IGJyb3dzZXIgZm9udC1zaXplIGlzIDE2cHgsIHRoYXQgbWFrZXMgdGhlIGNhbGN1bGF0aW9uIGZvciBncmlkIHNpemUuXG4vLyBJZiB5b3Ugd2FudCB5b3VyIGJhc2UgZm9udC1zaXplIHRvIGJlIGRpZmZlcmVudCBhbmQgbm90IGhhdmUgaXQgYWZmZWN0IHRoZSBncmlkIGJyZWFrcG9pbnRzLFxuLy8gc2V0ICRyZW0tYmFzZSB0byAkYmFzZS1mb250LXNpemUgYW5kIG1ha2Ugc3VyZSAkYmFzZS1mb250LXNpemUgaXMgYSBweCB2YWx1ZS5cbiRiYXNlLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8gJGJhc2UtbGluZS1oZWlnaHQgaXMgMjRweCB3aGlsZSAkYmFzZS1mb250LXNpemUgaXMgMTZweFxuJGJhc2UtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy9cbi8vIEdsb2JhbCBGb3VuZGF0aW9uIE1peGluc1xuLy9cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYm9yZGVyIHJhZGl1cy5cbi8vICRyYWRpdXMgLSBEZWZhdWx0OiAkZ2xvYmFsLXJhZGl1cyB8fCA0cHhcbkBtaXhpbiByYWRpdXMoJHJhZGl1czokZ2xvYmFsLXJhZGl1cykge1xuICBAaWYgJHJhZGl1cyB7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIGVxdWFsIHNpZGUgYm9yZGVyIHJhZGl1cyBvbiBlbGVtZW50cy5cbi8vICRzaWRlIC0gT3B0aW9uczogbGVmdCwgcmlnaHQsIHRvcCwgYm90dG9tXG5AbWl4aW4gc2lkZS1yYWRpdXMoJHNpZGUsICRyYWRpdXM6JGdsb2JhbC1yYWRpdXMpIHtcbiAgQGlmICgkc2lkZSA9PSBsZWZ0IG9yICRzaWRlID09IHJpZ2h0KSB7XG4gICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLSN7JHNpZGV9LXJhZGl1czogJHJhZGl1cztcbiAgICAtd2Via2l0LWJvcmRlci10b3AtI3skc2lkZX0tcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tI3skc2lkZX0tcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci10b3AtI3skc2lkZX0tcmFkaXVzOiAkcmFkaXVzO1xuICB9IEBlbHNlIHtcbiAgICAtd2Via2l0LSN7JHNpZGV9LWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIC13ZWJraXQtI3skc2lkZX0tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci0jeyRzaWRlfS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItI3skc2lkZX0tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSBjYW4gY29udHJvbCB3aGV0aGVyIG9yIG5vdCB3ZSBoYXZlIGluc2V0IHNoYWRvd3MgZWRnZXMuXG4vLyAkYWN0aXZlIC0gRGVmYXVsdDogdHJ1ZSwgT3B0aW9uczogZmFsc2VcbkBtaXhpbiBpbnNldC1zaGFkb3coJGFjdGl2ZTp0cnVlKSB7XG4gIGJveC1zaGFkb3c6ICRzaGlueS1lZGdlLXNpemUgJHNoaW55LWVkZ2UtY29sb3IgaW5zZXQ7XG5cbiAgQGlmICRhY3RpdmUgeyAmOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogJHNoaW55LWVkZ2Utc2l6ZSAkc2hpbnktZWRnZS1hY3RpdmUtY29sb3IgaW5zZXQ7IH0gfVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gYWRkIHRyYW5zaXRpb25zIHRvIGVsZW1lbnRzXG4vLyAkcHJvcGVydHkgLSBEZWZhdWx0OiBhbGwsIE9wdGlvbnM6IGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtdHJhbnNpdGlvbnMvI2FuaW1hdGFibGUtcHJvcGVydGllc1xuLy8gJHNwZWVkIC0gRGVmYXVsdDogMzAwbXNcbi8vICRlYXNlIC0gRGVmYXVsdDogZWFzZS1vdXQsIE9wdGlvbnM6IGh0dHA6Ly9jc3MtdHJpY2tzLmNvbS9hbG1hbmFjL3Byb3BlcnRpZXMvdC90cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbi9cbkBtaXhpbiBzaW5nbGUtdHJhbnNpdGlvbigkcHJvcGVydHk6YWxsLCAkc3BlZWQ6MzAwbXMsICRlYXNlOmVhc2Utb3V0KSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHByb3BlcnR5LCAkc3BlZWQsICRlYXNlKTtcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGFkZCBzaW5nbGUgb3IgbXVsdGlwbGUgdHJhbnNpdGlvbnMgdG8gZWxlbWVudHNcbi8vICRwcm9wZXJ0eSAtIERlZmF1bHQ6IGFsbCwgT3B0aW9uczogaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy10cmFuc2l0aW9ucy8jYW5pbWF0YWJsZS1wcm9wZXJ0aWVzXG4vLyAkc3BlZWQgLSBEZWZhdWx0OiAzMDBtc1xuLy8gJGVhc2UgLSBEZWZhdWx0OiBlYXNlLW91dCwgT3B0aW9uczogaHR0cDovL2Nzcy10cmlja3MuY29tL2FsbWFuYWMvcHJvcGVydGllcy90L3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uL1xuLy8gJGRlbGF5IC0gRGVmYXVsdDogbnVsbCAoMHMpXG5AbWl4aW4gdHJhbnNpdGlvbigkcHJvcGVydHk6YWxsLCAkc3BlZWQ6MzAwbXMsICRlYXNlOmVhc2Utb3V0LCAkZGVsYXk6bnVsbCkge1xuICAkdHJhbnNpdGlvbjogbm9uZTtcblxuICBAaWYgbGVuZ3RoKCRwcm9wZXJ0eSkgPiAxIHtcblxuICAgIEBlYWNoICR0cmFuc2l0aW9uX2xpc3QgaW4gJHByb3BlcnR5IHtcblxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJHRyYW5zaXRpb25fbGlzdCkge1xuXG4gICAgICAgIEBpZiAkaSA9PSAxIHtcbiAgICAgICAgICAkX3Byb3BlcnR5OiBudGgoJHRyYW5zaXRpb25fbGlzdCwgJGkpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbl9saXN0KSA+IDEge1xuICAgICAgICAgIEBpZiAkaSA9PSAyIHtcbiAgICAgICAgICAgICRfc3BlZWQ6IG50aCgkdHJhbnNpdGlvbl9saXN0LCAkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAkX3NwZWVkOiAkc3BlZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uX2xpc3QpID4gMiB7XG4gICAgICAgICAgQGlmICRpID09IDMge1xuICAgICAgICAgICAgJF9lYXNlOiBudGgoJHRyYW5zaXRpb25fbGlzdCwgJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgJF9lYXNlOiAkZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb25fbGlzdCkgPiAzIHtcbiAgICAgICAgICBAaWYgJGkgPT0gNCB7XG4gICAgICAgICAgICAkX2RlbGF5OiBudGgoJHRyYW5zaXRpb25fbGlzdCwgJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgJF9kZWxheTogJGRlbGF5O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkdHJhbnNpdGlvbiA9PSBub25lIHtcbiAgICAgICAgJHRyYW5zaXRpb246ICRfcHJvcGVydHkgJF9zcGVlZCAkX2Vhc2UgJF9kZWxheTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdHJhbnNpdGlvbjogJHRyYW5zaXRpb24sICRfcHJvcGVydHkgJF9zcGVlZCAkX2Vhc2UgJF9kZWxheTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGVhY2ggJHByb3AgaW4gJHByb3BlcnR5IHtcblxuICAgICAgQGlmICR0cmFuc2l0aW9uID09IG5vbmUge1xuICAgICAgICAkdHJhbnNpdGlvbjogJHByb3AgJHNwZWVkICRlYXNlICRkZWxheTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdHJhbnNpdGlvbjogJHRyYW5zaXRpb24sICRwcm9wICRzcGVlZCAkZWFzZSAkZGVsYXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBhZGQgYm94LXNpemluZyBhY3Jvc3MgYnJvd3NlciBwcmVmaXhlc1xuQG1peGluIGJveC1zaXppbmcoJHR5cGU6Ym9yZGVyLWJveCkge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICR0eXBlOyAvLyBBbmRyb2lkIDwgMi4zLCBpT1MgPCA0XG4gICAgIC1tb3otYm94LXNpemluZzogJHR5cGU7IC8vIEZpcmVmb3ggPCAyOVxuICAgICAgICAgIGJveC1zaXppbmc6ICR0eXBlOyAvLyBDaHJvbWUsIElFIDgrLCBPcGVyYSwgU2FmYXJpIDUuMVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIGlzb3NjZWxlcyB0cmlhbmdsZXNcbi8vICR0cmlhbmdsZS1zaXplIC0gVXNlZCB0byBzZXQgYm9yZGVyLXNpemUuIE5vIGRlZmF1bHQsIHNldCBhIHB4IG9yIGVtIHNpemUuXG4vLyAkdHJpYW5nbGUtY29sb3IgLSBVc2VkIHRvIHNldCBib3JkZXItY29sb3Igd2hpY2ggbWFrZXMgdXAgdHJpYW5nbGUuIE5vIGRlZmF1bHRcbi8vICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBVc2VkIHRvIGRldGVybWluZSB3aGljaCBkaXJlY3Rpb24gdHJpYW5nbGUgcG9pbnRzLiBPcHRpb25zOiB0b3AsIGJvdHRvbSwgbGVmdCwgcmlnaHRcbkBtaXhpbiBjc3MtdHJpYW5nbGUoJHRyaWFuZ2xlLXNpemUsICR0cmlhbmdsZS1jb2xvciwgJHRyaWFuZ2xlLWRpcmVjdGlvbikge1xuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHRvcCkge1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBib3R0b20pIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICB9XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgdGhlIGljb24gd2l0aCB0aHJlZSBsaW5lcyBha2EgdGhlIGhhbWJ1cmdlciBpY29uLCB0aGUgbWVudS1pY29uIG9yIHRoZSBuYXZpY29uXG4vLyAkd2lkdGggLSBXaWR0aCBvZiBoYW1idXJnZXIgaWNvbiBpbiByZW1cbi8vICRsZWZ0IC0gSWYgZmFsc2UsIGljb24gd2lsbCBiZSBjZW50ZXJlZCBob3Jpem9udGFsbHkgfHwgZXhwbGljaXRseSBzZXQgdmFsdWUgaW4gcmVtXG4vLyAkdG9wIC0gSWYgZmFsc2UsIGljb24gd2lsbCBiZSBjZW50ZXJlZCB2ZXJ0aWNhbGx5IHx8IGV4cGxpY2l0bHkgc2V0IHZhbHVlIGluIHJlbVxuLy8gJHRoaWNrbmVzcyAtIHRoaWNrbmVzcyBvZiBsaW5lcyBpbiBoYW1idXJnZXIgaWNvbiwgc2V0IHZhbHVlIGluIHB4XG4vLyAkZ2FwIC0gc3BhY2luZyBiZXR3ZWVuIHRoZSBsaW5lcyBpbiBoYW1idXJnZXIgaWNvbiwgc2V0IHZhbHVlIGluIHB4XG4vLyAkY29sb3IgLSBpY29uIGNvbG9yXG4vLyAkaG92ZXItY29sb3IgLSBpY29uIGNvbG9yIGR1cmluZyBob3ZlclxuLy8gJG9mZmNhbnZhcyAtIFNldCB0byB0cnVlIG9mIEBpbmNsdWRlIGluIG9mZmNhbnZhc1xuQG1peGluIGhhbWJ1cmdlcigkd2lkdGgsICRsZWZ0LCAkdG9wLCAkdGhpY2tuZXNzLCAkZ2FwLCAkY29sb3IsICRob3Zlci1jb2xvciwgJG9mZmNhbnZhcykge1xuICBzcGFuOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgQGlmICRvZmZjYW52YXMge1xuICAgICAgQGlmICR0b3Age1xuICAgICAgICB0b3A6ICR0b3A7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSR3aWR0aC8yKTtcbiAgICAgIH1cbiAgICAgIEBpZiAkbGVmdCB7XG4gICAgICAgIGxlZnQ6ICRsZWZ0O1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsZWZ0OiAoJHRhYmJhci1tZW51LWljb24td2lkdGggLSAkd2lkdGgpLzI7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi10b3A6IC0oJHdpZHRoLzIpO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICB9XG5cbiAgICBib3gtc2hhZG93OlxuICAgICAgMCAwIDAgJHRoaWNrbmVzcyAkY29sb3IsXG4gICAgICAwICRnYXAgKyAkdGhpY2tuZXNzIDAgJHRoaWNrbmVzcyAkY29sb3IsXG4gICAgICAwICgyICogJGdhcCArIDIqJHRoaWNrbmVzcykgMCAkdGhpY2tuZXNzICRjb2xvcjtcbiAgICB3aWR0aDogJHdpZHRoO1xuICB9XG4gIHNwYW46aG92ZXI6YWZ0ZXIge1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAwIDAgMCAkdGhpY2tuZXNzICRob3Zlci1jb2xvcixcbiAgICAgIDAgJGdhcCArICR0aGlja25lc3MgMCAkdGhpY2tuZXNzICRob3Zlci1jb2xvcixcbiAgICAgIDAgKDIgKiAkZ2FwICsgMiokdGhpY2tuZXNzKSAwICR0aGlja25lc3MgJGhvdmVyLWNvbG9yO1xuICB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGRvIGNsZWFyIGZsb2F0c1xuQG1peGluIGNsZWFyZml4IHtcbiAgJjpiZWZvcmUsICY6YWZ0ZXIgeyBjb250ZW50OiBcIiBcIjsgZGlzcGxheTogdGFibGU7IH1cbiAgJjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBhZGQgYSBnbG93aW5nIGVmZmVjdCB0byBibG9jayBlbGVtZW50c1xuLy8gJHNlbGVjdG9yIC0gVXNlZCBmb3Igc2VsZWN0b3Igc3RhdGUuIERlZmF1bHQ6IGZvY3VzLCBPcHRpb25zOiBob3ZlciwgYWN0aXZlLCB2aXNpdGVkXG4vLyAkZmFkZS10aW1lIC0gRGVmYXVsdDogMzAwbXNcbi8vICRnbG93aW5nLWVmZmVjdC1jb2xvciAtIERlZmF1bHQ6IGZhZGUtb3V0KCRwcmltYXJ5LWNvbG9yLCAuMjUpXG5AbWl4aW4gYmxvY2stZ2xvd2luZy1lZmZlY3QoJHNlbGVjdG9yOmZvY3VzLCAkZmFkZS10aW1lOjMwMG1zLCAkZ2xvd2luZy1lZmZlY3QtY29sb3I6ZmFkZS1vdXQoJHByaW1hcnktY29sb3IsIC4yNSkpIHtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkZmFkZS10aW1lLCBib3JkZXItY29sb3IgJGZhZGUtdGltZSBlYXNlLWluLW91dDtcblxuICAmOiN7JHNlbGVjdG9yfSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ2xvd2luZy1lZmZlY3QtY29sb3I7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAkZ2xvd2luZy1lZmZlY3QtY29sb3I7XG4gIH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIHRyYW5zbGF0ZSBlbGVtZW50cyBpbiAyRFxuLy8gJGhvcml6b250YWw6IERlZmF1bHQ6IDBcbi8vICR2ZXJ0aWNhbDogRGVmYXVsdDogMFxuQG1peGluIHRyYW5zbGF0ZTJkKCRob3Jpem9udGFsOjAsICR2ZXJ0aWNhbDowKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKCRob3Jpem9udGFsLCAkdmVydGljYWwpXG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IGFjY2Vzc2libGUuXG4vLyBAc2VlIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gVHVybnMgb2ZmIHRoZSBlbGVtZW50LWludmlzaWJsZSBlZmZlY3QuXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbn1cblxuJHdoaXRlICAgICAgICAgOiAjRkZGRkZGICFkZWZhdWx0O1xuJGdob3N0ICAgICAgICAgOiAjRkFGQUZBICFkZWZhdWx0O1xuJHNub3cgICAgICAgICAgOiAjRjlGOUY5ICFkZWZhdWx0O1xuJHZhcG9yICAgICAgICAgOiAjRjZGNkY2ICFkZWZhdWx0O1xuJHdoaXRlLXNtb2tlICAgOiAjRjVGNUY1ICFkZWZhdWx0O1xuJHNpbHZlciAgICAgICAgOiAjRUZFRkVGICFkZWZhdWx0O1xuJHNtb2tlICAgICAgICAgOiAjRUVFRUVFICFkZWZhdWx0O1xuJGdhaW5zYm9ybyAgICAgOiAjREREREREICFkZWZhdWx0O1xuJGlyb24gICAgICAgICAgOiAjQ0NDQ0NDICFkZWZhdWx0O1xuJGJhc2UgICAgICAgICAgOiAjQUFBQUFBICFkZWZhdWx0O1xuJGFsdW1pbnVtICAgICAgOiAjOTk5OTk5ICFkZWZhdWx0O1xuJGp1bWJvICAgICAgICAgOiAjODg4ODg4ICFkZWZhdWx0O1xuJG1vbnNvb24gICAgICAgOiAjNzc3Nzc3ICFkZWZhdWx0O1xuJHN0ZWVsICAgICAgICAgOiAjNjY2NjY2ICFkZWZhdWx0O1xuJGNoYXJjb2FsICAgICAgOiAjNTU1NTU1ICFkZWZhdWx0O1xuJHR1YXRhcmEgICAgICAgOiAjNDQ0NDQ0ICFkZWZhdWx0O1xuJG9pbCAgICAgICAgICAgOiAjMzMzMzMzICFkZWZhdWx0O1xuJGpldCAgICAgICAgICAgOiAjMjIyMjIyICFkZWZhdWx0O1xuJGJsYWNrICAgICAgICAgOiAjMDAwMDAwICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgYXMgZGVmYXVsdCBjb2xvcnMgdGhyb3VnaG91dFxuJHByaW1hcnktY29sb3I6ICMwMDhDQkEgIWRlZmF1bHQ7ICAgLy8gYm9uZGktYmx1ZVxuJHNlY29uZGFyeS1jb2xvcjogI2U3ZTdlNyAhZGVmYXVsdDsgLy8gd2hpdGUtbGlsYWNcbiRhbGVydC1jb2xvcjogI2YwNDEyNCAhZGVmYXVsdDsgICAgIC8vIGNpbm5hYmFyXG4kc3VjY2Vzcy1jb2xvcjogIzQzQUM2QSAhZGVmYXVsdDsgICAvLyBzZWEtZ3JlZW5cbiR3YXJuaW5nLWNvbG9yOiAjZjA4YTI0ICFkZWZhdWx0OyAgIC8vIGNhcnJvdFxuJGluZm8tY29sb3I6ICNhMGQzZTggIWRlZmF1bHQ7ICAgICAgLy8gY29ybmZsb3dlclxuXG4vLyBXZSB1c2UgdGhlc2UgdG8gZGVmaW5lIGRlZmF1bHQgZm9udCBzdGFja3NcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1zZXJpZjogR2VvcmdpYSwgQ2FtYnJpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGRlZmluZSBkZWZhdWx0IGZvbnQgd2VpZ2h0c1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHZhcmlvdXMgZ2xvYmFsIHN0eWxlc1xuJGJvZHktYmc6ICNmZmYgIWRlZmF1bHQ7XG4kYm9keS1mb250LWNvbG9yOiAjMjIyICFkZWZhdWx0O1xuJGJvZHktZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuJGJvZHktZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYm9keS1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgZm9udC1zbW9vdGhpbmdcbiRmb250LXNtb290aGluZzogYW50aWFsaWFzZWQgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRleHQgZGlyZWN0aW9uIHNldHRpbmdzXG4kdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcbiRkZWZhdWx0LWZsb2F0OiBsZWZ0ICFkZWZhdWx0O1xuJG9wcG9zaXRlLWRpcmVjdGlvbjogcmlnaHQgIWRlZmF1bHQ7XG5AaWYgJHRleHQtZGlyZWN0aW9uID09IGx0ciB7XG4gICRkZWZhdWx0LWZsb2F0OiBsZWZ0O1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiByaWdodDtcbn0gQGVsc2Uge1xuICAkZGVmYXVsdC1mbG9hdDogcmlnaHQ7XG4gICRvcHBvc2l0ZS1kaXJlY3Rpb246IGxlZnQ7XG59XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBtYWtlIHN1cmUgYm9yZGVyIHJhZGl1cyBtYXRjaGVzIHVubGVzcyB3ZSB3YW50IGl0IGRpZmZlcmVudC5cbiRnbG9iYWwtcmFkaXVzOiAzcHggIWRlZmF1bHQ7XG4kZ2xvYmFsLXJvdW5kZWQ6IDEwMDBweCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaW5zZXQgc2hhZG93IHNoaW55IGVkZ2VzIGFuZCBkZXByZXNzaW9ucy5cbiRzaGlueS1lZGdlLXNpemU6IDAgMXB4IDAgIWRlZmF1bHQ7XG4kc2hpbnktZWRnZS1jb2xvcjogcmdiYSgjZmZmLCAuNSkgIWRlZmF1bHQ7XG4kc2hpbnktZWRnZS1hY3RpdmUtY29sb3I6IHJnYmEoIzAwMCwgLjIpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHdoZXRoZXIgb3Igbm90IENTUyBjbGFzc2VzIGNvbWUgdGhyb3VnaCBpbiB0aGUgZ2VtIGZpbGVzLlxuJGluY2x1ZGUtaHRtbC1jbGFzc2VzOiB0cnVlICFkZWZhdWx0O1xuJGluY2x1ZGUtcHJpbnQtc3R5bGVzOiB0cnVlICFkZWZhdWx0O1xuJGluY2x1ZGUtanMtbWV0YS1zdHlsZXM6IHRydWUgIWRlZmF1bHQ7IC8vIFdhcm5pbmchIE1ldGEgc3R5bGVzIGFyZSBhIGRlcGVuZGFuY3kgb2YgdGhlIEphdmFzY3JpcHQuXG4kaW5jbHVkZS1odG1sLWdsb2JhbC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbiRjb2x1bW4tZ3V0dGVyOiByZW0tY2FsYygzMCkgIWRlZmF1bHQ7XG5cbi8vIE1lZGlhIFF1ZXJ5IFJhbmdlc1xuJHNtYWxsLWJyZWFrcG9pbnQ6ICBlbS1jYWxjKDY0MCkgICFkZWZhdWx0O1xuJG1lZGl1bS1icmVha3BvaW50OiBlbS1jYWxjKDEwMjQpICFkZWZhdWx0O1xuJGxhcmdlLWJyZWFrcG9pbnQ6ICBlbS1jYWxjKDE0NDApICFkZWZhdWx0O1xuJHhsYXJnZS1icmVha3BvaW50OiBlbS1jYWxjKDE5MjApICFkZWZhdWx0O1xuXG4kc21hbGwtcmFuZ2U6ICAgKDAsICRzbWFsbC1icmVha3BvaW50KSAhZGVmYXVsdDtcbiRtZWRpdW0tcmFuZ2U6ICAoJHNtYWxsLWJyZWFrcG9pbnQgICsgZW0tY2FsYygxKSwgJG1lZGl1bS1icmVha3BvaW50KSAhZGVmYXVsdDtcbiRsYXJnZS1yYW5nZTogICAoJG1lZGl1bS1icmVha3BvaW50ICsgZW0tY2FsYygxKSwgJGxhcmdlLWJyZWFrcG9pbnQpICAhZGVmYXVsdDtcbiR4bGFyZ2UtcmFuZ2U6ICAoJGxhcmdlLWJyZWFrcG9pbnQgICsgZW0tY2FsYygxKSwgJHhsYXJnZS1icmVha3BvaW50KSAhZGVmYXVsdDtcbiR4eGxhcmdlLXJhbmdlOiAoJHhsYXJnZS1icmVha3BvaW50ICsgZW0tY2FsYygxKSwgZW0tY2FsYyg5OTk5OTk5OSkpICFkZWZhdWx0O1xuXG4kc2NyZWVuOiBcIm9ubHkgc2NyZWVuXCIgIWRlZmF1bHQ7XG5cbiRsYW5kc2NhcGU6IFwiI3skc2NyZWVufSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpXCIgIWRlZmF1bHQ7XG4kcG9ydHJhaXQ6IFwiI3skc2NyZWVufSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdClcIiAhZGVmYXVsdDtcblxuJHNtYWxsLXVwOiAkc2NyZWVuICFkZWZhdWx0O1xuJHNtYWxsLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1heC13aWR0aDogI3t1cHBlci1ib3VuZCgkc21hbGwtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcblxuJG1lZGl1bS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJG1lZGl1bS1yYW5nZSl9KVwiICFkZWZhdWx0O1xuJG1lZGl1bS1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkbWVkaXVtLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJG1lZGl1bS1yYW5nZSl9KVwiICFkZWZhdWx0O1xuXG4kbGFyZ2UtdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCRsYXJnZS1yYW5nZSl9KVwiICFkZWZhdWx0O1xuJGxhcmdlLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCRsYXJnZS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCRsYXJnZS1yYW5nZSl9KVwiICFkZWZhdWx0O1xuXG4keGxhcmdlLXVwOiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkeGxhcmdlLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG4keGxhcmdlLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkeGxhcmdlLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG5cbiR4eGxhcmdlLXVwOiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkeHhsYXJnZS1yYW5nZSl9KVwiICFkZWZhdWx0O1xuJHh4bGFyZ2Utb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHh4bGFyZ2UtcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkeHhsYXJnZS1yYW5nZSl9KVwiICFkZWZhdWx0O1xuXG4kcmV0aW5hOiAoXG4gIFwiI3skc2NyZWVufSBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMilcIixcbiAgXCIjeyRzY3JlZW59IGFuZCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKVwiLFxuICBcIiN7JHNjcmVlbn0gYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpXCIsXG4gIFwiI3skc2NyZWVufSBhbmQgKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpXCIsXG4gIFwiI3skc2NyZWVufSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpXCIsXG4gIFwiI3skc2NyZWVufSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweClcIlxuKTtcblxuLy8gTGVnYWN5XG4kc21hbGw6ICRzbWFsbC11cDtcbiRtZWRpdW06ICRtZWRpdW0tdXA7XG4kbGFyZ2U6ICRsYXJnZS11cDtcblxuXG4vL1dlIHVzZSB0aGlzIGFzIGN1cnNvcnMgdmFsdWVzIGZvciBlbmFibGluZyB0aGUgb3B0aW9uIG9mIGhhdmluZyBjdXN0b20gY3Vyc29ycyBpbiB0aGUgd2hvbGUgc2l0ZSdzIHN0eWxlc2hlZXRcbiRjdXJzb3ItYXV0by12YWx1ZTogYXV0byAhZGVmYXVsdDtcbiRjdXJzb3ItY3Jvc3NoYWlyLXZhbHVlOiBjcm9zc2hhaXIgIWRlZmF1bHQ7XG4kY3Vyc29yLWRlZmF1bHQtdmFsdWU6IGRlZmF1bHQgIWRlZmF1bHQ7XG4kY3Vyc29yLWRpc2FibGVkLXZhbHVlOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcbiRjdXJzb3ItcG9pbnRlci12YWx1ZTogcG9pbnRlciAhZGVmYXVsdDtcbiRjdXJzb3ItaGVscC12YWx1ZTogaGVscCAhZGVmYXVsdDtcbiRjdXJzb3ItdGV4dC12YWx1ZTogdGV4dCAhZGVmYXVsdDtcblxuXG5AaW5jbHVkZSBleHBvcnRzKFwiZ2xvYmFsXCIpIHtcblxuICAvLyBNZXRhIHN0eWxlcyBhcmUgYSBkZXBlbmRhbmN5IG9mIHRoZSBKYXZhc2NyaXB0LlxuICAvLyBVc2VkIHRvIHByb3ZpZGUgbWVkaWEgcXVlcnkgdmFsdWVzIGZvciBqYXZhc2NyaXB0IGNvbXBvbmVudHMuXG4gIC8vIEZvcndhcmQgc2xhc2ggcGxhY2VkIGFyb3VuZCBldmVyeXRoaW5nIHRvIGNvbnZpbmNlIFBoYW50b21KUyB0byByZWFkIHRoZSB2YWx1ZS5cblxuICBAaWYgJGluY2x1ZGUtanMtbWV0YS1zdHlsZXMge1xuXG4gICAgbWV0YS5mb3VuZGF0aW9uLXZlcnNpb24ge1xuICAgICAgZm9udC1mYW1pbHk6IFwiLzUuNS4zL1wiO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS1zbWFsbCB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRzbWFsbC11cCkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkc21hbGwtcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS1zbWFsbC1vbmx5IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJHNtYWxsLW9ubHkpICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJHNtYWxsLXJhbmdlKTtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEtbWVkaXVtIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJG1lZGl1bS11cCkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkbWVkaXVtLXJhbmdlKTtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEtbWVkaXVtLW9ubHkge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkbWVkaXVtLW9ubHkpICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJG1lZGl1bS1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLWxhcmdlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJGxhcmdlLXVwKSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRsYXJnZS1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLWxhcmdlLW9ubHkge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkbGFyZ2Utb25seSkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS14bGFyZ2Uge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkeGxhcmdlLXVwKSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS14bGFyZ2Utb25seSB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCR4bGFyZ2Utb25seSkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkeGxhcmdlLXJhbmdlKTtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEteHhsYXJnZSB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCR4eGxhcmdlLXVwKSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKTtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tZGF0YS1hdHRyaWJ1dGUtbmFtZXNwYWNlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAjeyRuYW1lc3BhY2V9O1xuICAgIH1cblxuICB9XG5cbiAgQGlmICRpbmNsdWRlLWh0bWwtZ2xvYmFsLWNsYXNzZXMge1xuXG4gICAgLy8gTXVzdCBiZSAxMDAlIGZvciBvZmYgY2FudmFzIHRvIHdvcmtcbiAgICBodG1sLCBib2R5IHsgaGVpZ2h0OiAxMDAlOyB9XG5cbiAgICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAgICosXG4gICAgKjpiZWZvcmUsXG4gICAgKjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuICAgIH1cblxuICAgIGh0bWwsXG4gICAgYm9keSB7IGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplOyB9XG5cbiAgICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gICAgYm9keSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYm9keS1iZztcbiAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLWF1dG8tdmFsdWU7XG4gICAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgICBmb250LXN0eWxlOiAkYm9keS1mb250LXN0eWxlO1xuICAgICAgZm9udC13ZWlnaHQ6ICRib2R5LWZvbnQtd2VpZ2h0O1xuICAgICAgbGluZS1oZWlnaHQ6ICRiYXNlLWxpbmUtaGVpZ2h0OyAvLyBTZXQgdG8gJGJhc2UtbGluZS1oZWlnaHQgdG8gdGFrZSBvbiBicm93c2VyIGRlZmF1bHQgb2YgMTUwJVxuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgYTpob3ZlciB7IGN1cnNvcjogJGN1cnNvci1wb2ludGVyLXZhbHVlOyB9XG5cbiAgICAvLyBHcmlkIERlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlOyBoZWlnaHQ6IGF1dG87IH1cblxuICAgIGltZyB7IC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxuICAgICNtYXBfY2FudmFzLFxuICAgIC5tYXBfY2FudmFzLFxuICAgIC5tcWEtZGlzcGxheSB7XG4gICAgICBpbWcsXG4gICAgICBlbWJlZCxcbiAgICAgIG9iamVjdCB7IG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1pc2NlbGxhbmVvdXMgdXNlZnVsIEhUTUwgY2xhc3Nlc1xuICAgIC5sZWZ0IHsgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC5yaWdodCB7IGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLmNsZWFyZml4IHsgQGluY2x1ZGUgY2xlYXJmaXg7IH1cblxuICAgIC8vIEhpZGUgdmlzdWFsbHkgYW5kIGZyb20gc2NyZWVuIHJlYWRlcnNcbiAgICAuaGlkZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8vIEhpZGUgdmlzdWFsbHkgYW5kIGZyb20gc2NyZWVuIHJlYWRlcnMsIGJ1dCBtYWludGFpbiBsYXlvdXRcbiAgICAuaW52aXNpYmxlIHsgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbiAgICAvLyBGb250IHNtb290aGluZ1xuICAgIC8vIEFudGlhbGlhc2VkIGZvbnQgc21vb3RoaW5nIHdvcmtzIGJlc3QgZm9yIGxpZ2h0IHRleHQgb24gYSBkYXJrIGJhY2tncm91bmQuXG4gICAgLy8gQXBwbHkgdG8gc2luZ2xlIGVsZW1lbnRzIGluc3RlYWQgb2YgZ2xvYmFsbHkgdG8gYm9keS5cbiAgICAvLyBOb3RlIHRoaXMgb25seSBhcHBsaWVzIHRvIHdlYmtpdC1iYXNlZCBkZXNrdG9wIGJyb3dzZXJzIGFuZCBGaXJlZm94IDI1IChhbmQgbGF0ZXIpIG9uIHRoZSBNYWMuXG4gICAgLmFudGlhbGlhc2VkIHsgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIEdsb2JhbCByZXNldHMgZm9yIGZvcm1zXG4gICAgLy9cblxuICAgIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICAgIHRleHRhcmVhIHsgaGVpZ2h0OiBhdXRvOyBtaW4taGVpZ2h0OiA1MHB4OyB9XG5cbiAgICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgICBzZWxlY3QgeyB3aWR0aDogMTAwJTsgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuLy9cbi8vIFRhYmxlIG9mIENvbnRlbnRzXG4vLyBGb3VuZGF0aW9uIFNldHRpbmdzXG4vL1xuLy8gYS4gQmFzZVxuLy8gYi4gR3JpZFxuLy8gYy4gR2xvYmFsXG4vLyBkLiBNZWRpYSBRdWVyeSBSYW5nZXNcbi8vIGUuIFR5cG9ncmFwaHlcbi8vIDAxLiBBY2NvcmRpb25cbi8vIDAyLiBBbGVydCBCb3hlc1xuLy8gMDMuIEJsb2NrIEdyaWRcbi8vIDA0LiBCcmVhZGNydW1ic1xuLy8gMDUuIEJ1dHRvbnNcbi8vIDA2LiBCdXR0b24gR3JvdXBzXG4vLyAwNy4gQ2xlYXJpbmdcbi8vIDA4LiBEcm9wZG93blxuLy8gMDkuIERyb3Bkb3duIEJ1dHRvbnNcbi8vIDEwLiBGbGV4IFZpZGVvXG4vLyAxMS4gRm9ybXNcbi8vIDEyLiBJY29uIEJhclxuLy8gMTMuIElubGluZSBMaXN0c1xuLy8gMTQuIEpveXJpZGVcbi8vIDE1LiBLZXlzdHJva2VzXG4vLyAxNi4gTGFiZWxzXG4vLyAxNy4gTWFnZWxsYW5cbi8vIDE4LiBPZmYtY2FudmFzXG4vLyAxOS4gT3JiaXRcbi8vIDIwLiBQYWdpbmF0aW9uXG4vLyAyMS4gUGFuZWxzXG4vLyAyMi4gUHJpY2luZyBUYWJsZXNcbi8vIDIzLiBQcm9ncmVzcyBCYXJcbi8vIDI0LiBSYW5nZSBTbGlkZXJcbi8vIDI1LiBSZXZlYWxcbi8vIDI2LiBTaWRlIE5hdlxuLy8gMjcuIFNwbGl0IEJ1dHRvbnNcbi8vIDI4LiBTdWIgTmF2XG4vLyAyOS4gU3dpdGNoXG4vLyAzMC4gVGFibGVzXG4vLyAzMS4gVGFic1xuLy8gMzIuIFRodW1ibmFpbHNcbi8vIDMzLiBUb29sdGlwc1xuLy8gMzQuIFRvcCBCYXJcbi8vIDM2LiBWaXNpYmlsaXR5IENsYXNzZXNcbi8vIGEuIEJhc2Vcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoaXMgaXMgdGhlIGRlZmF1bHQgaHRtbCBhbmQgYm9keSBmb250LXNpemUgZm9yIHRoZSBiYXNlIHJlbSB2YWx1ZS5cbi8vICRyZW0tYmFzZTogMTZweDtcbi8vIEFsbG93cyB0aGUgdXNlIG9mIHJlbS1jYWxjKCkgb3IgbG93ZXItYm91bmQoKSBpbiB5b3VyIHNldHRpbmdzXG5AaW1wb3J0IFwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9fZnVuY3Rpb25zLnNjc3NcIjtcblxuLy8gVGhlIGRlZmF1bHQgZm9udC1zaXplIGlzIHNldCB0byAxMDAlIG9mIHRoZSBicm93c2VyIHN0eWxlIHNoZWV0ICh1c3VhbGx5IDE2cHgpXG4vLyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIGJyb3dzZXItYmFzZWQgdGV4dCB6b29tIG9yIHVzZXItc2V0IGRlZmF1bHRzLlxuLy9cbi8vIFNpbmNlIHRoZSB0eXBpY2FsIGRlZmF1bHQgYnJvd3NlciBmb250LXNpemUgaXMgMTZweCwgdGhhdCBtYWtlcyB0aGUgY2FsY3VsYXRpb24gZm9yIGdyaWQgc2l6ZS5cbi8vIElmIHlvdSB3YW50IHlvdXIgYmFzZSBmb250LXNpemUgdG8gYmUgZGlmZmVyZW50IGFuZCBub3QgaGF2ZSBpdCBhZmZlY3QgdGhlIGdyaWQgYnJlYWtwb2ludHMsXG4vLyBzZXQgJHJlbS1iYXNlIHRvICRiYXNlLWZvbnQtc2l6ZSBhbmQgbWFrZSBzdXJlICRiYXNlLWZvbnQtc2l6ZSBpcyBhIHB4IHZhbHVlLlxuJGJhc2UtZm9udC1zaXplOiAxNnB4O1xuLy8gVGhlICRiYXNlLWZvbnQtc2l6ZSBpcyAxMDAlIHdoaWxlICRiYXNlLWxpbmUtaGVpZ2h0IGlzIDE1MCVcbi8vICRiYXNlLWxpbmUtaGVpZ2h0OiAxNTAlO1xuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB3aGV0aGVyIG9yIG5vdCBDU1MgY2xhc3NlcyBjb21lIHRocm91Z2ggaW4gdGhlIGdlbSBmaWxlcy5cbiRpbmNsdWRlLWh0bWwtY2xhc3NlczogdHJ1ZTtcblxuLy8gJGluY2x1ZGUtcHJpbnQtc3R5bGVzOiB0cnVlO1xuJGluY2x1ZGUtaHRtbC1nbG9iYWwtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBiLiBHcmlkXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyAkaW5jbHVkZS1odG1sLWdyaWQtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuLy8gJGluY2x1ZGUteGwtaHRtbC1ncmlkLWNsYXNzZXM6IGZhbHNlO1xuJHJvdy13aWR0aDogcmVtLWNhbGMoMTAwMCk7XG4vLyAkdG90YWwtY29sdW1uczogMTI7XG4vLyAkY29sdW1uLWd1dHRlcjogcmVtLWNhbGMoMzApO1xuLy8gYy4gR2xvYmFsXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBXZSB1c2UgdGhlc2UgdG8gZGVmaW5lIGRlZmF1bHQgZm9udCBzdGFja3NcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiBcIkxhdG9cIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcblxuLy8gJGZvbnQtZmFtaWx5LXNlcmlmOiBHZW9yZ2lhLCBDYW1icmlhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBUaW1lcywgc2VyaWY7XG4vLyAkZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuLy8gV2UgdXNlIHRoZXNlIHRvIGRlZmluZSBkZWZhdWx0IGZvbnQgd2VpZ2h0c1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGZvbnQtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG5cbi8vIFByZWRlZmluZWQgLSBETyBOT1QgQ0hBTkdFXG4kd2hpdGU6ICNGRkZGRkY7XG4kZ2hvc3Q6ICNGQUZBRkE7XG4kc25vdzogI0Y5RjlGOTtcbiR2YXBvcjogI0Y2RjZGNjtcbiR3aGl0ZS1zbW9rZTogI0Y1RjVGNTtcbiRzaWx2ZXI6ICNFRkVGRUY7XG4kc21va2U6ICNFRUVFRUU7XG4kZGFyay1zbW9rZTogI0U1RTVFNTtcbiRnYWluc2Jvcm86ICNEREREREQ7XG4kaXJvbjogI0NDQ0NDQztcbiRiYXNlOiAjQUFBQUFBO1xuJGFsdW1pbnVtOiAjOTk5OTk5O1xuJGp1bWJvOiAjODg4ODg4O1xuJG1vbnNvb246ICM3Nzc3Nzc7XG4kc3RlZWw6ICM2NjY2NjY7XG4kY2hhcmNvYWw6ICM1NTU1NTU7XG4kdHVhdGFyYTogIzQ0NDQ0NDtcbiRvaWw6ICMzMzMzMzM7XG4kamV0OiAjMjIyMjIyO1xuJGJsYWNrOiAjMDAwMDAwO1xuXG4vLyBXZSB1c2UgdGhlc2UgYXMgZGVmYXVsdCBjb2xvcnMgdGhyb3VnaG91dFxuJHByaW1hcnktY29sb3I6ICM1N0E4RUE7XG4kc2Vjb25kYXJ5LWNvbG9yOiAjNDY4MkI0O1xuJGFsZXJ0LWNvbG9yOiAjRTA1MTUxO1xuJHN1Y2Nlc3MtY29sb3I6ICM4QkNDMjk7XG4kd2FybmluZy1jb2xvcjogI0ZGRkZFMDtcbiRpbmZvLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXG4vLyBDdXN0b20gQ29sb3JzXG4kYmx1ZXktZ3JleTogI0UxRTZFQjtcbiRyZWQ6ICNFMDUxNTE7XG4kbmF2LWhlaWdodDogODBweDtcbiRuYXYtc21hbGwtaGVpZ2h0OiAxMDBweDsgLy9Gb3IgbG9nbyB0byBkaXNwbGF5IGxvd2VyXG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHZhcmlvdXMgZ2xvYmFsIHN0eWxlc1xuJGJvZHktYmc6ICRzbW9rZTtcbiRib2R5LWZvbnQtY29sb3I6ICRvaWw7XG5cbi8vICRib2R5LWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbi8vICRib2R5LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8gJGJvZHktZm9udC1zdHlsZTogbm9ybWFsO1xuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBmb250LXNtb290aGluZ1xuLy8gJGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRleHQgZGlyZWN0aW9uIHNldHRpbmdzXG4vLyAkdGV4dC1kaXJlY3Rpb246IGx0cjtcbi8vICRvcHBvc2l0ZS1kaXJlY3Rpb246IHJpZ2h0O1xuLy8gJGRlZmF1bHQtZmxvYXQ6IGxlZnQ7XG4vLyAkbGFzdC1jaGlsZC1mbG9hdDogJG9wcG9zaXRlLWRpcmVjdGlvbjtcbi8vIFdlIHVzZSB0aGVzZSB0byBtYWtlIHN1cmUgYm9yZGVyIHJhZGl1cyBtYXRjaGVzIHVubGVzcyB3ZSB3YW50IGl0IGRpZmZlcmVudC5cbi8vICRnbG9iYWwtcmFkaXVzOiAzcHg7XG4vLyAkZ2xvYmFsLXJvdW5kZWQ6IDEwMDBweDtcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGluc2V0IHNoYWRvdyBzaGlueSBlZGdlcyBhbmQgZGVwcmVzc2lvbnMuXG4vLyAkc2hpbnktZWRnZS1zaXplOiAwIDFweCAwO1xuLy8gJHNoaW55LWVkZ2UtY29sb3I6IHJnYmEoJHdoaXRlLCAuNSk7XG4vLyAkc2hpbnktZWRnZS1hY3RpdmUtY29sb3I6IHJnYmEoJGJsYWNrLCAuMik7XG4vLyBkLiBNZWRpYSBRdWVyeSBSYW5nZXNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbiRzbWFsbC1icmVha3BvaW50OiBlbS1jYWxjKDY0MCk7XG4kbWVkaXVtLWJyZWFrcG9pbnQ6IGVtLWNhbGMoMTAyNCk7XG4kbGFyZ2UtYnJlYWtwb2ludDogZW0tY2FsYygxNDQwKTtcbiR4bGFyZ2UtYnJlYWtwb2ludDogZW0tY2FsYygxOTIwKTtcblxuLy9jdXN0b20gYnAgKG9ubHkgdXNlZCBmb3IgaG9tZXBhZ2UgbmF2KVxuJG1pZC1zbWFsbC1icmVha3BvaW50OiBlbS1jYWxjKDcyNSk7XG5cbi8vICRzbWFsbC1yYW5nZTogICAoMCwgJHNtYWxsLWJyZWFrcG9pbnQpO1xuLy8gJG1lZGl1bS1yYW5nZTogICgkc21hbGwtYnJlYWtwb2ludCAgKyBlbS1jYWxjKDEpLCAkbWVkaXVtLWJyZWFrcG9pbnQpO1xuLy8gJGxhcmdlLXJhbmdlOiAgICgkbWVkaXVtLWJyZWFrcG9pbnQgKyBlbS1jYWxjKDEpLCAkbGFyZ2UtYnJlYWtwb2ludCk7XG4vLyAkeGxhcmdlLXJhbmdlOiAgKCRsYXJnZS1icmVha3BvaW50ICArIGVtLWNhbGMoMSksICR4bGFyZ2UtYnJlYWtwb2ludCk7XG4vLyAkeHhsYXJnZS1yYW5nZTogKCR4bGFyZ2UtYnJlYWtwb2ludCArIGVtLWNhbGMoMSksIGVtLWNhbGMoOTk5OTk5OTkpKTtcbiRzY3JlZW46IFwib25seSBzY3JlZW5cIjtcblxuLy8gJGxhbmRzY2FwZTogXCIjeyRzY3JlZW59IGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSlcIjtcbi8vICRwb3J0cmFpdDogXCIjeyRzY3JlZW59IGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KVwiO1xuLy8gJHNtYWxsLXVwOiAkc2NyZWVuO1xuLy8gJHNtYWxsLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1heC13aWR0aDogI3t1cHBlci1ib3VuZCgkc21hbGwtcmFuZ2UpfSlcIjtcbi8vICRtZWRpdW0tdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSlcIjtcbi8vICRtZWRpdW0tb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJG1lZGl1bS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSlcIjtcbi8vICRsYXJnZS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pXCI7XG4vLyAkbGFyZ2Utb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pXCI7XG4vLyAkeGxhcmdlLXVwOiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkeGxhcmdlLXJhbmdlKX0pXCI7XG4vLyAkeGxhcmdlLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkeGxhcmdlLXJhbmdlKX0pXCI7XG4vLyAkeHhsYXJnZS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHh4bGFyZ2UtcmFuZ2UpfSlcIjtcbi8vICR4eGxhcmdlLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJHh4bGFyZ2UtcmFuZ2UpfSlcIjtcbi8vICRyZXRpbmE6IChcbi8vICBcIiN7JHNjcmVlbn0gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpXCIsXG4vLyAgXCIjeyRzY3JlZW59IGFuZCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKVwiLFxuLy8gIFwiI3skc2NyZWVufSBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSlcIixcbi8vICBcIiN7JHNjcmVlbn0gYW5kIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKVwiLFxuLy8gIFwiI3skc2NyZWVufSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpXCIsXG4vLyAgXCIjeyRzY3JlZW59IGFuZCAobWluLXJlc29sdXRpb246IDJkcHB4KVwiXG4vLyApO1xuLy8gTGVnYWN5XG4vLyAkc21hbGw6ICRtZWRpdW0tdXA7XG4vLyAkbWVkaXVtOiAkbWVkaXVtLXVwO1xuLy8gJGxhcmdlOiAkbGFyZ2UtdXA7XG4vLyBXZSB1c2UgdGhpcyBhcyBjdXJzb3JzIHZhbHVlcyBmb3IgZW5hYmxpbmcgdGhlIG9wdGlvbiBvZiBoYXZpbmcgY3VzdG9tIGN1cnNvcnMgaW4gdGhlIHdob2xlIHNpdGUncyBzdHlsZXNoZWV0XG4vLyAkY3Vyc29yLWNyb3NzaGFpci12YWx1ZTogY3Jvc3NoYWlyO1xuLy8gJGN1cnNvci1kZWZhdWx0LXZhbHVlOiBkZWZhdWx0O1xuLy8gJGN1cnNvci1kaXNhYmxlZC12YWx1ZTogbm90LWFsbG93ZWQ7XG4vLyAkY3Vyc29yLXBvaW50ZXItdmFsdWU6IHBvaW50ZXI7XG4vLyAkY3Vyc29yLWhlbHAtdmFsdWU6IGhlbHA7XG4vLyAkY3Vyc29yLXRleHQtdmFsdWU6IHRleHQ7XG4vLyBlLiBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyAkaW5jbHVkZS1odG1sLXR5cGUtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGVyIGZvbnQgc3R5bGVzXG4vLyAkaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbi8vICRoZWFkZXItZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4vLyAkaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbi8vICRoZWFkZXItZm9udC1jb2xvcjogJGpldDtcbi8vICRoZWFkZXItbGluZS1oZWlnaHQ6IDEuNDtcbi8vICRoZWFkZXItdG9wLW1hcmdpbjogLjJyZW07XG4vLyAkaGVhZGVyLWJvdHRvbS1tYXJnaW46IC41cmVtO1xuLy8gJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGVyIGZvbnQgc2l6ZXNcbiRoMS1mb250LXNpemU6IHJlbS1jYWxjKDQwKTtcbiRoMi1mb250LXNpemU6IHJlbS1jYWxjKDI4KTtcbiRoMy1mb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiRoNC1mb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiRoNS1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRoNi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGVyIHNpemUgcmVkdWN0aW9uIG9uIHNtYWxsIHNjcmVlbnNcbi8vICRoMS1mb250LXJlZHVjdGlvbjogcmVtLWNhbGMoMTApO1xuJGgyLWZvbnQtcmVkdWN0aW9uOiByZW0tY2FsYygzKTtcbiRoMy1mb250LXJlZHVjdGlvbjogcmVtLWNhbGMoNSk7XG4kaDQtZm9udC1yZWR1Y3Rpb246IHJlbS1jYWxjKDEpO1xuLy8gJGg1LWZvbnQtcmVkdWN0aW9uOiAwO1xuLy8gJGg2LWZvbnQtcmVkdWN0aW9uOiAwO1xuLy8gVGhlc2UgY29udHJvbCBob3cgc3ViaGVhZGVycyBhcmUgc3R5bGVkLlxuLy8gJHN1YmhlYWRlci1saW5lLWhlaWdodDogMS40O1xuLy8gJHN1YmhlYWRlci1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkaGVhZGVyLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDM1JSk7XG4vLyAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8gJHN1YmhlYWRlci10b3AtbWFyZ2luOiAuMnJlbTtcbi8vICRzdWJoZWFkZXItYm90dG9tLW1hcmdpbjogLjVyZW07XG4vLyBBIGdlbmVyYWwgPHNtYWxsPiBzdHlsaW5nXG4vLyAkc21hbGwtZm9udC1zaXplOiA4MCU7XG5cbi8vICRzbWFsbC1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkaGVhZGVyLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDM1JSk7XG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgcGFyYWdyYXBoc1xuLy8gJHBhcmFncmFwaC1mb250LWZhbWlseTogaW5oZXJpdDtcbi8vICRwYXJhZ3JhcGgtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4vLyAkcGFyYWdyYXBoLWZvbnQtc2l6ZTogMXJlbTtcbi8vICRwYXJhZ3JhcGgtbGluZS1oZWlnaHQ6IDEuNjtcbi8vICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuLy8gJHBhcmFncmFwaC1hc2lkZS1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICRwYXJhZ3JhcGgtYXNpZGUtbGluZS1oZWlnaHQ6IDEuMzU7XG4vLyAkcGFyYWdyYXBoLWFzaWRlLWZvbnQtc3R5bGU6IGl0YWxpYztcbi8vICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSA8Y29kZT4gdGFnc1xuLy8gJGNvZGUtY29sb3I6ICRvaWw7XG4vLyAkY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbi8vICRjb2RlLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8gJGNvZGUtYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogNzAlKTtcbi8vICRjb2RlLWJvcmRlci1zaXplOiAxcHg7XG4vLyAkY29kZS1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJGNvZGUtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkY29kZS1iYWNrZ3JvdW5kLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTAlKTtcbi8vICRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIpIHJlbS1jYWxjKDUpIHJlbS1jYWxjKDEpO1xuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGFuY2hvcnNcbi8vICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuLy8gJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4vLyAkYW5jaG9yLWZvbnQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJGFuY2hvci1mb250LWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSA8aHI+IGVsZW1lbnRcbi8vICRoci1ib3JkZXItd2lkdGg6IDFweDtcbi8vICRoci1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJGhyLWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybztcbi8vICRoci1tYXJnaW46IHJlbS1jYWxjKDIwKTtcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBsaXN0c1xuLy8gJGxpc3QtZm9udC1mYW1pbHk6ICRwYXJhZ3JhcGgtZm9udC1mYW1pbHk7XG4vLyAkbGlzdC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplO1xuLy8gJGxpc3QtbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZS1oZWlnaHQ7XG4vLyAkbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4vLyAkbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbi8vICRsaXN0LXNpZGUtbWFyZ2luOiAxLjFyZW07XG4vLyAkbGlzdC1vcmRlcmVkLXNpZGUtbWFyZ2luOiAxLjRyZW07XG4vLyAkbGlzdC1zaWRlLW1hcmdpbi1uby1idWxsZXQ6IDA7XG4vLyAkbGlzdC1uZXN0ZWQtbWFyZ2luOiByZW0tY2FsYygyMCk7XG4vLyAkZGVmaW5pdGlvbi1saXN0LWhlYWRlci13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuLy8gJGRlZmluaXRpb24tbGlzdC1oZWFkZXItbWFyZ2luLWJvdHRvbTogLjNyZW07XG4vLyAkZGVmaW5pdGlvbi1saXN0LW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEyKTtcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBibG9ja3F1b3Rlc1xuLy8gJGJsb2NrcXVvdGUtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAzNSUpO1xuLy8gJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbi8vICRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRnYWluc2Jvcm87XG4vLyAkYmxvY2txdW90ZS1jaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuLy8gJGJsb2NrcXVvdGUtY2l0ZS1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkaGVhZGVyLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDIzJSk7XG4vLyAkYmxvY2txdW90ZS1jaXRlLWxpbmstY29sb3I6ICRibG9ja3F1b3RlLWNpdGUtZm9udC1jb2xvcjtcbi8vIEFjcm9ueW0gc3R5bGVzXG4vLyAkYWNyb255bS11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGdhaW5zYm9ybztcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHBhZGRpbmcgYW5kIG1hcmdpblxuLy8gJG1pY3JvZm9ybWF0LXBhZGRpbmc6IHJlbS1jYWxjKDEwIDEyKTtcbi8vICRtaWNyb2Zvcm1hdC1tYXJnaW46IHJlbS1jYWxjKDAgMCAyMCAwKTtcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBib3JkZXIgc3R5bGVzXG4vLyAkbWljcm9mb3JtYXQtYm9yZGVyLXdpZHRoOiAxcHg7XG4vLyAkbWljcm9mb3JtYXQtYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICRtaWNyb2Zvcm1hdC1ib3JkZXItY29sb3I6ICRnYWluc2Jvcm87XG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBmdWxsIG5hbWUgZm9udCBzdHlsZXNcbi8vICRtaWNyb2Zvcm1hdC1mdWxsbmFtZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4vLyAkbWljcm9mb3JtYXQtZnVsbG5hbWUtZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBzdW1tYXJ5IGZvbnQgc3R5bGVzXG4vLyAkbWljcm9mb3JtYXQtc3VtbWFyeS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGFiYnIgcGFkZGluZ1xuLy8gJG1pY3JvZm9ybWF0LWFiYnItcGFkZGluZzogcmVtLWNhbGMoMCAxKTtcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYWJiciBmb250IHN0eWxlc1xuLy8gJG1pY3JvZm9ybWF0LWFiYnItZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuLy8gJG1pY3JvZm9ybWF0LWFiYnItZm9udC1kZWNvcmF0aW9uOiBub25lO1xuLy8gMDEuIEFjY29yZGlvblxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gJGluY2x1ZGUtaHRtbC1hY2NvcmRpb24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuLy8gJGFjY29yZGlvbi1uYXZpZ2F0aW9uLXBhZGRpbmc6IHJlbS1jYWxjKDE2KTtcbi8vICRhY2NvcmRpb24tbmF2aWdhdGlvbi1iZy1jb2xvcjogJHNpbHZlcjtcbi8vICRhY2NvcmRpb24tbmF2aWdhdGlvbi1ob3Zlci1iZy1jb2xvcjogc2NhbGUtY29sb3IoJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtNSUpO1xuLy8gJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWFjdGl2ZS1iZy1jb2xvcjogc2NhbGUtY29sb3IoJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtMyUpO1xuLy8gJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtY29sb3I6ICRqZXQ7XG4vLyAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4vLyAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuLy8gJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6ICgkY29sdW1uLWd1dHRlci8yKTtcbi8vICRhY2NvcmRpb24tY29udGVudC1hY3RpdmUtYmctY29sb3I6ICR3aGl0ZTtcbi8vIDAyLiBBbGVydCBCb3hlc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gJGluY2x1ZGUtaHRtbC1hbGVydC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGFsZXJ0IHBhZGRpbmcuXG4vLyAkYWxlcnQtcGFkZGluZy10b3A6IHJlbS1jYWxjKDE0KTtcbi8vICRhbGVydC1wYWRkaW5nLWRlZmF1bHQtZmxvYXQ6ICRhbGVydC1wYWRkaW5nLXRvcDtcbi8vICRhbGVydC1wYWRkaW5nLW9wcG9zaXRlLWRpcmVjdGlvbjogJGFsZXJ0LXBhZGRpbmctdG9wICsgcmVtLWNhbGMoMTApO1xuLy8gJGFsZXJ0LXBhZGRpbmctYm90dG9tOiAkYWxlcnQtcGFkZGluZy10b3A7XG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0ZXh0IHN0eWxlLlxuLy8gJGFsZXJ0LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8gJGFsZXJ0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuLy8gJGFsZXJ0LWZvbnQtY29sb3I6ICR3aGl0ZTtcbi8vICRhbGVydC1mb250LWNvbG9yLWFsdDogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTY2JSk7XG4vLyBXZSB1c2UgdGhpcyBmb3IgY2xvc2UgaG92ZXIgZWZmZWN0LlxuLy8gJGFsZXJ0LWZ1bmN0aW9uLWZhY3RvcjogLTE0JTtcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJvcmRlciBzdHlsZXMuXG4vLyAkYWxlcnQtYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICRhbGVydC1ib3JkZXItd2lkdGg6IDFweDtcbi8vICRhbGVydC1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAkYWxlcnQtZnVuY3Rpb24tZmFjdG9yKTtcbi8vICRhbGVydC1ib3R0b20tbWFyZ2luOiByZW0tY2FsYygyMCk7XG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGNsb3NlIGJ1dHRvbnNcbi8vICRhbGVydC1jbG9zZS1jb2xvcjogJG9pbDtcbi8vICRhbGVydC1jbG9zZS10b3A6IDUwJTtcbi8vICRhbGVydC1jbG9zZS1wb3NpdGlvbjogcmVtLWNhbGMoNCk7XG4vLyAkYWxlcnQtY2xvc2UtZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4vLyAkYWxlcnQtY2xvc2Utb3BhY2l0eTogLjM7XG4vLyAkYWxlcnQtY2xvc2Utb3BhY2l0eS1ob3ZlcjogLjU7XG4vLyAkYWxlcnQtY2xvc2UtcGFkZGluZzogOXB4IDZweCA0cHg7XG4vLyAkYWxlcnQtY2xvc2UtYmFja2dyb3VuZDogaW5oZXJpdDtcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYm9yZGVyIHJhZGl1c1xuLy8gJGFsZXJ0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWxlcnQtdHJhbnNpdGlvbi1zcGVlZDogMTAwbXM7XG5cbi8vICRhbGVydC10cmFuc2l0aW9uLWVhc2U6IGVhc2Utb3V0O1xuLy8gMDMuIEJsb2NrIEdyaWRcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vICRpbmNsdWRlLWh0bWwtYmxvY2stZ3JpZC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG4vLyAkaW5jbHVkZS14bC1odG1sLWJsb2NrLWdyaWQtY2xhc3NlczogZmFsc2U7XG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBtYXhpbXVtIG51bWJlciBvZiBibG9jayBncmlkIGVsZW1lbnRzIHBlciByb3dcbi8vICRibG9jay1ncmlkLWVsZW1lbnRzOiAxMjtcbi8vICRibG9jay1ncmlkLWRlZmF1bHQtc3BhY2luZzogcmVtLWNhbGMoMjApO1xuLy8gJGFsaWduLWJsb2NrLWdyaWQtdG8tZ3JpZDogZmFsc2U7XG4vLyBAaWYgJGFsaWduLWJsb2NrLWdyaWQtdG8tZ3JpZCB7JGJsb2NrLWdyaWQtZGVmYXVsdC1zcGFjaW5nOiAkY29sdW1uLWd1dHRlcjt9XG4vLyBFbmFibGVzIG1lZGlhIHF1ZXJpZXMgZm9yIGJsb2NrLWdyaWQgY2xhc3Nlcy4gU2V0IHRvIGZhbHNlIGlmIHdyaXRpbmcgc2VtYW50aWMgSFRNTC5cbi8vICRibG9jay1ncmlkLW1lZGlhLXF1ZXJpZXM6IHRydWU7XG4vLyAwNC4gQnJlYWRjcnVtYnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vICRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3Nlcztcbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIGJyZWFkY3J1bWIgY29udGFpbmVyLlxuLy8gJGNydW1iLWJnOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiA1NSUpO1xuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgcGFkZGluZyBhcm91bmQgdGhlIGJyZWFkY3J1bWJzLlxuLy8gJGNydW1iLXBhZGRpbmc6IHJlbS1jYWxjKDkgMTQgOSk7XG4vLyAkY3J1bWItc2lkZS1wYWRkaW5nOiByZW0tY2FsYygxMik7XG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBib3JkZXIgc3R5bGVzLlxuLy8gJGNydW1iLWZ1bmN0aW9uLWZhY3RvcjogLTEwJTtcbi8vICRjcnVtYi1ib3JkZXItc2l6ZTogMXB4O1xuLy8gJGNydW1iLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkY3J1bWItYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkY3J1bWItYmcsICRsaWdodG5lc3M6ICRjcnVtYi1mdW5jdGlvbi1mYWN0b3IpO1xuLy8gJGNydW1iLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHZhcmlvdXMgdGV4dCBzdHlsZXMgZm9yIGJyZWFkY3J1bWJzLlxuLy8gJGNydW1iLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuLy8gJGNydW1iLWZvbnQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJGNydW1iLWZvbnQtY29sb3ItY3VycmVudDogJG9pbDtcbi8vICRjcnVtYi1mb250LWNvbG9yLXVuYXZhaWxhYmxlOiAkYWx1bWludW07XG4vLyAkY3J1bWItZm9udC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbi8vICRjcnVtYi1saW5rLWRlY29yOiB1bmRlcmxpbmU7XG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgc2xhc2ggYmV0d2VlbiBicmVhZGNydW1ic1xuLy8gJGNydW1iLXNsYXNoLWNvbG9yOiAkYmFzZTtcbi8vICRjcnVtYi1zbGFzaDogXCIvXCI7XG4vLyAwNS4gQnV0dG9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuLy8gV2UgdXNlIHRoZXNlIHRvIGJ1aWxkIHBhZGRpbmcgZm9yIGJ1dHRvbnMuXG4vLyAkYnV0dG9uLXRueTogcmVtLWNhbGMoMTApO1xuLy8gJGJ1dHRvbi1zbWw6IHJlbS1jYWxjKDE0KTtcbi8vICRidXR0b24tbWVkOiByZW0tY2FsYygxNik7XG4vLyAkYnV0dG9uLWxyZzogcmVtLWNhbGMoMTgpO1xuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgZGlzcGxheSBwcm9wZXJ0eS5cbi8vICRidXR0b24tZGlzcGxheTogaW5saW5lLWJsb2NrO1xuLy8gJGJ1dHRvbi1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBidXR0b24gdGV4dCBzdHlsZXMuXG4vLyAkYnV0dG9uLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbi8vICRidXR0b24tZm9udC1jb2xvcjogJHdoaXRlO1xuLy8gJGJ1dHRvbi1mb250LWNvbG9yLWFsdDogJG9pbDtcbi8vICRidXR0b24tZm9udC10bnk6IHJlbS1jYWxjKDExKTtcbi8vICRidXR0b24tZm9udC1zbWw6IHJlbS1jYWxjKDEzKTtcbi8vICRidXR0b24tZm9udC1tZWQ6IHJlbS1jYWxjKDE2KTtcbi8vICRidXR0b24tZm9udC1scmc6IHJlbS1jYWxjKDIwKTtcbi8vICRidXR0b24tZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4vLyAkYnV0dG9uLWZvbnQtYWxpZ246IGNlbnRlcjtcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHZhcmlvdXMgaG92ZXIgZWZmZWN0cy5cbi8vICRidXR0b24tZnVuY3Rpb24tZmFjdG9yOiAtMjAlO1xuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYnV0dG9uIGJvcmRlciBzdHlsZXMuXG4vLyAkYnV0dG9uLWJvcmRlci13aWR0aDogMDtcbi8vICRidXR0b24tYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICRidXR0b24tYmctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJGJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iZy1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpO1xuLy8gJGJ1dHRvbi1ib3JkZXItY29sb3I6ICRidXR0b24tYmctaG92ZXI7XG4vLyAkc2Vjb25kYXJ5LWJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpO1xuLy8gJHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5LWJ1dHRvbi1iZy1ob3Zlcjtcbi8vICRzdWNjZXNzLWJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJHN1Y2Nlc3MtY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKTtcbi8vICRzdWNjZXNzLWJ1dHRvbi1ib3JkZXItY29sb3I6ICRzdWNjZXNzLWJ1dHRvbi1iZy1ob3Zlcjtcbi8vICRhbGVydC1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRhbGVydC1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpO1xuLy8gJGFsZXJ0LWJ1dHRvbi1ib3JkZXItY29sb3I6ICRhbGVydC1idXR0b24tYmctaG92ZXI7XG4vLyAkd2FybmluZy1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCR3YXJuaW5nLWNvbG9yLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3Rvcik7XG4vLyAkd2FybmluZy1idXR0b24tYm9yZGVyLWNvbG9yOiAkd2FybmluZy1idXR0b24tYmctaG92ZXI7XG4vLyAkaW5mby1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRpbmZvLWNvbG9yLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3Rvcik7XG4vLyAkaW5mby1idXR0b24tYm9yZGVyLWNvbG9yOiAkaW5mby1idXR0b24tYmctaG92ZXI7XG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGRlZmF1bHQgcmFkaXVzIHVzZWQgdGhyb3VnaG91dCB0aGUgY29yZS5cbi8vICRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbi8vICRidXR0b24tcm91bmQ6ICRnbG9iYWwtcm91bmRlZDtcbi8vIFdlIHVzZSB0aGlzIHRvIHNldCBkZWZhdWx0IG9wYWNpdHkgYW5kIGN1cnNvciBmb3IgZGlzYWJsZWQgYnV0dG9ucy5cbi8vICRidXR0b24tZGlzYWJsZWQtb3BhY2l0eTogLjc7XG4vLyAkYnV0dG9uLWRpc2FibGVkLWN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlO1xuLy8gMDYuIEJ1dHRvbiBHcm91cHNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vICRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3Nlcztcbi8vIFNldHMgdGhlIG1hcmdpbiBmb3IgdGhlIHJpZ2h0IHNpZGUgYnkgZGVmYXVsdCwgYW5kIHRoZSBsZWZ0IG1hcmdpbiBpZiByaWdodC10by1sZWZ0IGRpcmVjdGlvbiBpcyB1c2VkXG4vLyAkYnV0dG9uLWJhci1tYXJnaW4tb3Bwb3NpdGU6IHJlbS1jYWxjKDEwKTtcbi8vICRidXR0b24tZ3JvdXAtYm9yZGVyLXdpZHRoOiAxcHg7XG4vLyAwNy4gQ2xlYXJpbmdcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vICRpbmNsdWRlLWh0bWwtY2xlYXJpbmctY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgYmFja2dyb3VuZCBjb2xvcnMgZm9yIHBhcnRzIG9mIENsZWFyaW5nLlxuLy8gJGNsZWFyaW5nLWJnOiAkb2lsO1xuLy8gJGNsZWFyaW5nLWNhcHRpb24tYmc6ICRjbGVhcmluZy1iZztcbi8vICRjbGVhcmluZy1jYXJvdXNlbC1iZzogcmdiYSg1MSw1MSw1MSwwLjgpO1xuLy8gJGNsZWFyaW5nLWltZy1iZzogJGNsZWFyaW5nLWJnO1xuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBjbG9zZSBidXR0b25cbi8vICRjbGVhcmluZy1jbG9zZS1jb2xvcjogJGlyb247XG4vLyAkY2xlYXJpbmctY2xvc2Utc2l6ZTogMzBweDtcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgYXJyb3dzXG4vLyAkY2xlYXJpbmctYXJyb3ctc2l6ZTogMTJweDtcbi8vICRjbGVhcmluZy1hcnJvdy1jb2xvcjogJGNsZWFyaW5nLWNsb3NlLWNvbG9yO1xuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGNhcHRpb25zXG4vLyAkY2xlYXJpbmctY2FwdGlvbi1mb250LWNvbG9yOiAkaXJvbjtcbi8vICRjbGVhcmluZy1jYXB0aW9uLWZvbnQtc2l6ZTogLjg3NWVtO1xuLy8gJGNsZWFyaW5nLWNhcHRpb24tcGFkZGluZzogMTBweCAzMHB4IDIwcHg7XG4vLyBXZSB1c2UgdGhlc2UgdG8gbWFrZSB0aGUgaW1hZ2UgYW5kIGNhcm91c2VsIGhlaWdodCBhbmQgc3R5bGVcbi8vICRjbGVhcmluZy1hY3RpdmUtaW1nLWhlaWdodDogODUlO1xuLy8gJGNsZWFyaW5nLWNhcm91c2VsLWhlaWdodDogMTIwcHg7XG4vLyAkY2xlYXJpbmctY2Fyb3VzZWwtdGh1bWItd2lkdGg6IDEyMHB4O1xuLy8gJGNsZWFyaW5nLWNhcm91c2VsLXRodW1iLWFjdGl2ZS1ib3JkZXI6IDFweCBzb2xpZCByZ2IoMjU1LDI1NSwyNTUpO1xuLy8gMDguIERyb3Bkb3duXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyAkaW5jbHVkZS1odG1sLWRyb3Bkb3duLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3Nlcztcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9scyBoZWlnaHQgYW5kIHdpZHRoIHN0eWxlcy5cbi8vICRmLWRyb3Bkb3duLW1heC13aWR0aDogMjAwcHg7XG4vLyAkZi1kcm9wZG93bi1oZWlnaHQ6IGF1dG87XG4vLyAkZi1kcm9wZG93bi1tYXgtaGVpZ2h0OiBub25lO1xuLy8gVXNlZCBmb3IgYm90dG9tIHBvc2l0aW9uXG4vLyAkZi1kcm9wZG93bi1tYXJnaW4tdG9wOiAycHg7XG4vLyBVc2VkIGZvciByaWdodCBwb3NpdGlvblxuLy8gJGYtZHJvcGRvd24tbWFyZ2luLWxlZnQ6ICRmLWRyb3Bkb3duLW1hcmdpbi10b3A7XG4vLyBVc2VkIGZvciBsZWZ0IHBvc2l0aW9uXG4vLyAkZi1kcm9wZG93bi1tYXJnaW4tcmlnaHQ6ICRmLWRyb3Bkb3duLW1hcmdpbi10b3A7XG4vLyBVc2VkIGZvciB0b3AgcG9zaXRpb25cbi8vICRmLWRyb3Bkb3duLW1hcmdpbi1ib3R0b206ICRmLWRyb3Bkb3duLW1hcmdpbi10b3A7XG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBiYWNrZ3JvdW5kIGNvbG9yXG4vLyAkZi1kcm9wZG93bi1iZzogJHdoaXRlO1xuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBib3JkZXIgc3R5bGVzIGZvciBkcm9wZG93bnMuXG4vLyAkZi1kcm9wZG93bi1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJGYtZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAxcHg7XG4vLyAkZi1kcm9wZG93bi1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTIwJSk7XG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIHRyaWFuZ2xlIHBpcC5cbi8vICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemU6IDZweDtcbi8vICRmLWRyb3Bkb3duLXRyaWFuZ2xlLWNvbG9yOiAkd2hpdGU7XG4vLyAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDogMTBweDtcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHN0eWxlcyBmb3IgdGhlIGxpc3QgZWxlbWVudHMuXG4vLyAkZi1kcm9wZG93bi1saXN0LXN0eWxlOiBub25lO1xuLy8gJGYtZHJvcGRvd24tZm9udC1jb2xvcjogJGNoYXJjb2FsO1xuLy8gJGYtZHJvcGRvd24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkZi1kcm9wZG93bi1saXN0LXBhZGRpbmc6IHJlbS1jYWxjKDUsIDEwKTtcbi8vICRmLWRyb3Bkb3duLWxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7XG4vLyAkZi1kcm9wZG93bi1saXN0LWhvdmVyLWJnOiAkc21va2U7XG4vLyAkZHJvcGRvd24tbW9iaWxlLWRlZmF1bHQtZmxvYXQ6IDA7XG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBzdHlsZXMgZm9yIHdoZW4gdGhlIGRyb3Bkb3duIGhhcyBjdXN0b20gY29udGVudC5cbi8vICRmLWRyb3Bkb3duLWNvbnRlbnQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuLy8gRGVmYXVsdCByYWRpdXMgZm9yIGRyb3Bkb3duLlxuLy8gJGYtZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbi8vIDA5LiBEcm9wZG93biBCdXR0b25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBjb2xvciBvZiB0aGUgcGlwIGluIGRyb3Bkb3duIGJ1dHRvbnNcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLWNvbG9yOiAkd2hpdGU7XG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC1jb2xvci1hbHQ6ICRvaWw7XG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBzaXplIG9mIHRoZSBwaXAgaW4gZHJvcGRvd24gYnV0dG9uc1xuLy8gJGJ1dHRvbi1waXAtdG55OiByZW0tY2FsYyg2KTtcbi8vICRidXR0b24tcGlwLXNtbDogcmVtLWNhbGMoNyk7XG4vLyAkYnV0dG9uLXBpcC1tZWQ6IHJlbS1jYWxjKDkpO1xuLy8gJGJ1dHRvbi1waXAtbHJnOiByZW0tY2FsYygxMSk7XG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGlueSBkcm9wZG93biBidXR0b25zXG4vLyAkZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctdG55OiAkYnV0dG9uLXBpcC10bnkgKiA3O1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS10bnk6ICRidXR0b24tcGlwLXRueTtcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLXRueTogJGJ1dHRvbi1waXAtdG55ICogMztcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC10bnk6ICgtJGJ1dHRvbi1waXAtdG55IC8gMikgKyByZW0tY2FsYygxKTtcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBzbWFsbCBkcm9wZG93biBidXR0b25zXG4vLyAkZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctc21sOiAkYnV0dG9uLXBpcC1zbWwgKiA3O1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1zbWw6ICRidXR0b24tcGlwLXNtbDtcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLXNtbDogJGJ1dHRvbi1waXAtc21sICogMztcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1zbWw6ICgtJGJ1dHRvbi1waXAtc21sIC8gMikgKyByZW0tY2FsYygxKTtcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBtZWRpdW0gZHJvcGRvd24gYnV0dG9uc1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLW1lZDogJGJ1dHRvbi1waXAtbWVkICogNiArIHJlbS1jYWxjKDMpO1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1tZWQ6ICRidXR0b24tcGlwLW1lZCAtIHJlbS1jYWxjKDMpO1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiAyLjU7XG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtbWVkOiAoLSRidXR0b24tcGlwLW1lZCAvIDIpICsgcmVtLWNhbGMoMik7XG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgbGFyZ2UgZHJvcGRvd24gYnV0dG9uc1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLWxyZzogJGJ1dHRvbi1waXAtbHJnICogNSArIHJlbS1jYWxjKDMpO1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1scmc6ICRidXR0b24tcGlwLWxyZyAtIHJlbS1jYWxjKDYpO1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtbHJnOiAkYnV0dG9uLXBpcC1scmcgKiAyLjU7XG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtbHJnOiAoLSRidXR0b24tcGlwLWxyZyAvIDIpICsgcmVtLWNhbGMoMyk7XG4vLyAxMC4gRmxleCBWaWRlb1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gJGluY2x1ZGUtaHRtbC1tZWRpYS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB2aWRlbyBjb250YWluZXIgcGFkZGluZyBhbmQgbWFyZ2luc1xuLy8gJGZsZXgtdmlkZW8tcGFkZGluZy10b3A6IHJlbS1jYWxjKDI1KTtcbi8vICRmbGV4LXZpZGVvLXBhZGRpbmctYm90dG9tOiA2Ny41JTtcbi8vICRmbGV4LXZpZGVvLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgd2lkZXNjcmVlbiBib3R0b20gcGFkZGluZ1xuLy8gJGZsZXgtdmlkZW8td2lkZXNjcmVlbi1wYWRkaW5nLWJvdHRvbTogNTYuMzQlO1xuLy8gMTEuIEZvcm1zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyAkaW5jbHVkZS1odG1sLWZvcm0tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBiYXNlIGZvciBsb3RzIG9mIGZvcm0gc3BhY2luZyBhbmQgcG9zaXRpb25pbmcgc3R5bGVzXG4vLyAkZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGxhYmVscyBpbiBkaWZmZXJlbnQgd2F5c1xuLy8gJGZvcm0tbGFiZWwtcG9pbnRlcjogcG9pbnRlcjtcbi8vICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDI7XG4kZm9ybS1sYWJlbC1mb250LWNvbG9yOiAkdHVhdGFyYTtcblxuLy8gJGZvcm0tbGFiZWwtc21hbGwtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuLy8gJGZvcm0tbGFiZWwtYm90dG9tLW1hcmdpbjogMDtcbi8vICRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcbi8vICRpbnB1dC1mb250LWNvbG9yOiByZ2JhKDAsMCwwLDAuNzUpO1xuLy8gJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuLy8gJGlucHV0LWJnLWNvbG9yOiAkd2hpdGU7XG4kaW5wdXQtZm9jdXMtYmctY29sb3I6ICR3aGl0ZTtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICRnYWluc2Jvcm87XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXG4vLyAkaW5wdXQtYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICRpbnB1dC1ib3JkZXItd2lkdGg6IDFweDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAyMHB4O1xuXG4vLyAkaW5wdXQtZGlzYWJsZWQtYmc6ICRnYWluc2Jvcm87XG4vLyAkaW5wdXQtZGlzYWJsZWQtY3Vyc29yOiAkY3Vyc29yLWRlZmF1bHQtdmFsdWU7XG4kaW5wdXQtYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNik7XG5cbi8vICRpbnB1dC1pbmNsdWRlLWdsb3dpbmctZWZmZWN0OiBmYWxzZTtcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgZmllbGRzZXQgYm9yZGVyIGFuZCBzcGFjaW5nLlxuLy8gJGZpZWxkc2V0LWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkZmllbGRzZXQtYm9yZGVyLXdpZHRoOiAxcHg7XG4vLyAkZmllbGRzZXQtYm9yZGVyLWNvbG9yOiAkZ2FpbnNib3JvO1xuLy8gJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDAgMCAxNik7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgbGVnZW5kcyB3aGVuIHlvdSB1c2UgdGhlbVxuLy8gJGxlZ2VuZC1iZzogJHdoaXRlO1xuJGxlZ2VuZC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG5cbi8vICRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgcHJlZml4IGFuZCBwb3N0Zml4IGlucHV0IGVsZW1lbnRzXG4kaW5wdXQtcHJlZml4LWJnOiAkanVtYm87XG5cbi8vICRpbnB1dC1wcmVmaXgtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0yMCUpO1xuJGlucHV0LXByZWZpeC1ib3JkZXItc2l6ZTogMDtcblxuLy8gJGlucHV0LXByZWZpeC1ib3JkZXItdHlwZTogc29saWQ7XG4vLyAkaW5wdXQtcHJlZml4LW92ZXJmbG93OiBoaWRkZW47XG4kaW5wdXQtcHJlZml4LWZvbnQtY29sb3I6ICR3aGl0ZTtcblxuLy8gJGlucHV0LXByZWZpeC1mb250LWNvbG9yLWFsdDogJHdoaXRlO1xuLy8gV2UgdXNlIHRoaXMgc2V0dGluZyB0byB0dXJuIG9uL29mZiBIVE1MNSBudW1iZXIgc3Bpbm5lcnMgKHRoZSB1cC9kb3duIGFycm93cylcbi8vICRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGVycm9yIHN0YXRlcyBmb3IgaW5wdXRzIGFuZCBsYWJlbHNcbiRpbnB1dC1lcnJvci1tZXNzYWdlLXBhZGRpbmc6IHJlbS1jYWxjKDYgMTApO1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtdG9wOiA4cHg7XG5cbi8vICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuLy8gJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4vLyAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXN0eWxlOiBpdGFsaWM7XG4vLyAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LWNvbG9yOiAkd2hpdGU7XG4vLyAkaW5wdXQtZXJyb3ItbWVzc2FnZS1iZy1jb2xvcjogJGFsZXJ0LWNvbG9yO1xuLy8gJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1jb2xvci1hbHQ6ICRvaWw7XG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgZ2xvd2luZyBlZmZlY3Qgb2YgaW5wdXRzIHdoZW4gZm9jdXNlZFxuLy8gJGdsb3dpbmctZWZmZWN0LWZhZGUtdGltZTogLjQ1cztcbi8vICRnbG93aW5nLWVmZmVjdC1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbi8vIFdlIHVzZSB0aGlzIHRvIHN0eWxlIHRoZSB0cmFuc2l0aW9uIHdoZW4gaW5wdXRzIGFyZSBmb2N1c2VkIGFuZCB3aGVuIHRoZSBnbG93aW5nIGVmZmVjdCBpcyBkaXNhYmxlZC5cbiRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZTogMC4xNXM7XG5cbi8vICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4vLyBTZWxlY3QgdmFyaWFibGVzXG4kc2VsZWN0LWJnLWNvbG9yOiAkd2hpdGU7XG4kc2VsZWN0LWhvdmVyLWJnLWNvbG9yOiAkd2hpdGU7XG5cbi8vIDEyLiBJY29uIEJhclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBpY29uLWJhciBhbmQgaXRlbXNcbi8vICRpY29uLWJhci1iZzogJG9pbDtcbi8vICRpY29uLWJhci1mb250LWNvbG9yOiAkd2hpdGU7XG4vLyAkaWNvbi1iYXItZm9udC1jb2xvci1ob3ZlcjogJGljb24tYmFyLWZvbnQtY29sb3I7XG4vLyAkaWNvbi1iYXItZm9udC1zaXplOiAxcmVtO1xuLy8gJGljb24tYmFyLWhvdmVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRpY29uLWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4vLyAkaWNvbi1iYXItaWNvbi1jb2xvci1ob3ZlcjogJGljb24tYmFyLWljb24tY29sb3I7XG4vLyAkaWNvbi1iYXItaWNvbi1zaXplOiAxLjg3NXJlbTtcbi8vICRpY29uLWJhci1pbWFnZS13aWR0aDogMS44NzVyZW07XG4vLyAkaWNvbi1iYXItaW1hZ2UtaGVpZ2h0OiAxLjg3NXJlbTtcbi8vICRpY29uLWJhci1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJGljb24tYmFyLWl0ZW0tcGFkZGluZzogMS4yNXJlbTtcbi8vIFdlIHVzZSB0aGlzIHRvIHNldCBkZWZhdWx0IG9wYWNpdHkgYW5kIGN1cnNvciBmb3IgZGlzYWJsZWQgaWNvbnMuXG4vLyAkaWNvbi1iYXItZGlzYWJsZWQtb3BhY2l0eTogLjc7XG4vLyAxMy4gSW5saW5lIExpc3RzXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyAkaW5jbHVkZS1odG1sLWlubGluZS1saXN0LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3Nlcztcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIG1hcmdpbnMgYW5kIHBhZGRpbmcgb2YgdGhlIGlubGluZSBsaXN0LlxuLy8gJGlubGluZS1saXN0LXRvcC1tYXJnaW46IDA7XG4vLyAkaW5saW5lLWxpc3Qtb3Bwb3NpdGUtbWFyZ2luOiAwO1xuLy8gJGlubGluZS1saXN0LWJvdHRvbS1tYXJnaW46IHJlbS1jYWxjKDE3KTtcbi8vICRpbmxpbmUtbGlzdC1kZWZhdWx0LWZsb2F0LW1hcmdpbjogcmVtLWNhbGMoLTIyKTtcbi8vICRpbmxpbmUtbGlzdC1kZWZhdWx0LWZsb2F0LWxpc3QtbWFyZ2luOiByZW0tY2FsYygyMik7XG4vLyAkaW5saW5lLWxpc3QtcGFkZGluZzogMDtcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIG92ZXJmbG93IG9mIHRoZSBpbmxpbmUgbGlzdC5cbi8vICRpbmxpbmUtbGlzdC1vdmVyZmxvdzogaGlkZGVuO1xuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgbGlzdCBpdGVtc1xuLy8gJGlubGluZS1saXN0LWRpc3BsYXk6IGJsb2NrO1xuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhbnkgZWxlbWVudHMgd2l0aGluIGxpc3QgaXRlbXNcbi8vICRpbmxpbmUtbGlzdC1jaGlsZHJlbi1kaXNwbGF5OiBibG9jaztcbi8vIDE0LiBKb3lyaWRlXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyAkaW5jbHVkZS1odG1sLWpveXJpZGUtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuLy8gQ29udHJvbGxpbmcgZGVmYXVsdCBKb3lyaWRlIHN0eWxlc1xuLy8gJGpveXJpZGUtdGlwLWJnOiAkb2lsO1xuLy8gJGpveXJpZGUtdGlwLWRlZmF1bHQtd2lkdGg6IDMwMHB4O1xuLy8gJGpveXJpZGUtdGlwLXBhZGRpbmc6IHJlbS1jYWxjKDE4IDIwIDI0KTtcbi8vICRqb3lyaWRlLXRpcC1ib3JkZXI6IHNvbGlkIDFweCAkY2hhcmNvYWw7XG4vLyAkam95cmlkZS10aXAtcmFkaXVzOiA0cHg7XG4vLyAkam95cmlkZS10aXAtcG9zaXRpb24tb2Zmc2V0OiAyMnB4O1xuLy8gSGVyZSwgd2UncmUgc2V0dGluZyB0aGUgdGlwIGZvbnQgc3R5bGVzXG4vLyAkam95cmlkZS10aXAtZm9udC1jb2xvcjogJHdoaXRlO1xuLy8gJGpveXJpZGUtdGlwLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuLy8gJGpveXJpZGUtdGlwLWhlYWRlci13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuLy8gVGhpcyBjaGFuZ2VzIHRoZSBudWIgc2l6ZVxuLy8gJGpveXJpZGUtdGlwLW51Yi1zaXplOiAxMHB4O1xuLy8gVGhpcyBhZGp1c3RzIHRoZSBzdHlsZXMgZm9yIHRoZSB0aW1lciB3aGVuIGl0cyBlbmFibGVkXG4vLyAkam95cmlkZS10aXAtdGltZXItd2lkdGg6IDUwcHg7XG4vLyAkam95cmlkZS10aXAtdGltZXItaGVpZ2h0OiAzcHg7XG4vLyAkam95cmlkZS10aXAtdGltZXItY29sb3I6ICRzdGVlbDtcbi8vIFRoaXMgY2hhbmdlcyB1cCB0aGUgc3R5bGVzIGZvciB0aGUgY2xvc2UgYnV0dG9uXG4vLyAkam95cmlkZS10aXAtY2xvc2UtY29sb3I6ICRtb25zb29uO1xuLy8gJGpveXJpZGUtdGlwLWNsb3NlLXNpemU6IDI0cHg7XG4vLyAkam95cmlkZS10aXAtY2xvc2Utd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8gV2hlbiBKb3lyaWRlIGlzIGZpbGxpbmcgdGhlIHNjcmVlbiwgd2UgdXNlIHRoaXMgc3R5bGUgZm9yIHRoZSBiZ1xuLy8gJGpveXJpZGUtc2NyZWVuZmlsbDogcmdiYSgwLDAsMCwwLjUpO1xuLy8gMTUuIEtleXN0cm9rZXNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vICRpbmNsdWRlLWh0bWwta2V5c3Ryb2tlLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3Nlcztcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRleHQgc3R5bGVzLlxuLy8gJGtleXN0cm9rZS1mb250OiBcIkNvbnNvbGFzXCIsIFwiTWVubG9cIiwgXCJDb3VyaWVyXCIsIG1vbm9zcGFjZTtcbi8vICRrZXlzdHJva2UtZm9udC1zaXplOiBpbmhlcml0O1xuLy8gJGtleXN0cm9rZS1mb250LWNvbG9yOiAkamV0O1xuLy8gJGtleXN0cm9rZS1mb250LWNvbG9yLWFsdDogJHdoaXRlO1xuLy8gJGtleXN0cm9rZS1mdW5jdGlvbi1mYWN0b3I6IC03JTtcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wga2V5c3Ryb2tlIHBhZGRpbmcuXG4vLyAka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJhY2tncm91bmQgYW5kIGJvcmRlciBzdHlsZXMuXG4vLyAka2V5c3Ryb2tlLWJnOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6ICRrZXlzdHJva2UtZnVuY3Rpb24tZmFjdG9yKTtcbi8vICRrZXlzdHJva2UtYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICRrZXlzdHJva2UtYm9yZGVyLXdpZHRoOiAxcHg7XG4vLyAka2V5c3Ryb2tlLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJGtleXN0cm9rZS1iZywgJGxpZ2h0bmVzczogJGtleXN0cm9rZS1mdW5jdGlvbi1mYWN0b3IpO1xuLy8gJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuLy8gMTYuIExhYmVsc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gJGluY2x1ZGUtaHRtbC1sYWJlbC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGxhYmVsc1xuLy8gJGxhYmVsLXBhZGRpbmc6IHJlbS1jYWxjKDQgOCA0KTtcbi8vICRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsYWJlbCB0ZXh0XG4vLyAkbGFiZWwtZm9udC1zaXppbmc6IHJlbS1jYWxjKDExKTtcbi8vICRsYWJlbC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbi8vICRsYWJlbC1mb250LWNvbG9yOiAkb2lsO1xuLy8gJGxhYmVsLWZvbnQtY29sb3ItYWx0OiAkd2hpdGU7XG4vLyAkbGFiZWwtZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuLy8gMTcuIE1hZ2VsbGFuXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyAkaW5jbHVkZS1odG1sLW1hZ2VsbGFuLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3Nlcztcbi8vICRtYWdlbGxhbi1iZzogJHdoaXRlO1xuLy8gJG1hZ2VsbGFuLXBhZGRpbmc6IDEwcHg7XG4vLyAxOC4gT2ZmLWNhbnZhc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gT2ZmIENhbnZhcyBUYWIgQmFyIFZhcmlhYmxlc1xuLy8gJGluY2x1ZGUtaHRtbC1vZmYtY2FudmFzLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3Nlcztcbi8vICR0YWJiYXItYmc6ICRvaWw7XG4vLyAkdGFiYmFyLWhlaWdodDogcmVtLWNhbGMoNDUpO1xuLy8gJHRhYmJhci1pY29uLXdpZHRoOiAkdGFiYmFyLWhlaWdodDtcbi8vICR0YWJiYXItbGluZS1oZWlnaHQ6ICR0YWJiYXItaGVpZ2h0O1xuLy8gJHRhYmJhci1jb2xvcjogJHdoaXRlO1xuLy8gJHRhYmJhci1taWRkbGUtcGFkZGluZzogMCByZW0tY2FsYygxMCk7XG4vLyBPZmYgQ2FudmFzIERpdmlkZXIgU3R5bGVzXG4vLyAkdGFiYmFyLWxlZnQtc2VjdGlvbi1ib3JkZXI6IHNvbGlkIDFweCBzY2FsZS1jb2xvcigkdGFiYmFyLWJnLCAkbGlnaHRuZXNzOiAtNTAlKTtcbi8vICR0YWJiYXItcmlnaHQtc2VjdGlvbi1ib3JkZXI6ICR0YWJiYXItbGVmdC1zZWN0aW9uLWJvcmRlcjtcbi8vIE9mZiBDYW52YXMgVGFiIEJhciBIZWFkZXJzXG4vLyAkdGFiYmFyLWhlYWRlci1jb2xvcjogJHdoaXRlO1xuLy8gJHRhYmJhci1oZWFkZXItd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbi8vICR0YWJiYXItaGVhZGVyLWxpbmUtaGVpZ2h0OiAkdGFiYmFyLWhlaWdodDtcbi8vICR0YWJiYXItaGVhZGVyLW1hcmdpbjogMDtcbi8vIE9mZiBDYW52YXMgTWVudSBWYXJpYWJsZXNcbi8vICRvZmYtY2FudmFzLXdpZHRoOiByZW0tY2FsYygyNTApO1xuLy8gJG9mZi1jYW52YXMtYmc6ICRvaWw7XG4vLyAkb2ZmLWNhbnZhcy1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJHRhYmJhci1iZywgJGxpZ2h0bmVzczogLTMwJSk7XG4vLyAkb2ZmLWNhbnZhcy1iZy1hY3RpdmU6IHNjYWxlLWNvbG9yKCR0YWJiYXItYmcsICRsaWdodG5lc3M6IC0zMCUpO1xuLy8gT2ZmIENhbnZhcyBNZW51IExpc3QgVmFyaWFibGVzXG4vLyAkb2ZmLWNhbnZhcy1sYWJlbC1wYWRkaW5nOiAuM3JlbSByZW0tY2FsYygxNSk7XG4vLyAkb2ZmLWNhbnZhcy1sYWJlbC1jb2xvcjogJGFsdW1pbnVtO1xuLy8gJG9mZi1jYW52YXMtbGFiZWwtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbi8vICRvZmYtY2FudmFzLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuLy8gJG9mZi1jYW52YXMtbGFiZWwtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuLy8gJG9mZi1jYW52YXMtbGFiZWwtYmc6ICR0dWF0YXJhO1xuLy8gJG9mZi1jYW52YXMtbGFiZWwtYm9yZGVyLXRvcDogMXB4IHNvbGlkIHNjYWxlLWNvbG9yKCRvZmYtY2FudmFzLWxhYmVsLWJnLCAkbGlnaHRuZXNzOiAxNCUpO1xuLy8gJG9mZi1jYW52YXMtbGFiZWwtYm9yZGVyLWJvdHRvbTogbm9uZTtcbi8vICRvZmYtY2FudmFzLWxhYmVsLW1hcmdpbjowO1xuLy8gJG9mZi1jYW52YXMtbGluay1wYWRkaW5nOiByZW0tY2FsYygxMCwgMTUpO1xuLy8gJG9mZi1jYW52YXMtbGluay1jb2xvcjogcmdiYSgkd2hpdGUsIC43KTtcbi8vICRvZmYtY2FudmFzLWxpbmstYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHNjYWxlLWNvbG9yKCRvZmYtY2FudmFzLWJnLCAkbGlnaHRuZXNzOiAtMjUlKTtcbi8vICRvZmYtY2FudmFzLWJhY2stYmc6ICM0NDQ7XG4vLyAkb2ZmLWNhbnZhcy1iYWNrLWJvcmRlci10b3A6ICRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci10b3A7XG4vLyAkb2ZmLWNhbnZhcy1iYWNrLWJvcmRlci1ib3R0b206ICRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci1ib3R0b207XG4vLyAkb2ZmLWNhbnZhcy1iYWNrLWhvdmVyLWJnOiBzY2FsZS1jb2xvcigkb2ZmLWNhbnZhcy1iYWNrLWJnLCAkbGlnaHRuZXNzOiAtMzAlKTtcbi8vICRvZmYtY2FudmFzLWJhY2staG92ZXItYm9yZGVyLXRvcDogMXB4IHNvbGlkIHNjYWxlLWNvbG9yKCRvZmYtY2FudmFzLWxhYmVsLWJnLCAkbGlnaHRuZXNzOiAxNCUpO1xuLy8gJG9mZi1jYW52YXMtYmFjay1ob3Zlci1ib3JkZXItYm90dG9tOiBub25lO1xuLy8gT2ZmIENhbnZhcyBNZW51IEljb24gVmFyaWFibGVzXG4vLyAkdGFiYmFyLW1lbnUtaWNvbi1jb2xvcjogJHdoaXRlO1xuLy8gJHRhYmJhci1tZW51LWljb24taG92ZXI6IHNjYWxlLWNvbG9yKCR0YWJiYXItbWVudS1pY29uLWNvbG9yLCAkbGlnaHRuZXNzOiAtMzAlKTtcbi8vICR0YWJiYXItbWVudS1pY29uLXRleHQtaW5kZW50OiByZW0tY2FsYygzNSk7XG4vLyAkdGFiYmFyLW1lbnUtaWNvbi13aWR0aDogJHRhYmJhci1pY29uLXdpZHRoO1xuLy8gJHRhYmJhci1tZW51LWljb24taGVpZ2h0OiAkdGFiYmFyLWhlaWdodDtcbi8vICR0YWJiYXItbWVudS1pY29uLXBhZGRpbmc6IDA7XG4vLyAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLXdpZHRoOiByZW0tY2FsYygxNik7XG4vLyAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLWxlZnQ6IGZhbHNlO1xuLy8gJHRhYmJhci1oYW1idXJnZXItaWNvbi10b3A6IGZhbHNlO1xuLy8gJHRhYmJhci1oYW1idXJnZXItaWNvbi10aGlja25lc3M6IDFweDtcbi8vICR0YWJiYXItaGFtYnVyZ2VyLWljb24tZ2FwOiA2cHg7XG4vLyBPZmYgQ2FudmFzIEJhY2stTGluayBPdmVybGF5XG4vLyAkb2ZmLWNhbnZhcy1vdmVybGF5LXRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXMgZWFzZTtcbi8vICRvZmYtY2FudmFzLW92ZXJsYXktY3Vyc29yOiBwb2ludGVyO1xuLy8gJG9mZi1jYW52YXMtb3ZlcmxheS1ib3gtc2hhZG93OiAtNHB4IDAgNHB4IHJnYmEoJGJsYWNrLCAuNSksIDRweCAwIDRweCByZ2JhKCRibGFjaywgLjUpO1xuLy8gJG9mZi1jYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgLjIpO1xuLy8gJG9mZi1jYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCR3aGl0ZSwgLjA1KTtcbi8vIFRyYW5zaXRpb24gVmFyaWFibGVzXG4vLyAkbWVudS1zbGlkZTogXCJ0cmFuc2Zvcm0gNTAwbXMgZWFzZVwiO1xuLy8gMTkuIE9yYml0XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyAkaW5jbHVkZS1odG1sLW9yYml0LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3Nlcztcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBjYXB0aW9uIHN0eWxlc1xuLy8gJG9yYml0LWNvbnRhaW5lci1iZzogbm9uZTtcbi8vICRvcmJpdC1jYXB0aW9uLWJnOiByZ2JhKDUxLDUxLDUxLCAuOCk7XG4vLyAkb3JiaXQtY2FwdGlvbi1mb250LWNvbG9yOiAkd2hpdGU7XG4vLyAkb3JiaXQtY2FwdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICRvcmJpdC1jYXB0aW9uLXBvc2l0aW9uOiBcImJvdHRvbVwiOyAvLyBTdXBwb3J0ZWQgdmFsdWVzOiBcImJvdHRvbVwiLCBcInVuZGVyXCJcbi8vICRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IHJlbS1jYWxjKDEwIDE0KTtcbi8vICRvcmJpdC1jYXB0aW9uLWhlaWdodDogYXV0bztcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBsZWZ0L3JpZ2h0IG5hdiBzdHlsZXNcbi8vICRvcmJpdC1uYXYtYmc6IHRyYW5zcGFyZW50O1xuLy8gJG9yYml0LW5hdi1iZy1ob3ZlcjogcmdiYSgwLDAsMCwwLjMpO1xuLy8gJG9yYml0LW5hdi1hcnJvdy1jb2xvcjogJHdoaXRlO1xuLy8gJG9yYml0LW5hdi1hcnJvdy1jb2xvci1ob3ZlcjogJHdoaXRlO1xuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHRpbWVyIHN0eWxlc1xuLy8gJG9yYml0LXRpbWVyLWJnOiByZ2JhKDI1NSwyNTUsMjU1LDAuMyk7XG4vLyAkb3JiaXQtdGltZXItc2hvdy1wcm9ncmVzcy1iYXI6IHRydWU7XG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYnVsbGV0IG5hdiBzdHlsZXNcbi8vICRvcmJpdC1idWxsZXQtbmF2LWNvbG9yOiAkaXJvbjtcbi8vICRvcmJpdC1idWxsZXQtbmF2LWNvbG9yLWFjdGl2ZTogJGFsdW1pbnVtO1xuLy8gJG9yYml0LWJ1bGxldC1yYWRpdXM6IHJlbS1jYWxjKDkpO1xuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2xzIHRoZSBzdHlsZSBvZiBzbGlkZSBudW1iZXJzXG4vLyAkb3JiaXQtc2xpZGUtbnVtYmVyLWJnOiByZ2JhKDAsMCwwLDApO1xuLy8gJG9yYml0LXNsaWRlLW51bWJlci1mb250LWNvbG9yOiAkd2hpdGU7XG4vLyAkb3JiaXQtc2xpZGUtbnVtYmVyLXBhZGRpbmc6IHJlbS1jYWxjKDUpO1xuLy8gR3JhY2VmdWwgTG9hZGluZyBXcmFwcGVyIGFuZCBwcmVsb2FkZXJcbi8vICR3cmFwcGVyLWNsYXNzOiBcInNsaWRlc2hvdy13cmFwcGVyXCI7XG4vLyAkcHJlbG9hZGVyLWNsYXNzOiBcInByZWxvYWRlclwiO1xuLy8gSGlkZSBjb250cm9scyBvbiBzbWFsbFxuLy8gJG9yYml0LW5hdi1oaWRlLWZvci1zbWFsbDogdHJ1ZTtcbi8vICRvcmJpdC1idWxsZXQtaGlkZS1mb3Itc21hbGw6IHRydWU7XG4vLyAkb3JiaXQtdGltZXItaGlkZS1mb3Itc21hbGw6IHRydWU7XG4vLyAyMC4gUGFnaW5hdGlvblxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gJGluY2x1ZGUtcGFnaW5hdGlvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgcGFnaW5hdGlvbiBjb250YWluZXJcbi8vICRwYWdpbmF0aW9uLWhlaWdodDogcmVtLWNhbGMoMjQpO1xuLy8gJHBhZ2luYXRpb24tbWFyZ2luOiByZW0tY2FsYygtNSk7XG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBsaXN0LWl0ZW0gcHJvcGVydGllc1xuLy8gJHBhZ2luYXRpb24tbGktZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuLy8gJHBhZ2luYXRpb24tbGktaGVpZ2h0OiByZW0tY2FsYygyNCk7XG4vLyAkcGFnaW5hdGlvbi1saS1mb250LWNvbG9yOiAkamV0O1xuLy8gJHBhZ2luYXRpb24tbGktZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkcGFnaW5hdGlvbi1saS1tYXJnaW46IHJlbS1jYWxjKDUpO1xuLy8gV2UgdXNlIHRoZXNlIGZvciB0aGUgcGFnaW5hdGlvbiBhbmNob3IgbGlua3Ncbi8vICRwYWdpbmF0aW9uLWxpbmstcGFkOiByZW0tY2FsYygxIDEwIDEpO1xuLy8gJHBhZ2luYXRpb24tbGluay1mb250LWNvbG9yOiAkYWx1bWludW07XG4vLyAkcGFnaW5hdGlvbi1saW5rLWFjdGl2ZS1iZzogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMTAlKTtcbi8vIFdlIHVzZSB0aGVzZSBmb3IgZGlzYWJsZWQgYW5jaG9yIGxpbmtzXG4vLyAkcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWN1cnNvcjogZGVmYXVsdDtcbi8vICRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtZm9udC1jb2xvcjogJGFsdW1pbnVtO1xuLy8gJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1iZy1hY3RpdmU6IHRyYW5zcGFyZW50O1xuLy8gV2UgdXNlIHRoZXNlIGZvciBjdXJyZW50bHkgc2VsZWN0ZWQgYW5jaG9yIGxpbmtzXG4vLyAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4vLyAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC1jb2xvcjogJHdoaXRlO1xuLy8gJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbi8vICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1jdXJzb3I6IGRlZmF1bHQ7XG4vLyAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYWN0aXZlLWJnOiAkcHJpbWFyeS1jb2xvcjtcbi8vIDIxLiBQYW5lbHNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vICRpbmNsdWRlLWh0bWwtcGFuZWwtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBzdHlsZXNcbi8vICRwYW5lbC1iZzogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNSUpO1xuLy8gJHBhbmVsLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkcGFuZWwtYm9yZGVyLXNpemU6IDFweDtcbi8vICRjYWxsb3V0LXBhbmVsLWJnOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogOTQlKTtcbi8vIFdlIHVzZSB0aGlzICUgdG8gY29udHJvbCBob3cgbXVjaCB3ZSBkYXJrZW4gdGhpbmdzIG9uIGhvdmVyXG4vLyAkcGFuZWwtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkcGFuZWwtYmcsICRsaWdodG5lc3M6IC0xMSUpO1xuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCBkZWZhdWx0IGlubmVyIHBhZGRpbmcgYW5kIGJvdHRvbSBtYXJnaW5cbi8vICRwYW5lbC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4vLyAkcGFuZWwtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCBkZWZhdWx0IGZvbnQgY29sb3JzXG4vLyAkcGFuZWwtZm9udC1jb2xvcjogJG9pbDtcbi8vICRwYW5lbC1mb250LWNvbG9yLWFsdDogJHdoaXRlO1xuLy8gJHBhbmVsLWhlYWRlci1hZGp1c3Q6IHRydWU7XG4vLyAkY2FsbG91dC1wYW5lbC1saW5rLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRjYWxsb3V0LXBhbmVsLWxpbmstY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjYWxsb3V0LXBhbmVsLWxpbmstY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuLy8gMjIuIFByaWNpbmcgVGFibGVzXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyAkaW5jbHVkZS1odG1sLXByaWNpbmctY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgYm9yZGVyIGNvbG9yXG4vLyAkcHJpY2UtdGFibGUtYm9yZGVyOiBzb2xpZCAxcHggJGdhaW5zYm9ybztcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGJvdHRvbSBtYXJnaW4gb2YgdGhlIHByaWNpbmcgdGFibGVcbi8vICRwcmljZS10YWJsZS1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgdGl0bGUgc3R5bGVzXG4vLyAkcHJpY2UtdGl0bGUtYmc6ICRvaWw7XG4vLyAkcHJpY2UtdGl0bGUtcGFkZGluZzogcmVtLWNhbGMoMTUgMjApO1xuLy8gJHByaWNlLXRpdGxlLWFsaWduOiBjZW50ZXI7XG4vLyAkcHJpY2UtdGl0bGUtY29sb3I6ICRzbW9rZTtcbi8vICRwcmljZS10aXRsZS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4vLyAkcHJpY2UtdGl0bGUtc2l6ZTogcmVtLWNhbGMoMTYpO1xuLy8gJHByaWNlLXRpdGxlLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBwcmljZSBzdHlsZXNcbi8vICRwcmljZS1tb25leS1iZzogJHZhcG9yO1xuLy8gJHByaWNlLW1vbmV5LXBhZGRpbmc6IHJlbS1jYWxjKDE1IDIwKTtcbi8vICRwcmljZS1tb25leS1hbGlnbjogY2VudGVyO1xuLy8gJHByaWNlLW1vbmV5LWNvbG9yOiAkb2lsO1xuLy8gJHByaWNlLW1vbmV5LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbi8vICRwcmljZS1tb25leS1zaXplOiByZW0tY2FsYygzMik7XG4vLyAkcHJpY2UtbW9uZXktZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGRlc2NyaXB0aW9uIHN0eWxlc1xuLy8gJHByaWNlLWJnOiAkd2hpdGU7XG4vLyAkcHJpY2UtZGVzYy1jb2xvcjogJG1vbnNvb247XG4vLyAkcHJpY2UtZGVzYy1wYWRkaW5nOiByZW0tY2FsYygxNSk7XG4vLyAkcHJpY2UtZGVzYy1hbGlnbjogY2VudGVyO1xuLy8gJHByaWNlLWRlc2MtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4vLyAkcHJpY2UtZGVzYy13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4vLyAkcHJpY2UtZGVzYy1saW5lLWhlaWdodDogMS40O1xuLy8gJHByaWNlLWRlc2MtYm90dG9tLWJvcmRlcjogZG90dGVkIDFweCAkZ2FpbnNib3JvO1xuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGxpc3QgaXRlbSBzdHlsZXNcbi8vICRwcmljZS1pdGVtLWNvbG9yOiAkb2lsO1xuLy8gJHByaWNlLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMTUpO1xuLy8gJHByaWNlLWl0ZW0tYWxpZ246IGNlbnRlcjtcbi8vICRwcmljZS1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuLy8gJHByaWNlLWl0ZW0td2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8gJHByaWNlLWl0ZW0tYm90dG9tLWJvcmRlcjogZG90dGVkIDFweCAkZ2FpbnNib3JvO1xuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIENUQSBhcmVhIHN0eWxlc1xuLy8gJHByaWNlLWN0YS1iZzogJHdoaXRlO1xuLy8gJHByaWNlLWN0YS1hbGlnbjogY2VudGVyO1xuLy8gJHByaWNlLWN0YS1wYWRkaW5nOiByZW0tY2FsYygyMCAyMCAwKTtcbi8vIDIzLiBQcm9ncmVzcyBCYXJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vICRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBwcm9ncmVzcyBiYXIgaGVpZ2h0XG4vLyAkcHJvZ3Jlc3MtYmFyLWhlaWdodDogcmVtLWNhbGMoMjUpO1xuLy8gJHByb2dyZXNzLWJhci1jb2xvcjogJHZhcG9yO1xuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGJvcmRlciBzdHlsZXNcbi8vICRwcm9ncmVzcy1iYXItYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IDIwJSk7XG4vLyAkcHJvZ3Jlc3MtYmFyLWJvcmRlci1zaXplOiAxcHg7XG4vLyAkcHJvZ3Jlc3MtYmFyLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkcHJvZ3Jlc3MtYmFyLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIG1hcmdpbiAmIHBhZGRpbmdcbi8vICRwcm9ncmVzcy1iYXItbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgbWV0ZXIgY29sb3JzXG4vLyAkcHJvZ3Jlc3MtbWV0ZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJHByb2dyZXNzLW1ldGVyLXNlY29uZGFyeS1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbi8vICRwcm9ncmVzcy1tZXRlci1zdWNjZXNzLWNvbG9yOiAkc3VjY2Vzcy1jb2xvcjtcbi8vICRwcm9ncmVzcy1tZXRlci1hbGVydC1jb2xvcjogJGFsZXJ0LWNvbG9yO1xuLy8gMjQuIFJhbmdlIFNsaWRlclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gJGluY2x1ZGUtaHRtbC1yYW5nZS1zbGlkZXItY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuLy8gVGhlc2UgdmFyaWFibGVzIGRlZmluZSB0aGUgc2xpZGVyIGJhciBzdHlsZXNcbi8vICRyYW5nZS1zbGlkZXItYmFyLXdpZHRoOiAxMDAlO1xuLy8gJHJhbmdlLXNsaWRlci1iYXItaGVpZ2h0OiByZW0tY2FsYygxNik7XG4vLyAkcmFuZ2Utc2xpZGVyLWJhci1ib3JkZXItd2lkdGg6IDFweDtcbi8vICRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkcmFuZ2Utc2xpZGVyLWJhci1ib3JkZXItY29sb3I6ICRnYWluc2Jvcm87XG4vLyAkcmFuZ2Utc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4vLyAkcmFuZ2Utc2xpZGVyLXJvdW5kOiAkZ2xvYmFsLXJvdW5kZWQ7XG4vLyAkcmFuZ2Utc2xpZGVyLWJhci1iZy1jb2xvcjogJGdob3N0O1xuLy8gJHJhbmdlLXNsaWRlci1hY3RpdmUtc2VnbWVudC1iZy1jb2xvcjogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTElKTtcbi8vIFZlcnRpY2FsIGJhciBzdHlsZXNcbi8vICRyYW5nZS1zbGlkZXItdmVydGljYWwtYmFyLXdpZHRoOiByZW0tY2FsYygxNik7XG4vLyAkcmFuZ2Utc2xpZGVyLXZlcnRpY2FsLWJhci1oZWlnaHQ6IHJlbS1jYWxjKDIwMCk7XG4vLyBUaGVzZSB2YXJpYWJlbHMgZGVmaW5lIHRoZSBzbGlkZXIgaGFuZGxlIHN0eWxlc1xuLy8gJHJhbmdlLXNsaWRlci1oYW5kbGUtd2lkdGg6IHJlbS1jYWxjKDMyKTtcbi8vICRyYW5nZS1zbGlkZXItaGFuZGxlLWhlaWdodDogcmVtLWNhbGMoMjIpO1xuLy8gJHJhbmdlLXNsaWRlci1oYW5kbGUtcG9zaXRpb24tdG9wOiByZW0tY2FsYygtNSk7XG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1iZy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItd2lkdGg6IDFweDtcbi8vICRyYW5nZS1zbGlkZXItaGFuZGxlLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItY29sb3I6IG5vbmU7XG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuLy8gJHJhbmdlLXNsaWRlci1oYW5kbGUtcm91bmQ6ICRnbG9iYWwtcm91bmRlZDtcbi8vICRyYW5nZS1zbGlkZXItaGFuZGxlLWJnLWhvdmVyLWNvbG9yOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTEyJSk7XG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1jdXJzb3I6IHBvaW50ZXI7XG4vLyAkcmFuZ2Utc2xpZGVyLWRpc2FibGVkLW9wYWNpdHk6IC43O1xuLy8gJHJhbmdlLXNsaWRlci1kaXNhYmxlZC1jdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQtdmFsdWU7XG4vLyAyNS4gUmV2ZWFsXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyAkaW5jbHVkZS1odG1sLXJldmVhbC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgc3R5bGUgb2YgdGhlIHJldmVhbCBvdmVybGF5LlxuLy8gJHJldmVhbC1vdmVybGF5LWJnOiByZ2JhKCRibGFjaywgLjQ1KTtcbi8vICRyZXZlYWwtb3ZlcmxheS1iZy1vbGQ6ICRibGFjaztcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBzdHlsZSBvZiB0aGUgbW9kYWwgaXRzZWxmLlxuLy8gJHJldmVhbC1tb2RhbC1iZzogJHdoaXRlO1xuJHJldmVhbC1wb3NpdGlvbi10b3A6IHJlbS1jYWxjKDgwKTtcblxuLy8gJHJldmVhbC1kZWZhdWx0LXdpZHRoOiA4MCU7XG4kcmV2ZWFsLW1heC13aWR0aDogNzIwcHg7XG4kcmV2ZWFsLW1vZGFsLXBhZGRpbmc6IHJlbS1jYWxjKDI4KTtcbiRyZXZlYWwtYm94LXNoYWRvdzogMCAycHggNHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgcmV2ZWFsIGNsb3NlIGJ1dHRvblxuLy8gJHJldmVhbC1jbG9zZS1mb250LXNpemU6IHJlbS1jYWxjKDQwKTtcbi8vICRyZXZlYWwtY2xvc2UtdG9wOiByZW0tY2FsYygxMCk7XG4vLyAkcmV2ZWFsLWNsb3NlLXNpZGU6IHJlbS1jYWxjKDIyKTtcbi8vICRyZXZlYWwtY2xvc2UtY29sb3I6ICRiYXNlO1xuLy8gJHJldmVhbC1jbG9zZS13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBkZWZhdWx0IHJhZGl1cyB1c2VkIHRocm91Z2hvdXQgdGhlIGNvcmUuXG4vLyAkcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4vLyAkcmV2ZWFsLXJvdW5kOiAkZ2xvYmFsLXJvdW5kZWQ7XG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgbW9kYWwgYm9yZGVyXG4vLyAkcmV2ZWFsLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkcmV2ZWFsLWJvcmRlci13aWR0aDogMXB4O1xuLy8gJHJldmVhbC1ib3JkZXItY29sb3I6ICRzdGVlbDtcbi8vICRyZXZlYWwtbW9kYWwtY2xhc3M6IFwicmV2ZWFsLW1vZGFsXCI7XG4vLyAkY2xvc2UtcmV2ZWFsLW1vZGFsLWNsYXNzOiBcImNsb3NlLXJldmVhbC1tb2RhbFwiO1xuLy8gMjYuIFNpZGUgTmF2XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyAkaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHBhZGRpbmcuXG4vLyAkc2lkZS1uYXYtcGFkZGluZzogcmVtLWNhbGMoMTQgMCk7XG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBsaXN0IHN0eWxlcy5cbi8vICRzaWRlLW5hdi1saXN0LXR5cGU6IG5vbmU7XG4vLyAkc2lkZS1uYXYtbGlzdC1wb3NpdGlvbjogb3V0c2lkZTtcbi8vICRzaWRlLW5hdi1saXN0LW1hcmdpbjogcmVtLWNhbGMoMCAwIDcgMCk7XG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBsaW5rIHN0eWxlcy5cbi8vICRzaWRlLW5hdi1saW5rLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRzaWRlLW5hdi1saW5rLWNvbG9yLWFjdGl2ZTogc2NhbGUtY29sb3IoJHNpZGUtbmF2LWxpbmstY29sb3IsICRsaWdodG5lc3M6IDMwJSk7XG4vLyAkc2lkZS1uYXYtbGluay1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJHNpZGUtbmF2LWxpbmstY29sb3IsICRsaWdodG5lc3M6IDMwJSk7XG4vLyAkc2lkZS1uYXYtbGluay1iZy1ob3ZlcjogaHNsYSgwLCAwLCAwLCAuMDI1KTtcbi8vICRzaWRlLW5hdi1saW5rLW1hcmdpbjogMDtcbi8vICRzaWRlLW5hdi1saW5rLXBhZGRpbmc6IHJlbS1jYWxjKDcgMTQpO1xuLy8gJHNpZGUtbmF2LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuLy8gJHNpZGUtbmF2LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8gJHNpZGUtbmF2LWZvbnQtd2VpZ2h0LWFjdGl2ZTogJHNpZGUtbmF2LWZvbnQtd2VpZ2h0O1xuLy8gJHNpZGUtbmF2LWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbi8vICRzaWRlLW5hdi1mb250LWZhbWlseS1hY3RpdmU6ICRzaWRlLW5hdi1mb250LWZhbWlseTtcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGhlYWRpbmcgc3R5bGVzLlxuLy8gJHNpZGUtbmF2LWhlYWRpbmctY29sb3I6ICRzaWRlLW5hdi1saW5rLWNvbG9yO1xuLy8gJHNpZGUtbmF2LWhlYWRpbmctZm9udC1zaXplOiAkc2lkZS1uYXYtZm9udC1zaXplO1xuLy8gJHNpZGUtbmF2LWhlYWRpbmctZm9udC13ZWlnaHQ6IGJvbGQ7XG4vLyAkc2lkZS1uYXYtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlc1xuLy8gJHNpZGUtbmF2LWRpdmlkZXItc2l6ZTogMXB4O1xuLy8gJHNpZGUtbmF2LWRpdmlkZXItc3R5bGU6IHNvbGlkO1xuLy8gJHNpZGUtbmF2LWRpdmlkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogMTAlKTtcbi8vIDI3LiBTcGxpdCBCdXR0b25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBkaWZmZXJlbnQgc2hhcmVkIHN0eWxlcyBmb3IgU3BsaXQgQnV0dG9uc1xuLy8gJHNwbGl0LWJ1dHRvbi1mdW5jdGlvbi1mYWN0b3I6IDEwJTtcbi8vICRzcGxpdC1idXR0b24tcGlwLWNvbG9yOiAkd2hpdGU7XG4vLyAkc3BsaXQtYnV0dG9uLXNwYW4tYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNSk7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1jb2xvci1hbHQ6ICRvaWw7XG4vLyAkc3BsaXQtYnV0dG9uLWFjdGl2ZS1iZy10aW50OiByZ2JhKDAsMCwwLDAuMSk7XG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aW55IHNwbGl0IGJ1dHRvbnNcbi8vICRzcGxpdC1idXR0b24tcGFkZGluZy10bnk6ICRidXR0b24tcGlwLXRueSAqIDEwO1xuLy8gJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLXRueTogJGJ1dHRvbi1waXAtdG55ICogNjtcbi8vICRzcGxpdC1idXR0b24tcGlwLXNpemUtdG55OiAkYnV0dG9uLXBpcC10bnk7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC10b3AtdG55OiAkYnV0dG9uLXBpcC10bnkgKiAyO1xuLy8gJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC10bnk6IHJlbS1jYWxjKC02KTtcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHNtYWxsIHNwbGl0IGJ1dHRvbnNcbi8vICRzcGxpdC1idXR0b24tcGFkZGluZy1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDEwO1xuLy8gJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLXNtbDogJGJ1dHRvbi1waXAtc21sICogNjtcbi8vICRzcGxpdC1idXR0b24tcGlwLXNpemUtc21sOiAkYnV0dG9uLXBpcC1zbWw7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC10b3Atc21sOiAkYnV0dG9uLXBpcC1zbWwgKiAxLjU7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LXNtbDogcmVtLWNhbGMoLTYpO1xuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbWVkaXVtIHNwbGl0IGJ1dHRvbnNcbi8vICRzcGxpdC1idXR0b24tcGFkZGluZy1tZWQ6ICRidXR0b24tcGlwLW1lZCAqIDk7XG4vLyAkc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiA1LjU7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1zaXplLW1lZDogJGJ1dHRvbi1waXAtbWVkIC0gcmVtLWNhbGMoMyk7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC10b3AtbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiAxLjU7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LW1lZDogcmVtLWNhbGMoLTYpO1xuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbGFyZ2Ugc3BsaXQgYnV0dG9uc1xuLy8gJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLWxyZzogJGJ1dHRvbi1waXAtbHJnICogODtcbi8vICRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC1scmc6ICRidXR0b24tcGlwLWxyZyAqIDU7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1zaXplLWxyZzogJGJ1dHRvbi1waXAtbHJnIC0gcmVtLWNhbGMoNik7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC10b3AtbHJnOiAkYnV0dG9uLXBpcC1scmcgKyByZW0tY2FsYyg1KTtcbi8vICRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtbHJnOiByZW0tY2FsYygtNik7XG4vLyAyOC4gU3ViIE5hdlxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gJGluY2x1ZGUtaHRtbC1uYXYtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbWFyZ2luIGFuZCBwYWRkaW5nXG4vLyAkc3ViLW5hdi1saXN0LW1hcmdpbjogcmVtLWNhbGMoLTQgMCAxOCk7XG4vLyAkc3ViLW5hdi1saXN0LXBhZGRpbmctdG9wOiByZW0tY2FsYyg0KTtcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGRlZmluaXRpb25cbi8vICRzdWItbmF2LWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbi8vICRzdWItbmF2LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuLy8gJHN1Yi1uYXYtZm9udC1jb2xvcjogJGFsdW1pbnVtO1xuLy8gJHN1Yi1uYXYtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4vLyAkc3ViLW5hdi10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4vLyAkc3ViLW5hdi1wYWRkaW5nOiByZW0tY2FsYygzIDE2KTtcbi8vICRzdWItbmF2LWJvcmRlci1yYWRpdXM6IDNweDtcbi8vICRzdWItbmF2LWZvbnQtY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRzdWItbmF2LWZvbnQtY29sb3IsICRsaWdodG5lc3M6IC0yNSUpO1xuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGFjdGl2ZSBpdGVtIHN0eWxlc1xuLy8gJHN1Yi1uYXYtYWN0aXZlLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8gJHN1Yi1uYXYtYWN0aXZlLWJnOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRzdWItbmF2LWFjdGl2ZS1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJHN1Yi1uYXYtYWN0aXZlLWJnLCAkbGlnaHRuZXNzOiAtMTQlKTtcbi8vICRzdWItbmF2LWFjdGl2ZS1jb2xvcjogJHdoaXRlO1xuLy8gJHN1Yi1uYXYtYWN0aXZlLXBhZGRpbmc6ICRzdWItbmF2LXBhZGRpbmc7XG4vLyAkc3ViLW5hdi1hY3RpdmUtY3Vyc29yOiBkZWZhdWx0O1xuLy8gJHN1Yi1uYXYtaXRlbS1kaXZpZGVyOiBcIlwiO1xuLy8gJHN1Yi1uYXYtaXRlbS1kaXZpZGVyLW1hcmdpbjogcmVtLWNhbGMoMTIpO1xuLy8gMjkuIFN3aXRjaFxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gJGluY2x1ZGUtaHRtbC1mb3JtLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3Nlcztcbi8vIENvbnRyb2xsaW5nIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyXG4vLyAkc3dpdGNoLWJnOiAkZ2FpbnNib3JvO1xuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHN3aXRjaCBoZWlnaHRzIGZvciBvdXIgZGVmYXVsdCBjbGFzc2VzXG4vLyAkc3dpdGNoLWhlaWdodC10bnk6IDEuNXJlbTtcbi8vICRzd2l0Y2gtaGVpZ2h0LXNtbDogMS43NXJlbTtcbi8vICRzd2l0Y2gtaGVpZ2h0LW1lZDogMnJlbTtcbi8vICRzd2l0Y2gtaGVpZ2h0LWxyZzogMi41cmVtO1xuLy8gJHN3aXRjaC1ib3R0b20tbWFyZ2luOiAxLjVyZW07XG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIHN3aXRjaC1wYWRkbGVcbi8vICRzd2l0Y2gtcGFkZGxlLWJnOiAkd2hpdGU7XG4vLyAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLXNwZWVkOiAuMTVzO1xuLy8gJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1lYXNlOiBlYXNlLW91dDtcbi8vICRzd2l0Y2gtYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbi8vIDMwLiBUYWJsZXNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vICRpbmNsdWRlLWh0bWwtdGFibGUtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuLy8gVGhlc2UgY29udHJvbCB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRhYmxlIGFuZCBldmVuIHJvd3Ncbi8vICR0YWJsZS1iZzogJHdoaXRlO1xuLy8gJHRhYmxlLWV2ZW4tcm93LWJnOiAkc25vdztcbi8vIFRoZXNlIGNvbnRyb2wgdGhlIHRhYmxlIGNlbGwgYm9yZGVyIHN0eWxlXG4vLyAkdGFibGUtYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICR0YWJsZS1ib3JkZXItc2l6ZTogMXB4O1xuLy8gJHRhYmxlLWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybztcbi8vIFRoZXNlIGNvbnRyb2wgdGhlIHRhYmxlIGhlYWQgc3R5bGVzXG4vLyAkdGFibGUtaGVhZC1iZzogJHdoaXRlLXNtb2tlO1xuLy8gJHRhYmxlLWhlYWQtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkdGFibGUtaGVhZC1mb250LWNvbG9yOiAkamV0O1xuLy8gJHRhYmxlLWhlYWQtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuLy8gJHRhYmxlLWhlYWQtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XG4vLyBUaGVzZSBjb250cm9sIHRoZSB0YWJsZSBmb290IHN0eWxlc1xuLy8gJHRhYmxlLWZvb3QtYmc6ICR0YWJsZS1oZWFkLWJnO1xuLy8gJHRhYmxlLWZvb3QtZm9udC1zaXplOiAkdGFibGUtaGVhZC1mb250LXNpemU7XG4vLyAkdGFibGUtZm9vdC1mb250LWNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuLy8gJHRhYmxlLWZvb3QtZm9udC13ZWlnaHQ6ICR0YWJsZS1oZWFkLWZvbnQtd2VpZ2h0O1xuLy8gJHRhYmxlLWZvb3QtcGFkZGluZzogJHRhYmxlLWhlYWQtcGFkZGluZztcbi8vIFRoZXNlIGNvbnRyb2wgdGhlIGNhcHRpb25cbi8vIHRhYmxlLWNhcHRpb24tYmc6IHRyYW5zcGFyZW50O1xuLy8gJHRhYmxlLWNhcHRpb24tZm9udC1jb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbi8vICR0YWJsZS1jYXB0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuLy8gJHRhYmxlLWNhcHRpb24tZm9udC13ZWlnaHQ6IGJvbGQ7XG4vLyBUaGVzZSBjb250cm9sIHRoZSByb3cgcGFkZGluZyBhbmQgZm9udCBzdHlsZXNcbi8vICR0YWJsZS1yb3ctcGFkZGluZzogcmVtLWNhbGMoOSAxMCk7XG4vLyAkdGFibGUtcm93LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuLy8gJHRhYmxlLXJvdy1mb250LWNvbG9yOiAkamV0O1xuLy8gJHRhYmxlLWxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7XG4vLyBUaGVzZSBhcmUgZm9yIGNvbnRyb2xsaW5nIHRoZSBsYXlvdXQsIGRpc3BsYXkgYW5kIG1hcmdpbiBvZiB0YWJsZXNcbi8vICR0YWJsZS1sYXlvdXQ6IGF1dG87XG4vLyAkdGFibGUtZGlzcGxheTogdGFibGUtY2VsbDtcbi8vICR0YWJsZS1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4vLyAzMS4gVGFic1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gJGluY2x1ZGUtaHRtbC10YWJzLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3Nlcztcbi8vICR0YWJzLW5hdmlnYXRpb24tcGFkZGluZzogcmVtLWNhbGMoMTYpO1xuLy8gJHRhYnMtbmF2aWdhdGlvbi1iZy1jb2xvcjogJHNpbHZlcjtcbi8vICR0YWJzLW5hdmlnYXRpb24tYWN0aXZlLWJnLWNvbG9yOiAkd2hpdGU7XG4vLyAkdGFicy1uYXZpZ2F0aW9uLWhvdmVyLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkdGFicy1uYXZpZ2F0aW9uLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtNiUpO1xuLy8gJHRhYnMtbmF2aWdhdGlvbi1mb250LWNvbG9yOiAkamV0O1xuLy8gJHRhYnMtbmF2aWdhdGlvbi1hY3RpdmUtZm9udC1jb2xvcjogJHRhYnMtbmF2aWdhdGlvbi1mb250LWNvbG9yO1xuLy8gJHRhYnMtbmF2aWdhdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbi8vICR0YWJzLW5hdmlnYXRpb24tZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuLy8gJHRhYnMtY29udGVudC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNCk7XG4vLyAkdGFicy1jb250ZW50LXBhZGRpbmc6ICgkY29sdW1uLWd1dHRlci8yKTtcbi8vICR0YWJzLXZlcnRpY2FsLW5hdmlnYXRpb24tbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbi8vIDMyLiBUaHVtYm5haWxzXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyAkaW5jbHVkZS1odG1sLW1lZGlhLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3Nlcztcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJvcmRlciBzdHlsZXNcbi8vICR0aHVtYi1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJHRodW1iLWJvcmRlci13aWR0aDogNHB4O1xuLy8gJHRodW1iLWJvcmRlci1jb2xvcjogJHdoaXRlO1xuLy8gJHRodW1iLWJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywuMik7XG4vLyAkdGh1bWItYm94LXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwwLjUpO1xuLy8gUmFkaXVzIGFuZCB0cmFuc2l0aW9uIHNwZWVkIGZvciB0aHVtYnNcbi8vICR0aHVtYi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuLy8gJHRodW1iLXRyYW5zaXRpb24tc3BlZWQ6IDIwMG1zO1xuLy8gMzMuIFRvb2x0aXBzXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyAkaW5jbHVkZS1odG1sLXRvb2x0aXAtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuLy8gJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkaXJvbjtcbi8vICRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbi8vICRoYXMtdGlwLWZvbnQtY29sb3I6ICRvaWw7XG4vLyAkaGFzLXRpcC1ib3JkZXItYm90dG9tLWhvdmVyOiBkb3R0ZWQgMXB4IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtNTUlKTtcbi8vICRoYXMtdGlwLWZvbnQtY29sb3ItaG92ZXI6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJGhhcy10aXAtY3Vyc29yLXR5cGU6IGhlbHA7XG4vLyAkdG9vbHRpcC1wYWRkaW5nOiByZW0tY2FsYygxMik7XG4vLyAkdG9vbHRpcC1iZzogJG9pbDtcbi8vICR0b29sdGlwLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuLy8gJHRvb2x0aXAtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4vLyAkdG9vbHRpcC1mb250LWNvbG9yOiAkd2hpdGU7XG4vLyAkdG9vbHRpcC1saW5lLWhlaWdodDogMS4zO1xuLy8gJHRvb2x0aXAtY2xvc2UtZm9udC1zaXplOiByZW0tY2FsYygxMCk7XG4vLyAkdG9vbHRpcC1jbG9zZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbi8vICR0b29sdGlwLWNsb3NlLWZvbnQtY29sb3I6ICRtb25zb29uO1xuLy8gJHRvb2x0aXAtZm9udC1zaXplLXNtbDogcmVtLWNhbGMoMTQpO1xuLy8gJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbi8vICR0b29sdGlwLXJvdW5kZWQ6ICRnbG9iYWwtcm91bmRlZDtcbi8vICR0b29sdGlwLXBpcC1zaXplOiA1cHg7XG4vLyAkdG9vbHRpcC1tYXgtd2lkdGg6IDMwMHB4O1xuLy8gMzQuIFRvcCBCYXJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vICRpbmNsdWRlLWh0bWwtdG9wLWJhci1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG4vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhclxuLy8gJHRvcGJhci1iZy1jb2xvcjogJG9pbDtcbi8vICR0b3BiYXItYmc6ICR0b3BiYXItYmctY29sb3I7XG4vLyBIZWlnaHQgYW5kIG1hcmdpblxuLy8gJHRvcGJhci1oZWlnaHQ6IHJlbS1jYWxjKDQ1KTtcbi8vICR0b3BiYXItbWFyZ2luLWJvdHRvbTogMDtcbi8vIENvbnRyb2xsaW5nIHRoZSBzdHlsZXMgZm9yIHRoZSB0aXRsZSBpbiB0aGUgdG9wIGJhclxuLy8gJHRvcGJhci10aXRsZS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4vLyAkdG9wYmFyLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuLy8gU2V0IHRoZSBsaW5rIGNvbG9ycyBhbmQgc3R5bGVzIGZvciB0b3AtbGV2ZWwgbmF2XG4vLyAkdG9wYmFyLWxpbmstY29sb3I6ICR3aGl0ZTtcbi8vICR0b3BiYXItbGluay1jb2xvci1ob3ZlcjogJHdoaXRlO1xuLy8gJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xuLy8gJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZS1ob3ZlcjogJHdoaXRlO1xuLy8gJHRvcGJhci1saW5rLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbi8vICR0b3BiYXItbGluay1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbi8vICR0b3BiYXItbGluay1ob3Zlci1saWdodG5lc3M6IC0xMCU7IC8vIERhcmtlbiBieSAxMCVcbi8vICR0b3BiYXItbGluay1iZzogJHRvcGJhci1iZztcbi8vICR0b3BiYXItbGluay1iZy1ob3ZlcjogJGpldDtcbi8vICR0b3BiYXItbGluay1iZy1jb2xvci1ob3ZlcjogJGNoYXJjb2FsO1xuLy8gJHRvcGJhci1saW5rLWJnLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4vLyAkdG9wYmFyLWxpbmstYmctYWN0aXZlLWhvdmVyOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4vLyAkdG9wYmFyLWxpbmstZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuLy8gJHRvcGJhci1saW5rLXRleHQtdHJhbnNmb3JtOiBub25lO1xuLy8gJHRvcGJhci1saW5rLXBhZGRpbmc6ICgkdG9wYmFyLWhlaWdodCAvIDMpO1xuLy8gJHRvcGJhci1iYWNrLWxpbmstc2l6ZTogcmVtLWNhbGMoMTgpO1xuLy8gJHRvcGJhci1saW5rLWRyb3Bkb3duLXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbi8vICR0b3BiYXItYnV0dG9uLWZvbnQtc2l6ZTogLjc1cmVtO1xuLy8gJHRvcGJhci1idXR0b24tdG9wOiA3cHg7XG4vLyBTdHlsZSB0aGUgdG9wIGJhciBkcm9wZG93biBlbGVtZW50c1xuLy8gJHRvcGJhci1kcm9wZG93bi1iZzogJG9pbDtcbi8vICR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvcjogJHdoaXRlO1xuLy8gJHRvcGJhci1kcm9wZG93bi1saW5rLWNvbG9yLWhvdmVyOiAkdG9wYmFyLWxpbmstY29sb3ItaG92ZXI7XG4vLyAkdG9wYmFyLWRyb3Bkb3duLWxpbmstYmc6ICRvaWw7XG4vLyAkdG9wYmFyLWRyb3Bkb3duLWxpbmstYmctaG92ZXI6ICRqZXQ7XG4vLyAkdG9wYmFyLWRyb3Bkb3duLWxpbmstd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8gJHRvcGJhci1kcm9wZG93bi10b2dnbGUtc2l6ZTogNXB4O1xuLy8gJHRvcGJhci1kcm9wZG93bi10b2dnbGUtY29sb3I6ICR3aGl0ZTtcbi8vICR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWFscGhhOiAuNDtcbi8vICR0b3BiYXItZHJvcGRvd24tbGFiZWwtY29sb3I6ICRtb25zb29uO1xuLy8gJHRvcGJhci1kcm9wZG93bi1sYWJlbC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuLy8gJHRvcGJhci1kcm9wZG93bi1sYWJlbC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4vLyAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuLy8gJHRvcGJhci1kcm9wZG93bi1sYWJlbC1iZzogJG9pbDtcbi8vIFRvcCBtZW51IGljb24gc3R5bGVzXG4vLyAkdG9wYmFyLW1lbnUtbGluay10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbi8vICR0b3BiYXItbWVudS1saW5rLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuLy8gJHRvcGJhci1tZW51LWxpbmstd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbi8vICR0b3BiYXItbWVudS1saW5rLWNvbG9yOiAkd2hpdGU7XG4vLyAkdG9wYmFyLW1lbnUtaWNvbi1jb2xvcjogJHdoaXRlO1xuLy8gJHRvcGJhci1tZW51LWxpbmstY29sb3ItdG9nZ2xlZDogJGp1bWJvO1xuLy8gJHRvcGJhci1tZW51LWljb24tY29sb3ItdG9nZ2xlZDogJGp1bWJvO1xuLy8gJHRvcGJhci1tZW51LWljb24tcG9zaXRpb246ICRvcHBvc2l0ZS1kaXJlY3Rpb247IC8vIENoYW5nZSB0byAkZGVmYXVsdC1mbG9hdCBmb3IgYSBsZWZ0IG1lbnUgaWNvblxuLy8gVHJhbnNpdGlvbnMgYW5kIGJyZWFrcG9pbnQgc3R5bGVzXG4vLyAkdG9wYmFyLXRyYW5zaXRpb24tc3BlZWQ6IDMwMG1zO1xuLy8gVXNpbmcgcmVtLWNhbGMgZm9yIHRoZSBiZWxvdyBicmVha3BvaW50IGNhdXNlcyBpc3N1ZXMgd2l0aCB0b3AgYmFyXG4vLyAkdG9wYmFyLWJyZWFrcG9pbnQ6ICN7bG93ZXItYm91bmQoJG1lZGl1bS1yYW5nZSl9OyAvLyBDaGFuZ2UgdG8gOTk5OXB4IGZvciBhbHdheXMgbW9iaWxlIGxheW91dFxuLy8gJHRvcGJhci1tZWRpYS1xdWVyeTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHRvcGJhci1icmVha3BvaW50KX0pXCI7XG4vLyBUb3AtYmFyIGlucHV0IHN0eWxlc1xuLy8gJHRvcGJhci1pbnB1dC1oZWlnaHQ6IHJlbS1jYWxjKDI4KTtcbi8vIERpdmlkZXIgU3R5bGVzXG4vLyAkdG9wYmFyLWRpdmlkZXItYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IHNjYWxlLWNvbG9yKCR0b3BiYXItYmctY29sb3IsICRsaWdodG5lc3M6IDEzJSk7XG4vLyAkdG9wYmFyLWRpdmlkZXItYm9yZGVyLXRvcDogc29saWQgMXB4IHNjYWxlLWNvbG9yKCR0b3BiYXItYmctY29sb3IsICRsaWdodG5lc3M6IC01MCUpO1xuLy8gU3RpY2t5IENsYXNzXG4vLyAkdG9wYmFyLXN0aWNreS1jbGFzczogXCIuc3RpY2t5XCI7XG4vLyAkdG9wYmFyLWFycm93czogdHJ1ZTsgLy9TZXQgZmFsc2UgdG8gcmVtb3ZlIHRoZSB0cmlhbmdsZSBpY29uIGZyb20gdGhlIG1lbnUgaXRlbVxuLy8gJHRvcGJhci1kcm9wZG93bi1hcnJvd3M6IHRydWU7IC8vU2V0IGZhbHNlIHRvIHJlbW92ZSB0aGUgXFwwMGJiID4+IHRleHQgZnJvbSBkcm9wZG93biBzdWJuYXZpZ2F0aW9uIGxpLy9cbi8vIDM2LiBWaXNpYmlsaXR5IENsYXNzZXNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vICRpbmNsdWRlLWh0bWwtdmlzaWJpbGl0eS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG4vLyAkaW5jbHVkZS1hY2Nlc3NpYmlsaXR5LWNsYXNzZXM6IHRydWU7XG4vLyAkaW5jbHVkZS10YWJsZS12aXNpYmlsaXR5LWNsYXNzZXM6IHRydWU7XG4vLyAkaW5jbHVkZS1sZWdhY3ktdmlzaWJpbGl0eS1jbGFzc2VzOiB0cnVlO1xuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWdyaWQtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuJGluY2x1ZGUteGwtaHRtbC1ncmlkLWNsYXNzZXM6IGZhbHNlICFkZWZhdWx0O1xuXG4kcm93LXdpZHRoOiByZW0tY2FsYygxMDAwKSAhZGVmYXVsdDtcbiR0b3RhbC1jb2x1bW5zOiAxMiAhZGVmYXVsdDtcblxuJGxhc3QtY2hpbGQtZmxvYXQ6ICRvcHBvc2l0ZS1kaXJlY3Rpb24gIWRlZmF1bHQ7XG5cbi8vXG4vLyBHcmlkIEZ1bmN0aW9uc1xuLy9cblxuLy8gRGVwcmVjYXRlZDogV2UnbGwgZHJvcCBzdXBwb3J0IGZvciB0aGlzIGluIDUuMSwgdXNlIGdyaWQtY2FsYygpXG5AZnVuY3Rpb24gZ3JpZENhbGMoJGNvbE51bWJlciwgJHRvdGFsQ29sdW1ucykge1xuICBAd2FybiBcImdyaWRDYWxjKCkgaXMgZGVwcmVjYXRlZCwgdXNlIGdyaWQtY2FsYygpXCI7XG4gIEByZXR1cm4gZ3JpZC1jYWxjKCRjb2xOdW1iZXIsICR0b3RhbENvbHVtbnMpO1xufVxuXG4vLyBARlVOQ1RJT05cbi8vICRjb2xOdW1iZXIgLSBGb3VuZCBpbiBzZXR0aW5ncyBmaWxlXG4vLyAkdG90YWxDb2x1bW5zIC0gRm91bmQgaW4gc2V0dGluZ3MgZmlsZVxuQGZ1bmN0aW9uIGdyaWQtY2FsYygkY29sTnVtYmVyLCAkdG90YWxDb2x1bW5zKSB7XG4gICRyZXN1bHQ6IHBlcmNlbnRhZ2UoKCRjb2xOdW1iZXIgLyAkdG90YWxDb2x1bW5zKSk7XG4gIEBpZiAkcmVzdWx0ID09IDAlIHsgJHJlc3VsdDogMDsgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuXG4vLyBGb3IgY3JlYXRpbmcgY29udGFpbmVyLCBuZXN0ZWQsIGFuZCBjb2xsYXBzZWQgcm93cy5cbi8vXG4vL1xuLy8gJGJlaGF2aW9yIC0gQW55IHNwZWNpYWwgYmVoYXZpb3IgZm9yIHRoaXMgcm93PyBEZWZhdWx0OiBmYWxzZS4gT3B0aW9uczogbmVzdCwgY29sbGFwc2UsIG5lc3QtY29sbGFwc2UsIGZhbHNlLlxuQG1peGluIGdyaWQtcm93KCRiZWhhdmlvcjogZmFsc2UpIHtcblxuICAvLyB1c2UgQGluY2x1ZGUgZ3JpZC1yb3cobmVzdCk7IHRvIGluY2x1ZGUgYSBuZXN0ZWQgcm93XG4gIEBpZiAkYmVoYXZpb3IgPT0gbmVzdCB7XG4gICAgbWFyZ2luOiAwICgtKCRjb2x1bW4tZ3V0dGVyLzIpKTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyB1c2UgQGluY2x1ZGUgZ3JpZC1yb3coY29sbGFwc2UpOyB0byBjb2xsYXBzZWQgYSBjb250YWluZXIgcm93IG1hcmdpbnNcbiAgQGVsc2UgaWYgJGJlaGF2aW9yID09IGNvbGxhcHNlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiAkcm93LXdpZHRoO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gdXNlIEBpbmNsdWRlIGdyaWQtcm93KG5lc3QtY29sbGFwc2UpOyB0byBjb2xsYXBzZSBvdXRlciBtYXJnaW5zIG9uIGEgbmVzdGVkIHJvd1xuICBAZWxzZSBpZiAkYmVoYXZpb3IgPT0gbmVzdC1jb2xsYXBzZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIHVzZSBAaW5jbHVkZSBncmlkLXJvdzsgdG8gdXNlIGEgY29udGFpbmVyIHJvd1xuICBAZWxzZSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAkcm93LXdpZHRoO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gQ2xlYXJmaXggZm9yIGFsbCByb3dzXG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG5cbi8vIENyZWF0ZXMgYSBjb2x1bW4sIHNob3VsZCBiZSB1c2VkIGluc2lkZSBvZiBhIG1lZGlhIHF1ZXJ5IHRvIGNvbnRyb2wgbGF5b3V0c1xuLy9cbi8vICRjb2x1bW5zIC0gVGhlIG51bWJlciBvZiBjb2x1bW5zIHRoaXMgc2hvdWxkIGJlXG4vLyAkbGFzdC1jb2x1bW4gLSBJcyB0aGlzIHRoZSBsYXN0IGNvbHVtbj8gRGVmYXVsdDogZmFsc2UuXG4vLyAkY2VudGVyIC0gQ2VudGVyIHRoZXNlIGNvbHVtbnM/IERlZmF1bHQ6IGZhbHNlLlxuLy8gJG9mZnNldCAtICMgb2YgY29sdW1ucyB0byBvZmZzZXQuIERlZmF1bHQ6IGZhbHNlLlxuLy8gJHB1c2ggLSAjIG9mIGNvbHVtbnMgdG8gcHVzaC4gRGVmYXVsdDogZmFsc2UuXG4vLyAkcHVsbCAtICMgb2YgY29sdW1ucyB0byBwdWxsLiBEZWZhdWx0OiBmYWxzZS5cbi8vICRjb2xsYXBzZSAtIEdldCByaWQgb2YgZ3V0dGVyIHBhZGRpbmcgb24gY29sdW1uPyBEZWZhdWx0OiBmYWxzZS5cbi8vICRmbG9hdCAtIFNob3VsZCB0aGlzIGZsb2F0PyBEZWZhdWx0OiB0cnVlLiBPcHRpb25zOiB0cnVlLCBmYWxzZSwgbGVmdCwgcmlnaHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOmZhbHNlLFxuICAkbGFzdC1jb2x1bW46ZmFsc2UsXG4gICRjZW50ZXI6ZmFsc2UsXG4gICRvZmZzZXQ6ZmFsc2UsXG4gICRwdXNoOmZhbHNlLFxuICAkcHVsbDpmYWxzZSxcbiAgJGNvbGxhcHNlOmZhbHNlLFxuICAkZmxvYXQ6dHJ1ZSxcbiAgJHBvc2l0aW9uOmZhbHNlKSB7XG5cbiAgLy8gSWYgcG9zaXRpb25lZCBmb3IgZGVmYXVsdCAuY29sdW1uLCBpbmNsdWRlIHJlbGF0aXZlIHBvc2l0aW9uXG4gIC8vIHB1c2ggYW5kIHB1bGwgcmVxdWlyZSBwb3NpdGlvbiBzZXRcbiAgQGlmICRwb3NpdGlvbiBvciAkcHVzaCBvciAkcHVsbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLy8gSWYgY29sbGFwc2VkLCBnZXQgcmlkIG9mIGd1dHRlciBwYWRkaW5nXG4gIEBpZiAkY29sbGFwc2Uge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG5cbiAgLy8gR3V0dGVyIHBhZGRpbmcgd2hlbmV2ZXIgYSBjb2x1bW4gaXNuJ3Qgc2V0IHRvIGNvbGxhcHNlXG4gIC8vICh1c2UgJGNvbGxhcHNlOm51bGwgdG8gZG8gbm90aGluZylcbiAgQGVsc2UgaWYgJGNvbGxhcHNlID09IGZhbHNlIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICgkY29sdW1uLWd1dHRlciAvIDIpO1xuICAgIHBhZGRpbmctcmlnaHQ6ICgkY29sdW1uLWd1dHRlciAvIDIpO1xuICB9XG5cbiAgLy8gSWYgYSBjb2x1bW4gbnVtYmVyIGlzIGdpdmVuLCBjYWxjdWxhdGUgd2lkdGhcbiAgQGlmICRjb2x1bW5zIHtcbiAgICB3aWR0aDogZ3JpZC1jYWxjKCRjb2x1bW5zLCAkdG90YWwtY29sdW1ucyk7XG5cbiAgICAvLyBJZiBsYXN0IGNvbHVtbiwgZmxvYXQgbmF0dXJhbGx5IGluc3RlYWQgb2YgdG8gdGhlIHJpZ2h0XG4gICAgQGlmICRsYXN0LWNvbHVtbiB7IGZsb2F0OiAkb3Bwb3NpdGUtZGlyZWN0aW9uOyB9XG4gIH1cblxuICAvLyBTb3VyY2UgT3JkZXJpbmcsIGFkZHMgbGVmdC9yaWdodCBkZXBlbmRpbmcgb24gd2hpY2ggeW91IHVzZS5cbiAgQGlmICRwdXNoIHsgI3skZGVmYXVsdC1mbG9hdH06IGdyaWQtY2FsYygkcHVzaCwgJHRvdGFsLWNvbHVtbnMpOyAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiBhdXRvOyB9XG4gIEBpZiAkcHVsbCB7ICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGdyaWQtY2FsYygkcHVsbCwgJHRvdGFsLWNvbHVtbnMpOyAjeyRkZWZhdWx0LWZsb2F0fTogYXV0bzsgfVxuXG4gIEBpZiAkZmxvYXQgYW5kICRsYXN0LWNvbHVtbiA9PSBmYWxzZSB7XG4gICAgQGlmICRmbG9hdCA9PSBsZWZ0IG9yICRmbG9hdCA9PSB0cnVlIHsgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0OyB9XG4gICAgQGVsc2UgaWYgJGZsb2F0ID09IHJpZ2h0IHsgZmxvYXQ6ICRvcHBvc2l0ZS1kaXJlY3Rpb247IH1cbiAgICBAZWxzZSB7IGZsb2F0OiBub25lOyB9XG4gIH1cblxuICAvLyBJZiBjZW50ZXJlZCwgZ2V0IHJpZCBvZiBmbG9hdCBhbmQgYWRkIGFwcHJvcHJpYXRlIG1hcmdpbnNcbiAgQGlmICRjZW50ZXIge1xuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogYXV0bztcbiAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogYXV0bztcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIC8vIElmIG9mZnNldCwgY2FsY3VsYXRlIGFwcHJvcHJpYXRlIG1hcmdpbnNcbiAgQGlmICRvZmZzZXQgeyBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IGdyaWQtY2FsYygkb2Zmc2V0LCAkdG90YWwtY29sdW1ucykgIWltcG9ydGFudDsgfVxuXG59XG5cbi8vIENyZWF0ZSBwcmVzZW50YXRpb25hbCBjbGFzc2VzIGZvciBncmlkXG4vL1xuLy8gJHNpemUgLSBOYW1lIG9mIGNsYXNzIHRvIHVzZSwgaS5lLiBcImxhcmdlXCIgd2lsbCBnZW5lcmF0ZSAubGFyZ2UtMSwgLmxhcmdlLTIsIGV0Yy5cbkBtaXhpbiBncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZSkge1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHRvdGFsLWNvbHVtbnMgLSAxIHtcbiAgICAuI3skc2l6ZX0tcHVzaC0jeyRpfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkcHVzaDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7XG4gICAgfVxuICAgIC4jeyRzaXplfS1wdWxsLSN7JGl9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdWxsOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAuY29sdW1uLFxuICAuY29sdW1ucyB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zOmZhbHNlLCAkcG9zaXRpb246dHJ1ZSk7IH1cblxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHRvdGFsLWNvbHVtbnMge1xuICAgIC4jeyRzaXplfS0jeyRpfSB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTsgfVxuICB9XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkdG90YWwtY29sdW1ucyAtIDEge1xuICAgIC4jeyRzaXplfS1vZmZzZXQtI3skaX0geyBAaW5jbHVkZSBncmlkLWNvbHVtbigkb2Zmc2V0OiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTsgfVxuICB9XG5cbiAgLiN7JHNpemV9LXJlc2V0LW9yZGVyIHtcbiAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cblxuICAuY29sdW1uLiN7JHNpemV9LWNlbnRlcmVkLFxuICAuY29sdW1ucy4jeyRzaXplfS1jZW50ZXJlZCB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjZW50ZXI6dHJ1ZSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7IH1cblxuICAuY29sdW1uLiN7JHNpemV9LXVuY2VudGVyZWQsXG4gIC5jb2x1bW5zLiN7JHNpemV9LXVuY2VudGVyZWQge1xuICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gIH1cblxuICAvLyBGaWdodGluZyBbY2xhc3MqPVwiY29sdW1uXCJdICsgW2NsYXNzKj1cImNvbHVtblwiXTpsYXN0LWNoaWxkXG4gIC5jb2x1bW4uI3skc2l6ZX0tY2VudGVyZWQ6bGFzdC1jaGlsZCxcbiAgLmNvbHVtbnMuI3skc2l6ZX0tY2VudGVyZWQ6bGFzdC1jaGlsZHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ2h0aW5nIC5jb2x1bW4uPHByZXZpb3VzLXNpemU+LWNlbnRlcmVkOmxhc3QtY2hpbGRcbiAgLmNvbHVtbi4jeyRzaXplfS11bmNlbnRlcmVkOmxhc3QtY2hpbGQsXG4gIC5jb2x1bW5zLiN7JHNpemV9LXVuY2VudGVyZWQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICB9XG5cbiAgLmNvbHVtbi4jeyRzaXplfS11bmNlbnRlcmVkLm9wcG9zaXRlLFxuICAuY29sdW1ucy4jeyRzaXplfS11bmNlbnRlcmVkLm9wcG9zaXRlIHtcbiAgICBmbG9hdDogJG9wcG9zaXRlLWRpcmVjdGlvbjtcbiAgfVxuXG4gIC5yb3cge1xuICAgICYuI3skc2l6ZX0tY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uLFxuICAgICAgPiAuY29sdW1ucyB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2xsYXBzZTp0cnVlLCAkZmxvYXQ6ZmFsc2UpOyB9XG5cbiAgICAgIC5yb3cge21hcmdpbi1sZWZ0OjA7IG1hcmdpbi1yaWdodDowO31cbiAgICB9XG4gICAgJi4jeyRzaXplfS11bmNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbixcbiAgICAgID4gLmNvbHVtbnMge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImdyaWRcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1ncmlkLWNsYXNzZXMge1xuICAgIC5yb3cge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3c7XG5cbiAgICAgICYuY29sbGFwc2Uge1xuICAgICAgICAgPiAuY29sdW1uLFxuICAgICAgICAgPiAuY29sdW1ucyB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2xsYXBzZTp0cnVlLCAkZmxvYXQ6ZmFsc2UpOyB9XG5cbiAgICAgICAgLnJvdyB7bWFyZ2luLWxlZnQ6MDsgbWFyZ2luLXJpZ2h0OjA7fVxuICAgICAgfVxuXG4gICAgICAucm93IHsgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOm5lc3QpO1xuICAgICAgICAmLmNvbGxhcHNlIHsgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOm5lc3QtY29sbGFwc2UpOyB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbHVtbixcbiAgICAuY29sdW1ucyB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zOiR0b3RhbC1jb2x1bW5zKTsgfVxuXG4gICAgLmNvbHVtbixcbiAgICAuY29sdW1ucyB7XG4gICAgICAmICsgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgZmxvYXQ6ICRsYXN0LWNoaWxkLWZsb2F0O1xuICAgICAgfVxuICAgICAgJiArICYuZW5kIHtcbiAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAjeyRzbWFsbC11cH0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6c21hbGwpO1xuICAgIH1cblxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOm1lZGl1bSk7XG4gICAgICAvLyBPbGQgcHVzaCBhbmQgcHVsbCBjbGFzc2VzXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICR0b3RhbC1jb2x1bW5zIC0gMSB7XG4gICAgICAgIC5wdXNoLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkcHVzaDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgICAgLnB1bGwtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdWxsOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOmxhcmdlKTtcbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHRvdGFsLWNvbHVtbnMgLSAxIHtcbiAgICAgICAgLnB1c2gtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdXNoOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgICAucHVsbC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJHB1bGw6JGksICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpZiAkaW5jbHVkZS14bC1odG1sLWdyaWQtY2xhc3NlcyB7XG4gICAgQG1lZGlhICN7JHhsYXJnZS11cH0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6eGxhcmdlKTtcbiAgICB9XG4gICAgQG1lZGlhICN7JHh4bGFyZ2UtdXB9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnh4bGFyZ2UpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG5cbiRpbmNsdWRlLWh0bWwtYWNjb3JkaW9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1uYXZpZ2F0aW9uLXBhZGRpbmc6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1iZy1jb2xvcjogJHNpbHZlciAhZGVmYXVsdDtcbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1ob3Zlci1iZy1jb2xvcjogc2NhbGUtY29sb3IoJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWFjdGl2ZS1iZy1jb2xvcjogc2NhbGUtY29sb3IoJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtMyUpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWFjdGl2ZS1mb250LWNvbG9yOiAkamV0ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtY29sb3I6ICRqZXQgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogKCRjb2x1bW4tZ3V0dGVyLzIpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1jb250ZW50LWFjdGl2ZS1iZy1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG5cbi8vICBNaXhpbjogYWNjb3JkaW9uLWNvbnRhaW5lcigpXG4vLyAgRGVjcmlwdGlvbjogUmVzcG9uc2libGUgZm9yIHRoZSBjb250YWluZXIgY29tcG9uZW50IG9mIGFjY29yZGlvbnMsIGdlbmVyYXRpbmcgc3R5bGVzIHJlbGF0aW5nIHRvIGEgbWFyZ2luIG9mIHplcm8gYW5kIGEgY2xlYXJmaXhcbi8vICBFeHBsaWNpdCBEZXBlbmRlbmNpZXM6IGEgY2xlYXJmaXggbWl4aW4gKmlzKiBkZWZpbmVkLlxuLy8gIEltcGxpY2l0IERlcGVuZGVuY2llczogTm9uZVxuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lcigpIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8vICBNaXhpbjogYWNjb3JkaW9uLW5hdmlnYXRpb24oICRiZywgJGhvdmVyLWJnLCAkYWN0aXZlLWJnLCAkcGFkZGluZywgJGFjdGl2ZV9jbGFzcywgICRmb250LWNvbG9yLCAkZm9udC1zaXplLCAkZm9udC1mYW1pbHkpIHtcbi8vICAgIEBwYXJhbXMgJGJnLWNvbG9yOiBbIGNvbG9yIG9yIHN0cmluZyBdOiBTcGVjaWZ5IHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgbmF2aWdhdGlvbiBlbGVtZW50XG4vLyAgICBAcGFyYW1zICRob3Zlci1iZy1jb2xvciBbIGNvbG9yIG9yIHN0cmluZyBdOiBTcGVjaWZ5IHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgbmF2aWdhdGlvbiBlbGVtZW50IHdoZW4gaG92ZXJlZFxuLy8gICAgQHBhcmFtcyAkYWN0aXZlLWJnIFsgY29sb3Igb3Igc3RyaW5nIF06IFNwZWNpZnkgdGhlIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBuYXZpZ2F0aW9uIGVsZW1lbnQgd2hlbiBjbGlja2VkIGFuZCBub3QgcmVsZWFzZWQuXG4vLyAgICBAcGFyYW1zICRhY3RpdmVfY2xhc3MgWyBzdHJpbmcgXTogU3BlY2lmeSB0aGUgY2xhc3MgbmFtZSB1c2VkIHRvIGtlZXAgdHJhY2sgb2Ygd2hpY2ggYWNjb3JkaW9uIHRhYiBzaG91bGQgYmUgdmlzaWJsZVxuLy8gICAgQHBhcmFtcyAkZm9udC1jb2xvciBbIGNvbG9yIG9yIHN0cmluZyBdOiBDb2xvciBvZiB0aGUgZm9udCBmb3IgYWNjb3JkaW9uXG4vLyAgICBAcGFyYW1zICRmb250LXNpemUgWyBudW1iZXIgXTogU3BlY2lmaXkgdGhlIGZvbnQtc2l6ZSBvZiB0aGUgdGV4dCBpbnNpZGUgdGhlIG5hdmlnYXRpb24gZWxlbWVudFxuLy8gICAgQHBhcmFtcyAkZm9udC1mYW1pbHkgWyBzdHJpbmcgXTogU3BlY2lmeSB0aGUgZm9udCBmYW1pbHkgZm9yIHRoZSB0ZXh0IG9mIHRoZSBuYXZpZ2F0aW9uIG9mIHRoZSBhY2NvcmlvblxuLy8gICAgQHBhcmFtcyAkYWN0aXZlLWZvbnQgWyBjb2xvciBvciBzdHJpbmcgXTogU3BlY2lmeSB0aGUgZm9udCBjb2xvciBmb3IgdGhlIG5hdmlnYXRpb24gZWxlbWVudCB3aGVuIGFjdGl2ZS5cblxuQG1peGluIGFjY29yZGlvbi1uYXZpZ2F0aW9uKCAkYmc6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1iZy1jb2xvciwgJGhvdmVyLWJnOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24taG92ZXItYmctY29sb3IsICRhY3RpdmUtYmc6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3IsICRwYWRkaW5nOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZywgJGFjdGl2ZV9jbGFzczogJ2FjdGl2ZScsICAkZm9udC1jb2xvcjogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtY29sb3IsICRmb250LXNpemU6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LXNpemUsICRmb250LWZhbWlseTogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtZmFtaWx5LCAkYWN0aXZlLWZvbnQ6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1hY3RpdmUtZm9udC1jb2xvciApIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgQGlmIHR5cGUtb2YoJGFjdGl2ZV9jbGFzcykgIT0gXCJzdHJpbmdcIiB7XG4gICAgQHdhcm4gXCJgI3skYWN0aXZlX2NsYXNzfWAgaXNuJ3QgYSB2YWxpZCBzdHJpbmcuIEEgdmFsaWQgc3RyaW5nIGlzIG5lZWRlZCB0byBjb3JyZWN0bHkgYmUgaW50ZXJwb2xhdGVkIGFzIGEgQ1NTIGNsYXNzLiBDU1MgY2xhc3NlcyBjYW5ub3Qgc3RhcnQgd2l0aCBhIG51bWJlciBvciBjb25zaXN0IG9mIG9ubHkgbnVtYmVycy4gQ1NTIHdpbGwgbm90IGJlIGdlbmVyYXRlZCBmb3IgdGhlIGFjdGl2ZSBzdGF0ZSBvZiB0aGlzIG5hdmlnYXRpb24gY29tcG9uZW50LlwiXG4gIH1cbiAgQGVsc2Uge1xuICAgICYuI3sgJGFjdGl2ZV9jbGFzcyB9ID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYWN0aXZlLWJnO1xuICAgICAgY29sb3I6ICRhY3RpdmUtZm9udDtcbiAgICB9XG4gIH1cbiAgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmc7XG4gICAgY29sb3I6ICRmb250LWNvbG9yO1xuICAgIEBpZiB0eXBlLW9mKCRwYWRkaW5nKSAhPSBudW1iZXIge1xuICAgICAgQHdhcm4gXCJgI3skcGFkZGluZ31gIHdhcyByZWFkIGFzICN7dHlwZS1vZigkcGFkZGluZyl9XCI7XG4gICAgICBAaWYgJGFjY29yZGlvbi1uYXZpZ2F0aW9uLXBhZGRpbmcgIT0gbnVsbCB7XG4gICAgICAgIEB3YXJuIFwiI3skcGFkZGluZ30gd2FzIHJlYWQgYXMgYSAje3R5cGUtb2YoJHBhZGRpbmcpfVwiO1xuICAgICAgICBAd2FybiBcImAjeyRwYWRkaW5nfWAgaXNuJ3QgYSB2YWxpZCBudW1iZXIuICRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nICgjeyRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nfSkgd2lsbCBiZSB1c2VkIGluc3RlYWQuKVwiO1xuICAgICAgICBwYWRkaW5nOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gXCJgI3skcGFkZGluZ31gIGlzbid0IGEgdmFsaWQgbnVtYmVyIGFuZCAkYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZyBpcyBtaXNzaW5nLiBBIHZhbHVlIG9mIGBudWxsYCBpcyByZXR1cm5lZCB0byBub3Qgb3V0cHV0IGFuIGludmFsaWQgdmFsdWUgZm9yIHBhZGRpbmdcIjtcbiAgICAgICAgcGFkZGluZzogbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgfVxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gICAgQGlmIHR5cGUtb2YoJGZvbnQtc2l6ZSkgIT0gbnVtYmVyIHtcbiAgICAgIEB3YXJuIFwiYCN7JGZvbnQtc2l6ZX1gIHdhcyByZWFkIGFzIGEgI3t0eXBlLW9mKCRmb250LXNpemUpfVwiO1xuICAgICAgQGlmICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LXNpemUgIT0gbnVsbCB7XG4gICAgICAgIEB3YXJuIFwiYCN7JGZvbnQtc2l6ZX1gIGlzIG5vdCBhIHZhbGlkIG51bWJlci4gVGhlIHZhbHVlIG9mICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LXNpemUgd2lsbCBiZSB1c2VkIGluc3RlYWQgKCN7JGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZX0pLlwiO1xuICAgICAgICBmb250LXNpemU6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LXNpemU7XG4gICAgICB9XG4gICAgICBAZWxzZXtcbiAgICAgICAgQHdhcm4gXCJgI3skZm9udC1zaXplfWAgaXMgbm90IGEgdmFsaWQgbnVtYmVyIGFuZCB0aGUgZGVmYXVsdCB2YWx1ZSBvZiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplIGlzIG5vdCBkZWZpbmVkLiBBIHZhbHVlIG9mIGBudWxsYCB3aWxsIGJlIHJldHVybmVkIHRvIG5vdCBnZW5lcmF0ZSBhbiBpbnZhbGlkIHZhbHVlIGZvciBmb250LXNpemUuXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogbnVsbDtcblxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGhvdmVyLWJnO1xuICAgIH1cbiAgfVxufVxuXG4vLyAgTWl4aW46IGFjY29yZGlvbi1jb250ZW50KCRiZywgJHBhZGRpbmcsICRhY3RpdmUtY2xhc3MpXG4vLyAgICBAcGFyYW1zICRwYWRkaW5nIFsgbnVtYmVyIF06IFBhZGRpbmcgZm9yIHRoZSBjb250ZW50IG9mIHRoZSBjb250YWluZXJcbi8vICAgIEBwYXJhbXMgJGJnIFsgY29sb3IgIF06IEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBjb250ZW50IHdoZW4gaXQncyB2aXNpYmxlXG4vLyAgICBAcGFyYW1zICRhY3RpdmVfY2xhc3MgWyBzdHJpbmcgXTogQ2xhc3MgbmFtZSB1c2VkIHRvIGtlZXAgdHJhY2sgb2Ygd2hpY2ggYWNjb3JkaW9uIHRhYiBzaG91bGQgYmUgdmlzaWJsZS5cblxuQG1peGluIGFjY29yZGlvbi1jb250ZW50KCRiZzogJGFjY29yZGlvbi1jb250ZW50LWFjdGl2ZS1iZy1jb2xvciwgJHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nLCAkYWN0aXZlX2NsYXNzOiAnYWN0aXZlJykge1xuICBkaXNwbGF5OiBub25lO1xuICBAaWYgdHlwZS1vZigkcGFkZGluZykgIT0gXCJudW1iZXJcIiB7XG4gICAgQHdhcm4gXCIjeyRwYWRkaW5nfSB3YXMgcmVhZCBhcyBhICN7dHlwZS1vZigkcGFkZGluZyl9XCI7XG4gICAgQGlmICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nICE9IG51bGwge1xuICAgICAgQHdhcm4gXCJgI3skcGFkZGluZ31gIGlzbid0IGEgdmFsaWQgbnVtYmVyLiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyB1c2VkIGluc3RlYWRcIjtcbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHdhcm4gXCJgI3skcGFkZGluZ31gIGlzbid0IGEgdmFsaWQgbnVtYmVyIGFuZCB0aGUgZGVmYXVsdCB2YWx1ZSBvZiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyBpcyBub3QgZGVmaW5lZC4gQSB2YWx1ZSBvZiBgbnVsbGAgaXMgcmV0dXJuZWQgdG8gbm90IG91dHB1dCBhbiBpbnZhbGlkIHZhbHVlIGZvciBwYWRkaW5nLlwiO1xuICAgICAgcGFkZGluZzogbnVsbDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJGFjdGl2ZV9jbGFzcykgIT0gXCJzdHJpbmdcIiB7XG4gICAgQHdhcm4gXCJgI3skYWN0aXZlX2NsYXNzfWAgaXNuJ3QgYSB2YWxpZCBzdHJpbmcuIEEgdmFsaWQgc3RyaW5nIGlzIG5lZWRlZCB0byBjb3JyZWN0bHkgYmUgaW50ZXJwb2xhdGVkIGFzIGEgQ1NTIGNsYXNzLiBDU1MgY2xhc3NlcyBjYW5ub3Qgc3RhcnQgd2l0aCBhIG51bWJlciBvciBjb25zaXN0IG9mIG9ubHkgbnVtYmVycy4gQ1NTIHdpbGwgbm90IGJlIGdlbmVyYXRlZCBmb3IgdGhlIGFjdGl2ZSBzdGF0ZSBvZiB0aGUgY29udGVudC4gXCJcbiAgfVxuICBAZWxzZSB7XG4gICAgJi4jeyRhY3RpdmVfY2xhc3N9IHtcbiAgICAgIGJhY2tncm91bmQ6ICRiZztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwiYWNjb3JkaW9uXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtYWNjb3JkaW9uLWNsYXNzZXMge1xuICAgIC5hY2NvcmRpb24ge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAuYWNjb3JkaW9uLW5hdmlnYXRpb24sIGRkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgJi5hY3RpdmUgPiBhIHsgYmFja2dyb3VuZDogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWFjdGl2ZS1iZy1jb2xvcjsgY29sb3I6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1hY3RpdmUtZm9udC1jb2xvcjsgfVxuICAgICAgICA+IGEge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1iZy1jb2xvcjtcbiAgICAgICAgICBjb2xvcjogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtY29sb3I7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LWZhbWlseTtcbiAgICAgICAgICBmb250LXNpemU6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LXNpemU7XG4gICAgICAgICAgcGFkZGluZzogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLXBhZGRpbmc7XG4gICAgICAgICAgJjpob3ZlciB7IGJhY2tncm91bmQ6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1ob3Zlci1iZy1jb2xvcjsgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiAuY29udGVudCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZztcbiAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYWN0aXZlLWJnLWNvbG9yO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBUaGlzIGlzIHRoZSBkZWZhdWx0IGh0bWwgYW5kIGJvZHkgZm9udC1zaXplIGZvciB0aGUgYmFzZSByZW0gdmFsdWUuXG4kcmVtLWJhc2U6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIElNUE9SVCBPTkNFXG4vLyBXZSB1c2UgdGhpcyB0byBwcmV2ZW50IHN0eWxlcyBmcm9tIGJlaW5nIGxvYWRlZCBtdWx0aXBsZSB0aW1lcyBmb3IgY29tcG9uZW50cyB0aGF0IHJlbHkgb24gb3RoZXIgY29tcG9uZW50cy5cbiRtb2R1bGVzOiAoKSAhZGVmYXVsdDtcblxuQG1peGluIGV4cG9ydHMoJG5hbWUpIHtcbiAgLy8gSW1wb3J0IGZyb20gZ2xvYmFsIHNjb3BlXG4gICRtb2R1bGVzOiAkbW9kdWxlcyAhZ2xvYmFsO1xuICAvLyBDaGVjayBpZiBhIG1vZHVsZSBpcyBhbHJlYWR5IG9uIHRoZSBsaXN0XG4gICRtb2R1bGVfaW5kZXg6IGluZGV4KCRtb2R1bGVzLCAkbmFtZSk7XG4gIEBpZiAoKCRtb2R1bGVfaW5kZXggPT0gbnVsbCkgb3IgKCRtb2R1bGVfaW5kZXggPT0gZmFsc2UpKSB7XG4gICAgJG1vZHVsZXM6IGFwcGVuZCgkbW9kdWxlcywgJG5hbWUpICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy9cbi8vIEBmdW5jdGlvbnNcbi8vXG5cblxuLy8gUkFOR0VTXG4vLyBXZSB1c2UgdGhlc2UgZnVuY3Rpb25zIHRvIGRlZmluZSByYW5nZXMgZm9yIHZhcmlvdXMgdGhpbmdzLCBsaWtlIG1lZGlhIHF1ZXJpZXMuXG5AZnVuY3Rpb24gbG93ZXItYm91bmQoJHJhbmdlKSB7XG4gIEBpZiBsZW5ndGgoJHJhbmdlKSA8PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQHJldHVybiBudGgoJHJhbmdlLCAxKTtcbn1cblxuQGZ1bmN0aW9uIHVwcGVyLWJvdW5kKCRyYW5nZSkge1xuICBAaWYgbGVuZ3RoKCRyYW5nZSkgPCAyIHtcbiAgICBAcmV0dXJuIDk5OTk5OTk5OTk5OTtcbiAgfVxuICBAcmV0dXJuIG50aCgkcmFuZ2UsIDIpO1xufVxuXG4vLyBTVFJJUCBVTklUXG4vLyBJdCBzdHJpcHMgdGhlIHVuaXQgb2YgbWVhc3VyZSBhbmQgcmV0dXJucyBpdFxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8gVEVYVCBJTlBVVCBUWVBFU1xuXG5AZnVuY3Rpb24gdGV4dC1pbnB1dHMoICR0eXBlczogYWxsLCAkc2VsZWN0b3I6IGlucHV0ICkge1xuXG4gICRyZXR1cm46ICgpO1xuXG4gICRhbGwtdGV4dC1pbnB1dC10eXBlczpcbiAgICB0ZXh0XG4gICAgcGFzc3dvcmRcbiAgICBkYXRlXG4gICAgZGF0ZXRpbWVcbiAgICBkYXRldGltZS1sb2NhbFxuICAgIG1vbnRoXG4gICAgd2Vla1xuICAgIGVtYWlsXG4gICAgbnVtYmVyXG4gICAgc2VhcmNoXG4gICAgdGVsXG4gICAgdGltZVxuICAgIHVybFxuICAgIGNvbG9yXG4gICAgdGV4dGFyZWE7XG5cbiAgQGlmICR0eXBlcyA9PSBhbGwgeyAkdHlwZXM6ICRhbGwtdGV4dC1pbnB1dC10eXBlczsgfVxuXG4gIEBlYWNoICR0eXBlIGluICR0eXBlcyB7XG4gICAgQGlmICR0eXBlID09IHRleHRhcmVhIHtcbiAgICAgIEBpZiAkc2VsZWN0b3IgPT0gaW5wdXQge1xuICAgICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgdW5xdW90ZSgnI3skdHlwZX0nKSwgY29tbWEpXG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIHVucXVvdGUoJyN7JHR5cGV9I3skc2VsZWN0b3J9JyksIGNvbW1hKVxuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIHVucXVvdGUoJyN7JHNlbGVjdG9yfVt0eXBlPVwiI3skdHlwZX1cIl0nKSwgY29tbWEpXG4gICAgfVxuICB9XG5cbiAgICBAcmV0dXJuICRyZXR1cm47XG5cbn1cblxuLy8gQ09OVkVSVCBUTyBSRU1cbkBmdW5jdGlvbiBjb252ZXJ0LXRvLXJlbSgkdmFsdWUsICRiYXNlLXZhbHVlOiAkcmVtLWJhc2UpIHtcbiAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlLXZhbHVlKSAqIDFyZW07XG4gIEBpZiAoJHZhbHVlID09IDByZW0pIHsgJHZhbHVlOiAwOyB9IC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBkYXRhKCRhdHRyKSB7XG4gIEBpZiAkbmFtZXNwYWNlIHtcbiAgICBAcmV0dXJuICdbZGF0YS0nICsgJG5hbWVzcGFjZSArICctJyArICRhdHRyICsgJ10nO1xuICB9XG5cbiAgQHJldHVybiAnW2RhdGEtJyArICRhdHRyICsgJ10nO1xufVxuXG4vLyBSRU0gQ0FMQ1xuXG4vLyBOZXcgU3ludGF4LCBhbGxvd3MgdG8gb3B0aW9uYWxseSBjYWxjdWxhdGUgb24gYSBkaWZmZXJlbnQgYmFzZSB2YWx1ZSB0byBjb3VudGVyIGNvbXBvdW5kaW5nIGVmZmVjdCBvZiByZW0ncy5cbi8vIENhbGwgd2l0aCAxLCAyLCAzIG9yIDQgcGFyYW1ldGVycywgJ3B4JyBpcyBub3QgcmVxdWlyZWQgYnV0IHN1cHBvcnRlZDpcbi8vXG4vLyAgIHJlbS1jYWxjKDEwIDIwIDMwcHggNDApO1xuLy9cbi8vIFNwYWNlIGRlbGltaXRlZCwgaWYgeW91IHdhbnQgdG8gZGVsaW1pdCB1c2luZyBjb21tYSdzLCB3cmFwIGl0IGluIGFub3RoZXIgcGFpciBvZiBicmFja2V0c1xuLy9cbi8vICAgcmVtLWNhbGMoKDEwLCAyMCwgMzAsIDQwcHgpKTtcbi8vXG4vLyBPcHRpb25hbGx5IGNhbGwgd2l0aCBhIGRpZmZlcmVudCBiYXNlIChlZzogOHB4KSB0byBjYWxjdWxhdGUgcmVtLlxuLy9cbi8vICAgcmVtLWNhbGMoMTZweCAzMnB4IDQ4cHgsIDhweCk7XG4vL1xuLy8gSWYgeW91IHJlcXVpcmUgdG8gY29tbWEgc2VwYXJhdGUgeW91ciBsaXN0XG4vL1xuLy8gICByZW0tY2FsYygoMTZweCwgMzJweCwgNDgpLCA4cHgpO1xuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2UtdmFsdWU6ICRyZW0tYmFzZSkge1xuICAkbWF4OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgQGlmICRtYXggPT0gMSB7IEByZXR1cm4gY29udmVydC10by1yZW0obnRoKCR2YWx1ZXMsIDEpLCAkYmFzZS12YWx1ZSk7IH1cblxuICAkcmVtVmFsdWVzOiAoKTtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbWF4IHtcbiAgICAkcmVtVmFsdWVzOiBhcHBlbmQoJHJlbVZhbHVlcywgY29udmVydC10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UtdmFsdWUpKTtcbiAgfVxuICBAcmV0dXJuICRyZW1WYWx1ZXM7XG59XG5cblxuQGZ1bmN0aW9uIGVtLWNhbGMoJHZhbHVlcywgJGJhc2UtdmFsdWU6ICRyZW0tYmFzZSkge1xuICAkcmVtVmFsdWVzOiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZS12YWx1ZTogJHJlbS1iYXNlKTtcblxuICAkbWF4OiBsZW5ndGgoJHJlbVZhbHVlcyk7XG5cbiAgQGlmICRtYXggPT0gMSB7IEByZXR1cm4gc3RyaXAtdW5pdChudGgoJHJlbVZhbHVlcywgMSkpICogMWVtOyB9XG5cbiAgJGVtVmFsdWVzOiAoKTtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbWF4IHtcbiAgICAkZW1WYWx1ZXM6IGFwcGVuZCgkZW1WYWx1ZXMsIHN0cmlwLXVuaXQobnRoKCRyZW1WYWx1ZXMsICRpKSkgKiAxZW0pO1xuICB9XG4gIEByZXR1cm4gJGVtVmFsdWVzO1xufVxuXG5cbi8vIERlcHJlY2F0ZWQ6IE9MRCBFTSBDQUxDXG5AZnVuY3Rpb24gZW1DYWxjKCR2YWx1ZXMpIHtcbiAgQHJldHVybiBlbS1jYWxjKCR2YWx1ZXMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEFsZXJ0IEJveCBWYXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWFsZXJ0LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhbGVydCBwYWRkaW5nLlxuJGFsZXJ0LXBhZGRpbmctdG9wOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy1kZWZhdWx0LWZsb2F0OiAkYWxlcnQtcGFkZGluZy10b3AgIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy1vcHBvc2l0ZS1kaXJlY3Rpb246ICRhbGVydC1wYWRkaW5nLXRvcCArIHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLWJvdHRvbTogJGFsZXJ0LXBhZGRpbmctdG9wICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0ZXh0IHN0eWxlLlxuJGFsZXJ0LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGFsZXJ0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuJGFsZXJ0LWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRhbGVydC1mb250LWNvbG9yLWFsdDogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTY2JSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIGZvciBjbG9zZSBob3ZlciBlZmZlY3QuXG4kYWxlcnQtZnVuY3Rpb24tZmFjdG9yOiAtMTQlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBib3JkZXIgc3R5bGVzLlxuJGFsZXJ0LWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogJGFsZXJ0LWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4kYWxlcnQtYm90dG9tLW1hcmdpbjogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGNsb3NlIGJ1dHRvbnNcbiRhbGVydC1jbG9zZS1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS10b3A6IDUwJSAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1wb3NpdGlvbjogcmVtLWNhbGMoNCkgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtZm9udC1zaXplOiByZW0tY2FsYygyMikgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2Utb3BhY2l0eTogLjMgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2Utb3BhY2l0eS1ob3ZlcjogLjUgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtcGFkZGluZzogMCA2cHggNHB4ICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLWJhY2tncm91bmQ6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYm9yZGVyIHJhZGl1c1xuJGFsZXJ0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRhbGVydC10cmFuc2l0aW9uLXNwZWVkOiAzMDBtcyAhZGVmYXVsdDtcbiRhbGVydC10cmFuc2l0aW9uLWVhc2U6IGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vL1xuLy8gQWxlcnQgTWl4aW5zXG4vL1xuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgYSBkZWZhdWx0IGFsZXJ0IGJhc2UuXG5AbWl4aW4gYWxlcnQtYmFzZSB7XG4gIGJvcmRlci1zdHlsZTogJGFsZXJ0LWJvcmRlci1zdHlsZTtcbiAgYm9yZGVyLXdpZHRoOiAkYWxlcnQtYm9yZGVyLXdpZHRoO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAkYWxlcnQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGFsZXJ0LWZvbnQtd2VpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkYWxlcnQtYm90dG9tLW1hcmdpbjtcbiAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmctdG9wICRhbGVydC1wYWRkaW5nLW9wcG9zaXRlLWRpcmVjdGlvbiAkYWxlcnQtcGFkZGluZy1ib3R0b20gJGFsZXJ0LXBhZGRpbmctZGVmYXVsdC1mbG9hdDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbihvcGFjaXR5LCAkYWxlcnQtdHJhbnNpdGlvbi1zcGVlZCwgJGFsZXJ0LXRyYW5zaXRpb24tZWFzZSlcbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYWRkIGFsZXJ0IHN0eWxlc1xuLy9cbi8vICRiZyAtIFRoZSBiYWNrZ3JvdW5kIG9mIHRoZSBhbGVydC4gRGVmYXVsdDogJHByaW1hcnktY29sb3IuXG5AbWl4aW4gYWxlcnQtc3R5bGUoJGJnOiRwcmltYXJ5LWNvbG9yKSB7XG5cbiAgLy8gVGhpcyBmaW5kcyB0aGUgbGlnaHRuZXNzIHBlcmNlbnRhZ2Ugb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG4gICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xuXG4gIC8vIFdlIGNvbnRyb2wgd2hpY2ggYmFja2dyb3VuZCBjb2xvciBhbmQgYm9yZGVyIGNvbWUgdGhyb3VnaC5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuICBib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRiZywgJGxpZ2h0bmVzczogJGFsZXJ0LWZ1bmN0aW9uLWZhY3Rvcik7XG5cbiAgLy8gV2UgY29udHJvbCB0aGUgdGV4dCBjb2xvciBmb3IgeW91IGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuICBAaWYgJGJnLWxpZ2h0bmVzcyA+IDcwJSB7IGNvbG9yOiAkYWxlcnQtZm9udC1jb2xvci1hbHQ7IH1cbiAgQGVsc2UgICAgICAgICAgICAgICAgICAgeyBjb2xvcjogJGFsZXJ0LWZvbnQtY29sb3I7IH1cblxufVxuXG4vLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBhbGVydC1jbG9zZSB7XG4gICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRhbGVydC1jbG9zZS1wb3NpdGlvbjtcbiAgYmFja2dyb3VuZDogJGFsZXJ0LWNsb3NlLWJhY2tncm91bmQ7XG4gIGNvbG9yOiAkYWxlcnQtY2xvc2UtY29sb3I7XG4gIGZvbnQtc2l6ZTogJGFsZXJ0LWNsb3NlLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IC45O1xuICBtYXJnaW4tdG9wOiAtKCRhbGVydC1jbG9zZS1mb250LXNpemUgLyAyKTtcbiAgb3BhY2l0eTogJGFsZXJ0LWNsb3NlLW9wYWNpdHk7XG4gIHBhZGRpbmc6ICRhbGVydC1jbG9zZS1wYWRkaW5nO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJGFsZXJ0LWNsb3NlLXRvcDtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7IG9wYWNpdHk6ICRhbGVydC1jbG9zZS1vcGFjaXR5LWhvdmVyOyB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHF1aWNrbHkgY3JlYXRlIGFsZXJ0cyB3aXRoIGEgc2luZ2xlIG1peGluLlxuLy9cbi8vICRiZyAtIEJhY2tncm91bmQgb2YgYWxlcnQuIERlZmF1bHQ6ICRwcmltYXJ5LWNvbG9yLlxuLy8gJHJhZGl1cyAtIFJhZGl1cyBvZiBhbGVydCBib3guIERlZmF1bHQ6IGZhbHNlLlxuQG1peGluIGFsZXJ0KCRiZzokcHJpbWFyeS1jb2xvciwgJHJhZGl1czpmYWxzZSkge1xuICBAaW5jbHVkZSBhbGVydC1iYXNlO1xuICBAaW5jbHVkZSBhbGVydC1zdHlsZSgkYmcpO1xuICBAaW5jbHVkZSByYWRpdXMoJHJhZGl1cyk7XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJhbGVydC1ib3hcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1hbGVydC1jbGFzc2VzIHtcbiAgICAuYWxlcnQtYm94IHtcbiAgICAgIEBpbmNsdWRlIGFsZXJ0O1xuXG4gICAgICAuY2xvc2UgICAgICB7IEBpbmNsdWRlIGFsZXJ0LWNsb3NlOyB9XG5cbiAgICAgICYucmFkaXVzICAgIHsgQGluY2x1ZGUgcmFkaXVzKCRhbGVydC1yYWRpdXMpOyB9XG4gICAgICAmLnJvdW5kICAgICB7IEBpbmNsdWRlIHJhZGl1cygkZ2xvYmFsLXJvdW5kZWQpOyB9XG5cbiAgICAgICYuc3VjY2VzcyAgIHsgQGluY2x1ZGUgYWxlcnQtc3R5bGUoJHN1Y2Nlc3MtY29sb3IpOyB9XG4gICAgICAmLmFsZXJ0ICAgICB7IEBpbmNsdWRlIGFsZXJ0LXN0eWxlKCRhbGVydC1jb2xvcik7IH1cbiAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgYWxlcnQtc3R5bGUoJHNlY29uZGFyeS1jb2xvcik7IH1cbiAgICAgICYud2FybmluZyB7IEBpbmNsdWRlIGFsZXJ0LXN0eWxlKCR3YXJuaW5nLWNvbG9yKTsgfVxuICAgICAgJi5pbmZvIHsgQGluY2x1ZGUgYWxlcnQtc3R5bGUoJGluZm8tY29sb3IpOyB9XG4gICAgICAmLmFsZXJ0LWNsb3NlIHsgb3BhY2l0eTogMH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBCbG9jayBHcmlkIFZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtYmxvY2stZ3JpZC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG4kaW5jbHVkZS14bC1odG1sLWJsb2NrLWdyaWQtY2xhc3NlczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIG1heGltdW0gbnVtYmVyIG9mIGJsb2NrIGdyaWQgZWxlbWVudHMgcGVyIHJvd1xuJGJsb2NrLWdyaWQtZWxlbWVudHM6IDEyICFkZWZhdWx0O1xuJGJsb2NrLWdyaWQtZGVmYXVsdC1zcGFjaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbiRhbGlnbi1ibG9jay1ncmlkLXRvLWdyaWQ6IGZhbHNlICFkZWZhdWx0O1xuQGlmICRhbGlnbi1ibG9jay1ncmlkLXRvLWdyaWQge1xuICAkYmxvY2stZ3JpZC1kZWZhdWx0LXNwYWNpbmc6ICRjb2x1bW4tZ3V0dGVyO1xufVxuXG4vLyBFbmFibGVzIG1lZGlhIHF1ZXJpZXMgZm9yIGJsb2NrLWdyaWQgY2xhc3Nlcy4gU2V0IHRvIGZhbHNlIGlmIHdyaXRpbmcgc2VtYW50aWMgSFRNTC5cbiRibG9jay1ncmlkLW1lZGlhLXF1ZXJpZXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vXG4vLyBCbG9jayBHcmlkIE1peGluc1xuLy9cblxuLy8gQ3JlYXRlIGEgY3VzdG9tIGJsb2NrIGdyaWRcbi8vXG4vLyAkcGVyLXJvdyAtICMgb2YgaXRlbXMgdG8gZGlzcGxheSBwZXIgcm93LiBEZWZhdWx0OiBmYWxzZS5cbi8vICRzcGFjaW5nIC0gIyBvZiBlbXMgdG8gdXNlIGFzIHBhZGRpbmcgb24gZWFjaCBibG9jayBpdGVtLiBEZWZhdWx0OiByZW0tY2FsYygyMCkuXG4vLyAkaW5jbHVkZS1zcGFjaW5nIC0gQWRkcyBwYWRkaW5nIHRvIG91ciBsaXN0IGl0ZW0uIERlZmF1bHQ6IHRydWUuXG4vLyAkYmFzZS1zdHlsZSAtIEFwcGx5IGEgYmFzZSBzdHlsZSB0byBibG9jayBncmlkLiBEZWZhdWx0OiB0cnVlLlxuQG1peGluIGJsb2NrLWdyaWQoXG4gICRwZXItcm93OmZhbHNlLFxuICAkc3BhY2luZzokYmxvY2stZ3JpZC1kZWZhdWx0LXNwYWNpbmcsXG4gICRpbmNsdWRlLXNwYWNpbmc6dHJ1ZSxcbiAgJGJhc2Utc3R5bGU6dHJ1ZSkge1xuXG4gIEBpZiAkYmFzZS1zdHlsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMDtcbiAgICBAaWYgJGFsaWduLWJsb2NrLWdyaWQtdG8tZ3JpZCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfSBAZWxzZSB7XG4gICAgICBtYXJnaW46IDAgKC0kc3BhY2luZy8yKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgQGlmICRpbmNsdWRlLXNwYWNpbmcge1xuICAgICAgICBwYWRkaW5nOiAwICgkc3BhY2luZy8yKSAkc3BhY2luZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJHBlci1yb3cge1xuICAgID4gbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIEBpZiAkaW5jbHVkZS1zcGFjaW5nIHtcbiAgICAgICAgcGFkZGluZzogMCAoJHNwYWNpbmcvMikgJHNwYWNpbmc7XG4gICAgICB9XG4gICAgICB3aWR0aDogMTAwJS8kcGVyLXJvdztcblxuICAgICAgJjpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuICAgICAgJjpudGgtb2YtdHlwZSgjeyRwZXItcm93fW4rMSkgeyBjbGVhcjogYm90aDsgfVxuICAgICAgQGlmICRhbGlnbi1ibG9jay1ncmlkLXRvLWdyaWQge1xuICAgICAgICBAaW5jbHVkZSBibG9jay1ncmlkLWFsaWduZWQoJHBlci1yb3csICRzcGFjaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJsb2NrLWdyaWQtYWxpZ25lZCgkcGVyLXJvdywgJHNwYWNpbmcpIHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1lbGVtZW50cyB7XG4gICAgQGlmICRwZXItcm93ID49ICRpIHtcbiAgICAgICRncmlkLWNvbHVtbjogJysnICsgJGk7XG4gICAgICBAaWYgJHBlci1yb3cgPT0gJGkge1xuICAgICAgICAkZ3JpZC1jb2x1bW46ICcnO1xuICAgICAgfVxuICAgICAgJjpudGgtb2YtdHlwZSgjeyRwZXItcm93fW4je3VucXVvdGUoJGdyaWQtY29sdW1uKX0pIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAoJHNwYWNpbmcgLSAoKCRzcGFjaW5nIC8gJHBlci1yb3cpICogKCRwZXItcm93IC0gKCRpIC0gMSkpKSk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICgkc3BhY2luZyAtICgoJHNwYWNpbmcgLyAkcGVyLXJvdykgKiAkaSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSBwcmVzZW50YXRpb25hbCBtYXJrdXAgZm9yIGJsb2NrIGdyaWQuXG4vL1xuLy8gJHNpemUgLSBOYW1lIG9mIGNsYXNzIHRvIHVzZSwgaS5lLiBcImxhcmdlXCIgd2lsbCBnZW5lcmF0ZSAubGFyZ2UtYmxvY2stZ3JpZC0xLCAubGFyZ2UtYmxvY2stZ3JpZC0yLCBldGMuXG5AbWl4aW4gYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemUsICRpbmNsdWRlLXNwYWNpbmcpIHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1lbGVtZW50cyB7XG4gICAgLiN7JHNpemV9LWJsb2NrLWdyaWQtI3soJGkpfSB7XG4gICAgICBAaW5jbHVkZSBibG9jay1ncmlkKCRpLCAkYmxvY2stZ3JpZC1kZWZhdWx0LXNwYWNpbmcsICRpbmNsdWRlLXNwYWNpbmcsIGZhbHNlKTtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImJsb2NrLWdyaWRcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1ibG9jay1ncmlkLWNsYXNzZXMge1xuXG4gICAgW2NsYXNzKj1cImJsb2NrLWdyaWQtXCJdIHsgQGluY2x1ZGUgYmxvY2stZ3JpZDsgfVxuXG4gICAgQGlmICRibG9jay1ncmlkLW1lZGlhLXF1ZXJpZXMge1xuICAgICAgQG1lZGlhICN7JHNtYWxsLXVwfSB7XG4gICAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnNtYWxsLCAkaW5jbHVkZS1zcGFjaW5nOmZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICBAaW5jbHVkZSBibG9jay1ncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTptZWRpdW0sICRpbmNsdWRlLXNwYWNpbmc6ZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6bGFyZ2UsICRpbmNsdWRlLXNwYWNpbmc6ZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGluY2x1ZGUteGwtaHRtbC1ibG9jay1ncmlkLWNsYXNzZXMge1xuICAgICAgICBAbWVkaWEgI3skeGxhcmdlLXVwfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6eGxhcmdlLCAkaW5jbHVkZS1zcGFjaW5nOmZhbHNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAjeyR4eGxhcmdlLXVwfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6eHhsYXJnZSwgJGluY2x1ZGUtc3BhY2luZzpmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBCcmVhZGNydW1iIFZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgYnJlYWRjcnVtYiBjb250YWluZXIuXG4kY3J1bWItYmc6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IDU1JSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIHBhZGRpbmcgYXJvdW5kIHRoZSBicmVhZGNydW1icy5cbiRjcnVtYi1wYWRkaW5nOiByZW0tY2FsYyg5IDE0IDkpICFkZWZhdWx0O1xuJGNydW1iLXNpZGUtcGFkZGluZzogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBib3JkZXIgc3R5bGVzLlxuJGNydW1iLWZ1bmN0aW9uLWZhY3RvcjogLTEwJSAhZGVmYXVsdDtcbiRjcnVtYi1ib3JkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xuJGNydW1iLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kY3J1bWItYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkY3J1bWItYmcsICRsaWdodG5lc3M6ICRjcnVtYi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJGNydW1iLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdmFyaW91cyB0ZXh0IHN0eWxlcyBmb3IgYnJlYWRjcnVtYnMuXG4kY3J1bWItZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG4kY3J1bWItZm9udC1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kY3J1bWItZm9udC1jb2xvci1jdXJyZW50OiAkb2lsICFkZWZhdWx0O1xuJGNydW1iLWZvbnQtY29sb3ItdW5hdmFpbGFibGU6ICRhbHVtaW51bSAhZGVmYXVsdDtcbiRjcnVtYi1mb250LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJGNydW1iLWxpbmstZGVjb3I6IHVuZGVybGluZSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHNsYXNoIGJldHdlZW4gYnJlYWRjcnVtYnNcbiRjcnVtYi1zbGFzaC1jb2xvcjogJGJhc2UgIWRlZmF1bHQ7XG4kY3J1bWItc2xhc2g6IFwiL1wiICFkZWZhdWx0O1xuJGNydW1iLXNsYXNoLXBvc2l0aW9uOiAxcHggIWRlZmF1bHQ7XG5cbi8vXG4vLyBCcmVhZGNydW1iIE1peGluc1xuLy9cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGEgY29udGFpbmVyIGFyb3VuZCBvdXIgYnJlYWRjcnVtYnNcbkBtaXhpbiBjcnVtYi1jb250YWluZXIge1xuICBib3JkZXItc3R5bGU6ICRjcnVtYi1ib3JkZXItc3R5bGU7XG4gIGJvcmRlci13aWR0aDogJGNydW1iLWJvcmRlci1zaXplO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAkY3J1bWItcGFkZGluZztcblxuICAvLyBXZSBjb250cm9sIHdoaWNoIGJhY2tncm91bmQgY29sb3IgYW5kIGJvcmRlciBjb21lIHRocm91Z2guXG4gIGJhY2tncm91bmQtY29sb3I6ICRjcnVtYi1iZztcbiAgYm9yZGVyLWNvbG9yOiAkY3J1bWItYm9yZGVyLWNvbG9yO1xufVxuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgYnJlYWRjcnVtYiBzdHlsZXMgZnJvbSBsaXN0IGl0ZW1zLlxuQG1peGluIGNydW1icyB7XG5cbiAgLy8gQSBub3JtYWwgc3RhdGUgd2lsbCBtYWtlIHRoZSBsaW5rcyBsb29rIGFuZCBhY3QgbGlrZSBjbGlja2FibGUgYnJlYWRjcnVtYnMuXG4gIGNvbG9yOiAkY3J1bWItZm9udC1jb2xvcjtcbiAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICBmb250LXNpemU6ICRjcnVtYi1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkY3J1bWItZm9udC1zaXplO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiAkY3J1bWItZm9udC10cmFuc2Zvcm07XG5cbiAgJjpob3ZlciBhLCAmOmZvY3VzIGEgeyB0ZXh0LWRlY29yYXRpb246ICRjcnVtYi1saW5rLWRlY29yOyB9XG5cbiAgYSB7XG4gICAgY29sb3I6ICRjcnVtYi1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gQ3VycmVudCBpcyBmb3IgdGhlIGxpbmsgb2YgdGhlIGN1cnJlbnQgcGFnZVxuICAmLmN1cnJlbnQge1xuICAgIGNvbG9yOiAkY3J1bWItZm9udC1jb2xvci1jdXJyZW50O1xuICAgIGN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRjcnVtYi1mb250LWNvbG9yLWN1cnJlbnQ7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGVmYXVsdC12YWx1ZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLCAmOmhvdmVyIGEsXG4gICAgJjpmb2N1cywgJjpmb2N1cyBhIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIH1cblxuICAvLyBVbmF2YWlsYWJsZSByZW1vdmVkIGNvbG9yIGFuZCBsaW5rIHN0eWxlcyBzbyBpdCBsb29rcyBpbmFjdGl2ZS5cbiAgJi51bmF2YWlsYWJsZSB7XG4gICAgY29sb3I6ICRjcnVtYi1mb250LWNvbG9yLXVuYXZhaWxhYmxlO1xuICAgIGEgeyBjb2xvcjogJGNydW1iLWZvbnQtY29sb3ItdW5hdmFpbGFibGU7IH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpob3ZlciBhLFxuICAgICY6Zm9jdXMsXG4gICAgYTpmb2N1cyB7XG4gICAgICBjb2xvcjogJGNydW1iLWZvbnQtY29sb3ItdW5hdmFpbGFibGU7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQtdmFsdWU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbG9yOiAkY3J1bWItc2xhc2gtY29sb3I7XG4gICAgY29udGVudDogXCIjeyRjcnVtYi1zbGFzaH1cIjtcbiAgICBtYXJnaW46IDAgJGNydW1iLXNpZGUtcGFkZGluZztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAkY3J1bWItc2xhc2gtcG9zaXRpb247XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJicmVhZGNydW1ic1wiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzIHtcbiAgICAuYnJlYWRjcnVtYnMge1xuICAgICAgQGluY2x1ZGUgY3J1bWItY29udGFpbmVyO1xuICAgICAgQGluY2x1ZGUgcmFkaXVzKCRjcnVtYi1yYWRpdXMpO1xuXG4gICAgICA+ICoge1xuICAgICAgICBAaW5jbHVkZSBjcnVtYnM7XG4gICAgICB9XG4gICAgfVxuICAgIC8qIEFjY2Vzc2liaWxpdHkgLSBoaWRlcyB0aGUgZm9yd2FyZCBzbGFzaCAqL1xuICAgIFthcmlhLWxhYmVsPVwiYnJlYWRjcnVtYnNcIl0gW2FyaWEtaGlkZGVuPVwidHJ1ZVwiXTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIi9cIjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gYnVpbGQgcGFkZGluZyBmb3IgYnV0dG9ucy5cbiRidXR0b24tdG55OiByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XG4kYnV0dG9uLXNtbDogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJGJ1dHRvbi1tZWQ6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcbiRidXR0b24tbHJnOiByZW0tY2FsYygxOCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGRpc3BsYXkgcHJvcGVydHkuXG4kYnV0dG9uLWRpc3BsYXk6IGlubGluZS1ibG9jayAhZGVmYXVsdDtcbiRidXR0b24tbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBidXR0b24gdGV4dCBzdHlsZXMuXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRidXR0b24tZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LWNvbG9yLWFsdDogJG9pbCAhZGVmYXVsdDtcbiRidXR0b24tZm9udC10bnk6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcbiRidXR0b24tZm9udC1zbWw6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcbiRidXR0b24tZm9udC1tZWQ6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcbiRidXR0b24tZm9udC1scmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcbiRidXR0b24tZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdmFyaW91cyBob3ZlciBlZmZlY3RzLlxuJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3I6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJ1dHRvbiBib3JkZXIgc3R5bGVzLlxuJGJ1dHRvbi1ib3JkZXItd2lkdGg6IDAgIWRlZmF1bHQ7XG4kYnV0dG9uLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kYnV0dG9uLWJnLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmctY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiRidXR0b24tYm9yZGVyLWNvbG9yOiAkYnV0dG9uLWJnLWhvdmVyICFkZWZhdWx0O1xuJHNlY29uZGFyeS1idXR0b24tYmctY29sb3I6ICRzZWNvbmRhcnktY29sb3IgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5LWJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcbiRzdWNjZXNzLWJ1dHRvbi1iZy1jb2xvcjogJHN1Y2Nlc3MtY29sb3IgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRzdWNjZXNzLWNvbG9yLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1idXR0b24tYm9yZGVyLWNvbG9yOiAkc3VjY2Vzcy1idXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XG4kYWxlcnQtYnV0dG9uLWJnLWNvbG9yOiAkYWxlcnQtY29sb3IgIWRlZmF1bHQ7XG4kYWxlcnQtYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkYWxlcnQtY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiRhbGVydC1idXR0b24tYm9yZGVyLWNvbG9yOiAkYWxlcnQtYnV0dG9uLWJnLWhvdmVyICFkZWZhdWx0O1xuJHdhcm5pbmctYnV0dG9uLWJnLWNvbG9yOiAkd2FybmluZy1jb2xvciAhZGVmYXVsdDtcbiR3YXJuaW5nLWJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJHdhcm5pbmctY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiR3YXJuaW5nLWJ1dHRvbi1ib3JkZXItY29sb3I6ICR3YXJuaW5nLWJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcbiRpbmZvLWJ1dHRvbi1iZy1jb2xvcjogJGluZm8tY29sb3IgIWRlZmF1bHQ7XG4kaW5mby1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRpbmZvLWNvbG9yLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4kaW5mby1idXR0b24tYm9yZGVyLWNvbG9yOiAkaW5mby1idXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgZGVmYXVsdCByYWRpdXMgdXNlZCB0aHJvdWdob3V0IHRoZSBjb3JlLlxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuJGJ1dHRvbi1yb3VuZDogJGdsb2JhbC1yb3VuZGVkICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgZGVmYXVsdCBvcGFjaXR5IGFuZCBjdXJzb3IgZm9yIGRpc2FibGVkIGJ1dHRvbnMuXG4kYnV0dG9uLWRpc2FibGVkLW9wYWNpdHk6IC43ICFkZWZhdWx0O1xuJGJ1dHRvbi1kaXNhYmxlZC1jdXJzb3I6ICRjdXJzb3ItZGVmYXVsdC12YWx1ZSAhZGVmYXVsdDtcblxuXG4vL1xuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGEgZGVmYXVsdCBidXR0b24gYmFzZS5cbi8vXG4vLyAkc3R5bGUgLSBTZXRzIGJhc2Ugc3R5bGVzLiBDYW4gYmUgc2V0IHRvIGZhbHNlLiBEZWZhdWx0OiB0cnVlLlxuLy8gJGRpc3BsYXkgLSBVc2VkIHRvIGNvbnRyb2wgZGlzcGxheSBwcm9wZXJ0eS4gRGVmYXVsdDogJGJ1dHRvbi1kaXNwbGF5IHx8IGlubGluZS1ibG9ja1xuXG5AbWl4aW4gYnV0dG9uLWJhc2UoJHN0eWxlOnRydWUsICRkaXNwbGF5OiRidXR0b24tZGlzcGxheSkge1xuICBAaWYgJHN0eWxlIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6MDtcbiAgICBib3JkZXItc3R5bGU6ICRidXR0b24tYm9yZGVyLXN0eWxlO1xuICAgIGJvcmRlci13aWR0aDogJGJ1dHRvbi1ib3JkZXItd2lkdGg7XG4gICAgY3Vyc29yOiAkY3Vyc29yLXBvaW50ZXItdmFsdWU7XG4gICAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRidXR0b24tZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW46IDAgMCAkYnV0dG9uLW1hcmdpbi1ib3R0b207XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246ICRidXR0b24tZm9udC1hbGlnbjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgQGlmICRkaXNwbGF5IHsgZGlzcGxheTogJGRpc3BsYXk7IH1cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYWRkIGJ1dHRvbiBzaXplIHN0eWxlc1xuLy9cbi8vICRwYWRkaW5nIC0gVXNlZCB0byBidWlsZCBwYWRkaW5nIGZvciBidXR0b25zIERlZmF1bHQ6ICRidXR0b24tbWVkIHx8PSByZW0tY2FsYygxMilcbi8vICRmdWxsLXdpZHRoIC0gV2UgY2FuIHNldCAkZnVsbC13aWR0aDp0cnVlIHRvIHJlbW92ZSBzaWRlIHBhZGRpbmcgZXh0ZW5kIHdpZHRoIC0gRGVmYXVsdDogZmFsc2VcblxuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nOiRidXR0b24tbWVkLCAkZnVsbC13aWR0aDpmYWxzZSkge1xuXG4gIC8vIFdlIGNvbnRyb2wgd2hpY2ggcGFkZGluZyBzdHlsZXMgY29tZSB0aHJvdWdoLFxuICAvLyB0aGVzZSBjYW4gYmUgdHVybmVkIG9mZiBieSBzZXR0aW5nICRwYWRkaW5nOmZhbHNlXG4gIEBpZiAkcGFkZGluZyB7XG4gICAgcGFkZGluZzogJHBhZGRpbmcgKCRwYWRkaW5nICogMikgKCRwYWRkaW5nICsgcmVtLWNhbGMoMSkpICgkcGFkZGluZyAqIDIpO1xuICAgIC8vIFdlIGNvbnRyb2wgdGhlIGZvbnQtc2l6ZSBiYXNlZCBvbiBtaXhpbiBpbnB1dC5cbiAgICBAaWYgICAgICAkcGFkZGluZyA9PSAkYnV0dG9uLW1lZCB7IGZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LW1lZDsgfVxuICAgIEBlbHNlIGlmICRwYWRkaW5nID09ICRidXR0b24tdG55IHsgZm9udC1zaXplOiAkYnV0dG9uLWZvbnQtdG55OyB9XG4gICAgQGVsc2UgaWYgJHBhZGRpbmcgPT0gJGJ1dHRvbi1zbWwgeyBmb250LXNpemU6ICRidXR0b24tZm9udC1zbWw7IH1cbiAgICBAZWxzZSBpZiAkcGFkZGluZyA9PSAkYnV0dG9uLWxyZyB7IGZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LWxyZzsgfVxuICB9XG5cbiAgLy8gV2UgY2FuIHNldCAkZnVsbC13aWR0aDp0cnVlIHRvIHJlbW92ZSBzaWRlIHBhZGRpbmcgZXh0ZW5kIHdpZHRoLlxuICBAaWYgJGZ1bGwtd2lkdGgge1xuICAgIC8vIFdlIHN0aWxsIG5lZWQgdG8gY2hlY2sgaWYgJHBhZGRpbmcgaXMgc2V0LlxuICAgIEBpZiAkcGFkZGluZyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmcgKyByZW0tY2FsYygxKTtcbiAgICAgIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgICB9IEBlbHNlIGlmICRwYWRkaW5nID09IGZhbHNlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOjA7XG4gICAgICBwYWRkaW5nLXRvcDowO1xuICAgIH1cbiAgICBwYWRkaW5nLWxlZnQ6ICRidXR0b24tbWVkO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRidXR0b24tbWVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIHdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgYnV0dG9uIGhvdmVyIGFuZCBib3JkZXIgY29sb3JzXG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGFkZCBidXR0b24gY29sb3Igc3R5bGVzXG4vL1xuLy8gJGJnIC0gQmFja2dyb3VuZCBjb2xvci4gV2UgY2FuIHNldCAkYmc6ZmFsc2UgZm9yIGEgdHJhbnNwYXJlbnQgYmFja2dyb3VuZC4gRGVmYXVsdDogJHByaW1hcnktY29sb3IuXG4vLyAkcmFkaXVzIC0gSWYgdHJ1ZSwgc2V0IHRvIGJ1dHRvbiByYWRpdXMgd2hpY2ggaXMgJGJ1dHRvbi1yYWRpdXMgfHwgZXhwbGljaXRseSBzZXQgcmFkaXVzIGFtb3VudCBpbiBweCAoZXguICRyYWRpdXM6MTBweCkuIERlZmF1bHQ6IGZhbHNlXG4vLyAkZGlzYWJsZWQgLSBXZSBjYW4gc2V0ICRkaXNhYmxlZDp0cnVlIHRvIGNyZWF0ZSBhIGRpc2FibGVkIHRyYW5zcGFyZW50IGJ1dHRvbi4gRGVmYXVsdDogZmFsc2Vcbi8vICRiZy1ob3ZlciAtIEJ1dHRvbiBIb3ZlciBCYWNrZ3JvdW5kIENvbG9yLiBEZWZhdWx0OiAkYnV0dG9uLWJnLWhvdmVyXG4vLyAkYm9yZGVyLWNvbG9yIC0gQnV0dG9uIEJvcmRlciBDb2xvci4gRGVmYXVsdDogJGJ1dHRvbi1ib3JkZXItY29sb3JcbkBtaXhpbiBidXR0b24tc3R5bGUoJGJnOiRidXR0b24tYmctY29sb3IsICRyYWRpdXM6ZmFsc2UsICRkaXNhYmxlZDpmYWxzZSwgJGJnLWhvdmVyOm51bGwsICRib3JkZXItY29sb3I6bnVsbCkge1xuXG4gIC8vIFdlIGNvbnRyb2wgd2hpY2ggYmFja2dyb3VuZCBzdHlsZXMgYXJlIHVzZWQsXG4gIC8vIHRoZXNlIGNhbiBiZSByZW1vdmVkIGJ5IHNldHRpbmcgJGJnOmZhbHNlXG4gIEBpZiAkYmcge1xuXG4gICAgQGlmICRiZy1ob3ZlciA9PSBudWxsIHtcbiAgICAgICRiZy1ob3ZlcjogaWYoJGJnID09ICRidXR0b24tYmctY29sb3IsICRidXR0b24tYmctaG92ZXIsIHNjYWxlLWNvbG9yKCRiZywgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpKTtcbiAgICB9XG5cbiAgICBAaWYgJGJvcmRlci1jb2xvciA9PSBudWxsIHtcbiAgICAgICRib3JkZXItY29sb3I6IGlmKCRiZyA9PSAkYnV0dG9uLWJnLWNvbG9yLCAkYnV0dG9uLWJvcmRlci1jb2xvciwgc2NhbGUtY29sb3IoJGJnLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikpO1xuICAgIH1cblxuICAgIC8vIFRoaXMgZmluZCB0aGUgbGlnaHRuZXNzIHBlcmNlbnRhZ2Ugb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG4gICAgJGJnLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZyk7XG4gICAgJGJnLWhvdmVyLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZy1ob3Zlcik7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6ICRiZy1ob3ZlcjsgfVxuXG4gICAgLy8gV2UgY29udHJvbCB0aGUgdGV4dCBjb2xvciBmb3IgeW91IGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuICAgIGNvbG9yOiBpZigkYmctbGlnaHRuZXNzID4gNzAlLCAkYnV0dG9uLWZvbnQtY29sb3ItYWx0LCAkYnV0dG9uLWZvbnQtY29sb3IpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBpZigkYmctaG92ZXItbGlnaHRuZXNzID4gNzAlLCAkYnV0dG9uLWZvbnQtY29sb3ItYWx0LCAkYnV0dG9uLWZvbnQtY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFdlIGNhbiBzZXQgJGRpc2FibGVkOnRydWUgdG8gY3JlYXRlIGEgZGlzYWJsZWQgdHJhbnNwYXJlbnQgYnV0dG9uLlxuICBAaWYgJGRpc2FibGVkIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGN1cnNvcjogJGJ1dHRvbi1kaXNhYmxlZC1jdXJzb3I7XG4gICAgb3BhY2l0eTogJGJ1dHRvbi1kaXNhYmxlZC1vcGFjaXR5O1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6ICRiZzsgfVxuICB9XG5cbiAgLy8gV2UgY2FuIGNvbnRyb2wgaG93IG11Y2ggYnV0dG9uIHJhZGl1cyBpcyB1c2VkLlxuICBAaWYgJHJhZGl1cyA9PSB0cnVlIHsgQGluY2x1ZGUgcmFkaXVzKCRidXR0b24tcmFkaXVzKTsgfVxuICBAZWxzZSBpZiAkcmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKCRyYWRpdXMpOyB9XG5cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gcXVpY2tseSBjcmVhdGUgYnV0dG9ucyB3aXRoIGEgc2luZ2xlIG1peGluLiBBcyBAamFyZWRoYXJkeSBwdXRzIGl0LCBcInRoZSBraXRjaGVuIHNpbmsgbWl4aW5cIlxuLy9cbi8vICRwYWRkaW5nIC0gVXNlZCB0byBidWlsZCBwYWRkaW5nIGZvciBidXR0b25zIERlZmF1bHQ6ICRidXR0b24tbWVkIHx8PSByZW0tY2FsYygxMilcbi8vICRiZyAtIFByaW1hcnkgY29sb3Igc2V0IGluIHNldHRpbmdzIGZpbGUuIERlZmF1bHQ6ICRidXR0b24tYmcuXG4vLyAkcmFkaXVzIC0gSWYgdHJ1ZSwgc2V0IHRvIGJ1dHRvbiByYWRpdXMgd2hpY2ggaXMgJGdsb2JhbC1yYWRpdXMgfHwgZXhwbGljaXRseSBzZXQgcmFkaXVzIGFtb3VudCBpbiBweCAoZXguICRyYWRpdXM6MTBweCkuIERlZmF1bHQ6ZmFsc2UuXG4vLyAkZnVsbC13aWR0aCAtIFdlIGNhbiBzZXQgJGZ1bGwtd2lkdGg6dHJ1ZSB0byByZW1vdmUgc2lkZSBwYWRkaW5nIGV4dGVuZCB3aWR0aC4gRGVmYXVsdDpmYWxzZS5cbi8vICRkaXNhYmxlZCAtIFdlIGNhbiBzZXQgJGRpc2FibGVkOnRydWUgdG8gY3JlYXRlIGEgZGlzYWJsZWQgdHJhbnNwYXJlbnQgYnV0dG9uLiBEZWZhdWx0OmZhbHNlLlxuLy8gJGlzLXByZWZpeCAtIE5vdCB1c2VkPyBEZWZhdWx0OmZhbHNlLlxuLy8gJGJnLWhvdmVyIC0gQnV0dG9uIEhvdmVyIENvbG9yIC0gRGVmYXVsdCBudWxsIC0gc2VlIGJ1dHRvbi1zdHlsZSBtaXhpblxuLy8gJGJvcmRlci1jb2xvciAtIEJ1dHRvbiBCb3JkZXIgQ29sb3IgLSBEZWZhdWx0IG51bGwgLSBzZWUgYnV0dG9uLXN0eWxlIG1peGluXG4vLyAkdHJhbnNpdGlvbiAtIFdlIGNhbiBjb250cm9sIHdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgdGhlIGJhY2tncm91bmQtY29sb3IgdHJhbnNpdGlvbiBwcm9wZXJ0eSAtIERlZmF1bHQ6dHJ1ZS5cbkBtaXhpbiBidXR0b24oJHBhZGRpbmc6JGJ1dHRvbi1tZWQsICRiZzokYnV0dG9uLWJnLWNvbG9yLCAkcmFkaXVzOmZhbHNlLCAkZnVsbC13aWR0aDpmYWxzZSwgJGRpc2FibGVkOmZhbHNlLCAkaXMtcHJlZml4OmZhbHNlLCAkYmctaG92ZXI6bnVsbCwgJGJvcmRlci1jb2xvcjpudWxsLCAkdHJhbnNpdGlvbjogdHJ1ZSkge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmcsICRmdWxsLXdpZHRoKTtcbiAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZywgJHJhZGl1cywgJGRpc2FibGVkLCAkYmctaG92ZXIsICRib3JkZXItY29sb3IpO1xuXG4gIEBpZiAkdHJhbnNpdGlvbiB7XG4gICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvcik7XG4gIH1cbn1cblxuXG5AaW5jbHVkZSBleHBvcnRzKFwiYnV0dG9uXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXMge1xuXG4gICAgLy8gRGVmYXVsdCBzdHlsZXMgYXBwbGllZCBvdXRzaWRlIG9mIG1lZGlhIHF1ZXJ5XG4gICAgYnV0dG9uLCAuYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXNpemU7XG4gICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGU7XG5cbiAgICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IpO1xuXG4gICAgICAmLnNlY29uZGFyeSB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHNlY29uZGFyeS1idXR0b24tYmctY29sb3IsICRiZy1ob3Zlcjokc2Vjb25kYXJ5LWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAmLnN1Y2Nlc3MgICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHN1Y2Nlc3MtYnV0dG9uLWJnLWNvbG9yLCAkYmctaG92ZXI6JHN1Y2Nlc3MtYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRzdWNjZXNzLWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAmLmFsZXJ0ICAgICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGFsZXJ0LWJ1dHRvbi1iZy1jb2xvciwgJGJnLWhvdmVyOiRhbGVydC1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JGFsZXJ0LWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAmLndhcm5pbmcgICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHdhcm5pbmctYnV0dG9uLWJnLWNvbG9yLCAkYmctaG92ZXI6JHdhcm5pbmctYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiR3YXJuaW5nLWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAmLmluZm8gICAgICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGluZm8tYnV0dG9uLWJnLWNvbG9yLCAkYmctaG92ZXI6JGluZm8tYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRpbmZvLWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG5cbiAgICAgICYubGFyZ2UgIHsgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmc6JGJ1dHRvbi1scmcpOyB9XG4gICAgICAmLnNtYWxsICB7IEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nOiRidXR0b24tc21sKTsgfVxuICAgICAgJi50aW55ICAgeyBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZzokYnV0dG9uLXRueSk7IH1cbiAgICAgICYuZXhwYW5kIHsgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGZ1bGwtd2lkdGg6dHJ1ZSk7IH1cblxuICAgICAgJi5sZWZ0LWFsaWduICB7IHRleHQtYWxpZ246IGxlZnQ7IHRleHQtaW5kZW50OiByZW0tY2FsYygxMik7IH1cbiAgICAgICYucmlnaHQtYWxpZ24geyB0ZXh0LWFsaWduOiByaWdodDsgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTIpOyB9XG5cbiAgICAgICYucmFkaXVzIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzpmYWxzZSwgJHJhZGl1czp0cnVlKTsgfVxuICAgICAgJi5yb3VuZCAgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOmZhbHNlLCAkcmFkaXVzOiRidXR0b24tcm91bmQpOyB9XG5cbiAgICAgICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokYnV0dG9uLWJnLWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiRidXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JGJ1dHRvbi1ib3JkZXItY29sb3IpO1xuICAgICAgICAmLnNlY29uZGFyeSB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHNlY29uZGFyeS1idXR0b24tYmctY29sb3IsICRkaXNhYmxlZDp0cnVlLCAkYmctaG92ZXI6JHNlY29uZGFyeS1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuICAgICAgICAmLnN1Y2Nlc3MgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzdWNjZXNzLWJ1dHRvbi1iZy1jb2xvciwgJGRpc2FibGVkOnRydWUsICRiZy1ob3Zlcjokc3VjY2Vzcy1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JHN1Y2Nlc3MtYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICAgJi5hbGVydCB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGFsZXJ0LWJ1dHRvbi1iZy1jb2xvciwgJGRpc2FibGVkOnRydWUsICRiZy1ob3ZlcjokYWxlcnQtYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRhbGVydC1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuICAgICAgICAmLndhcm5pbmcgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiR3YXJuaW5nLWJ1dHRvbi1iZy1jb2xvciwgJGRpc2FibGVkOnRydWUsICRiZy1ob3Zlcjokd2FybmluZy1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JHdhcm5pbmctYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICAgJi5pbmZvIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokaW5mby1idXR0b24tYmctY29sb3IsICRkaXNhYmxlZDp0cnVlLCAkYmctaG92ZXI6JGluZm8tYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRpbmZvLWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy9maXJlZm94IDJweCBmaXhcbiAgICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIge2JvcmRlcjowOyBwYWRkaW5nOjA7fVxuXG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgYnV0dG9uLCAuYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWJhc2UoJHN0eWxlOmZhbHNlLCAkZGlzcGxheTppbmxpbmUtYmxvY2spO1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZzpmYWxzZSwgJGZ1bGwtd2lkdGg6ZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2J1dHRvbnMnO1xuXG4vL1xuLy8gQnV0dG9uIEdyb3VwIFZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gU2V0cyB0aGUgbWFyZ2luIGZvciB0aGUgcmlnaHQgc2lkZSBieSBkZWZhdWx0LCBhbmQgdGhlIGxlZnQgbWFyZ2luIGlmIHJpZ2h0LXRvLWxlZnQgZGlyZWN0aW9uIGlzIHVzZWRcbiRidXR0b24tYmFyLW1hcmdpbi1vcHBvc2l0ZTogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuJGJ1dHRvbi1ncm91cC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy9cbi8vIEJ1dHRvbiBHcm91cCBNaXhpbnNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIHRvIGFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lclxuQG1peGluIGJ1dHRvbi1ncm91cC1jb250YWluZXIoJHN0eWxlczp0cnVlLCAkZmxvYXQ6ZmFsc2UpIHtcbiAgQGlmICRzdHlsZXMge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gIH1cbiAgQGlmICRmbG9hdCB7XG4gICAgZmxvYXQ6ICN7JGRlZmF1bHQtZmxvYXR9O1xuICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkYnV0dG9uLWJhci1tYXJnaW4tb3Bwb3NpdGU7XG4gICAgJiBkaXYgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBzdHlsZXMgZm9yIGJ1dHRvbiBncm91cHNcbkBtaXhpbiBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czpmYWxzZSwgJGV2ZW46ZmFsc2UsICRmbG9hdDpmYWxzZSwgJG9yaWVudGF0aW9uOmhvcml6b250YWwpIHtcblxuICA+IGJ1dHRvbiwgLmJ1dHRvbiB7XG4gICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9OiAkYnV0dG9uLWdyb3VwLWJvcmRlci13aWR0aCBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjUpO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgYnV0dG9uLCAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICB9XG4gIH1cblxuICAkYnV0dG9uLWdyb3VwLWRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgJGJ1dHRvbi1ncm91cC1tYXJnaW46IDA7XG5cbiAgLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgZmxvdywgb3IgcmVtb3ZlIHRob3NlIHN0eWxlcyBjb21wbGV0ZWx5LlxuICBAaWYgJGZsb2F0IHtcbiAgICAkYnV0dG9uLWdyb3VwLWRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICAkYnV0dG9uLWdyb3VwLW1hcmdpbjogMDtcbiAgICBmbG9hdDogJGZsb2F0O1xuICAgIC8vIE1ha2Ugc3VyZSB0aGUgZmlyc3QgY2hpbGQgZG9lc24ndCBnZXQgdGhlIG5lZ2F0aXZlIG1hcmdpbi5cbiAgICAmOmZpcnN0LWNoaWxkIHsgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwOyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICRidXR0b24tZ3JvdXAtZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICRidXR0b24tZ3JvdXAtbWFyZ2luOiAwIC0ycHg7XG4gIH1cblxuICBAaWYgJG9yaWVudGF0aW9uID09IHZlcnRpY2FsIHtcbiAgICAkYnV0dG9uLWdyb3VwLWRpc3BsYXk6IGJsb2NrO1xuICAgICRidXR0b24tZ3JvdXAtbWFyZ2luOiAwO1xuICAgID4gYnV0dG9uLCAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNSk7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgIGJvcmRlci10b3A6ICRidXR0b24tZ3JvdXAtYm9yZGVyLXdpZHRoIHNvbGlkO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46MDtcbiAgICB9XG4gICAgPiBidXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJ1dHRvbiwgLmJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZGlzcGxheTogJGJ1dHRvbi1ncm91cC1kaXNwbGF5O1xuICBtYXJnaW46ICRidXR0b24tZ3JvdXAtbWFyZ2luO1xuXG5cbiAgLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbGVmdCBhbmQgcmlnaHQgcmFkaXVzIG9uIGZpcnN0L2xhc3QgYnV0dG9ucyBpbiB0aGUgZ3JvdXAuXG4gIEBpZiAkcmFkaXVzID09IHRydWUge1xuICAgICYsXG4gICAgPiBhLFxuICAgID4gYnV0dG9uLFxuICAgID4gLmJ1dHRvbiB7IEBpbmNsdWRlIHJhZGl1cygwKTsgfVxuICAgICY6Zmlyc3QtY2hpbGQsXG4gICAgJjpmaXJzdC1jaGlsZCA+IGEsXG4gICAgJjpmaXJzdC1jaGlsZCA+IGJ1dHRvbixcbiAgICAmOmZpcnN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICBAaWYgJG9yaWVudGF0aW9uID09IHZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXModG9wLCAkYnV0dG9uLXJhZGl1cyk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkYnV0dG9uLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCxcbiAgICAmOmxhc3QtY2hpbGQgPiBhLFxuICAgICY6bGFzdC1jaGlsZCA+IGJ1dHRvbixcbiAgICAmOmxhc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgICAgIEBpZiAkb3JpZW50YXRpb24gPT0gdmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cyhib3R0b20sICRidXR0b24tcmFkaXVzKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcmFkaXVzIHtcbiAgICAmLFxuICAgID4gYSxcbiAgICA+IGJ1dHRvbixcbiAgICA+IC5idXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IH1cbiAgICAmOmZpcnN0LWNoaWxkLFxuICAgICY6Zmlyc3QtY2hpbGQgPiBhLFxuICAgICY6Zmlyc3QtY2hpbGQgPiBidXR0b24sXG4gICAgJjpmaXJzdC1jaGlsZCA+IC5idXR0b24ge1xuICAgICAgQGlmICRvcmllbnRhdGlvbiA9PSB2ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKHRvcCwgJHJhZGl1cyk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkLFxuICAgICY6bGFzdC1jaGlsZCA+IGEsXG4gICAgJjpsYXN0LWNoaWxkID4gYnV0dG9uLFxuICAgICY6bGFzdC1jaGlsZCA+IC5idXR0b24ge1xuICAgICAgQGlmICRvcmllbnRhdGlvbiA9PSB2ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKGJvdHRvbSwgJHJhZGl1cyk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRyYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFdlIHVzZSB0aGlzIHRvIG1ha2UgdGhlIGJ1dHRvbnMgZXZlbiB3aWR0aCBhY3Jvc3MgdGhlaXIgY29udGFpbmVyXG4gIEBpZiAkZXZlbiB7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKDEwMC8kZXZlbikgLyAxMDApO1xuICAgIGJ1dHRvbiwgLmJ1dHRvbiB7IHdpZHRoOiAxMDAlOyB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImJ1dHRvbi1ncm91cFwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzIHtcbiAgICAuYnV0dG9uLWdyb3VwIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWNvbnRhaW5lcjtcblxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCA4IHtcbiAgICAgICAgJi5ldmVuLSN7JGl9IGxpIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRldmVuOiRpLCAkZmxvYXQ6bnVsbCk7IH1cbiAgICAgIH1cblxuICAgICAgPiBsaSB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgpOyB9XG5cbiAgICAgICYuc3RhY2sge1xuICAgICAgICA+IGxpIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRvcmllbnRhdGlvbjp2ZXJ0aWNhbCk7IGZsb2F0OiBub25lOyB9XG4gICAgICB9XG5cbiAgICAgICYuc3RhY2stZm9yLXNtYWxsIHtcbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRvcmllbnRhdGlvbjpob3Jpem9udGFsKTtcbiAgICAgICAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRvcmllbnRhdGlvbjp2ZXJ0aWNhbCk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5yYWRpdXMgPiAqIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6JGJ1dHRvbi1yYWRpdXMsICRmbG9hdDpudWxsKTsgfVxuICAgICAgJi5yYWRpdXMuc3RhY2sgPiAqIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6JGJ1dHRvbi1yYWRpdXMsICRmbG9hdDpudWxsLCAkb3JpZW50YXRpb246dmVydGljYWwpOyB9XG4gICAgICAmLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqIHtcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkcmFkaXVzOiRidXR0b24tcmFkaXVzLCAkb3JpZW50YXRpb246aG9yaXpvbnRhbCk7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czokYnV0dG9uLXJhZGl1cywgJG9yaWVudGF0aW9uOnZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnJvdW5kID4gKiB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkcmFkaXVzOiRidXR0b24tcm91bmQsICRmbG9hdDpudWxsKTsgfVxuICAgICAgJi5yb3VuZC5zdGFjayA+ICogeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czokYnV0dG9uLW1lZCwgJGZsb2F0Om51bGwsICRvcmllbnRhdGlvbjp2ZXJ0aWNhbCk7IH1cbiAgICAgICYucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKiB7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czokYnV0dG9uLXJvdW5kLCAkb3JpZW50YXRpb246aG9yaXpvbnRhbCk7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czokYnV0dG9uLW1lZCwgJG9yaWVudGF0aW9uOnZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24tYmFyIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgLmJ1dHRvbi1ncm91cCB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1jb250YWluZXIoJHN0eWxlczpmYWxzZSwgJGZsb2F0OnRydWUpOyB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtY2xlYXJpbmctY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBiYWNrZ3JvdW5kIGNvbG9ycyBmb3IgcGFydHMgb2YgQ2xlYXJpbmcuXG4kY2xlYXJpbmctYmc6ICRvaWwgIWRlZmF1bHQ7XG4kY2xlYXJpbmctY2FwdGlvbi1iZzogJGNsZWFyaW5nLWJnICFkZWZhdWx0O1xuJGNsZWFyaW5nLWNhcm91c2VsLWJnOiByZ2JhKDUxLDUxLDUxLDAuOCkgIWRlZmF1bHQ7XG4kY2xlYXJpbmctaW1nLWJnOiAkY2xlYXJpbmctYmcgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgY2xvc2UgYnV0dG9uXG4kY2xlYXJpbmctY2xvc2UtY29sb3I6ICRpcm9uICFkZWZhdWx0O1xuJGNsZWFyaW5nLWNsb3NlLXNpemU6IDMwcHggIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgYXJyb3dzXG4kY2xlYXJpbmctYXJyb3ctc2l6ZTogMTJweCAhZGVmYXVsdDtcbiRjbGVhcmluZy1hcnJvdy1jb2xvcjogJGNsZWFyaW5nLWNsb3NlLWNvbG9yICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgY2FwdGlvbnNcbiRjbGVhcmluZy1jYXB0aW9uLWZvbnQtY29sb3I6ICRpcm9uICFkZWZhdWx0O1xuJGNsZWFyaW5nLWNhcHRpb24tZm9udC1zaXplOiAuODc1ZW0gIWRlZmF1bHQ7XG4kY2xlYXJpbmctY2FwdGlvbi1wYWRkaW5nOiAxMHB4IDMwcHggMjBweCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIG1ha2UgdGhlIGltYWdlIGFuZCBjYXJvdXNlbCBoZWlnaHQgYW5kIHN0eWxlXG4kY2xlYXJpbmctYWN0aXZlLWltZy1oZWlnaHQ6IDg1JSAhZGVmYXVsdDtcbiRjbGVhcmluZy1jYXJvdXNlbC1oZWlnaHQ6IDEyMHB4ICFkZWZhdWx0O1xuJGNsZWFyaW5nLWNhcm91c2VsLXRodW1iLXdpZHRoOiAxMjBweCAhZGVmYXVsdDtcbiRjbGVhcmluZy1jYXJvdXNlbC10aHVtYi1hY3RpdmUtYm9yZGVyOiAxcHggc29saWQgcmdiKDI1NSwyNTUsMjU1KSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgZXhwb3J0cyhcImNsZWFyaW5nXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtY2xlYXJpbmctY2xhc3NlcyB7XG4gICAgLy8gV2UgZGVjaWRlZCB0byBub3QgY3JlYXRlIGEgbWl4aW4gZm9yIENsZWFyaW5nIGJlY2F1c2UgaXQgcmVsaWVzXG4gICAgLy8gb24gcHJlZGVmaW5lZCBjbGFzc2VzIGFuZCBzdHJ1Y3R1cmUgdG8gd29yayBwcm9wZXJseS5cbiAgICAvLyBUaGUgdmFyaWFibGVzIGFib3ZlIHNob3VsZCBnaXZlIGVub3VnaCBjb250cm9sLlxuXG4gICAgLyogQ2xlYXJpbmcgU3R5bGVzICovXG4gICAgLmNsZWFyaW5nLXRodW1icywgI3tkYXRhKCdjbGVhcmluZycpfSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICBsaSB7XG4gICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDEwcHg7XG4gICAgICB9XG5cbiAgICAgICZbY2xhc3MqPVwiYmxvY2stZ3JpZC1cIl0gbGkge1xuICAgICAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2xlYXJpbmctYmxhY2tvdXQge1xuICAgICAgYmFja2dyb3VuZDogJGNsZWFyaW5nLWJnO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB6LWluZGV4OiA5OTg7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcblxuICAgICAgLmNsZWFyaW5nLWNsb3NlIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICB9XG5cbiAgICAuY2xlYXJpbmctY29udGFpbmVyIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiA5OTg7XG4gICAgfVxuXG4gICAgLmNsZWFyaW5nLXRvdWNoLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkYmFzZTtcbiAgICAgIGZvbnQtc2l6ZTogLjZlbTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgIH1cblxuICAgIC52aXNpYmxlLWltZyB7XG4gICAgICBoZWlnaHQ6IDk1JTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgaW1nIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogNTAlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgQGlmICRkZWZhdWx0LWZsb2F0ID09IGxlZnQge1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoNTAlKTtcbiAgICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDUwJSk7XG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDUwJSk7XG4gICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoNTAlKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpO1xuICAgICAgICB9O1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNsZWFyaW5nLWNhcHRpb24ge1xuICAgICAgYmFja2dyb3VuZDogJGNsZWFyaW5nLWNhcHRpb24tYmc7XG4gICAgICBib3R0b206IDA7XG4gICAgICBjb2xvcjogJGNsZWFyaW5nLWNhcHRpb24tZm9udC1jb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogJGNsZWFyaW5nLWNhcHRpb24tZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nOiAkY2xlYXJpbmctY2FwdGlvbi1wYWRkaW5nO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICB9XG5cbiAgICAuY2xlYXJpbmctY2xvc2Uge1xuICAgICAgY29sb3I6ICRjbGVhcmluZy1jbG9zZS1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBmb250LXNpemU6ICRjbGVhcmluZy1jbG9zZS1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAyMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICB6LWluZGV4OiA5OTk7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHsgY29sb3I6ICRpcm9uOyB9XG4gICAgfVxuXG4gICAgLmNsZWFyaW5nLWFzc2VtYmxlZCAuY2xlYXJpbmctY29udGFpbmVyIHsgaGVpZ2h0OiAxMDAlO1xuICAgICAgLmNhcm91c2VsID4gdWwgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgfVxuXG4gICAgLy8gSWYgeW91IHdhbnQgdG8gc2hvdyBhIGxpZ2h0Ym94LCBidXQgb25seSBoYXZlIGEgc2luZ2xlIGltYWdlIGNvbWUgdGhyb3VnaCBhcyB0aGUgdGh1bWJuYWlsXG4gICAgLmNsZWFyaW5nLWZlYXR1cmUgbGkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICYuY2xlYXJpbmctZmVhdHVyZWQtaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTGFyZ2Ugc2NyZWVuIG92ZXJyaWRlc1xuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIC5jbGVhcmluZy1tYWluLXByZXYsXG4gICAgICAuY2xlYXJpbmctbWFpbi1uZXh0IHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCAkY2xlYXJpbmctYXJyb3ctc2l6ZTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICY6aG92ZXIgeyBvcGFjaXR5OiAuODsgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY2xlYXJpbmctbWFpbi1wcmV2IHtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDVweDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259LWNvbG9yOiAkY2xlYXJpbmctYXJyb3ctY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jbGVhcmluZy1tYWluLW5leHQge1xuICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LWNvbG9yOiAkY2xlYXJpbmctYXJyb3ctY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNsZWFyaW5nLW1haW4tcHJldi5kaXNhYmxlZCxcbiAgICAgIC5jbGVhcmluZy1tYWluLW5leHQuZGlzYWJsZWQgeyBvcGFjaXR5OiAuMzsgfVxuXG4gICAgICAuY2xlYXJpbmctYXNzZW1ibGVkIC5jbGVhcmluZy1jb250YWluZXIge1xuXG4gICAgICAgIC5jYXJvdXNlbCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNsZWFyaW5nLWNhcm91c2VsLWJnO1xuICAgICAgICAgIGhlaWdodDogJGNsZWFyaW5nLWNhcm91c2VsLWhlaWdodDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgID4gdWwge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgICAgIGN1cnNvcjogJGN1cnNvci1wb2ludGVyLXZhbHVlO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgICAgICAgICAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcbiAgICAgICAgICAgICAgbWluLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgb3BhY2l0eTogLjQ7XG4gICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgd2lkdGg6ICRjbGVhcmluZy1jYXJvdXNlbC10aHVtYi13aWR0aDtcblxuICAgICAgICAgICAgICAmLmZpeC1oZWlnaHQge1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgYS50aCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogJGN1cnNvci1wb2ludGVyLXZhbHVlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICYudmlzaWJsZSB7IG9wYWNpdHk6IDE7IH1cbiAgICAgICAgICAgICAgJjpob3ZlciB7IG9wYWNpdHk6IC44OyB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnZpc2libGUtaW1nIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY2xlYXJpbmctaW1nLWJnO1xuICAgICAgICAgIGhlaWdodDogJGNsZWFyaW5nLWFjdGl2ZS1pbWctaGVpZ2h0O1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNsZWFyaW5nLWNsb3NlIHtcbiAgICAgICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAyMHB4O1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtZHJvcGRvd24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbHMgaGVpZ2h0IGFuZCB3aWR0aCBzdHlsZXMuXG4kZi1kcm9wZG93bi1tYXgtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuJGYtZHJvcGRvd24taGVpZ2h0OiBhdXRvICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tbWF4LWhlaWdodDogbm9uZSAhZGVmYXVsdDtcblxuLy8gVXNlZCBmb3IgYm90dG9tIHBvc2l0aW9uXG4kZi1kcm9wZG93bi1tYXJnaW4tdG9wOiAycHggIWRlZmF1bHQ7XG5cbi8vIFVzZWQgZm9yIHJpZ2h0IHBvc2l0aW9uXG4kZi1kcm9wZG93bi1tYXJnaW4tbGVmdDogJGYtZHJvcGRvd24tbWFyZ2luLXRvcCAhZGVmYXVsdDtcblxuLy8gVXNlZCBmb3IgbGVmdCBwb3NpdGlvblxuJGYtZHJvcGRvd24tbWFyZ2luLXJpZ2h0OiAkZi1kcm9wZG93bi1tYXJnaW4tdG9wICFkZWZhdWx0O1xuXG4vLyBVc2VkIGZvciB0b3AgcG9zaXRpb25cbiRmLWRyb3Bkb3duLW1hcmdpbi1ib3R0b206ICRmLWRyb3Bkb3duLW1hcmdpbi10b3AgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGJhY2tncm91bmQgY29sb3JcbiRmLWRyb3Bkb3duLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgYm9yZGVyIHN0eWxlcyBmb3IgZHJvcGRvd25zLlxuJGYtZHJvcGRvd24tYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0yMCUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIHRyaWFuZ2xlIHBpcC5cbiRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemU6IDZweCAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLXRyaWFuZ2xlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDogMTBweCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgc3R5bGVzIGZvciB0aGUgbGlzdCBlbGVtZW50cy5cbiRmLWRyb3Bkb3duLWxpc3Qtc3R5bGU6IG5vbmUgIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1mb250LWNvbG9yOiAkY2hhcmNvYWwgIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLWxpc3QtcGFkZGluZzogcmVtLWNhbGMoNSwgMTApICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KSAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLWxpc3QtaG92ZXItYmc6ICRzbW9rZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1tb2JpbGUtZGVmYXVsdC1mbG9hdDogMCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgc3R5bGVzIGZvciB3aGVuIHRoZSBkcm9wZG93biBoYXMgY3VzdG9tIGNvbnRlbnQuXG4kZi1kcm9wZG93bi1jb250ZW50LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8gRGVmYXVsdCByYWRpdXMgZm9yIGRyb3Bkb3duLlxuJGYtZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG4vL1xuLy8gTk9URTogTWFrZSBkZWZhdWx0IG1heC13aWR0aCBjaGFuZ2UgYmV0d2VlbiBsaXN0IGFuZCBjb250ZW50IHR5cGVzLiBDYW4gYWRkIG1vcmUgd2lkdGggd2l0aCBjbGFzc2VzLCBtYXliZSAuc21hbGwsIC5tZWRpdW0sIC5sYXJnZSwgZXRjLjtcbi8vIFdlIHVzZSB0aGlzIHRvIHN0eWxlIHRoZSBkcm9wZG93biBjb250YWluZXIgZWxlbWVudC5cbi8vICRjb250ZW50LWxpc3QgLSBTZXRzIGxpc3Qtc3R5bGUuIERlZmF1bHQ6IGxpc3QuIE9wdGlvbnM6IFtsaXN0LCBjb250ZW50XVxuLy8gJHRyaWFuZ2xlIC0gU2V0cyBpZiBkcm9wZG93biBoYXMgdHJpYW5nbGUuIERlZmF1bHQ6dHJ1ZS5cbi8vICRtYXgtd2lkdGggLSBEZWZhdWx0OiAkZi1kcm9wZG93bi1tYXgtd2lkdGggfHwgMjAwcHguXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyKCRjb250ZW50Omxpc3QsICR0cmlhbmdsZTp0cnVlLCAkbWF4LXdpZHRoOiRmLWRyb3Bkb3duLW1heC13aWR0aCkge1xuICBkaXNwbGF5OiBub25lO1xuICBsZWZ0OiAtOTk5OXB4O1xuICBsaXN0LXN0eWxlOiAkZi1kcm9wZG93bi1saXN0LXN0eWxlO1xuICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAmLm9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgPiAqOmZpcnN0LWNoaWxkIHsgbWFyZ2luLXRvcDogMDsgfVxuICA+ICo6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuICBAaWYgJGNvbnRlbnQgPT0gbGlzdCB7XG4gICAgYmFja2dyb3VuZDogJGYtZHJvcGRvd24tYmc7XG4gICAgYm9yZGVyOiAkZi1kcm9wZG93bi1ib3JkZXItc3R5bGUgJGYtZHJvcGRvd24tYm9yZGVyLXdpZHRoICRmLWRyb3Bkb3duLWJvcmRlci1jb2xvcjtcbiAgICBmb250LXNpemU6ICRmLWRyb3Bkb3duLWZvbnQtc2l6ZTtcbiAgICBoZWlnaHQ6ICRmLWRyb3Bkb3duLWhlaWdodDtcbiAgICBtYXgtaGVpZ2h0OiAkZi1kcm9wZG93bi1tYXgtaGVpZ2h0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDg5O1xuICB9XG4gIEBlbHNlIGlmICRjb250ZW50ID09IGNvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICRmLWRyb3Bkb3duLWJnO1xuICAgIGJvcmRlcjogJGYtZHJvcGRvd24tYm9yZGVyLXN0eWxlICRmLWRyb3Bkb3duLWJvcmRlci13aWR0aCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3I7XG4gICAgZm9udC1zaXplOiAkZi1kcm9wZG93bi1mb250LXNpemU7XG4gICAgaGVpZ2h0OiAkZi1kcm9wZG93bi1oZWlnaHQ7XG4gICAgbWF4LWhlaWdodDogJGYtZHJvcGRvd24tbWF4LWhlaWdodDtcbiAgICBwYWRkaW5nOiAkZi1kcm9wZG93bi1jb250ZW50LXBhZGRpbmc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogODk7XG4gIH1cblxuICBAaWYgJHRyaWFuZ2xlID09IGJvdHRvbSB7XG4gICAgbWFyZ2luLXRvcDogJGYtZHJvcGRvd24tbWFyZ2luLXRvcDtcblxuICAgIEBpZiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICE9IDBweCB7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUsICRmLWRyb3Bkb3duLXRyaWFuZ2xlLWNvbG9yLCBib3R0b20pO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICogMik7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDtcbiAgICAgICAgei1pbmRleDogODk7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKyAxLCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3IsIGJvdHRvbSk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtKCgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICsgMSkgKiAyKTtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0IC0gMTtcbiAgICAgICAgei1pbmRleDogODg7XG4gICAgICB9XG5cbiAgICAgICYucmlnaHQ6YmVmb3JlIHtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IGF1dG87XG4gICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0O1xuICAgICAgfVxuICAgICAgJi5yaWdodDphZnRlciB7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvO1xuICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldCAtIDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICR0cmlhbmdsZSA9PSAkZGVmYXVsdC1mbG9hdCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRmLWRyb3Bkb3duLW1hcmdpbi1yaWdodDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplLCAkZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvciwgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufSk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0O1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpO1xuICAgICAgei1pbmRleDogODk7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKyAxLCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3IsICN7JG9wcG9zaXRlLWRpcmVjdGlvbn0pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldCAtIDE7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogLSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICogMikgLSAyO1xuICAgICAgei1pbmRleDogODg7XG4gICAgfVxuXG4gIH1cblxuICBAaWYgJHRyaWFuZ2xlID09ICRvcHBvc2l0ZS1kaXJlY3Rpb24ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAtJGYtZHJvcGRvd24tbWFyZ2luLXJpZ2h0O1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUsICRmLWRyb3Bkb3duLXRyaWFuZ2xlLWNvbG9yLCAjeyRkZWZhdWx0LWZsb2F0fSk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0O1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogLSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICogMik7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogYXV0bztcbiAgICAgIHotaW5kZXg6IDg5O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICsgMSwgJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yLCAjeyRkZWZhdWx0LWZsb2F0fSk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0IC0gMTtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpIC0gMjtcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvO1xuICAgICAgei1pbmRleDogODg7XG4gICAgfVxuXG4gIH1cblxuICBAaWYgJHRyaWFuZ2xlID09IHRvcCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLSRmLWRyb3Bkb3duLW1hcmdpbi1ib3R0b207XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSwgJGYtZHJvcGRvd24tdHJpYW5nbGUtY29sb3IsIHRvcCk7XG4gICAgICBib3R0b206IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0O1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogYXV0bztcbiAgICAgIHotaW5kZXg6IDg5O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICsgMSwgJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yLCB0b3ApO1xuICAgICAgYm90dG9tOiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKSAtIDI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQgLSAxO1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogYXV0bztcbiAgICAgIHotaW5kZXg6IDg4O1xuICAgIH1cblxuICB9XG5cbiAgQGlmICRtYXgtd2lkdGggeyBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7IH1cbiAgQGVsc2UgeyBtYXgtd2lkdGg6ICRmLWRyb3Bkb3duLW1heC13aWR0aDsgfVxuXG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIHN0eWxlIHRoZSBsaXN0IGVsZW1lbnRzIG9yIGNvbnRlbnQgaW5zaWRlIHRoZSBkcm9wZG93bi5cblxuQG1peGluIGRyb3Bkb3duLXN0eWxlIHtcbiAgY3Vyc29yOiAkY3Vyc29yLXBvaW50ZXItdmFsdWU7XG4gIGZvbnQtc2l6ZTogJGYtZHJvcGRvd24tZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGYtZHJvcGRvd24tbGluZS1oZWlnaHQ7XG4gIG1hcmdpbjogMDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHsgYmFja2dyb3VuZDogJGYtZHJvcGRvd24tbGlzdC1ob3Zlci1iZzsgfVxuXG4gIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRmLWRyb3Bkb3duLWxpc3QtcGFkZGluZztcbiAgICBjb2xvcjogJGYtZHJvcGRvd24tZm9udC1jb2xvcjtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwiZHJvcGRvd25cIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1kcm9wZG93bi1jbGFzc2VzIHtcblxuICAgIC8qIEZvdW5kYXRpb24gRHJvcGRvd25zICovXG4gICAgLmYtZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyKGxpc3QsIGJvdHRvbSk7XG5cbiAgICAgICYuZHJvcC0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259IHtcbiAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyKGxpc3QsICN7JGRlZmF1bHQtZmxvYXR9KTtcbiAgICAgIH1cblxuICAgICAgJi5kcm9wLSN7JGRlZmF1bHQtZmxvYXR9IHtcbiAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyKGxpc3QsICN7JG9wcG9zaXRlLWRpcmVjdGlvbn0pO1xuICAgICAgfVxuXG4gICAgICAmLmRyb3AtdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyKGxpc3QsIHRvcCk7XG4gICAgICB9XG4gICAgICAvLyBtYXgtd2lkdGg6IG5vbmU7XG5cbiAgICAgIGxpIHsgQGluY2x1ZGUgZHJvcGRvd24tc3R5bGU7IH1cblxuICAgICAgLy8gWW91IGNhbiBhbHNvIHB1dCBjdXN0b20gY29udGVudCBpbiB0aGVzZSBkcm9wZG93bnNcbiAgICAgICYuY29udGVudCB7IEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcihjb250ZW50LCAkdHJpYW5nbGU6ZmFsc2UpOyB9XG5cbiAgICAgIC8vIFJhZGl1cyBvZiBEcm9wZG93blxuICAgICAgJi5yYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJGYtZHJvcGRvd24tcmFkaXVzKTsgfVxuXG4gICAgICAvLyBTaXplc1xuICAgICAgJi50aW55ICAgIHsgbWF4LXdpZHRoOiAyMDBweDsgfVxuICAgICAgJi5zbWFsbCAgIHsgbWF4LXdpZHRoOiAzMDBweDsgfVxuICAgICAgJi5tZWRpdW0gIHsgbWF4LXdpZHRoOiA1MDBweDsgfVxuICAgICAgJi5sYXJnZSAgIHsgbWF4LXdpZHRoOiA4MDBweDsgfVxuICAgICAgJi5tZWdhICAgIHtcbiAgICAgICAgd2lkdGg6MTAwJSFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDoxMDAlIWltcG9ydGFudDtcblxuICAgICAgICAmLm9wZW57XG4gICAgICAgICAgbGVmdDowIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgY29sb3Igb2YgdGhlIHBpcCBpbiBkcm9wZG93biBidXR0b25zXG4kZHJvcGRvd24tYnV0dG9uLXBpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtY29sb3ItYWx0OiAkb2lsICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBzaXplIG9mIHRoZSBwaXAgaW4gZHJvcGRvd24gYnV0dG9uc1xuJGJ1dHRvbi1waXAtdG55OiByZW0tY2FsYyg2KSAhZGVmYXVsdDtcbiRidXR0b24tcGlwLXNtbDogcmVtLWNhbGMoNykgIWRlZmF1bHQ7XG4kYnV0dG9uLXBpcC1tZWQ6IHJlbS1jYWxjKDkpICFkZWZhdWx0O1xuJGJ1dHRvbi1waXAtbHJnOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aW55IGRyb3Bkb3duIGJ1dHRvbnNcbiRkcm9wZG93bi1idXR0b24tcGFkZGluZy10bnk6ICRidXR0b24tcGlwLXRueSAqIDcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLXRueTogJGJ1dHRvbi1waXAtdG55ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtdG55OiAkYnV0dG9uLXBpcC10bnkgKiAzICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLXRueTogKC0kYnV0dG9uLXBpcC10bnkgLyAyKSArIHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgc21hbGwgZHJvcGRvd24gYnV0dG9uc1xuJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLXNtbDogJGJ1dHRvbi1waXAtc21sICogNyAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtc21sOiAkYnV0dG9uLXBpcC1zbWwgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDMgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC10b3Atc21sOiAoLSRidXR0b24tcGlwLXNtbCAvIDIpICsgcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBtZWRpdW0gZHJvcGRvd24gYnV0dG9uc1xuJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLW1lZDogJGJ1dHRvbi1waXAtbWVkICogNiArIHJlbS1jYWxjKDMpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1tZWQ6ICRidXR0b24tcGlwLW1lZCAtIHJlbS1jYWxjKDMpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiAyLjUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtbWVkOiAoLSRidXR0b24tcGlwLW1lZCAvIDIpICsgcmVtLWNhbGMoMikgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBsYXJnZSBkcm9wZG93biBidXR0b25zXG4kZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctbHJnOiAkYnV0dG9uLXBpcC1scmcgKiA1ICsgcmVtLWNhbGMoMykgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLWxyZzogJGJ1dHRvbi1waXAtbHJnIC0gcmVtLWNhbGMoNikgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS1scmc6ICRidXR0b24tcGlwLWxyZyAqIDIuNSAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1scmc6ICgtJGJ1dHRvbi1waXAtbHJnIC8gMikgKyByZW0tY2FsYygzKSAhZGVmYXVsdDtcblxuLy8gQG1peGluc1xuLy9cbi8vIERyb3Bkb3duIEJ1dHRvbiBNaXhpblxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGJ1aWxkIG9mZiBvZiB0aGUgYnV0dG9uIG1peGluIGFuZCBhZGQgZHJvcGRvd24gYnV0dG9uIHN0eWxlc1xuLy9cbi8vICRwYWRkaW5nIC0gRGV0ZXJtaW5lcyB0aGUgc2l6ZSBvZiBidXR0b24geW91J3JlIHdvcmtpbmcgd2l0aC4gRGVmYXVsdDogbWVkaXVtLiBPcHRpb25zIFt0aW55LCBzbWFsbCwgbWVkaXVtLCBsYXJnZV1cbi8vICRwaXAtY29sb3IgLSBDb2xvciBvZiB0aGUgbGl0dGxlIHRyaWFuZ2xlIHRoYXQgcG9pbnRzIHRvIHRoZSBkcm9wZG93bi4gRGVmYXVsdDogJHdoaXRlLlxuLy8gJGJhc2Utc3R5bGUgLSBBZGQgaW4gYmFzZS1zdHlsZXMuIFRoaXMgY2FuIGJlIHNldCB0byBmYWxzZS4gRGVmYXVsdDp0cnVlXG5cbkBtaXhpbiBkcm9wZG93bi1idXR0b24oJHBhZGRpbmc6bWVkaXVtLCAkcGlwLWNvbG9yOiRkcm9wZG93bi1idXR0b24tcGlwLWNvbG9yLCAkYmFzZS1zdHlsZTp0cnVlKSB7XG5cbiAgLy8gV2UgYWRkIGluIGJhc2Ugc3R5bGVzLCBidXQgdGhleSBjYW4gYmUgbmVnYXRlZCBieSBzZXR0aW5nIHRvICdmYWxzZScuXG4gIEBpZiAkYmFzZS1zdHlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLy8gVGhpcyBjcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgdGhlIHRyaWFuZ2xlIHBpcFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGRyb3Bkb3duLWJ1dHRvbi1waXAtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB3aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBJZiB3ZSdyZSBkZWFsaW5nIHdpdGggdGlueSBidXR0b25zLCB1c2UgdGhlc2Ugc3R5bGVzXG4gIEBpZiAkcGFkZGluZyA9PSB0aW55IHtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGFkZGluZy10bnk7XG4gICAgJjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6ICRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtdG55O1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtdG55O1xuICAgICAgbWFyZ2luLXRvcDogJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLXRueTtcbiAgICB9XG4gIH1cblxuICAvLyBJZiB3ZSdyZSBkZWFsaW5nIHdpdGggc21hbGwgYnV0dG9ucywgdXNlIHRoZXNlIHN0eWxlc1xuICBAaWYgJHBhZGRpbmcgPT0gc21hbGwge1xuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLXNtbDtcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6ICRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtc21sO1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtc21sO1xuICAgICAgbWFyZ2luLXRvcDogJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLXNtbDtcbiAgICB9XG4gIH1cblxuICAvLyBJZiB3ZSdyZSBkZWFsaW5nIHdpdGggZGVmYXVsdCAobWVkaXVtKSBidXR0b25zLCB1c2UgdGhlc2Ugc3R5bGVzXG4gIEBpZiAkcGFkZGluZyA9PSBtZWRpdW0ge1xuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLW1lZDtcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6ICRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtbWVkO1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtbWVkO1xuICAgICAgbWFyZ2luLXRvcDogJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLW1lZDtcbiAgICB9XG4gIH1cblxuICAvLyBJZiB3ZSdyZSBkZWFsaW5nIHdpdGggbGFyZ2UgYnV0dG9ucywgdXNlIHRoZXNlIHN0eWxlc1xuICBAaWYgJHBhZGRpbmcgPT0gbGFyZ2Uge1xuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLWxyZztcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6ICRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtbHJnO1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtbHJnO1xuICAgICAgbWFyZ2luLXRvcDogJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLWxyZztcbiAgICB9XG4gIH1cblxuICAvLyBXZSBjYW4gY29udHJvbCB0aGUgcGlwIGNvbG9yLiBXZSBkaWRuJ3QgdXNlIGxvZ2ljIGluIHRoaXMgY2FzZSwganVzdCBzZXQgaXQgYW5kIGZvcmdldCBpdC5cbiAgQGlmICRwaXAtY29sb3Ige1xuICAgICY6OmFmdGVyIHsgYm9yZGVyLWNvbG9yOiAkcGlwLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImRyb3Bkb3duLWJ1dHRvblwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzIHtcbiAgICAuZHJvcGRvd24uYnV0dG9uLCBidXR0b24uZHJvcGRvd24geyBAaW5jbHVkZSBkcm9wZG93bi1idXR0b247XG4gICAgICAmLnRpbnkgeyBAaW5jbHVkZSBkcm9wZG93bi1idXR0b24odGlueSwgJGJhc2Utc3R5bGU6ZmFsc2UpOyB9XG4gICAgICAmLnNtYWxsIHsgQGluY2x1ZGUgZHJvcGRvd24tYnV0dG9uKHNtYWxsLCAkYmFzZS1zdHlsZTpmYWxzZSk7IH1cbiAgICAgICYubGFyZ2UgeyBAaW5jbHVkZSBkcm9wZG93bi1idXR0b24obGFyZ2UsICRiYXNlLXN0eWxlOmZhbHNlKTsgfVxuICAgICAgJi5zZWNvbmRhcnk6YWZ0ZXIgeyBib3JkZXItY29sb3I6ICRkcm9wZG93bi1idXR0b24tcGlwLWNvbG9yLWFsdCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLW1lZGlhLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdmlkZW8gY29udGFpbmVyIHBhZGRpbmcgYW5kIG1hcmdpbnNcbiRmbGV4LXZpZGVvLXBhZGRpbmctdG9wOiByZW0tY2FsYygyNSkgIWRlZmF1bHQ7XG4kZmxleC12aWRlby1wYWRkaW5nLWJvdHRvbTogNjcuNSUgIWRlZmF1bHQ7XG4kZmxleC12aWRlby1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgd2lkZXNjcmVlbiBib3R0b20gcGFkZGluZ1xuJGZsZXgtdmlkZW8td2lkZXNjcmVlbi1wYWRkaW5nLWJvdHRvbTogNTYuMzQlICFkZWZhdWx0O1xuXG4vL1xuLy8gQG1peGluc1xuLy9cblxuQG1peGluIGZsZXgtdmlkZW8tY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkZmxleC12aWRlby1tYXJnaW4tYm90dG9tO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLWJvdHRvbTogJGZsZXgtdmlkZW8tcGFkZGluZy1ib3R0b207XG4gIHBhZGRpbmctdG9wOiAkZmxleC12aWRlby1wYWRkaW5nLXRvcDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICYud2lkZXNjcmVlbiB7IHBhZGRpbmctYm90dG9tOiAkZmxleC12aWRlby13aWRlc2NyZWVuLXBhZGRpbmctYm90dG9tOyB9XG4gICYudmltZW8geyBwYWRkaW5nLXRvcDogMDsgfVxuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJmbGV4LXZpZGVvXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlcyB7XG4gICAgLmZsZXgtdmlkZW8geyBAaW5jbHVkZSBmbGV4LXZpZGVvLWNvbnRhaW5lcjsgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnYnV0dG9ucyc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1mb3JtLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBiYXNlIGZvciBsb3RzIG9mIGZvcm0gc3BhY2luZyBhbmQgcG9zaXRpb25pbmcgc3R5bGVzXG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgbGFiZWxzIGluIGRpZmZlcmVudCB3YXlzXG4kZm9ybS1sYWJlbC1wb2ludGVyOiBwb2ludGVyICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkYmxhY2ssICRsaWdodG5lc3M6IDMwJSkgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1zbWFsbC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1ib3R0b20tbWFyZ2luOiAwICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtY29sb3I6IHJnYmEoMCwwLDAsMC43NSkgIWRlZmF1bHQ7XG4kaW5wdXQtcGxhY2Vob2xkZXItZm9udC1jb2xvcjogJHN0ZWVsICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJGlucHV0LWJnLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYmctY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTIlKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTIwJSkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC00MCUpICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtY3Vyc29yOiAkY3Vyc29yLWRlZmF1bHQtdmFsdWUgIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsMC4xKSAhZGVmYXVsdDtcbiRpbnB1dC1pbmNsdWRlLWdsb3dpbmctZWZmZWN0OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBmaWVsZHNldCBib3JkZXIgYW5kIHNwYWNpbmcuXG4kZmllbGRzZXQtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRmaWVsZHNldC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRmaWVsZHNldC1ib3JkZXItY29sb3I6ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgbGVnZW5kcyB3aGVuIHlvdSB1c2UgdGhlbVxuJGxlZ2VuZC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgcHJlZml4IGFuZCBwb3N0Zml4IGlucHV0IGVsZW1lbnRzXG4kaW5wdXQtcHJlZml4LWJnOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC01JSkgIWRlZmF1bHQ7XG4kaW5wdXQtcHJlZml4LWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMjAlKSAhZGVmYXVsdDtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyLXR5cGU6IHNvbGlkICFkZWZhdWx0O1xuJGlucHV0LXByZWZpeC1vdmVyZmxvdzogdmlzaWJsZSAhZGVmYXVsdDtcbiRpbnB1dC1wcmVmaXgtZm9udC1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiRpbnB1dC1wcmVmaXgtZm9udC1jb2xvci1hbHQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgc2V0dGluZyB0byB0dXJuIG9uL29mZiBIVE1MNSBudW1iZXIgc3Bpbm5lcnMgKHRoZSB1cC9kb3duIGFycm93cylcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgZXJyb3Igc3RhdGVzIGZvciBpbnB1dHMgYW5kIGxhYmVsc1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtcGFkZGluZzogcmVtLWNhbGMoNiA5IDkpICFkZWZhdWx0O1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtdG9wOiAtMXB4ICFkZWZhdWx0O1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcbiRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRpbnB1dC1lcnJvci1tZXNzYWdlLWJnLWNvbG9yOiAkYWxlcnQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LWNvbG9yLWFsdDogJG9pbCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc3R5bGUgdGhlIGdsb3dpbmcgZWZmZWN0IG9mIGlucHV0cyB3aGVuIGZvY3VzZWRcbiRnbG93aW5nLWVmZmVjdC1mYWRlLXRpbWU6IC40NXMgIWRlZmF1bHQ7XG4kZ2xvd2luZy1lZmZlY3QtY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHN0eWxlIHRoZSB0cmFuc2l0aW9uIHdoZW4gaW5wdXRzIGFyZSBmb2N1c2VkIGFuZCB3aGVuIHRoZSBnbG93aW5nIGVmZmVjdCBpcyBkaXNhYmxlZC5cbiRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZTogMC4xNXMgIWRlZmF1bHQ7XG4kaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFkZWZhdWx0O1xuXG4vLyBTZWxlY3QgdmFyaWFibGVzXG4kc2VsZWN0LWJnLWNvbG9yOiAkZ2hvc3QgIWRlZmF1bHQ7XG4kc2VsZWN0LWhvdmVyLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkc2VsZWN0LWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtMyUpICFkZWZhdWx0O1xuXG4vL1xuLy8gQE1JWElOU1xuLy9cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gZ2l2ZSB1cyBmb3JtIHN0eWxlcyBmb3Igcm93cyBpbnNpZGUgb2YgZm9ybXNcbkBtaXhpbiBmb3JtLXJvdy1iYXNlIHtcbiAgLnJvdyB7IG1hcmdpbjogMCAoKC0kZm9ybS1zcGFjaW5nKSAvIDIpO1xuXG4gICAgLmNvbHVtbixcbiAgICAuY29sdW1ucyB7IHBhZGRpbmc6IDAgKCRmb3JtLXNwYWNpbmcgLyAyKTsgfVxuXG4gICAgLy8gVXNlIHRoaXMgdG8gY29sbGFwc2UgdGhlIG1hcmdpbnMgb2YgYSBmb3JtIHJvd1xuICAgICYuY29sbGFwc2UgeyBtYXJnaW46IDA7XG5cbiAgICAgIC5jb2x1bW4sXG4gICAgICAuY29sdW1ucyB7IHBhZGRpbmc6IDA7IH1cbiAgICAgIGlucHV0IHtcbiAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgMCk7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cbiAgaW5wdXQuY29sdW1uLFxuICBpbnB1dC5jb2x1bW5zLFxuICB0ZXh0YXJlYS5jb2x1bW4sXG4gIHRleHRhcmVhLmNvbHVtbnMgeyBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAoJGZvcm0tc3BhY2luZyAvIDIpOyB9XG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGdpdmUgYWxsIGJhc2ljIGZvcm0gZWxlbWVudHMgdGhlaXIgc3R5bGVcbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmctY29sb3I7XG4gIGJvcmRlcjoge1xuICAgIHN0eWxlOiAkaW5wdXQtYm9yZGVyLXN0eWxlO1xuICAgIHdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoO1xuICAgIGNvbG9yOiAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuICB9XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93O1xuICBjb2xvcjogJGlucHV0LWZvbnQtY29sb3I7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmcgMDtcbiAgcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XG4gIHdpZHRoOiAxMDAlO1xuICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuICBAaWYgJGlucHV0LWluY2x1ZGUtZ2xvd2luZy1lZmZlY3Qge1xuICAgIEBpbmNsdWRlIGJsb2NrLWdsb3dpbmctZWZmZWN0KGZvY3VzLCAkZ2xvd2luZy1lZmZlY3QtZmFkZS10aW1lLCAkZ2xvd2luZy1lZmZlY3QtY29sb3IpO1xuICB9XG4gIC8vIEJhc2ljIGZvY3VzIHN0eWxlc1xuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtZm9jdXMtYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbiAgLy8gRGlzYWJsZWQgU3R5bGVzXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICBjdXJzb3I6ICRpbnB1dC1kaXNhYmxlZC1jdXJzb3I7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBiYWNrZ3JvdW5kIGlucHV0IGJhY2tncm91bmQgY29sb3JcbiAgJltkaXNhYmxlZF0sXG4gICZbcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIGN1cnNvcjogJGlucHV0LWRpc2FibGVkLWN1cnNvcjtcbiAgfVxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgZm9ybSBsYWJlbHNcbi8vXG4vLyAkYWxpZ25tZW50IC0gQWxpZ25tZW50IG9wdGlvbnMuIERlZmF1bHQ6IGZhbHNlLiBPcHRpb25zOiBbcmlnaHQsIGlubGluZSwgZmFsc2VdXG4vLyAkYmFzZS1zdHlsZSAtIENvbnRyb2wgd2hldGhlciBvciBub3QgdGhlIGJhc2Ugc3R5bGVzIGNvbWUgdGhyb3VnaC4gRGVmYXVsdDogdHJ1ZS5cbkBtaXhpbiBmb3JtLWxhYmVsKCRhbGlnbm1lbnQ6ZmFsc2UsICRiYXNlLXN0eWxlOnRydWUpIHtcblxuICAvLyBDb250cm9sIHdoZXRoZXIgb3Igbm90IHRoZSBiYXNlIHN0eWxlcyBjb21lIHRocm91Z2guXG4gIEBpZiAkYmFzZS1zdHlsZSB7XG4gICAgY29sb3I6ICRmb3JtLWxhYmVsLWZvbnQtY29sb3I7XG4gICAgY3Vyc29yOiAkZm9ybS1sYWJlbC1wb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tbGFiZWwtYm90dG9tLW1hcmdpbjtcbiAgfVxuXG4gIC8vIEFsaWdubWVudCBvcHRpb25zXG4gIEBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gaW5saW5lIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nIDA7XG4gICAgcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSAwO1xuICB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBwb3N0Zml4L3ByZWZpeCBmb3JtIExhYmVsc1xuQG1peGluIHByZWZpeC1wb3N0Zml4LWJhc2Uge1xuICBib3JkZXItc3R5bGU6ICRpbnB1dC1wcmVmaXgtYm9yZGVyLXR5cGU7XG4gIGJvcmRlci13aWR0aDogJGlucHV0LXByZWZpeC1ib3JkZXItc2l6ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuICBsaW5lLWhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG4gIG92ZXJmbG93OiAkaW5wdXQtcHJlZml4LW92ZXJmbG93O1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMjtcbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHByZWZpeCBsYWJlbCBzdHlsZXNcbi8vICRiZyAtIERlZmF1bHQ6JGlucHV0LXByZWZpeC1iZyB8fCBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC01JSkgIWRlZmF1bHQ7XG4vLyAkaXMtYnV0dG9uIC0gVG9nZ2xlIHBvc2l0aW9uIHNldHRpbmdzIGlmIHByZWZpeCBpcyBhIGJ1dHRvbi4gRGVmYXVsdDpmYWxzZVxuLy9cbkBtaXhpbiBwcmVmaXgoJGJnOiRpbnB1dC1wcmVmaXgtYmcsICRib3JkZXI6JGlucHV0LXByZWZpeC1ib3JkZXItY29sb3IsICRpcy1idXR0b246ZmFsc2UpIHtcblxuICBAaWYgJGJnIHtcbiAgICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcbiAgICBiYWNrZ3JvdW5kOiAkYmc7XG4gICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IG5vbmU7XG5cbiAgICAvLyBDb250cm9sIHRoZSBmb250IGNvbG9yIGJhc2VkIG9uIGJhY2tncm91bmQgYnJpZ2h0bmVzc1xuICAgIEBpZiAkYmctbGlnaHRuZXNzID4gNzAlIG9yICRiZyA9PSB5ZWxsb3cgeyBjb2xvcjogJGlucHV0LXByZWZpeC1mb250LWNvbG9yOyB9XG4gICAgQGVsc2UgeyBjb2xvcjogJGlucHV0LXByZWZpeC1mb250LWNvbG9yLWFsdDsgfVxuICB9XG5cbiAgQGlmICRib3JkZXIge1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgfVxuXG4gIEBpZiAkaXMtYnV0dG9uIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHBvc3RmaXggbGFiZWwgc3R5bGVzXG4vLyAkYmcgLSBEZWZhdWx0OiRpbnB1dC1wcmVmaXgtYmcgfHwgc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0O1xuLy8gJGlzLWJ1dHRvbiAtIFRvZ2dsZSBwb3NpdGlvbiBzZXR0aW5ncyBpZiBwcmVmaXggaXMgYSBidXR0b24uIERlZmF1bHQ6IGZhbHNlXG5AbWl4aW4gcG9zdGZpeCgkYmc6JGlucHV0LXByZWZpeC1iZywgJGJvcmRlci1sZWZ0LWhpZGRlbjp0cnVlLCAkYm9yZGVyOiRpbnB1dC1wcmVmaXgtYm9yZGVyLWNvbG9yLCAkaXMtYnV0dG9uOmZhbHNlKSB7XG5cbiAgQGlmICRiZyB7XG4gICAgJGJnLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZyk7XG4gICAgYmFja2dyb3VuZDogJGJnO1xuICAgIEBpZiAkYm9yZGVyLWxlZnQtaGlkZGVuIHtcbiAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBDb250cm9sIHRoZSBmb250IGNvbG9yIGJhc2VkIG9uIGJhY2tncm91bmQgYnJpZ2h0bmVzc1xuICAgIEBpZiAkYmctbGlnaHRuZXNzID4gNzAlICBvciAkYmcgPT0geWVsbG93IHsgY29sb3I6ICRpbnB1dC1wcmVmaXgtZm9udC1jb2xvcjsgfVxuICAgIEBlbHNlIHsgY29sb3I6ICRpbnB1dC1wcmVmaXgtZm9udC1jb2xvci1hbHQ7IH1cbiAgfVxuXG4gIEBpZiAkYm9yZGVyIHtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIH1cblxuICBAaWYgJGlzLWJ1dHRvbiB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIHN0eWxlIGZpZWxkc2V0c1xuQG1peGluIGZpZWxkc2V0IHtcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyLXdpZHRoICRmaWVsZHNldC1ib3JkZXItc3R5bGUgJGZpZWxkc2V0LWJvcmRlci1jb2xvcjtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcblxuICAvLyBhbmQgbGVnZW5kIHN0eWxlc1xuICBsZWdlbmQge1xuICAgIGZvbnQtd2VpZ2h0OiAkbGVnZW5kLWZvbnQtd2VpZ2h0O1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gIH1cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY29udHJvbCBib3JkZXIgYW5kIGJhY2tncm91bmQgY29sb3Igb2YgZXJyb3IgaW5wdXRzXG4vLyAkY29sb3IgLSBEZWZhdWx0OiAkYWxlcnQtY29sb3IgKGZvdW5kIGluIHNldHRpbmdzIGZpbGUpXG5AbWl4aW4gZm9ybS1lcnJvci1jb2xvcigkY29sb3I6JGFsZXJ0LWNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLCAuMSk7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gIC8vIEdvIGJhY2sgdG8gbm9ybWFsIG9uIGZvY3VzXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1mb2N1cy1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgc2ltcGxlIG1peGluIHRvIHN0eWxlIGxhYmVscyBmb3IgZXJyb3IgaW5wdXRzXG4vLyAkY29sb3IgLSBEZWZhdWx0OiRhbGVydC1jb2xvci4gRm91bmQgaW4gc2V0dGluZ3MgZmlsZVxuQG1peGluIGZvcm0tbGFiZWwtZXJyb3ItY29sb3IoJGNvbG9yOiRhbGVydC1jb2xvcikgeyBjb2xvcjogJGNvbG9yOyB9XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBlcnJvciBtZXNzYWdlIHN0eWxlc1xuLy8gJGJnIC0gRGVmYXVsdDogJGFsZXJ0LWNvbG9yIChGb3VuZCBpbiBzZXR0aW5ncyBmaWxlKVxuQG1peGluIGZvcm0tZXJyb3ItbWVzc2FnZSgkYmc6JGlucHV0LWVycm9yLW1lc3NhZ2UtYmctY29sb3IpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1zaXplO1xuICBmb250LXN0eWxlOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXN0eWxlO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC13ZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG4gIG1hcmdpbi10b3A6ICRpbnB1dC1lcnJvci1tZXNzYWdlLXRvcDtcbiAgcGFkZGluZzogJGlucHV0LWVycm9yLW1lc3NhZ2UtcGFkZGluZztcblxuICAvLyBXZSBjYW4gY29udHJvbCB0aGUgdGV4dCBjb2xvciBiYXNlZCBvbiB0aGUgYnJpZ2h0bmVzcyBvZiB0aGUgYmFja2dyb3VuZC5cbiAgJGJnLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZyk7XG4gIGJhY2tncm91bmQ6ICRiZztcbiAgQGlmICRiZy1saWdodG5lc3MgPCA3MCUgb3IgJGJnID09IHllbGxvdyB7IGNvbG9yOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LWNvbG9yOyB9XG4gIEBlbHNlIHsgY29sb3I6ICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtY29sb3ItYWx0OyB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIHN0eWxlIHNlbGVjdCBlbGVtZW50c1xuQG1peGluIGZvcm0tc2VsZWN0ICB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50O1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iZy1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogMDtcblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gVGhlIGN1c3RvbSBhcnJvdyBoYXMgc29tZSBmYWtlIGhvcml6b250YWwgcGFkZGluZyBzbyB3ZSBjYW4gYWxpZ24gaXRcbiAgLy8gZnJvbSB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgZWxlbWVudCB3aXRob3V0IHJlbHlpbmcgb24gQ1NTM1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWmxjbk5wYjI0OUlqRXVNU0lnZUQwaU1USndlQ0lnZVQwaU1IQjRJaUIzYVdSMGFEMGlNalJ3ZUNJZ2FHVnBaMmgwUFNJemNIZ2lJSFpwWlhkQ2IzZzlJakFnTUNBMklETWlJR1Z1WVdKc1pTMWlZV05yWjNKdmRXNWtQU0p1WlhjZ01DQXdJRFlnTXlJZ2VHMXNPbk53WVdObFBTSndjbVZ6WlhKMlpTSStQSEJ2YkhsbmIyNGdjRzlwYm5SelBTSTFMams1TWl3d0lESXVPVGt5TERNZ0xUQXVNREE0TERBZ0lpOCtQQzl6ZG1jKycpO1xuXG4gIC8vIFdlIGNhbiBzYWZlbHkgdXNlIGxlZnRtb3N0IGFuZCByaWdodG1vc3Qgbm93XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSAncnRsJywgMCUsIDEwMCUpIGNlbnRlcjtcblxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBib3JkZXI6IHtcbiAgICBzdHlsZTogJGlucHV0LWJvcmRlci1zdHlsZTtcbiAgICB3aWR0aDogJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICBjb2xvcjogJGlucHV0LWJvcmRlci1jb2xvcjtcbiAgfVxuICBjb2xvcjogJGlucHV0LWZvbnQtY29sb3I7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyKTtcbiAgQGluY2x1ZGUgcmFkaXVzKDApO1xuICAmLnJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygkZ2xvYmFsLXJhZGl1cyk7IH1cbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1ob3Zlci1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cbiAgLy8gRGlzYWJsZWQgU3R5bGVzXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICBjdXJzb3I6ICRpbnB1dC1kaXNhYmxlZC1jdXJzb3I7XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gdHVybiBvbi9vZmYgSFRNTDUgbnVtYmVyIHNwaW5uZXJzXG5AbWl4aW4gaHRtbDVudW1iZXIoJGJyb3dzZXIsICRvbjogdHJ1ZSkge1xuICBAaWYgJG9uID09IGZhbHNlIHtcbiAgICAgIEBpZiAkYnJvd3NlciA9PSB3ZWJraXQge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH0gQGVsc2UgaWYgJGJyb3dzZXIgPT0gbW96IHtcbiAgICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImZvcm1cIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1mb3JtLWNsYXNzZXMge1xuICAgIC8qIFN0YW5kYXJkIEZvcm1zICovXG4gICAgZm9ybSB7IG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7IH1cblxuICAgIC8qIFVzaW5nIGZvcm1zIHdpdGhpbiByb3dzLCB3ZSBuZWVkIHRvIHNldCBzb21lIGRlZmF1bHRzICovXG4gICAgZm9ybSAucm93IHsgQGluY2x1ZGUgZm9ybS1yb3ctYmFzZTsgfVxuXG4gICAgLyogTGFiZWwgU3R5bGVzICovXG4gICAgbGFiZWwgeyBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuICAgICAgJi5yaWdodCB7IEBpbmNsdWRlIGZvcm0tbGFiZWwocmlnaHQsIGZhbHNlKTsgfVxuICAgICAgJi5pbmxpbmUgeyBAaW5jbHVkZSBmb3JtLWxhYmVsKGlubGluZSwgZmFsc2UpOyB9XG4gICAgICAvKiBTdHlsZXMgZm9yIHJlcXVpcmVkIGlucHV0cyAqL1xuICAgICAgc21hbGwge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvcm0tbGFiZWwtc21hbGwtdHJhbnNmb3JtO1xuICAgICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGZvcm0tbGFiZWwtZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMTUlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBBdHRhY2ggZWxlbWVudHMgdG8gdGhlIGJlZ2lubmluZyBvciBlbmQgb2YgYW4gaW5wdXQgKi9cbiAgICAucHJlZml4LFxuICAgIC5wb3N0Zml4IHsgQGluY2x1ZGUgcHJlZml4LXBvc3RmaXgtYmFzZTsgfVxuXG4gICAgLyogQWRqdXN0IHBhZGRpbmcsIGFsaWdubWVudCBhbmQgcmFkaXVzIGlmIHByZS9wb3N0IGVsZW1lbnQgaXMgYSBidXR0b24gKi9cbiAgICAucG9zdGZpeC5idXR0b24geyBAaW5jbHVkZSBidXR0b24tc2l6ZShmYWxzZSwgZmFsc2UpOyBAaW5jbHVkZSBwb3N0Zml4KGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUpOyB9XG4gICAgLnByZWZpeC5idXR0b24geyBAaW5jbHVkZSBidXR0b24tc2l6ZShmYWxzZSwgZmFsc2UpOyBAaW5jbHVkZSBwcmVmaXgoZmFsc2UsIGZhbHNlLCB0cnVlKTsgfVxuXG4gICAgLnByZWZpeC5idXR0b24ucmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yYWRpdXMpOyB9XG4gICAgLnBvc3RmaXguYnV0dG9uLnJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yYWRpdXMpOyB9XG4gICAgLnByZWZpeC5idXR0b24ucm91bmQgeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkYnV0dG9uLXJvdW5kKTsgfVxuICAgIC5wb3N0Zml4LmJ1dHRvbi5yb3VuZCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yb3VuZCk7IH1cblxuICAgIC8qIFNlcGFyYXRlIHByZWZpeCBhbmQgcG9zdGZpeCBzdHlsZXMgd2hlbiBvbiBzcGFuIG9yIGxhYmVsIHNvIGJ1dHRvbnMga2VlcCB0aGVpciBvd24gKi9cbiAgICBzcGFuLnByZWZpeCwgbGFiZWwucHJlZml4IHsgQGluY2x1ZGUgcHJlZml4KCk7IH1cbiAgICBzcGFuLnBvc3RmaXgsIGxhYmVsLnBvc3RmaXggeyBAaW5jbHVkZSBwb3N0Zml4KCk7IH1cblxuICAgIC8qIFdlIHVzZSB0aGlzIHRvIGdldCBiYXNpYyBzdHlsaW5nIG9uIGFsbCBiYXNpYyBmb3JtIGVsZW1lbnRzICovXG4gICAgaW5wdXQ6bm90KFt0eXBlXSksICN7dGV4dC1pbnB1dHMoYWxsLCAnaW5wdXQnKX0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICAgIEBpZiAkaW5wdXQtaW5jbHVkZS1nbG93aW5nLWVmZmVjdCA9PSBmYWxzZSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbiwgYmFja2dyb3VuZCAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb247XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbiwgYmFja2dyb3VuZCAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb247XG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uLCBiYWNrZ3JvdW5kICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgLW8tdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbiwgYmFja2dyb3VuZCAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb247XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb24sIGJhY2tncm91bmQgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgfVxuICAgICAgJi5yYWRpdXMge1xuICAgICAgICBAaW5jbHVkZSByYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvcm0ge1xuICAgICAgLnJvdyB7XG4gICAgICAgIC5wcmVmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSB7XG4gICAgICAgICAgaW5wdXQsXG4gICAgICAgICAgdGV4dGFyZWEsXG4gICAgICAgICAgc2VsZWN0LFxuICAgICAgICAgIGJ1dHRvbiB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yYWRpdXMpOyB9XG4gICAgICAgICAgLnByZWZpeCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRidXR0b24tcmFkaXVzKTsgfVxuICAgICAgICB9XG4gICAgICAgIC5wb3N0Zml4LXJhZGl1cy5yb3cuY29sbGFwc2Uge1xuICAgICAgICAgIGlucHV0LFxuICAgICAgICAgIHRleHRhcmVhLFxuICAgICAgICAgIHNlbGVjdCxcbiAgICAgICAgICBidXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkYnV0dG9uLXJhZGl1cyk7IH1cbiAgICAgICAgICAucG9zdGZpeCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yYWRpdXMpOyB9XG4gICAgICAgIH1cbiAgICAgICAgLnByZWZpeC1yb3VuZC5yb3cuY29sbGFwc2Uge1xuICAgICAgICAgIGlucHV0LFxuICAgICAgICAgIHRleHRhcmVhLFxuICAgICAgICAgIHNlbGVjdCxcbiAgICAgICAgICBidXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcm91bmQpOyB9XG4gICAgICAgICAgLnByZWZpeCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRidXR0b24tcm91bmQpOyB9XG4gICAgICAgIH1cbiAgICAgICAgLnBvc3RmaXgtcm91bmQucm93LmNvbGxhcHNlIHtcbiAgICAgICAgICBpbnB1dCxcbiAgICAgICAgICB0ZXh0YXJlYSxcbiAgICAgICAgICBzZWxlY3QsXG4gICAgICAgICAgYnV0dG9uIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yb3VuZCk7IH1cbiAgICAgICAgICAucG9zdGZpeCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yb3VuZCk7IH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAvKiBSZXNwZWN0IGVuZm9yY2VkIGFtb3VudCBvZiByb3dzIGZvciB0ZXh0YXJlYSAqL1xuICAgIHRleHRhcmVhW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAvKiBOb3QgYWxsb3cgcmVzaXplIG91dCBvZiBwYXJlbnQgKi9cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gc3R5bGUgcGxhY2Vob2xkZXIgdGV4dCBjcm9zcyBicm93c2VyXG4gICAgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItZm9udC1jb2xvcjtcbiAgICB9XG5cbiAgICA6LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTgtICovXG4gICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1mb250LWNvbG9yO1xuICAgIH1cblxuICAgIDo6LW1vei1wbGFjZWhvbGRlciB7ICAvKiBGaXJlZm94IDE5KyAqL1xuICAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItZm9udC1jb2xvcjtcbiAgICB9XG5cbiAgICA6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtY29sb3I7XG4gICAgfVxuXG5cbiAgICAvKiBBZGQgaGVpZ2h0IHZhbHVlIGZvciBzZWxlY3QgZWxlbWVudHMgdG8gbWF0Y2ggdGV4dCBpbnB1dCBoZWlnaHQgKi9cbiAgICBzZWxlY3Qge1xuICAgICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gICAgICBoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuICAgICAgJlttdWx0aXBsZV0ge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogQWRqdXN0IG1hcmdpbiBmb3IgZm9ybSBlbGVtZW50cyBiZWxvdyAqL1xuICAgIGlucHV0W3R5cGU9XCJmaWxlXCJdLFxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgc2VsZWN0IHtcbiAgICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmcgMDtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCxcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRmb3JtLXNwYWNpbmcgKiAuNTtcbiAgICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZm9ybS1zcGFjaW5nO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICAvKiBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aCAqL1xuICAgIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgfVxuXG4gICAgLyogSFRNTDUgTnVtYmVyIHNwaW5uZXJzIHNldHRpbmdzICovXG4gICAgaW5wdXRbdHlwZT1udW1iZXJdIHtcbiAgICAgIEBpbmNsdWRlIGh0bWw1bnVtYmVyKG1veiwgJGlucHV0LW51bWJlci1zcGlubmVycylcbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGh0bWw1bnVtYmVyKHdlYmtpdCwgJGlucHV0LW51bWJlci1zcGlubmVycyk7XG4gICAgfVxuXG4gICAgLyogV2UgYWRkIGJhc2ljIGZpZWxkc2V0IHN0eWxpbmcgKi9cbiAgICBmaWVsZHNldCB7XG4gICAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgICB9XG5cbiAgICAvKiBFcnJvciBIYW5kbGluZyAqL1xuXG4gICAgI3tkYXRhKCdhYmlkZScpfSB7XG4gICAgICAuZXJyb3Igc21hbGwuZXJyb3IsIC5lcnJvciBzcGFuLmVycm9yLCBzcGFuLmVycm9yLCBzbWFsbC5lcnJvciB7XG4gICAgICAgIEBpbmNsdWRlIGZvcm0tZXJyb3ItbWVzc2FnZTtcbiAgICAgIH1cbiAgICAgIHNwYW4uZXJyb3IsIHNtYWxsLmVycm9yIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cblxuICAgIHNwYW4uZXJyb3IsIHNtYWxsLmVycm9yIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tZXJyb3ItbWVzc2FnZTtcbiAgICB9XG5cbiAgICAuZXJyb3Ige1xuICAgICAgaW5wdXQsXG4gICAgICB0ZXh0YXJlYSxcbiAgICAgIHNlbGVjdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmdcbiAgICAgIH1cblxuICAgICAgbGFiZWwsXG4gICAgICBsYWJlbC5lcnJvciB7XG4gICAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtZXJyb3ItY29sb3I7XG4gICAgICB9XG5cbiAgICAgIHNtYWxsLmVycm9yIHtcbiAgICAgICAgQGluY2x1ZGUgZm9ybS1lcnJvci1tZXNzYWdlO1xuICAgICAgfVxuXG4gICAgICA+IGxhYmVsIHtcbiAgICAgICAgPiBzbWFsbCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRmb3JtLWxhYmVsLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDE1JSk7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgIGZvbnQtc2l6ZTogNjAlO1xuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvcm0tbGFiZWwtc21hbGwtdHJhbnNmb3JtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNwYW4uZXJyb3ItbWVzc2FnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0LmVycm9yLFxuICAgIHRleHRhcmVhLmVycm9yLFxuICAgIHNlbGVjdC5lcnJvciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICBsYWJlbC5lcnJvciB7IEBpbmNsdWRlIGZvcm0tbGFiZWwtZXJyb3ItY29sb3I7IH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuXG4vLyBAbmFtZVxuLy8gQGRlcGVuZGVuY2llcyBfZ2xvYmFsLnNjc3NcblxuJGluY2x1ZGUtaHRtbC1pY29uLWJhci1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIEB2YXJpYWJsZXNcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBpY29uLWJhciBhbmQgaXRlbXNcbiRpY29uLWJhci1iZzogJG9pbCAhZGVmYXVsdDtcbiRpY29uLWJhci1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kaWNvbi1iYXItZm9udC1jb2xvci1ob3ZlcjogJGljb24tYmFyLWZvbnQtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1iYXItZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuJGljb24tYmFyLWhvdmVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kaWNvbi1iYXItaWNvbi1jb2xvci1ob3ZlcjogJGljb24tYmFyLWljb24tY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1iYXItaWNvbi1zaXplOiAxLjg3NXJlbSAhZGVmYXVsdDtcbiRpY29uLWJhci1pbWFnZS13aWR0aDogMS44NzVyZW0gIWRlZmF1bHQ7XG4kaWNvbi1iYXItaW1hZ2UtaGVpZ2h0OiAxLjg3NXJlbSAhZGVmYXVsdDtcbiRpY29uLWJhci1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGljb24tYmFyLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IGRlZmF1bHQgb3BhY2l0eSBhbmQgY3Vyc29yIGZvciBkaXNhYmxlZCBpY29ucy5cbiRpY29uLWJhci1kaXNhYmxlZC1vcGFjaXR5OiAuNyAhZGVmYXVsdDtcbiRpY29uLWJhci1kaXNhYmxlZC1jdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQtdmFsdWUgIWRlZmF1bHQ7XG5cblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgYmFzZSBzdHlsZXMgZm9yIG91ciBJY29uIGJhciBlbGVtZW50LlxuLy9cbkBtaXhpbiBpY29uLWJhci1iYXNlKCkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgPiAqIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6ICRpY29uLWJhci1mb250LXNpemU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogJGljb24tYmFyLWl0ZW0tcGFkZGluZztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDI1JTtcblxuICAgIGksIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAmICsgbGFiZWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAuMDYyNXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpIHtcbiAgICAgIGZvbnQtc2l6ZTogJGljb24tYmFyLWljb24tc2l6ZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGhlaWdodDogJGljb24tYmFyLWltYWdlLWhlaWdodDtcbiAgICAgIHdpZHRoOiAkaWNvbi1iYXItaW1hZ2Utd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgJi5sYWJlbC1yaWdodCA+ICoge1xuXG4gICAgaSwgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAuMDYyNXJlbSAwIDA7XG5cbiAgICAgICYgKyBsYWJlbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWwgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgfVxuXG4gICYudmVydGljYWwubGFiZWwtcmlnaHQgPiAqIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgJi52ZXJ0aWNhbCwgJi5zbWFsbC12ZXJ0aWNhbHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IGF1dG87XG5cbiAgICAuaXRlbSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gICYubWVkaXVtLXZlcnRpY2FsIHtcbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogYXV0bztcblxuICAgICAgLml0ZW0ge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5sYXJnZS12ZXJ0aWNhbCB7XG4gICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogYXV0bztcblxuICAgICAgLml0ZW0ge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBzaXplIHN0eWxlcyBmb3IgaWNvbiBiYXJzLlxuQG1peGluIGljb24tYmFyLXNpemUoXG4gICRwYWRkaW5nOiAkaWNvbi1iYXItaXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkaWNvbi1iYXItZm9udC1zaXplLFxuICAkaWNvbi1zaXplOiAkaWNvbi1iYXItaWNvbi1zaXplLFxuICAkaW1hZ2Utd2lkdGg6ICRpY29uLWJhci1pbWFnZS13aWR0aCxcbiAgJGltYWdlLWhlaWdodDogJGljb24tYmFyLWltYWdlLWhlaWdodCkge1xuXG4gID4gKiB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICAgaSwgaW1nIHtcblxuICAgICAgJiArIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLjA2MjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpIHtcbiAgICAgIGZvbnQtc2l6ZTogJGljb24tc2l6ZTtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgaGVpZ2h0OiAkaW1hZ2UtaGVpZ2h0O1xuICAgICAgd2lkdGg6ICRpbWFnZS13aWR0aDtcbiAgICB9XG4gIH1cblxufVxuXG5AbWl4aW4gaWNvbi1iYXItc3R5bGUoXG4gICRiYXItYmc6JGljb24tYmFyLWJnLFxuICAkYmFyLWZvbnQtY29sb3I6JGljb24tYmFyLWZvbnQtY29sb3IsXG4gICRiYXItZm9udC1jb2xvci1ob3ZlcjokaWNvbi1iYXItZm9udC1jb2xvci1ob3ZlcixcbiAgJGJhci1ob3Zlci1jb2xvcjokaWNvbi1iYXItaG92ZXItY29sb3IsXG4gICRiYXItaWNvbi1jb2xvcjokaWNvbi1iYXItaWNvbi1jb2xvcixcbiAgJGJhci1pY29uLWNvbG9yLWhvdmVyOiRpY29uLWJhci1pY29uLWNvbG9yLWhvdmVyLFxuICAkYmFyLWFjdGl2ZS1jb2xvcjokaWNvbi1iYXItYWN0aXZlLWNvbG9yLFxuICAkYmFzZS1zdHlsZTp0cnVlLFxuICAkZGlzYWJsZWQ6ZmFsc2UpIHtcblxuICBAaWYgJGJhc2Utc3R5bGUge1xuXG4gICAgYmFja2dyb3VuZDogJGJhci1iZztcblxuICAgID4gKiB7XG4gICAgICBsYWJlbCB7IGNvbG9yOiAkYmFyLWZvbnQtY29sb3I7IH1cblxuICAgICAgaSB7IGNvbG9yOiAkYmFyLWljb24tY29sb3I7IH1cbiAgICB9XG5cbiAgICA+IGE6aG92ZXIge1xuXG4gICAgICBiYWNrZ3JvdW5kOiAkYmFyLWhvdmVyLWNvbG9yO1xuXG4gICAgICBsYWJlbCB7IGNvbG9yOiAkYmFyLWZvbnQtY29sb3ItaG92ZXI7IH1cblxuICAgICAgaSB7IGNvbG9yOiAkYmFyLWljb24tY29sb3ItaG92ZXI7IH1cbiAgICB9XG5cbiAgICAgICAgPiBhLmFjdGl2ZSB7XG5cbiAgICAgIGJhY2tncm91bmQ6ICRiYXItYWN0aXZlLWNvbG9yO1xuXG4gICAgICBsYWJlbCB7IGNvbG9yOiAkYmFyLWZvbnQtY29sb3ItaG92ZXI7IH1cblxuICAgICAgaSB7IGNvbG9yOiAkYmFyLWljb24tY29sb3ItaG92ZXI7IH1cbiAgICB9XG4gIH1cbiAgQGlmICRkaXNhYmxlZCB7XG4gICAgLml0ZW0uZGlzYWJsZWQge1xuICAgICAgY3Vyc29yOiAkaWNvbi1iYXItZGlzYWJsZWQtY3Vyc29yO1xuICAgICAgb3BhY2l0eTogJGljb24tYmFyLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgID4qIHtcbiAgICAgICAgb3BhY2l0eTogJGljb24tYmFyLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgICAgIGN1cnNvcjogJGljb24tYmFyLWRpc2FibGVkLWN1cnNvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLyBXZSB1c2UgdGhpcyB0byBxdWlja2x5IGNyZWF0ZSBpY29uIGJhcnMgd2l0aCBhIHNpbmdsZSBtaXhpblxuLy8gJGhlaWdodCAtIFRoZSBvdmVyYWxsIGNhbGN1bGF0ZWQgaGVpZ2h0IG9mIHRoZSBpY29uIGJhciAoaG9yaXpvbnRhbClcbi8vICRiYXItYmcgLSB0aGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYmFyXG4vLyAkYmFyLWZvbnQtY29sb3IgLSB0aGUgZm9udCBjb2xvclxuLy8gJGJhci1ob3Zlci1jb2xvciAtIG9rYXkgdGhlc2UgYXJlIHByZXR0eSBvYnZpb3VzIHZhcmlhYmxlc1xuLy8gJGJhci1pY29uLWNvbG9yIC0gbWF5YmUgd2UgY291bGQgc2tpcCBleHBsYWluaW5nIHRoZW0gYWxsPyBPa2F5IHRoaXMgb25lIGRvZXMgY2hhbmdlIGljb24gY29sb3IgaWYgeW91IHVzZSBhbiBpY29uIGZvbnRcbi8vICRiYXItYWN0aXZlLWNvbG9yIC0gdGhlIGNvbG9yIG9mIGFuIGFjdGl2ZSAvIGhvdmVyIHN0YXRlXG4vLyAkYmFzZS1zdHlsZSAtIEFwcGx5IGJhc2Ugc3R5bGVzPyBEZWZhdWx0OiB0cnVlLlxuLy8gJGRpc2FibGVkIC0gQWxsb3cgZGlzYWJsZWQgaWNvbnM/IERlZmF1bHQ6IGZhbHNlLlxuXG5AbWl4aW4gaWNvbi1iYXIoXG4gICRiYXItYmc6JGljb24tYmFyLWJnLFxuICAkYmFyLWZvbnQtY29sb3I6JGljb24tYmFyLWZvbnQtY29sb3IsXG4gICRiYXItZm9udC1jb2xvci1ob3ZlcjokaWNvbi1iYXItZm9udC1jb2xvci1ob3ZlcixcbiAgJGJhci1ob3Zlci1jb2xvcjokaWNvbi1iYXItaG92ZXItY29sb3IsXG4gICRiYXItaWNvbi1jb2xvcjokaWNvbi1iYXItaWNvbi1jb2xvcixcbiAgJGJhci1pY29uLWNvbG9yLWhvdmVyOiRpY29uLWJhci1pY29uLWNvbG9yLWhvdmVyLFxuICAkYmFyLWFjdGl2ZS1jb2xvcjokaWNvbi1iYXItYWN0aXZlLWNvbG9yLFxuICAkcGFkZGluZzogJGljb24tYmFyLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGljb24tYmFyLWZvbnQtc2l6ZSxcbiAgJGljb24tc2l6ZTogJGljb24tYmFyLWljb24tc2l6ZSxcbiAgJGltYWdlLXdpZHRoOiAkaWNvbi1iYXItaW1hZ2Utd2lkdGgsXG4gICRpbWFnZS1oZWlnaHQ6ICRpY29uLWJhci1pbWFnZS1oZWlnaHQsXG4gICRiYXNlLXN0eWxlOnRydWUsXG4gICRkaXNhYmxlZDp0cnVlKSB7XG4gICAgQGluY2x1ZGUgaWNvbi1iYXItYmFzZSgpO1xuICAgIEBpbmNsdWRlIGljb24tYmFyLXNpemUoJHBhZGRpbmcsICRmb250LXNpemUsICRpY29uLXNpemUsICRpbWFnZS13aWR0aCwgJGltYWdlLWhlaWdodCk7XG4gICAgQGluY2x1ZGUgaWNvbi1iYXItc3R5bGUoJGJhci1iZywgJGJhci1mb250LWNvbG9yLCAkYmFyLWZvbnQtY29sb3ItaG92ZXIsICRiYXItaG92ZXItY29sb3IsICRiYXItaWNvbi1jb2xvciwgJGJhci1pY29uLWNvbG9yLWhvdmVyLCAkYmFyLWFjdGl2ZS1jb2xvciwgJGJhc2Utc3R5bGUsICRkaXNhYmxlZCk7XG5cbiAgLy8gQ291bnRzXG5cbiAgJi50d28tdXAge1xuICAgIC5pdGVtIHsgd2lkdGg6IDUwJTsgfVxuICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLnRocmVlLXVwIHtcbiAgICAuaXRlbSB7IHdpZHRoOiAzMy4zMzMzJTsgfVxuICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmZvdXItdXAge1xuICAgIC5pdGVtIHsgd2lkdGg6IDI1JTsgfVxuICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmZpdmUtdXAge1xuICAgIC5pdGVtIHsgd2lkdGg6IDIwJTsgfVxuICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLnNpeC11cCB7XG4gICAgLml0ZW0geyB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuc2V2ZW4tdXAge1xuICAgIC5pdGVtIHsgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuZWlnaHQtdXAge1xuICAgIC5pdGVtIHsgd2lkdGg6IDEyLjUlOyB9XG4gICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImljb24tYmFyXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtaWNvbi1iYXItY2xhc3NlcyB7XG4gICAgLmljb24tYmFyIHtcbiAgICAgIEBpbmNsdWRlIGljb24tYmFyO1xuICAgIH1cbiAgfVxufVxuXG5AaWYgJGluY2x1ZGUtaHRtbC1pY29uLWJhci1jbGFzc2VzIHtcblxuICAvLyB0b29sYmFyIHN0eWxlc1xuXG4gIC5pY29uLWJhciB7XG5cbiAgICAvLyBDb3VudHNcblxuICAgICYudHdvLXVwIHtcbiAgICAgIC5pdGVtIHsgd2lkdGg6IDUwJTsgfVxuICAgICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYudGhyZWUtdXAge1xuICAgICAgLml0ZW0geyB3aWR0aDogMzMuMzMzMyU7IH1cbiAgICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmZvdXItdXAge1xuICAgICAgLml0ZW0geyB3aWR0aDogMjUlOyB9XG4gICAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5maXZlLXVwIHtcbiAgICAgIC5pdGVtIHsgd2lkdGg6IDIwJTsgfVxuICAgICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuc2l4LXVwIHtcbiAgICAgIC5pdGVtIHsgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuc2V2ZW4tdXAge1xuICAgICAgLml0ZW0geyB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmVpZ2h0LXVwIHtcbiAgICAgIC5pdGVtIHsgd2lkdGg6IDEyLjUlOyB9XG4gICAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWlubGluZS1saXN0LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgbWFyZ2lucyBhbmQgcGFkZGluZyBvZiB0aGUgaW5saW5lIGxpc3QuXG4kaW5saW5lLWxpc3QtdG9wLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRpbmxpbmUtbGlzdC1vcHBvc2l0ZS1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kaW5saW5lLWxpc3QtYm90dG9tLW1hcmdpbjogcmVtLWNhbGMoMTcpICFkZWZhdWx0O1xuJGlubGluZS1saXN0LWRlZmF1bHQtZmxvYXQtbWFyZ2luOiByZW0tY2FsYygtMjIpICFkZWZhdWx0O1xuJGlubGluZS1saXN0LWRlZmF1bHQtZmxvYXQtbGlzdC1tYXJnaW46IHJlbS1jYWxjKDIyKSAhZGVmYXVsdDtcblxuJGlubGluZS1saXN0LXBhZGRpbmc6IDAgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIG92ZXJmbG93IG9mIHRoZSBpbmxpbmUgbGlzdC5cbiRpbmxpbmUtbGlzdC1vdmVyZmxvdzogaGlkZGVuICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBsaXN0IGl0ZW1zXG4kaW5saW5lLWxpc3QtZGlzcGxheTogYmxvY2sgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYW55IGVsZW1lbnRzIHdpdGhpbiBsaXN0IGl0ZW1zXG4kaW5saW5lLWxpc3QtY2hpbGRyZW4tZGlzcGxheTogYmxvY2sgIWRlZmF1bHQ7XG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGlubGluZSBsaXN0c1xuQG1peGluIGlubGluZS1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGlubGluZS1saXN0LXRvcC1tYXJnaW47XG4gIG1hcmdpbi1ib3R0b206ICRpbmxpbmUtbGlzdC1ib3R0b20tbWFyZ2luO1xuICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRpbmxpbmUtbGlzdC1kZWZhdWx0LWZsb2F0LW1hcmdpbjtcbiAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRpbmxpbmUtbGlzdC1vcHBvc2l0ZS1tYXJnaW47XG4gIG92ZXJmbG93OiAkaW5saW5lLWxpc3Qtb3ZlcmZsb3c7XG4gIHBhZGRpbmc6ICRpbmxpbmUtbGlzdC1wYWRkaW5nO1xuXG4gID4gbGkge1xuICAgIGRpc3BsYXk6ICRpbmxpbmUtbGlzdC1kaXNwbGF5O1xuICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGlubGluZS1saXN0LWRlZmF1bHQtZmxvYXQtbGlzdC1tYXJnaW47XG4gICAgPiAqIHsgZGlzcGxheTogJGlubGluZS1saXN0LWNoaWxkcmVuLWRpc3BsYXk7IH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwiaW5saW5lLWxpc3RcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1pbmxpbmUtbGlzdC1jbGFzc2VzIHtcbiAgICAuaW5saW5lLWxpc3Qge1xuICAgICAgQGluY2x1ZGUgaW5saW5lLWxpc3QoKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1qb3lyaWRlLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gQ29udHJvbGxpbmcgZGVmYXVsdCBKb3lyaWRlIHN0eWxlc1xuJGpveXJpZGUtdGlwLWJnOiAkb2lsICFkZWZhdWx0O1xuJGpveXJpZGUtdGlwLWRlZmF1bHQtd2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuJGpveXJpZGUtdGlwLXBhZGRpbmc6IHJlbS1jYWxjKDE4IDIwIDI0KSAhZGVmYXVsdDtcbiRqb3lyaWRlLXRpcC1ib3JkZXI6IHNvbGlkIDFweCAkY2hhcmNvYWwgIWRlZmF1bHQ7XG4kam95cmlkZS10aXAtcmFkaXVzOiA0cHggIWRlZmF1bHQ7XG4kam95cmlkZS10aXAtcG9zaXRpb24tb2Zmc2V0OiAyMnB4ICFkZWZhdWx0O1xuXG4vLyBIZXJlLCB3ZSdyZSBzZXR0aW5nIHRoZSB0aXAgZm9udCBzdHlsZXNcbiRqb3lyaWRlLXRpcC1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kam95cmlkZS10aXAtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kam95cmlkZS10aXAtaGVhZGVyLXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vIFRoaXMgY2hhbmdlcyB0aGUgbnViIHNpemVcbiRqb3lyaWRlLXRpcC1udWItc2l6ZTogMTBweCAhZGVmYXVsdDtcblxuLy8gVGhpcyBhZGp1c3RzIHRoZSBzdHlsZXMgZm9yIHRoZSB0aW1lciB3aGVuIGl0cyBlbmFibGVkXG4kam95cmlkZS10aXAtdGltZXItd2lkdGg6IDUwcHggIWRlZmF1bHQ7XG4kam95cmlkZS10aXAtdGltZXItaGVpZ2h0OiAzcHggIWRlZmF1bHQ7XG4kam95cmlkZS10aXAtdGltZXItY29sb3I6ICRzdGVlbCAhZGVmYXVsdDtcblxuLy8gVGhpcyBjaGFuZ2VzIHVwIHRoZSBzdHlsZXMgZm9yIHRoZSBjbG9zZSBidXR0b25cbiRqb3lyaWRlLXRpcC1jbG9zZS1jb2xvcjogJG1vbnNvb24gIWRlZmF1bHQ7XG4kam95cmlkZS10aXAtY2xvc2Utc2l6ZTogMjRweCAhZGVmYXVsdDtcbiRqb3lyaWRlLXRpcC1jbG9zZS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vIFdoZW4gSm95cmlkZSBpcyBmaWxsaW5nIHRoZSBzY3JlZW4sIHdlIHVzZSB0aGlzIHN0eWxlIGZvciB0aGUgYmdcbiRqb3lyaWRlLXNjcmVlbmZpbGw6IHJnYmEoMCwwLDAsMC41KSAhZGVmYXVsdDtcblxuXG4vLyBXZSBkZWNpZGVkIG5vdCB0byBtYWtlIGEgbWl4aW4gZm9yIHRoaXMgYmVjYXVzZSBpdCByZWxpZXMgb25cbi8vIHByZWRlZmluZWQgY2xhc3NlcyB0byB3b3JrIHByb3Blcmx5LlxuQGluY2x1ZGUgZXhwb3J0cyhcImpveXJpZGVcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1qb3lyaWRlLWNsYXNzZXMge1xuXG4gICAgLyogRm91bmRhdGlvbiBKb3lyaWRlICovXG4gICAgLmpveXJpZGUtbGlzdCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIC8qIERlZmF1bHQgc3R5bGVzIGZvciB0aGUgY29udGFpbmVyICovXG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRqb3lyaWRlLXRpcC1iZztcbiAgICAgIGNvbG9yOiAkam95cmlkZS10aXAtZm9udC1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDk1JTtcbiAgICAgIHotaW5kZXg6IDEwMztcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAyLjUlO1xuICAgIH1cblxuICAgIC5sdC1pZTkgLmpveXJpZGUtdGlwLWd1aWRlIHtcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogLTQwMHB4O1xuICAgICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiA1MCU7XG4gICAgfVxuXG4gICAgLmpveXJpZGUtY29udGVudC13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6ICRqb3lyaWRlLXRpcC1wYWRkaW5nO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIC5idXR0b24geyBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuICAgICAgLmpveXJpZGUtcHJldi10aXAgeyBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgICB9XG5cbiAgICAvKiBBZGQgYSBsaXR0bGUgY3NzIHRyaWFuZ2xlIHBpcCwgb2xkZXIgYnJvd3NlciBqdXN0IG1pc3Mgb3V0IG9uIHRoZSBmYW5jaW5lc3Mgb2YgaXQgKi9cbiAgICAuam95cmlkZS10aXAtZ3VpZGUge1xuICAgICAgLmpveXJpZGUtbnViIHtcbiAgICAgICAgYm9yZGVyOiAkam95cmlkZS10aXAtbnViLXNpemUgc29saWQgJGpveXJpZGUtdGlwLWJnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogJGpveXJpZGUtdGlwLXBvc2l0aW9uLW9mZnNldDtcblxuICAgICAgICAmLnRvcCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkam95cmlkZS10aXAtYmc7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH0tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn0tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdG9wOiAtKCRqb3lyaWRlLXRpcC1udWItc2l6ZSoyKTtcbiAgICAgICAgfVxuICAgICAgICAmLmJvdHRvbSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkam95cmlkZS10aXAtYmcgIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICBib3R0b206IC0oJGpveXJpZGUtdGlwLW51Yi1zaXplKjIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5yaWdodCB7IHJpZ2h0OiAtKCRqb3lyaWRlLXRpcC1udWItc2l6ZSoyKTsgfVxuICAgICAgICAmLmxlZnQgeyBsZWZ0OiAtKCRqb3lyaWRlLXRpcC1udWItc2l6ZSoyKTsgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8qIFR5cG9ncmFwaHkgKi9cbiAgICAuam95cmlkZS10aXAtZ3VpZGUgaDEsXG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIGgyLFxuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSBoMyxcbiAgICAuam95cmlkZS10aXAtZ3VpZGUgaDQsXG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIGg1LFxuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSBoNiB7XG4gICAgICBjb2xvcjogJGpveXJpZGUtdGlwLWZvbnQtY29sb3I7XG4gICAgICBmb250LXdlaWdodDogJGpveXJpZGUtdGlwLWhlYWRlci13ZWlnaHQ7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIHAge1xuICAgICAgZm9udC1zaXplOiAkam95cmlkZS10aXAtZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAwIDE4IDApO1xuICAgIH1cblxuICAgIC5qb3lyaWRlLXRpbWVyLWluZGljYXRvci13cmFwIHtcbiAgICAgIGJvcmRlcjogJGpveXJpZGUtdGlwLWJvcmRlcjtcbiAgICAgIGJvdHRvbTogcmVtLWNhbGMoMTYpO1xuICAgICAgaGVpZ2h0OiAkam95cmlkZS10aXAtdGltZXItaGVpZ2h0O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6ICRqb3lyaWRlLXRpcC10aW1lci13aWR0aDtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IHJlbS1jYWxjKDE3KTtcbiAgICB9XG4gICAgLmpveXJpZGUtdGltZXItaW5kaWNhdG9yIHtcbiAgICAgIGJhY2tncm91bmQ6ICRqb3lyaWRlLXRpcC10aW1lci1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgd2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmpveXJpZGUtY2xvc2UtdGlwIHtcbiAgICAgIGNvbG9yOiAkam95cmlkZS10aXAtY2xvc2UtY29sb3IgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogJGpveXJpZGUtdGlwLWNsb3NlLXNpemU7XG4gICAgICBmb250LXdlaWdodDogJGpveXJpZGUtdGlwLWNsb3NlLXdlaWdodDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAuNSAhaW1wb3J0YW50O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdG9wOiAxMHB4O1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMTJweDtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMgeyBjb2xvcjogJHNtb2tlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG5cbiAgICAuam95cmlkZS1tb2RhbC1iZyB7XG4gICAgICBiYWNrZ3JvdW5kOiAkam95cmlkZS1zY3JlZW5maWxsO1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLXBvaW50ZXItdmFsdWU7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICB9XG5cbiAgICAuam95cmlkZS1leHBvc2Utd3JhcHBlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTVweCAkd2hpdGU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxMDI7XG4gICAgfVxuXG4gICAgLmpveXJpZGUtZXhwb3NlLWNvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHotaW5kZXg6IDk5OTk7XG4gICAgfVxuXG5cbiAgICAvKiBTdHlsZXMgZm9yIHNjcmVlbnMgdGhhdCBhcmUgYXQgbGVhc3QgNzY4cHg7ICovXG4gICAgQG1lZGlhICN7JHNtYWxsfSB7XG4gICAgICAuam95cmlkZS10aXAtZ3VpZGUgeyB3aWR0aDogJGpveXJpZGUtdGlwLWRlZmF1bHQtd2lkdGg7ICN7JGRlZmF1bHQtZmxvYXR9OiBpbmhlcml0O1xuICAgICAgICAuam95cmlkZS1udWIge1xuICAgICAgICAgICYuYm90dG9tIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGpveXJpZGUtdGlwLWJnICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn0tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3R0b206IC0oJGpveXJpZGUtdGlwLW51Yi1zaXplKjIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLnJpZ2h0IHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGpveXJpZGUtdGlwLWJnICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiAtKCRqb3lyaWRlLXRpcC1udWItc2l6ZSoyKTtcbiAgICAgICAgICAgIHRvcDogJGpveXJpZGUtdGlwLXBvc2l0aW9uLW9mZnNldDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5sZWZ0IHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGpveXJpZGUtdGlwLWJnICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGVmdDogLSgkam95cmlkZS10aXAtbnViLXNpemUqMik7XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgIHRvcDogJGpveXJpZGUtdGlwLXBvc2l0aW9uLW9mZnNldDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1rZXlzdHJva2UtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0ZXh0IHN0eWxlcy5cbiRrZXlzdHJva2UtZm9udDogXCJDb25zb2xhc1wiLCBcIk1lbmxvXCIsIFwiQ291cmllclwiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4ka2V5c3Ryb2tlLWZvbnQtc2l6ZTogaW5oZXJpdCAhZGVmYXVsdDtcbiRrZXlzdHJva2UtZm9udC1jb2xvcjogJGpldCAhZGVmYXVsdDtcbiRrZXlzdHJva2UtZm9udC1jb2xvci1hbHQ6ICR3aGl0ZSAhZGVmYXVsdDtcbiRrZXlzdHJva2UtZnVuY3Rpb24tZmFjdG9yOiAtNyUgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wga2V5c3Ryb2tlIHBhZGRpbmcuXG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYmFja2dyb3VuZCBhbmQgYm9yZGVyIHN0eWxlcy5cbiRrZXlzdHJva2UtYmc6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogJGtleXN0cm9rZS1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJGtleXN0cm9rZS1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGtleXN0cm9rZS1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRrZXlzdHJva2UtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigka2V5c3Ryb2tlLWJnLCAkbGlnaHRuZXNzOiAka2V5c3Ryb2tlLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGtleXN0cm9rZSBzdHlsZXMuXG4vLyAkYmcgLSBEZWZhdWx0OiAka2V5c3Ryb2tlLWJnIHx8IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogJGtleXN0cm9rZS1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuQG1peGluIGtleXN0cm9rZSgkYmc6JGtleXN0cm9rZS1iZykge1xuICAvLyBUaGlzIGZpbmQgdGhlIGxpZ2h0bmVzcyBwZXJjZW50YWdlIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuICBib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRiZywgJGxpZ2h0bmVzczogJGtleXN0cm9rZS1mdW5jdGlvbi1mYWN0b3IpO1xuXG4gIC8vIFdlIGFkanVzdCB0aGUgZm9udCBjb2xvciBiYXNlZCBvbiB0aGUgYnJpZ2h0bmVzcyBvZiB0aGUgYmFja2dyb3VuZC5cbiAgQGlmICRiZy1saWdodG5lc3MgPiA3MCUgeyBjb2xvcjogJGtleXN0cm9rZS1mb250LWNvbG9yOyB9XG4gIEBlbHNlIHsgY29sb3I6ICRrZXlzdHJva2UtZm9udC1jb2xvci1hbHQ7IH1cblxuICBib3JkZXItc3R5bGU6ICRrZXlzdHJva2UtYm9yZGVyLXN0eWxlO1xuICBib3JkZXItd2lkdGg6ICRrZXlzdHJva2UtYm9yZGVyLXdpZHRoO1xuICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICBmb250LXNpemU6ICRrZXlzdHJva2UtZm9udC1zaXplO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImtleXN0cm9rZVwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWtleXN0cm9rZS1jbGFzc2VzICB7XG4gICAgLmtleXN0cm9rZSxcbiAgICBrYmQge1xuICAgICAgQGluY2x1ZGUga2V5c3Ryb2tlO1xuICAgICAgQGluY2x1ZGUgcmFkaXVzKCRrZXlzdHJva2UtcmFkaXVzKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1sYWJlbC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgbGFiZWxzXG4kbGFiZWwtcGFkZGluZzogcmVtLWNhbGMoNCA4IDQpICFkZWZhdWx0O1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgbGFiZWwgdGV4dFxuJGxhYmVsLWZvbnQtc2l6aW5nOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG4kbGFiZWwtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kbGFiZWwtZm9udC1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiRsYWJlbC1mb250LWNvbG9yLWFsdDogJHdoaXRlICFkZWZhdWx0O1xuJGxhYmVsLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgYSBkZWZhdWx0IGxhYmVsIGJhc2UuXG5AbWl4aW4gbGFiZWwtYmFzZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICRsYWJlbC1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRsYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1ib3R0b206IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBhZGQgbGFiZWwgc2l6ZSBzdHlsZXMuXG4vLyAkcGFkZGluZyAtIFVzZWQgdG8gZGV0ZXJtaW5lIGxhYmVsIHBhZGRpbmcuIERlZmF1bHQ6ICRsYWJlbC1wYWRkaW5nIHx8IHJlbS1jYWxjKDQgOCA0KSAhZGVmYXVsdFxuLy8gJHRleHQtc2l6ZSAtIFVzZWQgdG8gZGV0ZXJtaW5lIGxhYmVsIHRleHQtc2l6ZS4gRGVmYXVsdDogJHRleHQtc2l6ZSBmb3VuZCBpbiBzZXR0aW5nc1xuQG1peGluIGxhYmVsLXNpemUoJHBhZGRpbmc6JGxhYmVsLXBhZGRpbmcsICR0ZXh0LXNpemU6JGxhYmVsLWZvbnQtc2l6aW5nKSB7XG4gIEBpZiAkcGFkZGluZyB7IHBhZGRpbmc6ICRwYWRkaW5nOyB9XG4gIEBpZiAkdGV4dC1zaXplIHsgZm9udC1zaXplOiAkdGV4dC1zaXplOyB9XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBhZGQgbGFiZWwgc3R5bGVzLlxuLy8gJGJnIC0gRGVmYXVsdDogJHByaW1hcnktY29sb3IgKGZvdW5kIGluIHNldHRpbmdzIGZpbGUpXG4vLyAkcmFkaXVzIC0gRGVmYXVsdDogZmFsc2UsIE9wdGlvbnM6IHRydWUsIHNldHMgcmFkaXVzIHRvICRnbG9iYWwtcmFkaXVzIChmb3VuZCBpbiBzZXR0aW5ncyBmaWxlKVxuQG1peGluIGxhYmVsLXN0eWxlKCRiZzokcHJpbWFyeS1jb2xvciwgJHJhZGl1czpmYWxzZSkge1xuXG4gIC8vIFdlIGNvbnRyb2wgd2hpY2ggYmFja2dyb3VuZCBjb2xvciBjb21lcyB0aHJvdWdoXG4gIEBpZiAkYmcge1xuXG4gICAgLy8gVGhpcyBmaW5kIHRoZSBsaWdodG5lc3MgcGVyY2VudGFnZSBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbiAgICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcblxuICAgIC8vIFdlIGNvbnRyb2wgdGhlIHRleHQgY29sb3IgZm9yIHlvdSBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbiAgICBAaWYgJGJnLWxpZ2h0bmVzcyA8IDcwJSB7IGNvbG9yOiAkbGFiZWwtZm9udC1jb2xvci1hbHQ7IH1cbiAgICBAZWxzZSB7IGNvbG9yOiAkbGFiZWwtZm9udC1jb2xvcjsgfVxuICB9XG5cbiAgLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgcmFkaXVzIG9uIGxhYmVscy5cbiAgQGlmICRyYWRpdXMgPT0gdHJ1ZSB7IEBpbmNsdWRlIHJhZGl1cygkbGFiZWwtcmFkaXVzKTsgfVxuICBAZWxzZSBpZiAkcmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKCRyYWRpdXMpOyB9XG5cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGFkZCBjbG9zZSBidXR0b25zIHRvIGFsZXJ0c1xuLy8gJHBhZGRpbmcgLSBEZWZhdWx0OiAkbGFiZWwtcGFkZGluZyxcbi8vICR0ZXh0LXNpemUgLSBEZWZhdWx0OiAkbGFiZWwtZm9udC1zaXppbmcsXG4vLyAkYmcgLSBEZWZhdWx0OiAkcHJpbWFyeS1jb2xvcihmb3VuZCBpbiBzZXR0aW5ncyBmaWxlKVxuLy8gJHJhZGl1cyAtIERlZmF1bHQ6IGZhbHNlLCBPcHRpb25zOiB0cnVlIHdoaWNoIHNldHMgcmFkaXVzIHRvICRnbG9iYWwtcmFkaXVzIChmb3VuZCBpbiBzZXR0aW5ncyBmaWxlKVxuQG1peGluIGxhYmVsKCRwYWRkaW5nOiRsYWJlbC1wYWRkaW5nLCAkdGV4dC1zaXplOiRsYWJlbC1mb250LXNpemluZywgJGJnOiRwcmltYXJ5LWNvbG9yLCAkcmFkaXVzOmZhbHNlKSB7XG5cbiAgQGluY2x1ZGUgbGFiZWwtYmFzZTtcbiAgQGluY2x1ZGUgbGFiZWwtc2l6ZSgkcGFkZGluZywgJHRleHQtc2l6ZSk7XG4gIEBpbmNsdWRlIGxhYmVsLXN0eWxlKCRiZywgJHJhZGl1cyk7XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJsYWJlbFwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWxhYmVsLWNsYXNzZXMge1xuICAgIC5sYWJlbCB7XG4gICAgICBAaW5jbHVkZSBsYWJlbC1iYXNlO1xuICAgICAgQGluY2x1ZGUgbGFiZWwtc2l6ZTtcbiAgICAgIEBpbmNsdWRlIGxhYmVsLXN0eWxlO1xuXG4gICAgICAmLnJhZGl1cyB7IEBpbmNsdWRlIGxhYmVsLXN0eWxlKGZhbHNlLCB0cnVlKTsgfVxuICAgICAgJi5yb3VuZCB7IEBpbmNsdWRlIGxhYmVsLXN0eWxlKGZhbHNlLCAkcmFkaXVzOjEwMDBweCk7IH1cblxuICAgICAgJi5hbGVydCAgICAgeyBAaW5jbHVkZSBsYWJlbC1zdHlsZSgkYWxlcnQtY29sb3IpOyB9XG4gICAgICAmLndhcm5pbmcgICB7IEBpbmNsdWRlIGxhYmVsLXN0eWxlKCR3YXJuaW5nLWNvbG9yKTsgfVxuICAgICAgJi5zdWNjZXNzICAgeyBAaW5jbHVkZSBsYWJlbC1zdHlsZSgkc3VjY2Vzcy1jb2xvcik7IH1cbiAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgbGFiZWwtc3R5bGUoJHNlY29uZGFyeS1jb2xvcik7IH1cbiAgICAgICYuaW5mbyAgICAgIHsgQGluY2x1ZGUgbGFiZWwtc3R5bGUoJGluZm8tY29sb3IpOyB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtbWFnZWxsYW4tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4kbWFnZWxsYW4tYmc6ICR3aGl0ZSAhZGVmYXVsdDtcbiRtYWdlbGxhbi1wYWRkaW5nOiAxMHB4ICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBleHBvcnRzKFwibWFnZWxsYW5cIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1tYWdlbGxhbi1jbGFzc2VzIHtcblxuICAgICN7ZGF0YSgnbWFnZWxsYW4tZXhwZWRpdGlvbicpfSwgI3tkYXRhKCdtYWdlbGxhbi1leHBlZGl0aW9uLWNsb25lJyl9IHtcbiAgICAgIGJhY2tncm91bmQ6ICRtYWdlbGxhbi1iZztcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6ICRtYWdlbGxhbi1wYWRkaW5nO1xuICAgICAgei1pbmRleDogNTA7XG5cbiAgICAgIC5zdWItbmF2IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIGEge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1vcmJpdC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBjYXB0aW9uIHN0eWxlc1xuJG9yYml0LWNvbnRhaW5lci1iZzogbm9uZSAhZGVmYXVsdDtcbiRvcmJpdC1jYXB0aW9uLWJnOiByZ2JhKDUxLDUxLDUxLCAuOCkgIWRlZmF1bHQ7XG4kb3JiaXQtY2FwdGlvbi1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kb3JiaXQtY2FwdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRvcmJpdC1jYXB0aW9uLXBvc2l0aW9uOiBcImJvdHRvbVwiICFkZWZhdWx0OyAvLyBTdXBwb3J0ZWQgdmFsdWVzOiBcImJvdHRvbVwiLCBcInVuZGVyXCJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IHJlbS1jYWxjKDEwIDE0KSAhZGVmYXVsdDtcbiRvcmJpdC1jYXB0aW9uLWhlaWdodDogYXV0byAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGxlZnQvcmlnaHQgbmF2IHN0eWxlc1xuJG9yYml0LW5hdi1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kb3JiaXQtbmF2LWJnLWhvdmVyOiByZ2JhKDAsMCwwLDAuMykgIWRlZmF1bHQ7XG4kb3JiaXQtbmF2LWFycm93LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kb3JiaXQtbmF2LWFycm93LWNvbG9yLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSB0aW1lciBzdHlsZXNcbiRvcmJpdC10aW1lci1iZzogcmdiYSgyNTUsMjU1LDI1NSwwLjMpICFkZWZhdWx0O1xuJG9yYml0LXRpbWVyLXNob3ctcHJvZ3Jlc3MtYmFyOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYnVsbGV0IG5hdiBzdHlsZXNcbiRvcmJpdC1idWxsZXQtbmF2LWNvbG9yOiAkaXJvbiAhZGVmYXVsdDtcbiRvcmJpdC1idWxsZXQtbmF2LWNvbG9yLWFjdGl2ZTogJGFsdW1pbnVtICFkZWZhdWx0O1xuJG9yYml0LWJ1bGxldC1yYWRpdXM6IHJlbS1jYWxjKDkpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbHMgdGhlIHN0eWxlIG9mIHNsaWRlIG51bWJlcnNcbiRvcmJpdC1zbGlkZS1udW1iZXItYmc6IHJnYmEoMCwwLDAsMCkgIWRlZmF1bHQ7XG4kb3JiaXQtc2xpZGUtbnVtYmVyLWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRvcmJpdC1zbGlkZS1udW1iZXItcGFkZGluZzogcmVtLWNhbGMoNSkgIWRlZmF1bHQ7XG5cbi8vIEdyYWNlZnVsIExvYWRpbmcgV3JhcHBlciBhbmQgcHJlbG9hZGVyXG4kd3JhcHBlci1jbGFzczogXCJzbGlkZXNob3ctd3JhcHBlclwiICFkZWZhdWx0O1xuJHByZWxvYWRlci1jbGFzczogXCJwcmVsb2FkZXJcIiAhZGVmYXVsdDtcblxuLy8gSGlkZSBjb250cm9scyBvbiBzbWFsbFxuJG9yYml0LW5hdi1oaWRlLWZvci1zbWFsbDogdHJ1ZSAhZGVmYXVsdDtcbiRvcmJpdC1idWxsZXQtaGlkZS1mb3Itc21hbGw6IHRydWUgIWRlZmF1bHQ7XG4kb3JiaXQtdGltZXItaGlkZS1mb3Itc21hbGw6IHRydWUgIWRlZmF1bHQ7XG5cblxuQGluY2x1ZGUgZXhwb3J0cyhcIm9yYml0XCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtb3JiaXQtY2xhc3NlcyB7XG5cbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlIHtcbiAgICAgIGZyb20ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgIH1cbiAgICAgIHRvIHtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgIH1cbiAgICB9XG5cblxuICAgIEBrZXlmcmFtZXMgcm90YXRlIHtcbiAgICAgIGZyb20ge1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICB9XG4gICAgICB0byB7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIE9yYml0IEdyYWNlZnVsIExvYWRpbmcgKi9cbiAgICAuI3skd3JhcHBlci1jbGFzc30ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICB1bCB7XG4gICAgICAgIC8vIFByZXZlbnQgYnVsbGV0cyBzaG93aW5nIGJlZm9yZSAub3JiaXQtY29udGFpbmVyIGlzIGxvYWRlZFxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAvLyBIaWRlIGFsbCBsaXN0IGl0ZW1zXG4gICAgICAgIGxpLFxuICAgICAgICBsaSAub3JiaXQtY2FwdGlvbiB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICAgICAvLyAuLi5leGNlcHQgZm9yIHRoZSBmaXJzdCBvbmVcbiAgICAgICAgbGk6Zmlyc3QtY2hpbGQgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgfVxuXG4gICAgICAub3JiaXQtY29udGFpbmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgLy8gU2hvdyBpbWFnZXMgd2hlbiAub3JiaXQtY29udGFpbmVyIGlzIGxvYWRlZFxuICAgICAgICBsaSB7IGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgLm9yYml0LWNhcHRpb24geyBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICB9XG4gICAgICAgIC5vcmJpdC1idWxsZXRzIGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gT3JiaXQgcHJlbG9hZGVyXG4gICAgICAuI3skcHJlbG9hZGVyLWNsYXNzfSB7XG4gICAgICAgIEBpbmNsdWRlIHJhZGl1cygxMDAwcHgpO1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAgICAgICBhbmltYXRpb24tbmFtZTogcm90YXRlO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNoYXJjb2FsICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAzcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICAub3JiaXQtY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRvcmJpdC1jb250YWluZXItYmc7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIC5vcmJpdC1zbGlkZXMtY29udGFpbmVyIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLy8gUHJldmVudHMgaW1hZ2VzIChhbmQgY2FwdGlvbnMpIGZyb20gZGlzYXBwZWFyaW5nIGFmdGVyIGZpcnN0IHJvdGF0aW9uIG9uIENocm9tZSBmb3IgQW5kcm9pZFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuXG4gICAgICAgIGltZyB7IGRpc3BsYXk6IGJsb2NrOyBtYXgtd2lkdGg6IDEwMCU7IH1cblxuICAgICAgICA+ICoge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTAwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIEBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAub3JiaXQtY2FwdGlvbiB7XG4gICAgICAgICAgICBAaWYgJG9yYml0LWNhcHRpb24tcG9zaXRpb24gPT0gXCJib3R0b21cIiB7XG4gICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAkb3JiaXQtY2FwdGlvbi1wb3NpdGlvbiA9PSBcInVuZGVyXCIge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jYXB0aW9uLWJnO1xuICAgICAgICAgICAgY29sb3I6ICRvcmJpdC1jYXB0aW9uLWZvbnQtY29sb3I7XG4gICAgICAgICAgICBmb250LXNpemU6ICRvcmJpdC1jYXB0aW9uLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRvcmJpdC1jYXB0aW9uLXBhZGRpbmc7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm9yYml0LXNsaWRlLW51bWJlciB7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkb3JiaXQtc2xpZGUtbnVtYmVyLWJnO1xuICAgICAgICBjb2xvcjogJG9yYml0LXNsaWRlLW51bWJlci1mb250LWNvbG9yO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgc3BhbiB7IGZvbnQtd2VpZ2h0OiA3MDA7IHBhZGRpbmc6ICRvcmJpdC1zbGlkZS1udW1iZXItcGFkZGluZzt9XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICB9XG5cbiAgICAgIC5vcmJpdC10aW1lciB7XG4gICAgICAgIFxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTJweDtcbiAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMTBweDtcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIFxuXG4gICAgICAgIC5vcmJpdC1wcm9ncmVzcyB7XG4gICAgICAgICAgQGlmICRvcmJpdC10aW1lci1zaG93LXByb2dyZXNzLWJhciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC10aW1lci1iZztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICAgICAgXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUGxheSBidXR0b25cbiAgICAgICAgJiA+IHNwYW4ge1xuICAgICAgICAgIGJvcmRlcjogc29saWQgNHB4ICR3aGl0ZTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB3aWR0aDogMTFweDtcbiAgICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUGF1c2UgYnV0dG9uXG4gICAgICAgICYucGF1c2VkIHtcbiAgICAgICAgICAmID4gc3BhbiB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTFweDtcbiAgICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICAgIGJvcmRlcjogaW5zZXQgOHB4O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAtNHB4O1xuXG4gICAgICAgICAgICAmLmRhcmsge1xuICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJG9pbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuXG5cbiAgICAgICY6aG92ZXIgLm9yYml0LXRpbWVyID4gc3BhbiB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbiAgICAgIC8vIExldCdzIGdldCB0aG9zZSBjb250cm9scyB0byBiZSByaWdodCBpbiB0aGUgY2VudGVyIG9uIGVhY2ggc2lkZVxuICAgICAgLm9yYml0LXByZXYsXG4gICAgICAub3JiaXQtbmV4dCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1uYXYtYmc7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTI1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHggIWltcG9ydGFudDtcbiAgICAgICAgdG9wOiA0NSU7XG4gICAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtbmF2LWJnLWhvdmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJiA+IHNwYW4ge1xuICAgICAgICAgIGJvcmRlcjogaW5zZXQgMTBweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAub3JiaXQtcHJldiB7ICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgICAgICAmID4gc3BhbiB7XG4gICAgICAgICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn0tc3R5bGU6IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn0tY29sb3I6ICRvcmJpdC1uYXYtYXJyb3ctY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciA+IHNwYW4ge1xuICAgICAgICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259LWNvbG9yOiAkb3JiaXQtbmF2LWFycm93LWNvbG9yLWhvdmVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAub3JiaXQtbmV4dCB7ICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgICAgICYgPiBzcGFuIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fS1zdHlsZTogc29saWQ7XG4gICAgICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LWNvbG9yOiAkb3JiaXQtbmF2LWFycm93LWNvbG9yO1xuICAgICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiA1MCU7XG4gICAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAtNHB4O1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIgPiBzcGFuIHtcbiAgICAgICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH0tY29sb3I6ICRvcmJpdC1uYXYtYXJyb3ctY29sb3ItaG92ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAub3JiaXQtYnVsbGV0cy1jb250YWluZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAub3JiaXQtYnVsbGV0cyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMzBweCBhdXRvO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRvcDogMTBweDtcblxuICAgICAgbGkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkb3JiaXQtYnVsbGV0LW5hdi1jb2xvcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIC8vIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIGhlaWdodDogJG9yYml0LWJ1bGxldC1yYWRpdXM7XG4gICAgICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiA2cHg7XG4gICAgICAgIHdpZHRoOiAkb3JiaXQtYnVsbGV0LXJhZGl1cztcblxuICAgICAgICBAaW5jbHVkZSByYWRpdXMoMTAwMHB4KTtcblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJG9yYml0LWJ1bGxldC1uYXYtY29sb3ItYWN0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHsgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7IH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG91Y2gge1xuICAgICAgLm9yYml0LWNvbnRhaW5lciB7XG4gICAgICAgIC5vcmJpdC1wcmV2LFxuICAgICAgICAub3JiaXQtbmV4dCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIH1cblxuICAgICAgLm9yYml0LWJ1bGxldHMgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgfVxuXG5cbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG5cbiAgICAgIC50b3VjaCB7XG4gICAgICAgIC5vcmJpdC1jb250YWluZXIge1xuICAgICAgICAgIC5vcmJpdC1wcmV2LFxuICAgICAgICAgIC5vcmJpdC1uZXh0IHsgZGlzcGxheTogaW5oZXJpdDsgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm9yYml0LWJ1bGxldHMgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgIC5vcmJpdC1zdGFjay1vbi1zbWFsbCB7XG4gICAgICAgIC5vcmJpdC1zbGlkZXMtY29udGFpbmVyIHtoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDt9XG4gICAgICAgIC5vcmJpdC1zbGlkZXMtY29udGFpbmVyID4gKiB7XG4gICAgICAgICAgbWFyZ2luOjAgICFpbXBvcnRhbnQ7XG4gICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vcmJpdC1zbGlkZS1udW1iZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRvcmJpdC10aW1lci1oaWRlLWZvci1zbWFsbCB7XG4gICAgICAgICAub3JiaXQtdGltZXJ7ZGlzcGxheTogbm9uZTt9XG4gICAgICB9XG4gICAgICBAaWYgJG9yYml0LW5hdi1oaWRlLWZvci1zbWFsbCB7XG4gICAgICAgICAub3JiaXQtbmV4dCwub3JiaXQtcHJldntkaXNwbGF5OiBub25lO31cbiAgICAgIH1cbiAgICAgIEBpZiAkb3JiaXQtYnVsbGV0LWhpZGUtZm9yLXNtYWxsIHtcbiAgICAgICAgIC5vcmJpdC1idWxsZXRze2Rpc3BsYXk6IG5vbmU7fVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1wYWdpbmF0aW9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHBhZ2luYXRpb24gY29udGFpbmVyXG4kcGFnaW5hdGlvbi1oZWlnaHQ6IHJlbS1jYWxjKDI0KSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW1hcmdpbjogcmVtLWNhbGMoLTUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBsaXN0LWl0ZW0gcHJvcGVydGllc1xuJHBhZ2luYXRpb24tbGktZmxvYXQ6ICRkZWZhdWx0LWZsb2F0ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGktaGVpZ2h0OiByZW0tY2FsYygyNCkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saS1mb250LWNvbG9yOiAkamV0ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGktZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saS1tYXJnaW46IHJlbS1jYWxjKDUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgZm9yIHRoZSBwYWdpbmF0aW9uIGFuY2hvciBsaW5rc1xuJHBhZ2luYXRpb24tbGluay1wYWQ6IHJlbS1jYWxjKDEgMTAgMSkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5rLWZvbnQtY29sb3I6ICRhbHVtaW51bSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmstYWN0aXZlLWJnOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0xMCUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgZm9yIGRpc2FibGVkIGFuY2hvciBsaW5rc1xuJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1jdXJzb3I6IGRlZmF1bHQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWZvbnQtY29sb3I6ICRhbHVtaW51bSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtYmctYWN0aXZlOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIGZvciBjdXJyZW50bHkgc2VsZWN0ZWQgYW5jaG9yIGxpbmtzXG4kcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1jdXJzb3I6IGRlZmF1bHQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYWN0aXZlLWJnOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8gQG1peGluc1xuLy9cbi8vIFN0eWxlIHRoZSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQ3VycmVudGx5IG9ubHkgdXNlZCB3aGVuIGNlbnRlcmluZyBlbGVtZW50cy5cbi8vICRjZW50ZXIgLSBEZWZhdWx0OiBmYWxzZSwgT3B0aW9uczogdHJ1ZVxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyKCRjZW50ZXI6ZmFsc2UpIHtcbiAgQGlmICRjZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbn1cblxuLy8gQG1peGluc1xuLy8gU3R5bGUgdW5hdmFpbGFibGUgbGlzdCBpdGVtc1xuQG1peGluIHBhZ2luYXRpb24tdW5hdmFpbGFibGUtaXRlbSB7XG4gIGEsIGJ1dHRvbiB7XG4gICAgY3Vyc29yOiAkcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWN1cnNvcjtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1mb250LWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gICY6aG92ZXIgYSxcbiAgJiBhOmZvY3VzLFxuXG4gICY6aG92ZXIgYnV0dG9uLFxuICAmIGJ1dHRvbjpmb2N1c1xuICB7IGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtYmctYWN0aXZlOyB9XG59XG4vLyBAbWl4aW5zXG4vLyBTdHlsZSB0aGUgY3VycmVudCBsaXN0IGl0ZW0uIERvIG5vdCBhc3N1bWUgdGhhdCB0aGUgY3VycmVudCBpdGVtIGhhc1xuLy8gYW4gYW5jaG9yIDxhPiBlbGVtZW50LlxuLy8gJGhhcy1hbmNob3IgLSBEZWZhdWx0OiB0cnVlLCBPcHRpb25zOiBmYWxzZVxuQG1peGluIHBhZ2luYXRpb24tY3VycmVudC1pdGVtKCRoYXMtYW5jaG9yOiB0cnVlKSB7XG4gIEBpZiAkaGFzLWFuY2hvciB7XG4gICAgYSwgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1iYWNrZ3JvdW5kO1xuICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1mb250LWNvbG9yO1xuICAgICAgY3Vyc29yOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtY3Vyc29yO1xuICAgICAgZm9udC13ZWlnaHQ6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1mb250LXdlaWdodDtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMgeyBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYWN0aXZlLWJnOyB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtY29sb3I7XG4gICAgY3Vyc29yOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtY3Vyc29yO1xuICAgIGZvbnQtd2VpZ2h0OiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC13ZWlnaHQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWxpbmstcGFkO1xuICAgIEBpbmNsdWRlIHJhZGl1cztcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7IGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1hY3RpdmUtYmc7IH1cbiAgfVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHRoZSBwcm9wZXJ0aWVzIGZvciB0aGUgY3JlYXRpbmcgRm91bmRhdGlvbiBwYWdpbmF0aW9uXG4vLyAkY2VudGVyIC0gTGVmdCBvciBjZW50ZXIgYWxpZ24gdGhlIGxpIGVsZW1lbnRzLiBEZWZhdWx0OiBmYWxzZVxuLy8gJGJhc2Utc3R5bGUgLSBTZXRzIGJhc2Ugc3R5bGVzIGZvciBwYWdpbmF0aW9uLiBEZWZhdWx0OiB0cnVlLCBPcHRpb25zOiBmYWxzZVxuLy8gJHVzZS1kZWZhdWx0LWNsYXNzZXMgLSBNYWtlcyB1bmF2YWlsYWJsZSAmIGN1cnJlbnQgY2xhc3NlcyBhdmFpbGFibGUgZm9yIHVzZS4gRGVmYXVsdDogdHJ1ZVxuQG1peGluIHBhZ2luYXRpb24oJGNlbnRlcjpmYWxzZSwgJGJhc2Utc3R5bGU6dHJ1ZSwgJHVzZS1kZWZhdWx0LWNsYXNzZXM6dHJ1ZSkge1xuXG4gIEBpZiAkYmFzZS1zdHlsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkcGFnaW5hdGlvbi1tYXJnaW47XG4gICAgbWluLWhlaWdodDogJHBhZ2luYXRpb24taGVpZ2h0O1xuXG4gICAgbGkge1xuICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWxpLWZvbnQtY29sb3I7XG4gICAgICBmb250LXNpemU6ICRwYWdpbmF0aW9uLWxpLWZvbnQtc2l6ZTtcbiAgICAgIGhlaWdodDogJHBhZ2luYXRpb24tbGktaGVpZ2h0O1xuICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkcGFnaW5hdGlvbi1saS1tYXJnaW47XG5cbiAgICAgIGEsIGJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIHJhZGl1cztcbiAgICAgICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1saW5rLWZvbnQtY29sb3I7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWxpbmstcGFkO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIGEsXG4gICAgICBhOmZvY3VzLFxuICAgICAgJjpob3ZlciBidXR0b24sXG4gICAgICBidXR0b246Zm9jdXNcbiAgICAgIHsgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbGluay1hY3RpdmUtYmc7IH1cblxuICAgICAgQGlmICR1c2UtZGVmYXVsdC1jbGFzc2VzIHtcbiAgICAgICAgJi51bmF2YWlsYWJsZSB7IEBpbmNsdWRlIHBhZ2luYXRpb24tdW5hdmFpbGFibGUtaXRlbSgpOyB9XG4gICAgICAgICYuY3VycmVudCB7IEBpbmNsdWRlIHBhZ2luYXRpb24tY3VycmVudC1pdGVtKCk7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMZWZ0IG9yIGNlbnRlciBhbGlnbiB0aGUgbGkgZWxlbWVudHNcbiAgbGkge1xuICAgIEBpZiAkY2VudGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiBub25lO1xuICAgIH0gQGVsc2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogJHBhZ2luYXRpb24tbGktZmxvYXQ7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJwYWdpbmF0aW9uXCIpIHtcbiAgQGlmICRpbmNsdWRlLXBhZ2luYXRpb24tY2xhc3NlcyB7XG4gICAgdWwucGFnaW5hdGlvbiB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uO1xuICAgIH1cblxuICAgIC8qIFBhZ2luYXRpb24gY2VudHJlZCB3cmFwcGVyICovXG4gICAgLnBhZ2luYXRpb24tY2VudGVyZWQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXIodHJ1ZSk7XG5cbiAgICAgIHVsLnBhZ2luYXRpb24ge1xuICAgICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uKHRydWUsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1wYW5lbC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgc3R5bGVzXG4kcGFuZWwtYmc6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTUlKSAhZGVmYXVsdDtcbiRwYW5lbC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJHBhbmVsLWJvcmRlci1zaXplOiAxcHggIWRlZmF1bHQ7XG4kY2FsbG91dC1wYW5lbC1iZzogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IDk0JSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzICUgdG8gY29udHJvbCBob3cgbXVjaCB3ZSBkYXJrZW4gdGhpbmdzIG9uIGhvdmVyXG4kcGFuZWwtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkcGFuZWwtYmcsICRsaWdodG5lc3M6IC0xMSUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IGRlZmF1bHQgaW5uZXIgcGFkZGluZyBhbmQgYm90dG9tIG1hcmdpblxuJHBhbmVsLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcbiRwYW5lbC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgZGVmYXVsdCBmb250IGNvbG9yc1xuJHBhbmVsLWZvbnQtY29sb3I6ICRvaWwgIWRlZmF1bHQ7XG4kcGFuZWwtZm9udC1jb2xvci1hbHQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuJHBhbmVsLWhlYWRlci1hZGp1c3Q6IHRydWUgIWRlZmF1bHQ7XG4kY2FsbG91dC1wYW5lbC1saW5rLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRjYWxsb3V0LXBhbmVsLWxpbmstY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjYWxsb3V0LXBhbmVsLWxpbmstY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuLy9cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgcGFuZWxzLlxuLy8gJGJnIC0gU2V0cyB0aGUgcGFuZWwgYmFja2dyb3VuZCBjb2xvci4gRGVmYXVsdDogJHBhbmVsLXBnIHx8IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTUlKSAhZGVmYXVsdFxuLy8gJHBhZGRpbmcgLSBTZXRzIHRoZSBwYW5lbCBwYWRkaW5nIGFtb3VudC4gRGVmYXVsdDogJHBhbmVsLXBhZGRpbmcgfHwgcmVtLWNhbGMoMjApXG4vLyAkYWRqdXN0IC0gU2V0cyB0aGUgZm9udCBjb2xvciBiYXNlZCBvbiB0aGUgZGFya25lc3Mgb2YgdGhlIGJnICYgcmVzZXRzIGhlYWRlciBsaW5lLWhlaWdodHMgZm9yIHBhbmVscy4gRGVmYXVsdDogJHBhbmVsLWhlYWRlci1hZGp1c3QgfHwgdHJ1ZVxuQG1peGluIHBhbmVsKCRiZzokcGFuZWwtYmcsICRwYWRkaW5nOiRwYW5lbC1wYWRkaW5nLCAkYWRqdXN0OiRwYW5lbC1oZWFkZXItYWRqdXN0LCAkYm9yZGVyOnRydWUpIHtcblxuICBAaWYgJGJnIHtcbiAgICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcblxuICAgIEBpZiAkYm9yZGVyIHtcbiAgICAgIGJvcmRlci1zdHlsZTogJHBhbmVsLWJvcmRlci1zdHlsZTtcbiAgICAgIGJvcmRlci13aWR0aDogJHBhbmVsLWJvcmRlci1zaXplO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkcGFuZWwtYm9yZGVyLWNvbG9yO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIG1hcmdpbi1ib3R0b206ICRwYW5lbC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZDogJGJnO1xuICAgIEBpZiAkYmctbGlnaHRuZXNzID49IDUwJSB7IGNvbG9yOiAkcGFuZWwtZm9udC1jb2xvcjsgfVxuICAgIEBlbHNlIHsgY29sb3I6ICRwYW5lbC1mb250LWNvbG9yLWFsdDsgfVxuXG4gICAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cbiAgICA+IDpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IDA7IH1cbiAgICA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4gICAgQGlmICRhZGp1c3Qge1xuICAgICAgLy8gV2Ugc2V0IHRoZSBmb250IGNvbG9yIGJhc2VkIG9uIHRoZSBkYXJrbmVzcyBvZiB0aGUgYmcuXG4gICAgICBAaWYgJGJnLWxpZ2h0bmVzcyA+PSA1MCUge1xuICAgICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBsaSwgZGwgeyBjb2xvcjogJHBhbmVsLWZvbnQtY29sb3I7IH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgbGksIGRsIHsgY29sb3I6ICRwYW5lbC1mb250LWNvbG9yLWFsdDsgfVxuICAgICAgfVxuXG4gICAgICAvLyByZXNldCBoZWFkZXIgbGluZS1oZWlnaHRzIGZvciBwYW5lbHNcbiAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgICAgICBsaW5lLWhlaWdodDogMTsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApIC8gMjtcbiAgICAgICAgJi5zdWJoZWFkZXIgeyBsaW5lLWhlaWdodDogMS40OyB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJwYW5lbFwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLXBhbmVsLWNsYXNzZXMge1xuXG4gICAgLyogUGFuZWxzICovXG4gICAgLnBhbmVsIHsgQGluY2x1ZGUgcGFuZWw7XG5cbiAgICAgICYuY2FsbG91dCB7XG4gICAgICAgIEBpbmNsdWRlIHBhbmVsKCRjYWxsb3V0LXBhbmVsLWJnKTtcbiAgICAgICAgYTpub3QoLmJ1dHRvbikge1xuICAgICAgICAgIGNvbG9yOiAkY2FsbG91dC1wYW5lbC1saW5rLWNvbG9yO1xuXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY2FsbG91dC1wYW5lbC1saW5rLWNvbG9yLWhvdmVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnJhZGl1cyB7XG4gICAgICAgIEBpbmNsdWRlIHJhZGl1cztcbiAgICAgIH1cblxuICAgIH1cblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtcHJpY2luZy1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGJvcmRlciBjb2xvclxuJHByaWNlLXRhYmxlLWJvcmRlcjogc29saWQgMXB4ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGJvdHRvbSBtYXJnaW4gb2YgdGhlIHByaWNpbmcgdGFibGVcbiRwcmljZS10YWJsZS1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSB0aXRsZSBzdHlsZXNcbiRwcmljZS10aXRsZS1iZzogJG9pbCAhZGVmYXVsdDtcbiRwcmljZS10aXRsZS1wYWRkaW5nOiByZW0tY2FsYygxNSAyMCkgIWRlZmF1bHQ7XG4kcHJpY2UtdGl0bGUtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcbiRwcmljZS10aXRsZS1jb2xvcjogJHNtb2tlICFkZWZhdWx0O1xuJHByaWNlLXRpdGxlLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRwcmljZS10aXRsZS1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG4kcHJpY2UtdGl0bGUtZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgcHJpY2Ugc3R5bGVzXG4kcHJpY2UtbW9uZXktYmc6ICR2YXBvciAhZGVmYXVsdDtcbiRwcmljZS1tb25leS1wYWRkaW5nOiByZW0tY2FsYygxNSAyMCkgIWRlZmF1bHQ7XG4kcHJpY2UtbW9uZXktYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcbiRwcmljZS1tb25leS1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiRwcmljZS1tb25leS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kcHJpY2UtbW9uZXktc2l6ZTogcmVtLWNhbGMoMzIpICFkZWZhdWx0O1xuJHByaWNlLW1vbmV5LWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgZGVzY3JpcHRpb24gc3R5bGVzXG4kcHJpY2UtYmc6ICR3aGl0ZSAhZGVmYXVsdDtcbiRwcmljZS1kZXNjLWNvbG9yOiAkbW9uc29vbiAhZGVmYXVsdDtcbiRwcmljZS1kZXNjLXBhZGRpbmc6IHJlbS1jYWxjKDE1KSAhZGVmYXVsdDtcbiRwcmljZS1kZXNjLWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG4kcHJpY2UtZGVzYy1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcbiRwcmljZS1kZXNjLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRwcmljZS1kZXNjLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kcHJpY2UtZGVzYy1ib3R0b20tYm9yZGVyOiBkb3R0ZWQgMXB4ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBsaXN0IGl0ZW0gc3R5bGVzXG4kcHJpY2UtaXRlbS1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiRwcmljZS1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDE1KSAhZGVmYXVsdDtcbiRwcmljZS1pdGVtLWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG4kcHJpY2UtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRwcmljZS1pdGVtLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRwcmljZS1pdGVtLWJvdHRvbS1ib3JkZXI6IGRvdHRlZCAxcHggJGdhaW5zYm9ybyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIENUQSBhcmVhIHN0eWxlc1xuJHByaWNlLWN0YS1iZzogJHdoaXRlICFkZWZhdWx0O1xuJHByaWNlLWN0YS1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuJHByaWNlLWN0YS1wYWRkaW5nOiByZW0tY2FsYygyMCAyMCAwKSAhZGVmYXVsdDtcblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSB0aGUgY29udGFpbmVyIGVsZW1lbnQgZm9yIHRoZSBwcmljaW5nIHRhYmxlc1xuQG1peGluIHByaWNpbmctdGFibGUtY29udGFpbmVyIHtcbiAgYm9yZGVyOiAkcHJpY2UtdGFibGUtYm9yZGVyO1xuICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRwcmljZS10YWJsZS1tYXJnaW4tYm90dG9tO1xuXG4gICYgKiB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxufVxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgcHJpY2luZyB0YWJsZSB0aXRsZSBzdHlsZXNcbkBtaXhpbiBwcmljaW5nLXRhYmxlLXRpdGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaWNlLXRpdGxlLWJnO1xuICBjb2xvcjogJHByaWNlLXRpdGxlLWNvbG9yO1xuICBmb250LWZhbWlseTogJHByaWNlLXRpdGxlLWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRwcmljZS10aXRsZS1zaXplO1xuICBmb250LXdlaWdodDogJHByaWNlLXRpdGxlLXdlaWdodDtcbiAgcGFkZGluZzogJHByaWNlLXRpdGxlLXBhZGRpbmc7XG4gIHRleHQtYWxpZ246ICRwcmljZS10aXRsZS1hbGlnbjtcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNvbnRyb2wgdGhlIHByaWNpbmcgdGFibGUgcHJpY2Ugc3R5bGVzXG5AbWl4aW4gcHJpY2luZy10YWJsZS1wcmljZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmljZS1tb25leS1iZztcbiAgY29sb3I6ICRwcmljZS1tb25leS1jb2xvcjtcbiAgZm9udC1mYW1pbHk6ICRwcmljZS1tb25leS1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkcHJpY2UtbW9uZXktc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRwcmljZS1tb25leS13ZWlnaHQ7XG4gIHBhZGRpbmc6ICRwcmljZS1tb25leS1wYWRkaW5nO1xuICB0ZXh0LWFsaWduOiAkcHJpY2UtbW9uZXktYWxpZ247XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgdGhlIGRlc2NyaXB0aW9uIHN0eWxlcyBmb3IgdGhlIHByaWNpbmcgdGFibGVcbkBtaXhpbiBwcmljaW5nLXRhYmxlLWRlc2NyaXB0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaWNlLWJnO1xuICBib3JkZXItYm90dG9tOiAkcHJpY2UtZGVzYy1ib3R0b20tYm9yZGVyO1xuICBjb2xvcjogJHByaWNlLWRlc2MtY29sb3I7XG4gIGZvbnQtc2l6ZTogJHByaWNlLWRlc2MtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJHByaWNlLWRlc2Mtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJHByaWNlLWRlc2MtbGluZS1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRwcmljZS1kZXNjLXBhZGRpbmc7XG4gIHRleHQtYWxpZ246ICRwcmljZS1kZXNjLWFsaWduO1xufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gc3R5bGUgdGhlIGJ1bGxldCBpdGVtcyBpbiB0aGUgcHJpY2luZyB0YWJsZVxuQG1peGluIHByaWNpbmctdGFibGUtYnVsbGV0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaWNlLWJnO1xuICBib3JkZXItYm90dG9tOiAkcHJpY2UtaXRlbS1ib3R0b20tYm9yZGVyO1xuICBjb2xvcjogJHByaWNlLWl0ZW0tY29sb3I7XG4gIGZvbnQtc2l6ZTogJHByaWNlLWl0ZW0tZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJHByaWNlLWl0ZW0td2VpZ2h0O1xuICBwYWRkaW5nOiAkcHJpY2UtaXRlbS1wYWRkaW5nO1xuICB0ZXh0LWFsaWduOiAkcHJpY2UtaXRlbS1hbGlnbjtcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIHN0eWxlIHRoZSBDVEEgYXJlYSBvZiB0aGUgcHJpY2luZyB0YWJsZXNcbkBtaXhpbiBwcmljaW5nLXRhYmxlLWN0YSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmljZS1jdGEtYmc7XG4gIHBhZGRpbmc6ICRwcmljZS1jdGEtcGFkZGluZztcbiAgdGV4dC1hbGlnbjogJHByaWNlLWN0YS1hbGlnbjtcbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInByaWNpbmctdGFibGVcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1wcmljaW5nLWNsYXNzZXMge1xuXG4gICAgLyogUHJpY2luZyBUYWJsZXMgKi9cbiAgICAucHJpY2luZy10YWJsZSB7XG4gICAgICBAaW5jbHVkZSBwcmljaW5nLXRhYmxlLWNvbnRhaW5lcjtcblxuICAgICAgLnRpdGxlIHsgQGluY2x1ZGUgcHJpY2luZy10YWJsZS10aXRsZTsgfVxuICAgICAgLnByaWNlIHsgQGluY2x1ZGUgcHJpY2luZy10YWJsZS1wcmljZTsgfVxuICAgICAgLmRlc2NyaXB0aW9uIHsgQGluY2x1ZGUgcHJpY2luZy10YWJsZS1kZXNjcmlwdGlvbjsgfVxuICAgICAgLmJ1bGxldC1pdGVtIHsgQGluY2x1ZGUgcHJpY2luZy10YWJsZS1idWxsZXQ7IH1cbiAgICAgIC5jdGEtYnV0dG9uIHsgQGluY2x1ZGUgcHJpY2luZy10YWJsZS1jdGE7IH1cbiAgICB9XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLW1lZGlhLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBwcm9ncmVzcyBiYXIgaGVpZ2h0XG4kcHJvZ3Jlc3MtYmFyLWhlaWdodDogcmVtLWNhbGMoMjUpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogJHZhcG9yICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYm9yZGVyIHN0eWxlc1xuJHByb2dyZXNzLWJhci1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogMjAlKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBtYXJnaW4gJiBwYWRkaW5nXG4kcHJvZ3Jlc3MtYmFyLXBhZDogcmVtLWNhbGMoMikgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgbWV0ZXIgY29sb3JzXG4kcHJvZ3Jlc3MtbWV0ZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHByb2dyZXNzLW1ldGVyLXNlY29uZGFyeS1jb2xvcjogJHNlY29uZGFyeS1jb2xvciAhZGVmYXVsdDtcbiRwcm9ncmVzcy1tZXRlci1zdWNjZXNzLWNvbG9yOiAkc3VjY2Vzcy1jb2xvciAhZGVmYXVsdDtcbiRwcm9ncmVzcy1tZXRlci1hbGVydC1jb2xvcjogJGFsZXJ0LWNvbG9yICFkZWZhdWx0O1xuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHVwIHRoZSBwcm9ncmVzcyBiYXIgY29udGFpbmVyXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1jb2xvcjtcbiAgYm9yZGVyOiAkcHJvZ3Jlc3MtYmFyLWJvcmRlci1zaXplICRwcm9ncmVzcy1iYXItYm9yZGVyLXN0eWxlICRwcm9ncmVzcy1iYXItYm9yZGVyLWNvbG9yO1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1iYXItaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtYmFyLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmc6ICRwcm9ncmVzcy1iYXItcGFkO1xufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gJGJnIC0gRGVmYXVsdDogJHByb2dyZXNzLW1ldGVyLWNvbG9yIHx8ICRwcmltYXJ5LWNvbG9yXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXIoJGJnOiRwcm9ncmVzcy1tZXRlci1jb2xvcikge1xuICBiYWNrZ3JvdW5kOiAkYmc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMCU7XG59XG5cblxuQGluY2x1ZGUgZXhwb3J0cyhcInByb2dyZXNzLWJhclwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLW1lZGlhLWNsYXNzZXMge1xuXG4gICAgLyogUHJvZ3Jlc3MgQmFyICovXG4gICAgLnByb2dyZXNzIHtcbiAgICAgIEBpbmNsdWRlIHByb2dyZXNzLWNvbnRhaW5lcjtcblxuICAgICAgLy8gTWV0ZXJcbiAgICAgIC5tZXRlciB7XG4gICAgICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyO1xuXG4gICAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXIoJGJnOiRwcm9ncmVzcy1tZXRlci1zZWNvbmRhcnktY29sb3IpOyB9XG4gICAgICAgICYuc3VjY2VzcyB7IEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyKCRiZzokcHJvZ3Jlc3MtbWV0ZXItc3VjY2Vzcy1jb2xvcik7IH1cbiAgICAgICAgJi5hbGVydCB7IEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyKCRiZzokcHJvZ3Jlc3MtbWV0ZXItYWxlcnQtY29sb3IpOyB9XG4gICAgICB9XG4gICAgICAmLnNlY29uZGFyeSAubWV0ZXIgeyBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcigkYmc6JHByb2dyZXNzLW1ldGVyLXNlY29uZGFyeS1jb2xvcik7IH1cbiAgICAgICYuc3VjY2VzcyAubWV0ZXIgeyBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcigkYmc6JHByb2dyZXNzLW1ldGVyLXN1Y2Nlc3MtY29sb3IpOyB9XG4gICAgICAmLmFsZXJ0IC5tZXRlciB7IEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyKCRiZzokcHJvZ3Jlc3MtbWV0ZXItYWxlcnQtY29sb3IpOyB9XG5cbiAgICAgICYucmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKCRwcm9ncmVzcy1iYXItYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIC5tZXRlciB7IEBpbmNsdWRlIHJhZGl1cygkcHJvZ3Jlc3MtYmFyLWJvcmRlci1yYWRpdXMgLSAxKTsgfVxuICAgICAgfVxuXG4gICAgICAmLnJvdW5kIHsgQGluY2x1ZGUgcmFkaXVzKDEwMDBweCk7XG4gICAgICAgIC5tZXRlciB7IEBpbmNsdWRlIHJhZGl1cyg5OTlweCk7IH1cbiAgICAgIH1cblxuICAgIH1cblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQG5hbWUgX3JhbmdlLXNsaWRlci5zY3NzXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWwuc2Nzc1xuLy9cblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG5cbiRpbmNsdWRlLWh0bWwtcmFuZ2Utc2xpZGVyLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gVGhlc2UgdmFyaWFibGVzIGRlZmluZSB0aGUgc2xpZGVyIGJhciBzdHlsZXNcbiRyYW5nZS1zbGlkZXItYmFyLXdpZHRoOiAxMDAlICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1iYXItaGVpZ2h0OiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbiRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybyAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItcm91bmQ6ICRnbG9iYWwtcm91bmRlZCAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItYmFyLWJnLWNvbG9yOiAkZ2hvc3QgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWFjdGl2ZS1zZWdtZW50LWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMSUpICFkZWZhdWx0O1xuXG4vLyBWZXJ0aWNhbCBiYXIgc3R5bGVzXG4kcmFuZ2Utc2xpZGVyLXZlcnRpY2FsLWJhci13aWR0aDogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci12ZXJ0aWNhbC1iYXItaGVpZ2h0OiByZW0tY2FsYygyMDApICFkZWZhdWx0O1xuXG4vLyBUaGVzZSB2YXJpYWJsZXMgZGVmaW5lIHRoZSBzbGlkZXIgaGFuZGxlIHN0eWxlc1xuJHJhbmdlLXNsaWRlci1oYW5kbGUtd2lkdGg6IHJlbS1jYWxjKDMyKSAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItaGFuZGxlLWhlaWdodDogcmVtLWNhbGMoMjIpICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1oYW5kbGUtcG9zaXRpb24tdG9wOiByZW0tY2FsYygtNSkgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1iZy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItaGFuZGxlLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItY29sb3I6IG5vbmUgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1oYW5kbGUtcm91bmQ6ICRnbG9iYWwtcm91bmRlZCAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItaGFuZGxlLWJnLWhvdmVyLWNvbG9yOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTEyJSkgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1jdXJzb3I6IHBvaW50ZXIgIWRlZmF1bHQ7XG5cbiRyYW5nZS1zbGlkZXItZGlzYWJsZWQtb3BhY2l0eTogLjcgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWRpc2FibGVkLWN1cnNvcjogJGN1cnNvci1kaXNhYmxlZC12YWx1ZSAhZGVmYXVsdDtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbkBtaXhpbiByYW5nZS1zbGlkZXItYmFyLWJhc2UoJHZlcnRpY2FsOiBmYWxzZSkge1xuICBib3JkZXI6ICRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci13aWR0aCAkcmFuZ2Utc2xpZGVyLWJhci1ib3JkZXItc3R5bGUgJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLWNvbG9yO1xuICBtYXJnaW46IHJlbS1jYWxjKDIwIDApO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAkcmFuZ2Utc2xpZGVyLXZlcnRpY2FsLWJhci1oZWlnaHQ7XG4gICAgd2lkdGg6ICRyYW5nZS1zbGlkZXItdmVydGljYWwtYmFyLXdpZHRoO1xuICB9IEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6ICRyYW5nZS1zbGlkZXItYmFyLWhlaWdodDtcbiAgICB3aWR0aDogJHJhbmdlLXNsaWRlci1iYXItd2lkdGg7XG4gIH1cbn1cbkBtaXhpbiByYW5nZS1zbGlkZXItYmFyLXN0eWxlKFxuICAkYmc6IHRydWUsXG4gICRyYWRpdXM6IGZhbHNlLFxuICAkcm91bmQ6IGZhbHNlLFxuICAkZGlzYWJsZWQ6IGZhbHNlKSB7XG4gIEBpZiAkYmcgPT0gdHJ1ZSB7IGJhY2tncm91bmQ6ICRyYW5nZS1zbGlkZXItYmFyLWJnLWNvbG9yOyB9XG4gIEBpZiAkcmFkaXVzID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJHJhbmdlLXNsaWRlci1yYWRpdXMpOyB9XG4gIEBpZiAkcm91bmQgPT0gdHJ1ZSB7IEBpbmNsdWRlIHJhZGl1cygkcmFuZ2Utc2xpZGVyLXJvdW5kKTsgfVxuICBAaWYgJGRpc2FibGVkID09IHRydWUge1xuICAgIGN1cnNvcjogJHJhbmdlLXNsaWRlci1kaXNhYmxlZC1jdXJzb3I7XG4gICAgb3BhY2l0eTogJHJhbmdlLXNsaWRlci1kaXNhYmxlZC1vcGFjaXR5O1xuICB9XG59XG5cbkBtaXhpbiByYW5nZS1zbGlkZXItYmFyKFxuICAkYmc6ICRyYW5nZS1zbGlkZXItYmFyLWJnLWNvbG9yLFxuICAkcmFkaXVzOmZhbHNlKSB7XG4gIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1iYXItYmFzZTtcbiAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1zdHlsZTtcbn1cblxuQG1peGluIHJhbmdlLXNsaWRlci1oYW5kbGUtYmFzZSgpIHtcbiAgYm9yZGVyOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItd2lkdGggJHJhbmdlLXNsaWRlci1oYW5kbGUtYm9yZGVyLXN0eWxlICRyYW5nZS1zbGlkZXItaGFuZGxlLWJvcmRlci1jb2xvcjtcbiAgY3Vyc29yOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1jdXJzb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1wb3NpdGlvbi10b3A7XG4gIHdpZHRoOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgei1pbmRleDogMTtcblxuICAvLyBUaGlzIHJlbW92ZXMgdGhlIDMwMG1zIHRvdWNoIGRlbGF5IG9uIFdpbmRvd3MgOFxuICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuXG5AbWl4aW4gcmFuZ2Utc2xpZGVyLWhhbmRsZS1zdHlsZShcbiAgJGJnOiB0cnVlLFxuICAkcmFkaXVzOiBmYWxzZSxcbiAgJHJvdW5kOiBmYWxzZSxcbiAgJGRpc2FibGVkOiBmYWxzZSkge1xuICBAaWYgJGJnID09IHRydWUgeyBiYWNrZ3JvdW5kOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1iZy1jb2xvcjsgfVxuICBAaWYgJHJhZGl1cyA9PSB0cnVlIHsgQGluY2x1ZGUgcmFkaXVzKCRyYW5nZS1zbGlkZXItcmFkaXVzKTsgfVxuICBAaWYgJHJvdW5kID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJHJhbmdlLXNsaWRlci1yb3VuZCk7IH1cbiAgQGlmICRkaXNhYmxlZCA9PSB0cnVlIHtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGVmYXVsdC12YWx1ZTtcbiAgICBvcGFjaXR5OiAkcmFuZ2Utc2xpZGVyLWRpc2FibGVkLW9wYWNpdHk7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJHJhbmdlLXNsaWRlci1oYW5kbGUtYmctaG92ZXItY29sb3I7XG4gIH1cbn1cblxuQG1peGluIHJhbmdlLXNsaWRlci1oYW5kbGUoKSB7XG4gIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1oYW5kbGUtYmFzZTtcbiAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWhhbmRsZS1zdHlsZTtcbn1cblxuLy8gQ1NTIEdlbmVyYXRpb25cbkBpbmNsdWRlIGV4cG9ydHMoXCJyYW5nZS1zbGlkZXItYmFyXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtcmFuZ2Utc2xpZGVyLWNsYXNzZXMge1xuICAgIC5yYW5nZS1zbGlkZXIge1xuICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1iYXNlO1xuICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1zdHlsZSgkYmc6dHJ1ZSwgJHJhZGl1czpmYWxzZSk7XG4gICAgICAmLnZlcnRpY2FsLXJhbmdlIHtcbiAgICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1iYXNlKCR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIC5yYW5nZS1zbGlkZXItaGFuZGxlIHtcbiAgICAgICAgICBib3R0b206IC0oJHJhbmdlLXNsaWRlci12ZXJ0aWNhbC1iYXItaGVpZ2h0IC0gJHJhbmdlLXNsaWRlci1oYW5kbGUtd2lkdGgpO1xuICAgICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogLSgkcmFuZ2Utc2xpZGVyLWhhbmRsZS13aWR0aCAvIDQpO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG4gICAgICAgIC5yYW5nZS1zbGlkZXItYWN0aXZlLXNlZ21lbnQge1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogaW5pdGlhbDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIHdpZHRoOiAkcmFuZ2Utc2xpZGVyLWJhci1oZWlnaHQgLSByZW0tY2FsYygoc3RyaXAtdW5pdCgkcmFuZ2Utc2xpZGVyLWJhci1ib3JkZXItd2lkdGgpICogMikpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLnJhZGl1cyB7XG4gICAgICAgIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1iYXItc3R5bGUoJHJhZGl1czp0cnVlKTtcbiAgICAgICAgLnJhbmdlLXNsaWRlci1oYW5kbGUgeyBAaW5jbHVkZSByYW5nZS1zbGlkZXItaGFuZGxlLXN0eWxlKCRyYWRpdXM6IHRydWUpOyB9XG4gICAgICB9XG4gICAgICAmLnJvdW5kIHtcbiAgICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1zdHlsZSgkcm91bmQ6dHJ1ZSk7XG4gICAgICAgIC5yYW5nZS1zbGlkZXItaGFuZGxlIHsgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWhhbmRsZS1zdHlsZSgkcm91bmQ6IHRydWUpOyB9XG4gICAgICB9XG4gICAgICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICAgIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1iYXItc3R5bGUoJGRpc2FibGVkOnRydWUpO1xuICAgICAgICAucmFuZ2Utc2xpZGVyLWhhbmRsZSB7IEBpbmNsdWRlIHJhbmdlLXNsaWRlci1oYW5kbGUtc3R5bGUoJGRpc2FibGVkOiB0cnVlKTsgfVxuICAgICAgfVxuICAgIH1cbiAgICAucmFuZ2Utc2xpZGVyLWFjdGl2ZS1zZWdtZW50IHtcbiAgICAgIGJhY2tncm91bmQ6ICRyYW5nZS1zbGlkZXItYWN0aXZlLXNlZ21lbnQtYmctY29sb3I7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogaW5oZXJpdDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogJHJhbmdlLXNsaWRlci1iYXItaGVpZ2h0IC0gcmVtLWNhbGMoKHN0cmlwLXVuaXQoJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLXdpZHRoKSAqIDIpKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gICAgLnJhbmdlLXNsaWRlci1oYW5kbGUge1xuICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWhhbmRsZS1iYXNlO1xuICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWhhbmRsZS1zdHlsZSgkYmc6dHJ1ZSwgJHJhZGl1czogZmFsc2UpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2dyaWQnO1xuXG4vL1xuLy8gQG5hbWUgX3JldmVhbC5zY3NzXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWwuc2Nzc1xuLy9cblxuJGluY2x1ZGUtaHRtbC1yZXZlYWwtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgc3R5bGUgb2YgdGhlIHJldmVhbCBvdmVybGF5LlxuJHJldmVhbC1vdmVybGF5LWJnOiByZ2JhKCRibGFjaywgLjQ1KSAhZGVmYXVsdDtcbiRyZXZlYWwtb3ZlcmxheS1iZy1vbGQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHN0eWxlIG9mIHRoZSBtb2RhbCBpdHNlbGYuXG4kcmV2ZWFsLW1vZGFsLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG4kcmV2ZWFsLXBvc2l0aW9uLXRvcDogcmVtLWNhbGMoMTAwKSAhZGVmYXVsdDtcbiRyZXZlYWwtZGVmYXVsdC13aWR0aDogODAlICFkZWZhdWx0O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRyb3ctd2lkdGggIWRlZmF1bHQ7XG4kcmV2ZWFsLW1vZGFsLXBhZGRpbmc6IHJlbS1jYWxjKDMwKSAhZGVmYXVsdDtcbiRyZXZlYWwtYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssLjQpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIHJldmVhbCBjbG9zZSBidXR0b25cbiRyZXZlYWwtY2xvc2UtZm9udC1zaXplOiByZW0tY2FsYyg0MCkgIWRlZmF1bHQ7XG4kcmV2ZWFsLWNsb3NlLXRvcDogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuJHJldmVhbC1jbG9zZS1zaWRlOiByZW0tY2FsYygyMikgIWRlZmF1bHQ7XG4kcmV2ZWFsLWNsb3NlLWNvbG9yOiAkYmFzZSAhZGVmYXVsdDtcbiRyZXZlYWwtY2xvc2Utd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBkZWZhdWx0IHJhZGl1cyB1c2VkIHRocm91Z2hvdXQgdGhlIGNvcmUuXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG4kcmV2ZWFsLXJvdW5kOiAkZ2xvYmFsLXJvdW5kZWQgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBtb2RhbCBib3JkZXJcbiRyZXZlYWwtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRyZXZlYWwtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kcmV2ZWFsLWJvcmRlci1jb2xvcjogJHN0ZWVsICFkZWZhdWx0O1xuXG4kcmV2ZWFsLW1vZGFsLWNsYXNzOiBcInJldmVhbC1tb2RhbFwiICFkZWZhdWx0O1xuJGNsb3NlLXJldmVhbC1tb2RhbC1jbGFzczogXCJjbG9zZS1yZXZlYWwtbW9kYWxcIiAhZGVmYXVsdDtcblxuLy8gU2V0IGJhc2Ugei1pbmRleFxuJHotaW5kZXgtYmFzZTogMTAwNTtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSB0aGUgcmV2ZWFsIGJhY2tncm91bmQgb3ZlcmxheSBzdHlsZXNcbkBtaXhpbiByZXZlYWwtYmcoICRpbmNsdWRlLXotaW5kZXgtdmFsdWU6IHRydWUgKSB7XG4gIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTsgLy8gYWxsb3dzIG1vZGFsIGJhY2tncm91bmQgdG8gZXh0ZW5kIGJleW9uZCB3aW5kb3cgcG9zaXRpb25cbiAgYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJnLW9sZDsgLy8gQXV0b3ByZWZpeGVyIHNob3VsZCBiZSB1c2VkIHRvIGF2b2lkIHN1Y2ggdmFyaWFibGVzIG5lZWRlZCB3aGVuIEZvdW5kYXRpb24gZm9yIFNpdGVzIGNhbiBkbyBzbyBpbiB0aGUgbmVhciBmdXR1cmUuXG4gIGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iZztcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBub25lO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IGlmKCAkaW5jbHVkZS16LWluZGV4LXZhbHVlLCAkei1pbmRleC1iYXNlIC0gMSwgYXV0byApO1xuICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBzdHJ1Y3R1cmUgb2YgYSByZXZlYWwgbW9kYWxcbi8vXG4vLyAkYmFzZS1zdHlsZSAtIFByb3ZpZGVzIHJldmVhbCBiYXNlIHN0eWxlcywgY2FuIGJlIHNldCB0byBmYWxzZSB0byBvdmVycmlkZS4gRGVmYXVsdDogdHJ1ZSwgT3B0aW9uczogZmFsc2Vcbi8vICR3aWR0aCAtIFNldHMgcmV2ZWFsIHdpZHRoIERlZmF1bHQ6ICRyZXZlYWwtZGVmYXVsdC13aWR0aCB8fCA4MCVcbi8vXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2UoICRiYXNlLXN0eWxlOiB0cnVlLCAkd2lkdGg6JHJldmVhbC1kZWZhdWx0LXdpZHRoLCAkbWF4LXdpZHRoOiRyZXZlYWwtbWF4LXdpZHRoLCAkYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXMpIHtcbiAgQGlmICRiYXNlLXN0eWxlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6MDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogJHotaW5kZXgtYmFzZTtcbiAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcblxuICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICBtaW4taGVpZ2h0OjEwMHZoO1xuICAgIH1cblxuICAgIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAgIC5jb2x1bW4sIC5jb2x1bW5zIHsgbWluLXdpZHRoOiAwOyB9XG5cbiAgICAvLyBHZXQgcmlkIG9mIG1hcmdpbiBmcm9tIGZpcnN0IGFuZCBsYXN0IGVsZW1lbnQgaW5zaWRlIG1vZGFsXG4gICAgPiA6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwOyB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICB9XG5cbiAgQGlmICR3aWR0aCB7XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogJHdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgcmV2ZWFsIG1vZGFsIGRlZmF1bHRzXG4vL1xuLy8gJGJnIC0gU2V0cyBiYWNrZ3JvdW5kIGNvbG9yIG9mIHJldmVhbCBtb2RhbC4gRGVmYXVsdDogJHJldmVhbC1tb2RhbC1iZyB8fCAkd2hpdGVcbi8vICRwYWRkaW5nIC0gUGFkZGluZyB0byBhcHBseSB0byByZXZlYWwgbW9kYWwuIERlZmF1bHQ6ICRyZXZlYWwtbW9kYWwtcGFkZGluZy5cbi8vICRib3JkZXIgLSBDaG9vc2Ugd2hldGhlciByZXZlYWwgdXNlcyBhIGJvcmRlci4gRGVmYXVsdDogdHJ1ZSwgT3B0aW9uczogZmFsc2Vcbi8vICRib3JkZXItc3R5bGUgLSBTZXQgcmV2ZWFsIGJvcmRlciBzdHlsZS4gRGVmYXVsdDogJHJldmVhbC1ib3JkZXItc3R5bGUgfHwgc29saWRcbi8vICRib3JkZXItd2lkdGggLSBXaWR0aCBvZiBib3JkZXIgKGkuZS4gMXB4KS4gRGVmYXVsdDogJHJldmVhbC1ib3JkZXItd2lkdGguXG4vLyAkYm9yZGVyLWNvbG9yIC0gQ29sb3Igb2YgYm9yZGVyLiBEZWZhdWx0OiAkcmV2ZWFsLWJvcmRlci1jb2xvci5cbi8vICRib3gtc2hhZG93IC0gQ2hvb3NlIHdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgdGhlIGRlZmF1bHQgYm94LXNoYWRvdy4gRGVmYXVsdDogdHJ1ZSwgT3B0aW9uczogZmFsc2Vcbi8vICRyYWRpdXMgLSBJZiB0cnVlLCBzZXQgdG8gbW9kYWwgcmFkaXVzIHdoaWNoIGlzICRnbG9iYWwtcmFkaXVzIHx8IGV4cGxpY2l0bHkgc2V0IHJhZGl1cyBhbW91bnQgaW4gcHggKGV4LiAkcmFkaXVzOjEwcHgpLiBEZWZhdWx0OiBmYWxzZVxuLy8gJHRvcC1vZmZzZXQgLSBEZWZhdWx0OiAkcmV2ZWFsLXBvc2l0aW9uLXRvcCB8fCA1MHB4XG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXN0eWxlKFxuICAkYmc6ZmFsc2UsXG4gICRwYWRkaW5nOmZhbHNlLFxuICAkYm9yZGVyOmZhbHNlLFxuICAkYm9yZGVyLXN0eWxlOiRyZXZlYWwtYm9yZGVyLXN0eWxlLFxuICAkYm9yZGVyLXdpZHRoOiRyZXZlYWwtYm9yZGVyLXdpZHRoLFxuICAkYm9yZGVyLWNvbG9yOiRyZXZlYWwtYm9yZGVyLWNvbG9yLFxuICAkYm94LXNoYWRvdzpmYWxzZSxcbiAgJHJhZGl1czpmYWxzZSxcbiAgJHRvcC1vZmZzZXQ6ZmFsc2UpIHtcblxuICBAaWYgJGJnIHsgYmFja2dyb3VuZC1jb2xvcjogJGJnOyB9XG4gIEBpZiAkcGFkZGluZyAhPSBmYWxzZSB7IHBhZGRpbmc6ICRwYWRkaW5nOyB9XG5cbiAgQGlmICRib3JkZXIgeyBib3JkZXI6ICRib3JkZXItc3R5bGUgJGJvcmRlci13aWR0aCAkYm9yZGVyLWNvbG9yOyB9XG5cbiAgLy8gV2UgY2FuIGNob29zZSB3aGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIHRoZSBkZWZhdWx0IGJveC1zaGFkb3cuXG4gIEBpZiAkYm94LXNoYWRvdyB7XG4gICAgYm94LXNoYWRvdzogJHJldmVhbC1ib3gtc2hhZG93O1xuICB9XG4gIEBlbHNle1xuICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAvLyBXZSBjYW4gY29udHJvbCBob3cgbXVjaCByYWRpdXMgaXMgdXNlZCBvbiB0aGUgbW9kYWxcbiAgQGlmICRyYWRpdXMgPT0gdHJ1ZSB7IEBpbmNsdWRlIHJhZGl1cygkcmV2ZWFsLXJhZGl1cyk7IH1cbiAgQGVsc2UgaWYgJHJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygkcmFkaXVzKTsgfVxuXG4gIEBpZiAkdG9wLW9mZnNldCB7XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgdG9wOiAkdG9wLW9mZnNldDtcbiAgICB9XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIGEgY2xvc2UgYnV0dG9uIGZvciB0aGUgcmV2ZWFsIG1vZGFsXG4vL1xuLy8gJGNvbG9yIC0gRGVmYXVsdDogJHJldmVhbC1jbG9zZS1jb2xvciB8fCAkYmFzZVxuQG1peGluIHJldmVhbC1jbG9zZSgkY29sb3I6JHJldmVhbC1jbG9zZS1jb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZTtcbiAgZm9udC1zaXplOiAkcmV2ZWFsLWNsb3NlLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRyZXZlYWwtY2xvc2Utd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6ICRyZXZlYWwtY2xvc2UtdG9wO1xuICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkcmV2ZWFsLWNsb3NlLXNpZGU7XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJyZXZlYWxcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1yZXZlYWwtY2xhc3NlcyB7XG5cbiAgICAvLyBSZXZlYWwgTW9kYWxzXG4gICAgLnJldmVhbC1tb2RhbC1iZyB7IEBpbmNsdWRlIHJldmVhbC1iZzsgfVxuXG4gICAgLiN7JHJldmVhbC1tb2RhbC1jbGFzc30ge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtc3R5bGUoXG4gICAgICAgICRiZzokcmV2ZWFsLW1vZGFsLWJnLFxuICAgICAgICAkcGFkZGluZzokcmV2ZWFsLW1vZGFsLXBhZGRpbmcsXG4gICAgICAgICRib3JkZXI6dHJ1ZSxcbiAgICAgICAgJGJveC1zaGFkb3c6dHJ1ZSxcbiAgICAgICAgJHJhZGl1czpmYWxzZSxcbiAgICAgICAgJHRvcC1vZmZzZXQ6JHJldmVhbC1wb3NpdGlvbi10b3BcbiAgICAgICk7XG5cbiAgICAgICYucmFkaXVzIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXN0eWxlKCRyYWRpdXM6dHJ1ZSk7IH1cbiAgICAgICYucm91bmQgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXN0eWxlKCRyYWRpdXM6JHJldmVhbC1yb3VuZCk7IH1cbiAgICAgICYuY29sbGFwc2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtc3R5bGUoJHBhZGRpbmc6MCk7IH1cbiAgICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZShmYWxzZSwgMzAlKTsgfVxuICAgICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlKGZhbHNlLCA0MCUpOyB9XG4gICAgICAmLm1lZGl1bSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZShmYWxzZSwgNjAlKTsgfVxuICAgICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlKGZhbHNlLCA3MCUpOyB9XG4gICAgICAmLnhsYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlKGZhbHNlLCA5NSUpOyB9XG4gICAgICAmLmZ1bGwge1xuICAgICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZShmYWxzZSwgMTAwJSk7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIGhlaWdodDoxMDAlO1xuICAgICAgICBsZWZ0OjA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OjEwMHZoO1xuICAgICAgICB0b3A6MDtcbiAgICAgIH1cblxuICAgICAgLy8gTW9kYWxzIHB1c2hlZCB0byBiYWNrXG4gICAgICAmLnRvYmFjayB7XG4gICAgICAgIHotaW5kZXg6ICR6LWluZGV4LWJhc2UgLSAyO1xuICAgICAgfVxuXG4gICAgICAuI3skY2xvc2UtcmV2ZWFsLW1vZGFsLWNsYXNzfSB7IEBpbmNsdWRlIHJldmVhbC1jbG9zZTsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG5cbiRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBwYWRkaW5nLlxuJHNpZGUtbmF2LXBhZGRpbmc6IHJlbS1jYWxjKDE0IDApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBsaXN0IHN0eWxlcy5cbiRzaWRlLW5hdi1saXN0LXR5cGU6IG5vbmUgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtbGlzdC1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcbiRzaWRlLW5hdi1saXN0LW1hcmdpbjogcmVtLWNhbGMoMCAwIDcgMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGxpbmsgc3R5bGVzLlxuJHNpZGUtbmF2LWxpbmstY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHNpZGUtbmF2LWxpbmstY29sb3ItYWN0aXZlOiBzY2FsZS1jb2xvcigkc2lkZS1uYXYtbGluay1jb2xvciwgJGxpZ2h0bmVzczogMzAlKSAhZGVmYXVsdDtcbiRzaWRlLW5hdi1saW5rLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkc2lkZS1uYXYtbGluay1jb2xvciwgJGxpZ2h0bmVzczogMzAlKSAhZGVmYXVsdDtcbiRzaWRlLW5hdi1saW5rLWJnLWhvdmVyOiBoc2xhKDAsIDAsIDAsIC4wMjUpICFkZWZhdWx0O1xuJHNpZGUtbmF2LWxpbmstbWFyZ2luOiAwICFkZWZhdWx0O1xuJHNpZGUtbmF2LWxpbmstcGFkZGluZzogcmVtLWNhbGMoNyAxNCkgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtZm9udC13ZWlnaHQtYWN0aXZlOiAkc2lkZS1uYXYtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJHNpZGUtbmF2LWZvbnQtZmFtaWx5LWFjdGl2ZTogJHNpZGUtbmF2LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBoZWFkaW5nIHN0eWxlcy5cbiRzaWRlLW5hdi1oZWFkaW5nLWNvbG9yOiAkc2lkZS1uYXYtbGluay1jb2xvciAhZGVmYXVsdDtcbiRzaWRlLW5hdi1oZWFkaW5nLWZvbnQtc2l6ZTogJHNpZGUtbmF2LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRzaWRlLW5hdi1oZWFkaW5nLWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuJHNpZGUtbmF2LWhlYWRpbmctdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlc1xuJHNpZGUtbmF2LWRpdmlkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xuJHNpZGUtbmF2LWRpdmlkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJHNpZGUtbmF2LWRpdmlkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTEwJSkgIWRlZmF1bHQ7XG5cblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cblxuLy8gV2UgdXNlIHRoaXMgdG8gc3R5bGUgdGhlIHNpZGUtbmF2XG4vL1xuLy8gJGRpdmlkZXItY29sb3IgLSBCb3JkZXIgY29sb3Igb2YgZGl2aWRlci4gRGVmYXVsdDogJHNpZGUtbmF2LWRpdmlkZXItY29sb3IuXG4vLyAkZm9udC1zaXplIC0gRm9udCBzaXplIG9mIG5hdiBpdGVtcy4gRGVmYXVsdDogJHNpZGUtbmF2LWZvbnQtc2l6ZS5cbi8vICRsaW5rLWNvbG9yIC0gQ29sb3Igb2YgbmF2aWdhdGlvbiBsaW5rcy4gRGVmYXVsdDogJHNpZGUtbmF2LWxpbmstY29sb3IuXG4vLyAkbGluay1jb2xvci1ob3ZlciAtIENvbG9yIG9mIG5hdmlnYXRpb24gbGlua3Mgd2hlbiBob3ZlcmVkLiBEZWZhdWx0OiAkc2lkZS1uYXYtbGluay1jb2xvci1ob3Zlci5cbkBtaXhpbiBzaWRlLW5hdihcbiAgJGRpdmlkZXItY29sb3I6JHNpZGUtbmF2LWRpdmlkZXItY29sb3IsXG4gICRmb250LXNpemU6JHNpZGUtbmF2LWZvbnQtc2l6ZSxcbiAgJGxpbmstY29sb3I6JHNpZGUtbmF2LWxpbmstY29sb3IsXG4gICRsaW5rLWNvbG9yLWFjdGl2ZTokc2lkZS1uYXYtbGluay1jb2xvci1hY3RpdmUsXG4gICRsaW5rLWNvbG9yLWhvdmVyOiRzaWRlLW5hdi1saW5rLWNvbG9yLWhvdmVyLFxuICAkbGluay1iZy1ob3Zlcjokc2lkZS1uYXYtbGluay1iZy1ob3Zlcikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6ICRzaWRlLW5hdi1mb250LWZhbWlseTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJHNpZGUtbmF2LWxpc3QtcG9zaXRpb247XG4gIGxpc3Qtc3R5bGUtdHlwZTogJHNpZGUtbmF2LWxpc3QtdHlwZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAkc2lkZS1uYXYtcGFkZGluZztcblxuICBsaSB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkc2lkZS1uYXYtZm9udC13ZWlnaHQ7XG4gICAgbWFyZ2luOiAkc2lkZS1uYXYtbGlzdC1tYXJnaW47XG5cbiAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogJHNpZGUtbmF2LWxpbmstbWFyZ2luO1xuICAgICAgcGFkZGluZzogJHNpZGUtbmF2LWxpbmstcGFkZGluZztcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGxpbmstYmctaG92ZXI7XG4gICAgICAgIGNvbG9yOiAkbGluay1jb2xvci1ob3ZlcjtcbiAgICAgIH1cbiAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICRsaW5rLWNvbG9yLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFjdGl2ZSA+IGE6Zmlyc3QtY2hpbGQ6bm90KC5idXR0b24pIHtcbiAgICAgIGNvbG9yOiAkc2lkZS1uYXYtbGluay1jb2xvci1hY3RpdmU7XG4gICAgICBmb250LWZhbWlseTogJHNpZGUtbmF2LWZvbnQtZmFtaWx5LWFjdGl2ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkc2lkZS1uYXYtZm9udC13ZWlnaHQtYWN0aXZlO1xuICAgIH1cblxuICAgICYuZGl2aWRlciB7XG4gICAgICBib3JkZXItdG9wOiAkc2lkZS1uYXYtZGl2aWRlci1zaXplICRzaWRlLW5hdi1kaXZpZGVyLXN0eWxlO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkZGl2aWRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmLmhlYWRpbmcge1xuICAgICAgY29sb3I6ICRzaWRlLW5hdi1oZWFkaW5nLWNvbG9yO1xuICAgICAgZm9udDoge1xuICAgICAgICBzaXplOiAkc2lkZS1uYXYtaGVhZGluZy1mb250LXNpemU7XG4gICAgICAgIHdlaWdodDogJHNpZGUtbmF2LWhlYWRpbmctZm9udC13ZWlnaHQ7XG4gICAgICB9XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogJHNpZGUtbmF2LWhlYWRpbmctdGV4dC10cmFuc2Zvcm07XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJzaWRlLW5hdlwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzIHtcbiAgICAuc2lkZS1uYXYge0BpbmNsdWRlIHNpZGUtbmF2O31cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2J1dHRvbnMnO1xuQGltcG9ydCAnZHJvcGRvd24tYnV0dG9ucyc7XG5cbi8vXG4vLyBAbmFtZSBfc3BsaXQtYnV0dG9ucy5zY3NzXG4vLyBAZGVwZW5kZW5jaWVzIF9idXR0b25zLnNjc3MsIF9nbG9iYWwuc2Nzc1xuLy9cblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG5cbiRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgZGlmZmVyZW50IHNoYXJlZCBzdHlsZXMgZm9yIFNwbGl0IEJ1dHRvbnNcbiRzcGxpdC1idXR0b24tZnVuY3Rpb24tZmFjdG9yOiAxMCUgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtY29sb3ItYWx0OiAkb2lsICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1hY3RpdmUtYmctdGludDogcmdiYSgwLDAsMCwwLjEpICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1zcGFuLWJvcmRlci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aW55IHNwbGl0IGJ1dHRvbnNcbiRzcGxpdC1idXR0b24tcGFkZGluZy10bnk6ICRidXR0b24tcGlwLXRueSAqIDEwICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLXRueTogJGJ1dHRvbi1waXAtdG55ICogNiAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLXNpemUtdG55OiAkYnV0dG9uLXBpcC10bnkgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC10b3AtdG55OiAkYnV0dG9uLXBpcC10bnkgKiAyICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC10bnk6IHJlbS1jYWxjKC02KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgc21hbGwgc3BsaXQgYnV0dG9uc1xuJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLXNtbDogJGJ1dHRvbi1waXAtc21sICogMTAgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtc21sOiAkYnV0dG9uLXBpcC1zbWwgKiA2ICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1zbWw6ICRidXR0b24tcGlwLXNtbCAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLXRvcC1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDEuNSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtc21sOiByZW0tY2FsYygtNikgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIG1lZGl1bSBzcGxpdCBidXR0b25zXG4kc3BsaXQtYnV0dG9uLXBhZGRpbmctbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiA5ICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLW1lZDogJGJ1dHRvbi1waXAtbWVkICogNS41ICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1tZWQ6ICRidXR0b24tcGlwLW1lZCAtIHJlbS1jYWxjKDMpICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtdG9wLW1lZDogJGJ1dHRvbi1waXAtbWVkICogMS41ICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1tZWQ6IHJlbS1jYWxjKC02KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbGFyZ2Ugc3BsaXQgYnV0dG9uc1xuJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLWxyZzogJGJ1dHRvbi1waXAtbHJnICogOCAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC1scmc6ICRidXR0b24tcGlwLWxyZyAqIDUgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC1zaXplLWxyZzogJGJ1dHRvbi1waXAtbHJnIC0gcmVtLWNhbGMoNikgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC10b3AtbHJnOiAkYnV0dG9uLXBpcC1scmcgKyByZW0tY2FsYyg1KSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtbHJnOiByZW0tY2FsYygtNikgIWRlZmF1bHQ7XG5cblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBzcGxpdCBidXR0b25zIHRoYXQgYnVpbGQgdXBvbiB0aGUgYnV0dG9uIG1peGluc1xuLy9cbi8vICRwYWRkaW5nIC0gVHlwZSBvZiBwYWRkaW5nIHRvIGFwcGx5LiBEZWZhdWx0OiBtZWRpdW0uIE9wdGlvbnM6IHRpbnksIHNtYWxsLCBtZWRpdW0sIGxhcmdlLlxuLy8gJHBpcC1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS4gRGVmYXVsdDogJHNwbGl0LWJ1dHRvbi1waXAtY29sb3IuXG4vLyAkc3Bhbi1ib3JkZXIgLSBCb3JkZXIgY29sb3Igb2YgYnV0dG9uIGRpdmlkZXIuIERlZmF1bHQ6ICRzcGxpdC1idXR0b24tc3Bhbi1ib3JkZXItY29sb3IuXG4vLyAkYmFzZS1zdHlsZSAtIEFwcGx5IGJhc2Ugc3R5bGUgdG8gc3BsaXQgYnV0dG9uLiBEZWZhdWx0OiB0cnVlLlxuQG1peGluIHNwbGl0LWJ1dHRvbihcbiAgJHBhZGRpbmc6bWVkaXVtLFxuICAkcGlwLWNvbG9yOiRzcGxpdC1idXR0b24tcGlwLWNvbG9yLCBcbiAgJHNwYW4tYm9yZGVyOiRzcGxpdC1idXR0b24tc3Bhbi1ib3JkZXItY29sb3IsIFxuICAkYmFzZS1zdHlsZTp0cnVlKSB7XG5cbiAgLy8gV2l0aCB0aGlzLCB3ZSBjYW4gY29udHJvbCB3aGV0aGVyIG9yIG5vdCB0aGUgYmFzZSBzdHlsZXMgY29tZSB0aHJvdWdoLlxuICBAaWYgJGJhc2Utc3R5bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC8vIFN0eWxpbmcgZm9yIHRoZSBzcGxpdCBhcnJvdyBjbGlja2FibGUgYXJlYVxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9OiBzb2xpZCAxcHg7XG5cbiAgICAgIC8vIEJ1aWxkaW5nIHRoZSB0cmlhbmdsZSBwaXAgaW5kaWNhdG9yXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBpbnNldDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiA1MCU7XG4gICAgICB9XG5cbiAgICAgICY6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogJHNwbGl0LWJ1dHRvbi1hY3RpdmUtYmctdGludDsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbnRyb2wgdGhlIGJvcmRlciBjb2xvciBmb3IgdGhlIHNwYW4gYXJlYSBvZiB0aGUgc3BsaXQgYnV0dG9uXG4gIEBpZiAkc3Bhbi1ib3JkZXIge1xuICAgIHNwYW4ge1xuICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LWNvbG9yOiAkc3Bhbi1ib3JkZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGUgb2YgdGhlIGJ1dHRvbiBhbmQgY2xpY2thYmxlIGFyZWEgZm9yIHRpbnkgc2l6ZXNcbiAgQGlmICRwYWRkaW5nID09IHRpbnkge1xuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLXRueTtcblxuICAgIHNwYW4geyB3aWR0aDogJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLXRueTtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkc3BsaXQtYnV0dG9uLXBpcC1zaXplLXRueTtcbiAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LXRueTtcbiAgICAgICAgdG9wOiA0OCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGUgb2YgdGhlIGJ1dHRvbiBhbmQgY2xpY2thYmxlIGFyZWEgZm9yIHNtYWxsIHNpemVzXG4gIEBlbHNlIGlmICRwYWRkaW5nID09IHNtYWxsIHtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRzcGxpdC1idXR0b24tcGFkZGluZy1zbWw7XG5cbiAgICBzcGFuIHsgd2lkdGg6ICRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC1zbWw7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1zbWw7XG4gICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1zbWw7XG4gICAgICAgIHRvcDogNDglO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlIG9mIHRoZSBidXR0b24gYW5kIGNsaWNrYWJsZSBhcmVhIGZvciBkZWZhdWx0IChtZWRpdW0pIHNpemVzXG4gIEBlbHNlIGlmICRwYWRkaW5nID09IG1lZGl1bSB7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkc3BsaXQtYnV0dG9uLXBhZGRpbmctbWVkO1xuXG4gICAgc3BhbiB7IHdpZHRoOiAkc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtbWVkO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRzcGxpdC1idXR0b24tcGlwLXNpemUtbWVkO1xuICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtbWVkO1xuICAgICAgICB0b3A6IDQ4JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZSBvZiB0aGUgYnV0dG9uIGFuZCBjbGlja2FibGUgYXJlYSBmb3IgbGFyZ2Ugc2l6ZXNcbiAgQGVsc2UgaWYgJHBhZGRpbmcgPT0gbGFyZ2Uge1xuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLWxyZztcblxuICAgIHNwYW4geyB3aWR0aDogJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLWxyZztcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkc3BsaXQtYnV0dG9uLXBpcC1zaXplLWxyZztcbiAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LWxyZztcbiAgICAgICAgdG9wOiA0OCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udHJvbCB0aGUgY29sb3Igb2YgdGhlIHRyaWFuZ2xlIHBpcFxuICBAaWYgJHBpcC1jb2xvciB7XG4gICAgc3BhbjphZnRlciB7IGJvcmRlci1jb2xvcjogJHBpcC1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJzcGxpdC1idXR0b25cIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlcyB7XG5cbiAgICAuc3BsaXQuYnV0dG9uIHsgQGluY2x1ZGUgc3BsaXQtYnV0dG9uO1xuXG4gICAgICAmLnNlY29uZGFyeSB7IEBpbmNsdWRlIHNwbGl0LWJ1dHRvbihmYWxzZSwgJHNwbGl0LWJ1dHRvbi1waXAtY29sb3IsICRzcGxpdC1idXR0b24tc3Bhbi1ib3JkZXItY29sb3IsIGZhbHNlKTsgfVxuICAgICAgJi5hbGVydCB7IEBpbmNsdWRlIHNwbGl0LWJ1dHRvbihmYWxzZSwgZmFsc2UsICRzcGxpdC1idXR0b24tc3Bhbi1ib3JkZXItY29sb3IsIGZhbHNlKTsgfVxuICAgICAgJi5zdWNjZXNzIHsgQGluY2x1ZGUgc3BsaXQtYnV0dG9uKGZhbHNlLCBmYWxzZSwgJHNwbGl0LWJ1dHRvbi1zcGFuLWJvcmRlci1jb2xvciwgZmFsc2UpOyB9XG5cbiAgICAgICYudGlueSB7IEBpbmNsdWRlIHNwbGl0LWJ1dHRvbih0aW55LCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsgfVxuICAgICAgJi5zbWFsbCB7IEBpbmNsdWRlIHNwbGl0LWJ1dHRvbihzbWFsbCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7IH1cbiAgICAgICYubGFyZ2UgeyBAaW5jbHVkZSBzcGxpdC1idXR0b24obGFyZ2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOyB9XG4gICAgICAmLmV4cGFuZCB7IHBhZGRpbmctbGVmdDogMnJlbTsgfVxuXG4gICAgICAmLnNlY29uZGFyeSB7IEBpbmNsdWRlIHNwbGl0LWJ1dHRvbihmYWxzZSwgJHNwbGl0LWJ1dHRvbi1waXAtY29sb3ItYWx0LCBmYWxzZSwgZmFsc2UpOyB9XG5cbiAgICAgICYucmFkaXVzIHNwYW4geyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkZ2xvYmFsLXJhZGl1cyk7IH1cbiAgICAgICYucm91bmQgc3BhbiB7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sIDEwMDBweCk7IH1cbiAgICAgICYubm8tcGlwe1xuICAgICAgICBzcGFuOmJlZm9yZXsgYm9yZGVyLXN0eWxlOm5vbmU7IH1cbiAgICAgICAgc3BhbjphZnRlcnsgYm9yZGVyLXN0eWxlOm5vbmU7IH1cbiAgICAgICAgc3Bhbj5pe1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTAuMjg4ODllbTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMC40ODg4OWVtO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQG5hbWUgX3N1Yi1uYXYuc2Nzc1xuLy8gQGRlcGVuZGVuY2llcyBfZ2xvYmFsLnNjc3Ncbi8vXG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuXG4kaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIG1hcmdpbiBhbmQgcGFkZGluZ1xuJHN1Yi1uYXYtbGlzdC1tYXJnaW46IHJlbS1jYWxjKC00IDAgMTgpICFkZWZhdWx0O1xuJHN1Yi1uYXYtbGlzdC1wYWRkaW5nLXRvcDogcmVtLWNhbGMoNCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGRlZmluaXRpb25cbiRzdWItbmF2LWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRzdWItbmF2LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJHN1Yi1uYXYtZm9udC1jb2xvcjogJGFsdW1pbnVtICFkZWZhdWx0O1xuJHN1Yi1uYXYtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kc3ViLW5hdi10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kc3ViLW5hdi1wYWRkaW5nOiByZW0tY2FsYygzIDE2KSAhZGVmYXVsdDtcbiRzdWItbmF2LWJvcmRlci1yYWRpdXM6IDNweCAhZGVmYXVsdDtcbiRzdWItbmF2LWZvbnQtY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRzdWItbmF2LWZvbnQtY29sb3IsICRsaWdodG5lc3M6IC0yNSUpICFkZWZhdWx0O1xuXG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBhY3RpdmUgaXRlbSBzdHlsZXNcblxuJHN1Yi1uYXYtYWN0aXZlLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHN1Yi1uYXYtYWN0aXZlLWJnOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRzdWItbmF2LWFjdGl2ZS1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJHN1Yi1uYXYtYWN0aXZlLWJnLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcbiRzdWItbmF2LWFjdGl2ZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHN1Yi1uYXYtYWN0aXZlLXBhZGRpbmc6ICRzdWItbmF2LXBhZGRpbmcgIWRlZmF1bHQ7XG4kc3ViLW5hdi1hY3RpdmUtY3Vyc29yOiBkZWZhdWx0ICFkZWZhdWx0O1xuXG4kc3ViLW5hdi1pdGVtLWRpdmlkZXI6IFwiXCIgIWRlZmF1bHQ7XG4kc3ViLW5hdi1pdGVtLWRpdmlkZXItbWFyZ2luOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuXG5cbi8vIENyZWF0ZSBhIHN1Yi1uYXYgaXRlbVxuLy9cbi8vICRmb250LWNvbG9yIC0gRm9udCBjb2xvci4gRGVmYXVsdDogJHN1Yi1uYXYtZm9udC1jb2xvci5cbi8vICRmb250LXNpemUgLSBGb250IHNpemUuIERlZmF1bHQ6ICRzdWItbmF2LWZvbnQtc2l6ZS5cbi8vICRhY3RpdmUtYmcgLSBCYWNrZ3JvdW5kIG9mIGFjdGl2ZSBuYXYgaXRlbS4gRGVmYXVsdDogJHN1Yi1uYXYtYWN0aXZlLWJnLlxuLy8gJGFjdGl2ZS1iZy1ob3ZlciAtIEJhY2tncm91bmQgb2YgYWN0aXZlIG5hdiBpdGVtLCB3aGVuIGhvdmVyZWQuIERlZmF1bHQ6ICRzdWItbmF2LWFjdGl2ZS1iZy1ob3Zlci5cbkBtaXhpbiBzdWItbmF2KFxuICAkZm9udC1jb2xvcjogJHN1Yi1uYXYtZm9udC1jb2xvcixcbiAgJGZvbnQtc2l6ZTogJHN1Yi1uYXYtZm9udC1zaXplLFxuICAkYWN0aXZlLWJnOiAkc3ViLW5hdi1hY3RpdmUtYmcsXG4gICRhY3RpdmUtYmctaG92ZXI6ICRzdWItbmF2LWFjdGl2ZS1iZy1ob3Zlcikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAkc3ViLW5hdi1saXN0LW1hcmdpbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy10b3A6ICRzdWItbmF2LWxpc3QtcGFkZGluZy10b3A7XG4gIHdpZHRoOiBhdXRvO1xuXG4gIGR0IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgZHQsXG4gIGRkLFxuICBsaSB7XG4gICAgY29sb3I6ICRmb250LWNvbG9yO1xuICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICBmb250LWZhbWlseTogJHN1Yi1uYXYtZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkc3ViLW5hdi1mb250LXdlaWdodDtcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IHJlbS1jYWxjKDE2KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJHN1Yi1uYXYtZm9udC1jb2xvcjtcbiAgICAgIHBhZGRpbmc6ICRzdWItbmF2LXBhZGRpbmc7XG4gICAgICB0ZXh0LWRlY29yYXRpb246ICRzdWItbmF2LXRleHQtZGVjb3JhdGlvbjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkc3ViLW5hdi1mb250LWNvbG9yLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuYWN0aXZlIGEge1xuICAgICAgQGluY2x1ZGUgcmFkaXVzKCRzdWItbmF2LWJvcmRlci1yYWRpdXMpO1xuICAgICAgYmFja2dyb3VuZDogJGFjdGl2ZS1iZztcbiAgICAgIGNvbG9yOiAkc3ViLW5hdi1hY3RpdmUtY29sb3I7XG4gICAgICBjdXJzb3I6ICRzdWItbmF2LWFjdGl2ZS1jdXJzb3I7XG4gICAgICBmb250LXdlaWdodDogJHN1Yi1uYXYtYWN0aXZlLWZvbnQtd2VpZ2h0O1xuICAgICAgcGFkZGluZzogJHN1Yi1uYXYtYWN0aXZlLXBhZGRpbmc7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWN0aXZlLWJnLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkc3ViLW5hdi1pdGVtLWRpdmlkZXIgIT0gXCJcIiB7XG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCIjeyRzdWItbmF2LWl0ZW0tZGl2aWRlcn1cIjtcbiAgICAgICAgbWFyZ2luOiAwICRzdWItbmF2LWl0ZW0tZGl2aWRlci1tYXJnaW47XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwic3ViLW5hdlwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzIHtcbiAgICAuc3ViLW5hdiB7IEBpbmNsdWRlIHN1Yi1uYXY7IH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEBuYW1lXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWwuc2Nzc1xuLy9cblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG5cbiRpbmNsdWRlLWh0bWwtZm9ybS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIENvbnRyb2xsaW5nIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyXG4kc3dpdGNoLWJnOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgc3dpdGNoIGhlaWdodHMgZm9yIG91ciBkZWZhdWx0IGNsYXNzZXNcbiRzd2l0Y2gtaGVpZ2h0LXRueTogMS41cmVtICFkZWZhdWx0O1xuJHN3aXRjaC1oZWlnaHQtc21sOiAxLjc1cmVtICFkZWZhdWx0O1xuJHN3aXRjaC1oZWlnaHQtbWVkOiAycmVtICFkZWZhdWx0O1xuJHN3aXRjaC1oZWlnaHQtbHJnOiAyLjVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoLWJvdHRvbS1tYXJnaW46IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBzd2l0Y2gtcGFkZGxlXG4kc3dpdGNoLXBhZGRsZS1iZzogJHdoaXRlICFkZWZhdWx0O1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1zcGVlZDogLjE1cyAhZGVmYXVsdDtcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tZWFzZTogZWFzZS1vdXQgIWRlZmF1bHQ7XG4kc3dpdGNoLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgYmFzZSBzdHlsZXMgZm9yIG91ciBzd2l0Y2ggZWxlbWVudC5cbi8vXG4vLyAkdHJhbnNpdGlvbi1zcGVlZCAtIFRpbWUgaW4gbXMgZm9yIHN3aXRjaCB0byB0b2dnbGUuIERlZmF1bHQ6ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tc3BlZWQuXG4vLyAkdHJhbnNpdGlvbi1lYXNlIC0gRWFzaW5nIGZ1bmN0aW9uIHRvIHVzZSBmb3IgYW5pbWF0aW9uIChpLmUuIGVhc2Utb3V0KS4gRGVmYXVsdDogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1lYXNlLlxuQG1peGluIHN3aXRjaC1iYXNlKFxuICAkdHJhbnNpdGlvbi1zcGVlZDokc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLXNwZWVkLFxuICAkdHJhbnNpdGlvbi1lYXNlOiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tZWFzZSkge1xuXG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1ib3R0b20tbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgLy8gRGVmYXVsdCBsYWJlbCBzdHlsZXMgZm9yIHR5cGUgYW5kIHRyYW5zaXRpb25cbiAgbGFiZWwge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmc7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAoJHN3aXRjaC1oZWlnaHQtbWVkIC8gMik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtaW5kZW50OiAxMDAlO1xuICAgIHdpZHRoOiAkc3dpdGNoLWhlaWdodC1tZWQgKiAyOyBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0LW1lZDtcblxuICAgIC8vIFRyYW5zaXRpb24gZm9yIHRoZSBzd2l0Y2ggbGFiZWwgdG8gZm9sbG93IHBhZGRsZVxuICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKGxlZnQsICR0cmFuc2l0aW9uLXNwZWVkLCAkdHJhbnNpdGlvbi1lYXNlKTtcbiAgfVxuXG4gIC8vIFNvIHRoYXQgd2UgZG9uJ3QgbmVlZCB0byByZWNyZWF0ZSB0aGUgZm9ybSB3aXRoIGFueSBKUywgd2UgdXNlIHRoZVxuICAvLyBleGlzdGluZyBjaGVja2JveCBvciByYWRpbyBidXR0b24sIGJ1dCB3ZSBjbGV2ZXJseSBwb3NpdGlvbiBhbmQgaGlkZSBpdC5cbiAgaW5wdXQge1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwYWRkaW5nOjA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogOXB4O1xuXG4gICAgJiArIGxhYmVsIHsgbWFyZ2luLWxlZnQ6IDA7IG1hcmdpbi1yaWdodDogMDsgfVxuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBmb3IgdGhlIHN3aXRjaCBpcyBjcmVhdGVkIGZyb20gYW4gYWZ0ZXIgcHN1ZWRvY2xhc3NcbiAgLy8gY29udGVudCBlbGVtZW50LiBUaGlzIGlzIHNpemVkIGFuZCBwb3NpdGlvbmVkLCBhbmQgcmVhY3RzIHRvXG4gIC8vIHRoZSBzdGF0ZSBvZiB0aGUgaW5wdXQuXG5cbiAgbGFiZWw6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJnO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodC1tZWQgLSAuNXJlbTtcbiAgICBsZWZ0OiAuMjVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLjI1cmVtO1xuICAgIHdpZHRoOiAkc3dpdGNoLWhlaWdodC1tZWQgLSAuNXJlbTtcblxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogbGVmdCAkdHJhbnNpdGlvbi1zcGVlZCAkdHJhbnNpdGlvbi1lYXNlO1xuICAgIC1tb3otdHJhbnNpdGlvbjogbGVmdCAkdHJhbnNpdGlvbi1zcGVlZCAkdHJhbnNpdGlvbi1lYXNlO1xuICAgIC1vLXRyYW5zaXRpb246IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0ICR0cmFuc2l0aW9uLXNwZWVkICR0cmFuc2l0aW9uLWVhc2U7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWFjdGl2ZS1jb2xvcjtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgbGVmdDogJHN3aXRjaC1oZWlnaHQtbWVkICsgLjI1cmVtO1xuICB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgc2l6ZSBzdHlsZXMgZm9yIHN3aXRjaGVzLlxuLy9cbi8vICRoZWlnaHQgLSBIZWlnaHQgKGluIHB4KSBvZiB0aGUgc3dpdGNoLiBEZWZhdWx0OiAkc3dpdGNoLWhlaWdodC1tZWQuXG4vLyAkZm9udC1zaXplIC0gRm9udCBzaXplIG9mIHRleHQgaW4gc3dpdGNoLiBEZWZhdWx0OiAkc3dpdGNoLWZvbnQtc2l6ZS1tZWQuXG4vLyAkbGluZS1oZWlnaHQgLSBMaW5lIGhlaWdodCBvZiBzd2l0Y2guIERlZmF1bHQ6IDIuM3JlbS5cbkBtaXhpbiBzd2l0Y2gtc2l6ZSgkaGVpZ2h0OiAkc3dpdGNoLWhlaWdodC1tZWQpIHtcblxuICBsYWJlbCB7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIHdpZHRoOiAkaGVpZ2h0ICogMjtcbiAgfVxuXG4gIGxhYmVsOmFmdGVyIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQgLSAuNXJlbTtcbiAgICB3aWR0aDogJGhlaWdodCAtIC41cmVtO1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICBsZWZ0OiAkaGVpZ2h0ICsgLjI1cmVtO1xuICB9XG5cbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYWRkIGNvbG9yIGFuZCBvdGhlciBmYW5jaW5lc3MgdG8gdGhlIHN3aXRjaGVzLlxuLy9cbi8vICRwYWRkbGUtYmcgLSBCYWNrZ3JvdW5kIG9mIHN3aXRjaCBwYWRkbGUuIERlZmF1bHQ6ICRzd2l0Y2gtcGFkZGxlLWJnLlxuLy8gJGFjdGl2ZS1jb2xvciAtIEJhY2tncm91bmQgY29sb3Igb2YgcG9zaXRpdmUgc2lkZSBvZiBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtcG9zaXRpdmUtY29sb3IuXG4vLyAkbmVnYXRpdmUtY29sb3IgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIG5lZ2F0aXZlIHNpZGUgb2Ygc3dpdGNoLiBEZWZhdWx0OiAkc3dpdGNoLW5lZ2F0aXZlLWNvbG9yLlxuLy8gJHJhZGl1cyAtIFJhZGl1cyB0byBhcHBseSB0byBzd2l0Y2guIERlZmF1bHQ6IGZhbHNlLlxuLy8gJGJhc2Utc3R5bGUgLSBBcHBseSBiYXNlIHN0eWxlcz8gRGVmYXVsdDogdHJ1ZS5cbkBtaXhpbiBzd2l0Y2gtc3R5bGUoXG4gICRwYWRkbGUtYmc6JHN3aXRjaC1wYWRkbGUtYmcsXG4gICRhY3RpdmUtY29sb3I6JHN3aXRjaC1hY3RpdmUtY29sb3IsXG4gICRyYWRpdXM6ZmFsc2UsXG4gICRiYXNlLXN0eWxlOnRydWUpIHtcblxuICBAaWYgJGJhc2Utc3R5bGUge1xuXG4gICAgbGFiZWwge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZDogJHN3aXRjaC1iZztcbiAgICB9XG5cbiAgICBsYWJlbDphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcGFkZGxlLWJnO1xuICAgIH1cblxuICAgIGlucHV0OmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldHRpbmcgdXAgdGhlIHJhZGl1cyBmb3Igc3dpdGNoZXNcbiAgQGlmICRyYWRpdXMgPT0gdHJ1ZSB7XG4gICAgbGFiZWwge1xuICAgICAgYm9yZGVyLXJhZGl1czogMnJlbTtcbiAgICB9XG4gICAgbGFiZWw6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogMnJlbTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHJhZGl1cyB7XG4gICAgbGFiZWwge1xuICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICB9XG4gICAgbGFiZWw6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICB9XG4gIH1cblxufVxuXG4vLyBXZSB1c2UgdGhpcyB0byBxdWlja2x5IGNyZWF0ZSBzd2l0Y2hlcyB3aXRoIGEgc2luZ2xlIG1peGluXG4vL1xuLy8gJHRyYW5zaXRpb24tc3BlZWQgLSBUaW1lIGluIG1zIGZvciBzd2l0Y2ggdG8gdG9nZ2xlLiBEZWZhdWx0OiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLXNwZWVkLlxuLy8gJHRyYW5zaXRpb24tZWFzZSAtIEVhc2luZyBmdW5jdGlvbiB0byB1c2UgZm9yIGFuaW1hdGlvbiAoaS5lLiBlYXNlLW91dCkuIERlZmF1bHQ6ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tZWFzZS5cbi8vICRoZWlnaHQgLSBIZWlnaHQgKGluIHB4KSBvZiB0aGUgc3dpdGNoLiBEZWZhdWx0OiAkc3dpdGNoLWhlaWdodC1tZWQuXG4vLyAkcGFkZGxlLWJnIC0gQmFja2dyb3VuZCBvZiBzd2l0Y2ggcGFkZGxlLiBEZWZhdWx0OiAkc3dpdGNoLXBhZGRsZS1iZy5cbi8vICRhY3RpdmUtY29sb3IgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtYWN0aXZlLWNvbG9yLlxuLy8gJHJhZGl1cyAtIFJhZGl1cyB0byBhcHBseSB0byBzd2l0Y2guIERlZmF1bHQ6IGZhbHNlLlxuLy8gJGJhc2Utc3R5bGUgLSBBcHBseSBiYXNlIHN0eWxlcz8gRGVmYXVsdDogdHJ1ZS5cbkBtaXhpbiBzd2l0Y2goXG4gICR0cmFuc2l0aW9uLXNwZWVkOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLXNwZWVkLFxuICAkdHJhbnNpdGlvbi1lYXNlOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLWVhc2UsXG4gICRoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0LW1lZCxcbiAgJHBhZGRsZS1iZzogJHN3aXRjaC1wYWRkbGUtYmcsXG4gICRhY3RpdmUtY29sb3I6ICRzd2l0Y2gtYWN0aXZlLWNvbG9yLFxuICAkcmFkaXVzOmZhbHNlLFxuICAkYmFzZS1zdHlsZTp0cnVlKSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWJhc2UoJHRyYW5zaXRpb24tc3BlZWQsICR0cmFuc2l0aW9uLWVhc2UpO1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKCRoZWlnaHQpO1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zdHlsZSgkcGFkZGxlLWJnLCAkYWN0aXZlLWNvbG9yLCAkcmFkaXVzLCAkYmFzZS1zdHlsZSk7XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJzd2l0Y2hcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1mb3JtLWNsYXNzZXMge1xuICAgICAgLnN3aXRjaCB7XG4gICAgICAgIEBpbmNsdWRlIHN3aXRjaDtcblxuICAgICAgICAvLyBMYXJnZSByYWRpbyBzd2l0Y2hlc1xuICAgICAgICAmLmxhcmdlIHsgQGluY2x1ZGUgc3dpdGNoLXNpemUoJHN3aXRjaC1oZWlnaHQtbHJnKTsgfVxuXG4gICAgICAgIC8vIFNtYWxsIHJhZGlvIHN3aXRjaGVzXG4gICAgICAgICYuc21hbGwgeyBAaW5jbHVkZSBzd2l0Y2gtc2l6ZSgkc3dpdGNoLWhlaWdodC1zbWwpOyB9XG5cbiAgICAgICAgLy8gVGlueSByYWRpbyBzd2l0Y2hlc1xuICAgICAgICAmLnRpbnkgeyBAaW5jbHVkZSBzd2l0Y2gtc2l6ZSgkc3dpdGNoLWhlaWdodC10bnkpOyB9XG5cbiAgICAgICAgLy8gQWRkIGEgcmFkaXVzIHRvIHRoZSBzd2l0Y2hcbiAgICAgICAgJi5yYWRpdXMge1xuICAgICAgICAgIGxhYmVsIHsgQGluY2x1ZGUgcmFkaXVzKDRweCk7IH1cbiAgICAgICAgICBsYWJlbDphZnRlciB7IEBpbmNsdWRlIHJhZGl1cygzcHgpOyB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNYWtlIHRoZSBzd2l0Y2ggY29tcGxldGVseSByb3VuZCwgbGlrZSBhIHBpbGxcbiAgICAgICAgJi5yb3VuZCB7IEBpbmNsdWRlIHJhZGl1cygxMDAwcHgpO1xuICAgICAgICAgIGxhYmVsIHsgQGluY2x1ZGUgcmFkaXVzKDJyZW0pOyB9XG4gICAgICAgICAgbGFiZWw6YWZ0ZXIgeyBAaW5jbHVkZSByYWRpdXMoMnJlbSk7IH1cbiAgICAgICAgfVxuXG4gICAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAbmFtZSBfdGFibGVzLnNjc3Ncbi8vIEBkZXBlbmRlbmNpZXMgX2dsb2JhbC5zY3NzXG4vL1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cblxuJGluY2x1ZGUtaHRtbC10YWJsZS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIGNvbnRyb2wgdGhlIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0YWJsZSBhbmQgZXZlbiByb3dzXG4kdGFibGUtYmc6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0YWJsZS1ldmVuLXJvdy1iZzogJHNub3cgIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIGNvbnRyb2wgdGhlIHRhYmxlIGNlbGwgYm9yZGVyIHN0eWxlXG4kdGFibGUtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybyAhZGVmYXVsdDtcblxuLy8gVGhlc2UgY29udHJvbCB0aGUgdGFibGUgaGVhZCBzdHlsZXNcbiR0YWJsZS1oZWFkLWJnOiAkd2hpdGUtc21va2UgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRqZXQgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcblxuLy8gVGhlc2UgY29udHJvbCB0aGUgdGFibGUgZm9vdCBzdHlsZXNcbiR0YWJsZS1mb290LWJnOiAkdGFibGUtaGVhZC1iZyAhZGVmYXVsdDtcbiR0YWJsZS1mb290LWZvbnQtc2l6ZTogJHRhYmxlLWhlYWQtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1mb290LWZvbnQtd2VpZ2h0OiAkdGFibGUtaGVhZC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiR0YWJsZS1mb290LXBhZGRpbmc6ICR0YWJsZS1oZWFkLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIGNvbnRyb2wgdGhlIGNhcHRpb25cbiR0YWJsZS1jYXB0aW9uLWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiR0YWJsZS1jYXB0aW9uLWZvbnQtY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtY2FwdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcbiR0YWJsZS1jYXB0aW9uLWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4vLyBUaGVzZSBjb250cm9sIHRoZSByb3cgcGFkZGluZyBhbmQgZm9udCBzdHlsZXNcbiR0YWJsZS1yb3ctcGFkZGluZzogcmVtLWNhbGMoOSAxMCkgIWRlZmF1bHQ7XG4kdGFibGUtcm93LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJHRhYmxlLXJvdy1mb250LWNvbG9yOiAkamV0ICFkZWZhdWx0O1xuJHRhYmxlLWxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCkgIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIGFyZSBmb3IgY29udHJvbGxpbmcgdGhlIGxheW91dCwgZGlzcGxheSBhbmQgbWFyZ2luIG9mIHRhYmxlc1xuJHRhYmxlLWxheW91dDogYXV0byAhZGVmYXVsdDtcbiR0YWJsZS1kaXNwbGF5OiB0YWJsZS1jZWxsICFkZWZhdWx0O1xuJHRhYmxlLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuXG4vL1xuLy8gQG1peGluc1xuLy9cblxuQG1peGluIHRhYmxlIHtcbiAgYmFja2dyb3VuZDogJHRhYmxlLWJnO1xuICBib3JkZXI6ICR0YWJsZS1ib3JkZXItc3R5bGUgJHRhYmxlLWJvcmRlci1zaXplICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIG1hcmdpbi1ib3R0b206ICR0YWJsZS1tYXJnaW4tYm90dG9tO1xuICB0YWJsZS1sYXlvdXQ6ICR0YWJsZS1sYXlvdXQ7XG5cbiAgY2FwdGlvbiB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWNhcHRpb24tYmc7XG4gICAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWZvbnQtY29sb3I7XG4gICAgZm9udDoge1xuICAgICAgc2l6ZTogJHRhYmxlLWNhcHRpb24tZm9udC1zaXplO1xuICAgICAgd2VpZ2h0OiAkdGFibGUtY2FwdGlvbi1mb250LXdlaWdodDtcbiAgICB9XG4gIH1cblxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmc7XG5cbiAgICB0ciB7XG4gICAgICB0aCxcbiAgICAgIHRkIHtcbiAgICAgICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogJHRhYmxlLWhlYWQtZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJHRhYmxlLWhlYWQtZm9udC13ZWlnaHQ7XG4gICAgICAgIHBhZGRpbmc6ICR0YWJsZS1oZWFkLXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJnO1xuXG4gICAgdHIge1xuICAgICAgdGgsXG4gICAgICB0ZCB7XG4gICAgICAgIGNvbG9yOiAkdGFibGUtZm9vdC1mb250LWNvbG9yO1xuICAgICAgICBmb250LXNpemU6ICR0YWJsZS1mb290LWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR0YWJsZS1mb290LWZvbnQtd2VpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAkdGFibGUtZm9vdC1wYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRyIHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBjb2xvcjogJHRhYmxlLXJvdy1mb250LWNvbG9yO1xuICAgICAgZm9udC1zaXplOiAkdGFibGUtcm93LWZvbnQtc2l6ZTtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1yb3ctcGFkZGluZztcbiAgICAgIHRleHQtYWxpZ246ICRkZWZhdWx0LWZsb2F0O1xuICAgIH1cblxuICAgICYuZXZlbixcbiAgICAmLmFsdCxcbiAgICAmOm50aC1vZi10eXBlKGV2ZW4pIHsgYmFja2dyb3VuZDogJHRhYmxlLWV2ZW4tcm93LWJnOyB9XG4gIH1cblxuICB0aGVhZCB0ciB0aCxcbiAgdGZvb3QgdHIgdGgsXG4gIHRmb290IHRyIHRkLFxuICB0Ym9keSB0ciB0aCxcbiAgdGJvZHkgdHIgdGQsXG4gIHRyIHRkIHsgZGlzcGxheTogJHRhYmxlLWRpc3BsYXk7IGxpbmUtaGVpZ2h0OiAkdGFibGUtbGluZS1oZWlnaHQ7IH1cbn1cblxuXG5AaW5jbHVkZSBleHBvcnRzKFwidGFibGVcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC10YWJsZS1jbGFzc2VzIHtcbiAgICB0YWJsZSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdncmlkJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG5cbiRpbmNsdWRlLWh0bWwtdGFicy1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbiR0YWJzLW5hdmlnYXRpb24tcGFkZGluZzogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJHRhYnMtbmF2aWdhdGlvbi1iZy1jb2xvcjogJHNpbHZlciAhZGVmYXVsdDtcbiR0YWJzLW5hdmlnYXRpb24tYWN0aXZlLWJnLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdGFicy1uYXZpZ2F0aW9uLWhvdmVyLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkdGFicy1uYXZpZ2F0aW9uLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtNiUpICFkZWZhdWx0O1xuJHRhYnMtbmF2aWdhdGlvbi1mb250LWNvbG9yOiAkamV0ICFkZWZhdWx0O1xuJHRhYnMtbmF2aWdhdGlvbi1hY3RpdmUtZm9udC1jb2xvcjogJHRhYnMtbmF2aWdhdGlvbi1mb250LWNvbG9yICFkZWZhdWx0O1xuJHRhYnMtbmF2aWdhdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcbiR0YWJzLW5hdmlnYXRpb24tZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4kdGFicy1jb250ZW50LW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI0KSAhZGVmYXVsdDtcbiR0YWJzLWNvbnRlbnQtcGFkZGluZzogKCRjb2x1bW4tZ3V0dGVyLzIpICFkZWZhdWx0O1xuXG4kdGFicy12ZXJ0aWNhbC1uYXZpZ2F0aW9uLW1hcmdpbi1ib3R0b206IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ0YWJcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC10YWJzLWNsYXNzZXMge1xuICAgIC50YWJzIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgIGRkLFxuICAgICAgLnRhYi10aXRsZSB7XG4gICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFicy1uYXZpZ2F0aW9uLWJnLWNvbG9yO1xuICAgICAgICAgIGNvbG9yOiAkdGFicy1uYXZpZ2F0aW9uLWZvbnQtY29sb3I7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICR0YWJzLW5hdmlnYXRpb24tZm9udC1mYW1pbHk7XG4gICAgICAgICAgZm9udC1zaXplOiAkdGFicy1uYXZpZ2F0aW9uLWZvbnQtc2l6ZTtcbiAgICAgICAgICBwYWRkaW5nOiAkdGFicy1uYXZpZ2F0aW9uLXBhZGRpbmcgJHRhYnMtbmF2aWdhdGlvbi1wYWRkaW5nICogMjtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYnMtbmF2aWdhdGlvbi1ob3Zlci1iZy1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSA+IGEge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJzLW5hdmlnYXRpb24tYWN0aXZlLWJnLWNvbG9yO1xuICAgICAgICAgIGNvbG9yOiAkdGFicy1uYXZpZ2F0aW9uLWFjdGl2ZS1mb250LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucmFkaXVzIHtcbiAgICAgICAgZGQ6Zmlyc3QtY2hpbGQsXG4gICAgICAgIC50YWI6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGEgeyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGdsb2JhbC1yYWRpdXMpOyB9XG4gICAgICAgIH1cblxuICAgICAgICBkZDpsYXN0LWNoaWxkLFxuICAgICAgICAudGFiOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGEgeyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkZ2xvYmFsLXJhZGl1cyk7IH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgZGQsXG4gICAgICAgIC50YWItdGl0bGUge1xuICAgICAgICAgIHBvc2l0aW9uOiBpbmhlcml0O1xuICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC50YWJzLWNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkdGFicy1jb250ZW50LW1hcmdpbi1ib3R0b207XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgPiAuY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgICAgcGFkZGluZzogJHRhYnMtY29udGVudC1wYWRkaW5nIDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmLmNvbnRhaW5lZCB7XG4gICAgICAgICAgcGFkZGluZzogJHRhYnMtY29udGVudC1wYWRkaW5nO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICA+IC5jb250ZW50IHtcbiAgICAgICAgICBwYWRkaW5nOiAwICR0YWJzLWNvbnRlbnQtcGFkZGluZztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIC50YWJzIHtcbiAgICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdGFicy12ZXJ0aWNhbC1uYXZpZ2F0aW9uLW1hcmdpbi1ib3R0b20gIWltcG9ydGFudDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDIwJTtcbiAgICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50YWJzLWNvbnRlbnQge1xuICAgICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAtMXB4O1xuICAgICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06IDFyZW07XG4gICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5uby1qcyB7XG4gICAgICAudGFicy1jb250ZW50ID4gLmNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQG5hbWUgX3RodW1icy5zY3NzXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWxzLnNjc3Ncbi8vXG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuXG4kaW5jbHVkZS1odG1sLW1lZGlhLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlc1xuJHRodW1iLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kdGh1bWItYm9yZGVyLXdpZHRoOiA0cHggIWRlZmF1bHQ7XG4kdGh1bWItYm9yZGVyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdGh1bWItYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLC4yKSAhZGVmYXVsdDtcbiR0aHVtYi1ib3gtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuNSkgIWRlZmF1bHQ7XG5cbi8vIFJhZGl1cyBhbmQgdHJhbnNpdGlvbiBzcGVlZCBmb3IgdGh1bWJzXG4kdGh1bWItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcbiR0aHVtYi10cmFuc2l0aW9uLXNwZWVkOiAyMDBtcyAhZGVmYXVsdDtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSBpbWFnZSB0aHVtYm5haWwgc3R5bGVzLlxuLy9cbi8vICRib3JkZXItd2lkdGggLSBXaWR0aCBvZiBib3JkZXIgYXJvdW5kIHRodW1ibmFpbC4gRGVmYXVsdDogJHRodW1iLWJvcmRlci13aWR0aC5cbi8vICRib3gtc2hhZG93IC0gQm94IHNoYWRvdyB0byBhcHBseSB0byB0aHVtYm5haWwuIERlZmF1bHQ6ICR0aHVtYi1ib3gtc2hhZG93LlxuLy8gJGJveC1zaGFkb3ctaG92ZXIgLSBCb3ggc2hhZG93IHRvIGFwcGx5IG9uIGhvdmVyLiBEZWZhdWx0OiAkdGh1bWItYm94LXNoYWRvdy1ob3Zlci5cbkBtaXhpbiB0aHVtYihcbiAgJGJvcmRlci13aWR0aDokdGh1bWItYm9yZGVyLXdpZHRoLFxuICAkYm94LXNoYWRvdzokdGh1bWItYm94LXNoYWRvdyxcbiAgJGJveC1zaGFkb3ctaG92ZXI6JHRodW1iLWJveC1zaGFkb3ctaG92ZXIpIHtcbiAgYm9yZGVyOiAkdGh1bWItYm9yZGVyLXN0eWxlICRib3JkZXItd2lkdGggJHRodW1iLWJvcmRlci1jb2xvcjtcbiAgYm94LXNoYWRvdzogJGJveC1zaGFkb3c7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1ob3ZlcjtcbiAgfVxufVxuXG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ0aHVtYlwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLW1lZGlhLWNsYXNzZXMge1xuXG4gICAgLyogSW1hZ2UgVGh1bWJuYWlscyAqL1xuICAgIC50aCB7XG4gICAgICBAaW5jbHVkZSB0aHVtYjtcbiAgICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKGFsbCwgJHRodW1iLXRyYW5zaXRpb24tc3BlZWQsIGVhc2Utb3V0KTtcblxuICAgICAgJi5yYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJHRodW1iLXJhZGl1cyk7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBUb29sdGlwIFZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtdG9vbHRpcC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGlyb24gIWRlZmF1bHQ7XG4kaGFzLXRpcC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kaGFzLXRpcC1mb250LWNvbG9yOiAkb2lsICFkZWZhdWx0O1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbS1ob3ZlcjogZG90dGVkIDFweCBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTU1JSkgIWRlZmF1bHQ7XG4kaGFzLXRpcC1mb250LWNvbG9yLWhvdmVyOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRoYXMtdGlwLWN1cnNvci10eXBlOiBoZWxwICFkZWZhdWx0O1xuXG4kdG9vbHRpcC1wYWRkaW5nOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogJG9pbCAhZGVmYXVsdDtcbiR0b29sdGlwLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJHRvb2x0aXAtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kdG9vbHRpcC1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1saW5lLWhlaWdodDogMS4zICFkZWZhdWx0O1xuJHRvb2x0aXAtY2xvc2UtZm9udC1zaXplOiByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1jbG9zZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiR0b29sdGlwLWNsb3NlLWZvbnQtY29sb3I6ICRtb25zb29uICFkZWZhdWx0O1xuJHRvb2x0aXAtZm9udC1zaXplLXNtbDogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcbiR0b29sdGlwLXJvdW5kZWQ6ICRnbG9iYWwtcm91bmRlZCAhZGVmYXVsdDtcbiR0b29sdGlwLXBpcC1zaXplOiA1cHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBleHBvcnRzKFwidG9vbHRpcFwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLXRvb2x0aXAtY2xhc3NlcyB7XG5cbiAgICAvKiBUb29sdGlwcyAqL1xuICAgIC5oYXMtdGlwIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b207XG4gICAgICBjb2xvcjogJGhhcy10aXAtZm9udC1jb2xvcjtcbiAgICAgIGN1cnNvcjogJGhhcy10aXAtY3Vyc29yLXR5cGU7XG4gICAgICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbS1ob3ZlcjtcbiAgICAgICAgY29sb3I6ICRoYXMtdGlwLWZvbnQtY29sb3ItaG92ZXI7XG4gICAgICB9XG5cbiAgICAgICYudGlwLWxlZnQsXG4gICAgICAmLnRpcC1yaWdodCB7IGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICB9XG5cbiAgICAudG9vbHRpcCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkdG9vbHRpcC1iZztcbiAgICAgIGNvbG9yOiAkdG9vbHRpcC1mb250LWNvbG9yO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICAgICAgZm9udC13ZWlnaHQ6ICR0b29sdGlwLWZvbnQtd2VpZ2h0O1xuICAgICAgbGluZS1oZWlnaHQ6ICR0b29sdGlwLWxpbmUtaGVpZ2h0O1xuICAgICAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gICAgICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB6LWluZGV4OiAxMDA2O1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDUwJTtcblxuICAgICAgPiAubnViIHtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAkdG9vbHRpcC1waXAtc2l6ZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdG9vbHRpcC1iZyB0cmFuc3BhcmVudDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtKCR0b29sdGlwLXBpcC1zaXplICogMik7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogJHRvb2x0aXAtcGlwLXNpemU7XG5cbiAgICAgICAgJi5ydGwge1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvb2x0aXAtcGlwLXNpemU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5yYWRpdXMge1xuICAgICAgICBAaW5jbHVkZSByYWRpdXMoJHRvb2x0aXAtcmFkaXVzKTtcbiAgICAgIH1cbiAgICAgICYucm91bmQge1xuICAgICAgICBAaW5jbHVkZSByYWRpdXMoJHRvb2x0aXAtcm91bmRlZCk7XG4gICAgICAgID4gLm51YiB7XG4gICAgICAgICAgbGVmdDogMnJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5lZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b20taG92ZXIgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICRoYXMtdGlwLWZvbnQtY29sb3ItaG92ZXIgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFwLXRvLWNsb3NlIHtcbiAgICAgIGNvbG9yOiAkdG9vbHRpcC1jbG9zZS1mb250LWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6ICR0b29sdGlwLWNsb3NlLWZvbnQtc2l6ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkdG9vbHRpcC1jbG9zZS1mb250LXdlaWdodDtcbiAgICB9XG5cbiAgICBAbWVkaWEgI3skc21hbGx9IHtcbiAgICAgIC50b29sdGlwIHtcbiAgICAgICAgPiAubnViIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0b29sdGlwLWJnIHRyYW5zcGFyZW50O1xuICAgICAgICAgIHRvcDogLSgkdG9vbHRpcC1waXAtc2l6ZSAqIDIpO1xuICAgICAgICB9XG4gICAgICAgICYudGlwLXRvcD4ubnViIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICR0b29sdGlwLWJnIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvdHRvbTogLSgkdG9vbHRpcC1waXAtc2l6ZSAqIDIpO1xuICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICYudGlwLWxlZnQsXG4gICAgICAgICYudGlwLXJpZ2h0IHsgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgICAgICYudGlwLWxlZnQ+Lm51YiB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdG9vbHRpcC1iZztcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0kdG9vbHRpcC1waXAtc2l6ZTtcbiAgICAgICAgICByaWdodDogLSgkdG9vbHRpcC1waXAtc2l6ZSAqIDIpO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICB9XG4gICAgICAgICYudGlwLXJpZ2h0Pi5udWIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRvb2x0aXAtYmcgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgbGVmdDogLSgkdG9vbHRpcC1waXAtc2l6ZSAqIDIpO1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0kdG9vbHRpcC1waXAtc2l6ZTtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdncmlkJztcbkBpbXBvcnQgJ2J1dHRvbnMnO1xuQGltcG9ydCAnZm9ybXMnO1xuXG4vL1xuLy8gVG9wIEJhciBWYXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLXRvcC1iYXItY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhclxuJHRvcGJhci1iZy1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiR0b3BiYXItYmc6ICR0b3BiYXItYmctY29sb3IgIWRlZmF1bHQ7XG5cbi8vIEhlaWdodCBhbmQgbWFyZ2luXG4kdG9wYmFyLWhlaWdodDogcmVtLWNhbGMoNDUpICFkZWZhdWx0O1xuJHRvcGJhci1tYXJnaW4tYm90dG9tOiAwICFkZWZhdWx0O1xuXG4vLyBDb250cm9sbGluZyB0aGUgc3R5bGVzIGZvciB0aGUgdGl0bGUgaW4gdGhlIHRvcCBiYXJcbiR0b3BiYXItdGl0bGUtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHRvcGJhci10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDE3KSAhZGVmYXVsdDtcblxuLy8gU2V0IHRoZSBsaW5rIGNvbG9ycyBhbmQgc3R5bGVzIGZvciB0b3AtbGV2ZWwgbmF2XG4kdG9wYmFyLWxpbmstY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1jb2xvci1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZS1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1ob3Zlci1saWdodG5lc3M6IC0xMCUgIWRlZmF1bHQ7IC8vIERhcmtlbiBieSAxMCVcbiR0b3BiYXItbGluay1iZzogJHRvcGJhci1iZyAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1iZy1ob3ZlcjogJGpldCAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1iZy1jb2xvci1ob3ZlcjogJGNoYXJjb2FsICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWJnLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstYmctYWN0aXZlLWhvdmVyOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLXBhZGRpbmc6ICgkdG9wYmFyLWhlaWdodCAvIDMpICFkZWZhdWx0O1xuJHRvcGJhci1iYWNrLWxpbmstc2l6ZTogcmVtLWNhbGMoMTgpICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWRyb3Bkb3duLXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcbiR0b3BiYXItYnV0dG9uLWZvbnQtc2l6ZTogLjc1cmVtICFkZWZhdWx0O1xuJHRvcGJhci1idXR0b24tdG9wOiA3cHggIWRlZmF1bHQ7XG5cbi8vIFN0eWxlIHRoZSB0b3AgYmFyIGRyb3Bkb3duIGVsZW1lbnRzXG4kdG9wYmFyLWRyb3Bkb3duLWJnOiAkb2lsICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1saW5rLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLWxpbmstY29sb3ItaG92ZXI6ICR0b3BiYXItbGluay1jb2xvci1ob3ZlciAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tbGluay1iZzogJG9pbCAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tbGluay1iZy1ob3ZlcjogJGpldCAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tbGluay13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1zaXplOiA1cHggIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi10b2dnbGUtYWxwaGE6IC40ICFkZWZhdWx0O1xuXG4kdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWNvbG9yOiAkbW9uc29vbiAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tbGFiZWwtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tbGFiZWwtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tbGFiZWwtYmc6ICRvaWwgIWRlZmF1bHQ7XG5cbi8vIFRvcCBtZW51IGljb24gc3R5bGVzXG4kdG9wYmFyLW1lbnUtbGluay10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiR0b3BiYXItbWVudS1saW5rLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuJHRvcGJhci1tZW51LWxpbmstd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiR0b3BiYXItbWVudS1saW5rLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyLW1lbnUtaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRvcGJhci1tZW51LWxpbmstY29sb3ItdG9nZ2xlZDogJGp1bWJvICFkZWZhdWx0O1xuJHRvcGJhci1tZW51LWljb24tY29sb3ItdG9nZ2xlZDogJGp1bWJvICFkZWZhdWx0O1xuJHRvcGJhci1tZW51LWljb24tcG9zaXRpb246ICRvcHBvc2l0ZS1kaXJlY3Rpb24gIWRlZmF1bHQ7IC8vIENoYW5nZSB0byAkZGVmYXVsdC1mbG9hdCBmb3IgYSBsZWZ0IG1lbnUgaWNvblxuXG4vLyBUcmFuc2l0aW9ucyBhbmQgYnJlYWtwb2ludCBzdHlsZXNcbiR0b3BiYXItdHJhbnNpdGlvbi1zcGVlZDogMzAwbXMgIWRlZmF1bHQ7XG4vLyBVc2luZyByZW0tY2FsYyBmb3IgdGhlIGJlbG93IGJyZWFrcG9pbnQgY2F1c2VzIGlzc3VlcyB3aXRoIHRvcCBiYXJcbiR0b3BiYXItYnJlYWtwb2ludDogI3tsb3dlci1ib3VuZCgkbWVkaXVtLXJhbmdlKX0gIWRlZmF1bHQ7IC8vIENoYW5nZSB0byA5OTk5cHggZm9yIGFsd2F5cyBtb2JpbGUgbGF5b3V0XG4kdG9wYmFyLW1lZGlhLXF1ZXJ5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkdG9wYmFyLWJyZWFrcG9pbnQpfSlcIiAhZGVmYXVsdDtcblxuLy8gVG9wLWJhciBpbnB1dCBzdHlsZXNcbiR0b3BiYXItaW5wdXQtaGVpZ2h0OiByZW0tY2FsYygyOCkgIWRlZmF1bHQ7XG5cbi8vIERpdmlkZXIgU3R5bGVzXG4kdG9wYmFyLWRpdmlkZXItYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IHNjYWxlLWNvbG9yKCR0b3BiYXItYmctY29sb3IsICRsaWdodG5lc3M6IDEzJSkgIWRlZmF1bHQ7XG4kdG9wYmFyLWRpdmlkZXItYm9yZGVyLXRvcDogc29saWQgMXB4IHNjYWxlLWNvbG9yKCR0b3BiYXItYmctY29sb3IsICRsaWdodG5lc3M6IC01MCUpICFkZWZhdWx0O1xuXG4vLyBTdGlja3kgQ2xhc3NcbiR0b3BiYXItc3RpY2t5LWNsYXNzOiBcIi5zdGlja3lcIiAhZGVmYXVsdDtcbiR0b3BiYXItYXJyb3dzOiB0cnVlICFkZWZhdWx0OyAvL1NldCBmYWxzZSB0byByZW1vdmUgdGhlIHRyaWFuZ2xlIGljb24gZnJvbSB0aGUgbWVudSBpdGVtXG4kdG9wYmFyLWRyb3Bkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDsgLy9TZXQgZmFsc2UgdG8gcmVtb3ZlIHRoZSBcXDAwYmIgPj4gdGV4dCBmcm9tIGRyb3Bkb3duIHN1Ym5hdmlnYXRpb24gbGlcblxuLy8gQWNjZXNzaWJpbGl0eSBtaXhpbnMgZm9yIGhpZGluZyBhbmQgc2hvd2luZyB0aGUgbWVudSBkcm9wZG93biBpdGVtc1xuQG1peGluIHRvcGJhci1oaWRlLWRyb3Bkb3duIHtcbiAgLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4gYnkgZGVmYXVsdCwgYnV0IHZpc2libGUgd2hlbiBmb2N1c2VkLlxuICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZSgpO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuQG1peGluIHRvcGJhci1zaG93LWRyb3Bkb3duIHtcbiAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmKCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgLy8gUmVzZXQgdGhlIHBvc2l0aW9uIGZyb20gc3RhdGljIHRvIGFic29sdXRlXG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ0b3AtYmFyXCIpIHtcblxuICBAaWYgJGluY2x1ZGUtaHRtbC10b3AtYmFyLWNsYXNzZXMge1xuXG4gICAgLy8gVXNlZCB0byBwcm92aWRlIG1lZGlhIHF1ZXJ5IHZhbHVlcyBmb3IgamF2YXNjcmlwdCBjb21wb25lbnRzLlxuICAgIC8vIFRoaXMgY2xhc3MgaXMgZ2VuZXJhdGVkIGRlc3BpdGUgdGhlIHZhbHVlIG9mICRpbmNsdWRlLWh0bWwtdG9wLWJhci1jbGFzc2VzXG4gICAgLy8gdG8gZW5zdXJlIHdpZHRoIGNhbGN1bGF0aW9ucyB3b3JrIGNvcnJlY3RseS5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEtdG9wYmFyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJHRvcGJhci1tZWRpYS1xdWVyeSkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiAkdG9wYmFyLWJyZWFrcG9pbnQ7XG4gICAgfVxuXG4gICAgLyogV3JhcHBlZCBhcm91bmQgLnRvcC1iYXIgdG8gY29udGFpbiB0byBncmlkIHdpZHRoICovXG4gICAgLmNvbnRhaW4tdG8tZ3JpZCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItYmc7XG5cbiAgICAgIC50b3AtYmFyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHRvcGJhci1tYXJnaW4tYm90dG9tO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFdyYXBwZWQgYXJvdW5kIC50b3AtYmFyIHRvIG1ha2UgaXQgc3RpY2sgdG8gdGhlIHRvcFxuICAgIC5maXhlZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG5cbiAgICAgICYuZXhwYW5kZWQ6bm90KC50b3AtYmFyKSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLnRpdGxlLWFyZWEge1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB6LWluZGV4OiA5OTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEVuc3VyZSB5b3UgY2FuIHNjcm9sbCB0aGUgbWVudSBvbiBzbWFsbCBzY3JlZW5zXG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24ge1xuICAgICAgICAgIG1hcmdpbi10b3A6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgIHotaW5kZXg6IDk4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1iYXIge1xuICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1iZztcbiAgICAgIGhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICBsaW5lLWhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkdG9wYmFyLW1hcmdpbi1ib3R0b207XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAvLyBUb3BiYXIgR2xvYmFsIGxpc3QgU3R5bGVzXG4gICAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIC5yb3cge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIGZvcm0sXG4gICAgICBpbnB1dCwgXG4gICAgICBzZWxlY3Qge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICBpbnB1dCwgXG4gICAgICBzZWxlY3Qge1xuICAgICAgICBmb250LXNpemU6ICR0b3BiYXItYnV0dG9uLWZvbnQtc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkdG9wYmFyLWlucHV0LWhlaWdodDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IC4zNXJlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IC4zNXJlbTtcbiAgICAgIH1cblxuICAgICAgLmJ1dHRvbiwgYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLWJ1dHRvbi1mb250LXNpemU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAuMzVyZW0gKyByZW0tY2FsYygxKTtcbiAgICAgICAgcGFkZGluZy10b3A6IC4zNXJlbSArIHJlbS1jYWxjKDEpO1xuICAgICAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC8vIHRvcDogLTFweDtcblxuICAgICAgICAvLyBDb3JyZWN0cyBhIHNsaWdodCBtaXNhbGlnbm1lbnQgd2hlbiBwdXQgbmV4dCB0byBhbiBpbnB1dCBmaWVsZFxuICAgICAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gVGl0bGUgQXJlYVxuICAgICAgLnRpdGxlLWFyZWEge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cblxuICAgICAgLm5hbWUge1xuICAgICAgICBmb250LXNpemU6ICRyZW0tYmFzZTtcbiAgICAgICAgaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIGgxLCBoMiwgaDMsIGg0LCBwLCBzcGFuIHtcbiAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXItdGl0bGUtZm9udC1zaXplO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3I7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdG9wYmFyLXRpdGxlLXdlaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBNZW51IHRvZ2dsZSBidXR0b24gb24gc21hbGwgZGV2aWNlc1xuICAgICAgLnRvZ2dsZS10b3BiYXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICN7JHRvcGJhci1tZW51LWljb24tcG9zaXRpb259OiAwO1xuICAgICAgICB0b3A6IDA7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvcjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXItbWVudS1saW5rLWZvbnQtc2l6ZTtcbiAgICAgICAgICBmb250LXdlaWdodDogJHRvcGJhci1tZW51LWxpbmstd2VpZ2h0O1xuICAgICAgICAgIGhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgIHBhZGRpbmc6IDAgJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkdG9wYmFyLW1lbnUtbGluay10cmFuc2Zvcm07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBZGRpbmcgdGhlIGNsYXNzIFwibWVudS1pY29uXCIgd2lsbCBhZGQgdGhlIDMtbGluZSBpY29uIHBlb3BsZSBsb3ZlIGFuZCBhZG9yZS5cbiAgICAgICAgJi5tZW51LWljb24ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0xNnB4O1xuICAgICAgICAgIHRvcDogNTAlO1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBoYW1idXJnZXIoMTZweCwgZmFsc2UsIDAsIDFweCwgNnB4LCAkdG9wYmFyLW1lbnUtaWNvbi1jb2xvciwgXCJcIiwgZmFsc2UpO1xuXG4gICAgICAgICAgICBAaWYgJHRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgICAgICAgICAgIHRleHQtaW5kZW50OiAtNThweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLW1lbnUtbGluay1jb2xvcjtcbiAgICAgICAgICAgIGhlaWdodDogMzRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAkdG9wYmFyLWxpbmstcGFkZGluZytyZW0tY2FsYygyNSkgMCAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQ2hhbmdlIHRoaW5ncyB1cCB3aGVuIHRoZSB0b3AtYmFyIGlzIGV4cGFuZGVkXG4gICAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICAudGl0bGUtYXJlYSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1iZztcbiAgICAgICAgfVxuXG4gICAgICAgIC50b2dnbGUtdG9wYmFyIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLW1lbnUtbGluay1jb2xvci10b2dnbGVkO1xuXG4gICAgICAgICAgICBzcGFuOjphZnRlciB7XG4gICAgICAgICAgICAgIC8vIFNoaCwgZG9uJ3QgdGVsbCwgYnV0IGJveC1zaGFkb3dzIGNyZWF0ZSB0aGUgbWVudSBpY29uIDopXG4gICAgICAgICAgICAgIC8vIENoYW5nZSB0aGUgY29sb3Igb2YgdGhlIGJhcnMgd2hlbiB0aGUgbWVudSBpcyBleHBhbmRlZCwgdXNpbmcgZ2l2ZW4gdGhpY2tuZXNzIGZyb20gaGFtYnVyZ2VyKCkgYWJvdmVcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICR0b3BiYXItbWVudS1pY29uLWNvbG9yLXRvZ2dsZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDAgN3B4IDAgMXB4ICR0b3BiYXItbWVudS1pY29uLWNvbG9yLXRvZ2dsZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDAgMTRweCAwIDFweCAkdG9wYmFyLW1lbnUtaWNvbi1jb2xvci10b2dnbGVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZpeGVzIGFuIGlzc3VlIHdpdGggRGVza3RvcCBhbmQgTW9iaWxlIFNhZmFyaSB3aGVyZSBkZWVwbHktbmVzdGVkIG1lbnVzIGRvbid0IGFwcGVhclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOjApIHtcbiAgICAgICAgICAudG9wLWJhci1zZWN0aW9uIHtcbiAgICAgICAgICAgIC5oYXMtZHJvcGRvd24ubW92ZWQgPiAuZHJvcGRvd24sXG4gICAgICAgICAgICAuZHJvcGRvd24ge1xuICAgICAgICAgICAgICBjbGlwOiBpbml0aWFsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBUaGlzIHdhcyBuZWVkZWQgYXMgcGFyZW50IHVsJ3MgaGFkIHBhZGRpbmcsIGFuZCB0aGUgY2xpcDogd2FzIGFsbG93aW5nIGNvbnRlbnQgdG8gcGVhayB0aHJvdWdoXG4gICAgICAgICAgICAuaGFzLWRyb3Bkb3duOm5vdCgubW92ZWQpID4gdWwge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJpZ2h0IGFuZCBMZWZ0IE5hdmlnYXRpb24gdGhhdCBzdGFja2VkIGJ5IGRlZmF1bHRcbiAgICAudG9wLWJhci1zZWN0aW9uIHtcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbigkZGVmYXVsdC1mbG9hdCwgJHRvcGJhci10cmFuc2l0aW9uLXNwZWVkKTtcblxuICAgICAgdWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAkcmVtLWJhc2U7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLmRpdmlkZXIsXG4gICAgICBbcm9sZT1cInNlcGFyYXRvclwiXSB7XG4gICAgICAgIGJvcmRlci10b3A6ICR0b3BiYXItZGl2aWRlci1ib3JkZXItdG9wO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICB1bCBsaSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWRyb3Bkb3duLWJnO1xuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvcjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmb250LWZhbWlseTogJHRvcGJhci1saW5rLWZvbnQtZmFtaWx5O1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1saW5rLWZvbnQtc2l6ZTtcbiAgICAgICAgICBmb250LXdlaWdodDogJHRvcGJhci1saW5rLXdlaWdodDtcbiAgICAgICAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICBwYWRkaW5nOiAxMnB4IDAgMTJweCAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHRvcGJhci1saW5rLXRleHQtdHJhbnNmb3JtO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgJi5idXR0b24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLWxpbmstZm9udC1zaXplO1xuICAgICAgICAgICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokcHJpbWFyeS1jb2xvcik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5idXR0b24uc2Vjb25kYXJ5IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc2Vjb25kYXJ5LWNvbG9yKTsgfVxuICAgICAgICAgICYuYnV0dG9uLnN1Y2Nlc3MgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzdWNjZXNzLWNvbG9yKTsgfVxuICAgICAgICAgICYuYnV0dG9uLmFsZXJ0IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokYWxlcnQtY29sb3IpOyB9XG4gICAgICAgICAgJi5idXR0b24ud2FybmluZyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHdhcm5pbmctY29sb3IpOyB9XG4gICAgICAgICAgJi5idXR0b24uaW5mbyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGluZm8tY29sb3IpOyB9XG4gICAgICAgIH1cblxuICAgICAgICA+IGJ1dHRvbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLWxpbmstZm9udC1zaXplO1xuICAgICAgICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICAgICAmLnNlY29uZGFyeSB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHNlY29uZGFyeS1jb2xvcik7IH1cbiAgICAgICAgICAmLnN1Y2Nlc3MgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzdWNjZXNzLWNvbG9yKTsgfVxuICAgICAgICAgICYuYWxlcnQgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRhbGVydC1jb2xvcik7IH1cbiAgICAgICAgICAmLndhcm5pbmcgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiR3YXJuaW5nLWNvbG9yKTsgfVxuICAgICAgICAgICYuaW5mbyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGluZm8tY29sb3IpOyB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBcHBseSB0aGUgaG92ZXIgbGluayBjb2xvciB3aGVuIGl0IGhhcyB0aGF0IGNsYXNzXG4gICAgICAgICY6aG92ZXI6bm90KC5oYXMtZm9ybSkgPiBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI7XG4gICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1ob3ZlcjtcblxuICAgICAgICAgIEBpZiAoJHRvcGJhci1saW5rLWJnLWhvdmVyKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctaG92ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQXBwbHkgdGhlIGFjdGl2ZSBsaW5rIGNvbG9yIHdoZW4gaXQgaGFzIHRoYXQgY2xhc3NcbiAgICAgICAgJi5hY3RpdmUgPiBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctYWN0aXZlO1xuICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctYWN0aXZlLWhvdmVyO1xuICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1hY3RpdmUtaG92ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEFkZCBzb21lIGV4dHJhIHBhZGRpbmcgZm9yIGxpc3QgaXRlbXMgY29udGFpbnMgYnV0dG9uc1xuICAgICAgLmhhcy1mb3JtIHtcbiAgICAgICAgcGFkZGluZzogJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICB9XG5cbiAgICAgIC8vIFN0eWxpbmcgZm9yIGxpc3QgaXRlbXMgdGhhdCBoYXZlIGEgZHJvcGRvd24gd2l0aGluIHRoZW0uXG4gICAgICAuaGFzLWRyb3Bkb3duIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaWYgKCR0b3BiYXItYXJyb3dzKSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1zaXplLCByZ2JhKCR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWNvbG9yLCAkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1hbHBoYSksICRkZWZhdWx0LWZsb2F0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLSgkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1zaXplIC8gMikgLSAyO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYubW92ZWQge1xuICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG5cbiAgICAgICAgICA+IC5kcm9wZG93biB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0b3BiYXItc2hvdy1kcm9wZG93bigpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgPiBhOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFN0eWxpbmcgZWxlbWVudHMgaW5zaWRlIG9mIGRyb3Bkb3duc1xuICAgICAgLmRyb3Bkb3duIHtcbiAgICAgICAgQGluY2x1ZGUgdG9wYmFyLWhpZGUtZHJvcGRvd24oKTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMTAwJTtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJHRvcGJhci1kcm9wZG93bi1saW5rLXdlaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICAgICYucGFyZW50LWxpbmsge1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogJHRvcGJhci1saW5rLXdlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLnRpdGxlIGg1LFxuICAgICAgICAgICYucGFyZW50LWxpbmsge1xuICAgICAgICAgICAgLy8gQmFjayBCdXR0b25cbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLWJhY2stbGluay1zaXplO1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3I7XG4gICAgICAgICAgICAgIC8vIGxpbmUtaGVpZ2h0OiAoJHRvcGJhci1oZWlnaHQgLyAyKTtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOm5vbmU7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmhhcy1mb3JtIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuYnV0dG9uLFxuICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWNvbG9yO1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1kcm9wZG93bi1sYWJlbC1mb250LXNpemU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b3BiYXItZHJvcGRvd24tbGFiZWwtZm9udC13ZWlnaHQ7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICBwYWRkaW5nOiA4cHggJHRvcGJhci1saW5rLXBhZGRpbmcgMnB4O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLXRleHQtdHJhbnNmb3JtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmpzLWdlbmVyYXRlZCB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cblxuICAgIC8vIFRvcCBCYXIgc3R5bGVzIGludGVuZGVkIGZvciBzY3JlZW4gc2l6ZXMgYWJvdmUgdGhlIGJyZWFrcG9pbnQuXG4gICAgQG1lZGlhICN7JHRvcGJhci1tZWRpYS1xdWVyeX0ge1xuICAgICAgLnRvcC1iYXIge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1iZztcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAgICAgLnRvZ2dsZS10b3BiYXIgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgICAgLnRpdGxlLWFyZWEgeyBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7IH1cbiAgICAgICAgLm5hbWUgaDEgYSxcbiAgICAgICAgLm5hbWUgaDIgYSxcbiAgICAgICAgLm5hbWUgaDMgYSxcbiAgICAgICAgLm5hbWUgaDQgYSxcbiAgICAgICAgLm5hbWUgaDUgYSxcbiAgICAgICAgLm5hbWUgaDYgYSB7IHdpZHRoOiBhdXRvOyB9XG5cbiAgICAgICAgaW5wdXQsXG4gICAgICAgIHNlbGVjdCxcbiAgICAgICAgLmJ1dHRvbixcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICBoZWlnaHQ6ICR0b3BiYXItaW5wdXQtaGVpZ2h0O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6ICgoJHRvcGJhci1oZWlnaHQgLSAkdG9wYmFyLWlucHV0LWhlaWdodCkgLyAyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oYXMtZm9ybSA+IC5idXR0b24sXG4gICAgICAgIC5oYXMtZm9ybSA+IGJ1dHRvbiB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgaGVpZ2h0OiAkdG9wYmFyLWlucHV0LWhlaWdodDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IFxuICAgICAgICAgIHRvcDogKCgkdG9wYmFyLWhlaWdodCAtICR0b3BiYXItaW5wdXQtaGVpZ2h0KSAvIDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1iZztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29udGFpbi10by1ncmlkIC50b3AtYmFyIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICR0b3BiYXItbWFyZ2luLWJvdHRvbTtcbiAgICAgICAgbWF4LXdpZHRoOiAkcm93LXdpZHRoO1xuICAgICAgfVxuXG4gICAgICAudG9wLWJhci1zZWN0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24obm9uZSwwLDApO1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMCAhaW1wb3J0YW50O1xuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgICAgICAgICAuanMtZ2VuZXJhdGVkIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAmLmhvdmVyIHtcbiAgICAgICAgICAgID4gYTpub3QoLmJ1dHRvbikge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI7XG4gICAgICAgICAgICAgIEBpZiAoJHRvcGJhci1saW5rLWJnLWhvdmVyKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWhvdmVyO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItaG92ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpub3QoLmhhcy1mb3JtKSB7XG4gICAgICAgICAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZztcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI7XG4gICAgICAgICAgICAgICAgQGlmICgkdG9wYmFyLWxpbmstYmctaG92ZXIpIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmFjdGl2ZTpub3QoLmhhcy1mb3JtKSB7XG4gICAgICAgICAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1hY3RpdmU7XG4gICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAgJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1hY3RpdmUtaG92ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1hY3RpdmUtaG92ZXI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaGFzLWRyb3Bkb3duIHtcbiAgICAgICAgICBAaWYgJHRvcGJhci1hcnJvd3Mge1xuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9wYmFyLWxpbmstcGFkZGluZyArICR0b3BiYXItbGluay1kcm9wZG93bi1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1zaXplLCByZ2JhKCR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWNvbG9yLCAkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1hbHBoYSksIHRvcCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLSgkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1zaXplIC8gMik7XG4gICAgICAgICAgICAgICAgdG9wOiAoJHRvcGJhci1oZWlnaHQgLyAyKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYubW92ZWQgeyBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICA+IC5kcm9wZG93biB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRvcGJhci1oaWRlLWRyb3Bkb3duKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5ob3ZlciwgJi5ub3QtY2xpY2s6aG92ZXIge1xuICAgICAgICAgICAgPiAuZHJvcGRvd24ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB0b3BiYXItc2hvdy1kcm9wZG93bigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgID4gYTpmb2N1cyArIC5kcm9wZG93biB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0b3BiYXItc2hvdy1kcm9wZG93bigpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5kcm9wZG93biBsaS5oYXMtZHJvcGRvd24ge1xuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgQGlmICgkdG9wYmFyLWRyb3Bkb3duLWFycm93cykge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXDAwYmJcIjtcbiAgICAgICAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoMyk7XG5cbiAgICAgICAgICAgICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZHJvcGRvd24ge1xuICAgICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgICB0b3A6IGF1dG87XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1kcm9wZG93bi1saW5rLWJnO1xuICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhci1kcm9wZG93bi1saW5rLWNvbG9yO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDEycHggJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bm90KC5oYXMtZm9ybSk6bm90KC5hY3RpdmUpIHtcbiAgICAgICAgICAgICAgPiBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1kcm9wZG93bi1saW5rLWJnO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWRyb3Bkb3duLWxpbmstY29sb3I7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmOmhvdmVyID4gYTpub3QoLmJ1dHRvbikge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItbGluay1iZy1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhci1kcm9wZG93bi1saW5rLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgICAgIEBpZiAoJHRvcGJhci1kcm9wZG93bi1saW5rLWJnLWhvdmVyKSB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWRyb3Bkb3duLWxpbmstYmctaG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1kcm9wZG93bi1sYWJlbC1iZztcbiAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU2Vjb25kIExldmVsIERyb3Bkb3duc1xuICAgICAgICAgICAgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDEwMCU7XG4gICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IHVsID4gLmRpdmlkZXIsXG4gICAgICAgID4gdWwgPiBbcm9sZT1cInNlcGFyYXRvclwiXSB7XG4gICAgICAgICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICR0b3BiYXItZGl2aWRlci1ib3JkZXItYm90dG9tO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgICBoZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhhcy1mb3JtIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmc7XG4gICAgICAgICAgaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgICBwYWRkaW5nOiAwICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUG9zaXRpb24gb3ZlcnJpZGVzIGZvciB1bC5yaWdodCBhbmQgdWwubGVmdFxuICAgICAgICAuI3skb3Bwb3NpdGUtZGlyZWN0aW9ufSB7XG4gICAgICAgICAgbGkgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvO1xuICAgICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcblxuICAgICAgICAgICAgbGkgLmRyb3Bkb3duIHsgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMTAwJTsgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuI3skZGVmYXVsdC1mbG9hdH0ge1xuICAgICAgICAgIGxpIC5kcm9wZG93biB7XG4gICAgICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiBhdXRvO1xuICAgICAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG5cbiAgICAgICAgICAgIGxpIC5kcm9wZG93biB7ICN7JGRlZmF1bHQtZmxvYXR9OiAxMDAlOyB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIERlZ3JhZGUgZ3JhY2VmdWxseSB3aGVuIEphdmFzY3JpcHQgaXMgZGlzYWJsZWQuIERpc3BsYXlzIGRyb3Bkb3duIGFuZCBjaGFuZ2VzXG4gICAgICAvLyBiYWNrZ3JvdW5kICYgdGV4dCBjb2xvciBvbiBob3Zlci5cbiAgICAgIC5uby1qcyAudG9wLWJhci1zZWN0aW9uIHtcbiAgICAgICAgdWwgbGkge1xuICAgICAgICAgIC8vIEFwcGx5IHRoZSBob3ZlciBsaW5rIGNvbG9yIHdoZW4gaXQgaGFzIHRoYXQgY2xhc3NcbiAgICAgICAgICAmOmhvdmVyID4gYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI7XG4gICAgICAgICAgICBAaWYgKCR0b3BiYXItbGluay1iZy1ob3Zlcikge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctaG92ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWhvdmVyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIEFwcGx5IHRoZSBhY3RpdmUgbGluayBjb2xvciB3aGVuIGl0IGhhcyB0aGF0IGNsYXNzXG4gICAgICAgICAgJjphY3RpdmUgPiBhIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1hY3RpdmU7XG4gICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaGFzLWRyb3Bkb3duIHtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgID4gLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdG9wYmFyLXNob3ctZHJvcGRvd24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICA+IGE6Zm9jdXMgKyAuZHJvcGRvd24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wYmFyLXNob3ctZHJvcGRvd24oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbiRpbmNsdWRlLWh0bWwtdHlwZS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGhlYWRlciBmb250IHN0eWxlc1xuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG4kaGVhZGVyLWZvbnQtY29sb3I6ICRqZXQgIWRlZmF1bHQ7XG4kaGVhZGVyLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kaGVhZGVyLXRvcC1tYXJnaW46IC4ycmVtICFkZWZhdWx0O1xuJGhlYWRlci1ib3R0b20tbWFyZ2luOiAuNXJlbSAhZGVmYXVsdDtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGVyIGZvbnQgc2l6ZXNcbiRoMS1mb250LXNpemU6IHJlbS1jYWxjKDQ0KSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6IHJlbS1jYWxjKDM3KSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IHJlbS1jYWxjKDI3KSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6IHJlbS1jYWxjKDIzKSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IHJlbS1jYWxjKDE4KSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGhlYWRlciBzaXplIHJlZHVjdGlvbiBvbiBzbWFsbCBzY3JlZW5zXG4kaDEtZm9udC1yZWR1Y3Rpb246IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcbiRoMi1mb250LXJlZHVjdGlvbjogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuJGgzLWZvbnQtcmVkdWN0aW9uOiByZW0tY2FsYyg1KSAhZGVmYXVsdDtcbiRoNC1mb250LXJlZHVjdGlvbjogcmVtLWNhbGMoNSkgIWRlZmF1bHQ7XG4kaDUtZm9udC1yZWR1Y3Rpb246IDAgIWRlZmF1bHQ7XG4kaDYtZm9udC1yZWR1Y3Rpb246IDAgIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIGNvbnRyb2wgaG93IHN1YmhlYWRlcnMgYXJlIHN0eWxlZC5cbiRzdWJoZWFkZXItbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRzdWJoZWFkZXItZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAzNSUpICFkZWZhdWx0O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRzdWJoZWFkZXItdG9wLW1hcmdpbjogLjJyZW0gIWRlZmF1bHQ7XG4kc3ViaGVhZGVyLWJvdHRvbS1tYXJnaW46IC41cmVtICFkZWZhdWx0O1xuXG4vLyBBIGdlbmVyYWwgPHNtYWxsPiBzdHlsaW5nXG4kc21hbGwtZm9udC1zaXplOiA2MCUgIWRlZmF1bHQ7XG4kc21hbGwtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAzNSUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgcGFyYWdyYXBoc1xuJHBhcmFncmFwaC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kcGFyYWdyYXBoLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtbGluZS1oZWlnaHQ6IDEuNiAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuJHBhcmFncmFwaC1hc2lkZS1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtYXNpZGUtbGluZS1oZWlnaHQ6IDEuMzUgIWRlZmF1bHQ7XG4kcGFyYWdyYXBoLWFzaWRlLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIDxjb2RlPiB0YWdzXG4kY29kZS1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kY29kZS1iYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiA3MCUpICFkZWZhdWx0O1xuJGNvZGUtYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRjb2RlLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kY29kZS1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRjb2RlLWJhY2tncm91bmQtY29sb3IsICRsaWdodG5lc3M6IC0xMCUpICFkZWZhdWx0O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMikgcmVtLWNhbGMoNSkgcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBhbmNob3JzXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuJGFuY2hvci1mb250LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRhbmNob3ItZm9udC1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSA8aHI+IGVsZW1lbnRcbiRoci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRoci1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGhyLWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybyAhZGVmYXVsdDtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGxpc3RzXG4kbGlzdC1mb250LWZhbWlseTogJHBhcmFncmFwaC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRsaXN0LWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbGlzdC1saW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMXJlbSAhZGVmYXVsdDtcbiRsaXN0LW9yZGVyZWQtc2lkZS1tYXJnaW46IDEuNHJlbSAhZGVmYXVsdDtcbiRsaXN0LXNpZGUtbWFyZ2luLW5vLWJ1bGxldDogMCAhZGVmYXVsdDtcbiRsaXN0LW5lc3RlZC1tYXJnaW46IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcbiRkZWZpbml0aW9uLWxpc3QtaGVhZGVyLXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kZGVmaW5pdGlvbi1saXN0LWhlYWRlci1tYXJnaW4tYm90dG9tOiAuM3JlbSAhZGVmYXVsdDtcbiRkZWZpbml0aW9uLWxpc3QtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgYmxvY2txdW90ZXNcbiRibG9ja3F1b3RlLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRoZWFkZXItZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMzUlKSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkZ2FpbnNib3JvICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWNpdGUtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAyMyUpICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtY2l0ZS1saW5rLWNvbG9yOiAkYmxvY2txdW90ZS1jaXRlLWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vIEFjcm9ueW0gc3R5bGVzXG4kYWNyb255bS11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGdhaW5zYm9ybyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgcGFkZGluZyBhbmQgbWFyZ2luXG4kbWljcm9mb3JtYXQtcGFkZGluZzogcmVtLWNhbGMoMTAgMTIpICFkZWZhdWx0O1xuJG1pY3JvZm9ybWF0LW1hcmdpbjogcmVtLWNhbGMoMCAwIDIwIDApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYm9yZGVyIHN0eWxlc1xuJG1pY3JvZm9ybWF0LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJG1pY3JvZm9ybWF0LWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kbWljcm9mb3JtYXQtYm9yZGVyLWNvbG9yOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBmdWxsIG5hbWUgZm9udCBzdHlsZXNcbiRtaWNyb2Zvcm1hdC1mdWxsbmFtZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kbWljcm9mb3JtYXQtZnVsbG5hbWUtZm9udC1zaXplOiByZW0tY2FsYygxNSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIHN1bW1hcnkgZm9udCBzdHlsZXNcbiRtaWNyb2Zvcm1hdC1zdW1tYXJ5LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhYmJyIHBhZGRpbmdcbiRtaWNyb2Zvcm1hdC1hYmJyLXBhZGRpbmc6IHJlbS1jYWxjKDAgMSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYWJiciBmb250IHN0eWxlc1xuJG1pY3JvZm9ybWF0LWFiYnItZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJG1pY3JvZm9ybWF0LWFiYnItZm9udC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLyBDb250cm9scyB0aGUgcGFnZSBtYXJnaW4gd2hlbiBwcmludGluZyB0aGUgd2Vic2l0ZVxuJHByaW50LW1hcmdpbjogMC4zNGluICFkZWZhdWx0O1xuXG4vLyBUZXh0IGFsaWdubWVudCBjbGFzcyBuYW1lc1xuJGFsaWduLWNsYXNzLW5hbWVzOlxuICBzbWFsbC1vbmx5LFxuICBzbWFsbCxcbiAgbWVkaXVtLW9ubHksXG4gIG1lZGl1bSxcbiAgbGFyZ2Utb25seSxcbiAgbGFyZ2UsXG4gIHhsYXJnZS1vbmx5LFxuICB4bGFyZ2UsXG4gIHh4bGFyZ2Utb25seSxcbiAgeHhsYXJnZTtcblxuLy8gVGV4dCBhbGlnbm1lbnQgYnJlYWtwb2ludHNcbiRhbGlnbi1jbGFzcy1icmVha3BvaW50czpcbiAgJHNtYWxsLW9ubHksXG4gICRzbWFsbC11cCxcbiAgJG1lZGl1bS1vbmx5LFxuICAkbWVkaXVtLXVwLFxuICAkbGFyZ2Utb25seSxcbiAgJGxhcmdlLXVwLFxuICAkeGxhcmdlLW9ubHksXG4gICR4bGFyZ2UtdXAsXG4gICR4eGxhcmdlLW9ubHksXG4gICR4eGxhcmdlLXVwO1xuXG4vLyBHZW5lcmF0ZXMgdGV4dCBhbGlnbiBhbmQganVzdGlmeSBjbGFzc2VzXG5AbWl4aW4gYWxpZ24tY2xhc3Nlc3tcbiAgLnRleHQtbGVmdCAgICB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAudGV4dC1yaWdodCAgIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAudGV4dC1jZW50ZXIgIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLnRleHQtanVzdGlmeSB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRhbGlnbi1jbGFzcy1uYW1lcykge1xuICAgIEBtZWRpYSAjeyhudGgoJGFsaWduLWNsYXNzLWJyZWFrcG9pbnRzLCAkaSkpfSB7XG4gICAgICAuI3sobnRoKCRhbGlnbi1jbGFzcy1uYW1lcywgJGkpKX0tdGV4dC1sZWZ0IHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgICAuI3sobnRoKCRhbGlnbi1jbGFzcy1uYW1lcywgJGkpKX0tdGV4dC1yaWdodCAgIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgICAgLiN7KG50aCgkYWxpZ24tY2xhc3MtbmFtZXMsICRpKSl9LXRleHQtY2VudGVyICB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgICAuI3sobnRoKCRhbGlnbi1jbGFzcy1uYW1lcywgJGkpKX0tdGV4dC1qdXN0aWZ5IHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cbi8vXG4vLyBUeXBvZ3JhcGh5IFBsYWNlaG9sZGVyc1xuLy9cblxuLy8gVGhlc2Ugd2lsbCB0aHJvdyBhIGRlcHJlY2F0aW9uIHdhcm5pbmcgaWYgdXNlZCB3aXRoaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBsZWFkIHtcbiAgZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIHJlbS1jYWxjKDMuNSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbkBtaXhpbiBzdWJoZWFkZXIge1xuICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRzdWJoZWFkZXItZm9udC1jb2xvcjtcbiAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItdG9wLW1hcmdpbjtcbiAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1ib3R0b20tbWFyZ2luO1xufVxuQGluY2x1ZGUgZXhwb3J0cyhcInR5cGVcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC10eXBlLWNsYXNzZXMge1xuICAgIC8vIFJlc3BvbnNpdmUgVGV4dCBhbGlnbm1lbnRcbiAgICBAaW5jbHVkZSBhbGlnbi1jbGFzc2VzO1xuXG4gICAgLyogVHlwb2dyYXBoeSByZXNldHMgKi9cbiAgICBkaXYsXG4gICAgZGwsXG4gICAgZHQsXG4gICAgZGQsXG4gICAgdWwsXG4gICAgb2wsXG4gICAgbGksXG4gICAgaDEsXG4gICAgaDIsXG4gICAgaDMsXG4gICAgaDQsXG4gICAgaDUsXG4gICAgaDYsXG4gICAgcHJlLFxuICAgIGZvcm0sXG4gICAgcCxcbiAgICBibG9ja3F1b3RlLFxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIG1hcmdpbjowO1xuICAgICAgcGFkZGluZzowO1xuICAgIH1cblxuICAgIC8qIERlZmF1bHQgTGluayBTdHlsZXMgKi9cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWZvbnQtY29sb3I7XG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRhbmNob3ItZm9udC1jb2xvci1ob3ZlcjtcbiAgICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgXHR0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGltZyB7IGJvcmRlcjpub25lOyB9XG4gICAgfVxuXG4gICAgLyogRGVmYXVsdCBwYXJhZ3JhcGggc3R5bGVzICovXG4gICAgcCB7XG4gICAgICBmb250LWZhbWlseTogJHBhcmFncmFwaC1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemU7XG4gICAgICBmb250LXdlaWdodDogJHBhcmFncmFwaC1mb250LXdlaWdodDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmUtaGVpZ2h0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG5cbiAgICAgICYubGVhZCB7IEBpbmNsdWRlIGxlYWQ7IH1cblxuICAgICAgJiBhc2lkZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHBhcmFncmFwaC1hc2lkZS1mb250LXNpemU7XG4gICAgICAgIGZvbnQtc3R5bGU6ICRwYXJhZ3JhcGgtYXNpZGUtZm9udC1zdHlsZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtYXNpZGUtbGluZS1oZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogRGVmYXVsdCBoZWFkZXIgc3R5bGVzICovXG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgICBjb2xvcjogJGhlYWRlci1mb250LWNvbG9yO1xuICAgICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWxpbmUtaGVpZ2h0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGhlYWRlci1ib3R0b20tbWFyZ2luO1xuICAgICAgbWFyZ2luLXRvcDogJGhlYWRlci10b3AtbWFyZ2luO1xuICAgICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICAgIHNtYWxsIHtcbiAgICAgICAgY29sb3I6ICRzbWFsbC1mb250LWNvbG9yO1xuICAgICAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGgxIHsgZm9udC1zaXplOiAkaDEtZm9udC1zaXplIC0gJGgxLWZvbnQtcmVkdWN0aW9uOyB9XG4gICAgaDIgeyBmb250LXNpemU6ICRoMi1mb250LXNpemUgLSAkaDItZm9udC1yZWR1Y3Rpb247IH1cbiAgICBoMyB7IGZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZSAtICRoMy1mb250LXJlZHVjdGlvbjsgfVxuICAgIGg0IHsgZm9udC1zaXplOiAkaDQtZm9udC1zaXplIC0gJGg0LWZvbnQtcmVkdWN0aW9uOyB9XG4gICAgaDUgeyBmb250LXNpemU6ICRoNS1mb250LXNpemUgLSAkaDUtZm9udC1yZWR1Y3Rpb247IH1cbiAgICBoNiB7IGZvbnQtc2l6ZTogJGg2LWZvbnQtc2l6ZSAtICRoNi1mb250LXJlZHVjdGlvbjsgfVxuXG4gICAgLnN1YmhlYWRlciB7IEBpbmNsdWRlIHN1YmhlYWRlcjsgfVxuXG4gICAgaHIge1xuICAgICAgYm9yZGVyOiAkaHItYm9yZGVyLXN0eWxlICRoci1ib3JkZXItY29sb3I7XG4gICAgICBib3JkZXItd2lkdGg6ICRoci1ib3JkZXItd2lkdGggMCAwO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBtYXJnaW46ICRoci1tYXJnaW4gMCAoJGhyLW1hcmdpbiAtIHJlbS1jYWxjKCRoci1ib3JkZXItd2lkdGgpKTtcbiAgICB9XG5cbiAgICAvKiBIZWxwZnVsIFR5cG9ncmFwaHkgRGVmYXVsdHMgKi9cbiAgICBlbSxcbiAgICBpIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIH1cblxuICAgIHN0cm9uZyxcbiAgICBiIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIH1cblxuICAgIHNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIH1cblxuICAgIGNvZGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvZGUtYm9yZGVyLWNvbG9yO1xuICAgICAgYm9yZGVyLXN0eWxlOiAkY29kZS1ib3JkZXItc3R5bGU7XG4gICAgICBib3JkZXItd2lkdGg6ICRjb2RlLWJvcmRlci1zaXplO1xuICAgICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICAgICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICAgICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcbiAgICB9XG5cbiAgICAvKiBMaXN0cyAqL1xuICAgIHVsLFxuICAgIG9sLFxuICAgIGRsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkbGlzdC1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtc2l6ZTogJGxpc3QtZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmUtaGVpZ2h0O1xuICAgICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgfVxuXG4gICAgLyogVW5vcmRlcmVkIExpc3RzICovXG4gICAgdWwge1xuICAgICAgbGkge1xuICAgICAgICB1bCxcbiAgICAgICAgb2wge1xuICAgICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3QtbmVzdGVkLW1hcmdpbjtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLnNxdWFyZSxcbiAgICAgICYuY2lyY2xlLFxuICAgICAgJi5kaXNjIHtcbiAgICAgICAgbGkgdWwgeyBsaXN0LXN0eWxlOiBpbmhlcml0OyB9XG4gICAgICB9XG5cbiAgICAgICYuc3F1YXJlIHsgbGlzdC1zdHlsZS10eXBlOiBzcXVhcmU7IG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3Qtc2lkZS1tYXJnaW47fVxuICAgICAgJi5jaXJjbGUgeyBsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZTsgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1zaWRlLW1hcmdpbjt9XG4gICAgICAmLmRpc2MgeyBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3Qtc2lkZS1tYXJnaW47fVxuICAgIH1cblxuICAgIC8qIE9yZGVyZWQgTGlzdHMgKi9cbiAgICBvbCB7XG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRsaXN0LW9yZGVyZWQtc2lkZS1tYXJnaW47XG4gICAgICBsaSB7XG4gICAgICAgIHVsLFxuICAgICAgICBvbCB7XG4gICAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1uZXN0ZWQtbWFyZ2luO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBMaXN0cyB3aXRob3V0IGJ1bGxldHNcbiAgICAubm8tYnVsbGV0IHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3Qtc2lkZS1tYXJnaW4tbm8tYnVsbGV0O1xuICAgICAgXG4gICAgICBsaSB7XG4gICAgICAgIHVsLFxuICAgICAgICBvbCB7XG4gICAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1uZXN0ZWQtbWFyZ2luO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8qIERlZmluaXRpb24gTGlzdHMgKi9cbiAgICBkbCB7XG4gICAgICBkdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZpbml0aW9uLWxpc3QtaGVhZGVyLW1hcmdpbi1ib3R0b207XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmaW5pdGlvbi1saXN0LWhlYWRlci13ZWlnaHQ7XG4gICAgICB9XG4gICAgICBkZCB7IG1hcmdpbi1ib3R0b206ICRkZWZpbml0aW9uLWxpc3QtbWFyZ2luLWJvdHRvbTsgfVxuICAgIH1cblxuICAgIC8qIEFiYnJldmlhdGlvbnMgKi9cbiAgICBhYmJyLFxuICAgIGFjcm9ueW0ge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogOTAlO1xuICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItaGVscC12YWx1ZTtcbiAgICB9XG4gICAgYWJiciB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICZbdGl0bGVdIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGFjcm9ueW0tdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIEJsb2NrcXVvdGVzICovXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAgIGNpdGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAkYmxvY2txdW90ZS1jaXRlLWZvbnQtc2l6ZTtcbiAgICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNpdGUtZm9udC1jb2xvcjtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFwyMDE0IFxcMDAyMFwiO1xuICAgICAgICB9XG5cbiAgICAgICAgYSxcbiAgICAgICAgYTp2aXNpdGVkIHtcbiAgICAgICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY2l0ZS1saW5rLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGJsb2NrcXVvdGUsXG4gICAgYmxvY2txdW90ZSBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmUtaGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWZvbnQtY29sb3I7XG4gICAgfVxuXG4gICAgLyogTWljcm9mb3JtYXRzICovXG4gICAgLnZjYXJkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogJG1pY3JvZm9ybWF0LW1hcmdpbjtcbiAgICAgIGJvcmRlcjogJG1pY3JvZm9ybWF0LWJvcmRlci13aWR0aCAkbWljcm9mb3JtYXQtYm9yZGVyLXN0eWxlICRtaWNyb2Zvcm1hdC1ib3JkZXItY29sb3I7XG4gICAgICBwYWRkaW5nOiAkbWljcm9mb3JtYXQtcGFkZGluZztcblxuICAgICAgbGkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgLmZuIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRtaWNyb2Zvcm1hdC1mdWxsbmFtZS1mb250LXdlaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAkbWljcm9mb3JtYXQtZnVsbG5hbWUtZm9udC1zaXplO1xuICAgICAgfVxuICAgIH1cblxuICAgIC52ZXZlbnQge1xuICAgICAgLnN1bW1hcnkgeyBmb250LXdlaWdodDogJG1pY3JvZm9ybWF0LXN1bW1hcnktZm9udC13ZWlnaHQ7IH1cblxuICAgICAgYWJiciB7XG4gICAgICAgIGN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRtaWNyb2Zvcm1hdC1hYmJyLWZvbnQtZGVjb3JhdGlvbjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRtaWNyb2Zvcm1hdC1hYmJyLWZvbnQtd2VpZ2h0O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6ICRtaWNyb2Zvcm1hdC1hYmJyLXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHsgbGluZS1oZWlnaHQ6ICRoZWFkZXItbGluZS1oZWlnaHQ7IH1cbiAgICAgIGgxIHsgZm9udC1zaXplOiAkaDEtZm9udC1zaXplOyB9XG4gICAgICBoMiB7IGZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZTsgfVxuICAgICAgaDMgeyBmb250LXNpemU6ICRoMy1mb250LXNpemU7IH1cbiAgICAgIGg0IHsgZm9udC1zaXplOiAkaDQtZm9udC1zaXplOyB9XG4gICAgICBoNSB7IGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZTsgfVxuICAgICAgaDYgeyBmb250LXNpemU6ICRoNi1mb250LXNpemU7IH1cbiAgICB9XG5cbiAgICAvLyBPbmx5IGluY2x1ZGUgdGhlc2Ugc3R5bGVzIGlmIHlvdSB3YW50IHRoZW0uXG4gICAgQGlmICRpbmNsdWRlLXByaW50LXN0eWxlcyB7XG4gICAgICAvKlxuICAgICAgICogUHJpbnQgc3R5bGVzLlxuICAgICAgICpcbiAgICAgICAqIElubGluZWQgdG8gYXZvaWQgcmVxdWlyZWQgSFRUUCBjb25uZWN0aW9uOiB3d3cucGhwaWVkLmNvbS9kZWxheS1sb2FkaW5nLXlvdXItcHJpbnQtY3NzL1xuICAgICAgICogQ3JlZGl0IHRvIFBhdWwgSXJpc2ggYW5kIEhUTUw1IEJvaWxlcnBsYXRlIChodG1sNWJvaWxlcnBsYXRlLmNvbSlcbiAgICAgICovXG4gICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAqIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDsgLyogQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vcyAqL1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgYSxcbiAgICAgICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cblxuICAgICAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuXG4gICAgICAgIC8vIERvbid0IHNob3cgbGlua3MgZm9yIGltYWdlcywgb3IgamF2YXNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgICAgICAuaXIgYTphZnRlcixcbiAgICAgICAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyLFxuICAgICAgICBhW2hyZWZePVwiI1wiXTphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IH1cblxuICAgICAgICBwcmUsXG4gICAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRhbHVtaW51bTtcbiAgICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICAgIH1cblxuICAgICAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgLyogaDVicC5jb20vdCAqLyB9XG5cbiAgICAgICAgdHIsXG4gICAgICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICAgICAgQHBhZ2UgeyBtYXJnaW46ICRwcmludC1tYXJnaW47IH1cblxuICAgICAgICBwLFxuICAgICAgICBoMixcbiAgICAgICAgaDMge1xuICAgICAgICAgIG9ycGhhbnM6IDM7XG4gICAgICAgICAgd2lkb3dzOiAzO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIsXG4gICAgICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ3R5cGUnO1xuXG4vLyBPZmYgQ2FudmFzIFRhYiBCYXIgVmFyaWFibGVzXG4kaW5jbHVkZS1odG1sLW9mZi1jYW52YXMtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4kdGFiYmFyLWJnOiAkb2lsICFkZWZhdWx0O1xuJHRhYmJhci1oZWlnaHQ6IHJlbS1jYWxjKDQ1KSAhZGVmYXVsdDtcbiR0YWJiYXItaWNvbi13aWR0aDogJHRhYmJhci1oZWlnaHQgIWRlZmF1bHQ7XG4kdGFiYmFyLWxpbmUtaGVpZ2h0OiAkdGFiYmFyLWhlaWdodCAhZGVmYXVsdDtcbiR0YWJiYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0YWJiYXItbWlkZGxlLXBhZGRpbmc6IDAgcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuXG4vLyBPZmYgQ2FudmFzIERpdmlkZXIgU3R5bGVzXG4kdGFiYmFyLWxlZnQtc2VjdGlvbi1ib3JkZXI6IHNvbGlkIDFweCBzY2FsZS1jb2xvcigkdGFiYmFyLWJnLCAkbGlnaHRuZXNzOiAtNTAlKSAhZGVmYXVsdDtcbiR0YWJiYXItcmlnaHQtc2VjdGlvbi1ib3JkZXI6ICR0YWJiYXItbGVmdC1zZWN0aW9uLWJvcmRlcjtcblxuXG4vLyBPZmYgQ2FudmFzIFRhYiBCYXIgSGVhZGVyc1xuJHRhYmJhci1oZWFkZXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0YWJiYXItaGVhZGVyLXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kdGFiYmFyLWhlYWRlci1saW5lLWhlaWdodDogJHRhYmJhci1oZWlnaHQgIWRlZmF1bHQ7XG4kdGFiYmFyLWhlYWRlci1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vIE9mZiBDYW52YXMgTWVudSBWYXJpYWJsZXNcbiRvZmYtY2FudmFzLXdpZHRoOiByZW0tY2FsYygyNTApICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtaGVpZ2h0OiByZW0tY2FsYygzMDApICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtYmc6ICRvaWwgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJHRhYmJhci1iZywgJGxpZ2h0bmVzczogLTMwJSkgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1iZy1hY3RpdmU6IHNjYWxlLWNvbG9yKCR0YWJiYXItYmcsICRsaWdodG5lc3M6IC0zMCUpICFkZWZhdWx0O1xuXG4vLyBPZmYgQ2FudmFzIE1lbnUgTGlzdCBWYXJpYWJsZXNcbiRvZmYtY2FudmFzLWxhYmVsLXBhZGRpbmc6IC4zcmVtIHJlbS1jYWxjKDE1KSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxhYmVsLWNvbG9yOiAkYWx1bWludW0gIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1sYWJlbC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1sYWJlbC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1sYWJlbC1iZzogJHR1YXRhcmEgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1sYWJlbC1ib3JkZXItdG9wOiAxcHggc29saWQgc2NhbGUtY29sb3IoJG9mZi1jYW52YXMtbGFiZWwtYmcsICRsaWdodG5lc3M6IDE0JSkgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1sYWJlbC1ib3JkZXItYm90dG9tOiBub25lICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtbGFiZWwtbWFyZ2luOjAgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1saW5rLXBhZGRpbmc6IHJlbS1jYWxjKDEwLCAxNSkgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1saW5rLWNvbG9yOiByZ2JhKCR3aGl0ZSwgLjcpICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtbGluay1ib3JkZXItYm90dG9tOiAxcHggc29saWQgc2NhbGUtY29sb3IoJG9mZi1jYW52YXMtYmcsICRsaWdodG5lc3M6IC0yNSUpICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtYmFjay1iZzogIzQ0NCAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWJhY2stYm9yZGVyLXRvcDogJG9mZi1jYW52YXMtbGFiZWwtYm9yZGVyLXRvcCAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWJhY2stYm9yZGVyLWJvdHRvbTogJG9mZi1jYW52YXMtbGFiZWwtYm9yZGVyLWJvdHRvbSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWJhY2staG92ZXItYmc6IHNjYWxlLWNvbG9yKCRvZmYtY2FudmFzLWJhY2stYmcsICRsaWdodG5lc3M6IC0zMCUpICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtYmFjay1ob3Zlci1ib3JkZXItdG9wOiAxcHggc29saWQgc2NhbGUtY29sb3IoJG9mZi1jYW52YXMtbGFiZWwtYmcsICRsaWdodG5lc3M6IDE0JSkgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1iYWNrLWhvdmVyLWJvcmRlci1ib3R0b206IG5vbmUgIWRlZmF1bHQ7XG5cbi8vIE9mZiBDYW52YXMgTWVudSBJY29uIFZhcmlhYmxlc1xuJHRhYmJhci1tZW51LWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0YWJiYXItbWVudS1pY29uLWhvdmVyOiBzY2FsZS1jb2xvcigkdGFiYmFyLW1lbnUtaWNvbi1jb2xvciwgJGxpZ2h0bmVzczogLTMwJSkgIWRlZmF1bHQ7XG5cbiR0YWJiYXItbWVudS1pY29uLXRleHQtaW5kZW50OiByZW0tY2FsYygzNSkgIWRlZmF1bHQ7XG4kdGFiYmFyLW1lbnUtaWNvbi13aWR0aDogJHRhYmJhci1pY29uLXdpZHRoICFkZWZhdWx0O1xuJHRhYmJhci1tZW51LWljb24taGVpZ2h0OiAkdGFiYmFyLWhlaWdodCAhZGVmYXVsdDtcbiR0YWJiYXItbWVudS1pY29uLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XG5cbiR0YWJiYXItaGFtYnVyZ2VyLWljb24td2lkdGg6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcbiR0YWJiYXItaGFtYnVyZ2VyLWljb24tbGVmdDogZmFsc2UgIWRlZmF1bHQ7XG4kdGFiYmFyLWhhbWJ1cmdlci1pY29uLXRvcDogZmFsc2UgIWRlZmF1bHQ7XG4kdGFiYmFyLWhhbWJ1cmdlci1pY29uLXRoaWNrbmVzczogMXB4ICFkZWZhdWx0O1xuJHRhYmJhci1oYW1idXJnZXItaWNvbi1nYXA6IDZweCAhZGVmYXVsdDtcblxuLy8gT2ZmIENhbnZhcyBCYWNrLUxpbmsgT3ZlcmxheVxuJG9mZi1jYW52YXMtb3ZlcmxheS10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zIGVhc2UgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1vdmVybGF5LWN1cnNvcjogcG9pbnRlciAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLW92ZXJsYXktYm94LXNoYWRvdzogLTRweCAwIDRweCByZ2JhKCRibGFjaywgLjUpLCA0cHggMCA0cHggcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIC4yKSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkd2hpdGUsIC4wNSkgIWRlZmF1bHQ7XG5cbi8vIFRyYW5zaXRpb24gVmFyaWFibGVzXG4kbWVudS1zbGlkZTogXCJ0cmFuc2Zvcm0gNTAwbXMgZWFzZVwiICFkZWZhdWx0O1xuXG5cbi8vIE1JWElOU1xuLy8gUmVtb3ZlIHRyYW5zaXRpb24gZmxpY2tlciBvbiBwaG9uZXNcbkBtaXhpbiBraWxsLWZsaWNrZXIge1xuICAvLyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigweCk7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vLyBCYXNpYyBwcm9wZXJ0aWVzIGZvciB0aGUgY29udGVudCB3cmFwc1xuQG1peGluIHdyYXAtYmFzZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtaXhpbiB0cmFuc2xhdGUzZCgkdHgsICR0eSwgJHR6KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkdHgsICR0eSwgJHR6KTtcbiAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR0eCwgJHR5LCAkdHopO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKCR0eCwgJHR5KTtcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR0eCwgJHR5LCAkdHopO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHR4LCAkdHksICR0eilcbn1cblxuLy8gYmFzaWMgc3R5bGVzIGZvciBvZmYtY2FudmFzIG1lbnUgY29udGFpbmVyXG5AbWl4aW4gb2ZmLWNhbnZhcy1tZW51KCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBraWxsLWZsaWNrZXI7XG4gICogeyBAaW5jbHVkZSBraWxsLWZsaWNrZXI7IH1cbiAgYmFja2dyb3VuZDogJG9mZi1jYW52YXMtYmc7XG4gIGJvdHRvbTogMDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZSAwcztcbiAgd2lkdGg6ICRvZmYtY2FudmFzLXdpZHRoO1xuICB6LWluZGV4OiAxMDAxO1xuXG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoLTEwMCUsMCwwKTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgfVxuICBAaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgxMDAlLDAsMCk7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICB9XG4gIEBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgwLC0xMDAlLDApO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRvZmYtY2FudmFzLWhlaWdodDtcbiAgfVxuICBAaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCwxMDAlLDApO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRvZmYtY2FudmFzLWhlaWdodDtcbiAgfVxufVxuXG4vLyBPRkYgQ0FOVkFTIFdSQVBcbi8vIFdyYXAgdmlzaWJsZSBjb250ZW50IGFuZCBwcmV2ZW50IHNjcm9sbCBiYXJzXG5AbWl4aW4gb2ZmLWNhbnZhcy13cmFwIHtcbiAgQGluY2x1ZGUga2lsbC1mbGlja2VyO1xuICBAaW5jbHVkZSB3cmFwLWJhc2U7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gICYubW92ZS1yaWdodCxcbiAgJi5tb3ZlLWxlZnQsXG4gICYubW92ZS1ib3R0b20sXG4gICYubW92ZS10b3AgeyBtaW4taGVpZ2h0OiAxMDAlOyAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cbn1cblxuLy8gSU5ORVIgV1JBUFxuLy8gTWFpbiBjb250ZW50IGFyZWEgdGhhdCBtb3ZlcyB0byByZXZlYWwgdGhlIG9mZi1jYW52YXMgbmF2XG5AbWl4aW4gaW5uZXItd3JhcCB7XG4gIC8vIEBpbmNsdWRlIGtpbGwtZmxpY2tlcjtcbiAgLy8gcmVtb3ZlZCBmb3Igbm93IHRpbGwgY2hyb21lIGZpeGVzIGJhY2tmYWNlIGlzc3VlXG4gIEBpbmNsdWRlIHdyYXAtYmFzZTtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC0jeyRtZW51LXNsaWRlfTtcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LSN7JG1lbnUtc2xpZGV9O1xuICAtbXMtdHJhbnNpdGlvbjogLW1zLSN7JG1lbnUtc2xpZGV9O1xuICAtby10cmFuc2l0aW9uOiAtby0jeyRtZW51LXNsaWRlfTtcbiAgdHJhbnNpdGlvbjogI3skbWVudS1zbGlkZX07XG59XG5cbi8vIFRBQiBCQVJcbi8vIFRoaXMgaXMgdGhlIHRhYiBiYXIgYmFzZVxuQG1peGluIHRhYi1iYXItYmFzZSB7XG4gIEBpbmNsdWRlIGtpbGwtZmxpY2tlcjtcblxuICAvLyBiYXNlIHN0eWxlc1xuICBiYWNrZ3JvdW5kOiAkdGFiYmFyLWJnO1xuICBjb2xvcjogJHRhYmJhci1jb2xvcjtcbiAgaGVpZ2h0OiAkdGFiYmFyLWhlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICR0YWJiYXItbGluZS1oZWlnaHQ7XG5cbiAgLy8gbWFrZSBzdXJlIGl0J3MgYmVsb3cgdGhlIC5leGl0LW9mZi1jYW52YXMgbGlua1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIHotaW5kZXg6IDk5OTtcblxuICAvLyBUeXBvZ3JhcGh5XG4gIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgIGNvbG9yOiAkdGFiYmFyLWhlYWRlci1jb2xvcjtcbiAgICBmb250LXdlaWdodDogJHRhYmJhci1oZWFkZXItd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkdGFiYmFyLWhlYWRlci1saW5lLWhlaWdodDtcbiAgICBtYXJnaW46ICR0YWJiYXItaGVhZGVyLW1hcmdpbjtcbiAgfVxuICBoMSwgaDIsIGgzLCBoNCB7IGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZTsgfVxufVxuXG4vLyBTTUFMTCBTRUNUSU9OU1xuLy8gVGhlc2UgYXJlIHNtYWxsIHNlY3Rpb25zIG9uIHRoZSBsZWZ0IGFuZCByaWdodCB0aGF0IGNvbnRhaW4gdGhlIG9mZi1jYW52YXMgdG9nZ2xlIGJ1dHRvbnM7XG5AbWl4aW4gdGFiYmFyLXNtYWxsLXNlY3Rpb24oJHBvc2l0aW9uKSB7XG4gIGhlaWdodDogJHRhYmJhci1oZWlnaHQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogJHRhYmJhci1pY29uLXdpZHRoO1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIGJvcmRlci1yaWdodDogJHRhYmJhci1sZWZ0LXNlY3Rpb24tYm9yZGVyO1xuICAgIC8vIGJveC1zaGFkb3c6IDFweCAwIDAgc2NhbGUtY29sb3IoJHRhYmJhci1iZywgJGxpZ2h0bmVzczogMTMlKTtcbiAgICBsZWZ0OiAwO1xuICB9XG4gIEBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGJvcmRlci1sZWZ0OiAkdGFiYmFyLXJpZ2h0LXNlY3Rpb24tYm9yZGVyO1xuICAgIC8vIGJveC1zaGFkb3c6IC0xcHggMCAwIHNjYWxlLWNvbG9yKCR0YWJiYXItYmcsICRsaWdodG5lc3M6IC01MCUpO1xuICAgIHJpZ2h0OjA7XG4gIH1cbn1cblxuQG1peGluIHRhYi1iYXItc2VjdGlvbiB7XG4gIGhlaWdodDogJHRhYmJhci1oZWlnaHQ7XG4gIHBhZGRpbmc6ICR0YWJiYXItbWlkZGxlLXBhZGRpbmc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDA7XG4gICAgJi5sZWZ0IHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICYucmlnaHQgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG5cbiAgLy8gc3RpbGwgbmVlZCB0byBtYWtlIHRoZXNlIG5vbi1wcmVzZW50YXRpb25hbFxuICAmLmxlZnQge1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6ICR0YWJiYXItaWNvbi13aWR0aDtcbiAgfVxuICAmLnJpZ2h0IHtcbiAgICBsZWZ0OiAkdGFiYmFyLWljb24td2lkdGg7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgJi5taWRkbGUge1xuICAgIGxlZnQ6ICR0YWJiYXItaWNvbi13aWR0aDtcbiAgICByaWdodDogJHRhYmJhci1pY29uLXdpZHRoO1xuICB9XG59XG5cbi8vIE9GRiBDQU5WQVMgTElTVFxuLy8gVGhpcyBpcyB0aGUgbGlzdCBvZiBsaW5rcyBpbiB0aGUgb2ZmLWNhbnZhcyBtZW51XG5AbWl4aW4gb2ZmLWNhbnZhcy1saXN0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46MDtcbiAgcGFkZGluZzowO1xuXG4gIGxpIHtcbiAgICBsYWJlbCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1sYWJlbC1iZztcbiAgICAgIGJvcmRlci1ib3R0b206ICRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci1ib3R0b207XG4gICAgICBib3JkZXItdG9wOiAkb2ZmLWNhbnZhcy1sYWJlbC1ib3JkZXItdG9wO1xuICAgICAgY29sb3I6ICRvZmYtY2FudmFzLWxhYmVsLWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6ICRvZmYtY2FudmFzLWxhYmVsLWZvbnQtc2l6ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkb2ZmLWNhbnZhcy1sYWJlbC1mb250LXdlaWdodDtcbiAgICAgIG1hcmdpbjogJG9mZi1jYW52YXMtbGFiZWwtbWFyZ2luO1xuICAgICAgcGFkZGluZzogJG9mZi1jYW52YXMtbGFiZWwtcGFkZGluZztcbiAgICAgIHRleHQtdHJhbnNmb3JtOiAkb2ZmLWNhbnZhcy1sYWJlbC10ZXh0LXRyYW5zZm9ybTtcbiAgICB9XG4gICAgYSB7XG4gICAgICBib3JkZXItYm90dG9tOiAkb2ZmLWNhbnZhcy1saW5rLWJvcmRlci1ib3R0b207XG4gICAgICBjb2xvcjogJG9mZi1jYW52YXMtbGluay1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogJG9mZi1jYW52YXMtbGluay1wYWRkaW5nO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcyBlYXNlO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLWJnLWhvdmVyO1xuICAgICAgfVxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1iZy1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLy8gQkFDSyBMSU5LXG4vLyBUaGlzIGlzIGFuIG92ZXJsYXkgdGhhdCwgd2hlbiBjbGlja2VkLCB3aWxsIHRvZ2dsZSBvZmYgdGhlIG9mZiBjYW52YXMgbWVudVxuQG1peGluIGJhY2stbGluayB7XG4gIEBpbmNsdWRlIGtpbGwtZmxpY2tlcjtcblxuICBib3gtc2hhZG93OiAkb2ZmLWNhbnZhcy1vdmVybGF5LWJveC1zaGFkb3c7XG4gIGN1cnNvcjogJG9mZi1jYW52YXMtb3ZlcmxheS1jdXJzb3I7XG4gIHRyYW5zaXRpb246ICRvZmYtY2FudmFzLW92ZXJsYXktdHJhbnNpdGlvbjtcblxuICAvLyBmaWxsIHRoZSBzY3JlZW5cbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xuICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQ7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwMjtcblxuICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vXG4vLyBPZmYtQ2FudmFzIFN1Ym1lbnUgQ2xhc3Nlc1xuLy9cbkBtaXhpbiBvZmYtY2FudmFzLXN1Ym1lbnUoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGtpbGwtZmxpY2tlcjtcbiAgKiB7IEBpbmNsdWRlIGtpbGwtZmxpY2tlcjsgfVxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLWJnO1xuICBib3R0b206IDA7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAkb2ZmLWNhbnZhcy13aWR0aDtcbiAgaGVpZ2h0OiAkb2ZmLWNhbnZhcy1oZWlnaHQ7XG4gIHotaW5kZXg6IDEwMDI7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoLTEwMCUsMCwwKTtcbiAgICBsZWZ0OiAwO1xuICB9XG4gIEBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDEwMCUsMCwwKTtcbiAgICByaWdodDogMDtcbiAgfVxuICBAaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCwtMTAwJSwwKTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH0gIFxuICBAaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCwxMDAlLDApO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtI3skbWVudS1zbGlkZX07XG4gIC1tb3otdHJhbnNpdGlvbjogLW1vei0jeyRtZW51LXNsaWRlfTtcbiAgLW1zLXRyYW5zaXRpb246IC1tcy0jeyRtZW51LXNsaWRlfTtcbiAgLW8tdHJhbnNpdGlvbjogLW8tI3skbWVudS1zbGlkZX07XG4gIHRyYW5zaXRpb246ICN7JG1lbnUtc2xpZGV9O1xuXG4gIC8vYmFjayBidXR0b24gc3R5bGUgbGlrZSBsYWJlbFxuICAuYmFjayA+IGEge1xuICAgIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLWJhY2stYmc7XG4gICAgYm9yZGVyLWJvdHRvbTogJG9mZi1jYW52YXMtYmFjay1ib3JkZXItYm90dG9tO1xuICAgIGJvcmRlci10b3A6ICRvZmYtY2FudmFzLWJhY2stYm9yZGVyLXRvcDtcbiAgICBjb2xvcjogJG9mZi1jYW52YXMtbGFiZWwtY29sb3I7XG4gICAgZm9udC13ZWlnaHQ6ICRvZmYtY2FudmFzLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICAgIHBhZGRpbmc6ICRvZmYtY2FudmFzLWxhYmVsLXBhZGRpbmc7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRvZmYtY2FudmFzLWxhYmVsLXRleHQtdHJhbnNmb3JtO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1iYWNrLWhvdmVyLWJnO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJG9mZi1jYW52YXMtYmFjay1ob3Zlci1ib3JkZXItYm90dG9tO1xuICAgICAgYm9yZGVyLXRvcDogJG9mZi1jYW52YXMtYmFjay1ob3Zlci1ib3JkZXItdG9wO1xuICAgIH1cblxuICAgIG1hcmdpbjogJG9mZi1jYW52YXMtbGFiZWwtbWFyZ2luO1xuICAgIEBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgaWNvbi1kb3VibGUtYXJyb3dzKCRwb3NpdGlvbjogbGVmdCk7XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBpY29uLWRvdWJsZS1hcnJvd3MoJHBvc2l0aW9uOiByaWdodCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgIEBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgQGluY2x1ZGUgaWNvbi1kb3VibGUtYXJyb3dzKCRwb3NpdGlvbjogcmlnaHQpO1xuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIEBpbmNsdWRlIGljb24tZG91YmxlLWFycm93cygkcG9zaXRpb246IGxlZnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vL0xlZnQgZG91YmxlIGFuZ2xlIHF1b3RlIG9yIFJpZ2h0IGRvdWJsZSBhbmdsZSBxdW90ZSBjaGFyc1xuQG1peGluIGljb24tZG91YmxlLWFycm93cyAoJHBvc2l0aW9uKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgY29udGVudDogXCJcXEFCXCI7XG4gICAgQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgICAgbWFyZ2luLWxlZnQ6IC41cmVtO1xuICAgIH0gQGVsc2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcbiAgICB9XG4gIH1cbiAgQGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgY29udGVudDogXCJcXEJCXCI7XG4gICAgQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAuNXJlbTtcbiAgICB9XG4gIH1cbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4vL1xuLy8gREVGQVVMVCBDTEFTU0VTXG4vL1xuQGluY2x1ZGUgZXhwb3J0cyhcIm9mZmNhbnZhc1wiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLW9mZi1jYW52YXMtY2xhc3NlcyB7XG5cbiAgICAub2ZmLWNhbnZhcy13cmFwIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy13cmFwOyB9XG4gICAgLmlubmVyLXdyYXAgeyBAaW5jbHVkZSBpbm5lci13cmFwOyB9XG5cbiAgICAudGFiLWJhciB7IEBpbmNsdWRlIHRhYi1iYXItYmFzZTsgfVxuXG4gICAgLmxlZnQtc21hbGwgeyBAaW5jbHVkZSB0YWJiYXItc21hbGwtc2VjdGlvbigkcG9zaXRpb246IGxlZnQpOyB9XG4gICAgLnJpZ2h0LXNtYWxsIHsgQGluY2x1ZGUgdGFiYmFyLXNtYWxsLXNlY3Rpb24oJHBvc2l0aW9uOiByaWdodCk7IH1cblxuICAgIC50YWItYmFyLXNlY3Rpb24geyBAaW5jbHVkZSB0YWItYmFyLXNlY3Rpb247IH1cblxuICAgIC8vIE1FTlUgQlVUVE9OXG4gICAgLy8gVGhpcyBpcyBhIGxpdHRsZSBib251cy4gWW91IGRvbid0IG5lZWQgaXQgZm9yIG9mZiBjYW52YXMgdG8gd29yay4gTWl4aW5zIHRvIGJlIHdyaXR0ZW4gaW4gdGhlIGZ1dHVyZS5cbiAgICAudGFiLWJhciAubWVudS1pY29uIHtcbiAgICAgIGNvbG9yOiAkdGFiYmFyLW1lbnUtaWNvbi1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAkdGFiYmFyLW1lbnUtaWNvbi1oZWlnaHQ7XG4gICAgICBwYWRkaW5nOiAkdGFiYmFyLW1lbnUtaWNvbi1wYWRkaW5nO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1pbmRlbnQ6ICR0YWJiYXItbWVudS1pY29uLXRleHQtaW5kZW50O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgICB3aWR0aDogJHRhYmJhci1tZW51LWljb24td2lkdGg7XG5cbiAgICAgIC8vIEBpbmNsdWRlIGZvciB0aGUgaGFtYnVyZ2VyIG1lbnUtaWNvblxuICAgICAgLy9cbiAgICAgIC8vIEFyZ3VtZW50cyBhcyBmb2xsb3dzOiAoJHdpZHRoLCAkbGVmdCwgJHRvcCwgJHRoaWNrbmVzcywgJGdhcCwgJGNvbG9yLCAkaG92ZXItY29sb3IpXG4gICAgICAvLyAkd2lkdGggLSBXaWR0aCBvZiBoYW1idXJnZXIgaWNvbiBpbiByZW0gRGVmYXVsdDogJHRhYmJhci1oYW1idXJnZXItaWNvbi13aWR0aC5cbiAgICAgIC8vICRsZWZ0IC0gSWYgZmFsc2UsIGljb24gd2lsbCBiZSBjZW50ZXJlZCBob3Jpem9udGFsbHkgfHwgZXhwbGljaXRseSBzZXQgdmFsdWUgaW4gcmVtIERlZmF1bHQ6ICR0YWJiYXItaGFtYnVyZ2VyLWljb24tbGVmdD0gRmFsc2VcbiAgICAgIC8vICR0b3AgLSBJZiBmYWxzZSwgaWNvbiB3aWxsIGJlIGNlbnRlcmVkIHZlcnRpY2FsbHkgfHwgZXhwbGljaXRseSBzZXQgdmFsdWUgaW4gcmVtIERlZmF1bHQ6ID0gRmFsc2VcbiAgICAgIC8vICR0aGlja25lc3MgLSB0aGlja25lc3Mgb2YgbGluZXMgaW4gaGFtYnVyZ2VyIGljb24sIHNldCB2YWx1ZSBpbiBweCBEZWZhdWx0OiAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLXRoaWNrbmVzcyA9IDFweFxuICAgICAgLy8gJGdhcCAtIHNwYWNpbmcgYmV0d2VlbiB0aGUgbGluZXMgaW4gaGFtYnVyZ2VyIGljb24sIHNldCB2YWx1ZSBpbiBweCBEZWZhdWx0OiAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLWdhcCA9IDZweFxuICAgICAgLy8gJGNvbG9yIC0gaWNvbiBjb2xvciBEZWZhdWx0OiAkdGFiYmFyLW1lbnUtaWNvbi1jb2xvclxuICAgICAgLy8gJGhvdmVyLWNvbG9yIC0gaWNvbiBjb2xvciB3aGVuIGhvdmVyZWQgRGVmYXVsdDogJHRhYmJhci1tZW51LWljb24taG92ZXJcbiAgICAgIC8vICRvZmZjYW52YXMgLSBTZXQgdG8gdHJ1ZVxuICAgICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCR0YWJiYXItaGFtYnVyZ2VyLWljb24td2lkdGgsICR0YWJiYXItaGFtYnVyZ2VyLWljb24tbGVmdCwgJHRhYmJhci1oYW1idXJnZXItaWNvbi10b3AsICR0YWJiYXItaGFtYnVyZ2VyLWljb24tdGhpY2tuZXNzLCAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLWdhcCwgJHRhYmJhci1tZW51LWljb24tY29sb3IsICR0YWJiYXItbWVudS1pY29uLWhvdmVyLCB0cnVlKVxuICAgIH1cblxuICAgIC5sZWZ0LW9mZi1jYW52YXMtbWVudSB7IEBpbmNsdWRlIG9mZi1jYW52YXMtbWVudSgkcG9zaXRpb246IGxlZnQpOyB9XG4gICAgLnJpZ2h0LW9mZi1jYW52YXMtbWVudSB7IEBpbmNsdWRlIG9mZi1jYW52YXMtbWVudSgkcG9zaXRpb246IHJpZ2h0KTsgfVxuICAgIC50b3Atb2ZmLWNhbnZhcy1tZW51IHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1tZW51KCRwb3NpdGlvbjogdG9wKTsgfVxuICAgIC5ib3R0b20tb2ZmLWNhbnZhcy1tZW51IHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1tZW51KCRwb3NpdGlvbjogYm90dG9tKTsgfVxuXG4gICAgdWwub2ZmLWNhbnZhcy1saXN0IHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1saXN0OyB9XG5cblxuICAgIC8vIEFOSU1BVElPTiBDTEFTU0VTXG4gICAgLy8gVGhlc2UgY2xhc3NlcyBhcmUgYWRkZWQgd2l0aCBKUyBhbmQgdHJpZ2dlciB0aGUgYWN0dWFsIGFuaW1hdGlvbi5cbiAgICAubW92ZS1yaWdodCB7XG4gICAgICA+IC5pbm5lci13cmFwIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoJG9mZi1jYW52YXMtd2lkdGgsMCwwKTtcbiAgICAgIH1cbiAgICAgIC5leGl0LW9mZi1jYW52YXMgeyBAaW5jbHVkZSBiYWNrLWxpbms7fVxuICAgIH1cblxuICAgIC5tb3ZlLWxlZnQge1xuICAgICAgPiAuaW5uZXItd3JhcCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKC0oJG9mZi1jYW52YXMtd2lkdGgpLDAsMCk7XG5cbiAgICAgIH1cbiAgICAgIC5leGl0LW9mZi1jYW52YXMgeyBAaW5jbHVkZSBiYWNrLWxpbms7IH1cbiAgICB9XG4gICAgLm1vdmUtdG9wIHtcbiAgICAgID4gLmlubmVyLXdyYXAge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgwLC0oJG9mZi1jYW52YXMtaGVpZ2h0KSwwKTtcblxuICAgICAgfVxuICAgICAgLmV4aXQtb2ZmLWNhbnZhcyB7IEBpbmNsdWRlIGJhY2stbGluazsgfVxuICAgIH1cbiAgICAubW92ZS1ib3R0b20ge1xuICAgICAgPiAuaW5uZXItd3JhcCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDAsKCRvZmYtY2FudmFzLWhlaWdodCksMCk7XG5cbiAgICAgIH1cbiAgICAgIC5leGl0LW9mZi1jYW52YXMgeyBAaW5jbHVkZSBiYWNrLWxpbms7IH1cbiAgICB9XG4gICAgLm9mZmNhbnZhcy1vdmVybGFwIHtcbiAgICAgIC5sZWZ0LW9mZi1jYW52YXMtbWVudSwgLnJpZ2h0LW9mZi1jYW52YXMtbWVudSxcbiAgICAgIC50b3Atb2ZmLWNhbnZhcy1tZW51LCAuYm90dG9tLW9mZi1jYW52YXMtbWVudSB7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHotaW5kZXg6IDEwMDM7XG4gICAgICB9XG4gICAgICAuZXhpdC1vZmYtY2FudmFzIHsgQGluY2x1ZGUgYmFjay1saW5rOyB9XG4gICAgfVxuICAgIC5vZmZjYW52YXMtb3ZlcmxhcC1sZWZ0IHtcbiAgICAgIC5yaWdodC1vZmYtY2FudmFzLW1lbnUge1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB6LWluZGV4OiAxMDAzO1xuICAgICAgfVxuICAgICAgLmV4aXQtb2ZmLWNhbnZhcyB7IEBpbmNsdWRlIGJhY2stbGluazsgfVxuICAgIH1cbiAgICAub2ZmY2FudmFzLW92ZXJsYXAtcmlnaHQge1xuICAgICAgLmxlZnQtb2ZmLWNhbnZhcy1tZW51IHtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtby10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgei1pbmRleDogMTAwMztcbiAgICAgIH1cbiAgICAgIC5leGl0LW9mZi1jYW52YXMgeyBAaW5jbHVkZSBiYWNrLWxpbms7IH1cbiAgICB9XG4gICAgLm9mZmNhbnZhcy1vdmVybGFwLXRvcCB7XG4gICAgICAuYm90dG9tLW9mZi1jYW52YXMtbWVudSB7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHotaW5kZXg6IDEwMDM7XG4gICAgICB9XG4gICAgICAuZXhpdC1vZmYtY2FudmFzIHsgQGluY2x1ZGUgYmFjay1saW5rOyB9XG4gICAgfVxuICAgIC5vZmZjYW52YXMtb3ZlcmxhcC1ib3R0b20ge1xuICAgICAgLnRvcC1vZmYtY2FudmFzLW1lbnUge1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB6LWluZGV4OiAxMDAzO1xuICAgICAgfVxuICAgICAgLmV4aXQtb2ZmLWNhbnZhcyB7IEBpbmNsdWRlIGJhY2stbGluazsgfVxuICAgIH1cblxuICAgIC8vIE9sZGVyIGJyb3dzZXJzXG4gICAgLm5vLWNzc3RyYW5zZm9ybXMge1xuICAgICAgLmxlZnQtb2ZmLWNhbnZhcy1tZW51IHsgbGVmdDogLSgkb2ZmLWNhbnZhcy13aWR0aCk7IH1cbiAgICAgIC5yaWdodC1vZmYtY2FudmFzLW1lbnUgeyByaWdodDogLSgkb2ZmLWNhbnZhcy13aWR0aCk7IH1cbiAgICAgIC50b3Atb2ZmLWNhbnZhcy1tZW51IHsgdG9wOiAtKCRvZmYtY2FudmFzLWhlaWdodCk7IH1cbiAgICAgIC5ib3R0b20tb2ZmLWNhbnZhcy1tZW51IHsgYm90dG9tOiAtKCRvZmYtY2FudmFzLWhlaWdodCk7IH1cblxuICAgICAgLm1vdmUtbGVmdCA+IC5pbm5lci13cmFwIHsgcmlnaHQ6ICRvZmYtY2FudmFzLXdpZHRoOyB9XG4gICAgICAubW92ZS1yaWdodCA+IC5pbm5lci13cmFwIHsgbGVmdDogJG9mZi1jYW52YXMtd2lkdGg7IH1cbiAgICAgIC5tb3ZlLXRvcCA+IC5pbm5lci13cmFwIHsgcmlnaHQ6ICRvZmYtY2FudmFzLWhlaWdodDsgfVxuICAgICAgLm1vdmUtYm90dG9tID4gLmlubmVyLXdyYXAgeyBsZWZ0OiAkb2ZmLWNhbnZhcy1oZWlnaHQ7IH1cblxuXG4gICAgfVxuXG4gICAgLmxlZnQtc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXN1Ym1lbnUoJHBvc2l0aW9uOiBsZWZ0KTtcbiAgICAgICYubW92ZS1yaWdodCwgJi5vZmZjYW52YXMtb3ZlcmxhcC1yaWdodCwgJi5vZmZjYW52YXMtb3ZlcmxhcCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDAlLDAsMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnJpZ2h0LXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1zdWJtZW51KCRwb3NpdGlvbjogcmlnaHQpO1xuICAgICAgJi5tb3ZlLWxlZnQsICYub2ZmY2FudmFzLW92ZXJsYXAtbGVmdCwgJi5vZmZjYW52YXMtb3ZlcmxhcCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDAlLDAsMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtc3VibWVudSgkcG9zaXRpb246IHRvcCk7XG4gICAgICAmLm1vdmUtYm90dG9tLCAmLm9mZmNhbnZhcy1vdmVybGFwLWJvdHRvbSwgJi5vZmZjYW52YXMtb3ZlcmxhcCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDAsMCUsMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJvdHRvbS1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtc3VibWVudSgkcG9zaXRpb246IGJvdHRvbSk7XG4gICAgICAmLm1vdmUtdG9wLCAmLm9mZmNhbnZhcy1vdmVybGFwLXRvcCwgJi5vZmZjYW52YXMtb3ZlcmxhcCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDAsMCUsMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgICAgLmxlZnQtb2ZmLWNhbnZhcy1tZW51IHVsLm9mZi1jYW52YXMtbGlzdCBsaS5oYXMtc3VibWVudSA+IGE6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1kb3VibGUtYXJyb3dzKCRwb3NpdGlvbjogbGVmdCk7XG4gICAgICB9XG4gICAgICAucmlnaHQtb2ZmLWNhbnZhcy1tZW51IHVsLm9mZi1jYW52YXMtbGlzdCBsaS5oYXMtc3VibWVudSA+IGE6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWRvdWJsZS1hcnJvd3MoJHBvc2l0aW9uOiByaWdodCk7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAubGVmdC1vZmYtY2FudmFzLW1lbnUgdWwub2ZmLWNhbnZhcy1saXN0IGxpLmhhcy1zdWJtZW51ID4gYTphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZG91YmxlLWFycm93cygkcG9zaXRpb246IHJpZ2h0KTtcbiAgICAgIH1cbiAgICAgIC5yaWdodC1vZmYtY2FudmFzLW1lbnUgdWwub2ZmLWNhbnZhcy1saXN0IGxpLmhhcy1zdWJtZW51ID4gYTpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWRvdWJsZS1hcnJvd3MoJHBvc2l0aW9uOiBsZWZ0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5cblxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEZvdW5kYXRpb24gVmlzaWJpbGl0eSBDbGFzc2VzXG4vL1xuJGluY2x1ZGUtaHRtbC12aXNpYmlsaXR5LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcbiRpbmNsdWRlLWFjY2Vzc2liaWxpdHktY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDtcbiRpbmNsdWRlLXRhYmxlLXZpc2liaWxpdHktY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDtcbiRpbmNsdWRlLWxlZ2FjeS12aXNpYmlsaXR5LWNsYXNzZXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vXG4vLyBNZWRpYSBDbGFzcyBOYW1lc1xuLy9cbi8vIFZpc2liaWxpdHkgQnJlYWtwb2ludHNcbiR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXM6XG4gIHNtYWxsLFxuICBtZWRpdW0sXG4gIGxhcmdlLFxuICB4bGFyZ2UsXG4gIHh4bGFyZ2U7XG5cbiR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtcXVlcmllczpcbiAgdW5xdW90ZSgkc21hbGwtdXApLFxuICB1bnF1b3RlKCRtZWRpdW0tdXApLFxuICB1bnF1b3RlKCRsYXJnZS11cCksXG4gIHVucXVvdGUoJHhsYXJnZS11cCksXG4gIHVucXVvdGUoJHh4bGFyZ2UtdXApO1xuXG5AbWl4aW4gdmlzaWJpbGl0eS1sb29wIHtcbiAgQGVhY2ggJGN1cnJlbnQtdmlzaWJpbGl0eS1icmVha3BvaW50IGluICR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXMge1xuICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogKCk7XG4gICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiAoKTtcblxuICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogKCk7XG4gICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6ICgpO1xuXG4gICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogKCk7XG4gICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6ICgpO1xuICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdDogKCk7XG4gICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiAoKTtcblxuICAgIEBlYWNoICR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludCBpbiAkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzIHtcbiAgICAgIEBpZiBpbmRleCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzLCAkdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnQpIDwgaW5kZXgoJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcywgJGN1cnJlbnQtdmlzaWJpbGl0eS1icmVha3BvaW50KSB7XG4gICAgICAgIC8vIFNtYWxsZXIgdGhhbiBjdXJyZW50IGJyZWFrcG9pbnRcblxuICAgICAgICAkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS1ub25lLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1ub25lLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LWhpZGRlbi1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaGlkZGVuLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGFibGUuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0aGVhZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRib2R5LnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdHIuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGguaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0aC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAsIHRkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuXG4gICAgICAgIC8vIEZvdW5kYXRpb24gNCBjb21wYXRpYmlsaXR5OlxuICAgICAgICAvLyBJbmNsdWRlIC5zaG93L2hpZGUtZm9yLVtzaXplXSBhbmQgLnNob3cvaGlkZS1mb3ItW3NpemVdLWRvd24gY2xhc3Nlc1xuICAgICAgICAvLyBmb3Igc21hbGwsIG1lZGl1bSwgYW5kIGxhcmdlIGJyZWFrcG9pbnRzIG9ubHlcbiAgICAgICAgQGlmICRpbmNsdWRlLWxlZ2FjeS12aXNpYmlsaXR5LWNsYXNzZXMgYW5kIGluZGV4KChzbWFsbCwgbWVkaXVtLCBsYXJnZSksICR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludCkgIT0gZmFsc2Uge1xuICAgICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICcuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICcuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICcuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWhpZGRlbi1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGFibGUuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0aGVhZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3Rib2R5LmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndHIuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RoLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0aC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93biwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICB9XG5cbiAgICAgIH0gQGVsc2UgaWYgaW5kZXgoJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcywgJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50KSA+IGluZGV4KCR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXMsICRjdXJyZW50LXZpc2liaWxpdHktYnJlYWtwb2ludCkge1xuICAgICAgICAvLyBMYXJnZXIgdGhhbiBjdXJyZW50IGJyZWFrcG9pbnRcblxuICAgICAgICAkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS1ub25lLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1ub25lLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGFibGUuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0aGVhZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRib2R5LmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdHIuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGguaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0aC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAsIHRkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuXG4gICAgICAgIC8vIEZvdW5kYXRpb24gNCBjb21wYXRpYmlsaXR5OlxuICAgICAgICAvLyBJbmNsdWRlIC5zaG93L2hpZGUtZm9yLVtzaXplXSBhbmQgLnNob3cvaGlkZS1mb3ItW3NpemVdLWRvd24gY2xhc3Nlc1xuICAgICAgICAvLyBmb3Igc21hbGwsIG1lZGl1bSwgYW5kIGxhcmdlIGJyZWFrcG9pbnRzIG9ubHlcbiAgICAgICAgQGlmICRpbmNsdWRlLWxlZ2FjeS12aXNpYmlsaXR5LWNsYXNzZXMgYW5kIGluZGV4KChzbWFsbCwgbWVkaXVtLCBsYXJnZSksICR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludCkgIT0gZmFsc2Uge1xuICAgICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICcuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICcuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICcuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICcudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGFibGUuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0aGVhZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3Rib2R5LmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndHIuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RoLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0aC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93biwgdGQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICB9XG5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBDdXJyZW50IGJyZWFrcG9pbnRcblxuICAgICAgICAkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS1ub25lLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1ub25lLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWhpZGRlbi1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICcuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGFibGUuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0aGVhZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRib2R5LnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdHIuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGguc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0aC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAsIHRkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuXG4gICAgICAgIC8vIEZvdW5kYXRpb24gNCBjb21wYXRpYmlsaXR5OlxuICAgICAgICAvLyBJbmNsdWRlIC5zaG93L2hpZGUtZm9yLVtzaXplXSBhbmQgLnNob3cvaGlkZS1mb3ItW3NpemVdLWRvd24gY2xhc3Nlc1xuICAgICAgICAvLyBmb3Igc21hbGwsIG1lZGl1bSwgYW5kIGxhcmdlIGJyZWFrcG9pbnRzIG9ubHlcbiAgICAgICAgQGlmICRpbmNsdWRlLWxlZ2FjeS12aXNpYmlsaXR5LWNsYXNzZXMgYW5kIGluZGV4KChzbWFsbCwgbWVkaXVtLCBsYXJnZSksICR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludCkgIT0gZmFsc2Uge1xuICAgICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICcuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICcuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICcudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LWhpZGRlbi1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaGlkZGVuLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAnLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGFibGUuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0aGVhZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3Rib2R5LnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndHIuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0aC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93biwgdGQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogI3skY3VycmVudC12aXNpYmlsaXR5LWJyZWFrcG9pbnR9IGRpc3BsYXlzICovXG4gICAgQG1lZGlhICN7bnRoKCR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtcXVlcmllcywgaW5kZXgoJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcywgJGN1cnJlbnQtdmlzaWJpbGl0eS1icmVha3BvaW50KSl9IHtcbiAgICAgICN7JHZpc2liaWxpdHktaW5oZXJpdC1saXN0fSB7XG4gICAgICAgIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgICN7JHZpc2liaWxpdHktbm9uZS1saXN0fSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIEBpZiAkaW5jbHVkZS1hY2Nlc3NpYmlsaXR5LWNsYXNzZXMgIT0gZmFsc2Uge1xuICAgICAgICAjeyR2aXNpYmlsaXR5LXZpc2libGUtbGlzdH0ge1xuICAgICAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICAgICAgfVxuICAgICAgICAjeyR2aXNpYmlsaXR5LWhpZGRlbi1saXN0fSB7XG4gICAgICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBpZiAkaW5jbHVkZS10YWJsZS12aXNpYmlsaXR5LWNsYXNzZXMgIT0gZmFsc2Uge1xuICAgICAgICAjeyR2aXNpYmlsaXR5LXRhYmxlLWxpc3R9IHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3R9IHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAjeyR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0fSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgI3skdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdH0ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgICAgICAgfVxuICAgICAgICAjeyR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdH0ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwidmlzaWJpbGl0eVwiKXtcbiAgQGlmICRpbmNsdWRlLWh0bWwtdmlzaWJpbGl0eS1jbGFzc2VzICE9IGZhbHNlIHtcblxuICBAaW5jbHVkZSB2aXNpYmlsaXR5LWxvb3A7XG5cbiAgLyogT3JpZW50YXRpb24gdGFyZ2V0aW5nICovXG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAvKiBTcGVjaWZpYyB2aXNpYmlsaXR5IGZvciB0YWJsZXMgKi9cbiAgdGFibGUge1xuICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgICYuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIH1cbiAgdGhlYWQge1xuICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgICYuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB9XG4gIHRib2R5IHtcbiAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAmLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgfVxuICB0ciB7XG4gICAgJi5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgJi5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIH1cbiAgdGQsXG4gIHRoIHtcbiAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAmLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIH1cblxuICBAbWVkaWEgI3skbGFuZHNjYXBlfSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgLyogU3BlY2lmaWMgdmlzaWJpbGl0eSBmb3IgdGFibGVzICovXG4gICAgdGFibGUge1xuICAgICAgJi5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgICAmLmhpZGUtZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgICB0aGVhZCB7XG4gICAgICAmLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAgICYuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgICB0Ym9keSB7XG4gICAgICAmLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAgICYuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgICB0ciB7XG4gICAgICAmLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAgICYuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgICB0ZCxcbiAgICB0aCB7XG4gICAgICAmLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAgICYuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEgI3skcG9ydHJhaXR9IHtcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQsXG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSB7IGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCxcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICAvKiBTcGVjaWZpYyB2aXNpYmlsaXR5IGZvciB0YWJsZXMgKi9cbiAgICB0YWJsZSB7XG4gICAgICAmLnNob3ctZm9yLXBvcnRyYWl0LFxuICAgICAgJi5oaWRlLWZvci1sYW5kc2NhcGUgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRoZWFkIHtcbiAgICAgICYuc2hvdy1mb3ItcG9ydHJhaXQsXG4gICAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRib2R5IHtcbiAgICAgICYuc2hvdy1mb3ItcG9ydHJhaXQsXG4gICAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRyIHtcbiAgICAgICYuc2hvdy1mb3ItcG9ydHJhaXQsXG4gICAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRkLFxuICAgIHRoIHtcbiAgICAgICYuc2hvdy1mb3ItcG9ydHJhaXQsXG4gICAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIC8qIFRvdWNoLWVuYWJsZWQgZGV2aWNlIHRhcmdldGluZyAqL1xuICAuc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC50b3VjaCAuc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgLnRvdWNoIC5oaWRlLWZvci10b3VjaCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIC8qIFNwZWNpZmljIHZpc2liaWxpdHkgZm9yIHRhYmxlcyAqL1xuICB0YWJsZS5oaWRlLWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgLnRvdWNoIHRhYmxlLnNob3ctZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5oaWRlLWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIC50b3VjaCB0aGVhZC5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgLnRvdWNoIHRib2R5LnNob3ctZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAudG91Y2ggdHIuc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5oaWRlLWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAudG91Y2ggdGQuc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgdGguaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgLnRvdWNoIHRoLnNob3ctZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgLyogU2NyZWVuIHJlYWRlci1zcGVjaWZpYyBjbGFzc2VzICovXG4gIC5zaG93LWZvci1zciB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLyogUHJpbnQgdmlzaWJpbGl0eSAqL1xuICBAaWYgJGluY2x1ZGUtcHJpbnQtc3R5bGVzIHtcbiAgICAucHJpbnQtb25seSxcbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgLnByaW50LW9ubHksXG4gICAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgICAuaGlkZS1vbi1wcmludCxcbiAgICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuICB9XG59XG4iLCIvLyBJQ09OU1xuLmZlYXR1cmUtaWNvbiB7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIHJlbS1jYWxjKDIwKSBhdXRvO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDYwcHg7XG59XG5cbi5pY29uLXdvcmtpbmctcGFwZXJzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvd29ya2luZy1wYXBlcnMuc3ZnXCIpO1xufVxuXG4uaWNvbi13b3JraW5nLXBhcGVycy1zeW5jIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvd29ya2luZy1wYXBlcnMtc3luYy5zdmdcIik7XG59XG5cbi5pY29uLXByYWN0aWNlLW1hbmFnZW1lbnQtc29sdXRpb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9wcmFjdGljZS1tYW5hZ2VtZW50LnN2Z1wiKTtcbn1cblxuLmljb24tcGVyc29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvcGVyc29uLnN2Z1wiKTtcbn1cblxuLmljb24tcGVvcGxlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvYXBwLXBlb3BsZS5zdmdcIik7XG59XG5cbi5pY29uLWZpbGVzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvYXBwLWZpbGVzLnN2Z1wiKTtcbn1cblxuLmljb24tbG9jayB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2xvY2suc3ZnXCIpO1xufVxuXG4uaWNvbi1vdmVydmlldyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2FwcC1vdmVydmlldy5zdmdcIik7XG59XG5cbi5pY29uLWVudGl0aWVzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvYXBwLWVudGl0aWVzLnN2Z1wiKTtcbn1cblxuLmljb24tcSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2FwcC1xLnN2Z1wiKTtcbn1cblxuLmljb24tYXNzb2NpYXRpb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9hc3NvY2lhdGlvbi5zdmdcIik7XG59XG5cbi5pY29uLWZvbGRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2ZvbGRlci5zdmdcIik7XG59XG5cbi5pY29uLXRpbWUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9hcHAtdGltZS5zdmdcIik7XG59XG5cbi5pY29uLXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9zdWNjZXNzLnN2Z1wiKTtcbn1cbiIsIkBpbXBvcnQgXCJzZXR0aW5nc19vdmVycmlkZVwiO1xuQGltcG9ydCBcIm1vZHVsZXMvaWNvbnNcIjtcblxuLy8gVE9QIExFVkVMIERPTSBFTEVNRU5UU1xuaHRtbCwgYm9keSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG5ib2R5IHtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLndyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbn1cblxubWFpbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlIDBzO1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgZmxleDogMSAwIGF1dG87XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5tYWluID4gc2VjdGlvbjpMQVNULUNISUxEIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTAwKTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpdW0tYnJlYWtwb2ludCkge1xuICAgIG1haW4gPiBzZWN0aW9uOkxBU1QtQ0hJTEQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoODApO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICRzbWFsbC1icmVha3BvaW50KSB7XG4gICAgbWFpbiA+IHNlY3Rpb246TEFTVC1DSElMRCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg2MCk7XG4gICAgfVxufVxuXG5zZWN0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbGV4OiAwIDAgYXV0bztcbn1cblxuc2VjdGlvbiArIHNlY3Rpb24ge1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg2MCk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaXVtLWJyZWFrcG9pbnQpIHtcbiAgICBzZWN0aW9uICsgc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzMCk7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJHNtYWxsLWJyZWFrcG9pbnQpIHtcbiAgICBzZWN0aW9uICsgc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbn1cblxuc2VjdGlvbiA+IGFydGljbGUge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgNjApO1xuICAgIHRyYW5zaXRpb246IGFsbCAxMDBtcyBlYXNlIDBzO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJG1lZGl1bS1icmVha3BvaW50KSB7XG4gICAgc2VjdGlvbiA+IGFydGljbGUge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg0MCk7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJHNtYWxsLWJyZWFrcG9pbnQpIHtcbiAgICBzZWN0aW9uID4gYXJ0aWNsZSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwKSByZW0tY2FsYygzMCkgMDtcbiAgICB9XG59XG5cbnNlY3Rpb24gaDEge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTAwMCk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTQpO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkZGFyay1zbW9rZTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpdW0tYnJlYWtwb2ludCkge1xuICAgIHNlY3Rpb24gaDEge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI4KTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkc21hbGwtYnJlYWtwb2ludCkge1xuICAgIHNlY3Rpb24gaDEge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcbiAgICB9XG59XG5cbnNlY3Rpb24gcCB7XG4gICAgY29sb3I6ICM2NjY2NjY7XG59XG5cbnVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYXJ0aWNsZS1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDQwKTtcblxuICAgIC5yb3cgKyAucm93IHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpdW0tYnJlYWtwb2ludCkge1xuICAgIC5hcnRpY2xlLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDIwKTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkc21hbGwtYnJlYWtwb2ludCkge1xuICAgIC5hcnRpY2xlLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuXG4vLyBUWVBPR1JBUEhZXG5oMSB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogYmxhY2s7XG59XG5cbmgyIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5oMyB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogYmxhY2s7XG59XG5cbnNtYWxsIHtcbiAgICBmb250LXNpemU6IDcwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xufVxuXG5cbi8vIEJVVFRPTlNcbmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDhweCAxNHB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG59XG5cbi5idXR0b24tbGFyZ2Uge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE0IDMwKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZSAwcztcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkcHJpbWFyeS1jb2xvciwgJHByaW1hcnktY29sb3IpO1xuICAgICY6SE9WRVI6ZW5hYmxlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRwcmltYXJ5LWNvbG9yLCAkcHJpbWFyeS1jb2xvcik7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgfVxuXG4gICAgJjpGT0NVUyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzZWNvbmRhcnktY29sb3IsICRwcmltYXJ5LWNvbG9yKTtcbiAgICB9XG59XG5cbi5idXR0b24taG9sbG93IHtcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgQGV4dGVuZCAuYnV0dG9uLWxhcmdlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgJjpIT1ZFUjplbmFibGVkIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIH1cblxuICAgICY6Rk9DVVMge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgfVxufVxuXG4uc2hvdy1wcmljaW5nIHtcbiAgICBwYWRkaW5nOiAxNHB4IDIwcHg7XG59XG5cbi8vIEFOQ0hPUlNcbmEsIGE6SE9WRVIgYTpWSVNJVEVEIHtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgJjpIT1ZFUiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgJjpGT0NVUyB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbn1cblxuYS5yZXF1ZXN0LWludml0ZSB7XG4gICAgQGV4dGVuZCAuYnV0dG9uLWxhcmdlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXItY29sb3I6ICRyZWQ7XG4gICAgYmFja2dyb3VuZDogJHJlZDtcblxuICAgICY6SE9WRVI6ZW5hYmxlZCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogZGFya2VuKCRyZWQsIDMlKTtcbiAgICB9XG5cbiAgICAmOkZPQ1VTIHtcbiAgICAgICAgYmFja2dyb3VuZDogZGFya2VuKCRyZWQsIDMlKTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaXVtLWJyZWFrcG9pbnQpIHtcbiAgICBhLnJlcXVlc3QtaW52aXRlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDggMTQpO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICRzbWFsbC1icmVha3BvaW50KSB7XG4gICAgYS5yZXF1ZXN0LWludml0ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg2IDEyKTtcbiAgICB9XG59XG5cbi8vIERJQUxPR1Ncbi5yZXZlYWwtbW9kYWw6Rk9DVVMge1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaXVtLWJyZWFrcG9pbnQpIHtcbiAgICAucmV2ZWFsLW1vZGFsLm1lZGl1bSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkc21hbGwtYnJlYWtwb2ludCkge1xuICAgIC5yZXZlYWwtbW9kYWwubWVkaXVtIHtcbiAgICAgICAgd2lkdGg6IDk2JTtcbiAgICB9XG59XG5cbi5kaWFsb2ctdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICBjb2xvcjogc3RlZWxibHVlO1xufVxuXG5cbi8vIEdFTkVSQUxcbi5mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uZmxleC1hbGlnbi1jZW50ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5mbGV4LWFsaWduLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG59XG5cbi5mbGV4LWFsaWduLXN0cmVjaCB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG5cbi5mbGV4LWp1c3RpZnktY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmZsZXgtMCB7XG4gICAgZmxleDogMCAwIGF1dG87XG59XG5cbi5mbGV4LTEge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xufVxuXG5pbnB1dFt0eXBlPWNoZWNrYm94XSArIGxhYmVsIHtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG50YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxuLmltcG9ydGFudC1jYWxsb3V0IHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1MCk7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMzApO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpdW0tYnJlYWtwb2ludCkge1xuICAgIC5pbXBvcnRhbnQtY2FsbG91dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApO1xuICAgIH1cbn1cblxuLm5vLW1hcmdpbi1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5pdGFsaWMtbGluayB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbn1cblxuLmZlYXR1cmUtZ3JpZCB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoODApO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJG1lZGl1bS1icmVha3BvaW50KSB7XG4gICAgLmZlYXR1cmUtZ3JpZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkc21hbGwtYnJlYWtwb2ludCkge1xuICAgIC5mZWF0dXJlLWdyaWQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbn1cblxuLmZlYXR1cmUtZ3JpZCAucm93ICsgLnJvdyB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNDApO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJG1lZGl1bS1icmVha3BvaW50KSB7XG4gICAgLmZlYXR1cmUtZ3JpZCAucm93ICsgLnJvdyB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDApO1xuICAgIH1cbn1cblxuLmZlYXR1cmUtZ3JpZCBwIHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG59XG5cbi5vdmVydmlldy1iZyB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAmOkFGVEVSIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgICB9XG59XG4iLCJAaW1wb3J0IFwic2V0dGluZ3Nfb3ZlcnJpZGVcIjtcblxuLy8gR0VORVJBTCBIRUFERVIgU1RZTEVTXG5oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogJG5hdi1oZWlnaHQ7XG4gICAgei1pbmRleDogMTAwO1xuICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoMjApIDAgcmVtLWNhbGMoMTYpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZSAwcztcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICRtaWQtc21hbGwtYnJlYWtwb2ludCkge1xuICAgIGhlYWRlciB7XG4gICAgICAgIGhlaWdodDogJG5hdi1zbWFsbC1oZWlnaHQ7XG4gICAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoMTApIDAgcmVtLWNhbGMoNik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICAgICAubG9nby1hbmNob3Ige1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhLnJlcXVlc3QtaW52aXRlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5oZWFkZXItZGFyayB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cblxuLmhlYWRlci1kYXJrLWJsdWUge1xuICAgIEBleHRlbmQgLmhlYWRlci1kYXJrO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNiwgNTUsIDc1LCAwLjY1KTtcbn1cblxuLmhlYWRlci1kYXJrLXRyYW5zcGFyZW50IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uaGVhZGVyLWxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNEREREREQ7XG4gICAgYm94LXNoYWRvdzogMCAycHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJHNtYWxsLWJyZWFrcG9pbnQpIHtcbiAgICAuaGVhZGVyLWxpZ2h0IHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG59XG5cbi5jb250ZW50LWZhZGU6QUZURVIge1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSA4MCUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6ICRuYXYtaGVpZ2h0O1xufVxuXG5cbi8vIExPR09cbi5sb2dvLWFuY2hvciB7XG4gICAgcGFkZGluZzogNHB4IDEycHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UgMHM7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgJjpIT1ZFUiwgJjpGT0NVUyB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAmOkZPQ1VTIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKSBpbnNldDtcbiAgICB9XG59XG5cbi5oZWFkZXItbGlnaHQgLmxvZ28tYW5jaG9yOkZPQ1VTIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KSBpbnNldDtcbn1cblxuLmxvZ28ge1xuICAgIGNvbG9yOiAkdHVhdGFyYTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuNnB4O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4ubG9nbyAub25saW5lIHtcbiAgICBjb2xvcjogIzU4QkJGRjtcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJG1lZGl1bS1icmVha3BvaW50KSB7XG4gICAgLmxvZ28ge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkc21hbGwtYnJlYWtwb2ludCkge1xuICAgIC5sb2dvIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG5cbi5oZWFkZXItZGFyayAubG9nbyB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LXNoYWRvdzogMCAxcHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5cblxuLy8gTkFWVUdBVElPTlxubmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgYTpIT1ZFUiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICBidXR0b24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTQpO1xuICAgIH1cblxuICAgID4gdWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBsaTpIT1ZFUiB7XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE0cHggMDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzRweDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhOkhPVkVSIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWFpbi1saW5rIHtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjJweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAyMDBtcyBlYXNlIDBzO1xuICAgICAgICAmOkhPVkVSLCAmOkZPQ1VTIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1lZGl1bS1icmVha3BvaW50KSB7XG4gICAgICAgIC5tYWluLWxpbmsge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDhweDtcbiAgICAgICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtaWQtc21hbGwtYnJlYWtwb2ludCkge1xuICAgICAgICAubWFpbi1saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5oZWFkZXItZGFyayAubWFpbi1saW5rIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgICY6SE9WRVIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gICAgfVxuXG4gICAgJjpGT0NVUyB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMykgaW5zZXQ7XG4gICAgfVxufVxuXG5oZWFkZXIgYS5yZXF1ZXN0LWludml0ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDE0KTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg2IDE0KTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyLWNvbG9yOiAkcmVkO1xuICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgJjpIT1ZFUjplbmFibGVkIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJHJlZCwgMyUpO1xuICAgICB9XG5cbiAgICAmOkZPQ1VTIHtcbiAgICAgICAgYmFja2dyb3VuZDogZGFya2VuKCRyZWQsIDMlKTtcbiAgICB9XG59XG4iLCIuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxJTtcbiAgICAmOkZJUlNULUNISUxEIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgICY6TEFTVC1DSElMRCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJG1lZGl1bS1icmVha3BvaW50KSB7XG4gICAgLmNvbHVtbnMge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNCk7XG4gICAgICAgICY6TEFTVC1DSElMRCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5pbnB1dFt0eXBlPVwidGV4dFwiXSwgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLCBpbnB1dFt0eXBlPVwiZGF0ZVwiXSwgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sIGlucHV0W3R5cGU9XCJtb250aFwiXSwgaW5wdXRbdHlwZT1cIndlZWtcIl0sIGlucHV0W3R5cGU9XCJlbWFpbFwiXSwgaW5wdXRbdHlwZT1cIm51bWJlclwiXSwgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSwgaW5wdXRbdHlwZT1cInRlbFwiXSwgaW5wdXRbdHlwZT1cInRpbWVcIl0sIGlucHV0W3R5cGU9XCJ1cmxcIl0sIGlucHV0W3R5cGU9XCJjb2xvclwiXSwgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLCBpbnB1dFt0eXBlPVwicmFkaW9cIl0sIHRleHRhcmVhLCBzZWxlY3Qge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAkc3RlZWw7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xufVxuXG4uZXJyb3IgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbnNlbGVjdCB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lO1xufVxuXG5zZWxlY3Q6SE9WRVIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuc2VsZWN0OkZPQ1VTIHtcbiAgICBib3JkZXItY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuLnNlbGVjdC13aXRoLWhlYWRpbmctY2VudGVyZWQge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaXVtLWJyZWFrcG9pbnQpIHtcbiAgICAuc2VsZWN0LXdpdGgtaGVhZGluZy1jZW50ZXJlZCB7XG4gICAgICAgIHdpZHRoOiA3MCU7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJHNtYWxsLWJyZWFrcG9pbnQpIHtcbiAgICAuc2VsZWN0LXdpdGgtaGVhZGluZy1jZW50ZXJlZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlIDBzO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYmFja2dyb3VuZDogIzU3QThFQTtcbiAgICAmOkhPVkVSLCAmOkZPQ1VTIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbn1cblxuaW5wdXRbdHlwZT1jaGVja2JveF0gKyBsYWJlbCwgaW5wdXRbdHlwZT1yYWRpb10gKyBsYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLmxhYmVsLW5vdGUge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGNvbG9yOiAjOTk5OTk5O1xuICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg2KTtcbn1cblxuZmllbGRzZXQgbGVnZW5kIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbn1cblxuc21hbGwuZXJyb3Ige1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cblxuc3Bhbi5wcmVmaXgtbG9naW4tYWRkcmVzcyB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjb2xvcjogJGp1bWJvO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4udGV4dGFyZWEtbWVzc2FnZSwgLnRleHRhcmVhLWFkZHJlc3Mge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbWluLWhlaWdodDogODJweDtcbn1cblxuLnNlY3Rpb24taGVhZGluZyB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgbWFyZ2luOiByZW0tY2FsYygxMCkgMCByZW0tY2FsYygxNCk7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoOCkgMDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHNlY29uZGFyeS1jb2xvcjtcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuI3dvcmtpbmctcGFwZXJzLXZlcnNpb25zLXJvdywgI3RpbWUtaW50ZWdyYXRpb24tcm93IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5mb3JtIHNlY3Rpb24gKyBzZWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7XG4gICAgcGFkZGluZy10b3A6IDA7XG59XG5cbmZvcm0gLnJvdyB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTQpO1xufVxuXG4kc3BhY2luZy11bml0OiAxNnB4O1xuJGhhbGYtc3BhY2luZy11bml0OiAkc3BhY2luZy11bml0IC8gMjtcbiRxdWFydGVyLXNwYWNpbmctdW5pdDogJHNwYWNpbmctdW5pdCAvIDQ7XG5cbmlucHV0W3R5cGU9cmFkaW9dLCBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gICAgICAvLyBub3QgZGlzcGxheTpub25lLCBlbHNlIGFiaWRlIGRvZXNudCB3b3JrXG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB3aWR0aDogMDtcbn1cblxuaW5wdXRbdHlwZT1yYWRpb10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctdW5pdDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRzcGFjaW5nLXVuaXQgKyAkaGFsZi1zcGFjaW5nLXVuaXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLy8gdGhpcyBjcmVhdGVzIHRoZSBvdXRlciBjaXJjbGUgZm9yIGZhdXggcmFkaW8gYnV0dG9uXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdhaW5zYm9ybztcbiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB9XG5cbiAgICAvLyB0aGlzIGNyZWF0ZXMgdGhlIGlubmVyIGNpcmNsZSBmb3IgYWN0aXZlIGZhdXggcmFkaW8gYnV0dG9uXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA4cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgfVxufVxuXG5pbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgbGFiZWwge1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgd2lkdGg6IDhweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICAgICAgbGVmdDogNHB4O1xuICAgIH1cbn1cblxuaW5wdXRbdHlwZT1jaGVja2JveF0gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctdW5pdDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRzcGFjaW5nLXVuaXQgKyAkaGFsZi1zcGFjaW5nLXVuaXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLy8gdGhpcyBjcmVhdGVzIHRoZSBvdXRlciBzcXVhcmUgZm9yIGZhdXggY2hlY2tib3ggYnV0dG9uXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdhaW5zYm9ybztcbiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNik7XG4gICAgfVxuICAgIC8vIHRoaXMgY3JlYXRlcyB0aGUgaW5uZXIgc3F1YXJlIGZvciBhY3RpdmUgZmF1eCBjaGVja2JveCBidXR0b25cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDhweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgfVxufVxuaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgICAgIGxlZnQ6IDRweDtcbiAgICB9XG59XG5cbi8vIGVycm9yIHN0eWxlIHRoYXQgd29uJ3QgYmUgdG91Y2hlZCBieSBhYmlkZVxuc21hbGwuZXJyb3ItbXNnIHtcbiAgIGRpc3BsYXk6IGJsb2NrO1xuICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICBtYXJnaW4tdG9wOiA4cHg7XG4gICBwYWRkaW5nOiAwLjM3NXJlbSAwLjYyNXJlbTtcbiAgIGJhY2tncm91bmQ6ICRhbGVydC1jb2xvcjtcbiAgIGNvbG9yOiAkd2hpdGU7XG59XG5cbiNkYXRhLWNlbnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRjYWY1MDtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgY29sb3I6IHdoaXRlO1xufVxuIiwiQGltcG9ydCBcInNldHRpbmdzX292ZXJyaWRlXCI7XG5mb290ZXIge1xuICAgIGJhY2tncm91bmQ6ICMyNjM5NDc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIC5mb290ZXItY29sIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNjApO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgICAmOkxBU1QtQ0hJTEQge1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvb3Rlci13cmFwcGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkcm93LXdpZHRoO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQwcHggNDBweCA2MHB4KTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNtYWxsLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgLmZvb3Rlci13cmFwcGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTAlO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTAlO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYWluLWxpbmtzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAuZm9vdGVyLWhlYWRpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNCAwKTtcbiAgICAgICAgICAgICY6SE9WRVIsICY6Rk9DVVMge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4jY29weXJpZ2h0IHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJzZXR0aW5nc19vdmVycmlkZVwiO1xuQGltcG9ydCBcIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vX3NldHRpbmdzLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJjdy1zdHlsZXNcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL25hdlwiO1xuQGltcG9ydCBcIm1vZHVsZXMvZm9ybXNcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2Zvb3RlclwiO1xuXG4ub3ZlcnZpZXctaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogNDAwcHg7XG4gICAgbWF4LWhlaWdodDogODAwcHg7XG59XG5cbi5oZWFkZXItdi01MCB7XG4gICAgQGV4dGVuZCAub3ZlcnZpZXctaGVhZGVyO1xuICAgIGhlaWdodDogNTB2aDtcbn1cblxuLmhlYWRlci12LTEwMCB7XG4gICAgQGV4dGVuZCAub3ZlcnZpZXctaGVhZGVyO1xuICAgIGhlaWdodDogMTAwdmg7XG59XG5cbi5vdmVydmlldy1iZy1ob21lIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbWFpbi5qcGdcIik7XG59XG5cbi5vdmVydmlldy1tYWluIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHRvcDogMDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi5vdmVydmlldy1tYWluIGgxIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDM2KTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgcGFkZGluZzogMCBlbS1jYWxjKDIwKTtcbiAgICB3b3JkLXNwYWNpbmc6IDJweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpdW0tYnJlYWtwb2ludCkge1xuICAgIC5vdmVydmlldy1tYWluIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMik7XG4gICAgfVxuXG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkc21hbGwtYnJlYWtwb2ludCkge1xuICAgIC5vdmVydmlldy1tYWluIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbn1cblxuLm92ZXJ2aWV3LW1haW4gaDMge1xuICAgIGNvbG9yOiAkd2hpdGU7XG59XG5cbi5mZWF0dXJlLWdyaWQgaDQge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4jc29sdXRpb25zIGg0IHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLm92ZXJ2aWV3LW1haW4gLnJlcXVlc3QtaW52aXRlIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTIgMzApO1xuICAgIGJveC1zaGFkb3c6IDAgM3B4IDJweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaXVtLWJyZWFrcG9pbnQpIHtcbiAgICAub3ZlcnZpZXctbWFpbiAucmVxdWVzdC1pbnZpdGUge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyNCk7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI0IDI0KTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0MCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIH1cbn1cblxuLmJ0bi1wbGF5IHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIGJsYWNrO1xuICAgIGNvbG9yOiBibGFjaztcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgZm9udC1zaXplOiAyLjZyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IDE0cHg7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UgMHM7XG59XG5cbi5idG4tcGxheTpIT1ZFUiB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi5idG4tcGxheTpGT0NVUyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLmJ0bi1wbGF5LWxhYmVsIHtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi10b3A6IDhweDtcbn1cblxuLm1haW4taGVhZGluZyB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDMwcHggMTAwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3RyaWFuZ2xlcy5qcGdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICRzbWFsbC1icmVha3BvaW50KSB7XG4gICAgLm1haW4taGVhZGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGluaXRpYWw7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTYwJTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIH1cbn1cblxuI292ZXJ2aWV3IGFydGljbGUgLmxlZnQge1xuICAgIHdpZHRoOiA1MCU7XG59XG5cbiNmZWF0dXJlcyAubGVmdCB7XG4gICAgd2lkdGg6IDY1JTtcbn1cblxuI2ZlYXR1cmVzIC5yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaXVtLWJyZWFrcG9pbnQpIHtcbiAgICAjZmVhdHVyZXMgLnJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuI3NvbHV0aW9ucy1wYWdlLWltYWdlLXdyYXBwZXIge1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbn1cblxuI3NvbHV0aW9ucy1wYWdlLWltYWdlIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJG1lZGl1bS1icmVha3BvaW50KSB7XG4gICAgI3NvbHV0aW9ucy1wYWdlLWltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4ucmlnaHQge1xuICAgIHdpZHRoOiA2NSU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uc29sdXRpb24tbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAmOkhPVkVSLCAmOkZPQ1VTIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGUtc21va2U7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNtYWxsLWJyZWFrcG9pbnQpIHtcbiAgICAubGVhcm4tbW9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJHNtYWxsLWJyZWFrcG9pbnQpIHtcbiAgICAub3ZlcnZpZXctbWFpbiAucmVxdWVzdC1pbnZpdGUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICB9XG5cbiAgICAubGFyZ2UtNC5tZWRpdW0tNC5jb2x1bW5zIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGFyZ2UtMy5tZWRpdW0tMy5jb2x1bW5zIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNvbHV0aW9uLWxpbmsge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBoNCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sZWFybi1tb3JlIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjYmVuZWZpdHMgaDMge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICAjc2VjdXJpdHkgaDMge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG59XG5cbi5wcmljaW5nLW9yZy1sYmwge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMThweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xufVxuXG4jcHJpY2luZy10YWJsZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBib3JkZXI6IDA7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbn1cblxuI3ByaWNpbmctdGFibGUgdGQge1xuICAgIHBhZGRpbmc6IDIwcHg7XG59XG5cbiNkaXNjbGFpbWVyIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNCk7XG59XG5cbiNjb25kaXRpb25zIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbn1cblxuI2NvbmRpdGlvbnMgZGl2IHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg4KTtcbn1cblxuI3ByaWNpbmctdGFibGUgdHIge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbiNwcmljaW5nLXRhYmxlIHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbn1cblxuLmNvdW50cnktbmFtZSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xufVxuXG4jcHJpY2luZy10YWJsZSB0cjpmaXJzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbn1cblxuI3ByaWNpbmctdGFibGUgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogMTAwcHg7XG59XG5cbiNwcmljaW5nLXRhYmxlIHRkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiNwcmljaW5nLXRhYmxlIHRkICsgdGQge1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgd2hpdGU7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlLXNtb2tlO1xufVxuXG4jcHJpY2luZy13cmFwcGVyIC5jYXJkIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg0MCk7XG59XG5cbi5jYXJkIHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMzApO1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMTQpIDAgcmVtLWNhbGMoMjQpO1xuICAgIGJveC1zaGFkb3c6IDAgM3B4IDEwcHggLTFweCByZ2JhKDAsMCwwLDAuMTYpO1xuICAgIGJhY2tncm91bmQ6ICRnaG9zdDtcblxuXHQmLmltcG9ydGFudC1jYWxsb3V0IHtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdH1cbn1cblxuLmNhcmQgLmtleSB7XG4gICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjApO1xuICAgIHdpZHRoOiByZW0tY2FsYygxMDApO1xuICAgIGNvbG9yOiAkYWx1bWludW07XG59XG5cbi5jYXJkIC52YWx1ZSB7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xufVxuXG4uY2FyZCAudmFsdWUgKyAua2V5IHtcbiAgICBtYXJnaW4tdG9wOiAxNHB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJHNtYWxsLWJyZWFrcG9pbnQpIHtcbiAgICAjcHJpY2luZy10YWJsZSB0ZDpmaXJzdC1jaGlsZHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgfVxuXG4gICAgI3ByaWNpbmctdGFibGUgdGQge1xuICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgfVxuXG4gICAgLmNhcmQgLmtleSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDgwKTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaXVtLWJyZWFrcG9pbnQpIHtcbiAgICAjcHJpY2luZy10YWJsZSB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDE0cHg7XG4gICAgfVxuXG4gICAgLmNhcmQge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCk7XG4gICAgfVxufVxuXG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= */
.overview-bg-caseware-online{background-image:url("/images/main-caseware-online.jpg")}.overview-bg-practice-management{background-image:url("/images/icons/practice-management.svg")}.overview-bg-caseware-q{background-image:url("/images/main-caseware-q.png")}#solutions-page-image{width:700px;margin-top:50px}.bottom-request{margin-top:80px;margin-bottom:60px}@media (max-width: 64em){#solutions-page-image{position:static;margin-top:0;width:100%}}.overview-bg-caseware-time{background-image:url("/images/main-caseware-time.png")}#solutions-page-image{width:700px;margin-top:50px}.bottom-request{margin-top:80px;margin-bottom:60px}@media (max-width: 64em){#solutions-page-image{position:static;margin-top:0;width:100%}}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvbHV0aW9ucy9jYXNld2FyZS1vbmxpbmUuc2NzcyIsInNvbHV0aW9ucy9wcmFjdGljZS1tYW5hZ2VtZW50LnNjc3MiLCJzb2x1dGlvbnMvY2FzZXdhcmUtcS5zY3NzIiwic29sdXRpb25zL2Nhc2V3YXJlLXRpbWUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSw2QkFDSSx3REFBcUIsQ0NEekIsaUNBQ0ksNkRBQXFCLENBQ3hCLHdCQ0RHLG1EQUFxQixDQUd6QixzQkFDRSxZQUNBLGVBQWlCLENBR25CLGdCQUNDLGdCQUNBLGtCQUFtQixDQUdwQix5QkFDSSxzQkFDSSxnQkFDQSxhQUNBLFVBQVksQ0FDZixDQ25CTCwyQkFDSSxzREFBcUIsQ0FHekIsc0JBQ0UsWUFDQSxlQUFpQixDQUNsQixnQkFHQSxnQkFDQSxrQkFBbUIsQ0FDbkIseUJBR0csc0JBQ0ksZ0JBQ0EsYUFDQSxVQUFZLENBQ2YsQ0FBQSIsImZpbGUiOiJzb2x1dGlvbnMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIi4uL3NldHRpbmdzX292ZXJyaWRlXCI7XG5cbi5vdmVydmlldy1iZy1jYXNld2FyZS1vbmxpbmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWFnZXMvbWFpbi1jYXNld2FyZS1vbmxpbmUuanBnXCIpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIi4uL3NldHRpbmdzX292ZXJyaWRlXCI7XG5cbi5vdmVydmlldy1iZy1wcmFjdGljZS1tYW5hZ2VtZW50IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1hZ2VzL2ljb25zL3ByYWN0aWNlLW1hbmFnZW1lbnQuc3ZnXCIpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIi4uL3NldHRpbmdzX292ZXJyaWRlXCI7XG5cbi5vdmVydmlldy1iZy1jYXNld2FyZS1xIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1hZ2VzL21haW4tY2FzZXdhcmUtcS5wbmdcIik7XG59XG5cbiNzb2x1dGlvbnMtcGFnZS1pbWFnZSB7XG4gXHR3aWR0aDogNzAwcHg7XG4gXHRtYXJnaW4tdG9wOiA1MHB4O1xufVxuXG4uYm90dG9tLXJlcXVlc3R7XG5cdG1hcmdpbi10b3A6ODBweDtcblx0bWFyZ2luLWJvdHRvbTo2MHB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJG1lZGl1bS1icmVha3BvaW50KSB7XG4gICAgI3NvbHV0aW9ucy1wYWdlLWltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIi4uL3NldHRpbmdzX292ZXJyaWRlXCI7XG5cbi5vdmVydmlldy1iZy1jYXNld2FyZS10aW1lIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1hZ2VzL21haW4tY2FzZXdhcmUtdGltZS5wbmdcIik7XG59XG5cbiNzb2x1dGlvbnMtcGFnZS1pbWFnZSB7XG4gXHR3aWR0aDogNzAwcHg7XG4gXHRtYXJnaW4tdG9wOiA1MHB4O1xufVxuXG4uYm90dG9tLXJlcXVlc3R7XG5cdG1hcmdpbi10b3A6ODBweDtcblx0bWFyZ2luLWJvdHRvbTo2MHB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJG1lZGl1bS1icmVha3BvaW50KSB7XG4gICAgI3NvbHV0aW9ucy1wYWdlLWltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */