/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#small-add-button {
  z-index: 1;
}
#small-add-button.link:before {
  content: '+ ';
}
#small-add-button__dropdown {
  padding: 0.25rem 0.5rem 0.25rem 0.5rem;
}
#small-add-button__dropdown input {
  margin: 0.25rem;
}
#small-add-button__dropdown i {
  color: transparent;
}
#small-add-button__dropdown.active > i {
  display: none;
}
#small-add-button__dropdown.active #small-add-button i,
#small-add-button__dropdown.active #small-add-button {
  color: transparent !important;
}
#small-add-button__name-collector > div {
  display: flex;
  flex-direction: column;
}
#small-add-button__name-collector > div .button {
  float: right;
  margin-top: 5px;
}
#small-add-button__name-collector.valid-name #small-add-button__create-with-name-button {
  opacity: 1;
  pointer-events: all;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}
#small-add-button__name-collector.empty-name #small-add-button__create-with-name-button {
  opacity: 0;
  pointer-events: none;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#add-dropdown__dropdown.disabled {
  pointer-events: auto !important;
}
#add-dropdown__dropdown.disabled:hover {
  background-color: #0F9BDC;
}

#giant-add-button {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
#giant-add-button .ui.header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 21px;
  line-height: 29px;
}
#giant-add-button .ui.header .sub.header {
  font-size: 13px;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#discovered-related-entities {
  height: 100%;
  background: #2E5275;
  color: white;
  position: relative;
}
#discovered-related-entities #discovered-related-entities__header * {
  color: white !important;
}
#discovered-related-entities #discovered-related-entities__content {
  height: 100%;
  overflow-y: auto;
}
#discovered-related-entities #local-collection #local-collection__header {
  display: none;
}
#discovered-related-entities #collection.table tbody tr > td:first-child {
  position: unset !important;
  left: 0;
}
#discovered-related-entities #collection #collection.table tbody tr > td #cell-content {
  height: 6rem;
}
#discovered-related-entities #collection #collection__property-filters tr th {
  border-color: #2E5275 !important;
}
#discovered-related-entities #collection #collection__items {
  background: white;
  color: #0f2d4c;
}
#discovered-related-entities #collection .header-content {
  padding-left: 1.5rem;
}
#discovered-related-entities #discovered-related-entities__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 0.5rem;
  padding-bottom: 0.25rem;
  padding-right: 1rem;
  padding-left: 1rem;
}
#discovered-related-entities #discovered-related-entities__content {
  max-height: 90vh !important;
  height: 90vh !important;
  overflow-y: scroll;
}
#discovered-related-entities .scroll-control {
  height: 85vh !important;
  max-height: 85vh !important;
}
#discovered-related-entities #route-to {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 600;
  padding: 0.5rem;
  font-size: 12pt;
}
#discovered-related-entities .json-value-cell {
  position: relative;
  padding: 0 0.5rem 0 0.5rem;
  white-space: nowrap;
}
#discovered-related-entities .json-value-cell.null,
#discovered-related-entities .json-value-cell.undefined,
#discovered-related-entities .json-value-cell.empty.string {
  font-style: italic;
  font-family: 'Courier New', Courier, monospace;
}
#discovered-related-entities .json-value-cell:after {
  position: absolute;
  font-size: 10px;
  font-style: normal;
  font-family: 'Courier New', Courier, monospace;
  color: #767676;
  left: 0px;
  bottom: -10px;
  padding: 0 0.5rem 0 0.5rem;
}
#discovered-related-entities .json-value-cell.string:after {
  content: 'string';
}
#discovered-related-entities .json-value-cell.boolean:after {
  content: 'boolean';
}
#discovered-related-entities .json-value-cell.number:after {
  content: 'number';
}
#discovered-related-entities .json-value-cell.json:after {
  content: 'JSON';
}
#discovered-related-entities #sorted-toggle {
  display: flex;
}
#discovered-related-entities #sorted-toggle #key-label {
  font-size: 14pt;
  font-weight: 600;
  padding: 0.5em 0 0 1em;
}
#discovered-related-entities #sorted-toggle i {
  padding: 0 2em 0 0.5em;
}
#discovered-related-entities #sorted-toggle .checkbox {
  padding: 0.5em 0 0.5em 0;
  margin-bottom: 1em;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#box-of-stats {
  background-color: #F4F8FC;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 1rem;
  width: 100%;
  margin-top: 1em;
  border: 1px solid #F4F8FC !important;
  align-content: stretch;
}
#box-of-stats.clickable {
  -webkit-transition: border-color 500ms linear;
  transition: border-color 500ms linear;
  cursor: pointer;
}
#box-of-stats.clickable:hover {
  border: 1px solid #0F9BDC !important;
}
#box-of-stats #box-of-stats__header {
  flex: 0 0;
}
#box-of-stats #box-of-stats__body {
  flex: 1 0;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#custom-read-schema-sample {
  height: 100%;
  background: #2E5275;
  color: white;
  position: relative;
}
#custom-read-schema-sample #custom-read-schema-sample__header * {
  color: white !important;
}
#custom-read-schema-sample #custom-read-schema-sample__content {
  height: 100%;
  overflow-y: auto;
}
#custom-read-schema-sample #local-collection #local-collection__header {
  display: none;
}
#custom-read-schema-sample #collection.table tbody tr > td:first-child {
  position: unset !important;
  left: 0;
}
#custom-read-schema-sample #collection #collection.table tbody tr > td #cell-content {
  height: 6rem;
}
#custom-read-schema-sample #collection #collection__property-filters tr th {
  border-color: #2E5275 !important;
}
#custom-read-schema-sample #collection #collection__items {
  background: white;
  color: #0f2d4c;
}
#custom-read-schema-sample #collection .header-content {
  padding-left: 1.5rem;
}
#custom-read-schema-sample #custom-read-schema-sample__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 0.5rem;
  padding-bottom: 0.25rem;
  padding-right: 1rem;
  padding-left: 1rem;
}
#custom-read-schema-sample #custom-read-schema-sample__content {
  max-height: 90vh !important;
  height: 90vh !important;
  overflow-y: scroll;
}
#custom-read-schema-sample .scroll-control {
  height: 85vh !important;
  max-height: 85vh !important;
}
#custom-read-schema-sample #route-to {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 600;
  padding: 0.5rem;
  font-size: 12pt;
}
#custom-read-schema-sample .json-value-cell {
  position: relative;
  padding: 0 0.5rem 0 0.5rem;
  white-space: nowrap;
}
#custom-read-schema-sample .json-value-cell.null,
#custom-read-schema-sample .json-value-cell.undefined,
#custom-read-schema-sample .json-value-cell.empty.string {
  font-style: italic;
  font-family: 'Courier New', Courier, monospace;
}
#custom-read-schema-sample .json-value-cell:after {
  position: absolute;
  font-size: 10px;
  font-style: normal;
  font-family: 'Courier New', Courier, monospace;
  color: #767676;
  left: 0px;
  bottom: -10px;
  padding: 0 0.5rem 0 0.5rem;
}
#custom-read-schema-sample .json-value-cell.string:after {
  content: 'string';
}
#custom-read-schema-sample .json-value-cell.boolean:after {
  content: 'boolean';
}
#custom-read-schema-sample .json-value-cell.number:after {
  content: 'number';
}
#custom-read-schema-sample .json-value-cell.json:after {
  content: 'JSON';
}
#custom-read-schema-sample #sorted-toggle {
  display: flex;
}
#custom-read-schema-sample #sorted-toggle #key-label {
  font-size: 14pt;
  font-weight: 600;
  padding: 0.5em 0 0 1em;
}
#custom-read-schema-sample #sorted-toggle i {
  padding: 0 2em 0 0.5em;
}
#custom-read-schema-sample #sorted-toggle .checkbox {
  padding: 0.5em 0 0.5em 0;
  margin-bottom: 1em;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#custom-read-schema {
  display: flex;
  flex-direction: column;
}
#custom-read-schema #custom-read-schema__editor {
  margin-top: 1em;
  margin-bottom: 1em;
  width: 100%;
  border-radius: 4px;
}
#custom-read-schema > .input {
  border: 1px solid rgba(34, 36, 38, 0.1);
  margin-top: 1em;
  margin-bottom: 1em;
}
#custom-read-schema > .table {
  border: none;
}
.header-cell {
  cursor: pointer !important;
}
.npm__react-simple-code-editor__textarea {
  max-height: unset !important;
  min-height: 10rem !important;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
.collapsible-box {
  border-radius: 8px;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(15, 45, 76, 0.13);
  display: flex;
  flex-direction: column;
}
.collapsible-box:focus-within {
  z-index: 4;
}
.collapsible-box.disable-collapse > .collapsible-box__header {
  cursor: default;
}
.collapsible-box.disable-collapse > .collapsible-box__header > .caret {
  opacity: 0 !important;
}
.collapsible-box.active > .collapsible-box__header {
  -webkit-transition: border-bottom-right-radius 0ms ease-out, border-bottom-left-radius 0ms ease-out;
  transition: border-bottom-right-radius 0ms ease-out, border-bottom-left-radius 0ms ease-out;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.collapsible-box > .collapsible-box__header {
  background-color: #2E5275;
  color: #FFFFFF;
  border-radius: 8px;
  -webkit-transition: border-bottom-right-radius 1000ms ease-in, border-bottom-left-radius 1000ms ease-in;
  transition: border-bottom-right-radius 1000ms ease-in, border-bottom-left-radius 1000ms ease-in;
  cursor: pointer;
  display: grid;
  grid-template-rows: auto;
  grid-template-columns: 30px auto 40px;
  justify-items: center;
  align-items: center;
}
.has-footer.collapsible-box > .collapsible-box__header {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.collapsible-box > .collapsible-box__header .caret {
  grid-column: 1 2;
  grid-row: 1 2;
  margin: 5px 10px 5px 10px;
}
.collapsible-box > .collapsible-box__header .collapsible-box__header-content {
  grid-column: 2 3;
  grid-row: 1 2;
  padding: 5px;
  color: #FFFFFF;
  display: flex;
  flex-direction: row;
  font-size: 12px;
  font-weight: bold;
  align-items: center;
  line-height: 2em;
  justify-self: flex-start;
}
.collapsible-box > .collapsible-box__header .collapsible-box__delete-icon {
  grid-column: 3 4;
  grid-row: 1 2;
  margin-top: -4px;
  margin-right: 5px;
  justify-self: flex-end;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#matching-settings {
  display: flex;
  flex-direction: row-reverse;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#match-steps {
  width: 100%;
  padding-left: 1rem;
  padding-right: 1rem;
}
#match-steps #giant-add-button {
  padding-top: 5rem;
}
#match-steps #match-steps__sortable-step {
  position: relative;
  padding-left: 2rem;
}
#match-steps #match-steps__sortable-step:hover #match-steps__drag-handle {
  opacity: 1;
}
#match-steps #match-steps__sortable-step:hover #match-rule__weight-lock,
#match-steps #match-steps__sortable-step:hover .caret,
#match-steps #match-steps__sortable-step:hover .button,
#match-steps #match-steps__sortable-step:hover i,
#match-steps #match-steps__sortable-step:hover svg {
  box-shadow: unset;
  background: unset;
  opacity: 1;
}
#match-steps #match-steps__sortable-step .button:focus {
  box-shadow: unset !important;
  background: transparent !important;
}
#match-steps #match-steps__sortable-step #match-rule__weight-lock,
#match-steps #match-steps__sortable-step .caret,
#match-steps #match-steps__sortable-step svg {
  opacity: 0;
}
#match-steps #match-steps__sortable-step #match-steps__drag-handle {
  opacity: 0;
  position: absolute;
  left: 0rem;
  top: 1.5rem;
  color: #767676;
  font-size: 16pt;
  cursor: -webkit-grab;
  cursor: grab;
}
#match-steps #match-steps__header {
  z-index: 1;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  padding: 0.5rem;
  display: flex;
  justify-content: flex-end;
  box-shadow: inset 0px 27px 9px -1px white;
  align-items: center;
}
#match-steps #match-steps__content {
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  flex-wrap: wrap;
}
#match-steps #match-steps__content #match-steps__suggestions {
  flex-grow: 1;
  position: relative;
}
#match-steps #match-steps__content #match-steps__suggestions #matching-suggestions {
  position: -webkit-sticky;
  position: sticky;
  top: 5rem;
}
#match-steps #match-steps__content #match-steps__steps {
  flex-basis: 70%;
  flex-grow: 1;
}
#match-steps #match-steps__content #match-steps__sidebar {
  flex-basis: 20%;
  flex-grow: 1;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#match-step {
  padding: 0.5rem;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#match-query {
  background: #F4F8FC;
  padding: 0.5rem;
  border-top: 1px solid rgba(15, 45, 76, 0.13);
  border-bottom: 1px solid rgba(15, 45, 76, 0.13);
}
#match-query.single-property .group--conjunctions {
  opacity: 0;
}
#match-query #match-query__body {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#match-query #match-query__body #match-query__builder,
#match-query #match-query__body #match-query__help {
  padding: 1rem;
  flex-basis: 25rem;
  flex-grow: 1;
}
#match-query #match-query__body #match-query__builder {
  background: #FFFFFF;
  box-shadow: inset 0px 0px 18px 13px #F4F8FC;
}
#match-query #match-query__advanced {
  padding-left: 3rem;
}
#match-query .routed-accordion .title {
  padding: 0.25rem;
}
#match-query .query-builder-container {
  min-width: 30rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
#match-query .query-builder-container input,
#match-query .query-builder-container select,
#match-query .query-builder-container button {
  margin: 0.25rem;
  padding: 0.5rem;
  font-weight: 600;
  color: #0f2d4c;
}
#match-query .query-builder-container button {
  background: transparent;
  border: none;
}
#match-query .query-builder-container button:hover {
  background: rgba(15, 45, 76, 0.1) !important;
  background-color: rgba(15, 45, 76, 0.1) !important;
}
#match-query .query-builder-container .query-builder {
  margin: 0;
}
#match-query .query-builder-container .query-builder > .group-container > .group {
  border: none;
  box-shadow: none;
}
#match-query .group-or-rule-container {
  margin-left: 1rem;
}
#match-query .group {
  background: rgba(255, 255, 255, 0.3);
  padding: 0.5rem;
}
#match-query .group,
#match-query .rule {
  border: #FFFFFF;
  box-shadow: 0px 1px 1px 0px #d0d0d0;
  border: 1px solid rgba(15, 45, 76, 0.13);
}
#match-query .rule {
  box-shadow: 0px 1px 1px 0px #d0d0d0;
  background: #F4F8FC;
}
#match-query .rule .rule--body,
#match-query .rule .widget--widget {
  display: flex;
  align-items: center;
}
#match-query .qb-lite .group--header:hover .group--header .group--drag-handler,
#match-query .qb-lite .group--header:hover .group--header .group--actions,
#match-query .qb-lite .group--header:not(:hover) .group--drag-handler,
#match-query .qb-lite .group--header:not(:hover) .group--actions,
#match-query .qb-lite .rule_group:not(:hover) .group--drag-handler,
#match-query .qb-lite .rule_group:not(:hover) .group--actions {
  opacity: 0.75;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#match-rules {
  padding: 0.5rem;
  background: white;
}
#match-rules #match-rules__header {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid rgba(15, 45, 76, 0.13);
}
#match-rules .ui.divider {
  margin: 0;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#match-rule {
  margin-top: 0.5rem;
  position: relative;
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}
#match-rule .match-rule-form {
  flex-basis: 90%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
#match-rule .routed-accordion {
  width: 100%;
}
#match-rule #match-rule__actions {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  display: flex;
  flex-direction: column;
  flex-basis: 10%;
  width: 100%;
  z-index: 1;
  align-items: center;
}
#match-rule #match-rule__actions > * {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
#match-rule #match-rule__advanced-settings,
#match-rule #match-rule__primary-settings {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 0.5rem;
  flex-wrap: wrap;
}
#match-rule #match-rule__advanced-settings {
  padding: 1rem;
}
#match-rule #match-rule__properties-with-strategy {
  display: flex;
  align-items: flex-start;
  justify-items: flex-start;
  flex-wrap: wrap;
  flex-shrink: 1;
  max-width: 40%;
}
#match-rule #match-rule__properties-with-strategy .properties-dropdown {
  margin: 0.15rem;
  min-width: 15rem;
}
#match-rule #match-rule__properties-with-strategy .properties-dropdown .visible.menu.transition {
  width: auto;
  border-top-width: 1px !important;
  border-radius: 4px !important;
}
#match-rule #match-rule__properties-with-strategy .strategy-dropdown {
  margin: 0.15rem;
  min-width: 10rem;
}
#match-rule #match-rule__properties-with-strategy > * {
  padding-right: 0.5rem;
  padding-left: 0.5rem;
}
#match-rule #match-rule__weighted-setting,
#match-rule #match-rule__confidence-level {
  display: flex;
  align-items: center;
}
#match-rule #match-rule__weighted-setting > *,
#match-rule #match-rule__confidence-level > * {
  padding-right: 1rem;
  padding-left: 1rem;
}
#match-rule #match-rule__weighted-setting .rc-slider-mark-text,
#match-rule #match-rule__confidence-level .rc-slider-mark-text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
#match-rule #match-rule__weighted-setting .rc-slider,
#match-rule #match-rule__confidence-level .rc-slider,
#match-rule #match-rule__weighted-setting .confidence-section,
#match-rule #match-rule__confidence-level .confidence-section {
  min-width: 10rem;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#match-type {
  display: flex;
  background: #F4F8FC;
  padding: 0.5rem;
  border-top: 1px solid rgba(15, 45, 76, 0.13);
  border-bottom: 1px solid rgba(15, 45, 76, 0.13);
}
#match-type #match-type__header {
  padding-left: 2.5rem;
  padding-right: 1rem;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#matching-suggestions__loader {
  position: relative;
  display: flex;
  height: 100%;
  align-items: center;
  justify-content: center;
}
#matching-suggestions__loader .ui.loader {
  display: inline;
  position: relative;
}
#matching-suggestions {
  padding: 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
#matching-suggestions #unique-properties {
  padding-top: 1rem;
  padding-left: 1rem;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#unique-properties #unique-properties__property {
  padding: 0.5rem;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#simulation-viewer {
  margin: 0px;
  height: 100%;
}
#simulation-viewer #simulation-viewer__header {
  justify-content: space-between;
  background: rgba(255, 255, 255, 0.13);
}
#simulation-viewer #simulation-viewer__content {
  justify-content: space-evenly;
}
#simulation-viewer #simulation-viewer__header,
#simulation-viewer #simulation-viewer__content {
  display: flex;
  padding: 1rem;
}
#simulation-viewer.even > #simulation-viewer__content #amoeba svg path {
  fill: rgba(11, 155, 220, 0.25) !important;
}
#simulation-viewer #amoeba {
  max-width: 33%;
}
#simulation-viewer .simulation-viewer__matching-results {
  width: 100%;
}
#simulation-viewer .simulation-viewer__matching-results #match-group-comparison .match-group-comparison__diagram,
#simulation-viewer .simulation-viewer__matching-results #match-group-comparison > svg {
  width: 100%;
}
#simulation-viewer .simulation-viewer__matching-results #match-group-comparison > svg {
  pointer-events: none;
}
#simulation-viewer .simulation-viewer__matching-results #match-group-comparison .match-group-comparison__diagram > div {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
#simulation-viewer .simulation-viewer__matching-results #match-group-comparison .match-group-comparison__original,
#simulation-viewer .simulation-viewer__matching-results #match-group-comparison .match-group-comparison__simulated {
  display: flex;
  flex-direction: column;
  justify-items: flex-start;
}
#simulation-viewer .simulation-viewer__matching-results #match-group-comparison .match-group-comparison__group {
  display: flex;
  flex-direction: column;
  justify-items: flex-start;
  border: 1px solid rgba(15, 45, 76, 0.13);
  background-color: #F4F8FC;
  border-radius: 5px;
  margin: 5px;
  padding: 2px;
}
#simulation-viewer .simulation-viewer__matching-results #match-group-comparison .match-group-comparison__flagment {
  margin: 3px;
}
#simulation-viewer .simulation-viewer__matching-results #match-group-comparison .simulation-fragment {
  border-radius: 3px;
  padding: 2px;
}
#simulation-viewer .simulation-viewer__matching-results #match-group-comparison .simulation-fragment .simulation-fragment__source {
  font-size: 10px;
}
.simulation-fragment__popup td {
  white-space: nowrap;
}
.simulation-sidebar {
  position: relative;
}
.simulation-sidebar .simulation-sidebar__sidebar {
  height: 100%;
  -webkit-transition: width 300ms ease-in-out;
  transition: width 300ms ease-in-out;
  width: 500px;
}
.simulation-sidebar .simulation-sidebar__sidebar.sidebar-closed {
  width: 0px;
}
.simulation-sidebar .simulation-sidebar__tab {
  position: absolute;
  left: -40px;
  top: 50%;
}
.composite-record-comparisons .composite-record-comparisons__changed-row td,
.composite-record-comparisons .composite-record-comparisons__unchanged-row td,
.composite-record-comparisons .composite-record-comparisons__changed-row th,
.composite-record-comparisons .composite-record-comparisons__unchanged-row th {
  white-space: nowrap;
  font-size: 10pt;
}
.composite-record-comparisons .composite-record-comparisons__changed-row {
  background-color: #FFEDDE;
}
.composite-record-comparisons .composite-record-comparisons__unchanged-row {
  background-color: #E5F9E7;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
.composite-records-picker .composite-records-picker__search-results {
  max-height: 500px;
  overflow-y: scroll;
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY29udGFpbmVycy9EcmFmdC9jb21wb25lbnRzL2J1dHRvbnMvc21hbGwtYWRkLWJ1dHRvbi5sZXNzIiwid2VicGFjazovLy8uL3NyYy9jb250YWluZXJzL0RyYWZ0L2NvbXBvbmVudHMvYnV0dG9ucy9hZGQtZHJvcGRvd24ubGVzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29udGFpbmVycy9EcmFmdC9jb21wb25lbnRzL2J1dHRvbnMvZ2lhbnQtYWRkLWJ1dHRvbi5sZXNzIiwid2VicGFjazovLy8uL3NyYy9jb250YWluZXJzL0RyYWZ0L2NvbXBvbmVudHMvUmVsYXRlZEVudGl0aWVzVGFibGUvZGlzY292ZXJlZC1yZWxhdGVkLWVudGl0aWVzLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbnRhaW5lcnMvRHJhZnQvY29tcG9uZW50cy9ib3hlcy9ib3gtb2Ytc3RhdHMubGVzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29udGFpbmVycy9EcmFmdC9jb21wb25lbnRzL1NjaGVtYVNhbXBsZVdyYXBwZXIvY3VzdG9tLXJlYWQtc2NoZW1hLXNhbXBsZS5sZXNzIiwid2VicGFjazovLy8uL3NyYy9jb250YWluZXJzL0RyYWZ0L2NvbXBvbmVudHMvQ3VzdG9tU2NoZW1hRWRpdG9yL2N1c3RvbS1zY2hlbWEtZWRpdG9yLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbnRhaW5lcnMvRHJhZnQvY29tcG9uZW50cy9ib3hlcy9Db2xsYXBzaWJsZUJveC9jb2xsYXBzaWJsZS1ib3gubGVzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29udGFpbmVycy9EcmFmdC9jb21wb25lbnRzL01hdGNoaW5nU2V0dGluZ3MvbWF0Y2hpbmctc2V0dGluZ3MubGVzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29udGFpbmVycy9EcmFmdC9jb21wb25lbnRzL01hdGNoaW5nU2V0dGluZ3MvTWF0Y2hTdGVwcy9tYXRjaC1zdGVwcy5sZXNzIiwid2VicGFjazovLy8uL3NyYy9jb250YWluZXJzL0RyYWZ0L2NvbXBvbmVudHMvTWF0Y2hpbmdTZXR0aW5ncy9NYXRjaFN0ZXAvbWF0Y2gtc3RlcC5sZXNzIiwid2VicGFjazovLy8uL3NyYy9jb250YWluZXJzL0RyYWZ0L2NvbXBvbmVudHMvTWF0Y2hpbmdTZXR0aW5ncy9NYXRjaFF1ZXJ5L21hdGNoLXF1ZXJ5Lmxlc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbnRhaW5lcnMvRHJhZnQvY29tcG9uZW50cy9NYXRjaGluZ1NldHRpbmdzL01hdGNoUnVsZXMvbWF0Y2gtcnVsZXMubGVzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29udGFpbmVycy9EcmFmdC9jb21wb25lbnRzL01hdGNoaW5nU2V0dGluZ3MvTWF0Y2hSdWxlL21hdGNoLXJ1bGUubGVzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29udGFpbmVycy9EcmFmdC9jb21wb25lbnRzL01hdGNoaW5nU2V0dGluZ3MvTWF0Y2hpbmdUeXBlL21hdGNoLXR5cGUubGVzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29udGFpbmVycy9EcmFmdC9jb21wb25lbnRzL01hdGNoaW5nU2V0dGluZ3MvTWF0Y2hpbmdTdWdnZXN0aW9ucy9tYXRjaGluZy1zdWdnZXN0aW9ucy5sZXNzIiwid2VicGFjazovLy8uL3NyYy9jb250YWluZXJzL0RyYWZ0L2NvbXBvbmVudHMvTWF0Y2hpbmdTZXR0aW5ncy9NYXRjaGluZ1N1Z2dlc3Rpb25zL2NvbXBvbmVudHMvVW5pcXVlUHJvcGVydGllcy91bmlxdWUtcHJvcGVydGllcy5sZXNzIiwid2VicGFjazovLy8uL3NyYy9jb250YWluZXJzL0RyYWZ0L2NvbXBvbmVudHMvU2ltdWxhdGlvblZpZXdlci9zaW11bGF0aW9uLXZpZXdlci5sZXNzIiwid2VicGFjazovLy8uL3NyYy9jb250YWluZXJzL0RyYWZ0L2NvbXBvbmVudHMvQ29tcG9zaXRlUmVjb3Jkc1BpY2tlci9jb21wb3NpdGUtcmVjb3Jkcy1waWNrZXIubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5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d0JaO0FBakVBO0VBNkNZO0VBQ0E7RUFDQTtBQXVCWjtBQXRFQTs7RUFvRFk7RUFDQTtFQUNBO0FBc0JaO0FBNUVBO0VBMERZO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFxQlo7QUF0RkE7RUFxRVk7QUFvQlo7QUF6RkE7RUF5RVk7RUFDQTtBQW1CWjtBQTdGQTtFQTZFZTtBQW1CZjtBQVZBO0VBRU07QUFXTjtBQU5BO0VBQ0c7QUFRSDtBQVRBO0VBSU07RUFFQTtFQUFBO0VBRUE7QUFNTjtBQUpNO0VBQ0c7QUFNVDtBQWpCQTtFQWdCTTtFQUNBO0VBQ0E7QUFJTjtBQUNBOzs7O0VBT1M7RUFDQTtBQUZUO0FBTkE7RUFjTTtBQUxOO0FBVEE7RUFrQk07QUFOTjs7QUNsSUEseUNBQXlDO0FBQ3pDOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCLDRCQUE0QjtBQUM1QixtQkFBbUI7QUFDbkIseUJBQXlCO0FBQ3pCLHNCQUFzQjtBQUN0Qiw4QkFBOEI7QUFDOUIsMEJBQTBCO0FBQzFCLHVCQUF1QjtBQUN2Qix5QkFBeUI7QUFqQ3pCO0VBR007RUFDQTtBQWlDTiIsImZpbGUiOiJzdGF0aWMvY3NzL21haW5+OWEwZTdlN2YuMjkwODRlNTQuY2h1bmsuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyotLS0gIE5hbWVkIGNvbG9ycyAoZG8gbm90IGltcG9ydCkgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cblNpdGUgQ29sb3JzIFRvIEltcG9ydFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgT3ZlcmFsbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2hhZGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQmFja2dyb3VuZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFRyYW5zcGFyZW50IGJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBURVhUXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJbnB1dHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEdsb2JhbCBNb2RpZmllciBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tIERyYWZ0IEZpZ21hIENvbG9ycyAtLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbiNzbWFsbC1hZGQtYnV0dG9uIHtcbiAgei1pbmRleDogMTtcbn1cbiNzbWFsbC1hZGQtYnV0dG9uLmxpbms6YmVmb3JlIHtcbiAgY29udGVudDogJysgJztcbn1cbiNzbWFsbC1hZGQtYnV0dG9uX19kcm9wZG93biB7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtIDAuMjVyZW0gMC41cmVtO1xufVxuI3NtYWxsLWFkZC1idXR0b25fX2Ryb3Bkb3duIGlucHV0IHtcbiAgbWFyZ2luOiAwLjI1cmVtO1xufVxuI3NtYWxsLWFkZC1idXR0b25fX2Ryb3Bkb3duIGkge1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4jc21hbGwtYWRkLWJ1dHRvbl9fZHJvcGRvd24uYWN0aXZlID4gaSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4jc21hbGwtYWRkLWJ1dHRvbl9fZHJvcGRvd24uYWN0aXZlICNzbWFsbC1hZGQtYnV0dG9uIGksXG4jc21hbGwtYWRkLWJ1dHRvbl9fZHJvcGRvd24uYWN0aXZlICNzbWFsbC1hZGQtYnV0dG9uIHtcbiAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4jc21hbGwtYWRkLWJ1dHRvbl9fbmFtZS1jb2xsZWN0b3IgPiBkaXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuI3NtYWxsLWFkZC1idXR0b25fX25hbWUtY29sbGVjdG9yID4gZGl2IC5idXR0b24ge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cbiNzbWFsbC1hZGQtYnV0dG9uX19uYW1lLWNvbGxlY3Rvci52YWxpZC1uYW1lICNzbWFsbC1hZGQtYnV0dG9uX19jcmVhdGUtd2l0aC1uYW1lLWJ1dHRvbiB7XG4gIG9wYWNpdHk6IDE7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcbn1cbiNzbWFsbC1hZGQtYnV0dG9uX19uYW1lLWNvbGxlY3Rvci5lbXB0eS1uYW1lICNzbWFsbC1hZGQtYnV0dG9uX19jcmVhdGUtd2l0aC1uYW1lLWJ1dHRvbiB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwiLyotLS0gIE5hbWVkIGNvbG9ycyAoZG8gbm90IGltcG9ydCkgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cblNpdGUgQ29sb3JzIFRvIEltcG9ydFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgT3ZlcmFsbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2hhZGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQmFja2dyb3VuZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFRyYW5zcGFyZW50IGJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBURVhUXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJbnB1dHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEdsb2JhbCBNb2RpZmllciBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tIERyYWZ0IEZpZ21hIENvbG9ycyAtLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbiNhZGQtZHJvcGRvd25fX2Ryb3Bkb3duLmRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG8gIWltcG9ydGFudDtcbn1cbiNhZGQtZHJvcGRvd25fX2Ryb3Bkb3duLmRpc2FibGVkOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBGOUJEQztcbn1cbiIsIiNnaWFudC1hZGQtYnV0dG9uIHtcbiAgICB3aWR0aCAgICAgICAgICA6IDEwMCU7XG4gICAgaGVpZ2h0ICAgICAgICAgOiAxMDAlO1xuICAgIGRpc3BsYXkgICAgICAgIDogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbiA6IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtcyAgICA6IGNlbnRlcjtcblxuICAgIC51aS5oZWFkZXIge1xuICAgICAgICBkaXNwbGF5ICAgICAgICA6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uIDogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXMgICAgOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZSAgICAgIDogMjFweDtcbiAgICAgICAgbGluZS1oZWlnaHQgICAgOiAyOXB4O1xuXG4gICAgICAgIC5zdWIuaGVhZGVyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvKi0tLSAgTmFtZWQgY29sb3JzIChkbyBub3QgaW1wb3J0KSAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2l0ZSBDb2xvcnMgVG8gSW1wb3J0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBPdmVyYWxsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTaGFkaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgVHJhbnNwYXJlbnQgYmFja2dyb3VuZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRFWFRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIElucHV0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgR2xvYmFsIE1vZGlmaWVyIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gRHJhZnQgRmlnbWEgQ29sb3JzIC0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuI2Rpc2NvdmVyZWQtcmVsYXRlZC1lbnRpdGllcyB7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzJFNTI3NTtcbiAgY29sb3I6IHdoaXRlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4jZGlzY292ZXJlZC1yZWxhdGVkLWVudGl0aWVzICNkaXNjb3ZlcmVkLXJlbGF0ZWQtZW50aXRpZXNfX2hlYWRlciAqIHtcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG4jZGlzY292ZXJlZC1yZWxhdGVkLWVudGl0aWVzICNkaXNjb3ZlcmVkLXJlbGF0ZWQtZW50aXRpZXNfX2NvbnRlbnQge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG4jZGlzY292ZXJlZC1yZWxhdGVkLWVudGl0aWVzICNsb2NhbC1jb2xsZWN0aW9uICNsb2NhbC1jb2xsZWN0aW9uX19oZWFkZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuI2Rpc2NvdmVyZWQtcmVsYXRlZC1lbnRpdGllcyAjY29sbGVjdGlvbi50YWJsZSB0Ym9keSB0ciA+IHRkOmZpcnN0LWNoaWxkIHtcbiAgcG9zaXRpb246IHVuc2V0ICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDA7XG59XG4jZGlzY292ZXJlZC1yZWxhdGVkLWVudGl0aWVzICNjb2xsZWN0aW9uICNjb2xsZWN0aW9uLnRhYmxlIHRib2R5IHRyID4gdGQgI2NlbGwtY29udGVudCB7XG4gIGhlaWdodDogNnJlbTtcbn1cbiNkaXNjb3ZlcmVkLXJlbGF0ZWQtZW50aXRpZXMgI2NvbGxlY3Rpb24gI2NvbGxlY3Rpb25fX3Byb3BlcnR5LWZpbHRlcnMgdHIgdGgge1xuICBib3JkZXItY29sb3I6ICMyRTUyNzUgIWltcG9ydGFudDtcbn1cbiNkaXNjb3ZlcmVkLXJlbGF0ZWQtZW50aXRpZXMgI2NvbGxlY3Rpb24gI2NvbGxlY3Rpb25fX2l0ZW1zIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGNvbG9yOiAjMGYyZDRjO1xufVxuI2Rpc2NvdmVyZWQtcmVsYXRlZC1lbnRpdGllcyAjY29sbGVjdGlvbiAuaGVhZGVyLWNvbnRlbnQge1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbn1cbiNkaXNjb3ZlcmVkLXJlbGF0ZWQtZW50aXRpZXMgI2Rpc2NvdmVyZWQtcmVsYXRlZC1lbnRpdGllc19faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xufVxuI2Rpc2NvdmVyZWQtcmVsYXRlZC1lbnRpdGllcyAjZGlzY292ZXJlZC1yZWxhdGVkLWVudGl0aWVzX19jb250ZW50IHtcbiAgbWF4LWhlaWdodDogOTB2aCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDkwdmggIWltcG9ydGFudDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuI2Rpc2NvdmVyZWQtcmVsYXRlZC1lbnRpdGllcyAuc2Nyb2xsLWNvbnRyb2wge1xuICBoZWlnaHQ6IDg1dmggIWltcG9ydGFudDtcbiAgbWF4LWhlaWdodDogODV2aCAhaW1wb3J0YW50O1xufVxuI2Rpc2NvdmVyZWQtcmVsYXRlZC1lbnRpdGllcyAjcm91dGUtdG8ge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgZm9udC1zaXplOiAxMnB0O1xufVxuI2Rpc2NvdmVyZWQtcmVsYXRlZC1lbnRpdGllcyAuanNvbi12YWx1ZS1jZWxsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwIDAuNXJlbSAwIDAuNXJlbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiNkaXNjb3ZlcmVkLXJlbGF0ZWQtZW50aXRpZXMgLmpzb24tdmFsdWUtY2VsbC5udWxsLFxuI2Rpc2NvdmVyZWQtcmVsYXRlZC1lbnRpdGllcyAuanNvbi12YWx1ZS1jZWxsLnVuZGVmaW5lZCxcbiNkaXNjb3ZlcmVkLXJlbGF0ZWQtZW50aXRpZXMgLmpzb24tdmFsdWUtY2VsbC5lbXB0eS5zdHJpbmcge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtZmFtaWx5OiAnQ291cmllciBOZXcnLCBDb3VyaWVyLCBtb25vc3BhY2U7XG59XG4jZGlzY292ZXJlZC1yZWxhdGVkLWVudGl0aWVzIC5qc29uLXZhbHVlLWNlbGw6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWZhbWlseTogJ0NvdXJpZXIgTmV3JywgQ291cmllciwgbW9ub3NwYWNlO1xuICBjb2xvcjogIzc2NzY3NjtcbiAgbGVmdDogMHB4O1xuICBib3R0b206IC0xMHB4O1xuICBwYWRkaW5nOiAwIDAuNXJlbSAwIDAuNXJlbTtcbn1cbiNkaXNjb3ZlcmVkLXJlbGF0ZWQtZW50aXRpZXMgLmpzb24tdmFsdWUtY2VsbC5zdHJpbmc6YWZ0ZXIge1xuICBjb250ZW50OiAnc3RyaW5nJztcbn1cbiNkaXNjb3ZlcmVkLXJlbGF0ZWQtZW50aXRpZXMgLmpzb24tdmFsdWUtY2VsbC5ib29sZWFuOmFmdGVyIHtcbiAgY29udGVudDogJ2Jvb2xlYW4nO1xufVxuI2Rpc2NvdmVyZWQtcmVsYXRlZC1lbnRpdGllcyAuanNvbi12YWx1ZS1jZWxsLm51bWJlcjphZnRlciB7XG4gIGNvbnRlbnQ6ICdudW1iZXInO1xufVxuI2Rpc2NvdmVyZWQtcmVsYXRlZC1lbnRpdGllcyAuanNvbi12YWx1ZS1jZWxsLmpzb246YWZ0ZXIge1xuICBjb250ZW50OiAnSlNPTic7XG59XG4jZGlzY292ZXJlZC1yZWxhdGVkLWVudGl0aWVzICNzb3J0ZWQtdG9nZ2xlIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbiNkaXNjb3ZlcmVkLXJlbGF0ZWQtZW50aXRpZXMgI3NvcnRlZC10b2dnbGUgI2tleS1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTRwdDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcGFkZGluZzogMC41ZW0gMCAwIDFlbTtcbn1cbiNkaXNjb3ZlcmVkLXJlbGF0ZWQtZW50aXRpZXMgI3NvcnRlZC10b2dnbGUgaSB7XG4gIHBhZGRpbmc6IDAgMmVtIDAgMC41ZW07XG59XG4jZGlzY292ZXJlZC1yZWxhdGVkLWVudGl0aWVzICNzb3J0ZWQtdG9nZ2xlIC5jaGVja2JveCB7XG4gIHBhZGRpbmc6IDAuNWVtIDAgMC41ZW0gMDtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuIiwiLyotLS0gIE5hbWVkIGNvbG9ycyAoZG8gbm90IGltcG9ydCkgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cblNpdGUgQ29sb3JzIFRvIEltcG9ydFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgT3ZlcmFsbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2hhZGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQmFja2dyb3VuZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFRyYW5zcGFyZW50IGJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBURVhUXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJbnB1dHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEdsb2JhbCBNb2RpZmllciBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tIERyYWZ0IEZpZ21hIENvbG9ycyAtLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbiNib3gtb2Ytc3RhdHMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGOEZDO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHBhZGRpbmc6IDFyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAxZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNGNEY4RkMgIWltcG9ydGFudDtcbiAgYWxpZ24tY29udGVudDogc3RyZXRjaDtcbn1cbiNib3gtb2Ytc3RhdHMuY2xpY2thYmxlIHtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDUwMG1zIGxpbmVhcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI2JveC1vZi1zdGF0cy5jbGlja2FibGU6aG92ZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMEY5QkRDICFpbXBvcnRhbnQ7XG59XG4jYm94LW9mLXN0YXRzICNib3gtb2Ytc3RhdHNfX2hlYWRlciB7XG4gIGZsZXg6IDAgMDtcbn1cbiNib3gtb2Ytc3RhdHMgI2JveC1vZi1zdGF0c19fYm9keSB7XG4gIGZsZXg6IDEgMDtcbn1cbiIsIi8qLS0tICBOYW1lZCBjb2xvcnMgKGRvIG5vdCBpbXBvcnQpICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG5TaXRlIENvbG9ycyBUbyBJbXBvcnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIE92ZXJhbGxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNoYWRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBUcmFuc3BhcmVudCBiYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVEVYVFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSW5wdXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBHbG9iYWwgTW9kaWZpZXIgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSBEcmFmdCBGaWdtYSBDb2xvcnMgLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4jY3VzdG9tLXJlYWQtc2NoZW1hLXNhbXBsZSB7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzJFNTI3NTtcbiAgY29sb3I6IHdoaXRlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4jY3VzdG9tLXJlYWQtc2NoZW1hLXNhbXBsZSAjY3VzdG9tLXJlYWQtc2NoZW1hLXNhbXBsZV9faGVhZGVyICoge1xuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbn1cbiNjdXN0b20tcmVhZC1zY2hlbWEtc2FtcGxlICNjdXN0b20tcmVhZC1zY2hlbWEtc2FtcGxlX19jb250ZW50IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuI2N1c3RvbS1yZWFkLXNjaGVtYS1zYW1wbGUgI2xvY2FsLWNvbGxlY3Rpb24gI2xvY2FsLWNvbGxlY3Rpb25fX2hlYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4jY3VzdG9tLXJlYWQtc2NoZW1hLXNhbXBsZSAjY29sbGVjdGlvbi50YWJsZSB0Ym9keSB0ciA+IHRkOmZpcnN0LWNoaWxkIHtcbiAgcG9zaXRpb246IHVuc2V0ICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDA7XG59XG4jY3VzdG9tLXJlYWQtc2NoZW1hLXNhbXBsZSAjY29sbGVjdGlvbiAjY29sbGVjdGlvbi50YWJsZSB0Ym9keSB0ciA+IHRkICNjZWxsLWNvbnRlbnQge1xuICBoZWlnaHQ6IDZyZW07XG59XG4jY3VzdG9tLXJlYWQtc2NoZW1hLXNhbXBsZSAjY29sbGVjdGlvbiAjY29sbGVjdGlvbl9fcHJvcGVydHktZmlsdGVycyB0ciB0aCB7XG4gIGJvcmRlci1jb2xvcjogIzJFNTI3NSAhaW1wb3J0YW50O1xufVxuI2N1c3RvbS1yZWFkLXNjaGVtYS1zYW1wbGUgI2NvbGxlY3Rpb24gI2NvbGxlY3Rpb25fX2l0ZW1zIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGNvbG9yOiAjMGYyZDRjO1xufVxuI2N1c3RvbS1yZWFkLXNjaGVtYS1zYW1wbGUgI2NvbGxlY3Rpb24gLmhlYWRlci1jb250ZW50IHtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG59XG4jY3VzdG9tLXJlYWQtc2NoZW1hLXNhbXBsZSAjY3VzdG9tLXJlYWQtc2NoZW1hLXNhbXBsZV9faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xufVxuI2N1c3RvbS1yZWFkLXNjaGVtYS1zYW1wbGUgI2N1c3RvbS1yZWFkLXNjaGVtYS1zYW1wbGVfX2NvbnRlbnQge1xuICBtYXgtaGVpZ2h0OiA5MHZoICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogOTB2aCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG4jY3VzdG9tLXJlYWQtc2NoZW1hLXNhbXBsZSAuc2Nyb2xsLWNvbnRyb2wge1xuICBoZWlnaHQ6IDg1dmggIWltcG9ydGFudDtcbiAgbWF4LWhlaWdodDogODV2aCAhaW1wb3J0YW50O1xufVxuI2N1c3RvbS1yZWFkLXNjaGVtYS1zYW1wbGUgI3JvdXRlLXRvIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBmb250LXdlaWdodDogNjAwO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMTJwdDtcbn1cbiNjdXN0b20tcmVhZC1zY2hlbWEtc2FtcGxlIC5qc29uLXZhbHVlLWNlbGwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAgMC41cmVtIDAgMC41cmVtO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuI2N1c3RvbS1yZWFkLXNjaGVtYS1zYW1wbGUgLmpzb24tdmFsdWUtY2VsbC5udWxsLFxuI2N1c3RvbS1yZWFkLXNjaGVtYS1zYW1wbGUgLmpzb24tdmFsdWUtY2VsbC51bmRlZmluZWQsXG4jY3VzdG9tLXJlYWQtc2NoZW1hLXNhbXBsZSAuanNvbi12YWx1ZS1jZWxsLmVtcHR5LnN0cmluZyB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1mYW1pbHk6ICdDb3VyaWVyIE5ldycsIENvdXJpZXIsIG1vbm9zcGFjZTtcbn1cbiNjdXN0b20tcmVhZC1zY2hlbWEtc2FtcGxlIC5qc29uLXZhbHVlLWNlbGw6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWZhbWlseTogJ0NvdXJpZXIgTmV3JywgQ291cmllciwgbW9ub3NwYWNlO1xuICBjb2xvcjogIzc2NzY3NjtcbiAgbGVmdDogMHB4O1xuICBib3R0b206IC0xMHB4O1xuICBwYWRkaW5nOiAwIDAuNXJlbSAwIDAuNXJlbTtcbn1cbiNjdXN0b20tcmVhZC1zY2hlbWEtc2FtcGxlIC5qc29uLXZhbHVlLWNlbGwuc3RyaW5nOmFmdGVyIHtcbiAgY29udGVudDogJ3N0cmluZyc7XG59XG4jY3VzdG9tLXJlYWQtc2NoZW1hLXNhbXBsZSAuanNvbi12YWx1ZS1jZWxsLmJvb2xlYW46YWZ0ZXIge1xuICBjb250ZW50OiAnYm9vbGVhbic7XG59XG4jY3VzdG9tLXJlYWQtc2NoZW1hLXNhbXBsZSAuanNvbi12YWx1ZS1jZWxsLm51bWJlcjphZnRlciB7XG4gIGNvbnRlbnQ6ICdudW1iZXInO1xufVxuI2N1c3RvbS1yZWFkLXNjaGVtYS1zYW1wbGUgLmpzb24tdmFsdWUtY2VsbC5qc29uOmFmdGVyIHtcbiAgY29udGVudDogJ0pTT04nO1xufVxuI2N1c3RvbS1yZWFkLXNjaGVtYS1zYW1wbGUgI3NvcnRlZC10b2dnbGUge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuI2N1c3RvbS1yZWFkLXNjaGVtYS1zYW1wbGUgI3NvcnRlZC10b2dnbGUgI2tleS1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTRwdDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcGFkZGluZzogMC41ZW0gMCAwIDFlbTtcbn1cbiNjdXN0b20tcmVhZC1zY2hlbWEtc2FtcGxlICNzb3J0ZWQtdG9nZ2xlIGkge1xuICBwYWRkaW5nOiAwIDJlbSAwIDAuNWVtO1xufVxuI2N1c3RvbS1yZWFkLXNjaGVtYS1zYW1wbGUgI3NvcnRlZC10b2dnbGUgLmNoZWNrYm94IHtcbiAgcGFkZGluZzogMC41ZW0gMCAwLjVlbSAwO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG4iLCIvKi0tLSAgTmFtZWQgY29sb3JzIChkbyBub3QgaW1wb3J0KSAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2l0ZSBDb2xvcnMgVG8gSW1wb3J0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBPdmVyYWxsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTaGFkaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgVHJhbnNwYXJlbnQgYmFja2dyb3VuZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRFWFRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIElucHV0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgR2xvYmFsIE1vZGlmaWVyIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gRHJhZnQgRmlnbWEgQ29sb3JzIC0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuI2N1c3RvbS1yZWFkLXNjaGVtYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4jY3VzdG9tLXJlYWQtc2NoZW1hICNjdXN0b20tcmVhZC1zY2hlbWFfX2VkaXRvciB7XG4gIG1hcmdpbi10b3A6IDFlbTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuI2N1c3RvbS1yZWFkLXNjaGVtYSA+IC5pbnB1dCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbiAgbWFyZ2luLXRvcDogMWVtO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG4jY3VzdG9tLXJlYWQtc2NoZW1hID4gLnRhYmxlIHtcbiAgYm9yZGVyOiBub25lO1xufVxuLmhlYWRlci1jZWxsIHtcbiAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG59XG4ubnBtX19yZWFjdC1zaW1wbGUtY29kZS1lZGl0b3JfX3RleHRhcmVhIHtcbiAgbWF4LWhlaWdodDogdW5zZXQgIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogMTByZW0gIWltcG9ydGFudDtcbn1cbiIsIi8qLS0tICBOYW1lZCBjb2xvcnMgKGRvIG5vdCBpbXBvcnQpICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG5TaXRlIENvbG9ycyBUbyBJbXBvcnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIE92ZXJhbGxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNoYWRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBUcmFuc3BhcmVudCBiYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVEVYVFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSW5wdXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBHbG9iYWwgTW9kaWZpZXIgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSBEcmFmdCBGaWdtYSBDb2xvcnMgLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4uY29sbGFwc2libGUtYm94IHtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1LCA0NSwgNzYsIDAuMTMpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLmNvbGxhcHNpYmxlLWJveDpmb2N1cy13aXRoaW4ge1xuICB6LWluZGV4OiA0O1xufVxuLmNvbGxhcHNpYmxlLWJveC5kaXNhYmxlLWNvbGxhcHNlID4gLmNvbGxhcHNpYmxlLWJveF9faGVhZGVyIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLmNvbGxhcHNpYmxlLWJveC5kaXNhYmxlLWNvbGxhcHNlID4gLmNvbGxhcHNpYmxlLWJveF9faGVhZGVyID4gLmNhcmV0IHtcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xufVxuLmNvbGxhcHNpYmxlLWJveC5hY3RpdmUgPiAuY29sbGFwc2libGUtYm94X19oZWFkZXIge1xuICB0cmFuc2l0aW9uOiBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cyAwbXMgZWFzZS1vdXQsIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMgMG1zIGVhc2Utb3V0O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cbi5jb2xsYXBzaWJsZS1ib3ggPiAuY29sbGFwc2libGUtYm94X19oZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkU1Mjc1O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICB0cmFuc2l0aW9uOiBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cyAxMDAwbXMgZWFzZS1pbiwgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cyAxMDAwbXMgZWFzZS1pbjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzBweCBhdXRvIDQwcHg7XG4gIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5oYXMtZm9vdGVyLmNvbGxhcHNpYmxlLWJveCA+IC5jb2xsYXBzaWJsZS1ib3hfX2hlYWRlciB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuLmNvbGxhcHNpYmxlLWJveCA+IC5jb2xsYXBzaWJsZS1ib3hfX2hlYWRlciAuY2FyZXQge1xuICBncmlkLWNvbHVtbjogMSAyO1xuICBncmlkLXJvdzogMSAyO1xuICBtYXJnaW46IDVweCAxMHB4IDVweCAxMHB4O1xufVxuLmNvbGxhcHNpYmxlLWJveCA+IC5jb2xsYXBzaWJsZS1ib3hfX2hlYWRlciAuY29sbGFwc2libGUtYm94X19oZWFkZXItY29udGVudCB7XG4gIGdyaWQtY29sdW1uOiAyIDM7XG4gIGdyaWQtcm93OiAxIDI7XG4gIHBhZGRpbmc6IDVweDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAyZW07XG4gIGp1c3RpZnktc2VsZjogZmxleC1zdGFydDtcbn1cbi5jb2xsYXBzaWJsZS1ib3ggPiAuY29sbGFwc2libGUtYm94X19oZWFkZXIgLmNvbGxhcHNpYmxlLWJveF9fZGVsZXRlLWljb24ge1xuICBncmlkLWNvbHVtbjogMyA0O1xuICBncmlkLXJvdzogMSAyO1xuICBtYXJnaW4tdG9wOiAtNHB4O1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAganVzdGlmeS1zZWxmOiBmbGV4LWVuZDtcbn1cbiIsIi8qLS0tICBOYW1lZCBjb2xvcnMgKGRvIG5vdCBpbXBvcnQpICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG5TaXRlIENvbG9ycyBUbyBJbXBvcnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIE92ZXJhbGxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNoYWRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBUcmFuc3BhcmVudCBiYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVEVYVFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSW5wdXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBHbG9iYWwgTW9kaWZpZXIgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSBEcmFmdCBGaWdtYSBDb2xvcnMgLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4jbWF0Y2hpbmctc2V0dGluZ3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG59XG4iLCIvKi0tLSAgTmFtZWQgY29sb3JzIChkbyBub3QgaW1wb3J0KSAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2l0ZSBDb2xvcnMgVG8gSW1wb3J0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBPdmVyYWxsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTaGFkaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgVHJhbnNwYXJlbnQgYmFja2dyb3VuZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRFWFRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIElucHV0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgR2xvYmFsIE1vZGlmaWVyIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gRHJhZnQgRmlnbWEgQ29sb3JzIC0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuI21hdGNoLXN0ZXBzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbn1cbiNtYXRjaC1zdGVwcyAjZ2lhbnQtYWRkLWJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiA1cmVtO1xufVxuI21hdGNoLXN0ZXBzICNtYXRjaC1zdGVwc19fc29ydGFibGUtc3RlcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAycmVtO1xufVxuI21hdGNoLXN0ZXBzICNtYXRjaC1zdGVwc19fc29ydGFibGUtc3RlcDpob3ZlciAjbWF0Y2gtc3RlcHNfX2RyYWctaGFuZGxlIHtcbiAgb3BhY2l0eTogMTtcbn1cbiNtYXRjaC1zdGVwcyAjbWF0Y2gtc3RlcHNfX3NvcnRhYmxlLXN0ZXA6aG92ZXIgI21hdGNoLXJ1bGVfX3dlaWdodC1sb2NrLFxuI21hdGNoLXN0ZXBzICNtYXRjaC1zdGVwc19fc29ydGFibGUtc3RlcDpob3ZlciAuY2FyZXQsXG4jbWF0Y2gtc3RlcHMgI21hdGNoLXN0ZXBzX19zb3J0YWJsZS1zdGVwOmhvdmVyIC5idXR0b24sXG4jbWF0Y2gtc3RlcHMgI21hdGNoLXN0ZXBzX19zb3J0YWJsZS1zdGVwOmhvdmVyIGksXG4jbWF0Y2gtc3RlcHMgI21hdGNoLXN0ZXBzX19zb3J0YWJsZS1zdGVwOmhvdmVyIHN2ZyB7XG4gIGJveC1zaGFkb3c6IHVuc2V0O1xuICBiYWNrZ3JvdW5kOiB1bnNldDtcbiAgb3BhY2l0eTogMTtcbn1cbiNtYXRjaC1zdGVwcyAjbWF0Y2gtc3RlcHNfX3NvcnRhYmxlLXN0ZXAgLmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4jbWF0Y2gtc3RlcHMgI21hdGNoLXN0ZXBzX19zb3J0YWJsZS1zdGVwICNtYXRjaC1ydWxlX193ZWlnaHQtbG9jayxcbiNtYXRjaC1zdGVwcyAjbWF0Y2gtc3RlcHNfX3NvcnRhYmxlLXN0ZXAgLmNhcmV0LFxuI21hdGNoLXN0ZXBzICNtYXRjaC1zdGVwc19fc29ydGFibGUtc3RlcCBzdmcge1xuICBvcGFjaXR5OiAwO1xufVxuI21hdGNoLXN0ZXBzICNtYXRjaC1zdGVwc19fc29ydGFibGUtc3RlcCAjbWF0Y2gtc3RlcHNfX2RyYWctaGFuZGxlIHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwcmVtO1xuICB0b3A6IDEuNXJlbTtcbiAgY29sb3I6ICM3Njc2NzY7XG4gIGZvbnQtc2l6ZTogMTZwdDtcbiAgY3Vyc29yOiBncmFiO1xufVxuI21hdGNoLXN0ZXBzICNtYXRjaC1zdGVwc19faGVhZGVyIHtcbiAgei1pbmRleDogMTtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGJveC1zaGFkb3c6IGluc2V0IDBweCAyN3B4IDlweCAtMXB4IHdoaXRlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuI21hdGNoLXN0ZXBzICNtYXRjaC1zdGVwc19fY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbiNtYXRjaC1zdGVwcyAjbWF0Y2gtc3RlcHNfX2NvbnRlbnQgI21hdGNoLXN0ZXBzX19zdWdnZXN0aW9ucyB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuI21hdGNoLXN0ZXBzICNtYXRjaC1zdGVwc19fY29udGVudCAjbWF0Y2gtc3RlcHNfX3N1Z2dlc3Rpb25zICNtYXRjaGluZy1zdWdnZXN0aW9ucyB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogNXJlbTtcbn1cbiNtYXRjaC1zdGVwcyAjbWF0Y2gtc3RlcHNfX2NvbnRlbnQgI21hdGNoLXN0ZXBzX19zdGVwcyB7XG4gIGZsZXgtYmFzaXM6IDcwJTtcbiAgZmxleC1ncm93OiAxO1xufVxuI21hdGNoLXN0ZXBzICNtYXRjaC1zdGVwc19fY29udGVudCAjbWF0Y2gtc3RlcHNfX3NpZGViYXIge1xuICBmbGV4LWJhc2lzOiAyMCU7XG4gIGZsZXgtZ3JvdzogMTtcbn1cbiIsIi8qLS0tICBOYW1lZCBjb2xvcnMgKGRvIG5vdCBpbXBvcnQpICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG5TaXRlIENvbG9ycyBUbyBJbXBvcnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIE92ZXJhbGxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNoYWRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBUcmFuc3BhcmVudCBiYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVEVYVFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSW5wdXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBHbG9iYWwgTW9kaWZpZXIgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSBEcmFmdCBGaWdtYSBDb2xvcnMgLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4jbWF0Y2gtc3RlcCB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbn1cbiIsIi8qLS0tICBOYW1lZCBjb2xvcnMgKGRvIG5vdCBpbXBvcnQpICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG5TaXRlIENvbG9ycyBUbyBJbXBvcnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIE92ZXJhbGxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNoYWRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBUcmFuc3BhcmVudCBiYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVEVYVFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSW5wdXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBHbG9iYWwgTW9kaWZpZXIgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSBEcmFmdCBGaWdtYSBDb2xvcnMgLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4jbWF0Y2gtcXVlcnkge1xuICBiYWNrZ3JvdW5kOiAjRjRGOEZDO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDE1LCA0NSwgNzYsIDAuMTMpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxNSwgNDUsIDc2LCAwLjEzKTtcbn1cbiNtYXRjaC1xdWVyeS5zaW5nbGUtcHJvcGVydHkgLmdyb3VwLS1jb25qdW5jdGlvbnMge1xuICBvcGFjaXR5OiAwO1xufVxuI21hdGNoLXF1ZXJ5ICNtYXRjaC1xdWVyeV9fYm9keSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuI21hdGNoLXF1ZXJ5ICNtYXRjaC1xdWVyeV9fYm9keSAjbWF0Y2gtcXVlcnlfX2J1aWxkZXIsXG4jbWF0Y2gtcXVlcnkgI21hdGNoLXF1ZXJ5X19ib2R5ICNtYXRjaC1xdWVyeV9faGVscCB7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGZsZXgtYmFzaXM6IDI1cmVtO1xuICBmbGV4LWdyb3c6IDE7XG59XG4jbWF0Y2gtcXVlcnkgI21hdGNoLXF1ZXJ5X19ib2R5ICNtYXRjaC1xdWVyeV9fYnVpbGRlciB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJveC1zaGFkb3c6IGluc2V0IDBweCAwcHggMThweCAxM3B4ICNGNEY4RkM7XG59XG4jbWF0Y2gtcXVlcnkgI21hdGNoLXF1ZXJ5X19hZHZhbmNlZCB7XG4gIHBhZGRpbmctbGVmdDogM3JlbTtcbn1cbiNtYXRjaC1xdWVyeSAucm91dGVkLWFjY29yZGlvbiAudGl0bGUge1xuICBwYWRkaW5nOiAwLjI1cmVtO1xufVxuI21hdGNoLXF1ZXJ5IC5xdWVyeS1idWlsZGVyLWNvbnRhaW5lciB7XG4gIG1pbi13aWR0aDogMzByZW07XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbn1cbiNtYXRjaC1xdWVyeSAucXVlcnktYnVpbGRlci1jb250YWluZXIgaW5wdXQsXG4jbWF0Y2gtcXVlcnkgLnF1ZXJ5LWJ1aWxkZXItY29udGFpbmVyIHNlbGVjdCxcbiNtYXRjaC1xdWVyeSAucXVlcnktYnVpbGRlci1jb250YWluZXIgYnV0dG9uIHtcbiAgbWFyZ2luOiAwLjI1cmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjMGYyZDRjO1xufVxuI21hdGNoLXF1ZXJ5IC5xdWVyeS1idWlsZGVyLWNvbnRhaW5lciBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xufVxuI21hdGNoLXF1ZXJ5IC5xdWVyeS1idWlsZGVyLWNvbnRhaW5lciBidXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE1LCA0NSwgNzYsIDAuMSkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNSwgNDUsIDc2LCAwLjEpICFpbXBvcnRhbnQ7XG59XG4jbWF0Y2gtcXVlcnkgLnF1ZXJ5LWJ1aWxkZXItY29udGFpbmVyIC5xdWVyeS1idWlsZGVyIHtcbiAgbWFyZ2luOiAwO1xufVxuI21hdGNoLXF1ZXJ5IC5xdWVyeS1idWlsZGVyLWNvbnRhaW5lciAucXVlcnktYnVpbGRlciA+IC5ncm91cC1jb250YWluZXIgPiAuZ3JvdXAge1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4jbWF0Y2gtcXVlcnkgLmdyb3VwLW9yLXJ1bGUtY29udGFpbmVyIHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG59XG4jbWF0Y2gtcXVlcnkgLmdyb3VwIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICBwYWRkaW5nOiAwLjVyZW07XG59XG4jbWF0Y2gtcXVlcnkgLmdyb3VwLFxuI21hdGNoLXF1ZXJ5IC5ydWxlIHtcbiAgYm9yZGVyOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiAwcHggMXB4IDFweCAwcHggI2QwZDBkMDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNSwgNDUsIDc2LCAwLjEzKTtcbn1cbiNtYXRjaC1xdWVyeSAucnVsZSB7XG4gIGJveC1zaGFkb3c6IDBweCAxcHggMXB4IDBweCAjZDBkMGQwO1xuICBiYWNrZ3JvdW5kOiAjRjRGOEZDO1xufVxuI21hdGNoLXF1ZXJ5IC5ydWxlIC5ydWxlLS1ib2R5LFxuI21hdGNoLXF1ZXJ5IC5ydWxlIC53aWRnZXQtLXdpZGdldCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4jbWF0Y2gtcXVlcnkgLnFiLWxpdGUgLmdyb3VwLS1oZWFkZXI6aG92ZXIgLmdyb3VwLS1oZWFkZXIgLmdyb3VwLS1kcmFnLWhhbmRsZXIsXG4jbWF0Y2gtcXVlcnkgLnFiLWxpdGUgLmdyb3VwLS1oZWFkZXI6aG92ZXIgLmdyb3VwLS1oZWFkZXIgLmdyb3VwLS1hY3Rpb25zLFxuI21hdGNoLXF1ZXJ5IC5xYi1saXRlIC5ncm91cC0taGVhZGVyOm5vdCg6aG92ZXIpIC5ncm91cC0tZHJhZy1oYW5kbGVyLFxuI21hdGNoLXF1ZXJ5IC5xYi1saXRlIC5ncm91cC0taGVhZGVyOm5vdCg6aG92ZXIpIC5ncm91cC0tYWN0aW9ucyxcbiNtYXRjaC1xdWVyeSAucWItbGl0ZSAucnVsZV9ncm91cDpub3QoOmhvdmVyKSAuZ3JvdXAtLWRyYWctaGFuZGxlcixcbiNtYXRjaC1xdWVyeSAucWItbGl0ZSAucnVsZV9ncm91cDpub3QoOmhvdmVyKSAuZ3JvdXAtLWFjdGlvbnMge1xuICBvcGFjaXR5OiAwLjc1O1xufVxuIiwiLyotLS0gIE5hbWVkIGNvbG9ycyAoZG8gbm90IGltcG9ydCkgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cblNpdGUgQ29sb3JzIFRvIEltcG9ydFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgT3ZlcmFsbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2hhZGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQmFja2dyb3VuZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFRyYW5zcGFyZW50IGJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBURVhUXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJbnB1dHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEdsb2JhbCBNb2RpZmllciBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tIERyYWZ0IEZpZ21hIENvbG9ycyAtLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbiNtYXRjaC1ydWxlcyB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG59XG4jbWF0Y2gtcnVsZXMgI21hdGNoLXJ1bGVzX19oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDE1LCA0NSwgNzYsIDAuMTMpO1xufVxuI21hdGNoLXJ1bGVzIC51aS5kaXZpZGVyIHtcbiAgbWFyZ2luOiAwO1xufVxuIiwiLyotLS0gIE5hbWVkIGNvbG9ycyAoZG8gbm90IGltcG9ydCkgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cblNpdGUgQ29sb3JzIFRvIEltcG9ydFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgT3ZlcmFsbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2hhZGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQmFja2dyb3VuZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFRyYW5zcGFyZW50IGJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBURVhUXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJbnB1dHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEdsb2JhbCBNb2RpZmllciBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tIERyYWZ0IEZpZ21hIENvbG9ycyAtLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbiNtYXRjaC1ydWxlIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xufVxuI21hdGNoLXJ1bGUgLm1hdGNoLXJ1bGUtZm9ybSB7XG4gIGZsZXgtYmFzaXM6IDkwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbiNtYXRjaC1ydWxlIC5yb3V0ZWQtYWNjb3JkaW9uIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4jbWF0Y2gtcnVsZSAjbWF0Y2gtcnVsZV9fYWN0aW9ucyB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWJhc2lzOiAxMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuI21hdGNoLXJ1bGUgI21hdGNoLXJ1bGVfX2FjdGlvbnMgPiAqIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xufVxuI21hdGNoLXJ1bGUgI21hdGNoLXJ1bGVfX2FkdmFuY2VkLXNldHRpbmdzLFxuI21hdGNoLXJ1bGUgI21hdGNoLXJ1bGVfX3ByaW1hcnktc2V0dGluZ3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbiNtYXRjaC1ydWxlICNtYXRjaC1ydWxlX19hZHZhbmNlZC1zZXR0aW5ncyB7XG4gIHBhZGRpbmc6IDFyZW07XG59XG4jbWF0Y2gtcnVsZSAjbWF0Y2gtcnVsZV9fcHJvcGVydGllcy13aXRoLXN0cmF0ZWd5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktaXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1zaHJpbms6IDE7XG4gIG1heC13aWR0aDogNDAlO1xufVxuI21hdGNoLXJ1bGUgI21hdGNoLXJ1bGVfX3Byb3BlcnRpZXMtd2l0aC1zdHJhdGVneSAucHJvcGVydGllcy1kcm9wZG93biB7XG4gIG1hcmdpbjogMC4xNXJlbTtcbiAgbWluLXdpZHRoOiAxNXJlbTtcbn1cbiNtYXRjaC1ydWxlICNtYXRjaC1ydWxlX19wcm9wZXJ0aWVzLXdpdGgtc3RyYXRlZ3kgLnByb3BlcnRpZXMtZHJvcGRvd24gLnZpc2libGUubWVudS50cmFuc2l0aW9uIHtcbiAgd2lkdGg6IGF1dG87XG4gIGJvcmRlci10b3Atd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiA0cHggIWltcG9ydGFudDtcbn1cbiNtYXRjaC1ydWxlICNtYXRjaC1ydWxlX19wcm9wZXJ0aWVzLXdpdGgtc3RyYXRlZ3kgLnN0cmF0ZWd5LWRyb3Bkb3duIHtcbiAgbWFyZ2luOiAwLjE1cmVtO1xuICBtaW4td2lkdGg6IDEwcmVtO1xufVxuI21hdGNoLXJ1bGUgI21hdGNoLXJ1bGVfX3Byb3BlcnRpZXMtd2l0aC1zdHJhdGVneSA+ICoge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xufVxuI21hdGNoLXJ1bGUgI21hdGNoLXJ1bGVfX3dlaWdodGVkLXNldHRpbmcsXG4jbWF0Y2gtcnVsZSAjbWF0Y2gtcnVsZV9fY29uZmlkZW5jZS1sZXZlbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4jbWF0Y2gtcnVsZSAjbWF0Y2gtcnVsZV9fd2VpZ2h0ZWQtc2V0dGluZyA+ICosXG4jbWF0Y2gtcnVsZSAjbWF0Y2gtcnVsZV9fY29uZmlkZW5jZS1sZXZlbCA+ICoge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG59XG4jbWF0Y2gtcnVsZSAjbWF0Y2gtcnVsZV9fd2VpZ2h0ZWQtc2V0dGluZyAucmMtc2xpZGVyLW1hcmstdGV4dCxcbiNtYXRjaC1ydWxlICNtYXRjaC1ydWxlX19jb25maWRlbmNlLWxldmVsIC5yYy1zbGlkZXItbWFyay10ZXh0IHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xufVxuI21hdGNoLXJ1bGUgI21hdGNoLXJ1bGVfX3dlaWdodGVkLXNldHRpbmcgLnJjLXNsaWRlcixcbiNtYXRjaC1ydWxlICNtYXRjaC1ydWxlX19jb25maWRlbmNlLWxldmVsIC5yYy1zbGlkZXIsXG4jbWF0Y2gtcnVsZSAjbWF0Y2gtcnVsZV9fd2VpZ2h0ZWQtc2V0dGluZyAuY29uZmlkZW5jZS1zZWN0aW9uLFxuI21hdGNoLXJ1bGUgI21hdGNoLXJ1bGVfX2NvbmZpZGVuY2UtbGV2ZWwgLmNvbmZpZGVuY2Utc2VjdGlvbiB7XG4gIG1pbi13aWR0aDogMTByZW07XG59XG4iLCIvKi0tLSAgTmFtZWQgY29sb3JzIChkbyBub3QgaW1wb3J0KSAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2l0ZSBDb2xvcnMgVG8gSW1wb3J0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBPdmVyYWxsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTaGFkaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgVHJhbnNwYXJlbnQgYmFja2dyb3VuZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRFWFRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIElucHV0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgR2xvYmFsIE1vZGlmaWVyIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gRHJhZnQgRmlnbWEgQ29sb3JzIC0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuI21hdGNoLXR5cGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBiYWNrZ3JvdW5kOiAjRjRGOEZDO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDE1LCA0NSwgNzYsIDAuMTMpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxNSwgNDUsIDc2LCAwLjEzKTtcbn1cbiNtYXRjaC10eXBlICNtYXRjaC10eXBlX19oZWFkZXIge1xuICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbn1cbiIsIi8qLS0tICBOYW1lZCBjb2xvcnMgKGRvIG5vdCBpbXBvcnQpICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG5TaXRlIENvbG9ycyBUbyBJbXBvcnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIE92ZXJhbGxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNoYWRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBUcmFuc3BhcmVudCBiYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVEVYVFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSW5wdXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBHbG9iYWwgTW9kaWZpZXIgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSBEcmFmdCBGaWdtYSBDb2xvcnMgLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4jbWF0Y2hpbmctc3VnZ2VzdGlvbnNfX2xvYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbiNtYXRjaGluZy1zdWdnZXN0aW9uc19fbG9hZGVyIC51aS5sb2FkZXIge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiNtYXRjaGluZy1zdWdnZXN0aW9ucyB7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4jbWF0Y2hpbmctc3VnZ2VzdGlvbnMgI3VuaXF1ZS1wcm9wZXJ0aWVzIHtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbn1cbiIsIi8qLS0tICBOYW1lZCBjb2xvcnMgKGRvIG5vdCBpbXBvcnQpICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG5TaXRlIENvbG9ycyBUbyBJbXBvcnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIE92ZXJhbGxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNoYWRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBUcmFuc3BhcmVudCBiYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVEVYVFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSW5wdXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBHbG9iYWwgTW9kaWZpZXIgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSBEcmFmdCBGaWdtYSBDb2xvcnMgLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4jdW5pcXVlLXByb3BlcnRpZXMgI3VuaXF1ZS1wcm9wZXJ0aWVzX19wcm9wZXJ0eSB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbn1cbiIsIi8qLS0tICBOYW1lZCBjb2xvcnMgKGRvIG5vdCBpbXBvcnQpICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG5TaXRlIENvbG9ycyBUbyBJbXBvcnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIE92ZXJhbGxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNoYWRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBUcmFuc3BhcmVudCBiYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVEVYVFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSW5wdXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBHbG9iYWwgTW9kaWZpZXIgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSBEcmFmdCBGaWdtYSBDb2xvcnMgLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4jc2ltdWxhdGlvbi12aWV3ZXIge1xuICBtYXJnaW46IDBweDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuI3NpbXVsYXRpb24tdmlld2VyICNzaW11bGF0aW9uLXZpZXdlcl9faGVhZGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTMpO1xufVxuI3NpbXVsYXRpb24tdmlld2VyICNzaW11bGF0aW9uLXZpZXdlcl9fY29udGVudCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xufVxuI3NpbXVsYXRpb24tdmlld2VyICNzaW11bGF0aW9uLXZpZXdlcl9faGVhZGVyLFxuI3NpbXVsYXRpb24tdmlld2VyICNzaW11bGF0aW9uLXZpZXdlcl9fY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDFyZW07XG59XG4jc2ltdWxhdGlvbi12aWV3ZXIuZXZlbiA+ICNzaW11bGF0aW9uLXZpZXdlcl9fY29udGVudCAjYW1vZWJhIHN2ZyBwYXRoIHtcbiAgZmlsbDogcmdiYSgxMSwgMTU1LCAyMjAsIDAuMjUpICFpbXBvcnRhbnQ7XG59XG4jc2ltdWxhdGlvbi12aWV3ZXIgI2Ftb2ViYSB7XG4gIG1heC13aWR0aDogMzMlO1xufVxuI3NpbXVsYXRpb24tdmlld2VyIC5zaW11bGF0aW9uLXZpZXdlcl9fbWF0Y2hpbmctcmVzdWx0cyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuI3NpbXVsYXRpb24tdmlld2VyIC5zaW11bGF0aW9uLXZpZXdlcl9fbWF0Y2hpbmctcmVzdWx0cyAjbWF0Y2gtZ3JvdXAtY29tcGFyaXNvbiAubWF0Y2gtZ3JvdXAtY29tcGFyaXNvbl9fZGlhZ3JhbSxcbiNzaW11bGF0aW9uLXZpZXdlciAuc2ltdWxhdGlvbi12aWV3ZXJfX21hdGNoaW5nLXJlc3VsdHMgI21hdGNoLWdyb3VwLWNvbXBhcmlzb24gPiBzdmcge1xuICB3aWR0aDogMTAwJTtcbn1cbiNzaW11bGF0aW9uLXZpZXdlciAuc2ltdWxhdGlvbi12aWV3ZXJfX21hdGNoaW5nLXJlc3VsdHMgI21hdGNoLWdyb3VwLWNvbXBhcmlzb24gPiBzdmcge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiNzaW11bGF0aW9uLXZpZXdlciAuc2ltdWxhdGlvbi12aWV3ZXJfX21hdGNoaW5nLXJlc3VsdHMgI21hdGNoLWdyb3VwLWNvbXBhcmlzb24gLm1hdGNoLWdyb3VwLWNvbXBhcmlzb25fX2RpYWdyYW0gPiBkaXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4jc2ltdWxhdGlvbi12aWV3ZXIgLnNpbXVsYXRpb24tdmlld2VyX19tYXRjaGluZy1yZXN1bHRzICNtYXRjaC1ncm91cC1jb21wYXJpc29uIC5tYXRjaC1ncm91cC1jb21wYXJpc29uX19vcmlnaW5hbCxcbiNzaW11bGF0aW9uLXZpZXdlciAuc2ltdWxhdGlvbi12aWV3ZXJfX21hdGNoaW5nLXJlc3VsdHMgI21hdGNoLWdyb3VwLWNvbXBhcmlzb24gLm1hdGNoLWdyb3VwLWNvbXBhcmlzb25fX3NpbXVsYXRlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktaXRlbXM6IGZsZXgtc3RhcnQ7XG59XG4jc2ltdWxhdGlvbi12aWV3ZXIgLnNpbXVsYXRpb24tdmlld2VyX19tYXRjaGluZy1yZXN1bHRzICNtYXRjaC1ncm91cC1jb21wYXJpc29uIC5tYXRjaC1ncm91cC1jb21wYXJpc29uX19ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktaXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTUsIDQ1LCA3NiwgMC4xMyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNEY4RkM7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgbWFyZ2luOiA1cHg7XG4gIHBhZGRpbmc6IDJweDtcbn1cbiNzaW11bGF0aW9uLXZpZXdlciAuc2ltdWxhdGlvbi12aWV3ZXJfX21hdGNoaW5nLXJlc3VsdHMgI21hdGNoLWdyb3VwLWNvbXBhcmlzb24gLm1hdGNoLWdyb3VwLWNvbXBhcmlzb25fX2ZsYWdtZW50IHtcbiAgbWFyZ2luOiAzcHg7XG59XG4jc2ltdWxhdGlvbi12aWV3ZXIgLnNpbXVsYXRpb24tdmlld2VyX19tYXRjaGluZy1yZXN1bHRzICNtYXRjaC1ncm91cC1jb21wYXJpc29uIC5zaW11bGF0aW9uLWZyYWdtZW50IHtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBwYWRkaW5nOiAycHg7XG59XG4jc2ltdWxhdGlvbi12aWV3ZXIgLnNpbXVsYXRpb24tdmlld2VyX19tYXRjaGluZy1yZXN1bHRzICNtYXRjaC1ncm91cC1jb21wYXJpc29uIC5zaW11bGF0aW9uLWZyYWdtZW50IC5zaW11bGF0aW9uLWZyYWdtZW50X19zb3VyY2Uge1xuICBmb250LXNpemU6IDEwcHg7XG59XG4uc2ltdWxhdGlvbi1mcmFnbWVudF9fcG9wdXAgdGQge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnNpbXVsYXRpb24tc2lkZWJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5zaW11bGF0aW9uLXNpZGViYXIgLnNpbXVsYXRpb24tc2lkZWJhcl9fc2lkZWJhciB7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogd2lkdGggMzAwbXMgZWFzZS1pbi1vdXQ7XG4gIHdpZHRoOiA1MDBweDtcbn1cbi5zaW11bGF0aW9uLXNpZGViYXIgLnNpbXVsYXRpb24tc2lkZWJhcl9fc2lkZWJhci5zaWRlYmFyLWNsb3NlZCB7XG4gIHdpZHRoOiAwcHg7XG59XG4uc2ltdWxhdGlvbi1zaWRlYmFyIC5zaW11bGF0aW9uLXNpZGViYXJfX3RhYiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTQwcHg7XG4gIHRvcDogNTAlO1xufVxuLmNvbXBvc2l0ZS1yZWNvcmQtY29tcGFyaXNvbnMgLmNvbXBvc2l0ZS1yZWNvcmQtY29tcGFyaXNvbnNfX2NoYW5nZWQtcm93IHRkLFxuLmNvbXBvc2l0ZS1yZWNvcmQtY29tcGFyaXNvbnMgLmNvbXBvc2l0ZS1yZWNvcmQtY29tcGFyaXNvbnNfX3VuY2hhbmdlZC1yb3cgdGQsXG4uY29tcG9zaXRlLXJlY29yZC1jb21wYXJpc29ucyAuY29tcG9zaXRlLXJlY29yZC1jb21wYXJpc29uc19fY2hhbmdlZC1yb3cgdGgsXG4uY29tcG9zaXRlLXJlY29yZC1jb21wYXJpc29ucyAuY29tcG9zaXRlLXJlY29yZC1jb21wYXJpc29uc19fdW5jaGFuZ2VkLXJvdyB0aCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGZvbnQtc2l6ZTogMTBwdDtcbn1cbi5jb21wb3NpdGUtcmVjb3JkLWNvbXBhcmlzb25zIC5jb21wb3NpdGUtcmVjb3JkLWNvbXBhcmlzb25zX19jaGFuZ2VkLXJvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkVEREU7XG59XG4uY29tcG9zaXRlLXJlY29yZC1jb21wYXJpc29ucyAuY29tcG9zaXRlLXJlY29yZC1jb21wYXJpc29uc19fdW5jaGFuZ2VkLXJvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFNUY5RTc7XG59XG4iLCIvKi0tLSAgTmFtZWQgY29sb3JzIChkbyBub3QgaW1wb3J0KSAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2l0ZSBDb2xvcnMgVG8gSW1wb3J0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBPdmVyYWxsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTaGFkaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgVHJhbnNwYXJlbnQgYmFja2dyb3VuZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRFWFRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIElucHV0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgR2xvYmFsIE1vZGlmaWVyIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gRHJhZnQgRmlnbWEgQ29sb3JzIC0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLmNvbXBvc2l0ZS1yZWNvcmRzLXBpY2tlciAuY29tcG9zaXRlLXJlY29yZHMtcGlja2VyX19zZWFyY2gtcmVzdWx0cyB7XG4gIG1heC1oZWlnaHQ6IDUwMHB4O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG4iXSwic291cmNlUm9vdCI6IiJ9*/