/*!****************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/shop/amenudo.css ***!
  \****************************************************************************************************************/



/*
Info:
Attribut data-route wird genutzt um für einzelne Seiten jeweils gesonderte CSS Angaben zu machen
als Wert wird jeweils die Bezeichnung der verwendeten Route genutzt

siehe:
D:\Xampp\htdocs\sylius1.12.7\vendor\sylius\sylius\src\Sylius\Bundle\ShopBundle\Resources\views\layout.html.twig
<div class="pusher" data-route="{{ app.request.get('_route') }}">
z.B. Taxon-Produktliste 
<div class="pusher" data-route="sylius_shop_product_index">



Specificity" erhöhen um die originalen Angaben zu überschreiben
zusätzliche Klasse "taxonindex" eingeführt um den umschließenden DIV-Container "ui.stackable.grid" eindeutig zu identifizieren
Selector "div.ui.stackable.grid.taxonindex" => DIV-Container mit allen angegebenen Klassen
Combinator ">" => child
damit vom Browser die neuen Style-Angaben und nicht die weiter oben von "semantic ui" verwendet werden, muß die "Specificity" der Selektoren hier höher sein

Angaben in app-shop-entry.css überschreiben Angaben in shop-entry.css
app-shop-entry.css wird nach shop-entry.css geladen
<link rel="stylesheet" href="/build/shop/shop-entry.css">
<link rel="stylesheet" href="/build/app/shop/app-shop-entry.css">
*/













/* start - Artikelsuche */


/* start - Artikelsuche - searchform */


/* alternative 
Suchfeld und button getrennt
button grüner Hintergrund
für button class="ui primary icon button" verwenden
*/

/* Suchfeld mit cancel icon */

form[name="searchform"] div.ui.icon.input {

width: 100%;

}




/* Suchfeld */

form[name="searchform"] div.ui.icon.input > input{

font-size: 15px !important;

}







/* cancel icon im Suchfeld */

form[name="searchform"] div.ui.icon.input > i.cancel.link.icon{

font-size: 16px !important; 
color: #808080;  
visibility: hidden;

}

form[name="searchform"] div.ui.icon.input > i.cancel.link.icon:hover {

/* teal */
color: #22b99a;

}







/* submit button (Lupe) */

form[name="searchform"] button.ui.icon.button {

border-color: transparent !important;
font-size: 18px !important;

}


form[name="searchform"] button.ui.icon.button:hover {

background: #fff !important;

}





/* submit button (Lupe) icon */

form[name="searchform"] .ui.icon.button i.icon {
  
/* wie semantic ui inverted menu Hintergrund */
color: #1E2E3E; 

}


form[name="searchform"] .ui.icon.button:hover i.icon {

/* teal */
color: #22b99a;

}


/* Suchfeld und Lupe */
/* auf gleiche Höhe wie Shop Logo */

form[name="searchform"] div.ui.fluid.input {

margin-top:4px !important; 

}

/* ende - Artikelsuche - searchform */














/* start - Warenkorb - cart widget im header */


/* ShopBundle\Resources\views\Cart\_widget.html.twig */
/* SyliusShopBundle\Cart\Widget\_button.html.twig /*




/* div shopping cart button */

div.ui.cart.button {

/* ohne Rahmen */
border-color: transparent !important;

/* Position am rechten Rand */
padding-right: 0em !important;

/* Hintergrund */
background: #fff !important;

/* icons Lupe und Cart auf gleicher Höhe */
margin-top: 6px !important;
}


/* Hintergrund hover */

div.ui.cart.button:hover {

  background: #fff !important;

}







/* Gesamtpreis */

div.ui.cart.button > span {

font-size: 15px;
/* wie semantic ui inverted menu Hintergrund */
color: #1E2E3E; 
   
}


/* hover color */

div.ui.cart.button:hover > span {

/* teal */
color: #22b99a;

}






/* shopping cart icon */

.ui.cart.button i.icon {

font-size: 18px;
/* wie semantic ui inverted menu Hintergrund */
color: #1E2E3E;

}

/* hover color */

.ui.cart.button:hover i.icon {

/* teal */
color: #22b99a;

}










/* Label mit Artikelanzahl */

/* 
Angaben siehe
ui.floating.label
hier überschreiben mit höherer Priorität
*/


div.ui.cart.button > div.ui.floating.label {

/* Position vertikal  */
top: -0.7em;
  
/* Position horizontal  */  
margin: 0em 0em 0em -2.1em !important;

     
}




/* ende - Warenkorb - cart widget im header */


















/* uuuuuuuuuu */


/* start - Warenkorb */

/* Link Artikelname */

/* uuuuuuuu + checkout complete - nicht AGB, Datenschutz, Widerruf */
/* uuuuuuuu + order show */
/* uuuuuuuu + account order show */

[data-route=sylius_shop_cart_summary] .sixteen.wide.column a:not(.item),
[data-route=sylius_shop_checkout_complete] .eleven.wide.column a:not(.item),
[data-route=sylius_shop_order_show] .eleven.wide.column a:not(.item),
[data-route=sylius_shop_account_order_show] .eleven.wide.column a:not(.item) {
	color: #1E2E3E; 
	font-size: 1.07142857rem;
	font-weight: bold;
}





/* Zusammenfassung */

/* alle .grey.row (einzelne Positionen), nicht die Überschrift "Zusammenfassung" */
/* Abstand als weiße Trennlinie */

/* uuuuuuuu + checkout address */
/* uuuuuuuu + checkout select-payment */
[data-route=sylius_shop_cart_summary] .grey.row:not(:nth-child(2)),
[data-route=sylius_shop_checkout_address] .grey.row:not(:nth-child(2)),
[data-route=sylius_shop_checkout_select_payment] .grey.row:not(:nth-child(2)) {
	margin-top: 1px;
}





/* sylius Angabe Abstand column links überschreiben */
/*
siehe
[data-route=sylius_shop_cart_summary] .five.column:last-child,
[data-route=sylius_shop_cart_save] .five.column:last-child,
[data-route=sylius_shop_cart_checkout] .five.column:last-child {
  padding-left: 50px !important;
}
*/

[data-route=sylius_shop_cart_summary] div.five.column:last-child {
  padding-left: 14px !important;
}










/* start - Artikel entfernen button (Mülleimer) */


/* siehe auch: Artikelsuche - submit button (Lupe) */


[data-route=sylius_shop_cart_summary] button.ui.icon.button.sylius-cart-remove-button {
	border-color: transparent !important;
	font-size: 18px !important;
	padding: 0.78571429em 0.5em !important;
}


[data-route=sylius_shop_cart_summary] button.ui.icon.button.sylius-cart-remove-button:hover {

	background: #fff !important;

}


/* submit button (Lupe) icon */
[data-route=sylius_shop_cart_summary] .ui.icon.button.sylius-cart-remove-button i.icon { 
	/* wie semantic ui inverted menu Hintergrund */
	color: #1E2E3E; 
}


[data-route=sylius_shop_cart_summary] .ui.icon.button.sylius-cart-remove-button:hover i.icon {
	/* teal */
	color: #22b99a;
}



/* Artikel Löschen Button (Mülleimer) nicht mobile */
/* maximal nach links */

[data-route=sylius_shop_cart_summary] .one.wide.column {
   padding-left: 0px;
}



/* ende - Artikel entfernen button (Mülleimer) */






/* start - Artikelnummer, Lieferzeit */

/* 
Artikelnummer bold
Artikelnummer 167257
Lieferzeit 10 Werktage 
*/

/* Bild, Artikelnummer, Lieferzeit, Artikel Löschen Button (Mülleimer) mobile */





/* 
Zeilenumbruch verhindern
kurz vor breakpoint comuter zu tablet
Artikelnummer 167257
Lieferzeit 10 Werktage 
*/

[data-route=sylius_shop_cart_summary] .four.wide.column {
   padding-left: 10px; 
   padding-right: 0;
}





/* 
vertikaler Abstand
Artikelnummer 167257
Lieferzeit 10 Werktage 
*/

[data-route=sylius_shop_cart_summary] .eleven.wide.column div {
   margin-bottom: 0.2em;
}

[data-route=sylius_shop_cart_summary] .four.wide.column div {
   margin-bottom: 0.2em;
}




/* ende - Artikelnummer, Lieferzeit */







/* start - Preis */



/* 
vertikaler Abstand
Preis
232,45 €
*/

[data-route=sylius_shop_cart_summary] .three.wide.computer.right.aligned.column > div {
   margin-bottom: 0.2em;
}





/* ende - Preis */








/* Button Zur Kasse */

[data-route=sylius_shop_cart_summary] .ui.huge.primary.fluid.labeled.icon.button {
   margin: 30px;
}






/* ende - Warenkorb */













/* start - checkout steps */

/* uuuuuuuu + checkout checkout complete */
/* uuuuuuuu + checkout select-payment */
/* start -  checkout address */

/* Farbe icon completed */
/* 
semantic Angabe überschreiben
siehe .ui.ordered.steps .step.completed:before
*/
[data-route=sylius_shop_checkout_address] .ui.ordered.steps .step.completed:before,
[data-route=sylius_shop_checkout_select_payment] .ui.ordered.steps .step.completed:before,
[data-route=sylius_shop_checkout_complete] .ui.ordered.steps .step.completed:before {
  /* teal */	
  color: #22b99a;
}


/* Hintergrundfarbe der Steps bei Link hover - nicht active step */
[data-route=sylius_shop_checkout_address] .ui.steps .step:not(.active),
[data-route=sylius_shop_checkout_select_payment] .ui.steps .step:not(.active),
[data-route=sylius_shop_checkout_complete] .ui.steps .step:not(.active) {
	background: #fff !important;
}



/* Schriftfarbe active step */
[data-route=sylius_shop_checkout_address] .ui.steps .active .content div,
[data-route=sylius_shop_checkout_select_payment] .ui.steps .active .content div,
[data-route=sylius_shop_checkout_complete] .ui.steps .active .content div {
   color: #000 !important;
}

/* ende -  checkout address */



/* ende - checkout steps */











/* uuuuuuuu - checkout select-payment */


/* 
checkbox radio button
Label innerhalb a Tag wie 
checkbox input type="radio" und Label
siehe auch .ui.form .field > label 
*/

[data-route=sylius_shop_checkout_select_payment] .ui.form .field a {
  display: inline-block;
  color: rgba(0, 0, 0, 0.87);
  font-size: 0.92857143em;
  font-weight: bold;
  vertical-align: middle;
}



/* segment mit den radio buttons ohne shadow */

[data-route=sylius_shop_checkout_select_payment] .ui.unmargined.segments {
   box-shadow: none !important;
}












/* uuuuuuuu - checkout complete */
/* uuuuuuuu + order show */
/* uuuuuuuu + account order show */

/*
Adressen, Artikel, Zusammenfassung, Zahlungsweise
grid style wie segment siehe .ui.segment
*/
[data-route=sylius_shop_checkout_complete] .ui.centered.grid .ui.grid,
[data-route=sylius_shop_order_show] .ui.centered.grid .ui.grid,
[data-route=sylius_shop_account_order_show] .eleven.wide.column .ui.grid {
   margin: 1rem 0em; 
   padding: 1.5em; 
   border-radius: 0.28571429rem; 
   border: 1px solid rgba(34, 36, 38, 0.15);
}



/* Zusammenfassung horizontaler divider weniger vertikaler Abstand */
/* Hilfsklasse susammenfassung wg. margin bei divider */

/**/
[data-route=sylius_shop_checkout_complete] .ui.grid.susammenfassung .divider,
[data-route=sylius_shop_order_show] .ui.grid.susammenfassung .divider,
[data-route=sylius_shop_account_order_show] .ui.grid.susammenfassung .divider {
   margin: 0;
}























/* checkout header */

/* 
zusätzlichens segment an den Anfang setzen
erforderlich für korrekte Darstellung checkout header

leeres segment verkleinern

SyliusShopBundle\Checkout\_header.html.twig 

alle Routen die mit "sylius_shop_checkout" beginnen
*/

[data-route^=sylius_shop_checkout] .ui.basic.segment:first-child {
	padding: 0;
}


















/* uuuuuuuu + order show */

/* grid innen - mit Rahmen - mehr Breite (wie in checkout complete) */

[data-route=sylius_shop_order_show] .eleven.wide.column {
	padding: 0;
}







/* account */

/*

Problem
verändertes Layout im account Bereich
insbesondere der Header (Logo, Artikelsuche, Warenkorb Widget)
Lösung
originale Angaben entfernen in
ShopBundle\Resources\private\scss\theme.scss


[data-route="sylius_shop_checkout_complete"] form > .segment,
[data-route="sylius_shop_account_order_show"] .segment {
    padding: 30px !important;
    margin-bottom: 40px !important;
}


[data-route^="sylius_shop_account_"] .ui.grid {
    margin-top: 0;
}

*/




































/* start - Taxonindex */





/* vertical menu */

/* 
siehe auch:
sidebar vertical menu (Produktindex Taxonliste)
.ui.vertical.text.menu
vertical menu   
vertikaler Abstand zur Poduktliste wenn gestapelt
nicht bei taxonindex 
*/

div.ui.grid.taxonindex > div.sixteen.wide.column > .ui.vertical.text.menu {
	margin-bottom: 0 !important;
} 




/* bei nur einer Spalte auf Mobilgeräten und Tablet (max-width: 991px) zusammenhängenden Block je Anfangsbuchstabe */
/* kein zusätzlicher vertikaler Abstand zwischen den im jeweiligen div.ui.stackable.grid je Anfangsbuchstabe übereinander gestapelten sixteen.wide.column */

@media only screen and (max-width: 991px) {
	/* Spalte links (Bereich oben bei nur einer Spalte) */
	div.ui.grid.taxonindex > div.sixteen.wide.column:first-child:not(:only-child) {padding-bottom:0px !important;}
	/* Spalten in der Mitte (mittlerer Bereich bei nur einer Spalte) */
	div.ui.grid.taxonindex > div.sixteen.wide.column:not(:only-child):not(:first-child):not(:last-child) {padding-top:0px !important; padding-bottom:0px !important;}
	/* Spalte rechts (Bereich unten bei nur einer Spalte) */
	div.ui.grid.taxonindex > div.sixteen.wide.column:last-child:not(:only-child) {padding-top:0px !important;}
}
 
 



/* horizontale Trennline zwischen den Blöcken je Anfangsbuchstabe */

div.ui.grid.taxonindex {	
	border-top: 2px solid #f5f5f5;
	margin-top: 40px;
}




/* Label mit den Anfangsbuchstaben */ 

div.ui.grid.taxonindex a.ui.floating.circular.label {	
	color: #FFF !important;
	/* wie semantic ui inverted menu (Menu oben rechts) */
	background: #1E2E3E;
}




/* Index mit den Anfangsbuchstaben der Taxons */

#index.ui.grid {
	margin-top: 10px !important;	
	margin-bottom: 50px !important;
}

/* Label als Link */
#index.ui.grid a.ui.circular.label {	
	margin: 2px 0;
}




/* ende - Taxonindex */



















































/* start - Topbar */


/* Topbar - Info oben links */

/*
original: wird ein Link verwendet
siehe: top-menu__link
neu: Div verwenden  
*/


.top-menu__div {
  display: inline-block;

 /* teal */
 /*color: #22b99a !important; */

 /* wie semantic ui inverted menu (Menu oben rechts) */
  color: rgba(255, 255, 255, 0.9); 

}


@media (max-width: 1399px) {
  .top-menu__div {
    padding: 5px 20px;
  }
}









/* Topbar - Hintergrundfarbe */


/* SyliusShopBundle\layout.html.twig */



/* 

Angaben siehe
pusher > #menu::after 
hier überschreiben mit höherer Priorität
pusher > div#menu::after

*/

/* Menu oben rechts */

.pusher > div#menu::after {

  /* Hintergrund  */	
  /* wie semantic ui inverted menu */
  background: #1E2E3E !important;  




 /* teal */
 /* background: #22b99a; */
  
  
}



/* ende - Topbar */





























/* start - menu hauptkategorien marken artikel a-z */


/* \SyliusShopBundle\Taxon\_horizontalMenu.html.twig */


/* Hauptmenü, kollabiertes Hauptmenü wenn nicht ausgeklappt, kollabiertes Hauptmenü wenn ausgeklappt */

/* 
Angaben siehe
.ui.menu a.item:hover
hier überschreiben mit höherer Priorität
*/

div.ui.large.stackable.menu a.item:hover,
div.ui.large.stackable.menu div.dropdown.item:hover,
div.ui.large.stackable.menu div.menu a.item:hover {


  background: #fff !important;
  color: #22b99a !important;
}


/* weniger horizontaler Abstand der Items */

div.ui.large.stackable.menu a.item,
div.ui.large.stackable.menu div.item {
  padding:0.85em;
}




/* kollabiertes Hauptmenü wenn ausgeklappt und kein hover */

/* 
Angaben siehe
.ui.menu .active.item
hier überschreiben mit höherer Priorität
*/

div.ui.menu div.active.item {

  background: #fff !important;
  color: #22b99a !important;

}



/* kollabiertes Hauptmenü dropdown icon */

div.ui.large.stackable.menu div.dropdown.item i.icon {
  font-size: 18px;
}


/* ende - menu hauptkategorien marken artikel a-z */











/* breadcrump */

/* SyliusShopBundle\Taxon\_breadcrumb.html.twig */
/* SyliusShopBundle\Product\Show\_breadcrumb.html.twig */


/* 
Angaben siehe
.ui.breadcrumb
hier überschreiben mit höherer Priorität
*/

/* Schriftfarbe wie Elternelement */


div.ui.breadcrumb a {
/*  color: inherit; */
color: #1E2E3E;
}














/* start - Artikelseite - Menu Beschreibung Datenblatt Bewertungen */




/* 
Angaben siehe
[data-route=sylius_shop_product_show] .ui.top.attached.large.tabular.menu
hier überschreiben mit höherer Priorität
*/

/* horizonlale Linie nicht mehr über die volle Bildschirmbreite */

[data-route=sylius_shop_product_show] div.ui.top.attached.large.tabular.menu::before {
	
  /* Start der Linie von links */
  left: 0;
  /* Länge der Linie */  
  width: 100%;

}




/* Problem vertikale Bewegung des aktiven Items nach oben bei hover über anderes Item */

[data-route=sylius_shop_product_show] div.ui.top.attached.large.tabular.menu .item {

  border-bottom: 2px solid transparent;

}




/* aktives Item */

[data-route=sylius_shop_product_show] .ui.top.attached.large.tabular.menu .item.active {

  border-color: #1E2E3E;
  border-width: 4px !important;
  
}

/* aktives Item hover */

[data-route=sylius_shop_product_show] .ui.top.attached.large.tabular.menu .item.active:hover {

  color: #1E2E3E !important;  

}




/* nicht aktives Item hover */

[data-route=sylius_shop_product_show] .ui.top.attached.large.tabular.menu .item:not(.active):hover {

  border-color: transparent;

}




/* Artikelname */
[data-route=sylius_shop_product_show] h1.ui.monster.dividing.header {
  font-size: 2em !important;
}


/* Header Artikelseite (verwandte Artikel, Dieser Artikel ist das passende Zubehör für) */
[data-route=sylius_shop_product_show] .ui.horizontal.section.divider.header {
  font-size: 2em !important;
  text-align: left;
  white-space: normal;
}







/* Artikelseite - Tabelle Preisstaffel */


/* Überschriften */
[data-route=sylius_shop_product_show] table.ui.celled.unstackable.table th {
  font-weight:normal;
}

/* 2. Spalte mit Preis zzgl. MwSt. */
[data-route=sylius_shop_product_show] table.ui.celled.unstackable.table td:nth-child(2) {
  font-size: 1.2em !important;
}








/* Artikelseite - Attributliste */
/* Attributname */
/*
[data-route=sylius_shop_product_show] .ui.celled.two.column.table td:first-child {
  font-weight: bold;
}
*/



/* ende - Artikelseite - Menu Beschreibung Datenblatt Bewertungen */








/* Tabelle - Artikelseite - Datenblatt */
/* Tabelle - checkout address - shopuser - Ihr Profil */
/* letzte tr hat einen box-shadow unten wenn gestapelt */

table.ui.celled.table tr:last-child {
  box-shadow: none !important;
}















/* start - Header Homepage (neueste Produkte) und Artikelseite (verwandte Artikel) */

/*
siehe auch
[data-route=sylius_shop_homepage] .ui.huge.header,
.ui.horizontal.section.divider.header
 */
 
 
/* Header Homepage und Artikelseite */
/* kein Icon chevron right dahinter */

[data-route=sylius_shop_homepage] .ui.huge.header::after,
.ui.horizontal.section.divider.header::after {
  content: "";
}


/* ende - Header Homepage (neueste Produkte) und Artikelseite (verwandte Artikel) */










/* uuuuuuuuuu  */

/* start - Footer  */


/* 
\ShopBundle\Resources\views\_footer.html.twig
siehe auch original Footer: 
.ui.inverted.vertical.footer.segment 
*/

/* vertical footer segment */
/* Abstand nach oben, unten */
/* horizontale Trennlinie über die volle Bildschirmbreite */ 
.ui.vertical.footer.segment {
  margin-top: 180px !important;
  margin-bottom: 40px !important;
  border-top: 2px solid #f5f5f5;
  padding: 5em 0em;
}

/* columns im grid im Segment */
/* Abstand nach oben */
.ui.vertical.footer.segment .column {
  margin-top: 20px;
}

/* items in den Listen .ui.list (normale Einträge und Links) */
/* Farbe wie Topbar, Header */
.ui.vertical.footer.segment .item {
  color: #1E2E3E;
}

/* header über den Listen .ui.list */
.ui.vertical.footer.segment .header {
  color: #1E2E3E;
}

/* span im Fließtext "Hinweise zum Shop" */
/* Schlagworte hervorheben, Format wie header */
.ui.vertical.footer.segment p > span {
  font-weight: bold;
  font-size: 1.07142857rem;
  color: #1E2E3E;
}

/* icon vor dem header über den Listen .ui.list */
.ui.vertical.footer.segment .header i.icon {
  color: #1E2E3E;
}



/* Item Link auf Mobilgeräten und Tablet */  
/* vertikaler Abstand */ 
  .ui.vertical.footer.segment a.item {  	
    padding-bottom: 0.6em;
  }









/* 
Fließtext "Hinweise zum Shop"
Zeilen sollen auf der gleichen Höhe sein
wie die Zeilen in den Listen in den anderen columns daneben
*/

/* header über dem  Fließtext "Hinweise zum Shop" */
.ui.vertical.footer.segment .column:last-child > h4 {
  margin-bottom: 0.73em;
}

/* Fließtext "Hinweise zum Shop" */
.ui.vertical.footer.segment .column:last-child > p {
  line-height: 1.57em;
}






/* Item Link auf Mobilgeräten und Tablet */  
/* größerer vertikaler Abstand */ 

@media (max-width: 991px) {
  .ui.vertical.footer.segment a.item {  	
    padding-bottom: 0.7em;
  }
}







/* ende - Footer  */



































/* start - Productindex Produktliste */







/* header (Produktindex usw.) */

/*
Angaben siehe
[data-route^=sylius_shop_product_index] .ui.monster.section.dividing.header 
hier überschreiben mit höherer Priorität
*/

[data-route^=sylius_shop_product_index] h1.ui.monster.section.dividing.header {
  max-width: 800px;
  text-align: left; 
  margin: 20px 0 5px 0;
  font-size: 2em !important;
  border: 0;
}


















/* sidebar vertical menu (Produktindex Taxonliste) */

 
 
/* vertical menu */   
/* vertikaler Abstand zur Poduktliste wenn gestapelt */
.ui.vertical.text.menu {
  width: 100% !important;
  margin-bottom: 20px !important;
}  


 
/* Item */   
.ui.vertical.text.menu a.item {
  color: inherit;
  margin: 0; 
  padding: 0.4em 0	 
}


/* letztes Item (Taxon-Ebene nach oben) */
/* wird identifiziert durch das icon */
.ui.vertical.text.menu a.item:has(i) {
  margin-top: 15px;
  font-weight: bold;
}




  
/* Item auf Mobilgeräten und Tablet */  
/* größerer vertikaler Abstand */  
@media (max-width: 991px) {
  .ui.vertical.text.menu a.item {  	
    padding: 0.55em 0;
  }
} 
  




















/* Grid Filter */

/*
siehe auch
[data-route^=sylius_shop_product_index] .twelve.wide.column .ui.segment
*/


/* Textfeld */

[data-route^=sylius_shop_product_index] .twelve.wide.computer.sixteen.wide.column .ui.grid input {
  font-size: 15px !important;
}


/* Filter Button */

[data-route^=sylius_shop_product_index] .twelve.wide.computer.sixteen.wide.column .ui.grid button.icon.button {
  padding: 0 !important; 
  width: 50px !important; 
  margin-left:8px; 
  font-size: 16px !important; 
  background: none !important;
}




/* Filter Button Icon */

[data-route^=sylius_shop_product_index] .twelve.wide.computer.sixteen.wide.column .ui.grid button.icon.button i {
  color: #1E2E3E; 
  width: 47px !important;
}

[data-route^=sylius_shop_product_index] .twelve.wide.computer.sixteen.wide.column .ui.grid button.icon.button:hover i {
  color: #22b99a; 
}






/* Cancel Button (Link) */

[data-route^=sylius_shop_product_index] .twelve.wide.computer.sixteen.wide.column .ui.grid a.icon.labeled.button {
  padding: 0 !important; 
  width: 50px !important; 
  margin-left:3px; 
  background: none !important; 
  font-size: 16px !important;
}





/* Cancel Button Icon */

[data-route^=sylius_shop_product_index] .twelve.wide.computer.sixteen.wide.column .ui.grid a.icon.labeled.button i {
  color: #1E2E3E; 
  width: 47px !important;
}


[data-route^=sylius_shop_product_index] .twelve.wide.computer.sixteen.wide.column .ui.grid a.icon.labeled.button:hover i {
  color: #22b99a;
}




















/* sorteren und anzeigen */


/* angezeigter Wert */

/*
.ui.inline.dropdown > .text
überschreiben
*/	
	
[data-route^=sylius_shop_product_index] .twelve.wide.computer.sixteen.wide.column .ui.inline.dropdown > .text {
  font-weight: normal;
}

/* text und icon hover */
[data-route^=sylius_shop_product_index] .twelve.wide.computer.sixteen.wide.column .ui.inline.dropdown:hover  {
  color: #22b99a;
}

/* dropdown items hover */
[data-route^=sylius_shop_product_index] .twelve.wide.computer.sixteen.wide.column .ui.inline.dropdown .menu a.item:hover {
  background: #fff !important;
  color: #22b99a !important;
}













/* pagination menu */

/*
Angaben siehe
.ui.pagination.menu .active.item
hier überschreiben mit höherer Priorität

aktives Item nicht mehr nach oben verschieben

Wert verwenden siehe
.ui.menu .item {
  padding: 20px;
}
*/

.ui.pagination.menu div.active.item {
  padding-top: 20px;
}











/* div.ui.three.cards mit den Artikeln (cards) */


/* 
siehe auch
#products.three.cards
ab 1200px und nur einer card 
soll die card nur nicht breiter
sein als bei 2 oder 3 cards
Angabe übernommen aus sylius 1.14
*/

/*
@media (min-width: 1200px) {
  #products.three.cards {
    grid-template-columns: repeat(3, minmax(240px, 1fr));
  }
}
*/











/* ende - Productindex Produktliste */























/* start - Productindex cards, homepage cards (Produkte) */








/*
ShopBundle\Resources\views\Product\index.html.twig
ShopBundle\Resources\views\Product\Index\_main.html.twig
ShopBundle\Resources\views\Product\_box.html.twig
ShopBundle\Resources\config\app\config.yml
ShopBundle\Resources\views\Product\Box\_content.html.twig
*/


/* 
Produkt cards in homepage latestProductsCarousel
ShopBundle\Resources\views\Homepage\index.html.twig 
*/


/* 
Produkt cards in Bewertungen
ShopBundle\Resources\views\ProductReview\create.html.twig
ShopBundle\Resources\views\ProductReview\index.html.twig
*/







/* Produkt Name */

/* 
siehe auch 
.sylius-product-name 
.ui.cards > .card > .content > .header
*/


.ui.cards > .card > a.image > .content > .header,
div.carousel-item > .card > a.image > .content > .header,
#reviews .ui.card > a.image > .content > .header {
  font-weight: bold;
  font-size: 1.28571429em;
  margin-top: -0.21425em;
  line-height: 1.28571429em;    
}



/* gesamte card als link */
/* hover Bild und Produkt Name zusammen */


/* Farbe Produkt Name */
.ui.cards > .card > a.image,
div.carousel-item > .card > a.image,
#reviews .ui.card > a.image {
  color: #1E2E3E;
}	




/* Preis ohne hover */
/* 
siehe auch 
.card .sylius-product-price 
*/


.ui.cards > .card > a.image > .content > .sylius-product-price,
div.carousel-item > .card > a.image > .content > .sylius-product-price,
#reviews .ui.card > a.image > .content > .sylius-product-price {
  color: #1E2E3E !important;  
}

.ui.cards > .card > a.image > .content > .sylius-product-original-price,
div.carousel-item > .card > a.image > .content > .sylius-product-original-price {
  color: #1E2E3E !important;  
}


/* zzgl. MwSt. ohne hover */

.ui.cards > .card > a.image > .content > span,
div.carousel-item > .card > a.image > .content > span,
#reviews .ui.card > a.image > .content > span {
  color: #1E2E3E !important;  
}

.ui.cards > .card > a.image > .content > span,
div.carousel-item > .card > a.image > .content > span {
  color: #1E2E3E !important;  
}





/* ende - Productindex cards, homepage cards (Produkte) */




/* ende - Productindex */








/* start - homepage */




/* Produkt cards in homepage, nicht latestProductsCarousel */
/* Name */
[data-route=sylius_shop_homepage] .ui.cards > .card > a.image > .content > .header {
  text-align: center;
}


/* ende - homepage */












/* Shop Logo */

a > img.ui.medium.image {
  width: 170px;
  height: auto;
  font-size: 1rem;
}








/* Shop Logo */

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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Ozs7QUFTQSxjQUFjLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvc2hvcC9hbWVudWRvLmNzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG4vKlxuSW5mbzpcbkF0dHJpYnV0IGRhdGEtcm91dGUgd2lyZCBnZW51dHp0IHVtIGbDvHIgZWluemVsbmUgU2VpdGVuIGpld2VpbHMgZ2Vzb25kZXJ0ZSBDU1MgQW5nYWJlbiB6dSBtYWNoZW5cbmFscyBXZXJ0IHdpcmQgamV3ZWlscyBkaWUgQmV6ZWljaG51bmcgZGVyIHZlcndlbmRldGVuIFJvdXRlIGdlbnV0enRcblxuc2llaGU6XG5EOlxcWGFtcHBcXGh0ZG9jc1xcc3lsaXVzMS4xMi43XFx2ZW5kb3JcXHN5bGl1c1xcc3lsaXVzXFxzcmNcXFN5bGl1c1xcQnVuZGxlXFxTaG9wQnVuZGxlXFxSZXNvdXJjZXNcXHZpZXdzXFxsYXlvdXQuaHRtbC50d2lnXG48ZGl2IGNsYXNzPVwicHVzaGVyXCIgZGF0YS1yb3V0ZT1cInt7IGFwcC5yZXF1ZXN0LmdldCgnX3JvdXRlJykgfX1cIj5cbnouQi4gVGF4b24tUHJvZHVrdGxpc3RlIFxuPGRpdiBjbGFzcz1cInB1c2hlclwiIGRhdGEtcm91dGU9XCJzeWxpdXNfc2hvcF9wcm9kdWN0X2luZGV4XCI+XG5cblxuXG5TcGVjaWZpY2l0eVwiIGVyaMO2aGVuIHVtIGRpZSBvcmlnaW5hbGVuIEFuZ2FiZW4genUgw7xiZXJzY2hyZWliZW5cbnp1c8OkdHpsaWNoZSBLbGFzc2UgXCJ0YXhvbmluZGV4XCIgZWluZ2Vmw7xocnQgdW0gZGVuIHVtc2NobGllw59lbmRlbiBESVYtQ29udGFpbmVyIFwidWkuc3RhY2thYmxlLmdyaWRcIiBlaW5kZXV0aWcgenUgaWRlbnRpZml6aWVyZW5cblNlbGVjdG9yIFwiZGl2LnVpLnN0YWNrYWJsZS5ncmlkLnRheG9uaW5kZXhcIiA9PiBESVYtQ29udGFpbmVyIG1pdCBhbGxlbiBhbmdlZ2ViZW5lbiBLbGFzc2VuXG5Db21iaW5hdG9yIFwiPlwiID0+IGNoaWxkXG5kYW1pdCB2b20gQnJvd3NlciBkaWUgbmV1ZW4gU3R5bGUtQW5nYWJlbiB1bmQgbmljaHQgZGllIHdlaXRlciBvYmVuIHZvbiBcInNlbWFudGljIHVpXCIgdmVyd2VuZGV0IHdlcmRlbiwgbXXDnyBkaWUgXCJTcGVjaWZpY2l0eVwiIGRlciBTZWxla3RvcmVuIGhpZXIgaMO2aGVyIHNlaW5cblxuQW5nYWJlbiBpbiBhcHAtc2hvcC1lbnRyeS5jc3Mgw7xiZXJzY2hyZWliZW4gQW5nYWJlbiBpbiBzaG9wLWVudHJ5LmNzc1xuYXBwLXNob3AtZW50cnkuY3NzIHdpcmQgbmFjaCBzaG9wLWVudHJ5LmNzcyBnZWxhZGVuXG48bGluayByZWw9XCJzdHlsZXNoZWV0XCIgaHJlZj1cIi9idWlsZC9zaG9wL3Nob3AtZW50cnkuY3NzXCI+XG48bGluayByZWw9XCJzdHlsZXNoZWV0XCIgaHJlZj1cIi9idWlsZC9hcHAvc2hvcC9hcHAtc2hvcC1lbnRyeS5jc3NcIj5cbiovXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8qIHN0YXJ0IC0gQXJ0aWtlbHN1Y2hlICovXG5cblxuLyogc3RhcnQgLSBBcnRpa2Vsc3VjaGUgLSBzZWFyY2hmb3JtICovXG5cblxuLyogYWx0ZXJuYXRpdmUgXG5TdWNoZmVsZCB1bmQgYnV0dG9uIGdldHJlbm50XG5idXR0b24gZ3LDvG5lciBIaW50ZXJncnVuZFxuZsO8ciBidXR0b24gY2xhc3M9XCJ1aSBwcmltYXJ5IGljb24gYnV0dG9uXCIgdmVyd2VuZGVuXG4qL1xuXG4vKiBTdWNoZmVsZCBtaXQgY2FuY2VsIGljb24gKi9cblxuZm9ybVtuYW1lPVwic2VhcmNoZm9ybVwiXSBkaXYudWkuaWNvbi5pbnB1dCB7XG5cbndpZHRoOiAxMDAlO1xuXG59XG5cblxuXG5cbi8qIFN1Y2hmZWxkICovXG5cbmZvcm1bbmFtZT1cInNlYXJjaGZvcm1cIl0gZGl2LnVpLmljb24uaW5wdXQgPiBpbnB1dHtcblxuZm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7XG5cbn1cblxuXG5cblxuXG5cblxuLyogY2FuY2VsIGljb24gaW0gU3VjaGZlbGQgKi9cblxuZm9ybVtuYW1lPVwic2VhcmNoZm9ybVwiXSBkaXYudWkuaWNvbi5pbnB1dCA+IGkuY2FuY2VsLmxpbmsuaWNvbntcblxuZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7IFxuY29sb3I6ICM4MDgwODA7ICBcbnZpc2liaWxpdHk6IGhpZGRlbjtcblxufVxuXG5mb3JtW25hbWU9XCJzZWFyY2hmb3JtXCJdIGRpdi51aS5pY29uLmlucHV0ID4gaS5jYW5jZWwubGluay5pY29uOmhvdmVyIHtcblxuLyogdGVhbCAqL1xuY29sb3I6ICMyMmI5OWE7XG5cbn1cblxuXG5cblxuXG5cblxuLyogc3VibWl0IGJ1dHRvbiAoTHVwZSkgKi9cblxuZm9ybVtuYW1lPVwic2VhcmNoZm9ybVwiXSBidXR0b24udWkuaWNvbi5idXR0b24ge1xuXG5ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5mb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcblxufVxuXG5cbmZvcm1bbmFtZT1cInNlYXJjaGZvcm1cIl0gYnV0dG9uLnVpLmljb24uYnV0dG9uOmhvdmVyIHtcblxuYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuXG59XG5cblxuXG5cblxuLyogc3VibWl0IGJ1dHRvbiAoTHVwZSkgaWNvbiAqL1xuXG5mb3JtW25hbWU9XCJzZWFyY2hmb3JtXCJdIC51aS5pY29uLmJ1dHRvbiBpLmljb24ge1xuICBcbi8qIHdpZSBzZW1hbnRpYyB1aSBpbnZlcnRlZCBtZW51IEhpbnRlcmdydW5kICovXG5jb2xvcjogIzFFMkUzRTsgXG5cbn1cblxuXG5mb3JtW25hbWU9XCJzZWFyY2hmb3JtXCJdIC51aS5pY29uLmJ1dHRvbjpob3ZlciBpLmljb24ge1xuXG4vKiB0ZWFsICovXG5jb2xvcjogIzIyYjk5YTtcblxufVxuXG5cbi8qIFN1Y2hmZWxkIHVuZCBMdXBlICovXG4vKiBhdWYgZ2xlaWNoZSBIw7ZoZSB3aWUgU2hvcCBMb2dvICovXG5cbmZvcm1bbmFtZT1cInNlYXJjaGZvcm1cIl0gZGl2LnVpLmZsdWlkLmlucHV0IHtcblxubWFyZ2luLXRvcDo0cHggIWltcG9ydGFudDsgXG5cbn1cblxuLyogZW5kZSAtIEFydGlrZWxzdWNoZSAtIHNlYXJjaGZvcm0gKi9cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4vKiBzdGFydCAtIFdhcmVua29yYiAtIGNhcnQgd2lkZ2V0IGltIGhlYWRlciAqL1xuXG5cbi8qIFNob3BCdW5kbGVcXFJlc291cmNlc1xcdmlld3NcXENhcnRcXF93aWRnZXQuaHRtbC50d2lnICovXG4vKiBTeWxpdXNTaG9wQnVuZGxlXFxDYXJ0XFxXaWRnZXRcXF9idXR0b24uaHRtbC50d2lnIC8qXG5cblxuXG5cbi8qIGRpdiBzaG9wcGluZyBjYXJ0IGJ1dHRvbiAqL1xuXG5kaXYudWkuY2FydC5idXR0b24ge1xuXG4vKiBvaG5lIFJhaG1lbiAqL1xuYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXG4vKiBQb3NpdGlvbiBhbSByZWNodGVuIFJhbmQgKi9cbnBhZGRpbmctcmlnaHQ6IDBlbSAhaW1wb3J0YW50O1xuXG4vKiBIaW50ZXJncnVuZCAqL1xuYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuXG4vKiBpY29ucyBMdXBlIHVuZCBDYXJ0IGF1ZiBnbGVpY2hlciBIw7ZoZSAqL1xubWFyZ2luLXRvcDogNnB4ICFpbXBvcnRhbnQ7XG59XG5cblxuLyogSGludGVyZ3J1bmQgaG92ZXIgKi9cblxuZGl2LnVpLmNhcnQuYnV0dG9uOmhvdmVyIHtcblxuICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XG5cbn1cblxuXG5cblxuXG5cblxuLyogR2VzYW10cHJlaXMgKi9cblxuZGl2LnVpLmNhcnQuYnV0dG9uID4gc3BhbiB7XG5cbmZvbnQtc2l6ZTogMTVweDtcbi8qIHdpZSBzZW1hbnRpYyB1aSBpbnZlcnRlZCBtZW51IEhpbnRlcmdydW5kICovXG5jb2xvcjogIzFFMkUzRTsgXG4gICBcbn1cblxuXG4vKiBob3ZlciBjb2xvciAqL1xuXG5kaXYudWkuY2FydC5idXR0b246aG92ZXIgPiBzcGFuIHtcblxuLyogdGVhbCAqL1xuY29sb3I6ICMyMmI5OWE7XG5cbn1cblxuXG5cblxuXG5cbi8qIHNob3BwaW5nIGNhcnQgaWNvbiAqL1xuXG4udWkuY2FydC5idXR0b24gaS5pY29uIHtcblxuZm9udC1zaXplOiAxOHB4O1xuLyogd2llIHNlbWFudGljIHVpIGludmVydGVkIG1lbnUgSGludGVyZ3J1bmQgKi9cbmNvbG9yOiAjMUUyRTNFO1xuXG59XG5cbi8qIGhvdmVyIGNvbG9yICovXG5cbi51aS5jYXJ0LmJ1dHRvbjpob3ZlciBpLmljb24ge1xuXG4vKiB0ZWFsICovXG5jb2xvcjogIzIyYjk5YTtcblxufVxuXG5cblxuXG5cblxuXG5cblxuXG4vKiBMYWJlbCBtaXQgQXJ0aWtlbGFuemFobCAqL1xuXG4vKiBcbkFuZ2FiZW4gc2llaGVcbnVpLmZsb2F0aW5nLmxhYmVsXG5oaWVyIMO8YmVyc2NocmVpYmVuIG1pdCBow7ZoZXJlciBQcmlvcml0w6R0XG4qL1xuXG5cbmRpdi51aS5jYXJ0LmJ1dHRvbiA+IGRpdi51aS5mbG9hdGluZy5sYWJlbCB7XG5cbi8qIFBvc2l0aW9uIHZlcnRpa2FsICAqL1xudG9wOiAtMC43ZW07XG4gIFxuLyogUG9zaXRpb24gaG9yaXpvbnRhbCAgKi8gIFxubWFyZ2luOiAwZW0gMGVtIDBlbSAtMi4xZW0gIWltcG9ydGFudDtcblxuICAgICBcbn1cblxuXG5cblxuLyogZW5kZSAtIFdhcmVua29yYiAtIGNhcnQgd2lkZ2V0IGltIGhlYWRlciAqL1xuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLyogdXV1dXV1dXV1dSAqL1xuXG5cbi8qIHN0YXJ0IC0gV2FyZW5rb3JiICovXG5cbi8qIExpbmsgQXJ0aWtlbG5hbWUgKi9cblxuLyogdXV1dXV1dXUgKyBjaGVja291dCBjb21wbGV0ZSAtIG5pY2h0IEFHQiwgRGF0ZW5zY2h1dHosIFdpZGVycnVmICovXG4vKiB1dXV1dXV1dSArIG9yZGVyIHNob3cgKi9cbi8qIHV1dXV1dXV1ICsgYWNjb3VudCBvcmRlciBzaG93ICovXG5cbltkYXRhLXJvdXRlPXN5bGl1c19zaG9wX2NhcnRfc3VtbWFyeV0gLnNpeHRlZW4ud2lkZS5jb2x1bW4gYTpub3QoLml0ZW0pLFxuW2RhdGEtcm91dGU9c3lsaXVzX3Nob3BfY2hlY2tvdXRfY29tcGxldGVdIC5lbGV2ZW4ud2lkZS5jb2x1bW4gYTpub3QoLml0ZW0pLFxuW2RhdGEtcm91dGU9c3lsaXVzX3Nob3Bfb3JkZXJfc2hvd10gLmVsZXZlbi53aWRlLmNvbHVtbiBhOm5vdCguaXRlbSksXG5bZGF0YS1yb3V0ZT1zeWxpdXNfc2hvcF9hY2NvdW50X29yZGVyX3Nob3ddIC5lbGV2ZW4ud2lkZS5jb2x1bW4gYTpub3QoLml0ZW0pIHtcblx0Y29sb3I6ICMxRTJFM0U7IFxuXHRmb250LXNpemU6IDEuMDcxNDI4NTdyZW07XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5cblxuXG5cbi8qIFp1c2FtbWVuZmFzc3VuZyAqL1xuXG4vKiBhbGxlIC5ncmV5LnJvdyAoZWluemVsbmUgUG9zaXRpb25lbiksIG5pY2h0IGRpZSDDnGJlcnNjaHJpZnQgXCJadXNhbW1lbmZhc3N1bmdcIiAqL1xuLyogQWJzdGFuZCBhbHMgd2Vpw59lIFRyZW5ubGluaWUgKi9cblxuLyogdXV1dXV1dXUgKyBjaGVja291dCBhZGRyZXNzICovXG4vKiB1dXV1dXV1dSArIGNoZWNrb3V0IHNlbGVjdC1wYXltZW50ICovXG5bZGF0YS1yb3V0ZT1zeWxpdXNfc2hvcF9jYXJ0X3N1bW1hcnldIC5ncmV5LnJvdzpub3QoOm50aC1jaGlsZCgyKSksXG5bZGF0YS1yb3V0ZT1zeWxpdXNfc2hvcF9jaGVja291dF9hZGRyZXNzXSAuZ3JleS5yb3c6bm90KDpudGgtY2hpbGQoMikpLFxuW2RhdGEtcm91dGU9c3lsaXVzX3Nob3BfY2hlY2tvdXRfc2VsZWN0X3BheW1lbnRdIC5ncmV5LnJvdzpub3QoOm50aC1jaGlsZCgyKSkge1xuXHRtYXJnaW4tdG9wOiAxcHg7XG59XG5cblxuXG5cblxuLyogc3lsaXVzIEFuZ2FiZSBBYnN0YW5kIGNvbHVtbiBsaW5rcyDDvGJlcnNjaHJlaWJlbiAqL1xuLypcbnNpZWhlXG5bZGF0YS1yb3V0ZT1zeWxpdXNfc2hvcF9jYXJ0X3N1bW1hcnldIC5maXZlLmNvbHVtbjpsYXN0LWNoaWxkLFxuW2RhdGEtcm91dGU9c3lsaXVzX3Nob3BfY2FydF9zYXZlXSAuZml2ZS5jb2x1bW46bGFzdC1jaGlsZCxcbltkYXRhLXJvdXRlPXN5bGl1c19zaG9wX2NhcnRfY2hlY2tvdXRdIC5maXZlLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1sZWZ0OiA1MHB4ICFpbXBvcnRhbnQ7XG59XG4qL1xuXG5bZGF0YS1yb3V0ZT1zeWxpdXNfc2hvcF9jYXJ0X3N1bW1hcnldIGRpdi5maXZlLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1sZWZ0OiAxNHB4ICFpbXBvcnRhbnQ7XG59XG5cblxuXG5cblxuXG5cblxuXG5cbi8qIHN0YXJ0IC0gQXJ0aWtlbCBlbnRmZXJuZW4gYnV0dG9uIChNw7xsbGVpbWVyKSAqL1xuXG5cbi8qIHNpZWhlIGF1Y2g6IEFydGlrZWxzdWNoZSAtIHN1Ym1pdCBidXR0b24gKEx1cGUpICovXG5cblxuW2RhdGEtcm91dGU9c3lsaXVzX3Nob3BfY2FydF9zdW1tYXJ5XSBidXR0b24udWkuaWNvbi5idXR0b24uc3lsaXVzLWNhcnQtcmVtb3ZlLWJ1dHRvbiB7XG5cdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0Zm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmc6IDAuNzg1NzE0MjllbSAwLjVlbSAhaW1wb3J0YW50O1xufVxuXG5cbltkYXRhLXJvdXRlPXN5bGl1c19zaG9wX2NhcnRfc3VtbWFyeV0gYnV0dG9uLnVpLmljb24uYnV0dG9uLnN5bGl1cy1jYXJ0LXJlbW92ZS1idXR0b246aG92ZXIge1xuXG5cdGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcblxufVxuXG5cbi8qIHN1Ym1pdCBidXR0b24gKEx1cGUpIGljb24gKi9cbltkYXRhLXJvdXRlPXN5bGl1c19zaG9wX2NhcnRfc3VtbWFyeV0gLnVpLmljb24uYnV0dG9uLnN5bGl1cy1jYXJ0LXJlbW92ZS1idXR0b24gaS5pY29uIHsgXG5cdC8qIHdpZSBzZW1hbnRpYyB1aSBpbnZlcnRlZCBtZW51IEhpbnRlcmdydW5kICovXG5cdGNvbG9yOiAjMUUyRTNFOyBcbn1cblxuXG5bZGF0YS1yb3V0ZT1zeWxpdXNfc2hvcF9jYXJ0X3N1bW1hcnldIC51aS5pY29uLmJ1dHRvbi5zeWxpdXMtY2FydC1yZW1vdmUtYnV0dG9uOmhvdmVyIGkuaWNvbiB7XG5cdC8qIHRlYWwgKi9cblx0Y29sb3I6ICMyMmI5OWE7XG59XG5cblxuXG4vKiBBcnRpa2VsIEzDtnNjaGVuIEJ1dHRvbiAoTcO8bGxlaW1lcikgbmljaHQgbW9iaWxlICovXG4vKiBtYXhpbWFsIG5hY2ggbGlua3MgKi9cblxuW2RhdGEtcm91dGU9c3lsaXVzX3Nob3BfY2FydF9zdW1tYXJ5XSAub25lLndpZGUuY29sdW1uIHtcbiAgIHBhZGRpbmctbGVmdDogMHB4O1xufVxuXG5cblxuLyogZW5kZSAtIEFydGlrZWwgZW50ZmVybmVuIGJ1dHRvbiAoTcO8bGxlaW1lcikgKi9cblxuXG5cblxuXG5cbi8qIHN0YXJ0IC0gQXJ0aWtlbG51bW1lciwgTGllZmVyemVpdCAqL1xuXG4vKiBcbkFydGlrZWxudW1tZXIgYm9sZFxuQXJ0aWtlbG51bW1lciAxNjcyNTdcbkxpZWZlcnplaXQgMTAgV2Vya3RhZ2UgXG4qL1xuXG4vKiBCaWxkLCBBcnRpa2VsbnVtbWVyLCBMaWVmZXJ6ZWl0LCBBcnRpa2VsIEzDtnNjaGVuIEJ1dHRvbiAoTcO8bGxlaW1lcikgbW9iaWxlICovXG5cblxuXG5cblxuLyogXG5aZWlsZW51bWJydWNoIHZlcmhpbmRlcm5cbmt1cnogdm9yIGJyZWFrcG9pbnQgY29tdXRlciB6dSB0YWJsZXRcbkFydGlrZWxudW1tZXIgMTY3MjU3XG5MaWVmZXJ6ZWl0IDEwIFdlcmt0YWdlIFxuKi9cblxuW2RhdGEtcm91dGU9c3lsaXVzX3Nob3BfY2FydF9zdW1tYXJ5XSAuZm91ci53aWRlLmNvbHVtbiB7XG4gICBwYWRkaW5nLWxlZnQ6IDEwcHg7IFxuICAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuXG5cblxuXG4vKiBcbnZlcnRpa2FsZXIgQWJzdGFuZFxuQXJ0aWtlbG51bW1lciAxNjcyNTdcbkxpZWZlcnplaXQgMTAgV2Vya3RhZ2UgXG4qL1xuXG5bZGF0YS1yb3V0ZT1zeWxpdXNfc2hvcF9jYXJ0X3N1bW1hcnldIC5lbGV2ZW4ud2lkZS5jb2x1bW4gZGl2IHtcbiAgIG1hcmdpbi1ib3R0b206IDAuMmVtO1xufVxuXG5bZGF0YS1yb3V0ZT1zeWxpdXNfc2hvcF9jYXJ0X3N1bW1hcnldIC5mb3VyLndpZGUuY29sdW1uIGRpdiB7XG4gICBtYXJnaW4tYm90dG9tOiAwLjJlbTtcbn1cblxuXG5cblxuLyogZW5kZSAtIEFydGlrZWxudW1tZXIsIExpZWZlcnplaXQgKi9cblxuXG5cblxuXG5cblxuLyogc3RhcnQgLSBQcmVpcyAqL1xuXG5cblxuLyogXG52ZXJ0aWthbGVyIEFic3RhbmRcblByZWlzXG4yMzIsNDUg4oKsXG4qL1xuXG5bZGF0YS1yb3V0ZT1zeWxpdXNfc2hvcF9jYXJ0X3N1bW1hcnldIC50aHJlZS53aWRlLmNvbXB1dGVyLnJpZ2h0LmFsaWduZWQuY29sdW1uID4gZGl2IHtcbiAgIG1hcmdpbi1ib3R0b206IDAuMmVtO1xufVxuXG5cblxuXG5cbi8qIGVuZGUgLSBQcmVpcyAqL1xuXG5cblxuXG5cblxuXG5cbi8qIEJ1dHRvbiBadXIgS2Fzc2UgKi9cblxuW2RhdGEtcm91dGU9c3lsaXVzX3Nob3BfY2FydF9zdW1tYXJ5XSAudWkuaHVnZS5wcmltYXJ5LmZsdWlkLmxhYmVsZWQuaWNvbi5idXR0b24ge1xuICAgbWFyZ2luOiAzMHB4O1xufVxuXG5cblxuXG5cblxuLyogZW5kZSAtIFdhcmVua29yYiAqL1xuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4vKiBzdGFydCAtIGNoZWNrb3V0IHN0ZXBzICovXG5cbi8qIHV1dXV1dXV1ICsgY2hlY2tvdXQgY2hlY2tvdXQgY29tcGxldGUgKi9cbi8qIHV1dXV1dXV1ICsgY2hlY2tvdXQgc2VsZWN0LXBheW1lbnQgKi9cbi8qIHN0YXJ0IC0gIGNoZWNrb3V0IGFkZHJlc3MgKi9cblxuLyogRmFyYmUgaWNvbiBjb21wbGV0ZWQgKi9cbi8qIFxuc2VtYW50aWMgQW5nYWJlIMO8YmVyc2NocmVpYmVuXG5zaWVoZSAudWkub3JkZXJlZC5zdGVwcyAuc3RlcC5jb21wbGV0ZWQ6YmVmb3JlXG4qL1xuW2RhdGEtcm91dGU9c3lsaXVzX3Nob3BfY2hlY2tvdXRfYWRkcmVzc10gLnVpLm9yZGVyZWQuc3RlcHMgLnN0ZXAuY29tcGxldGVkOmJlZm9yZSxcbltkYXRhLXJvdXRlPXN5bGl1c19zaG9wX2NoZWNrb3V0X3NlbGVjdF9wYXltZW50XSAudWkub3JkZXJlZC5zdGVwcyAuc3RlcC5jb21wbGV0ZWQ6YmVmb3JlLFxuW2RhdGEtcm91dGU9c3lsaXVzX3Nob3BfY2hlY2tvdXRfY29tcGxldGVdIC51aS5vcmRlcmVkLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZDpiZWZvcmUge1xuICAvKiB0ZWFsICovXHRcbiAgY29sb3I6ICMyMmI5OWE7XG59XG5cblxuLyogSGludGVyZ3J1bmRmYXJiZSBkZXIgU3RlcHMgYmVpIExpbmsgaG92ZXIgLSBuaWNodCBhY3RpdmUgc3RlcCAqL1xuW2RhdGEtcm91dGU9c3lsaXVzX3Nob3BfY2hlY2tvdXRfYWRkcmVzc10gLnVpLnN0ZXBzIC5zdGVwOm5vdCguYWN0aXZlKSxcbltkYXRhLXJvdXRlPXN5bGl1c19zaG9wX2NoZWNrb3V0X3NlbGVjdF9wYXltZW50XSAudWkuc3RlcHMgLnN0ZXA6bm90KC5hY3RpdmUpLFxuW2RhdGEtcm91dGU9c3lsaXVzX3Nob3BfY2hlY2tvdXRfY29tcGxldGVdIC51aS5zdGVwcyAuc3RlcDpub3QoLmFjdGl2ZSkge1xuXHRiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XG59XG5cblxuXG4vKiBTY2hyaWZ0ZmFyYmUgYWN0aXZlIHN0ZXAgKi9cbltkYXRhLXJvdXRlPXN5bGl1c19zaG9wX2NoZWNrb3V0X2FkZHJlc3NdIC51aS5zdGVwcyAuYWN0aXZlIC5jb250ZW50IGRpdixcbltkYXRhLXJvdXRlPXN5bGl1c19zaG9wX2NoZWNrb3V0X3NlbGVjdF9wYXltZW50XSAudWkuc3RlcHMgLmFjdGl2ZSAuY29udGVudCBkaXYsXG5bZGF0YS1yb3V0ZT1zeWxpdXNfc2hvcF9jaGVja291dF9jb21wbGV0ZV0gLnVpLnN0ZXBzIC5hY3RpdmUgLmNvbnRlbnQgZGl2IHtcbiAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG59XG5cbi8qIGVuZGUgLSAgY2hlY2tvdXQgYWRkcmVzcyAqL1xuXG5cblxuLyogZW5kZSAtIGNoZWNrb3V0IHN0ZXBzICovXG5cblxuXG5cblxuXG5cblxuXG5cblxuLyogdXV1dXV1dXUgLSBjaGVja291dCBzZWxlY3QtcGF5bWVudCAqL1xuXG5cbi8qIFxuY2hlY2tib3ggcmFkaW8gYnV0dG9uXG5MYWJlbCBpbm5lcmhhbGIgYSBUYWcgd2llIFxuY2hlY2tib3ggaW5wdXQgdHlwZT1cInJhZGlvXCIgdW5kIExhYmVsXG5zaWVoZSBhdWNoIC51aS5mb3JtIC5maWVsZCA+IGxhYmVsIFxuKi9cblxuW2RhdGEtcm91dGU9c3lsaXVzX3Nob3BfY2hlY2tvdXRfc2VsZWN0X3BheW1lbnRdIC51aS5mb3JtIC5maWVsZCBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5cblxuLyogc2VnbWVudCBtaXQgZGVuIHJhZGlvIGJ1dHRvbnMgb2huZSBzaGFkb3cgKi9cblxuW2RhdGEtcm91dGU9c3lsaXVzX3Nob3BfY2hlY2tvdXRfc2VsZWN0X3BheW1lbnRdIC51aS51bm1hcmdpbmVkLnNlZ21lbnRzIHtcbiAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8qIHV1dXV1dXV1IC0gY2hlY2tvdXQgY29tcGxldGUgKi9cbi8qIHV1dXV1dXV1ICsgb3JkZXIgc2hvdyAqL1xuLyogdXV1dXV1dXUgKyBhY2NvdW50IG9yZGVyIHNob3cgKi9cblxuLypcbkFkcmVzc2VuLCBBcnRpa2VsLCBadXNhbW1lbmZhc3N1bmcsIFphaGx1bmdzd2Vpc2VcbmdyaWQgc3R5bGUgd2llIHNlZ21lbnQgc2llaGUgLnVpLnNlZ21lbnRcbiovXG5bZGF0YS1yb3V0ZT1zeWxpdXNfc2hvcF9jaGVja291dF9jb21wbGV0ZV0gLnVpLmNlbnRlcmVkLmdyaWQgLnVpLmdyaWQsXG5bZGF0YS1yb3V0ZT1zeWxpdXNfc2hvcF9vcmRlcl9zaG93XSAudWkuY2VudGVyZWQuZ3JpZCAudWkuZ3JpZCxcbltkYXRhLXJvdXRlPXN5bGl1c19zaG9wX2FjY291bnRfb3JkZXJfc2hvd10gLmVsZXZlbi53aWRlLmNvbHVtbiAudWkuZ3JpZCB7XG4gICBtYXJnaW46IDFyZW0gMGVtOyBcbiAgIHBhZGRpbmc6IDEuNWVtOyBcbiAgIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07IFxuICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cblxuXG5cbi8qIFp1c2FtbWVuZmFzc3VuZyBob3Jpem9udGFsZXIgZGl2aWRlciB3ZW5pZ2VyIHZlcnRpa2FsZXIgQWJzdGFuZCAqL1xuLyogSGlsZnNrbGFzc2Ugc3VzYW1tZW5mYXNzdW5nIHdnLiBtYXJnaW4gYmVpIGRpdmlkZXIgKi9cblxuLyoqL1xuW2RhdGEtcm91dGU9c3lsaXVzX3Nob3BfY2hlY2tvdXRfY29tcGxldGVdIC51aS5ncmlkLnN1c2FtbWVuZmFzc3VuZyAuZGl2aWRlcixcbltkYXRhLXJvdXRlPXN5bGl1c19zaG9wX29yZGVyX3Nob3ddIC51aS5ncmlkLnN1c2FtbWVuZmFzc3VuZyAuZGl2aWRlcixcbltkYXRhLXJvdXRlPXN5bGl1c19zaG9wX2FjY291bnRfb3JkZXJfc2hvd10gLnVpLmdyaWQuc3VzYW1tZW5mYXNzdW5nIC5kaXZpZGVyIHtcbiAgIG1hcmdpbjogMDtcbn1cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4vKiBjaGVja291dCBoZWFkZXIgKi9cblxuLyogXG56dXPDpHR6bGljaGVucyBzZWdtZW50IGFuIGRlbiBBbmZhbmcgc2V0emVuXG5lcmZvcmRlcmxpY2ggZsO8ciBrb3JyZWt0ZSBEYXJzdGVsbHVuZyBjaGVja291dCBoZWFkZXJcblxubGVlcmVzIHNlZ21lbnQgdmVya2xlaW5lcm5cblxuU3lsaXVzU2hvcEJ1bmRsZVxcQ2hlY2tvdXRcXF9oZWFkZXIuaHRtbC50d2lnIFxuXG5hbGxlIFJvdXRlbiBkaWUgbWl0IFwic3lsaXVzX3Nob3BfY2hlY2tvdXRcIiBiZWdpbm5lblxuKi9cblxuW2RhdGEtcm91dGVePXN5bGl1c19zaG9wX2NoZWNrb3V0XSAudWkuYmFzaWMuc2VnbWVudDpmaXJzdC1jaGlsZCB7XG5cdHBhZGRpbmc6IDA7XG59XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4vKiB1dXV1dXV1dSArIG9yZGVyIHNob3cgKi9cblxuLyogZ3JpZCBpbm5lbiAtIG1pdCBSYWhtZW4gLSBtZWhyIEJyZWl0ZSAod2llIGluIGNoZWNrb3V0IGNvbXBsZXRlKSAqL1xuXG5bZGF0YS1yb3V0ZT1zeWxpdXNfc2hvcF9vcmRlcl9zaG93XSAuZWxldmVuLndpZGUuY29sdW1uIHtcblx0cGFkZGluZzogMDtcbn1cblxuXG5cblxuXG5cblxuLyogYWNjb3VudCAqL1xuXG4vKlxuXG5Qcm9ibGVtXG52ZXLDpG5kZXJ0ZXMgTGF5b3V0IGltIGFjY291bnQgQmVyZWljaFxuaW5zYmVzb25kZXJlIGRlciBIZWFkZXIgKExvZ28sIEFydGlrZWxzdWNoZSwgV2FyZW5rb3JiIFdpZGdldClcbkzDtnN1bmdcbm9yaWdpbmFsZSBBbmdhYmVuIGVudGZlcm5lbiBpblxuU2hvcEJ1bmRsZVxcUmVzb3VyY2VzXFxwcml2YXRlXFxzY3NzXFx0aGVtZS5zY3NzXG5cblxuW2RhdGEtcm91dGU9XCJzeWxpdXNfc2hvcF9jaGVja291dF9jb21wbGV0ZVwiXSBmb3JtID4gLnNlZ21lbnQsXG5bZGF0YS1yb3V0ZT1cInN5bGl1c19zaG9wX2FjY291bnRfb3JkZXJfc2hvd1wiXSAuc2VnbWVudCB7XG4gICAgcGFkZGluZzogMzBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbn1cblxuXG5bZGF0YS1yb3V0ZV49XCJzeWxpdXNfc2hvcF9hY2NvdW50X1wiXSAudWkuZ3JpZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuKi9cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8qIHN0YXJ0IC0gVGF4b25pbmRleCAqL1xuXG5cblxuXG5cbi8qIHZlcnRpY2FsIG1lbnUgKi9cblxuLyogXG5zaWVoZSBhdWNoOlxuc2lkZWJhciB2ZXJ0aWNhbCBtZW51IChQcm9kdWt0aW5kZXggVGF4b25saXN0ZSlcbi51aS52ZXJ0aWNhbC50ZXh0Lm1lbnVcbnZlcnRpY2FsIG1lbnUgICBcbnZlcnRpa2FsZXIgQWJzdGFuZCB6dXIgUG9kdWt0bGlzdGUgd2VubiBnZXN0YXBlbHRcbm5pY2h0IGJlaSB0YXhvbmluZGV4IFxuKi9cblxuZGl2LnVpLmdyaWQudGF4b25pbmRleCA+IGRpdi5zaXh0ZWVuLndpZGUuY29sdW1uID4gLnVpLnZlcnRpY2FsLnRleHQubWVudSB7XG5cdG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn0gXG5cblxuXG5cbi8qIGJlaSBudXIgZWluZXIgU3BhbHRlIGF1ZiBNb2JpbGdlcsOkdGVuIHVuZCBUYWJsZXQgKG1heC13aWR0aDogOTkxcHgpIHp1c2FtbWVuaMOkbmdlbmRlbiBCbG9jayBqZSBBbmZhbmdzYnVjaHN0YWJlICovXG4vKiBrZWluIHp1c8OkdHpsaWNoZXIgdmVydGlrYWxlciBBYnN0YW5kIHp3aXNjaGVuIGRlbiBpbSBqZXdlaWxpZ2VuIGRpdi51aS5zdGFja2FibGUuZ3JpZCBqZSBBbmZhbmdzYnVjaHN0YWJlIMO8YmVyZWluYW5kZXIgZ2VzdGFwZWx0ZW4gc2l4dGVlbi53aWRlLmNvbHVtbiAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG5cdC8qIFNwYWx0ZSBsaW5rcyAoQmVyZWljaCBvYmVuIGJlaSBudXIgZWluZXIgU3BhbHRlKSAqL1xuXHRkaXYudWkuZ3JpZC50YXhvbmluZGV4ID4gZGl2LnNpeHRlZW4ud2lkZS5jb2x1bW46Zmlyc3QtY2hpbGQ6bm90KDpvbmx5LWNoaWxkKSB7cGFkZGluZy1ib3R0b206MHB4ICFpbXBvcnRhbnQ7fVxuXHQvKiBTcGFsdGVuIGluIGRlciBNaXR0ZSAobWl0dGxlcmVyIEJlcmVpY2ggYmVpIG51ciBlaW5lciBTcGFsdGUpICovXG5cdGRpdi51aS5ncmlkLnRheG9uaW5kZXggPiBkaXYuc2l4dGVlbi53aWRlLmNvbHVtbjpub3QoOm9ubHktY2hpbGQpOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge3BhZGRpbmctdG9wOjBweCAhaW1wb3J0YW50OyBwYWRkaW5nLWJvdHRvbTowcHggIWltcG9ydGFudDt9XG5cdC8qIFNwYWx0ZSByZWNodHMgKEJlcmVpY2ggdW50ZW4gYmVpIG51ciBlaW5lciBTcGFsdGUpICovXG5cdGRpdi51aS5ncmlkLnRheG9uaW5kZXggPiBkaXYuc2l4dGVlbi53aWRlLmNvbHVtbjpsYXN0LWNoaWxkOm5vdCg6b25seS1jaGlsZCkge3BhZGRpbmctdG9wOjBweCAhaW1wb3J0YW50O31cbn1cbiBcbiBcblxuXG5cbi8qIGhvcml6b250YWxlIFRyZW5ubGluZSB6d2lzY2hlbiBkZW4gQmzDtmNrZW4gamUgQW5mYW5nc2J1Y2hzdGFiZSAqL1xuXG5kaXYudWkuZ3JpZC50YXhvbmluZGV4IHtcdFxuXHRib3JkZXItdG9wOiAycHggc29saWQgI2Y1ZjVmNTtcblx0bWFyZ2luLXRvcDogNDBweDtcbn1cblxuXG5cblxuLyogTGFiZWwgbWl0IGRlbiBBbmZhbmdzYnVjaHN0YWJlbiAqLyBcblxuZGl2LnVpLmdyaWQudGF4b25pbmRleCBhLnVpLmZsb2F0aW5nLmNpcmN1bGFyLmxhYmVsIHtcdFxuXHRjb2xvcjogI0ZGRiAhaW1wb3J0YW50O1xuXHQvKiB3aWUgc2VtYW50aWMgdWkgaW52ZXJ0ZWQgbWVudSAoTWVudSBvYmVuIHJlY2h0cykgKi9cblx0YmFja2dyb3VuZDogIzFFMkUzRTtcbn1cblxuXG5cblxuLyogSW5kZXggbWl0IGRlbiBBbmZhbmdzYnVjaHN0YWJlbiBkZXIgVGF4b25zICovXG5cbiNpbmRleC51aS5ncmlkIHtcblx0bWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50O1x0XG5cdG1hcmdpbi1ib3R0b206IDUwcHggIWltcG9ydGFudDtcbn1cblxuLyogTGFiZWwgYWxzIExpbmsgKi9cbiNpbmRleC51aS5ncmlkIGEudWkuY2lyY3VsYXIubGFiZWwge1x0XG5cdG1hcmdpbjogMnB4IDA7XG59XG5cblxuXG5cbi8qIGVuZGUgLSBUYXhvbmluZGV4ICovXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4vKiBzdGFydCAtIFRvcGJhciAqL1xuXG5cbi8qIFRvcGJhciAtIEluZm8gb2JlbiBsaW5rcyAqL1xuXG4vKlxub3JpZ2luYWw6IHdpcmQgZWluIExpbmsgdmVyd2VuZGV0XG5zaWVoZTogdG9wLW1lbnVfX2xpbmtcbm5ldTogRGl2IHZlcndlbmRlbiAgXG4qL1xuXG5cbi50b3AtbWVudV9fZGl2IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gLyogdGVhbCAqL1xuIC8qY29sb3I6ICMyMmI5OWEgIWltcG9ydGFudDsgKi9cblxuIC8qIHdpZSBzZW1hbnRpYyB1aSBpbnZlcnRlZCBtZW51IChNZW51IG9iZW4gcmVjaHRzKSAqL1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpOyBcblxufVxuXG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMzk5cHgpIHtcbiAgLnRvcC1tZW51X19kaXYge1xuICAgIHBhZGRpbmc6IDVweCAyMHB4O1xuICB9XG59XG5cblxuXG5cblxuXG5cblxuXG4vKiBUb3BiYXIgLSBIaW50ZXJncnVuZGZhcmJlICovXG5cblxuLyogU3lsaXVzU2hvcEJ1bmRsZVxcbGF5b3V0Lmh0bWwudHdpZyAqL1xuXG5cblxuLyogXG5cbkFuZ2FiZW4gc2llaGVcbnB1c2hlciA+ICNtZW51OjphZnRlciBcbmhpZXIgw7xiZXJzY2hyZWliZW4gbWl0IGjDtmhlcmVyIFByaW9yaXTDpHRcbnB1c2hlciA+IGRpdiNtZW51OjphZnRlclxuXG4qL1xuXG4vKiBNZW51IG9iZW4gcmVjaHRzICovXG5cbi5wdXNoZXIgPiBkaXYjbWVudTo6YWZ0ZXIge1xuXG4gIC8qIEhpbnRlcmdydW5kICAqL1x0XG4gIC8qIHdpZSBzZW1hbnRpYyB1aSBpbnZlcnRlZCBtZW51ICovXG4gIGJhY2tncm91bmQ6ICMxRTJFM0UgIWltcG9ydGFudDsgIFxuXG5cblxuXG4gLyogdGVhbCAqL1xuIC8qIGJhY2tncm91bmQ6ICMyMmI5OWE7ICovXG4gIFxuICBcbn1cblxuXG5cbi8qIGVuZGUgLSBUb3BiYXIgKi9cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4vKiBzdGFydCAtIG1lbnUgaGF1cHRrYXRlZ29yaWVuIG1hcmtlbiBhcnRpa2VsIGEteiAqL1xuXG5cbi8qIFxcU3lsaXVzU2hvcEJ1bmRsZVxcVGF4b25cXF9ob3Jpem9udGFsTWVudS5odG1sLnR3aWcgKi9cblxuXG4vKiBIYXVwdG1lbsO8LCBrb2xsYWJpZXJ0ZXMgSGF1cHRtZW7DvCB3ZW5uIG5pY2h0IGF1c2dla2xhcHB0LCBrb2xsYWJpZXJ0ZXMgSGF1cHRtZW7DvCB3ZW5uIGF1c2dla2xhcHB0ICovXG5cbi8qIFxuQW5nYWJlbiBzaWVoZVxuLnVpLm1lbnUgYS5pdGVtOmhvdmVyXG5oaWVyIMO8YmVyc2NocmVpYmVuIG1pdCBow7ZoZXJlciBQcmlvcml0w6R0XG4qL1xuXG5kaXYudWkubGFyZ2Uuc3RhY2thYmxlLm1lbnUgYS5pdGVtOmhvdmVyLFxuZGl2LnVpLmxhcmdlLnN0YWNrYWJsZS5tZW51IGRpdi5kcm9wZG93bi5pdGVtOmhvdmVyLFxuZGl2LnVpLmxhcmdlLnN0YWNrYWJsZS5tZW51IGRpdi5tZW51IGEuaXRlbTpob3ZlciB7XG5cblxuICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMjJiOTlhICFpbXBvcnRhbnQ7XG59XG5cblxuLyogd2VuaWdlciBob3Jpem9udGFsZXIgQWJzdGFuZCBkZXIgSXRlbXMgKi9cblxuZGl2LnVpLmxhcmdlLnN0YWNrYWJsZS5tZW51IGEuaXRlbSxcbmRpdi51aS5sYXJnZS5zdGFja2FibGUubWVudSBkaXYuaXRlbSB7XG4gIHBhZGRpbmc6MC44NWVtO1xufVxuXG5cblxuXG4vKiBrb2xsYWJpZXJ0ZXMgSGF1cHRtZW7DvCB3ZW5uIGF1c2dla2xhcHB0IHVuZCBrZWluIGhvdmVyICovXG5cbi8qIFxuQW5nYWJlbiBzaWVoZVxuLnVpLm1lbnUgLmFjdGl2ZS5pdGVtXG5oaWVyIMO8YmVyc2NocmVpYmVuIG1pdCBow7ZoZXJlciBQcmlvcml0w6R0XG4qL1xuXG5kaXYudWkubWVudSBkaXYuYWN0aXZlLml0ZW0ge1xuXG4gIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbiAgY29sb3I6ICMyMmI5OWEgIWltcG9ydGFudDtcblxufVxuXG5cblxuLyoga29sbGFiaWVydGVzIEhhdXB0bWVuw7wgZHJvcGRvd24gaWNvbiAqL1xuXG5kaXYudWkubGFyZ2Uuc3RhY2thYmxlLm1lbnUgZGl2LmRyb3Bkb3duLml0ZW0gaS5pY29uIHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG5cbi8qIGVuZGUgLSBtZW51IGhhdXB0a2F0ZWdvcmllbiBtYXJrZW4gYXJ0aWtlbCBhLXogKi9cblxuXG5cblxuXG5cblxuXG5cblxuXG4vKiBicmVhZGNydW1wICovXG5cbi8qIFN5bGl1c1Nob3BCdW5kbGVcXFRheG9uXFxfYnJlYWRjcnVtYi5odG1sLnR3aWcgKi9cbi8qIFN5bGl1c1Nob3BCdW5kbGVcXFByb2R1Y3RcXFNob3dcXF9icmVhZGNydW1iLmh0bWwudHdpZyAqL1xuXG5cbi8qIFxuQW5nYWJlbiBzaWVoZVxuLnVpLmJyZWFkY3J1bWJcbmhpZXIgw7xiZXJzY2hyZWliZW4gbWl0IGjDtmhlcmVyIFByaW9yaXTDpHRcbiovXG5cbi8qIFNjaHJpZnRmYXJiZSB3aWUgRWx0ZXJuZWxlbWVudCAqL1xuXG5cbmRpdi51aS5icmVhZGNydW1iIGEge1xuLyogIGNvbG9yOiBpbmhlcml0OyAqL1xuY29sb3I6ICMxRTJFM0U7XG59XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLyogc3RhcnQgLSBBcnRpa2Vsc2VpdGUgLSBNZW51IEJlc2NocmVpYnVuZyBEYXRlbmJsYXR0IEJld2VydHVuZ2VuICovXG5cblxuXG5cbi8qIFxuQW5nYWJlbiBzaWVoZVxuW2RhdGEtcm91dGU9c3lsaXVzX3Nob3BfcHJvZHVjdF9zaG93XSAudWkudG9wLmF0dGFjaGVkLmxhcmdlLnRhYnVsYXIubWVudVxuaGllciDDvGJlcnNjaHJlaWJlbiBtaXQgaMO2aGVyZXIgUHJpb3JpdMOkdFxuKi9cblxuLyogaG9yaXpvbmxhbGUgTGluaWUgbmljaHQgbWVociDDvGJlciBkaWUgdm9sbGUgQmlsZHNjaGlybWJyZWl0ZSAqL1xuXG5bZGF0YS1yb3V0ZT1zeWxpdXNfc2hvcF9wcm9kdWN0X3Nob3ddIGRpdi51aS50b3AuYXR0YWNoZWQubGFyZ2UudGFidWxhci5tZW51OjpiZWZvcmUge1xuXHRcbiAgLyogU3RhcnQgZGVyIExpbmllIHZvbiBsaW5rcyAqL1xuICBsZWZ0OiAwO1xuICAvKiBMw6RuZ2UgZGVyIExpbmllICovICBcbiAgd2lkdGg6IDEwMCU7XG5cbn1cblxuXG5cblxuLyogUHJvYmxlbSB2ZXJ0aWthbGUgQmV3ZWd1bmcgZGVzIGFrdGl2ZW4gSXRlbXMgbmFjaCBvYmVuIGJlaSBob3ZlciDDvGJlciBhbmRlcmVzIEl0ZW0gKi9cblxuW2RhdGEtcm91dGU9c3lsaXVzX3Nob3BfcHJvZHVjdF9zaG93XSBkaXYudWkudG9wLmF0dGFjaGVkLmxhcmdlLnRhYnVsYXIubWVudSAuaXRlbSB7XG5cbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG59XG5cblxuXG5cbi8qIGFrdGl2ZXMgSXRlbSAqL1xuXG5bZGF0YS1yb3V0ZT1zeWxpdXNfc2hvcF9wcm9kdWN0X3Nob3ddIC51aS50b3AuYXR0YWNoZWQubGFyZ2UudGFidWxhci5tZW51IC5pdGVtLmFjdGl2ZSB7XG5cbiAgYm9yZGVyLWNvbG9yOiAjMUUyRTNFO1xuICBib3JkZXItd2lkdGg6IDRweCAhaW1wb3J0YW50O1xuICBcbn1cblxuLyogYWt0aXZlcyBJdGVtIGhvdmVyICovXG5cbltkYXRhLXJvdXRlPXN5bGl1c19zaG9wX3Byb2R1Y3Rfc2hvd10gLnVpLnRvcC5hdHRhY2hlZC5sYXJnZS50YWJ1bGFyLm1lbnUgLml0ZW0uYWN0aXZlOmhvdmVyIHtcblxuICBjb2xvcjogIzFFMkUzRSAhaW1wb3J0YW50OyAgXG5cbn1cblxuXG5cblxuLyogbmljaHQgYWt0aXZlcyBJdGVtIGhvdmVyICovXG5cbltkYXRhLXJvdXRlPXN5bGl1c19zaG9wX3Byb2R1Y3Rfc2hvd10gLnVpLnRvcC5hdHRhY2hlZC5sYXJnZS50YWJ1bGFyLm1lbnUgLml0ZW06bm90KC5hY3RpdmUpOmhvdmVyIHtcblxuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXG59XG5cblxuXG5cbi8qIEFydGlrZWxuYW1lICovXG5bZGF0YS1yb3V0ZT1zeWxpdXNfc2hvcF9wcm9kdWN0X3Nob3ddIGgxLnVpLm1vbnN0ZXIuZGl2aWRpbmcuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAyZW0gIWltcG9ydGFudDtcbn1cblxuXG4vKiBIZWFkZXIgQXJ0aWtlbHNlaXRlICh2ZXJ3YW5kdGUgQXJ0aWtlbCwgRGllc2VyIEFydGlrZWwgaXN0IGRhcyBwYXNzZW5kZSBadWJlaMO2ciBmw7xyKSAqL1xuW2RhdGEtcm91dGU9c3lsaXVzX3Nob3BfcHJvZHVjdF9zaG93XSAudWkuaG9yaXpvbnRhbC5zZWN0aW9uLmRpdmlkZXIuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAyZW0gIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuXG5cblxuXG5cblxuLyogQXJ0aWtlbHNlaXRlIC0gVGFiZWxsZSBQcmVpc3N0YWZmZWwgKi9cblxuXG4vKiDDnGJlcnNjaHJpZnRlbiAqL1xuW2RhdGEtcm91dGU9c3lsaXVzX3Nob3BfcHJvZHVjdF9zaG93XSB0YWJsZS51aS5jZWxsZWQudW5zdGFja2FibGUudGFibGUgdGgge1xuICBmb250LXdlaWdodDpub3JtYWw7XG59XG5cbi8qIDIuIFNwYWx0ZSBtaXQgUHJlaXMgenpnbC4gTXdTdC4gKi9cbltkYXRhLXJvdXRlPXN5bGl1c19zaG9wX3Byb2R1Y3Rfc2hvd10gdGFibGUudWkuY2VsbGVkLnVuc3RhY2thYmxlLnRhYmxlIHRkOm50aC1jaGlsZCgyKSB7XG4gIGZvbnQtc2l6ZTogMS4yZW0gIWltcG9ydGFudDtcbn1cblxuXG5cblxuXG5cblxuXG4vKiBBcnRpa2Vsc2VpdGUgLSBBdHRyaWJ1dGxpc3RlICovXG4vKiBBdHRyaWJ1dG5hbWUgKi9cbi8qXG5bZGF0YS1yb3V0ZT1zeWxpdXNfc2hvcF9wcm9kdWN0X3Nob3ddIC51aS5jZWxsZWQudHdvLmNvbHVtbi50YWJsZSB0ZDpmaXJzdC1jaGlsZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuKi9cblxuXG5cbi8qIGVuZGUgLSBBcnRpa2Vsc2VpdGUgLSBNZW51IEJlc2NocmVpYnVuZyBEYXRlbmJsYXR0IEJld2VydHVuZ2VuICovXG5cblxuXG5cblxuXG5cblxuLyogVGFiZWxsZSAtIEFydGlrZWxzZWl0ZSAtIERhdGVuYmxhdHQgKi9cbi8qIFRhYmVsbGUgLSBjaGVja291dCBhZGRyZXNzIC0gc2hvcHVzZXIgLSBJaHIgUHJvZmlsICovXG4vKiBsZXR6dGUgdHIgaGF0IGVpbmVuIGJveC1zaGFkb3cgdW50ZW4gd2VubiBnZXN0YXBlbHQgKi9cblxudGFibGUudWkuY2VsbGVkLnRhYmxlIHRyOmxhc3QtY2hpbGQge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4vKiBzdGFydCAtIEhlYWRlciBIb21lcGFnZSAobmV1ZXN0ZSBQcm9kdWt0ZSkgdW5kIEFydGlrZWxzZWl0ZSAodmVyd2FuZHRlIEFydGlrZWwpICovXG5cbi8qXG5zaWVoZSBhdWNoXG5bZGF0YS1yb3V0ZT1zeWxpdXNfc2hvcF9ob21lcGFnZV0gLnVpLmh1Z2UuaGVhZGVyLFxuLnVpLmhvcml6b250YWwuc2VjdGlvbi5kaXZpZGVyLmhlYWRlclxuICovXG4gXG4gXG4vKiBIZWFkZXIgSG9tZXBhZ2UgdW5kIEFydGlrZWxzZWl0ZSAqL1xuLyoga2VpbiBJY29uIGNoZXZyb24gcmlnaHQgZGFoaW50ZXIgKi9cblxuW2RhdGEtcm91dGU9c3lsaXVzX3Nob3BfaG9tZXBhZ2VdIC51aS5odWdlLmhlYWRlcjo6YWZ0ZXIsXG4udWkuaG9yaXpvbnRhbC5zZWN0aW9uLmRpdmlkZXIuaGVhZGVyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cblxuLyogZW5kZSAtIEhlYWRlciBIb21lcGFnZSAobmV1ZXN0ZSBQcm9kdWt0ZSkgdW5kIEFydGlrZWxzZWl0ZSAodmVyd2FuZHRlIEFydGlrZWwpICovXG5cblxuXG5cblxuXG5cblxuXG5cbi8qIHV1dXV1dXV1dXUgICovXG5cbi8qIHN0YXJ0IC0gRm9vdGVyICAqL1xuXG5cbi8qIFxuXFxTaG9wQnVuZGxlXFxSZXNvdXJjZXNcXHZpZXdzXFxfZm9vdGVyLmh0bWwudHdpZ1xuc2llaGUgYXVjaCBvcmlnaW5hbCBGb290ZXI6IFxuLnVpLmludmVydGVkLnZlcnRpY2FsLmZvb3Rlci5zZWdtZW50IFxuKi9cblxuLyogdmVydGljYWwgZm9vdGVyIHNlZ21lbnQgKi9cbi8qIEFic3RhbmQgbmFjaCBvYmVuLCB1bnRlbiAqL1xuLyogaG9yaXpvbnRhbGUgVHJlbm5saW5pZSDDvGJlciBkaWUgdm9sbGUgQmlsZHNjaGlybWJyZWl0ZSAqLyBcbi51aS52ZXJ0aWNhbC5mb290ZXIuc2VnbWVudCB7XG4gIG1hcmdpbi10b3A6IDE4MHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNmNWY1ZjU7XG4gIHBhZGRpbmc6IDVlbSAwZW07XG59XG5cbi8qIGNvbHVtbnMgaW0gZ3JpZCBpbSBTZWdtZW50ICovXG4vKiBBYnN0YW5kIG5hY2ggb2JlbiAqL1xuLnVpLnZlcnRpY2FsLmZvb3Rlci5zZWdtZW50IC5jb2x1bW4ge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4vKiBpdGVtcyBpbiBkZW4gTGlzdGVuIC51aS5saXN0IChub3JtYWxlIEVpbnRyw6RnZSB1bmQgTGlua3MpICovXG4vKiBGYXJiZSB3aWUgVG9wYmFyLCBIZWFkZXIgKi9cbi51aS52ZXJ0aWNhbC5mb290ZXIuc2VnbWVudCAuaXRlbSB7XG4gIGNvbG9yOiAjMUUyRTNFO1xufVxuXG4vKiBoZWFkZXIgw7xiZXIgZGVuIExpc3RlbiAudWkubGlzdCAqL1xuLnVpLnZlcnRpY2FsLmZvb3Rlci5zZWdtZW50IC5oZWFkZXIge1xuICBjb2xvcjogIzFFMkUzRTtcbn1cblxuLyogc3BhbiBpbSBGbGllw590ZXh0IFwiSGlud2Vpc2UgenVtIFNob3BcIiAqL1xuLyogU2NobGFnd29ydGUgaGVydm9yaGViZW4sIEZvcm1hdCB3aWUgaGVhZGVyICovXG4udWkudmVydGljYWwuZm9vdGVyLnNlZ21lbnQgcCA+IHNwYW4ge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxLjA3MTQyODU3cmVtO1xuICBjb2xvcjogIzFFMkUzRTtcbn1cblxuLyogaWNvbiB2b3IgZGVtIGhlYWRlciDDvGJlciBkZW4gTGlzdGVuIC51aS5saXN0ICovXG4udWkudmVydGljYWwuZm9vdGVyLnNlZ21lbnQgLmhlYWRlciBpLmljb24ge1xuICBjb2xvcjogIzFFMkUzRTtcbn1cblxuXG5cbi8qIEl0ZW0gTGluayBhdWYgTW9iaWxnZXLDpHRlbiB1bmQgVGFibGV0ICovICBcbi8qIHZlcnRpa2FsZXIgQWJzdGFuZCAqLyBcbiAgLnVpLnZlcnRpY2FsLmZvb3Rlci5zZWdtZW50IGEuaXRlbSB7ICBcdFxuICAgIHBhZGRpbmctYm90dG9tOiAwLjZlbTtcbiAgfVxuXG5cblxuXG5cblxuXG5cblxuLyogXG5GbGllw590ZXh0IFwiSGlud2Vpc2UgenVtIFNob3BcIlxuWmVpbGVuIHNvbGxlbiBhdWYgZGVyIGdsZWljaGVuIEjDtmhlIHNlaW5cbndpZSBkaWUgWmVpbGVuIGluIGRlbiBMaXN0ZW4gaW4gZGVuIGFuZGVyZW4gY29sdW1ucyBkYW5lYmVuXG4qL1xuXG4vKiBoZWFkZXIgw7xiZXIgZGVtICBGbGllw590ZXh0IFwiSGlud2Vpc2UgenVtIFNob3BcIiAqL1xuLnVpLnZlcnRpY2FsLmZvb3Rlci5zZWdtZW50IC5jb2x1bW46bGFzdC1jaGlsZCA+IGg0IHtcbiAgbWFyZ2luLWJvdHRvbTogMC43M2VtO1xufVxuXG4vKiBGbGllw590ZXh0IFwiSGlud2Vpc2UgenVtIFNob3BcIiAqL1xuLnVpLnZlcnRpY2FsLmZvb3Rlci5zZWdtZW50IC5jb2x1bW46bGFzdC1jaGlsZCA+IHAge1xuICBsaW5lLWhlaWdodDogMS41N2VtO1xufVxuXG5cblxuXG5cblxuLyogSXRlbSBMaW5rIGF1ZiBNb2JpbGdlcsOkdGVuIHVuZCBUYWJsZXQgKi8gIFxuLyogZ3LDtsOfZXJlciB2ZXJ0aWthbGVyIEFic3RhbmQgKi8gXG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAudWkudmVydGljYWwuZm9vdGVyLnNlZ21lbnQgYS5pdGVtIHsgIFx0XG4gICAgcGFkZGluZy1ib3R0b206IDAuN2VtO1xuICB9XG59XG5cblxuXG5cblxuXG5cbi8qIGVuZGUgLSBGb290ZXIgICovXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLyogc3RhcnQgLSBQcm9kdWN0aW5kZXggUHJvZHVrdGxpc3RlICovXG5cblxuXG5cblxuXG5cbi8qIGhlYWRlciAoUHJvZHVrdGluZGV4IHVzdy4pICovXG5cbi8qXG5BbmdhYmVuIHNpZWhlXG5bZGF0YS1yb3V0ZV49c3lsaXVzX3Nob3BfcHJvZHVjdF9pbmRleF0gLnVpLm1vbnN0ZXIuc2VjdGlvbi5kaXZpZGluZy5oZWFkZXIgXG5oaWVyIMO8YmVyc2NocmVpYmVuIG1pdCBow7ZoZXJlciBQcmlvcml0w6R0XG4qL1xuXG5bZGF0YS1yb3V0ZV49c3lsaXVzX3Nob3BfcHJvZHVjdF9pbmRleF0gaDEudWkubW9uc3Rlci5zZWN0aW9uLmRpdmlkaW5nLmhlYWRlciB7XG4gIG1heC13aWR0aDogODAwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7IFxuICBtYXJnaW46IDIwcHggMCA1cHggMDtcbiAgZm9udC1zaXplOiAyZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwO1xufVxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLyogc2lkZWJhciB2ZXJ0aWNhbCBtZW51IChQcm9kdWt0aW5kZXggVGF4b25saXN0ZSkgKi9cblxuIFxuIFxuLyogdmVydGljYWwgbWVudSAqLyAgIFxuLyogdmVydGlrYWxlciBBYnN0YW5kIHp1ciBQb2R1a3RsaXN0ZSB3ZW5uIGdlc3RhcGVsdCAqL1xuLnVpLnZlcnRpY2FsLnRleHQubWVudSB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDtcbn0gIFxuXG5cbiBcbi8qIEl0ZW0gKi8gICBcbi51aS52ZXJ0aWNhbC50ZXh0Lm1lbnUgYS5pdGVtIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIG1hcmdpbjogMDsgXG4gIHBhZGRpbmc6IDAuNGVtIDBcdCBcbn1cblxuXG4vKiBsZXR6dGVzIEl0ZW0gKFRheG9uLUViZW5lIG5hY2ggb2JlbikgKi9cbi8qIHdpcmQgaWRlbnRpZml6aWVydCBkdXJjaCBkYXMgaWNvbiAqL1xuLnVpLnZlcnRpY2FsLnRleHQubWVudSBhLml0ZW06aGFzKGkpIHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cblxuXG5cbiAgXG4vKiBJdGVtIGF1ZiBNb2JpbGdlcsOkdGVuIHVuZCBUYWJsZXQgKi8gIFxuLyogZ3LDtsOfZXJlciB2ZXJ0aWthbGVyIEFic3RhbmQgKi8gIFxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC51aS52ZXJ0aWNhbC50ZXh0Lm1lbnUgYS5pdGVtIHsgIFx0XG4gICAgcGFkZGluZzogMC41NWVtIDA7XG4gIH1cbn0gXG4gIFxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8qIEdyaWQgRmlsdGVyICovXG5cbi8qXG5zaWVoZSBhdWNoXG5bZGF0YS1yb3V0ZV49c3lsaXVzX3Nob3BfcHJvZHVjdF9pbmRleF0gLnR3ZWx2ZS53aWRlLmNvbHVtbiAudWkuc2VnbWVudFxuKi9cblxuXG4vKiBUZXh0ZmVsZCAqL1xuXG5bZGF0YS1yb3V0ZV49c3lsaXVzX3Nob3BfcHJvZHVjdF9pbmRleF0gLnR3ZWx2ZS53aWRlLmNvbXB1dGVyLnNpeHRlZW4ud2lkZS5jb2x1bW4gLnVpLmdyaWQgaW5wdXQge1xuICBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDtcbn1cblxuXG4vKiBGaWx0ZXIgQnV0dG9uICovXG5cbltkYXRhLXJvdXRlXj1zeWxpdXNfc2hvcF9wcm9kdWN0X2luZGV4XSAudHdlbHZlLndpZGUuY29tcHV0ZXIuc2l4dGVlbi53aWRlLmNvbHVtbiAudWkuZ3JpZCBidXR0b24uaWNvbi5idXR0b24ge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IFxuICB3aWR0aDogNTBweCAhaW1wb3J0YW50OyBcbiAgbWFyZ2luLWxlZnQ6OHB4OyBcbiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7IFxuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG59XG5cblxuXG5cbi8qIEZpbHRlciBCdXR0b24gSWNvbiAqL1xuXG5bZGF0YS1yb3V0ZV49c3lsaXVzX3Nob3BfcHJvZHVjdF9pbmRleF0gLnR3ZWx2ZS53aWRlLmNvbXB1dGVyLnNpeHRlZW4ud2lkZS5jb2x1bW4gLnVpLmdyaWQgYnV0dG9uLmljb24uYnV0dG9uIGkge1xuICBjb2xvcjogIzFFMkUzRTsgXG4gIHdpZHRoOiA0N3B4ICFpbXBvcnRhbnQ7XG59XG5cbltkYXRhLXJvdXRlXj1zeWxpdXNfc2hvcF9wcm9kdWN0X2luZGV4XSAudHdlbHZlLndpZGUuY29tcHV0ZXIuc2l4dGVlbi53aWRlLmNvbHVtbiAudWkuZ3JpZCBidXR0b24uaWNvbi5idXR0b246aG92ZXIgaSB7XG4gIGNvbG9yOiAjMjJiOTlhOyBcbn1cblxuXG5cblxuXG5cbi8qIENhbmNlbCBCdXR0b24gKExpbmspICovXG5cbltkYXRhLXJvdXRlXj1zeWxpdXNfc2hvcF9wcm9kdWN0X2luZGV4XSAudHdlbHZlLndpZGUuY29tcHV0ZXIuc2l4dGVlbi53aWRlLmNvbHVtbiAudWkuZ3JpZCBhLmljb24ubGFiZWxlZC5idXR0b24ge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IFxuICB3aWR0aDogNTBweCAhaW1wb3J0YW50OyBcbiAgbWFyZ2luLWxlZnQ6M3B4OyBcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50OyBcbiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG59XG5cblxuXG5cblxuLyogQ2FuY2VsIEJ1dHRvbiBJY29uICovXG5cbltkYXRhLXJvdXRlXj1zeWxpdXNfc2hvcF9wcm9kdWN0X2luZGV4XSAudHdlbHZlLndpZGUuY29tcHV0ZXIuc2l4dGVlbi53aWRlLmNvbHVtbiAudWkuZ3JpZCBhLmljb24ubGFiZWxlZC5idXR0b24gaSB7XG4gIGNvbG9yOiAjMUUyRTNFOyBcbiAgd2lkdGg6IDQ3cHggIWltcG9ydGFudDtcbn1cblxuXG5bZGF0YS1yb3V0ZV49c3lsaXVzX3Nob3BfcHJvZHVjdF9pbmRleF0gLnR3ZWx2ZS53aWRlLmNvbXB1dGVyLnNpeHRlZW4ud2lkZS5jb2x1bW4gLnVpLmdyaWQgYS5pY29uLmxhYmVsZWQuYnV0dG9uOmhvdmVyIGkge1xuICBjb2xvcjogIzIyYjk5YTtcbn1cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4vKiBzb3J0ZXJlbiB1bmQgYW56ZWlnZW4gKi9cblxuXG4vKiBhbmdlemVpZ3RlciBXZXJ0ICovXG5cbi8qXG4udWkuaW5saW5lLmRyb3Bkb3duID4gLnRleHRcbsO8YmVyc2NocmVpYmVuXG4qL1x0XG5cdFxuW2RhdGEtcm91dGVePXN5bGl1c19zaG9wX3Byb2R1Y3RfaW5kZXhdIC50d2VsdmUud2lkZS5jb21wdXRlci5zaXh0ZWVuLndpZGUuY29sdW1uIC51aS5pbmxpbmUuZHJvcGRvd24gPiAudGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi8qIHRleHQgdW5kIGljb24gaG92ZXIgKi9cbltkYXRhLXJvdXRlXj1zeWxpdXNfc2hvcF9wcm9kdWN0X2luZGV4XSAudHdlbHZlLndpZGUuY29tcHV0ZXIuc2l4dGVlbi53aWRlLmNvbHVtbiAudWkuaW5saW5lLmRyb3Bkb3duOmhvdmVyICB7XG4gIGNvbG9yOiAjMjJiOTlhO1xufVxuXG4vKiBkcm9wZG93biBpdGVtcyBob3ZlciAqL1xuW2RhdGEtcm91dGVePXN5bGl1c19zaG9wX3Byb2R1Y3RfaW5kZXhdIC50d2VsdmUud2lkZS5jb21wdXRlci5zaXh0ZWVuLndpZGUuY29sdW1uIC51aS5pbmxpbmUuZHJvcGRvd24gLm1lbnUgYS5pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuICBjb2xvcjogIzIyYjk5YSAhaW1wb3J0YW50O1xufVxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4vKiBwYWdpbmF0aW9uIG1lbnUgKi9cblxuLypcbkFuZ2FiZW4gc2llaGVcbi51aS5wYWdpbmF0aW9uLm1lbnUgLmFjdGl2ZS5pdGVtXG5oaWVyIMO8YmVyc2NocmVpYmVuIG1pdCBow7ZoZXJlciBQcmlvcml0w6R0XG5cbmFrdGl2ZXMgSXRlbSBuaWNodCBtZWhyIG5hY2ggb2JlbiB2ZXJzY2hpZWJlblxuXG5XZXJ0IHZlcndlbmRlbiBzaWVoZVxuLnVpLm1lbnUgLml0ZW0ge1xuICBwYWRkaW5nOiAyMHB4O1xufVxuKi9cblxuLnVpLnBhZ2luYXRpb24ubWVudSBkaXYuYWN0aXZlLml0ZW0ge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbn1cblxuXG5cblxuXG5cblxuXG5cblxuXG4vKiBkaXYudWkudGhyZWUuY2FyZHMgbWl0IGRlbiBBcnRpa2VsbiAoY2FyZHMpICovXG5cblxuLyogXG5zaWVoZSBhdWNoXG4jcHJvZHVjdHMudGhyZWUuY2FyZHNcbmFiIDEyMDBweCB1bmQgbnVyIGVpbmVyIGNhcmQgXG5zb2xsIGRpZSBjYXJkIG51ciBuaWNodCBicmVpdGVyXG5zZWluIGFscyBiZWkgMiBvZGVyIDMgY2FyZHNcbkFuZ2FiZSDDvGJlcm5vbW1lbiBhdXMgc3lsaXVzIDEuMTRcbiovXG5cbi8qXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICNwcm9kdWN0cy50aHJlZS5jYXJkcyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDI0MHB4LCAxZnIpKTtcbiAgfVxufVxuKi9cblxuXG5cblxuXG5cblxuXG5cblxuXG4vKiBlbmRlIC0gUHJvZHVjdGluZGV4IFByb2R1a3RsaXN0ZSAqL1xuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8qIHN0YXJ0IC0gUHJvZHVjdGluZGV4IGNhcmRzLCBob21lcGFnZSBjYXJkcyAoUHJvZHVrdGUpICovXG5cblxuXG5cblxuXG5cblxuLypcblNob3BCdW5kbGVcXFJlc291cmNlc1xcdmlld3NcXFByb2R1Y3RcXGluZGV4Lmh0bWwudHdpZ1xuU2hvcEJ1bmRsZVxcUmVzb3VyY2VzXFx2aWV3c1xcUHJvZHVjdFxcSW5kZXhcXF9tYWluLmh0bWwudHdpZ1xuU2hvcEJ1bmRsZVxcUmVzb3VyY2VzXFx2aWV3c1xcUHJvZHVjdFxcX2JveC5odG1sLnR3aWdcblNob3BCdW5kbGVcXFJlc291cmNlc1xcY29uZmlnXFxhcHBcXGNvbmZpZy55bWxcblNob3BCdW5kbGVcXFJlc291cmNlc1xcdmlld3NcXFByb2R1Y3RcXEJveFxcX2NvbnRlbnQuaHRtbC50d2lnXG4qL1xuXG5cbi8qIFxuUHJvZHVrdCBjYXJkcyBpbiBob21lcGFnZSBsYXRlc3RQcm9kdWN0c0Nhcm91c2VsXG5TaG9wQnVuZGxlXFxSZXNvdXJjZXNcXHZpZXdzXFxIb21lcGFnZVxcaW5kZXguaHRtbC50d2lnIFxuKi9cblxuXG4vKiBcblByb2R1a3QgY2FyZHMgaW4gQmV3ZXJ0dW5nZW5cblNob3BCdW5kbGVcXFJlc291cmNlc1xcdmlld3NcXFByb2R1Y3RSZXZpZXdcXGNyZWF0ZS5odG1sLnR3aWdcblNob3BCdW5kbGVcXFJlc291cmNlc1xcdmlld3NcXFByb2R1Y3RSZXZpZXdcXGluZGV4Lmh0bWwudHdpZ1xuKi9cblxuXG5cblxuXG5cblxuLyogUHJvZHVrdCBOYW1lICovXG5cbi8qIFxuc2llaGUgYXVjaCBcbi5zeWxpdXMtcHJvZHVjdC1uYW1lIFxuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCA+IC5oZWFkZXJcbiovXG5cblxuLnVpLmNhcmRzID4gLmNhcmQgPiBhLmltYWdlID4gLmNvbnRlbnQgPiAuaGVhZGVyLFxuZGl2LmNhcm91c2VsLWl0ZW0gPiAuY2FyZCA+IGEuaW1hZ2UgPiAuY29udGVudCA+IC5oZWFkZXIsXG4jcmV2aWV3cyAudWkuY2FyZCA+IGEuaW1hZ2UgPiAuY29udGVudCA+IC5oZWFkZXIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5ZW07XG4gIG1hcmdpbi10b3A6IC0wLjIxNDI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI4NTcxNDI5ZW07ICAgIFxufVxuXG5cblxuLyogZ2VzYW10ZSBjYXJkIGFscyBsaW5rICovXG4vKiBob3ZlciBCaWxkIHVuZCBQcm9kdWt0IE5hbWUgenVzYW1tZW4gKi9cblxuXG4vKiBGYXJiZSBQcm9kdWt0IE5hbWUgKi9cbi51aS5jYXJkcyA+IC5jYXJkID4gYS5pbWFnZSxcbmRpdi5jYXJvdXNlbC1pdGVtID4gLmNhcmQgPiBhLmltYWdlLFxuI3Jldmlld3MgLnVpLmNhcmQgPiBhLmltYWdlIHtcbiAgY29sb3I6ICMxRTJFM0U7XG59XHRcblxuXG5cblxuLyogUHJlaXMgb2huZSBob3ZlciAqL1xuLyogXG5zaWVoZSBhdWNoIFxuLmNhcmQgLnN5bGl1cy1wcm9kdWN0LXByaWNlIFxuKi9cblxuXG4udWkuY2FyZHMgPiAuY2FyZCA+IGEuaW1hZ2UgPiAuY29udGVudCA+IC5zeWxpdXMtcHJvZHVjdC1wcmljZSxcbmRpdi5jYXJvdXNlbC1pdGVtID4gLmNhcmQgPiBhLmltYWdlID4gLmNvbnRlbnQgPiAuc3lsaXVzLXByb2R1Y3QtcHJpY2UsXG4jcmV2aWV3cyAudWkuY2FyZCA+IGEuaW1hZ2UgPiAuY29udGVudCA+IC5zeWxpdXMtcHJvZHVjdC1wcmljZSB7XG4gIGNvbG9yOiAjMUUyRTNFICFpbXBvcnRhbnQ7ICBcbn1cblxuLnVpLmNhcmRzID4gLmNhcmQgPiBhLmltYWdlID4gLmNvbnRlbnQgPiAuc3lsaXVzLXByb2R1Y3Qtb3JpZ2luYWwtcHJpY2UsXG5kaXYuY2Fyb3VzZWwtaXRlbSA+IC5jYXJkID4gYS5pbWFnZSA+IC5jb250ZW50ID4gLnN5bGl1cy1wcm9kdWN0LW9yaWdpbmFsLXByaWNlIHtcbiAgY29sb3I6ICMxRTJFM0UgIWltcG9ydGFudDsgIFxufVxuXG5cbi8qIHp6Z2wuIE13U3QuIG9obmUgaG92ZXIgKi9cblxuLnVpLmNhcmRzID4gLmNhcmQgPiBhLmltYWdlID4gLmNvbnRlbnQgPiBzcGFuLFxuZGl2LmNhcm91c2VsLWl0ZW0gPiAuY2FyZCA+IGEuaW1hZ2UgPiAuY29udGVudCA+IHNwYW4sXG4jcmV2aWV3cyAudWkuY2FyZCA+IGEuaW1hZ2UgPiAuY29udGVudCA+IHNwYW4ge1xuICBjb2xvcjogIzFFMkUzRSAhaW1wb3J0YW50OyAgXG59XG5cbi51aS5jYXJkcyA+IC5jYXJkID4gYS5pbWFnZSA+IC5jb250ZW50ID4gc3BhbixcbmRpdi5jYXJvdXNlbC1pdGVtID4gLmNhcmQgPiBhLmltYWdlID4gLmNvbnRlbnQgPiBzcGFuIHtcbiAgY29sb3I6ICMxRTJFM0UgIWltcG9ydGFudDsgIFxufVxuXG5cblxuXG5cbi8qIGVuZGUgLSBQcm9kdWN0aW5kZXggY2FyZHMsIGhvbWVwYWdlIGNhcmRzIChQcm9kdWt0ZSkgKi9cblxuXG5cblxuLyogZW5kZSAtIFByb2R1Y3RpbmRleCAqL1xuXG5cblxuXG5cblxuXG5cbi8qIHN0YXJ0IC0gaG9tZXBhZ2UgKi9cblxuXG5cblxuLyogUHJvZHVrdCBjYXJkcyBpbiBob21lcGFnZSwgbmljaHQgbGF0ZXN0UHJvZHVjdHNDYXJvdXNlbCAqL1xuLyogTmFtZSAqL1xuW2RhdGEtcm91dGU9c3lsaXVzX3Nob3BfaG9tZXBhZ2VdIC51aS5jYXJkcyA+IC5jYXJkID4gYS5pbWFnZSA+IC5jb250ZW50ID4gLmhlYWRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuXG4vKiBlbmRlIC0gaG9tZXBhZ2UgKi9cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8qIFNob3AgTG9nbyAqL1xuXG5hID4gaW1nLnVpLm1lZGl1bS5pbWFnZSB7XG4gIHdpZHRoOiAxNzBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBmb250LXNpemU6IDFyZW07XG59XG5cblxuXG5cblxuXG5cblxuLyogU2hvcCBMb2dvICovIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/