HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/liempde.ehbo.today/wwwroot/css/style.css.map
{"version":3,"sources":["webpack:///./resources/assets/sass/site/resources/assets/sass/global/_base.sass","webpack:///./resources/assets/sass/site/style.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/global/mixins/_placeholder.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/global/grid/_grid.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/global/mixins/_mediaQueries.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/global/grid/_visibleGrid.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/global/partials/_breakpoints.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/_base.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/global/mixins/_sprite.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/global/bourbon/addons/_prefixer.scss","webpack:///./resources/assets/sass/site/resources/assets/sass/global/bourbon/css3/_transition.scss","webpack:///./resources/assets/sass/site/resources/assets/sass/global/mixins/_flex.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/_helpers.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/_header.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/_footer.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/_shoppingCart.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/_kmsContent.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/_form.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/_imageSlider.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/_cookieMessage.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/mixins/_cookieSprite.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/_cookieSwitch.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_dynamic.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_twoTextColumn.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_fullImageColumn.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_contentBlock.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_multipleImages.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_fullTextBlock.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_videoBlock.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/mobile/_navigation.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/mobile/_contact.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/mobile/_stickyNavigation.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/_backToEHBO.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/pages/_login.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/pages/_register.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/pages/_personal.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/pages/_courses.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/global/bourbon/css3/_keyframes.scss","webpack:///./resources/assets/sass/site/resources/assets/sass/site/pages/_checkin.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/pages/_error.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/pages/_sitemap.sass"],"names":[],"mappings":"AAIA,EACE,oDCmDD,KD3CC,eACA,gBCqDD,ID9CC,cACA,YErBA,qEF4BE,4EE1BF,mDF0BE,4EExBF,2DFwBE,4EEtBF,iDFsBE,4ECwEH,ODlEC,SGvBF,UACE,mBACA,iBACA,cACA,YACA,cALF,mBAaI,WACA,eAUJ,UACE,kBAEA,qBACA,gBACA,mBACA,eACA,gBAPF,iBAgBI,cACA,cAeF,iBACE,kBAGA,qCACE,kBAMJ,uBACE,wBAZF,iBACE,mBAGA,qCACE,mBAMJ,uBACE,yBAZF,iBACE,UAGA,qCACE,mBAMJ,uBACE,gBAZF,iBACE,mBAGA,qCACE,mBAMJ,uBACE,yBAZF,iBACE,mBAGA,qCACE,mBAMJ,uBACE,yBAZF,iBACE,UAGA,qCACE,mBAMJ,uBACE,gBAZF,iBACE,mBAGA,qCACE,UAMJ,uBACE,yBAZF,iBACE,mBAGA,qCACE,mBAMJ,uBACE,yBAZF,iBACE,UAGA,qCACE,mBAMJ,uBACE,gBAZF,mBACE,mBAGA,uCACE,mBAMJ,yBACE,yBAZF,mBACE,mBAGA,uCACE,mBAMJ,yBACE,yBAZF,mBACE,WAGA,uCACE,mBAMJ,yBACE,iBAZF,mBACE,oBAGA,uCACE,mBAMJ,yBACE,0BAZF,mBACE,oBAGA,uCACE,WAMJ,yBACE,0BCzEF,qCDyFE,UACE,kBAEF,aACE,wBF8bH,CGhiBD,qCDsGE,UACE,kBAEF,aACE,wBFgcH,CG1iBD,oCD8GE,UACE,kBAEF,aACE,wBFkcH,CGpjBD,oCDsHE,UACE,kBAEF,aACE,wBFocH,CGzjBD,qCDyFE,UACE,mBAEF,aACE,yBFseH,CGxkBD,qCDsGE,UACE,mBAEF,aACE,yBFweH,CGllBD,oCD8GE,UACE,mBAEF,aACE,yBF0eH,CG5lBD,oCDsHE,UACE,mBAEF,aACE,yBF4eH,CGjmBD,qCDyFE,UACE,UAEF,aACE,gBF8gBH,CGhnBD,qCDsGE,UACE,UAEF,aACE,gBFghBH,CG1nBD,oCD8GE,UACE,UAEF,aACE,gBFkhBH,CGpoBD,oCDsHE,UACE,UAEF,aACE,gBFohBH,CGzoBD,qCDyFE,UACE,mBAEF,aACE,yBFsjBH,CGxpBD,qCDsGE,UACE,mBAEF,aACE,yBFwjBH,CGlqBD,oCD8GE,UACE,mBAEF,aACE,yBF0jBH,CG5qBD,oCDsHE,UACE,mBAEF,aACE,yBF4jBH,CGjrBD,qCDyFE,UACE,mBAEF,aACE,yBF8lBH,CGhsBD,qCDsGE,UACE,mBAEF,aACE,yBFgmBH,CG1sBD,oCD8GE,UACE,mBAEF,aACE,yBFkmBH,CGptBD,oCDsHE,UACE,mBAEF,aACE,yBFomBH,CGztBD,qCDyFE,UACE,UAEF,aACE,gBFsoBH,CGxuBD,qCDsGE,UACE,UAEF,aACE,gBFwoBH,CGlvBD,oCD8GE,UACE,UAEF,aACE,gBF0oBH,CG5vBD,oCDsHE,UACE,UAEF,aACE,gBF4oBH,CGjwBD,qCDyFE,UACE,mBAEF,aACE,yBF8qBH,CGhxBD,qCDsGE,UACE,mBAEF,aACE,yBFgrBH,CG1xBD,oCD8GE,UACE,mBAEF,aACE,yBFkrBH,CGpyBD,oCDsHE,UACE,mBAEF,aACE,yBForBH,CGzyBD,qCDyFE,UACE,mBAEF,aACE,yBFstBH,CGxzBD,qCDsGE,UACE,mBAEF,aACE,yBFwtBH,CGl0BD,oCD8GE,UACE,mBAEF,aACE,yBF0tBH,CG50BD,oCDsHE,UACE,mBAEF,aACE,yBF4tBH,CGj1BD,qCDyFE,UACE,UAEF,aACE,gBF8vBH,CGh2BD,qCDsGE,UACE,UAEF,aACE,gBFgwBH,CG12BD,oCD8GE,UACE,UAEF,aACE,gBFkwBH,CGp3BD,oCDsHE,UACE,UAEF,aACE,gBFowBH,CGz3BD,qCDyFE,WACE,mBAEF,cACE,yBFsyBH,CGx4BD,qCDsGE,WACE,mBAEF,cACE,yBFwyBH,CGl5BD,oCD8GE,WACE,mBAEF,cACE,yBF0yBH,CG55BD,oCDsHE,WACE,mBAEF,cACE,yBF4yBH,CGj6BD,qCDyFE,WACE,mBAEF,cACE,yBF80BH,CGh7BD,qCDsGE,WACE,mBAEF,cACE,yBFg1BH,CG17BD,oCD8GE,WACE,mBAEF,cACE,yBFk1BH,CGp8BD,oCDsHE,WACE,mBAEF,cACE,yBFo1BH,CGz8BD,qCDyFE,WACE,WAEF,cACE,iB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H,qCEDI,WACA,aFAJ,2CEEM,cpBJJ,qCkBEF,2CEMQ,aFNR,4CEQQ,cvBwlGL,CGlmGD,oCkBEF,4CEYQ,aFZR,2CEcQ,cvB4lGL,CqB1mGH,6BGHE,sCdEA,uEFWM,mCAKA,iEALA,4BAKA,2BEZN,6EACA,oEWJF,oCGCI,UHDJ,wCGIM,WHJN,8CGOQ,arBTN,oCkBEF,+CGWU,aHXV,8CGcU,cxBioGP,CqB/oGH,6CGiBM,mBHjBN,sCbKQ,gBAUA,YgBMJ,mBHrBJ,+DbKQ,gBAUA,YafR,iEbKQ,gBAUA,YLjBN,oCkBEF,6BG+BI,cH/BJ,oCGkCM,WACA,gChBpBE,YafR,sCGuCM,WxB6oGH,CqBprGH,+BXHE,oBAEA,uEFWM,mCAKA,iEALA,4BAKA,2BEZN,6EACA,2FFWM,0CafR,sCICI,mBJDJ,0CIIM,WACA,aJLN,iDIQQ,atBVN,qCkBEF,gDIYU,aJZV,iDIcU,czBgtGP,CGhuGD,oCkBEF,gDIkBU,aJlBV,iDIoBU,czBotGP,CqBxuGH,sEI0BU,ctB5BR,qCkBEF,sEI8BY,aJ9BZ,qEIgCY,czBstGT,CGxvGD,oCkBEF,+BImCI,cJnCJ,sCIsCM,WJtCN,oDIwCQ,mBJxCR,iDI4CU,wBJ5CV,gDI8CU,uBzB8tGP,CG9wGD,0DkBEF,iDIkDY,aJlDZ,gDIoDY,czBkuGT,CqBtxGH,wCKFI,gBACA,YACA,kBLAJ,2BMHE,WACA,gBACA,6BNCF,0CMEI,kBACA,qBACA,iBACA,SNLJ,0GMOM,kBACA,MACA,OACA,WACA,YNXN,yDMaM,8BjBdJ,gEFWM,4BAKA,sDALA,wBAKA,uBEZN,oEACA,kEiBWI,UACA,eACA,8CNjBN,iEMmBQ,UACA,eACA,8CACA,8CNtBR,qEMwBU,WNxBV,uEbKQ,6BAoBA,qBazBR,8DM8BQ,UACA,oBACA,8CACA,kDNjCR,sEMmCU,8CACA,gDxBtCR,oCyBWF,eAEI,gBACA,kBACA,eACA,W5B81GD,C4B31GH,mBACE,eACA,aACA,aACA,gBACA,WACA,OACA,MACA,oBACA,aATF,wBAYI,aACA,YACA,6HACA,wFACA,mBACA,kBACA,UACA,wDACA,8CACA,kDArBJ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","file":"css/style.css","sourcesContent":["/* ==========================================================================\n   Basic style settings\n   @mixin ========================================================================= */\n\n* {\n  box-sizing: border-box; }\n\n/*\n * Set up the body\n *\n * 1. This is the base for al rem units\n */\nhtml {\n  font-size: 20px /* 1 */;\n  line-height: 1.6; }\n\n/**\n * 1.Default display for images is block to lose the extra margin below the image\n * 2. Remove border / especially on older browsers\n */\nimg {\n  display: block /* 1 */;\n  border: none; }\n\n/**\n  * Add translation to prevent recoloring from autocomplete\n  */\ninput, textarea {\n  @include placeholder {\n    transition: all 9999s linear 9999s; } }\n\n/*\n * Remove default margin around figure\n */\nfigure {\n  margin: 0; }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/_base.sass","@charset \"UTF-8\";\n/* ==========================================================================\n   Config settings\n   @mixin ========================================================================= */\n/**\n * Define grid columns\n *\n * The inner grid is the section where the content is\n * The outer grid is the inner grid with extra margin columns on each side\n */\n/**\n * Define breakpoint for given formats\n */\n/* Bourbon 4.0.2\n * http://bourbon.io\n * Copyright 2011-2014 thoughtbot, inc.\n * MIT License */\n/* ==========================================================================\n   Font related functions\n   @mixin ========================================================================= */\n/**\n * Add some functions for readability\n * Return font-weight based on name\n */\n/* ==========================================================================\n  Functions used in grid calculation\n  @mixin ========================================================================= */\n/**\n  * This is where the magic happens\n  * Return percentage based on amount of columns\n  * Use parent column size to adjust the origin\n  */\n/**\n  * Default function for columns\n  * Return as percentage\n  */\n/**\n  * Return as viewport width\n  */\n/* ==========================================================================\n   Basic style settings\n   @mixin ========================================================================= */\n* {\n  box-sizing: border-box;\n}\n\n/*\n * Set up the body\n *\n * 1. This is the base for al rem units\n */\nhtml {\n  font-size: 20px;\n  line-height: 1.6;\n}\n\n/**\n * 1.Default display for images is block to lose the extra margin below the image\n * 2. Remove border / especially on older browsers\n */\nimg {\n  display: block;\n  border: none;\n}\n\n/**\n  * Add translation to prevent recoloring from autocomplete\n  */\ninput::-webkit-input-placeholder, textarea::-webkit-input-placeholder {\n  transition: all 9999s linear 9999s;\n}\n\ninput::-moz-placeholder, textarea::-moz-placeholder {\n  transition: all 9999s linear 9999s;\n}\n\ninput:-ms-input-placeholder, textarea:-ms-input-placeholder {\n  transition: all 9999s linear 9999s;\n}\n\ninput:-moz-placeholder, textarea:-moz-placeholder {\n  transition: all 9999s linear 9999s;\n}\n\n/*\n * Remove default margin around figure\n */\nfigure {\n  margin: 0;\n}\n\n/*==========================================================================\n  Grid\n  @mixin ========================================================================= */\n/**\n  * Grid row\n  *\n  * 1. The outer two columns are just margin\n  * 2. Prevent inline-block cells wrapping\n  * 3. Prevent vertical spacing between inline-blocks\n  */\n.grid-row {\n  width: 85.71428571%;\n  max-width: 1440px;\n  margin: 0 auto;\n  font-size: 0;\n  line-height: 0;\n  /**\n   * The full row doesn't have the two outer margin rows\n   * They stretch till both ends of the window\n   */\n}\n\n.grid-row.full-row {\n  width: 100%;\n  max-width: none;\n}\n\n/**\n * Grid column\n *\n * 1. Reset white-space inherited from `.grid`\n * 2. Reset font-size inherited from `.grid`\n * 3. Reset line-height inherited from `.grid`\n */\n.grid-col {\n  position: relative;\n  display: inline-block;\n  overflow: hidden;\n  white-space: normal;\n  font-size: 1rem;\n  line-height: 1.6;\n  /**\n   * Center column\n   *\n   * 1. 'inline-block' doesn't center with margin '0 auto'\n   */\n}\n\n.grid-col.center {\n  display: block;\n  margin: 0 auto;\n}\n\n/* Column dimensions\n   @mixin ========================================================================= */\n/*\n   * Calculate width by dividing a full width into 12 columns\n   * Create a class for each column\n   */\n.col-1, .col-lg-1 {\n  width: 8.33333333%;\n}\n\n.full-row .col-1, .full-row .col-lg-1 {\n  width: 7.14285714%;\n}\n\n/* Column shifts\n   @mixin ========================================================================= */\n.offset-1, .offset-lg-1 {\n  margin-left: 8.33333333%;\n}\n\n/* Column dimensions\n   @mixin ========================================================================= */\n/*\n   * Calculate width by dividing a full width into 12 columns\n   * Create a class for each column\n   */\n.col-2, .col-lg-2 {\n  width: 16.66666667%;\n}\n\n.full-row .col-2, .full-row .col-lg-2 {\n  width: 14.28571429%;\n}\n\n/* Column shifts\n   @mixin ========================================================================= */\n.offset-2, .offset-lg-2 {\n  margin-left: 16.66666667%;\n}\n\n/* Column dimensions\n   @mixin ========================================================================= */\n/*\n   * Calculate width by dividing a full width into 12 columns\n   * Create a class for each column\n   */\n.col-3, .col-lg-3 {\n  width: 25%;\n}\n\n.full-row .col-3, .full-row .col-lg-3 {\n  width: 21.42857143%;\n}\n\n/* Column shifts\n   @mixin ========================================================================= */\n.offset-3, .offset-lg-3 {\n  margin-left: 25%;\n}\n\n/* Column dimensions\n   @mixin ========================================================================= */\n/*\n   * Calculate width by dividing a full width into 12 columns\n   * Create a class for each column\n   */\n.col-4, .col-lg-4 {\n  width: 33.33333333%;\n}\n\n.full-row .col-4, .full-row .col-lg-4 {\n  width: 28.57142857%;\n}\n\n/* Column shifts\n   @mixin ========================================================================= */\n.offset-4, .offset-lg-4 {\n  margin-left: 33.33333333%;\n}\n\n/* Column dimensions\n   @mixin ========================================================================= */\n/*\n   * Calculate width by dividing a full width into 12 columns\n   * Create a class for each column\n   */\n.col-5, .col-lg-5 {\n  width: 41.66666667%;\n}\n\n.full-row .col-5, .full-row .col-lg-5 {\n  width: 35.71428571%;\n}\n\n/* Column shifts\n   @mixin ========================================================================= */\n.offset-5, .offset-lg-5 {\n  margin-left: 41.66666667%;\n}\n\n/* Column dimensions\n   @mixin ========================================================================= */\n/*\n   * Calculate width by dividing a full width into 12 columns\n   * Create a class for each column\n   */\n.col-6, .col-lg-6 {\n  width: 50%;\n}\n\n.full-row .col-6, .full-row .col-lg-6 {\n  width: 42.85714286%;\n}\n\n/* Column shifts\n   @mixin ========================================================================= */\n.offset-6, .offset-lg-6 {\n  margin-left: 50%;\n}\n\n/* Column dimensions\n   @mixin ========================================================================= */\n/*\n   * Calculate width by dividing a full width into 12 columns\n   * Create a class for each column\n   */\n.col-7, .col-lg-7 {\n  width: 58.33333333%;\n}\n\n.full-row .col-7, .full-row .col-lg-7 {\n  width: 50%;\n}\n\n/* Column shifts\n   @mixin ========================================================================= */\n.offset-7, .offset-lg-7 {\n  margin-left: 58.33333333%;\n}\n\n/* Column dimensions\n   @mixin ========================================================================= */\n/*\n   * Calculate width by dividing a full width into 12 columns\n   * Create a class for each column\n   */\n.col-8, .col-lg-8 {\n  width: 66.66666667%;\n}\n\n.full-row .col-8, .full-row .col-lg-8 {\n  width: 57.14285714%;\n}\n\n/* Column shifts\n   @mixin ========================================================================= */\n.offset-8, .offset-lg-8 {\n  margin-left: 66.66666667%;\n}\n\n/* Column dimensions\n   @mixin ========================================================================= */\n/*\n   * Calculate width by dividing a full width into 12 columns\n   * Create a class for each column\n   */\n.col-9, .col-lg-9 {\n  width: 75%;\n}\n\n.full-row .col-9, .full-row .col-lg-9 {\n  width: 64.28571429%;\n}\n\n/* Column shifts\n   @mixin ========================================================================= */\n.offset-9, .offset-lg-9 {\n  margin-left: 75%;\n}\n\n/* Column dimensions\n   @mixin ========================================================================= */\n/*\n   * Calculate width by dividing a full width into 12 columns\n   * Create a class for each column\n   */\n.col-10, .col-lg-10 {\n  width: 83.33333333%;\n}\n\n.full-row .col-10, .full-row .col-lg-10 {\n  width: 71.42857143%;\n}\n\n/* Column shifts\n   @mixin ========================================================================= */\n.offset-10, .offset-lg-10 {\n  margin-left: 83.33333333%;\n}\n\n/* Column dimensions\n   @mixin ========================================================================= */\n/*\n   * Calculate width by dividing a full width into 12 columns\n   * Create a class for each column\n   */\n.col-11, .col-lg-11 {\n  width: 91.66666667%;\n}\n\n.full-row .col-11, .full-row .col-lg-11 {\n  width: 78.57142857%;\n}\n\n/* Column shifts\n   @mixin ========================================================================= */\n.offset-11, .offset-lg-11 {\n  margin-left: 91.66666667%;\n}\n\n/* Column dimensions\n   @mixin ========================================================================= */\n/*\n   * Calculate width by dividing a full width into 12 columns\n   * Create a class for each column\n   */\n.col-12, .col-lg-12 {\n  width: 100%;\n}\n\n.full-row .col-12, .full-row .col-lg-12 {\n  width: 85.71428571%;\n}\n\n/* Column shifts\n   @mixin ========================================================================= */\n.offset-12, .offset-lg-12 {\n  margin-left: 100%;\n}\n\n/* Column dimensions\n   @mixin ========================================================================= */\n/*\n   * Calculate width by dividing a full width into 12 columns\n   * Create a class for each column\n   */\n.col-13, .col-lg-13 {\n  width: 108.33333333%;\n}\n\n.full-row .col-13, .full-row .col-lg-13 {\n  width: 92.85714286%;\n}\n\n/* Column shifts\n   @mixin ========================================================================= */\n.offset-13, .offset-lg-13 {\n  margin-left: 108.33333333%;\n}\n\n/* Column dimensions\n   @mixin ========================================================================= */\n/*\n   * Calculate width by dividing a full width into 12 columns\n   * Create a class for each column\n   */\n.col-14, .col-lg-14 {\n  width: 116.66666667%;\n}\n\n.full-row .col-14, .full-row .col-lg-14 {\n  width: 100%;\n}\n\n/* Column shifts\n   @mixin ========================================================================= */\n.offset-14, .offset-lg-14 {\n  margin-left: 116.66666667%;\n}\n\n/* Media queries\n @mixin ========================================================================= */\n/*\n  * Create a separate loop because of order for css rendering\n  * because else it would overrule a previous media query\n  */\n@media screen and (min-width: 1601px) {\n  .col-xl-1 {\n    width: 8.33333333%;\n  }\n  .offset-xl-1 {\n    margin-left: 8.33333333%;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .col-md-1 {\n    width: 8.33333333%;\n  }\n  .offset-md-1 {\n    margin-left: 8.33333333%;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .col-sm-1 {\n    width: 8.33333333%;\n  }\n  .offset-sm-1 {\n    margin-left: 8.33333333%;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .col-xs-1 {\n    width: 8.33333333%;\n  }\n  .offset-xs-1 {\n    margin-left: 8.33333333%;\n  }\n}\n\n@media screen and (min-width: 1601px) {\n  .col-xl-2 {\n    width: 16.66666667%;\n  }\n  .offset-xl-2 {\n    margin-left: 16.66666667%;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .col-md-2 {\n    width: 16.66666667%;\n  }\n  .offset-md-2 {\n    margin-left: 16.66666667%;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .col-sm-2 {\n    width: 16.66666667%;\n  }\n  .offset-sm-2 {\n    margin-left: 16.66666667%;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .col-xs-2 {\n    width: 16.66666667%;\n  }\n  .offset-xs-2 {\n    margin-left: 16.66666667%;\n  }\n}\n\n@media screen and (min-width: 1601px) {\n  .col-xl-3 {\n    width: 25%;\n  }\n  .offset-xl-3 {\n    margin-left: 25%;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .col-md-3 {\n    width: 25%;\n  }\n  .offset-md-3 {\n    margin-left: 25%;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .col-sm-3 {\n    width: 25%;\n  }\n  .offset-sm-3 {\n    margin-left: 25%;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .col-xs-3 {\n    width: 25%;\n  }\n  .offset-xs-3 {\n    margin-left: 25%;\n  }\n}\n\n@media screen and (min-width: 1601px) {\n  .col-xl-4 {\n    width: 33.33333333%;\n  }\n  .offset-xl-4 {\n    margin-left: 33.33333333%;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .col-md-4 {\n    width: 33.33333333%;\n  }\n  .offset-md-4 {\n    margin-left: 33.33333333%;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .col-sm-4 {\n    width: 33.33333333%;\n  }\n  .offset-sm-4 {\n    margin-left: 33.33333333%;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .col-xs-4 {\n    width: 33.33333333%;\n  }\n  .offset-xs-4 {\n    margin-left: 33.33333333%;\n  }\n}\n\n@media screen and (min-width: 1601px) {\n  .col-xl-5 {\n    width: 41.66666667%;\n  }\n  .offset-xl-5 {\n    margin-left: 41.66666667%;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .col-md-5 {\n    width: 41.66666667%;\n  }\n  .offset-md-5 {\n    margin-left: 41.66666667%;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .col-sm-5 {\n    width: 41.66666667%;\n  }\n  .offset-sm-5 {\n    margin-left: 41.66666667%;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .col-xs-5 {\n    width: 41.66666667%;\n  }\n  .offset-xs-5 {\n    margin-left: 41.66666667%;\n  }\n}\n\n@media screen and (min-width: 1601px) {\n  .col-xl-6 {\n    width: 50%;\n  }\n  .offset-xl-6 {\n    margin-left: 50%;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .col-md-6 {\n    width: 50%;\n  }\n  .offset-md-6 {\n    margin-left: 50%;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .col-sm-6 {\n    width: 50%;\n  }\n  .offset-sm-6 {\n    margin-left: 50%;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .col-xs-6 {\n    width: 50%;\n  }\n  .offset-xs-6 {\n    margin-left: 50%;\n  }\n}\n\n@media screen and (min-width: 1601px) {\n  .col-xl-7 {\n    width: 58.33333333%;\n  }\n  .offset-xl-7 {\n    margin-left: 58.33333333%;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .col-md-7 {\n    width: 58.33333333%;\n  }\n  .offset-md-7 {\n    margin-left: 58.33333333%;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .col-sm-7 {\n    width: 58.33333333%;\n  }\n  .offset-sm-7 {\n    margin-left: 58.33333333%;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .col-xs-7 {\n    width: 58.33333333%;\n  }\n  .offset-xs-7 {\n    margin-left: 58.33333333%;\n  }\n}\n\n@media screen and (min-width: 1601px) {\n  .col-xl-8 {\n    width: 66.66666667%;\n  }\n  .offset-xl-8 {\n    margin-left: 66.66666667%;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .col-md-8 {\n    width: 66.66666667%;\n  }\n  .offset-md-8 {\n    margin-left: 66.66666667%;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .col-sm-8 {\n    width: 66.66666667%;\n  }\n  .offset-sm-8 {\n    margin-left: 66.66666667%;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .col-xs-8 {\n    width: 66.66666667%;\n  }\n  .offset-xs-8 {\n    margin-left: 66.66666667%;\n  }\n}\n\n@media screen and (min-width: 1601px) {\n  .col-xl-9 {\n    width: 75%;\n  }\n  .offset-xl-9 {\n    margin-left: 75%;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .col-md-9 {\n    width: 75%;\n  }\n  .offset-md-9 {\n    margin-left: 75%;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .col-sm-9 {\n    width: 75%;\n  }\n  .offset-sm-9 {\n    margin-left: 75%;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .col-xs-9 {\n    width: 75%;\n  }\n  .offset-xs-9 {\n    margin-left: 75%;\n  }\n}\n\n@media screen and (min-width: 1601px) {\n  .col-xl-10 {\n    width: 83.33333333%;\n  }\n  .offset-xl-10 {\n    margin-left: 83.33333333%;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .col-md-10 {\n    width: 83.33333333%;\n  }\n  .offset-md-10 {\n    margin-left: 83.33333333%;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .col-sm-10 {\n    width: 83.33333333%;\n  }\n  .offset-sm-10 {\n    margin-left: 83.33333333%;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .col-xs-10 {\n    width: 83.33333333%;\n  }\n  .offset-xs-10 {\n    margin-left: 83.33333333%;\n  }\n}\n\n@media screen and (min-width: 1601px) {\n  .col-xl-11 {\n    width: 91.66666667%;\n  }\n  .offset-xl-11 {\n    margin-left: 91.66666667%;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .col-md-11 {\n    width: 91.66666667%;\n  }\n  .offset-md-11 {\n    margin-left: 91.66666667%;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .col-sm-11 {\n    width: 91.66666667%;\n  }\n  .offset-sm-11 {\n    margin-left: 91.66666667%;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .col-xs-11 {\n    width: 91.66666667%;\n  }\n  .offset-xs-11 {\n    margin-left: 91.66666667%;\n  }\n}\n\n@media screen and (min-width: 1601px) {\n  .col-xl-12 {\n    width: 100%;\n  }\n  .offset-xl-12 {\n    margin-left: 100%;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .col-md-12 {\n    width: 100%;\n  }\n  .offset-md-12 {\n    margin-left: 100%;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .col-sm-12 {\n    width: 100%;\n  }\n  .offset-sm-12 {\n    margin-left: 100%;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .col-xs-12 {\n    width: 100%;\n  }\n  .offset-xs-12 {\n    margin-left: 100%;\n  }\n}\n\n@media screen and (min-width: 1601px) {\n  .col-xl-13 {\n    width: 108.33333333%;\n  }\n  .offset-xl-13 {\n    margin-left: 108.33333333%;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .col-md-13 {\n    width: 108.33333333%;\n  }\n  .offset-md-13 {\n    margin-left: 108.33333333%;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .col-sm-13 {\n    width: 108.33333333%;\n  }\n  .offset-sm-13 {\n    margin-left: 108.33333333%;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .col-xs-13 {\n    width: 108.33333333%;\n  }\n  .offset-xs-13 {\n    margin-left: 108.33333333%;\n  }\n}\n\n@media screen and (min-width: 1601px) {\n  .col-xl-14 {\n    width: 116.66666667%;\n  }\n  .offset-xl-14 {\n    margin-left: 116.66666667%;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .col-md-14 {\n    width: 116.66666667%;\n  }\n  .offset-md-14 {\n    margin-left: 116.66666667%;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .col-sm-14 {\n    width: 116.66666667%;\n  }\n  .offset-sm-14 {\n    margin-left: 116.66666667%;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .col-xs-14 {\n    width: 116.66666667%;\n  }\n  .offset-xs-14 {\n    margin-left: 116.66666667%;\n  }\n}\n\n/* ==========================================================================\n   This grid can be turned on and off when you want to check\n   if everything is nice in place.\n   @mixin ========================================================================= */\n.visible-grid-container {\n  display: flex;\n  justify-content: center;\n}\n\n/**\n * 1. Makes it able to control the website while grid is shown\n */\n.visible-grid {\n  display: block;\n  position: fixed;\n  z-index: 10000;\n  pointer-events: none;\n}\n\n.visible-grid .grid-col {\n  background: rgba(0, 255, 255, 0.6);\n  height: 100vh;\n}\n\n.visible-grid .grid-col:nth-child(2n) {\n  background: rgba(0, 255, 255, 0.3);\n}\n\n.visible-grid:before, .visible-grid:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  width: calc(100% / 12);\n  height: 100%;\n  background: rgba(0, 255, 0, 0.5);\n}\n\n.visible-grid:before {\n  left: calc(-100% / 12);\n}\n\n.visible-grid:after {\n  right: calc(-100% / 12);\n}\n\n.breakpoint {\n  position: fixed;\n  right: 0;\n  bottom: 0;\n  width: 20px;\n  height: 20px;\n  z-index: 10000;\n  background: #0ABEFF;\n}\n\n@media screen and (min-width: 1601px) {\n  .breakpoint {\n    background: red;\n  }\n}\n\n@media screen and (max-width: 1366px) {\n  .breakpoint {\n    background: blue;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .breakpoint {\n    background: green;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .breakpoint {\n    background: yellow;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .breakpoint {\n    background: pink;\n  }\n}\n\n/* ==========================================================================\n   Expend Config settings\n   @mixin ========================================================================= */\n/* ==========================================================================\n   Expend Basic style settings\n   @mixin ========================================================================= */\n/*\n * Set up the html\n *\n * 1. Makes sue that some fonts are better rendered\n */\nhtml {\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  text-rendering: optimizeLegibility;\n  min-height: 100%;\n}\n\n/*\n * Set up the body\n *\n * 1. Set font to lining figures\n */\nbody {\n  margin: 0;\n  min-height: 100%;\n  font-family: \"Open Sans\", sans-serif;\n  line-height: 1.6;\n  background-color: #24282D;\n  font-feature-settings: \"lnum\";\n}\n\n/*\n * Set default settings for all elements\n *\n * 1. Default selection styling\n *\n */\n* ::selection {\n  background: #0078ff;\n  color: white;\n}\n\n/*\n * Set default styling for input and textarea\n *\n * 1. Set font because else the agent will overrule them with an ugly font\n */\ninput, textarea {\n  font-family: \"Open Sans\", sans-serif;\n  background-color: transparent;\n}\n\ninput:focus, textarea:focus {\n  outline: none;\n}\n\n/*\n * Set default styling for a button\n *\n */\n.button {\n  display: inline-block;\n  padding: 10px 20px;\n  background-color: #00C7FF;\n  border: 1px solid white;\n  border-radius: 10px;\n  text-decoration: none;\n  color: white;\n}\n\n.button .arrow {\n  display: inline-block;\n  margin-left: 25px;\n  background: url(\"/img/svg/komma_sprite.svg\") 35px 1px no-repeat;\n  background-size: 100px 85px;\n  width: 15px;\n  height: 10px;\n  transform: translate3d(0, 0, 0);\n  transition: transform 0.3s;\n}\n\n.button:hover .arrow {\n  transform: translate3d(5px, 0, 0);\n}\n\n.default-page-content {\n  background-color: #F7F8FA;\n  overflow: hidden;\n  min-height: calc(100% - 659px);\n  position: relative;\n}\n\n.default-page-content > .grid-row.two-columns {\n  display: flex;\n  flex-wrap: wrap;\n  font-size: 0.8rem;\n  line-height: 1.1;\n  min-height: 653px;\n}\n\n@media screen and (max-width: 650px) {\n  .default-page-content > .grid-row {\n    width: 100%;\n  }\n}\n\n.centered {\n  font-size: 0.8rem;\n  line-height: 1.1;\n  width: 83.33333333%;\n  padding: 133px 0;\n  margin: 0 auto 65px auto;\n}\n\n@media screen and (max-width: 1280px) {\n  .centered {\n    width: 87.5%;\n  }\n}\n\n@media screen and (max-width: 950px) {\n  .centered {\n    width: 100%;\n  }\n}\n\n@media screen and (max-width: 850px) {\n  .centered {\n    width: 100%;\n    padding: 60px 0;\n    margin: 0 auto;\n  }\n}\n\n@media screen and (max-width: 650px) {\n  .centered {\n    padding: 0;\n  }\n}\n\n.centered h1 {\n  color: #373c41;\n  font-size: 1.6rem;\n  font-weight: bold;\n  line-height: 2;\n  margin: 50px 0 65px 0;\n}\n\n.centered .placeholder {\n  width: 80%;\n  position: relative;\n  border-radius: 5px;\n  background-color: #FFFFFF;\n  box-shadow: 10px 10px 20px 0 rgba(206, 206, 206, 0.6);\n  padding: 35px 12.5%;\n  margin: 0 auto 60px auto;\n}\n\n@media screen and (max-width: 1280px) {\n  .centered .placeholder {\n    width: 100%;\n  }\n}\n\n@media screen and (max-width: 850px) {\n  .centered .placeholder {\n    padding: 35px 6.25%;\n  }\n}\n\n@media screen and (max-width: 650px) {\n  .centered .placeholder {\n    margin: 0;\n  }\n}\n\n.sidebar {\n  font-size: 0.8rem;\n  line-height: 1.1;\n  width: 26.66666667%;\n  display: inline-block;\n  vertical-align: top;\n  background-color: white;\n  box-shadow: -5px 0px 40px 5px rgba(0, 0, 0, 0.1);\n  overflow: visible;\n  position: absolute;\n  right: 0;\n  top: 0;\n  height: 100%;\n  z-index: 10;\n}\n\n@media screen and (max-width: 1280px) {\n  .sidebar {\n    width: 33.33333333%;\n  }\n}\n\n@media screen and (max-width: 900px) {\n  .sidebar {\n    height: 100%;\n    width: 50%;\n    right: 60px;\n    -webkit-transform: translate(100%, 0);\n    -moz-transform: translate(100%, 0);\n    -ms-transform: translate(100%, 0);\n    -o-transform: translate(100%, 0);\n    transform: translate(100%, 0);\n    overflow: hidden;\n    -webkit-transition: -webkit-transform 0.5s, width 0.5s;\n    -moz-transition: -moz-transform 0.5s, width 0.5s;\n    transition: transform 0.5s, width 0.5s;\n  }\n  .sidebar.open {\n    -webkit-transform: translate(60px, 0);\n    -moz-transform: translate(60px, 0);\n    -ms-transform: translate(60px, 0);\n    -o-transform: translate(60px, 0);\n    transform: translate(60px, 0);\n  }\n}\n\n@media screen and (max-width: 700px) {\n  .sidebar.open {\n    width: 80%;\n  }\n}\n\n@media screen and (max-width: 550px) {\n  .sidebar.open {\n    width: 100%;\n  }\n}\n\n.sidebar:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 100%;\n  width: 35vw;\n  height: 100%;\n  background-color: white;\n  z-index: 0;\n}\n\n.sidebar h1 {\n  color: #373c41;\n  font-size: 1.6rem;\n  font-weight: bold;\n  line-height: 2;\n  margin: 50px 0 50px 0;\n  padding: 0 0 0 14%;\n}\n\n.sidebar h1 span.icon {\n  display: none;\n}\n\n@media screen and (max-width: 900px) {\n  .sidebar h1 span.icon {\n    width: 25px;\n    height: 25px;\n    border-radius: 9999px;\n    background-color: #dadada;\n    position: relative;\n    left: -5px;\n    top: -10px;\n    transition: transform 0.4s;\n    display: -ms-flexbox;\n    display: -webkit-flex;\n    display: flex;\n    -webkit-justify-content: center;\n    -moz-justify-content: center;\n    -ms-justify-content: center;\n    -webkit-align-items: center;\n    -moz-align-items: center;\n    -ms-align-items: center;\n    justify-content: center;\n    align-items: center;\n  }\n  .sidebar h1 span.icon svg {\n    height: 15px;\n    width: 15px;\n  }\n}\n\n@media screen and (min-width: 1801px) {\n  .sidebar h1 {\n    padding-left: 50px;\n  }\n}\n\n@media screen and (max-width: 900px) {\n  .sidebar h1 {\n    position: absolute;\n    word-break: break-all;\n    width: 0.7rem;\n    font-size: 0.8rem;\n    text-transform: uppercase;\n    margin-left: 22px;\n    text-align: center;\n    padding: 0;\n  }\n}\n\n.sidebar.open h1 span.icon svg {\n  transform: scaleX(-1);\n}\n\n.sidebar ul {\n  margin: 0;\n  padding: 0;\n  list-style: none;\n  position: relative;\n  z-index: 1;\n  height: calc(100% - 164px);\n  overflow-x: hidden;\n  overflow-y: scroll;\n}\n\n@media screen and (max-width: 900px) {\n  .sidebar ul {\n    margin-left: 60px;\n    border-left: 1px solid rgba(206, 206, 206, 0.5);\n  }\n}\n\n.sidebar ul li {\n  padding: 0 50px;\n  border-top: 1px solid rgba(206, 206, 206, 0.5);\n  width: 42vw;\n  text-align: left;\n}\n\n@media screen and (max-width: 900px) {\n  .sidebar ul li {\n    width: 100%;\n  }\n}\n\n.sidebar ul li p {\n  width: 50%;\n}\n\n@media screen and (max-width: 900px) {\n  .sidebar ul li p {\n    width: 100%;\n  }\n}\n\nspan.icon {\n  width: 40px;\n  height: 40px;\n  border-radius: 9999px;\n  margin-right: 25px;\n  display: -ms-inline-flexbox;\n  display: -webkit-inline-flex;\n  display: inline-flex;\n  -webkit-justify-content: center;\n  -moz-justify-content: center;\n  -ms-justify-content: center;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: center;\n  align-items: center;\n}\n\nspan.icon svg {\n  height: 20px;\n  width: 20px;\n}\n\nspan.icon svg > g > g, span.icon svg > g use {\n  fill: white;\n}\n\nspan.icon.yellow {\n  background-color: #F6A52F;\n}\n\nspan.icon.green {\n  background-color: #04D682;\n}\n\nspan.icon.lock svg {\n  position: relative;\n  left: 1px;\n  top: -2px;\n}\n\nspan.icon.cross {\n  position: absolute;\n  left: -8.33333333%;\n  top: 14px;\n}\n\nspan.icon.cross svg {\n  width: 30px;\n  height: 30px;\n}\n\nspan.icon.cross svg > g > g {\n  fill: #d62727;\n}\n\n@media screen and (max-width: 850px) {\n  span.icon.cross {\n    left: 0;\n  }\n}\n\n@media screen and (max-width: 425px) {\n  span.icon.cross {\n    top: 7px;\n  }\n}\n\ninput[type=number]::-webkit-outer-spin-button, input[type=number]::-webkit-inner-spin-button, input[type=date]::-webkit-outer-spin-button, input[type=date]::-webkit-inner-spin-button {\n  /* display: none <- Crashes Chrome on hover */\n  -webkit-appearance: none;\n  margin: 0;\n}\n\nspan.error-message {\n  position: absolute;\n  left: 0;\n  bottom: 6px;\n  font-size: 0.8rem;\n  background-color: rgba(255, 51, 51, 0.7);\n  width: 100%;\n  border-radius: 0 0 5px 5px;\n  color: white;\n  padding: 0 10px;\n}\n\nspan.error-message:first-letter {\n  text-transform: capitalize;\n}\n\n.ui-datepicker .ui-datepicker-header {\n  background-color: #ff3333;\n  background-image: none;\n}\n\n/* ==========================================================================\n   Helper classes\n   @mixin ========================================================================= */\n/**\n * Use on elements from where the children should not wrap\n */\n.nowrap {\n  white-space: nowrap;\n}\n\n/**\n * Hide elements on different screen sizes\n */\n@media screen and (max-width: 1600px) {\n  .hide-on-xl-or-smaller {\n    display: none;\n  }\n}\n\n@media screen and (min-width: 1601px) {\n  .hide-on-xl-or-larger {\n    display: none;\n  }\n}\n\n@media screen and (max-width: 1366px) {\n  .hide-on-lg-or-smaller {\n    display: none;\n  }\n}\n\n@media screen and (min-width: 1367px) {\n  .hide-on-lg-or-larger {\n    display: none;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .hide-on-md-or-smaller {\n    display: none;\n  }\n}\n\n@media screen and (min-width: 1081px) {\n  .hide-on-md-or-larger {\n    display: none;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .hide-on-sm-or-smaller {\n    display: none;\n  }\n}\n\n@media screen and (min-width: 769px) {\n  .hide-on-sm-or-larger {\n    display: none;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .hide-on-xs-or-smaller {\n    display: none;\n  }\n}\n\n@media screen and (min-width: 401px) {\n  .hide-on-xs-or-larger {\n    display: none;\n  }\n}\n\n/* ==========================================================================\n   Partial CSS\n   @mixin ========================================================================= */\n/*==========================================================================\n  Navigation / Header\n  @mixin ========================================================================= */\nheader {\n  position: relative;\n  z-index: 4;\n  border-bottom: solid 1px rgba(206, 206, 206, 0.8);\n  background-color: white;\n  /* Mobile Navigation\n     @mixin ========================================================================= */\n}\n\nheader .small-row {\n  background: linear-gradient(90deg, #d62727 0%, #ff3333 100%);\n  padding: 16px 0 17px 0;\n}\n\nheader .small-row .grid-row {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: flex-end;\n  -moz-justify-content: flex-end;\n  -ms-justify-content: flex-end;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: flex-end;\n  align-items: center;\n}\n\nheader .small-row a {\n  display: -ms-inline-flexbox;\n  display: -webkit-inline-flex;\n  display: inline-flex;\n  -webkit-justify-content: flex-start;\n  -moz-justify-content: flex-start;\n  -ms-justify-content: flex-start;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: flex-start;\n  align-items: center;\n  font-size: 0.8rem;\n  line-height: 1.1;\n  color: #ededed;\n  text-decoration: none;\n  margin-right: 30px;\n  transition: color 0.2s;\n}\n\nheader .small-row a:first-of-type {\n  margin-right: 8.33333333%;\n}\n\nheader .small-row a.no-margin-right {\n  margin-right: 0;\n}\n\nheader .small-row a span {\n  color: white;\n  display: inline-block;\n  margin-right: 10px;\n  opacity: 0.7;\n  transition: opacity 0.2s;\n}\n\nheader .small-row a span svg > g > g, header .small-row a span svg > g use {\n  fill: white;\n}\n\nheader .small-row a:hover {\n  color: white;\n}\n\nheader .small-row a:hover span {\n  opacity: 1;\n}\n\nheader .large-row {\n  padding: 8px 0;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: flex-start;\n  -moz-justify-content: flex-start;\n  -ms-justify-content: flex-start;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: flex-start;\n  align-items: center;\n  /* Navigation\n     @mixin ========================================================================= */\n}\n\nheader .large-row.guest {\n  padding-right: 5.55555556%;\n}\n\nheader .large-row.guest .logo {\n  margin-right: auto;\n}\n\nheader .large-row.guest nav ul {\n  height: 100%;\n}\n\nheader .large-row.guest nav ul li {\n  pointer-events: all;\n}\n\nheader .large-row.guest nav ul li.active {\n  pointer-events: none;\n}\n\nheader .large-row.guest nav ul li:first-of-type {\n  border-right: solid 2px rgba(176, 176, 176, 0.5);\n  padding: 10px 45px 10px 0;\n}\n\nheader .large-row.guest nav ul li a {\n  text-transform: lowercase;\n}\n\nheader .large-row .logo {\n  margin-right: 7.5%;\n}\n\n@media screen and (max-width: 1024px) {\n  header .large-row .logo {\n    margin-right: 0;\n  }\n}\n\nheader .large-row .logo img {\n  position: relative;\n  left: -10px;\n  height: 67px;\n}\n\nheader .large-row form {\n  margin-left: auto;\n}\n\nheader .large-row form .logout-button {\n  color: #B0B0B0;\n  border: 1px solid #FFAC34;\n  border-radius: 6px;\n  background-color: transparent;\n  font-size: 0.8rem;\n  line-height: 1.1;\n  padding: 8px 18px;\n  cursor: pointer;\n  transition: color 0.3s, background-color 0.3s;\n}\n\nheader .large-row form .logout-button:hover {\n  background-color: #FFAC34;\n  color: white;\n}\n\nheader .large-row nav {\n  position: relative;\n}\n\nheader .large-row nav ul {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: flex-start;\n  -moz-justify-content: flex-start;\n  -ms-justify-content: flex-start;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: flex-start;\n  align-items: center;\n  padding: 0 0 0 10px;\n}\n\nheader .large-row nav ul li {\n  margin-right: 45px;\n  height: 100%;\n}\n\n@media screen and (max-width: 920px) {\n  header .large-row nav ul li {\n    margin-right: 25px;\n  }\n}\n\nheader .large-row nav ul li a {\n  display: inline-block;\n  font-size: 0.8rem;\n  line-height: 1.1;\n  color: #373c41;\n  transition: color 0.3s;\n  text-decoration: none;\n}\n\n@media screen and (max-width: 920px) {\n  header .large-row nav ul li a {\n    text-decoration: underline;\n    border-bottom: none;\n  }\n}\n\nheader .large-row nav ul li:last-of-type {\n  margin-right: 0;\n}\n\nheader .large-row nav ul li:hover a {\n  color: #d62727;\n}\n\nheader .large-row nav ul li.active a {\n  pointer-events: none;\n  opacity: 1;\n  border-bottom: solid 1px;\n  padding-bottom: 2px;\n}\n\nheader .large-row nav ul li.active:hover a {\n  color: #373c41;\n}\n\nheader .shadow {\n  position: absolute;\n  left: 0;\n  bottom: -40px;\n  width: 100%;\n  height: 40px;\n  opacity: 0.4;\n  background-image: url(\"/img/vertical-gradient.png\");\n  background-size: contain;\n}\n\n@media screen and (max-width: 850px) {\n  header {\n    height: 60px;\n  }\n  header .small-row,\n  header .large-row,\n  header .large-row.guest {\n    display: none;\n  }\n}\n\n/*==========================================================================\n  Footer\n  @mixin ========================================================================= */\nfooter {\n  background-color: #373c41;\n  /* Sub footer for pay off and our branding\n   @mixin ========================================================================= */\n}\n\nfooter > .grid-row {\n  padding: 70px 0 90px;\n}\n\nfooter .grid-col {\n  vertical-align: top;\n}\n\nfooter .grid-col .header {\n  font-size: 0.7rem;\n  text-transform: uppercase;\n  color: #ff3333;\n  font-weight: 600;\n  margin: 0 0 40px;\n}\n\nfooter .grid-col li a, footer .grid-col p {\n  font-size: 0.8rem;\n  color: white;\n}\n\nfooter .contact {\n  width: 33.33333333%;\n  margin-left: 8.33333333%;\n}\n\n@media screen and (max-width: 850px) {\n  footer .contact {\n    margin-left: 0;\n    padding-left: 8.33333333%;\n    width: 100%;\n  }\n}\n\nfooter .contact figure {\n  width: 100%;\n  max-width: 240px;\n  margin-bottom: 40px;\n}\n\nfooter .contact figure img {\n  width: 100%;\n}\n\nfooter .contact a {\n  color: #d62727;\n  font-weight: 600;\n  font-size: 0.9rem;\n  text-decoration: none;\n  transition: color 0.2s;\n}\n\nfooter .contact a:hover {\n  color: #ff3333;\n}\n\nfooter .links {\n  width: 50%;\n  margin-left: 4.16666667%;\n}\n\nfooter .links > .grid-row {\n  width: 100%;\n}\n\nfooter .links .menu, footer .links .sub-links {\n  width: 50%;\n  vertical-align: top;\n}\n\nfooter .links ul {\n  list-style: none;\n  padding: 0;\n  margin: 35px 0;\n}\n\nfooter .links ul li {\n  margin-bottom: 5px;\n}\n\nfooter .links ul li a {\n  text-decoration: none;\n  opacity: 0.6;\n  transition: opacity 0.3s;\n}\n\nfooter .links ul li a:hover {\n  opacity: 0.9;\n}\n\nfooter .links ul li.active a {\n  opacity: 1;\n}\n\n@media screen and (max-width: 850px) {\n  footer .links {\n    display: none;\n  }\n}\n\nfooter .sub-footer {\n  background-color: #24282D;\n  padding: 15px 0;\n}\n\nfooter .sub-footer .grid-row .placeholder {\n  width: 83.33333333%;\n  margin: auto;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: space-between;\n  align-items: center;\n}\n\nfooter .sub-footer p, footer .sub-footer a {\n  font-size: 0.7rem;\n  color: #dadada;\n}\n\nfooter .sub-footer p {\n  margin-bottom: 0.5rem;\n}\n\nfooter .sub-footer a {\n  text-decoration: none;\n}\n\nfooter .sub-footer .komma {\n  position: relative;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: space-between;\n  align-items: center;\n  font-size: 0.7rem;\n  line-height: 1;\n  width: 247px;\n  opacity: 0.4;\n  color: #dadada;\n  transition: opacity 0.2s;\n}\n\nfooter .sub-footer .komma span svg * {\n  fill: #dadada;\n}\n\n@media screen and (max-width: 1080px) {\n  footer .sub-footer .komma {\n    font-size: 0.75rem;\n    width: 240px;\n  }\n  footer .sub-footer .komma span {\n    top: -2px;\n  }\n}\n\nfooter .sub-footer .komma:hover {\n  opacity: 0.7;\n  color: white;\n}\n\nfooter .sub-footer .komma span {\n  position: relative;\n  top: -1px;\n  display: inline-block;\n  width: 78px;\n  height: 25px;\n}\n\n@media screen and (max-width: 600px) {\n  footer .sub-footer {\n    padding-bottom: 30px;\n  }\n  footer .sub-footer .grid-row .placeholder {\n    display: block;\n    text-align: center;\n  }\n  footer .sub-footer p {\n    margin-bottom: 1.4rem;\n  }\n  footer .sub-footer .komma {\n    margin: auto;\n  }\n}\n\n@media screen and (max-width: 850px) {\n  footer {\n    padding-top: 35px;\n  }\n  footer > .grid-row {\n    width: 100%;\n    padding: 0 0 30px 0;\n  }\n  footer .sub-footer .grid-row .placeholder {\n    width: 100%;\n  }\n}\n\ndiv.shoppingcartItemList ul {\n  list-style: none;\n  margin: 0;\n  padding: 0;\n}\n\ndiv.shoppingcartItemList ul li {\n  display: block;\n  width: 100%;\n  height: 15%;\n  border: solid 1px #cccccc;\n  margin-bottom: 20px;\n}\n\n/* ==========================================================================\n   Default styling for KMS content\n   @mixin ========================================================================= */\n.kms-content h1, .kms-content h2, .kms-content h3 {\n  font-size: 1.8rem;\n  line-height: 1.4;\n  color: #00C7FF;\n}\n\n.kms-content h1 strong, .kms-content h2 strong, .kms-content h3 strong {\n  color: #00C7FF;\n  font-weight: 400;\n}\n\n.kms-content h2, .kms-content h3 {\n  font-size: 1.4rem;\n}\n\n.kms-content h3 {\n  color: #00C7FF;\n}\n\n.kms-content h3 strong {\n  color: #0078ff;\n}\n\n.kms-content h4 {\n  font-size: 0.8rem;\n  line-height: 1.3;\n  color: #0078ff;\n  text-transform: uppercase;\n}\n\n.kms-content p {\n  font-size: 0.9rem;\n  line-height: 1.4;\n  color: #646464;\n}\n\n.kms-content ul {\n  padding-left: 0;\n  list-style: none;\n}\n\n.kms-content ul li {\n  position: relative;\n  padding-left: 30px;\n  font-size: 0.9rem;\n  line-height: 1.4;\n  color: #646464;\n}\n\n.kms-content ul li:before {\n  position: absolute;\n  left: 0;\n  content: '•';\n  color: #0078ff;\n  font-size: 1.3em;\n  line-height: 1;\n}\n\n.kms-content ul li + li {\n  margin-top: 5px;\n}\n\n.kms-content ol {\n  counter-reset: ol-counter;\n  padding-left: 0;\n  list-style: none;\n}\n\n.kms-content ol li {\n  padding-left: 30px;\n  font-size: 0.9rem;\n  line-height: 1.4;\n  color: #646464;\n}\n\n.kms-content ol li:before {\n  counter-increment: ol-counter;\n  content: counter(ol-counter) \".\";\n  position: absolute;\n  left: 0;\n  color: #0078ff;\n}\n\n.kms-content ol li + li {\n  margin-top: 5px;\n}\n\n.kms-content a {\n  color: #0078ff;\n  text-decoration: none;\n}\n\n.kms-content a:hover {\n  color: #0060cc;\n  text-decoration: none;\n}\n\n.form {\n  display: block;\n  width: 100%;\n  max-width: 560px;\n  font-size: 1rem;\n  line-height: 1.2;\n}\n\n.form .form-element {\n  position: relative;\n  margin-bottom: 25px;\n}\n\n.form .error-message {\n  display: none;\n  width: 100%;\n  color: #ff1e00;\n  font-size: 0.75rem;\n  font-weight: bold;\n}\n\n.form .error-message.active {\n  display: block;\n  margin-bottom: 10px;\n}\n\n.form label, .form .label {\n  display: block;\n  margin-bottom: 5px;\n  color: #646464;\n  font-size: 0.8em;\n  font-weight: bold;\n}\n\n.form input, .form textarea {\n  display: block;\n  width: 100%;\n  background-color: white;\n  padding: 15px 20px;\n  border: 1px transparent solid;\n  border-radius: 4px;\n  font-size: 0.9em;\n  color: #646464;\n}\n\n.form input.alert, .form textarea.alert {\n  border-color: #ff1e00;\n}\n\n.form input:-webkit-autofill, .form input:-webkit-autofill:hover, .form input:-webkit-autofill:focus, .form input:-webkit-autofill:active, .form textarea:-webkit-autofill, .form textarea:-webkit-autofill:hover, .form textarea:-webkit-autofill:focus, .form textarea:-webkit-autofill:active {\n  transition: 9999s background-color;\n  -webkit-text-fill-color: #646464;\n  transition-delay: 9999s;\n}\n\n.form input:focus, .form textarea:focus {\n  box-shadow: none;\n  outline: none;\n}\n\n.form textarea {\n  min-height: 152px;\n  resize: vertical;\n}\n\n.form .select .select-wrapper {\n  position: relative;\n  display: block;\n}\n\n.form .select .icon {\n  position: absolute;\n  right: 10px;\n  top: 26px;\n  display: inline-block;\n  width: 0;\n  height: 0;\n  border-style: solid;\n  border-width: 5px 6px 0 6px;\n  border-color: #646464 transparent transparent transparent;\n  opacity: 0.3;\n  pointer-events: none;\n}\n\n.form .select select {\n  display: block;\n  width: 100%;\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  -ms-appearance: none;\n  -o-appearance: none;\n  appearance: none;\n  font-family: \"Open Sans\", sans-serif;\n  background-color: white;\n  padding: 15px 35px 15px 20px;\n  border: 1px transparent solid;\n  border-radius: 4px;\n  font-size: 0.9em;\n  color: #646464;\n}\n\n.form .select select:focus {\n  box-shadow: none;\n  outline: none;\n}\n\n.form .checkbox label {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: flex-start;\n  -moz-align-items: flex-start;\n  -ms-align-items: flex-start;\n  justify-content: space-between;\n  align-items: flex-start;\n  cursor: pointer;\n}\n\n.form .checkbox label input {\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  -ms-appearance: none;\n  -o-appearance: none;\n  appearance: none;\n  margin: 0;\n  width: 20px;\n  height: 20px;\n  border-radius: 100%;\n  padding: 0;\n  border: none;\n  background-color: rgba(255, 255, 255, 0.3);\n  background-size: contain;\n  background-position: center;\n  background-repeat: no-repeat;\n  transition: background-color 0.3s;\n}\n\n.form .checkbox label input:hover {\n  background-color: rgba(255, 255, 255, 0.5);\n}\n\n.form .checkbox label input:checked {\n  background-image: url(\"/img/check/checked.svg\");\n  background-color: rgba(255, 255, 255, 0.7);\n}\n\n.form .checkbox label span {\n  display: block;\n  margin: 2px 0 0;\n  width: calc(100% - 30px);\n}\n\n.form .submit {\n  margin-top: 20px;\n}\n\n.image-slider {\n  width: 100%;\n  overflow: visible;\n  box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.2);\n}\n\n.image-slider .placeholder {\n  position: relative;\n  width: 100%;\n  cursor: move;\n}\n\n.image-slider .placeholder .controllers {\n  position: relative;\n  z-index: 3;\n  width: 100%;\n  height: 0;\n  padding-bottom: 66.67%;\n}\n\n@media screen and (max-width: 1350px) {\n  .image-slider .placeholder .controllers {\n    padding-bottom: 100%;\n  }\n}\n\n.image-slider .placeholder .controllers .nav-item {\n  position: absolute;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n  -moz-justify-content: center;\n  -ms-justify-content: center;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: center;\n  align-items: center;\n  bottom: -50px;\n  width: 35px;\n  height: 35px;\n  cursor: pointer;\n  border-radius: 100%;\n  transition: background 0.3s;\n}\n\n.image-slider .placeholder .controllers .nav-item span {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n  -moz-justify-content: center;\n  -ms-justify-content: center;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: center;\n  align-items: center;\n  height: 16px;\n  width: 16px;\n  transform-origin: center;\n  transition: transform 0.3s;\n}\n\n.image-slider .placeholder .controllers .nav-item span .arrow-icon {\n  position: relative;\n  width: 10px;\n  height: 16px;\n  transform-origin: center;\n}\n\n.image-slider .placeholder .controllers .nav-item span .arrow-icon .st0 {\n  fill: white;\n}\n\n.image-slider .placeholder .controllers .nav-item.previous {\n  background-color: #00C7FF;\n  right: calc(50% + 3px);\n}\n\n.image-slider .placeholder .controllers .nav-item.previous span .arrow-icon {\n  transform: rotate(90deg);\n}\n\n.image-slider .placeholder .controllers .nav-item.previous:hover {\n  background-color: #1acdff;\n}\n\n.image-slider .placeholder .controllers .nav-item.next {\n  background-color: #ff1e00;\n  left: calc(50% + 3px);\n}\n\n.image-slider .placeholder .controllers .nav-item.next span .arrow-icon {\n  transform: rotate(270deg);\n}\n\n.image-slider .placeholder .controllers .nav-item.next:hover {\n  background-color: #e61b00;\n}\n\n.image-slider .placeholder figure {\n  position: absolute;\n  z-index: 1;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  opacity: 0;\n  transition: opacity 0.4s;\n}\n\n.image-slider .placeholder figure span {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  background-size: cover;\n  background-position: center;\n}\n\n.image-slider .placeholder figure span.small {\n  display: none;\n}\n\n@media screen and (max-width: 480px) {\n  .image-slider .placeholder figure span.medium {\n    display: none;\n  }\n  .image-slider .placeholder figure span.small {\n    display: block;\n  }\n}\n\n.image-slider .placeholder figure.active {\n  z-index: 2;\n  opacity: 1;\n}\n\n#cookie-message {\n  position: fixed;\n  z-index: 9999;\n  bottom: 0;\n  left: 0;\n  padding: 15px 0;\n  width: 100%;\n  background: linear-gradient(90deg, #d62727 0%, #ff3333 100%);\n  opacity: 1;\n  box-shadow: 0 -2px 10px 0 rgba(0, 0, 0, 0.1);\n  transition: opacity 0.5s, transform 0.6s;\n  transform: translate3d(0, 0, 0);\n}\n\n#cookie-message.accepted {\n  display: none;\n}\n\n#cookie-message.transition-out {\n  opacity: 0;\n  transform: translate3d(0, 50%, 0);\n}\n\n#cookie-message .grid-row {\n  text-align: center;\n}\n\n#cookie-message .grid-row p, #cookie-message .grid-row p a, #cookie-message .grid-row .close-button {\n  font-size: 0.75rem;\n  line-height: 1.2;\n  color: white;\n}\n\n#cookie-message .grid-row p {\n  display: inline-block;\n  vertical-align: middle;\n  margin: 0;\n}\n\n#cookie-message .grid-row p a {\n  text-decoration: underline;\n}\n\n#cookie-message .grid-row .close-button {\n  display: inline-block;\n  vertical-align: middle;\n  margin-left: 15px;\n  padding: 5px 12px;\n  background-color: rgba(255, 255, 255, 0.2);\n  border-radius: 5px;\n  cursor: pointer;\n}\n\n@media screen and (max-width: 625px) {\n  #cookie-message .grid-row p {\n    max-width: 225px;\n  }\n}\n\n@media screen and (max-width: 375px) {\n  #cookie-message .grid-row p {\n    display: block;\n    max-width: none;\n  }\n  #cookie-message .grid-row .close-button {\n    margin-top: 10px;\n  }\n}\n\n#cookie-message-overlay {\n  position: fixed;\n  z-index: 9999;\n  top: 0;\n  left: 0;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n  -moz-justify-content: center;\n  -ms-justify-content: center;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: center;\n  align-items: center;\n  width: 100%;\n  height: 100%;\n  background-color: rgba(0, 0, 0, 0.6);\n  opacity: 1;\n  transition: opacity 0.5s;\n}\n\n#cookie-message-overlay.accepted {\n  display: none;\n}\n\n#cookie-message-overlay.transition-out {\n  opacity: 0;\n}\n\n#cookie-message-overlay .placeholder {\n  width: calc(100vw / 14 * 12);\n  padding: 60px 120px;\n  display: block;\n  max-width: 960px;\n  margin-left: auto;\n  margin-right: auto;\n  background-color: white;\n}\n\n#cookie-message-overlay .placeholder h5 {\n  font-size: 1.2rem;\n  line-height: 1;\n  font-weight: 500;\n  margin: 0 0 5px;\n  color: #4d4d4d;\n}\n\n#cookie-message-overlay .placeholder p {\n  font-size: 0.8rem;\n  line-height: 1.2;\n  margin: 0;\n  color: #808080;\n}\n\n#cookie-message-overlay .placeholder p a, #cookie-message-overlay .placeholder p .open-menu {\n  color: #0032FF;\n  white-space: nowrap;\n  cursor: pointer;\n  text-decoration: underline;\n}\n\n#cookie-message-overlay .placeholder .accept-cookie-button {\n  display: inline-block;\n  margin-top: 35px;\n  padding: 13px 20px;\n  border-radius: 4px;\n  background-color: #00C7FF;\n  transition: background-color 0.4s, opacity 0.4s;\n  font-size: 0.9rem;\n  line-height: 1.2;\n  color: white;\n  cursor: pointer;\n}\n\n#cookie-message-overlay .placeholder .accept-cookie-button:hover {\n  background-color: #00a7d6;\n}\n\n@media screen and (max-width: 1440px) {\n  #cookie-message-overlay .placeholder {\n    padding: calc(100vw / 14 / 1.5) calc(100vw / 14);\n    display: block;\n  }\n}\n\n@media screen and (max-width: 450px) {\n  #cookie-message-overlay .placeholder {\n    width: 100%;\n  }\n}\n\n#cookie-message-overlay #message-description {\n  display: block;\n}\n\n#cookie-message-overlay #message-description.hide {\n  display: none;\n}\n\n#cookie-message-overlay .cookie-types-description {\n  display: block;\n  margin: 30px 0;\n}\n\n#cookie-message-overlay .cookie-types-description .cookie-type {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: flex-start;\n  -moz-align-items: flex-start;\n  -ms-align-items: flex-start;\n  justify-content: space-between;\n  align-items: flex-start;\n  width: 100%;\n}\n\n#cookie-message-overlay .cookie-types-description .cookie-type + .cookie-type {\n  margin-top: 25px;\n}\n\n#cookie-message-overlay .cookie-types-description .cookie-type .icon {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n  -moz-justify-content: center;\n  -ms-justify-content: center;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: center;\n  align-items: center;\n  width: 25px;\n  height: 25px;\n}\n\n#cookie-message-overlay .cookie-types-description .cookie-type .icon:before {\n  content: '';\n  display: block;\n}\n\n#cookie-message-overlay .cookie-types-description .cookie-type .text {\n  display: block;\n  width: calc(100% - 55px);\n}\n\n#cookie-message-overlay .cookie-types-description .cookie-type .text p {\n  max-width: 380px;\n  font-size: 0.7rem;\n  line-height: 1rem;\n  margin: 0;\n  color: rgba(100, 100, 100, 0.6);\n}\n\n#cookie-message-overlay .cookie-types-description .cookie-type .text p strong {\n  display: inline-block;\n  color: #646464;\n  font-size: 0.9rem;\n}\n\n#cookie-message-overlay .cookie-types-description .cookie-type .text p strong span {\n  white-space: nowrap;\n}\n\n#cookie-message-overlay .cookie-types-description .cookie-type.tracking .icon:before {\n  background: url(\"/img/svg/cookie-sprite.svg\") 0 0 no-repeat;\n  background-size: 70px 30px;\n  width: 25px;\n  height: 25px;\n}\n\n#cookie-message-overlay .cookie-types-description .cookie-type.analytic .icon:before {\n  background: url(\"/img/svg/cookie-sprite.svg\") -27px 0 no-repeat;\n  background-size: 70px 30px;\n  width: 25px;\n  height: 25px;\n}\n\n#cookie-message-overlay .cookie-settings {\n  display: none;\n}\n\n#cookie-message-overlay .cookie-settings.edit {\n  display: block;\n}\n\n#cookie-message-overlay .cookie-settings .wrapper {\n  padding: 30px 0 0;\n}\n\n#cookie-message-overlay .cookie-settings .cookie-type {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: flex-start;\n  -moz-align-items: flex-start;\n  -ms-align-items: flex-start;\n  justify-content: space-between;\n  align-items: flex-start;\n  width: 100%;\n  max-width: 420px;\n  cursor: pointer;\n}\n\n#cookie-message-overlay .cookie-settings .cookie-type + .cookie-type {\n  margin-top: 25px;\n}\n\n#cookie-message-overlay .cookie-settings .cookie-type input {\n  margin: 4px 0 0;\n  display: block;\n  background: url(\"/img/svg/cookie-sprite.svg\") -55px -14px no-repeat;\n  background-size: 70px 30px;\n  width: 13px;\n  height: 13px;\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  -ms-appearance: none;\n  -o-appearance: none;\n  appearance: none;\n}\n\n#cookie-message-overlay .cookie-settings .cookie-type input:checked {\n  background-position: -55px 0;\n}\n\n#cookie-message-overlay .cookie-settings .cookie-type input:focus {\n  outline: none;\n  box-shadow: none;\n}\n\n#cookie-message-overlay .cookie-settings .cookie-type > span {\n  display: block;\n  width: calc(100% - 55px);\n  font-size: 0.7rem;\n  line-height: 1rem;\n  color: rgba(100, 100, 100, 0.6);\n}\n\n#cookie-message-overlay .cookie-settings .cookie-type > span strong {\n  font-size: 0.9rem;\n  color: #646464;\n}\n\n#cookie-message-overlay .cookie-settings .cookie-type > span strong span {\n  white-space: nowrap;\n}\n\n#cookie-message-overlay .cookie-settings .cookie-type.analytic {\n  pointer-events: none;\n  cursor: not-allowed;\n}\n\n#cookie-message-overlay .cookie-settings .cookie-type.analytic input {\n  opacity: 0.3;\n}\n\n#cookie-switch {\n  margin-bottom: 50px;\n  padding: 30px 0 50px;\n  border-bottom: 1px solid #646464;\n  width: 100%;\n}\n\n#cookie-switch .placeholder {\n  width: 100%;\n  display: block;\n}\n\n#cookie-switch .placeholder .cookie-switch-title h3 {\n  margin: 0 0 12px;\n  font-size: 1.2rem;\n  line-height: 1.2;\n}\n\n#cookie-switch .placeholder .cookie-switch-title p {\n  font-size: 0.8rem;\n  line-height: 1.4;\n}\n\n#cookie-switch .placeholder .cookie-types {\n  display: block;\n  margin: 30px 0 50px;\n}\n\n#cookie-switch .placeholder .cookie-types .cookie-type {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: flex-start;\n  -moz-align-items: flex-start;\n  -ms-align-items: flex-start;\n  justify-content: space-between;\n  align-items: flex-start;\n  width: 100%;\n  max-width: 420px;\n  cursor: pointer;\n}\n\n#cookie-switch .placeholder .cookie-types .cookie-type + .cookie-type {\n  margin-top: 25px;\n}\n\n#cookie-switch .placeholder .cookie-types .cookie-type input {\n  margin: 4px 0 0;\n  display: block;\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  -ms-appearance: none;\n  -o-appearance: none;\n  appearance: none;\n  background: url(\"/img/svg/cookie-sprite.svg\") -55px -14px no-repeat;\n  background-size: 70px 30px;\n  width: 13px;\n  height: 13px;\n}\n\n#cookie-switch .placeholder .cookie-types .cookie-type input:focus {\n  outline: none;\n  box-shadow: none;\n}\n\n#cookie-switch .placeholder .cookie-types .cookie-type input:checked {\n  background-position: -55px 0;\n}\n\n#cookie-switch .placeholder .cookie-types .cookie-type > span {\n  display: block;\n  width: calc(100% - 55px);\n  font-size: 0.7rem;\n  line-height: 1.4;\n}\n\n@media screen and (max-width: 460px) {\n  #cookie-switch .placeholder .cookie-types .cookie-type > span {\n    width: calc(100% - 30px);\n  }\n}\n\n#cookie-switch .placeholder .cookie-types .cookie-type > span strong {\n  font-size: 0.9rem;\n}\n\n#cookie-switch .placeholder .cookie-types .cookie-type > span strong span {\n  white-space: nowrap;\n}\n\n#cookie-switch .placeholder .cookie-types .cookie-type.analytic {\n  pointer-events: none;\n  cursor: not-allowed;\n}\n\n#cookie-switch .placeholder #save-cookie-settings {\n  display: inline-block;\n  padding: 13px 20px;\n  border-radius: 4px;\n  background-color: #00C7FF;\n  transition: background-color 0.4s, opacity 0.4s;\n  font-size: 0.9rem;\n  line-height: 1.2;\n  color: white;\n  cursor: pointer;\n}\n\n#cookie-switch .placeholder #save-cookie-settings:hover {\n  background-color: #00a7d6;\n}\n\n#cookie-switch .placeholder #save-cookie-settings.clicked {\n  opacity: 0.2;\n}\n\n/*==========================================================================\n  Dynamic Blocks\n  @mixin ========================================================================= */\n.dynamic-block + .dynamic-block {\n  margin-top: 60px;\n}\n\n.dynamic-block .grid-row {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: space-between;\n  align-items: center;\n}\n\n.dynamic-block.two-text-columns {\n  position: relative;\n  z-index: 10;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: flex-start;\n  -moz-align-items: flex-start;\n  -ms-align-items: flex-start;\n  justify-content: space-between;\n  align-items: flex-start;\n}\n\n.dynamic-block.two-text-columns .content {\n  width: 47.72727273%;\n  padding: 0;\n}\n\n@media screen and (max-width: 900px) {\n  .dynamic-block.two-text-columns {\n    display: block;\n  }\n  .dynamic-block.two-text-columns .content {\n    width: 100% !important;\n    margin: 0;\n  }\n  .dynamic-block.two-text-columns .content p:last-of-type {\n    margin-bottom: 1rem;\n  }\n}\n\n.dynamic-block.full-image-column img {\n  width: 100%;\n  display: none;\n}\n\n.dynamic-block.full-image-column img.large {\n  display: block;\n}\n\n@media screen and (max-width: 1050px) {\n  .dynamic-block.full-image-column img.large {\n    display: none;\n  }\n  .dynamic-block.full-image-column img.medium {\n    display: block;\n  }\n}\n\n@media screen and (max-width: 525px) {\n  .dynamic-block.full-image-column img.medium {\n    display: none;\n  }\n  .dynamic-block.full-image-column img.small {\n    display: block;\n  }\n}\n\n.dynamic-block.content-block {\n  position: relative;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: flex-start;\n  -moz-align-items: flex-start;\n  -ms-align-items: flex-start;\n  justify-content: space-between;\n  align-items: flex-start;\n}\n\n.dynamic-block.content-block .image {\n  width: 50%;\n}\n\n.dynamic-block.content-block .image img {\n  width: 100%;\n}\n\n.dynamic-block.content-block .image img.small {\n  display: none;\n}\n\n@media screen and (max-width: 450px) {\n  .dynamic-block.content-block .image img.medium {\n    display: none;\n  }\n  .dynamic-block.content-block .image img.small {\n    display: block;\n  }\n}\n\n.dynamic-block.content-block .image .content {\n  width: 41.66666667%;\n}\n\n.dynamic-block.content-block .content {\n  -webkit-order: 1;\n  -ms-order: 1;\n  width: 41.66666667%;\n}\n\n.dynamic-block.content-block[data-image-location='right'] .image {\n  -webkit-order: 2;\n  -ms-order: 2;\n}\n\n.dynamic-block.content-block[data-image-location='right'] .content {\n  -webkit-order: 1;\n  -ms-order: 1;\n}\n\n@media screen and (max-width: 900px) {\n  .dynamic-block.content-block {\n    display: block;\n  }\n  .dynamic-block.content-block .image {\n    width: 100%;\n    margin-top: 40px;\n    -webkit-order: 2;\n    -ms-order: 2;\n  }\n  .dynamic-block.content-block .content {\n    width: 100%;\n  }\n}\n\n.dynamic-block.multiple-images {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: flex-start;\n  -moz-align-items: flex-start;\n  -ms-align-items: flex-start;\n  justify-content: space-between;\n  align-items: flex-start;\n  -webkit-flex-wrap: wrap;\n  -ms-flex-wrap: wrap;\n  -webkit-flex-direction: row;\n  -ms-flex-direction: row;\n  -webkit-flex-flow: row wrap;\n}\n\n.dynamic-block.multiple-images figure {\n  width: 47.72727273%;\n}\n\n.dynamic-block.multiple-images figure img {\n  width: 100%;\n  display: none;\n}\n\n.dynamic-block.multiple-images figure img.medium {\n  display: none;\n}\n\n@media screen and (max-width: 1100px) {\n  .dynamic-block.multiple-images figure img.large {\n    display: none;\n  }\n  .dynamic-block.multiple-images figure img.medium {\n    display: block;\n  }\n}\n\n@media screen and (max-width: 480px) {\n  .dynamic-block.multiple-images figure img.large {\n    display: none;\n  }\n  .dynamic-block.multiple-images figure img.medium {\n    display: block;\n  }\n}\n\n.dynamic-block.multiple-images[data-size-type='50'] figure img.medium {\n  display: block;\n}\n\n@media screen and (max-width: 1125px) {\n  .dynamic-block.multiple-images[data-size-type='50'] figure img.medium {\n    display: none;\n  }\n  .dynamic-block.multiple-images[data-size-type='50'] figure img.small {\n    display: block;\n  }\n}\n\n@media screen and (max-width: 900px) {\n  .dynamic-block.multiple-images {\n    display: block;\n  }\n  .dynamic-block.multiple-images figure {\n    width: 100%;\n  }\n  .dynamic-block.multiple-images figure:first-of-type {\n    margin-bottom: 40px;\n  }\n  .dynamic-block.multiple-images figure img.medium {\n    display: block !important;\n  }\n  .dynamic-block.multiple-images figure img.small {\n    display: none !important;\n  }\n}\n\n@media screen and (max-width: 900px) and (max-width: 525px) {\n  .dynamic-block.multiple-images figure img.medium {\n    display: none;\n  }\n  .dynamic-block.multiple-images figure img.small {\n    display: block;\n  }\n}\n\n.dynamic-block.full-text-block .content {\n  max-width: 680px;\n  margin: auto;\n  text-align: center;\n}\n\n.dynamic-block.video-block {\n  width: 100%;\n  max-width: 960px;\n  margin: 60px auto 0 !important;\n}\n\n.dynamic-block.video-block .video-wrapper {\n  position: relative;\n  padding-bottom: 53.6%;\n  padding-top: 25px;\n  height: 0;\n}\n\n.dynamic-block.video-block .video-wrapper iframe, .dynamic-block.video-block .video-wrapper .video-overlay {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n}\n\n.dynamic-block.video-block .video-wrapper .video-overlay {\n  z-index: 2;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n  -moz-justify-content: center;\n  -ms-justify-content: center;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: center;\n  align-items: center;\n  opacity: 1;\n  cursor: pointer;\n  transition: all 0.2s;\n}\n\n.dynamic-block.video-block .video-wrapper .video-overlay .button {\n  width: 25%;\n  max-width: 85px;\n  transform: scale(1);\n  transition: all 0.4s;\n}\n\n.dynamic-block.video-block .video-wrapper .video-overlay .button img {\n  width: 100%;\n}\n\n.dynamic-block.video-block .video-wrapper .video-overlay:hover .button {\n  -webkit-transform: scale(0.85);\n  -moz-transform: scale(0.85);\n  -ms-transform: scale(0.85);\n  -o-transform: scale(0.85);\n  transform: scale(0.85);\n}\n\n.dynamic-block.video-block .video-wrapper .video-overlay.hide {\n  opacity: 0;\n  pointer-events: none;\n  transition: all 0.5s;\n  transition-delay: 0.7s;\n}\n\n.dynamic-block.video-block .video-wrapper .video-overlay.hide .button {\n  transition: all 0.8s;\n  transform: scale(0.3);\n}\n\n@media screen and (max-width: 850px) {\n  .preventScroll {\n    overflow: hidden;\n    overflow-y: scroll;\n    position: fixed;\n    width: 100%;\n  }\n}\n\n#mobile-navigation {\n  position: fixed;\n  z-index: 1000;\n  height: 100vh;\n  overflow: hidden;\n  width: 100%;\n  left: 0;\n  top: 0;\n  pointer-events: none;\n  display: none;\n}\n\n#mobile-navigation .bar {\n  display: none;\n  height: 60px;\n  background: linear-gradient(90deg, #d62727 0%, #ff3333 100%);\n  box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.11);\n  pointer-events: all;\n  position: relative;\n  z-index: 4;\n  transform: translate3d(0, 0, 0);\n  transition: all 0.3s;\n  transition-delay: 0.4s;\n}\n\n#mobile-navigation .bar .toggle-menu {\n  width: 60px;\n  height: 100%;\n  z-index: 3;\n  cursor: pointer;\n  position: relative;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n  -moz-justify-content: center;\n  -ms-justify-content: center;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: center;\n  align-items: center;\n}\n\n#mobile-navigation .bar .toggle-menu .icon {\n  width: 20px;\n}\n\n#mobile-navigation .bar .toggle-menu .icon span + span {\n  margin-top: 4px;\n}\n\n#mobile-navigation .bar .toggle-menu .icon span {\n  width: 100%;\n  height: 2px;\n  display: block;\n  transform: scale3d(1, 1, 1);\n  transform-origin: 0 50%;\n  background-color: white;\n  transition: transform 0.6s;\n}\n\n#mobile-navigation .bar .toggle-menu .icon span:nth-of-type(2) {\n  transform: scale3d(0.8, 1, 1);\n}\n\n#mobile-navigation .bar .toggle-menu .icon span:nth-of-type(3) {\n  transform: scale3d(0.45, 1, 1);\n}\n\n#mobile-navigation .bar .toggle-menu:hover .icon span {\n  transform: scale3d(1, 1, 1) !important;\n}\n\n#mobile-navigation .bar .logo {\n  height: 100%;\n  width: 100%;\n  position: absolute;\n  left: 0;\n  top: 0;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n  -moz-justify-content: center;\n  -ms-justify-content: center;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: center;\n  align-items: center;\n}\n\n#mobile-navigation .bar .logo a {\n  position: relative;\n  top: 3px;\n  display: block;\n  width: 150px;\n  max-height: 25px;\n  background-position: center;\n  background-size: contain;\n  background-repeat: no-repeat;\n}\n\n#mobile-navigation .bar .logo a img {\n  width: 100%;\n  max-height: 25px;\n}\n\n#mobile-navigation .shader {\n  width: 100%;\n  height: 100%;\n  position: absolute;\n  left: 0;\n  top: 0;\n  background-color: #ff3333;\n  opacity: 0;\n  display: none;\n  transition-delay: 0.4s;\n}\n\n#mobile-navigation .menu {\n  position: absolute;\n  left: 0;\n  top: 0;\n  height: 100%;\n  width: 100%;\n  max-width: 600px;\n  min-width: 275px;\n  padding: 70px 120px;\n  background-color: white;\n  overflow-x: auto;\n  pointer-events: all;\n  z-index: 5;\n  transform: translate3d(-100%, 0, 0);\n}\n\n#mobile-navigation .menu nav {\n  position: relative;\n}\n\n#mobile-navigation .menu nav .close {\n  position: absolute;\n  top: 10px;\n  left: -68px;\n  display: block;\n  width: 16px;\n  height: 16px;\n  cursor: pointer;\n  transform-origin: center;\n  transform: rotate(0deg);\n  transition: transform 0.4s;\n}\n\n#mobile-navigation .menu nav .close:hover {\n  transform: rotate(90deg);\n}\n\n#mobile-navigation .menu nav .close:hover:before, #mobile-navigation .menu nav .close:hover:after {\n  background-color: rgba(35, 40, 45, 0.4);\n}\n\n#mobile-navigation .menu nav .close:before, #mobile-navigation .menu nav .close:after {\n  content: '';\n  position: absolute;\n  display: block;\n  background-color: #23282d;\n  transform-origin: center;\n  transform: rotate(45deg);\n  transition: background-color 0.3s;\n}\n\n#mobile-navigation .menu nav .close:before {\n  left: 7px;\n  top: 0;\n  width: 2px;\n  height: 100%;\n}\n\n#mobile-navigation .menu nav .close:after {\n  left: 0;\n  top: 7px;\n  width: 100%;\n  height: 2px;\n}\n\n#mobile-navigation .menu nav .logo-wrapper {\n  width: 100%;\n  max-width: 250px;\n}\n\n#mobile-navigation .menu nav .logo-wrapper a {\n  display: block;\n  text-decoration: none;\n}\n\n#mobile-navigation .menu nav .logo-wrapper a img {\n  width: 100%;\n  max-height: 36px;\n}\n\n#mobile-navigation .menu nav .menu-list {\n  margin-top: 40px;\n}\n\n#mobile-navigation .menu nav .menu-list .backToEHBO {\n  padding-top: 60px;\n  padding-bottom: 30px;\n}\n\n@media screen and (max-width: 650px) {\n  #mobile-navigation .menu nav .menu-list .backToEHBO {\n    padding-left: 0;\n  }\n}\n\n#mobile-navigation .menu nav .menu-list ul {\n  margin: 0;\n  padding: 0;\n  list-style: none;\n  font-size: 1rem;\n  line-height: 1.2;\n}\n\n#mobile-navigation .menu nav .menu-list ul + ul {\n  margin-top: 24px;\n}\n\n#mobile-navigation .menu nav .menu-list ul li a {\n  display: block;\n  padding: 8px 0;\n  color: #23282d;\n  text-decoration: none;\n  transition: color 0.2s;\n  cursor: pointer;\n}\n\n#mobile-navigation .menu nav .menu-list ul li a:hover {\n  color: rgba(35, 40, 45, 0.7);\n}\n\n#mobile-navigation .menu nav .menu-list ul li ul {\n  font-size: 0.85em;\n}\n\n#mobile-navigation .menu nav .menu-list ul li.active a {\n  color: #0078ff;\n}\n\n#mobile-navigation.active .bar .toggle-menu .icon span {\n  opacity: 0;\n  transition-delay: 0.4s;\n}\n\n#mobile-navigation.active .bar .toggle-menu .icon span:first-of-type {\n  -webkit-transform: rotate(45deg);\n  -moz-transform: rotate(45deg);\n  -ms-transform: rotate(45deg);\n  -o-transform: rotate(45deg);\n  transform: rotate(45deg);\n  opacity: 1;\n  top: 6px;\n}\n\n#mobile-navigation.active .bar .toggle-menu .icon span:last-of-type {\n  width: 25px;\n  opacity: 1;\n  bottom: 6px;\n  -webkit-transform: rotate(-45deg);\n  -moz-transform: rotate(-45deg);\n  -ms-transform: rotate(-45deg);\n  -o-transform: rotate(-45deg);\n  transform: rotate(-45deg);\n}\n\n#mobile-navigation.active .menu {\n  transform: translate3d(0, 0, 0);\n}\n\n#mobile-navigation.shader-active .shader {\n  opacity: 0.6;\n  pointer-events: all;\n}\n\n#mobile-navigation.allow-animation .shader {\n  transition: all 0.2s;\n}\n\n#mobile-navigation.allow-animation .menu {\n  transition: all 0.3s;\n  transition-timing-function: ease-in-out;\n}\n\n@media screen and (max-width: 850px) {\n  #mobile-navigation {\n    display: block;\n  }\n  #mobile-navigation .bar {\n    display: block;\n  }\n  #mobile-navigation .menu {\n    max-width: none;\n    padding-right: 60px;\n  }\n  #mobile-navigation .menu .logout-button {\n    color: #B0B0B0;\n    border: 1px solid #FFAC34;\n    border-radius: 6px;\n    background-color: transparent;\n    font-size: 0.8rem;\n    line-height: 1.1;\n    padding: 8px 18px;\n    cursor: pointer;\n  }\n}\n\n@media screen and (max-width: 425px) {\n  #mobile-navigation .menu {\n    padding: 70px 30px;\n  }\n  #mobile-navigation .menu nav .close {\n    left: 0;\n  }\n  #mobile-navigation .menu nav ul {\n    font-size: 1.2rem;\n  }\n}\n\n.mobile-contact {\n  display: none;\n  opacity: 0;\n  transform: translate3d(0, -100%, 0);\n  padding: 50px 7.14285714%;\n  background-color: white;\n  color: #23282d;\n  font-size: 0.9rem;\n  transition: opacity 0.4s, transform 0.4s;\n}\n\n.mobile-contact.active {\n  transform: translate3d(0, 0, 0);\n  opacity: 1;\n  pointer-events: all;\n}\n\n.mobile-contact h1, .mobile-contact h2 {\n  font-size: 2rem;\n  line-height: 1.2;\n  max-width: 580px;\n  color: #0032FF;\n  margin: 0 0 40px;\n}\n\n.mobile-contact p {\n  margin: 1rem 0;\n}\n\n.mobile-contact strong {\n  color: #23282d;\n}\n\n.mobile-contact a:not(.button) {\n  color: #0078ff;\n  text-decoration: none;\n  transition: color 0.3s, border 0.3s, opacity 0.3s;\n}\n\n.mobile-contact a:not(.button):hover {\n  color: #0054b3;\n}\n\n.mobile-contact a.button {\n  display: inline-block;\n  margin-top: 20px;\n  padding: 15px 20px;\n  border-radius: 25px;\n  background-color: #0078ff;\n  text-decoration: none;\n  font-size: 0.9rem;\n  line-height: 1;\n  font-weight: 700;\n  color: white;\n  transition: background-color 0.3s;\n}\n\n.mobile-contact a.button:after {\n  content: '';\n  margin-left: 20px;\n  transform: translate3d(0, 0, 0);\n  transition: transform 0.3s;\n}\n\n.mobile-contact a.button:hover {\n  background-color: #0032FF;\n}\n\n.mobile-contact a.button:hover:after {\n  transform: translate3d(5px, 0, 0);\n}\n\n@media screen and (max-width: 840px) {\n  .mobile-contact {\n    display: block;\n  }\n}\n\n#sticky-navigation {\n  position: fixed;\n  top: 0;\n  left: 0;\n  z-index: 50;\n  background-color: #0078ff;\n  width: 100%;\n  height: 60px;\n  transform: translate3d(0, -60px, 0);\n  box-shadow: 0 6px 10px -5px rgba(0, 0, 0, 0.1);\n  opacity: 0;\n  transition: transform 0.4s, opacity 0.4s;\n}\n\n#sticky-navigation.active {\n  transform: translate3d(0, 0, 0);\n  opacity: 1;\n}\n\n#sticky-navigation .grid-row {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: space-between;\n  align-items: center;\n}\n\n#sticky-navigation .menu {\n  display: inline-block;\n  width: 60px;\n}\n\n#sticky-navigation .menu .placeholder {\n  position: relative;\n  width: 100%;\n  padding-bottom: 100%;\n}\n\n#sticky-navigation .menu .placeholder .icon-placeholder {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n  -moz-justify-content: center;\n  -ms-justify-content: center;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: center;\n  align-items: center;\n  cursor: pointer;\n}\n\n#sticky-navigation .menu .placeholder .icon-placeholder .icon {\n  width: 20px;\n}\n\n#sticky-navigation .menu .placeholder .icon-placeholder .icon span + span {\n  margin-top: 4px;\n}\n\n#sticky-navigation .menu .placeholder .icon-placeholder .icon span {\n  width: 100%;\n  height: 2px;\n  display: block;\n  transform: scale3d(1, 1, 1);\n  transform-origin: 0 50%;\n  background-color: white;\n  transition: transform 0.6s;\n}\n\n#sticky-navigation .menu .placeholder .icon-placeholder .icon span:nth-of-type(2) {\n  transform: scale3d(0.8, 1, 1);\n}\n\n#sticky-navigation .menu .placeholder .icon-placeholder .icon span:nth-of-type(3) {\n  transform: scale3d(0.45, 1, 1);\n}\n\n#sticky-navigation .menu .placeholder .icon-placeholder:hover .icon span {\n  transform: scale3d(1, 1, 1) !important;\n}\n\n#sticky-navigation .logo-wrapper a {\n  font-size: 1rem;\n  line-height: 1;\n  color: white;\n  text-decoration: none;\n  font-weight: bold;\n}\n\n.backToEHBO {\n  font-size: 0.8rem;\n  line-height: 1.1;\n  padding-top: 52px;\n  text-decoration: none;\n  color: #373c41;\n  cursor: pointer;\n  transition: color 0.2s;\n  display: -ms-inline-flexbox;\n  display: -webkit-inline-flex;\n  display: inline-flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: space-between;\n  align-items: center;\n}\n\n@media screen and (max-width: 650px) {\n  .backToEHBO {\n    padding: 30px 0 30px 7%;\n  }\n}\n\n.backToEHBO:hover {\n  color: #d62727;\n}\n\n.backToEHBO:hover span.back-arrow {\n  opacity: 0.8;\n}\n\n.backToEHBO span.back-arrow {\n  width: 30px;\n  height: 30px;\n  margin-right: 18px;\n  opacity: 0.5;\n  background-color: #cecece;\n  transition: opacity 0.2s;\n}\n\n.backToEHBO span.back-arrow svg {\n  height: 14px;\n  width: 15px;\n  transition: opacity 0.2s;\n}\n\n/* ==========================================================================\n   Home page\n   @mixin ========================================================================= */\n/*==========================================================================\n  News overview page\n  @mixin ========================================================================= */\n/*==========================================================================\n  News detail page\n  @mixin ========================================================================= */\n/*==========================================================================\n  Contact page\n  @mixin ========================================================================= */\n/* ==========================================================================\n   Home page\n   @mixin ========================================================================= */\n.login > .placeholder {\n  position: relative;\n}\n\n@media screen and (max-width: 650px) {\n  .login > .placeholder {\n    box-shadow: none;\n  }\n}\n\n.login > .placeholder:after {\n  content: '+';\n  display: block;\n  position: absolute;\n  z-index: 0;\n  font-size: 480px;\n  text-align: right;\n  color: white;\n  font-weight: 900;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 64%;\n  padding-top: 2%;\n  background: linear-gradient(90deg, #FFFFFF 0%, #F7F8FA 80%);\n}\n\n@media screen and (max-width: 650px) {\n  .login > .placeholder:after {\n    display: none;\n  }\n}\n\n.login > .placeholder > form {\n  position: relative;\n  z-index: 5;\n}\n\n.login > .placeholder > form .general-alert {\n  display: block;\n  background-color: #ff3333;\n  padding: 10px;\n  position: absolute;\n  top: auto;\n  margin-top: -55px;\n  left: 0;\n  width: 100%;\n  color: white;\n  border-radius: 5px;\n}\n\n.login > .placeholder > form .general-alert:first-letter {\n  text-transform: capitalize;\n}\n\n.login h1 {\n  color: #373c41;\n  font-size: 1.6rem;\n  font-weight: bold;\n  line-height: 2;\n  margin: 0;\n  margin-bottom: 55px;\n}\n\n@media screen and (max-width: 850px) {\n  .login h1 {\n    padding-left: 50px;\n  }\n}\n\n@media screen and (max-width: 425px) {\n  .login h1 {\n    font-size: 1.3rem;\n  }\n}\n\n.login label {\n  width: 75%;\n  display: block;\n  margin-bottom: 24px;\n}\n\n.login input {\n  width: 75%;\n  margin-bottom: 30px;\n  border: none;\n  border-bottom: solid 1px rgba(206, 206, 206, 0.8);\n  font-size: 0.8rem;\n  line-height: 1.1;\n  padding: 8px 0;\n  color: #B0B0B0;\n}\n\n@media screen and (max-width: 1024px) {\n  .login input {\n    width: 100%;\n  }\n}\n\n.login input[type=submit] {\n  display: block;\n  padding: 10px 15px;\n  margin: 30px 0;\n  color: white;\n  font-size: 0.8rem;\n  font-weight: bold;\n  line-height: 1.1;\n  text-transform: uppercase;\n  border-radius: 3px;\n  background-color: #04D682;\n  width: auto;\n  min-width: 240px;\n  text-align: left;\n  cursor: pointer;\n  transition: background-color 0.3s;\n}\n\n.login input[type=submit]:hover {\n  background-color: #04bd73;\n}\n\n@media screen and (max-width: 425px) {\n  .login input[type=submit] {\n    width: 100%;\n  }\n}\n\n.login input::-webkit-input-placeholder {\n  font-size: 0.8rem;\n  line-height: 1.1;\n  opacity: 0.45;\n  color: #B0B0B0;\n}\n\n.login input::-moz-placeholder {\n  font-size: 0.8rem;\n  line-height: 1.1;\n  opacity: 0.45;\n  color: #B0B0B0;\n}\n\n.login input:-ms-input-placeholder {\n  font-size: 0.8rem;\n  line-height: 1.1;\n  opacity: 0.45;\n  color: #B0B0B0;\n}\n\n.login input:-moz-placeholder {\n  font-size: 0.8rem;\n  line-height: 1.1;\n  opacity: 0.45;\n  color: #B0B0B0;\n}\n\n.login a.forgotPassword {\n  display: inline-block;\n  margin-bottom: 100px;\n  text-decoration: none;\n  color: #373c41;\n  cursor: pointer;\n  transition: color 0.3s;\n  padding-left: 10%;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: flex-start;\n  -moz-justify-content: flex-start;\n  -ms-justify-content: flex-start;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: flex-start;\n  align-items: center;\n}\n\n.login a.forgotPassword:hover {\n  color: #d62727;\n}\n\n@media screen and (max-width: 650px) {\n  .login a.forgotPassword {\n    background-color: white;\n    padding-bottom: 30px;\n    margin-bottom: 0;\n    padding-left: 6.25%;\n  }\n}\n\n.login a.forgotPassword p {\n  display: inline-block;\n  margin: 0;\n  border-bottom: solid 1px;\n}\n\n.login a.forgotPassword span.lock svg {\n  height: 25px;\n  width: 25px;\n  transition: opacity 0.2s;\n}\n\n.login .registerLink {\n  color: #373c41;\n  font-style: italic;\n  margin: 50px 0 85px 0;\n}\n\n@media screen and (max-width: 650px) {\n  .login .registerLink {\n    margin: 30px 0 0 0;\n  }\n}\n\n.login .registerLink a {\n  text-decoration: none;\n  color: #373c41;\n  border-bottom: solid 1px;\n  cursor: pointer;\n  transition: color 0.3s;\n}\n\n.login .registerLink a:hover {\n  color: #d62727;\n}\n\n/* ==========================================================================\n   Home page\n   @mixin ========================================================================= */\nh1.register-header {\n  color: #515151;\n  font-size: 1rem;\n  font-weight: bold;\n  line-height: 1.333;\n  width: 66.66666667%;\n  margin: 70px auto 35px auto;\n}\n\n@media screen and (max-width: 1280px) {\n  h1.register-header {\n    width: 85.71428571%;\n  }\n}\n\n@media screen and (max-width: 650px) {\n  h1.register-header {\n    padding: 30px 0 0 15%;\n    background-color: white;\n    margin: 0;\n    width: 100%;\n  }\n}\n\n@media screen and (max-width: 425px) {\n  h1.register-header {\n    text-align: center;\n    padding-left: 0;\n  }\n}\n\n.register {\n  padding-top: 0;\n}\n\n.register .placeholder {\n  padding: 65px 10% 35px 10%;\n}\n\n@media screen and (max-width: 1280px) {\n  .register .placeholder {\n    padding: 65px 12.5% 35px 12.5%;\n  }\n}\n\n@media screen and (max-width: 850px) {\n  .register .placeholder {\n    padding: 35px 0 35px 15%;\n  }\n}\n\n@media screen and (max-width: 425px) {\n  .register .placeholder {\n    padding: 35px 30px;\n  }\n}\n\n.register .general-alert {\n  display: block;\n  background-color: #ff3333;\n  padding: 10px;\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  color: white;\n  border-radius: 5px 5px 0 0;\n}\n\n.register .general-alert:first-letter {\n  text-transform: capitalize;\n}\n\n.register .form-group {\n  position: relative;\n  margin-bottom: 60px;\n}\n\n.register .form-group span.icon {\n  position: absolute;\n  left: -11.11111111%;\n  top: -10px;\n}\n\n.register .form-group span.icon.person {\n  top: 0;\n}\n\n.register .form-group span.icon svg {\n  transition: opacity 0.2s;\n}\n\n@media screen and (max-width: 425px) {\n  .register .form-group span.icon {\n    position: relative;\n    left: calc(50% - 20px);\n    top: -30px;\n    margin-bottom: 15px;\n  }\n}\n\n@media screen and (max-width: 650px) {\n  .register .form-group .form-element {\n    width: 100%;\n  }\n}\n\n.register .form-group .form-element label {\n  width: 100%;\n  margin-right: 30px;\n  display: block;\n  margin-bottom: 24px;\n  font-size: 0.8rem;\n  line-height: 1.1;\n  color: #373c41;\n}\n\n.register .form-group .form-element label.gender, .register .form-group .form-element label[for=age], .register .form-group .form-element label[for=years_certified], .register .form-group .form-element label[for=expiration_date], .register .form-group .form-element label[for=house_number] {\n  display: inline-block;\n  width: auto;\n}\n\n.register .form-group .form-element label.gender input, .register .form-group .form-element label[for=age] input, .register .form-group .form-element label[for=years_certified] input, .register .form-group .form-element label[for=expiration_date] input, .register .form-group .form-element label[for=house_number] input {\n  width: auto;\n}\n\n.register .form-group .form-element label[for=age] {\n  margin-right: 10px;\n}\n\n.register .form-group .form-element label[for=age] + input {\n  width: 35px;\n  border: 1px solid #cecece;\n  border-radius: 3px;\n  text-align: center;\n  padding: 4px 0;\n}\n\n.register .form-group .form-element label.gender {\n  margin-bottom: 12px;\n}\n\n.register .form-group .form-element label[for=years_certified] + input {\n  width: 35px;\n  text-align: center;\n  margin-bottom: 0;\n}\n\n@media screen and (max-width: 650px) {\n  .register .form-group .form-element label[for=house_number] + input {\n    width: 35px;\n    text-align: center;\n  }\n}\n\n.register .form-group .form-element label[for=expiration_date] + input {\n  width: 150px;\n  text-align: center;\n}\n\n.register .form-group .form-element input {\n  width: 87.5%;\n  margin-bottom: 30px;\n  border: none;\n  border-bottom: solid 1px rgba(206, 206, 206, 0.8);\n  font-size: 0.8rem;\n  line-height: 1.1;\n  padding: 8px 0;\n  color: #98a0b3;\n  background-color: transparent;\n}\n\n.register .form-group .form-element input[type=radio] {\n  margin-right: 20px;\n}\n\n.register .form-group .form-element input::-webkit-input-placeholder {\n  opacity: 0.45;\n  color: #B0B0B0;\n}\n\n.register .form-group .form-element input::-moz-placeholder {\n  opacity: 0.45;\n  color: #B0B0B0;\n}\n\n.register .form-group .form-element input:-ms-input-placeholder {\n  opacity: 0.45;\n  color: #B0B0B0;\n}\n\n.register .form-group .form-element input:-moz-placeholder {\n  opacity: 0.45;\n  color: #B0B0B0;\n}\n\n.register input[type=submit] {\n  display: block;\n  padding: 10px 15px;\n  margin: 30px 0;\n  color: white;\n  font-size: 0.8rem;\n  font-weight: bold;\n  line-height: 1.1;\n  text-transform: uppercase;\n  border-radius: 3px;\n  background-color: #04D682;\n  border: none;\n  width: auto;\n  min-width: 240px;\n  text-align: left;\n  cursor: pointer;\n  transition: background-color 0.3s;\n}\n\n.register input[type=submit]:hover {\n  background-color: #04bd73;\n}\n\n@media screen and (max-width: 425px) {\n  .register input[type=submit] {\n    width: 100%;\n  }\n}\n\n.select-wrapper {\n  display: inline-block;\n}\n\nselect {\n  -webkit-appearance: button;\n  -moz-appearance: button;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -webkit-padding-end: 20px;\n  -moz-padding-end: 20px;\n  -webkit-padding-start: 20px;\n  -moz-padding-start: 20px;\n  background-color: rgba(103, 113, 122, 0.05);\n  background-image: url(\"/img/svg/arrow_dark_select.svg\");\n  background-position: 100% 50%;\n  background-repeat: no-repeat;\n  border: 1px solid #E0E1E3;\n  border-radius: 0;\n  box-shadow: none;\n  font-size: 0.7em;\n  color: #646464;\n  margin: 0;\n  overflow: hidden;\n  padding: 5px 10px;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  min-width: 60px;\n}\n\nselect:focus {\n  box-shadow: none;\n  outline: none;\n}\n\nselect.year {\n  min-width: 75px;\n}\n\n/* ==========================================================================\n   Home page\n   @mixin ========================================================================= */\n.personal {\n  display: inline-block;\n  width: 58.33333333%;\n  margin-right: 8.33333333%;\n  margin-left: 8.33333333%;\n}\n\n@media screen and (max-width: 950px) {\n  .personal {\n    margin-right: 0;\n  }\n}\n\n@media screen and (max-width: 850px) {\n  .personal {\n    margin-left: 0;\n    padding-left: 6.25%;\n    width: calc(100% - 60px);\n  }\n}\n\n.personal .alert-danger {\n  background-color: rgba(255, 51, 51, 0.7);\n  padding: 5px 10px;\n  margin-top: -45px;\n  margin-bottom: 45px;\n  border-radius: 5px;\n  color: white;\n}\n\n.personal .form-group {\n  position: relative;\n  margin-bottom: 60px;\n}\n\n.personal .form-group span.icon {\n  position: absolute;\n  left: -14.28571429%;\n  width: 30px;\n  height: 30px;\n  top: -8px;\n}\n\n.personal .form-group span.icon.person {\n  top: 0;\n}\n\n.personal .form-group span.icon svg {\n  width: 18px;\n  height: 18px;\n  transition: opacity 0.2s;\n}\n\n@media screen and (max-width: 650px) {\n  .personal .form-group span.icon {\n    position: relative;\n    left: calc(50% - 20px);\n    top: -30px;\n    margin-bottom: 15px;\n  }\n}\n\n@media screen and (max-width: 425px) {\n  .personal input[type=submit] {\n    width: calc(100% - 60px);\n    min-width: 170px;\n  }\n}\n\n.sidebar.user ul {\n  overflow: visible;\n  height: auto;\n}\n\n.sidebar.user ul li {\n  padding: 25px 14%;\n}\n\n@media screen and (min-width: 1801px) {\n  .sidebar.user ul li {\n    padding: 25px 50px;\n  }\n}\n\n.sidebar.user ul li:last-of-type {\n  border-bottom: 0.5px solid #cecece;\n}\n\n.sidebar.user ul li p {\n  color: #373c41;\n  font-weight: 600;\n  margin-bottom: 1.5em;\n}\n\n.sidebar.user ul li p.value {\n  font-weight: normal;\n  color: #98a0b3;\n  margin-bottom: 0.375em;\n}\n\n/* ==========================================================================\n   Home page\n   @mixin ========================================================================= */\n.courses {\n  width: 66.66666667%;\n  margin-right: 8.33333333%;\n  margin-left: 0;\n  position: relative;\n}\n\n@media screen and (max-width: 950px) {\n  .courses {\n    margin-right: 4.16666667%;\n  }\n}\n\n@media screen and (max-width: 850px) {\n  .courses {\n    padding-left: 6.25%;\n    width: calc(100% - 60px - 6.25%);\n  }\n}\n\n.courses .info-message {\n  display: block;\n  position: absolute;\n  width: 100%;\n  background-color: #0078ff;\n  border-radius: 0 0 5px 5px;\n  padding: 10px;\n  color: white;\n  font-weight: bold;\n  transform: translate(0, -40px);\n  -webkit-animation: showAndHide 5s;\n  -moz-animation: showAndHide 5s;\n  animation: showAndHide 5s;\n  animation-fill-mode: forwards;\n}\n\n.courses .courses-header {\n  padding-top: 52px;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: flex-start;\n  -moz-align-items: flex-start;\n  -ms-align-items: flex-start;\n  justify-content: space-between;\n  align-items: flex-start;\n}\n\n.courses .courses-header .hello-user {\n  font-size: 0.8rem;\n  line-height: 1.1;\n  text-decoration: none;\n  color: #373c41;\n  cursor: pointer;\n  transition: color 0.2s;\n  position: relative;\n  left: -24px;\n  width: auto;\n  display: -ms-inline-flexbox;\n  display: -webkit-inline-flex;\n  display: inline-flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: flex-start;\n  -moz-align-items: flex-start;\n  -ms-align-items: flex-start;\n  justify-content: space-between;\n  align-items: flex-start;\n}\n\n@media screen and (max-width: 650px) {\n  .courses .courses-header .hello-user {\n    left: 0;\n  }\n}\n\n.courses .courses-header .hello-user:hover {\n  color: #202325;\n}\n\n.courses .courses-header .hello-user:hover span.person {\n  opacity: 0.8;\n}\n\n.courses .courses-header .hello-user:hover p {\n  color: #373c41;\n}\n\n.courses .courses-header .hello-user span.person {\n  width: 16px;\n  height: 20px;\n  margin-right: 7px;\n  opacity: 0.5;\n}\n\n.courses .courses-header .hello-user span.person svg {\n  height: 15px;\n  width: 16px;\n  transition: opacity 0.2s;\n}\n\n.courses .courses-header .hello-user span.person svg > g > g, .courses .courses-header .hello-user span.person svg > g use {\n  fill: #373c41;\n}\n\n.courses .courses-header .hello-user h4 {\n  display: block;\n  font-size: 0.8rem;\n  font-weight: bold;\n  line-height: 1.1rem;\n  margin: 0;\n  margin-bottom: 5px;\n}\n\n.courses .courses-header .hello-user p {\n  color: #cecece;\n  font-size: 0.75rem;\n  font-weight: 600;\n  transition: color 0.2s;\n  margin: 0;\n}\n\n.courses .courses-header .general-notice {\n  display: block;\n  border: solid 1px #5E9DFF;\n  color: #313173;\n  border-radius: 5px;\n  background-color: rgba(94, 157, 255, 0.2);\n  padding: 20px;\n  max-width: 70%;\n}\n\n.courses .filters {\n  list-style: none;\n  margin-left: 0;\n  padding-left: 0;\n  border-bottom: solid 1px #D9DAE2;\n  margin-bottom: 20px;\n}\n\n@media screen and (max-width: 550px) {\n  .courses .filters {\n    display: -ms-flexbox;\n    display: -webkit-flex;\n    display: flex;\n    -webkit-justify-content: flex-start;\n    -moz-justify-content: flex-start;\n    -ms-justify-content: flex-start;\n    -webkit-align-items: center;\n    -moz-align-items: center;\n    -ms-align-items: center;\n    justify-content: flex-start;\n    align-items: center;\n    flex-wrap: wrap;\n  }\n}\n\n.courses .filters li {\n  display: inline-block;\n  font-size: 16px;\n  font-weight: 600;\n  line-height: 30px;\n  margin-bottom: 5px;\n}\n\n@media screen and (max-width: 550px) {\n  .courses .filters li {\n    padding: 0 5px;\n    display: block;\n    border: solid 1.5px #D9DAE2;\n    border-radius: 5px;\n    margin-bottom: 10px;\n    margin-right: 20px;\n  }\n}\n\n.courses .filters li + li {\n  margin-left: 7%;\n}\n\n@media screen and (max-width: 550px) {\n  .courses .filters li + li {\n    margin-left: 0;\n  }\n}\n\n.courses .filters li a {\n  color: #CECECE;\n  text-decoration: none;\n  transition: color 0.3s;\n}\n\n.courses .filters li:hover a {\n  color: #5E9DFF;\n}\n\n@media screen and (max-width: 550px) {\n  .courses .filters li.active {\n    border: solid 1.5px #5E9DFF;\n  }\n}\n\n.courses .filters li.active a {\n  color: #5E9DFF;\n  padding-bottom: 8px;\n  border-bottom: solid 1.5px #5E9DFF;\n}\n\n@media screen and (max-width: 550px) {\n  .courses .filters li.active a {\n    border-bottom: none;\n    padding-bottom: 0;\n  }\n}\n\n.courses .competence_filter {\n  display: -ms-inline-flexbox;\n  display: -webkit-inline-flex;\n  display: inline-flex;\n  -webkit-justify-content: flex-start;\n  -moz-justify-content: flex-start;\n  -ms-justify-content: flex-start;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: flex-start;\n  align-items: center;\n  border: 2px solid #CECECE;\n  border-radius: 15px;\n  padding: 5px 20px;\n  text-decoration: none;\n  color: #373c41;\n  line-height: 1.5rem;\n  margin-bottom: 20px;\n}\n\n.courses .competence_filter:hover {\n  border: 2px solid #bbbbbb;\n  background-color: #CECECE;\n  cursor: pointer;\n}\n\n.courses .competence_filter span {\n  margin-left: 10px;\n  font-size: 1.5rem;\n}\n\n.courses .courses-list {\n  display: -ms-inline-flexbox;\n  display: -webkit-inline-flex;\n  display: inline-flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: flex-start;\n  -moz-align-items: flex-start;\n  -ms-align-items: flex-start;\n  justify-content: space-between;\n  align-items: flex-start;\n  flex-wrap: wrap;\n  width: 100%;\n}\n\n.courses .courses-list .course {\n  border: 1px solid #CECECE;\n  border-radius: 15px;\n  width: 48%;\n  min-width: 350px;\n  background-color: white;\n  margin-bottom: 30px;\n  box-shadow: 5px 5px 20px 0 rgba(0, 0, 0, 0.1);\n  position: relative;\n  height: 100%;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: flex-start;\n  -moz-justify-content: flex-start;\n  -ms-justify-content: flex-start;\n  -webkit-align-items: stretch;\n  -moz-align-items: stretch;\n  -ms-align-items: stretch;\n  justify-content: flex-start;\n  align-items: stretch;\n  flex-direction: column;\n}\n\n@media screen and (max-width: 1280px) {\n  .courses .courses-list .course {\n    margin: 0 auto 30px auto;\n  }\n}\n\n@media screen and (max-width: 425px) {\n  .courses .courses-list .course {\n    min-width: auto;\n    margin: 0 auto 30px auto;\n  }\n}\n\n.courses .courses-list .course:last-child {\n  margin-right: 0;\n}\n\n@media screen and (max-width: 1280px) {\n  .courses .courses-list .course:last-child {\n    margin: 0 auto 30px auto;\n  }\n}\n\n.courses .courses-list .course:after {\n  content: '';\n  display: block;\n  position: absolute;\n  bottom: 0;\n  height: 46px;\n  width: 100%;\n  background-color: #F7F8FA;\n  border-radius: 0 0 15px 15px;\n  z-index: 0;\n}\n\n.courses .courses-list .course .course_header {\n  padding: 0 12.5%;\n  border-bottom: solid 1px #D9DAE2;\n  position: relative;\n  z-index: 1;\n}\n\n.courses .courses-list .course .course_header h5 {\n  position: absolute;\n  top: 0;\n  margin: 0;\n  padding: 7px 0;\n  text-transform: uppercase;\n  background-color: #0078ff;\n  width: 100%;\n  left: 0;\n  color: white;\n  border-radius: 5px 5px 0 0;\n  text-align: center;\n}\n\n.courses .courses-list .course .course_header h4 {\n  color: #373c41;\n  line-height: 1.5rem;\n  margin-bottom: 10px;\n  margin-top: 1.8em;\n}\n\n.courses .courses-list .course .course_header .course_properties {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: flex-start;\n  -moz-justify-content: flex-start;\n  -ms-justify-content: flex-start;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: flex-start;\n  align-items: center;\n}\n\n@media screen and (max-width: 425px) {\n  .courses .courses-list .course .course_header .course_properties {\n    display: -ms-flexbox;\n    display: -webkit-flex;\n    display: flex;\n    -webkit-justify-content: center;\n    -moz-justify-content: center;\n    -ms-justify-content: center;\n    -webkit-align-items: flex-start;\n    -moz-align-items: flex-start;\n    -ms-align-items: flex-start;\n    justify-content: center;\n    align-items: flex-start;\n    flex-direction: column;\n  }\n}\n\n.courses .courses-list .course .course_header .course_properties p {\n  margin: 0;\n  font-weight: 600;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n  -moz-justify-content: center;\n  -ms-justify-content: center;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: center;\n  align-items: center;\n}\n\n.courses .courses-list .course .course_header .course_properties p + p {\n  margin-left: 30px;\n}\n\n@media screen and (max-width: 425px) {\n  .courses .courses-list .course .course_header .course_properties p + p {\n    margin-left: 0;\n    margin-top: 10px;\n  }\n}\n\n.courses .courses-list .course .course_header .course_properties p svg {\n  margin-right: 5px;\n}\n\n.courses .courses-list .course .course_header .course_properties p svg > g > g, .courses .courses-list .course .course_header .course_properties p svg > g use {\n  fill: #04D682;\n}\n\n.courses .courses-list .course .course_header p.users {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: flex-start;\n  -moz-justify-content: flex-start;\n  -ms-justify-content: flex-start;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: flex-start;\n  align-items: center;\n  margin-bottom: 26px;\n  font-weight: 600;\n}\n\n.courses .courses-list .course .course_header p.users svg {\n  margin-right: 5px;\n}\n\n.courses .courses-list .course .course_header p.users svg > g > g, .courses .courses-list .course .course_header p.users svg > g use {\n  fill: #04D682;\n}\n\n.courses .courses-list .course .course_header a {\n  display: block;\n  padding: 10px 15px;\n  margin: 30px 0;\n  color: white;\n  font-size: 0.8rem;\n  font-weight: bold;\n  line-height: 1.1;\n  text-transform: uppercase;\n  border-radius: 3px;\n  background-color: #646464;\n  width: auto;\n  text-align: center;\n  text-decoration: none;\n  transition: background-color 0.3s;\n}\n\n.courses .courses-list .course .course_header a:hover {\n  background-color: #575757;\n}\n\n.courses .courses-list .course .course_content {\n  position: relative;\n  z-index: 1;\n  height: 100%;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: stretch;\n  -moz-align-items: stretch;\n  -ms-align-items: stretch;\n  justify-content: space-between;\n  align-items: stretch;\n  flex-direction: column;\n}\n\n.courses .courses-list .course .course_content h5, .courses .courses-list .course .course_content form {\n  padding: 0 50px;\n}\n\n.courses .courses-list .course .course_content h5 {\n  color: #517292;\n  font-size: 0.7rem;\n  font-weight: 600;\n  line-height: 0.95rem;\n  display: block;\n  width: 100%;\n  padding-bottom: 15px;\n  margin-bottom: 0;\n  border-bottom: solid 1px rgba(217, 218, 226, 0.5);\n}\n\n.courses .courses-list .course .course_content ul {\n  margin: 0;\n  padding: 0;\n  list-style: none;\n}\n\n.courses .courses-list .course .course_content ul li {\n  padding: 0 30px;\n  border-bottom: solid 1px rgba(217, 218, 226, 0.5);\n  color: #517292;\n  font-size: 0.7rem;\n  line-height: 1.5rem;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: flex-start;\n  -moz-justify-content: flex-start;\n  -ms-justify-content: flex-start;\n  -webkit-align-items: baseline;\n  -moz-align-items: baseline;\n  -ms-align-items: baseline;\n  justify-content: flex-start;\n  align-items: baseline;\n}\n\n.courses .courses-list .course .course_content ul li:before {\n  display: block;\n  content: '';\n  width: 10px;\n  height: 10px;\n  flex-shrink: 0;\n  border-radius: 999px;\n  margin-right: 10px;\n  background-color: #dadada;\n}\n\n.courses .courses-list .course .course_content ul li.unknown:before, .courses .courses-list .course .course_content ul li.missing:before {\n  background-color: #373c41;\n}\n\n.courses .courses-list .course .course_content ul li.expired:before {\n  background-color: #FE3333;\n}\n\n.courses .courses-list .course .course_content ul li.almost_expired:before {\n  background-color: #FFAC34;\n}\n\n.courses .courses-list .course .course_content ul li.valid:before {\n  background-color: #04D682;\n}\n\n.courses .courses-list .course .course_content ul li.active {\n  background-color: #F7F8FA;\n  border-left: solid 6px #5E9DFF;\n  padding-left: 24px;\n}\n\n.courses .courses-list .course .course_content ul li label {\n  display: block;\n  width: 100%;\n}\n\n.courses .courses-list .course .course_content form {\n  margin: 30px auto;\n}\n\n.courses .courses-list .course .course_content form input[type=submit] {\n  margin: 0 auto;\n  min-width: auto;\n  width: auto;\n  text-align: center;\n  background-color: #FFAC34;\n  border: none;\n  text-transform: capitalize;\n  transition: background-color 0.3s;\n}\n\n.courses .courses-list .course .course_content form input[type=submit]:hover {\n  background-color: #ffa21b;\n}\n\n.courses .courses-list .course .course_content form input[type=submit].full {\n  pointer-events: none;\n  background-color: #dadada;\n  text-decoration: line-through;\n}\n\n.courses .courses-list .course .course_content form input[type=submit].full:hover {\n  background-color: #dadada;\n}\n\n.courses .courses-list .course .course_content form input[type=submit].subscribed {\n  background-color: #0078ff;\n}\n\n.courses .courses-list .course .course_content form input[type=submit].subscribed:hover {\n  background-color: #006ce6;\n}\n\n.courses .courses-list .course .course_content form .almost_full {\n  display: block;\n  width: 100%;\n  text-align: center;\n  font-size: 0.7rem;\n  line-height: 2;\n  color: #B0B0B0;\n}\n\n.sidebar.competences {\n  position: absolute;\n  right: 0;\n  height: 100%;\n  z-index: 10;\n}\n\n.sidebar.competences h1, .sidebar.competences h2, .sidebar.competences h3 {\n  padding: 0 14%;\n}\n\n@media screen and (min-width: 1801px) {\n  .sidebar.competences h1, .sidebar.competences h2, .sidebar.competences h3 {\n    padding: 0 50px;\n  }\n}\n\n@media screen and (max-width: 900px) {\n  .sidebar.competences h1, .sidebar.competences h2, .sidebar.competences h3 {\n    padding: 0;\n  }\n}\n\n.sidebar.competences ul li {\n  padding: 0;\n}\n\n.sidebar.competences ul li a {\n  width: 60%;\n  padding: 5px 0 5px 5%;\n  display: block;\n  color: #373c41;\n  font-size: 0.6rem;\n  line-height: 1.5rem;\n  text-decoration: none;\n}\n\n.sidebar.competences ul li a:hover {\n  background-color: #F7F8FA;\n  cursor: pointer;\n}\n\n@media screen and (min-width: 1801px) {\n  .sidebar.competences ul li a {\n    padding-left: 38px;\n  }\n}\n\n@media screen and (max-width: 900px) {\n  .sidebar.competences ul li a {\n    width: 100%;\n  }\n}\n\n.sidebar.competences ul li a label {\n  font-size: 0.7rem;\n  line-height: 1.5rem;\n  font-weight: 600;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: flex-start;\n  -moz-justify-content: flex-start;\n  -ms-justify-content: flex-start;\n  -webkit-align-items: baseline;\n  -moz-align-items: baseline;\n  -ms-align-items: baseline;\n  justify-content: flex-start;\n  align-items: baseline;\n}\n\n.sidebar.competences ul li a label:hover {\n  cursor: pointer;\n}\n\n.sidebar.competences ul li a label:first-letter {\n  color: red;\n  text-transform: uppercase;\n}\n\n.sidebar.competences ul li a label:before {\n  display: block;\n  content: '';\n  width: 10px;\n  height: 10px;\n  flex-shrink: 0;\n  border-radius: 999px;\n  margin-right: 10px;\n  background-color: #dadada;\n}\n\n.sidebar.competences ul li a span {\n  color: #B0B0B0;\n  margin: 0 10px 0 20px;\n}\n\n.sidebar.competences ul li a span:hover {\n  cursor: pointer;\n}\n\n.sidebar.competences ul li.missing a label:before {\n  background-color: #373c41;\n}\n\n.sidebar.competences ul li.expired a label:before {\n  background-color: #FE3333;\n}\n\n.sidebar.competences ul li.almost_expired a label:before {\n  background-color: #FFAC34;\n}\n\n.sidebar.competences ul li.valid a label:before {\n  background-color: #04D682;\n}\n\n.sidebar.competences ul li.active a {\n  background-color: #F7F8FA;\n  border-left: solid 6px #5E9DFF;\n  padding-left: calc(5% - 6px);\n  position: relative;\n}\n\n@media screen and (min-width: 1801px) {\n  .sidebar.competences ul li.active a {\n    padding-left: 32px;\n  }\n}\n\n.sidebar.competences ul li.active a:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 100%;\n  width: 35vw;\n  height: 100%;\n  background-color: #F7F8FA;\n  z-index: 0;\n}\n\n.sidebar.competences ul li:last-of-type {\n  border-bottom: 1px solid rgba(206, 206, 206, 0.5);\n}\n\n@-webkit-keyframes showAndHide {\n  0% {\n    transform: translate3d(0, -40px, 0);\n  }\n  10% {\n    transform: translate3d(0, 0, 0);\n  }\n  90% {\n    transform: translate3d(0, 0, 0);\n  }\n  100% {\n    transform: translate3d(0, -40px, 0);\n  }\n}\n\n@-moz-keyframes showAndHide {\n  0% {\n    transform: translate3d(0, -40px, 0);\n  }\n  10% {\n    transform: translate3d(0, 0, 0);\n  }\n  90% {\n    transform: translate3d(0, 0, 0);\n  }\n  100% {\n    transform: translate3d(0, -40px, 0);\n  }\n}\n\n@keyframes showAndHide {\n  0% {\n    transform: translate3d(0, -40px, 0);\n  }\n  10% {\n    transform: translate3d(0, 0, 0);\n  }\n  90% {\n    transform: translate3d(0, 0, 0);\n  }\n  100% {\n    transform: translate3d(0, -40px, 0);\n  }\n}\n\n@supports (display: grid) {\n  .courses .courses-list {\n    display: grid;\n    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));\n    grid-column-gap: 30px;\n    grid-row-gap: 45px;\n  }\n  @media screen and (max-width: 425px) {\n    .courses .courses-list {\n      display: block;\n    }\n  }\n  .courses .courses-list .course {\n    width: 100%;\n    max-width: 450px;\n    margin: 0 auto;\n  }\n  @media screen and (max-width: 425px) {\n    .courses .courses-list .course {\n      min-width: auto;\n      margin: 0 auto 30px auto;\n    }\n  }\n  .courses .courses-list .course:last-child {\n    margin-right: auto;\n  }\n}\n\n/* ==========================================================================\n   Home page\n   @mixin ========================================================================= */\n.checkin {\n  min-height: 850px;\n  display: inline-block;\n}\n\n@media screen and (max-width: 900px) {\n  .checkin {\n    min-height: auto;\n    padding-bottom: 0;\n  }\n}\n\n.checkin h2 {\n  margin: 0;\n}\n\n.checkin .course-attributes {\n  width: auto;\n  margin-bottom: 60px;\n}\n\n.checkin .course-attributes p {\n  display: -ms-inline-flexbox;\n  display: -webkit-inline-flex;\n  display: inline-flex;\n  -webkit-justify-content: center;\n  -moz-justify-content: center;\n  -ms-justify-content: center;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: center;\n  align-items: center;\n  margin-right: 45px;\n}\n\n.checkin .course-attributes p svg {\n  margin-right: 5px;\n}\n\n.checkin .course-attributes p svg > g > g, .checkin .course-attributes p svg > g use {\n  fill: #04D682;\n}\n\n.checkin input#certificate_number {\n  display: block;\n  font-size: 0.8rem;\n  line-height: 1.1;\n  padding: 10px;\n}\n\n.checkin input#certificate_number:focus {\n  outline: none;\n}\n\n.checkin input#certificate_number::-webkit-input-placeholder {\n  opacity: 0.5;\n}\n\n.checkin input#certificate_number::-moz-placeholder {\n  opacity: 0.5;\n}\n\n.checkin input#certificate_number:-ms-input-placeholder {\n  opacity: 0.5;\n}\n\n.checkin input#certificate_number:-moz-placeholder {\n  opacity: 0.5;\n}\n\n.checkin .checkin-result {\n  width: 90%;\n  font-size: 1.5rem;\n  line-height: 1.6;\n  opacity: 0;\n  transition: opacity 1s;\n}\n\n.checkin .checkin-result.show {\n  opacity: 1;\n}\n\n.checkin .checkin-result.success {\n  color: #095d0d;\n}\n\n.checkin .checkin-result.failed {\n  color: #9a0303;\n}\n\n@media screen and (max-width: 900px) {\n  .sidebar.students {\n    background-color: transparent;\n    position: relative;\n    width: 100%;\n    height: auto;\n    display: block;\n    transform: translate3d(0, 0, 0);\n    box-shadow: none;\n  }\n}\n\n.sidebar.students h1 {\n  padding: 0 14%;\n}\n\n@media screen and (min-width: 1801px) {\n  .sidebar.students h1 {\n    padding: 0 50px;\n  }\n}\n\n@media screen and (max-width: 900px) {\n  .sidebar.students h1 {\n    position: relative;\n    word-break: normal;\n    font-size: 1.6rem;\n    width: auto;\n    margin: 0;\n    text-align: left;\n    padding: 0;\n  }\n}\n\n@media screen and (max-width: 900px) {\n  .sidebar.students h1 span.icon {\n    display: none;\n  }\n}\n\n.sidebar.students h2 {\n  padding: 0 14%;\n}\n\n@media screen and (max-width: 900px) {\n  .sidebar.students h2 {\n    padding: 0;\n  }\n}\n\n.sidebar.students ul {\n  margin-bottom: 30px;\n  max-height: 240px;\n}\n\n@media screen and (max-width: 900px) {\n  .sidebar.students ul {\n    max-height: none;\n    height: auto;\n    margin-left: 30px;\n    border-left: 0;\n  }\n}\n\n.sidebar.students ul li {\n  padding: 25px 50px;\n}\n\n.sidebar.students ul li:first-of-type, .sidebar.students ul li:last-of-type {\n  border-bottom: 0.5px solid #cecece;\n}\n\n.sidebar.students ul li p {\n  color: #373c41;\n  font-weight: 600;\n  margin-bottom: 1.5em;\n}\n\n.sidebar.students ul li p.value {\n  font-weight: normal;\n  color: #98a0b3;\n  margin-bottom: 0.375em;\n}\n\n.sidebar.students ul#presentUsers li {\n  position: relative;\n  color: #80ae4f;\n}\n\n.sidebar.students ul#presentUsers li:before {\n  content: '\\2713';\n  position: absolute;\n  left: 18px;\n  font-size: 2rem;\n  top: 0.4rem;\n  transform: rotate(-5deg);\n}\n\n.sidebar.students ul#subscribedUsers li {\n  position: relative;\n}\n\n.sidebar.students ul#subscribedUsers li:before {\n  content: '?';\n  position: absolute;\n  left: 18px;\n  font-size: 2rem;\n  top: 0.4rem;\n}\n\n#error-page-message {\n  padding: 100px 0 100px;\n  background-color: #eaeaea;\n}\n\n#error-page-message .grid-row .kms-content {\n  width: 100%;\n  text-align: center;\n}\n\n#error-page-message .grid-row .placeholder {\n  max-width: 720px;\n  margin: auto;\n}\n\n/*==========================================================================\n  Sitemap page\n  @mixin ========================================================================= */\n.sitemap ul {\n  padding-left: 40px;\n  padding-bottom: 20px;\n  font-size: 0.85em;\n}\n\n.sitemap > ul {\n  padding-left: 20px;\n}\n\n.sitemap li:before {\n  top: 6px;\n}\n\n.sitemap li a {\n  padding: 3px 0;\n  border-bottom-color: transparent;\n  border-bottom-style: dotted;\n  display: block;\n}\n\n.sitemap li a:hover {\n  border-bottom-color: rgba(35, 40, 45, 0.4);\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3N0eWxlLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL19nbG9iYWwuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvX2NvbmZpZy5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL19ib3VyYm9uLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vc2V0dGluZ3MvX3ByZWZpeGVyLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vc2V0dGluZ3MvX3B4LXRvLWVtLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vc2V0dGluZ3MvX2Fzc2V0LXBpcGVsaW5lLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vaGVscGVycy9fY29udmVydC11bml0cy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2hlbHBlcnMvX2ZvbnQtc291cmNlLWRlY2xhcmF0aW9uLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vaGVscGVycy9fZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlci5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2hlbHBlcnMvX2lzLW51bS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1hbmdsZS1wYXJzZXIuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9oZWxwZXJzL19saW5lYXItZ3JhZGllbnQtcGFyc2VyLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vaGVscGVycy9fbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9oZWxwZXJzL19saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vaGVscGVycy9fcmFkaWFsLWFyZy1wYXJzZXIuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9oZWxwZXJzL19yYWRpYWwtcG9zaXRpb25zLXBhcnNlci5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2hlbHBlcnMvX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9oZWxwZXJzL19yZW5kZXItZ3JhZGllbnRzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vaGVscGVycy9fc2hhcGUtc2l6ZS1zdHJpcHBlci5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2hlbHBlcnMvX3N0ci10by1udW0uc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9mdW5jdGlvbnMvX2Fzc2lnbi5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2Z1bmN0aW9ucy9fY29sb3ItbGlnaHRuZXNzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vZnVuY3Rpb25zL19jb250YWlucy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2Z1bmN0aW9ucy9faXMtbGVuZ3RoLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vZnVuY3Rpb25zL19pcy1zaXplLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vZnVuY3Rpb25zL19weC10by1lbS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2Z1bmN0aW9ucy9fcHgtdG8tcmVtLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vZnVuY3Rpb25zL19zdHJpcC11bml0cy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2Z1bmN0aW9ucy9fdGludC1zaGFkZS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2Z1bmN0aW9ucy9fdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vZnVuY3Rpb25zL191bnBhY2suc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9mdW5jdGlvbnMvX21vZHVsYXItc2NhbGUuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9jc3MzL19hbmltYXRpb24uc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9jc3MzL19hcHBlYXJhbmNlLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fYmFja2ZhY2UtdmlzaWJpbGl0eS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX2JhY2tncm91bmQuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9jc3MzL19iYWNrZ3JvdW5kLWltYWdlLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fYm9yZGVyLWltYWdlLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX2JveC1zaXppbmcuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9jc3MzL19jYWxjLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fY29sdW1ucy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX2ZpbHRlci5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX2ZsZXgtYm94LnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fZm9udC1mYWNlLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fZm9udC1mZWF0dXJlLXNldHRpbmdzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9faGlkcGktbWVkaWEtcXVlcnkuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9jc3MzL19oeXBoZW5zLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9faW1hZ2UtcmVuZGVyaW5nLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fa2V5ZnJhbWVzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fbGluZWFyLWdyYWRpZW50LnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fcGVyc3BlY3RpdmUuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9jc3MzL19wbGFjZWhvbGRlci5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX3JhZGlhbC1ncmFkaWVudC5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX3NlbGVjdGlvbi5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX3RleHQtZGVjb3JhdGlvbi5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX3RyYW5zZm9ybS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX3RyYW5zaXRpb24uc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9jc3MzL191c2VyLXNlbGVjdC5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2FkZG9ucy9fY2xlYXJmaXguc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9hZGRvbnMvX2RpcmVjdGlvbmFsLXZhbHVlcy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2FkZG9ucy9fZWxsaXBzaXMuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9hZGRvbnMvX2ZvbnQtZmFtaWx5LnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vYWRkb25zL19oaWRlLXRleHQuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9hZGRvbnMvX2h0bWw1LWlucHV0LXR5cGVzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vYWRkb25zL19wb3NpdGlvbi5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2FkZG9ucy9fcHJlZml4ZXIuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9hZGRvbnMvX3JldGluYS1pbWFnZS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2FkZG9ucy9fc2l6ZS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2FkZG9ucy9fdGltaW5nLWZ1bmN0aW9ucy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2FkZG9ucy9fdHJpYW5nbGUuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9hZGRvbnMvX3dvcmQtd3JhcC5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL19ib3VyYm9uLWRlcHJlY2F0ZWQtdXBjb21pbmcuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvZnVuY3Rpb25zL19mdW5jdGlvbnMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvZnVuY3Rpb25zL19mb250cy5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9mdW5jdGlvbnMvX2dyaWQuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvbWl4aW5zL19taXhpbnMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvbWl4aW5zL19zcHJpdGUuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvbWl4aW5zL19tZWRpYVF1ZXJpZXMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvbWl4aW5zL19mbGV4LnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL21peGlucy9fcGxhY2Vob2xkZXIuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvX2Jhc2Uuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvZ3JpZC9fZ3JpZHMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvZ3JpZC9fZ3JpZC5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ncmlkL192aXNpYmxlR3JpZC5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9wYXJ0aWFscy9fYnJlYWtwb2ludHMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL19jb25maWcuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL19iYXNlLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9faGVscGVycy5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvbWl4aW5zL19taXhpbnMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL21peGlucy9fY29va2llU3ByaXRlLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9fcGFydGlhbHMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL19oZWFkZXIuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL19mb290ZXIuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL19zaG9wcGluZ0NhcnQuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL19rbXNDb250ZW50LnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9fZm9ybS5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvX2ltYWdlU2xpZGVyLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9fY29va2llTWVzc2FnZS5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvX2Nvb2tpZVN3aXRjaC5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvZHluYW1pYy9fZHluYW1pYy5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvZHluYW1pYy9fdHdvVGV4dENvbHVtbi5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvZHluYW1pYy9fZnVsbEltYWdlQ29sdW1uLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9keW5hbWljL19jb250ZW50QmxvY2suc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL2R5bmFtaWMvX211bHRpcGxlSW1hZ2VzLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9keW5hbWljL19mdWxsVGV4dEJsb2NrLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9keW5hbWljL192aWRlb0Jsb2NrLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9tb2JpbGUvX21vYmlsZS5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvbW9iaWxlL19uYXZpZ2F0aW9uLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9tb2JpbGUvX2NvbnRhY3Quc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL21vYmlsZS9fc3RpY2t5TmF2aWdhdGlvbi5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvX2JhY2tUb0VIQk8uc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhZ2VzL19wYWdlcy5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFnZXMvX2hvbWUuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhZ2VzL3Bvc3RzL19wb3N0cy5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFnZXMvcG9zdHMvX2luZGV4LnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYWdlcy9wb3N0cy9fc2hvdy5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFnZXMvX2NvbnRhY3Quc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhZ2VzL19sb2dpbi5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFnZXMvX3JlZ2lzdGVyLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYWdlcy9fcGVyc29uYWwuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhZ2VzL19jb3Vyc2VzLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYWdlcy9fY2hlY2tpbi5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFnZXMvX2Vycm9yLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYWdlcy9fc2l0ZW1hcC5zYXNzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIExvYWQgZGVmYXVsdCBzZXR0aW5ncyBhbmQgc3R5bGluZ1xuQGltcG9ydCBcIi4uL2dsb2JhbC9nbG9iYWxcIjtcblxuLy8gRXhwZW5kL292ZXJydWxlIGNvbmZpZ3VyYXRpb25cbkBpbXBvcnQgXCJjb25maWdcIjtcbkBpbXBvcnQgXCJiYXNlXCI7XG5AaW1wb3J0IFwiaGVscGVyc1wiO1xuQGltcG9ydCBcIm1peGlucy9taXhpbnNcIjtcblxuXG4vLyBMb2FkIGZpbGVzIHRoYXQgd3JpdGUgY3NzXG5AaW1wb3J0IFwicGFydGlhbHMvcGFydGlhbHNcIjtcbkBpbXBvcnQgXCJwYWdlcy9wYWdlc1wiO1xuIiwiLy8gTG9hZCBkZWZhdWx0IGNvbmZpZ3VyYXRpb25cbkBpbXBvcnQgXCJjb25maWdcIjtcblxuLy8gTG9hZCBCb3VyYm9uXG5AaW1wb3J0IFwiYm91cmJvbi9ib3VyYm9uXCI7XG5cbi8vIExvYWQgZGVmYXVsdCBjb25maWd1cmF0aW9uXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIm1peGlucy9taXhpbnNcIjtcbkBpbXBvcnQgXCJiYXNlXCI7XG5cbi8vIExvYWQgZ3JpZHNcbkBpbXBvcnQgXCJncmlkL2dyaWRzXCI7XG5cbi8vIExvYWQgYnJlYWtwb2ludHNcbkBpbXBvcnQgXCJwYXJ0aWFscy9icmVha3BvaW50c1wiO1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbmZpZyBzZXR0aW5nc1xuICAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogRGVmaW5lIGdyaWQgY29sdW1uc1xuICpcbiAqIFRoZSBpbm5lciBncmlkIGlzIHRoZSBzZWN0aW9uIHdoZXJlIHRoZSBjb250ZW50IGlzXG4gKiBUaGUgb3V0ZXIgZ3JpZCBpcyB0aGUgaW5uZXIgZ3JpZCB3aXRoIGV4dHJhIG1hcmdpbiBjb2x1bW5zIG9uIGVhY2ggc2lkZVxuICovXG4kZ3JpZENvbHVtbnMgOiAxNDtcbiRncmlkTWF4V2lkdGggOiAxNjgwcHg7XG5cbi8qKlxuICogRGVmaW5lIGJyZWFrcG9pbnQgZm9yIGdpdmVuIGZvcm1hdHNcbiAqL1xuJHhsR3JpZEJyZWFrcG9pbnQ6IDE2MDA7XG4kbGdHcmlkQnJlYWtwb2ludDogMTM2NjtcbiRtZEdyaWRCcmVha3BvaW50OiAxMDgwO1xuJHNtR3JpZEJyZWFrcG9pbnQ6IDc2ODtcbiR4c0dyaWRCcmVha3BvaW50OiA0MDA7XG4iLCIvKiBCb3VyYm9uIDQuMC4yXG4gKiBodHRwOi8vYm91cmJvbi5pb1xuICogQ29weXJpZ2h0IDIwMTEtMjAxNCB0aG91Z2h0Ym90LCBpbmMuXG4gKiBNSVQgTGljZW5zZSAqL1xuXG4vLyBTZXR0aW5nc1xuQGltcG9ydCBcInNldHRpbmdzL3ByZWZpeGVyXCI7XG5AaW1wb3J0IFwic2V0dGluZ3MvcHgtdG8tZW1cIjtcbkBpbXBvcnQgXCJzZXR0aW5ncy9hc3NldC1waXBlbGluZVwiO1xuXG4vLyBDdXN0b20gSGVscGVyc1xuQGltcG9ydCBcImhlbHBlcnMvY29udmVydC11bml0c1wiO1xuQGltcG9ydCBcImhlbHBlcnMvZm9udC1zb3VyY2UtZGVjbGFyYXRpb25cIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2lzLW51bVwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWFuZ2xlLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWdyYWRpZW50LXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1hcmctcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLWdyYWRpZW50LXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmVuZGVyLWdyYWRpZW50c1wiO1xuQGltcG9ydCBcImhlbHBlcnMvc2hhcGUtc2l6ZS1zdHJpcHBlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvc3RyLXRvLW51bVwiO1xuXG4vLyBDdXN0b20gRnVuY3Rpb25zXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2Fzc2lnblwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jb2xvci1saWdodG5lc3NcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvY29udGFpbnNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbGVuZ3RoXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLXNpemVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tZW1cIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tcmVtXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3N0cmlwLXVuaXRzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3RpbnQtc2hhZGVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3VucGFja1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9tb2R1bGFyLXNjYWxlXCI7XG5cbi8vIENTUzMgTWl4aW5zXG5AaW1wb3J0IFwiY3NzMy9hbmltYXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL2FwcGVhcmFuY2VcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tmYWNlLXZpc2liaWxpdHlcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmRcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmQtaW1hZ2VcIjtcbkBpbXBvcnQgXCJjc3MzL2JvcmRlci1pbWFnZVwiO1xuQGltcG9ydCBcImNzczMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcImNzczMvYm94LXNpemluZ1wiO1xuQGltcG9ydCBcImNzczMvY2FsY1wiO1xuQGltcG9ydCBcImNzczMvY29sdW1uc1wiO1xuQGltcG9ydCBcImNzczMvZmlsdGVyXCI7XG5AaW1wb3J0IFwiY3NzMy9mbGV4LWJveFwiO1xuQGltcG9ydCBcImNzczMvZm9udC1mYWNlXCI7XG5AaW1wb3J0IFwiY3NzMy9mb250LWZlYXR1cmUtc2V0dGluZ3NcIjtcbkBpbXBvcnQgXCJjc3MzL2hpZHBpLW1lZGlhLXF1ZXJ5XCI7XG5AaW1wb3J0IFwiY3NzMy9oeXBoZW5zXCI7XG5AaW1wb3J0IFwiY3NzMy9pbWFnZS1yZW5kZXJpbmdcIjtcbkBpbXBvcnQgXCJjc3MzL2tleWZyYW1lc1wiO1xuQGltcG9ydCBcImNzczMvbGluZWFyLWdyYWRpZW50XCI7XG5AaW1wb3J0IFwiY3NzMy9wZXJzcGVjdGl2ZVwiO1xuQGltcG9ydCBcImNzczMvcGxhY2Vob2xkZXJcIjtcbkBpbXBvcnQgXCJjc3MzL3JhZGlhbC1ncmFkaWVudFwiO1xuQGltcG9ydCBcImNzczMvc2VsZWN0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy90ZXh0LWRlY29yYXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL3RyYW5zZm9ybVwiO1xuQGltcG9ydCBcImNzczMvdHJhbnNpdGlvblwiO1xuQGltcG9ydCBcImNzczMvdXNlci1zZWxlY3RcIjtcblxuLy8gQWRkb25zICYgb3RoZXIgbWl4aW5zXG5AaW1wb3J0IFwiYWRkb25zL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwiYWRkb25zL2RpcmVjdGlvbmFsLXZhbHVlc1wiO1xuQGltcG9ydCBcImFkZG9ucy9lbGxpcHNpc1wiO1xuQGltcG9ydCBcImFkZG9ucy9mb250LWZhbWlseVwiO1xuQGltcG9ydCBcImFkZG9ucy9oaWRlLXRleHRcIjtcbkBpbXBvcnQgXCJhZGRvbnMvaHRtbDUtaW5wdXQtdHlwZXNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvcG9zaXRpb25cIjtcbkBpbXBvcnQgXCJhZGRvbnMvcHJlZml4ZXJcIjtcbkBpbXBvcnQgXCJhZGRvbnMvcmV0aW5hLWltYWdlXCI7XG5AaW1wb3J0IFwiYWRkb25zL3NpemVcIjtcbkBpbXBvcnQgXCJhZGRvbnMvdGltaW5nLWZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcImFkZG9ucy90cmlhbmdsZVwiO1xuQGltcG9ydCBcImFkZG9ucy93b3JkLXdyYXBcIjtcblxuLy8gU29vbiB0byBiZSBkZXByZWNhdGVkIE1peGluc1xuQGltcG9ydCBcImJvdXJib24tZGVwcmVjYXRlZC11cGNvbWluZ1wiO1xuIiwiLy8gVmFyaWFibGUgc2V0dGluZ3MgZm9yIC9hZGRvbnMvcHJlZml4ZXIuc2Nzc1xuJHByZWZpeC1mb3Itd2Via2l0OiAgICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3ItbW96aWxsYTogICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3ItbWljcm9zb2Z0OiB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3Itb3BlcmE6ICAgICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3Itc3BlYzogICAgICB0cnVlICFkZWZhdWx0OyAvLyByZXF1aXJlZCBmb3Iga2V5ZnJhbWUgbWl4aW5cbiIsIiRlbS1iYXNlOiAxNnB4ICFkZWZhdWx0O1xuIiwiJGFzc2V0LXBpcGVsaW5lOiBmYWxzZSAhZGVmYXVsdDtcbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEhlbHBlciBmdW5jdGlvbiBmb3Igc3RyLXRvLW51bSBmbi5cbi8vIFNvdXJjZTogaHR0cDovL3Nhc3NtZWlzdGVyLmNvbS9naXN0Lzk2NDc0MDhcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiBfY29udmVydC11bml0cygkbnVtYmVyLCAkdW5pdCkge1xuICAkc3RyaW5nczogJ3B4JyAnY20nICdtbScgJyUnICdjaCcgJ3BpY2EnICdpbicgJ2VtJyAncmVtJyAncHQnICdwYycgJ2V4JyAndncnICd2aCcgJ3ZtaW4nICd2bWF4JywgJ2RlZycsICdyYWQnLCAnZ3JhZCcsICd0dXJuJztcbiAgJHVuaXRzOiAgIDFweCAgMWNtICAxbW0gIDElICAxY2ggIDFwaWNhICAxaW4gIDFlbSAgMXJlbSAgMXB0ICAxcGMgIDFleCAgMXZ3ICAxdmggIDF2bWluICAxdm1heCwgIDFkZWcsICAxcmFkLCAgMWdyYWQsIDF0dXJuO1xuICAkaW5kZXg6IGluZGV4KCRzdHJpbmdzLCAkdW5pdCk7XG5cbiAgQGlmIG5vdCAkaW5kZXgge1xuICAgIEB3YXJuIFwiVW5rbm93biB1bml0IGAjeyR1bml0fWAuXCI7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuICBAcmV0dXJuICRudW1iZXIgKiBudGgoJHVuaXRzLCAkaW5kZXgpO1xufVxuIiwiLy8gVXNlZCBmb3IgY3JlYXRpbmcgdGhlIHNvdXJjZSBzdHJpbmcgZm9yIGZvbnRzIHVzaW5nIEBmb250LWZhY2VcblxuQGZ1bmN0aW9uIGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSkge1xuICBAaWYgJGFzc2V0LXBpcGVsaW5lID09IHRydWUge1xuICAgIEByZXR1cm4gZm9udC11cmw7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gdXJsO1xuICB9XG59XG5cbkBmdW5jdGlvbiBmb250LXNvdXJjZS1kZWNsYXJhdGlvbihcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkYXNzZXQtcGlwZWxpbmUsXG4gICRmaWxlLWZvcm1hdHMsXG4gICRmb250LXVybCkge1xuXG4gICRzcmM6IG51bGw7XG5cbiAgJGZvcm1hdHMtbWFwOiAoXG4gICAgZW90OiAgXCIjeyRmb250LXVybH0oJyN7JGZpbGUtcGF0aH0uZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKVwiLFxuICAgIHdvZmYyOiBcIiN7JGZvbnQtdXJsfSgnI3skZmlsZS1wYXRofS53b2ZmMicpIGZvcm1hdCgnd29mZjInKVwiLFxuICAgIHdvZmY6IFwiI3skZm9udC11cmx9KCcjeyRmaWxlLXBhdGh9LndvZmYnKSBmb3JtYXQoJ3dvZmYnKVwiLFxuICAgIHR0ZjogIFwiI3skZm9udC11cmx9KCcjeyRmaWxlLXBhdGh9LnR0ZicpIGZvcm1hdCgndHRmJylcIixcbiAgICBzdmc6ICBcIiN7JGZvbnQtdXJsfSgnI3skZmlsZS1wYXRofS5zdmcjI3skZm9udC1mYW1pbHl9JykgZm9ybWF0KCdzdmcnKVwiXG4gICk7XG5cbiAgQGVhY2ggJGZvcm1hdCwgJGZpbGUtcGF0aCBpbiAkZm9ybWF0cy1tYXAge1xuICAgIEBpZiBjb250YWlucygkZmlsZS1mb3JtYXRzLCAkZm9ybWF0KSB7XG4gICAgICAkc3JjOiBhcHBlbmQoJHNyYywgJGZpbGUtcGF0aCwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHNyYztcbn1cbiIsIkBmdW5jdGlvbiBfZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtdHlwZSwgJGdyYWRpZW50LXBvc2l0aW9ucykge1xuICBAaWYgJGdyYWRpZW50LXBvc2l0aW9uc1xuICBhbmQgKCRncmFkaWVudC10eXBlID09IGxpbmVhcilcbiAgYW5kICh0eXBlLW9mKCRncmFkaWVudC1wb3NpdGlvbnMpICE9IGNvbG9yKSB7XG4gICAgJGdyYWRpZW50LXBvc2l0aW9uczogX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3NpdGlvbnMpO1xuICB9XG4gIEBlbHNlIGlmICRncmFkaWVudC1wb3NpdGlvbnNcbiAgYW5kICgkZ3JhZGllbnQtdHlwZSA9PSByYWRpYWwpXG4gIGFuZCAodHlwZS1vZigkZ3JhZGllbnQtcG9zaXRpb25zKSAhPSBjb2xvcikge1xuICAgICRncmFkaWVudC1wb3NpdGlvbnM6IF9yYWRpYWwtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zaXRpb25zKTtcbiAgfVxuICBAcmV0dXJuICRncmFkaWVudC1wb3NpdGlvbnM7XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBIZWxwZXIgZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiBfaXMtbnVtKCRjaGFyKSB7XG4gICR2YWx1ZXM6ICcwJyAnMScgJzInICczJyAnNCcgJzUnICc2JyAnNycgJzgnICc5JyAwIDEgMiAzIDQgNSA2IDcgOCA5O1xuICAkaW5kZXg6IGluZGV4KCR2YWx1ZXMsICRjaGFyKTtcbiAgQHJldHVybiBpZigkaW5kZXgsIHRydWUsIGZhbHNlKTtcbn1cbiIsIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbkBmdW5jdGlvbiBfbGluZWFyLWFuZ2xlLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgpIHtcbiAgJG9mZnNldDogbnVsbDtcbiAgJHVuaXQtc2hvcnQ6ICBzdHItc2xpY2UoJGZpcnN0LXZhbCwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSAtIDIsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAkdW5pdC1sb25nOiAgIHN0ci1zbGljZSgkZmlyc3QtdmFsLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpIC0gMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG5cbiAgQGlmICgkdW5pdC1sb25nID09IFwiZ3JhZFwiKSBvclxuICAgICAgKCR1bml0LWxvbmcgPT0gXCJ0dXJuXCIpIHtcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1sb25nID09IFwiZ3JhZFwiLCAtMTAwZ3JhZCAqIDMsIC0wLjc1dHVybik7XG4gIH1cblxuICBAZWxzZSBpZiAoJHVuaXQtc2hvcnQgPT0gXCJkZWdcIikgb3JcbiAgICAgICAgICAgKCR1bml0LXNob3J0ID09IFwicmFkXCIpIHtcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1zaG9ydCA9PSBcImRlZ1wiLCAtOTAgKiAzLCAxLjZyYWQpO1xuICB9XG5cbiAgQGlmICRvZmZzZXQge1xuICAgICRudW06IF9zdHItdG8tbnVtKCRmaXJzdC12YWwpO1xuXG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICgkb2Zmc2V0IC0gJG51bSkgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxufVxuIiwiQGZ1bmN0aW9uIF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcbiAgJGdyYWRpZW50czogKCk7XG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcblxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAwLCAkc3RhcnQpO1xuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xuXG4gICRoYXMtbXVsdGlwbGUtdmFsczogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiIFwiKTtcbiAgJGhhcy1zaW5nbGUtcG9zaXRpb246IHVucXVvdGUoX3Bvc2l0aW9uLWZsaXBwZXIoJGZpcnN0LXZhbCkgKyBcIlwiKTtcbiAgJGhhcy1hbmdsZTogX2lzLW51bShzdHItc2xpY2UoJGZpcnN0LXZhbCwgMCwgMCkpO1xuXG4gIEBpZiAkaGFzLW11bHRpcGxlLXZhbHMge1xuICAgICRncmFkaWVudHM6IF9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCwgJGhhcy1tdWx0aXBsZS12YWxzKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRoYXMtc2luZ2xlLXBvc2l0aW9uICE9IFwiXCIge1xuICAgICRwb3M6IHVucXVvdGUoJGhhcy1zaW5nbGUtcG9zaXRpb24gKyBcIlwiKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkcHJlZml4ICsgXCJ0byBcIiArICRwb3MgKyAkc3VmZml4XG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRoYXMtYW5nbGUge1xuICAgIC8vIFJvdGF0ZSBkZWdyZWUgZm9yIHdlYmtpdFxuICAgICRncmFkaWVudHM6IF9saW5lYXItYW5nbGUtcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCk7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICBAcmV0dXJuICRncmFkaWVudHM7XG59XG4iLCJAZnVuY3Rpb24gX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRwb3MpIHtcbiAgJHR5cGU6IHR5cGUtb2YobnRoKCRwb3MsIDEpKTtcbiAgJHNwZWM6IG51bGw7XG4gICRkZWdyZWU6IG51bGw7XG4gICRzaWRlOiBudWxsO1xuICAkY29ybmVyOiBudWxsO1xuICAkbGVuZ3RoOiBsZW5ndGgoJHBvcyk7XG4gIC8vIFBhcnNlIFNpZGUgYW5kIGNvcm5lciBwb3NpdGlvbnNcbiAgQGlmICgkbGVuZ3RoID4gMSkge1xuICAgIEBpZiBudGgoJHBvcywgMSkgPT0gXCJ0b1wiIHsgLy8gTmV3ZXIgc3ludGF4XG4gICAgICAkc2lkZTogbnRoKCRwb3MsIDIpO1xuXG4gICAgICBAaWYgJGxlbmd0aCA9PSAyIHsgLy8gZWcuIHRvIHRvcFxuICAgICAgICAvLyBTd2FwIGZvciBiYWNrd2FyZHMgY29tcGF0YWJpbGl0eVxuICAgICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMikpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJGxlbmd0aCA9PSAzIHsgLy8gZWcuIHRvIHRvcCBsZWZ0XG4gICAgICAgICRjb3JuZXI6IG50aCgkcG9zLCAzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJGxlbmd0aCA9PSAyIHsgLy8gT2xkZXIgc3ludGF4IChcInRvcCBsZWZ0XCIpXG4gICAgICAkc2lkZTogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDEpKTtcbiAgICAgICRjb3JuZXI6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAyKSk7XG4gICAgfVxuXG4gICAgQGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImxlZnQgdG9wXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInRvcCBsZWZ0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwicmlnaHQgdG9wXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInRvcCByaWdodFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInJpZ2h0IGJvdHRvbVwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJib3R0b20gcmlnaHRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJsZWZ0IGJvdHRvbVwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJib3R0b20gbGVmdFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgICRzcGVjOiB0byAkc2lkZSAkY29ybmVyO1xuICB9XG4gIEBlbHNlIGlmICRsZW5ndGggPT0gMSB7XG4gICAgLy8gU3dhcCBmb3IgYmFja3dhcmRzIGNvbXBhdGFiaWxpdHlcbiAgICBAaWYgJHR5cGUgPT0gc3RyaW5nIHtcbiAgICAgICRkZWdyZWU6ICRwb3M7XG4gICAgICAkc3BlYzogdG8gX3Bvc2l0aW9uLWZsaXBwZXIoJHBvcyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRkZWdyZWU6IC0yNzAgLSAkcG9zOyAvL3JvdGF0ZSB0aGUgZ3JhZGllbnQgb3Bwb3NpdGUgZnJvbSBzcGVjXG4gICAgICAkc3BlYzogJHBvcztcbiAgICB9XG4gIH1cbiAgJGRlZ3JlZTogdW5xdW90ZSgkZGVncmVlICsgXCIsXCIpO1xuICAkc3BlYzogICB1bnF1b3RlKCRzcGVjICsgXCIsXCIpO1xuICBAcmV0dXJuICRkZWdyZWUgJHNwZWM7XG59XG5cbkBmdW5jdGlvbiBfcG9zaXRpb24tZmxpcHBlcigkcG9zKSB7XG4gQHJldHVybiBpZigkcG9zID09IGxlZnQsIHJpZ2h0LCBudWxsKVxuICAgICAgICAgaWYoJHBvcyA9PSByaWdodCwgbGVmdCwgbnVsbClcbiAgICAgICAgIGlmKCRwb3MgPT0gdG9wLCBib3R0b20sIG51bGwpXG4gICAgICAgICBpZigkcG9zID09IGJvdHRvbSwgdG9wLCBudWxsKTtcbn1cbiIsIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbkBmdW5jdGlvbiBfbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgsICRoYXMtbXVsdGlwbGUtdmFscykge1xuICAkdmFsLTE6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAwLCAkaGFzLW11bHRpcGxlLXZhbHMgLSAxICk7XG4gICR2YWwtMjogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRoYXMtbXVsdGlwbGUtdmFscyArIDEsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAkdmFsLTM6IG51bGw7XG4gICRoYXMtdmFsLTM6IHN0ci1pbmRleCgkdmFsLTIsIFwiIFwiKTtcblxuICBAaWYgJGhhcy12YWwtMyB7XG4gICAgJHZhbC0zOiBzdHItc2xpY2UoJHZhbC0yLCAkaGFzLXZhbC0zICsgMSwgc3RyLWxlbmd0aCgkdmFsLTIpKTtcbiAgICAkdmFsLTI6IHN0ci1zbGljZSgkdmFsLTIsIDAsICRoYXMtdmFsLTMgLSAxKTtcbiAgfVxuXG4gICRwb3M6IF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMSkgX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0yKSBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTMpO1xuICAkcG9zOiB1bnF1b3RlKCRwb3MgKyBcIlwiKTtcblxuICAvLyBVc2Ugb2xkIHNwZWMgZm9yIHdlYmtpdFxuICBAaWYgJHZhbC0xID09IFwidG9cIiB7XG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBjb2RlIHVwIHRvIHNwZWNcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcbiAgICApO1xuICB9XG59XG4iLCJAZnVuY3Rpb24gX3JhZGlhbC1hcmctcGFyc2VyKCRHMSwgJEcyLCAkcG9zLCAkc2hhcGUtc2l6ZSkge1xuICBAZWFjaCAkdmFsdWUgaW4gJEcxLCAkRzIge1xuICAgICRmaXJzdC12YWw6IG50aCgkdmFsdWUsIDEpO1xuICAgICRwb3MtdHlwZTogIHR5cGUtb2YoJGZpcnN0LXZhbCk7XG4gICAgJHNwZWMtYXQtaW5kZXg6IG51bGw7XG5cbiAgICAvLyBEZXRlcm1pbmUgaWYgc3BlYyB3YXMgcGFzc2VkIHRvIG1peGluXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBsaXN0IHtcbiAgICAgICRzcGVjLWF0LWluZGV4OiBpZihpbmRleCgkdmFsdWUsIGF0KSwgaW5kZXgoJHZhbHVlLCBhdCksIGZhbHNlKTtcbiAgICB9XG4gICAgQGlmICRzcGVjLWF0LWluZGV4IHtcbiAgICAgIEBpZiAkc3BlYy1hdC1pbmRleCA+IDEge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICgkc3BlYy1hdC1pbmRleCAtIDEpIHtcbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHNoYXBlLXNpemUgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHNwZWMtYXQtaW5kZXggPT0gMSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJEcxOiBudWxsO1xuICAgIH1cblxuICAgIC8vIElmIG5vdCBzcGVjIGNhbGN1bGF0ZSBjb3JyZWN0IHZhbHVlc1xuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAoJHBvcy10eXBlICE9IGNvbG9yKSBvciAoJGZpcnN0LXZhbCAhPSBcInRyYW5zcGFyZW50XCIpIHtcbiAgICAgICAgQGlmICgkcG9zLXR5cGUgPT0gbnVtYmVyKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNlbnRlclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInRvcFwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInJpZ2h0XCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiYm90dG9tXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwibGVmdFwiKSB7XG5cbiAgICAgICAgICAkcG9zOiAkdmFsdWU7XG5cbiAgICAgICAgICBAaWYgJHBvcyA9PSAkRzEge1xuICAgICAgICAgICAgJEcxOiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIGlmXG4gICAgICAgICAgICgkZmlyc3QtdmFsID09IFwiZWxsaXBzZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNpcmNsZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3Qtc2lkZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3QtY29ybmVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3Qtc2lkZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImZhcnRoZXN0LWNvcm5lclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvbnRhaW5cIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjb3ZlclwiKSB7XG5cbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHZhbHVlO1xuXG4gICAgICAgICAgQGlmICR2YWx1ZSA9PSAkRzEge1xuICAgICAgICAgICAgJEcxOiBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlbHNlIGlmICR2YWx1ZSA9PSAkRzIge1xuICAgICAgICAgICAgJEcyOiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAcmV0dXJuICRHMSwgJEcyLCAkcG9zLCAkc2hhcGUtc2l6ZTtcbn1cbiIsIkBmdW5jdGlvbiBfcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvcykge1xuICAkc2hhcGUtc2l6ZTogbnRoKCRncmFkaWVudC1wb3MsIDEpO1xuICAkcG9zOiAgICAgICAgbnRoKCRncmFkaWVudC1wb3MsIDIpO1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSk7XG5cbiAgJHByZS1zcGVjOiB1bnF1b3RlKGlmKCRwb3MsIFwiI3skcG9zfSwgXCIsIG51bGwpKVxuICAgICAgICAgICAgIHVucXVvdGUoaWYoJHNoYXBlLXNpemUsIFwiI3skc2hhcGUtc2l6ZX0sXCIsIG51bGwpKTtcbiAgJHBvcy1zcGVjOiBpZigkcG9zLCBcImF0ICN7JHBvc31cIiwgbnVsbCk7XG5cbiAgJHNwZWM6IFwiI3skc2hhcGUtc2l6ZS1zcGVjfSAjeyRwb3Mtc3BlY31cIjtcblxuICAvLyBBZGQgY29tbWFcbiAgQGlmICgkc3BlYyAhPSAnICAnKSB7XG4gICAgJHNwZWM6IFwiI3skc3BlY30sXCJcbiAgfVxuXG4gIEByZXR1cm4gJHByZS1zcGVjICRzcGVjO1xufVxuIiwiQGZ1bmN0aW9uIF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcbiAgJGdyYWRpZW50czogKCk7XG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcblxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAwLCAkc3RhcnQpO1xuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xuXG4gICRpcy1zcGVjLXN5bnRheDogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiYXRcIik7XG5cbiAgQGlmICRpcy1zcGVjLXN5bnRheCBhbmQgJGlzLXNwZWMtc3ludGF4ID4gMSB7XG4gICAgJGtleXdvcmQ6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAkaXMtc3BlYy1zeW50YXggLSAyKTtcbiAgICAkcG9zOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGlzLXNwZWMtc3ludGF4ICsgMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICAgJHBvczogYXBwZW5kKCRwb3MsICRrZXl3b3JkLCBjb21tYSk7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKVxuICB9XG5cbiAgQGVsc2UgaWYgJGlzLXNwZWMtc3ludGF4ID09IDEge1xuICAgICRwb3M6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaXMtc3BlYy1zeW50YXggKyAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApXG4gIH1cblxuICBAZWxzZSBpZiBzdHItaW5kZXgoJGltYWdlLCBcImNvdmVyXCIpIG9yIHN0ci1pbmRleCgkaW1hZ2UsIFwiY29udGFpblwiKSB7XG4gICAgQHdhcm4gXCJSYWRpYWwtZ3JhZGllbnQgbmVlZHMgdG8gYmUgdXBkYXRlZCB0byBjb25mb3JtIHRvIGxhdGVzdCBzcGVjLlwiO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiBudWxsLFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKVxuICB9XG5cbiAgQGVsc2Uge1xuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApXG4gIH1cblxuICBAcmV0dXJuICRncmFkaWVudHM7XG59XG4iLCIvLyBVc2VyIGZvciBsaW5lYXIgYW5kIHJhZGlhbCBncmFkaWVudHMgd2l0aGluIGJhY2tncm91bmQtaW1hZ2Ugb3IgYm9yZGVyLWltYWdlIHByb3BlcnRpZXNcblxuQGZ1bmN0aW9uIF9yZW5kZXItZ3JhZGllbnRzKCRncmFkaWVudC1wb3NpdGlvbnMsICRncmFkaWVudHMsICRncmFkaWVudC10eXBlLCAkdmVuZG9yOiBmYWxzZSkge1xuICAkcHJlLXNwZWM6IG51bGw7XG4gICRzcGVjOiBudWxsO1xuICAkdmVuZG9yLWdyYWRpZW50czogbnVsbDtcbiAgQGlmICRncmFkaWVudC10eXBlID09IGxpbmVhciB7XG4gICAgQGlmICRncmFkaWVudC1wb3NpdGlvbnMge1xuICAgICAgJHByZS1zcGVjOiBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMSk7XG4gICAgICAkc3BlYzogICAgIG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAyKTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gcmFkaWFsIHtcbiAgICAkcHJlLXNwZWM6IG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAxKTtcbiAgICAkc3BlYzogICAgIG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAyKTtcbiAgfVxuXG4gIEBpZiAkdmVuZG9yIHtcbiAgICAkdmVuZG9yLWdyYWRpZW50czogLSN7JHZlbmRvcn0tI3skZ3JhZGllbnQtdHlwZX0tZ3JhZGllbnQoI3skcHJlLXNwZWN9ICRncmFkaWVudHMpO1xuICB9XG4gIEBlbHNlIGlmICR2ZW5kb3IgPT0gZmFsc2Uge1xuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiBcIiN7JGdyYWRpZW50LXR5cGV9LWdyYWRpZW50KCN7JHNwZWN9ICN7JGdyYWRpZW50c30pXCI7XG4gICAgJHZlbmRvci1ncmFkaWVudHM6IHVucXVvdGUoJHZlbmRvci1ncmFkaWVudHMpO1xuICB9XG4gIEByZXR1cm4gJHZlbmRvci1ncmFkaWVudHM7XG59XG4iLCJAZnVuY3Rpb24gX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpIHtcbiAgJHNoYXBlLXNpemUtc3BlYzogbnVsbDtcbiAgQGVhY2ggJHZhbHVlIGluICRzaGFwZS1zaXplIHtcbiAgICBAaWYgKCR2YWx1ZSA9PSBcImNvdmVyXCIpIG9yICgkdmFsdWUgPT0gXCJjb250YWluXCIpIHtcbiAgICAgICR2YWx1ZTogbnVsbDtcbiAgICB9XG4gICAgJHNoYXBlLXNpemUtc3BlYzogXCIjeyRzaGFwZS1zaXplLXNwZWN9ICN7JHZhbHVlfVwiO1xuICB9XG4gIEByZXR1cm4gJHNoYXBlLXNpemUtc3BlYztcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgbGluZWFyL3JhZGlhbC1ncmFkaWVudC1wYXJzZXJzLlxuLy8gU291cmNlOiBodHRwOi8vc2Fzc21laXN0ZXIuY29tL2dpc3QvOTY0NzQwOFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQGZ1bmN0aW9uIF9zdHItdG8tbnVtKCRzdHJpbmcpIHtcbiAgLy8gTWF0cmljZXNcbiAgJHN0cmluZ3M6ICcwJyAnMScgJzInICczJyAnNCcgJzUnICc2JyAnNycgJzgnICc5JztcbiAgJG51bWJlcnM6ICAwICAgMSAgIDIgICAzICAgNCAgIDUgICA2ICAgNyAgIDggICA5O1xuXG4gIC8vIFJlc3VsdFxuICAkcmVzdWx0OiAwO1xuICAkZGl2aWRlcjogMDtcbiAgJG1pbnVzOiBmYWxzZTtcblxuICAvLyBMb29waW5nIHRocm91Z2ggYWxsIGNoYXJhY3RlcnNcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCRzdHJpbmcpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHN0cmluZywgJGksICRpKTtcbiAgICAkaW5kZXg6IGluZGV4KCRzdHJpbmdzLCAkY2hhcmFjdGVyKTtcblxuICAgIEBpZiAkY2hhcmFjdGVyID09ICctJyB7XG4gICAgICAkbWludXM6IHRydWU7XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpdmlkZXI6IDE7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgQGlmIG5vdCAkaW5kZXgge1xuICAgICAgICAkcmVzdWx0OiBpZigkbWludXMsICRyZXN1bHQgKiAtMSwgJHJlc3VsdCk7XG4gICAgICAgIEByZXR1cm4gX2NvbnZlcnQtdW5pdHMoJHJlc3VsdCwgc3RyLXNsaWNlKCRzdHJpbmcsICRpKSk7XG4gICAgICB9XG5cbiAgICAgICRudW1iZXI6IG50aCgkbnVtYmVycywgJGluZGV4KTtcblxuICAgICAgQGlmICRkaXZpZGVyID09IDAge1xuICAgICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTA7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgLy8gTW92ZSB0aGUgZGVjaW1hbCBkb3QgdG8gdGhlIGxlZnRcbiAgICAgICAgJGRpdmlkZXI6ICRkaXZpZGVyICogMTA7XG4gICAgICAgICRudW1iZXI6ICRudW1iZXIgLyAkZGl2aWRlcjtcbiAgICAgIH1cblxuICAgICAgJHJlc3VsdDogJHJlc3VsdCArICRudW1iZXI7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gaWYoJG1pbnVzLCAkcmVzdWx0ICogLTEsICRyZXN1bHQpO1xufVxuIiwiQGZ1bmN0aW9uIGFzc2lnbi1pbnB1dHMoJGlucHV0cywgJHBzZXVkbzogbnVsbCkge1xuICAkbGlzdCA6ICgpO1xuXG4gIEBlYWNoICRpbnB1dCBpbiAkaW5wdXRzIHtcbiAgICAkaW5wdXQ6IHVucXVvdGUoJGlucHV0KTtcbiAgICAkaW5wdXQ6IGlmKCRwc2V1ZG8sICRpbnB1dCArIFwiOlwiICsgJHBzZXVkbywgJGlucHV0KTtcbiAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkaW5wdXQsIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJGxpc3Q7XG59IiwiLy8gUHJvZ3JhbWF0aWNhbGx5IGRldGVybWluZXMgd2hldGhlciBhIGNvbG9yIGlzIGxpZ2h0IG9yIGRhcmtcbi8vIFJldHVybnMgYSBib29sZWFuXG4vLyBNb3JlIGRldGFpbHMgaGVyZSBodHRwOi8vcm9ib3RzLnRob3VnaHRib3QuY29tL2Nsb3Nlci1sb29rLWNvbG9yLWxpZ2h0bmVzc1xuXG5AZnVuY3Rpb24gaXMtbGlnaHQoJGhleC1jb2xvcikge1xuICAkLWxvY2FsLXJlZDogcmVkKHJnYmEoJGhleC1jb2xvciwgMS4wKSk7XG4gICQtbG9jYWwtZ3JlZW46IGdyZWVuKHJnYmEoJGhleC1jb2xvciwgMS4wKSk7XG4gICQtbG9jYWwtYmx1ZTogYmx1ZShyZ2JhKCRoZXgtY29sb3IsIDEuMCkpO1xuXG4gICQtbG9jYWwtbGlnaHRuZXNzOiAoJC1sb2NhbC1yZWQgKiAwLjIxMjYgKyAkLWxvY2FsLWdyZWVuICogMC43MTUyICsgJC1sb2NhbC1ibHVlICogMC4wNzIyKSAvIDI1NTtcblxuICBAcmV0dXJuICQtbG9jYWwtbGlnaHRuZXNzID4gLjY7XG59XG4iLCIvLyBUZXN0IGEgU2FzcyBsaXN0IHRvIHNlZSBpZiBpdCBjb250YWlucyBhIGRlZmluZWQgdmFsdWVcblxuQGZ1bmN0aW9uIGNvbnRhaW5zKCRsaXN0LCAkdmFsdWUpIHtcbiAgQHJldHVybiBub3Qgbm90IGluZGV4KCRsaXN0LCAkdmFsdWUpO1xufVxuIiwiLy8gQ2hlY2sgZm9yIGEgdmFsaWQgbGVuZ3RoXG5cbkBmdW5jdGlvbiBpcy1sZW5ndGgoJHZhbHVlKSB7XG4gIEByZXR1cm4gY29udGFpbnMoMCBcImF1dG9cIiBcImluaXRpYWxcIiBcImluaGVyaXRcIiwgJHZhbHVlKVxuICAgICAgICAgIG9yIHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiIGFuZCBub3QgdW5pdGxlc3MoJHZhbHVlKVxuICAgICAgICAgIG9yIHN0ci1zbGljZSgkdmFsdWUgKyBcIlwiLCAxLCA0KSA9PSBcImNhbGNcIjtcbn1cbiIsIi8vIENoZWNrIGZvciBhIHZhbGlkIHNpemVcblxuQGZ1bmN0aW9uIGlzLXNpemUoJHZhbHVlKSB7XG4gIEByZXR1cm4gaXMtbGVuZ3RoKCR2YWx1ZSlcbiAgICAgICAgICBvciBjb250YWlucyhcImZpbGxcIiBcImZpdC1jb250ZW50XCIgXCJtaW4tY29udGVudFwiIFwibWF4LWNvbnRlbnRcIiwgJHZhbHVlKTtcbn1cbiIsIi8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtc1xuLy8gZWcuIGZvciBhIHJlbGF0aW9uYWwgdmFsdWUgb2YgMTJweCB3cml0ZSBlbSgxMikgd2hlbiB0aGUgcGFyZW50IGlzIDE2cHhcbi8vIGlmIHRoZSBwYXJlbnQgaXMgYW5vdGhlciB2YWx1ZSBzYXkgMjRweCB3cml0ZSBlbSgxMiwgMjQpXG5cbkBmdW5jdGlvbiBlbSgkcHh2YWwsICRiYXNlOiAkZW0tYmFzZSkge1xuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xuICAgICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xuICB9XG4gIEBpZiBub3QgdW5pdGxlc3MoJGJhc2UpIHtcbiAgICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XG4gIH1cbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMWVtO1xufVxuIiwiLy8gQ29udmVydCBwaXhlbHMgdG8gcmVtc1xuLy8gZWcuIGZvciBhIHJlbGF0aW9uYWwgdmFsdWUgb2YgMTJweCB3cml0ZSByZW0oMTIpXG4vLyBBc3N1bWVzICRlbS1iYXNlIGlzIHRoZSBmb250LXNpemUgb2YgPGh0bWw+XG5cbkBmdW5jdGlvbiByZW0oJHB4dmFsKSB7XG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XG4gICAgICAkcHh2YWw6IHN0cmlwLXVuaXRzKCRweHZhbCk7XG4gIH1cblxuICAkYmFzZTogJGVtLWJhc2U7XG4gIEBpZiBub3QgdW5pdGxlc3MoJGJhc2UpIHtcbiAgICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XG4gIH1cbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMXJlbTtcbn1cbiIsIi8vIFNydGlwcyB0aGUgdW5pdHMgZnJvbSBhIHZhbHVlLiBlLmcuIDEycHggLT4gMTJcblxuQGZ1bmN0aW9uIHN0cmlwLXVuaXRzKCR2YWwpIHtcbiAgQHJldHVybiAoJHZhbCAvICgkdmFsICogMCArIDEpKTtcbn1cbiIsIi8vIEFkZCBwZXJjZW50YWdlIG9mIHdoaXRlIHRvIGEgY29sb3JcbkBmdW5jdGlvbiB0aW50KCRjb2xvciwgJHBlcmNlbnQpe1xuICBAcmV0dXJuIG1peCh3aGl0ZSwgJGNvbG9yLCAkcGVyY2VudCk7XG59XG5cbi8vIEFkZCBwZXJjZW50YWdlIG9mIGJsYWNrIHRvIGEgY29sb3JcbkBmdW5jdGlvbiBzaGFkZSgkY29sb3IsICRwZXJjZW50KXtcbiAgQHJldHVybiBtaXgoYmxhY2ssICRjb2xvciwgJHBlcmNlbnQpO1xufVxuIiwiLy8gUmV0dXJuIHZlbmRvci1wcmVmaXhlZCBwcm9wZXJ0eSBuYW1lcyBpZiBhcHByb3ByaWF0ZVxuLy8gRXhhbXBsZTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygodHJhbnNmb3JtLCBjb2xvciwgYmFja2dyb3VuZCksIG1veikgLT4gLW1vei10cmFuc2Zvcm0sIGNvbG9yLCBiYWNrZ3JvdW5kXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcHMsICR2ZW5kb3I6IGZhbHNlKSB7XG5cdCRuZXctcHJvcHM6ICgpO1xuXHRcblx0QGVhY2ggJHByb3AgaW4gJHByb3BzIHtcblx0XHQkbmV3LXByb3BzOiBhcHBlbmQoJG5ldy1wcm9wcywgdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lKCRwcm9wLCAkdmVuZG9yKSwgY29tbWEpO1xuXHR9XG5cblx0QHJldHVybiAkbmV3LXByb3BzO1xufVxuXG5AZnVuY3Rpb24gdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lKCRwcm9wLCAkdmVuZG9yOiBmYWxzZSkge1xuXHQvLyBwdXQgb3RoZXIgcHJvcGVydGllcyB0aGF0IG5lZWQgdG8gYmUgcHJlZml4ZWQgaGVyZSBhc3dlbGxcblx0QGlmICR2ZW5kb3IgYW5kICRwcm9wID09IHRyYW5zZm9ybSB7XG5cdFx0QHJldHVybiB1bnF1b3RlKCctJyskdmVuZG9yKyctJyskcHJvcCk7XG5cdH1cblx0QGVsc2Uge1xuXHRcdEByZXR1cm4gJHByb3A7XG5cdH1cbn0iLCIvLyBDb252ZXJ0IHNob3J0aGFuZCB0byB0aGUgNC12YWx1ZSBzeW50YXhcblxuQGZ1bmN0aW9uIHVucGFjaygkc2hvcnRoYW5kKSB7XG4gIEBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMSB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSk7XG4gIH1cbiAgQGVsc2UgaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDIge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpO1xuICB9XG4gIEBlbHNlIGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAzIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMikgbnRoKCRzaG9ydGhhbmQsIDMpIG50aCgkc2hvcnRoYW5kLCAyKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkc2hvcnRoYW5kO1xuICB9XG59XG5cbiIsIi8vIFNjYWxpbmcgVmFyaWFibGVzXG4kZ29sZGVuOiAgICAgICAgICAgMS42MTg7XG4kbWlub3Itc2Vjb25kOiAgICAgMS4wNjc7XG4kbWFqb3Itc2Vjb25kOiAgICAgMS4xMjU7XG4kbWlub3ItdGhpcmQ6ICAgICAgMS4yO1xuJG1ham9yLXRoaXJkOiAgICAgIDEuMjU7XG4kcGVyZmVjdC1mb3VydGg6ICAgMS4zMzM7XG4kYXVnbWVudGVkLWZvdXJ0aDogMS40MTQ7XG4kcGVyZmVjdC1maWZ0aDogICAgMS41O1xuJG1pbm9yLXNpeHRoOiAgICAgIDEuNjtcbiRtYWpvci1zaXh0aDogICAgICAxLjY2NztcbiRtaW5vci1zZXZlbnRoOiAgICAxLjc3ODtcbiRtYWpvci1zZXZlbnRoOiAgICAxLjg3NTtcbiRvY3RhdmU6ICAgICAgICAgICAyO1xuJG1ham9yLXRlbnRoOiAgICAgIDIuNTtcbiRtYWpvci1lbGV2ZW50aDogICAyLjY2NztcbiRtYWpvci10d2VsZnRoOiAgICAzO1xuJGRvdWJsZS1vY3RhdmU6ICAgIDQ7XG5cbiRtb2R1bGFyLXNjYWxlLXJhdGlvOiAkcGVyZmVjdC1mb3VydGggIWRlZmF1bHQ7XG4kbW9kdWxhci1zY2FsZS1iYXNlOiBlbSgkZW0tYmFzZSkgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBtb2R1bGFyLXNjYWxlKCRpbmNyZW1lbnQsICR2YWx1ZTogJG1vZHVsYXItc2NhbGUtYmFzZSwgJHJhdGlvOiAkbW9kdWxhci1zY2FsZS1yYXRpbykge1xuICAkdjE6IG50aCgkdmFsdWUsIDEpO1xuICAkdjI6IG50aCgkdmFsdWUsIGxlbmd0aCgkdmFsdWUpKTtcbiAgJHZhbHVlOiAkdjE7XG5cbiAgLy8gc2NhbGUgJHYyIHRvIGp1c3QgYWJvdmUgJHYxXG4gIEB3aGlsZSAkdjIgPiAkdjEge1xuICAgICR2MjogKCR2MiAvICRyYXRpbyk7IC8vIHdpbGwgYmUgb2ZmLWJ5LTFcbiAgfVxuICBAd2hpbGUgJHYyIDwgJHYxIHtcbiAgICAkdjI6ICgkdjIgKiAkcmF0aW8pOyAvLyB3aWxsIGZpeCBvZmYtYnktMVxuICB9XG5cbiAgLy8gY2hlY2sgQUZURVIgc2NhbGluZyAkdjIgdG8gcHJldmVudCBkb3VibGUtY291bnRpbmcgY29ybmVyLWNhc2VcbiAgJGRvdWJsZS1zdHJhbmRlZDogJHYyID4gJHYxO1xuXG4gIEBpZiAkaW5jcmVtZW50ID4gMCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkaW5jcmVtZW50IHtcbiAgICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIGFuZCAoJHYxICogJHJhdGlvKSA+ICR2MiB7XG4gICAgICAgICR2YWx1ZTogJHYyO1xuICAgICAgICAkdjI6ICgkdjIgKiAkcmF0aW8pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR2MTogKCR2MSAqICRyYXRpbyk7XG4gICAgICAgICR2YWx1ZTogJHYxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkaW5jcmVtZW50IDwgMCB7XG4gICAgLy8gYWRqdXN0ICR2MiB0byBqdXN0IGJlbG93ICR2MVxuICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIHtcbiAgICAgICR2MjogKCR2MiAvICRyYXRpbyk7XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tICRpbmNyZW1lbnQgdGhyb3VnaCAtMSB7XG4gICAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCBhbmQgKCR2MSAvICRyYXRpbykgPCAkdjIge1xuICAgICAgICAkdmFsdWU6ICR2MjtcbiAgICAgICAgJHYyOiAoJHYyIC8gJHJhdGlvKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdjE6ICgkdjEgLyAkcmF0aW8pO1xuICAgICAgICAkdmFsdWU6ICR2MTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtYW5pbWF0aW9ucy8jdGhlLWFuaW1hdGlvbi1uYW1lLXByb3BlcnR5LVxuLy8gRWFjaCBvZiB0aGVzZSBtaXhpbnMgc3VwcG9ydCBjb21tYSBzZXBhcmF0ZWQgbGlzdHMgb2YgdmFsdWVzLCB3aGljaCBhbGxvd3MgZGlmZmVyZW50IHRyYW5zaXRpb25zIGZvciBpbmRpdmlkdWFsIHByb3BlcnRpZXMgdG8gYmUgZGVzY3JpYmVkIGluIGEgc2luZ2xlIHN0eWxlIHJ1bGUuIEVhY2ggdmFsdWUgaW4gdGhlIGxpc3QgY29ycmVzcG9uZHMgdG8gdGhlIHZhbHVlIGF0IHRoYXQgc2FtZSBwb3NpdGlvbiBpbiB0aGUgb3RoZXIgcHJvcGVydGllcy5cblxuLy8gT2ZmaWNpYWwgYW5pbWF0aW9uIHNob3J0aGFuZCBwcm9wZXJ0eS5cbkBtaXhpbiBhbmltYXRpb24gKCRhbmltYXRpb25zLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbiwgJGFuaW1hdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbi8vIEluZGl2aWR1YWwgQW5pbWF0aW9uIFByb3BlcnRpZXNcbkBtaXhpbiBhbmltYXRpb24tbmFtZSAoJG5hbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCAkbmFtZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cblxuQG1peGluIGFuaW1hdGlvbi1kdXJhdGlvbiAoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kdXJhdGlvbiwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5cbkBtaXhpbiBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uICgkbW90aW9ucy4uLikge1xuLy8gZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24sICRtb3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5cbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50ICgkdmFsdWVzLi4uKSB7XG4vLyBpbmZpbml0ZSB8IDxudW1iZXI+XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsICR2YWx1ZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cblxuQG1peGluIGFuaW1hdGlvbi1kaXJlY3Rpb24gKCRkaXJlY3Rpb25zLi4uKSB7XG4vLyBub3JtYWwgfCBhbHRlcm5hdGVcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWRpcmVjdGlvbiwgJGRpcmVjdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cblxuQG1peGluIGFuaW1hdGlvbi1wbGF5LXN0YXRlICgkc3RhdGVzLi4uKSB7XG4vLyBydW5uaW5nIHwgcGF1c2VkXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1wbGF5LXN0YXRlLCAkc3RhdGVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5cbkBtaXhpbiBhbmltYXRpb24tZGVsYXkgKCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZGVsYXksICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuXG5AbWl4aW4gYW5pbWF0aW9uLWZpbGwtbW9kZSAoJG1vZGVzLi4uKSB7XG4vLyBub25lIHwgZm9yd2FyZHMgfCBiYWNrd2FyZHMgfCBib3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1maWxsLW1vZGUsICRtb2Rlcywgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiBhcHBlYXJhbmNlICgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYXBwZWFyYW5jZSwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBCYWNrZmFjZS12aXNpYmlsaXR5IG1peGluXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihiYWNrZmFjZS12aXNpYmlsaXR5LCAkdmlzaWJpbGl0eSwgd2Via2l0IHNwZWMpO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gQmFja2dyb3VuZCBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmRzIHVzaW5nIHNob3J0aGFuZFxuLy8gbm90YXRpb24uXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5cbkBtaXhpbiBiYWNrZ3JvdW5kKCRiYWNrZ3JvdW5kcy4uLikge1xuICAkd2Via2l0LWJhY2tncm91bmRzOiAoKTtcbiAgJHNwZWMtYmFja2dyb3VuZHM6ICgpO1xuXG4gIEBlYWNoICRiYWNrZ3JvdW5kIGluICRiYWNrZ3JvdW5kcyB7XG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAoKTtcbiAgICAkc3BlYy1iYWNrZ3JvdW5kOiAoKTtcbiAgICAkYmFja2dyb3VuZC10eXBlOiB0eXBlLW9mKCRiYWNrZ3JvdW5kKTtcblxuICAgIEBpZiAkYmFja2dyb3VuZC10eXBlID09IHN0cmluZyBvciAkYmFja2dyb3VuZC10eXBlID09IGxpc3Qge1xuICAgICAgJGJhY2tncm91bmQtc3RyOiBpZigkYmFja2dyb3VuZC10eXBlID09IGxpc3QsIG50aCgkYmFja2dyb3VuZCwgMSksICRiYWNrZ3JvdW5kKTtcblxuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkYmFja2dyb3VuZC1zdHIsIDAsIDMpO1xuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkYmFja2dyb3VuZC1zdHIsIDAsIDYpO1xuXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcihcIiN7JGJhY2tncm91bmR9XCIpO1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoXCIjeyRiYWNrZ3JvdW5kfVwiKTtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICR3ZWJraXQtYmFja2dyb3VuZHM6IGFwcGVuZCgkd2Via2l0LWJhY2tncm91bmRzLCAkd2Via2l0LWJhY2tncm91bmQsIGNvbW1hKTtcbiAgICAkc3BlYy1iYWNrZ3JvdW5kczogICBhcHBlbmQoJHNwZWMtYmFja2dyb3VuZHMsICAgJHNwZWMtYmFja2dyb3VuZCwgICBjb21tYSk7XG4gIH1cblxuICBiYWNrZ3JvdW5kOiAkd2Via2l0LWJhY2tncm91bmRzO1xuICBiYWNrZ3JvdW5kOiAkc3BlYy1iYWNrZ3JvdW5kcztcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEJhY2tncm91bmQtaW1hZ2UgcHJvcGVydHkgZm9yIGFkZGluZyBtdWx0aXBsZSBiYWNrZ3JvdW5kIGltYWdlcyB3aXRoXG4vLyBncmFkaWVudHMsIG9yIGZvciBzdHJpbmdpbmcgbXVsdGlwbGUgZ3JhZGllbnRzIHRvZ2V0aGVyLlxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuXG5AbWl4aW4gYmFja2dyb3VuZC1pbWFnZSgkaW1hZ2VzLi4uKSB7XG4gICR3ZWJraXQtaW1hZ2VzOiAoKTtcbiAgJHNwZWMtaW1hZ2VzOiAoKTtcblxuICBAZWFjaCAkaW1hZ2UgaW4gJGltYWdlcyB7XG4gICAgJHdlYmtpdC1pbWFnZTogKCk7XG4gICAgJHNwZWMtaW1hZ2U6ICgpO1xuXG4gICAgQGlmICh0eXBlLW9mKCRpbWFnZSkgPT0gc3RyaW5nKSB7XG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRpbWFnZSwgMCwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRpbWFnZSwgMCwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogJGltYWdlO1xuICAgICAgICAgICRzcGVjLWltYWdlOiAkaW1hZ2U7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpO1xuICAgICAgICAkd2Via2l0LWltYWdlOiAgbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1pbWFnZTogICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSk7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtaW1hZ2U6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAkd2Via2l0LWltYWdlczogYXBwZW5kKCR3ZWJraXQtaW1hZ2VzLCAkd2Via2l0LWltYWdlLCBjb21tYSk7XG4gICAgJHNwZWMtaW1hZ2VzOiAgIGFwcGVuZCgkc3BlYy1pbWFnZXMsICAgJHNwZWMtaW1hZ2UsICAgY29tbWEpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogJHdlYmtpdC1pbWFnZXM7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRzcGVjLWltYWdlcztcbn1cbiIsIkBtaXhpbiBib3JkZXItaW1hZ2UoJGJvcmRlcnMuLi4pIHtcbiAgJHdlYmtpdC1ib3JkZXJzOiAoKTtcbiAgJHNwZWMtYm9yZGVyczogKCk7XG5cbiAgQGVhY2ggJGJvcmRlciBpbiAkYm9yZGVycyB7XG4gICAgJHdlYmtpdC1ib3JkZXI6ICgpO1xuICAgICRzcGVjLWJvcmRlcjogKCk7XG4gICAgJGJvcmRlci10eXBlOiB0eXBlLW9mKCRib3JkZXIpO1xuXG4gICAgQGlmICRib3JkZXItdHlwZSA9PSBzdHJpbmcgb3IgbGlzdCB7XG4gICAgICAkYm9yZGVyLXN0cjogaWYoJGJvcmRlci10eXBlID09IGxpc3QsIG50aCgkYm9yZGVyLCAxKSwgJGJvcmRlcik7XG5cbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGJvcmRlci1zdHIsIDAsIDMpO1xuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkYm9yZGVyLXN0ciwgMCwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICAgJHNwZWMtYm9yZGVyOiAkYm9yZGVyO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcImxpbmVhclwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoXCIjeyRib3JkZXJ9XCIpO1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKFwiI3skYm9yZGVyfVwiKTtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICAgJHNwZWMtYm9yZGVyOiAkYm9yZGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICR3ZWJraXQtYm9yZGVyOiAkYm9yZGVyO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICRib3JkZXI7XG4gICAgfVxuXG4gICAgJHdlYmtpdC1ib3JkZXJzOiBhcHBlbmQoJHdlYmtpdC1ib3JkZXJzLCAkd2Via2l0LWJvcmRlciwgY29tbWEpO1xuICAgICRzcGVjLWJvcmRlcnM6ICAgYXBwZW5kKCRzcGVjLWJvcmRlcnMsICAgJHNwZWMtYm9yZGVyLCAgIGNvbW1hKTtcbiAgfVxuXG4gIC13ZWJraXQtYm9yZGVyLWltYWdlOiAkd2Via2l0LWJvcmRlcnM7XG4gICAgICAgICAgYm9yZGVyLWltYWdlOiAkc3BlYy1ib3JkZXJzO1xuICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG5cbi8vRXhhbXBsZXM6XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UodXJsKFwiaW1hZ2UucG5nXCIpKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIikgMjAgc3RyZXRjaCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpIHN0cmV0Y2gpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpIDIwIDMwIDQwIDUwIHN0cmV0Y2ggcm91bmQpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHJhZGlhbC1ncmFkaWVudCh0b3AsIGNvdmVyLCBvcmFuZ2UsIHllbGxvdywgb3JhbmdlKSk7XG4iLCIvLyBCb3JkZXIgUmFkaXVzIChTaG9ydGhhbmQpXG4vLyBQcm92aWRlcyBhIHNob3J0aGFuZCBzeW50YXggdG8gdGFyZ2V0IGFuZCBhZGQgYm9yZGVyIHJhZGlpIHRvIGJvdGggY29ybmVycyBvbiBvbmUgc2lkZSBvZiBhIGJveFxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpaTtcbn1cbiIsIkBtaXhpbiBib3gtc2l6aW5nICgkYm94KSB7XG4vLyAgY29udGVudC1ib3ggfCBib3JkZXItYm94IHwgaW5oZXJpdFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtc2l6aW5nLCAkYm94LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiQG1peGluIGNhbGMoJHByb3BlcnR5LCAkdmFsdWUpIHtcbiAgI3skcHJvcGVydHl9OiAtd2Via2l0LWNhbGMoI3skdmFsdWV9KTtcbiAgI3skcHJvcGVydHl9OiAgICAgICAgIGNhbGMoI3skdmFsdWV9KTtcbn1cbiIsIkBtaXhpbiBjb2x1bW5zKCRhcmc6IGF1dG8pIHtcbi8vIDxjb2x1bW4tY291bnQ+IHx8IDxjb2x1bW4td2lkdGg+XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbnMsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJGludDogYXV0bykge1xuLy8gYXV0byB8fCBpbnRlZ2VyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1jb3VudCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJGxlbmd0aDogbm9ybWFsKSB7XG4vLyBub3JtYWwgfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1nYXAsICRsZW5ndGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tZmlsbCgkYXJnOiBhdXRvKSB7XG4vLyBhdXRvIHx8IGxlbmd0aFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tZmlsbCwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlKCRhcmcpIHtcbi8vIDxib3JkZXItd2lkdGg+IHx8IDxib3JkZXItc3R5bGU+IHx8IDxjb2xvcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS1jb2xvcigkY29sb3IpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtY29sb3IsICRjb2xvciwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLXN0eWxlKCRzdHlsZTogbm9uZSkge1xuLy8gbm9uZSB8IGhpZGRlbiB8IGRhc2hlZCB8IGRvdHRlZCB8IGRvdWJsZSB8IGdyb292ZSB8IGluc2V0IHwgaW5zZXQgfCBvdXRzZXQgfCByaWRnZSB8IHNvbGlkXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS13aWR0aCAoJHdpZHRoOiBub25lKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXdpZHRoLCAkd2lkdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tc3BhbigkYXJnOiBub25lKSB7XG4vLyBub25lIHx8IGFsbFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tc3BhbiwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi13aWR0aCgkbGVuZ3RoOiBhdXRvKSB7XG4vLyBhdXRvIHx8IGxlbmd0aFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4td2lkdGgsICRsZW5ndGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gZmlsdGVyKCRmdW5jdGlvbjogbm9uZSkge1xuICAvLyA8ZmlsdGVyLWZ1bmN0aW9uPiBbPGZpbHRlci1mdW5jdGlvbl0qIHwgbm9uZVxuICBAaW5jbHVkZSBwcmVmaXhlcihmaWx0ZXIsICRmdW5jdGlvbiwgd2Via2l0IHNwZWMpO1xufVxuXG4iLCIvLyBDU1MzIEZsZXhpYmxlIEJveCBNb2RlbCBhbmQgcHJvcGVydHkgZGVmYXVsdHNcblxuLy8gQ3VzdG9tIHNob3J0aGFuZCBub3RhdGlvbiBmb3IgZmxleGJveFxuQG1peGluIGJveCgkb3JpZW50OiBpbmxpbmUtYXhpcywgJHBhY2s6IHN0YXJ0LCAkYWxpZ246IHN0cmV0Y2gpIHtcbiAgQGluY2x1ZGUgZGlzcGxheS1ib3g7XG4gIEBpbmNsdWRlIGJveC1vcmllbnQoJG9yaWVudCk7XG4gIEBpbmNsdWRlIGJveC1wYWNrKCRwYWNrKTtcbiAgQGluY2x1ZGUgYm94LWFsaWduKCRhbGlnbik7XG59XG5cbkBtaXhpbiBkaXNwbGF5LWJveCB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbW96LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8vIElFIDEwXG4gIGRpc3BsYXk6IGJveDtcbn1cblxuQG1peGluIGJveC1vcmllbnQoJG9yaWVudDogaW5saW5lLWF4aXMpIHtcbi8vIGhvcml6b250YWx8dmVydGljYWx8aW5saW5lLWF4aXN8YmxvY2stYXhpc3xpbmhlcml0XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmllbnQsICRvcmllbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBib3gtcGFjaygkcGFjazogc3RhcnQpIHtcbi8vIHN0YXJ0fGVuZHxjZW50ZXJ8anVzdGlmeVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtcGFjaywgJHBhY2ssIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXBhY2s6ICRwYWNrOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWFsaWduKCRhbGlnbjogc3RyZXRjaCkge1xuLy8gc3RhcnR8ZW5kfGNlbnRlcnxiYXNlbGluZXxzdHJldGNoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsaWduLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1hbGlnbjogJGFsaWduOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWRpcmVjdGlvbigkZGlyZWN0aW9uOiBub3JtYWwpIHtcbi8vIG5vcm1hbHxyZXZlcnNlfGluaGVyaXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWRpcmVjdGlvbiwgJGRpcmVjdGlvbiwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWxpbmVzKCRsaW5lczogc2luZ2xlKSB7XG4vLyBzaW5nbGV8bXVsdGlwbGVcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWxpbmVzLCAkbGluZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBib3gtb3JkaW5hbC1ncm91cCgkaW50OiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmRpbmFsLWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1vcmRlcjogJGludDsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1mbGV4KCR2YWx1ZTogMC4wKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4OiAkdmFsdWU7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZmxleC1ncm91cCgkaW50OiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG4vLyBDU1MzIEZsZXhpYmxlIEJveCBNb2RlbCBhbmQgcHJvcGVydHkgZGVmYXVsdHNcbi8vIFVuaWZpZWQgYXR0cmlidXRlcyBmb3IgMjAwOSwgMjAxMSwgYW5kIDIwMTIgZmxhdm91cnMuXG5cbi8vIDIwMDkgLSBkaXNwbGF5IChib3ggfCBpbmxpbmUtYm94KVxuLy8gMjAxMSAtIGRpc3BsYXkgKGZsZXhib3ggfCBpbmxpbmUtZmxleGJveClcbi8vIDIwMTIgLSBkaXNwbGF5IChmbGV4IHwgaW5saW5lLWZsZXgpXG5AbWl4aW4gZGlzcGxheSgkdmFsdWUpIHtcbi8vIGZsZXggfCBpbmxpbmUtZmxleFxuICBAaWYgJHZhbHVlID09IFwiZmxleFwiIHtcbiAgICAvLyAyMDA5XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1vei1ib3g7XG4gICAgZGlzcGxheTogYm94O1xuXG4gICAgLy8gMjAxMlxuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiAtbW96LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8vIDIwMTEgKElFIDEwKVxuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICBAZWxzZWlmICR2YWx1ZSA9PSBcImlubGluZS1mbGV4XCIge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1ib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWJveDtcblxuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogJHZhbHVlO1xuICB9XG59XG5cbi8vIDIwMDkgLSBib3gtZmxleCAoaW50ZWdlcilcbi8vIDIwMTEgLSBmbGV4IChkZWNpbWFsIHwgd2lkdGggZGVjaW1hbClcbi8vIDIwMTIgLSBmbGV4IChpbnRlZ2VyIGludGVnZXIgd2lkdGgpXG5AbWl4aW4gZmxleCgkdmFsdWUpIHtcblxuICAvLyBHcmFiIGZsZXgtZ3JvdyBmb3Igb2xkZXIgYnJvd3NlcnMuXG4gICRmbGV4LWdyb3c6IG50aCgkdmFsdWUsIDEpO1xuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICRmbGV4LWdyb3csIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApLCAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmllbnQgKCBob3Jpem9udGFsIHwgdmVydGljYWwgfCBpbmxpbmUtYXhpcyB8IGJsb2NrLWF4aXMpXG4vLyAgICAgIC0gYm94LWRpcmVjdGlvbiAobm9ybWFsIHwgcmV2ZXJzZSlcbi8vIDIwMTEgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWU6IHJvdykge1xuXG4gIC8vIEFsdCB2YWx1ZXMuXG4gICR2YWx1ZS0yMDA5OiAkdmFsdWU7XG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gICRkaXJlY3Rpb246IFwibm9ybWFsXCI7XG5cbiAgQGlmICR2YWx1ZSA9PSByb3cge1xuICAgICR2YWx1ZS0yMDA5OiBob3Jpem9udGFsO1xuICB9XG5cbiAgQGVsc2VpZiAkdmFsdWUgPT0gXCJyb3ctcmV2ZXJzZVwiIHtcbiAgICAkdmFsdWUtMjAwOTogaG9yaXpvbnRhbDtcbiAgICAkZGlyZWN0aW9uOiByZXZlcnNlO1xuICB9XG5cbiAgQGVsc2VpZiAkdmFsdWUgPT0gY29sdW1uIHtcbiAgICAkdmFsdWUtMjAwOTogdmVydGljYWw7XG4gIH1cblxuICBAZWxzZWlmICR2YWx1ZSA9PSBcImNvbHVtbi1yZXZlcnNlXCIge1xuICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcbiAgICAkZGlyZWN0aW9uOiByZXZlcnNlO1xuICB9XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JpZW50LCAkdmFsdWUtMjAwOSwgd2Via2l0IG1veiBzcGVjKTtcbiAgQGlmICRkaXJlY3Rpb24gPT0gXCJyZXZlcnNlXCIge1xuICAgIEBpbmNsdWRlIHByZWZpeGVyKGJveC1kaXJlY3Rpb24sICRkaXJlY3Rpb24sIHdlYmtpdCBtb3ogc3BlYyk7XG4gIH1cblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZGlyZWN0aW9uLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuXG4vLyAyMDA5IC0gYm94LWxpbmVzIChzaW5nbGUgfCBtdWx0aXBsZSlcbi8vIDIwMTEgLSBmbGV4LXdyYXAgKG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2UpXG4vLyAyMDEyIC0gZmxleC13cmFwIChub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlKVxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWU6IG5vd3JhcCkge1xuXG4gIC8vIEFsdCB2YWx1ZXNcbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IG5vd3JhcCB7XG4gICAgJGFsdC12YWx1ZTogc2luZ2xlO1xuICB9XG5cbiAgQGVsc2VpZiAkdmFsdWUgPT0gd3JhcCB7XG4gICAgJGFsdC12YWx1ZTogbXVsdGlwbGU7XG4gIH1cblxuICBAZWxzZWlmICR2YWx1ZSA9PSBcIndyYXAtcmV2ZXJzZVwiIHtcbiAgICAkYWx0LXZhbHVlOiBtdWx0aXBsZTtcbiAgfVxuXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1saW5lcywgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC13cmFwLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG5cbi8vIDIwMDkgLSBUT0RPOiBwYXJzZSB2YWx1ZXMgaW50byBmbGV4LWRpcmVjdGlvbi9mbGV4LXdyYXBcbi8vIDIwMTEgLSBUT0RPOiBwYXJzZSB2YWx1ZXMgaW50byBmbGV4LWRpcmVjdGlvbi9mbGV4LXdyYXBcbi8vIDIwMTIgLSBmbGV4LWZsb3cgKGZsZXgtZGlyZWN0aW9uIHx8IGZsZXgtd3JhcClcbkBtaXhpbiBmbGV4LWZsb3coJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZmxvdywgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gYm94LW9yZGluYWwtZ3JvdXAgKGludGVnZXIpXG4vLyAyMDExIC0gZmxleC1vcmRlciAoaW50ZWdlcilcbi8vIDIwMTIgLSBvcmRlciAoaW50ZWdlcilcbkBtaXhpbiBvcmRlcigkaW50OiAwKSB7XG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yZGluYWwtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihvcmRlciwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtb3JkZXI6ICRpbnQ7XG59XG5cbi8vIDIwMTIgLSBmbGV4LWdyb3cgKG51bWJlcilcbkBtaXhpbiBmbGV4LWdyb3coJG51bWJlcjogMCkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWdyb3csICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXBvc2l0aXZlOiAkbnVtYmVyO1xufVxuXG4vLyAyMDEyIC0gZmxleC1zaHJpbmsgKG51bWJlcilcbkBtaXhpbiBmbGV4LXNocmluaygkbnVtYmVyOiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtc2hyaW5rLCAkbnVtYmVyLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1uZWdhdGl2ZTogJG51bWJlcjtcbn1cblxuLy8gMjAxMiAtIGZsZXgtYmFzaXMgKG51bWJlcilcbkBtaXhpbiBmbGV4LWJhc2lzKCR3aWR0aDogYXV0bykge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWJhc2lzLCAkd2lkdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAkd2lkdGg7XG59XG5cbi8vIDIwMDkgLSBib3gtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5KVxuLy8gMjAxMSAtIGZsZXgtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5KVxuLy8gMjAxMiAtIGp1c3RpZnktY29udGVudCAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZClcbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQoJHZhbHVlOiBmbGV4LXN0YXJ0KSB7XG5cbiAgLy8gQWx0IHZhbHVlcy5cbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkYWx0LXZhbHVlOiBzdGFydDtcbiAgfVxuXG4gIEBlbHNlaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJGFsdC12YWx1ZTogZW5kO1xuICB9XG5cbiAgQGVsc2VpZiAkdmFsdWUgPT0gXCJzcGFjZS1iZXR3ZWVuXCIge1xuICAgICRhbHQtdmFsdWU6IGp1c3RpZnk7XG4gIH1cblxuICBAZWxzZWlmICR2YWx1ZSA9PSBcInNwYWNlLWFyb3VuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBkaXN0cmlidXRlO1xuICB9XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtcGFjaywgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGp1c3RpZnktY29udGVudCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LXBhY2s6ICRhbHQtdmFsdWU7XG59XG5cbi8vIDIwMDkgLSBib3gtYWxpZ24gKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMSAtIGZsZXgtYWxpZ24gKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMiAtIGFsaWduLWl0ZW1zIChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG5AbWl4aW4gYWxpZ24taXRlbXMoJHZhbHVlOiBzdHJldGNoKSB7XG5cbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuXG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICRhbHQtdmFsdWU6IHN0YXJ0O1xuICB9XG5cbiAgQGVsc2VpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBlbmQ7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWl0ZW1zLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtYWxpZ246ICRhbHQtdmFsdWU7XG59XG5cbi8vIDIwMTEgLSBmbGV4LWl0ZW0tYWxpZ24gKGF1dG8gfCBzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1zZWxmIChhdXRvIHwgZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLXNlbGYoJHZhbHVlOiBhdXRvKSB7XG5cbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xuICB9XG5cbiAgQGVsc2VpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkdmFsdWUtMjAxMTogZW5kO1xuICB9XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1zZWxmLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWl0ZW0tYWxpZ246ICR2YWx1ZS0yMDExO1xufVxuXG4vLyAyMDExIC0gZmxleC1saW5lLXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSB8IGRpc3RyaWJ1dGUgfCBzdHJldGNoKVxuLy8gMjAxMiAtIGFsaWduLWNvbnRlbnQgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmQgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLWNvbnRlbnQoJHZhbHVlOiBzdHJldGNoKSB7XG5cbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xuICB9XG5cbiAgQGVsc2VpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkdmFsdWUtMjAxMTogZW5kO1xuICB9XG5cbiAgQGVsc2VpZiAkdmFsdWUgPT0gXCJzcGFjZS1iZXR3ZWVuXCIge1xuICAgICR2YWx1ZS0yMDExOiBqdXN0aWZ5O1xuICB9XG5cbiAgQGVsc2VpZiAkdmFsdWUgPT0gXCJzcGFjZS1hcm91bmRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IGRpc3RyaWJ1dGU7XG4gIH1cblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWNvbnRlbnQsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtbGluZS1wYWNrOiAkdmFsdWUtMjAxMTtcbn1cbiIsIi8vIE9yZGVyIG9mIHRoZSBpbmNsdWRlcyBtYXR0ZXJzLCBhbmQgaXQgaXM6IG5vcm1hbCwgYm9sZCwgaXRhbGljLCBib2xkK2l0YWxpYy5cblxuQG1peGluIGZvbnQtZmFjZShcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkd2VpZ2h0OiBub3JtYWwsXG4gICRzdHlsZTogbm9ybWFsLFxuICAkYXNzZXQtcGlwZWxpbmU6ICRhc3NldC1waXBlbGluZSxcbiAgJGZpbGUtZm9ybWF0czogZW90IHdvZmYgdHRmIHN2Zykge1xuXG4gICRmb250LXVybC1wcmVmaXg6IGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSk7XG5cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJHdlaWdodDtcbiAgICBmb250LXN0eWxlOiAkc3R5bGU7XG5cbiAgICBAaWYgY29udGFpbnMoJGZpbGUtZm9ybWF0cywgZW90KSB7XG4gICAgICBzcmM6IFwiI3skZm9udC11cmwtcHJlZml4fSgnI3skZmlsZS1wYXRofS5lb3QnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJylcIjtcbiAgICB9XG5cbiAgICBzcmM6IGZvbnQtc291cmNlLWRlY2xhcmF0aW9uKFxuICAgICAgJGZvbnQtZmFtaWx5LFxuICAgICAgJGZpbGUtcGF0aCxcbiAgICAgICRhc3NldC1waXBlbGluZSxcbiAgICAgICRmaWxlLWZvcm1hdHMsXG4gICAgICAkZm9udC11cmwtcHJlZml4XG4gICAgKTtcbiAgfVxufVxuIiwiLy8gRm9udCBmZWF0dXJlIHNldHRpbmdzIG1peGluIGFuZCBwcm9wZXJ0eSBkZWZhdWx0LlxuLy8gRXhhbXBsZXM6IEBpbmNsdWRlIGZvbnQtZmVhdHVyZS1zZXR0aW5ncyhcImxpZ2FcIik7XG4vLyAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mZWF0dXJlLXNldHRpbmdzKFwibG51bVwiIGZhbHNlKTtcbi8vICAgICAgICAgICBAaW5jbHVkZSBmb250LWZlYXR1cmUtc2V0dGluZ3MoXCJwbnVtXCIgMSwgXCJrZXJuXCIgMCk7XG4vLyAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mZWF0dXJlLXNldHRpbmdzKFwic3MwMVwiLCBcInNzMDJcIik7XG5cbkBtaXhpbiBmb250LWZlYXR1cmUtc2V0dGluZ3MoJHNldHRpbmdzLi4uKSB7XG4gIEBpZiBsZW5ndGgoJHNldHRpbmdzKSA9PSAwIHsgJHNldHRpbmdzOiBub25lOyB9XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZvbnQtZmVhdHVyZS1zZXR0aW5ncywgJHNldHRpbmdzLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufSIsIi8vIEhpRFBJIG1peGluLiBEZWZhdWx0IHZhbHVlIHNldCB0byAxLjMgdG8gdGFyZ2V0IEdvb2dsZSBOZXh1cyA3IChodHRwOi8vYmphbmdvLmNvbS9hcnRpY2xlcy9taW4tZGV2aWNlLXBpeGVsLXJhdGlvLylcbkBtaXhpbiBoaWRwaSgkcmF0aW86IDEuMykge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAkcmF0aW8pLFxuICBvbmx5IHNjcmVlbiBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JHJhdGlvfS8xKSxcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogcm91bmQoJHJhdGlvICogOTZkcGkpKSxcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogJHJhdGlvICogMWRwcHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQG1peGluIGh5cGhlbnMoJGh5cGhlbmF0aW9uOiBub25lKSB7XG4vLyBub25lIHwgbWFudWFsIHwgYXV0b1xuICBAaW5jbHVkZSBwcmVmaXhlcihoeXBoZW5zLCAkaHlwaGVuYXRpb24sIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59IiwiQG1peGluIGltYWdlLXJlbmRlcmluZyAoJG1vZGU6YXV0bykge1xuXG4gIEBpZiAoJG1vZGUgPT0gY3Jpc3AtZWRnZXMpIHtcbiAgICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IG5lYXJlc3QtbmVpZ2hib3I7IC8vIElFOCtcbiAgICAgIGltYWdlLXJlbmRlcmluZzogLW1vei1jcmlzcC1lZGdlcztcbiAgICAgIGltYWdlLXJlbmRlcmluZzogLW8tY3Jpc3AtZWRnZXM7XG4gICAgICBpbWFnZS1yZW5kZXJpbmc6IC13ZWJraXQtb3B0aW1pemUtY29udHJhc3Q7XG4gICAgICBpbWFnZS1yZW5kZXJpbmc6IGNyaXNwLWVkZ2VzO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgICAgaW1hZ2UtcmVuZGVyaW5nOiAkbW9kZTtcbiAgfVxufVxuIiwiLy8gQWRkcyBrZXlmcmFtZXMgYmxvY2tzIGZvciBzdXBwb3J0ZWQgcHJlZml4ZXMsIHJlbW92aW5nIHJlZHVuZGFudCBwcmVmaXhlcyBpbiB0aGUgYmxvY2sncyBjb250ZW50XG5AbWl4aW4ga2V5ZnJhbWVzKCRuYW1lKSB7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdDogICAgJHByZWZpeC1mb3Itd2Via2l0O1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhOiAgICRwcmVmaXgtZm9yLW1vemlsbGE7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1pY3Jvc29mdDogJHByZWZpeC1mb3ItbWljcm9zb2Z0O1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1vcGVyYTogICAgICRwcmVmaXgtZm9yLW9wZXJhO1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjOiAgICAgICRwcmVmaXgtZm9yLXNwZWM7XG5cbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdCB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpO1xuICAgICRwcmVmaXgtZm9yLXdlYmtpdDogdHJ1ZSAhZ2xvYmFsO1xuICAgIEAtd2Via2l0LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGEge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKTtcbiAgICAkcHJlZml4LWZvci1tb3ppbGxhOiB0cnVlICFnbG9iYWw7XG4gICAgQC1tb3ota2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gICRwcmVmaXgtZm9yLXdlYmtpdDogICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0ICAgICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1vemlsbGE6ICAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYSAgICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1pY3Jvc29mdDogJG9yaWdpbmFsLXByZWZpeC1mb3ItbWljcm9zb2Z0ICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itb3BlcmEgICAgICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLXNwZWM6ICAgICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYyAgICAgICFnbG9iYWw7XG5cbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWMge1xuICAgIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gbGluZWFyLWdyYWRpZW50KCRwb3MsICRHMSwgJEcyOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkRzM6IG51bGwsICRHNDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJEc1OiBudWxsLCAkRzY6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRHNzogbnVsbCwgJEc4OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkRzk6IG51bGwsICRHMTA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRmYWxsYmFjazogbnVsbCkge1xuICAvLyBEZXRlY3Qgd2hhdCB0eXBlIG9mIHZhbHVlIGV4aXN0cyBpbiAkcG9zXG4gICRwb3MtdHlwZTogdHlwZS1vZihudGgoJHBvcywgMSkpO1xuICAkcG9zLXNwZWM6IG51bGw7XG4gICRwb3MtZGVncmVlOiBudWxsO1xuXG4gIC8vIElmICRwb3MgaXMgbWlzc2luZyBmcm9tIG1peGluLCByZWFzc2lnbiB2YXJzIGFuZCBhZGQgZGVmYXVsdCBwb3NpdGlvblxuICBAaWYgKCRwb3MtdHlwZSA9PSBjb2xvcikgb3IgKG50aCgkcG9zLCAxKSA9PSBcInRyYW5zcGFyZW50XCIpICB7XG4gICAgJEcxMDogJEc5OyAkRzk6ICRHODsgJEc4OiAkRzc7ICRHNzogJEc2OyAkRzY6ICRHNTtcbiAgICAgJEc1OiAkRzQ7ICRHNDogJEczOyAkRzM6ICRHMjsgJEcyOiAkRzE7ICRHMTogJHBvcztcbiAgICAgJHBvczogbnVsbDtcbiAgfVxuXG4gIEBpZiAkcG9zIHtcbiAgICAkcG9zaXRpb25zOiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJHBvcyk7XG4gICAgJHBvcy1kZWdyZWU6IG50aCgkcG9zaXRpb25zLCAxKTtcbiAgICAkcG9zLXNwZWM6ICAgbnRoKCRwb3NpdGlvbnMsIDIpO1xuICB9XG5cbiAgJGZ1bGw6ICRHMSwgJEcyLCAkRzMsICRHNCwgJEc1LCAkRzYsICRHNywgJEc4LCAkRzksICRHMTA7XG5cbiAgLy8gU2V0ICRHMSBhcyB0aGUgZGVmYXVsdCBmYWxsYmFjayBjb2xvclxuICAkZmFsbGJhY2stY29sb3I6IG50aCgkRzEsIDEpO1xuXG4gIC8vIElmICRmYWxsYmFjayBpcyBhIGNvbG9yIHVzZSB0aGF0IGNvbG9yIGFzIHRoZSBmYWxsYmFjayBjb2xvclxuICBAaWYgKHR5cGUtb2YoJGZhbGxiYWNrKSA9PSBjb2xvcikgb3IgKCRmYWxsYmFjayA9PSBcInRyYW5zcGFyZW50XCIpIHtcbiAgICAkZmFsbGJhY2stY29sb3I6ICRmYWxsYmFjaztcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRmYWxsYmFjay1jb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJHBvcy1kZWdyZWUgJGZ1bGwpOyAvLyBTYWZhcmkgNS4xKywgQ2hyb21lXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVucXVvdGUoXCJsaW5lYXItZ3JhZGllbnQoI3skcG9zLXNwZWN9I3skZnVsbH0pXCIpO1xufVxuIiwiQG1peGluIHBlcnNwZWN0aXZlKCRkZXB0aDogbm9uZSkge1xuICAvLyBub25lIHwgPGxlbmd0aD5cbiAgQGluY2x1ZGUgcHJlZml4ZXIocGVyc3BlY3RpdmUsICRkZXB0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIHBlcnNwZWN0aXZlLW9yaWdpbigkdmFsdWU6IDUwJSA1MCUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIocGVyc3BlY3RpdmUtb3JpZ2luLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gcGxhY2Vob2xkZXIge1xuICAkcGxhY2Vob2xkZXJzOiBcIjotd2Via2l0LWlucHV0XCIgXCI6LW1velwiIFwiLW1velwiIFwiLW1zLWlucHV0XCI7XG4gIEBlYWNoICRwbGFjZWhvbGRlciBpbiAkcGxhY2Vob2xkZXJzIHtcbiAgICAmOiN7JHBsYWNlaG9sZGVyfS1wbGFjZWhvbGRlciB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFJlcXVpcmVzIFNhc3MgMy4xK1xuQG1peGluIHJhZGlhbC1ncmFkaWVudCgkRzEsICAgICAgICAkRzIsXG4gICAgICAgICAgICAgICAgICAgICAgICRHMzogbnVsbCwgJEc0OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkRzU6IG51bGwsICRHNjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJEc3OiBudWxsLCAkRzg6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRHOTogbnVsbCwgJEcxMDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJHBvczogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJHNoYXBlLXNpemU6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRmYWxsYmFjazogbnVsbCkge1xuXG4gICRkYXRhOiBfcmFkaWFsLWFyZy1wYXJzZXIoJEcxLCAkRzIsICRwb3MsICRzaGFwZS1zaXplKTtcbiAgJEcxOiAgbnRoKCRkYXRhLCAxKTtcbiAgJEcyOiAgbnRoKCRkYXRhLCAyKTtcbiAgJHBvczogbnRoKCRkYXRhLCAzKTtcbiAgJHNoYXBlLXNpemU6IG50aCgkZGF0YSwgNCk7XG5cbiAgJGZ1bGw6ICRHMSwgJEcyLCAkRzMsICRHNCwgJEc1LCAkRzYsICRHNywgJEc4LCAkRzksICRHMTA7XG5cbiAgLy8gU3RyaXAgZGVwcmVjYXRlZCBjb3Zlci9jb250YWluIGZvciBzcGVjXG4gICRzaGFwZS1zaXplLXNwZWM6IF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKTtcblxuICAvLyBTZXQgJEcxIGFzIHRoZSBkZWZhdWx0IGZhbGxiYWNrIGNvbG9yXG4gICRmaXJzdC1jb2xvcjogbnRoKCRmdWxsLCAxKTtcbiAgJGZhbGxiYWNrLWNvbG9yOiBudGgoJGZpcnN0LWNvbG9yLCAxKTtcblxuICBAaWYgKHR5cGUtb2YoJGZhbGxiYWNrKSA9PSBjb2xvcikgb3IgKCRmYWxsYmFjayA9PSBcInRyYW5zcGFyZW50XCIpIHtcbiAgICAkZmFsbGJhY2stY29sb3I6ICRmYWxsYmFjaztcbiAgfVxuXG4gIC8vIEFkZCBDb21tYXMgYW5kIHNwYWNlc1xuICAkc2hhcGUtc2l6ZTogaWYoJHNoYXBlLXNpemUsICcjeyRzaGFwZS1zaXplfSwgJywgbnVsbCk7XG4gICRwb3M6ICAgICAgICBpZigkcG9zLCAnI3skcG9zfSwgJywgbnVsbCk7XG4gICRwb3Mtc3BlYzogICBpZigkcG9zLCAnYXQgI3skcG9zfScsIG51bGwpO1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBpZigoJHNoYXBlLXNpemUtc3BlYyAhPSAnICcpIGFuZCAoJHBvcyA9PSBudWxsKSwgJyN7JHNoYXBlLXNpemUtc3BlY30sICcsICcjeyRzaGFwZS1zaXplLXNwZWN9ICcpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICAkZmFsbGJhY2stY29sb3I7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KHVucXVvdGUoI3skcG9zfSN7JHNoYXBlLXNpemV9I3skZnVsbH0pKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdW5xdW90ZShcInJhZGlhbC1ncmFkaWVudCgjeyRzaGFwZS1zaXplLXNwZWN9I3skcG9zLXNwZWN9I3skZnVsbH0pXCIpO1xufVxuIiwiQG1peGluIHNlbGVjdGlvbiB7XG4gICRiZWZvcmUtY29sb25zOiBcIlwiO1xuXG4gIEBpZiAmIHtcbiAgICAkYmVmb3JlLWNvbG9uczogXCImXCJcbiAgfVxuXG4gICN7JGJlZm9yZS1jb2xvbnN9OjpzZWxlY3Rpb24ge1xuICAgIEBjb250ZW50O1xuICB9XG4gICN7JGJlZm9yZS1jb2xvbnN9OjotbW96LXNlbGVjdGlvbiB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn0iLCJAbWl4aW4gdGV4dC1kZWNvcmF0aW9uKCR2YWx1ZSkge1xuLy8gPHRleHQtZGVjb3JhdGlvbi1saW5lPiB8fCA8dGV4dC1kZWNvcmF0aW9uLXN0eWxlPiB8fCA8dGV4dC1kZWNvcmF0aW9uLWNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24sICR2YWx1ZSwgbW96KTtcbn1cblxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1saW5lKCRsaW5lOiBub25lKSB7XG4vLyBub25lIHx8IHVuZGVybGluZSB8fCBvdmVybGluZSB8fCBsaW5lLXRocm91Z2hcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLWxpbmUsICRsaW5lLCBtb3opO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLXN0eWxlKCRzdHlsZTogc29saWQpIHtcbi8vIHNvbGlkIHx8IGRvdWJsZSB8fCBkb3R0ZWQgfHwgZGFzaGVkIHx8IHdhdnlcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLXN0eWxlLCAkc3R5bGUsIG1veiB3ZWJraXQpO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLWNvbG9yKCRjb2xvcjogY3VycmVudENvbG9yKSB7XG4vLyBjdXJyZW50Q29sb3IgfHwgPGNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tY29sb3IsICRjb2xvciwgbW96KTtcbn1cbiIsIkBtaXhpbiB0cmFuc2Zvcm0oJHByb3BlcnR5OiBub25lKSB7XG4vLyAgbm9uZSB8IDx0cmFuc2Zvcm0tZnVuY3Rpb24+XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybSwgJHByb3BlcnR5LCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKCRheGVzOiA1MCUpIHtcbi8vIHgtYXhpcyAtIGxlZnQgfCBjZW50ZXIgfCByaWdodCAgfCBsZW5ndGggfCAlXG4vLyB5LWF4aXMgLSB0b3AgIHwgY2VudGVyIHwgYm90dG9tIHwgbGVuZ3RoIHwgJVxuLy8gei1heGlzIC0gICAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aFxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0tb3JpZ2luLCAkYXhlcywgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNmb3JtLXN0eWxlICgkc3R5bGU6IGZsYXQpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cbiIsIi8vIFNob3J0aGFuZCBtaXhpbi4gU3VwcG9ydHMgbXVsdGlwbGUgcGFyZW50aGVzZXMtZGVsaW1pbmF0ZWQgdmFsdWVzIGZvciBlYWNoIHZhcmlhYmxlLlxuLy8gRXhhbXBsZTogQGluY2x1ZGUgdHJhbnNpdGlvbiAoYWxsIDJzIGVhc2UtaW4tb3V0KTtcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24gKG9wYWNpdHkgMXMgZWFzZS1pbiAycywgd2lkdGggMnMgZWFzZS1vdXQpO1xuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eSAodHJhbnNmb3JtLCBvcGFjaXR5KTtcblxuQG1peGluIHRyYW5zaXRpb24gKCRwcm9wZXJ0aWVzLi4uKSB7XG4gIC8vIEZpeCBmb3IgdmVuZG9yLXByZWZpeCB0cmFuc2Zvcm0gcHJvcGVydHlcbiAgJG5lZWRzLXByZWZpeGVzOiBmYWxzZTtcbiAgJHdlYmtpdDogKCk7XG4gICRtb3o6ICgpO1xuICAkc3BlYzogKCk7XG5cbiAgLy8gQ3JlYXRlIGxpc3RzIGZvciB2ZW5kb3ItcHJlZml4ZWQgdHJhbnNmb3JtXG4gIEBlYWNoICRsaXN0IGluICRwcm9wZXJ0aWVzIHtcbiAgICBAaWYgbnRoKCRsaXN0LCAxKSA9PSBcInRyYW5zZm9ybVwiIHtcbiAgICAgICRuZWVkcy1wcmVmaXhlczogdHJ1ZTtcbiAgICAgICRsaXN0MTogLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgICAkbGlzdDI6IC1tb3otdHJhbnNmb3JtO1xuICAgICAgJGxpc3QzOiAoKTtcblxuICAgICAgQGVhY2ggJHZhciBpbiAkbGlzdCB7XG4gICAgICAgICRsaXN0Mzogam9pbigkbGlzdDMsICR2YXIpO1xuXG4gICAgICAgIEBpZiAkdmFyICE9IFwidHJhbnNmb3JtXCIge1xuICAgICAgICAgICRsaXN0MTogam9pbigkbGlzdDEsICR2YXIpO1xuICAgICAgICAgICRsaXN0Mjogam9pbigkbGlzdDIsICR2YXIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICR3ZWJraXQ6IGFwcGVuZCgkd2Via2l0LCAkbGlzdDEpO1xuICAgICAgICAgJG1vejogYXBwZW5kKCRtb3osICAgICRsaXN0Mik7XG4gICAgICAgICRzcGVjOiBhcHBlbmQoJHNwZWMsICAgJGxpc3QzKTtcbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgbGlzdHMgZm9yIG5vbi1wcmVmaXhlZCB0cmFuc2l0aW9uIHByb3BlcnRpZXNcbiAgICBAZWxzZSB7XG4gICAgICAkd2Via2l0OiAgYXBwZW5kKCR3ZWJraXQsICRsaXN0LCBjb21tYSk7XG4gICAgICAkbW96OiAgICAgYXBwZW5kKCRtb3osICAgICRsaXN0LCBjb21tYSk7XG4gICAgICAkc3BlYzogICAgYXBwZW5kKCRzcGVjLCAgICRsaXN0LCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICRuZWVkcy1wcmVmaXhlcyB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAkd2Via2l0O1xuICAgICAgIC1tb3otdHJhbnNpdGlvbjogJG1vejtcbiAgICAgICAgICAgIHRyYW5zaXRpb246ICRzcGVjO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgbGVuZ3RoKCRwcm9wZXJ0aWVzKSA+PSAxIHtcbiAgICAgIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24sICRwcm9wZXJ0aWVzLCB3ZWJraXQgbW96IHNwZWMpO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICRwcm9wZXJ0aWVzOiBhbGwgMC4xNXMgZWFzZS1vdXQgMHM7XG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkgKCRwcm9wZXJ0aWVzLi4uKSB7XG4gICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsICd3ZWJraXQnKTtcbiAgICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgJ21veicpO1xuICAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBmYWxzZSk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uICgkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi1kdXJhdGlvbiwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24gKCRtb3Rpb25zLi4uKSB7XG4vLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXQgfCBjdWJpYy1iZXppZXIoKVxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5ICgkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi1kZWxheSwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiQG1peGluIHVzZXItc2VsZWN0KCRhcmc6IG5vbmUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodXNlci1zZWxlY3QsICRhcmcsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG4iLCIvLyBUaGUgY2xlYXJmaXggbWl4aW4gcHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gY29udGFpbiBmbG9hdHNcbi8vXG4vLyBFeGFtcGxlIHVzYWdlOlxuLy8gLndyYXBwZXIge1xuLy8gICBAaW5jbHVkZSBjbGVhcmZpeDtcbi8vIH1cblxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cbn1cblxuLy8gQWNrbm93bGVkZ2VtZW50czpcbi8vIFRoaWVycnkgS29ibGVudHosIGNzc21vam9cbi8vIGh0dHA6Ly9nb28uZ2wvQVFXdnlIXG4iLCIvLyBkaXJlY3Rpb25hbC1wcm9wZXJ0eSBtaXhpbnMgYXJlIHNob3J0aGFuZHNcbi8vIGZvciB3cml0aW5nIHByb3BlcnRpZXMgbGlrZSB0aGUgZm9sbG93aW5nXG4vL1xuLy8gQGluY2x1ZGUgbWFyZ2luKG51bGwgMCAxMHB4KTtcbi8vIC0tLS0tLVxuLy8gbWFyZ2luLXJpZ2h0OiAwO1xuLy8gbWFyZ2luLWJvdHRvbTogMTBweDtcbi8vIG1hcmdpbi1sZWZ0OiAwO1xuLy9cbi8vIC0gb3IgLVxuLy9cbi8vIEBpbmNsdWRlIGJvcmRlci1zdHlsZShkb3R0ZWQgbnVsbCk7XG4vLyAtLS0tLS1cbi8vIGJvcmRlci10b3Atc3R5bGU6IGRvdHRlZDtcbi8vIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDtcbi8vXG4vLyAtLS0tLS1cbi8vXG4vLyBOb3RlOiBZb3UgY2FuIGFsc28gdXNlIGZhbHNlIGluc3RlYWQgb2YgbnVsbFxuXG5AZnVuY3Rpb24gY29sbGFwc2UtZGlyZWN0aW9uYWxzKCR2YWxzKSB7XG4gICRvdXRwdXQ6IG51bGw7XG5cbiAgJEE6IG50aCggJHZhbHMsIDEgKTtcbiAgJEI6IGlmKCBsZW5ndGgoJHZhbHMpIDwgMiwgJEEsIG50aCgkdmFscywgMikpO1xuICAkQzogaWYoIGxlbmd0aCgkdmFscykgPCAzLCAkQSwgbnRoKCR2YWxzLCAzKSk7XG4gICREOiBpZiggbGVuZ3RoKCR2YWxzKSA8IDIsICRBLCBudGgoJHZhbHMsIGlmKCBsZW5ndGgoJHZhbHMpIDwgNCwgMiwgNCkgKSk7XG5cbiAgQGlmICRBID09IDAgeyAkQTogMCB9XG4gIEBpZiAkQiA9PSAwIHsgJEI6IDAgfVxuICBAaWYgJEMgPT0gMCB7ICRDOiAwIH1cbiAgQGlmICREID09IDAgeyAkRDogMCB9XG5cbiAgQGlmICRBID09ICRCIGFuZCAkQSA9PSAkQyBhbmQgJEEgPT0gJEQgeyAkb3V0cHV0OiAkQSAgICAgICAgICB9XG4gIEBlbHNlIGlmICRBID09ICRDIGFuZCAkQiA9PSAkRCAgICAgICAgIHsgJG91dHB1dDogJEEgJEIgICAgICAgfVxuICBAZWxzZSBpZiAkQiA9PSAkRCAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRBICRCICRDICAgIH1cbiAgQGVsc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkQSAkQiAkQyAkRCB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG5AZnVuY3Rpb24gY29udGFpbnMtZmFsc3koJGxpc3QpIHtcbiAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgIEBpZiBub3QgJGl0ZW0ge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBkaXJlY3Rpb25hbC1wcm9wZXJ0eSgkcHJlLCAkc3VmLCAkdmFscykge1xuICAvLyBQcm9wZXJ0eSBOYW1lc1xuICAkdG9wOiAgICAkcHJlICsgXCItdG9wXCIgICAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkYm90dG9tOiAkcHJlICsgXCItYm90dG9tXCIgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkbGVmdDogICAkcHJlICsgXCItbGVmdFwiICAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkcmlnaHQ6ICAkcHJlICsgXCItcmlnaHRcIiAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkYWxsOiAgICAkcHJlICsgICAgICAgICAgICAgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcblxuICAkdmFsczogY29sbGFwc2UtZGlyZWN0aW9uYWxzKCR2YWxzKTtcblxuICBAaWYgY29udGFpbnMtZmFsc3koJHZhbHMpIHtcbiAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JHRvcH06IG50aCgkdmFscywgMSk7IH1cblxuICAgIEBpZiBsZW5ndGgoJHZhbHMpID09IDEge1xuICAgICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyRyaWdodH06IG50aCgkdmFscywgMSk7IH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skcmlnaHR9OiBudGgoJHZhbHMsIDIpOyB9XG4gICAgfVxuXG4gICAgLy8gcHJvcDogdG9wL2JvdHRvbSByaWdodC9sZWZ0XG4gICAgQGlmIGxlbmd0aCgkdmFscykgPT0gMiB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMSk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCAyKTsgfVxuXG4gICAgLy8gcHJvcDogdG9wIHJpZ2h0L2xlZnQgYm90dG9tXG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHMpID09IDMge1xuICAgICAgQGlmIG50aCgkdmFscywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDMpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgMik7IH1cblxuICAgIC8vIHByb3A6IHRvcCByaWdodCBib3R0b20gbGVmdFxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWxzKSA9PSA0IHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDMpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAzKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgNCkgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDQpOyB9XG4gICAgfVxuXG4gIC8vIHByb3A6IHRvcC9yaWdodC9ib3R0b20vbGVmdFxuICB9IEBlbHNlIHtcbiAgICAjeyRhbGx9OiAkdmFscztcbiAgfVxufVxuXG5AbWl4aW4gbWFyZ2luKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KG1hcmdpbiwgZmFsc2UsICR2YWxzLi4uKTtcbn1cblxuQG1peGluIHBhZGRpbmcoJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkocGFkZGluZywgZmFsc2UsICR2YWxzLi4uKTtcbn1cblxuQG1peGluIGJvcmRlci1zdHlsZSgkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHN0eWxlLCAkdmFscy4uLik7XG59XG5cbkBtaXhpbiBib3JkZXItY29sb3IoJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCBjb2xvciwgJHZhbHMuLi4pO1xufVxuXG5AbWl4aW4gYm9yZGVyLXdpZHRoKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgd2lkdGgsICR2YWxzLi4uKTtcbn1cbiIsIkBtaXhpbiBlbGxpcHNpcygkd2lkdGg6IDEwMCUpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuIiwiJGdlb3JnaWE6IEdlb3JnaWEsIENhbWJyaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZjtcbiRoZWx2ZXRpY2E6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGx1Y2lkYS1ncmFuZGU6IFwiTHVjaWRhIEdyYW5kZVwiLCBUYWhvbWEsIFZlcmRhbmEsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJG1vbm9zcGFjZTogXCJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm9cIiwgQ29uc29sYXMsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiR2ZXJkYW5hOiBWZXJkYW5hLCBHZW5ldmEsIHNhbnMtc2VyaWY7XG4iLCJAbWl4aW4gaGlkZS10ZXh0KCRoZWlnaHQ6IDFlbSkge1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gR2VuZXJhdGUgYSB2YXJpYWJsZSAoJGFsbC10ZXh0LWlucHV0cykgd2l0aCBhIGxpc3Qgb2YgYWxsIGh0bWw1XG4vLyBpbnB1dCB0eXBlcyB0aGF0IGhhdmUgYSB0ZXh0LWJhc2VkIGlucHV0LCBleGNsdWRpbmcgdGV4dGFyZWEuXG4vLyBodHRwOi8vZGl2ZWludG9odG1sNS5vcmcvZm9ybXMuaHRtbFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuJGlucHV0cy1saXN0OiAnaW5wdXRbdHlwZT1cImVtYWlsXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJudW1iZXJcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJzZWFyY2hcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRlbFwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGV4dFwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidXJsXCJdJyxcblxuICAgICAgICAgICAgICAvLyBXZWJraXQgJiBHZWNrbyBtYXkgY2hhbmdlIHRoZSBkaXNwbGF5IG9mIHRoZXNlIGluIHRoZSBmdXR1cmVcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJjb2xvclwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZVwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJtb250aFwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGltZVwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwid2Vla1wiXSc7XG5cbi8vIEJhcmUgaW5wdXRzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kYWxsLXRleHQtaW5wdXRzOiBhc3NpZ24taW5wdXRzKCRpbnB1dHMtbGlzdCk7XG5cbi8vIEhvdmVyIFBzZXVkby1jbGFzc1xuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuJGFsbC10ZXh0LWlucHV0cy1ob3ZlcjogYXNzaWduLWlucHV0cygkaW5wdXRzLWxpc3QsIGhvdmVyKTtcblxuLy8gRm9jdXMgUHNldWRvLWNsYXNzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kYWxsLXRleHQtaW5wdXRzLWZvY3VzOiBhc3NpZ24taW5wdXRzKCRpbnB1dHMtbGlzdCwgZm9jdXMpO1xuXG5cblxuLy8gWW91IG11c3QgdXNlIGludGVycG9sYXRpb24gb24gdGhlIHZhcmlhYmxlOlxuLy8gI3skYWxsLXRleHQtaW5wdXRzfVxuLy8gI3skYWxsLXRleHQtaW5wdXRzLWhvdmVyfVxuLy8gI3skYWxsLXRleHQtaW5wdXRzLWZvY3VzfVxuXG4vLyBFeGFtcGxlXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyAgICN7JGFsbC10ZXh0LWlucHV0c30sIHRleHRhcmVhIHtcbi8vICAgICBib3JkZXI6IDFweCBzb2xpZCByZWQ7XG4vLyAgIH1cblxuXG5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEdlbmVyYXRlIGEgdmFyaWFibGUgKCRhbGwtYnV0dG9uLWlucHV0cykgd2l0aCBhIGxpc3Qgb2YgYWxsIGh0bWw1XG4vLyBpbnB1dCB0eXBlcyB0aGF0IGhhdmUgYSBidXR0b24tYmFzZWQgaW5wdXQsIGV4Y2x1ZGluZyBidXR0b24uXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kaW5wdXRzLWJ1dHRvbi1saXN0OiAnaW5wdXRbdHlwZT1cImJ1dHRvblwiXScsXG4gICAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInJlc2V0XCJdJyxcbiAgICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwic3VibWl0XCJdJztcblxuLy8gQmFyZSBpbnB1dHNcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtYnV0dG9uLWlucHV0czogYXNzaWduLWlucHV0cygkaW5wdXRzLWJ1dHRvbi1saXN0KTtcblxuLy8gSG92ZXIgUHNldWRvLWNsYXNzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXI6IGFzc2lnbi1pbnB1dHMoJGlucHV0cy1idXR0b24tbGlzdCwgaG92ZXIpO1xuXG4vLyBGb2N1cyBQc2V1ZG8tY2xhc3Ncbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtYnV0dG9uLWlucHV0cy1mb2N1czogYXNzaWduLWlucHV0cygkaW5wdXRzLWJ1dHRvbi1saXN0LCBmb2N1cyk7XG5cbi8vIEFjdGl2ZSBQc2V1ZG8tY2xhc3Ncbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtYnV0dG9uLWlucHV0cy1hY3RpdmU6IGFzc2lnbi1pbnB1dHMoJGlucHV0cy1idXR0b24tbGlzdCwgYWN0aXZlKTtcblxuXG5cbi8vIFlvdSBtdXN0IHVzZSBpbnRlcnBvbGF0aW9uIG9uIHRoZSB2YXJpYWJsZTpcbi8vICN7JGFsbC1idXR0b24taW5wdXRzfVxuLy8gI3skYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXJ9XG4vLyAjeyRhbGwtYnV0dG9uLWlucHV0cy1mb2N1c31cbi8vICN7JGFsbC1idXR0b24taW5wdXRzLWFjdGl2ZX1cblxuLy8gRXhhbXBsZVxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gICAjeyRhbGwtYnV0dG9uLWlucHV0c30sIGJ1dHRvbiB7XG4vLyAgICAgYm9yZGVyOiAxcHggc29saWQgcmVkO1xuLy8gICB9XG4iLCJAbWl4aW4gcG9zaXRpb24gKCRwb3NpdGlvbjogcmVsYXRpdmUsICRjb29yZGluYXRlczogbnVsbCBudWxsIG51bGwgbnVsbCkge1xuXG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gbGlzdCB7XG4gICAgJGNvb3JkaW5hdGVzOiAkcG9zaXRpb247XG4gICAgJHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICRjb29yZGluYXRlczogdW5wYWNrKCRjb29yZGluYXRlcyk7XG5cbiAgJHRvcDogbnRoKCRjb29yZGluYXRlcywgMSk7XG4gICRyaWdodDogbnRoKCRjb29yZGluYXRlcywgMik7XG4gICRib3R0b206IG50aCgkY29vcmRpbmF0ZXMsIDMpO1xuICAkbGVmdDogbnRoKCRjb29yZGluYXRlcywgNCk7XG5cbiAgcG9zaXRpb246ICRwb3NpdGlvbjtcblxuICBAaWYgKCR0b3AgYW5kICR0b3AgPT0gYXV0bykgb3IgKHR5cGUtb2YoJHRvcCkgPT0gbnVtYmVyKSB7XG4gICAgdG9wOiAkdG9wO1xuICB9XG5cbiAgQGlmICgkcmlnaHQgYW5kICRyaWdodCA9PSBhdXRvKSBvciAodHlwZS1vZigkcmlnaHQpID09IG51bWJlcikge1xuICAgIHJpZ2h0OiAkcmlnaHQ7XG4gIH1cblxuICBAaWYgKCRib3R0b20gYW5kICRib3R0b20gPT0gYXV0bykgb3IgKHR5cGUtb2YoJGJvdHRvbSkgPT0gbnVtYmVyKSB7XG4gICAgYm90dG9tOiAkYm90dG9tO1xuICB9XG5cbiAgQGlmICgkbGVmdCBhbmQgJGxlZnQgPT0gYXV0bykgb3IgKHR5cGUtb2YoJGxlZnQpID09IG51bWJlcikge1xuICAgIGxlZnQ6ICRsZWZ0O1xuICB9XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBFeGFtcGxlOiBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItcmFkaXVzLCAkcmFkaWksIHdlYmtpdCBtcyBzcGVjKTtcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIFZhcmlhYmxlcyBsb2NhdGVkIGluIC9zZXR0aW5ncy9fcHJlZml4ZXIuc2Nzc1xuXG5AbWl4aW4gcHJlZml4ZXIgKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXMpIHtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgIEBpZiAkcHJlZml4ID09IHdlYmtpdCB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itd2Via2l0IHtcbiAgICAgICAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHByZWZpeCA9PSBtb3oge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1vemlsbGEge1xuICAgICAgICAtbW96LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IG1zIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1taWNyb3NvZnQge1xuICAgICAgICAtbXMtI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRwcmVmaXggPT0gbyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itb3BlcmEge1xuICAgICAgICAtby0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHByZWZpeCA9PSBzcGVjIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1zcGVjIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlICB7XG4gICAgICBAd2FybiBcIlVucmVjb2duaXplZCBwcmVmaXg6ICN7JHByZWZpeH1cIjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKSB7XG4gICRwcmVmaXgtZm9yLXdlYmtpdDogICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6IGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICBmYWxzZSAhZ2xvYmFsO1xufVxuIiwiQG1peGluIHJldGluYS1pbWFnZSgkZmlsZW5hbWUsICRiYWNrZ3JvdW5kLXNpemUsICRleHRlbnNpb246IHBuZywgJHJldGluYS1maWxlbmFtZTogbnVsbCwgJHJldGluYS1zdWZmaXg6IF8yeCwgJGFzc2V0LXBpcGVsaW5lOiAkYXNzZXQtcGlwZWxpbmUpIHtcbiAgQGlmICRhc3NldC1waXBlbGluZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICAgICAgIHVybChcIiN7JGZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICB9XG5cbiAgQGluY2x1ZGUgaGlkcGkge1xuICAgIEBpZiAkYXNzZXQtcGlwZWxpbmUge1xuICAgICAgQGlmICRyZXRpbmEtZmlsZW5hbWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoXCIjeyRyZXRpbmEtZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JGZpbGVuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgQGlmICRyZXRpbmEtZmlsZW5hbWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRyZXRpbmEtZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JGZpbGVuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1zaXplOiAkYmFja2dyb3VuZC1zaXplO1xuXG4gIH1cbn1cbiIsIi8vIFNldCBgd2lkdGhgIGFuZCBgaGVpZ2h0YCBpbiBhIHNpbmdsZSBzdGF0ZW1lbnRcblxuQG1peGluIHNpemUoJHZhbHVlKSB7XG4gICR3aWR0aDogbnRoKCR2YWx1ZSwgMSk7XG4gICRoZWlnaHQ6ICR3aWR0aDtcblxuICBAaWYgbGVuZ3RoKCR2YWx1ZSkgPiAxIHtcbiAgICAkaGVpZ2h0OiBudGgoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBpZiBpcy1zaXplKCRoZWlnaHQpIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQHdhcm4gXCJgI3skaGVpZ2h0fWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCRoZWlnaHRgIHBhcmFtZXRlciBpbiB0aGUgYHNpemVgIG1peGluLlwiO1xuICB9XG5cbiAgQGlmIGlzLXNpemUoJHdpZHRoKSB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAd2FybiBcImAjeyR3aWR0aH1gIGlzIG5vdCBhIHZhbGlkIGxlbmd0aCBmb3IgdGhlIGAkd2lkdGhgIHBhcmFtZXRlciBpbiB0aGUgYHNpemVgIG1peGluLlwiO1xuICB9XG59XG4iLCIvLyBDU1MgY3ViaWMtYmV6aWVyIHRpbWluZyBmdW5jdGlvbnMuIFRpbWluZyBmdW5jdGlvbnMgY291cnRlc3kgb2YganF1ZXJ5LmVhc2llIChnaXRodWIuY29tL2phdWtpYS9lYXNpZSlcbi8vIFRpbWluZyBmdW5jdGlvbnMgYXJlIHRoZSBzYW1lIGFzIGRlbW8nZWQgaGVyZTogaHR0cDovL2pxdWVyeXVpLmNvbS9yZXNvdXJjZXMvZGVtb3MvZWZmZWN0L2Vhc2luZy5odG1sXG5cbi8vIEVBU0UgSU5cbiRlYXNlLWluLXF1YWQ6ICAgICAgY3ViaWMtYmV6aWVyKDAuNTUwLCAgMC4wODUsIDAuNjgwLCAwLjUzMCk7XG4kZWFzZS1pbi1jdWJpYzogICAgIGN1YmljLWJlemllcigwLjU1MCwgIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuJGVhc2UtaW4tcXVhcnQ6ICAgICBjdWJpYy1iZXppZXIoMC44OTUsICAwLjAzMCwgMC42ODUsIDAuMjIwKTtcbiRlYXNlLWluLXF1aW50OiAgICAgY3ViaWMtYmV6aWVyKDAuNzU1LCAgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4kZWFzZS1pbi1zaW5lOiAgICAgIGN1YmljLWJlemllcigwLjQ3MCwgIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xuJGVhc2UtaW4tZXhwbzogICAgICBjdWJpYy1iZXppZXIoMC45NTAsICAwLjA1MCwgMC43OTUsIDAuMDM1KTtcbiRlYXNlLWluLWNpcmM6ICAgICAgY3ViaWMtYmV6aWVyKDAuNjAwLCAgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XG4kZWFzZS1pbi1iYWNrOiAgICAgIGN1YmljLWJlemllcigwLjYwMCwgLTAuMjgwLCAwLjczNSwgMC4wNDUpO1xuXG4vLyBFQVNFIE9VVFxuJGVhc2Utb3V0LXF1YWQ6ICAgICBjdWJpYy1iZXppZXIoMC4yNTAsICAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcbiRlYXNlLW91dC1jdWJpYzogICAgY3ViaWMtYmV6aWVyKDAuMjE1LCAgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4kZWFzZS1vdXQtcXVhcnQ6ICAgIGN1YmljLWJlemllcigwLjE2NSwgIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xuJGVhc2Utb3V0LXF1aW50OiAgICBjdWJpYy1iZXppZXIoMC4yMzAsICAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcbiRlYXNlLW91dC1zaW5lOiAgICAgY3ViaWMtYmV6aWVyKDAuMzkwLCAgMC41NzUsIDAuNTY1LCAxLjAwMCk7XG4kZWFzZS1vdXQtZXhwbzogICAgIGN1YmljLWJlemllcigwLjE5MCwgIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xuJGVhc2Utb3V0LWNpcmM6ICAgICBjdWJpYy1iZXppZXIoMC4wNzUsICAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcbiRlYXNlLW91dC1iYWNrOiAgICAgY3ViaWMtYmV6aWVyKDAuMTc1LCAgMC44ODUsIDAuMzIwLCAxLjI3NSk7XG5cbi8vIEVBU0UgSU4gT1VUXG4kZWFzZS1pbi1vdXQtcXVhZDogIGN1YmljLWJlemllcigwLjQ1NSwgIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xuJGVhc2UtaW4tb3V0LWN1YmljOiBjdWJpYy1iZXppZXIoMC42NDUsICAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1xdWFydDogY3ViaWMtYmV6aWVyKDAuNzcwLCAgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtcXVpbnQ6IGN1YmljLWJlemllcigwLjg2MCwgIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXNpbmU6ICBjdWJpYy1iZXppZXIoMC40NDUsICAwLjA1MCwgMC41NTAsIDAuOTUwKTtcbiRlYXNlLWluLW91dC1leHBvOiAgY3ViaWMtYmV6aWVyKDEuMDAwLCAgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtY2lyYzogIGN1YmljLWJlemllcigwLjc4NSwgIDAuMTM1LCAwLjE1MCwgMC44NjApO1xuJGVhc2UtaW4tb3V0LWJhY2s6ICBjdWJpYy1iZXppZXIoMC42ODAsIC0wLjU1MCwgMC4yNjUsIDEuNTUwKTtcbiIsIkBtaXhpbiB0cmlhbmdsZSAoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbikge1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuXG4gICR3aWR0aDogbnRoKCRzaXplLCAxKTtcbiAgJGhlaWdodDogbnRoKCRzaXplLCBsZW5ndGgoJHNpemUpKTtcblxuICAkZm9yZWdyb3VuZC1jb2xvcjogbnRoKCRjb2xvciwgMSk7XG4gICRiYWNrZ3JvdW5kLWNvbG9yOiBpZihsZW5ndGgoJGNvbG9yKSA9PSAyLCBudGgoJGNvbG9yLCAyKSwgdHJhbnNwYXJlbnQpO1xuXG4gIEBpZiAoJGRpcmVjdGlvbiA9PSB1cCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bikgb3IgKCRkaXJlY3Rpb24gPT0gcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGxlZnQpIHtcblxuICAgICR3aWR0aDogJHdpZHRoIC8gMjtcbiAgICAkaGVpZ2h0OiBpZihsZW5ndGgoJHNpemUpID4gMSwgJGhlaWdodCwgJGhlaWdodC8yKTtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICgkZGlyZWN0aW9uID09IHVwLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSB1cC1sZWZ0KSB7XG4gICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0KSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24tcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG5cbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXVwKSB7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gIH1cblxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1kb3duKSB7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gIH1cblxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1yaWdodCkge1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICB9XG5cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtbGVmdCkge1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICB9XG59XG4iLCJAbWl4aW4gd29yZC13cmFwKCR3cmFwOiBicmVhay13b3JkKSB7XG4gIHdvcmQtd3JhcDogJHdyYXA7XG5cbiAgQGlmICR3cmFwID09IGJyZWFrLXdvcmQge1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICB9XG59XG4iLCIvLyBUaGUgZm9sbG93aW5nIGZlYXR1cmVzIGhhdmUgYmVlbiBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgTUFKT1IgdmVyc2lvbiByZWxlYXNlXG5cbkBtaXhpbiBpbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgQHdhcm4gXCJUaGUgaW5saW5lLWJsb2NrIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuQG1peGluIGJ1dHRvbiAoJHN0eWxlOiBzaW1wbGUsICRiYXNlLWNvbG9yOiAjNDI5NGYwLCAkdGV4dC1zaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IHN0cmluZyBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gc3RyaW5nIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBudW1iZXIge1xuICAgICRwYWRkaW5nOiAkdGV4dC1zaXplO1xuICAgICR0ZXh0LXNpemU6ICRiYXNlLWNvbG9yO1xuICAgICRiYXNlLWNvbG9yOiAjNDI5NGYwO1xuXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IGNvbG9yIHtcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xuICAgICRzdHlsZTogc2ltcGxlO1xuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICR0ZXh0LXNpemU7XG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XG4gICAgJGJhc2UtY29sb3I6ICRzdHlsZTtcbiAgICAkc3R5bGU6IHNpbXBsZTtcblxuICAgIEBpZiAkcGFkZGluZyA9PSBpbmhlcml0IHtcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICRiYXNlLWNvbG9yO1xuICAgICR0ZXh0LXNpemU6ICRzdHlsZTtcbiAgICAkYmFzZS1jb2xvcjogIzQyOTRmMDtcbiAgICAkc3R5bGU6IHNpbXBsZTtcblxuICAgIEBpZiAkcGFkZGluZyA9PSAjNDI5NGYwIHtcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gIEB3YXJuIFwiVGhlIGJ1dHRvbiBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG5cbi8vIFNlbGVjdG9yIFN0eWxlIEJ1dHRvblxuQG1peGluIGJ1dHRvbnN0eWxlKCR0eXBlLCAkYi1jb2xvciwgJHQtc2l6ZSwgJHBhZCkge1xuICAvLyBHcmF5c2NhbGUgYnV0dG9uXG4gIEBpZiAkdHlwZSA9PSBzaW1wbGUgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHNpbXBsZSgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAaWYgJHR5cGUgPT0gc2hpbnkgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHNoaW55KCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBwaWxsIGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBwaWxsKCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBmbGF0IGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBmbGF0KCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIC8vIENvbG9yZWQgYnV0dG9uXG4gIEBpZiAkdHlwZSA9PSBzaW1wbGUge1xuICAgIEBpbmNsdWRlIHNpbXBsZSgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGVsc2UgaWYgJHR5cGUgPT0gc2hpbnkge1xuICAgIEBpbmNsdWRlIHNoaW55KCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBwaWxsIHtcbiAgICBAaW5jbHVkZSBwaWxsKCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBmbGF0IHtcbiAgICBAaW5jbHVkZSBmbGF0KCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cbn1cblxuLy8gU2ltcGxlIEJ1dHRvblxuQG1peGluIHNpbXBsZSgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG4gICRib3JkZXI6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOSUsICAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC04JSwgICRsaWdodG5lc3M6ICAxNSUpO1xuICAkc3RvcC1ncmFkaWVudDogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDklLCAgJGxpZ2h0bmVzczogLTExJSk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgMTUlLCAkbGlnaHRuZXNzOiAtMTglKTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XG4gIH1cblxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAkYm9yZGVyOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXIpO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHN0b3AtZ3JhZGllbnQ6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudCk7XG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xuICB9XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3IsICRzdG9wLWdyYWRpZW50KTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgJHRleHQtc2hhZG93O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNCUsICRsaWdodG5lc3M6IC01JSk7XG4gICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC03JSwgJGxpZ2h0bmVzczogIDUlKTtcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDglLCAkbGlnaHRuZXNzOiAtMTQlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctaG92ZXIpO1xuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3ItaG92ZXIsICRzdG9wLWdyYWRpZW50LWhvdmVyKTtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogOSUsICRsaWdodG5lc3M6IC0xNCUpO1xuICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA3JSwgJGxpZ2h0bmVzczogLTE3JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRib3JkZXItYWN0aXZlOiAgICAgICBncmF5c2NhbGUoJGJvcmRlci1hY3RpdmUpO1xuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1hY3RpdmU7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDhweCA0cHggJGluc2V0LXNoYWRvdy1hY3RpdmUsIGluc2V0IDAgMCA4cHggNHB4ICRpbnNldC1zaGFkb3ctYWN0aXZlO1xuICB9XG59XG5cbi8vIFNoaW55IEJ1dHRvblxuQG1peGluIHNoaW55KCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlcjogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExNywgJGdyZWVuOiAtMTExLCAkYmx1ZTogLTgxKTtcbiAgJGJvcmRlci1ib3R0b206IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTEyNiwgJGdyZWVuOiAtMTI3LCAkYmx1ZTogLTEyMik7XG4gICRmb3VydGgtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC03OSwgICRncmVlbjogLTcwLCAgJGJsdWU6IC00Nik7XG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6ICAzNywgICRncmVlbjogIDI5LCAgJGJsdWU6ICAxMik7XG4gICRzZWNvbmQtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC01NiwgICRncmVlbjogLTUwLCAgJGJsdWU6IC0zMyk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xNDAsICRncmVlbjogLTE0MSwgJGJsdWU6IC0xMTQpO1xuICAkdGhpcmQtc3RvcDogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtODYsICAkZ3JlZW46IC03NSwgICRibHVlOiAtNDgpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXI6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlcik7XG4gICAgJGJvcmRlci1ib3R0b206IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgJGZvdXJ0aC1zdG9wOiAgIGdyYXlzY2FsZSgkZm91cnRoLXN0b3ApO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHNlY29uZC1zdG9wOiAgIGdyYXlzY2FsZSgkc2Vjb25kLXN0b3ApO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgICAkdGhpcmQtc3RvcDogICAgZ3JheXNjYWxlKCR0aGlyZC1zdG9wKTtcbiAgfVxuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCh0b3AsICRiYXNlLWNvbG9yIDAlLCAkc2Vjb25kLXN0b3AgNTAlLCAkdGhpcmQtc3RvcCA1MCUsICRmb3VydGgtc3RvcCAxMDAlKTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGZpcnN0LXN0b3AtaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMywgJGdyZWVuOiAtMTUsICRibHVlOiAtMTgpO1xuICAgICRzZWNvbmQtc3RvcC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNjYsICRncmVlbjogLTYyLCAkYmx1ZTogLTUxKTtcbiAgICAkdGhpcmQtc3RvcC1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTkzLCAkZ3JlZW46IC04NSwgJGJsdWU6IC02Nik7XG4gICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC04NiwgJGdyZWVuOiAtODAsICRibHVlOiAtNjMpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkZmlyc3Qtc3RvcC1ob3ZlcjogIGdyYXlzY2FsZSgkZmlyc3Qtc3RvcC1ob3Zlcik7XG4gICAgICAkc2Vjb25kLXN0b3AtaG92ZXI6IGdyYXlzY2FsZSgkc2Vjb25kLXN0b3AtaG92ZXIpO1xuICAgICAgJHRoaXJkLXN0b3AtaG92ZXI6ICBncmF5c2NhbGUoJHRoaXJkLXN0b3AtaG92ZXIpO1xuICAgICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBncmF5c2NhbGUoJGZvdXJ0aC1zdG9wLWhvdmVyKTtcbiAgICB9XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGZpcnN0LXN0b3AtaG92ZXIgIDAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZWNvbmQtc3RvcC1ob3ZlciA1MCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXJkLXN0b3AtaG92ZXIgIDUwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm91cnRoLXN0b3AtaG92ZXIgMTAwJSk7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExMSwgJGdyZWVuOiAtMTE2LCAkYmx1ZTogLTEyMik7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAyMHB4IDAgJGluc2V0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuLy8gUGlsbCBCdXR0b25cbkBtaXhpbiBwaWxsKCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlci1ib3R0b206IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAtMTElLCAkbGlnaHRuZXNzOiAtMjYlKTtcbiAgJGJvcmRlci1zaWRlczogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMjElLCAkbGlnaHRuZXNzOiAtMjElKTtcbiAgJGJvcmRlci10b3A6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMzAlLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMSUsICAkbGlnaHRuZXNzOiAgNyUpO1xuICAkc3RvcC1ncmFkaWVudDogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246ICAxNCUsICRsaWdodG5lc3M6IC0xMCUpO1xuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNSwgJHNhdHVyYXRpb246IC0xOSUsICRsaWdodG5lc3M6IC0xNSUpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXItYm90dG9tOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xuICAgICRib3JkZXItc2lkZXM6ICBncmF5c2NhbGUoJGJvcmRlci1zaWRlcyk7XG4gICAgJGJvcmRlci10b3A6ICAgIGdyYXlzY2FsZSgkYm9yZGVyLXRvcCk7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc3RvcC1ncmFkaWVudDogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50KTtcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XG4gIH1cblxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLXRvcCAkYm9yZGVyLXNpZGVzICRib3JkZXItYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3IsICRzdG9wLWdyYWRpZW50KTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaWdodG5lc3M6IC00LjUlKTtcbiAgICAkYm9yZGVyLWJvdHRvbTogICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246ICAxMy41JSwgJGxpZ2h0bmVzczogLTMyJSk7XG4gICAgJGJvcmRlci1zaWRlczogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMiUsICAgICRsaWdodG5lc3M6IC0yNyUpO1xuICAgICRib3JkZXItdG9wOiAgICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTE3JSwgICAkbGlnaHRuZXNzOiAtMjElKTtcbiAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAgICAgICAgICAgJHNhdHVyYXRpb246IC0xJSwgICAgJGxpZ2h0bmVzczogIDMlKTtcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246IC00JSwgICAgJGxpZ2h0bmVzczogLTE1LjUlKTtcbiAgICAkdGV4dC1zaGFkb3ctaG92ZXI6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNSwgJHNhdHVyYXRpb246IC01JSwgICAgJGxpZ2h0bmVzczogLTIyJSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xuICAgICAgJGJvcmRlci1ib3R0b206ICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgICAkYm9yZGVyLXNpZGVzOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItc2lkZXMpO1xuICAgICAgJGJvcmRlci10b3A6ICAgICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLXRvcCk7XG4gICAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctaG92ZXIpO1xuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gICAgICAkdGV4dC1zaGFkb3ctaG92ZXI6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdy1ob3Zlcik7XG4gICAgfVxuXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci10b3A7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLXRvcCAkYm9yZGVyLXNpZGVzICRib3JkZXItYm90dG9tO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93LWhvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLWhvdmVyLCAkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gICAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93LWhvdmVyO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGFjdGl2ZS1jb2xvcjogICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDQsICAkc2F0dXJhdGlvbjogLTEyJSwgICRsaWdodG5lc3M6IC0xMCUpO1xuICAgICRib3JkZXItYWN0aXZlOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA2LCAgJHNhdHVyYXRpb246IC0yLjUlLCAkbGlnaHRuZXNzOiAtMzAlKTtcbiAgICAkYm9yZGVyLWJvdHRvbS1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogMTEsICRzYXR1cmF0aW9uOiAgNiUsICAgJGxpZ2h0bmVzczogLTMxJSk7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDksICAkc2F0dXJhdGlvbjogIDIlLCAgICRsaWdodG5lc3M6IC0yMS41JSk7XG4gICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDUsICAkc2F0dXJhdGlvbjogLTEyJSwgICRsaWdodG5lc3M6IC0yMS41JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRhY3RpdmUtY29sb3I6ICAgICAgICAgZ3JheXNjYWxlKCRhY3RpdmUtY29sb3IpO1xuICAgICAgJGJvcmRlci1hY3RpdmU6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlci1hY3RpdmUpO1xuICAgICAgJGJvcmRlci1ib3R0b20tYWN0aXZlOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20tYWN0aXZlKTtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcbiAgICAgICR0ZXh0LXNoYWRvdy1hY3RpdmU6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtY29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1hY3RpdmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItYm90dG9tLWFjdGl2ZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IDNweCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3ctYWN0aXZlO1xuICB9XG59XG5cbi8vIEZsYXQgQnV0dG9uXG5AbWl4aW4gZmxhdCgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKXtcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogNCUsICRsaWdodG5lc3M6IDUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6IGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3ItaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRiYXNlLWNvbG9yLWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTQlLCAkbGlnaHRuZXNzOiAtNSUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1hY3RpdmU6IGdyYXlzY2FsZSgkYmFzZS1jb2xvci1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yLWFjdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLy8gRmxleGlibGUgZ3JpZFxuQGZ1bmN0aW9uIGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMpIHtcbiAgJHdpZHRoOiAkY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHdpZHRoIC8gJGNvbnRhaW5lci13aWR0aCk7XG5cbiAgQHdhcm4gXCJUaGUgZmxleC1ncmlkIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuLy8gRmxleGlibGUgZ3V0dGVyXG5AZnVuY3Rpb24gZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMsICRndXR0ZXI6ICRmZy1ndXR0ZXIpIHtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkZ3V0dGVyIC8gJGNvbnRhaW5lci13aWR0aCk7XG5cbiAgQHdhcm4gXCJUaGUgZmxleC1ndXR0ZXIgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG5AZnVuY3Rpb24gZ3JpZC13aWR0aCgkbikge1xuICBAcmV0dXJuICRuICogJGd3LWNvbHVtbiArICgkbiAtIDEpICogJGd3LWd1dHRlcjtcblxuICBAd2FybiBcIlRoZSBncmlkLXdpZHRoIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuQGZ1bmN0aW9uIGdvbGRlbi1yYXRpbygkdmFsdWUsICRpbmNyZW1lbnQpIHtcbiAgQHJldHVybiBtb2R1bGFyLXNjYWxlKCRpbmNyZW1lbnQsICR2YWx1ZSwgJHJhdGlvOiAkZ29sZGVuKTtcblxuICBAd2FybiBcIlRoZSBnb2xkZW4tcmF0aW8gZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZS4gUGxlYXNlIHVzZSB0aGUgbW9kdWxhci1zY2FsZSBmdW5jdGlvbiwgaW5zdGVhZC5cIjtcbn1cbiIsIkBpbXBvcnQgXCJmb250c1wiO1xuQGltcG9ydCBcImdyaWRcIjtcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb250IHJlbGF0ZWQgZnVuY3Rpb25zXG4gICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCBzb21lIGZ1bmN0aW9ucyBmb3IgcmVhZGFiaWxpdHlcbiAqIFJldHVybiBmb250LXdlaWdodCBiYXNlZCBvbiBuYW1lXG4gKi9cbkBmdW5jdGlvbiBsaWdodGVzdCgpIHtcbiAgQHJldHVybiAxMDA7IH1cblxuQGZ1bmN0aW9uIGxpZ2h0KCkge1xuICBAcmV0dXJuIDMwMDsgfVxuXG5AZnVuY3Rpb24gYm9vaygpIHtcbiAgQHJldHVybiA0MDA7IH1cblxuQGZ1bmN0aW9uIG1lZGl1bSgpIHtcbiAgQHJldHVybiA1MDA7IH1cblxuQGZ1bmN0aW9uIHNlbWlib2xkKCkge1xuICBAcmV0dXJuIDYwMDsgfVxuXG5AZnVuY3Rpb24gYm9sZCgpIHtcbiAgQHJldHVybiA3MDA7IH1cblxuQGZ1bmN0aW9uIGJsYWNrKCkge1xuICBAcmV0dXJuIDkwMDsgfVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgRnVuY3Rpb25zIHVzZWQgaW4gZ3JpZCBjYWxjdWxhdGlvblxuICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAgKiBUaGlzIGlzIHdoZXJlIHRoZSBtYWdpYyBoYXBwZW5zXG4gICogUmV0dXJuIHBlcmNlbnRhZ2UgYmFzZWQgb24gYW1vdW50IG9mIGNvbHVtbnNcbiAgKiBVc2UgcGFyZW50IGNvbHVtbiBzaXplIHRvIGFkanVzdCB0aGUgb3JpZ2luXG4gICovXG5AZnVuY3Rpb24gY2FsY3VsYXRlQ29sdW1uU2l6ZSgkY29sdW1uQ291bnQgOiAxLCAkb3JpZ2luIDogJGdyaWRDb2x1bW5zKSB7XG4gIC8vIENhbGN1bGF0ZSB0aGUgd2lkdGggZm9yIGEgc2luZ2xlIGNvbHVtbiBvbiBhIGZ1bGwgZ3JpZFxuICAkc2luZ2xlQ29sdW1uU2l6ZSA6IDEwMCAvICRncmlkQ29sdW1ucztcblxuICAvLyBHZXQgdGhlIG9yaWdpbiBzaXplIGluIHBlcmNlbnRhZ2UgZnJvbSB0aGUgZnVsbCBncmlkXG4gICRvcmlnaW5QZXJjZW50YWdlIDogJG9yaWdpbiAvICRncmlkQ29sdW1ucyAqIDEwMDtcblxuICAvLyBDYWxjdWxhdGUgc2luZ2xlIGNvbHVtbiBmcm9tIG5ldyBvcmlnaW5cbiAgJG5ld1NpbmdsZUNvbHVtblNpemUgOiAkc2luZ2xlQ29sdW1uU2l6ZSAvICRvcmlnaW5QZXJjZW50YWdlICogMTAwO1xuXG4gIC8vIFJldHVybiBhbW91bnQgb2YgY29sdW1ucyBhcyBwZXJjZW50YWdlXG4gIEByZXR1cm4gKCRuZXdTaW5nbGVDb2x1bW5TaXplICogJGNvbHVtbkNvdW50KTsgfVxuXG4vKipcbiAgKiBEZWZhdWx0IGZ1bmN0aW9uIGZvciBjb2x1bW5zXG4gICogUmV0dXJuIGFzIHBlcmNlbnRhZ2VcbiAgKi9cbkBmdW5jdGlvbiBjb2x1bW4oJGNvbHVtbkNvdW50IDogMSwgJG9yaWdpbiA6ICRncmlkQ29sdW1ucykge1xuICBAcmV0dXJuIGNhbGN1bGF0ZUNvbHVtblNpemUoJGNvbHVtbkNvdW50LCRvcmlnaW4pICogMSU7IH1cblxuLyoqXG4gICogUmV0dXJuIGFzIHZpZXdwb3J0IHdpZHRoXG4gICovXG5AZnVuY3Rpb24gY29sdW1uVncoJGNvbHVtbkNvdW50IDogMSwgJG9yaWdpbiA6ICRncmlkQ29sdW1ucykge1xuICBAcmV0dXJuIGNhbGN1bGF0ZUNvbHVtblNpemUoJGNvbHVtbkNvdW50LCRvcmlnaW4pICogMXZ3OyB9XG4iLCJAaW1wb3J0IFwic3ByaXRlXCI7XG5AaW1wb3J0IFwibWVkaWFRdWVyaWVzXCI7XG5AaW1wb3J0IFwiZmxleFwiO1xuQGltcG9ydCBcInBsYWNlaG9sZGVyXCI7XG4iLCIkc3ByaXRlV2lkdGg6IDEwMHB4O1xuJHNwcml0ZUhlaWdodDogODVweDtcblxuXG5AbWl4aW4gc3ByaXRlKCRwb3NpdGlvbiwgJHdpZHRoOiBhdXRvLCAkaGVpZ2h0OiBhdXRvKSB7XG5cbiAgJHBvc2l0aW9uWDogbnRoKCRwb3NpdGlvbiwgMSkgKiAtMTtcbiAgJHBvc2l0aW9uWTogbnRoKCRwb3NpdGlvbiwgMikgKiAtMTtcblxuICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL3N2Zy9rb21tYV9zcHJpdGUuc3ZnXCIpICRwb3NpdGlvblggJHBvc2l0aW9uWSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogJHNwcml0ZVdpZHRoICRzcHJpdGVIZWlnaHQ7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDsgfVxuIiwiQG1peGluIHJlc3BvbmQtdG8td2lkdGgoJHdpZHRoKSB7XG4gICR3aWR0aCA6ICR3aWR0aCArICdweCc7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR3aWR0aCkge1xuICAgIEBjb250ZW50OyB9IH1cblxuQG1peGluIHJlc3BvbmQtdG8td2lkdGgtYmV5b25kKCR3aWR0aCkge1xuICAkd2lkdGggOiAoJHdpZHRoICsgMSkgICsgJ3B4JztcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHdpZHRoKSB7XG4gICAgQGNvbnRlbnQ7IH0gfVxuXG5AbWl4aW4gcmVzcG9uZC10by1oZWlnaHQoJGhlaWdodCkge1xuICAkaGVpZ2h0IDogJGhlaWdodCArICdweCc7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiAkaGVpZ2h0KSB7XG4gICAgQGNvbnRlbnQ7IH0gfVxuXG5AbWl4aW4gcmVzcG9uZC10by13aWR0aC1vci1oZWlnaHQoJHdpZHRoLCAkaGVpZ2h0KSB7XG4gICR3aWR0aCA6ICR3aWR0aCArICdweCc7XG4gICRoZWlnaHQgOiAkaGVpZ2h0ICsgJ3B4JztcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHdpZHRoKSwgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogJGhlaWdodCkge1xuICAgIEBjb250ZW50OyB9IH1cbiIsIkBtaXhpbiBmbGV4KCRqdXN0aWZ5OiBzcGFjZS1iZXR3ZWVuLCAkYWxpZ25JdGVtOiBpbml0aWFsKSB7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICAgICAgLyogVFdFRU5FUiAtIElFIDEwICovO1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXggICAgIC8qIE5FVyAtIENocm9tZSAqLztcbiAgZGlzcGxheTogZmxleDtcblxuICBAaW5jbHVkZSBwcmVmaXhlcihqdXN0aWZ5LWNvbnRlbnQsICRqdXN0aWZ5LCB3ZWJraXQgbW96IG1zKTtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24taXRlbXMsICRhbGlnbkl0ZW0sIHdlYmtpdCBtb3ogbXMpO1xuICBqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5O1xuICBhbGlnbi1pdGVtczogJGFsaWduSXRlbTsgfVxuXG5AbWl4aW4gaW5saW5lLWZsZXgoJGp1c3RpZnk6IHNwYWNlLWJldHdlZW4sICRhbGlnbkl0ZW06IGluaXRpYWwpIHtcbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94ICAgICAgLyogVFdFRU5FUiAtIElFIDEwICovO1xuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4ICAgICAvKiBORVcgLSBDaHJvbWUgKi87XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG4gIEBpbmNsdWRlIHByZWZpeGVyKGp1c3RpZnktY29udGVudCwgJGp1c3RpZnksIHdlYmtpdCBtb3ogbXMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1pdGVtcywgJGFsaWduSXRlbSwgd2Via2l0IG1veiBtcyk7XG4gIGp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XG4gIGFsaWduLWl0ZW1zOiAkYWxpZ25JdGVtOyB9XG5cblxuQG1peGluIGZsZXgtcm93cyB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtd3JhcCwgd3JhcCwgd2Via2l0IG1zKTtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1kaXJlY3Rpb24sIHJvdywgd2Via2l0IG1zKTtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1mbG93LCByb3cgd3JhcCwgd2Via2l0KTsgfVxuXG5AbWl4aW4gb3JkZXIoJHBsYWNlKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKG9yZGVyLCAkcGxhY2UsIHdlYmtpdCBtcyk7IH1cblxuQG1peGluIGFsaWduLWNvbnRlbnQoJGFsaWduKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWNvbnRlbnQsICRhbGlnbiwgd2Via2l0KTsgfVxuXG5AbWl4aW4gYWxpZ24tc2VsZigkYWxpZ24pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tc2VsZiwgJGFsaWduLCB3ZWJraXQpOyB9XG4iLCJAbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIC8qIENocm9tZS9PcGVyYS9TYWZhcmkgKi8ge1xuICAgIEBjb250ZW50OyB9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgLyogRmlyZWZveCAxOSsgKi8ge1xuICAgIEBjb250ZW50OyB9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIC8qIElFIDEwKyAqLyB7XG4gICAgQGNvbnRlbnQ7IH1cbiAgJjotbW96LXBsYWNlaG9sZGVyIC8qIEZpcmVmb3ggMTgtICovIHtcbiAgICBAY29udGVudDsgfSB9XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzaWMgc3R5bGUgc2V0dGluZ3NcbiAgIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi8qXG4gKiBTZXQgdXAgdGhlIGJvZHlcbiAqXG4gKiAxLiBUaGlzIGlzIHRoZSBiYXNlIGZvciBhbCByZW0gdW5pdHNcbiAqL1xuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMjBweCAvKiAxICovO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi8qKlxuICogMS5EZWZhdWx0IGRpc3BsYXkgZm9yIGltYWdlcyBpcyBibG9jayB0byBsb3NlIHRoZSBleHRyYSBtYXJnaW4gYmVsb3cgdGhlIGltYWdlXG4gKiAyLiBSZW1vdmUgYm9yZGVyIC8gZXNwZWNpYWxseSBvbiBvbGRlciBicm93c2Vyc1xuICovXG5pbWcge1xuICBkaXNwbGF5OiBibG9jayAvKiAxICovO1xuICBib3JkZXI6IG5vbmU7IH1cblxuLyoqXG4gICogQWRkIHRyYW5zbGF0aW9uIHRvIHByZXZlbnQgcmVjb2xvcmluZyBmcm9tIGF1dG9jb21wbGV0ZVxuICAqL1xuaW5wdXQsIHRleHRhcmVhIHtcbiAgQGluY2x1ZGUgcGxhY2Vob2xkZXIge1xuICAgIHRyYW5zaXRpb246IGFsbCA5OTk5cyBsaW5lYXIgOTk5OXM7IH0gfVxuXG4vKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIGFyb3VuZCBmaWd1cmVcbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG4iLCJAaW1wb3J0IFwiZ3JpZFwiO1xuQGltcG9ydCBcInZpc2libGVHcmlkXCI7XG4iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEdyaWRcbiAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gICogR3JpZCByb3dcbiAgKlxuICAqIDEuIFRoZSBvdXRlciB0d28gY29sdW1ucyBhcmUganVzdCBtYXJnaW5cbiAgKiAyLiBQcmV2ZW50IGlubGluZS1ibG9jayBjZWxscyB3cmFwcGluZ1xuICAqIDMuIFByZXZlbnQgdmVydGljYWwgc3BhY2luZyBiZXR3ZWVuIGlubGluZS1ibG9ja3NcbiAgKi9cblxuLmdyaWQtcm93IHtcbiAgd2lkdGg6IGNvbHVtbigxMikgLyogMSAqLztcbiAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBmb250LXNpemU6IDAgLyogMiAqLztcbiAgbGluZS1oZWlnaHQ6IDAgLyogMyAqLztcblxuICAvKipcbiAgICogVGhlIGZ1bGwgcm93IGRvZXNuJ3QgaGF2ZSB0aGUgdHdvIG91dGVyIG1hcmdpbiByb3dzXG4gICAqIFRoZXkgc3RyZXRjaCB0aWxsIGJvdGggZW5kcyBvZiB0aGUgd2luZG93XG4gICAqL1xuXG4gICYuZnVsbC1yb3cge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG5cbi8qKlxuICogR3JpZCBjb2x1bW5cbiAqXG4gKiAxLiBSZXNldCB3aGl0ZS1zcGFjZSBpbmhlcml0ZWQgZnJvbSBgLmdyaWRgXG4gKiAyLiBSZXNldCBmb250LXNpemUgaW5oZXJpdGVkIGZyb20gYC5ncmlkYFxuICogMy4gUmVzZXQgbGluZS1oZWlnaHQgaW5oZXJpdGVkIGZyb20gYC5ncmlkYFxuICovXG5cbi5ncmlkLWNvbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgLyogMSAqLztcbiAgZm9udC1zaXplOiAxcmVtIC8qIDIgKi87XG4gIGxpbmUtaGVpZ2h0OiAxLjYgLyogMyAqLztcblxuICAvKipcbiAgICogQ2VudGVyIGNvbHVtblxuICAgKlxuICAgKiAxLiAnaW5saW5lLWJsb2NrJyBkb2Vzbid0IGNlbnRlciB3aXRoIG1hcmdpbiAnMCBhdXRvJ1xuICAgKi9cblxuICAmLmNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2sgLyogMSAqLztcbiAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG5cblxuXG5cbkBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWRDb2x1bW5zIHtcblxuICAvKiBDb2x1bW4gZGltZW5zaW9uc1xuICAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKlxuICAgKiBDYWxjdWxhdGUgd2lkdGggYnkgZGl2aWRpbmcgYSBmdWxsIHdpZHRoIGludG8gMTIgY29sdW1uc1xuICAgKiBDcmVhdGUgYSBjbGFzcyBmb3IgZWFjaCBjb2x1bW5cbiAgICovXG5cbiAgLmNvbC0jeyRpfSwgLmNvbC1sZy0jeyRpfSB7XG4gICAgd2lkdGg6IGNvbHVtbigkaSwxMik7XG5cblxuICAgIC5mdWxsLXJvdyAmIHtcbiAgICAgIHdpZHRoOiBjb2x1bW4oJGkpOyB9IH1cblxuXG4gIC8qIENvbHVtbiBzaGlmdHNcbiAgIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLm9mZnNldC0jeyRpfSwgLm9mZnNldC1sZy0jeyRpfSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNvbHVtbigkaSwxMik7IH0gfVxuXG5cblxuLyogTWVkaWEgcXVlcmllc1xuIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAvKlxuICAqIENyZWF0ZSBhIHNlcGFyYXRlIGxvb3AgYmVjYXVzZSBvZiBvcmRlciBmb3IgY3NzIHJlbmRlcmluZ1xuICAqIGJlY2F1c2UgZWxzZSBpdCB3b3VsZCBvdmVycnVsZSBhIHByZXZpb3VzIG1lZGlhIHF1ZXJ5XG4gICovXG5cbkBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWRDb2x1bW5zIHtcblxuICAvLyBNZWRpYSBxdWVyeSBmb3IgbGFyZ2UgZGVza3RvcFxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoLWJleW9uZCgkeGxHcmlkQnJlYWtwb2ludCkge1xuICAgIC5jb2wteGwtI3skaX0ge1xuICAgICAgd2lkdGg6IGNvbHVtbigkaSwxMik7IH1cblxuICAgIC5vZmZzZXQteGwtI3skaX0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGNvbHVtbigkaSwxMik7IH0gfVxuXG4gIC8vIE1lZGlhIHF1ZXJ5IGZvciBub3JtYWwgZGVza3RvcFxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKCRtZEdyaWRCcmVha3BvaW50KSB7XG4gICAgLmNvbC1tZC0jeyRpfSB7XG4gICAgICB3aWR0aDogY29sdW1uKCRpLDEyKTsgfVxuXG4gICAgLm9mZnNldC1tZC0jeyRpfSB7XG4gICAgICBtYXJnaW4tbGVmdDogY29sdW1uKCRpLDEyKTsgfSB9XG5cbiAgLy8gTWVkaWEgcXVlcnkgZm9yIHRhYmxldHNcbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgkc21HcmlkQnJlYWtwb2ludCkge1xuICAgIC5jb2wtc20tI3skaX0ge1xuICAgICAgd2lkdGg6IGNvbHVtbigkaSwxMik7IH1cblxuICAgIC5vZmZzZXQtc20tI3skaX0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGNvbHVtbigkaSwxMik7IH0gfVxuXG4gIC8vIE1lZGlhIHF1ZXJ5IGZvciBtb2JpbGVcbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgkeHNHcmlkQnJlYWtwb2ludCkge1xuICAgIC5jb2wteHMtI3skaX0ge1xuICAgICAgd2lkdGg6IGNvbHVtbigkaSwxMik7IH1cblxuICAgIC5vZmZzZXQteHMtI3skaX0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGNvbHVtbigkaSwxMik7IH0gfSB9XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGhpcyBncmlkIGNhbiBiZSB0dXJuZWQgb24gYW5kIG9mZiB3aGVuIHlvdSB3YW50IHRvIGNoZWNrXG4gICBpZiBldmVyeXRoaW5nIGlzIG5pY2UgaW4gcGxhY2UuXG4gICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udmlzaWJsZS1ncmlkLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi8qKlxuICogMS4gTWFrZXMgaXQgYWJsZSB0byBjb250cm9sIHRoZSB3ZWJzaXRlIHdoaWxlIGdyaWQgaXMgc2hvd25cbiAqL1xuLnZpc2libGUtZ3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwMDAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZSAvKiAyICovO1xuXG4gIC5ncmlkLWNvbCB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDI1NSwyNTUsLjYpO1xuICAgIGhlaWdodDogMTAwdmg7XG5cbiAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDI1NSwyNTUsLjMpOyB9IH1cblxuICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMjU1LDAsLjUpOyB9XG5cbiAgJjpiZWZvcmUge1xuICAgIGxlZnQ6IGNhbGMoLTEwMCUgLyAxMik7IH1cblxuICAmOmFmdGVyIHtcbiAgICByaWdodDogY2FsYygtMTAwJSAvIDEyKTsgfVxuXG4gIC8vJjpudGgtY2hpbGQoMSksJjpudGgtY2hpbGQoMTQpXG4gfSAgLy8vLyAgYmFja2dyb3VuZDogcmdiYSgwLDI1NSwwLC41KVxuIiwiLmJyZWFrcG9pbnQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHotaW5kZXg6IDEwMDAwO1xuICBiYWNrZ3JvdW5kOiAjMEFCRUZGO1xuXG4gIC8vIExhcmdlciB0aGVuIHhsQnJlYWtwb2ludFxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoLWJleW9uZCgkeGxHcmlkQnJlYWtwb2ludCkge1xuICAgIGJhY2tncm91bmQ6IHJlZDsgfVxuXG4gIC8vIExvb3AgdGhyb3VnaCBvdGhlciBicmVha3BvaW50c1xuICAkYnJlYWtwb2ludHMgOiAgKGJsdWUgJGxnR3JpZEJyZWFrcG9pbnQpIChncmVlbiAkbWRHcmlkQnJlYWtwb2ludCkgKHllbGxvdyAkc21HcmlkQnJlYWtwb2ludCkgKHBpbmsgJHhzR3JpZEJyZWFrcG9pbnQpO1xuXG4gIEBlYWNoICRsaXN0IGluICRicmVha3BvaW50cyB7XG5cbiAgICAkY29sb3IgOiBudGgoJGxpc3QsMSk7XG4gICAgJGJyZWFrcG9pbnQgOiBudGgoJGxpc3QsMik7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKCRicmVha3BvaW50KSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7IH0gfSB9XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRXhwZW5kIENvbmZpZyBzZXR0aW5nc1xuICAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gQ29sb3JzXG4kYmxhY2sgOiAjMUQyNDMzO1xuJGJsdWUgOiAjMDAwMEZGO1xuJHBhc3RlbEJsdWUgOiAjMDAzMkZGO1xuJGJyaWdodEJsdWUgOiAjMDBDN0ZGO1xuJGxpZ2h0Qmx1ZSA6ICNjM2NmZTY7XG4kZ3JleSA6ICM2NDY0NjQ7XG4kbGlnaHRHcmV5IDogIzk2QTZCMjtcbiRyZWQgOiAjZmYzMjNjO1xuJHdhcm5pbmcgOiAjZmZiNjAwO1xuXG4kYm9yZGVyQ29sb3I6ICNlYWVhZWE7XG5cbiRmb250RmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcblxuXG4kbGlnaHRlc3RHcmF5OiByZ2JhKDI0MSwgMjQxLCAyNDEsIDAuMSk7XG4kbGlnaHRlckdyYXkzMDogcmdiYSgyNDEsIDI0MSwgMjQxLCAwLjMpO1xuJGxpZ2h0ZXJHcmF5OiAjZjFmMWYxO1xuJGxpZ2h0R3JheTogI2RhZGFkYTtcbiRncmF5OiAjOThhMGIzO1xuJGRhcmtHcmF5OiAjNzM3MzczO1xuJG9mZnNldFdoaXRlOiAjZWRlZGVkO1xuJGN0YUJhY2tncm91bmQ6ICNjZWNlY2U7XG4kcGxhY2Vob2xkZXJHcmF5OiAjQjBCMEIwO1xuXG4kYmxhY2s6ICMyMzI4MmQ7XG4kYmxhY2syOiAjMmQzMjM3O1xuJHNlbWlCbGFjazogIzM3M2M0MTtcbiRmb250QmxhY2s6ICMzMzM7XG5cbiRyZWRUaGVtZTogI2ZmMzMzMztcbiRyZWRUaGVtZTI6ICNkNjI3Mjc7XG5cbiRyZWQ6ICNmZjFlMDA7XG4kZ3JlZW46ICM4MGFlNGY7XG5cbiRsaWdodEJsdWU6ICMzMmEwZmE7XG4kYmx1ZTogIzAwNzhmZjtcbiRkYXJrQmx1ZTogIzAwNjRkMjtcblxuJG9yYW5nZTogI2ZmOTYwMDtcbiRkYXJrT3JhbmdlOiAjZmY4MTAwO1xuXG4kYnV0dG9uR3JlZW46ICMwNEQ2ODI7XG5cbiRyZWRHcmFkaWVudDogJHJlZFRoZW1lMiAwJSwgJHJlZFRoZW1lIDEwMCU7XG4kYmxhY2tHcmFkaWVudDogJGJsYWNrIDAlLCAkc2VtaUJsYWNrIDEwMCU7XG4kYmxhY2tHcmFkaWVudDI6ICRibGFjayAwJSwgJGJsYWNrMiAxMDAlO1xuJGJsYWNrR3JhZGllbnQzOiAkYmxhY2syIDAlLCAkc2VtaUJsYWNrIDEwMCU7XG4kYmx1ZUdyYWRpZW50OiAkYmx1ZSAwJSwgJGRhcmtCbHVlIDEwMCU7XG4kYmx1ZUdyYWRpZW50MjogJGJsdWUgMCUsICRsaWdodEJsdWUgMTAwJTtcbiRvcmFuZ2VHcmFkaWVudDogJG9yYW5nZSAwJSwgJGRhcmtPcmFuZ2UgMTAwJTtcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFeHBlbmQgQmFzaWMgc3R5bGUgc2V0dGluZ3NcbiAgIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBTZXQgdXAgdGhlIGh0bWxcbiAqXG4gKiAxLiBNYWtlcyBzdWUgdGhhdCBzb21lIGZvbnRzIGFyZSBiZXR0ZXIgcmVuZGVyZWRcbiAqL1xuXG5odG1sIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQgLyogMiAqLztcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgbWluLWhlaWdodDogMTAwJTsgfVxuXG5cbi8qXG4gKiBTZXQgdXAgdGhlIGJvZHlcbiAqXG4gKiAxLiBTZXQgZm9udCB0byBsaW5pbmcgZmlndXJlc1xuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIGZvbnQtZmFtaWx5OiAkZm9udEZhbWlseTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI0MjgyRDtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbG51bScgLyogMSAqLzsgfVxuXG4vKlxuICogU2V0IGRlZmF1bHQgc2V0dGluZ3MgZm9yIGFsbCBlbGVtZW50c1xuICpcbiAqIDEuIERlZmF1bHQgc2VsZWN0aW9uIHN0eWxpbmdcbiAqXG4gKi9cbioge1xuICA6OnNlbGVjdGlvbiAvKiAyICovIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICBjb2xvcjogd2hpdGU7IH0gfVxuXG5cbi8qXG4gKiBTZXQgZGVmYXVsdCBzdHlsaW5nIGZvciBpbnB1dCBhbmQgdGV4dGFyZWFcbiAqXG4gKiAxLiBTZXQgZm9udCBiZWNhdXNlIGVsc2UgdGhlIGFnZW50IHdpbGwgb3ZlcnJ1bGUgdGhlbSB3aXRoIGFuIHVnbHkgZm9udFxuICovXG5pbnB1dCwgdGV4dGFyZWEge1xuICBmb250LWZhbWlseTogJGZvbnRGYW1pbHkgLyogMSAqLztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfSB9XG5cbi8qXG4gKiBTZXQgZGVmYXVsdCBzdHlsaW5nIGZvciBhIGJ1dHRvblxuICpcbiAqL1xuXG5cbi5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJyaWdodEJsdWU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiB3aGl0ZTtcblxuICAuYXJyb3cge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICBAaW5jbHVkZSBzcHJpdGUoLTM1cHggLTFweCwgMTVweCwgMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7IH1cblxuICAmOmhvdmVyIHtcbiAgICAuYXJyb3cge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApOyB9IH0gfVxuXG5cbi5kZWZhdWx0LXBhZ2UtY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGN0Y4RkE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSAtIDY1OXB4KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gID4gLmdyaWQtcm93IHtcbiAgICAmLnR3by1jb2x1bW5zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICBtaW4taGVpZ2h0OiA2NTNweDsgfVxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNjUwKSB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9IH1cblxuLmNlbnRlcmVkIHtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIHdpZHRoOiBjb2x1bW4oMTAsIDEyKTtcbiAgcGFkZGluZzogMTMzcHggMDtcbiAgbWFyZ2luOiAwIGF1dG8gNjVweCBhdXRvO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoMTI4MCkge1xuICAgIHdpZHRoOiBjb2x1bW4oMTAuNSwgMTIpOyB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg5NTApIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoODUwKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogNjBweCAwO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg2NTApIHtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbiAgaDEge1xuICAgIGNvbG9yOiAkc2VtaUJsYWNrO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgIG1hcmdpbjogNTBweCAwIDY1cHggMDsgfVxuXG5cbiAgLnBsYWNlaG9sZGVyIHtcbiAgICB3aWR0aDogY29sdW1uKDgsIDEwKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgYm94LXNoYWRvdzogMTBweCAxMHB4IDIwcHggMCByZ2JhKDIwNiwyMDYsMjA2LDAuNik7XG4gICAgcGFkZGluZzogMzVweCBjb2x1bW4oMSwgOCk7XG4gICAgbWFyZ2luOiAwIGF1dG8gNjBweCBhdXRvO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMjgwKSB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg4NTApIHtcbiAgICAgIHBhZGRpbmc6IDM1cHggY29sdW1uKDAuNSwgOCk7IH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNjUwKSB7XG4gICAgICBtYXJnaW46IDA7IH0gfSB9XG5cbi5zaWRlYmFyIHtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIHdpZHRoOiBjb2x1bW4oMy4yLCAxMik7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJveC1zaGFkb3c6IC01cHggMHB4IDQwcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDtcblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDEyODApIHtcbiAgICB3aWR0aDogY29sdW1uKDQsIDEyKTsgfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoOTAwKSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcmlnaHQ6IDYwcHg7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSggMTAwJSwgMCkpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gMC41cywgd2lkdGggMC41cyk7XG5cbiAgICAmLm9wZW4ge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSggNjBweCwwKSk7IH0gfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNzAwKSB7XG4gICAgJi5vcGVuIHtcbiAgICAgIHdpZHRoOiA4MCU7IH0gfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNTUwKSB7XG4gICAgJi5vcGVuIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMTAwJTtcbiAgICB3aWR0aDogMzV2dztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgei1pbmRleDogMDsgfVxuXG4gIGgxIHtcbiAgICBjb2xvcjogJHNlbWlCbGFjaztcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMjtcbiAgICBtYXJnaW46IDUwcHggMCA1MHB4IDA7XG4gICAgcGFkZGluZzogMCAwIDAgMTQlO1xuXG4gICAgc3Bhbi5pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDkwMCkge1xuICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodEdyYXk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbGVmdDogLTVweDtcbiAgICAgICAgdG9wOiAtMTBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHM7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoY2VudGVyLCBjZW50ZXIpO1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgIHdpZHRoOiAxNXB4OyB9IH0gfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aC1iZXlvbmQoMTgwMCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4OyB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDkwMCkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgICAgd2lkdGg6IDAuN3JlbTtcbiAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMnB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbiAgJi5vcGVuIHtcbiAgICBoMSB7XG4gICAgICBzcGFuLmljb24ge1xuICAgICAgICBzdmcge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKC0xKTsgfSB9IH0gfVxuXG5cbiAgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxNjRweCk7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoOTAwKSB7XG4gICAgICBtYXJnaW4tbGVmdDogNjBweDtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgkY3RhQmFja2dyb3VuZCwgMC41KTsgfVxuXG4gICAgbGkge1xuICAgICAgcGFkZGluZzogMCA1MHB4O1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoJGN0YUJhY2tncm91bmQsIDAuNSk7XG4gICAgICB3aWR0aDogNDJ2dztcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoOTAwKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG5cbiAgICAgIHAge1xuICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoOTAwKSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfSB9IH0gfVxuXG5zcGFuLmljb24ge1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gIG1hcmdpbi1yaWdodDogMjVweDtcbiAgQGluY2x1ZGUgaW5saW5lLWZsZXgoY2VudGVyLCBjZW50ZXIpO1xuXG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuXG4gICAgPiBnIHtcbiAgICAgID4gZywgdXNlIHtcbiAgICAgICAgZmlsbDogd2hpdGU7IH0gfSB9XG5cbiAgJi55ZWxsb3cge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNkE1MkY7IH1cblxuICAmLmdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDRENjgyOyB9XG5cbiAgJi5sb2NrIHtcbiAgICBzdmcge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGVmdDogMXB4O1xuICAgICAgdG9wOiAtMnB4OyB9IH1cblxuICAmLmNyb3NzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogY29sdW1uKC0xLCAxMik7XG4gICAgdG9wOiAxNHB4O1xuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgID4gZyB7XG4gICAgICAgID4gZyB7XG4gICAgICAgICAgZmlsbDogJHJlZFRoZW1lMjsgfSB9IH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoODUwKSB7XG4gICAgICBsZWZ0OiAwOyB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDQyNSkge1xuICAgICAgdG9wOiA3cHg7IH0gfSB9XG5cbmlucHV0W3R5cGU9bnVtYmVyXSwgaW5wdXRbdHlwZT1kYXRlXSB7XG4gICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4gICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgIC8qIGRpc3BsYXk6IG5vbmUgPC0gQ3Jhc2hlcyBDaHJvbWUgb24gaG92ZXIgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgbWFyZ2luOiAwIC8qIDwtLSBBcHBhcmVudGx5IHNvbWUgbWFyZ2luIGFyZSBzdGlsbCB0aGVyZSBldmVuIHRob3VnaCBpdCdzIGhpZGRlbiAqLzsgfSB9XG5cbnNwYW4uZXJyb3ItbWVzc2FnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiA2cHg7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRyZWRUaGVtZSwgMC43KTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCA1cHggNXB4O1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDAgMTBweDtcblxuICAmOmZpcnN0LWxldHRlciB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH0gfVxuXG5cblxuLy8gY3VzdG9taXplIHRoZSBqUXVlcnkgZGF0ZXBpY2tlclxuLnVpLWRhdGVwaWNrZXIge1xuICAudWktZGF0ZXBpY2tlci1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWRUaGVtZTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9IH1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWxwZXIgY2xhc3Nlc1xuICAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBVc2Ugb24gZWxlbWVudHMgZnJvbSB3aGVyZSB0aGUgY2hpbGRyZW4gc2hvdWxkIG5vdCB3cmFwXG4gKi9cbi5ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi8qKlxuICogSGlkZSBlbGVtZW50cyBvbiBkaWZmZXJlbnQgc2NyZWVuIHNpemVzXG4gKi9cbiRicmVha3BvaW50cyA6ICAoJ3hsJyAkeGxHcmlkQnJlYWtwb2ludCkgKCdsZycgJGxnR3JpZEJyZWFrcG9pbnQpICgnbWQnICRtZEdyaWRCcmVha3BvaW50KSAoJ3NtJyAkc21HcmlkQnJlYWtwb2ludCkgKCd4cycgJHhzR3JpZEJyZWFrcG9pbnQpO1xuXG5AZWFjaCAkbGlzdCBpbiAkYnJlYWtwb2ludHMge1xuXG4gICRuYW1lIDogbnRoKCRsaXN0LDEpO1xuICAkYnJlYWtwb2ludCA6IG50aCgkbGlzdCwyKTtcblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKCRicmVha3BvaW50KSB7XG4gICAgLmhpZGUtb24tI3skbmFtZX0tb3Itc21hbGxlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoLWJleW9uZCgkYnJlYWtwb2ludCkge1xuICAgIC5oaWRlLW9uLSN7JG5hbWV9LW9yLWxhcmdlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH0gfVxuIiwiQGltcG9ydCBcImNvb2tpZVNwcml0ZVwiO1xuIiwiJHNwcml0ZVdpZHRoOiA3MHB4O1xuJHNwcml0ZUhlaWdodDogMzBweDtcblxuXG5AbWl4aW4gY29va2llU3ByaXRlKCRwb3NpdGlvbiwgJHdpZHRoOiBhdXRvLCAkaGVpZ2h0OiBhdXRvKSB7XG5cbiAgJHBvc2l0aW9uWDogbnRoKCRwb3NpdGlvbiwgMSkgKiAtMTtcbiAgJHBvc2l0aW9uWTogbnRoKCRwb3NpdGlvbiwgMikgKiAtMTtcblxuICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL3N2Zy9jb29raWUtc3ByaXRlLnN2Z1wiKSAkcG9zaXRpb25YICRwb3NpdGlvblkgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6ICRzcHJpdGVXaWR0aCAkc3ByaXRlSGVpZ2h0O1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7IH1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQYXJ0aWFsIENTU1xuICAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGltcG9ydCBcImhlYWRlclwiO1xuQGltcG9ydCBcImZvb3RlclwiO1xuQGltcG9ydCBcInNob3BwaW5nQ2FydFwiO1xuQGltcG9ydCBcImttc0NvbnRlbnRcIjtcbkBpbXBvcnQgXCJmb3JtXCI7XG5AaW1wb3J0IFwiaW1hZ2VTbGlkZXJcIjtcbkBpbXBvcnQgXCJjb29raWVNZXNzYWdlXCI7XG5AaW1wb3J0IFwiY29va2llU3dpdGNoXCI7XG5cbkBpbXBvcnQgXCJkeW5hbWljL2R5bmFtaWNcIjtcbkBpbXBvcnQgXCJtb2JpbGUvbW9iaWxlXCI7XG5cbkBpbXBvcnQgXCJiYWNrVG9FSEJPXCI7XG4iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIE5hdmlnYXRpb24gLyBIZWFkZXJcbiAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA0O1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggcmdiYSgkY3RhQmFja2dyb3VuZCwgMC44KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cbiAgLnNtYWxsLXJvdyB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAkcmVkR3JhZGllbnQpO1xuICAgIHBhZGRpbmc6IDE2cHggMCAxN3B4IDA7XG5cbiAgICAuZ3JpZC1yb3cge1xuICAgICAgQGluY2x1ZGUgZmxleChmbGV4LWVuZCwgY2VudGVyKTsgfVxuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBpbmxpbmUtZmxleChmbGV4LXN0YXJ0LCBjZW50ZXIpO1xuICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgY29sb3I6ICRvZmZzZXRXaGl0ZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogY29sdW1uKDEsIDEyKTsgfVxuXG4gICAgICAmLm5vLW1hcmdpbi1yaWdodCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICA+IGcge1xuICAgICAgICAgICAgPiBnLCB1c2Uge1xuICAgICAgICAgICAgICBmaWxsOiB3aGl0ZTsgfSB9IH0gfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBvcGFjaXR5OiAxOyB9IH0gfSB9XG5cbiAgLmxhcmdlLXJvdyB7XG4gICAgcGFkZGluZzogOHB4IDA7XG4gICAgQGluY2x1ZGUgZmxleChmbGV4LXN0YXJ0LCBjZW50ZXIpO1xuXG5cbiAgICAmLmd1ZXN0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGNvbHVtbigwLjUsOSk7XG5cbiAgICAgIC5sb2dvIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbiAgICAgIG5hdiB7XG4gICAgICAgIHVsIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgIGJvcmRlci1yaWdodDogc29saWQgMnB4IHJnYmEoJHBsYWNlaG9sZGVyR3JheSwgMC41KTtcbiAgICAgICAgICAgICAgcGFkZGluZzogMTBweCA0NXB4IDEwcHggMDsgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTsgfSB9IH0gfSB9XG5cblxuICAgIC8vIE1haW4gbG9nb1xuICAgIC5sb2dvIHtcbiAgICAgIG1hcmdpbi1yaWdodDogY29sdW1uKDAuOSwgMTIpO1xuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDEwMjQpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICBpbWcge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGxlZnQ6IC0xMHB4O1xuICAgICAgICBoZWlnaHQ6IDY3cHg7IH0gfVxuXG4gICAgZm9ybSB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcblxuICAgICAgLmxvZ291dC1idXR0b24ge1xuICAgICAgICBjb2xvcjogJHBsYWNlaG9sZGVyR3JheTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0ZGQUMzNDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxOHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MsIGJhY2tncm91bmQtY29sb3IgMC4zcztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZBQzM0O1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTsgfSB9IH1cblxuXG4gICAgLyogTmF2aWdhdGlvblxuICAgICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgbmF2IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KGZsZXgtc3RhcnQsIGNlbnRlcik7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDEwcHg7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNDVweDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDkyMCkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4OyB9XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgICAgIGNvbG9yOiAkc2VtaUJsYWNrO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDkyMCkge1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfSB9XG5cbiAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkcmVkVGhlbWUyOyB9IH1cblxuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4O1xuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnB4OyB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlbWlCbGFjazsgfSB9IH0gfSB9IH0gfVxuXG4gIC5zaGFkb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogLTQwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIG9wYWNpdHk6IDAuNDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3ZlcnRpY2FsLWdyYWRpZW50LnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cblxuICAvKiBNb2JpbGUgTmF2aWdhdGlvblxuICAgICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDg1MCkge1xuICAgIGhlaWdodDogNjBweDtcbiAgICAuc21hbGwtcm93LFxuICAgIC5sYXJnZS1yb3csXG4gICAgLmxhcmdlLXJvdy5ndWVzdCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH0gfVxuIiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBGb290ZXJcbiAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG5mb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VtaUJsYWNrO1xuXG4gID4uZ3JpZC1yb3cge1xuICAgIHBhZGRpbmc6IDcwcHggMCA5MHB4OyB9XG5cbiAgLmdyaWQtY29sIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgLmhlYWRlciB7XG4gICAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogJHJlZFRoZW1lO1xuICAgICAgZm9udC13ZWlnaHQ6IHNlbWlib2xkKCk7XG4gICAgICBtYXJnaW46IDAgMCA0MHB4OyB9XG5cbiAgICBsaSBhLCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgY29sb3I6IHdoaXRlOyB9IH1cblxuXG4gIC5jb250YWN0IHtcbiAgICB3aWR0aDogY29sdW1uKDQsIDEyKTtcbiAgICBtYXJnaW4tbGVmdDogY29sdW1uKDEsIDEyKTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoODUwKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogY29sdW1uKDEsIDEyKTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG5cbiAgICBmaWd1cmUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDI0MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJHJlZFRoZW1lMjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBzZW1pYm9sZCgpO1xuICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRyZWRUaGVtZTsgfSB9IH1cblxuXG4gIC5saW5rcyB7XG4gICAgd2lkdGg6IGNvbHVtbig2LCAxMik7XG4gICAgbWFyZ2luLWxlZnQ6IGNvbHVtbigxLCAyNCk7XG5cbiAgICA+LmdyaWQtcm93IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG5cbiAgICAubWVudSwgLnN1Yi1saW5rcyB7XG4gICAgICB3aWR0aDogY29sdW1uKDMsIDYpO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDM1cHggMDtcblxuICAgICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuOTsgfSB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgb3BhY2l0eTogMTsgfSB9IH0gfSB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg4NTApIHtcbiAgICAubGlua3Mge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbiAgLyogU3ViIGZvb3RlciBmb3IgcGF5IG9mZiBhbmQgb3VyIGJyYW5kaW5nXG4gICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC5zdWItZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjQyODJEO1xuICAgIHBhZGRpbmc6IDE1cHggMDtcblxuICAgIC5ncmlkLXJvdyB7XG4gICAgICAucGxhY2Vob2xkZXIge1xuICAgICAgICB3aWR0aDogY29sdW1uKDEwLCAxMik7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgZmxleChzcGFjZS1iZXR3ZWVuLCBjZW50ZXIpOyB9IH1cblxuICAgIHAsIGEge1xuICAgICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgICBjb2xvcjogJGxpZ2h0R3JheTsgfVxuXG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuICAgIGEge1xuICAgICAgLy9mb250LXdlaWdodDogc2VtaWJvbGQoKVxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbiAgICAua29tbWEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQGluY2x1ZGUgZmxleChzcGFjZS1iZXR3ZWVuLCBjZW50ZXIpO1xuICAgICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHdpZHRoOiAyNDdweDtcbiAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgIGNvbG9yOiAkbGlnaHRHcmF5O1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAqIHtcbiAgICAgICAgICAgIGZpbGw6ICRsaWdodEdyYXk7IH0gfSB9XG5cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMDgwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgd2lkdGg6IDI0MHB4O1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIHRvcDogLTJweDsgfSB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDc4cHg7XG4gICAgICAgIGhlaWdodDogMjVweDsgfSB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDYwMCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICAuZ3JpZC1yb3cge1xuICAgICAgICAucGxhY2Vob2xkZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbiAgICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjRyZW07IH1cblxuICAgICAgLmtvbW1hIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH0gfVxuXG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg4NTApIHtcbiAgICBwYWRkaW5nLXRvcDogMzVweDtcbiAgICA+LmdyaWQtcm93IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMCAwIDMwcHggMDsgfVxuXG4gICAgLnN1Yi1mb290ZXIge1xuICAgICAgLmdyaWQtcm93IHtcbiAgICAgICAgLnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9IH0gfSB9XG4iLCJkaXYuc2hvcHBpbmdjYXJ0SXRlbUxpc3Qge1xuICB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDE1JTtcbiAgICAgIGJvcmRlcjogc29saWQgMXB4ICNjY2NjY2M7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9IH0gfVxuXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRGVmYXVsdCBzdHlsaW5nIGZvciBLTVMgY29udGVudFxuICAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmttcy1jb250ZW50IHtcbiAgaDEsIGgyLCBoMyB7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBjb2xvcjogJGJyaWdodEJsdWU7XG4gICAgLy8rYnJlZVxuXG4gICAgc3Ryb25nIHtcbiAgICAgIGNvbG9yOiAkYnJpZ2h0Qmx1ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH0gfVxuXG4gIGgyLCBoMyB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cblxuICBoMyB7XG4gICAgY29sb3I6ICRicmlnaHRCbHVlO1xuXG4gICAgc3Ryb25nIHtcbiAgICAgIGNvbG9yOiAkYmx1ZTsgfSB9XG5cbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgY29sb3I6ICRibHVlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuICBwIHtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIGNvbG9yOiAkZ3JleTsgfVxuXG4gIHVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIGNvbG9yOiAkZ3JleTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGNvbnRlbnQ6ICfigKInO1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbiAgICAgICsgbGkge1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7IH0gfSB9XG5cbiAgb2wge1xuICAgIGNvdW50ZXItcmVzZXQ6IG9sLWNvdW50ZXIgLyogMiAqLztcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICBjb2xvcjogJGdyZXk7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IG9sLWNvdW50ZXI7XG4gICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIob2wtY291bnRlciknLic7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgY29sb3I6ICRibHVlOyB9XG5cbiAgICAgICsgbGkge1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7IH0gfSB9XG5cbiAgYSB7XG4gICAgY29sb3I6ICRibHVlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IGRhcmtlbigkYmx1ZSwgMTAlKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfSB9IH1cbiIsIi5mb3JtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDU2MHB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgLmZvcm0tZWxlbWVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuICAuZXJyb3ItbWVzc2FnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjb2xvcjogJHJlZDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuXG4gIGxhYmVsLCAubGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICBjb2xvcjogJGdyZXk7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4gIGlucHV0LCB0ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xuXG4gICAgYm9yZGVyOiAxcHggdHJhbnNwYXJlbnQgc29saWQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgY29sb3I6ICRncmV5O1xuXG4gICAgJi5hbGVydCB7XG4gICAgICBib3JkZXItY29sb3I6ICRyZWQ7IH1cblxuICAgICY6LXdlYmtpdC1hdXRvZmlsbCwgJjotd2Via2l0LWF1dG9maWxsOmhvdmVyLCAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsICY6LXdlYmtpdC1hdXRvZmlsbDphY3RpdmUge1xuICAgICAgdHJhbnNpdGlvbjogOTk5OXMgYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAkZ3JleTtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDk5OTlzOyB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lOyB9IH1cblxuICB0ZXh0YXJlYSB7XG4gICAgbWluLWhlaWdodDogMTUycHg7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDsgfVxuXG4gIC5zZWxlY3Qge1xuICAgIC5zZWxlY3Qtd3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4gICAgLmljb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICB0b3A6IDI2cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6IDVweCA2cHggMCA2cHg7XG4gICAgICBib3JkZXItY29sb3I6ICRncmV5IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuICAgIHNlbGVjdCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgQGluY2x1ZGUgYXBwZWFyYW5jZShub25lKTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEZhbWlseTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgcGFkZGluZzogMTVweCAzNXB4IDE1cHggMjBweDtcbiAgICAgIGJvcmRlcjogMXB4IHRyYW5zcGFyZW50IHNvbGlkO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgIGNvbG9yOiAkZ3JleTtcblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7IH0gfSB9XG5cblxuICAuY2hlY2tib3gge1xuICAgIGxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoc3BhY2UtYmV0d2VlbiwgZmxleC1zdGFydCk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgIGlucHV0IHtcbiAgICAgICAgQGluY2x1ZGUgYXBwZWFyYW5jZShub25lKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEod2hpdGUsIDAuMyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh3aGl0ZSwgMC41KTsgfVxuXG4gICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9jaGVjay9jaGVja2VkLnN2Z1wiKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHdoaXRlLCAwLjcpOyB9IH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDJweCAwIDA7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTsgfSB9IH1cblxuICAuc3VibWl0IHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbiAgLy9pbnB1dFxuIH0gIC8vLy9kaXNwbGF5OiBub25lXG4iLCIuaW1hZ2Utc2xpZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDQwcHggMHB4IHJnYmEoMCwwLDAsMC4yKTtcblxuICAucGxhY2Vob2xkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjdXJzb3I6IG1vdmU7XG5cbiAgICAuY29udHJvbGxlcnMge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDY2LjY3JTtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMzUwKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOyB9XG5cbiAgICAgIC5uYXYtaXRlbSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgQGluY2x1ZGUgZmxleChjZW50ZXIsIGNlbnRlcik7XG4gICAgICAgIGJvdHRvbTogLTUwcHg7XG4gICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoY2VudGVyLCBjZW50ZXIpO1xuICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG5cbiAgICAgICAgICAuYXJyb3ctaWNvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgICAgIC5zdDAge1xuICAgICAgICAgICAgICBmaWxsOiB3aGl0ZTsgfSB9IH1cblxuICAgICAgICAmLnByZXZpb3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJpZ2h0Qmx1ZTtcbiAgICAgICAgICByaWdodDogY2FsYyg1MCUgKyAzcHgpO1xuXG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAuYXJyb3ctaWNvbiB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfSB9XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGJyaWdodEJsdWUsIDUlKTsgfSB9XG5cbiAgICAgICAgJi5uZXh0IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgICAgICAgIGxlZnQ6IGNhbGMoNTAlICsgM3B4KTtcblxuXG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAuYXJyb3ctaWNvbiB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7IH0gfVxuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHJlZCwgNSUpOyB9IH0gfSB9XG5cblxuXG4gICAgZmlndXJlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblxuICAgICAgICAmLnNtYWxsIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg0ODApIHtcbiAgICAgICAgICAmLm1lZGl1bSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgICAgICAmLnNtYWxsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH0gfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIG9wYWNpdHk6IDE7IH0gfSB9IH1cbiIsIi8vIENvb2tpZSBtZXNzYWdlIHdpdGhvdXQgdHJhY2tpbmdcbiNjb29raWUtbWVzc2FnZSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogOTk5OTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAxNXB4IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICRyZWRHcmFkaWVudCk7XG4gIG9wYWNpdHk6IDE7XG4gIGJveC1zaGFkb3c6IDAgLTJweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMsIHRyYW5zZm9ybSAwLjZzO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXG4gICYuYWNjZXB0ZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuICAmLnRyYW5zaXRpb24tb3V0IHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNTAlLCAwKTsgfVxuXG4gIC5ncmlkLXJvdyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgcCwgcCBhLCAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cblxuICAgIHAge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9IH1cblxuICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgcGFkZGluZzogNXB4IDEycHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHdoaXRlLCAwLjIpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDYyNSkge1xuICAgICAgcCB7XG4gICAgICAgIG1heC13aWR0aDogMjI1cHg7IH0gfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgzNzUpIHtcbiAgICAgIHAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiBub25lOyB9XG5cbiAgICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9IH0gfSB9XG5cbi8vIENvb2tpZSBtZXNzYWdlIHdpdGggdHJhY2tpbmdcbiNjb29raWUtbWVzc2FnZS1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA5OTk5O1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIEBpbmNsdWRlIGZsZXgoY2VudGVyLCBjZW50ZXIpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGJsYWNrLCAwLjYpO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG5cbiAgJi5hY2NlcHRlZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4gICYudHJhbnNpdGlvbi1vdXQge1xuICAgIG9wYWNpdHk6IDA7IH1cblxuICAucGxhY2Vob2xkZXIge1xuICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC8gMTQgKiAxMik7XG4gICAgcGFkZGluZzogNjBweCAxMjBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDk2MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuICAgIGg1IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgICAgY29sb3I6ICM0ZDRkNGQ7IH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY29sb3I6ICM4MDgwODA7IH1cblxuICAgIHAgYSwgcCAub3Blbi1tZW51IHtcbiAgICAgIGNvbG9yOiAkcGFzdGVsQmx1ZTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4gICAgLmFjY2VwdC1jb29raWUtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgICBwYWRkaW5nOiAxM3B4IDIwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJpZ2h0Qmx1ZTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC40cywgb3BhY2l0eSAwLjRzO1xuICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRicmlnaHRCbHVlLCA4JSk7IH0gfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxNDQwKSB7XG4gICAgICBwYWRkaW5nOiBjYWxjKDEwMHZ3IC8gMTQgLyAxLjUpIGNhbGMoMTAwdncgLyAxNCk7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg0NTApIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuICAjbWVzc2FnZS1kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmLmhpZGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbiAgLmNvb2tpZS10eXBlcy1kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAzMHB4IDA7XG5cbiAgICAuY29va2llLXR5cGUge1xuICAgICAgQGluY2x1ZGUgZmxleChzcGFjZS1iZXR3ZWVuLCBmbGV4LXN0YXJ0KTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICArIC5jb29raWUtdHlwZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDI1cHg7IH1cblxuICAgICAgLmljb24ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KGNlbnRlciwgY2VudGVyKTtcbiAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgIGhlaWdodDogMjVweDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4gICAgICAudGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNTVweCk7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAzODBweDtcbiAgICAgICAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgY29sb3I6IHJnYmEoJGdyZXksIDAuNik7XG5cbiAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9IH0gfSB9XG5cbiAgICAgICYudHJhY2tpbmcge1xuICAgICAgICAuaWNvbjpiZWZvcmUge1xuICAgICAgICAgIEBpbmNsdWRlIGNvb2tpZVNwcml0ZSgwIDAsIDI1cHgsIDI1cHgpOyB9IH1cblxuICAgICAgJi5hbmFseXRpYyB7XG4gICAgICAgIC5pY29uOmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgY29va2llU3ByaXRlKDI3cHggMCwgMjVweCwgMjVweCk7IH0gfSB9IH1cblxuICAuY29va2llLXNldHRpbmdzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5lZGl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbiAgICAud3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDAgMDsgfVxuXG4gICAgLmNvb2tpZS10eXBlIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoc3BhY2UtYmV0d2VlbiwgZmxleC1zdGFydCk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogNDIwcHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICsgLmNvb2tpZS10eXBlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDsgfVxuXG4gICAgICBpbnB1dCB7XG4gICAgICAgIG1hcmdpbjogNHB4IDAgMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIGNvb2tpZVNwcml0ZSg1NXB4IDE0cHgsIDEzcHgsIDEzcHgpO1xuICAgICAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuXG4gICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU1cHggMDsgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfSB9XG5cbiAgICAgID4gc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNTVweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICAgICAgY29sb3I6IHJnYmEoJGdyZXksIDAuNik7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgICBjb2xvcjogJGdyZXk7XG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH0gfSB9XG5cbiAgICAgICYuYW5hbHl0aWMge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgb3BhY2l0eTogMC4zOyB9IH0gfSB9IH1cbiIsIi8vIENvb2tpZSBzd2l0Y2hcbiNjb29raWUtc3dpdGNoIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgcGFkZGluZzogMzBweCAwIDUwcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLnBsYWNlaG9sZGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIC5jb29raWUtc3dpdGNoLXRpdGxlIHtcbiAgICAgIGgzIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTJweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40OyB9IH1cblxuICAgIC5jb29raWUtdHlwZXMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDMwcHggMCA1MHB4O1xuXG4gICAgICAuY29va2llLXR5cGUge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KHNwYWNlLWJldHdlZW4sIGZsZXgtc3RhcnQpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA0MjBweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICsgLmNvb2tpZS10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4OyB9XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIG1hcmdpbjogNHB4IDAgMDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuICAgICAgICAgIEBpbmNsdWRlIGNvb2tpZVNwcml0ZSg1NXB4IDE0cHgsIDEzcHgsIDEzcHgpO1xuXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4gICAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01NXB4IDA7IH0gfVxuXG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDU1cHgpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDQ2MCkge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpOyB9XG5cbiAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9IH0gfVxuXG5cbiAgICAgICAgJi5hbmFseXRpYyB7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfSB9IH1cblxuICAgICNzYXZlLWNvb2tpZS1zZXR0aW5ncyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxM3B4IDIwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJpZ2h0Qmx1ZTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC40cywgb3BhY2l0eSAwLjRzO1xuXG4gICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJyaWdodEJsdWUsIDglKTsgfVxuXG4gICAgICAmLmNsaWNrZWQge1xuICAgICAgICBvcGFjaXR5OiAwLjI7IH0gfSB9IH1cbiIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgRHluYW1pYyBCbG9ja3NcbiAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmR5bmFtaWMtYmxvY2sge1xuXG4gICsgLmR5bmFtaWMtYmxvY2sge1xuICAgIG1hcmdpbi10b3A6IDYwcHg7IH1cblxuICAuZ3JpZC1yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgoc3BhY2UtYmV0d2VlbiwgY2VudGVyKTsgfVxuXG4gIEBpbXBvcnQgXCJ0d29UZXh0Q29sdW1uXCI7XG4gIEBpbXBvcnQgXCJmdWxsSW1hZ2VDb2x1bW5cIjtcbiAgQGltcG9ydCBcImNvbnRlbnRCbG9ja1wiO1xuICBAaW1wb3J0IFwibXVsdGlwbGVJbWFnZXNcIjtcbiAgQGltcG9ydCBcImZ1bGxUZXh0QmxvY2tcIjtcbiAgQGltcG9ydCBcInZpZGVvQmxvY2tcIjsgfVxuIiwiJi50d28tdGV4dC1jb2x1bW5zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDtcbiAgQGluY2x1ZGUgZmxleChzcGFjZS1iZXR3ZWVuLCBmbGV4LXN0YXJ0KTtcbiAgLmNvbnRlbnQge1xuICAgIHdpZHRoOiBjb2x1bW4oMjEsIDQ0KTtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg5MDApIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAuY29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH0gfSB9IH1cbiIsIiYuZnVsbC1pbWFnZS1jb2x1bW4ge1xuXG4gIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAmLmxhcmdlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDEwNTApIHtcbiAgICAgICYubGFyZ2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAmLm1lZGl1bSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNTI1KSB7XG4gICAgICAmLm1lZGl1bSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICYuc21hbGwge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9IH0gfVxuXG4iLCImLmNvbnRlbnQtYmxvY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIGZsZXgoc3BhY2UtYmV0d2VlbiwgZmxleC1zdGFydCk7XG5cbiAgLmltYWdlIHtcbiAgICB3aWR0aDogNTAlO1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAmLnNtYWxsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDQ1MCkge1xuICAgICAgICAmLm1lZGl1bSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICAgICYuc21hbGwge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH0gfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgd2lkdGg6IGNvbHVtbig1LCAxMik7IH0gfVxuXG4gIC5jb250ZW50IHtcbiAgICBAaW5jbHVkZSBvcmRlcigxKTtcbiAgICB3aWR0aDogY29sdW1uKDUsIDEyKTsgfVxuXG4gICZbZGF0YS1pbWFnZS1sb2NhdGlvbj0ncmlnaHQnXSB7XG4gICAgLmltYWdlIHtcbiAgICAgIEBpbmNsdWRlIG9yZGVyKDIpOyB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBvcmRlcigxKTsgfSB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg5MDApIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIC5pbWFnZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICBAaW5jbHVkZSBvcmRlcigyKTsgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfSB9XG4iLCImLm11bHRpcGxlLWltYWdlcyB7XG4gIEBpbmNsdWRlIGZsZXgoc3BhY2UtYmV0d2VlbiwgZmxleC1zdGFydCk7XG4gIEBpbmNsdWRlIGZsZXgtcm93cztcblxuICBmaWd1cmUge1xuICAgIHdpZHRoOiBjb2x1bW4oMjEsIDQ0KTtcblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICYubWVkaXVtIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDExMDApIHtcbiAgICAgICAgJi5sYXJnZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAmLm1lZGl1bSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDQ4MCkge1xuICAgICAgICAmLmxhcmdlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICYubWVkaXVtIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9IH0gfVxuXG4gICZbZGF0YS1zaXplLXR5cGU9JzUwJ10ge1xuICAgIGZpZ3VyZSB7XG4gICAgICBpbWcge1xuICAgICAgICAmLm1lZGl1bSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDExMjUpIHtcbiAgICAgICAgICAmLm1lZGl1bSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgJi5zbWFsbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9IH0gfSB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg5MDApIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGZpZ3VyZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgJi5tZWRpdW0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgJi5zbWFsbCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg1MjUpIHtcbiAgICAgICAgICAmLm1lZGl1bSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgJi5zbWFsbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9IH0gfSB9IH1cbiIsIiYuZnVsbC10ZXh0LWJsb2NrIHtcbiAgLmNvbnRlbnQge1xuICAgIG1heC13aWR0aDogNjgwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4iLCImLnZpZGVvLWJsb2NrIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogOTYwcHg7XG4gIG1hcmdpbjogNjBweCBhdXRvIDAgIWltcG9ydGFudDtcblxuICAudmlkZW8td3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiA1My42JSAvKiAxNjo5ICovO1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgIGhlaWdodDogMDtcbiAgICBpZnJhbWUsIC52aWRlby1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC52aWRlby1vdmVybGF5IHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBAaW5jbHVkZSBmbGV4KGNlbnRlciwgY2VudGVyKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICAgIC5idXR0b24ge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICBtYXgtd2lkdGg6IDg1cHg7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzO1xuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMC44NSkpOyB9IH1cblxuICAgICAgJi5oaWRlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjdzO1xuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC44cztcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMyk7IH0gfSB9IH0gfVxuIiwiQGltcG9ydCBcIm5hdmlnYXRpb25cIjtcbkBpbXBvcnQgXCJjb250YWN0XCI7XG5AaW1wb3J0IFwic3RpY2t5TmF2aWdhdGlvblwiO1xuIiwiLy9Db2xvcnMgdXNlZCBpbiBNb2JpbGUgTWVudVxuJGxpc3RDb2xvcjogJGJsYWNrO1xuJGxpc3RIb3ZlckNvbG9yOiByZ2JhKCRibGFjaywgMC43KTtcbiRsaXN0QWN0aXZlQ29sb3I6ICRibHVlO1xuXG4kYmFyQ29sb3I6ICRibHVlO1xuJGJhck1lbnVDb2xvcjogd2hpdGU7XG4kbWVudUJhY2tncm91bmQ6IHdoaXRlO1xuXG4kc2hhZGVyQmFja2dyb3VuZDogJHJlZFRoZW1lO1xuJHNoYWRlck9wYWNpdHk6IDAuNjtcblxuXG4ucHJldmVudFNjcm9sbCB7XG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoODUwKSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuXG4jbW9iaWxlLW5hdmlnYXRpb24ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwMDA7XG4gIGhlaWdodDogMTAwdmg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBkaXNwbGF5OiBub25lO1xuXG4gIC5iYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgJHJlZEdyYWRpZW50KTtcbiAgICBib3gtc2hhZG93OiAwIDJweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjExKTtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA0O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuNHM7XG5cbiAgICAudG9nZ2xlLW1lbnUge1xuICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB6LWluZGV4OiAzO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQGluY2x1ZGUgZmxleChjZW50ZXIsIGNlbnRlcik7XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG5cbiAgICAgICAgc3BhbiArIHNwYW4ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFyTWVudUNvbG9yO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzO1xuXG4gICAgICAgICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC44LCAxLCAxKTsgfVxuXG4gICAgICAgICAgJjpudGgtb2YtdHlwZSgzKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NSwgMSwgMSk7IH0gfSB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSkgIWltcG9ydGFudDsgfSB9IH0gfVxuXG4gICAgLmxvZ28ge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgQGluY2x1ZGUgZmxleChjZW50ZXIsIGNlbnRlcik7XG5cbiAgICAgIGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogM3B4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiAyNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDI1cHg7IH0gfSB9IH1cblxuICAuc2hhZGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaGFkZXJCYWNrZ3JvdW5kO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjRzOyB9XG5cbiAgLm1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICBtaW4td2lkdGg6IDI3NXB4O1xuICAgIHBhZGRpbmc6IDcwcHggMTIwcHg7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVudUJhY2tncm91bmQ7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgIHotaW5kZXg6IDU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG5cbiAgICBuYXYge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAuY2xvc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgbGVmdDogLTY4cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRsaXN0Q29sb3IsIDAuNCk7IH0gfVxuXG4gICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3RDb2xvcjtcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zczsgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiA3cHg7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHdpZHRoOiAycHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0b3A6IDdweDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDJweDsgfSB9XG5cblxuICAgICAgLmxvZ28td3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDI1MHB4O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDM2cHg7IH0gfSB9XG5cbiAgICAgIC5tZW51LWxpc3Qge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuXG4gICAgICAgIC5iYWNrVG9FSEJPIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDY1MCkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcblxuICAgICAgICAgICsgdWwge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjRweDsgfVxuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBwYWRkaW5nOiA4cHggMDtcbiAgICAgICAgICAgICAgY29sb3I6ICRsaXN0Q29sb3I7XG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycztcbiAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlzdEhvdmVyQ29sb3I7IH0gfVxuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NWVtOyB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaXN0QWN0aXZlQ29sb3I7IH0gfSB9IH0gfSB9IH1cblxuICAmLmFjdGl2ZSB7XG4gICAgLmJhciB7XG4gICAgICAudG9nZ2xlLW1lbnUge1xuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC40cztcbiAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoNDVkZWcpKTtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgdG9wOiA2cHg7IH1cbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgIGJvdHRvbTogNnB4O1xuICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKC00NWRlZykpOyB9IH0gfSB9IH1cbiAgICAubWVudSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuICAmLnNoYWRlci1hY3RpdmUge1xuICAgIC5zaGFkZXIge1xuICAgICAgb3BhY2l0eTogJHNoYWRlck9wYWNpdHk7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsOyB9IH1cblxuICAmLmFsbG93LWFuaW1hdGlvbiB7XG4gICAgLnNoYWRlciB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yczsgfVxuICAgIC5tZW51IHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9IH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDg1MCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgLmJhciB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4gICAgLm1lbnUge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgcGFkZGluZy1yaWdodDogNjBweDtcblxuICAgICAgLmxvZ291dC1idXR0b24ge1xuICAgICAgICBjb2xvcjogJHBsYWNlaG9sZGVyR3JheTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0ZGQUMzNDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxOHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IH0gfSB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg0MjUpIHtcbiAgICAubWVudSB7XG4gICAgICBwYWRkaW5nOiA3MHB4IDMwcHg7XG4gICAgICBuYXYge1xuICAgICAgICAuY2xvc2Uge1xuICAgICAgICAgIGxlZnQ6IDA7IH1cbiAgICAgICAgdWwge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9IH0gfSB9IH1cbiIsIi5tb2JpbGUtY29udGFjdCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuXG4gIHBhZGRpbmc6IDUwcHggY29sdW1uKDEpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuICBjb2xvcjogJGJsYWNrO1xuICBmb250LXNpemU6IDAuOXJlbTtcblxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMsIHRyYW5zZm9ybSAwLjRzO1xuXG4gICYuYWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cblxuXG4gIGgxLCBoMiB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbWF4LXdpZHRoOiA1ODBweDtcbiAgICBjb2xvcjogJHBhc3RlbEJsdWU7XG4gICAgbWFyZ2luOiAwIDAgNDBweDsgfVxuXG4gIHAge1xuICAgIG1hcmdpbjogMXJlbSAwOyB9XG5cbiAgc3Ryb25nIHtcbiAgICBjb2xvcjogJGJsYWNrOyB9XG5cbiAgYTpub3QoLmJ1dHRvbikge1xuICAgIGNvbG9yOiAkYmx1ZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcywgYm9yZGVyIDAuM3MsIG9wYWNpdHkgMC4zcztcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBkYXJrZW4oJGJsdWUsIDE1JSk7IH0gfVxuXG5cblxuICBhLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkKCk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7IH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhc3RlbEJsdWU7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApOyB9IH0gfVxuXG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg4NDApIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4iLCIjc3RpY2t5LW5hdmlnYXRpb24ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogNTA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA2MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgYm94LXNoYWRvdzogMCA2cHggMTBweCAtNXB4IHJnYmEoMCwwLDAsMC4xKTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMsIG9wYWNpdHkgMC40cztcblxuICAmLmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbiAgLmdyaWQtcm93IHtcbiAgICBAaW5jbHVkZSBmbGV4KHNwYWNlLWJldHdlZW4sIGNlbnRlcik7IH1cblxuICAubWVudSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA2MHB4O1xuXG4gICAgLnBsYWNlaG9sZGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwMCU7XG5cbiAgICAgIC5pY29uLXBsYWNlaG9sZGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoY2VudGVyLCBjZW50ZXIpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIHdpZHRoOiAyMHB4O1xuXG4gICAgICAgICAgc3BhbiArIHNwYW4ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cztcblxuICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjgsIDEsIDEpOyB9XG5cbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMykge1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NSwgMSwgMSk7IH0gfSB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKSAhaW1wb3J0YW50OyB9IH0gfSB9IH0gfVxuXG4gIC5sb2dvLXdyYXBwZXIge1xuICAgIGEge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfSB9IH1cbiIsIi5iYWNrVG9FSEJPIHtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIHBhZGRpbmctdG9wOiA1MnB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAkc2VtaUJsYWNrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XG4gIEBpbmNsdWRlIGlubGluZS1mbGV4KHNwYWNlLWJldHdlZW4sIGNlbnRlcik7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg2NTApIHtcbiAgICBwYWRkaW5nOiAzMHB4IDAgMzBweCA3JTsgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkcmVkVGhlbWUyO1xuICAgIHNwYW4uYmFjay1hcnJvdyB7XG4gICAgICBvcGFjaXR5OiAwLjg7IH0gfVxuXG5cbiAgc3Bhbi5iYWNrLWFycm93IHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxOHB4O1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3RhQmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG5cbiAgICBzdmcge1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7IH0gfSB9XG5cblxuIiwiQGltcG9ydCBcImhvbWVcIjtcbkBpbXBvcnQgXCJwb3N0cy9wb3N0c1wiO1xuQGltcG9ydCBcImNvbnRhY3RcIjtcbkBpbXBvcnQgXCJsb2dpblwiO1xuQGltcG9ydCBcInJlZ2lzdGVyXCI7XG5AaW1wb3J0IFwicGVyc29uYWxcIjtcbkBpbXBvcnQgXCJjb3Vyc2VzXCI7XG5AaW1wb3J0IFwiY2hlY2tpblwiO1xuXG5cbkBpbXBvcnQgXCJlcnJvclwiO1xuQGltcG9ydCBcInNpdGVtYXBcIjtcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIb21lIHBhZ2VcbiAgIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiIsIkBpbXBvcnQgXCJpbmRleFwiO1xuQGltcG9ydCBcInNob3dcIjtcbiIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgTmV3cyBvdmVydmlldyBwYWdlXG4gIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubmV3cyB7fVxuIiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBOZXdzIGRldGFpbCBwYWdlXG4gIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubmV3cy1kZXRhaWwge31cbiIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgQ29udGFjdCBwYWdlXG4gIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY29udGFjdCB7fVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhvbWUgcGFnZVxuICAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5sb2dpbiB7XG5cbiAgPiAucGxhY2Vob2xkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNjUwKSB7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG5cblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJysnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAwO1xuICAgICAgZm9udC1zaXplOiA0ODBweDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNjQlO1xuICAgICAgcGFkZGluZy10b3A6IDIlO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjRkZGRkZGIDAlLCAjRjdGOEZBIDgwJSk7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNjUwKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4gICAgPiBmb3JtIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDU7XG5cbiAgICAgIC5nZW5lcmFsLWFsZXJ0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjMzMzM7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAtNTVweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuXG4gICAgICAgICY6Zmlyc3QtbGV0dGVyIHtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfSB9IH0gfVxuXG4gIGgxIHtcbiAgICBjb2xvcjogJHNlbWlCbGFjaztcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMjtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNTVweDtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoODUwKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7IH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNDI1KSB7XG4gICAgICBmb250LXNpemU6IDEuM3JlbTsgfSB9XG5cbiAgbGFiZWwge1xuICAgIHdpZHRoOiBjb2x1bW4oNiwgOCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDsgfVxuXG4gIGlucHV0IHtcbiAgICB3aWR0aDogY29sdW1uKDYsIDgpO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCByZ2JhKCRjdGFCYWNrZ3JvdW5kLCAwLjgpO1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgcGFkZGluZzogOHB4IDA7XG4gICAgY29sb3I6ICRwbGFjZWhvbGRlckdyYXk7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDEwMjQpIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG5cbiAgICAmW3R5cGU9c3VibWl0XSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbkdyZWVuO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtaW4td2lkdGg6IDI0MHB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYnV0dG9uR3JlZW4sIDUlKTsgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDQyNSkge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbiAgICBAaW5jbHVkZSBwbGFjZWhvbGRlciB7XG4gICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICBvcGFjaXR5OiAwLjQ1O1xuICAgICAgY29sb3I6ICRwbGFjZWhvbGRlckdyYXk7IH0gfVxuXG4gIGEuZm9yZ290UGFzc3dvcmQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICRzZW1pQmxhY2s7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG4gICAgcGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwgMTApO1xuICAgIEBpbmNsdWRlIGZsZXgoZmxleC1zdGFydCwgY2VudGVyKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRyZWRUaGVtZTI7IH1cblxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg2NTApIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiBjb2x1bW4oMC41LCA4KTsgfVxuXG4gICAgcCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHg7IH1cblxuICAgIHNwYW4ubG9jayB7XG4gICAgICBzdmcge1xuICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7IH0gfSB9XG5cblxuXG5cbiAgLnJlZ2lzdGVyTGluayB7XG4gICAgY29sb3I6ICRzZW1pQmxhY2s7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIG1hcmdpbjogNTBweCAwIDg1cHggMDtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNjUwKSB7XG4gICAgICBtYXJnaW46IDMwcHggMCAwIDA7IH1cblxuICAgIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICRzZW1pQmxhY2s7XG4gICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRyZWRUaGVtZTI7IH0gfSB9IH1cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhvbWUgcGFnZVxuICAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaDEucmVnaXN0ZXItaGVhZGVyIHtcbiAgY29sb3I6ICM1MTUxNTE7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMztcbiAgd2lkdGg6IGNvbHVtbig4LCAxMik7XG4gIG1hcmdpbjogNzBweCBhdXRvIDM1cHggYXV0bztcblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDEyODApIHtcbiAgICB3aWR0aDogY29sdW1uKDEyKTsgfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNjUwKSB7XG4gICAgcGFkZGluZzogMzBweCAwIDAgMTUlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNDI1KSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbi5yZWdpc3RlciB7XG4gIHBhZGRpbmctdG9wOiAwO1xuXG4gIC5wbGFjZWhvbGRlciB7XG4gICAgcGFkZGluZzogNjVweCBjb2x1bW4oMSwgMTApIDM1cHggY29sdW1uKDEsIDEwKTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoMTI4MCkge1xuICAgICAgcGFkZGluZzogNjVweCBjb2x1bW4oMSwgOCkgMzVweCBjb2x1bW4oMSwgOCk7IH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoODUwKSB7XG4gICAgICBwYWRkaW5nOiAzNXB4IDAgMzVweCAxNSU7IH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNDI1KSB7XG4gICAgICBwYWRkaW5nOiAzNXB4IDMwcHg7IH0gfVxuXG4gIC5nZW5lcmFsLWFsZXJ0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkVGhlbWU7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweCA1cHggMCAwO1xuXG4gICAgJjpmaXJzdC1sZXR0ZXIge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH0gfVxuXG4gIC5mb3JtLWdyb3VwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICBzcGFuLmljb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogY29sdW1uKC0xLCA5KTtcbiAgICAgIHRvcDogLTEwcHg7XG4gICAgICAmLnBlcnNvbiB7XG4gICAgICAgIHRvcDogMDsgfVxuICAgICAgc3ZnIHtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzOyB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNDI1KSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAyMHB4KTtcbiAgICAgICAgdG9wOiAtMzBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfSB9XG5cbiAgICAuZm9ybS1lbGVtZW50IHtcbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNjUwKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgY29sb3I6ICRzZW1pQmxhY2s7XG5cbiAgICAgICAgJi5nZW5kZXIsICZbZm9yPWFnZV0sICZbZm9yPXllYXJzX2NlcnRpZmllZF0sICZbZm9yPWV4cGlyYXRpb25fZGF0ZV0sICZbZm9yPWhvdXNlX251bWJlcl0ge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuICAgICAgICAmW2Zvcj1hZ2VdIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgKyBpbnB1dCB7XG4gICAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjdGFCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogNHB4IDA7IH0gfVxuXG4gICAgICAgICYuZ2VuZGVyIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OyB9XG5cbiAgICAgICAgJltmb3I9eWVhcnNfY2VydGlmaWVkXSB7XG4gICAgICAgICAgKyBpbnB1dCB7XG4gICAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG4gICAgICAgICZbZm9yPWhvdXNlX251bWJlcl0ge1xuICAgICAgICAgICsgaW5wdXQge1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg2NTApIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9IH1cblxuICAgICAgICAmW2Zvcj1leHBpcmF0aW9uX2RhdGVdIHtcbiAgICAgICAgICArIGlucHV0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9IH1cblxuICAgICAgaW5wdXQge1xuICAgICAgICB3aWR0aDogY29sdW1uKDcsIDgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCByZ2JhKCRjdGFCYWNrZ3JvdW5kLCAwLjgpO1xuICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgcGFkZGluZzogOHB4IDA7XG4gICAgICAgIGNvbG9yOiAkZ3JheTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgJlt0eXBlPXJhZGlvXSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG5cbiAgICAgICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDAuNDU7XG4gICAgICAgICAgY29sb3I6ICRwbGFjZWhvbGRlckdyYXk7IH0gfSB9IH1cblxuXG4gIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgIG1hcmdpbjogMzBweCAwO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25HcmVlbjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWluLXdpZHRoOiAyNDBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYnV0dG9uR3JlZW4sIDUlKTsgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg0MjUpIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH0gfVxuXG4uc2VsZWN0LXdyYXBwZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuc2VsZWN0IHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC1tb3otYXBwZWFyYW5jZTogYnV0dG9uO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXBhZGRpbmctZW5kOiAyMHB4O1xuICAtbW96LXBhZGRpbmctZW5kOiAyMHB4O1xuICAtd2Via2l0LXBhZGRpbmctc3RhcnQ6IDIwcHg7XG4gIC1tb3otcGFkZGluZy1zdGFydDogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDMsMTEzLDEyMiwwLjA1KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9zdmcvYXJyb3dfZGFya19zZWxlY3Quc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYm9yZGVyOiAxcHggc29saWQgI0UwRTFFMztcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgZm9udC1zaXplOiAwLjdlbTtcbiAgY29sb3I6ICRncmV5O1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgbWluLXdpZHRoOiA2MHB4O1xuXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuXG4gICYueWVhciB7XG4gICAgbWluLXdpZHRoOiA3NXB4OyB9IH1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIb21lIHBhZ2VcbiAgIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5wZXJzb25hbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGNvbHVtbig3LCAxMik7XG4gIG1hcmdpbi1yaWdodDogY29sdW1uKDEsIDEyKTtcbiAgbWFyZ2luLWxlZnQ6IGNvbHVtbigxLCAxMik7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg5NTApIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDg1MCkge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogY29sdW1uKDAuNSwgOCk7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpOyB9XG5cblxuICAuYWxlcnQtZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgNTEsIDUxLCAwLjcpO1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgIG1hcmdpbi10b3A6IC00NXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuXG4gIC5mb3JtLWdyb3VwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICBzcGFuLmljb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogY29sdW1uKC0xLCA3KTtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgdG9wOiAtOHB4O1xuICAgICAgJi5wZXJzb24ge1xuICAgICAgICB0b3A6IDA7IH1cbiAgICAgIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yczsgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDY1MCkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMjBweCk7XG4gICAgICAgIHRvcDogLTMwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH0gfSB9XG5cbiAgaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDQyNSkge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpO1xuICAgICAgbWluLXdpZHRoOiAxNzBweDsgfSB9IH1cblxuLnNpZGViYXIge1xuICAmLnVzZXIge1xuICAgIHVsIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbGkge1xuICAgICAgICBwYWRkaW5nOiAyNXB4IDE0JTtcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aC1iZXlvbmQoMTgwMCkge1xuICAgICAgICAgIHBhZGRpbmc6IDI1cHggNTBweDsgfVxuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwLjVweCBzb2xpZCAkY3RhQmFja2dyb3VuZDsgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgIGNvbG9yOiAkc2VtaUJsYWNrO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG5cbiAgICAgICAgICAmLnZhbHVlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjM3NWVtOyB9IH0gfSB9IH0gfVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhvbWUgcGFnZVxuICAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmNvdXJzZXMge1xuICB3aWR0aDogY29sdW1uKDgsIDEyKTtcbiAgbWFyZ2luLXJpZ2h0OiBjb2x1bW4oMSwgMTIpO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoOTUwKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjb2x1bW4oMC41LCAxMik7IH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDg1MCkge1xuICAgIHBhZGRpbmctbGVmdDogY29sdW1uKDAuNSwgOCk7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHggLSA2LjI1JSk7IH1cblxuICAuaW5mby1tZXNzYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDVweCA1cHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTQwcHgpO1xuICAgIEBpbmNsdWRlIGFuaW1hdGlvbihzaG93QW5kSGlkZSA1cyk7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7IH1cblxuICAuY291cnNlcy1oZWFkZXIge1xuICAgIHBhZGRpbmctdG9wOiA1MnB4O1xuICAgIEBpbmNsdWRlIGZsZXgoc3BhY2UtYmV0d2VlbiwgZmxleC1zdGFydCk7XG5cbiAgICAuaGVsbG8tdXNlciB7XG4gICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogJHNlbWlCbGFjaztcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZWZ0OiAtMjRweDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgQGluY2x1ZGUgaW5saW5lLWZsZXgoc3BhY2UtYmV0d2VlbiwgZmxleC1zdGFydCk7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNjUwKSB7XG4gICAgICAgIGxlZnQ6IDA7IH1cblxuXG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogZGFya2VuKCRzZW1pQmxhY2ssIDEwJSk7XG4gICAgICAgIHNwYW4ucGVyc29uIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjg7IH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICBjb2xvcjogJHNlbWlCbGFjazsgfSB9XG5cblxuICAgICAgc3Bhbi5wZXJzb24ge1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDdweDtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcblxuICAgICAgICAgID4gZyB7XG4gICAgICAgICAgICA+IGcsIHVzZSB7XG4gICAgICAgICAgICAgIGZpbGw6ICRzZW1pQmxhY2s7IH0gfSB9IH1cblxuICAgICAgaDQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xcmVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuXG4gICAgICBwIHtcbiAgICAgICAgY29sb3I6ICRjdGFCYWNrZ3JvdW5kO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG5cbiAgICAuZ2VuZXJhbC1ub3RpY2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXI6IHNvbGlkIDFweCAjNUU5REZGO1xuICAgICAgY29sb3I6ICMzMTMxNzM7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCM1RTlERkYsIDAuMik7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgbWF4LXdpZHRoOiA3MCU7IH0gfVxuXG5cbiAgLmZpbHRlcnMge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjRDlEQUUyO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDU1MCkge1xuICAgICAgQGluY2x1ZGUgZmxleChmbGV4LXN0YXJ0LCBjZW50ZXIpO1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNTUwKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAxLjVweCAjRDlEQUUyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuXG4gICAgICAmICsgbGkge1xuICAgICAgICBtYXJnaW4tbGVmdDogNyU7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg1NTApIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogI0NFQ0VDRTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzOyB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogIzVFOURGRjsgfSB9XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg1NTApIHtcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIDEuNXB4ICM1RTlERkY7IH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogIzVFOURGRjtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDEuNXB4ICM1RTlERkY7XG5cbiAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDU1MCkge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH0gfSB9IH1cblxuICAuY29tcGV0ZW5jZV9maWx0ZXIge1xuICAgIEBpbmNsdWRlIGlubGluZS1mbGV4KGZsZXgtc3RhcnQsIGNlbnRlcik7XG4gICAgYm9yZGVyOiAycHggc29saWQgI0NFQ0VDRTtcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgIHBhZGRpbmc6IDVweCAyMHB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogJHNlbWlCbGFjaztcbiAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNiYmJiYmI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0VDRUNFO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbiAgICBzcGFuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuXG4gIC5jb3Vyc2VzLWxpc3Qge1xuICAgIEBpbmNsdWRlIGlubGluZS1mbGV4KHNwYWNlLWJldHdlZW4sIGZsZXgtc3RhcnQpO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5jb3Vyc2Uge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0NFQ0VDRTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgICB3aWR0aDogNDglO1xuICAgICAgbWluLXdpZHRoOiAzNTBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIGJveC1zaGFkb3c6IDVweCA1cHggMjBweCAwIHJnYmEoMCwwLDAsMC4xKTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIGZsZXgoZmxleC1zdGFydCwgc3RyZXRjaCk7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDEyODApIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMzBweCBhdXRvOyB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNDI1KSB7XG4gICAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMzBweCBhdXRvOyB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDEyODApIHtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAzMHB4IGF1dG87IH0gfVxuXG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBoZWlnaHQ6IDQ2cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjdGOEZBO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMTVweCAxNXB4O1xuICAgICAgICB6LWluZGV4OiAwOyB9XG5cbiAgICAgIC5jb3Vyc2VfaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMCBjb2x1bW4oMSwgOCk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjRDlEQUUyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGg1IHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiA3cHggMDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweCA1cHggMCAwO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICBoNCB7XG4gICAgICAgICAgY29sb3I6ICRzZW1pQmxhY2s7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEuOGVtOyB9XG5cbiAgICAgICAgLmNvdXJzZV9wcm9wZXJ0aWVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4KGZsZXgtc3RhcnQsIGNlbnRlcik7XG4gICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg0MjUpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoY2VudGVyLCBmbGV4LXN0YXJ0KTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuICAgICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoY2VudGVyLCBjZW50ZXIpO1xuICAgICAgICAgICAgJiArIHAge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcblxuICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDQyNSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH0gfVxuXG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgPiBnIHtcbiAgICAgICAgICAgICAgICA+IGcsIHVzZSB7XG4gICAgICAgICAgICAgICAgICBmaWxsOiAjMDRENjgyOyB9IH0gfSB9IH1cblxuICAgICAgICBwLnVzZXJzIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4KGZsZXgtc3RhcnQsIGNlbnRlcik7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjZweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgPiBnIHtcbiAgICAgICAgICAgICAgPiBnLCB1c2Uge1xuICAgICAgICAgICAgICAgIGZpbGw6ICMwNEQ2ODI7IH0gfSB9IH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgICAgICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXk7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkZ3JleSwgNSUpOyB9IH0gfVxuXG4gICAgICAuY291cnNlX2NvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgZmxleChzcGFjZS1iZXR3ZWVuLCBzdHJldGNoKTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgaDUsIGZvcm0ge1xuICAgICAgICAgIHBhZGRpbmc6IDAgNTBweDsgfVxuXG4gICAgICAgIGg1IHtcbiAgICAgICAgICBjb2xvcjogIzUxNzI5MjtcbiAgICAgICAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjk1cmVtO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IHJnYmEoI0Q5REFFMiwgMC41KTsgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCByZ2JhKCNEOURBRTIsIDAuNSk7XG4gICAgICAgICAgICBjb2xvcjogIzUxNzI5MjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoZmxleC1zdGFydCwgYmFzZWxpbmUpO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodEdyYXk7IH1cblxuICAgICAgICAgICAgJi51bmtub3duOmJlZm9yZSxcbiAgICAgICAgICAgICYubWlzc2luZzpiZWZvcmUge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VtaUJsYWNrOyB9XG5cbiAgICAgICAgICAgICYuZXhwaXJlZDpiZWZvcmUge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkUzMzMzOyB9XG5cbiAgICAgICAgICAgICYuYWxtb3N0X2V4cGlyZWQ6YmVmb3JlIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGQUMzNDsgfVxuXG4gICAgICAgICAgICAmLnZhbGlkOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNEQ2ODI7IH1cblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjdGOEZBO1xuICAgICAgICAgICAgICBib3JkZXItbGVmdDogc29saWQgNnB4ICM1RTlERkY7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjRweDsgfVxuXG5cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH0gfVxuXG5cblxuICAgICAgICBmb3JtIHtcbiAgICAgICAgICBtYXJnaW46IDMwcHggYXV0bztcbiAgICAgICAgICBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkFDMzQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigjRkZBQzM0LCA1JSk7IH1cblxuICAgICAgICAgICAgJi5mdWxsIHtcbiAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodEdyYXk7XG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuXG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodEdyYXk7IH0gfVxuXG4gICAgICAgICAgICAmLnN1YnNjcmliZWQge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcblxuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJsdWUsIDUlKTsgfSB9IH1cblxuICAgICAgICAgIC5hbG1vc3RfZnVsbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjtcbiAgICAgICAgICAgIGNvbG9yOiAkcGxhY2Vob2xkZXJHcmF5OyB9IH0gfSB9IH0gfVxuXG4uc2lkZWJhciB7XG4gICYuY29tcGV0ZW5jZXMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMTA7XG5cbiAgICBoMSwgaDIsIGgzIHtcbiAgICAgIHBhZGRpbmc6IDAgMTQlO1xuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aC1iZXlvbmQoMTgwMCkge1xuICAgICAgICBwYWRkaW5nOiAwIDUwcHg7IH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg5MDApIHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG5cbiAgICB1bCB7XG4gICAgICBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGEge1xuICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgcGFkZGluZzogNXB4IDAgNXB4IDUlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGNvbG9yOiAkc2VtaUJsYWNrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC42cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjdGOEZBO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbiAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoLWJleW9uZCgxODAwKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDM4cHg7IH1cblxuICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoOTAwKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuXG4gICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoZmxleC1zdGFydCwgYmFzZWxpbmUpO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbiAgICAgICAgICAgICY6Zmlyc3QtbGV0dGVyIHtcbiAgICAgICAgICAgICAgY29sb3I6IHJlZDtcbiAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodEdyYXk7IH0gfVxuXG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogJHBsYWNlaG9sZGVyR3JheTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMjBweDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfSB9IH1cblxuICAgICAgICAmLm1pc3Npbmcge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlbWlCbGFjazsgfSB9IH1cblxuICAgICAgICAmLmV4cGlyZWQge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZFMzMzMzsgfSB9IH1cblxuICAgICAgICAmLmFsbW9zdF9leHBpcmVkIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkFDMzQ7IH0gfSB9XG5cbiAgICAgICAgJi52YWxpZCB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBsYWJlbDpiZWZvcmUge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDRENjgyOyB9IH0gfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGN0Y4RkE7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogc29saWQgNnB4ICM1RTlERkY7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoNSUgLSA2cHgpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoLWJleW9uZCgxODAwKSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzJweDsgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICAgICAgICB3aWR0aDogMzV2dztcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjdGOEZBO1xuICAgICAgICAgICAgICB6LWluZGV4OiAwOyB9IH0gfVxuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgkY3RhQmFja2dyb3VuZCwgMC41KTsgfSB9IH0gfSB9XG5cblxuXG4vLyBTaGFrZSBhbmltYXRpb25cbkBpbmNsdWRlIGtleWZyYW1lcyhzaG93QW5kSGlkZSkge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNDBweCwgMCk7IH1cbiAgMTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwgMCk7IH1cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwgMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNDBweCwgMCk7IH0gfVxuXG5cbkBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAuY291cnNlcyB7XG4gICAgLmNvdXJzZXMtbGlzdCB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgLy9ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGNvbHVtbigyLjIsIDkuNSkgY29sdW1uKDIuMiwgOS41KSBjb2x1bW4oMi4yLCA5LjUpIGNvbHVtbigyLjIsIDkuNSlcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDM1MHB4LCAxZnIpKTtcbiAgICAgIGdyaWQtY29sdW1uLWdhcDogMzBweDtcbiAgICAgIGdyaWQtcm93LWdhcDogNDVweDtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg0MjUpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cblxuICAgICAgLmNvdXJzZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDQ1MHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDQyNSkge1xuICAgICAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAzMHB4IGF1dG87IH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfSB9IH0gfSB9XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSG9tZSBwYWdlXG4gICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uY2hlY2tpbiB7XG4gIG1pbi1oZWlnaHQ6IDg1MHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoOTAwKSB7XG4gICAgbWluLWhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4gIGgyIHtcbiAgICBtYXJnaW46IDA7IH1cblxuICAuY291cnNlLWF0dHJpYnV0ZXMge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgcCB7XG4gICAgICBAaW5jbHVkZSBpbmxpbmUtZmxleChjZW50ZXIsIGNlbnRlcik7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDQ1cHg7XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuXG4gICAgICAgID4gZyB7XG4gICAgICAgICAgPiBnLCB1c2Uge1xuICAgICAgICAgICAgZmlsbDogIzA0RDY4MjsgfSB9IH0gfSB9XG5cbiAgaW5wdXQjY2VydGlmaWNhdGVfbnVtYmVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lOyB9XG5cbiAgICBAaW5jbHVkZSBwbGFjZWhvbGRlciB7XG4gICAgICBvcGFjaXR5OiAwLjU7IH0gfVxuXG4gIC5jaGVja2luLXJlc3VsdCB7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxcztcbiAgICAmLnNob3cge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgICYuc3VjY2VzcyB7XG4gICAgICBjb2xvcjogIzA5NWQwZDsgfVxuICAgICYuZmFpbGVkIHtcbiAgICAgIGNvbG9yOiAjOWEwMzAzOyB9IH0gfVxuXG5cblxuLnNpZGViYXIge1xuICAmLnN0dWRlbnRzIHtcbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDkwMCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICBoMSB7XG4gICAgICBwYWRkaW5nOiAwIDE0JTtcbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgtYmV5b25kKDE4MDApIHtcbiAgICAgICAgcGFkZGluZzogMCA1MHB4OyB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoOTAwKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd29yZC1icmVhazogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuXG4gICAgICBzcGFuLmljb24ge1xuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDkwMCkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfSB9XG5cbiAgICBoMiB7XG4gICAgICBwYWRkaW5nOiAwIDE0JTtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg5MDApIHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG5cbiAgICB1bCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgbWF4LWhlaWdodDogMjQwcHg7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoOTAwKSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbiAgICAgIGxpIHtcbiAgICAgICAgcGFkZGluZzogMjVweCA1MHB4O1xuXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSxcbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDAuNXB4IHNvbGlkICRjdGFCYWNrZ3JvdW5kOyB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgY29sb3I6ICRzZW1pQmxhY2s7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcblxuICAgICAgICAgICYudmFsdWUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JheTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuMzc1ZW07IH0gfSB9XG5cbiAgICAgICYjcHJlc2VudFVzZXJzIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBjb2xvcjogJGdyZWVuO1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXDI3MTMnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMThweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgIHRvcDogMC40cmVtO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOyB9IH0gfVxuXG4gICAgICAmI3N1YnNjcmliZWRVc2VycyB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJz8nO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMThweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgIHRvcDogMC40cmVtOyB9IH0gfSB9IH0gfVxuXG4iLCIjZXJyb3ItcGFnZS1tZXNzYWdlIHtcbiAgcGFkZGluZzogMTAwcHggMCAxMDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvcmRlckNvbG9yO1xuXG4gIC5ncmlkLXJvdyB7XG4gICAgLmttcy1jb250ZW50IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbiAgICAucGxhY2Vob2xkZXIge1xuICAgICAgbWF4LXdpZHRoOiA3MjBweDtcbiAgICAgIG1hcmdpbjogYXV0bzsgfVxuXG4gICAgLy9wXG4gICAgLy8gIGZvbnQtc2l6ZTogMXJlbVxuICAgIC8vICBsaW5lLWhlaWdodDogMS43XG4gICAgLy8gIGZvbnQtd2VpZ2h0OiBib2xkXG4gICAgLy8gIGNvbG9yOiAkZ3JleVxuICAgIC8vXG4gICAgLy8gICtyZXNwb25kLXRvLXdpZHRoKDcwMClcbiAgICAvLyAgICBmb250LXNpemU6IDAuOXJlbVxuICAgIC8vICArcmVzcG9uZC10by13aWR0aCg0NTApXG4gfSB9ICAgIC8vICAgIGZvbnQtc2l6ZTogMC44cmVtXG4iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIFNpdGVtYXAgcGFnZVxuICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNpdGVtYXAge1xuICB1bCB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMC44NWVtOyB9XG5cbiAgPnVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cblxuICBsaSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgdG9wOiA2cHg7IH1cblxuICAgIGEge1xuICAgICAgcGFkZGluZzogM3B4IDA7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoJGJsYWNrLCAwLjQpOyB9IH0gfSB9XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBRUFBOztzRkFFc0Y7QUFDdEY7Ozs7O0dBS0c7QUFJSDs7R0FFRztBQ2RIOzs7aUJBR2lCO0F3RUhqQjs7c0ZBRXNGO0FBRXRGOzs7R0FHRztBQ1BIOztxRkFFcUY7QUFFckY7Ozs7SUFJSTtBQWNKOzs7SUFHSTtBQUlKOztJQUVJO0FNL0JKOztzRkFFc0Y7QUFFdEYsQUFBQSxDQUFDLENBQUM7RUFDQSxVQUFVLEVBQUUsVUFBVTtDQUFHOztBQUUzQjs7OztHQUlHO0FBQ0gsQUFBQSxJQUFJLENBQUM7RUFDSCxTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxHQUFHO0NBQUc7O0FBRXJCOzs7R0FHRztBQUNILEFBQUEsR0FBRyxDQUFDO0VBQ0YsT0FBTyxFQUFFLEtBQUs7RUFDZCxNQUFNLEVBQUUsSUFBSTtDQUFHOztBQUVqQjs7SUFFSTtB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 */\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/style.sass","@mixin placeholder {\n  &::-webkit-input-placeholder /* Chrome/Opera/Safari */ {\n    @content; }\n  &::-moz-placeholder /* Firefox 19+ */ {\n    @content; }\n  &:-ms-input-placeholder /* IE 10+ */ {\n    @content; }\n  &:-moz-placeholder /* Firefox 18- */ {\n    @content; } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/mixins/_placeholder.sass","/*==========================================================================\n  Grid\n  @mixin ========================================================================= */\n\n/**\n  * Grid row\n  *\n  * 1. The outer two columns are just margin\n  * 2. Prevent inline-block cells wrapping\n  * 3. Prevent vertical spacing between inline-blocks\n  */\n\n.grid-row {\n  width: column(12) /* 1 */;\n  max-width: 1440px;\n  margin: 0 auto;\n  font-size: 0 /* 2 */;\n  line-height: 0 /* 3 */;\n\n  /**\n   * The full row doesn't have the two outer margin rows\n   * They stretch till both ends of the window\n   */\n\n  &.full-row {\n    width: 100%;\n    max-width: none; } }\n\n/**\n * Grid column\n *\n * 1. Reset white-space inherited from `.grid`\n * 2. Reset font-size inherited from `.grid`\n * 3. Reset line-height inherited from `.grid`\n */\n\n.grid-col {\n  position: relative;\n\n  display: inline-block;\n  overflow: hidden;\n  white-space: normal /* 1 */;\n  font-size: 1rem /* 2 */;\n  line-height: 1.6 /* 3 */;\n\n  /**\n   * Center column\n   *\n   * 1. 'inline-block' doesn't center with margin '0 auto'\n   */\n\n  &.center {\n    display: block /* 1 */;\n    margin: 0 auto; } }\n\n\n\n\n@for $i from 1 through $gridColumns {\n\n  /* Column dimensions\n   @mixin ========================================================================= */\n\n  /*\n   * Calculate width by dividing a full width into 12 columns\n   * Create a class for each column\n   */\n\n  .col-#{$i}, .col-lg-#{$i} {\n    width: column($i,12);\n\n\n    .full-row & {\n      width: column($i); } }\n\n\n  /* Column shifts\n   @mixin ========================================================================= */\n\n  .offset-#{$i}, .offset-lg-#{$i} {\n    margin-left: column($i,12); } }\n\n\n\n/* Media queries\n @mixin ========================================================================= */\n\n /*\n  * Create a separate loop because of order for css rendering\n  * because else it would overrule a previous media query\n  */\n\n@for $i from 1 through $gridColumns {\n\n  // Media query for large desktop\n  @include respond-to-width-beyond($xlGridBreakpoint) {\n    .col-xl-#{$i} {\n      width: column($i,12); }\n\n    .offset-xl-#{$i} {\n      margin-left: column($i,12); } }\n\n  // Media query for normal desktop\n  @include respond-to-width($mdGridBreakpoint) {\n    .col-md-#{$i} {\n      width: column($i,12); }\n\n    .offset-md-#{$i} {\n      margin-left: column($i,12); } }\n\n  // Media query for tablets\n  @include respond-to-width($smGridBreakpoint) {\n    .col-sm-#{$i} {\n      width: column($i,12); }\n\n    .offset-sm-#{$i} {\n      margin-left: column($i,12); } }\n\n  // Media query for mobile\n  @include respond-to-width($xsGridBreakpoint) {\n    .col-xs-#{$i} {\n      width: column($i,12); }\n\n    .offset-xs-#{$i} {\n      margin-left: column($i,12); } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/grid/_grid.sass","@mixin respond-to-width($width) {\n  $width : $width + 'px';\n  @media screen and (max-width: $width) {\n    @content; } }\n\n@mixin respond-to-width-beyond($width) {\n  $width : ($width + 1)  + 'px';\n  @media screen and (min-width: $width) {\n    @content; } }\n\n@mixin respond-to-height($height) {\n  $height : $height + 'px';\n  @media screen and (max-height: $height) {\n    @content; } }\n\n@mixin respond-to-width-or-height($width, $height) {\n  $width : $width + 'px';\n  $height : $height + 'px';\n  @media screen and (max-width: $width), screen and (max-height: $height) {\n    @content; } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/mixins/_mediaQueries.sass","/* ==========================================================================\n   This grid can be turned on and off when you want to check\n   if everything is nice in place.\n   @mixin ========================================================================= */\n\n.visible-grid-container {\n  display: flex;\n  justify-content: center; }\n\n/**\n * 1. Makes it able to control the website while grid is shown\n */\n.visible-grid {\n  display: block;\n  position: fixed;\n  z-index: 10000;\n  pointer-events: none /* 2 */;\n\n  .grid-col {\n    background: rgba(0,255,255,.6);\n    height: 100vh;\n\n    &:nth-child(2n) {\n      background: rgba(0,255,255,.3); } }\n\n  &:before, &:after {\n    content: '';\n    position: absolute;\n    top: 0;\n    width: calc(100% / 12);\n    height: 100%;\n    background: rgba(0,255,0,.5); }\n\n  &:before {\n    left: calc(-100% / 12); }\n\n  &:after {\n    right: calc(-100% / 12); }\n\n  //&:nth-child(1),&:nth-child(14)\n }  ////  background: rgba(0,255,0,.5)\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/grid/_visibleGrid.sass",".breakpoint {\n  position: fixed;\n  right: 0;\n  bottom: 0;\n  width: 20px;\n  height: 20px;\n  z-index: 10000;\n  background: #0ABEFF;\n\n  // Larger then xlBreakpoint\n  @include respond-to-width-beyond($xlGridBreakpoint) {\n    background: red; }\n\n  // Loop through other breakpoints\n  $breakpoints :  (blue $lgGridBreakpoint) (green $mdGridBreakpoint) (yellow $smGridBreakpoint) (pink $xsGridBreakpoint);\n\n  @each $list in $breakpoints {\n\n    $color : nth($list,1);\n    $breakpoint : nth($list,2);\n\n    @include respond-to-width($breakpoint) {\n      background: $color; } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/partials/_breakpoints.sass","/* ==========================================================================\n   Expend Basic style settings\n   @mixin ========================================================================= */\n\n/*\n * Set up the html\n *\n * 1. Makes sue that some fonts are better rendered\n */\n\nhtml {\n  -webkit-font-smoothing: antialiased /* 2 */;\n  -moz-osx-font-smoothing: grayscale;\n  text-rendering: optimizeLegibility;\n  min-height: 100%; }\n\n\n/*\n * Set up the body\n *\n * 1. Set font to lining figures\n */\n\nbody {\n  margin: 0;\n  min-height: 100%;\n  font-family: $fontFamily;\n  line-height: 1.6;\n  background-color: #24282D;\n  font-feature-settings: 'lnum' /* 1 */; }\n\n/*\n * Set default settings for all elements\n *\n * 1. Default selection styling\n *\n */\n* {\n  ::selection /* 2 */ {\n    background: $blue;\n    color: white; } }\n\n\n/*\n * Set default styling for input and textarea\n *\n * 1. Set font because else the agent will overrule them with an ugly font\n */\ninput, textarea {\n  font-family: $fontFamily /* 1 */;\n  background-color: transparent;\n\n  &:focus {\n    outline: none; } }\n\n/*\n * Set default styling for a button\n *\n */\n\n\n.button {\n  display: inline-block;\n  padding: 10px 20px;\n  background-color: $brightBlue;\n  border: 1px solid white;\n  border-radius: 10px;\n  text-decoration: none;\n  color: white;\n\n  .arrow {\n    display: inline-block;\n    margin-left: 25px;\n    @include sprite(-35px -1px, 15px, 10px);\n    transform: translate3d(0,0,0);\n    transition: transform 0.3s; }\n\n  &:hover {\n    .arrow {\n      transform: translate3d(5px, 0, 0); } } }\n\n\n.default-page-content {\n  background-color: #F7F8FA;\n  overflow: hidden;\n  min-height: calc(100% - 659px);\n  position: relative;\n\n  > .grid-row {\n    &.two-columns {\n      display: flex;\n      flex-wrap: wrap;\n      font-size: 0.8rem;\n      line-height: 1.1;\n      min-height: 653px; }\n    @include respond-to-width(650) {\n      width: 100%; } } }\n\n.centered {\n  font-size: 0.8rem;\n  line-height: 1.1;\n  width: column(10, 12);\n  padding: 133px 0;\n  margin: 0 auto 65px auto;\n\n  @include respond-to-width(1280) {\n    width: column(10.5, 12); }\n\n  @include respond-to-width(950) {\n    width: 100%; }\n\n  @include respond-to-width(850) {\n    width: 100%;\n    padding: 60px 0;\n    margin: 0 auto; }\n\n  @include respond-to-width(650) {\n    padding: 0; }\n\n  h1 {\n    color: $semiBlack;\n    font-size: 1.6rem;\n    font-weight: bold;\n    line-height: 2;\n    margin: 50px 0 65px 0; }\n\n\n  .placeholder {\n    width: column(8, 10);\n    position: relative;\n    border-radius: 5px;\n    background-color: #FFFFFF;\n    box-shadow: 10px 10px 20px 0 rgba(206,206,206,0.6);\n    padding: 35px column(1, 8);\n    margin: 0 auto 60px auto;\n\n    @include respond-to-width(1280) {\n      width: 100%; }\n\n    @include respond-to-width(850) {\n      padding: 35px column(0.5, 8); }\n\n    @include respond-to-width(650) {\n      margin: 0; } } }\n\n.sidebar {\n  font-size: 0.8rem;\n  line-height: 1.1;\n  width: column(3.2, 12);\n  display: inline-block;\n  vertical-align: top;\n  background-color: white;\n  box-shadow: -5px 0px 40px 5px rgba(0, 0, 0, 0.1);\n  overflow: visible;\n  position: absolute;\n  right: 0;\n  top: 0;\n  height: 100%;\n  z-index: 10;\n\n  @include respond-to-width(1280) {\n    width: column(4, 12); }\n\n  @include respond-to-width(900) {\n    height: 100%;\n    width: 50%;\n    right: 60px;\n    @include transform(translate( 100%, 0));\n    overflow: hidden;\n    @include transition(transform 0.5s, width 0.5s);\n\n    &.open {\n      @include transform(translate( 60px,0)); } }\n\n  @include respond-to-width(700) {\n    &.open {\n      width: 80%; } }\n\n  @include respond-to-width(550) {\n    &.open {\n      width: 100%; } }\n\n\n  &:after {\n    content: '';\n    position: absolute;\n    top: 0;\n    left: 100%;\n    width: 35vw;\n    height: 100%;\n    background-color: white;\n    z-index: 0; }\n\n  h1 {\n    color: $semiBlack;\n    font-size: 1.6rem;\n    font-weight: bold;\n    line-height: 2;\n    margin: 50px 0 50px 0;\n    padding: 0 0 0 14%;\n\n    span.icon {\n      display: none;\n      @include respond-to-width(900) {\n        width: 25px;\n        height: 25px;\n        border-radius: 9999px;\n        background-color: $lightGray;\n        position: relative;\n        left: -5px;\n        top: -10px;\n        transition: transform 0.4s;\n        @include flex(center, center);\n\n        svg {\n          height: 15px;\n          width: 15px; } } }\n\n    @include respond-to-width-beyond(1800) {\n      padding-left: 50px; }\n\n    @include respond-to-width(900) {\n      position: absolute;\n      word-break: break-all;\n      width: 0.7rem;\n      font-size: 0.8rem;\n      text-transform: uppercase;\n      margin-left: 22px;\n      text-align: center;\n      padding: 0; } }\n\n  &.open {\n    h1 {\n      span.icon {\n        svg {\n          transform: scaleX(-1); } } } }\n\n\n  ul {\n    margin: 0;\n    padding: 0;\n    list-style: none;\n    position: relative;\n    z-index: 1;\n    height: calc(100% - 164px);\n    overflow-x: hidden;\n    overflow-y: scroll;\n\n    @include respond-to-width(900) {\n      margin-left: 60px;\n      border-left: 1px solid rgba($ctaBackground, 0.5); }\n\n    li {\n      padding: 0 50px;\n      border-top: 1px solid rgba($ctaBackground, 0.5);\n      width: 42vw;\n      text-align: left;\n\n      @include respond-to-width(900) {\n        width: 100%; }\n\n      p {\n        width: 50%;\n\n        @include respond-to-width(900) {\n          width: 100%; } } } } }\n\nspan.icon {\n  width: 40px;\n  height: 40px;\n  border-radius: 9999px;\n  margin-right: 25px;\n  @include inline-flex(center, center);\n\n  svg {\n    height: 20px;\n    width: 20px;\n\n    > g {\n      > g, use {\n        fill: white; } } }\n\n  &.yellow {\n    background-color: #F6A52F; }\n\n  &.green {\n    background-color: #04D682; }\n\n  &.lock {\n    svg {\n      position: relative;\n      left: 1px;\n      top: -2px; } }\n\n  &.cross {\n    position: absolute;\n    left: column(-1, 12);\n    top: 14px;\n    svg {\n      width: 30px;\n      height: 30px;\n      > g {\n        > g {\n          fill: $redTheme2; } } }\n\n    @include respond-to-width(850) {\n      left: 0; }\n\n    @include respond-to-width(425) {\n      top: 7px; } } }\n\ninput[type=number], input[type=date] {\n  &::-webkit-outer-spin-button,\n  &::-webkit-inner-spin-button {\n    /* display: none <- Crashes Chrome on hover */\n    -webkit-appearance: none;\n    margin: 0 /* <-- Apparently some margin are still there even though it's hidden */; } }\n\nspan.error-message {\n  position: absolute;\n  left: 0;\n  bottom: 6px;\n  font-size: 0.8rem;\n  background-color: rgba($redTheme, 0.7);\n  width: 100%;\n  border-radius: 0 0 5px 5px;\n  color: white;\n  padding: 0 10px;\n\n  &:first-letter {\n    text-transform: capitalize; } }\n\n\n\n// customize the jQuery datepicker\n.ui-datepicker {\n  .ui-datepicker-header {\n    background-color: $redTheme;\n    background-image: none; } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/_base.sass","$spriteWidth: 100px;\n$spriteHeight: 85px;\n\n\n@mixin sprite($position, $width: auto, $height: auto) {\n\n  $positionX: nth($position, 1) * -1;\n  $positionY: nth($position, 2) * -1;\n\n  background: url(\"/img/svg/komma_sprite.svg\") $positionX $positionY no-repeat;\n  background-size: $spriteWidth $spriteHeight;\n  width: $width;\n  height: $height; }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/mixins/_sprite.sass","//************************************************************************//\n// Example: @include prefixer(border-radius, $radii, webkit ms spec);\n//************************************************************************//\n// Variables located in /settings/_prefixer.scss\n\n@mixin prefixer ($property, $value, $prefixes) {\n  @each $prefix in $prefixes {\n    @if $prefix == webkit {\n      @if $prefix-for-webkit {\n        -webkit-#{$property}: $value;\n      }\n    }\n    @else if $prefix == moz {\n      @if $prefix-for-mozilla {\n        -moz-#{$property}: $value;\n      }\n    }\n    @else if $prefix == ms {\n      @if $prefix-for-microsoft {\n        -ms-#{$property}: $value;\n      }\n    }\n    @else if $prefix == o {\n      @if $prefix-for-opera {\n        -o-#{$property}: $value;\n      }\n    }\n    @else if $prefix == spec {\n      @if $prefix-for-spec {\n        #{$property}: $value;\n      }\n    }\n    @else  {\n      @warn \"Unrecognized prefix: #{$prefix}\";\n    }\n  }\n}\n\n@mixin disable-prefix-for-all() {\n  $prefix-for-webkit:    false !global;\n  $prefix-for-mozilla:   false !global;\n  $prefix-for-microsoft: false !global;\n  $prefix-for-opera:     false !global;\n  $prefix-for-spec:      false !global;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/bourbon/addons/_prefixer.scss","// Shorthand mixin. Supports multiple parentheses-deliminated values for each variable.\n// Example: @include transition (all 2s ease-in-out);\n//          @include transition (opacity 1s ease-in 2s, width 2s ease-out);\n//          @include transition-property (transform, opacity);\n\n@mixin transition ($properties...) {\n  // Fix for vendor-prefix transform property\n  $needs-prefixes: false;\n  $webkit: ();\n  $moz: ();\n  $spec: ();\n\n  // Create lists for vendor-prefixed transform\n  @each $list in $properties {\n    @if nth($list, 1) == \"transform\" {\n      $needs-prefixes: true;\n      $list1: -webkit-transform;\n      $list2: -moz-transform;\n      $list3: ();\n\n      @each $var in $list {\n        $list3: join($list3, $var);\n\n        @if $var != \"transform\" {\n          $list1: join($list1, $var);\n          $list2: join($list2, $var);\n        }\n      }\n\n      $webkit: append($webkit, $list1);\n         $moz: append($moz,    $list2);\n        $spec: append($spec,   $list3);\n    }\n\n    // Create lists for non-prefixed transition properties\n    @else {\n      $webkit:  append($webkit, $list, comma);\n      $moz:     append($moz,    $list, comma);\n      $spec:    append($spec,   $list, comma);\n    }\n  }\n\n  @if $needs-prefixes {\n    -webkit-transition: $webkit;\n       -moz-transition: $moz;\n            transition: $spec;\n  }\n  @else {\n    @if length($properties) >= 1 {\n      @include prefixer(transition, $properties, webkit moz spec);\n    }\n\n    @else {\n      $properties: all 0.15s ease-out 0s;\n      @include prefixer(transition, $properties, webkit moz spec);\n    }\n  }\n}\n\n@mixin transition-property ($properties...) {\n   -webkit-transition-property: transition-property-names($properties, 'webkit');\n      -moz-transition-property: transition-property-names($properties, 'moz');\n           transition-property: transition-property-names($properties, false);\n}\n\n@mixin transition-duration ($times...) {\n  @include prefixer(transition-duration, $times, webkit moz spec);\n}\n\n@mixin transition-timing-function ($motions...) {\n// ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier()\n  @include prefixer(transition-timing-function, $motions, webkit moz spec);\n}\n\n@mixin transition-delay ($times...) {\n  @include prefixer(transition-delay, $times, webkit moz spec);\n}\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/bourbon/css3/_transition.scss","@mixin flex($justify: space-between, $alignItem: initial) {\n  display: -ms-flexbox      /* TWEENER - IE 10 */;\n  display: -webkit-flex     /* NEW - Chrome */;\n  display: flex;\n\n  @include prefixer(justify-content, $justify, webkit moz ms);\n  @include prefixer(align-items, $alignItem, webkit moz ms);\n  justify-content: $justify;\n  align-items: $alignItem; }\n\n@mixin inline-flex($justify: space-between, $alignItem: initial) {\n  display: -ms-inline-flexbox      /* TWEENER - IE 10 */;\n  display: -webkit-inline-flex     /* NEW - Chrome */;\n  display: inline-flex;\n\n  @include prefixer(justify-content, $justify, webkit moz ms);\n  @include prefixer(align-items, $alignItem, webkit moz ms);\n  justify-content: $justify;\n  align-items: $alignItem; }\n\n\n@mixin flex-rows {\n  @include prefixer(flex-wrap, wrap, webkit ms);\n  @include prefixer(flex-direction, row, webkit ms);\n  @include prefixer(flex-flow, row wrap, webkit); }\n\n@mixin order($place) {\n  @include prefixer(order, $place, webkit ms); }\n\n@mixin align-content($align) {\n  @include prefixer(align-content, $align, webkit); }\n\n@mixin align-self($align) {\n  @include prefixer(align-self, $align, webkit); }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/mixins/_flex.sass","/* ==========================================================================\n   Helper classes\n   @mixin ========================================================================= */\n\n/**\n * Use on elements from where the children should not wrap\n */\n.nowrap {\n  white-space: nowrap; }\n\n/**\n * Hide elements on different screen sizes\n */\n$breakpoints :  ('xl' $xlGridBreakpoint) ('lg' $lgGridBreakpoint) ('md' $mdGridBreakpoint) ('sm' $smGridBreakpoint) ('xs' $xsGridBreakpoint);\n\n@each $list in $breakpoints {\n\n  $name : nth($list,1);\n  $breakpoint : nth($list,2);\n\n  @include respond-to-width($breakpoint) {\n    .hide-on-#{$name}-or-smaller {\n      display: none; } }\n\n  @include respond-to-width-beyond($breakpoint) {\n    .hide-on-#{$name}-or-larger {\n      display: none; } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/_helpers.sass","/*==========================================================================\n  Navigation / Header\n  @mixin ========================================================================= */\n\nheader {\n  position: relative;\n  z-index: 4;\n  border-bottom: solid 1px rgba($ctaBackground, 0.8);\n  background-color: white;\n\n  .small-row {\n    background: linear-gradient(90deg, $redGradient);\n    padding: 16px 0 17px 0;\n\n    .grid-row {\n      @include flex(flex-end, center); }\n\n    a {\n      @include inline-flex(flex-start, center);\n      font-size: 0.8rem;\n      line-height: 1.1;\n      color: $offsetWhite;\n      text-decoration: none;\n      margin-right: 30px;\n      transition: color 0.2s;\n\n      &:first-of-type {\n        margin-right: column(1, 12); }\n\n      &.no-margin-right {\n        margin-right: 0; }\n\n      span {\n        color: white;\n        display: inline-block;\n        margin-right: 10px;\n        opacity: 0.7;\n        transition: opacity 0.2s;\n\n        svg {\n          > g {\n            > g, use {\n              fill: white; } } } }\n\n      &:hover {\n        color: white;\n        span {\n          opacity: 1; } } } }\n\n  .large-row {\n    padding: 8px 0;\n    @include flex(flex-start, center);\n\n\n    &.guest {\n      padding-right: column(0.5,9);\n\n      .logo {\n        margin-right: auto; }\n\n      nav {\n        ul {\n          height: 100%;\n          li {\n            pointer-events: all;\n            &.active {\n              pointer-events: none; }\n            &:first-of-type {\n              border-right: solid 2px rgba($placeholderGray, 0.5);\n              padding: 10px 45px 10px 0; }\n\n            a {\n              text-transform: lowercase; } } } } }\n\n\n    // Main logo\n    .logo {\n      margin-right: column(0.9, 12);\n\n      @include respond-to-width(1024) {\n        margin-right: 0; }\n      img {\n        position: relative;\n        left: -10px;\n        height: 67px; } }\n\n    form {\n      margin-left: auto;\n\n      .logout-button {\n        color: $placeholderGray;\n        border: 1px solid #FFAC34;\n        border-radius: 6px;\n        background-color: transparent;\n        font-size: 0.8rem;\n        line-height: 1.1;\n        padding: 8px 18px;\n        cursor: pointer;\n        transition: color 0.3s, background-color 0.3s;\n\n        &:hover {\n          background-color: #FFAC34;\n          color: white; } } }\n\n\n    /* Navigation\n     @mixin ========================================================================= */\n\n    nav {\n      position: relative;\n\n      ul {\n        @include flex(flex-start, center);\n        padding: 0 0 0 10px;\n\n        li {\n          margin-right: 45px;\n          height: 100%;\n\n          @include respond-to-width(920) {\n            margin-right: 25px; }\n\n          a {\n            display: inline-block;\n            font-size: 0.8rem;\n            line-height: 1.1;\n            color: $semiBlack;\n            transition: color 0.3s;\n            text-decoration: none;\n\n\n            @include respond-to-width(920) {\n              text-decoration: underline;\n              border-bottom: none; } }\n\n          &:last-of-type {\n            margin-right: 0; }\n\n          &:hover {\n            a {\n              color: $redTheme2; } }\n\n          &.active {\n            a {\n              pointer-events: none;\n              opacity: 1;\n              border-bottom: solid 1px;\n              padding-bottom: 2px; }\n\n            &:hover {\n              a {\n                color: $semiBlack; } } } } } } }\n\n  .shadow {\n    position: absolute;\n    left: 0;\n    bottom: -40px;\n    width: 100%;\n    height: 40px;\n    opacity: 0.4;\n    background-image: url(\"/img/vertical-gradient.png\");\n    background-size: contain; }\n\n  /* Mobile Navigation\n     @mixin ========================================================================= */\n  @include respond-to-width(850) {\n    height: 60px;\n    .small-row,\n    .large-row,\n    .large-row.guest {\n      display: none; } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/_header.sass","/*==========================================================================\n  Footer\n  @mixin ========================================================================= */\n\n\nfooter {\n  background-color: $semiBlack;\n\n  >.grid-row {\n    padding: 70px 0 90px; }\n\n  .grid-col {\n    vertical-align: top;\n\n    .header {\n      font-size: 0.7rem;\n      text-transform: uppercase;\n      color: $redTheme;\n      font-weight: semibold();\n      margin: 0 0 40px; }\n\n    li a, p {\n      font-size: 0.8rem;\n      color: white; } }\n\n\n  .contact {\n    width: column(4, 12);\n    margin-left: column(1, 12);\n\n    @include respond-to-width(850) {\n      margin-left: 0;\n      padding-left: column(1, 12);\n      width: 100%; }\n\n    figure {\n      width: 100%;\n      max-width: 240px;\n      margin-bottom: 40px;\n\n      img {\n        width: 100%; } }\n\n    a {\n      color: $redTheme2;\n      font-weight: semibold();\n      font-size: 0.9rem;\n      text-decoration: none;\n      transition: color 0.2s;\n\n      &:hover {\n        color: $redTheme; } } }\n\n\n  .links {\n    width: column(6, 12);\n    margin-left: column(1, 24);\n\n    >.grid-row {\n      width: 100%; }\n\n    .menu, .sub-links {\n      width: column(3, 6);\n      vertical-align: top; }\n\n    ul {\n      list-style: none;\n      padding: 0;\n      margin: 35px 0;\n\n      li {\n        margin-bottom: 5px;\n\n        a {\n          text-decoration: none;\n          opacity: 0.6;\n          transition: opacity 0.3s;\n\n          &:hover {\n            opacity: 0.9; } }\n\n        &.active {\n          a {\n            opacity: 1; } } } } }\n\n  @include respond-to-width(850) {\n    .links {\n      display: none; } }\n\n  /* Sub footer for pay off and our branding\n   @mixin ========================================================================= */\n\n  .sub-footer {\n    background-color: #24282D;\n    padding: 15px 0;\n\n    .grid-row {\n      .placeholder {\n        width: column(10, 12);\n        margin: auto;\n        @include flex(space-between, center); } }\n\n    p, a {\n      font-size: 0.7rem;\n      color: $lightGray; }\n\n    p {\n      margin-bottom: 0.5rem; }\n\n    a {\n      //font-weight: semibold()\n      text-decoration: none; }\n\n    .komma {\n      position: relative;\n      @include flex(space-between, center);\n      font-size: 0.7rem;\n      line-height: 1;\n      width: 247px;\n      opacity: 0.4;\n      color: $lightGray;\n      transition: opacity 0.2s;\n\n      span {\n        svg {\n          * {\n            fill: $lightGray; } } }\n\n\n      @include respond-to-width(1080) {\n        font-size: 0.75rem;\n        width: 240px;\n\n        span {\n          top: -2px; } }\n\n      &:hover {\n        opacity: 0.7;\n        color: white; }\n\n      span {\n        position: relative;\n        top: -1px;\n        display: inline-block;\n        width: 78px;\n        height: 25px; } }\n\n    @include respond-to-width(600) {\n      padding-bottom: 30px;\n      .grid-row {\n        .placeholder {\n          display: block;\n          text-align: center; } }\n\n      p {\n        margin-bottom: 1.4rem; }\n\n      .komma {\n        margin: auto; } } }\n\n\n  @include respond-to-width(850) {\n    padding-top: 35px;\n    >.grid-row {\n      width: 100%;\n      padding: 0 0 30px 0; }\n\n    .sub-footer {\n      .grid-row {\n        .placeholder {\n          width: 100%; } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/_footer.sass","div.shoppingcartItemList {\n  ul {\n    list-style: none;\n    margin: 0;\n    padding: 0;\n\n    li {\n      display: block;\n      width: 100%;\n      height: 15%;\n      border: solid 1px #cccccc;\n      margin-bottom: 20px; } } }\n\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/_shoppingCart.sass","/* ==========================================================================\n   Default styling for KMS content\n   @mixin ========================================================================= */\n\n.kms-content {\n  h1, h2, h3 {\n    font-size: 1.8rem;\n    line-height: 1.4;\n    color: $brightBlue;\n    //+bree\n\n    strong {\n      color: $brightBlue;\n      font-weight: 400; } }\n\n  h2, h3 {\n    font-size: 1.4rem; }\n\n  h3 {\n    color: $brightBlue;\n\n    strong {\n      color: $blue; } }\n\n  h4 {\n    font-size: 0.8rem;\n    line-height: 1.3;\n    color: $blue;\n    text-transform: uppercase; }\n\n  p {\n    font-size: 0.9rem;\n    line-height: 1.4;\n    color: $grey; }\n\n  ul {\n    padding-left: 0;\n    list-style: none;\n\n    li {\n      position: relative;\n      padding-left: 30px;\n      font-size: 0.9rem;\n      line-height: 1.4;\n      color: $grey;\n\n      &:before {\n        position: absolute;\n        left: 0;\n        content: '•';\n        color: $blue;\n        font-size: 1.3em;\n        line-height: 1; }\n\n      + li {\n        margin-top: 5px; } } }\n\n  ol {\n    counter-reset: ol-counter /* 2 */;\n    padding-left: 0;\n    list-style: none;\n    li {\n      padding-left: 30px;\n      font-size: 0.9rem;\n      line-height: 1.4;\n      color: $grey;\n\n      &:before {\n        counter-increment: ol-counter;\n        content: counter(ol-counter)'.';\n        position: absolute;\n        left: 0;\n        color: $blue; }\n\n      + li {\n        margin-top: 5px; } } }\n\n  a {\n    color: $blue;\n    text-decoration: none;\n\n    &:hover {\n      color: darken($blue, 10%);\n      text-decoration: none; } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/_kmsContent.sass",".form {\n  display: block;\n  width: 100%;\n  max-width: 560px;\n  font-size: 1rem;\n  line-height: 1.2;\n\n  .form-element {\n    position: relative;\n    margin-bottom: 25px; }\n\n  .error-message {\n    display: none;\n    width: 100%;\n    color: $red;\n    font-size: 0.75rem;\n    font-weight: bold;\n\n    &.active {\n      display: block;\n      margin-bottom: 10px; } }\n\n  label, .label {\n    display: block;\n    margin-bottom: 5px;\n    color: $grey;\n    font-size: 0.8em;\n    font-weight: bold; }\n\n  input, textarea {\n    display: block;\n    width: 100%;\n    background-color: white;\n    padding: 15px 20px;\n\n    border: 1px transparent solid;\n    border-radius: 4px;\n    font-size: 0.9em;\n    color: $grey;\n\n    &.alert {\n      border-color: $red; }\n\n    &:-webkit-autofill, &:-webkit-autofill:hover, &:-webkit-autofill:focus, &:-webkit-autofill:active {\n      transition: 9999s background-color;\n      -webkit-text-fill-color: $grey;\n      transition-delay: 9999s; }\n\n    &:focus {\n      box-shadow: none;\n      outline: none; } }\n\n  textarea {\n    min-height: 152px;\n    resize: vertical; }\n\n  .select {\n    .select-wrapper {\n      position: relative;\n      display: block; }\n\n    .icon {\n      position: absolute;\n      right: 10px;\n      top: 26px;\n      display: inline-block;\n      width: 0;\n      height: 0;\n      border-style: solid;\n      border-width: 5px 6px 0 6px;\n      border-color: $grey transparent transparent transparent;\n      opacity: 0.3;\n      pointer-events: none; }\n\n    select {\n      display: block;\n      width: 100%;\n      @include appearance(none);\n      font-family: $fontFamily;\n      background-color: white;\n      padding: 15px 35px 15px 20px;\n      border: 1px transparent solid;\n      border-radius: 4px;\n      font-size: 0.9em;\n      color: $grey;\n\n      &:focus {\n        box-shadow: none;\n        outline: none; } } }\n\n\n  .checkbox {\n    label {\n      @include flex(space-between, flex-start);\n      cursor: pointer;\n\n      input {\n        @include appearance(none);\n        margin: 0;\n        width: 20px;\n        height: 20px;\n        border-radius: 100%;\n        padding: 0;\n        border: none;\n        background-color: rgba(white, 0.3);\n        background-size: contain;\n        background-position: center;\n        background-repeat: no-repeat;\n        transition: background-color 0.3s;\n\n        &:hover {\n          background-color: rgba(white, 0.5); }\n\n        &:checked {\n          background-image: url(\"/img/check/checked.svg\");\n          background-color: rgba(white, 0.7); } }\n\n      span {\n        display: block;\n        margin: 2px 0 0;\n        width: calc(100% - 30px); } } }\n\n  .submit {\n    margin-top: 20px; }\n\n  //input\n }  ////display: none\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/_form.sass",".image-slider {\n  width: 100%;\n  overflow: visible;\n  box-shadow: 0px 0px 40px 0px rgba(0,0,0,0.2);\n\n  .placeholder {\n    position: relative;\n    width: 100%;\n    cursor: move;\n\n    .controllers {\n      position: relative;\n      z-index: 3;\n      width: 100%;\n      height: 0;\n      padding-bottom: 66.67%;\n\n      @include respond-to-width(1350) {\n        padding-bottom: 100%; }\n\n      .nav-item {\n        position: absolute;\n        @include flex(center, center);\n        bottom: -50px;\n        width: 35px;\n        height: 35px;\n        cursor: pointer;\n        border-radius: 100%;\n        transition: background 0.3s;\n\n        span {\n          @include flex(center, center);\n          height: 16px;\n          width: 16px;\n          transform-origin: center;\n          transition: transform 0.3s;\n\n          .arrow-icon {\n            position: relative;\n            width: 10px;\n            height: 16px;\n            transform-origin: center;\n            .st0 {\n              fill: white; } } }\n\n        &.previous {\n          background-color: $brightBlue;\n          right: calc(50% + 3px);\n\n          span {\n            .arrow-icon {\n              transform: rotate(90deg); } }\n\n          &:hover {\n            background-color: lighten($brightBlue, 5%); } }\n\n        &.next {\n          background-color: $red;\n          left: calc(50% + 3px);\n\n\n          span {\n            .arrow-icon {\n              transform: rotate(270deg); } }\n\n          &:hover {\n            background-color: darken($red, 5%); } } } }\n\n\n\n    figure {\n      position: absolute;\n      z-index: 1;\n      top: 0;\n      left: 0;\n      width: 100%;\n      height: 100%;\n      opacity: 0;\n      transition: opacity 0.4s;\n\n      span {\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        background-size: cover;\n        background-position: center;\n\n        &.small {\n          display: none; }\n\n        @include respond-to-width(480) {\n          &.medium {\n            display: none; }\n\n          &.small {\n            display: block; } } }\n\n      &.active {\n        z-index: 2;\n        opacity: 1; } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/_imageSlider.sass","// Cookie message without tracking\n#cookie-message {\n  position: fixed;\n  z-index: 9999;\n  bottom: 0;\n  left: 0;\n  padding: 15px 0;\n  width: 100%;\n  background: linear-gradient(90deg, $redGradient);\n  opacity: 1;\n  box-shadow: 0 -2px 10px 0 rgba(0, 0, 0, 0.1);\n  transition: opacity 0.5s, transform 0.6s;\n  transform: translate3d(0, 0, 0);\n\n  &.accepted {\n    display: none; }\n\n  &.transition-out {\n    opacity: 0;\n    transform: translate3d(0, 50%, 0); }\n\n  .grid-row {\n    text-align: center;\n\n    p, p a, .close-button {\n      font-size: 0.75rem;\n      line-height: 1.2;\n      color: white; }\n\n    p {\n      display: inline-block;\n      vertical-align: middle;\n      margin: 0;\n\n      a {\n        text-decoration: underline; } }\n\n    .close-button {\n      display: inline-block;\n      vertical-align: middle;\n      margin-left: 15px;\n      padding: 5px 12px;\n      background-color: rgba(white, 0.2);\n      border-radius: 5px;\n      cursor: pointer; }\n\n    @include respond-to-width(625) {\n      p {\n        max-width: 225px; } }\n\n    @include respond-to-width(375) {\n      p {\n        display: block;\n        max-width: none; }\n\n      .close-button {\n        margin-top: 10px; } } } }\n\n// Cookie message with tracking\n#cookie-message-overlay {\n  position: fixed;\n  z-index: 9999;\n  top: 0;\n  left: 0;\n  @include flex(center, center);\n  width: 100%;\n  height: 100%;\n  background-color: rgba(black, 0.6);\n  opacity: 1;\n  transition: opacity 0.5s;\n\n  &.accepted {\n    display: none; }\n\n  &.transition-out {\n    opacity: 0; }\n\n  .placeholder {\n    width: calc(100vw / 14 * 12);\n    padding: 60px 120px;\n    display: block;\n    max-width: 960px;\n    margin-left: auto;\n    margin-right: auto;\n    background-color: white;\n\n    h5 {\n      font-size: 1.2rem;\n      line-height: 1;\n      font-weight: 500;\n      margin: 0 0 5px;\n      color: #4d4d4d; }\n\n    p {\n      font-size: 0.8rem;\n      line-height: 1.2;\n      margin: 0;\n      color: #808080; }\n\n    p a, p .open-menu {\n      color: $pastelBlue;\n      white-space: nowrap;\n      cursor: pointer;\n      text-decoration: underline; }\n\n    .accept-cookie-button {\n      display: inline-block;\n      margin-top: 35px;\n      padding: 13px 20px;\n      border-radius: 4px;\n      background-color: $brightBlue;\n      transition: background-color 0.4s, opacity 0.4s;\n      font-size: 0.9rem;\n      line-height: 1.2;\n      color: white;\n      cursor: pointer;\n\n      &:hover {\n        background-color: darken($brightBlue, 8%); } }\n\n    @include respond-to-width(1440) {\n      padding: calc(100vw / 14 / 1.5) calc(100vw / 14);\n      display: block; }\n\n    @include respond-to-width(450) {\n      width: 100%; } }\n\n  #message-description {\n    display: block;\n\n    &.hide {\n      display: none; } }\n\n  .cookie-types-description {\n    display: block;\n    margin: 30px 0;\n\n    .cookie-type {\n      @include flex(space-between, flex-start);\n      width: 100%;\n\n      + .cookie-type {\n        margin-top: 25px; }\n\n      .icon {\n        @include flex(center, center);\n        width: 25px;\n        height: 25px;\n\n        &:before {\n          content: '';\n          display: block; } }\n\n      .text {\n        display: block;\n        width: calc(100% - 55px);\n\n        p {\n          max-width: 380px;\n          font-size: 0.7rem;\n          line-height: 1rem;\n          margin: 0;\n          color: rgba($grey, 0.6);\n\n          strong {\n            display: inline-block;\n            color: $grey;\n            font-size: 0.9rem;\n\n            span {\n              white-space: nowrap; } } } }\n\n      &.tracking {\n        .icon:before {\n          @include cookieSprite(0 0, 25px, 25px); } }\n\n      &.analytic {\n        .icon:before {\n          @include cookieSprite(27px 0, 25px, 25px); } } } }\n\n  .cookie-settings {\n    display: none;\n\n    &.edit {\n      display: block; }\n\n    .wrapper {\n      padding: 30px 0 0; }\n\n    .cookie-type {\n      @include flex(space-between, flex-start);\n      width: 100%;\n      max-width: 420px;\n      cursor: pointer;\n\n      + .cookie-type {\n        margin-top: 25px; }\n\n      input {\n        margin: 4px 0 0;\n        display: block;\n        @include cookieSprite(55px 14px, 13px, 13px);\n        @include appearance(none);\n\n        &:checked {\n          background-position: -55px 0; }\n\n        &:focus {\n          outline: none;\n          box-shadow: none; } }\n\n      > span {\n        display: block;\n        width: calc(100% - 55px);\n        font-size: 0.7rem;\n        line-height: 1rem;\n        color: rgba($grey, 0.6);\n\n        strong {\n          font-size: 0.9rem;\n          color: $grey;\n\n          span {\n            white-space: nowrap; } } }\n\n      &.analytic {\n        pointer-events: none;\n        cursor: not-allowed;\n\n        input {\n          opacity: 0.3; } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/_cookieMessage.sass","$spriteWidth: 70px;\n$spriteHeight: 30px;\n\n\n@mixin cookieSprite($position, $width: auto, $height: auto) {\n\n  $positionX: nth($position, 1) * -1;\n  $positionY: nth($position, 2) * -1;\n\n  background: url(\"/img/svg/cookie-sprite.svg\") $positionX $positionY no-repeat;\n  background-size: $spriteWidth $spriteHeight;\n  width: $width;\n  height: $height; }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/mixins/_cookieSprite.sass","// Cookie switch\n#cookie-switch {\n  margin-bottom: 50px;\n  padding: 30px 0 50px;\n  border-bottom: 1px solid $grey;\n  width: 100%;\n\n  .placeholder {\n    width: 100%;\n    display: block;\n\n    .cookie-switch-title {\n      h3 {\n        margin: 0 0 12px;\n        font-size: 1.2rem;\n        line-height: 1.2; }\n\n      p {\n        font-size: 0.8rem;\n        line-height: 1.4; } }\n\n    .cookie-types {\n      display: block;\n      margin: 30px 0 50px;\n\n      .cookie-type {\n        @include flex(space-between, flex-start);\n        width: 100%;\n        max-width: 420px;\n        cursor: pointer;\n\n        + .cookie-type {\n          margin-top: 25px; }\n\n        input {\n          margin: 4px 0 0;\n          display: block;\n          @include appearance(none);\n          @include cookieSprite(55px 14px, 13px, 13px);\n\n          &:focus {\n            outline: none;\n            box-shadow: none; }\n\n          &:checked {\n            background-position: -55px 0; } }\n\n        > span {\n          display: block;\n          width: calc(100% - 55px);\n          font-size: 0.7rem;\n          line-height: 1.4;\n\n          @include respond-to-width(460) {\n            width: calc(100% - 30px); }\n\n          strong {\n            font-size: 0.9rem;\n\n            span {\n              white-space: nowrap; } } }\n\n\n        &.analytic {\n          pointer-events: none;\n          cursor: not-allowed; } } }\n\n    #save-cookie-settings {\n      display: inline-block;\n      padding: 13px 20px;\n      border-radius: 4px;\n      background-color: $brightBlue;\n      transition: background-color 0.4s, opacity 0.4s;\n\n      font-size: 0.9rem;\n      line-height: 1.2;\n      color: white;\n      cursor: pointer;\n\n      &:hover {\n        background-color: darken($brightBlue, 8%); }\n\n      &.clicked {\n        opacity: 0.2; } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/_cookieSwitch.sass","/*==========================================================================\n  Dynamic Blocks\n  @mixin ========================================================================= */\n\n.dynamic-block {\n\n  + .dynamic-block {\n    margin-top: 60px; }\n\n  .grid-row {\n    @include flex(space-between, center); }\n\n  @import \"twoTextColumn\";\n  @import \"fullImageColumn\";\n  @import \"contentBlock\";\n  @import \"multipleImages\";\n  @import \"fullTextBlock\";\n  @import \"videoBlock\"; }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_dynamic.sass","&.two-text-columns {\n  position: relative;\n  z-index: 10;\n  @include flex(space-between, flex-start);\n  .content {\n    width: column(21, 44);\n    padding: 0; }\n\n  @include respond-to-width(900) {\n    display: block;\n    .content {\n      width: 100% !important;\n      margin: 0;\n\n      p:last-of-type {\n        margin-bottom: 1rem; } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_twoTextColumn.sass","&.full-image-column {\n\n  img {\n    width: 100%;\n    display: none;\n    &.large {\n      display: block; }\n\n    @include respond-to-width(1050) {\n      &.large {\n        display: none; }\n      &.medium {\n        display: block; } }\n\n    @include respond-to-width(525) {\n      &.medium {\n        display: none; }\n      &.small {\n        display: block; } } } }\n\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_fullImageColumn.sass","&.content-block {\n  position: relative;\n  @include flex(space-between, flex-start);\n\n  .image {\n    width: 50%;\n\n    img {\n      width: 100%;\n\n      &.small {\n        display: none; }\n\n      @include respond-to-width(450) {\n        &.medium {\n          display: none; }\n\n        &.small {\n          display: block; } } }\n\n    .content {\n      width: column(5, 12); } }\n\n  .content {\n    @include order(1);\n    width: column(5, 12); }\n\n  &[data-image-location='right'] {\n    .image {\n      @include order(2); }\n\n    .content {\n      @include order(1); } }\n\n  @include respond-to-width(900) {\n    display: block;\n\n    .image {\n      width: 100%;\n      margin-top: 40px;\n      @include order(2); }\n\n    .content {\n      width: 100%; } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_contentBlock.sass","&.multiple-images {\n  @include flex(space-between, flex-start);\n  @include flex-rows;\n\n  figure {\n    width: column(21, 44);\n\n    img {\n      width: 100%;\n      display: none;\n\n      &.medium {\n        display: none; }\n\n      @include respond-to-width(1100) {\n        &.large {\n          display: none; }\n        &.medium {\n          display: block; } }\n\n      @include respond-to-width(480) {\n        &.large {\n          display: none; }\n        &.medium {\n          display: block; } } } }\n\n  &[data-size-type='50'] {\n    figure {\n      img {\n        &.medium {\n          display: block; }\n\n        @include respond-to-width(1125) {\n          &.medium {\n            display: none; }\n          &.small {\n            display: block; } } } } }\n\n  @include respond-to-width(900) {\n    display: block;\n\n    figure {\n      width: 100%;\n      &:first-of-type {\n        margin-bottom: 40px; }\n\n      img {\n        &.medium {\n          display: block !important; }\n        &.small {\n          display: none !important; }\n\n        @include respond-to-width(525) {\n          &.medium {\n            display: none; }\n          &.small {\n            display: block; } } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_multipleImages.sass","&.full-text-block {\n  .content {\n    max-width: 680px;\n    margin: auto;\n    text-align: center; } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_fullTextBlock.sass","&.video-block {\n  width: 100%;\n  max-width: 960px;\n  margin: 60px auto 0 !important;\n\n  .video-wrapper {\n    position: relative;\n    padding-bottom: 53.6% /* 16:9 */;\n    padding-top: 25px;\n    height: 0;\n    iframe, .video-overlay {\n      position: absolute;\n      top: 0;\n      left: 0;\n      width: 100%;\n      height: 100%; }\n    .video-overlay {\n      z-index: 2;\n      @include flex(center, center);\n      opacity: 1;\n      cursor: pointer;\n      transition: all 0.2s;\n      .button {\n        width: 25%;\n        max-width: 85px;\n        transform: scale(1);\n        transition: all 0.4s;\n        img {\n          width: 100%; } }\n      &:hover {\n        .button {\n          @include transform(scale(0.85)); } }\n\n      &.hide {\n        opacity: 0;\n        pointer-events: none;\n        transition: all 0.5s;\n        transition-delay: 0.7s;\n        .button {\n          transition: all 0.8s;\n          transform: scale(0.3); } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_videoBlock.sass","//Colors used in Mobile Menu\n$listColor: $black;\n$listHoverColor: rgba($black, 0.7);\n$listActiveColor: $blue;\n\n$barColor: $blue;\n$barMenuColor: white;\n$menuBackground: white;\n\n$shaderBackground: $redTheme;\n$shaderOpacity: 0.6;\n\n\n.preventScroll {\n  @include respond-to-width(850) {\n    overflow: hidden;\n    overflow-y: scroll;\n    position: fixed;\n    width: 100%; } }\n\n\n#mobile-navigation {\n  position: fixed;\n  z-index: 1000;\n  height: 100vh;\n  overflow: hidden;\n  width: 100%;\n  left: 0;\n  top: 0;\n  pointer-events: none;\n  display: none;\n\n  .bar {\n    display: none;\n    height: 60px;\n    background: linear-gradient(90deg, $redGradient);\n    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.11);\n    pointer-events: all;\n    position: relative;\n    z-index: 4;\n    transform: translate3d(0,0,0);\n    transition: all 0.3s;\n    transition-delay: 0.4s;\n\n    .toggle-menu {\n      width: 60px;\n      height: 100%;\n      z-index: 3;\n      cursor: pointer;\n      position: relative;\n      @include flex(center, center);\n\n      .icon {\n        width: 20px;\n\n        span + span {\n          margin-top: 4px; }\n\n        span {\n          width: 100%;\n          height: 2px;\n          display: block;\n          transform: scale3d(1, 1, 1);\n          transform-origin: 0 50%;\n          background-color: $barMenuColor;\n          transition: transform 0.6s;\n\n          &:nth-of-type(2) {\n            transform: scale3d(0.8, 1, 1); }\n\n          &:nth-of-type(3) {\n            transform: scale3d(0.45, 1, 1); } } }\n\n      &:hover {\n        .icon {\n          span {\n            transform: scale3d(1, 1, 1) !important; } } } }\n\n    .logo {\n      height: 100%;\n      width: 100%;\n      position: absolute;\n      left: 0;\n      top: 0;\n      @include flex(center, center);\n\n      a {\n        position: relative;\n        top: 3px;\n        display: block;\n        width: 150px;\n        max-height: 25px;\n        background-position: center;\n        background-size: contain;\n        background-repeat: no-repeat;\n\n        img {\n          width: 100%;\n          max-height: 25px; } } } }\n\n  .shader {\n    width: 100%;\n    height: 100%;\n    position: absolute;\n    left: 0;\n    top: 0;\n    background-color: $shaderBackground;\n    opacity: 0;\n    display: none;\n    transition-delay: 0.4s; }\n\n  .menu {\n    position: absolute;\n    left: 0;\n    top: 0;\n    height: 100%;\n    width: 100%;\n    max-width: 600px;\n    min-width: 275px;\n    padding: 70px 120px;\n\n    background-color: $menuBackground;\n    overflow-x: auto;\n    pointer-events: all;\n    z-index: 5;\n    transform: translate3d(-100%, 0, 0);\n\n    nav {\n      position: relative;\n\n      .close {\n        position: absolute;\n        top: 10px;\n        left: -68px;\n        display: block;\n        width: 16px;\n        height: 16px;\n        cursor: pointer;\n        transform-origin: center;\n        transform: rotate(0deg);\n        transition: transform 0.4s;\n\n        &:hover {\n          transform: rotate(90deg);\n          &:before, &:after {\n            background-color: rgba($listColor, 0.4); } }\n\n        &:before, &:after {\n          content: '';\n          position: absolute;\n          display: block;\n          background-color: $listColor;\n          transform-origin: center;\n          transform: rotate(45deg);\n          transition: background-color 0.3s; }\n\n        &:before {\n          left: 7px;\n          top: 0;\n          width: 2px;\n          height: 100%; }\n\n        &:after {\n          left: 0;\n          top: 7px;\n          width: 100%;\n          height: 2px; } }\n\n\n      .logo-wrapper {\n        width: 100%;\n        max-width: 250px;\n\n        a {\n          display: block;\n          text-decoration: none;\n\n          img {\n            width: 100%;\n            max-height: 36px; } } }\n\n      .menu-list {\n        margin-top: 40px;\n\n        .backToEHBO {\n          padding-top: 60px;\n          padding-bottom: 30px;\n          @include respond-to-width(650) {\n            padding-left: 0; } }\n\n        ul {\n          margin: 0;\n          padding: 0;\n          list-style: none;\n          font-size: 1rem;\n          line-height: 1.2;\n\n          + ul {\n            margin-top: 24px; }\n\n          li {\n            a {\n              display: block;\n              padding: 8px 0;\n              color: $listColor;\n              text-decoration: none;\n              transition: color 0.2s;\n              cursor: pointer;\n\n              &:hover {\n                color: $listHoverColor; } }\n\n            ul {\n              font-size: 0.85em; }\n\n            &.active {\n              a {\n                color: $listActiveColor; } } } } } } }\n\n  &.active {\n    .bar {\n      .toggle-menu {\n        .icon {\n          span {\n            opacity: 0;\n            transition-delay: 0.4s;\n            &:first-of-type {\n              @include transform(rotate(45deg));\n              opacity: 1;\n              top: 6px; }\n            &:last-of-type {\n              width: 25px;\n              opacity: 1;\n              bottom: 6px;\n              @include transform(rotate(-45deg)); } } } } }\n    .menu {\n      transform: translate3d(0, 0, 0); } }\n\n  &.shader-active {\n    .shader {\n      opacity: $shaderOpacity;\n      pointer-events: all; } }\n\n  &.allow-animation {\n    .shader {\n      transition: all 0.2s; }\n    .menu {\n      transition: all 0.3s;\n      transition-timing-function: ease-in-out; } }\n\n  @include respond-to-width(850) {\n    display: block;\n\n    .bar {\n      display: block; }\n\n    .menu {\n      max-width: none;\n      padding-right: 60px;\n\n      .logout-button {\n        color: $placeholderGray;\n        border: 1px solid #FFAC34;\n        border-radius: 6px;\n        background-color: transparent;\n        font-size: 0.8rem;\n        line-height: 1.1;\n        padding: 8px 18px;\n        cursor: pointer; } } }\n\n  @include respond-to-width(425) {\n    .menu {\n      padding: 70px 30px;\n      nav {\n        .close {\n          left: 0; }\n        ul {\n          font-size: 1.2rem; } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/mobile/_navigation.sass",".mobile-contact {\n  display: none;\n  opacity: 0;\n  transform: translate3d(0, -100%, 0);\n\n  padding: 50px column(1);\n  background-color: white;\n\n  color: $black;\n  font-size: 0.9rem;\n\n  transition: opacity 0.4s, transform 0.4s;\n\n  &.active {\n    transform: translate3d(0,0,0);\n    opacity: 1;\n    pointer-events: all; }\n\n\n  h1, h2 {\n    font-size: 2rem;\n    line-height: 1.2;\n    max-width: 580px;\n    color: $pastelBlue;\n    margin: 0 0 40px; }\n\n  p {\n    margin: 1rem 0; }\n\n  strong {\n    color: $black; }\n\n  a:not(.button) {\n    color: $blue;\n    text-decoration: none;\n    transition: color 0.3s, border 0.3s, opacity 0.3s;\n    &:hover {\n      color: darken($blue, 15%); } }\n\n\n\n  a.button {\n    display: inline-block;\n    margin-top: 20px;\n    padding: 15px 20px;\n    border-radius: 25px;\n    background-color: $blue;\n    text-decoration: none;\n    font-size: 0.9rem;\n    line-height: 1;\n    font-weight: bold();\n    color: white;\n    transition: background-color 0.3s;\n\n    &:after {\n      content: '';\n      margin-left: 20px;\n      transform: translate3d(0,0,0);\n      transition: transform 0.3s; }\n\n    &:hover {\n      background-color: $pastelBlue;\n      &:after {\n        transform: translate3d(5px, 0, 0); } } }\n\n\n  @include respond-to-width(840) {\n    display: block; } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/mobile/_contact.sass","#sticky-navigation {\n  position: fixed;\n  top: 0;\n  left: 0;\n  z-index: 50;\n  background-color: $blue;\n  width: 100%;\n  height: 60px;\n  transform: translate3d(0, -60px, 0);\n  box-shadow: 0 6px 10px -5px rgba(0,0,0,0.1);\n  opacity: 0;\n  transition: transform 0.4s, opacity 0.4s;\n\n  &.active {\n    transform: translate3d(0, 0, 0);\n    opacity: 1; }\n\n  .grid-row {\n    @include flex(space-between, center); }\n\n  .menu {\n    display: inline-block;\n    width: 60px;\n\n    .placeholder {\n      position: relative;\n      width: 100%;\n      padding-bottom: 100%;\n\n      .icon-placeholder {\n        position: absolute;\n        left: 0;\n        top: 0;\n        width: 100%;\n        height: 100%;\n        @include flex(center, center);\n        cursor: pointer;\n\n        .icon {\n          width: 20px;\n\n          span + span {\n            margin-top: 4px; }\n\n          span {\n            width: 100%;\n            height: 2px;\n            display: block;\n            transform: scale3d(1, 1, 1);\n            transform-origin: 0 50%;\n            background-color: white;\n            transition: transform 0.6s;\n\n            &:nth-of-type(2) {\n              transform: scale3d(0.8, 1, 1); }\n\n            &:nth-of-type(3) {\n              transform: scale3d(0.45, 1, 1); } } }\n\n        &:hover {\n          .icon {\n            span {\n              transform: scale3d(1, 1, 1) !important; } } } } } }\n\n  .logo-wrapper {\n    a {\n      font-size: 1rem;\n      line-height: 1;\n      color: white;\n      text-decoration: none;\n      font-weight: bold; } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/mobile/_stickyNavigation.sass",".backToEHBO {\n  font-size: 0.8rem;\n  line-height: 1.1;\n  padding-top: 52px;\n  text-decoration: none;\n  color: $semiBlack;\n  cursor: pointer;\n  transition: color 0.2s;\n  @include inline-flex(space-between, center);\n\n  @include respond-to-width(650) {\n    padding: 30px 0 30px 7%; }\n\n  &:hover {\n    color: $redTheme2;\n    span.back-arrow {\n      opacity: 0.8; } }\n\n\n  span.back-arrow {\n    width: 30px;\n    height: 30px;\n    margin-right: 18px;\n    opacity: 0.5;\n    background-color: $ctaBackground;\n    transition: opacity 0.2s;\n\n    svg {\n      height: 14px;\n      width: 15px;\n      transition: opacity 0.2s; } } }\n\n\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/_backToEHBO.sass","/* ==========================================================================\n   Home page\n   @mixin ========================================================================= */\n.login {\n\n  > .placeholder {\n    position: relative;\n\n    @include respond-to-width(650) {\n      box-shadow: none; }\n\n\n    &:after {\n      content: '+';\n      display: block;\n      position: absolute;\n      z-index: 0;\n      font-size: 480px;\n      text-align: right;\n      color: white;\n      font-weight: 900;\n      top: 0;\n      left: 0;\n      width: 100%;\n      height: 64%;\n      padding-top: 2%;\n      background: linear-gradient(90deg, #FFFFFF 0%, #F7F8FA 80%);\n\n      @include respond-to-width(650) {\n        display: none; } }\n\n    > form {\n      position: relative;\n      z-index: 5;\n\n      .general-alert {\n        display: block;\n        background-color: #ff3333;\n        padding: 10px;\n        position: absolute;\n        top: auto;\n        margin-top: -55px;\n        left: 0;\n        width: 100%;\n        color: white;\n        border-radius: 5px;\n\n        &:first-letter {\n          text-transform: capitalize; } } } }\n\n  h1 {\n    color: $semiBlack;\n    font-size: 1.6rem;\n    font-weight: bold;\n    line-height: 2;\n    margin: 0;\n    margin-bottom: 55px;\n\n    @include respond-to-width(850) {\n      padding-left: 50px; }\n\n    @include respond-to-width(425) {\n      font-size: 1.3rem; } }\n\n  label {\n    width: column(6, 8);\n    display: block;\n    margin-bottom: 24px; }\n\n  input {\n    width: column(6, 8);\n    margin-bottom: 30px;\n    border: none;\n    border-bottom: solid 1px rgba($ctaBackground, 0.8);\n    font-size: 0.8rem;\n    line-height: 1.1;\n    padding: 8px 0;\n    color: $placeholderGray;\n\n    @include respond-to-width(1024) {\n      width: 100%; }\n\n    &[type=submit] {\n      display: block;\n      padding: 10px 15px;\n      margin: 30px 0;\n      color: white;\n      font-size: 0.8rem;\n      font-weight: bold;\n      line-height: 1.1;\n      text-transform: uppercase;\n      border-radius: 3px;\n      background-color: $buttonGreen;\n      width: auto;\n      min-width: 240px;\n      text-align: left;\n      cursor: pointer;\n      transition: background-color 0.3s;\n\n      &:hover {\n        background-color: darken($buttonGreen, 5%); }\n\n      @include respond-to-width(425) {\n        width: 100%; } }\n\n    @include placeholder {\n      font-size: 0.8rem;\n      line-height: 1.1;\n      opacity: 0.45;\n      color: $placeholderGray; } }\n\n  a.forgotPassword {\n    display: inline-block;\n    margin-bottom: 100px;\n    text-decoration: none;\n    color: $semiBlack;\n    cursor: pointer;\n    transition: color 0.3s;\n    padding-left: column(1, 10);\n    @include flex(flex-start, center);\n\n    &:hover {\n      color: $redTheme2; }\n\n\n    @include respond-to-width(650) {\n      background-color: white;\n      padding-bottom: 30px;\n      margin-bottom: 0;\n      padding-left: column(0.5, 8); }\n\n    p {\n      display: inline-block;\n      margin: 0;\n      border-bottom: solid 1px; }\n\n    span.lock {\n      svg {\n        height: 25px;\n        width: 25px;\n        transition: opacity 0.2s; } } }\n\n\n\n\n  .registerLink {\n    color: $semiBlack;\n    font-style: italic;\n    margin: 50px 0 85px 0;\n\n    @include respond-to-width(650) {\n      margin: 30px 0 0 0; }\n\n    a {\n      text-decoration: none;\n      color: $semiBlack;\n      border-bottom: solid 1px;\n      cursor: pointer;\n      transition: color 0.3s;\n\n      &:hover {\n        color: $redTheme2; } } } }\n\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/pages/_login.sass","/* ==========================================================================\n   Home page\n   @mixin ========================================================================= */\n\nh1.register-header {\n  color: #515151;\n  font-size: 1rem;\n  font-weight: bold;\n  line-height: 1.333;\n  width: column(8, 12);\n  margin: 70px auto 35px auto;\n\n  @include respond-to-width(1280) {\n    width: column(12); }\n\n  @include respond-to-width(650) {\n    padding: 30px 0 0 15%;\n    background-color: white;\n    margin: 0;\n    width: 100%; }\n\n  @include respond-to-width(425) {\n    text-align: center;\n    padding-left: 0; } }\n\n.register {\n  padding-top: 0;\n\n  .placeholder {\n    padding: 65px column(1, 10) 35px column(1, 10);\n\n    @include respond-to-width(1280) {\n      padding: 65px column(1, 8) 35px column(1, 8); }\n\n    @include respond-to-width(850) {\n      padding: 35px 0 35px 15%; }\n\n    @include respond-to-width(425) {\n      padding: 35px 30px; } }\n\n  .general-alert {\n    display: block;\n    background-color: $redTheme;\n    padding: 10px;\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100%;\n    color: white;\n    border-radius: 5px 5px 0 0;\n\n    &:first-letter {\n      text-transform: capitalize; } }\n\n  .form-group {\n    position: relative;\n    margin-bottom: 60px;\n    span.icon {\n      position: absolute;\n      left: column(-1, 9);\n      top: -10px;\n      &.person {\n        top: 0; }\n      svg {\n        transition: opacity 0.2s; }\n\n      @include respond-to-width(425) {\n        position: relative;\n        left: calc(50% - 20px);\n        top: -30px;\n        margin-bottom: 15px; } }\n\n    .form-element {\n      @include respond-to-width(650) {\n        width: 100%; }\n      label {\n        width: 100%;\n        margin-right: 30px;\n        display: block;\n        margin-bottom: 24px;\n        font-size: 0.8rem;\n        line-height: 1.1;\n        color: $semiBlack;\n\n        &.gender, &[for=age], &[for=years_certified], &[for=expiration_date], &[for=house_number] {\n          display: inline-block;\n          width: auto;\n\n          input {\n            width: auto; } }\n\n        &[for=age] {\n          margin-right: 10px;\n          + input {\n            width: 35px;\n            border: 1px solid $ctaBackground;\n            border-radius: 3px;\n            text-align: center;\n            padding: 4px 0; } }\n\n        &.gender {\n          margin-bottom: 12px; }\n\n        &[for=years_certified] {\n          + input {\n            width: 35px;\n            text-align: center;\n            margin-bottom: 0; } }\n\n        &[for=house_number] {\n          + input {\n            @include respond-to-width(650) {\n              width: 35px;\n              text-align: center; } } }\n\n        &[for=expiration_date] {\n          + input {\n            width: 150px;\n            text-align: center; } } }\n\n      input {\n        width: column(7, 8);\n        margin-bottom: 30px;\n        border: none;\n        border-bottom: solid 1px rgba($ctaBackground, 0.8);\n        font-size: 0.8rem;\n        line-height: 1.1;\n        padding: 8px 0;\n        color: $gray;\n        background-color: transparent;\n\n        &[type=radio] {\n          margin-right: 20px; }\n\n        @include placeholder {\n          opacity: 0.45;\n          color: $placeholderGray; } } } }\n\n\n  input[type=submit] {\n    display: block;\n    padding: 10px 15px;\n    margin: 30px 0;\n    color: white;\n    font-size: 0.8rem;\n    font-weight: bold;\n    line-height: 1.1;\n    text-transform: uppercase;\n    border-radius: 3px;\n    background-color: $buttonGreen;\n    border: none;\n    width: auto;\n    min-width: 240px;\n    text-align: left;\n    cursor: pointer;\n    transition: background-color 0.3s;\n\n    &:hover {\n      background-color: darken($buttonGreen, 5%); }\n\n    @include respond-to-width(425) {\n      width: 100%; } } }\n\n.select-wrapper {\n  display: inline-block; }\n\nselect {\n  -webkit-appearance: button;\n  -moz-appearance: button;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -webkit-padding-end: 20px;\n  -moz-padding-end: 20px;\n  -webkit-padding-start: 20px;\n  -moz-padding-start: 20px;\n  background-color: rgba(103,113,122,0.05);\n  background-image: url(\"/img/svg/arrow_dark_select.svg\");\n  background-position: 100% 50%;\n  background-repeat: no-repeat;\n  border: 1px solid #E0E1E3;\n  border-radius: 0;\n  box-shadow: none;\n  font-size: 0.7em;\n  color: $grey;\n  margin: 0;\n  overflow: hidden;\n  padding: 5px 10px;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  min-width: 60px;\n\n  &:focus {\n    box-shadow: none;\n    outline: none; }\n\n  &.year {\n    min-width: 75px; } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/pages/_register.sass","/* ==========================================================================\n   Home page\n   @mixin ========================================================================= */\n\n.personal {\n  display: inline-block;\n  width: column(7, 12);\n  margin-right: column(1, 12);\n  margin-left: column(1, 12);\n\n  @include respond-to-width(950) {\n    margin-right: 0; }\n\n  @include respond-to-width(850) {\n    margin-left: 0;\n    padding-left: column(0.5, 8);\n    width: calc(100% - 60px); }\n\n\n  .alert-danger {\n    background-color: rgba(255, 51, 51, 0.7);\n    padding: 5px 10px;\n    margin-top: -45px;\n    margin-bottom: 45px;\n    border-radius: 5px;\n    color: white; }\n\n  .form-group {\n    position: relative;\n    margin-bottom: 60px;\n    span.icon {\n      position: absolute;\n      left: column(-1, 7);\n      width: 30px;\n      height: 30px;\n      top: -8px;\n      &.person {\n        top: 0; }\n      svg {\n        width: 18px;\n        height: 18px;\n        transition: opacity 0.2s; }\n\n      @include respond-to-width(650) {\n        position: relative;\n        left: calc(50% - 20px);\n        top: -30px;\n        margin-bottom: 15px; } } }\n\n  input[type=submit] {\n    @include respond-to-width(425) {\n      width: calc(100% - 60px);\n      min-width: 170px; } } }\n\n.sidebar {\n  &.user {\n    ul {\n      overflow: visible;\n      height: auto;\n      li {\n        padding: 25px 14%;\n        @include respond-to-width-beyond(1800) {\n          padding: 25px 50px; }\n\n        &:last-of-type {\n          border-bottom: 0.5px solid $ctaBackground; }\n\n        p {\n          color: $semiBlack;\n          font-weight: 600;\n          margin-bottom: 1.5em;\n\n          &.value {\n            font-weight: normal;\n            color: $gray;\n            margin-bottom: 0.375em; } } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/pages/_personal.sass","/* ==========================================================================\n   Home page\n   @mixin ========================================================================= */\n\n.courses {\n  width: column(8, 12);\n  margin-right: column(1, 12);\n  margin-left: 0;\n  position: relative;\n\n  @include respond-to-width(950) {\n    margin-right: column(0.5, 12); }\n\n  @include respond-to-width(850) {\n    padding-left: column(0.5, 8);\n    width: calc(100% - 60px - 6.25%); }\n\n  .info-message {\n    display: block;\n    position: absolute;\n    width: 100%;\n    background-color: $blue;\n    border-radius: 0 0 5px 5px;\n    padding: 10px;\n    color: white;\n    font-weight: bold;\n    transform: translate(0, -40px);\n    @include animation(showAndHide 5s);\n    animation-fill-mode: forwards; }\n\n  .courses-header {\n    padding-top: 52px;\n    @include flex(space-between, flex-start);\n\n    .hello-user {\n      font-size: 0.8rem;\n      line-height: 1.1;\n      text-decoration: none;\n      color: $semiBlack;\n      cursor: pointer;\n      transition: color 0.2s;\n      position: relative;\n      left: -24px;\n      width: auto;\n      @include inline-flex(space-between, flex-start);\n\n      @include respond-to-width(650) {\n        left: 0; }\n\n\n\n      &:hover {\n        color: darken($semiBlack, 10%);\n        span.person {\n          opacity: 0.8; }\n\n        p {\n          color: $semiBlack; } }\n\n\n      span.person {\n        width: 16px;\n        height: 20px;\n        margin-right: 7px;\n        opacity: 0.5;\n\n        svg {\n          height: 15px;\n          width: 16px;\n          transition: opacity 0.2s;\n\n          > g {\n            > g, use {\n              fill: $semiBlack; } } } }\n\n      h4 {\n        display: block;\n        font-size: 0.8rem;\n        font-weight: bold;\n        line-height: 1.1rem;\n        margin: 0;\n        margin-bottom: 5px; }\n\n      p {\n        color: $ctaBackground;\n        font-size: 0.75rem;\n        font-weight: 600;\n        transition: color 0.2s;\n        margin: 0; } }\n\n    .general-notice {\n      display: block;\n      border: solid 1px #5E9DFF;\n      color: #313173;\n      border-radius: 5px;\n      background-color: rgba(#5E9DFF, 0.2);\n      padding: 20px;\n      max-width: 70%; } }\n\n\n  .filters {\n    list-style: none;\n    margin-left: 0;\n    padding-left: 0;\n    border-bottom: solid 1px #D9DAE2;\n    margin-bottom: 20px;\n\n    @include respond-to-width(550) {\n      @include flex(flex-start, center);\n      flex-wrap: wrap; }\n\n    li {\n      display: inline-block;\n      font-size: 16px;\n      font-weight: 600;\n      line-height: 30px;\n      margin-bottom: 5px;\n\n      @include respond-to-width(550) {\n        padding: 0 5px;\n        display: block;\n        border: solid 1.5px #D9DAE2;\n        border-radius: 5px;\n        margin-bottom: 10px;\n        margin-right: 20px; }\n\n      & + li {\n        margin-left: 7%;\n\n        @include respond-to-width(550) {\n          margin-left: 0; } }\n\n      a {\n        color: #CECECE;\n        text-decoration: none;\n        transition: color 0.3s; }\n\n      &:hover {\n        a {\n          color: #5E9DFF; } }\n\n      &.active {\n        @include respond-to-width(550) {\n          border: solid 1.5px #5E9DFF; }\n\n        a {\n          color: #5E9DFF;\n          padding-bottom: 8px;\n          border-bottom: solid 1.5px #5E9DFF;\n\n          @include respond-to-width(550) {\n            border-bottom: none;\n            padding-bottom: 0; } } } } }\n\n  .competence_filter {\n    @include inline-flex(flex-start, center);\n    border: 2px solid #CECECE;\n    border-radius: 15px;\n    padding: 5px 20px;\n    text-decoration: none;\n    color: $semiBlack;\n    line-height: 1.5rem;\n    margin-bottom: 20px;\n\n    &:hover {\n      border: 2px solid #bbbbbb;\n      background-color: #CECECE;\n      cursor: pointer; }\n\n    span {\n      margin-left: 10px;\n      font-size: 1.5rem; } }\n\n  .courses-list {\n    @include inline-flex(space-between, flex-start);\n    flex-wrap: wrap;\n    width: 100%;\n\n    .course {\n      border: 1px solid #CECECE;\n      border-radius: 15px;\n      width: 48%;\n      min-width: 350px;\n      background-color: white;\n      margin-bottom: 30px;\n      box-shadow: 5px 5px 20px 0 rgba(0,0,0,0.1);\n      position: relative;\n      height: 100%;\n      @include flex(flex-start, stretch);\n      flex-direction: column;\n\n      @include respond-to-width(1280) {\n        margin: 0 auto 30px auto; }\n\n      @include respond-to-width(425) {\n        min-width: auto;\n        margin: 0 auto 30px auto; }\n\n      &:last-child {\n        margin-right: 0;\n\n        @include respond-to-width(1280) {\n          margin: 0 auto 30px auto; } }\n\n\n      &:after {\n        content: '';\n        display: block;\n        position: absolute;\n        bottom: 0;\n        height: 46px;\n        width: 100%;\n        background-color: #F7F8FA;\n        border-radius: 0 0 15px 15px;\n        z-index: 0; }\n\n      .course_header {\n        padding: 0 column(1, 8);\n        border-bottom: solid 1px #D9DAE2;\n        position: relative;\n        z-index: 1;\n        h5 {\n          position: absolute;\n          top: 0;\n          margin: 0;\n          padding: 7px 0;\n          text-transform: uppercase;\n          background-color: $blue;\n          width: 100%;\n          left: 0;\n          color: white;\n          border-radius: 5px 5px 0 0;\n          text-align: center; }\n        h4 {\n          color: $semiBlack;\n          line-height: 1.5rem;\n          margin-bottom: 10px;\n          margin-top: 1.8em; }\n\n        .course_properties {\n          @include flex(flex-start, center);\n          @include respond-to-width(425) {\n            @include flex(center, flex-start);\n            flex-direction: column; }\n\n          p {\n            margin: 0;\n            font-weight: 600;\n            @include flex(center, center);\n            & + p {\n              margin-left: 30px;\n\n              @include respond-to-width(425) {\n                margin-left: 0;\n                margin-top: 10px; } }\n\n            svg {\n              margin-right: 5px;\n              > g {\n                > g, use {\n                  fill: #04D682; } } } } }\n\n        p.users {\n          @include flex(flex-start, center);\n          margin-bottom: 26px;\n          font-weight: 600;\n\n          svg {\n            margin-right: 5px;\n            > g {\n              > g, use {\n                fill: #04D682; } } } }\n\n        a {\n          display: block;\n          padding: 10px 15px;\n          margin: 30px 0;\n          color: white;\n          font-size: 0.8rem;\n          font-weight: bold;\n          line-height: 1.1;\n          text-transform: uppercase;\n          border-radius: 3px;\n          background-color: $grey;\n          width: auto;\n          text-align: center;\n          text-decoration: none;\n          transition: background-color 0.3s;\n\n          &:hover {\n            background-color: darken($grey, 5%); } } }\n\n      .course_content {\n        position: relative;\n        z-index: 1;\n        height: 100%;\n        @include flex(space-between, stretch);\n        flex-direction: column;\n        h5, form {\n          padding: 0 50px; }\n\n        h5 {\n          color: #517292;\n          font-size: 0.7rem;\n          font-weight: 600;\n          line-height: 0.95rem;\n          display: block;\n          width: 100%;\n          padding-bottom: 15px;\n          margin-bottom: 0;\n          border-bottom: solid 1px rgba(#D9DAE2, 0.5); }\n\n        ul {\n          margin: 0;\n          padding: 0;\n          list-style: none;\n          li {\n            padding: 0 30px;\n            border-bottom: solid 1px rgba(#D9DAE2, 0.5);\n            color: #517292;\n            font-size: 0.7rem;\n            line-height: 1.5rem;\n            @include flex(flex-start, baseline);\n\n            &:before {\n              display: block;\n              content: '';\n              width: 10px;\n              height: 10px;\n              flex-shrink: 0;\n              border-radius: 999px;\n              margin-right: 10px;\n              background-color: $lightGray; }\n\n            &.unknown:before,\n            &.missing:before {\n              background-color: $semiBlack; }\n\n            &.expired:before {\n              background-color: #FE3333; }\n\n            &.almost_expired:before {\n              background-color: #FFAC34; }\n\n            &.valid:before {\n              background-color: #04D682; }\n\n            &.active {\n              background-color: #F7F8FA;\n              border-left: solid 6px #5E9DFF;\n              padding-left: 24px; }\n\n\n            label {\n              display: block;\n              width: 100%; } } }\n\n\n\n        form {\n          margin: 30px auto;\n          input[type=submit] {\n            margin: 0 auto;\n            min-width: auto;\n            width: auto;\n            text-align: center;\n            background-color: #FFAC34;\n            border: none;\n            text-transform: capitalize;\n            transition: background-color 0.3s;\n\n            &:hover {\n              background-color: darken(#FFAC34, 5%); }\n\n            &.full {\n              pointer-events: none;\n              background-color: $lightGray;\n              text-decoration: line-through;\n\n              &:hover {\n                background-color: $lightGray; } }\n\n            &.subscribed {\n              background-color: $blue;\n\n              &:hover {\n                background-color: darken($blue, 5%); } } }\n\n          .almost_full {\n            display: block;\n            width: 100%;\n            text-align: center;\n            font-size: 0.7rem;\n            line-height: 2;\n            color: $placeholderGray; } } } } } }\n\n.sidebar {\n  &.competences {\n    position: absolute;\n    right: 0;\n    height: 100%;\n    z-index: 10;\n\n    h1, h2, h3 {\n      padding: 0 14%;\n      @include respond-to-width-beyond(1800) {\n        padding: 0 50px; }\n\n      @include respond-to-width(900) {\n        padding: 0; } }\n\n    ul {\n      li {\n        padding: 0;\n        a {\n          width: 60%;\n          padding: 5px 0 5px 5%;\n          display: block;\n          color: $semiBlack;\n          font-size: 0.6rem;\n          line-height: 1.5rem;\n          text-decoration: none;\n\n          &:hover {\n            background-color: #F7F8FA;\n            cursor: pointer; }\n\n          @include respond-to-width-beyond(1800) {\n            padding-left: 38px; }\n\n          @include respond-to-width(900) {\n            width: 100%; }\n\n          label {\n            font-size: 0.7rem;\n            line-height: 1.5rem;\n            font-weight: 600;\n            @include flex(flex-start, baseline);\n\n            &:hover {\n              cursor: pointer; }\n\n            &:first-letter {\n              color: red;\n              text-transform: uppercase; }\n\n            &:before {\n              display: block;\n              content: '';\n              width: 10px;\n              height: 10px;\n              flex-shrink: 0;\n              border-radius: 999px;\n              margin-right: 10px;\n              background-color: $lightGray; } }\n\n          span {\n            color: $placeholderGray;\n            margin: 0 10px 0 20px;\n\n            &:hover {\n              cursor: pointer; } } }\n\n        &.missing {\n          a {\n            label:before {\n              background-color: $semiBlack; } } }\n\n        &.expired {\n          a {\n            label:before {\n              background-color: #FE3333; } } }\n\n        &.almost_expired {\n          a {\n            label:before {\n              background-color: #FFAC34; } } }\n\n        &.valid {\n          a {\n            label:before {\n              background-color: #04D682; } } }\n\n        &.active {\n          a {\n            background-color: #F7F8FA;\n            border-left: solid 6px #5E9DFF;\n            padding-left: calc(5% - 6px);\n            position: relative;\n\n            @include respond-to-width-beyond(1800) {\n              padding-left: 32px; }\n\n            &:after {\n              content: '';\n              position: absolute;\n              top: 0;\n              left: 100%;\n              width: 35vw;\n              height: 100%;\n              background-color: #F7F8FA;\n              z-index: 0; } } }\n\n        &:last-of-type {\n          border-bottom: 1px solid rgba($ctaBackground, 0.5); } } } } }\n\n\n\n// Shake animation\n@include keyframes(showAndHide) {\n  0% {\n    transform: translate3d(0, -40px, 0); }\n  10% {\n    transform: translate3d(0,0, 0); }\n  90% {\n    transform: translate3d(0,0, 0); }\n  100% {\n    transform: translate3d(0, -40px, 0); } }\n\n\n@supports (display: grid) {\n  .courses {\n    .courses-list {\n      display: grid;\n      //grid-template-columns: column(2.2, 9.5) column(2.2, 9.5) column(2.2, 9.5) column(2.2, 9.5)\n      grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));\n      grid-column-gap: 30px;\n      grid-row-gap: 45px;\n\n      @include respond-to-width(425) {\n        display: block; }\n\n      .course {\n        width: 100%;\n        max-width: 450px;\n        margin: 0 auto;\n\n        @include respond-to-width(425) {\n          min-width: auto;\n          margin: 0 auto 30px auto; }\n\n        &:last-child {\n          margin-right: auto; } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/pages/_courses.sass","// Adds keyframes blocks for supported prefixes, removing redundant prefixes in the block's content\n@mixin keyframes($name) {\n  $original-prefix-for-webkit:    $prefix-for-webkit;\n  $original-prefix-for-mozilla:   $prefix-for-mozilla;\n  $original-prefix-for-microsoft: $prefix-for-microsoft;\n  $original-prefix-for-opera:     $prefix-for-opera;\n  $original-prefix-for-spec:      $prefix-for-spec;\n\n  @if $original-prefix-for-webkit {\n    @include disable-prefix-for-all();\n    $prefix-for-webkit: true !global;\n    @-webkit-keyframes #{$name} {\n      @content;\n    }\n  }\n  @if $original-prefix-for-mozilla {\n    @include disable-prefix-for-all();\n    $prefix-for-mozilla: true !global;\n    @-moz-keyframes #{$name} {\n      @content;\n    }\n  }\n\n  $prefix-for-webkit:    $original-prefix-for-webkit    !global;\n  $prefix-for-mozilla:   $original-prefix-for-mozilla   !global;\n  $prefix-for-microsoft: $original-prefix-for-microsoft !global;\n  $prefix-for-opera:     $original-prefix-for-opera     !global;\n  $prefix-for-spec:      $original-prefix-for-spec      !global;\n\n  @if $original-prefix-for-spec {\n    @keyframes #{$name} {\n      @content;\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/bourbon/css3/_keyframes.scss","/* ==========================================================================\n   Home page\n   @mixin ========================================================================= */\n\n.checkin {\n  min-height: 850px;\n  display: inline-block;\n  @include respond-to-width(900) {\n    min-height: auto;\n    padding-bottom: 0; }\n\n  h2 {\n    margin: 0; }\n\n  .course-attributes {\n    width: auto;\n    margin-bottom: 60px;\n    p {\n      @include inline-flex(center, center);\n      margin-right: 45px;\n\n      svg {\n        margin-right: 5px;\n\n        > g {\n          > g, use {\n            fill: #04D682; } } } } }\n\n  input#certificate_number {\n    display: block;\n    font-size: 0.8rem;\n    line-height: 1.1;\n    padding: 10px;\n    &:focus {\n      outline: none; }\n\n    @include placeholder {\n      opacity: 0.5; } }\n\n  .checkin-result {\n    width: 90%;\n    font-size: 1.5rem;\n    line-height: 1.6;\n    opacity: 0;\n    transition: opacity 1s;\n    &.show {\n      opacity: 1; }\n    &.success {\n      color: #095d0d; }\n    &.failed {\n      color: #9a0303; } } }\n\n\n\n.sidebar {\n  &.students {\n    @include respond-to-width(900) {\n      background-color: transparent;\n      position: relative;\n      width: 100%;\n      height: auto;\n      display: block;\n      transform: translate3d(0, 0, 0);\n      box-shadow: none; }\n    h1 {\n      padding: 0 14%;\n      @include respond-to-width-beyond(1800) {\n        padding: 0 50px; }\n\n      @include respond-to-width(900) {\n        position: relative;\n        word-break: normal;\n        font-size: 1.6rem;\n        width: auto;\n        margin: 0;\n        text-align: left;\n        padding: 0; }\n\n      span.icon {\n        @include respond-to-width(900) {\n          display: none; } } }\n\n    h2 {\n      padding: 0 14%;\n\n      @include respond-to-width(900) {\n        padding: 0; } }\n\n    ul {\n      margin-bottom: 30px;\n      max-height: 240px;\n\n      @include respond-to-width(900) {\n        max-height: none;\n        height: auto;\n        margin-left: 30px;\n        border-left: 0; }\n\n      li {\n        padding: 25px 50px;\n\n        &:first-of-type,\n        &:last-of-type {\n          border-bottom: 0.5px solid $ctaBackground; }\n\n        p {\n          color: $semiBlack;\n          font-weight: 600;\n          margin-bottom: 1.5em;\n\n          &.value {\n            font-weight: normal;\n            color: $gray;\n            margin-bottom: 0.375em; } } }\n\n      &#presentUsers {\n        li {\n          position: relative;\n          color: $green;\n          &:before {\n            content: '\\2713';\n            position: absolute;\n            left: 18px;\n            font-size: 2rem;\n            top: 0.4rem;\n            transform: rotate(-5deg); } } }\n\n      &#subscribedUsers {\n        li {\n          position: relative;\n          &:before {\n            content: '?';\n            position: absolute;\n            left: 18px;\n            font-size: 2rem;\n            top: 0.4rem; } } } } } }\n\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/pages/_checkin.sass","#error-page-message {\n  padding: 100px 0 100px;\n  background-color: $borderColor;\n\n  .grid-row {\n    .kms-content {\n      width: 100%;\n      text-align: center; }\n\n    .placeholder {\n      max-width: 720px;\n      margin: auto; }\n\n    //p\n    //  font-size: 1rem\n    //  line-height: 1.7\n    //  font-weight: bold\n    //  color: $grey\n    //\n    //  +respond-to-width(700)\n    //    font-size: 0.9rem\n    //  +respond-to-width(450)\n } }    //    font-size: 0.8rem\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/pages/_error.sass","/*==========================================================================\n  Sitemap page\n  @mixin ========================================================================= */\n.sitemap {\n  ul {\n    padding-left: 40px;\n    padding-bottom: 20px;\n    font-size: 0.85em; }\n\n  >ul {\n    padding-left: 20px; }\n\n  li {\n    &:before {\n      top: 6px; }\n\n    a {\n      padding: 3px 0;\n      border-bottom-color: transparent;\n      border-bottom-style: dotted;\n      display: block;\n      &:hover {\n        border-bottom-color: rgba($black, 0.4); } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/pages/_sitemap.sass"],"sourceRoot":""}