@import url('data:text/css;base64,OnJvb3QgewogICAgLS1jb2xvci0wMTogIzEyODFmZjsKICAgIC0tY29sb3ItMDI6ICNlNTg4MDA7CiAgICAtLWNvbG9yLTAzOiAjZWRlZGVkOwogICAgLS1jb2xvci0wNDogI2ZmM2UzZTsKICAgIC0tY29sb3ItMDU6ICMwMGIyOTA7CiAgICAtLWNvbG9yLTA2OiAjZDMyMDdmOwogICAgLS1jb2xvci0wNzogIzVlNWNlNjsKICAgIC0tY29sb3ItYmxhY2s6ICMwMDA7CiAgICAtLWNvbG9yLXdoaXRlOiAjZmZmOwogICAgLS1idXR0b24taGVpZ2h0LXB4OiAyN3B4OwogICAgLS1idXR0b24tdmVydGljYWwtcGFkZGluZy1weDogNnB4OwogICAgLS1idXR0b24tY29udGVudC1zcGFjaW5nLXB4OiBjYWxjKHZhcigtLWJ1dHRvbi1oZWlnaHQtcHgpICsgdmFyKC0tYnV0dG9uLXZlcnRpY2FsLXBhZGRpbmctcHgpICogMik7CiAgICAtLXNsaWRlLXN0ZXAtMTogY2FsYyh2YXIoLS1idXR0b24taGVpZ2h0LXB4KSAqIC0xKTsKICAgIC0tc2xpZGUtc3RlcC0yOiBjYWxjKHZhcigtLWJ1dHRvbi1oZWlnaHQtcHgpICogLTIpOwp9CgouZGVzY3JpcHRpb24tdGUgewogICAgZm9udC1zaXplOiAxOHB4OwogICAgZm9udC13ZWlnaHQ6IDIwMDsKICAgIHBhZGRpbmctdG9wOiAxMHB4OwogICAgbWF4LXdpZHRoOiA2NSU7CiAgICBtYXJnaW46IDAgYXV0bzsKfQoKLnNvY2lhbF9saW5rLnctaW5saW5lLWJsb2NrIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KCi5wcmVfb3JkZXJfYmFubmVyX2NvbnRlbnQgaDUgewogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGZvbnQtc2l6ZTogMzBweDsKICAgIGNvbG9yOiAjMDAwOwogICAgbGluZS1oZWlnaHQ6IDEuMzsKfQoKLm92ZXJmbG93LWhpZGRlbiAubmF2X2lubmVyLmlzX2xpZ2h0IHsKICAgIHdpZHRoOiA3Ni44cmVtOwogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsKICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOwp9Cgoub3ZlcmZsb3ctaGlkZGVuIC5uYXZfbWVudS5pcy1saWdodCB7CiAgICBtYXJnaW4tdG9wOiAtMTRweDsKICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7CiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsKICAgIHdpZHRoOiA3Ni44cmVtOwp9CgoubmF2X2lubmVyLmlzX2xpZ2h0OmhvdmVyIHsKICAgIHdpZHRoOiA3Ni44cmVtOwogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsKICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOwp9CgoubmF2X2lubmVyLmlzX2xpZ2h0OmhvdmVyIC5ob3Zlci13b3JraW5nIC5uYXZfbWVudS5pcy1saWdodCB7CiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OwogICAgb3BhY2l0eTogMSAhaW1wb3J0YW50OwogICAgbWFyZ2luLXRvcDogLTE0cHg7CiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOwogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7CiAgICB3aWR0aDogNzYuOHJlbTsKICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpOwogICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmM2U2OwogICAgdHJhbnNpdGlvbjogYWxsIC4zczsKfQoKCi8qIE1lbnUgKi8KCgouc2NyZWVuIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLmR5bmFtaWNfaXNsYW5kOmhvdmVyIC5zY3JlZW4gewogICAgaGVpZ2h0OiAzMHJlbTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3M7Cn0KCi5ub3RjaCB7CiAgICB3aWR0aDogNDQuOHJlbTsKICAgIGJhY2tncm91bmQ6ICNmNGY0ZjNlNjsKICAgIGJvcmRlci1yYWRpdXM6IDIuNnJlbTsKICAgIHRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlLW91dDsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIHBhZGRpbmc6IDFweCAxMHB4OwogICAgbWFyZ2luOiAwIGF1dG87CiAgICBvdmVyZmxvdzogaGlkZGVuOwp9Cgoubm90Y2ggLm5vdGNoLWljb24gewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2Utb3V0OwogICAgY29sb3I6ICNmY2QzNGQ7CiAgICBmb250LXNpemU6IDEuNXJlbTsKICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07CiAgICBtYXJnaW4tdG9wOiAwLjVyZW07CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM1ZTIyOwogICAgd2lkdGg6IDJyZW07CiAgICBoZWlnaHQ6IDJyZW07CiAgICBib3JkZXItcmFkaXVzOiAxcmVtOwogICAgZGlzcGxheTogZmxleDsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIHRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlLW91dDsKfQoKLm5vdGNoIC5ub3RjaC1pY29uLAoubm90Y2ggLmZ1bGwtd2lkdGgtY29udGVudCwKLm5vdGNoIC5mdWxsLXdpZHRoLWNvbnRlbnQgKiB7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2Utb3V0Owp9Cgoudy1sYXlvdXQtaGZsZXguY29yZV8xX2NvbnRlbnRfd3JhcCB7CiAgICBwYWRkaW5nOiAxMHB4IDVweAp9Cgoub25fcHJpY2luZ19kZXRhaWwgewogICAgYm9yZGVyLXJhZGl1czogNTBweDsKICAgIHBhZGRpbmc6IDEuOHJlbSAxLjhyZW07CiAgICBmb250LXNpemU6IDEuM3JlbTsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBtYXJnaW4tdG9wOiAuNXJlbTsKfQoKLmZhcV9xdWVzdGlvbi5hY3RpdmUgLmZhcV9pY29uX2xpbmUuaXNfaG9yaXpvbnRhbCB7CiAgICBkaXNwbGF5OiBub25lOwp9CgpAbWVkaWEgKG1pbi13aWR0aDogOTEycHgpIHsKICAgIC5ub3RjaDpob3ZlciB7CiAgICAgICAgd2lkdGg6IDE1cmVtOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlLW91dDsKICAgIH0KCiAgICAubm90Y2g6aG92ZXIgLmZ1bGwtd2lkdGgtY29udGVudCB7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2Utb3V0OwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBhbmltLW1vZW1hLTEgLjNzIGZvcndhcmRzOwogICAgICAgIGFuaW1hdGlvbjogYW5pbS1tb2VtYS0xIC4zcyBmb3J3YXJkczsKICAgIH0KCiAgICAubm90Y2g6aG92ZXIgLm5vdGNoLWljb24gewogICAgICAgIGxlZnQ6IDMxJTsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDE1MG1zOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7CiAgICB9CgogICAgLm5vdGNoOmhvdmVyIHsKICAgICAgICB3aWR0aDogNzYuOHJlbTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNXJlbTsKICAgICAgICBib3gtc2hhZG93OiAwIDFyZW0gMnJlbSAxcmVtIHJnYmEoMCwgMCwgMCwgMC4yKTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1vdXQ7CiAgICAgICAgbWF4LWhlaWdodDogMjQ1cHg7CiAgICAgICAgcGFkZGluZzogMS41cmVtIDJyZW0gMS41cmVtIDJyZW07CiAgICB9CgogICAgLm5vdGNoOmhvdmVyIC5mdWxsLXdpZHRoLWNvbnRlbnQsCiAgICAubm90Y2g6aG92ZXIgLmZ1bGwtd2lkdGgtY29udGVudCAqIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlLW91dDsKICAgIH0KCiAgICAubm90Y2g6aG92ZXIgLm5vdGNoLWljb24gewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2Utb3V0OwogICAgfQoKICAgIC5kZXNrdG9wIHsKICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OwogICAgfQoKICAgIC5tb2JpbGUgewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgIH0KfQoKLmZ1bGwtd2lkdGgtY29udGVudCB7CiAgICBtYXJnaW46IDNyZW0gMnJlbTsKfQoKLm5vdGNoLWFuaW1hdGlvbiB7CiAgICBoZWlnaHQ6IDQ1cHg7Cn0KCi50aXRsZV80LTguaGFzX25vX21hcmdpbiBzcGFuIHsKICAgIGNvbG9yOiB2YXIoLS1jb2xvci0wMik7Cn0KCi50ZXh0LWJsYWNrIHsKICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjaykgIWltcG9ydGFudDsKfQoKLmZvbnQtMjYgewogICAgZm9udC1zaXplOiAyLjZyZW07Cn0KCi5mb250LWJvbGQgewogICAgZm9udC13ZWlnaHQ6IGJvbGQ7Cn0KCi5tYXJnaW5fMi0yX3RvcCB7CiAgICBtYXJnaW4tdG9wOiAxcmVtOwogICAgbWFyZ2luLWJvdHRvbTogMXJlbTsKfQoKLnctNzAgewogICAgd2lkdGg6IDcwJTsKfQoKLmNvcmVfMl9jb250ZW50IHsKICAgIHdpZHRoOiAxMnJlbTsKfQoKLmJnLXhhbSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci0wMyk7Cn0KCi50ZXh0LWNvbG9yIHsKICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLTAxKTsKICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0OwogICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0OwogICAgZm9udC13ZWlnaHQ6IGJvbGQ7Cn0KCi5zbGFzZWRfcHJpY2UsCi50ZXh0LWRhbmdlciB7CiAgICBjb2xvcjogdmFyKC0tY29sb3ItMDQpOwp9CgouYmctcGFja2FnZTIgewogICAgYmFja2dyb3VuZC1jb2xvcjogI2EzYjE5ZTsKfQoKLnB4eC0zIHsKICAgIHBhZGRpbmctbGVmdDogMyU7CiAgICBwYWRkaW5nLXJpZ2h0OiAzJTsKfQoKLmZvb3Rlcl9jb2xfbGVmdCBkaXYgewogICAgZm9udC1zaXplOiAzMHB4OwogICAgcGFkZGluZy10b3A6IDFyZW07CiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTsKfQoKLmZvb3Rlcl9jb2xfbGVmdCB7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi5mb290ZXJfY29sX2xlZnQgcCB7CiAgICBmb250LXNpemU6IDEuMnJlbTsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7Cn0KCi5nYWxsZXJ5X2ltZyBpbWcgewogICAgd2lkdGg6IDEwMCU7CiAgICBib3JkZXItcmFkaXVzOiAycmVtOwp9Cgoudmlldy1tb3JlIHsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGNvbG9yOiB2YXIoLS1jb2xvci0wMSk7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogNXB4OwogICAgcGFkZGluZy1ib3R0b206IDJyZW07Cn0KCi52aWV3LW1vcmUgc3ZnIHsKICAgIHdpZHRoOiAyMHB4OwogICAgaGVpZ2h0OiAyMHB4Owp9CgouYmctMDEgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItMDUpICFpbXBvcnRhbnQ7Cn0KCi5iZy0wMTpob3ZlciB7CiAgICBvcGFjaXR5OiAuOTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3M7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci0wNSkgIWltcG9ydGFudDsKfQoKLmJnLTAyOmhvdmVyIHsKICAgIG9wYWNpdHk6IC45OwogICAgdHJhbnNpdGlvbjogYWxsIC4zczsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLTAyKSAhaW1wb3J0YW50Owp9CgouYmctMDIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItMDIpICFpbXBvcnRhbnQ7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7Cn0KCi5iZy0wMzpob3ZlciB7CiAgICBvcGFjaXR5OiAuOTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3M7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci0wMSkgIWltcG9ydGFudDsKfQoKLmJnLTAzIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLTAxKSAhaW1wb3J0YW50OwogICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50Owp9CgouYmctMDQ6aG92ZXIgewogICAgb3BhY2l0eTogLjk7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjRzOwogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItMDYpICFpbXBvcnRhbnQ7Cn0KCi5iZy0wNCB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci0wNikgIWltcG9ydGFudDsKICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsKfQoKLmJ1dHRvbl9wcmltYXJ5IHsKICAgIGJveC1zaGFkb3c6IDBweCA4cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMSk7Cn0KCi50aXRsZS1sYW5lIHsKICAgIHdpZHRoOiAxMDclOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgcGFkZGluZzogMTJweDsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLTA1KTsKICAgIG1hcmdpbi1sZWZ0OiAtNDBweDsKICAgIG1hcmdpbi1yaWdodDogLTQwcHg7CiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpOwp9CgoudGl0bGUtbGFuZSBoNSB7CiAgICBmb250LXNpemU6IDIuNnJlbTsKfQoKLnRleHQtY2VudGVyIHsKICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50Owp9CgoudGV4dC1zdGFydCB7CiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7Cn0KCi50ZXh0LWVuZCB7CiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50Owp9CgouaW5wdXQtZ3JvdXAgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLW1zLWZsZXgtd3JhcDogd3JhcDsKICAgIGZsZXgtd3JhcDogd3JhcDsKICAgIC1tcy1mbGV4LWFsaWduOiBzdHJldGNoOwogICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7CiAgICB3aWR0aDogMTAwJTsKfQoKLmlucHV0LWdyb3VwLWFwcGVuZCwKLmlucHV0LWdyb3VwLXByZXBlbmQgewogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4Owp9CgouaW5wdXQtZ3JvdXAtYXBwZW5kIHsKICAgIG1hcmdpbi1sZWZ0OiAtMXB4OwogICAgY3Vyc29yOiBwb2ludGVyOwp9CgouaW5wdXQtZ3JvdXAtdGV4dCB7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIHBhZGRpbmc6IDByZW0gMXJlbTsKICAgIGZvbnQtc2l6ZTogMS41cmVtOwogICAgbWFyZ2luLWJvdHRvbTogMDsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICBsaW5lLWhlaWdodDogMS41OwogICAgY29sb3I6ICM3MDcwNzA7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZWQ0ZGE7CiAgICBib3JkZXItcmFkaXVzOiAxcmVtOwp9CgouaW5wdXQtZ3JvdXA6bm90KC5oYXMtdmFsaWRhdGlvbik+LmN1c3RvbS1maWxlOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsLAouaW5wdXQtZ3JvdXA6bm90KC5oYXMtdmFsaWRhdGlvbik+LmN1c3RvbS1maWxlOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciwKLmlucHV0LWdyb3VwOm5vdCguaGFzLXZhbGlkYXRpb24pPi5jdXN0b20tc2VsZWN0Om5vdCg6bGFzdC1jaGlsZCksCi5pbnB1dC1ncm91cDpub3QoLmhhcy12YWxpZGF0aW9uKT4uZm9ybS1jb250cm9sOm5vdCg6bGFzdC1jaGlsZCkgewogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsKfQoKLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1hcHBlbmQ+LmJ0biwKLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1hcHBlbmQ+LmlucHV0LWdyb3VwLXRleHQsCi5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZD4uYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLAouaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQ+LmlucHV0LWdyb3VwLXRleHQ6bm90KDpmaXJzdC1jaGlsZCksCi5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKT4uYnRuLAouaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCk+LmlucHV0LWdyb3VwLXRleHQgewogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsKICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7Cn0KCi5jb3B5LWxpbmsgewogICAgd2lkdGg6IDUwJTsKfQoKLmNvcHktbGluayBwIHsKICAgIGZvbnQtc2l6ZTogMS41cmVtOwogICAgY29sb3I6ICM3MDcwNzA7Cn0KCi5mb3JtLWNvbnRyb2wgewogICAgZGlzcGxheTogYmxvY2s7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogY2FsYygxLjVlbSArIC43NXJlbSArIDJweCk7CiAgICBwYWRkaW5nOiAyLjVyZW0gMXJlbTsKICAgIGZvbnQtc2l6ZTogMS41cmVtOwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICBjb2xvcjogIzcwNzA3MDsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94OwogICAgYm9yZGVyOiAxcHggc29saWQgI2NlZDRkYTsKICAgIGJvcmRlci1yYWRpdXM6IDFyZW07CiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0Owp9CgouaW5wdXQtZ3JvdXA+LmN1c3RvbS1maWxlLAouaW5wdXQtZ3JvdXA+LmN1c3RvbS1zZWxlY3QsCi5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9sLAouaW5wdXQtZ3JvdXA+LmZvcm0tY29udHJvbC1wbGFpbnRleHQgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgLW1zLWZsZXg6IDEgMSBhdXRvOwogICAgZmxleDogMSAxIGF1dG87CiAgICB3aWR0aDogMSU7CiAgICBtaW4td2lkdGg6IDA7CiAgICBtYXJnaW4tYm90dG9tOiAwOwp9CgouYnRuLXByaW1hcnkgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItMDEpOwogICAgY29sb3I6ICNmZmY7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzOwp9CgouYnRuLXByaW1hcnk6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItMDEpOwogICAgb3BhY2l0eTogLjk7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzOwp9CgoKLmJ1dHRvbiB7CiAgICBvdmVyZmxvdzogaGlkZGVuOwp9CgouY29waWVkIHsKICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgIG1hcmdpbi10b3A6IHZhcigtLWJ1dHRvbi1jb250ZW50LXNwYWNpbmctcHgpOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDEwMCU7Cn0KCi5jb3B5IHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBzdGFydDsKfQoKLmljb24gewogICAgbWFyZ2luLXJpZ2h0OiA2cHg7Cn0KCi8qIEFuaW1hdGlvbnMgKi8KCi5idXR0b24uYW5pbWF0ZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci0wMSk7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJveC1zaGFkb3c6IG5vbmU7CiAgICBhbmltYXRpb246IHNjYWxlIDNzIGN1YmljLWJlemllcigxLCAtMC41LCAwLCAxLjUpIGZvcndhcmRzOwogICAgb3BhY2l0eTogLjg7Cn0KCi5hbmltYXRlIC5jb250ZW50IHsKICAgIGFuaW1hdGlvbjogc2xpZGUgM3MgY3ViaWMtYmV6aWVyKDEsIC0wLjUsIDAsIDEuNSkgZm9yd2FyZHM7Cn0KCi5hbmltYXRlIC5jb3BpZWQgewogICAgdmlzaWJpbGl0eTogdmlzaWJsZTsKICAgIG1hcmdpbi10b3A6IDIxcHg7Cn0KCi5idG4tcHJpbWFyeSAuY29udGVudCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KCi5hbmltYXRlIC5jb3B5IHsKICAgIG1hcmdpbi10b3A6IC01NXB4Owp9CgoKLnNoYXJlLWNvbnRhaW5lciB7CiAgICBib3JkZXItcmFkaXVzOiAxNXB4OwogICAgZGlzcGxheTogZmxleDsKICAgIHBhZGRpbmctcmlnaHQ6IDA7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjVzOwogICAgd2lkdGg6IDgwcHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOwp9Cgouc2hhcmUtY29udGFpbmVyLmFjdGl2ZSB7CiAgICB3aWR0aDogMTAwJTsKfQoKLnNoYXJlLWJ0biB7CiAgICB3aWR0aDogOTBweDsKICAgIHBhZGRpbmc6IDVweDsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIGZvbnQtd2VpZ2h0OiA4MDA7CiAgICBjb2xvcjogIzc3Nzc3NzsKICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOwogICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICB1c2VyLXNlbGVjdDogbm9uZTsKfQoKLnNoYXJlLWJ0bjpob3ZlciB7CiAgICBjb2xvcjogIzM0M2E0MDsKICAgIGN1cnNvcjogcG9pbnRlcjsKfQoKLnNoYXJlLWJ0bi5hY3RpdmUgewogICAgY29sb3I6ICNmZmZmZmY7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMzNTQ1OwogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsKICAgIHBhZGRpbmc6IDVweCA1cHggNXB4IDEycHg7Cn0KCi5zaGFyZS1idG4uYWN0aXZlOmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNjZjI4Mzg7Cn0KCi5zaGFyZS11cmwgewogICAgd2lkdGg6IDA7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIGZvbnQtc2l6ZTogMTBweDsKICAgIGNvbG9yOiAjZWVlZWVlOwogICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7CiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTVweDsKICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxNXB4Owp9Cgouc2hhcmUtdXJsLmFjdGl2ZSB7CiAgICB3aWR0aDogMTAwJTsKICAgIGNvbG9yOiAjMzQzYTQwOwogICAgcGFkZGluZzogNnB4Owp9CgovKmZhZGUqLwouYW5pbWF0ZSB7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNpdGlvbjogYWxsIDFzOwogICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzOwogICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsKICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsKICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7Cn0KCi5hbmltYXRlLmFjdGl2ZSB7CiAgICBvcGFjaXR5OiAxOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7CiAgICB6LWluZGV4OiA5OTsKfQoKLnNsaWRlLWluLWRvd24gewogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKSB0cmFuc2xhdGVYKC01MCUpOwp9CgovKm5vdGlmaWNhdGlvbiovCi5ub3RpZmljYXRpb24tYnV0dG9uIHsKICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgIHRvcDogNDBweDsKICAgIGxlZnQ6IDUwJTsKICAgIG1pbi13aWR0aDogMjUwcHg7CiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7CiAgICBiYWNrZ3JvdW5kOiAjMzQzYTQwOwogICAgY29sb3I6ICNlZWVlZWU7CiAgICBib3JkZXItcmFkaXVzOiA1cHg7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBmb250LXdlaWdodDogODAwOwogICAgYm94LXNoYWRvdzogMCAwIDE0cHggcmdiYSgwLCAwLCAwLCAwLjA1KTsKfQoKLmdhcC0xIHsKICAgIGdhcDogNXB4Owp9CgoucXItY29kZSB7CiAgICB3aWR0aDogNTAlOwp9CgoucXItY29kZSBwIHsKICAgIGZvbnQtc2l6ZTogMS41cmVtOwogICAgcGFkZGluZy10b3A6IDFyZW07CiAgICBjb2xvcjogdmFyKC0tY29sb3ItMDUpOwogICAgZm9udC13ZWlnaHQ6IGJvbGQ7Cn0KCi5kaWV1LWtob2FuIHsKICAgIGNvbG9yOiB2YXIoLS1jb2xvci0wMSk7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBib3R0b206IDA7Cn0KCi5kaWV1LWtob2FucyB7CiAgICBjb2xvcjogdmFyKC0tY29sb3ItMDEpOwp9CgouZGlldS1raG9hbnMgc3BhbiB7CiAgICBmb250LXNpemU6IDEuNXJlbTsKfQoKLnBvc2l0aW9uLXJlbGF0aXZlIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLmRpZXUta2hvYW4gc3BhbiB7CiAgICBmb250LXNpemU6IDEuNXJlbTsKfQoKLmJ0bi1idG4tZnVsbCB7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNjNkZWcsIHJnYmEoMjUxLCA4OCwgMTEzLCAxKSAwJSwgcmdiYSgxNTMsIDUxLCAxNTMsIDEpIDEwMCUpOwogICAgcGFkZGluZzogMTNweCAyNXB4OwogICAgYm9yZGVyLXJhZGl1czogMjBweDsKICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7CiAgICBmb250LXNpemU6IDEuNXJlbTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBmb250LXdlaWdodDogYm9sZDsKICAgIHRyYW5zaXRpb246IGFsbCAuN3M7Cn0KCi5kLWJsb2NrIHsKICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7Cn0KCi5idG4tYnRuLWZ1bGw6aG92ZXIgewogICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDM2N2RlZywgcmdiYSgyNTEsIDg4LCAxMTMsIDEpIDAlLCByZ2JhKDE1MywgNTEsIDE1MywgMSkgMTAwJSk7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjdzOwp9CgoucG9pbnQtdm5kIHRhYmxlIHRoLAoucG9pbnQtdm5kIHRhYmxlIHRkIHsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLTAxKTsKICAgIHBhZGRpbmc6IDEwcHg7CiAgICBmb250LXNpemU6IDEuOHJlbTsKfQoKLnNldC13aWR0aCB7CiAgICBtaW4td2lkdGg6IDIwMHB4Owp9CgoudGV4dC1wcmltYXJ5IHsKICAgIGNvbG9yOiB2YXIoLS1jb2xvci0wMSkgIWltcG9ydGFudDsKfQoKLmZzLXgyIHsKICAgIGZvbnQtc2l6ZTogMnJlbTsKfQoKLmJnLXVkaWQgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItMDIpOwp9CgouZm9ybS1ib3JkZXIgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwp9CgouZm9ybS1ncm91cCAuZm9ybS1ib3JkZXIgLmZvcm0tdWRpZCB7CiAgICB3aWR0aDogMTAwJTsKICAgIHBhZGRpbmc6IDIwcHggMzBweDsKICAgIGZvbnQtc2l6ZTogMS41cmVtOwogICAgYm9yZGVyLXJhZGl1czogMjBweDsKICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KCi5mb3JtLWdyb3VwIC5mb3JtLWJvcmRlcjphZnRlciB7CiAgICBjb250ZW50OiAiIjsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGluc2V0OiAwOwogICAgYm9yZGVyLXJhZGl1czogMjBweDsKICAgIHBhZGRpbmc6IDNweDsKICAgIC8qIGNvbnRyb2wgdGhlIGJvcmRlciB0aGlja25lc3MgKi8KICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tY29sb3ItMDEpLCB2YXIoLS1jb2xvci0wNSkpOwogICAgLXdlYmtpdC1tYXNrOgogICAgICAgIGxpbmVhci1ncmFkaWVudCgjZmZmIDAgMCkgY29udGVudC1ib3gsCiAgICAgICAgbGluZWFyLWdyYWRpZW50KCNmZmYgMCAwKTsKICAgIC13ZWJraXQtbWFzay1jb21wb3NpdGU6IHhvcjsKICAgIG1hc2stY29tcG9zaXRlOiBleGNsdWRlOwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGNhcmV0OwoKfQoKLmZvcm0tZ3JvdXAgLmZvcm0tYm9yZGVyIC5mb3JtLXVkaWQ6OnBsYWNlaG9sZGVyIHsKICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgIGZvbnQtd2VpZ2h0OiAzMDA7CiAgICBjb2xvcjogI2FiYWJhYjsKfQoKOjpwbGFjZWhvbGRlciB7CiAgICBjb2xvcjogI2FiYWJhYjsKICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgIGZvbnQtd2VpZ2h0OiAzMDA7Cn0KCi5mb3JtLWdyb3VwIHNlbGVjdDpyZXF1aXJlZDppbnZhbGlkIHsKICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgIGZvbnQtd2VpZ2h0OiAzMDA7CiAgICBjb2xvcjogI2FiYWJhYjsKfQoKLnRleHQtYmxhY2s6OnBsYWNlaG9sZGVyIHsKICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjaykgIWltcG9ydGFudDsKICAgIGZvbnQtd2VpZ2h0OiBib2xkOwp9CgovKiAuaGVpZ2h0LWZpeGVkIHsKICAgIG1pbi1oZWlnaHQ6IDYwMXB4Owp9ICovCgouZm9ybS1ncm91cCBzZWxlY3Q6Oi1tcy1leHBhbmQgewogICAgcGFkZGluZy1yaWdodDogMjBweDsKfQoKLmQtaW5saW5lLWJsb2NrIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQoKLmNhbWtldC1jaGVja2JveCB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZ2FwOiAzcHg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZm9udC1zaXplOiAxLjVyZW07CiAgICBmb250LXdlaWdodDogNDAwOwogICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwp9CgouY2Fta2V0LWNoZWNrYm94IGlucHV0IHsKICAgIG9wYWNpdHk6IDA7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiAwOwogICAgdG9wOiAwOwogICAgei1pbmRleDogLTE7Cn0KCi5pbnB1dC1jaGVjayB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICB3aWR0aDogMjBweDsKICAgIGhlaWdodDogMjBweDsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIGJvcmRlcjogMnB4IHNvbGlkICNjY2M7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB0cmFuc2l0aW9uOiAwLjRzOwp9CgouaW5wdXQtY2hlY2s6OmJlZm9yZSB7CiAgICBjb250ZW50OiAnJzsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHdpZHRoOiAxMnB4OwogICAgaGVpZ2h0OiA2cHg7CiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tY29sb3Itd2hpdGUpOwogICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCB2YXIoLS1jb2xvci13aGl0ZSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDApIHJvdGF0ZSgtNDVkZWcpOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAycHg7CiAgICBsZWZ0OiAxcHg7CiAgICB0cmFuc2l0aW9uOiAwLjRzOwp9CgouY2Fta2V0LWNoZWNrYm94IGlucHV0OmNoZWNrZWR+LmlucHV0LWNoZWNrIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLTAxKTsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItMDEpOwogICAgYW5pbWF0aW9uLW5hbWU6IGlucHV0LWFuaW1hdGU7CiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuN3M7Cn0KCi5jYW1rZXQtY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZH4uaW5wdXQtY2hlY2s6OmJlZm9yZSB7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgtNDVkZWcpOwogICAgYW5pbWF0aW9uLW5hbWU6IGlucHV0LWNoZWNrOwogICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzOwogICAgYW5pbWF0aW9uLWRlbGF5OiAwLjNzOwp9CgouZmxvYXQtcmlnaHQgewogICAgZmxvYXQ6IHJpZ2h0Owp9CgouZmxvYXQtbGVmdCB7CiAgICBmbG9hdDogbGVmdDsKfQoKLmZsb2F0LWNlbnRlciB7CiAgICBmbG9hdDogY2VudGVyOwp9CgouZm9ybS1vcmRlci11ZGlkIGxhYmVsIHsKICAgIGZvbnQtc2l6ZTogMS41cmVtOwp9CgouZnMteDMgewogICAgZm9udC1zaXplOiAyLjVyZW07Cn0KCi50ZXh0LTAyIHsKICAgIGNvbG9yOiB2YXIoLS1jb2xvci0wMik7Cn0KCi50ZXh0LTAzIHsKICAgIGNvbG9yOiB2YXIoLS1jb2xvci0wMSk7Cn0KCi50ZXh0LTA0IHsKICAgIGNvbG9yOiB2YXIoLS1jb2xvci0wNyk7Cn0KCi5zZXQtY2VudGVyLXdpZHRoIHsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIG1pbi13aWR0aDogMjUwcHg7Cn0KCi5jdXJzb3IgewogICAgY3Vyc29yOiBwb2ludGVyOwp9CgouanVzdGlmeS1jb250ZW50LWNlbnRlciB7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQoKLmxvYWQtaHRtbC1jaGVja291dCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KCi5uZ2FuLWhhbmctcXJjb2RlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHJpZ2h0OiAwcHg7CiAgICB0b3A6IDVweDsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwp9Cgoubmdhbi1oYW5nLXFyY29kZSBwIHsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGZvbnQtc2l6ZTogMS41cmVtOwogICAgcGFkZGluZy10b3A6IDFyZW07Cn0KCi5uZ2FuLWhhbmctcXJjb2RlIGltZyB7CiAgICBib3JkZXItcmFkaXVzOiAxMHB4Owp9Cgoubm90ZXMtbHV1eSB7CiAgICBmb250LXNpemU6IDEuNnJlbTsKICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKfQoKLnRleHQtMDEgewogICAgY29sb3I6IHZhcigtLWNvbG9yLTA2KTsKfQoKLmZvbnQtc2l6ZS1mb3JtIC5kZXNjcmlwdGlvbl8xLTggewogICAgZm9udC1zaXplOiAyLjRyZW07Cn0KCi5mb250LXNpemUtZm9ybSAuY29yZV8xX2NvbnRlbnRfd3JhcCB7CiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7CiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4Owp9CgouZm9udC1zaXplLWZvcm0gLmNvcmVfMV9jb250ZW50IHsKICAgIHdpZHRoOiAzMHJlbTsKfQoKLmNhcmQtbGVmdC1hY2NvdW50IGgzIHsKICAgIHBhZGRpbmc6IDA7CiAgICBtYXJnaW46IDA7Cn0KCnAgewogICAgZm9udC1zaXplOiAxLjhyZW07Cn0KCi5jYXJkLmNhcmQtbGVmdC1hY2NvdW50LAouY2FyZC5jYXJkLXJpZ2h0LWFjY291bnQgewogICAgYm9yZGVyLXJhZGl1czogMi40cmVtOwp9CgoubmF2YmFyLXVsIHsKICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICBmb250LXNpemU6IDEuOHJlbTsKfQoKLm5hdmJhci11bCB1bCB7CiAgICBwYWRkaW5nLWxlZnQ6IDA7CiAgICBsaXN0LXN0eWxlOiBub25lOwp9CgouY2FyZC1sZWZ0LWFjY291bnQgLmNhcmRfaW5uZXIgewogICAgd2lkdGg6IDEwMCU7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KCi5jYXJkLWxlZnQtYWNjb3VudCAuY2FyZF9pbm5lciAubmF2YmFyLXVsIGxpIGltZyB7CiAgICB3aWR0aDogMjNweDsKfQoKLmdhcC0xMCB7CiAgICBnYXA6IDEwcHg7Cn0KCi5jYXJkLWxlZnQtYWNjb3VudCAuY2FyZF9pbm5lciAubmF2YmFyLXVsIGxpIGEgewogICAgYmFja2dyb3VuZC1jb2xvcjogI2U4ZThlODsKICAgIHBhZGRpbmc6IDE1cHg7CiAgICBib3JkZXItcmFkaXVzOiAxNXB4OwogICAgZm9udC1zaXplOiAxLjRyZW07Cn0KCi5jYXJkLWxlZnQtYWNjb3VudCAubmF2YmFyLXVsIGxpIHsKICAgIG1hcmdpbi10b3A6IDEuNXJlbTsKICAgIHRyYW5zaXRpb246IGFsbCAuNXM7Cn0KCi5jYXJkLWxlZnQtYWNjb3VudCAubmF2YmFyLXVsIGxpOmhvdmVyIGEsCi5jYXJkLWxlZnQtYWNjb3VudCAubmF2YmFyLXVsIGxpLmFjdGl2ZSBhIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjgxZmY7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjVzOwogICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTsKICAgIGJveC1zaGFkb3c6IDAgLjVyZW0gMS41cmVtIHJnYig4MSAxMzAgMjUyIC8gMzYlKSAhaW1wb3J0YW50Owp9CgouY2FyZC1sZWZ0LWFjY291bnQgLm5hdmJhci11bCBsaTpob3ZlciBhIGltZywKLmNhcmQtbGVmdC1hY2NvdW50IC5uYXZiYXItdWwgbGkuYWN0aXZlIGEgaW1nIHsKICAgIHRyYW5zaXRpb246IGFsbCAuNXM7CiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpOwp9CgouZnMtc20gewogICAgZm9udC1zaXplOiAxLjFyZW07Cn0KCi5idG4teGwgewogICAgZm9udC1zaXplOiAxLjhyZW07CiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOwp9CgouZm9tLWNvbnRlcm50IHAgaSB7CiAgICBjb2xvcjogI2FiYWJhYgp9Cgoub3JkZXItZGV2IHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHJpZ2h0OiAwOwogICAgdG9wOiA1MCU7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci0wNCk7CiAgICBjb2xvcjogI2ZmZjsKICAgIHBhZGRpbmc6IDEwcHg7CiAgICBmb250LXNpemU6IDIuMnJlbTsKICAgIGJvcmRlci1yYWRpdXM6IDEuNXJlbTsKICAgIGZvbnQtd2VpZ2h0OiBib2xkOwp9CgouY2FycmQtc2VhcmNoIC5mb3JtLWNvbnRyb2wgewogICAgcGFkZGluZzogMTNweCAxMHB4OwogICAgaGVpZ2h0OiAxMDAlOwp9CgouY2FycmQtc2VhcmNoIGlucHV0LmZvcm0tY29udHJvbCB7CiAgICBwYWRkaW5nOiAxNHB4IDEwcHg7Cn0KCi5mcy0wMSB7CiAgICBmb250LXNpemU6IDEuNnJlbTsKICAgIGxpbmUtaGVpZ2h0OiAxLjY7Cn0KCi5mcy14MSB7CiAgICBmb250LXNpemU6IDEuNnJlbTsKfQoKLmZzLXgwIHsKICAgIGZvbnQtc2l6ZTogMS4xcmVtOwp9CgouaWNvbi1vcmRlciB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICByaWdodDogMTBweDsKICAgIHRvcDogMTBweDsKfQoKLmhyIHsKICAgIHdpZHRoOiAxNTAlOwogICAgaGVpZ2h0OiAxcHg7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHZhcigtLWNvbG9yLTAxKSwgdmFyKC0tY29sb3ItMDUpKTsKfQoKLmZzLW1kIHsKICAgIGZvbnQtc2l6ZTogMS42cmVtOwp9CgouYnV0dG9uLWhpc3RvcnktY29udGVudCB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICByaWdodDogMHB4OwogICAgdG9wOiA1MCU7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7Cn0KCi50YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjA1KTsKfQoKLnRhYmxlIHsKICAgIHdpZHRoOiAxMDAlOwogICAgbWFyZ2luLWJvdHRvbTogMXJlbTsKICAgIGZvbnQtc2l6ZTogMS40cmVtOwp9CgoudGFibGUgdGQsCi50YWJsZSB0aCB7CiAgICBwYWRkaW5nOiAuNzVyZW07CiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOwogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZWUyZTY7Cn0KCnRoIHsKICAgIHRleHQtYWxpZ246IGluaGVyaXQ7CiAgICB0ZXh0LWFsaWduOiAtd2Via2l0LW1hdGNoLXBhcmVudDsKfQoKLnRhYmxlIHRoZWFkIHRoIHsKICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207CiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2RlZTJlNjsKfQoKLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkIHsKICAgIGJvcmRlcjogMDsKfQoKLnRhYmxlLXNtIHRkLAoudGFibGUtc20gdGggewogICAgcGFkZGluZzogLjNyZW07Cn0KCi50YWJsZS1ib3JkZXJlZCB0ZCwKLnRhYmxlLWJvcmRlcmVkIHRoIHsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7Cn0KCi50YWJsZSB0aGVhZCB0aCB7CiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOwogICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkZWUyZTY7Cn0KCgoudGFibGUtYm9yZGVyZWQgdGhlYWQgdGQsCi50YWJsZS1ib3JkZXJlZCB0aGVhZCB0aCB7CiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7Cn0KCi50YWJsZS1yZXNwb25zaXZlIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgd2lkdGg6IDEwMCU7CiAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOwp9CgouY3Vyc29yLXBvaW50IHsKICAgIGN1cnNvcjogcG9pbnRlcjsKfQoKLnBvcHVwLW1vZGFsLAoucG9wdXAtbW9kYWwtbG9naW4gewogICAgcG9zaXRpb246IGZpeGVkOwogICAgdG9wOiA1MCU7CiAgICBsZWZ0OiA1MCU7CiAgICB3aWR0aDogNjAwcHg7CiAgICBoZWlnaHQ6IGF1dG87CiAgICBtYXgtaGVpZ2h0OiA5MCU7CiAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgcGFkZGluZzogMTBweCAyMHB4IDE1cHg7CiAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgei1pbmRleDogOTk5OTsKICAgIG9wYWNpdHk6IDA7CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICB0cmFuc2l0aW9uOiBhbGwgLjVzOwp9CgoucG9wdXAtbW9kYWwgLmNvbnRlbnQtbW9kYWwgaDMsCi5wb3B1cC1tb2RhbC1sb2dpbiAuY29udGVudC1tb2RhbCBoMyB7CiAgICBtYXJnaW46IDA7Cn0KCi5wb3B1cC1tb2RhbC5hY3RpdmUsCi5wb3B1cC1tb2RhbC1sb2dpbi5hY3RpdmUgewogICAgb3BhY2l0eTogMTsKICAgIHZpc2liaWxpdHk6IHZpc2libGU7Cn0KCi5jb250ZW50LW1vZGFsIGgzIHNwYW4gewogICAgbGluZS1oZWlnaHQ6IDE7Cn0KCi5hY3RpdmUtcG9wdXAgLm5hdl9vdmVybGF5LAouYWN0aXZlLXBvcHVwLWxvZ2luIC5uYXZfb3ZlcmxheSB7CiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7CiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50Owp9CgoKLmZvcm0tY2Fwc3VsZSAuZm9ybS1ncm91cCB7CiAgICAvKiBGb3JtIGdyb3VwKi8KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLyoqKioqKiogTGFiZWwgKioqKioqKi8KCi5mb3JtLWNhcHN1bGUgLmZvcm0tZ3JvdXAgbGFiZWwgewogICAgLyogSW5wdXQgZmllbGQgZmxvYXRpbmcgbGFiZWwgKi8KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGZvbnQtc2l6ZTogMS4zZW07CiAgICB0b3A6IDBweDsKICAgIHdpZHRoOiAxMDAlOwogICAgcGFkZGluZzogMCAyMHB4OwogICAgbWFyZ2luOiA1cHggMCAxMHB4IDA7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2Utb3V0OwogICAgLyogcHJldmVudCBmbGlja2VyaW5nICovCiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIGNvbG9yOiAjNzM3MzczOwp9CgouZm9ybS1jYXBzdWxlIC5zaG93LWxhYmVsIGxhYmVsIHsKICAgIC8qIEFjdGl2ZSBzdGF0ZSBmb3IgbGFiZWwgd2hlbiB2aXNpYmxlICovCiAgICBvcGFjaXR5OiAxOwp9CgovKioqKioqKiogRm9ybSBjb250cm9sIGZpZWxkcyAqKioqKioqKi8KCi5mb3JtLWNhcHN1bGUgLmZvcm0tY29udHJvbCB7CiAgICAvKiBGb3JtIGNvbnRyb2wgZmllbGRzICovCiAgICBoZWlnaHQ6IDYwcHg7CiAgICBwYWRkaW5nOiAxNXB4IDE4cHg7CiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggdHJhbnNwYXJlbnQ7CiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDsKICAgIGZvbnQtc2l6ZTogMS44cmVtOwogICAgYm9yZGVyLXJhZGl1czogMnJlbTsKICAgIGNvbG9yOiAjMDAwOwp9CgouZm9ybS1jYXBzdWxlIC5mb3JtLWNvbnRyb2w6Zm9jdXMgewogICAgLyogRm9jdXMgc3RhdGUgZm9yIGZvcm0tY29udHJvbCBmaWVsZHMgKi8KICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjMDZjOwogICAgb3V0bGluZTogdHJhbnNwYXJlbnQ7CiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Owp9CgouZm9ybS1jYXBzdWxlIC5zaG93LWxhYmVsIC5mb3JtLWNvbnRyb2wgewogICAgLyogQWN0aXZlIHN0YXRlIGZvciBmb3JtLWNvbnRyb2wgZmllbGRzICovCiAgICBwYWRkaW5nLXRvcDogMzBweDsKICAgIHBhZGRpbmctYm90dG9tOiA1cHg7Cn0KCi5uYW1lLWFjY291bnQgewogICAgcGFkZGluZy1sZWZ0OiAyMHB4OwogICAgcGFkZGluZy1yaWdodDogMjBweDsKfQoKLmljb24tdXNlcm5hbWUsCi5pY29uLXBhc3N3b3JkLAouaWNvbi1yZWdpc3RlciB7CiAgICBwYWRkaW5nOiAwOwogICAgYmFja2dyb3VuZDogMDsKICAgIG1hcmdpbjogMDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogNTAlOwogICAgcmlnaHQ6IDEwcHg7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICBvcGFjaXR5OiAuNTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3M7Cn0KCi5mb3JtLWNhcHN1bGUgLmZvcm0tY29udHJvbDpmb2N1c34uaWNvbi11c2VybmFtZSwKLmZvcm0tY2Fwc3VsZSAuZm9ybS1jb250cm9sOmZvY3Vzfi5pY29uLXBhc3N3b3JkLAouZm9ybS1jYXBzdWxlIC5mb3JtLWNvbnRyb2w6Zm9jdXN+Lmljb24tcmVnaXN0ZXIgewogICAgb3BhY2l0eTogMTsKICAgIHRvcDogNjAlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zczsKfQoKLmhpZGUgewogICAgZGlzcGxheTogbm9uZTsKfQoKLnNob3ctcGFzc3dvcmQgI3VzZXJuYW1lIHsKICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsKfQoKLnNob3ctcGFzc3dvcmQgI3Bhc3N3b3JkIHsKICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7CiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsKICAgIGJvcmRlci10b3A6IDA7Cn0KCi5sb2dpbi1wb3B1cCB7CiAgICBtaW4taGVpZ2h0OiA1NTBweDsKfQoKLmxvZ2luLXJlZ2lzdGVyLWNlcnRhcHBsZSB7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgZGlzcGxheTogZmxleDsKICAgIGhlaWdodDogMTAwJTsKICAgIG1pbi1oZWlnaHQ6IDUwMHB4OwoKfQoKLmp1c3RpZnktY29udGVudC1jZW50ZXIgewogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KCi50b2FzdF9jb250YWluZXIgewogICAgcGFkZGluZzogM3JlbTsKICAgIG1hcmdpbjogMCBhdXRvOwogICAgd2lkdGg6IDcwMHB4OwogICAgaGVpZ2h0OiA1MDBweDsKICAgIC8qICBib3JkZXItcmFkaXVzOjAuNXJlbTsqLwogICAgZm9udC1zaXplOiAxLjhyZW07CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZmMmZiOwp9CgojdG9hc3QtY29udGFpbmVyIC50b2FzdC10aXRsZSwKI3RvYXN0LWNvbnRhaW5lciAudG9hc3QtbWVzc2FnZSB7CiAgICBmb250LXNpemU6IDEuOHJlbSAhaW1wb3J0YW50Owp9CgovKkNoYW5nZSBGb250IGluIFRvYXN0IE1lc3NhZ2UgKi8KLnRvYXN0LXN1Y2Nlc3MsCi50b2FzdC1pbmZvLAoudG9hc3Qtd2FybmluZywKLnRvYXN0LWVycm9yIHsKICAgIHdpZHRoOiA0MDBweCAhaW1wb3J0YW50OwogICAgZm9udC1zaXplOiAwLjc1cmVtOwogICAgYm9yZGVyLXJhZGl1czogMXJlbSAhaW1wb3J0YW50OwogICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZjFmZDsKICAgIGNvbG9yOiAjMDEwODFlICFpbXBvcnRhbnQ7CiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7Cn0KCi8qY2hhbmdlIGNsb3NlIGJ1dHRvbiBkZXNpZ24gY3VzdG9taXplKi8KLmNsb3NlYnRuIHsKICAgIHdpZHRoOiAyNXB4OwogICAgaGVpZ2h0OiAyNXB4OwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2NjZDdmYyAhaW1wb3J0YW50Owp9CgouY2xvc2VidG4+aSB7CiAgICBjb2xvcjogIzAwMDYxNzsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7Cn0KCiN0b2FzdC1jb250YWluZXI+LnRvYXN0LXN1Y2Nlc3MgewogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJ3QUFBQWNDQVlBQUFCeURkK1VBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBS0xTVVJCVkhnQnpaWk5idHBBRk1mZmpNRlJRWTI4aEZLcHpnMWdHWkZLV0drcWRaWDJCSFZPVUhJQzRBUTBKNmc1UVpWVnBEVFVxQzEwVjNHRGVsR3FTRjNVRzFjcWdabStHWUlWYlBBSG9DcC9DV1k4OXN4UDc4Mjg5d2JnUDR0QVNoVytYdWd3eWVpaVA2WGMvVlY5UGt3elB4YW8yZSsxZkhiWEJFcU9nZkV5enREQ3E1QWVjTjRaVlErdHVQVWlnWThIOWh2T1dITXBaTGtjL0xXaXdFdUJ3cXFjcXJVSk1CUFdrK1dONmFsckdHNHNVTHBRZldqanF6SnNKREwweHNRSVFtbndzN3k2Mjk0Y0pzVExlWlcxZzZNTHdGSy9hMkpqd3Zaa0ZnZmQra29ncWdGYkZ1WFEwR3hiQ3dGdnJkTmhIWEhldzMrTHowNXBVTnFEN01RTUFZR1QxN0FlYlRnNmVHWk14K1BXcWhpalZEbWU5elArS09FMVNJdENpeGhWWG9tK29xcDRzbGQ0aUhQL0VFb0xTLzNMY3NTcXJuUVZ0c0ZYYUZIcmV0OXdIdlh0QmtSdmgxYjgxbjNpQTZlTXJNNGtCTncvWTFxWktyU3l1RWY4VEdTVXd1Y1BOVXdRVFlpUjRyRTlIeGdqUGIvREdzSVN5dGlKUkNIWXl5bk5nbjJoSzVTK2d4U2FBVE1aSi9JckR2WGlwNnVYUDU0ZTlRampaNHhTdzYwWUx1NWJuQ3Q5L2NYS0lsci9ZR0ZZL01ZbUtrbTdlQklyMThZTFJ6ekl4TTdaVzBnb2RMOWszUTJMdUxxbUtUczcwbjNDbGJLS0pCV1JjUXFMUUppZXgwN2t2RllhZkxSbENDUXZXY0tZanMrZWQzUk1QemNxK3c2UVlxRWtMRHhnUDZ1SGUvTm4zMEpIbEJFT0xkaXlSS3dHbmhkVituSmw0WlZoelRRWGtvV0g1ZVR1UUNnT3N6ZEtYUlJQMkZoODZPWG9hWEEwQkJTdXpXS2xGcGNpV0p2Rk81Z1laS3dHWDBWZW9rVEp3azF2a0tSbFMrWmIxaG9kSEsyTXowVDNVbGtyUmZsYVZsRWtoT01Xa0hNdlQ2MWxWcVVHTHNJdnkrUTIyV2N5RThmWm4yV2VlNnQvbFhydmNXamdnZWtBQUFBQVNVVk9SSzVDWUlJPScpICFpbXBvcnRhbnQ7Cn0KCiN0b2FzdC1jb250YWluZXI+LnRvYXN0LWluZm8gewogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJ3QUFBQWNDQVlBQUFCeURkK1VBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBSmFTVVJCVkhnQnZWWk5idE5RRUo1NWlkZDRoU3BoS25PQ2toTTBQUUhwQ1VodUFEc1dMVGdrUXV3UUp5Q2NvT0VFcFNmQW5LQlc2Y0swbTZ3YitVMW5YdTA0YmRMa1RSVDFreExuT1I1L2IvN2VOd2dlMkRuNjF5YkVONGFnYlJGaUJBamxQZ0ZNK0hmSzF4U0pmdVhEbDcvWHZRdFhFaDFmZHZueWlUOHhlQUV6Z0tLZkQzWkhqejZ4bE9qRGVZek40SVFRWHNOR1lPTHB6VUgrOVZYMjhCK3pRUGJ4OGkwRndaL055UVFVSTcvaitkRkZaMkVyOHd0NXdLQTVnVzBDb1p0L2puN1d5eElTUnZHc0tvanQ4Y0dFcHROV0ZkNDZwRUZ3NmtmRytTRTZLQnJRNGtXMjdtbXU0RkRxb1ZvN3dySWFZL0FCMlo2VS8zVVNwWmJzZXk4VHJvZWQ0NHZ1akJEdVN0OExTRGdySnM2M0l2d054NEhTMUlCNDZtc21PYkVBZlVSOFJrVHZWRG5uVkRUWm9FUGdENWNUZ0c5c3ZQclVXRzdiYWJMWm50Sm93bDhaZTVoS3YvR3R0cjgxN2h0ZGcrTUl1Y1QvRDZOV1BualI0L1B6THloZytCdzJ1cjZqTHJmUGo5bEtINTNRZ0JJMDd4VnF3bmtINDNLaUFDS2xjblhWcllSVXVPSHZUR05VRk1ZUnNqNnFEM2ZSVFdNc25ma2F5QTZ2djBScHVkb0hKU1FkRXRLeHR3SHZzR1ozTGFFQ2IzaHN5ckVnOHpHb0NpWk16a01rclY1aUpseFZsZmE5VEN5bTlXNXhMQi93UnVFNEhHRStpRVo4QUtScmJScGwzaWJpcmYxT1FKNWVzbmZsbkZNTGNNSUNYR3hmZ04xazEyQUJUaDRJc054QThOTTNGYUhvWjFJUFUvZE9HbkdiUmZWUWV4Z3NKWEx2c0wycjRlNjlQQzhmRXptOFVBU2lrVEZzQUs3Z2xKclR3M25QVmhMT2lKOXFFRjRnbGxHZnhaUGJZRS9rYkg3VUYyM2tYMmZTMUQ2ai9pM0JUZmFxa0tRMW5nQUFBQUJKUlU1RXJrSmdnZz09JykgIWltcG9ydGFudDsKfQoKI3RvYXN0LWNvbnRhaW5lcj4udG9hc3Qtd2FybmluZyB7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQndBQUFBY0NBWUFBQUJ5RGQrVUFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFIYlNVUkJWSGdCeFpaUFRzSkFGTWEvTnhERWpZSkUxL1VHY2dPUDRCRXdBUk5YZUFQMEJNU1ZDeldOSnhCUElEZlFHOENPaFNTd0pCSDdmRk5iYUtWL1pzQS92d1ZwcHpQejVadDU4ekhBSDBPd1pPQ2lzak5IZ3hXbUJZVmU5UlJUbS9GV2dpTVh6cFpIei9Mb0JFMURVbHkzRVZXd29PU3BUa1JNNDNoelhNQUNZNGVCdTBIQ3A2bTRQRFIxYWV5d3pPU21mS3JZdURRU0hOOUxrVENPRnczTXIvSTdERjlKVVh0MEUxdnF6UVFWcUJONW5lNDFVZGZGb3ArRHRrcXBwRHBtYytXZzNTRmVLTDVJc0dlTGZTTnc0KzAyc2dyckNuNXpsMG1oa044M1UzRGlxalpndGpjK3NzOTVMbE1GOVRGZ2o2M09tQ2JQWmFwZ0daYnVRc1Jsc08vbWd1dTZXMDVLbllsa2J2SzNCSUlJMjRUVXlGc1IxTzUwaVdORGRCZ2t1VndSL0FGM0lZbVJGd3R2WGRJRjVmLzlaT0dIOVV3bWxEQi8wUlBuOVkwR2U4eWhpTG5JcDhJaVpDRG05L1U4MVkwMkxCenFVcGJxTWhHMFp2N0I5WU16Nk1CZk9yU0pNRGt5Vjh6OFlOcS9XS1R1VWdlSkFaMmh4aysxRmk1clRUU0l1V2MyWmhsNVNoOERHM2RRdEx1WWgraklkRmdZZVRTK3c0a2llb1FkUTN3VlRGN1J4TmhtZG9wU05sYURBaHlzd2V4ZDhrRGZMUkc1THZ3V1VtVFgxWE81Vm9ZTmVtbUpZYnduTm5oQWY3K0ZQdjZEVDJlL24wVkZuUGdVQUFBQUFFbEZUa1N1UW1DQycpICFpbXBvcnRhbnQ7Cn0KCiN0b2FzdC1jb250YWluZXI+LnRvYXN0LWVycm9yIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCd0FBQUFjQ0FZQUFBQnlEZCtVQUFBQUNYQklXWE1BQUFzVEFBQUxFd0VBbXB3WUFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUlsU1VSQlZIZ0IzVmJCYnROQUVIMnpUdWdGRklQZ3dBbHpBNG1LOEFkcnZnQytBUGlTS2wvUzlBdm9IOFNmRUVRUDNQQ05Bd2pjQTZJUWVZY2RZeHR2Yksvak5yMzBTVkc4NjUxOW5wazNzd3ZjZE5DdUM3ODgwZEYwQ2sxUXp4Vk1LSE1HS21PWUQ1c05rb2Vma25TWGZRWUp2ejdUZWtKMHhJQWUyQ2pKd1NmM1B5YkxnWFhkK0J6cGNIWkhIUVA4Q2lQQW9PV2ZqVm4wZWR4SktPRTdtTkxLUGthNEhOTGZHNDY3U09rYXlHcFNDdmpGM1hXU05TZlY5cXBiVTNXMEJ6SkJ4TG1reElYajRiZEQvVmFCanJGSDVNenhnN01rcWNhT2h3SHdCdU9SK1Y0R1Z1SE5jVTBvdWJNSzAzMkdOaCtQNVdkanNxNG5HZXQ2dmgvNjE5T1hqMXFFVXRRZUkvRWlzd0pJU1hGY2tBclpoR01SeGNVRnZQaEpKbTRSRW1QdXNRblowT3JIWElkQ0lLUVZtZFRyd1lUZWUyeEJTdFY3VC83UEl2UVpXWS9tSldsY1NiMW9EcmR0Q1pIM1k2SEl6T3BuaklGeGgyRTRlb2ZHY3ZhcnJaa3o4YXdaWGtkSVhkL0o2cnhGeUg2anpKSzlyc2drak5zNWhhYzhtTXk2UlJnRVNEeUVFQ1U2T1N0ekt1VmszMGx3ZXpYUTNOdnBOTjhQdGUyaC9iVllldUVYMXpZWXliMnpWYnNzQkRsak1XQStqc3pDRUo4MHh3N2h2NTdIcDlnVENMemNQcEJib3FZQTcreGZpcXNqdGMyNUZiRVdZYUc2b0ZCZGlpdVF5UjdTQ2djSlM5TENnT0hHZnhmWU1KNldCMi9hL1g0QXhSbko5dGdpcjNvTE5kcEwxS0o1OWwyS3NJSXQ4aWpQN1RXUml4cWNsZGJuMGpER1hCTnZQdjRDM1FqdVRxdmVKR0FBQUFBQVNVVk9SSzVDWUlJPScpICFpbXBvcnRhbnQ7Cn0KCi5yZWZlcmVuY2VzIHsKICAgIG1hcmdpbi10b3A6IDJyZW07CiAgICBmb250LXNpemU6IDAuNzVyZW07CiAgICBkaXNwbGF5OiBmbGV4OwogICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KCi5yZWZlcmVuY2VzIGEgewogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgdGV4dC1hbGlnbjogbGVmdDsKfQoKCi5wZW5kaW5nIHsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogIzg1NjQwNDsKfQoKLmNvbXBsZXRlZCB7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6ICMwY2Q2M2Q7Cn0KCi5wcm9jZXNzaW5nIHsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogI2ZmNWIwMDsKfQoKLnNob3d3LW1vcmUgbGkgewogICAgZm9udC1zaXplOiAxLjZyZW07CiAgICBwYWRkaW5nLXRvcDogNXB4OwogICAgcGFkZGluZy1ib3R0b206IDVweDsKfQoKLm1pbi13aWR0aC0xIHsKICAgIG1pbi13aWR0aDogMjAwcHg7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cn0KCi5taW4td2lkdGgtMiB7CiAgICBtaW4td2lkdGg6IDEyMHB4OwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwp9CgouaWNvbi1jb21wYW55IHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDY1JTsKICAgIHRvcDogLTVweDsKfQoKLnNob3dwYXNzIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogNTAlOwogICAgcmlnaHQ6IDQwcHg7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKfQoKLmZvcm0tY2Fwc3VsZSAuZm9ybS1jb250cm9sOmZvY3Vzfi5zaG93cGFzcyB7CiAgICB0b3A6IDYwJTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3M7Cn0KCi5jbG9zZS1wb3B1cC1hY3RpdmUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAyMHB4OwogICAgcmlnaHQ6IDIwcHg7CiAgICBjdXJzb3I6IHBvaW50ZXI7Cn0KCi5wb3B1cC1tb2RhbC1sb2dpbiBoMyB7CiAgICBmb250LXdlaWdodDogNDAwOwp9CgouZnMteHgxIHsKICAgIGZvbnQtc2l6ZTogMS40cmVtOwp9Cgouc2ktY29udGFpbmVyIC5lcnJvciB7CiAgICBjb2xvcjogIzQ5NDk0OTsKfQoKLnNpLWNvbnRhaW5lciAucG9wLWNvbnRhaW5lciwKLnNpLWNvbnRhaW5lciAuc3Bpbm5lci1jb250YWluZXIgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwp9Cgouc2ktY29udGFpbmVyIC5wb3AtY29udGFpbmVyIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uOiBmYWRlLWluIC4ycyBlYXNlLWluLW91dDsKICAgIC1tb3otYW5pbWF0aW9uOiBmYWRlLWluIC4ycyBlYXNlLWluLW91dDsKICAgIC1tcy1hbmltYXRpb246IGZhZGUtaW4gLjJzIGVhc2UtaW4tb3V0OwogICAgLW8tYW5pbWF0aW9uOiBmYWRlLWluIC4ycyBlYXNlLWluLW91dDsKICAgIGFuaW1hdGlvbjogZmFkZS1pbiAuMnMgZWFzZS1pbi1vdXQ7CiAgICB6LWluZGV4OiAyMDAwMDAwMDAwMDsKfQoKLnNpLWNvbnRhaW5lciAucG9wLWNvbnRhaW5lci5lcnJvciB7CiAgICBtYXJnaW46IGF1dG87CiAgICBtYXgtd2lkdGg6IDMwNXB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwp9Cgoud2lkZ2V0LWNvbnRhaW5lciAuc2lnbmluLWVycm9yIHsKICAgIHdpZHRoOiAxMDAlOwp9CgoucG9wLWNvbnRhaW5lci5zaWduaW4tZXJyb3Iuc3dwLXBvcC1lcnJvciB7CiAgICB0b3A6IDhweDsKfQoKLnRrLXN1YmJvZHktaGVhZGxpbmUgewogICAgZm9udC1zaXplOiAxNHB4OwogICAgbGluZS1oZWlnaHQ6IDEuNDI4NTk7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgbGV0dGVyLXNwYWNpbmc6IC0uMDE2ZW07Cn0KCi5zaS1jb250YWluZXIgLmVycm9yIHsKICAgIGNvbG9yOiAjNTAzZTMwOwp9Cgouc2ktY29udGFpbmVyIC5wb3AtYm90dG9tIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWU5YTM7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTAwJTsKICAgIG1hcmdpbi1sZWZ0OiAtNTAlOwogICAgYm9yZGVyLXJhZGl1czogNXB4OwogICAgbGVmdDogNTAlOwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxODUsIDE0OSwgMSwgLjQ3KTsKICAgIGJveC1zaGFkb3c6IDAgNXB4IDEwcHggMnB4IHJnYmEoMCwgMCwgMCwgLjEpOwogICAgbWFyZ2luLXRvcDogNXB4OwogICAgcGFkZGluZzogMTFweDsKfQoKLnNpLWNvbnRhaW5lciAucG9wLWNvbnRhaW5lciAuZmF0IHsKICAgIG1hcmdpbjogMDsKICAgIGZvbnQtc2l6ZTogMS40cmVtOwogICAgZm9udC13ZWlnaHQ6IDQwMDsKfQoKLndpZGdldC1jb250YWluZXIgLnNpLWZpZWxkLWNvbnRhaW5lciAucG9wLWNvbnRhaW5lciAuZXJyb3IgLmZhdCB7CiAgICBtYXgtaGVpZ2h0OiAxMTBweDsKICAgIG92ZXJmbG93LXk6IGF1dG87Cn0KCi53aWRnZXQtY29udGFpbmVyIC5zaS1saW5rIHsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIG1hcmdpbjogMDsKICAgIGRpc3BsYXk6IGlubGluZTsKfQoKLnNpLWNvbnRhaW5lciAucG9wLWNvbnRhaW5lciAuZmF0fmEgewogICAgY29sb3I6ICM1MDNlMzA7CiAgICBmb250LXNpemU6IDEuNHJlbTsKICAgIGZvbnQtd2VpZ2h0OiAzMDA7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKfQoKLnNpLWNvbnRhaW5lciAucG9wLWJvdHRvbTpiZWZvcmUgewogICAgd2lkdGg6IDE1cHg7CiAgICBoZWlnaHQ6IDE1cHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFlOWEzOwogICAgY29udGVudDogIiI7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiA0Ny4yJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKSBza2V3WCg1ZGVnKSBza2V3WSg1ZGVnKTsKICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpIHNrZXdYKDVkZWcpIHNrZXdZKDVkZWcpOwogICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKSBza2V3WCg1ZGVnKSBza2V3WSg1ZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZykgc2tld1goNWRlZykgc2tld1koNWRlZyk7CiAgICB0b3A6IC04cHg7CiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMTg1LCAxNDksIDEsIC40Nyk7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxODUsIDE0OSwgMSwgLjQ3KTsKICAgIGJveC1zaGFkb3c6IC0xcHggMXB4IDJweCAtMXB4IHJnYmEoMTg1LCAxNDksIDEsIC40Nyk7Cn0KCi5lcnJvciAuZm9ybS1jb250cm9sIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYyZjQgIWltcG9ydGFudDsKICAgIGJvcmRlci1jb2xvcjogI2UzMDAwMDsKfQoKLmVycm9yIGxhYmVsIHsKICAgIGNvbG9yOiAjZTMwMDAwICFpbXBvcnRhbnQ7Cn0KCi5ibG9nLWRldGFpbCB7CiAgICBmb250LXNpemU6IDEuOHJlbTsKfQoKLmNvbnRlbnQtYmxvZyBoMSB7CiAgICBmb250LXNpemU6IDNyZW07Cn0KCi5jb250ZW50LWJsb2cgaDIgewogICAgZm9udC1zaXplOiAyLjVyZW07Cn0KCi5jb250ZW50LWJsb2cgaDMgewogICAgZm9udC1zaXplOiAycmVtOwp9CgouZmVhdHVyZWRfY2FyZF9pbWcub25faG9tZSB7CiAgICBoZWlnaHQ6IDMzdmg7Cn0KCi5ibG9nLWRldGFpbCAuZ3JpZF8yX2NvbCB7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7Cn0KCi5jYXJkcyB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogICAgYm9yZGVyLXJhZGl1czogMy40cmVtOwogICAgcGFkZGluZzogMy4ycmVtOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7Cn0KCi5tZW51LXNlY3Rpb24gewogICAgcG9zaXRpb246IGZpeGVkOwogICAgd2lkdGg6IDgwJTsKICAgIGxlZnQ6IDA7CiAgICB0b3A6IDA7CiAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTsKICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTsKICAgIGJhY2tncm91bmQtY29sb3I6ICMxMzEyMTI2NjsKICAgIHotaW5kZXg6IDExMTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3M7Cn0KCi5tZW51LXNlY3Rpb24uYWN0aXZlIHsKICAgIGxlZnQ6IDAgIWltcG9ydGFudDsKICAgIHRyYW5zaXRpb246IGFsbCAuM3M7Cn0KCi50ZXh0LXdoaXRlIHsKICAgIGNvbG9yOiAjZmZmOwp9CgoubWVudS1zZWN0aW9uIC5uYXZiYXItdWwgbGkgYSB7CiAgICBwYWRkaW5nOiAxNXB4IDE1cHg7CiAgICBjb2xvcjogI2ZmZjsKfQoKLm1lbnUtc2VjdGlvbiAubmF2YmFyLXVsIGxpIGEudGV4dC1kYW5nZXIgewogICAgY29sb3I6IHZhcigtLWNvbG9yLTA0KTsKfQoKLm1lbnUtc2VjdGlvbiAubmF2YmFyLXVsIGxpIGEgaW1nIHsKICAgIHdpZHRoOiAyMHB4OwogICAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTsKfQoKLm1lbnUtc2VjdGlvbiAubmF2YmFyLXVsIC5kaXZpZGVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY4MjsKfQoKLm1lbnUtc2VjdGlvbiAubmF2YmFyLXVsIGxpIGEudGV4dC1kYW5nZXIgaW1nIHsKICAgIGZpbHRlcjogdW5zZXQ7Cn0KCi5tZW51LXNlY3Rpb24gLm5hdmJhci11bCBsaS5hY3RpdmUgYSB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci0wMSk7Cn0KCi5tZW51X2Nsb3NlX3Byb2ZpbGUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgcmlnaHQ6IDE1cHg7CiAgICB0b3A6IDIwcHg7Cn0KCi5tZW51X2Nsb3NlX3Byb2ZpbGUgaW1nIHsKICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7Cn0KCi5wYWxvcXAgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgcmlnaHQ6IDA7CiAgICB0b3A6IDA7Cn0KCi5mb250LXN1cHBvcnQgewogICAgZm9udC1zaXplOiA4cmVtOwp9CgoubXR0LTUgewogICAgbWFyZ2luLXRvcDogOHJlbTsKfQoKLmljb24tZmluZCB7CiAgICBtYXJnaW4tdG9wOiA2cmVtOwp9CgouaWNvbi1maW5kIHNwYW4gewogICAgd29yZC13cmFwOiBicmVhay13b3JkOwogICAgd2lkdGg6IDEwMCU7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBjb2xvcjogIzFkMWQxZjsKICAgIGZvbnQtc2l6ZTogMTdweDsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgbWFyZ2luLXRvcDogMXJlbTsKfQoKLmFzLWltYWdlZ3JpZC1pbWcgewogICAgdGV4dC1hbGlnbjogY2VudGVyOwp9CgouYXMtaW1hZ2VncmlkLWl0ZW0gc3BhbiB7CiAgICBmb250LXNpemU6IDE3cHg7Cn0KCi5hcy10aWxlLmFzLXRpbGUtc2hhZG93IHAgewogICAgY29sb3I6ICMwNmM7Cn0KCi5idXR0b24tbmV1dHJhbCB7CiAgICBiYWNrZ3JvdW5kOiAjMWQxZDFmOwogICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgZm9udC1zaXplOiAxN3B4OwogICAgbGluZS1oZWlnaHQ6IDEuMTc2NDg7CiAgICBmb250LXdlaWdodDogNDAwOwogICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyMmVtOwogICAgbWluLXdpZHRoOiAyOHB4OwogICAgcGFkZGluZy1sZWZ0OiAxNnB4OwogICAgcGFkZGluZy1yaWdodDogMTZweDsKICAgIHBhZGRpbmctdG9wOiA4cHg7CiAgICBwYWRkaW5nLWJvdHRvbTogOHB4OwogICAgYm9yZGVyLXJhZGl1czogOTgwcHg7Cn0KCi5idXR0b24tbmV1dHJhbCBzcGFuIHsKICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50Owp9CgouaWNvbi1jb3B5IHsKICAgIGZvbnQtc2l6ZTogMTdweDsKICAgIGNvbG9yOiAjMDZjOwp9CgoubGlua3Mtc3RhY2tlZCB7CiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsKfQoKLmxpbmtzLXN0YWNrZWQgbGkgewogICAgbGlzdC1zdHlsZTogbm9uZTsKfQoKbWFycXVlZSB7CiAgICBwYWRkaW5nOiAxMHB4OwogICAgZm9udC1zaXplOiAxLjJyZW07CiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOwp9CgpAa2V5ZnJhbWVzIGlucHV0LWFuaW1hdGUgewogICAgMCUgewogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICB9CgogICAgNDAlIHsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMywgMC43KTsKICAgIH0KCiAgICA1NSUgewogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICB9CgogICAgNzAlIHsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMiwgMC44KTsKICAgIH0KCiAgICA4MCUgewogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICB9CgogICAgOTAlIHsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSwgMC45KTsKICAgIH0KCiAgICAxMDAlIHsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOwogICAgfQp9CgpAa2V5ZnJhbWVzIGlucHV0LWNoZWNrIHsKICAgIDAlIHsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApIHJvdGF0ZSgtNDVkZWcpOwogICAgfQoKICAgIDEwMCUgewogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKC00NWRlZyk7CiAgICB9Cn0KCkBrZXlmcmFtZXMgc2NhbGUgewogICAgMCUgewogICAgICAgIHRyYW5zZm9ybTogbm9uZTsKICAgIH0KCiAgICAxMi41JSB7CiAgICAgICAgdHJhbnNmb3JtOiBub25lOwogICAgfQoKICAgIDI1JSB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1zY2FsZS1yYXRpbykpOwogICAgfQoKICAgIDM3LjUlIHsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLXNjYWxlLXJhdGlvKSk7CiAgICB9CgogICAgNTAlIHsKICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICB9CgogICAgMTAwJSB7CiAgICAgICAgdHJhbnNmb3JtOiBub25lOwogICAgfQp9CgpAa2V5ZnJhbWVzIHNsaWRlIHsKICAgIDAlIHsKICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICB9CgogICAgMTIuNSUgewogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSh2YXIoLS1zbGlkZS1zdGVwLTEpKTsKICAgIH0KCiAgICAyNSUgewogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSh2YXIoLS1zbGlkZS1zdGVwLTEpKTsKICAgIH0KCiAgICAzNy41JSB7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKHZhcigtLXNsaWRlLXN0ZXAtMikpOwogICAgfQoKICAgIDg3LjUlIHsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkodmFyKC0tc2xpZGUtc3RlcC0yKSk7CiAgICB9CgogICAgMTAwJSB7CiAgICAgICAgdHJhbnNmb3JtOiBub25lOwogICAgfQp9CgoKQC13ZWJraXQta2V5ZnJhbWVzIGFuaW0tbW9lbWEtMSB7CiAgICAzMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB9CgogICAgNzUlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNXB4KTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjVweCk7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgfQoKICAgIDg1JSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTVweCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1cHgpOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIH0KCiAgICAxMDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgfQp9CgpAbWVkaWEgKG1heC13aWR0aDogOTEycHgpIHsKICAgIC5ub3RjaDpob3ZlciB7CiAgICAgICAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50OwogICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtOwogICAgfQoKICAgIC5vdmVyZmxvdy1oaWRkZW4gLmZ1bGwtd2lkdGgtY29udGVudCwKICAgIC5vdmVyZmxvdy1oaWRkZW4gLmZ1bGwtd2lkdGgtY29udGVudCAqIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlLW91dDsKICAgIH0KCiAgICAub3ZlcmZsb3ctaGlkZGVuIC5ub3RjaCB7CiAgICAgICAgYmFja2dyb3VuZDogI2Y0ZjRmM2U2OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBtaW4taGVpZ2h0OiA1NXZoOwogICAgfQoKICAgIC5vdmVyZmxvdy1oaWRkZW4gLm5hdl9vdmVybGF5IHsKICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7CiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsKICAgIH0KCiAgICAuZHluYW1pY19pc2xhbmQ6aG92ZXIgLnNjcmVlbiB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgfQoKICAgIC5ub3RjaC1hbmltYXRpb24gewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlOwogICAgfQoKICAgIC50aXRsZV82LTMgewogICAgICAgIHBhZGRpbmc6IDEwcHggMDsKICAgICAgICBsaW5lLWhlaWdodDogMS4zOwogICAgICAgIGZvbnQtc2l6ZTogM3JlbTsKICAgIH0KCiAgICAuZGVzY3JpcHRpb24tdGUgewogICAgICAgIG1heC13aWR0aDogMTAwJTsKICAgIH0KCiAgICAub25fcHJpY2luZ19kZXRhaWwgewogICAgICAgIGZvbnQtc2l6ZTogMXJlbTsKICAgICAgICBwYWRkaW5nOiAxLjJyZW0gMS4xcmVtOwogICAgICAgIG1hcmdpbi1sZWZ0OiAwcHggIWltcG9ydGFudDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYXJkIHsKICAgICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7CiAgICB9CgogICAgLnRpdGxlLWxhbmUgewogICAgICAgIG1hcmdpbi1sZWZ0OiAtMjVweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IC0yNXB4OwogICAgfQoKICAgIC5ub3RjaCB7CiAgICAgICAgaGVpZ2h0OiA3MHB4OwogICAgICAgIHBhZGRpbmctbGVmdDogMThweDsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxOHB4OwogICAgfQoKICAgIC5jb250YWluZXIuaGFzX25hdiB7CiAgICAgICAgaGVpZ2h0OiA2OXB4OwogICAgfQoKICAgIC5ub3RjaC1hbmltYXRpb24gLmJ1dHRvbl9wcmltYXJ5IHsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MDBweDsKICAgIH0KCiAgICAubWVudV9idG5faWNvbiB7CiAgICAgICAgbWFyZ2luLXRvcDogLTdweDsKICAgIH0KCiAgICAuZGVza3RvcCB7CiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5tb2JpbGUgewogICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmdhbGxlcnlfaW1nLm9uX3Jva2lkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtOwogICAgfQoKICAgIC5tYXJnaW5fNF90b3AgewogICAgICAgIG1hcmdpbi10b3A6IDJyZW07CiAgICB9CgogICAgLnJva2lkX2NvbnRlbnRfdGl0bGUubWItNCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5idG5fd3JhcHBlci5vbl9yb2tpZCB7CiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTsKICAgIH0KCiAgICAubWVudV9jbG9zZSB7CiAgICAgICAgbWFyZ2luLXRvcDogLTIwcHg7CiAgICB9CgogICAgLmFzLXJpY2h0ZXh0IHAgewogICAgICAgIGZvbnQtc2l6ZTogMS40cmVtOwogICAgfQp9CgpAbWVkaWEobWF4LXdpZHRoOjU0OXB4KSB7CgogICAgLmZvbnQtMjYsCiAgICAucm9raWRfY29udGVudF90aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07CiAgICB9CgogICAgLnctbGF5b3V0LWhmbGV4LmNvcmVfMV9jb250ZW50X3dyYXAgewogICAgICAgIHBhZGRpbmc6IDZweCA1cHgKICAgIH0KCiAgICAuYnRuX3dyYXBwZXIsCiAgICAuY2FyZF9saXN0IHsKICAgICAgICBtYXJnaW4tdG9wOiAxcmVtOwogICAgfQoKICAgIC5tYXJnaW5fMi0yX3RvcCB7CiAgICAgICAgbWFyZ2luOiAwOwogICAgfQoKICAgIC5jb3JlXzJfY29udGVudCB7CiAgICAgICAgd2lkdGg6IDRyZW07CiAgICB9CgogICAgLmNvcmVfMV9jb250ZW50IHsKICAgICAgICB3aWR0aDogMTEuNXJlbTsKICAgIH0KCiAgICAuZGVzY3JpcHRpb25fMS04Lm9uX2VudGVycHJpc2UsCiAgICAuZGVzY3JpcHRpb25fMS04Lmhhc19ub19tYXJnaW4gewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIH0KCiAgICAub25fcHJpY2luZ19kZXRhaWwgewogICAgICAgIGZvbnQtc2l6ZTogLjY1cmVtOwogICAgICAgIHBhZGRpbmc6IDEuMnJlbSAxLjFyZW07CiAgICAgICAgbWFyZ2luLWxlZnQ6IDNweCAhaW1wb3J0YW50OwogICAgICAgIG1hcmdpbi1yaWdodDogM3B4ICFpbXBvcnRhbnQ7CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICB9CgogICAgLmR5bmFtaWNfaXNsYW5kIHsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgfQoKICAgIC5jYXJkIHsKICAgICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7CiAgICB9CgogICAgLnRpdGxlLWxhbmUgewogICAgICAgIG1hcmdpbi1sZWZ0OiAtMTVweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4OwogICAgfQoKICAgIC50aXRsZS1sYW5lIGg1IHsKICAgICAgICBmb250LXNpemU6IDEuNXJlbTsKICAgIH0KCiAgICAuY29udGVudC1oZWxscCB7CiAgICAgICAgZm9udC1zaXplOiAxcmVtOwogICAgfQoKICAgIC5ncmlkXzJfY29sIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgIH0KCiAgICAucG9pbnQtdm5kIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtOwogICAgfQoKICAgIC5wb2ludC12bmQgdGFibGUgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgfQoKICAgIC5zZXQtd2lkdGggewogICAgICAgIG1pbi13aWR0aDogMTAwJTsKICAgIH0KCiAgICAuYnV0dG9uLWNoYW5nZS1tYiB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICB9CgogICAgLmJ1dHRvbi1jaGFuZ2UtbWIgLmNhbWtldC1jaGVja2JveCAuaW5wdXQtY2hlY2sgewogICAgICAgIHdpZHRoOiAyN3B4OwogICAgfQoKICAgIC5jYW1rZXQtY2hlY2tib3ggewogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgIH0KCiAgICAuYnV0dG9uLWNoYW5nZS1tYiAuZmxvYXQtcmlnaHQgewogICAgICAgIGZsb2F0OiBub25lOwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtYXJnaW4tdG9wOiAycmVtOwogICAgfQoKICAgIC5wb3B1cC1tb2RhbCwKICAgIC5wb3B1cC1tb2RhbC1sb2dpbiB7CiAgICAgICAgd2lkdGg6IDk1JTsKICAgIH0KCiAgICAucG9wdXAtbW9kYWwgLm14LW42LAogICAgLnBvcHVwLW1vZGFsIC5teC1uNSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsKICAgIH0KCiAgICAuaW5wdXQtY2hlY2sgewogICAgICAgIHRvcDogN3B4OwogICAgfQoKICAgIC5mb3JtLWdyb3VwIC5mb3JtLWJvcmRlciAuZm9ybS11ZGlkIHsKICAgICAgICBwYWRkaW5nOiAxNXB4IDIwcHg7CiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBpbml0aWFsOwogICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOwogICAgfQoKICAgIC5mb3JtLWdyb3VwIC5mb3JtLWJvcmRlcjphZnRlciB7CiAgICAgICAgcGFkZGluZzogMnB4OwogICAgfQoKICAgIC5mb3JtLW9yZGVyLXVkaWQgbGFiZWwsCiAgICAuZGlldS1raG9hbnMgc3BhbiB7CiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07CiAgICB9CgogICAgLm5vdGNoIHsKICAgICAgICB3aWR0aDogMzNyZW07CiAgICAgICAgaGVpZ2h0OiA2MnB4OwogICAgfQoKICAgIC5jb250YWluZXIuaGFzX25hdiB7CiAgICAgICAgaGVpZ2h0OiA2MXB4OwogICAgfQoKICAgIC5kLW1iLWJsb2NrIHsKICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OwogICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNvcHktbGluayB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICB9CgogICAgLnFyLWNvZGUgewogICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgfQoKICAgIC5xci1jb2RlIHN2ZyB7CiAgICAgICAgaGVpZ2h0OiAxNTBweDsKICAgICAgICB3aWR0aDogMTUwcHg7CiAgICB9CgogICAgLmRpZXUta2hvYW4gewogICAgICAgIHBvc2l0aW9uOiBpbmhlcml0OwogICAgfQoKICAgIC5ub3Rlcy1sdXV5IHsKICAgICAgICBmb250LXNpemU6IDFyZW07CiAgICB9CgogICAgLm5nYW4taGFuZy1xcmNvZGUgewogICAgICAgIHBvc2l0aW9uOiBpbmhlcml0OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIH0KCiAgICAuZm9udC1zaXplLWZvcm0gLmNvcmVfMV9jb250ZW50X3dyYXAgewogICAgICAgIHBhZGRpbmctbGVmdDogMTBweDsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OwogICAgfQoKICAgIC5jb2wtbWQtNC5oZWlnaHQtYXV0byB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsKICAgIH0KCiAgICAuZ2FsbGVyeV9pbWcub25fcm9raWQgaW1nIHsKICAgICAgICBtYXgtaGVpZ2h0OiAyMjBweDsKICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgIH0KCiAgICAub3JkZXItZGV2IHsKICAgICAgICBwb3NpdGlvbjogaW5oZXJpdDsKICAgICAgICByaWdodDogdW5zZXQ7CiAgICAgICAgdG9wOiB1bnNldDsKICAgICAgICB0cmFuc2Zvcm06IHVuc2V0OwogICAgICAgIHdpZHRoOiAxMjBweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTsKICAgICAgICBmb250LXNpemU6IDEuMnJlbTsKICAgIH0KCiAgICAjc2F2ZS1wYXNzd29yZC1wMTIgLmZzLXgxIHsKICAgICAgICBmb250LXNpemU6IDEuMnJlbTsKICAgIH0KCiAgICAuZm9ybS1zZWFyY2gtb3JkZXIgLmlucHV0LWdyb3VwLWFwcGVuZCAuY29weSB7CiAgICAgICAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmZvcm0tc2VhcmNoLW9yZGVyIC5pbnB1dC1ncm91cC1hcHBlbmQgLmNvcHkgc3ZnIHsKICAgICAgICB3aWR0aDogMTJweDsKICAgICAgICBoZWlnaHQ6IDEycHg7CiAgICB9CgogICAgLmljb24tb3JkZXIgaW1nIHsKICAgICAgICBtYXgtd2lkdGg6IDUwJTsKICAgIH0KCiAgICAuaWNvbi1vcmRlciB7CiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICB9CgogICAgLm9ubGluZS1tb2JpbGUgLmJ0bjEgewogICAgICAgIGZvbnQtc2l6ZTogOHJlbTsKICAgIH0KCiAgICBzZWxlY3QgewogICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBpbml0aWFsOwogICAgfQoKICAgIC5vbmxpbmUtbW9iaWxlIC5mcy0wMSwKICAgIC5vbmxpbmUtbW9iaWxlIC5mcy14MSB7CiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07CiAgICB9CgogICAgLm1pbi13aWR0aC0xIHsKICAgICAgICBtaW4td2lkdGg6IDEwMCU7CiAgICB9CgogICAgc3Bhbi5taW4td2lkdGgtMiB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KCiAgICAuaWNvbi1jb21wYW55IHsKICAgICAgICByaWdodDogMzBweDsKICAgICAgICBsZWZ0OiBhdXRvOwogICAgfQoKICAgIC5vbmxpbmUtbW9iaWxlIC5idG4xIHsKICAgICAgICBmb250LXNpemU6IC43cmVtOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgbWFyZ2luOiAwcHg7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBib3gtc2hhZG93OiB1bnNldDsKICAgIH0KCiAgICAub25saW5lLW1vYmlsZSAuYnRuMTpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tbGVmdDogMDsKICAgIH0KCiAgICAuc2hvd3ctbW9yZSBsaSwKICAgIC5zaG93dy1tb3JlIGxpIHNwYW4gewogICAgICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50OwogICAgfQoKCiAgICAuc2Nyb2xsLWF1dG8gewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIG92ZXJmbG93LXg6IGF1dG87CiAgICB9CgogICAgLnRhYmxlMGxxIC50YWJsZS1jc3MgewogICAgICAgIHdpZHRoOiAxMjBweCAhaW1wb3J0YW50OwogICAgICAgIG1pbi13aWR0aDogMTIwcHggIWltcG9ydGFudDsKICAgIH0KCiAgICAubXgtbjYgewogICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OwogICAgfQoKICAgICN1cGRhdGVfcGFzc3dvcmQgLnBsLTUsCiAgICAjdXBkYXRlX3Bhc3N3b3JkIC5wci01IHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7CiAgICB9CgogICAgI3VwZGF0ZV9wYXNzd29yZCAudGV4dC1lbmQgewogICAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsKICAgIH0KCiAgICAuYnV0dG9uLWhpc3RvcnktY29udGVudCB7CiAgICAgICAgcG9zaXRpb246IGluaGVyaXQ7CiAgICAgICAgdHJhbnNmb3JtOiBpbmhlcml0OwogICAgfQoKICAgIC5idXR0b24taGlzdG9yeS1jb250ZW50IC5idG4tYnRuLWZ1bGwgewogICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsKICAgIH0KCiAgICAudGFibGUtcmVzcG9uc2l2ZSB7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIH0KCiAgICAuc29jaWFsX2xpbmsgewogICAgICAgIGhlaWdodDogM3JlbTsKICAgIH0KCiAgICAuY29udGVudC1ibG9nIGgxIHsKICAgICAgICBmb250LXNpemU6IDEuOHJlbTsKICAgIH0KCiAgICAuY29udGVudC1ibG9nIGgyIHsKICAgICAgICBmb250LXNpemU6IDEuNnJlbTsKICAgIH0KCiAgICAuY29udGVudC1ibG9nIGgzIHsKICAgICAgICBmb250LXNpemU6IDEuNHJlbTsKICAgIH0KCiAgICAuYmxvZy1kZXRhaWwgcCB7CiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07CiAgICB9CgogICAgLnRleHQtY2VudGVyLnRpdGxlLWJsb2csCiAgICAuY29udGVudC1ibG9nIHsKICAgICAgICBmb250LXNpemU6IDEuMnJlbTsKICAgIH0KCiAgICAuc2VjdGlvbi5zZWN0aW9uLWhlcm8gewogICAgICAgIG1hcmdpbi10b3A6IC0yMDBweDsKICAgIH0KCiAgICAuc21hbGwtaGlkZSwKICAgIC5tZWRpdW0taGlkZSB7CiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5zbWFsbC1zaG93IHsKICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OwogICAgfQoKICAgIC50eXBvZ3JhcGh5LWhlcm8taGVhZGxpbmUgewogICAgICAgIGZvbnQtc2l6ZTogMzhweCAhaW1wb3J0YW50OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7CiAgICB9CgogICAgLmhlcm8tY29weSB7CiAgICAgICAgZm9udC1zaXplOiAxN3B4OwogICAgfQoKICAgIC5wYWdlLW92ZXJ2aWV3IC5zZWN0aW9uLWhlcm8gLmhlcm8taGVhZGxpbmUsCiAgICAucGFnZS1vdmVydmlldyAuc2VjdGlvbi1oZXJvIC5oZXJvLWludHJvIHsKICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICB9CgogICAgLnR5cG9ncmFwaHktaGVyby1leWVicm93IHsKICAgICAgICBmb250LXNpemU6IDMwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIH0KCiAgICAuY29weS1saW5rIHAsCiAgICAucG9pbnQtdm5kIHRhYmxlIHRoLAogICAgLnBvaW50LXZuZCB0YWJsZSB0ZCwKICAgIC5zZXQtd2lkdGggYi50ZXh0LXByaW1hcnkuZnMteDMsCiAgICAuZGlldS1raG9hbiBzcGFuLAogICAgLmJ0bi1idG4tZnVsbCB7CiAgICAgICAgZm9udC1zaXplOiAuOHJlbTsKICAgIH0KCiAgICAuZm9ybS1jb250cm9sLAogICAgLmlucHV0LWdyb3VwLXRleHQsCiAgICAucXItY29kZSBwIHsKICAgICAgICBmb250LXNpemU6IDFyZW07CiAgICB9CgogICAgLmZvcm0tY29udHJvbCB7CiAgICAgICAgcGFkZGluZzogMi4zcmVtIDFyZW07CiAgICB9CgogICAgI2Zvcm0tY3JlYXRlLXVkaWQgLmNyZWF0ZS1vcmRlciwKICAgICNwYXltZW50LWNoZWNrb3V0IC5jcmVhdGUtb3JkZXIgewogICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOwogICAgfQoKICAgIC5kaWV1LWtob2FucyAuYnRuLWJ0bi1mdWxsIHsKICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7CiAgICB9CgogICAgLmRlc2NyaXB0aW9uXzEtOC5oYXNfbm9fbWFyZ2luIHsKICAgICAgICBtaW4td2lkdGg6IDE1MHB4OwogICAgfQoKICAgIC5tYXJnaW5fNF90b3AgewogICAgICAgIG1hcmdpbi10b3A6IDFyZW07CiAgICB9CgogICAgLnBhZ2Utb3ZlcnZpZXcgLnNlY3Rpb24taGVybyAuaGVyby1ncmlkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwcmVtOwogICAgfQoKICAgIC5wYWdlLW92ZXJ2aWV3IC5zZWN0aW9uLWhlcm8gewogICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07CiAgICB9CgogICAgLnNlY3Rpb24uaGFzX2NvcmUxLm9uX2hlcm8gewogICAgICAgIHBhZGRpbmctdG9wOiAyLjZyZW07CiAgICB9CgogICAgLmNhcmQtbGVmdC1hY2NvdW50IGgzIHsKICAgICAgICBmb250LXNpemU6IDEuNXJlbTsKICAgIH0KCiAgICAuY2FyZC1sZWZ0LWFjY291bnQgcCB7CiAgICAgICAgZm9udC1zaXplOiAxcmVtOwogICAgfQoKICAgICNzYXZlLXBhc3N3b3JkLXAxMiBpbnB1dCB7CiAgICAgICAgcGFkZGluZzogMS44cmVtIDFyZW07CiAgICB9CgogICAgLmNhcmQtbGVmdC1hY2NvdW50IHAgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICB9CgogICAgLmNhcmQtbGVmdC1hY2NvdW50IC5weS00IHsKICAgICAgICBwYWRkaW5nLXRvcDogN3B4ICFpbXBvcnRhbnQ7CiAgICAgICAgcGFkZGluZy1ib3R0b206IDdweCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5idG4teGwgewogICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOwogICAgfQoKICAgIC5jYXJkLWxlZnQtYWNjb3VudCAuaW5wdXQtZ3JvdXAubWItMyB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYXJkLWxlZnQtYWNjb3VudCAuZm9ybS1jb250cm9sIHsKICAgICAgICBwYWRkaW5nOiAycmVtIDFyZW07CiAgICB9CgogICAgLmNhcmQtbGVmdC1hY2NvdW50IHN2ZyB7CiAgICAgICAgd2lkdGg6IDIwcHg7CiAgICB9CgogICAgLm1lbnUtc2VjdGlvbiAubmF2YmFyLXVsIGxpIGF7CiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07CiAgICB9Cn0KCkBtZWRpYShtYXgtd2lkdGg6Mzk5cHgpIHsKICAgIC5sZWFybl9tb3JlX2xpbmsgYSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDBweCAhaW1wb3J0YW50OwogICAgICAgIG1hcmdpbi1yaWdodDogMHB4ICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLm9uX3ByaWNpbmdfZGV0YWlsIHsKICAgICAgICBtYXJnaW4tbGVmdDogMXB4ICFpbXBvcnRhbnQ7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcHggIWltcG9ydGFudDsKICAgIH0KfQ==');