@charset "UTF-8";
/*!
 * @license
 * MyFonts Webfont Build ID 498899
 *
 * The fonts listed in this notice are subject to the End User License
 * Agreement(s) entered into by the website owner. All other parties are
 * explicitly restricted from using the Licensed Webfonts(s).
 *
 * You may obtain a valid license at the URLs below.
 *
 * Webfont: Neue Helvetica 25 Ultra Light by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 26 Ultra Light Italic by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 35 Thin by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 99 Compressed Black by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 89 Compressed Heavy by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 79 Compressed Bold by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 69 Compressed Medium by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 59 Compressed Regular by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 39 Compressed Thin by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 29 Compressed Ultra Light by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 93 Extended Black Oblique by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 93 Extended Black by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 83 Extended Heavy Oblique by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 83 Extended Heavy by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 36 Thin Italic by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 45 Light by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 46 Light Italic by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 55 Roman by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 65 Medium by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 56 Italic by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 66 Medium Italic by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 75 Bold by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 76 Bold Italic by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 85 Heavy by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 86 Heavy Italic by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 95 Black by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 96 Black Italic by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 75 Bold Outline by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 27 Condensed Ultra Light by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 27 Condensed Ultra Light Oblique by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 37 Condensed Thin by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 37 Condensed Thin Oblique by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 47 Condensed Light by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 47 Condensed Light Oblique by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 57 Condensed Oblique by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 57 Condensed by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 67 Condensed Medium by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 67 Condensed Medium Oblique by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 77 Condensed Bold by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 77 Condensed Bold Oblique by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 87 Condensed Heavy by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 87 Condensed Heavy Oblique by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 97 Condensed Black by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 97 Condensed Black Oblique by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 107 Condensed Extra Black by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 107 Condensed Extra Black Oblique by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 23 Extended Ultra Light Oblique by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 23 Extended Ultra Light by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 33 Extended Thin by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 33 Extended Thin Oblique by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 43 Extended Light by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 43 Extended Light Oblique by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 53 Extended by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 53 Extended Oblique by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 63 Extended Medium by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 63 Extended Medium Oblique by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 73 Extended Bold by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 73 Extended Bold Oblique by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica 49 Compressed Light by Linotype
 * URL: https://www.myfonts.com/collections/linotype-foundry

  * Subset actually embedded in this build:
 *   Neue Helvetica 45 Light
 *   Neue Helvetica 46 Light Italic
 *   Neue Helvetica 55 Roman
 *   Neue Helvetica 56 Italic
 *   Neue Helvetica 75 Bold
 *   Neue Helvetica 76 Bold Italic
 *   Neue Helvetica 95 Black
 *   Neue Helvetica 96 Black Italic

 * © 2025 MyFonts Inc.
 */
@font-face {
  font-family: "HelveticaNeue";
  src: url("../fonts/helvetica-neue/webFonts/NeueHelvetica45Light/font.woff2") format("woff2"), url("../fonts/helvetica-neue/webFonts/NeueHelvetica45Light/font.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-stretch: normal;
  font-display: swap;
}
@font-face {
  font-family: "HelveticaNeue";
  src: url("../fonts/helvetica-neue/webFonts/NeueHelvetica46LightItalic/font.woff2") format("woff2"), url("../fonts/helvetica-neue/webFonts/NeueHelvetica46LightItalic/font.woff") format("woff");
  font-weight: 300;
  font-style: italic;
  font-stretch: normal;
  font-display: swap;
}
@font-face {
  font-family: "HelveticaNeue";
  src: url("../fonts/helvetica-neue/webFonts/NeueHelvetica55Roman/font.woff2") format("woff2"), url("../fonts/helvetica-neue/webFonts/NeueHelvetica55Roman/font.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-stretch: normal;
  font-display: swap;
}
@font-face {
  font-family: "HelveticaNeue";
  src: url("../fonts/helvetica-neue/webFonts/NeueHelvetica56Italic/font.woff2") format("woff2"), url("../fonts/helvetica-neue/webFonts/NeueHelvetica56Italic/font.woff") format("woff");
  font-weight: 400;
  font-style: italic;
  font-stretch: normal;
  font-display: swap;
}
@font-face {
  font-family: "HelveticaNeue";
  src: url("../fonts/helvetica-neue/webFonts/NeueHelvetica75Bold/font.woff2") format("woff2"), url("../fonts/helvetica-neue/webFonts/NeueHelvetica75Bold/font.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-stretch: normal;
  font-display: swap;
}
@font-face {
  font-family: "HelveticaNeue";
  src: url("../fonts/helvetica-neue/webFonts/NeueHelvetica76BoldItalic/font.woff2") format("woff2"), url("../fonts/helvetica-neue/webFonts/NeueHelvetica76BoldItalic/font.woff") format("woff");
  font-weight: 700;
  font-style: italic;
  font-stretch: normal;
  font-display: swap;
}
@font-face {
  font-family: "HelveticaNeue";
  src: url("../fonts/helvetica-neue/webFonts/NeueHelvetica95Black/font.woff2") format("woff2"), url("../fonts/helvetica-neue/webFonts/NeueHelvetica95Black/font.woff") format("woff");
  font-weight: 900;
  font-style: normal;
  font-stretch: normal;
  font-display: swap;
}
@font-face {
  font-family: "HelveticaNeue";
  src: url("../fonts/helvetica-neue/webFonts/NeueHelvetica96BlackItalic/font.woff2") format("woff2"), url("../fonts/helvetica-neue/webFonts/NeueHelvetica96BlackItalic/font.woff") format("woff");
  font-weight: 900;
  font-style: italic;
  font-stretch: normal;
  font-display: swap;
}
html {
  font-synthesis: none;
  font-stretch: normal;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm15Zm9udHMtaGVsdmV0aWNhLW5ldWUuY3NzIiwibXlmb250cy1oZWx2ZXRpY2EtbmV1ZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0loQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBQUE7QUFpTkU7RUFDRSw0QkFBQTtFQUNBLG1MQUNFO0VBRUYsZ0JBT3lDO0VBTnpDLGtCQVBnQztFQVFoQyxvQkFBQTtFQUNBLGtCQUFBO0FEZEo7QUNNRTtFQUNFLDRCQUFBO0VBQ0EsK0xBQ0U7RUFFRixnQkFReUM7RUFQekMsa0JBTzhDO0VBTjlDLG9CQUFBO0VBQ0Esa0JBQUE7QUROSjtBQ0ZFO0VBQ0UsNEJBQUE7RUFDQSxtTEFDRTtFQUVGLGdCQVN5QztFQVJ6QyxrQkFQZ0M7RUFRaEMsb0JBQUE7RUFDQSxrQkFBQTtBREVKO0FDVkU7RUFDRSw0QkFBQTtFQUNBLHFMQUNFO0VBRUYsZ0JBVXlDO0VBVHpDLGtCQVM4QztFQVI5QyxvQkFBQTtFQUNBLGtCQUFBO0FEVUo7QUNsQkU7RUFDRSw0QkFBQTtFQUNBLGlMQUNFO0VBRUYsZ0JBV3lDO0VBVnpDLGtCQVBnQztFQVFoQyxvQkFBQTtFQUNBLGtCQUFBO0FEa0JKO0FDMUJFO0VBQ0UsNEJBQUE7RUFDQSw2TEFDRTtFQUVGLGdCQVl5QztFQVh6QyxrQkFXOEM7RUFWOUMsb0JBQUE7RUFDQSxrQkFBQTtBRDBCSjtBQ2xDRTtFQUNFLDRCQUFBO0VBQ0EsbUxBQ0U7RUFFRixnQkFheUM7RUFaekMsa0JBUGdDO0VBUWhDLG9CQUFBO0VBQ0Esa0JBQUE7QURrQ0o7QUMxQ0U7RUFDRSw0QkFBQTtFQUNBLCtMQUNFO0VBRUYsZ0JBY3lDO0VBYnpDLGtCQWE4QztFQVo5QyxvQkFBQTtFQUNBLGtCQUFBO0FEMENKO0FDNUJBO0VBQ0Usb0JBQUE7RUFDQSxvQkFBQTtBRDhCRiIsImZpbGUiOiJteWZvbnRzLWhlbHZldGljYS1uZXVlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qIVxuICogQGxpY2Vuc2VcbiAqIE15Rm9udHMgV2ViZm9udCBCdWlsZCBJRCA0OTg4OTlcbiAqXG4gKiBUaGUgZm9udHMgbGlzdGVkIGluIHRoaXMgbm90aWNlIGFyZSBzdWJqZWN0IHRvIHRoZSBFbmQgVXNlciBMaWNlbnNlXG4gKiBBZ3JlZW1lbnQocykgZW50ZXJlZCBpbnRvIGJ5IHRoZSB3ZWJzaXRlIG93bmVyLiBBbGwgb3RoZXIgcGFydGllcyBhcmVcbiAqIGV4cGxpY2l0bHkgcmVzdHJpY3RlZCBmcm9tIHVzaW5nIHRoZSBMaWNlbnNlZCBXZWJmb250cyhzKS5cbiAqXG4gKiBZb3UgbWF5IG9idGFpbiBhIHZhbGlkIGxpY2Vuc2UgYXQgdGhlIFVSTHMgYmVsb3cuXG4gKlxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgMjUgVWx0cmEgTGlnaHQgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSAyNiBVbHRyYSBMaWdodCBJdGFsaWMgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSAzNSBUaGluIGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgOTkgQ29tcHJlc3NlZCBCbGFjayBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDg5IENvbXByZXNzZWQgSGVhdnkgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSA3OSBDb21wcmVzc2VkIEJvbGQgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSA2OSBDb21wcmVzc2VkIE1lZGl1bSBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDU5IENvbXByZXNzZWQgUmVndWxhciBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDM5IENvbXByZXNzZWQgVGhpbiBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDI5IENvbXByZXNzZWQgVWx0cmEgTGlnaHQgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSA5MyBFeHRlbmRlZCBCbGFjayBPYmxpcXVlIGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgOTMgRXh0ZW5kZWQgQmxhY2sgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSA4MyBFeHRlbmRlZCBIZWF2eSBPYmxpcXVlIGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgODMgRXh0ZW5kZWQgSGVhdnkgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSAzNiBUaGluIEl0YWxpYyBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDQ1IExpZ2h0IGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgNDYgTGlnaHQgSXRhbGljIGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgNTUgUm9tYW4gYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSA2NSBNZWRpdW0gYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSA1NiBJdGFsaWMgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSA2NiBNZWRpdW0gSXRhbGljIGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgNzUgQm9sZCBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDc2IEJvbGQgSXRhbGljIGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgODUgSGVhdnkgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSA4NiBIZWF2eSBJdGFsaWMgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSA5NSBCbGFjayBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDk2IEJsYWNrIEl0YWxpYyBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDc1IEJvbGQgT3V0bGluZSBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDI3IENvbmRlbnNlZCBVbHRyYSBMaWdodCBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDI3IENvbmRlbnNlZCBVbHRyYSBMaWdodCBPYmxpcXVlIGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgMzcgQ29uZGVuc2VkIFRoaW4gYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSAzNyBDb25kZW5zZWQgVGhpbiBPYmxpcXVlIGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgNDcgQ29uZGVuc2VkIExpZ2h0IGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgNDcgQ29uZGVuc2VkIExpZ2h0IE9ibGlxdWUgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSA1NyBDb25kZW5zZWQgT2JsaXF1ZSBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDU3IENvbmRlbnNlZCBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDY3IENvbmRlbnNlZCBNZWRpdW0gYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSA2NyBDb25kZW5zZWQgTWVkaXVtIE9ibGlxdWUgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSA3NyBDb25kZW5zZWQgQm9sZCBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDc3IENvbmRlbnNlZCBCb2xkIE9ibGlxdWUgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSA4NyBDb25kZW5zZWQgSGVhdnkgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSA4NyBDb25kZW5zZWQgSGVhdnkgT2JsaXF1ZSBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDk3IENvbmRlbnNlZCBCbGFjayBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDk3IENvbmRlbnNlZCBCbGFjayBPYmxpcXVlIGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgMTA3IENvbmRlbnNlZCBFeHRyYSBCbGFjayBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDEwNyBDb25kZW5zZWQgRXh0cmEgQmxhY2sgT2JsaXF1ZSBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDIzIEV4dGVuZGVkIFVsdHJhIExpZ2h0IE9ibGlxdWUgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSAyMyBFeHRlbmRlZCBVbHRyYSBMaWdodCBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDMzIEV4dGVuZGVkIFRoaW4gYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSAzMyBFeHRlbmRlZCBUaGluIE9ibGlxdWUgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSA0MyBFeHRlbmRlZCBMaWdodCBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDQzIEV4dGVuZGVkIExpZ2h0IE9ibGlxdWUgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSA1MyBFeHRlbmRlZCBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDUzIEV4dGVuZGVkIE9ibGlxdWUgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSA2MyBFeHRlbmRlZCBNZWRpdW0gYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSA2MyBFeHRlbmRlZCBNZWRpdW0gT2JsaXF1ZSBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDczIEV4dGVuZGVkIEJvbGQgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSA3MyBFeHRlbmRlZCBCb2xkIE9ibGlxdWUgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSA0OSBDb21wcmVzc2VkIExpZ2h0IGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICAqIFN1YnNldCBhY3R1YWxseSBlbWJlZGRlZCBpbiB0aGlzIGJ1aWxkOlxuICogICBOZXVlIEhlbHZldGljYSA0NSBMaWdodFxuICogICBOZXVlIEhlbHZldGljYSA0NiBMaWdodCBJdGFsaWNcbiAqICAgTmV1ZSBIZWx2ZXRpY2EgNTUgUm9tYW5cbiAqICAgTmV1ZSBIZWx2ZXRpY2EgNTYgSXRhbGljXG4gKiAgIE5ldWUgSGVsdmV0aWNhIDc1IEJvbGRcbiAqICAgTmV1ZSBIZWx2ZXRpY2EgNzYgQm9sZCBJdGFsaWNcbiAqICAgTmV1ZSBIZWx2ZXRpY2EgOTUgQmxhY2tcbiAqICAgTmV1ZSBIZWx2ZXRpY2EgOTYgQmxhY2sgSXRhbGljXG5cbiAqIMKpIDIwMjUgTXlGb250cyBJbmMuXG4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2FOZXVlXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvaGVsdmV0aWNhLW5ldWUvd2ViRm9udHMvTmV1ZUhlbHZldGljYTQ1TGlnaHQvZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvaGVsdmV0aWNhLW5ldWUvd2ViRm9udHMvTmV1ZUhlbHZldGljYTQ1TGlnaHQvZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2FOZXVlXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvaGVsdmV0aWNhLW5ldWUvd2ViRm9udHMvTmV1ZUhlbHZldGljYTQ2TGlnaHRJdGFsaWMvZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvaGVsdmV0aWNhLW5ldWUvd2ViRm9udHMvTmV1ZUhlbHZldGljYTQ2TGlnaHRJdGFsaWMvZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2FOZXVlXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvaGVsdmV0aWNhLW5ldWUvd2ViRm9udHMvTmV1ZUhlbHZldGljYTU1Um9tYW4vZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvaGVsdmV0aWNhLW5ldWUvd2ViRm9udHMvTmV1ZUhlbHZldGljYTU1Um9tYW4vZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2FOZXVlXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvaGVsdmV0aWNhLW5ldWUvd2ViRm9udHMvTmV1ZUhlbHZldGljYTU2SXRhbGljL2ZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2hlbHZldGljYS1uZXVlL3dlYkZvbnRzL05ldWVIZWx2ZXRpY2E1Nkl0YWxpYy9mb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYU5ldWVcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9oZWx2ZXRpY2EtbmV1ZS93ZWJGb250cy9OZXVlSGVsdmV0aWNhNzVCb2xkL2ZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2hlbHZldGljYS1uZXVlL3dlYkZvbnRzL05ldWVIZWx2ZXRpY2E3NUJvbGQvZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2FOZXVlXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvaGVsdmV0aWNhLW5ldWUvd2ViRm9udHMvTmV1ZUhlbHZldGljYTc2Qm9sZEl0YWxpYy9mb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9oZWx2ZXRpY2EtbmV1ZS93ZWJGb250cy9OZXVlSGVsdmV0aWNhNzZCb2xkSXRhbGljL2ZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhTmV1ZVwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2hlbHZldGljYS1uZXVlL3dlYkZvbnRzL05ldWVIZWx2ZXRpY2E5NUJsYWNrL2ZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2hlbHZldGljYS1uZXVlL3dlYkZvbnRzL05ldWVIZWx2ZXRpY2E5NUJsYWNrL2ZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhTmV1ZVwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2hlbHZldGljYS1uZXVlL3dlYkZvbnRzL05ldWVIZWx2ZXRpY2E5NkJsYWNrSXRhbGljL2ZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2hlbHZldGljYS1uZXVlL3dlYkZvbnRzL05ldWVIZWx2ZXRpY2E5NkJsYWNrSXRhbGljL2ZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5odG1sIHtcbiAgZm9udC1zeW50aGVzaXM6IG5vbmU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xufSIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEhlbHZldGljYSBOZXVlIChraXQgc2VsZi1ob3N0ZWQgTXlGb250cykg4oCTIGZhbWlseSB1bmlmaWNhdGFcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLyohXG4gKiBAbGljZW5zZVxuICogTXlGb250cyBXZWJmb250IEJ1aWxkIElEIDQ5ODg5OVxuICpcbiAqIFRoZSBmb250cyBsaXN0ZWQgaW4gdGhpcyBub3RpY2UgYXJlIHN1YmplY3QgdG8gdGhlIEVuZCBVc2VyIExpY2Vuc2VcbiAqIEFncmVlbWVudChzKSBlbnRlcmVkIGludG8gYnkgdGhlIHdlYnNpdGUgb3duZXIuIEFsbCBvdGhlciBwYXJ0aWVzIGFyZVxuICogZXhwbGljaXRseSByZXN0cmljdGVkIGZyb20gdXNpbmcgdGhlIExpY2Vuc2VkIFdlYmZvbnRzKHMpLlxuICpcbiAqIFlvdSBtYXkgb2J0YWluIGEgdmFsaWQgbGljZW5zZSBhdCB0aGUgVVJMcyBiZWxvdy5cbiAqXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSAyNSBVbHRyYSBMaWdodCBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDI2IFVsdHJhIExpZ2h0IEl0YWxpYyBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDM1IFRoaW4gYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSA5OSBDb21wcmVzc2VkIEJsYWNrIGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgODkgQ29tcHJlc3NlZCBIZWF2eSBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDc5IENvbXByZXNzZWQgQm9sZCBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDY5IENvbXByZXNzZWQgTWVkaXVtIGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgNTkgQ29tcHJlc3NlZCBSZWd1bGFyIGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgMzkgQ29tcHJlc3NlZCBUaGluIGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgMjkgQ29tcHJlc3NlZCBVbHRyYSBMaWdodCBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDkzIEV4dGVuZGVkIEJsYWNrIE9ibGlxdWUgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSA5MyBFeHRlbmRlZCBCbGFjayBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDgzIEV4dGVuZGVkIEhlYXZ5IE9ibGlxdWUgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSA4MyBFeHRlbmRlZCBIZWF2eSBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDM2IFRoaW4gSXRhbGljIGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgNDUgTGlnaHQgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSA0NiBMaWdodCBJdGFsaWMgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSA1NSBSb21hbiBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDY1IE1lZGl1bSBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDU2IEl0YWxpYyBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDY2IE1lZGl1bSBJdGFsaWMgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSA3NSBCb2xkIGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgNzYgQm9sZCBJdGFsaWMgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSA4NSBIZWF2eSBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDg2IEhlYXZ5IEl0YWxpYyBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDk1IEJsYWNrIGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgOTYgQmxhY2sgSXRhbGljIGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgNzUgQm9sZCBPdXRsaW5lIGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgMjcgQ29uZGVuc2VkIFVsdHJhIExpZ2h0IGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgMjcgQ29uZGVuc2VkIFVsdHJhIExpZ2h0IE9ibGlxdWUgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSAzNyBDb25kZW5zZWQgVGhpbiBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDM3IENvbmRlbnNlZCBUaGluIE9ibGlxdWUgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSA0NyBDb25kZW5zZWQgTGlnaHQgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSA0NyBDb25kZW5zZWQgTGlnaHQgT2JsaXF1ZSBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDU3IENvbmRlbnNlZCBPYmxpcXVlIGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgNTcgQ29uZGVuc2VkIGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgNjcgQ29uZGVuc2VkIE1lZGl1bSBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDY3IENvbmRlbnNlZCBNZWRpdW0gT2JsaXF1ZSBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDc3IENvbmRlbnNlZCBCb2xkIGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgNzcgQ29uZGVuc2VkIEJvbGQgT2JsaXF1ZSBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDg3IENvbmRlbnNlZCBIZWF2eSBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDg3IENvbmRlbnNlZCBIZWF2eSBPYmxpcXVlIGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgOTcgQ29uZGVuc2VkIEJsYWNrIGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgOTcgQ29uZGVuc2VkIEJsYWNrIE9ibGlxdWUgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gKiBXZWJmb250OiBOZXVlIEhlbHZldGljYSAxMDcgQ29uZGVuc2VkIEV4dHJhIEJsYWNrIGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgMTA3IENvbmRlbnNlZCBFeHRyYSBCbGFjayBPYmxpcXVlIGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgMjMgRXh0ZW5kZWQgVWx0cmEgTGlnaHQgT2JsaXF1ZSBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDIzIEV4dGVuZGVkIFVsdHJhIExpZ2h0IGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgMzMgRXh0ZW5kZWQgVGhpbiBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDMzIEV4dGVuZGVkIFRoaW4gT2JsaXF1ZSBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDQzIEV4dGVuZGVkIExpZ2h0IGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgNDMgRXh0ZW5kZWQgTGlnaHQgT2JsaXF1ZSBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDUzIEV4dGVuZGVkIGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgNTMgRXh0ZW5kZWQgT2JsaXF1ZSBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDYzIEV4dGVuZGVkIE1lZGl1bSBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDYzIEV4dGVuZGVkIE1lZGl1bSBPYmxpcXVlIGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2NvbGxlY3Rpb25zL2xpbm90eXBlLWZvdW5kcnlcblxuICogV2ViZm9udDogTmV1ZSBIZWx2ZXRpY2EgNzMgRXh0ZW5kZWQgQm9sZCBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDczIEV4dGVuZGVkIEJvbGQgT2JsaXF1ZSBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9jb2xsZWN0aW9ucy9saW5vdHlwZS1mb3VuZHJ5XG5cbiAqIFdlYmZvbnQ6IE5ldWUgSGVsdmV0aWNhIDQ5IENvbXByZXNzZWQgTGlnaHQgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vY29sbGVjdGlvbnMvbGlub3R5cGUtZm91bmRyeVxuXG4gICogU3Vic2V0IGFjdHVhbGx5IGVtYmVkZGVkIGluIHRoaXMgYnVpbGQ6XG4gKiAgIE5ldWUgSGVsdmV0aWNhIDQ1IExpZ2h0XG4gKiAgIE5ldWUgSGVsdmV0aWNhIDQ2IExpZ2h0IEl0YWxpY1xuICogICBOZXVlIEhlbHZldGljYSA1NSBSb21hblxuICogICBOZXVlIEhlbHZldGljYSA1NiBJdGFsaWNcbiAqICAgTmV1ZSBIZWx2ZXRpY2EgNzUgQm9sZFxuICogICBOZXVlIEhlbHZldGljYSA3NiBCb2xkIEl0YWxpY1xuICogICBOZXVlIEhlbHZldGljYSA5NSBCbGFja1xuICogICBOZXVlIEhlbHZldGljYSA5NiBCbGFjayBJdGFsaWNcblxuICogwqkgMjAyNSBNeUZvbnRzIEluYy5cbiAqL1xuXG4vLyAtLS0gSEVMVkVUSUNBIE5FVUUgLyBNWUZPTlRTIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQZXJjb3JzbyBiYXNlIGRlaSBmaWxlIGRlbCBraXQgTXlGb250cyAocmVnb2xhbG8gc2Ugc2VydmUpXG4kbXlmb250cy1wYXRoOiAnLi4vZm9udHMvaGVsdmV0aWNhLW5ldWUvd2ViRm9udHMnO1xuXG4vLyBNaXhpbiBwZXIgZ2VuZXJhcmUgdW5hIHNpbmdvbGEgZmFjY2lhXG4vLyAgICRmaWxlICAgPT4gY2FydGVsbGEgZGVsIGtpdCAoZXMuICdOZXVlSGVsdmV0aWNhNDVMaWdodCcpXG4vLyAgICR3ZWlnaHQgPT4gZm9udC13ZWlnaHQgbnVtZXJpY28gKDMwMCwgNDAwLCA3MDDigKYpXG4vLyAgICRzdHlsZSAgPT4gbm9ybWFsIHwgaXRhbGljXG5AbWl4aW4gaGVsdigkZmlsZSwgJHdlaWdodCwgJHN0eWxlOiBub3JtYWwpIHtcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2FOZXVlJzsgICAgIC8vIGZhbWlseSB1bmljYSAoY29tZSBjb24gTW9ub3R5cGUpXG4gICAgc3JjOlxuICAgICAgdXJsKCcjeyRteWZvbnRzLXBhdGh9LyN7JGZpbGV9L2ZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICB1cmwoJyN7JG15Zm9udHMtcGF0aH0vI3skZmlsZX0vZm9udC53b2ZmJykgIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuICAgIGZvbnQtc3R5bGU6ICAkc3R5bGU7XG4gICAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICB9XG59XG4vLyBTT0xPIGkgcGVzaS9zdGlsaSBjaGUgdXNpXG5AaW5jbHVkZSBoZWx2KCdOZXVlSGVsdmV0aWNhNDVMaWdodCcsICAgICAgICAzMDApO1xuQGluY2x1ZGUgaGVsdignTmV1ZUhlbHZldGljYTQ2TGlnaHRJdGFsaWMnLCAgMzAwLCBpdGFsaWMpO1xuQGluY2x1ZGUgaGVsdignTmV1ZUhlbHZldGljYTU1Um9tYW4nLCAgICAgICAgNDAwKTtcbkBpbmNsdWRlIGhlbHYoJ05ldWVIZWx2ZXRpY2E1Nkl0YWxpYycsICAgICAgIDQwMCwgaXRhbGljKTtcbkBpbmNsdWRlIGhlbHYoJ05ldWVIZWx2ZXRpY2E3NUJvbGQnLCAgICAgICAgIDcwMCk7XG5AaW5jbHVkZSBoZWx2KCdOZXVlSGVsdmV0aWNhNzZCb2xkSXRhbGljJywgICA3MDAsIGl0YWxpYyk7XG5AaW5jbHVkZSBoZWx2KCdOZXVlSGVsdmV0aWNhOTVCbGFjaycsICAgICAgICA5MDApO1xuQGluY2x1ZGUgaGVsdignTmV1ZUhlbHZldGljYTk2QmxhY2tJdGFsaWMnLCAgOTAwLCBpdGFsaWMpO1xuXG4vLyBQaWNjb2xhIGd1YXJkaWEgcGVyIGV2aXRhcmUgc2ludGV0aXp6YXppb25pIHN0cmFuZVxuaHRtbCB7XG4gIGZvbnQtc3ludGhlc2lzOiBub25lO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbn1cblxuIl19 */
