/* ------------------------------------------------------------------------ *\
 * Mixins
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ *\
 * Functions
\* ------------------------------------------------------------------------ */
/*
 * Retrieve a color variable
 *
 * @param  {string}  $color - The name of the color as defined in _variables
 * @param  {string}  $tone  - The variant of the color (shade|base|tint)
 */
/*
 * Remove the unit of a length
 *
 * @param  {Number}  $number
 */
/*
 * Convert PX units in to EM or REM, relative to a specified base sizes
 *
 * @param  {Number}  $size - Array of up to four sizes in PX units
 * @param  {Number}  $base - Font size to base calculations off of
 * @param  {String}  $unit - Either "em" or "rem"
 */
/*
 * Convert Photoshop leading to CSS line-height
 *
 * @param  {Number}  $size - Value of Leading in Photoshop's Character Panel
 * @param  {Number}  $base - Value of Font Size in Photoshop's Character Panel
 */
/*
 * Convert Photoshop tracking to CSS letter-spacing
 *
 * @param  {Number}  $size - Value of Tracking in Photoshop's Character Panel
 * @param  {Number}  $base - Value of Font Size in Photoshop's Character Panel
 */
/* ------------------------------------------------------------------------ *\
 * Colors
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ *\
 * Fonts
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ *\
 * Widths
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ *\
 * Column Count
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ *\
 * Break Points
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ *\
 * Layers
\* ------------------------------------------------------------------------ */
.col-1 {
  max-width: 8.3333333333%;
}

.col-2 {
  max-width: 16.6666666667%;
}

.col-3 {
  max-width: 25%;
}

.col-4 {
  max-width: 33.3333333333%;
}

.col-5 {
  max-width: 41.6666666667%;
}

.col-6 {
  max-width: 50%;
}

.col-7 {
  max-width: 58.3333333333%;
}

.col-8 {
  max-width: 66.6666666667%;
}

.col-9 {
  max-width: 75%;
}

.col-10 {
  max-width: 83.3333333333%;
}

.col-11 {
  max-width: 91.6666666667%;
}

.col-12 {
  max-width: 100%;
}

@media (min-width: 48em) {
  .col-xs-1 {
    max-width: 8.3333333333%;
  }

  .col-xs-2 {
    max-width: 16.6666666667%;
  }

  .col-xs-3 {
    max-width: 25%;
  }

  .col-xs-4 {
    max-width: 33.3333333333%;
  }

  .col-xs-5 {
    max-width: 41.6666666667%;
  }

  .col-xs-6 {
    max-width: 50%;
  }

  .col-xs-7 {
    max-width: 58.3333333333%;
  }

  .col-xs-8 {
    max-width: 66.6666666667%;
  }

  .col-xs-9 {
    max-width: 75%;
  }

  .col-xs-10 {
    max-width: 83.3333333333%;
  }

  .col-xs-11 {
    max-width: 91.6666666667%;
  }

  .col-xs-12 {
    max-width: 100%;
  }
}
@media (min-width: 53.3125em) {
  .col-s-1 {
    max-width: 8.3333333333%;
  }

  .col-s-2 {
    max-width: 16.6666666667%;
  }

  .col-s-3 {
    max-width: 25%;
  }

  .col-s-4 {
    max-width: 33.3333333333%;
  }

  .col-s-5 {
    max-width: 41.6666666667%;
  }

  .col-s-6 {
    max-width: 50%;
  }

  .col-s-7 {
    max-width: 58.3333333333%;
  }

  .col-s-8 {
    max-width: 66.6666666667%;
  }

  .col-s-9 {
    max-width: 75%;
  }

  .col-s-10 {
    max-width: 83.3333333333%;
  }

  .col-s-11 {
    max-width: 91.6666666667%;
  }

  .col-s-12 {
    max-width: 100%;
  }
}
@media (min-width: 60em) {
  .col-m-1 {
    max-width: 8.3333333333%;
  }

  .col-m-2 {
    max-width: 16.6666666667%;
  }

  .col-m-3 {
    max-width: 25%;
  }

  .col-m-4 {
    max-width: 33.3333333333%;
  }

  .col-m-5 {
    max-width: 41.6666666667%;
  }

  .col-m-6 {
    max-width: 50%;
  }

  .col-m-7 {
    max-width: 58.3333333333%;
  }

  .col-m-8 {
    max-width: 66.6666666667%;
  }

  .col-m-9 {
    max-width: 75%;
  }

  .col-m-10 {
    max-width: 83.3333333333%;
  }

  .col-m-11 {
    max-width: 91.6666666667%;
  }

  .col-m-12 {
    max-width: 100%;
  }
}
@media (min-width: 64em) {
  .col-l-1 {
    max-width: 8.3333333333%;
  }

  .col-l-2 {
    max-width: 16.6666666667%;
  }

  .col-l-3 {
    max-width: 25%;
  }

  .col-l-4 {
    max-width: 33.3333333333%;
  }

  .col-l-5 {
    max-width: 41.6666666667%;
  }

  .col-l-6 {
    max-width: 50%;
  }

  .col-l-7 {
    max-width: 58.3333333333%;
  }

  .col-l-8 {
    max-width: 66.6666666667%;
  }

  .col-l-9 {
    max-width: 75%;
  }

  .col-l-10 {
    max-width: 83.3333333333%;
  }

  .col-l-11 {
    max-width: 91.6666666667%;
  }

  .col-l-12 {
    max-width: 100%;
  }
}
@media (min-width: 80em) {
  .col-xl-1 {
    max-width: 8.3333333333%;
  }

  .col-xl-2 {
    max-width: 16.6666666667%;
  }

  .col-xl-3 {
    max-width: 25%;
  }

  .col-xl-4 {
    max-width: 33.3333333333%;
  }

  .col-xl-5 {
    max-width: 41.6666666667%;
  }

  .col-xl-6 {
    max-width: 50%;
  }

  .col-xl-7 {
    max-width: 58.3333333333%;
  }

  .col-xl-8 {
    max-width: 66.6666666667%;
  }

  .col-xl-9 {
    max-width: 75%;
  }

  .col-xl-10 {
    max-width: 83.3333333333%;
  }

  .col-xl-11 {
    max-width: 91.6666666667%;
  }

  .col-xl-12 {
    max-width: 100%;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhlbHBlcnMvX21peGlucy5zY3NzIiwiaGVscGVycy9fZnVuY3Rpb25zLnNjc3MiLCJoZWxwZXJzL192YXJpYWJsZXMuc2NzcyIsImxlZ2FjeS5zY3NzIiwibGVnYWN5LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7NkVBQUE7QUNFQTs7NkVBQUE7QUFJQTs7Ozs7RUFBQTtBQVVBOzs7O0VBQUE7QUFTQTs7Ozs7O0VBQUE7QUErQkE7Ozs7O0VBQUE7QUFhQTs7Ozs7RUFBQTtBQ25FQTs7NkVBQUE7QUFvREE7OzZFQUFBO0FBT0E7OzZFQUFBO0FBUUE7OzZFQUFBO0FBTUE7OzZFQUFBO0FBMEJBOzs2RUFBQTtBQzlGSTtFQUNJLHdCQUFBO0FDOENSOztBRC9DSTtFQUNJLHlCQUFBO0FDa0RSOztBRG5ESTtFQUNJLGNBQUE7QUNzRFI7O0FEdkRJO0VBQ0kseUJBQUE7QUMwRFI7O0FEM0RJO0VBQ0kseUJBQUE7QUM4RFI7O0FEL0RJO0VBQ0ksY0FBQTtBQ2tFUjs7QURuRUk7RUFDSSx5QkFBQTtBQ3NFUjs7QUR2RUk7RUFDSSx5QkFBQTtBQzBFUjs7QUQzRUk7RUFDSSxjQUFBO0FDOEVSOztBRC9FSTtFQUNJLHlCQUFBO0FDa0ZSOztBRG5GSTtFQUNJLHlCQUFBO0FDc0ZSOztBRHZGSTtFQUNJLGVBQUE7QUMwRlI7O0FKd0JJO0VHNUdJO0lBQ0ksd0JBQUE7RUN3RlY7O0VEekZNO0lBQ0kseUJBQUE7RUM0RlY7O0VEN0ZNO0lBQ0ksY0FBQTtFQ2dHVjs7RURqR007SUFDSSx5QkFBQTtFQ29HVjs7RURyR007SUFDSSx5QkFBQTtFQ3dHVjs7RUR6R007SUFDSSxjQUFBO0VDNEdWOztFRDdHTTtJQUNJLHlCQUFBO0VDZ0hWOztFRGpITTtJQUNJLHlCQUFBO0VDb0hWOztFRHJITTtJQUNJLGNBQUE7RUN3SFY7O0VEekhNO0lBQ0kseUJBQUE7RUM0SFY7O0VEN0hNO0lBQ0kseUJBQUE7RUNnSVY7O0VEaklNO0lBQ0ksZUFBQTtFQ29JVjtBQUNGO0FKMUJJO0VHcEdJO0lBQ0ksd0JBQUE7RUNpSVY7O0VEbElNO0lBQ0kseUJBQUE7RUNxSVY7O0VEdElNO0lBQ0ksY0FBQTtFQ3lJVjs7RUQxSU07SUFDSSx5QkFBQTtFQzZJVjs7RUQ5SU07SUFDSSx5QkFBQTtFQ2lKVjs7RURsSk07SUFDSSxjQUFBO0VDcUpWOztFRHRKTTtJQUNJLHlCQUFBO0VDeUpWOztFRDFKTTtJQUNJLHlCQUFBO0VDNkpWOztFRDlKTTtJQUNJLGNBQUE7RUNpS1Y7O0VEbEtNO0lBQ0kseUJBQUE7RUNxS1Y7O0VEdEtNO0lBQ0kseUJBQUE7RUN5S1Y7O0VEMUtNO0lBQ0ksZUFBQTtFQzZLVjtBQUNGO0FKM0VJO0VHNUZJO0lBQ0ksd0JBQUE7RUMwS1Y7O0VEM0tNO0lBQ0kseUJBQUE7RUM4S1Y7O0VEL0tNO0lBQ0ksY0FBQTtFQ2tMVjs7RURuTE07SUFDSSx5QkFBQTtFQ3NMVjs7RUR2TE07SUFDSSx5QkFBQTtFQzBMVjs7RUQzTE07SUFDSSxjQUFBO0VDOExWOztFRC9MTTtJQUNJLHlCQUFBO0VDa01WOztFRG5NTTtJQUNJLHlCQUFBO0VDc01WOztFRHZNTTtJQUNJLGNBQUE7RUMwTVY7O0VEM01NO0lBQ0kseUJBQUE7RUM4TVY7O0VEL01NO0lBQ0kseUJBQUE7RUNrTlY7O0VEbk5NO0lBQ0ksZUFBQTtFQ3NOVjtBQUNGO0FKNUhJO0VHcEZJO0lBQ0ksd0JBQUE7RUNtTlY7O0VEcE5NO0lBQ0kseUJBQUE7RUN1TlY7O0VEeE5NO0lBQ0ksY0FBQTtFQzJOVjs7RUQ1Tk07SUFDSSx5QkFBQTtFQytOVjs7RURoT007SUFDSSx5QkFBQTtFQ21PVjs7RURwT007SUFDSSxjQUFBO0VDdU9WOztFRHhPTTtJQUNJLHlCQUFBO0VDMk9WOztFRDVPTTtJQUNJLHlCQUFBO0VDK09WOztFRGhQTTtJQUNJLGNBQUE7RUNtUFY7O0VEcFBNO0lBQ0kseUJBQUE7RUN1UFY7O0VEeFBNO0lBQ0kseUJBQUE7RUMyUFY7O0VENVBNO0lBQ0ksZUFBQTtFQytQVjtBQUNGO0FKN0tJO0VHNUVJO0lBQ0ksd0JBQUE7RUM0UFY7O0VEN1BNO0lBQ0kseUJBQUE7RUNnUVY7O0VEalFNO0lBQ0ksY0FBQTtFQ29RVjs7RURyUU07SUFDSSx5QkFBQTtFQ3dRVjs7RUR6UU07SUFDSSx5QkFBQTtFQzRRVjs7RUQ3UU07SUFDSSxjQUFBO0VDZ1JWOztFRGpSTTtJQUNJLHlCQUFBO0VDb1JWOztFRHJSTTtJQUNJLHlCQUFBO0VDd1JWOztFRHpSTTtJQUNJLGNBQUE7RUM0UlY7O0VEN1JNO0lBQ0kseUJBQUE7RUNnU1Y7O0VEalNNO0lBQ0kseUJBQUE7RUNvU1Y7O0VEclNNO0lBQ0ksZUFBQTtFQ3dTVjtBQUNGIiwiZmlsZSI6ImxlZ2FjeS4zZmZlNGI1OC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIE1peGluc1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AdXNlIFwic2FzczptYXRoXCI7XG5cbi8vIG50aC1jaGlsZDogaHR0cHM6Ly9wYXVsdW5kLmNvLnVrL250aC1jaGlsZC1zYXNzLW1peGluc1xuXG5AbWl4aW4gZmlyc3QtY2hpbGQoKSB7XG4gICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gbGFzdC1jaGlsZCgpIHtcbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIGV2ZW4oKSB7XG4gICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBvZGQoKSB7XG4gICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIGZpcnN0KCRudW0pIHtcbiAgICBAaWYgJG51bSA9PSAxIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICAgJjpudGgtY2hpbGQoLW4gKyAjeyRudW19KSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGxhc3QoJG51bSkge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoLW4gKyAjeyRudW19KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIGFmdGVyKCRudW0pIHtcbiAgICAmOm50aC1jaGlsZChuKyN7JG51bSArIDF9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIGZyb20tZW5kKCRudW0pIHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JG51bX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gYmV0d2VlbigkZmlyc3QsICRsYXN0KSB7XG4gICAgJjpudGgtY2hpbGQobisjeyRmaXJzdH0pOm50aC1jaGlsZCgtbisjeyRsYXN0fSkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBhbGwtYnV0KCRudW0pIHtcbiAgICAmOm5vdCg6bnRoLWNoaWxkKCN7JG51bX0pKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIGVhY2goJG51bSkge1xuICAgICY6bnRoLWNoaWxkKCN7JG51bX1uKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuLy8gbGF5ZXJzXG5cbkBtaXhpbiBsYXllcigkbGF5ZXItbmFtZSkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiBtYXAtZ2V0KCRsYXllcnMsICRsYXllci1uYW1lKTtcbn1cblxuLy8gU2NhbGUgZHluYW1pY2FsbHkgdW50aWwgYSBnaXZlbiB2aWV3cG9ydFxuXG5AbWl4aW4gdmlld3BvcnQtc2NhbGUoJHNpemU6IDE2LCAkYmFzZTogMTAyNCwgJG1pbi13aWR0aDogMCwgJG1heC13aWR0aDogbnVsbCkge1xuICAgICRtYXgtd2lkdGg6IGlmKCRtYXgtd2lkdGggPT0gbnVsbCwgJGJhc2UsICRtYXgtd2lkdGgpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogcmVtaWZ5KCRtaW4td2lkdGgsIDE2KSkgYW5kIChtYXgtd2lkdGg6IHJlbWlmeSgkbWF4LXdpZHRoLCAxNikpIHtcbiAgICAgICAgZm9udC1zaXplOiAoJHNpemUgLyAkYmFzZSkgKiAxMDB2dztcbiAgICB9XG59XG5cbi8vIENyZWF0ZSBhIG1lZGlhIHF1ZXJ5IHJlbGF0aXZlIHRvIGEgYnJlYWsgcG9pbnQgdmFyaWFibGVcblxuQG1peGluIHNtYWxsZXItdGhhbigkcG9pbnQtbmFtZSwgJGluY2x1c2l2ZTogZmFsc2UpIHtcbiAgICAkd2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkcG9pbnQtbmFtZSk7XG5cbiAgICBAaWYgJGluY2x1c2l2ZSA9PSBmYWxzZSB7XG4gICAgICAgICR3aWR0aDogJHdpZHRoIC0gbWF0aC5kaXYoMSwgMTYpO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkd2lkdGgpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG4vLyBDcmVhdGUgYSBtZWRpYSBxdWVyeSByZWxhdGl2ZSB0byBhIGJyZWFrIHBvaW50IHZhcmlhYmxlXG5cbkBtaXhpbiBsYXJnZXItdGhhbigkcG9pbnQtbmFtZSwgJGluY2x1c2l2ZTogdHJ1ZSkge1xuICAgICR3aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRwb2ludC1uYW1lKTtcblxuICAgIEBpZiAkaW5jbHVzaXZlID09IGZhbHNlIHtcbiAgICAgICAgJHdpZHRoOiAkd2lkdGggKyBtYXRoLmRpdigxLCAxNik7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICR3aWR0aCkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8vIFNjYWxlIGZvbnQgc2l6ZSBiYXNlZCBvbiBWVyB1bml0c1xuXG5AbWl4aW4gZm9udC1zY2FsZSgkc2l6ZSwgJHBvaW50LW5hbWUpIHtcbiAgICAkd2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkcG9pbnQtbmFtZSk7XG5cbiAgICBmb250LXNpemU6IG1hdGguZGl2KCRzaXplLCBzdHJpcC11bml0KCR3aWR0aCAqIDE2KSkgKiAxMDB2dztcbn1cblxuLy8gRnVsbCBXaWR0aCBDb250YWluZXJzIGluIExpbWl0ZWQgV2lkdGggUGFyZW50c1xuXG5AbWl4aW4gZnVsbC1ibGVlZCB7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtNTB2dztcbiAgICBtYXJnaW4tcmlnaHQ6IC01MHZ3O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNTAlO1xuICAgIHdpZHRoOiAxMDB2dztcbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuQHVzZSBcInNhc3M6bWF0aFwiO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBGdW5jdGlvbnNcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLypcbiAqIFJldHJpZXZlIGEgY29sb3IgdmFyaWFibGVcbiAqXG4gKiBAcGFyYW0gIHtzdHJpbmd9ICAkY29sb3IgLSBUaGUgbmFtZSBvZiB0aGUgY29sb3IgYXMgZGVmaW5lZCBpbiBfdmFyaWFibGVzXG4gKiBAcGFyYW0gIHtzdHJpbmd9ICAkdG9uZSAgLSBUaGUgdmFyaWFudCBvZiB0aGUgY29sb3IgKHNoYWRlfGJhc2V8dGludClcbiAqL1xuQGZ1bmN0aW9uIGNvbG9yKCRjb2xvciwgJHRvbmU6IGJhc2UpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAkY29sb3IpLCAkdG9uZSk7XG59XG5cbi8qXG4gKiBSZW1vdmUgdGhlIHVuaXQgb2YgYSBsZW5ndGhcbiAqXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICAkbnVtYmVyXG4gKi9cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW1iZXIpIHtcbiAgICBAcmV0dXJuIGlmKHR5cGUtb2YoJG51bWJlcikgPT0gXCJudW1iZXJcIiBhbmQgbm90IHVuaXRsZXNzKCRudW1iZXIpLCBtYXRoLmRpdigkbnVtYmVyLCAoJG51bWJlciAqIDAgKyAxKSksICRudW1iZXIpO1xufVxuXG4vKlxuICogQ29udmVydCBQWCB1bml0cyBpbiB0byBFTSBvciBSRU0sIHJlbGF0aXZlIHRvIGEgc3BlY2lmaWVkIGJhc2Ugc2l6ZXNcbiAqXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICAkc2l6ZSAtIEFycmF5IG9mIHVwIHRvIGZvdXIgc2l6ZXMgaW4gUFggdW5pdHNcbiAqIEBwYXJhbSAge051bWJlcn0gICRiYXNlIC0gRm9udCBzaXplIHRvIGJhc2UgY2FsY3VsYXRpb25zIG9mZiBvZlxuICogQHBhcmFtICB7U3RyaW5nfSAgJHVuaXQgLSBFaXRoZXIgXCJlbVwiIG9yIFwicmVtXCJcbiAqL1xuQGZ1bmN0aW9uIHJlbWlmeSgkc2l6ZXM6ICgkc2l6ZTEsICRzaXplMiwgJHNpemUzLCAkc2l6ZTQpLCAkYmFzZTogbnVsbCwgJHVuaXQ6IG51bGwpIHtcbiAgICAkdW5pdDogaWYoJHVuaXQgPT0gbnVsbCwgaWYoJGJhc2UgPT0gbnVsbCwgcmVtLCBlbSksICR1bml0KTtcbiAgICAkYmFzZTogaWYoJGJhc2UgPT0gbnVsbCwgMTYsIHN0cmlwLXVuaXQoJGJhc2UpKTtcbiAgICAkb3V0cHV0OiBcIlwiO1xuXG4gICAgQGVhY2ggJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgJHNpemU6IHN0cmlwLXVuaXQoJHNpemUpO1xuXG4gICAgICAgIEBpZiB0eXBlLW9mKCRzaXplKSA9PSBcIm51bWJlclwiIHtcbiAgICAgICAgICAgIC8vIGFkZCBhcyBzcGFjZSBpZiAkb3V0cHV0IGFscmVhZHkgaGFzIGEgdmFsdWVcbiAgICAgICAgICAgICRvdXRwdXQ6IGlmKCRvdXRwdXQgPT0gXCJcIiwgXCJcIiwgJG91dHB1dCArIFwiIFwiKTtcbiAgICAgICAgICAgIC8vIGNhbGN1bGF0ZSwgYXBwZW5kIHZhbHVlIHRvICRvdXRwdXRcbiAgICAgICAgICAgICRvdXRwdXQ6ICRvdXRwdXQgKyBtYXRoLmRpdihzdHJpcC11bml0KCRzaXplKSwgc3RyaXAtdW5pdCgkYmFzZSkpICsgJHVuaXQ7XG4gICAgICAgIH1cblxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAvLyBwYXNzIHRoZSB2YWx1ZSB0aHJvdWdoIHVuY2hhbmdlZCBpZiAkc2l6ZSBpcyBub3QgYSBudW1iZXJcbiAgICAgICAgICAgICRvdXRwdXQ6ICRvdXRwdXQgKyBcIiBcIiArICRzaXplO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBpZih0eXBlLW9mKCRvdXRwdXQpID09IFwic3RyaW5nXCIsIHVucXVvdGUoJG91dHB1dCksICRvdXRwdXQpO1xufVxuXG4vKlxuICogQ29udmVydCBQaG90b3Nob3AgbGVhZGluZyB0byBDU1MgbGluZS1oZWlnaHRcbiAqXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICAkc2l6ZSAtIFZhbHVlIG9mIExlYWRpbmcgaW4gUGhvdG9zaG9wJ3MgQ2hhcmFjdGVyIFBhbmVsXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICAkYmFzZSAtIFZhbHVlIG9mIEZvbnQgU2l6ZSBpbiBQaG90b3Nob3AncyBDaGFyYWN0ZXIgUGFuZWxcbiAqL1xuQGZ1bmN0aW9uIGxlYWRpbmcoJHNpemUsICRiYXNlOiBudWxsKSB7XG4gICAgJGJhc2U6IGlmKCRiYXNlID09IG51bGwsIDE2LCBzdHJpcC11bml0KCRiYXNlKSk7XG4gICAgJG91dHB1dDogJGJhc2UgKyAoc3RyaXAtdW5pdCgkc2l6ZSkgLyAyKTtcblxuICAgIEByZXR1cm4gJG91dHB1dDtcbn1cblxuLypcbiAqIENvbnZlcnQgUGhvdG9zaG9wIHRyYWNraW5nIHRvIENTUyBsZXR0ZXItc3BhY2luZ1xuICpcbiAqIEBwYXJhbSAge051bWJlcn0gICRzaXplIC0gVmFsdWUgb2YgVHJhY2tpbmcgaW4gUGhvdG9zaG9wJ3MgQ2hhcmFjdGVyIFBhbmVsXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICAkYmFzZSAtIFZhbHVlIG9mIEZvbnQgU2l6ZSBpbiBQaG90b3Nob3AncyBDaGFyYWN0ZXIgUGFuZWxcbiAqL1xuQGZ1bmN0aW9uIHRyYWNraW5nKCRzaXplLCAkYmFzZTogbnVsbCkge1xuICAgICRiYXNlOiBpZigkYmFzZSA9PSBudWxsLCAxNiwgc3RyaXAtdW5pdCgkYmFzZSkpO1xuICAgICRvdXRwdXQ6ICgkc2l6ZSAvIDEwMDApICogc3RyaXAtdW5pdCgkYmFzZSk7XG5cbiAgICBAcmV0dXJuICRvdXRwdXQ7XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogQ29sb3JzXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiRjb2xvcnM6IChcbiAgICBcInByaW1hcnlcIjogKFxuICAgICAgICB0aW50OiAgI0M2NDg1RixcbiAgICAgICAgYmFzZTogICM5MTE5MkYsXG4gICAgICAgIHNoYWRlOiAjNEMxMTFBLFxuICAgICksXG4gICAgXCJhY2NlbnRcIjogKFxuICAgICAgICB0aW50OiAgI0M2NDg1RixcbiAgICAgICAgYmFzZTogICM5MTE5MkYsXG4gICAgICAgIHNoYWRlOiAjNEMxMTFBLFxuICAgICksXG4gICAgXCJlcnJvclwiOiAoXG4gICAgICAgIHRpbnQ6ICAjRDM3RjdGLFxuICAgICAgICBiYXNlOiAgI0M2MjgyOCxcbiAgICAgICAgc2hhZGU6ICM4MDI0MjEsXG4gICAgKSxcbiAgICBcInN1Y2Nlc3NcIjogKFxuICAgICAgICB0aW50OiAgIzdGRDNBMCxcbiAgICAgICAgYmFzZTogICMyOEM2NjUsXG4gICAgICAgIHNoYWRlOiAjMjE4MDQ5LFxuICAgICksXG4gICAgXCJmb3JlZ3JvdW5kXCI6IChcbiAgICAgICAgdGludDogICM3OTc5NzksXG4gICAgICAgIGJhc2U6ICAjMDAwMDAwLFxuICAgICAgICBzaGFkZTogIzAwMDAwMCxcbiAgICApLFxuICAgIFwiYmFja2dyb3VuZFwiOiAoXG4gICAgICAgIHRpbnQ6ICAjRkZGRkZGLFxuICAgICAgICBiYXNlOiAgI0ZGRkZGRixcbiAgICAgICAgc2hhZGU6ICNEOEQ4RDgsXG4gICAgKSxcbiAgICBcInBhZ2UtYmFja2dyb3VuZFwiOiAoXG4gICAgICAgIHRpbnQ6ICAjQzY0ODVGLFxuICAgICAgICBiYXNlOiAgIzRDMTExQSxcbiAgICAgICAgc2hhZGU6ICMwQzAzMDUsXG4gICAgKSxcbiAgICBcImxpZ2h0XCI6IChcbiAgICAgICAgdGludDogICNGRkZGRkYsXG4gICAgICAgIGJhc2U6ICAjRkZGRkZGLFxuICAgICAgICBzaGFkZTogI0Q4RDhEOCxcbiAgICApLFxuICAgIFwiZGFya1wiOiAoXG4gICAgICAgIHRpbnQ6ICAjNzk3OTc5LFxuICAgICAgICBiYXNlOiAgIzAwMDAwMCxcbiAgICAgICAgc2hhZGU6ICMwMDAwMDAsXG4gICAgKSxcbik7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEZvbnRzXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiRoZWFkaW5nLWZvbnQ6IFwicHJveGltYS1ub3ZhXCIsIFwiUHJveGltYSBOb3ZhXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiRib2R5LWZvbnQ6IFwicHJveGltYS1ub3ZhXCIsIFwiUHJveGltYSBOb3ZhXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogV2lkdGhzXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiRzaXRlLXdpZHRoOiAxNDQwO1xuJGNvbHVtbi1nYXA6IDMwO1xuJGNvbnRlbnQtcGFkZGluZzogMjU7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIENvbHVtbiBDb3VudFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4kY29sdW1uLWNvdW50OiAxMjtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogQnJlYWsgUG9pbnRzXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiR4eHhsLWJyZWFrOiBtYXRoLmRpdigxNDQwZW0sIDE2KTtcbiR4eGwtYnJlYWs6ICBtYXRoLmRpdigxMzY2ZW0sIDE2KTtcbiR4bC1icmVhazogICBtYXRoLmRpdigxMjgwZW0sIDE2KTtcbiRsLWJyZWFrOiAgICBtYXRoLmRpdigxMDI0ZW0sIDE2KTtcbiRtLWJyZWFrOiAgICBtYXRoLmRpdig5NjBlbSwgMTYpO1xuJHMtYnJlYWs6ICAgIG1hdGguZGl2KDg1M2VtLCAxNik7XG4keHMtYnJlYWs6ICAgbWF0aC5kaXYoNzY4ZW0sIDE2KTtcbiR4eHMtYnJlYWs6ICBtYXRoLmRpdig2NDBlbSwgMTYpO1xuJHh4eHMtYnJlYWs6IG1hdGguZGl2KDQ4MGVtLCAxNik7XG5cbiRicmVha3BvaW50czogKFxuICAgIHh4eHM6ICR4eHhzLWJyZWFrLFxuICAgIHh4czogICR4eHMtYnJlYWssXG4gICAgeHM6ICAgJHhzLWJyZWFrLFxuICAgIHM6ICAgICRzLWJyZWFrLFxuICAgIG06ICAgICRtLWJyZWFrLFxuICAgIGw6ICAgICRsLWJyZWFrLFxuICAgIHhsOiAgICR4bC1icmVhayxcbiAgICB4eGw6ICAkeHhsLWJyZWFrLFxuICAgIHh4eGw6ICR4eHhsLWJyZWFrLFxuKTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTGF5ZXJzXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiRsYXllcnM6IChcbiAgICB0b29sYmFyOiA1LFxuICAgIGhlYWRlcjogNixcbiAgICBuYXZpZ2F0aW9uOiA0LFxuICAgIGJhbm5lcjogMyxcbiAgICBjb250ZW50OiAyLFxuICAgIGZvb3RlcjogMSxcbik7XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuQGltcG9ydCBcImhlbHBlcnMvX21peGluc1wiO1xuQGltcG9ydCBcImhlbHBlcnMvX2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcImhlbHBlcnMvX3ZhcmlhYmxlc1wiO1xuXG5AZm9yICRpIGZyb20gMSB0aHJvdWdoIDEyIHtcbiAgICAuY29sLSN7JGl9IHtcbiAgICAgICAgbWF4LXdpZHRoOiBtYXRoLmRpdigkaSwgMTIpICogMTAwJTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGxhcmdlci10aGFuKHhzKSB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAxMiB7XG4gICAgICAgIC5jb2wteHMtI3skaX0ge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBtYXRoLmRpdigkaSwgMTIpICogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgbGFyZ2VyLXRoYW4ocykge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMTIge1xuICAgICAgICAuY29sLXMtI3skaX0ge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBtYXRoLmRpdigkaSwgMTIpICogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgbGFyZ2VyLXRoYW4obSkge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMTIge1xuICAgICAgICAuY29sLW0tI3skaX0ge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBtYXRoLmRpdigkaSwgMTIpICogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgbGFyZ2VyLXRoYW4obCkge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMTIge1xuICAgICAgICAuY29sLWwtI3skaX0ge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBtYXRoLmRpdigkaSwgMTIpICogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgbGFyZ2VyLXRoYW4oeGwpIHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDEyIHtcbiAgICAgICAgLmNvbC14bC0jeyRpfSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG1hdGguZGl2KCRpLCAxMikgKiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTWl4aW5zXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBGdW5jdGlvbnNcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gKiBSZXRyaWV2ZSBhIGNvbG9yIHZhcmlhYmxlXG4gKlxuICogQHBhcmFtICB7c3RyaW5nfSAgJGNvbG9yIC0gVGhlIG5hbWUgb2YgdGhlIGNvbG9yIGFzIGRlZmluZWQgaW4gX3ZhcmlhYmxlc1xuICogQHBhcmFtICB7c3RyaW5nfSAgJHRvbmUgIC0gVGhlIHZhcmlhbnQgb2YgdGhlIGNvbG9yIChzaGFkZXxiYXNlfHRpbnQpXG4gKi9cbi8qXG4gKiBSZW1vdmUgdGhlIHVuaXQgb2YgYSBsZW5ndGhcbiAqXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICAkbnVtYmVyXG4gKi9cbi8qXG4gKiBDb252ZXJ0IFBYIHVuaXRzIGluIHRvIEVNIG9yIFJFTSwgcmVsYXRpdmUgdG8gYSBzcGVjaWZpZWQgYmFzZSBzaXplc1xuICpcbiAqIEBwYXJhbSAge051bWJlcn0gICRzaXplIC0gQXJyYXkgb2YgdXAgdG8gZm91ciBzaXplcyBpbiBQWCB1bml0c1xuICogQHBhcmFtICB7TnVtYmVyfSAgJGJhc2UgLSBGb250IHNpemUgdG8gYmFzZSBjYWxjdWxhdGlvbnMgb2ZmIG9mXG4gKiBAcGFyYW0gIHtTdHJpbmd9ICAkdW5pdCAtIEVpdGhlciBcImVtXCIgb3IgXCJyZW1cIlxuICovXG4vKlxuICogQ29udmVydCBQaG90b3Nob3AgbGVhZGluZyB0byBDU1MgbGluZS1oZWlnaHRcbiAqXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICAkc2l6ZSAtIFZhbHVlIG9mIExlYWRpbmcgaW4gUGhvdG9zaG9wJ3MgQ2hhcmFjdGVyIFBhbmVsXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICAkYmFzZSAtIFZhbHVlIG9mIEZvbnQgU2l6ZSBpbiBQaG90b3Nob3AncyBDaGFyYWN0ZXIgUGFuZWxcbiAqL1xuLypcbiAqIENvbnZlcnQgUGhvdG9zaG9wIHRyYWNraW5nIHRvIENTUyBsZXR0ZXItc3BhY2luZ1xuICpcbiAqIEBwYXJhbSAge051bWJlcn0gICRzaXplIC0gVmFsdWUgb2YgVHJhY2tpbmcgaW4gUGhvdG9zaG9wJ3MgQ2hhcmFjdGVyIFBhbmVsXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICAkYmFzZSAtIFZhbHVlIG9mIEZvbnQgU2l6ZSBpbiBQaG90b3Nob3AncyBDaGFyYWN0ZXIgUGFuZWxcbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogQ29sb3JzXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBGb250c1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogV2lkdGhzXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBDb2x1bW4gQ291bnRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEJyZWFrIFBvaW50c1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTGF5ZXJzXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uY29sLTEge1xuICBtYXgtd2lkdGg6IDguMzMzMzMzMzMzMyU7XG59XG5cbi5jb2wtMiB7XG4gIG1heC13aWR0aDogMTYuNjY2NjY2NjY2NyU7XG59XG5cbi5jb2wtMyB7XG4gIG1heC13aWR0aDogMjUlO1xufVxuXG4uY29sLTQge1xuICBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xufVxuXG4uY29sLTUge1xuICBtYXgtd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xufVxuXG4uY29sLTYge1xuICBtYXgtd2lkdGg6IDUwJTtcbn1cblxuLmNvbC03IHtcbiAgbWF4LXdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbn1cblxuLmNvbC04IHtcbiAgbWF4LXdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbn1cblxuLmNvbC05IHtcbiAgbWF4LXdpZHRoOiA3NSU7XG59XG5cbi5jb2wtMTAge1xuICBtYXgtd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xufVxuXG4uY29sLTExIHtcbiAgbWF4LXdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbn1cblxuLmNvbC0xMiB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNvbC14cy0xIHtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cblxuICAuY29sLXhzLTIge1xuICAgIG1heC13aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLXhzLTMge1xuICAgIG1heC13aWR0aDogMjUlO1xuICB9XG5cbiAgLmNvbC14cy00IHtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG5cbiAgLmNvbC14cy01IHtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC14cy02IHtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxuXG4gIC5jb2wteHMtNyB7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuXG4gIC5jb2wteHMtOCB7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5jb2wteHMtOSB7XG4gICAgbWF4LXdpZHRoOiA3NSU7XG4gIH1cblxuICAuY29sLXhzLTEwIHtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG5cbiAgLmNvbC14cy0xMSB7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5jb2wteHMtMTIge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDUzLjMxMjVlbSkge1xuICAuY29sLXMtMSB7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG5cbiAgLmNvbC1zLTIge1xuICAgIG1heC13aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLXMtMyB7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gIH1cblxuICAuY29sLXMtNCB7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuXG4gIC5jb2wtcy01IHtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC1zLTYge1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG5cbiAgLmNvbC1zLTcge1xuICAgIG1heC13aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cblxuICAuY29sLXMtOCB7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5jb2wtcy05IHtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbiAgfVxuXG4gIC5jb2wtcy0xMCB7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuXG4gIC5jb2wtcy0xMSB7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5jb2wtcy0xMiB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAuY29sLW0tMSB7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG5cbiAgLmNvbC1tLTIge1xuICAgIG1heC13aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLW0tMyB7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gIH1cblxuICAuY29sLW0tNCB7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuXG4gIC5jb2wtbS01IHtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC1tLTYge1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG5cbiAgLmNvbC1tLTcge1xuICAgIG1heC13aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cblxuICAuY29sLW0tOCB7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5jb2wtbS05IHtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbiAgfVxuXG4gIC5jb2wtbS0xMCB7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuXG4gIC5jb2wtbS0xMSB7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5jb2wtbS0xMiB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY29sLWwtMSB7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG5cbiAgLmNvbC1sLTIge1xuICAgIG1heC13aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLWwtMyB7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gIH1cblxuICAuY29sLWwtNCB7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuXG4gIC5jb2wtbC01IHtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC1sLTYge1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG5cbiAgLmNvbC1sLTcge1xuICAgIG1heC13aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cblxuICAuY29sLWwtOCB7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5jb2wtbC05IHtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbiAgfVxuXG4gIC5jb2wtbC0xMCB7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuXG4gIC5jb2wtbC0xMSB7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5jb2wtbC0xMiB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAuY29sLXhsLTEge1xuICAgIG1heC13aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuXG4gIC5jb2wteGwtMiB7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5jb2wteGwtMyB7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gIH1cblxuICAuY29sLXhsLTQge1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cblxuICAuY29sLXhsLTUge1xuICAgIG1heC13aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLXhsLTYge1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG5cbiAgLmNvbC14bC03IHtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG5cbiAgLmNvbC14bC04IHtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC14bC05IHtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbiAgfVxuXG4gIC5jb2wteGwtMTAge1xuICAgIG1heC13aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cblxuICAuY29sLXhsLTExIHtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC14bC0xMiB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59Il19 */
