/*
    Ie9 styles polyfill
 */
/*
	Base font size in pixels
 */
/*
	Font families
 */
/*
	Default cubic-bezier
 */
/*
    Colour map
	- use the 'c' function to extract
 */
/*
	Z-Index map
	- use the 'z' function to extract
 */
/*
	Mixin for adding media queries based on breakpoints
	Usage:
	.container {
		@include bp(xs) {
			// more code
		}
	}
 */
/*
	Mixin for adding font-family declarations
	Usage:
	.content {
		@include ff(body);
	}
 */
/*
	Mixin to add css property with rem units, with a px fallback
	Usage:
	@include rem(margin, 10 20 5 40);
	or
	@include rem(font-size, 38);
 */
/*
	Rem mixin for font-size
 */
/*
	Mixin to add css transition. Can use defaults or pass in custom values
 */
/*
	Mixin to add container styles. Pass '0' to prevent the padding being added e.g.
	@include container(0);
 */
/*
	Function to access colour palette from $colours var
	Usage:
	.class {
		color: c(red, dark);
	}
 */
/*
	Function to access z-index from $z-index var
	Usage:
	.class {
		z-index: z(modal);
	}
 */
/*
	Helper function - used to return int value
 */
.site-header {
  background: #fff;
}

.site-header_top {
  display: table;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.site-header .primary-nav > ul {
  display: table;
}

.site-header .primary-nav > ul > li {
  display: table-cell;
}

.site-header .site-header_top {
  display: block;
}

.site-header .site-header_top .site-header_logo {
  display: block;
  float: left;
  padding-bottom: 15px;
}

.site-header .site-header_top .site-header_sup {
  display: block;
  float: right;
}

.site-footer {
  padding-left: 20px;
  padding-right: 20px;
}

.site-footer_logo {
  overflow: hidden;
  height: 60px;
}

@media screen and (min-width: 768px) {
  .site-footer {
    display: block;
  }
  .site-footer_main {
    display: block;
  }
  .site-footer_nav {
    display: block;
    float: left;
    width: 68%;
  }
  .site-footer_contact {
    display: block;
    float: right;
    width: 30%;
  }
  .site-footer_bottom {
    padding-top: 20px;
  }
  .site-footer_logo {
    overflow: hidden;
    height: 60px;
  }
}

.c-select-wrap {
  position: relative;
}

.c-select-wrap:after {
  display: none;
}

.c-select-wrap > select {
  background-color: transparent;
  padding-right: 10px;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImllLnNjc3MiLCJjb25maWcvX3ZhcnMuc2NzcyIsImNvbmZpZy9fbWl4aW5zLnNjc3MiLCJjb25maWcvX2Z1bmN0aW9ucy5zY3NzIiwiaWUuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FDQUg7O0dBRUc7QUFLSDs7R0FFRztBQUtIOztHQUVHO0FBS0g7OztHQUdHO0FBZ0RIOzs7R0FHRztBQzFFSDs7Ozs7Ozs7R0FRRztBQWtDSDs7Ozs7O0dBTUc7QUFZSDs7Ozs7O0dBTUc7QUF5Qkg7O0dBRUc7QUFPSDs7R0FFRztBQVNIOzs7R0FHRztBQ2xISDs7Ozs7O0dBTUc7QUFNSDs7Ozs7O0dBTUc7QUFNSDs7R0FFRztBSHRCSDtFQUNJLGlCQUFpQjtDQXlCcEI7O0FBMUJEO0VBR1EsZUFBZTtFQUNmLDBCQUFvQjtFQUFwQiw0QkFBb0I7S0FBcEIsdUJBQW9CO01BQXBCLHVCQUFvQjtVQUFwQixvQkFBb0I7Q0FDdkI7O0FBTEw7RUFRWSxlQUFlO0NBSWxCOztBQVpUO0VBVWdCLG9CQUFvQjtDQUN2Qjs7QUFYYjtFQWVRLGVBQWU7Q0FVbEI7O0FBekJMO0VBaUJZLGVBQWU7RUFDZixZQUFZO0VBQ1oscUJBQXFCO0NBQ3hCOztBQXBCVDtFQXNCWSxlQUFlO0VBQ2YsYUFBYTtDQUNoQjs7QUFJVDtFQUNJLG1CQUFtQjtFQUNuQixvQkFBb0I7Q0FLdkI7O0FBUEQ7RUFJUSxpQkFBaUI7RUFDakIsYUFBYTtDQUNoQjs7QUVUSDtFRmFFO0lBQ0ksZUFBZTtHQXFCbEI7RUF0QkQ7SUFHUSxlQUFlO0dBQ2xCO0VBSkw7SUFNUSxlQUFlO0lBQ2YsWUFBWTtJQUNaLFdBQVc7R0FDZDtFQVRMO0lBV1EsZUFBZTtJQUNmLGFBQWE7SUFDYixXQUFXO0dBQ2Q7RUFkTDtJQWdCUSxrQkFBa0I7R0FDckI7RUFqQkw7SUFtQlEsaUJBQWlCO0lBQ2pCLGFBQWE7R0FDaEI7Q0lzRVI7O0FKbEVEO0VBQ0ksbUJBQW1CO0NBUXRCOztBQVREO0VBR1EsY0FBYztDQUNqQjs7QUFKTDtFQU1RLDhCQUE4QjtFQUM5QixvQkFBb0I7Q0FDdkIiLCJmaWxlIjoiaWUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICAgIEllOSBzdHlsZXMgcG9seWZpbGxcclxuICovXHJcblxyXG5AaW1wb3J0ICdjb25maWcvX3ZhcnMuc2Nzcyc7XHJcbkBpbXBvcnQgJ2NvbmZpZy9fbWl4aW5zLnNjc3MnO1xyXG5AaW1wb3J0ICdjb25maWcvX2Z1bmN0aW9ucy5zY3NzJztcclxuLnNpdGUtaGVhZGVyIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAmX3RvcCB7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5wcmltYXJ5LW5hdiB7XHJcbiAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2l0ZS1oZWFkZXJfdG9wIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAuc2l0ZS1oZWFkZXJfbG9nbyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zaXRlLWhlYWRlcl9zdXAge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNpdGUtZm9vdGVyIHtcclxuICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICAmX2xvZ28ge1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBicChzbS11cCkge1xyXG4gICAgLnNpdGUtZm9vdGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAmX21haW4ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9uYXYge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2OCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfY29udGFjdCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfYm90dG9tIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfbG9nbyB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jLXNlbGVjdC13cmFwIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICA+IHNlbGVjdCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgIH1cclxufVxyXG4iLCJcclxuXHJcbi8qXHJcblx0QmFzZSBmb250IHNpemUgaW4gcGl4ZWxzXHJcbiAqL1xyXG4kYmFzZS1mb250LXNpemU6IDE2O1xyXG5cclxuXHJcblxyXG4vKlxyXG5cdEZvbnQgZmFtaWxpZXNcclxuICovXHJcbiRmZi1ib2R5OiAnR290aGFtIEEnLCAnR290aGFtIEInLCBzYW5zLXNlcmlmO1xyXG4kZmYtaGVhZGluZzogJ011c2VvLTMwMCcsIHNlcmlmO1xyXG5cclxuXHJcbi8qXHJcblx0RGVmYXVsdCBjdWJpYy1iZXppZXJcclxuICovXHJcbiRjYjogY3ViaWMtYmV6aWVyKC4yNiwuODUsLjQ2LC45OSk7XHJcblxyXG5cclxuXHJcbi8qXHJcbiAgICBDb2xvdXIgbWFwXHJcblx0LSB1c2UgdGhlICdjJyBmdW5jdGlvbiB0byBleHRyYWN0XHJcbiAqL1xyXG4kY29sb3VyczogKFxyXG5cdGFxdWE6IChcclxuICAgICAgICBsaWdodDogI2U2ZmJmNyxcclxuXHRcdGJhc2U6ICNiZGYzZTlcclxuXHQpLFxyXG5cdGdyZWVuOiAoXHJcblx0XHRsaWdodC1hbHQ6ICM1YWUxYzcsXHJcblx0XHRsaWdodDogIzVhZTFjNCxcclxuXHRcdGJhc2U6ICMwZGJlYjIsXHJcbiAgICAgICAgZGFyazogIzAzN2U3M1xyXG5cdCksXHJcblx0Y2hhcmNvYWw6IChcclxuXHRcdGJhc2U6ICM1MjYwNWQsXHJcblx0XHRkYXJrOiAjNTE1MTUxXHJcblx0KSxcclxuXHRsYXZlbmRlcjogKFxyXG5cdFx0YmFzZTogIzgwYTBkM1xyXG5cdCksXHJcblx0Z3JleTogKFxyXG5cdFx0MjQ3OiByZ2IoMjQ3LCAyNDcsIDI0NyksXHJcblx0XHQyNDI6IHJnYigyNDIsIDI0MiwgMjQyKSxcclxuXHRcdDIzNTogcmdiKDIzNSwgMjM1LCAyMzUpLFxyXG5cdFx0MjI4OiByZ2IoMjI4LCAyMjgsIDIyOCksXHJcblx0XHQyMjI6IHJnYigyMjIsIDIyMiwgMjIyKSxcclxuXHRcdGJhc2U6ICNjY2NjY2MsXHJcblx0XHQxNzI6IHJnYigxNzIsIDE3MiwgMTcyKSxcclxuXHRcdDE0ODogcmdiKDE0OCwgMTQ4LCAxNDgpLFxyXG5cdFx0MTI1OiByZ2IoMTI1LCAxMjUsIDEyNSksXHJcblx0XHQxMTI6IHJnYigxMTIsIDExMiwgMTEyKSxcclxuXHRcdDEwNDogcmdiKDEwNCwgMTA0LCAxMDQpLFxyXG5cdFx0NzM6IHJnYig3MywgNzMsIDczKSxcclxuXHRcdDQwOiByZ2IoNDAsIDQwLCA0MClcclxuXHQpLFxyXG5cdHBpbms6IChcclxuXHRcdGJhc2U6ICNmY2U2ZThcclxuXHQpLFxyXG5cdHJlZDogKFxyXG5cdFx0YmFzZTogI2VkNTU2NlxyXG5cdCksXHJcblx0c29jaWFsOiAoXHJcblx0XHRsaW5rZWRpbjogIzAwN2JiNixcclxuXHRcdHR3aXR0ZXI6ICMwMGFjZWQsIFxyXG5cdFx0ZmFjZWJvb2s6ICMzYjU5OTggXHJcblx0KVxyXG4pO1xyXG5cclxuXHJcbi8qXHJcblx0Wi1JbmRleCBtYXBcclxuXHQtIHVzZSB0aGUgJ3onIGZ1bmN0aW9uIHRvIGV4dHJhY3RcclxuICovXHJcbiR6LWluZGV4OiAoXHJcblx0aGlkZGVuOiAtMSxcclxuXHRuYXZEcm9wZG93bjogOTAwLFxyXG5cdHhzTmF2T3ZlcmxheTogMTAwMCxcclxuXHR4c05hdjogMTAxMCxcclxuXHR4c05hdkNsb3NlOiAxMDIwXHJcbik7IiwiXHJcblxyXG5cclxuLypcclxuXHRNaXhpbiBmb3IgYWRkaW5nIG1lZGlhIHF1ZXJpZXMgYmFzZWQgb24gYnJlYWtwb2ludHNcclxuXHRVc2FnZTpcclxuXHQuY29udGFpbmVyIHtcclxuXHRcdEBpbmNsdWRlIGJwKHhzKSB7XHJcblx0XHRcdC8vIG1vcmUgY29kZVxyXG5cdFx0fVxyXG5cdH1cclxuICovXHJcbkBtaXhpbiBicCgkcG9pbnQpIHtcclxuXHRAaWYgJHBvaW50ID09IHhsLXVwIHtcclxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0MDBweCkgeyBAY29udGVudCA7IH1cclxuXHR9XHJcblx0QGVsc2UgaWYgJHBvaW50ID09IHhsLWRvd24ge1xyXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM5OXB4KSB7IEBjb250ZW50IDsgfVxyXG5cdH1cclxuXHRAZWxzZSBpZiAkcG9pbnQgPT0gbGctdXAge1xyXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7IEBjb250ZW50IDsgfVxyXG5cdH1cclxuXHRAZWxzZSBpZiAkcG9pbnQgPT0gbGctZG93biB7XHJcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHsgQGNvbnRlbnQgOyB9XHJcblx0fVxyXG5cdEBlbHNlIGlmICRwb2ludCA9PSBtZC11cCB7XHJcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkgeyBAY29udGVudCA7IH1cclxuXHR9XHJcblx0QGVsc2UgaWYgJHBvaW50ID09IG1kLWRvd24ge1xyXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHsgQGNvbnRlbnQgOyB9XHJcblx0fVxyXG5cdEBlbHNlIGlmICRwb2ludCA9PSBzbS11cCB7XHJcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgIHsgQGNvbnRlbnQgOyB9XHJcblx0fVxyXG5cdEBlbHNlIGlmICRwb2ludCA9PSBzbS1kb3duIHtcclxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSAgeyBAY29udGVudCA7IH1cclxuXHR9XHJcblx0QGVsc2UgaWYgJHBvaW50ID09IHhzLXVwIHtcclxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSAgeyBAY29udGVudCA7IH1cclxuXHR9XHJcblx0QGVsc2UgaWYgJHBvaW50ID09IHhzLWRvd24ge1xyXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDc5cHgpICB7IEBjb250ZW50IDsgfVxyXG5cdH1cclxufVxyXG5cclxuLypcclxuXHRNaXhpbiBmb3IgYWRkaW5nIGZvbnQtZmFtaWx5IGRlY2xhcmF0aW9uc1xyXG5cdFVzYWdlOlxyXG5cdC5jb250ZW50IHtcclxuXHRcdEBpbmNsdWRlIGZmKGJvZHkpO1xyXG5cdH1cclxuICovXHJcbkBtaXhpbiBmZigkZmFtaWx5OiAnYm9keScpIHtcclxuXHRAaWYgJGZhbWlseSA9PSBib2R5IHtcclxuXHRcdGZvbnQtZmFtaWx5OiAkZmYtYm9keTtcclxuXHR9XHJcblx0QGVsc2UgaWYgJGZhbWlseSA9PSAnaGVhZGluZycge1xyXG5cdFx0Zm9udC1mYW1pbHk6ICRmZi1oZWFkaW5nO1xyXG5cdH1cclxufVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdE1peGluIHRvIGFkZCBjc3MgcHJvcGVydHkgd2l0aCByZW0gdW5pdHMsIHdpdGggYSBweCBmYWxsYmFja1xyXG5cdFVzYWdlOlxyXG5cdEBpbmNsdWRlIHJlbShtYXJnaW4sIDEwIDIwIDUgNDApO1xyXG5cdG9yXHJcblx0QGluY2x1ZGUgcmVtKGZvbnQtc2l6ZSwgMzgpO1xyXG4gKi9cclxuQG1peGluIHJlbSgkcHJvcGVydHksICR2YWx1ZXMpIHtcclxuXHQkcHggOiAoKTtcclxuXHQkcmVtOiAoKTtcclxuXHJcblx0QGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xyXG5cclxuXHRcdEBpZiAkdmFsdWUgPT0gMCBvciAkdmFsdWUgPT0gYXV0byB7XHJcblx0XHRcdCRweCA6IGFwcGVuZCgkcHggLCAkdmFsdWUpO1xyXG5cdFx0XHQkcmVtOiBhcHBlbmQoJHJlbSwgJHZhbHVlKTtcclxuXHRcdH1cclxuXHJcblx0XHRAZWxzZSB7XHJcblx0XHRcdCR1bml0OiB1bml0KCR2YWx1ZSk7XHJcblx0XHRcdCR2YWw6IHBhcnNlSW50KCR2YWx1ZSk7XHJcblxyXG5cdFx0XHQkcHggOiBhcHBlbmQoJHB4LCAjeyR2YWx9cHgpO1xyXG5cdFx0XHQkcmVtOiBhcHBlbmQoJHJlbSwgI3skdmFsIC8gJGJhc2UtZm9udC1zaXplfXJlbSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQjeyRwcm9wZXJ0eX06ICRweDtcclxuXHQjeyRwcm9wZXJ0eX06ICRyZW07XHJcbn1cclxuXHJcbi8qXHJcblx0UmVtIG1peGluIGZvciBmb250LXNpemVcclxuICovXHJcbkBtaXhpbiBmcygkc2l6ZSkge1xyXG5cdEBpbmNsdWRlIHJlbShmb250LXNpemUsICRzaXplKTtcclxufVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdE1peGluIHRvIGFkZCBjc3MgdHJhbnNpdGlvbi4gQ2FuIHVzZSBkZWZhdWx0cyBvciBwYXNzIGluIGN1c3RvbSB2YWx1ZXNcclxuICovXHJcbkBtaXhpbiB0cmFucyggJHRpbWU6IC4zcywgJHByb3BlcnR5OiBhbGwsICRlYXNpbmc6ICRjYil7XHJcblx0dHJhbnNpdGlvbjogJHRpbWUgJHByb3BlcnR5ICRlYXNpbmc7XHJcbn1cclxuQG1peGluIHRyYW5zLXAoICR0aW1lOiAuM3MsICRlYXNpbmc6ICRjYil7XHJcblx0dHJhbnNpdGlvbjogJHRpbWUgdHJhbnNmb3JtICRlYXNpbmc7XHJcbn1cclxuXHJcblxyXG4vKlxyXG5cdE1peGluIHRvIGFkZCBjb250YWluZXIgc3R5bGVzLiBQYXNzICcwJyB0byBwcmV2ZW50IHRoZSBwYWRkaW5nIGJlaW5nIGFkZGVkIGUuZy5cclxuXHRAaW5jbHVkZSBjb250YWluZXIoMCk7XHJcbiAqL1xyXG5AbWl4aW4gY29udGFpbmVyKCRwYWRkaW5nOiAjeyRjb250YWluZXItZ3V0dGVyfXB4KSB7XHJcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdEBpZiAkcGFkZGluZyAhPSAwIHtcclxuXHRcdHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcclxuXHR9XHJcblx0QGluY2x1ZGUgYnAobWQpIHtcclxuXHRcdHdpZHRoOiA3NTBweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgYnAobGcpIHtcclxuXHRcdHdpZHRoOiA5NzBweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgYnAoeGwpIHtcclxuXHRcdHdpZHRoOiAxMTcwcHg7XHJcblx0fVxyXG59IiwiXHJcblxyXG5cclxuLypcclxuXHRGdW5jdGlvbiB0byBhY2Nlc3MgY29sb3VyIHBhbGV0dGUgZnJvbSAkY29sb3VycyB2YXJcclxuXHRVc2FnZTpcclxuXHQuY2xhc3Mge1xyXG5cdFx0Y29sb3I6IGMocmVkLCBkYXJrKTtcclxuXHR9XHJcbiAqL1xyXG5AZnVuY3Rpb24gYygkcGFsZXR0ZSwgJHRvbmU6ICdiYXNlJykge1xyXG5cdEByZXR1cm4gbWFwLWdldChtYXAtZ2V0KCRjb2xvdXJzLCAkcGFsZXR0ZSksICR0b25lKTtcclxufVxyXG5cclxuXHJcbi8qXHJcblx0RnVuY3Rpb24gdG8gYWNjZXNzIHotaW5kZXggZnJvbSAkei1pbmRleCB2YXJcclxuXHRVc2FnZTpcclxuXHQuY2xhc3Mge1xyXG5cdFx0ei1pbmRleDogeihtb2RhbCk7XHJcblx0fVxyXG4gKi9cclxuQGZ1bmN0aW9uIHooJHRhcmdldCkge1xyXG5cdEByZXR1cm4gbWFwLWdldCgkei1pbmRleCwgJHRhcmdldCk7XHJcbn1cclxuXHJcblxyXG4vKlxyXG5cdEhlbHBlciBmdW5jdGlvbiAtIHVzZWQgdG8gcmV0dXJuIGludCB2YWx1ZVxyXG4gKi9cclxuQGZ1bmN0aW9uIHBhcnNlSW50KCRuKSB7XHJcblx0QHJldHVybiAkbiAvICgkbiAqIDAgKyAxKTtcclxufSIsIi8qXHJcbiAgICBJZTkgc3R5bGVzIHBvbHlmaWxsXHJcbiAqL1xuLypcclxuXHRCYXNlIGZvbnQgc2l6ZSBpbiBwaXhlbHNcclxuICovXG4vKlxyXG5cdEZvbnQgZmFtaWxpZXNcclxuICovXG4vKlxyXG5cdERlZmF1bHQgY3ViaWMtYmV6aWVyXHJcbiAqL1xuLypcclxuICAgIENvbG91ciBtYXBcclxuXHQtIHVzZSB0aGUgJ2MnIGZ1bmN0aW9uIHRvIGV4dHJhY3RcclxuICovXG4vKlxyXG5cdFotSW5kZXggbWFwXHJcblx0LSB1c2UgdGhlICd6JyBmdW5jdGlvbiB0byBleHRyYWN0XHJcbiAqL1xuLypcclxuXHRNaXhpbiBmb3IgYWRkaW5nIG1lZGlhIHF1ZXJpZXMgYmFzZWQgb24gYnJlYWtwb2ludHNcclxuXHRVc2FnZTpcclxuXHQuY29udGFpbmVyIHtcclxuXHRcdEBpbmNsdWRlIGJwKHhzKSB7XHJcblx0XHRcdC8vIG1vcmUgY29kZVxyXG5cdFx0fVxyXG5cdH1cclxuICovXG4vKlxyXG5cdE1peGluIGZvciBhZGRpbmcgZm9udC1mYW1pbHkgZGVjbGFyYXRpb25zXHJcblx0VXNhZ2U6XHJcblx0LmNvbnRlbnQge1xyXG5cdFx0QGluY2x1ZGUgZmYoYm9keSk7XHJcblx0fVxyXG4gKi9cbi8qXHJcblx0TWl4aW4gdG8gYWRkIGNzcyBwcm9wZXJ0eSB3aXRoIHJlbSB1bml0cywgd2l0aCBhIHB4IGZhbGxiYWNrXHJcblx0VXNhZ2U6XHJcblx0QGluY2x1ZGUgcmVtKG1hcmdpbiwgMTAgMjAgNSA0MCk7XHJcblx0b3JcclxuXHRAaW5jbHVkZSByZW0oZm9udC1zaXplLCAzOCk7XHJcbiAqL1xuLypcclxuXHRSZW0gbWl4aW4gZm9yIGZvbnQtc2l6ZVxyXG4gKi9cbi8qXHJcblx0TWl4aW4gdG8gYWRkIGNzcyB0cmFuc2l0aW9uLiBDYW4gdXNlIGRlZmF1bHRzIG9yIHBhc3MgaW4gY3VzdG9tIHZhbHVlc1xyXG4gKi9cbi8qXHJcblx0TWl4aW4gdG8gYWRkIGNvbnRhaW5lciBzdHlsZXMuIFBhc3MgJzAnIHRvIHByZXZlbnQgdGhlIHBhZGRpbmcgYmVpbmcgYWRkZWQgZS5nLlxyXG5cdEBpbmNsdWRlIGNvbnRhaW5lcigwKTtcclxuICovXG4vKlxyXG5cdEZ1bmN0aW9uIHRvIGFjY2VzcyBjb2xvdXIgcGFsZXR0ZSBmcm9tICRjb2xvdXJzIHZhclxyXG5cdFVzYWdlOlxyXG5cdC5jbGFzcyB7XHJcblx0XHRjb2xvcjogYyhyZWQsIGRhcmspO1xyXG5cdH1cclxuICovXG4vKlxyXG5cdEZ1bmN0aW9uIHRvIGFjY2VzcyB6LWluZGV4IGZyb20gJHotaW5kZXggdmFyXHJcblx0VXNhZ2U6XHJcblx0LmNsYXNzIHtcclxuXHRcdHotaW5kZXg6IHoobW9kYWwpO1xyXG5cdH1cclxuICovXG4vKlxyXG5cdEhlbHBlciBmdW5jdGlvbiAtIHVzZWQgdG8gcmV0dXJuIGludCB2YWx1ZVxyXG4gKi9cbi5zaXRlLWhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbi5zaXRlLWhlYWRlcl90b3Age1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnNpdGUtaGVhZGVyIC5wcmltYXJ5LW5hdiA+IHVsIHtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbi5zaXRlLWhlYWRlciAucHJpbWFyeS1uYXYgPiB1bCA+IGxpIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbn1cblxuLnNpdGUtaGVhZGVyIC5zaXRlLWhlYWRlcl90b3Age1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNpdGUtaGVhZGVyIC5zaXRlLWhlYWRlcl90b3AgLnNpdGUtaGVhZGVyX2xvZ28ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xufVxuXG4uc2l0ZS1oZWFkZXIgLnNpdGUtaGVhZGVyX3RvcCAuc2l0ZS1oZWFkZXJfc3VwIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLnNpdGUtZm9vdGVyIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xufVxuXG4uc2l0ZS1mb290ZXJfbG9nbyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogNjBweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNpdGUtZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuc2l0ZS1mb290ZXJfbWFpbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnNpdGUtZm9vdGVyX25hdiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDY4JTtcbiAgfVxuICAuc2l0ZS1mb290ZXJfY29udGFjdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiAzMCU7XG4gIH1cbiAgLnNpdGUtZm9vdGVyX2JvdHRvbSB7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gIH1cbiAgLnNpdGUtZm9vdGVyX2xvZ28ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiA2MHB4O1xuICB9XG59XG5cbi5jLXNlbGVjdC13cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1zZWxlY3Qtd3JhcDphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jLXNlbGVjdC13cmFwID4gc2VsZWN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG59XG4iXX0= */
