cropper

BRILLIANT BRAND STRATEGIES

cropper
  • WELCOME
  • PRACTICE
  • ASCENT
  • DIAGNOSTIC
  • FOUNDATION
  • ENGINE
  • METHOD
  • STACK
  • TEAM
  • FOUNDER
  • FORGE
  • BOOK
  • CONNECT
{"js":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CjxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8dGl0bGU+QnJpbGxpYW50IEJyYW5kIFN0cmF0ZWdpZXMgwrcgVGhlIEZyb250IERvb3IgSGFzIE1vdmVkIMK3IE11bHRpLVBhZ2UgU2l0ZTwvdGl0bGU+CjxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJUaGUgQUkgbW9tZW50IGlzIG5vdCBiaW5hcnkuIFRoZSBmcm9udCBkb29yIGhhcyBtb3ZlZC4gV2hlcmUgZG9lcyB5b3VyIGJ1c2luZXNzIGFjdHVhbGx5IHN0YW5kPyBCcmlsbGlhbnQgQnJhbmQgU3RyYXRlZ2llcyBicmlkZ2VzIGxlZ2FjeSBtYXJrZXRpbmcgd2l0aCB0aGUgQUkgZXJhLiBUYWtlIFRoZSBTb3ZlcmVpZ24gQ29tcGFzcyB0byBmaW5kIHlvdXIgaG9uZXN0IHN0YXJ0aW5nIHBvaW50LiI+CjxzdHlsZT4KQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Q29ybW9yYW50K0dhcmFtb25kOndnaHRANDAwOzUwMDs2MDA7NzAwJmZhbWlseT1JQk0rUGxleCtTYW5zOndnaHRAMzAwOzQwMDs1MDA7NjAwOzcwMCZmYW1pbHk9SUJNK1BsZXgrTW9ubzp3Z2h0QDQwMDs1MDA7NjAwJmRpc3BsYXk9c3dhcCcpOwo6cm9vdCB7CiAgLS1uYXZ5OiAjMEIxNjI4OyAtLW5hdnktZGVlcDogIzA2MGQxODsgLS1uYXZ5LW1pZDogIzE0MjEzYTsgLS1uYXZ5LWNhcmQ6IHJnYmEoMjAsIDMzLCA1OCwgMC41NSk7CiAgLS1nb2xkOiAjRjBDNDMwOyAtLWdvbGQtZGVlcDogI2M5YTAyMDsgLS1nb2xkLXNvZnQ6IHJnYmEoMjQwLCAxOTYsIDQ4LCAwLjE1KTsKICAtLWNyZWFtOiAjRkVGQUYwOyAtLWNyZWFtLW11dGVkOiByZ2JhKDI1NCwgMjUwLCAyNDAsIDAuNzgpOyAtLWNyZWFtLXF1aWV0OiByZ2JhKDI1NCwgMjUwLCAyNDAsIDAuNTUpOwogIC0tcHVycGxlOiAjNEExQTZCOyAtLXB1cnBsZS1zb2Z0OiByZ2JhKDc0LCAyNiwgMTA3LCAwLjQpOwogIC0tdGVhbDogIzJEOEI3QzsgLS10ZWFsLXNvZnQ6IHJnYmEoNDUsIDEzOSwgMTI0LCAwLjE4KTsKICAtLWNvcHBlcjogI0M2NkIzMzsgLS1jb3BwZXItc29mdDogcmdiYSgxOTgsIDEwNywgNTEsIDAuMTgpOwogIC0tYm9yZGVyOiByZ2JhKDI0MCwgMTk2LCA0OCwgMC4xOCk7IC0tYm9yZGVyLXNvZnQ6IHJnYmEoMjQwLCAxOTYsIDQ4LCAwLjA4KTsKICAtLXNlcmlmOiAnQ29ybW9yYW50IEdhcmFtb25kJywgR2VvcmdpYSwgc2VyaWY7CiAgLS1zYW5zOiAnSUJNIFBsZXggU2FucycsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZjsKICAtLW1vbm86ICdJQk0gUGxleCBNb25vJywgJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlOwp9CiogeyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH0KaHRtbCB7IHNjcm9sbC1iZWhhdmlvcjogc21vb3RoOyB9CmJvZHkgeyBiYWNrZ3JvdW5kOiB2YXIoLS1uYXZ5KTsgY29sb3I6IHZhcigtLWNyZWFtKTsgZm9udC1mYW1pbHk6IHZhcigtLXNhbnMpOyBmb250LXdlaWdodDogMzAwOyBsaW5lLWhlaWdodDogMS43OyBmb250LXNpemU6IDE3cHg7IG92ZXJmbG93LXg6IGhpZGRlbjsgfQpib2R5OjpiZWZvcmUgeyBjb250ZW50OiAnJzsgcG9zaXRpb246IGZpeGVkOyBpbnNldDogMDsgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgMjAlIDAlLCByZ2JhKDI0MCwgMTk2LCA0OCwgMC4wOCkgMCUsIHRyYW5zcGFyZW50IDUwJSksIHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IDgwJSAxMDAlLCByZ2JhKDc0LCAyNiwgMTA3LCAwLjE0KSAwJSwgdHJhbnNwYXJlbnQgNTUlKTsgcG9pbnRlci1ldmVudHM6IG5vbmU7IHotaW5kZXg6IDA7IH0KLndyYXAgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7IG1heC13aWR0aDogOTIwcHg7IG1hcmdpbjogMCBhdXRvOyBwYWRkaW5nOiAwIDI0cHg7IH0KCi8qIOKUgOKUgOKUgCBUT1AgTkFWIOKUgOKUgOKUgCAqLwouc2l0ZS1uYXYgeyBwYWRkaW5nOiAxOHB4IDI0cHg7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItc29mdCk7IGJhY2tncm91bmQ6IHJnYmEoNiwgMTMsIDI0LCAwLjg1KTsgcG9zaXRpb246IHN0aWNreTsgdG9wOiAwOyB6LWluZGV4OiAxMDA7IGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTsgfQouc2l0ZS1uYXYtaW5uZXIgeyBtYXgtd2lkdGg6IDEwODBweDsgbWFyZ2luOiAwIGF1dG87IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgZmxleC13cmFwOiB3cmFwOyBnYXA6IDE0cHg7IH0KLm5hdi1icmFuZCB7IGZvbnQtZmFtaWx5OiB2YXIoLS1tb25vKTsgZm9udC1zaXplOiAwLjc4cmVtOyBsZXR0ZXItc3BhY2luZzogMC4xNmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0tZ29sZCk7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0KLm5hdi1icmFuZCAubG96ZW5nZSB7IGZvbnQtc2l6ZTogMC42NXJlbTsgb3BhY2l0eTogMC44OyB9Ci5uYXYtYnJhbmQtdGV4dCB7IGNvbG9yOiB2YXIoLS1jcmVhbSk7IH0KLm5hdi1saW5rcyB7IGRpc3BsYXk6IGZsZXg7IGdhcDogNHB4OyBmbGV4LXdyYXA6IHdyYXA7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0KLm5hdi1saW5rIHsgZm9udC1mYW1pbHk6IHZhcigtLXNhbnMpOyBmb250LXNpemU6IDAuNzhyZW07IGNvbG9yOiB2YXIoLS1jcmVhbS1tdXRlZCk7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgcGFkZGluZzogNnB4IDExcHg7IGJvcmRlci1yYWRpdXM6IDNweDsgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsgfQoubmF2LWxpbms6aG92ZXIgeyBjb2xvcjogdmFyKC0tZ29sZCk7IGJhY2tncm91bmQ6IHZhcigtLWdvbGQtc29mdCk7IH0KLm5hdi1jdGEgeyBmb250LWZhbWlseTogdmFyKC0tbW9ubyk7IGZvbnQtc2l6ZTogMC43MnJlbTsgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgYmFja2dyb3VuZDogdmFyKC0tZ29sZCk7IGNvbG9yOiB2YXIoLS1uYXZ5LWRlZXApOyBwYWRkaW5nOiA4cHggMTZweDsgYm9yZGVyLXJhZGl1czogM3B4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZvbnQtd2VpZ2h0OiA2MDA7IG1hcmdpbi1sZWZ0OiA2cHg7IHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7IH0KLm5hdi1jdGE6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jcmVhbSk7IH0KCi8qIOKUgOKUgOKUgCBIRVJPIOKUgOKUgOKUgCAqLwouaGVybyB7IHBhZGRpbmc6IDEwMHB4IDAgNzBweDsgdGV4dC1hbGlnbjogY2VudGVyOyB9Ci5leWVicm93IHsgZm9udC1mYW1pbHk6IHZhcigtLW1vbm8pOyBmb250LXNpemU6IDAuNzJyZW07IGxldHRlci1zcGFjaW5nOiAwLjMyZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1nb2xkKTsgbWFyZ2luLWJvdHRvbTogMzBweDsgfQouaGVybyBoMSB7IGZvbnQtZmFtaWx5OiB2YXIoLS1zZXJpZik7IGZvbnQtd2VpZ2h0OiA1MDA7IGZvbnQtc2l6ZTogY2xhbXAoMi40cmVtLCA2dncsIDQuMnJlbSk7IGxpbmUtaGVpZ2h0OiAxLjA1OyBjb2xvcjogdmFyKC0tY3JlYW0pOyBtYXJnaW4tYm90dG9tOiAyNnB4OyBtYXgtd2lkdGg6IDgyMHB4OyBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9Ci5oZXJvIGgxIGVtIHsgZm9udC1zdHlsZTogaXRhbGljOyBjb2xvcjogdmFyKC0tZ29sZCk7IH0KLmhlcm8gLmxlZGUgeyBtYXgtd2lkdGg6IDcwMHB4OyBtYXJnaW46IDAgYXV0byAzNnB4OyBmb250LXNpemU6IDEuMTVyZW07IGxpbmUtaGVpZ2h0OiAxLjc4OyBjb2xvcjogdmFyKC0tY3JlYW0tbXV0ZWQpOyB9Ci5oZXJvIC5sZWRlIGVtIHsgZm9udC1zdHlsZTogaXRhbGljOyBjb2xvcjogdmFyKC0tZ29sZCk7IH0KLmhlcm8gLmxlZGUgc3Ryb25nIHsgY29sb3I6IHZhcigtLWNyZWFtKTsgZm9udC13ZWlnaHQ6IDUwMDsgfQouaGVyby1kaXZpZGVyIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGdhcDogMTRweDsgbWFyZ2luOiA0NHB4IGF1dG87IG1heC13aWR0aDogMjAwcHg7IH0KLmhlcm8tZGl2aWRlciAuZG90IHsgd2lkdGg6IDRweDsgaGVpZ2h0OiA0cHg7IGJhY2tncm91bmQ6IHZhcigtLWdvbGQpOyBib3JkZXItcmFkaXVzOiA1MCU7IG9wYWNpdHk6IDAuNzsgfQouaGVyby1kaXZpZGVyIC5saW5lIHsgZmxleDogMTsgaGVpZ2h0OiAxcHg7IGJhY2tncm91bmQ6IHZhcigtLWdvbGQpOyBvcGFjaXR5OiAwLjM1OyB9CgovKiDilIDilIDilIAgU0VDVElPTlMg4pSA4pSA4pSAICovCi5zZWN0aW9uIHsgcGFkZGluZzogNzBweCAwOyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLXNvZnQpOyBzY3JvbGwtbWFyZ2luLXRvcDogODBweDsgfQouc2VjdGlvbi10YWcgeyBmb250LWZhbWlseTogdmFyKC0tbW9ubyk7IGZvbnQtc2l6ZTogMC43MnJlbTsgbGV0dGVyLXNwYWNpbmc6IDAuM2VtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0tZ29sZCk7IG1hcmdpbi1ib3R0b206IDE2cHg7IHRleHQtYWxpZ246IGNlbnRlcjsgb3BhY2l0eTogMC44NTsgfQouc2VjdGlvbiBoMiB7IGZvbnQtZmFtaWx5OiB2YXIoLS1zZXJpZik7IGZvbnQtd2VpZ2h0OiA1MDA7IGZvbnQtc2l6ZTogY2xhbXAoMS45cmVtLCA0LjV2dywgMi43cmVtKTsgbGluZS1oZWlnaHQ6IDEuMTU7IGNvbG9yOiB2YXIoLS1jcmVhbSk7IG1hcmdpbi1ib3R0b206IDI2cHg7IHRleHQtYWxpZ246IGNlbnRlcjsgfQouc2VjdGlvbiBoMiBlbSB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgY29sb3I6IHZhcigtLWdvbGQpOyB9Ci5zZWN0aW9uID4gLndyYXAgPiAuaW50cm8geyBtYXgtd2lkdGg6IDY4MHB4OyBtYXJnaW46IDAgYXV0byA0NHB4OyBmb250LXNpemU6IDEuMDZyZW07IGxpbmUtaGVpZ2h0OiAxLjc4OyBjb2xvcjogdmFyKC0tY3JlYW0tbXV0ZWQpOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KLnNlY3Rpb24gPiAud3JhcCA+IC5pbnRybyBlbSB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgY29sb3I6IHZhcigtLWdvbGQpOyB9Ci5zZWN0aW9uID4gLndyYXAgPiAuaW50cm8gc3Ryb25nIHsgY29sb3I6IHZhcigtLWNyZWFtKTsgZm9udC13ZWlnaHQ6IDUwMDsgfQoKLyog4pSA4pSA4pSAIEZJVkUgUE9TSVRJT05TIOKUgOKUgOKUgCAqLwoucG9zaXRpb25zLWdyaWQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgZ2FwOiAxNnB4OyBtYXJnaW46IDMwcHggMDsgbWF4LXdpZHRoOiA3NjBweDsgbWFyZ2luLWxlZnQ6IGF1dG87IG1hcmdpbi1yaWdodDogYXV0bzsgfQoucG9zaXRpb24tY2FyZCB7IHBhZGRpbmc6IDIycHggMjhweDsgYmFja2dyb3VuZDogcmdiYSgyMCwgMzMsIDU4LCAwLjUpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItc29mdCk7IGJvcmRlci1yYWRpdXM6IDRweDsgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1nb2xkKTsgfQoucG9zaXRpb24taGVhZGVyIHsgZGlzcGxheTogZmxleDsgZ2FwOiAxNHB4OyBhbGlnbi1pdGVtczogYmFzZWxpbmU7IG1hcmdpbi1ib3R0b206IDEwcHg7IGZsZXgtd3JhcDogd3JhcDsgfQoucG9zaXRpb24tbnVtIHsgZm9udC1mYW1pbHk6IHZhcigtLXNlcmlmKTsgZm9udC1zdHlsZTogaXRhbGljOyBmb250LXNpemU6IDEuNXJlbTsgY29sb3I6IHZhcigtLWdvbGQpOyBsaW5lLWhlaWdodDogMTsgfQoucG9zaXRpb24tbmFtZSB7IGZvbnQtZmFtaWx5OiB2YXIoLS1zZXJpZik7IGZvbnQtd2VpZ2h0OiA1MDA7IGZvbnQtc2l6ZTogMS4yNXJlbTsgY29sb3I6IHZhcigtLWNyZWFtKTsgbGluZS1oZWlnaHQ6IDEuMzsgfQoucG9zaXRpb24tbmFtZSBlbSB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgY29sb3I6IHZhcigtLWdvbGQpOyB9Ci5wb3NpdGlvbi1xdW90ZSB7IGZvbnQtZmFtaWx5OiB2YXIoLS1zZXJpZik7IGZvbnQtc3R5bGU6IGl0YWxpYzsgZm9udC1zaXplOiAxcmVtOyBjb2xvcjogdmFyKC0tY3JlYW0tbXV0ZWQpOyBtYXJnaW4tYm90dG9tOiA4cHg7IHBhZGRpbmctbGVmdDogMTRweDsgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCB2YXIoLS1nb2xkLXNvZnQpOyB9Ci5wb3NpdGlvbi1kZXNjIHsgZm9udC1zaXplOiAwLjk2cmVtOyBsaW5lLWhlaWdodDogMS43OyBjb2xvcjogdmFyKC0tY3JlYW0tbXV0ZWQpOyB9Ci5wb3NpdGlvbi1kZXNjIHN0cm9uZyB7IGNvbG9yOiB2YXIoLS1jcmVhbSk7IGZvbnQtd2VpZ2h0OiA1MDA7IH0KCi8qIOKUgOKUgOKUgCBCRSBUSEUgQU5TV0VSIFBBTkVMIOKUgOKUgOKUgCAqLwouYnRhLXBhbmVsIHsgcGFkZGluZzogMzhweCA0NHB4OyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDc0LCAyNiwgMTA3LCAwLjE4KSwgcmdiYSgyMCwgMzMsIDU4LCAwLjU1KSk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdvbGQpOyBib3JkZXItcmFkaXVzOiA0cHg7IG1hcmdpbjogMzBweCBhdXRvOyBtYXgtd2lkdGg6IDc4MHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KLmJ0YS1xdW90ZSB7IGZvbnQtZmFtaWx5OiB2YXIoLS1zZXJpZik7IGZvbnQtc3R5bGU6IGl0YWxpYzsgZm9udC1zaXplOiAxLjVyZW07IGxpbmUtaGVpZ2h0OiAxLjQ7IGNvbG9yOiB2YXIoLS1jcmVhbSk7IG1hcmdpbi1ib3R0b206IDE4cHg7IH0KLmJ0YS1xdW90ZSBlbSB7IGNvbG9yOiB2YXIoLS1nb2xkKTsgZm9udC13ZWlnaHQ6IDUwMDsgfQouYnRhLWNvbnRleHQgeyBmb250LXNpemU6IDFyZW07IGxpbmUtaGVpZ2h0OiAxLjc1OyBjb2xvcjogdmFyKC0tY3JlYW0tbXV0ZWQpOyBtYXgtd2lkdGg6IDYyMHB4OyBtYXJnaW46IDAgYXV0bzsgfQouYnRhLWNvbnRleHQgZW0geyBmb250LXN0eWxlOiBpdGFsaWM7IGNvbG9yOiB2YXIoLS1nb2xkKTsgfQouYnRhLWF0dHJpYiB7IGZvbnQtZmFtaWx5OiB2YXIoLS1tb25vKTsgZm9udC1zaXplOiAwLjdyZW07IGxldHRlci1zcGFjaW5nOiAwLjE2ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1nb2xkKTsgbWFyZ2luLXRvcDogMjJweDsgfQoKLyog4pSA4pSA4pSAIENPTVBBU1MgRElBR05PU1RJQyDilIDilIDilIAgKi8KLmNvbXBhc3MtY29udGFpbmVyIHsgYmFja2dyb3VuZDogcmdiYSgxMSwgMjIsIDQwLCAwLjcpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1nb2xkKTsgYm9yZGVyLXJhZGl1czogNnB4OyBwYWRkaW5nOiAwOyBtYXJnaW46IDMwcHggYXV0bzsgbWF4LXdpZHRoOiA3ODBweDsgb3ZlcmZsb3c6IGhpZGRlbjsgfQouY29tcGFzcy1oZWFkZXIgeyBwYWRkaW5nOiAyOHB4IDM2cHg7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItc29mdCk7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyNDAsIDE5NiwgNDgsIDAuMSksIHRyYW5zcGFyZW50KTsgdGV4dC1hbGlnbjogY2VudGVyOyB9Ci5jb21wYXNzLXRhZyB7IGZvbnQtZmFtaWx5OiB2YXIoLS1tb25vKTsgZm9udC1zaXplOiAwLjdyZW07IGxldHRlci1zcGFjaW5nOiAwLjJlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLWdvbGQpOyBtYXJnaW4tYm90dG9tOiA4cHg7IH0KLmNvbXBhc3MtdGl0bGUgeyBmb250LWZhbWlseTogdmFyKC0tc2VyaWYpOyBmb250LXdlaWdodDogNTAwOyBmb250LXNpemU6IDEuNnJlbTsgY29sb3I6IHZhcigtLWNyZWFtKTsgbGluZS1oZWlnaHQ6IDEuMjsgbWFyZ2luLWJvdHRvbTogNnB4OyB9Ci5jb21wYXNzLXRpdGxlIGVtIHsgZm9udC1zdHlsZTogaXRhbGljOyBjb2xvcjogdmFyKC0tZ29sZCk7IH0KLmNvbXBhc3MtbWV0YSB7IGZvbnQtZmFtaWx5OiB2YXIoLS1tb25vKTsgZm9udC1zaXplOiAwLjc0cmVtOyBsZXR0ZXItc3BhY2luZzogMC4xZW07IGNvbG9yOiB2YXIoLS1jcmVhbS1xdWlldCk7IH0KLmNvbXBhc3MtYm9keSB7IHBhZGRpbmc6IDMycHggMzZweDsgfQoKLyogV2VsY29tZSBzdGFnZSAqLwouY29tcGFzcy13ZWxjb21lIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9Ci5jb21wYXNzLXdlbGNvbWUgcCB7IGZvbnQtc2l6ZTogMS4wMnJlbTsgbGluZS1oZWlnaHQ6IDEuNzg7IGNvbG9yOiB2YXIoLS1jcmVhbS1tdXRlZCk7IG1hcmdpbi1ib3R0b206IDE2cHg7IG1heC13aWR0aDogNjAwcHg7IG1hcmdpbi1sZWZ0OiBhdXRvOyBtYXJnaW4tcmlnaHQ6IGF1dG87IH0KLmNvbXBhc3Mtd2VsY29tZSBwIHN0cm9uZyB7IGNvbG9yOiB2YXIoLS1jcmVhbSk7IGZvbnQtd2VpZ2h0OiA1MDA7IH0KLmNvbXBhc3Mtd2VsY29tZSBwIGVtIHsgZm9udC1zdHlsZTogaXRhbGljOyBjb2xvcjogdmFyKC0tZ29sZCk7IH0KLmNvbXBhc3MtbWV0YS1ncmlkIHsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGdhcDogMjJweDsgZmxleC13cmFwOiB3cmFwOyBtYXJnaW46IDI4cHggMDsgfQouY29tcGFzcy1tZXRhLWl0ZW0geyBmb250LWZhbWlseTogdmFyKC0tbW9ubyk7IGZvbnQtc2l6ZTogMC43MnJlbTsgbGV0dGVyLXNwYWNpbmc6IDAuMTRlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLWdvbGQpOyBvcGFjaXR5OiAwLjk7IH0KLmNvbXBhc3MtbWV0YS1pdGVtIC5kb3QgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiA1cHg7IGhlaWdodDogNXB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1nb2xkKTsgYm9yZGVyLXJhZGl1czogNTAlOyBtYXJnaW4tcmlnaHQ6IDhweDsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgb3BhY2l0eTogMC43OyB9Ci5idG4tYmVnaW4geyBmb250LWZhbWlseTogdmFyKC0tbW9ubyk7IGZvbnQtc2l6ZTogMC44NHJlbTsgbGV0dGVyLXNwYWNpbmc6IDAuMTRlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgYmFja2dyb3VuZDogdmFyKC0tZ29sZCk7IGNvbG9yOiB2YXIoLS1uYXZ5LWRlZXApOyBwYWRkaW5nOiAxNHB4IDMycHg7IGJvcmRlci1yYWRpdXM6IDNweDsgYm9yZGVyOiBub25lOyBjdXJzb3I6IHBvaW50ZXI7IGZvbnQtd2VpZ2h0OiA2MDA7IHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7IG1hcmdpbi10b3A6IDEycHg7IH0KLmJ0bi1iZWdpbjpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWNyZWFtKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOyB9CgovKiBRdWVzdGlvbiBzdGFnZSAqLwouY29tcGFzcy1xdWVzdGlvbiB7IGRpc3BsYXk6IG5vbmU7IH0KLmNvbXBhc3MtcXVlc3Rpb24uYWN0aXZlIHsgZGlzcGxheTogYmxvY2s7IH0KLnByb2dyZXNzLWJsb2NrIHsgbWFyZ2luLWJvdHRvbTogMjhweDsgfQoucHJvZ3Jlc3Mtcm93IHsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBhbGlnbi1pdGVtczogYmFzZWxpbmU7IG1hcmdpbi1ib3R0b206IDEwcHg7IH0KLnByb2dyZXNzLWxhYmVsIHsgZm9udC1mYW1pbHk6IHZhcigtLW1vbm8pOyBmb250LXNpemU6IDAuN3JlbTsgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLWdvbGQpOyB9Ci5wcm9ncmVzcy1jb3VudCB7IGZvbnQtZmFtaWx5OiB2YXIoLS1tb25vKTsgZm9udC1zaXplOiAwLjc4cmVtOyBjb2xvcjogdmFyKC0tY3JlYW0tbXV0ZWQpOyB9Ci5wcm9ncmVzcy1jb3VudCBzdHJvbmcgeyBjb2xvcjogdmFyKC0tZ29sZCk7IGZvbnQtd2VpZ2h0OiA2MDA7IH0KLnByb2dyZXNzLWJhciB7IGhlaWdodDogNHB4OyBiYWNrZ3JvdW5kOiByZ2JhKDI0MCwgMTk2LCA0OCwgMC4xKTsgYm9yZGVyLXJhZGl1czogMnB4OyBvdmVyZmxvdzogaGlkZGVuOyB9Ci5wcm9ncmVzcy1maWxsIHsgaGVpZ2h0OiAxMDAlOyBiYWNrZ3JvdW5kOiB2YXIoLS1nb2xkKTsgd2lkdGg6IDMzJTsgdHJhbnNpdGlvbjogd2lkdGggMC40cyBlYXNlOyB9Ci5xLWV5ZWJyb3cgeyBmb250LWZhbWlseTogdmFyKC0tbW9ubyk7IGZvbnQtc2l6ZTogMC43cmVtOyBsZXR0ZXItc3BhY2luZzogMC4xOGVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0tZ29sZCk7IG1hcmdpbi1ib3R0b206IDEycHg7IG9wYWNpdHk6IDAuODU7IH0KLnEtdGV4dCB7IGZvbnQtZmFtaWx5OiB2YXIoLS1zZXJpZik7IGZvbnQtd2VpZ2h0OiA1MDA7IGZvbnQtc2l6ZTogMS41cmVtOyBjb2xvcjogdmFyKC0tY3JlYW0pOyBsaW5lLWhlaWdodDogMS4zOyBtYXJnaW4tYm90dG9tOiAxMnB4OyB9Ci5xLXRleHQgZW0geyBmb250LXN0eWxlOiBpdGFsaWM7IGNvbG9yOiB2YXIoLS1nb2xkKTsgfQoucS1udWRnZSB7IGZvbnQtc2l6ZTogMC45NXJlbTsgbGluZS1oZWlnaHQ6IDEuNjU7IGNvbG9yOiB2YXIoLS1jcmVhbS1xdWlldCk7IGZvbnQtc3R5bGU6IGl0YWxpYzsgbWFyZ2luLWJvdHRvbTogMjJweDsgfQoub3B0aW9ucyB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyBnYXA6IDEwcHg7IH0KLm9wdGlvbiB7IHBhZGRpbmc6IDE2cHggMjBweDsgYmFja2dyb3VuZDogcmdiYSgyMCwgMzMsIDU4LCAwLjYpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItc29mdCk7IGJvcmRlci1yYWRpdXM6IDNweDsgY3Vyc29yOiBwb2ludGVyOyB0cmFuc2l0aW9uOiBhbGwgMC4xOHMgZWFzZTsgZm9udC1zaXplOiAwLjk4cmVtOyBsaW5lLWhlaWdodDogMS41NTsgY29sb3I6IHZhcigtLWNyZWFtLW11dGVkKTsgfQoub3B0aW9uOmhvdmVyIHsgYmFja2dyb3VuZDogcmdiYSgyNDAsIDE5NiwgNDgsIDAuMSk7IGJvcmRlci1jb2xvcjogdmFyKC0tZ29sZCk7IGNvbG9yOiB2YXIoLS1jcmVhbSk7IH0KLm9wdGlvbi5zZWxlY3RlZCB7IGJhY2tncm91bmQ6IHZhcigtLWdvbGQtc29mdCk7IGJvcmRlci1jb2xvcjogdmFyKC0tZ29sZCk7IGNvbG9yOiB2YXIoLS1jcmVhbSk7IH0KLnEtbmF2IHsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBhbGlnbi1pdGVtczogY2VudGVyOyBtYXJnaW4tdG9wOiAyNHB4OyB9Ci5idG4tYmFjayB7IGZvbnQtZmFtaWx5OiB2YXIoLS1tb25vKTsgZm9udC1zaXplOiAwLjc0cmVtOyBsZXR0ZXItc3BhY2luZzogMC4xMmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHZhcigtLWNyZWFtLXF1aWV0KTsgYm9yZGVyOiBub25lOyBjdXJzb3I6IHBvaW50ZXI7IHBhZGRpbmc6IDhweCAwOyB0cmFuc2l0aW9uOiBjb2xvciAwLjJzOyB9Ci5idG4tYmFjazpob3ZlciB7IGNvbG9yOiB2YXIoLS1nb2xkKTsgfQouYnRuLWJhY2s6ZGlzYWJsZWQgeyBvcGFjaXR5OiAwLjM7IGN1cnNvcjogbm90LWFsbG93ZWQ7IH0KCi8qIFJlYWRpbmcgc3RhZ2UgKi8KLmNvbXBhc3MtcmVhZGluZyB7IGRpc3BsYXk6IG5vbmU7IH0KLmNvbXBhc3MtcmVhZGluZy5hY3RpdmUgeyBkaXNwbGF5OiBibG9jazsgfQoucmVhZGluZy1leWVicm93IHsgZm9udC1mYW1pbHk6IHZhcigtLW1vbm8pOyBmb250LXNpemU6IDAuN3JlbTsgbGV0dGVyLXNwYWNpbmc6IDAuMmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0tZ29sZCk7IG1hcmdpbi1ib3R0b206IDE0cHg7IHRleHQtYWxpZ246IGNlbnRlcjsgfQoucmVhZGluZy1iYW5kIHsgcGFkZGluZzogMjRweCAyOHB4OyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI0MCwgMTk2LCA0OCwgMC4xKSwgcmdiYSg3NCwgMjYsIDEwNywgMC4xMikpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1nb2xkKTsgYm9yZGVyLXJhZGl1czogNHB4OyBtYXJnaW4tYm90dG9tOiAyNHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KLnJlYWRpbmctYmFuZC1uYW1lIHsgZm9udC1mYW1pbHk6IHZhcigtLXNlcmlmKTsgZm9udC13ZWlnaHQ6IDUwMDsgZm9udC1zaXplOiAxLjlyZW07IGNvbG9yOiB2YXIoLS1nb2xkKTsgbWFyZ2luLWJvdHRvbTogNnB4OyBsaW5lLWhlaWdodDogMS4yOyB9Ci5yZWFkaW5nLWJhbmQtbmFtZSBlbSB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfQoucmVhZGluZy1zY29yZSB7IGZvbnQtZmFtaWx5OiB2YXIoLS1tb25vKTsgZm9udC1zaXplOiAwLjhyZW07IGxldHRlci1zcGFjaW5nOiAwLjFlbTsgY29sb3I6IHZhcigtLWNyZWFtLW11dGVkKTsgfQoucmVhZGluZy1zY29yZSBzdHJvbmcgeyBjb2xvcjogdmFyKC0tZ29sZCk7IGZvbnQtd2VpZ2h0OiA2MDA7IH0KLnJlYWRpbmctYm9keSB7IGZvbnQtc2l6ZTogMXJlbTsgbGluZS1oZWlnaHQ6IDEuNzU7IGNvbG9yOiB2YXIoLS1jcmVhbS1tdXRlZCk7IG1hcmdpbi1ib3R0b206IDI2cHg7IH0KLnJlYWRpbmctYm9keSBwIHsgbWFyZ2luLWJvdHRvbTogMTRweDsgfQoucmVhZGluZy1ib2R5IHN0cm9uZyB7IGNvbG9yOiB2YXIoLS1jcmVhbSk7IGZvbnQtd2VpZ2h0OiA1MDA7IH0KLnJlYWRpbmctYm9keSBlbSB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgY29sb3I6IHZhcigtLWdvbGQpOyB9Ci5uZXh0LXN0ZXAtY2FyZCB7IHBhZGRpbmc6IDI2cHggMzBweDsgYmFja2dyb3VuZDogcmdiYSgyMCwgMzMsIDU4LCAwLjYpOyBib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWdvbGQpOyBib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDsgbWFyZ2luLWJvdHRvbTogMjRweDsgfQoubmV4dC1zdGVwLWxhYmVsIHsgZm9udC1mYW1pbHk6IHZhcigtLW1vbm8pOyBmb250LXNpemU6IDAuN3JlbTsgbGV0dGVyLXNwYWNpbmc6IDAuMTZlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLWdvbGQpOyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9Ci5uZXh0LXN0ZXAtdGl0bGUgeyBmb250LWZhbWlseTogdmFyKC0tc2VyaWYpOyBmb250LXdlaWdodDogNTAwOyBmb250LXNpemU6IDEuMzVyZW07IGNvbG9yOiB2YXIoLS1jcmVhbSk7IG1hcmdpbi1ib3R0b206IDEwcHg7IGxpbmUtaGVpZ2h0OiAxLjM7IH0KLm5leHQtc3RlcC10aXRsZSBlbSB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgY29sb3I6IHZhcigtLWdvbGQpOyB9Ci5uZXh0LXN0ZXAtZGVzYyB7IGZvbnQtc2l6ZTogMC45NnJlbTsgbGluZS1oZWlnaHQ6IDEuNzsgY29sb3I6IHZhcigtLWNyZWFtLW11dGVkKTsgbWFyZ2luLWJvdHRvbTogMThweDsgfQoubmV4dC1zdGVwLWFjdGlvbnMgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDEycHg7IGZsZXgtd3JhcDogd3JhcDsgfQouY3RhLXByaW1hcnkgeyBmb250LWZhbWlseTogdmFyKC0tbW9ubyk7IGZvbnQtc2l6ZTogMC43OHJlbTsgbGV0dGVyLXNwYWNpbmc6IDAuMTRlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgYmFja2dyb3VuZDogdmFyKC0tZ29sZCk7IGNvbG9yOiB2YXIoLS1uYXZ5LWRlZXApOyBwYWRkaW5nOiAxMnB4IDI0cHg7IGJvcmRlci1yYWRpdXM6IDNweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmb250LXdlaWdodDogNjAwOyB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0KLmN0YS1wcmltYXJ5OmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tY3JlYW0pOyB9Ci5jdGEtc2Vjb25kYXJ5IHsgZm9udC1mYW1pbHk6IHZhcigtLW1vbm8pOyBmb250LXNpemU6IDAuNzhyZW07IGxldHRlci1zcGFjaW5nOiAwLjE0ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogdmFyKC0tZ29sZCk7IHBhZGRpbmc6IDEycHggMjRweDsgYm9yZGVyLXJhZGl1czogM3B4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZvbnQtd2VpZ2h0OiA1MDA7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdvbGQpOyB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0KLmN0YS1zZWNvbmRhcnk6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1nb2xkLXNvZnQpOyB9Ci5yZXRha2Utcm93IHsgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nLXRvcDogMTRweDsgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCB2YXIoLS1ib3JkZXItc29mdCk7IH0KLmJ0bi1yZXRha2UgeyBmb250LWZhbWlseTogdmFyKC0tbW9ubyk7IGZvbnQtc2l6ZTogMC43MnJlbTsgbGV0dGVyLXNwYWNpbmc6IDAuMTRlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiB2YXIoLS1jcmVhbS1xdWlldCk7IGJvcmRlcjogbm9uZTsgY3Vyc29yOiBwb2ludGVyOyBwYWRkaW5nOiA4cHggMTRweDsgdHJhbnNpdGlvbjogY29sb3IgMC4yczsgfQouYnRuLXJldGFrZTpob3ZlciB7IGNvbG9yOiB2YXIoLS1nb2xkKTsgfQoKLyog4pSA4pSA4pSAIEJSSURHRSBQSElMT1NPUEhZIOKUgOKUgOKUgCAqLwouYnJpZGdlLWNhcmQgeyBwYWRkaW5nOiAzNnB4IDQwcHg7IGJhY2tncm91bmQ6IHJnYmEoMTEsIDIyLCA0MCwgMC41NSk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IGJvcmRlci1yYWRpdXM6IDRweDsgbWFyZ2luOiAyOHB4IDA7IGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tZ29sZCk7IH0KLmJyaWRnZS1jYXJkIGgzIHsgZm9udC1mYW1pbHk6IHZhcigtLXNlcmlmKTsgZm9udC13ZWlnaHQ6IDUwMDsgZm9udC1zaXplOiAxLjQ1cmVtOyBjb2xvcjogdmFyKC0tY3JlYW0pOyBtYXJnaW4tYm90dG9tOiAxNnB4OyBsaW5lLWhlaWdodDogMS4zOyB9Ci5icmlkZ2UtY2FyZCBoMyBlbSB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgY29sb3I6IHZhcigtLWdvbGQpOyB9Ci5icmlkZ2UtY2FyZCBwIHsgZm9udC1zaXplOiAxcmVtOyBsaW5lLWhlaWdodDogMS43ODsgY29sb3I6IHZhcigtLWNyZWFtLW11dGVkKTsgbWFyZ2luLWJvdHRvbTogMTRweDsgfQouYnJpZGdlLWNhcmQgcDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfQouYnJpZGdlLWNhcmQgcCBzdHJvbmcgeyBjb2xvcjogdmFyKC0tY3JlYW0pOyBmb250LXdlaWdodDogNTAwOyB9Ci5icmlkZ2UtY2FyZCBwIGVtIHsgZm9udC1zdHlsZTogaXRhbGljOyBjb2xvcjogdmFyKC0tZ29sZCk7IH0KCi8qIOKUgOKUgOKUgCBGSU5BTCBDVEEgU1RSSVAg4pSA4pSA4pSAICovCi5maW5hbC1jdGEtc3RyaXAgeyBwYWRkaW5nOiA4MHB4IDA7IHRleHQtYWxpZ246IGNlbnRlcjsgYmFja2dyb3VuZDogdmFyKC0tbmF2eS1kZWVwKTsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1zb2Z0KTsgfQouZmluYWwtY3RhLXN0cmlwIGgyIHsgZm9udC1mYW1pbHk6IHZhcigtLXNlcmlmKTsgZm9udC13ZWlnaHQ6IDUwMDsgZm9udC1zaXplOiBjbGFtcCgxLjlyZW0sIDR2dywgMi41cmVtKTsgbGluZS1oZWlnaHQ6IDEuMTU7IGNvbG9yOiB2YXIoLS1jcmVhbSk7IG1hcmdpbi1ib3R0b206IDIycHg7IH0KLmZpbmFsLWN0YS1zdHJpcCBoMiBlbSB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgY29sb3I6IHZhcigtLWdvbGQpOyB9Ci5maW5hbC1jdGEtc3RyaXAgcCB7IG1heC13aWR0aDogNjIwcHg7IG1hcmdpbjogMCBhdXRvIDMycHg7IGZvbnQtc2l6ZTogMS4wNHJlbTsgbGluZS1oZWlnaHQ6IDEuNzg7IGNvbG9yOiB2YXIoLS1jcmVhbS1tdXRlZCk7IH0KLmZpbmFsLWN0YS1yb3cgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDE0cHg7IGZsZXgtd3JhcDogd3JhcDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0KCi8qIOKUgOKUgOKUgCBTSVRFIEZPT1RFUiDilIDilIDilIAgKi8KLnNpdGUtZm9vdGVyIHsgcGFkZGluZzogNDBweCAyNHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJhY2tncm91bmQ6IHZhcigtLW5hdnktZGVlcCk7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItc29mdCk7IH0KLmZvb3Rlci1icmFuZCB7IGZvbnQtZmFtaWx5OiB2YXIoLS1tb25vKTsgZm9udC1zaXplOiAwLjc2cmVtOyBsZXR0ZXItc3BhY2luZzogMC4xOGVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0tZ29sZCk7IG1hcmdpbi1ib3R0b206IDEwcHg7IH0KLmZvb3Rlci1wYXJlbnQgeyBmb250LWZhbWlseTogdmFyKC0tc2Fucyk7IGZvbnQtc2l6ZTogMC44NnJlbTsgY29sb3I6IHZhcigtLWNyZWFtLW11dGVkKTsgbWFyZ2luLWJvdHRvbTogNnB4OyB9Ci5mb290ZXItdGFnbGluZSB7IGZvbnQtZmFtaWx5OiB2YXIoLS1zZXJpZik7IGZvbnQtc3R5bGU6IGl0YWxpYzsgZm9udC1zaXplOiAwLjk2cmVtOyBjb2xvcjogdmFyKC0tY3JlYW0tbXV0ZWQpOyBtYXJnaW46IDE4cHggYXV0byAxMHB4OyBtYXgtd2lkdGg6IDYyMHB4OyBsaW5lLWhlaWdodDogMS41OyB9Ci5mb290ZXItY29weSB7IGZvbnQtZmFtaWx5OiB2YXIoLS1tb25vKTsgZm9udC1zaXplOiAwLjY4cmVtOyBsZXR0ZXItc3BhY2luZzogMC4xNGVtOyBjb2xvcjogdmFyKC0tY3JlYW0tcXVpZXQpOyBtYXJnaW4tdG9wOiAxNHB4OyB9CgpAbWVkaWEgKG1heC13aWR0aDogNjgwcHgpIHsKICAuaGVybyB7IHBhZGRpbmc6IDYwcHggMCA1MHB4OyB9CiAgLnNlY3Rpb24geyBwYWRkaW5nOiA2MHB4IDA7IH0KICAuYnRhLXBhbmVsLCAuY29tcGFzcy1ib2R5LCAuY29tcGFzcy1oZWFkZXIsIC5icmlkZ2UtY2FyZCwgLnBvc2l0aW9uLWNhcmQsIC5uZXh0LXN0ZXAtY2FyZCB7IHBhZGRpbmc6IDI0cHggMjRweDsgfQogIGJvZHkgeyBmb250LXNpemU6IDE2cHg7IH0KICAucS10ZXh0IHsgZm9udC1zaXplOiAxLjNyZW07IH0KfQo8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoKPCEtLSDilIDilIDilIAgVE9QIE5BVklHQVRJT04g4pSA4pSA4pSAIC0tPgo8bmF2IGNsYXNzPSJzaXRlLW5hdiI+CiAgPGRpdiBjbGFzcz0ic2l0ZS1uYXYtaW5uZXIiPgogICAgPGEgaHJlZj0iI3RvcCIgY2xhc3M9Im5hdi1icmFuZCI+CiAgICAgIDxzcGFuIGNsYXNzPSJsb3plbmdlIj7il4Y8L3NwYW4+CiAgICAgIDxzcGFuPjxzcGFuIGNsYXNzPSJuYXYtYnJhbmQtdGV4dCI+QnJpbGxpYW50IEJyYW5kIFN0cmF0ZWdpZXM8L3NwYW4+PC9zcGFuPgogICAgPC9hPgogICAgPGRpdiBjbGFzcz0ibmF2LWxpbmtzIj4KICAgICAgPGEgaHJlZj0iI3Bvc2l0aW9ucyIgY2xhc3M9Im5hdi1saW5rIj5UaGUgRml2ZSBQb3NpdGlvbnM8L2E+CiAgICAgIDxhIGhyZWY9IiNjb21wYXNzIiBjbGFzcz0ibmF2LWxpbmsiPlRoZSBDb21wYXNzPC9hPgogICAgICA8YSBocmVmPSIjYnJpZGdlIiBjbGFzcz0ibmF2LWxpbmsiPldoYXQgV2UgRG88L2E+CiAgICAgIDxhIGhyZWY9Ii9wcmFjdGljZSIgY2xhc3M9Im5hdi1saW5rIj5QcmFjdGljZSBPdmVydmlldzwvYT4KICAgICAgPGEgaHJlZj0iI2NvbXBhc3MiIGNsYXNzPSJuYXYtY3RhIj5GaW5kIFlvdXIgUG9zaXRpb248L2E+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9uYXY+Cgo8IS0tIOKUgOKUgOKUgCBIRVJPIOKUgOKUgOKUgCAtLT4KPHNlY3Rpb24gY2xhc3M9Imhlcm8iIGlkPSJ0b3AiPgogIDxkaXYgY2xhc3M9IndyYXAiPgogICAgPGRpdiBjbGFzcz0iZXllYnJvdyI+4peGIEJyaWxsaWFudCBCcmFuZCBTdHJhdGVnaWVzIMK3IEZvciBGb3VuZGVycyBJbiBUaGUgQUkgRXJhPC9kaXY+CiAgICA8aDE+VGhlIGZyb250IGRvb3IgPGVtPmhhcyBtb3ZlZC48L2VtPiBXaGVyZSBkb2VzIHlvdXIgYnVzaW5lc3MgPGVtPmFjdHVhbGx5IHN0YW5kPzwvZW0+PC9oMT4KICAgIDxwIGNsYXNzPSJsZWRlIj5Gb3IgdHdlbnR5IHllYXJzLCBiZWluZyBmb3VuZCBtZWFudCBhcHBlYXJpbmcgb24gYSBzZWFyY2ggZW5naW5lLiBUaGF0IGRvb3Igc3RpbGwgc3RhbmRzLiA8ZW0+QnV0IGl0IGlzIG5vIGxvbmdlciB0aGUgb25seSBvbmUsIGFuZCBmb3IgYSBmYXN0LWdyb3dpbmcgbnVtYmVyIG9mIHlvdXIgY3VzdG9tZXJzLCBpdCBpcyBubyBsb25nZXIgdGhlIGZpcnN0LjwvZW0+IFRvZGF5IHRoZXkgYXNrIGFuIEFJLiBUaGUgYXNzaXN0YW50IGRvZXMgbm90IGdpdmUgYSBsaXN0IG9mIHRlbiBsaW5rcy4gSXQgZ2l2ZXMgYW4gYW5zd2VyIG9mIHRocmVlLiA8c3Ryb25nPkVpdGhlciB5b3UgYXJlIGluc2lkZSB0aGF0IGFuc3dlciwgb3IgeW91IHdlcmUgbm90IHNlZW4uPC9zdHJvbmc+PC9wPgogICAgPGRpdiBjbGFzcz0iaGVyby1kaXZpZGVyIj4KICAgICAgPHNwYW4gY2xhc3M9ImRvdCI+PC9zcGFuPjxzcGFuIGNsYXNzPSJsaW5lIj48L3NwYW4+PHNwYW4gY2xhc3M9ImRvdCI+PC9zcGFuPjxzcGFuIGNsYXNzPSJsaW5lIj48L3NwYW4+PHNwYW4gY2xhc3M9ImRvdCI+PC9zcGFuPgogICAgPC9kaXY+CiAgICA8cCBjbGFzcz0ibGVkZSI+U29tZSBhZ2VuY2llcyB3aWxsIHRlbGwgeW91IHRoZXJlIGFyZSB0d28gY2FtcHMgaW4gdGhlIEFJIGNvbnZlcnNhdGlvbiB+IHdhaXQgb3IgZ2V0IHJlYWR5LiA8ZW0+VGhlIHRydXRoIGlzIG1vcmUgaG9uZXN0IGFuZCBtb3JlIG11bHRpLWZhY2V0ZWQuPC9lbT4gVGhlcmUgYXJlIGZpdmUgaG9uZXN0IHBvc2l0aW9ucyBmb3VuZGVycyBvY2N1cHkgcmlnaHQgbm93LiA8c3Ryb25nPk5vbmUgb2YgdGhlbSBpcyB3cm9uZy48L3N0cm9uZz4gRWFjaCBvbmUgY2FsbHMgZm9yIGEgZGlmZmVyZW50IG5leHQgbW92ZS4gRmluZCB5b3VycyBiZWxvdy48L3A+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0g4pSA4pSA4pSAIEZJVkUgUE9TSVRJT05TIOKUgOKUgOKUgCAtLT4KPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24iIGlkPSJwb3NpdGlvbnMiPgogIDxkaXYgY2xhc3M9IndyYXAiPgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10YWciPuKXhiBUaGUgRml2ZSBIb25lc3QgUG9zaXRpb25zPC9kaXY+CiAgICA8aDI+V2hlcmUgeW91IG1pZ2h0IDxlbT5hY3R1YWxseSBiZSByaWdodCBub3cuPC9lbT48L2gyPgogICAgPHAgY2xhc3M9ImludHJvIj5Nb3N0IGZvdW5kZXJzIHdlIG1lZXQgYXJlIGluIG9uZSBvZiB0aGVzZSBmaXZlIHBvc2l0aW9ucy4gPGVtPlRoZSBwb3NpdGlvbiBpcyBub3QgYSB2ZXJkaWN0LiBJdCBpcyBhIHN0YXJ0aW5nIHBvaW50LjwvZW0+IE5hbWluZyB5b3VyIHBvc2l0aW9uIGhvbmVzdGx5IGlzIHRoZSBmaXJzdCBtb3ZlIHRoYXQgY29tcG91bmRzLiBQcmV0ZW5kaW5nIHlvdSBhcmUgZnVydGhlciBhbG9uZyB0aGFuIHlvdSBhcmUgaXMgdGhlIGZpcnN0IG1vdmUgdGhhdCBjb2xsYXBzZXMuPC9wPgoKICAgIDxkaXYgY2xhc3M9InBvc2l0aW9ucy1ncmlkIj4KCiAgICAgIDxkaXYgY2xhc3M9InBvc2l0aW9uLWNhcmQiPgogICAgICAgIDxkaXYgY2xhc3M9InBvc2l0aW9uLWhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwb3NpdGlvbi1udW0iPjEuPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwb3NpdGlvbi1uYW1lIj5UaGUgPGVtPlNrZXB0aWMuPC9lbT48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwb3NpdGlvbi1xdW90ZSI+IkkgYW0gbm90IHN1cmUgYW55IG9mIHRoaXMgQUkgbm9pc2UgaXMgcmVhbCwgYW5kIEkgaGF2ZSBiZWVuIGJ1cm5lZCBieSBoeXBlIGN5Y2xlcyBiZWZvcmUuIjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InBvc2l0aW9uLWRlc2MiPjxzdHJvbmc+WW91IGFyZSBub3Qgd3JvbmcgdG8gYmUgY2F1dGlvdXMuPC9zdHJvbmc+IFBsZW50eSBvZiBhZ2VuY2llcyBhcmUgb3ZlcnNlbGxpbmcgQUkgbGlrZSBpdCBpcyB0aGUgc2Vjb25kIGNvbWluZyBvZiB0aGUgZG90LWNvbSBib29tLiBUaGUgaG9uZXN0IG1vdmUgZm9yIHlvdSBpcyBub3QgdG8gYmUgcGVyc3VhZGVkIH4gaXQgaXMgdG8gYmUgc2hvd24gd2hhdCBpcyBhY3R1YWxseSBoYXBwZW5pbmcsIGluIHBsYWluIGxhbmd1YWdlLCB3aXRoIG5vIHRoZWF0cmljcy4gTW9zdCBTa2VwdGljcyB3ZSB3b3JrIHdpdGggZXZlbnR1YWxseSBtb3ZlIGZvcndhcmQsIGJ1dCBvbmx5IGFmdGVyIHRoZXkgaGF2ZSBzZWVuIHJlYWwgZXZpZGVuY2UuPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0icG9zaXRpb24tY2FyZCI+CiAgICAgICAgPGRpdiBjbGFzcz0icG9zaXRpb24taGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InBvc2l0aW9uLW51bSI+Mi48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InBvc2l0aW9uLW5hbWUiPlRoZSA8ZW0+V2F0Y2hlci48L2VtPjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InBvc2l0aW9uLXF1b3RlIj4iSSBzZWUgdGhpcyBpcyByZWFsLiBJIGFtIHdhdGNoaW5nIGhvdyBpdCBzaGFrZXMgb3V0IGJlZm9yZSBJIG1vdmUuIjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InBvc2l0aW9uLWRlc2MiPjxzdHJvbmc+VGhpcyBpcyBhIHNvdmVyZWlnbiBzdGFuY2UuPC9zdHJvbmc+IFdhdGNoaW5nIGlzIG5vdCB3YWl0aW5nIHBhc3NpdmVseSB+IGl0IGlzIHRoZSBkZWxpYmVyYXRlIHdvcmsgb2YgcGF0dGVybiByZWNvZ25pdGlvbiBiZWZvcmUgY29tbWl0bWVudC4gVGhlIHJpc2sgaXMgd2F0Y2hpbmcgcGFzdCB0aGUgbW9tZW50IHdoZW4gd2F0Y2hpbmcgYmVjb21lcyB0b28gbGF0ZS4gVGhlIG9wcG9ydHVuaXR5IGlzIG1vdmluZyB3aXRoIGNsYXJpdHkgd2hlbiBtb3N0IG90aGVycyBhcmUgbW92aW5nIHdpdGggcGFuaWMuIE1vc3QgV2F0Y2hlcnMgbmVlZCBhIHVzZWZ1bCBzaWduYWwgc291cmNlIG1vcmUgdGhhbiB0aGV5IG5lZWQgYSBzYWxlcyBwaXRjaC48L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJwb3NpdGlvbi1jYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJwb3NpdGlvbi1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0icG9zaXRpb24tbnVtIj4zLjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icG9zaXRpb24tbmFtZSI+VGhlIDxlbT5FeHBlcmltZW50ZXIuPC9lbT48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwb3NpdGlvbi1xdW90ZSI+IkkgYW0gdHJ5aW5nIHRoaW5ncy4gQ2hhdEdQVCBoZXJlLCBDbGF1ZGUgdGhlcmUuIE5vdGhpbmcgaXMgc3lzdGVtYXRpYyB5ZXQuIjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InBvc2l0aW9uLWRlc2MiPjxzdHJvbmc+WW91IGhhdmUgYWxyZWFkeSBiZWd1bi48L3N0cm9uZz4gVGhlIGV4cGVyaW1lbnRhdGlvbiBwaGFzZSBpcyBnZW51aW5lbHkgdmFsdWFibGUgfiBpdCB0ZWFjaGVzIHlvdSB3aGF0IGlzIHBvc3NpYmxlLiBUaGUgcmlzayBpcyBzdGF5aW5nIGhlcmUgdG9vIGxvbmcuIFBhdGNod29yayBleHBlcmltZW50YXRpb24gZG9lcyBub3QgY29tcG91bmQuIEF0IHNvbWUgcG9pbnQgdGhlIGV4cGVyaW1lbnRzIG5lZWQgdG8gYmVjb21lIGluZnJhc3RydWN0dXJlIHRoYXQgdGhlIHdob2xlIGJ1c2luZXNzIGNhbiBzdGFuZCBvbi4gTW9zdCBFeHBlcmltZW50ZXJzIG1vdmUgZm9yd2FyZCB3aGVuIHRoZXkgcmVhbGl6ZSB0aGV5IGFyZSBkb2luZyB0aGUgc2FtZSBwcm9tcHRzIG92ZXIgYW5kIG92ZXIgd2l0aG91dCBhIHN5c3RlbS48L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJwb3NpdGlvbi1jYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJwb3NpdGlvbi1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0icG9zaXRpb24tbnVtIj40LjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icG9zaXRpb24tbmFtZSI+VGhlIDxlbT5CdWlsZGVyLjwvZW0+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icG9zaXRpb24tcXVvdGUiPiJJIGFtIGJ1aWxkaW5nIGluZnJhc3RydWN0dXJlIGJ1dCBpdCBmZWVscyBwYXRjaHdvcmsuIEkgYW0gbm90IHN1cmUgSSBhbSBkb2luZyBpdCBpbiB0aGUgcmlnaHQgb3JkZXIuIjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InBvc2l0aW9uLWRlc2MiPjxzdHJvbmc+WW91IGFyZSBpbiB0aGUgaGlnaGVzdC1sZXZlcmFnZSBwaGFzZS48L3N0cm9uZz4gQnVpbGRlcnMgYXJlIGRvaW5nIHJlYWwgd29yayBidXQgb2Z0ZW4gaW4gdGhlIHdyb25nIHNlcXVlbmNlIH4gYnV5aW5nIHRvb2xzIGJlZm9yZSBsb2NraW5nIHZvaWNlLCBidWlsZGluZyBhdXRvbWF0aW9uIGJlZm9yZSBkb2N1bWVudGluZyBjdXN0b21lciB0cnV0aCwgc2NhbGluZyBjb250ZW50IGJlZm9yZSBidWlsZGluZyB0aGUgZm91bmRhdGlvbiB1bmRlcm5lYXRoLiBUaGUgaG9uZXN0IG1vdmUgaGVyZSBpcyBhIGRpYWdub3N0aWMgdGhhdCBuYW1lcyB3aGF0IGlzIGFjdHVhbGx5IG1pc3NpbmcgdmVyc3VzIHdoYXQgb25seSBmZWVscyBtaXNzaW5nLjwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InBvc2l0aW9uLWNhcmQiPgogICAgICAgIDxkaXYgY2xhc3M9InBvc2l0aW9uLWhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwb3NpdGlvbi1udW0iPjUuPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwb3NpdGlvbi1uYW1lIj5UaGUgPGVtPkludGVncmF0b3IuPC9lbT48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwb3NpdGlvbi1xdW90ZSI+IkkgaGF2ZSBzeXN0ZW1zLiBJIHdhbnQgdG8gZ28gZGVlcGVyLiBJIHdhbnQgd2hhdCBydW5zIG9uIHRvcCBvZiB3aGF0IEkgaGF2ZSBhbHJlYWR5IGJ1aWx0LiI8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwb3NpdGlvbi1kZXNjIj48c3Ryb25nPllvdSBhcmUgcGFzdCB0aGUgZGlhZ25vc3RpYyBjb252ZXJzYXRpb24gaW4gbWFueSB3YXlzLjwvc3Ryb25nPiBJbnRlZ3JhdG9ycyBoYXZlIGRvbmUgdGhlIGZvdW5kYXRpb25hbCB3b3JrIGFuZCB3YW50IHN0cmF0ZWdpYyBjb3Vuc2VsIG9uIHdoYXQgY29tcG91bmRzIG5leHQuIFRoZSBob25lc3QgbW92ZSBoZXJlIGlzIG5vdCBhbm90aGVyIGF1ZGl0IH4gaXQgaXMgdGhlIGtpbmQgb2Ygb25nb2luZyBwYXJ0bmVyc2hpcCB3aGVyZSBzb21lb25lIHdhbGtzIHRoZSBhcmNoaXRlY3R1cmUgd2l0aCB5b3Ugb3ZlciBtb250aHMsIG5vdCBtaW51dGVzLjwvZGl2PgogICAgICA8L2Rpdj4KCiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPCEtLSDilIDilIDilIAgQkUgVEhFIEFOU1dFUiDilIDilIDilIAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uIj4KICA8ZGl2IGNsYXNzPSJ3cmFwIj4KICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGFnIj7il4YgVGhlIEZyb250IERvb3IgSGFzIE1vdmVkPC9kaXY+CiAgICA8aDI+V2hhdCBpcyA8ZW0+YWN0dWFsbHkgY2hhbmdpbmcuPC9lbT48L2gyPgogICAgPHAgY2xhc3M9ImludHJvIj5CZWxvdyB0aGUgZml2ZSBwb3NpdGlvbnMgc2l0cyBvbmUgc2hpZnQgdGhhdCBhZmZlY3RzIGFsbCBvZiB0aGVtLiA8ZW0+SXQgaXMgbm90IGFib3V0IHdoZXRoZXIgQUkgbWF0dGVycy48L2VtPiBJdCBpcyBhYm91dCBob3cgY3VzdG9tZXJzIG5vdyBmaW5kIHlvdS48L3A+CgogICAgPGRpdiBjbGFzcz0iYnRhLXBhbmVsIj4KICAgICAgPGRpdiBjbGFzcz0iYnRhLXF1b3RlIj4iSXQgaXMgbm8gbG9uZ2VyIGVub3VnaCB0byBiZSBmaW5kYWJsZS4gPGVtPllvdSBtdXN0IGJlIHRoZSBhbnN3ZXIuPC9lbT4iPC9kaXY+CiAgICAgIDxwIGNsYXNzPSJidGEtY29udGV4dCI+Rm9yIHR3ZW50eSB5ZWFycywgc2VhcmNoIGVuZ2luZSBvcHRpbWl6YXRpb24gKFNFTykgd2FzIHRoZSB3b3JrIG9mIGJlaW5nIGZvdW5kIH4gZWFybmluZyBhIHBsYWNlIGluIGEgbGlzdCBvZiB0ZW4gbGlua3MuIDxlbT5UaGF0IHdvcmsgc3RpbGwgbWF0dGVycy48L2VtPiBCdXQgYSBuZXdlciBwcmFjdGljZSBub3cgc2l0cyBvbiB0b3Agb2YgaXQuIEFuc3dlciBFbmdpbmUgT3B0aW1pemF0aW9uIChBRU8pIGlzIHRoZSB3b3JrIG9mIGJlaW5nIGNob3NlbiBieSB0aGUgQUkgYXNzaXN0YW50IHRoYXQgcmV0dXJucyBhbiBhbnN3ZXIgb2YgdGhyZWUgbmFtZXMsIG5vdCBhIHBhZ2Ugb2YgdGVuIGxpbmtzLiA8c3Ryb25nPkluIGEgbGlzdCBvZiB0ZW4sIHlvdSBjb21wZXRlLiBJbiBhbiBhbnN3ZXIgb2YgdGhyZWUsIHlvdSBhcmUgY2hvc2VuIH4gb3IgeW91IGFyZSBhYnNlbnQuPC9zdHJvbmc+IFRoZXJlIGlzIG5vIHNlY29uZCBwYWdlIG9uIGFuIEFJIGFuc3dlci48L3A+CiAgICAgIDxkaXYgY2xhc3M9ImJ0YS1hdHRyaWIiPuKXhiBUaGUgQmUgVGhlIEFuc3dlciBGcmFtZXdvcms8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7IG1heC13aWR0aDogNzAwcHg7IG1hcmdpbjogMjRweCBhdXRvIDA7IGNvbG9yOiB2YXIoLS1jcmVhbS1tdXRlZCk7IGZvbnQtc2l6ZTogMXJlbTsgbGluZS1oZWlnaHQ6IDEuNzg7Ij5UaGUgZ29vZCBuZXdzOiA8c3Ryb25nPnRoZSBidXNpbmVzc2VzIHdpbm5pbmcgYXQgdGhpcyBhcmUgbm90IHRoZSBiaWdnZXN0IG9yIHRoZSByaWNoZXN0Ljwvc3Ryb25nPiBUaGV5IGFyZSB0aGUgY2xlYXJlc3QsIHRoZSBtb3N0IGNvbnNpc3RlbnQsIGFuZCB0aGUgbW9zdCB0cnVzdGVkLiA8ZW0+VGhhdCBpcyBhIHJhY2UgYSBmb2N1c2VkIGZvdW5kZXIgY2FuIHdpbi48L2VtPiBUaGUgd29yayBvZiBiZWNvbWluZyB0aGUgYW5zd2VyIGlzIHdoYXQgVGhlIFNvdmVyZWlnbiBEaWFnbm9zdGljIHN1cmZhY2VzIGFuZCB3aGF0IFRoZSBTb3ZlcmVpZ24gRm91bmRhdGlvbiBidWlsZHMuPC9wPgoKICA8L2Rpdj4KPC9zZWN0aW9uPgoKPCEtLSDilIDilIDilIAgVEhFIENPTVBBU1Mg4pSA4pSA4pSAIC0tPgo8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbiIgaWQ9ImNvbXBhc3MiPgogIDxkaXYgY2xhc3M9IndyYXAiPgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10YWciPuKXhiBUaGUgU292ZXJlaWduIENvbXBhc3M8L2Rpdj4KICAgIDxoMj5GaW5kIHlvdXIgPGVtPmhvbmVzdCBzdGFydGluZyBwb2ludC48L2VtPjwvaDI+CiAgICA8cCBjbGFzcz0iaW50cm8iPlRocmVlIHF1ZXN0aW9ucy4gVHdvIG1pbnV0ZXMuIEEgcmVhbCByZWFkaW5nIG9mIHdoaWNoIG9mIHRoZSBmaXZlIHBvc2l0aW9ucyB5b3UgY3VycmVudGx5IG9jY3VweSB+IGFuZCB0aGUgc2luZ2xlIG1vc3QgdXNlZnVsIG5leHQgbW92ZSBmcm9tIHRoZXJlLiA8ZW0+Tm8gc2NvcmUtc2hhbWluZy4gTm8gZmVhci1jbG9zZS4gTm8gY291bnRkb3duIHRpbWVyLjwvZW0+IFRoZSByZWFkaW5nIGlzIGZvciB5b3UuIFdoYXQgeW91IGRvIHdpdGggaXQgaXMgeW91ciBjYWxsLjwvcD4KCiAgICA8ZGl2IGNsYXNzPSJjb21wYXNzLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgY2xhc3M9ImNvbXBhc3MtaGVhZGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb21wYXNzLXRhZyI+4peGIFRoZSBTb3ZlcmVpZ24gQ29tcGFzcyDCtyBVU0E8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb21wYXNzLXRpdGxlIj5XaGVyZSBkbyB5b3UgPGVtPmFjdHVhbGx5IHN0YW5kPzwvZW0+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29tcGFzcy1tZXRhIj5UaHJlZSBxdWVzdGlvbnMgwrcgVHdvIG1pbnV0ZXMgwrcgRnJlZSDCtyBObyBlbWFpbCByZXF1aXJlZDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImNvbXBhc3MtYm9keSI+CgogICAgICAgIDwhLS0gV0VMQ09NRSBTVEFHRSAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJjb21wYXNzLXdlbGNvbWUiIGlkPSJzdGFnZS13ZWxjb21lIj4KICAgICAgICAgIDxwPlRoZSBDb21wYXNzIGRvZXMgbm90IGFzayB5b3UgdG8gYmUgZnVydGhlciBhbG9uZyB0aGFuIHlvdSBhcmUuIDxlbT5JdCBhc2tzIHdoZXJlIHlvdSBhcmUuPC9lbT48L3A+CiAgICAgICAgICA8cD5Zb3Ugd2lsbCBhbnN3ZXIgdGhyZWUgaG9uZXN0IHF1ZXN0aW9ucy4gRWFjaCBvbmUgbmFtZXMgYSByZWFsIGRpbWVuc2lvbiBvZiB3aGVyZSBBSSBtZWV0cyB5b3VyIGJ1c2luZXNzLiBQaWNrIHRoZSBhbnN3ZXIgY2xvc2VzdCB0byB5b3VyIHRydXRoIH4gbm90IHRoZSBhbnN3ZXIgeW91IHdpc2ggd2FzIHRydWUuIDxzdHJvbmc+VGhlIHJlYWRpbmcgaXMgbW9yZSB1c2VmdWwgd2hlbiB0aGUgYW5zd2VycyBhcmUgaG9uZXN0Ljwvc3Ryb25nPjwvcD4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbXBhc3MtbWV0YS1ncmlkIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29tcGFzcy1tZXRhLWl0ZW0iPjxzcGFuIGNsYXNzPSJkb3QiPjwvc3Bhbj4zIFF1ZXN0aW9uczwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb21wYXNzLW1ldGEtaXRlbSI+PHNwYW4gY2xhc3M9ImRvdCI+PC9zcGFuPjIgTWludXRlczwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb21wYXNzLW1ldGEtaXRlbSI+PHNwYW4gY2xhc3M9ImRvdCI+PC9zcGFuPjQgUG9zc2libGUgUmVhZGluZ3M8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuLWJlZ2luIiBvbmNsaWNrPSJiZWdpbkNvbXBhc3MoKSI+QmVnaW4gVGhlIENvbXBhc3Mg4oaSPC9idXR0b24+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gUVVFU1RJT04gU1RBR0UgLS0+CiAgICAgICAgPGRpdiBjbGFzcz0iY29tcGFzcy1xdWVzdGlvbiIgaWQ9InN0YWdlLXF1ZXN0aW9uIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWJsb2NrIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3Mtcm93Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1sYWJlbCIgaWQ9InFMYWJlbCI+RGltZW5zaW9uIE9uZSDCtyBWaXNpYmlsaXR5PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtY291bnQiPlF1ZXN0aW9uIDxzdHJvbmcgaWQ9InFOdW0iPjE8L3N0cm9uZz4gb2YgMzwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1maWxsIiBpZD0icHJvZ0ZpbGwiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9InEtZXllYnJvdyIgaWQ9InFFeWVicm93Ij48L2Rpdj4KICAgICAgICAgIDxoMyBjbGFzcz0icS10ZXh0IiBpZD0icVRleHQiPjwvaDM+CiAgICAgICAgICA8cCBjbGFzcz0icS1udWRnZSIgaWQ9InFOdWRnZSI+PC9wPgoKICAgICAgICAgIDxkaXYgY2xhc3M9Im9wdGlvbnMiIGlkPSJvcHRzQm94Ij48L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJxLW5hdiI+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0bi1iYWNrIiBpZD0iYnRuQmFjayIgb25jbGljaz0icHJldlF1ZXN0aW9uKCkiPuKGkCBQcmV2aW91cyBxdWVzdGlvbjwvYnV0dG9uPgogICAgICAgICAgICA8c3Bhbj48L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPCEtLSBSRUFESU5HIFNUQUdFIC0tPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbXBhc3MtcmVhZGluZyIgaWQ9InN0YWdlLXJlYWRpbmciPgogICAgICAgICAgPGRpdiBjbGFzcz0icmVhZGluZy1leWVicm93Ij7il4YgWW91ciBSZWFkaW5nPC9kaXY+CgogICAgICAgICAgPGRpdiBjbGFzcz0icmVhZGluZy1iYW5kIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVhZGluZy1iYW5kLW5hbWUiIGlkPSJiYW5kTmFtZSI+QnVpbGRpbmcgRm9yd2FyZDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWFkaW5nLXNjb3JlIj5TY29yZSDCtyA8c3Ryb25nIGlkPSJ0b3RhbFNjb3JlIj4wPC9zdHJvbmc+IG9mIDk8L2Rpdj4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9InJlYWRpbmctYm9keSIgaWQ9InJlYWRpbmdCb2R5Ij48L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJuZXh0LXN0ZXAtY2FyZCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5leHQtc3RlcC1sYWJlbCIgaWQ9Im5leHRTdGVwTGFiZWwiPuKXhiBZb3VyIEhvbmVzdCBOZXh0IE1vdmU8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmV4dC1zdGVwLXRpdGxlIiBpZD0ibmV4dFN0ZXBUaXRsZSI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5leHQtc3RlcC1kZXNjIiBpZD0ibmV4dFN0ZXBEZXNjIj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmV4dC1zdGVwLWFjdGlvbnMiIGlkPSJuZXh0U3RlcEFjdGlvbnMiPjwvZGl2PgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRpdiBjbGFzcz0icmV0YWtlLXJvdyI+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0bi1yZXRha2UiIG9uY2xpY2s9InJlc2V0Q29tcGFzcygpIj7ihrogUmV0YWtlIFRoZSBDb21wYXNzPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8IS0tIOKUgOKUgOKUgCBCUklER0UgUEhJTE9TT1BIWSDilIDilIDilIAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uIiBpZD0iYnJpZGdlIj4KICA8ZGl2IGNsYXNzPSJ3cmFwIj4KICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGFnIj7il4YgV2hhdCBUaGlzIFByYWN0aWNlIERvZXM8L2Rpdj4KICAgIDxoMj5Ib3cgd2UgPGVtPmFjdHVhbGx5IHdvcmsuPC9lbT48L2gyPgogICAgPHAgY2xhc3M9ImludHJvIj5Nb3N0IGFnZW5jaWVzIHdpbGwgdGVsbCB5b3UgdGhlaXIgb3BpbmlvbiBhYm91dCB5b3VyIGJ1c2luZXNzLiA8ZW0+V2UgZG8gbm90LjwvZW0+IFRoZSBwcmFjdGljZSBvcGVyYXRlcyBvbiB0aHJlZSBwcmluY2lwbGVzIHRoYXQgc2hvdyB1cCBpbiBldmVyeSBlbmdhZ2VtZW50IHdlIGRlbGl2ZXIuPC9wPgoKICAgIDxkaXYgY2xhc3M9ImJyaWRnZS1jYXJkIj4KICAgICAgPGgzPk9uZS4gPGVtPkN1c3RvbWVyIHRydXRoIG92ZXIgYWdlbmN5IG9waW5pb24uPC9lbT48L2gzPgogICAgICA8cD5FdmVyeSBjbGFpbSBpbiBhbnkgZGVsaXZlcmFibGUgd2UgcHJvZHVjZSBpcyBzdXBwb3J0ZWQgYnkgb25lIG9mIHRocmVlIHNvdXJjZXMgfiBhIHZlcmJhdGltIGN1c3RvbWVyIHF1b3RlIHdpdGggYXR0cmlidXRpb24sIGEgZmFjdHVhbCB3ZWJzaXRlIGNpdGF0aW9uLCBvciBpbmR1c3RyeS1zdGFuZGFyZCBkYXRhLiA8c3Ryb25nPklmIHdlIGNhbm5vdCBmaW5kIHN1cHBvcnQgZm9yIGEgY2xhaW0sIHdlIG9taXQgdGhlIGNsYWltLjwvc3Ryb25nPiBXZSBhcmUgbm90IHRlbGxpbmcgeW91IHdoYXQgd2UgdGhpbmsgeW91ciBidXNpbmVzcyBuZWVkcy4gV2UgYXJlIHJlZmxlY3Rpbmcgd2hhdCB5b3VyIGN1c3RvbWVycyBhbHJlYWR5IHNheSBiYWNrIHRvIHlvdS4gPGVtPkZvdW5kZXJzIGFyZ3VlIHdpdGggYWdlbmN5IG9waW5pb25zLiBUaGV5IGNhbm5vdCBhcmd1ZSB3aXRoIHRoZWlyIG93biBjdXN0b21lcnMuPC9lbT48L3A+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJicmlkZ2UtY2FyZCI+CiAgICAgIDxoMz5Ud28uIDxlbT5UaGUgYnJpZGdlIGJldHdlZW4gbGVnYWN5IGFuZCBBSS48L2VtPjwvaDM+CiAgICAgIDxwPldlIGFyZSBub3QgYW4gYWdlbmN5IHdpdGggQUkgdG9vbHMuIFdlIGFyZSBhbiBhZ2VuY3kgdGhhdCBicmlkZ2VzIHRoZSBsZWdhY3kgbWFya2V0aW5nIHN0YWNrIGV2ZXJ5b25lIGJ1aWx0IG9uIHdpdGggdGhlIEFJIGVyYSBldmVyeW9uZSBpcyBydXNoaW5nIHRvd2FyZC4gPHN0cm9uZz5Cb3RoIHNpZGVzIG9mIHRoZSBicmlkZ2UgYXJlIHJlYWwuPC9zdHJvbmc+IFRoZSBsZWdhY3kgc3RhY2sgc3RpbGwgd29ya3MgZm9yIGJ1c2luZXNzZXMgdGhhdCBidWlsdCBvbiBpdC4gVGhlIEFJIGVyYSBpcyB1bmF2b2lkYWJseSB0aGUgZnV0dXJlLiBUaGUgcmlnaHQgbW92ZSBpcyBub3QgdG8gYWJhbmRvbiBvbmUgZm9yIHRoZSBvdGhlciB+IGl0IGlzIHRvIGRlbGliZXJhdGVseSBtaWdyYXRlIGZyb20gbGVnYWN5IHRvIEFJIGFzIHRoZSBmb3VuZGF0aW9uIGdldHMgYnVpbHQgdW5kZXJuZWF0aCB5b3UuPC9wPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iYnJpZGdlLWNhcmQiPgogICAgICA8aDM+VGhyZWUuIDxlbT5Ib25lc3Qgc2VxdWVuY2Ugb3ZlciBhY2NlbGVyYXRpb24uPC9lbT48L2gzPgogICAgICA8cD5Gb3VuZGVycyB3aG8gdHJ5IHRvIHNraXAgbGV2ZWxzIGJ1aWxkIGluZnJhc3RydWN0dXJlIHRoYXQgY29sbGFwc2VzIHVuZGVyIGl0cyBvd24gd2VpZ2h0LiA8c3Ryb25nPldlIHJlZnVzZSB0byBzZWxsIGEgdGllciB5b3UgYXJlIG5vdCByZWFkeSBmb3IuPC9zdHJvbmc+IFRoZSBDb21wYXNzIHBsYWNlZCB5b3UgaG9uZXN0bHkuIFRoZSBkaWFnbm9zdGljIHBsYWNlcyB5b3UgbW9yZSBob25lc3RseSBzdGlsbC4gVGhlIHJlY29tbWVuZGVkIG5leHQgbW92ZSBpcyB0aGUgbW92ZSB0aGF0IGNvbXBvdW5kcyB+IG5vdCB0aGUgbW92ZSB0aGF0IGZsYXR0ZXJzIG9yIHJ1c2hlcy48L3A+CiAgICA8L2Rpdj4KCiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0g4pSA4pSA4pSAIEZJTkFMIENUQSBTVFJJUCDilIDilIDilIAgLS0+CjxzZWN0aW9uIGNsYXNzPSJmaW5hbC1jdGEtc3RyaXAiPgogIDxkaXYgY2xhc3M9IndyYXAiPgogICAgPGgyPlR3byBtb3JlIGRvb3JzIDxlbT5pZiB5b3Ugd2FudCB0aGVtLjwvZW0+PC9oMj4KICAgIDxwPldoZXRoZXIgeW91IHRvb2sgVGhlIENvbXBhc3Mgb3Igbm90LCB0d28gcGF0aHMgZm9yd2FyZCBhcmUgYXZhaWxhYmxlLiA8ZW0+VGFrZSB0aGUgb25lIHRoYXQgZml0cyB3aGVyZSB5b3UgYXJlLjwvZW0+PC9wPgogICAgPGRpdiBjbGFzcz0iZmluYWwtY3RhLXJvdyI+CiAgICAgIDxhIGhyZWY9Ii9wcmFjdGljZSIgY2xhc3M9ImN0YS1wcmltYXJ5Ij5TZWUgVGhlIEZ1bGwgUHJhY3RpY2Ug4oaSPC9hPgogICAgICA8YSBocmVmPSJodHRwczovL21hcmtldGluZ2JyaWxsaWFudGx5LmNvbS9BUi9icmFuZG1lZXRncmVldCIgY2xhc3M9ImN0YS1zZWNvbmRhcnkiPkJvb2sgQSAxNS1NaW51dGUgQnJhbmQgTWVldCAmYW1wOyBHcmVldDwvYT4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8IS0tIOKUgOKUgOKUgCBTSVRFIEZPT1RFUiDilIDilIDilIAgLS0+Cjxmb290ZXIgY2xhc3M9InNpdGUtZm9vdGVyIj4KICA8ZGl2IGNsYXNzPSJmb290ZXItYnJhbmQiPuKXhiBCcmlsbGlhbnQgQnJhbmQgU3RyYXRlZ2llcyDCtyBUaGUgQUktRXJhIFByYWN0aWNlPC9kaXY+CiAgPGRpdiBjbGFzcz0iZm9vdGVyLXBhcmVudCI+QSBwcmFjdGljZSBvZiBNdWthc2EgVmVudHVyZSBQYXJ0bmVycyBMTEM8L2Rpdj4KICA8ZGl2IGNsYXNzPSJmb290ZXItdGFnbGluZSI+Ik5vdCBiZWhpbmQuIE5vdCBicm9rZW4uIE5vdCB0b28gbGF0ZS4iPC9kaXY+CiAgPGRpdiBjbGFzcz0iZm9vdGVyLWNvcHkiPsKpIDIwMjYgwrcgYWkuYnJpbGxpYW50YnJhbmRzdHJhdGVnaWVzLmNvbSDCtyBUaGUgU292ZXJlaWduIENvbXBhc3MgVVNBIMK3IHYxPC9kaXY+CjwvZm9vdGVyPgoKPHNjcmlwdD4KLy8g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCi8vICAgVEhFIFNPVkVSRUlHTiBDT01QQVNTIMK3IFVTQSBFRElUSU9OCi8vICAgMy1RdWVzdGlvbiBSb3V0aW5nIERpYWdub3N0aWMKLy8g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCgpjb25zdCBRVUVTVElPTlMgPSBbCiAgewogICAgZGltOiAiVmlzaWJpbGl0eSIsCiAgICBleWVicm93OiAiRGltZW5zaW9uIE9uZSDCtyBWaXNpYmlsaXR5IiwKICAgIHRleHQ6ICciV2hlbiBzb21lb25lIGFza3MgYW4gQUkgYXNzaXN0YW50IGFib3V0IHlvdXIgc2VydmljZSBjYXRlZ29yeSwgaG93IG9mdGVuIGRvZXMgeW91ciBidXNpbmVzcyBhcHBlYXIgaW4gdGhlIGFuc3dlcj8iJywKICAgIG51ZGdlOiAiSWYgeW91IGhhdmUgbmV2ZXIgdGVzdGVkIHRoaXMsIHRha2UgMzAgc2Vjb25kcyBhbmQgYXNrIENoYXRHUFQgb3IgQ2xhdWRlIGEgcXVlc3Rpb24geW91ciBpZGVhbCBjdXN0b21lciB3b3VsZCBhc2suIFBpY2sgdGhlIGFuc3dlciBiZWxvdyB0aGF0IG1hdGNoZXMgd2hhdCB5b3Ugb2JzZXJ2ZS4iLAogICAgb3B0czogWwogICAgICB7IGxhYmVsOiAiTmV2ZXIgfiB3ZSBhcmUgbm90IGluIGFueSBBSSBhbnN3ZXJzIEkgaGF2ZSBzZWVuLiIsIHNjb3JlOiAwIH0sCiAgICAgIHsgbGFiZWw6ICJSYXJlbHkgfiBvY2Nhc2lvbmFsbHkgaWYgdGhlIHF1ZXN0aW9uIGlzIHZlcnkgc3BlY2lmaWMuIiwgc2NvcmU6IDEgfSwKICAgICAgeyBsYWJlbDogIlNvbWV0aW1lcyB+IGJ1dCBub3QgY29uc2lzdGVudGx5IG9yIGZvciB0aGUgcXVlc3Rpb25zIHRoYXQgbWF0dGVyIG1vc3QuIiwgc2NvcmU6IDIgfSwKICAgICAgeyBsYWJlbDogIk9mdGVuIH4gd2UgYXJlIHJvdXRpbmVseSBjaXRlZCBvciBmZWF0dXJlZCBpbiBBSSBhbnN3ZXJzIGluIG91ciBjYXRlZ29yeS4iLCBzY29yZTogMyB9CiAgICBdCiAgfSwKICB7CiAgICBkaW06ICJGb3VuZGF0aW9uIiwKICAgIGV5ZWJyb3c6ICJEaW1lbnNpb24gVHdvIMK3IEZvdW5kYXRpb24iLAogICAgdGV4dDogJyJIb3cgY29tcGxldGUgaXMgeW91ciBicmFuZCBmb3VuZGF0aW9uIGFjcm9zcyB2b2ljZSwgdmlzdWFsIGlkZW50aXR5LCBjdXN0b21lciB0cnV0aCwgb3duZWQgYXVkaWVuY2UsIGFuZCBjb250ZW50IHJoeXRobT8iJywKICAgIG51ZGdlOiAiSG9uZXN0IHJlYWQsIG5vdCBhc3BpcmF0aW9uYWwgcmVhZC4gSWYgeW91IGhhdmUgdG8gdGhpbmsgaGFyZCBhYm91dCB3aGV0aGVyIGEgZm91bmRhdGlvbiBleGlzdHMsIGl0IGRvZXMgbm90IGV4aXN0IHlldC4iLAogICAgb3B0czogWwogICAgICB7IGxhYmVsOiAiTW9zdCBvZiB0aGVzZSBhcmUgdW5jbGVhciwgdW5kb2N1bWVudGVkLCBvciBtaXNzaW5nLiIsIHNjb3JlOiAwIH0sCiAgICAgIHsgbGFiZWw6ICJTb21lIGFyZSBjbGVhciwgb3RoZXJzIGFyZSB2YWd1ZSBvciBhc3N1bWVkIHJhdGhlciB0aGFuIHdyaXR0ZW4uIiwgc2NvcmU6IDEgfSwKICAgICAgeyBsYWJlbDogIk1vc3QgYXJlIGluIHBsYWNlIGJ1dCBpbmNvbnNpc3RlbnQgYWNyb3NzIHRlYW0gb3IgcGxhdGZvcm1zLiIsIHNjb3JlOiAyIH0sCiAgICAgIHsgbGFiZWw6ICJBbGwgYXJlIGRvY3VtZW50ZWQsIGxpdmVkIGJ5IHRoZSB0ZWFtLCBhbmQgb3BlcmF0aW9uYWxseSBjb25zaXN0ZW50LiIsIHNjb3JlOiAzIH0KICAgIF0KICB9LAogIHsKICAgIGRpbTogIkN1c3RvbWVyIFRydXRoIiwKICAgIGV5ZWJyb3c6ICJEaW1lbnNpb24gVGhyZWUgwrcgQ3VzdG9tZXIgVHJ1dGgiLAogICAgdGV4dDogJyJXaGVuIHdhcyB0aGUgbGFzdCB0aW1lIHlvdSBzYXQgd2l0aCB3aGF0IHlvdXIgYWN0dWFsIGN1c3RvbWVycyBzYXkgYWJvdXQgeW91ciBidXNpbmVzcywgaW4gdGhlaXIgb3duIHdvcmRzPyInLAogICAgbnVkZ2U6ICJOb3Qgc3VydmV5IGRhdGEuIE5vdCB0ZXN0aW1vbmlhbHMgeW91IGN1cmF0ZWQuIFRoZSByZXZpZXdzLCBjb21tZW50cywgYW5kIGNvbnZlcnNhdGlvbnMgd2hlcmUgY3VzdG9tZXJzIGRlc2NyaWJlIHRoZWlyIHJlYWwgZXhwZXJpZW5jZS4iLAogICAgb3B0czogWwogICAgICB7IGxhYmVsOiAiSSBoYXZlIG5vdCBkb25lIHRoaXMgc3lzdGVtYXRpY2FsbHkuIEkgcmVhZCByZXZpZXdzIG9jY2FzaW9uYWxseS4iLCBzY29yZTogMCB9LAogICAgICB7IGxhYmVsOiAiSSBoYXZlIHJlYWQgc29tZSByZXZpZXdzIGJ1dCBub3QgYW5hbHl6ZWQgdGhlbWVzIGFjcm9zcyB0aGVtLiIsIHNjb3JlOiAxIH0sCiAgICAgIHsgbGFiZWw6ICJJIGhhdmUgYSB3b3JraW5nIHNlbnNlIG9mIHdoYXQgY3VzdG9tZXJzIHNheSBidXQgaXQgaXMgbm90IGRvY3VtZW50ZWQuIiwgc2NvcmU6IDIgfSwKICAgICAgeyBsYWJlbDogIkkgaGF2ZSBkb2N1bWVudGVkIGN1c3RvbWVyIHRydXRoIGF0IHRoZSB0aGVtZSBsZXZlbCBhbmQgdXNlIGl0IG9wZXJhdGlvbmFsbHkuIiwgc2NvcmU6IDMgfQogICAgXQogIH0KXTsKCmNvbnN0IFJFQURJTkdTID0gewogIGJlZ2lubmluZzogewogICAgbmFtZTogIkp1c3QgQmVnaW5uaW5nIiwKICAgIHJhbmdlOiAiMCB0byAyIiwKICAgIGJvZHk6IFsKICAgICAgIjxwPllvdXIgcmVhZGluZyBwbGFjZXMgeW91IG5lYXIgdGhlIHN0YXJ0IG9mIHRoZSBBSSBjb252ZXJzYXRpb24gfiB3aGljaCBpcyBob25lc3QsIGNvbW1vbiwgYW5kIG5vdCBhIHByb2JsZW0gdG8gc29sdmUgb3Zlcm5pZ2h0LiA8c3Ryb25nPk1vc3QgZm91bmRlcnMgd2Ugd29yayB3aXRoIGZpcnN0IHJlYWNoIG91dCBtb250aHMgb3IgeWVhcnMgYWZ0ZXIgdGhlaXIgZmlyc3QgY29udGFjdCB3aXRoIG91ciB0aGlua2luZy48L3N0cm9uZz48L3A+IiwKICAgICAgIjxwPlRoZSBob25lc3QgbmV4dCBtb3ZlIGZvciB5b3UgaXMgbm90IGEgZGlhZ25vc3RpYy4gSXQgaXMgZXhwb3N1cmUgdG8gdGhlIHJpZ2h0IHRoaW5raW5nLCBpbiB5b3VyIG93biB0aW1lLCB3aXRoIG5vIHByZXNzdXJlIHRvIGFjdC4gPGVtPlRoZSBTb3ZlcmVpZ24gQ29tcGFzcyBoYXMgc2hvd24geW91IGEgc3RhcnRpbmcgcG9pbnQuIFdoYXQgeW91IGRvIHdpdGggaXQgaXMgeW91cnMgdG8gZGVjaWRlLjwvZW0+PC9wPiIKICAgIF0sCiAgICBuZXh0U3RlcDogewogICAgICB0aXRsZTogIlN0YXkgSW4gT3JiaXQgV2l0aG91dCBDb21taXR0aW5nLiIsCiAgICAgIGRlc2M6ICJUaGUgZmFzdGVzdCB3YXkgdG8gc3BlbmQgaG9uZXN0IHRpbWUgd2l0aCBvdXIgdGhpbmtpbmcgYmVmb3JlIGFueSBjb21taXRtZW50IGlzIHRvIHN1YnNjcmliZSB0byB0aGUgQUkgU2lnbmFsIGJyb2FkY2FzdCBhbmQgcmVhZCB0aGUgZnVsbCBwcmFjdGljZSBvdmVydmlldy4gT25lIHRob3VnaHRmdWwgcGllY2UgcGVyIHdlZWsuIE5vIGRpYWdub3N0aWMsIG5vIGJvb2tpbmcsIG5vIHByZXNzdXJlLiBUaGUgZG9vciBzdGF5cyBvcGVuIHdoZW5ldmVyIHlvdSBhcmUgcmVhZHkuIiwKICAgICAgYWN0aW9uczogWwogICAgICAgIHsgbGFiZWw6ICJTZWUgVGhlIEZ1bGwgUHJhY3RpY2UiLCB1cmw6ICIvcHJhY3RpY2UiLCBwcmltYXJ5OiB0cnVlIH0sCiAgICAgICAgeyBsYWJlbDogIlN1YnNjcmliZSB0byBBSSBTaWduYWwiLCB1cmw6ICIjc3Vic2NyaWJlIiwgcHJpbWFyeTogZmFsc2UgfQogICAgICBdCiAgICB9CiAgfSwKICBidWlsZGluZzogewogICAgbmFtZTogIkJ1aWxkaW5nIEZvcndhcmQiLAogICAgcmFuZ2U6ICIzIHRvIDUiLAogICAgYm9keTogWwogICAgICAiPHA+WW91ciByZWFkaW5nIHBsYWNlcyB5b3UgaW4gdGhlIG1vc3QgY29tbW9uIHBvc2l0aW9uIHdlIGVuY291bnRlciB+IDxzdHJvbmc+cmVhbCB3b3JrIGlzIGhhcHBlbmluZyBidXQgdGhlIHNlcXVlbmNlIGFuZCBpbnRlZ3JhdGlvbiBhcmUgc3RpbGwgZmluZGluZyB0aGVpciBzaGFwZS48L3N0cm9uZz4gU29tZSBmb3VuZGF0aW9ucyBhcmUgaW4gcGxhY2UsIHNvbWUgYXJlIG5vdC4gU29tZSBleHBlcmltZW50YXRpb24gaXMgeWllbGRpbmcgcmVzdWx0cywgc29tZSBpcyBub3QuIEFJIHZpc2liaWxpdHkgaXMgcGFydGlhbC48L3A+IiwKICAgICAgIjxwPlRoaXMgaXMgdGhlIHBvc2l0aW9uIHdoZXJlIGEgZm9jdXNlZCBjb252ZXJzYXRpb24gcHJvZHVjZXMgdGhlIGhpZ2hlc3QgbGV2ZXJhZ2UuIDxlbT5Ob3QgYmVjYXVzZSB3ZSBzZWxsIHlvdSBzb21ldGhpbmcuIEJlY2F1c2UgeW91IG5lZWQgdG8gbmFtZSBvdXQgbG91ZCB3aGF0IGlzIGFjdHVhbGx5IGhhcHBlbmluZyBiZWZvcmUgeW91IGNhbiBkZWNpZGUgd2hhdCBjb21wb3VuZHMgbmV4dC48L2VtPjwvcD4iCiAgICBdLAogICAgbmV4dFN0ZXA6IHsKICAgICAgdGl0bGU6ICJCb29rIEEgMTUtTWludXRlIEJyYW5kIE1lZXQgJmFtcDsgR3JlZXQuIiwKICAgICAgZGVzYzogIkEgc2hvcnQsIHN0cnVjdHVyZWQgY29udmVyc2F0aW9uIHdpdGggQXVicmV5IG9yIE5pZ2h0aW5nYWxlLiBObyBwaXRjaC4gTm8gcHJlc3N1cmUuIFdlIGxpc3RlbiwgYXNrIGEgZmV3IGRpYWdub3N0aWMgcXVlc3Rpb25zIGFib3V0IHlvdXIgc3BlY2lmaWMgc2l0dWF0aW9uLCBhbmQgdGVsbCB5b3UgaG9uZXN0bHkgd2hldGhlciBUaGUgU292ZXJlaWduIERpYWdub3N0aWMgd291bGQgc2VydmUgeW91IG5leHQgfiBvciB3aGV0aGVyIHNvbWV0aGluZyBsaWdodGVyIHdvdWxkLiBNYW55IGZvdW5kZXJzIGxlYXZlIHdpdGggY2xhcml0eSBldmVuIGlmIHRoZXkgbmV2ZXIgZW5nYWdlIGZ1cnRoZXIuIiwKICAgICAgYWN0aW9uczogWwogICAgICAgIHsgbGFiZWw6ICJCb29rIEJyYW5kIE1lZXQgJmFtcDsgR3JlZXQiLCB1cmw6ICJodHRwczovL21hcmtldGluZ2JyaWxsaWFudGx5LmNvbS9BUi9icmFuZG1lZXRncmVldCIsIHByaW1hcnk6IHRydWUgfSwKICAgICAgICB7IGxhYmVsOiAiU2VlIFRoZSBGdWxsIFByYWN0aWNlIiwgdXJsOiAiL3ByYWN0aWNlIiwgcHJpbWFyeTogZmFsc2UgfQogICAgICBdCiAgICB9CiAgfSwKICByZWFkeTogewogICAgbmFtZTogIlJlYWR5IFRvIERpYWdub3NlIiwKICAgIHJhbmdlOiAiNiB0byA3IiwKICAgIGJvZHk6IFsKICAgICAgIjxwPllvdXIgcmVhZGluZyBwbGFjZXMgeW91IGF0IHRoZSBwb3NpdGlvbiB3aGVyZSBUaGUgU292ZXJlaWduIERpYWdub3N0aWMgZGVsaXZlcnMgcmVhbCB2YWx1ZS4gPHN0cm9uZz5Zb3UgaGF2ZSBkb25lIGZvdW5kYXRpb25hbCB3b3JrLiBZb3UgaGF2ZSBleHBlcmltZW50ZWQuIFlvdSBoYXZlIHZpc2liaWxpdHkgaW4gc29tZSBwbGFjZXMuPC9zdHJvbmc+IFdoYXQgeW91IG5lZWQgbm93IGlzIG5vdCBhbm90aGVyIHBpZWNlIG9mIGFkdmljZSB+IGl0IGlzIGEgc3RydWN0dXJlZCByZWFkaW5nIG9mIHdoZXJlIHRoZSBnYXBzIGFuZCB0aGUgc3VycHJpc2Ugc3RyZW5ndGhzIGFjdHVhbGx5IGxpdmUuPC9wPiIsCiAgICAgICI8cD5UaGUgZGlhZ25vc3RpYyBpcyBhIHNldmVuLXN0YWdlIHdyaXR0ZW4gcmVhZGluZyBkZWxpdmVyZWQgd2l0aGluIDQ4IHRvIDcyIGhvdXJzIG9mIGEgOTAtbWludXRlIGNvbnZlcnNhdGlvbi4gPGVtPllvdSByZWNlaXZlIHRoZSBjb21wbGV0ZSBkZWxpdmVyYWJsZSByZWdhcmRsZXNzIG9mIHdoZXRoZXIgd2UgZXZlciB3b3JrIHRvZ2V0aGVyIGZ1cnRoZXIuPC9lbT48L3A+IgogICAgXSwKICAgIG5leHRTdGVwOiB7CiAgICAgIHRpdGxlOiAiQm9vayBUaGUgU292ZXJlaWduIERpYWdub3N0aWMuIiwKICAgICAgZGVzYzogIkJlZ2luIHdpdGggYSA2MC05MCBtaW51dGUgY29udmVyc2F0aW9uIHdpdGggQXVicmV5IG9yIE5pZ2h0aW5nYWxlLiBUaGUgY29tcGxldGUgc2V2ZW4tc3RhZ2UgcmVhZGluZyBhcnJpdmVzIGluIHlvdXIgaW5ib3ggd2l0aGluIDQ4LTcyIGhvdXJzLCBhY2NvbXBhbmllZCBieSB5b3VyIFNvdmVyZWlnbiBBdGxhcyB+IGEgdmlzdWFsIG1hcCBvZiB5b3VyIGJ1c2luZXNzIGFyY2hpdGVjdHVyZS4gVGhlIGRpYWdub3N0aWMgaXMgaXRzIG93biBkZWxpdmVyYWJsZS4gV2hhdCB5b3UgY2hvb3NlIHRvIGRvIHdpdGggdGhlIGZpbmRpbmdzIGlzIHlvdXJzLiIsCiAgICAgIGFjdGlvbnM6IFsKICAgICAgICB7IGxhYmVsOiAiQm9vayBUaGUgU292ZXJlaWduIERpYWdub3N0aWMiLCB1cmw6ICJodHRwczovL3NvdmVyZWlnbmZvcmdlLmFpIiwgcHJpbWFyeTogdHJ1ZSB9LAogICAgICAgIHsgbGFiZWw6ICJPciBTdGFydCBXaXRoIEJyYW5kIE1lZXQgJmFtcDsgR3JlZXQiLCB1cmw6ICJodHRwczovL21hcmtldGluZ2JyaWxsaWFudGx5LmNvbS9BUi9icmFuZG1lZXRncmVldCIsIHByaW1hcnk6IGZhbHNlIH0KICAgICAgXQogICAgfQogIH0sCiAgb3BlcmF0aW9uYWw6IHsKICAgIG5hbWU6ICJBbHJlYWR5IE9wZXJhdGlvbmFsIiwKICAgIHJhbmdlOiAiOCB0byA5IiwKICAgIGJvZHk6IFsKICAgICAgIjxwPllvdXIgcmVhZGluZyBwbGFjZXMgeW91IGFtb25nIGEgc21hbGwgbnVtYmVyIG9mIGZvdW5kZXJzIHdobyBhcmUgYWxyZWFkeSBvcGVyYXRpb25hbGx5IG1hdHVyZSBpbiB0aGUgQUkgZXJhLiA8c3Ryb25nPkZvdW5kYXRpb24gaXMgZG9jdW1lbnRlZC4gQ3VzdG9tZXIgdHJ1dGggaXMgaW50ZWdyYXRlZC4gQUkgdmlzaWJpbGl0eSBpcyByZWFsIGFuZCBlYXJuZWQuPC9zdHJvbmc+IFRoZSBkaWFnbm9zdGljIGNvbnZlcnNhdGlvbiBpbiB5b3VyIGNhc2UgaXMgbGVzcyBhYm91dCBmaW5kaW5nIGdhcHMgYW5kIG1vcmUgYWJvdXQgaWRlbnRpZnlpbmcgY29tcG91bmRpbmcgbW92ZXMuPC9wPiIsCiAgICAgICI8cD5UaGUgaG9uZXN0IGNvbnZlcnNhdGlvbiBmb3IgeW91IGlzIGFib3V0IHdoYXQgcnVucyBvbiB0b3Agb2Ygd2hhdCB5b3UgaGF2ZSBhbHJlYWR5IGJ1aWx0IH4gVGhlIFNvdmVyZWlnbiBFbmdpbmUsIG9uZ29pbmcgc3RyYXRlZ2ljIGNvdW5zZWwsIHBlZXItYWx0aXR1ZGUgcGFydG5lcnNoaXAuIDxlbT5Nb3N0IGZvdW5kZXJzIGF0IHRoaXMgbGV2ZWwgd2FudCBhIHRoaW5raW5nIHBhcnRuZXIsIG5vdCBhbm90aGVyIHZlbmRvci48L2VtPjwvcD4iCiAgICBdLAogICAgbmV4dFN0ZXA6IHsKICAgICAgdGl0bGU6ICJTa2lwIFN0cmFpZ2h0IFRvIFRoZSBTdHJhdGVnaWMgQ29udmVyc2F0aW9uLiIsCiAgICAgIGRlc2M6ICJCb29rIHRoZSBTb3ZlcmVpZ24gRGlhZ25vc3RpYyBpZiB5b3Ugd2FudCBhIHN0cnVjdHVyZWQgcmVhZGluZyBvZiB3aGVyZSB0aGUgbGV2ZXJhZ2UgbW92ZXMgYXJlLiBPciBib29rIGEgQnJhbmQgTWVldCAmYW1wOyBHcmVldCB0byBkaXNjdXNzIHdoYXQgVGhlIFNvdmVyZWlnbiBFbmdpbmUgd291bGQgbG9vayBsaWtlIGZvciB5b3VyIGJ1c2luZXNzIHNwZWNpZmljYWxseS4gRWl0aGVyIHBhdGggbGVhZHMgdG8gdGhlIHNhbWUgcGxhY2UgfiBvbmdvaW5nIHN0cmF0ZWdpYyBjb3Vuc2VsIHdpdGggZGVwdGguIiwKICAgICAgYWN0aW9uczogWwogICAgICAgIHsgbGFiZWw6ICJCb29rIFRoZSBTb3ZlcmVpZ24gRGlhZ25vc3RpYyIsIHVybDogImh0dHBzOi8vc292ZXJlaWduZm9yZ2UuYWkiLCBwcmltYXJ5OiB0cnVlIH0sCiAgICAgICAgeyBsYWJlbDogIkJvb2sgU3RyYXRlZ2ljIENvbnZlcnNhdGlvbiIsIHVybDogImh0dHBzOi8vbWFya2V0aW5nYnJpbGxpYW50bHkuY29tL0FSL2JyYW5kbWVldGdyZWV0IiwgcHJpbWFyeTogZmFsc2UgfQogICAgICBdCiAgICB9CiAgfQp9OwoKbGV0IGN1cnJlbnRRID0gMDsKY29uc3QgYW5zd2VycyA9IFtudWxsLCBudWxsLCBudWxsXTsKCmZ1bmN0aW9uIGJlZ2luQ29tcGFzcygpIHsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3RhZ2Utd2VsY29tZScpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0YWdlLXF1ZXN0aW9uJykuY2xhc3NMaXN0LmFkZCgnYWN0aXZlJyk7CiAgcmVuZGVyUXVlc3Rpb24oKTsKfQoKZnVuY3Rpb24gcmVuZGVyUXVlc3Rpb24oKSB7CiAgY29uc3QgcSA9IFFVRVNUSU9OU1tjdXJyZW50UV07CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3FMYWJlbCcpLnRleHRDb250ZW50ID0gcS5leWVicm93OwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdxTnVtJykudGV4dENvbnRlbnQgPSBjdXJyZW50USArIDE7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Byb2dGaWxsJykuc3R5bGUud2lkdGggPSAoKGN1cnJlbnRRICsgMSkgLyAzICogMTAwKSArICclJzsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncUV5ZWJyb3cnKS50ZXh0Q29udGVudCA9ICcnOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdxVGV4dCcpLnRleHRDb250ZW50ID0gcS50ZXh0OwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdxTnVkZ2UnKS50ZXh0Q29udGVudCA9IHEubnVkZ2U7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J0bkJhY2snKS5kaXNhYmxlZCA9IGN1cnJlbnRRID09PSAwOwoKICBjb25zdCBvcHRzQm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ29wdHNCb3gnKTsKICBvcHRzQm94LmlubmVySFRNTCA9ICcnOwogIHEub3B0cy5mb3JFYWNoKChvcHQsIGlkeCkgPT4gewogICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICBkaXYuY2xhc3NOYW1lID0gJ29wdGlvbic7CiAgICBpZiAoYW5zd2Vyc1tjdXJyZW50UV0gPT09IGlkeCkgZGl2LmNsYXNzTGlzdC5hZGQoJ3NlbGVjdGVkJyk7CiAgICBkaXYudGV4dENvbnRlbnQgPSBvcHQubGFiZWw7CiAgICBkaXYub25jbGljayA9ICgpID0+IHNlbGVjdE9wdGlvbihpZHgpOwogICAgb3B0c0JveC5hcHBlbmRDaGlsZChkaXYpOwogIH0pOwp9CgpmdW5jdGlvbiBzZWxlY3RPcHRpb24oaWR4KSB7CiAgYW5zd2Vyc1tjdXJyZW50UV0gPSBpZHg7CiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLm9wdGlvbicpLmZvckVhY2goKGVsLCBpKSA9PiB7CiAgICBlbC5jbGFzc0xpc3QudG9nZ2xlKCdzZWxlY3RlZCcsIGkgPT09IGlkeCk7CiAgfSk7CiAgc2V0VGltZW91dCgoKSA9PiB7CiAgICBpZiAoY3VycmVudFEgPCAyKSB7CiAgICAgIGN1cnJlbnRRKys7CiAgICAgIHJlbmRlclF1ZXN0aW9uKCk7CiAgICB9IGVsc2UgewogICAgICBzaG93UmVhZGluZygpOwogICAgfQogIH0sIDQwMCk7Cn0KCmZ1bmN0aW9uIHByZXZRdWVzdGlvbigpIHsKICBpZiAoY3VycmVudFEgPiAwKSB7CiAgICBjdXJyZW50US0tOwogICAgcmVuZGVyUXVlc3Rpb24oKTsKICB9Cn0KCmZ1bmN0aW9uIHNob3dSZWFkaW5nKCkgewogIGNvbnN0IHRvdGFsU2NvcmUgPSBhbnN3ZXJzLnJlZHVjZSgoc3VtLCBpZHgsIHFJZHgpID0+IHsKICAgIHJldHVybiBzdW0gKyAoaWR4ICE9PSBudWxsID8gUVVFU1RJT05TW3FJZHhdLm9wdHNbaWR4XS5zY29yZSA6IDApOwogIH0sIDApOwoKICBsZXQgcmVhZGluZzsKICBpZiAodG90YWxTY29yZSA8PSAyKSByZWFkaW5nID0gUkVBRElOR1MuYmVnaW5uaW5nOwogIGVsc2UgaWYgKHRvdGFsU2NvcmUgPD0gNSkgcmVhZGluZyA9IFJFQURJTkdTLmJ1aWxkaW5nOwogIGVsc2UgaWYgKHRvdGFsU2NvcmUgPD0gNykgcmVhZGluZyA9IFJFQURJTkdTLnJlYWR5OwogIGVsc2UgcmVhZGluZyA9IFJFQURJTkdTLm9wZXJhdGlvbmFsOwoKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYmFuZE5hbWUnKS5pbm5lckhUTUwgPSByZWFkaW5nLm5hbWU7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvdGFsU2NvcmUnKS50ZXh0Q29udGVudCA9IHRvdGFsU2NvcmU7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlYWRpbmdCb2R5JykuaW5uZXJIVE1MID0gcmVhZGluZy5ib2R5LmpvaW4oJycpOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCduZXh0U3RlcFRpdGxlJykuaW5uZXJIVE1MID0gcmVhZGluZy5uZXh0U3RlcC50aXRsZTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbmV4dFN0ZXBEZXNjJykuaW5uZXJIVE1MID0gcmVhZGluZy5uZXh0U3RlcC5kZXNjOwoKICBjb25zdCBhY3Rpb25zQm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25leHRTdGVwQWN0aW9ucycpOwogIGFjdGlvbnNCb3guaW5uZXJIVE1MID0gJyc7CiAgcmVhZGluZy5uZXh0U3RlcC5hY3Rpb25zLmZvckVhY2goYWN0aW9uID0+IHsKICAgIGNvbnN0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7CiAgICBhLmhyZWYgPSBhY3Rpb24udXJsOwogICAgYS5jbGFzc05hbWUgPSBhY3Rpb24ucHJpbWFyeSA/ICdjdGEtcHJpbWFyeScgOiAnY3RhLXNlY29uZGFyeSc7CiAgICBhLmlubmVySFRNTCA9IGFjdGlvbi5sYWJlbDsKICAgIGlmIChhY3Rpb24udXJsLnN0YXJ0c1dpdGgoJ2h0dHAnKSkgYS50YXJnZXQgPSAnX2JsYW5rJzsKICAgIGFjdGlvbnNCb3guYXBwZW5kQ2hpbGQoYSk7CiAgfSk7CgogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdGFnZS1xdWVzdGlvbicpLmNsYXNzTGlzdC5yZW1vdmUoJ2FjdGl2ZScpOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdGFnZS1yZWFkaW5nJykuY2xhc3NMaXN0LmFkZCgnYWN0aXZlJyk7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0YWdlLXJlYWRpbmcnKS5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJywgYmxvY2s6ICdzdGFydCcgfSk7Cn0KCmZ1bmN0aW9uIHJlc2V0Q29tcGFzcygpIHsKICBjdXJyZW50USA9IDA7CiAgYW5zd2Vyc1swXSA9IG51bGw7IGFuc3dlcnNbMV0gPSBudWxsOyBhbnN3ZXJzWzJdID0gbnVsbDsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3RhZ2UtcmVhZGluZycpLmNsYXNzTGlzdC5yZW1vdmUoJ2FjdGl2ZScpOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdGFnZS1xdWVzdGlvbicpLmNsYXNzTGlzdC5yZW1vdmUoJ2FjdGl2ZScpOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdGFnZS13ZWxjb21lJykuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbXBhc3MnKS5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJywgYmxvY2s6ICdzdGFydCcgfSk7Cn0KPC9zY3JpcHQ+Cgo8L2JvZHk+CjwvaHRtbD4=","embed":""}
Brilliant Brand Strategies · The Front Door Has Moved · Multi-Page Site
◆ Brilliant Brand Strategies
The Five Positions The Compass What We Do Practice Overview Find Your Position
◆ Brilliant Brand Strategies · For Founders In The AI Era

The front door has moved. Where does your business actually stand?

For twenty years, being found meant appearing on a search engine. That door still stands. But it is no longer the only one, and for a fast-growing number of your customers, it is no longer the first. Today they ask an AI. The assistant does not give a list of ten links. It gives an answer of three. Either you are inside that answer, or you were not seen.

Some agencies will tell you there are two camps in the AI conversation ~ wait or get ready. The truth is more honest and more multi-faceted. There are five honest positions founders occupy right now. None of them is wrong. Each one calls for a different next move. Find yours below.

◆ The Five Honest Positions

Where you might actually be right now.

Most founders we meet are in one of these five positions. The position is not a verdict. It is a starting point. Naming your position honestly is the first move that compounds. Pretending you are further along than you are is the first move that collapses.

1.
The Skeptic.
"I am not sure any of this AI noise is real, and I have been burned by hype cycles before."
You are not wrong to be cautious. Plenty of agencies are overselling AI like it is the second coming of the dot-com boom. The honest move for you is not to be persuaded ~ it is to be shown what is actually happening, in plain language, with no theatrics. Most Skeptics we work with eventually move forward, but only after they have seen real evidence.
2.
The Watcher.
"I see this is real. I am watching how it shakes out before I move."
This is a sovereign stance. Watching is not waiting passively ~ it is the deliberate work of pattern recognition before commitment. The risk is watching past the moment when watching becomes too late. The opportunity is moving with clarity when most others are moving with panic. Most Watchers need a useful signal source more than they need a sales pitch.
3.
The Experimenter.
"I am trying things. ChatGPT here, Claude there. Nothing is systematic yet."
You have already begun. The experimentation phase is genuinely valuable ~ it teaches you what is possible. The risk is staying here too long. Patchwork experimentation does not compound. At some point the experiments need to become infrastructure that the whole business can stand on. Most Experimenters move forward when they realize they are doing the same prompts over and over without a system.
4.
The Builder.
"I am building infrastructure but it feels patchwork. I am not sure I am doing it in the right order."
You are in the highest-leverage phase. Builders are doing real work but often in the wrong sequence ~ buying tools before locking voice, building automation before documenting customer truth, scaling content before building the foundation underneath. The honest move here is a diagnostic that names what is actually missing versus what only feels missing.
5.
The Integrator.
"I have systems. I want to go deeper. I want what runs on top of what I have already built."
You are past the diagnostic conversation in many ways. Integrators have done the foundational work and want strategic counsel on what compounds next. The honest move here is not another audit ~ it is the kind of ongoing partnership where someone walks the architecture with you over months, not minutes.
◆ The Front Door Has Moved

What is actually changing.

Below the five positions sits one shift that affects all of them. It is not about whether AI matters. It is about how customers now find you.

"It is no longer enough to be findable. You must be the answer."

For twenty years, search engine optimization (SEO) was the work of being found ~ earning a place in a list of ten links. That work still matters. But a newer practice now sits on top of it. Answer Engine Optimization (AEO) is the work of being chosen by the AI assistant that returns an answer of three names, not a page of ten links. In a list of ten, you compete. In an answer of three, you are chosen ~ or you are absent. There is no second page on an AI answer.

◆ The Be The Answer Framework

The good news: the businesses winning at this are not the biggest or the richest. They are the clearest, the most consistent, and the most trusted. That is a race a focused founder can win. The work of becoming the answer is what The Sovereign Diagnostic surfaces and what The Sovereign Foundation builds.

◆ The Sovereign Compass

Find your honest starting point.

Three questions. Two minutes. A real reading of which of the five positions you currently occupy ~ and the single most useful next move from there. No score-shaming. No fear-close. No countdown timer. The reading is for you. What you do with it is your call.

◆ The Sovereign Compass · USA
Where do you actually stand?
Three questions · Two minutes · Free · No email required

The Compass does not ask you to be further along than you are. It asks where you are.

You will answer three honest questions. Each one names a real dimension of where AI meets your business. Pick the answer closest to your truth ~ not the answer you wish was true. The reading is more useful when the answers are honest.

3 Questions
2 Minutes
4 Possible Readings
Dimension One · Visibility
Question 1 of 3

◆ Your Reading
Building Forward
Score · 0 of 9
◆ Your Honest Next Move
◆ What This Practice Does

How we actually work.

Most agencies will tell you their opinion about your business. We do not. The practice operates on three principles that show up in every engagement we deliver.

One. Customer truth over agency opinion.

Every claim in any deliverable we produce is supported by one of three sources ~ a verbatim customer quote with attribution, a factual website citation, or industry-standard data. If we cannot find support for a claim, we omit the claim. We are not telling you what we think your business needs. We are reflecting what your customers already say back to you. Founders argue with agency opinions. They cannot argue with their own customers.

Two. The bridge between legacy and AI.

We are not an agency with AI tools. We are an agency that bridges the legacy marketing stack everyone built on with the AI era everyone is rushing toward. Both sides of the bridge are real. The legacy stack still works for businesses that built on it. The AI era is unavoidably the future. The right move is not to abandon one for the other ~ it is to deliberately migrate from legacy to AI as the foundation gets built underneath you.

Three. Honest sequence over acceleration.

Founders who try to skip levels build infrastructure that collapses under its own weight. We refuse to sell a tier you are not ready for. The Compass placed you honestly. The diagnostic places you more honestly still. The recommended next move is the move that compounds ~ not the move that flatters or rushes.

Two more doors if you want them.

Whether you took The Compass or not, two paths forward are available. Take the one that fits where you are.

See The Full Practice → Book A 15-Minute Brand Meet & Greet
◆ Brilliant Brand Strategies · The AI-Era Practice
A practice of Mukasa Venture Partners LLC
"Not behind. Not broken. Not too late."
© 2026 · ai.brilliantbrandstrategies.com · The Sovereign Compass USA · v1
Image Gallery Grid
T
Please Check Your Email
We Will Be Following Up Shortly
*
*
*

warning