eyUgY29tbWVudCAlfQogIFBhd0hhcHBpbmVzcyDigJQgUHJlbWl1bSBDaW5lbWF0aWMgSGVybyBTZWN0aW9uCiAgRmlsZTogICBzZWN0aW9ucy9wYXdoYXBwaW5lc3MtaGVyby5saXF1aWQKICBUaGVtZTogIFBhdyBIYXBwaW5lc3MgU3RvcmUgKERhd24tYmFzZWQpCiAgQXV0aG9yOiBQYXdIYXBwaW5lc3MgQnVpbGQgU3lzdGVtCnslIGVuZGNvbW1lbnQgJX0KCnslLSBhc3NpZ24gc2VjdGlvbl91aWQgPSAncGgtaGVyby0nIHwgYXBwZW5kOiBzZWN0aW9uLmlkIC0lfQoKPHNlY3Rpb24KICBpZD0ie3sgc2VjdGlvbl91aWQgfX0iCiAgY2xhc3M9InBoLWhlcm97JSBpZiBzZWN0aW9uLnNldHRpbmdzLnRleHRfYWxpZ25tZW50ID09ICdjZW50ZXInICV9IHBoLWhlcm8tLWNlbnRlcmVkeyUgZW5kaWYgJX17JSBpZiBzZWN0aW9uLnNldHRpbmdzLmZ1bGxfaGVpZ2h0ICV9IHBoLWhlcm8tLWZ1bGx7JSBlbHNlICV9IHBoLWhlcm8tLXRhbGx7JSBlbmRpZiAlfSIKICBkYXRhLXBoLWhlcm8KICBhcmlhLWxhYmVsPSJ7eyBzZWN0aW9uLnNldHRpbmdzLmhlYWRpbmcgfCBzdHJpcF9odG1sIHwgZXNjYXBlIHwgZGVmYXVsdDogJ0hlcm8nIH19Igo+CgogIHt7LSAncGF3aGFwcGluZXNzLWhlcm8uY3NzJyB8IGFzc2V0X3VybCB8IHN0eWxlc2hlZXRfdGFnIC19fQoKICA8IS0tIOKVlOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCBCQUNLR1JPVU5EIE1FRElBIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVlyAtLT4KICA8ZGl2IGNsYXNzPSJwaC1oZXJvX19tZWRpYSIgYXJpYS1oaWRkZW49InRydWUiPgoKICAgIHslLSBpZiBzZWN0aW9uLnNldHRpbmdzLnZpZGVvICE9IGJsYW5rIC0lfQogICAgICA8ZGl2IGNsYXNzPSJwaC1oZXJvX192aWRlby13cmFwIj4KICAgICAgICB7ey0KICAgICAgICAgIHNlY3Rpb24uc2V0dGluZ3MudmlkZW8KICAgICAgICAgIHwgdmlkZW9fdGFnOgogICAgICAgICAgICBhdXRvcGxheTogdHJ1ZSwKICAgICAgICAgICAgbG9vcDogdHJ1ZSwKICAgICAgICAgICAgbXV0ZWQ6IHRydWUsCiAgICAgICAgICAgIHBsYXlzaW5saW5lOiB0cnVlLAogICAgICAgICAgICBjbGFzczogJ3BoLWhlcm9fX3ZpZGVvJwogICAgICAgIC19fQogICAgICA8L2Rpdj4KCiAgICB7JS0gZWxzaWYgc2VjdGlvbi5zZXR0aW5ncy5iYWNrZ3JvdW5kX2ltYWdlICE9IGJsYW5rIC0lfQogICAgICB7ey0KICAgICAgICBzZWN0aW9uLnNldHRpbmdzLmJhY2tncm91bmRfaW1hZ2UKICAgICAgICB8IGltYWdlX3VybDogd2lkdGg6IDI0MDAKICAgICAgICB8IGltYWdlX3RhZzoKICAgICAgICAgIGxvYWRpbmc6ICdlYWdlcicsCiAgICAgICAgICBmZXRjaHByaW9yaXR5OiAnaGlnaCcsCiAgICAgICAgICB3aWR0aHM6ICc3NjgsMTAyNCwxNDQwLDE5MjAsMjQwMCcsCiAgICAgICAgICBzaXplczogJzEwMHZ3JywKICAgICAgICAgIGNsYXNzOiAncGgtaGVyb19fYmctaW1nJywKICAgICAgICAgIGFsdDogc2VjdGlvbi5zZXR0aW5ncy5iYWNrZ3JvdW5kX2ltYWdlLmFsdCB8IGVzY2FwZQogICAgICAtfX0KCiAgICB7JS0gZWxzZSAtJX0KICAgICAgPGRpdiBjbGFzcz0icGgtaGVyb19fYmctcGxhY2Vob2xkZXIiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj4KICAgIHslLSBlbmRpZiAtJX0KCiAgICA8IS0tIENpbmVtYXRpYyBncmFkaWVudCBvdmVybGF5IC0tPgogICAgPGRpdgogICAgICBjbGFzcz0icGgtaGVyb19fb3ZlcmxheSIKICAgICAgc3R5bGU9Ii0tb3ZlcmxheS1vcGFjaXR5OiB7eyBzZWN0aW9uLnNldHRpbmdzLm92ZXJsYXlfb3BhY2l0eSB8IGRpdmlkZWRfYnk6IDEwMC4wIH19OyIKICAgID48L2Rpdj4KCiAgICA8IS0tIEdyYWluIHRleHR1cmUgZm9yIGRlcHRoIC0tPgogICAgeyUtIGlmIHNlY3Rpb24uc2V0dGluZ3Muc2hvd19ncmFpbiAtJX0KICAgICAgPGRpdiBjbGFzcz0icGgtaGVyb19fZ3JhaW4iIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj4KICAgIHslLSBlbmRpZiAtJX0KCiAgPC9kaXY+CiAgPCEtLSDilZrilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZ0gLS0+CgoKICA8IS0tIOKVlOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCBIRVJPIENPTlRFTlQg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWXIC0tPgogIDxkaXYgY2xhc3M9InBoLWhlcm9fX2lubmVyIj4KICAgIDxkaXYgY2xhc3M9InBoLWhlcm9fX2NvbnRlbnQiPgoKICAgICAgPCEtLSBFeWVicm93IC0tPgogICAgICB7JS0gaWYgc2VjdGlvbi5zZXR0aW5ncy5leWVicm93ICE9IGJsYW5rIC0lfQogICAgICAgIDxkaXYgY2xhc3M9InBoLWhlcm9fX2V5ZWJyb3ctd3JhcCIgZGF0YS1waC1hbmltPSJmYWRlLXVwIiBkYXRhLWRlbGF5PSIwIj4KICAgICAgICAgIDxwIGNsYXNzPSJwaC1oZXJvX19leWVicm93Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBoLWhlcm9fX2V5ZWJyb3ctcnVsZSIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj4KICAgICAgICAgICAge3stIHNlY3Rpb24uc2V0dGluZ3MuZXllYnJvdyB8IGVzY2FwZSAtfX0KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBoLWhlcm9fX2V5ZWJyb3ctcnVsZSIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj4KICAgICAgICAgIDwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgeyUtIGVuZGlmIC0lfQoKICAgICAgPCEtLSBIZWFkbGluZSAtLT4KICAgICAgeyUtIGlmIHNlY3Rpb24uc2V0dGluZ3MuaGVhZGluZyAhPSBibGFuayAtJX0KICAgICAgICA8aDEgY2xhc3M9InBoLWhlcm9fX2hlYWRpbmciIGRhdGEtcGgtYW5pbT0iZmFkZS11cCIgZGF0YS1kZWxheT0iMTQwIj4KICAgICAgICAgIHt7LSBzZWN0aW9uLnNldHRpbmdzLmhlYWRpbmcgLX19CiAgICAgICAgPC9oMT4KICAgICAgeyUtIGVuZGlmIC0lfQoKICAgICAgPCEtLSBTdWJoZWFkbGluZSAtLT4KICAgICAgeyUtIGlmIHNlY3Rpb24uc2V0dGluZ3Muc3ViaGVhZGluZyAhPSBibGFuayAtJX0KICAgICAgICA8cCBjbGFzcz0icGgtaGVyb19fc3ViaGVhZGluZyIgZGF0YS1waC1hbmltPSJmYWRlLXVwIiBkYXRhLWRlbGF5PSIyODAiPgogICAgICAgICAge3stIHNlY3Rpb24uc2V0dGluZ3Muc3ViaGVhZGluZyB8IGVzY2FwZSAtfX0KICAgICAgICA8L3A+CiAgICAgIHslLSBlbmRpZiAtJX0KCiAgICAgIDwhLS0gQ1RBIEJ1dHRvbnMgLS0+CiAgICAgIHslLSBpZiBzZWN0aW9uLnNldHRpbmdzLmN0YV9wcmltYXJ5X2xhYmVsICE9IGJsYW5rIG9yIHNlY3Rpb24uc2V0dGluZ3MuY3RhX3NlY29uZGFyeV9sYWJlbCAhPSBibGFuayAtJX0KICAgICAgICA8ZGl2IGNsYXNzPSJwaC1oZXJvX19jdGFzIiBkYXRhLXBoLWFuaW09ImZhZGUtdXAiIGRhdGEtZGVsYXk9IjQwMCI+CgogICAgICAgICAgeyUtIGlmIHNlY3Rpb24uc2V0dGluZ3MuY3RhX3ByaW1hcnlfbGFiZWwgIT0gYmxhbmsgLSV9CiAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgaHJlZj0ie3sgc2VjdGlvbi5zZXR0aW5ncy5jdGFfcHJpbWFyeV9saW5rIHwgZGVmYXVsdDogJy9jb2xsZWN0aW9ucy9hbGwnIH19IgogICAgICAgICAgICAgIGNsYXNzPSJwaC1oZXJvX19idG4gcGgtaGVyb19fYnRuLS1wcmltYXJ5IgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBoLWhlcm9fX2J0bi1sYWJlbCI+CiAgICAgICAgICAgICAgICB7ey0gc2VjdGlvbi5zZXR0aW5ncy5jdGFfcHJpbWFyeV9sYWJlbCB8IGVzY2FwZSAtfX0KICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0icGgtaGVyb19fYnRuLWljb24iIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4IiBmaWxsPSJub25lIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMy43NSA5aDEwLjVNMTAuNSA1LjI1TDE0LjI1IDlsLTMuNzUgMy43NSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgICAgeyUtIGVuZGlmIC0lfQoKICAgICAgICAgIHslLSBpZiBzZWN0aW9uLnNldHRpbmdzLmN0YV9zZWNvbmRhcnlfbGFiZWwgIT0gYmxhbmsgLSV9CiAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgaHJlZj0ie3sgc2VjdGlvbi5zZXR0aW5ncy5jdGFfc2Vjb25kYXJ5X2xpbmsgfCBkZWZhdWx0OiAnL3BhZ2VzL2Fib3V0JyB9fSIKICAgICAgICAgICAgICBjbGFzcz0icGgtaGVyb19fYnRuIHBoLWhlcm9fX2J0bi0tZ2hvc3QiCiAgICAgICAgICAgID4KICAgICAgICAgICAgICB7ey0gc2VjdGlvbi5zZXR0aW5ncy5jdGFfc2Vjb25kYXJ5X2xhYmVsIHwgZXNjYXBlIC19fQogICAgICAgICAgICA8L2E+CiAgICAgICAgICB7JS0gZW5kaWYgLSV9CgogICAgICAgIDwvZGl2PgogICAgICB7JS0gZW5kaWYgLSV9CgogICAgICA8IS0tIFRydXN0IEJhZGdlcyAtLT4KICAgICAgeyUtIGlmIHNlY3Rpb24uc2V0dGluZ3Muc2hvd190cnVzdF9iYWRnZXMgYW5kIHNlY3Rpb24uYmxvY2tzLnNpemUgPiAwIC0lfQogICAgICAgIDxkaXYgY2xhc3M9InBoLWhlcm9fX3RydXN0IiBkYXRhLXBoLWFuaW09ImZhZGUtdXAiIGRhdGEtZGVsYXk9IjUyMCIgcm9sZT0ibGlzdCIgYXJpYS1sYWJlbD0iU3RvcmUgdHJ1c3Qgc2lnbmFscyI+CiAgICAgICAgICB7JS0gZm9yIGJsb2NrIGluIHNlY3Rpb24uYmxvY2tzIC0lfQogICAgICAgICAgICB7JS0gaWYgYmxvY2sudHlwZSA9PSAndHJ1c3RfYmFkZ2UnIC0lfQogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBoLWhlcm9fX3RydXN0LWl0ZW0iIHJvbGU9Imxpc3RpdGVtIiB7eyBibG9jay5zaG9waWZ5X2F0dHJpYnV0ZXMgfX0+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icGgtaGVyb19fdHJ1c3QtaWNvbiIgYXJpYS1oaWRkZW49InRydWUiPgogICAgICAgICAgICAgICAgICB7JS0gY2FzZSBibG9jay5zZXR0aW5ncy5pY29uIC0lfQogICAgICAgICAgICAgICAgICAgIHslLSB3aGVuICdzdGFyJyAtJX0KICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMTYgMTYiIGZpbGw9Im5vbmUiPjxwYXRoIGQ9Ik04IDEuMzMzbDEuODMzIDMuNzE0IDQuMDk2LjU5Ni0yLjk2NCAyLjg4OS43IDQuMDc2TDggMTAuNDhsLTMuNjY1IDEuOTI4LjctNC4wNzZMMi4wNyA1LjY0M2w0LjA5Ny0uNTk2TDggMS4zMzN6IiBmaWxsPSJjdXJyZW50Q29sb3IiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICB7JS0gd2hlbiAnc2hpZWxkJyAtJX0KICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMTYgMTYiIGZpbGw9Im5vbmUiPjxwYXRoIGQ9Ik04IDEuMzMzTDIgNHY0YzAgMy41IDIuNSA2LjYgNiA3LjMzM0MxMS41IDE0LjYgMTQgMTEuNSAxNCA4VjRMOCAxLjMzM3oiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuMiIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPgogICAgICAgICAgICAgICAgICAgIHslLSB3aGVuICdoZWFydCcgLSV9CiAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2IiBmaWxsPSJub25lIj48cGF0aCBkPSJNOCAxMy41UzEuMzMzIDkuMzMzIDEuMzMzIDVhMy4zMzMgMy4zMzMgMCAwMTYuNjY3IDAgMy4zMzMgMy4zMzMgMCAwMTYuNjY3IDBDMTQuNjY3IDkuMzMzIDggMTMuNSA4IDEzLjV6IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjIiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICB7JS0gd2hlbiAndHJ1Y2snIC0lfQogICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSI+PHBhdGggZD0iTTEuMzMzIDExLjMzM2guNjY3bTExLjMzMyAwSDE0bS0zLjMzMyAwSDUuMzMzbTAgMGExLjMzMyAxLjMzMyAwIDExLTIuNjY2IDBtMi42NjYgMGExLjMzMyAxLjMzMyAwIDEwLTIuNjY2IDBtOCAwYTEuMzMzIDEuMzMzIDAgMTAwLTIuNjY2IDEuMzMzIDEuMzMzIDAgMDAwIDIuNjY2em0wIDBIMTAuNjY3TTQuNjY3IDMuMzMzSDEwLjY2N2wyIDMuMzM0SDEuMzMzVjMuMzMzaDMuMzM0eiIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS4yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICB7JS0gd2hlbiAnbGVhZicgLSV9CiAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2IiBmaWxsPSJub25lIj48cGF0aCBkPSJNMi42NjcgMTMuMzMzQzQgOCA4IDQuNjY3IDEzLjMzMyAyLjY2N2MwIDUuMzMzLTMuMzMzIDkuMzMzLTggMTBsLTIuNjY2LjY2NnoiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuMiIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0yLjY2NyAxMy4zMzNMNiAxMCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS4yIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICB7JS0gd2hlbiAncGF3JyAtJX0KICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMTYgMTYiIGZpbGw9Im5vbmUiPjxjaXJjbGUgY3g9IjUuNSIgY3k9IjQiIHI9IjEuMiIgZmlsbD0iY3VycmVudENvbG9yIi8+PGNpcmNsZSBjeD0iMTAuNSIgY3k9IjQiIHI9IjEuMiIgZmlsbD0iY3VycmVudENvbG9yIi8+PGNpcmNsZSBjeD0iMy41IiBjeT0iNi41IiByPSIxIiBmaWxsPSJjdXJyZW50Q29sb3IiLz48Y2lyY2xlIGN4PSIxMi41IiBjeT0iNi41IiByPSIxIiBmaWxsPSJjdXJyZW50Q29sb3IiLz48cGF0aCBkPSJNOCA3Yy0yLjUgMC00LjUgMS41LTQgNCAuMzMzIDEuNjY3IDEuNSAzIDQgM3MzLjY2Ny0xLjMzMyA0LTNjLjUtMi41LTEuNS00LTQtNHoiIGZpbGw9ImN1cnJlbnRDb2xvciIvPjwvc3ZnPgogICAgICAgICAgICAgICAgICB7JS0gZW5kY2FzZSAtJX0KICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwaC1oZXJvX190cnVzdC1sYWJlbCI+e3sgYmxvY2suc2V0dGluZ3MubGFiZWwgfCBlc2NhcGUgfX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIHslLSBlbmRpZiAtJX0KICAgICAgICAgIHslLSBlbmRmb3IgLSV9CiAgICAgICAgPC9kaXY+CiAgICAgIHslLSBlbmRpZiAtJX0KCiAgICA8L2Rpdj48IS0tIC8ucGgtaGVyb19fY29udGVudCAtLT4KICA8L2Rpdj48IS0tIC8ucGgtaGVyb19faW5uZXIgLS0+CiAgPCEtLSDilZrilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZ0gLS0+CgoKICA8IS0tIOKVlOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCBTQ1JPTEwgSU5ESUNBVE9SIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVlyAtLT4KICB7JS0gaWYgc2VjdGlvbi5zZXR0aW5ncy5zaG93X3Njcm9sbCBhbmQgc2VjdGlvbi5zZXR0aW5ncy5mdWxsX2hlaWdodCAtJX0KICAgIDxkaXYgY2xhc3M9InBoLWhlcm9fX3Njcm9sbCIgYXJpYS1oaWRkZW49InRydWUiIGRhdGEtcGgtYW5pbT0iZmFkZS1pbiIgZGF0YS1kZWxheT0iODAwIj4KICAgICAgPGRpdiBjbGFzcz0icGgtaGVyb19fc2Nyb2xsLXRyYWNrIj4KICAgICAgICA8ZGl2IGNsYXNzPSJwaC1oZXJvX19zY3JvbGwtZG90Ij48L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxzcGFuIGNsYXNzPSJwaC1oZXJvX19zY3JvbGwtdGV4dCI+U2Nyb2xsPC9zcGFuPgogICAgPC9kaXY+CiAgeyUtIGVuZGlmIC0lfQogIDwhLS0g4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdIC0tPgoKPC9zZWN0aW9uPgoKPHNjcmlwdCBzcmM9Int7ICdwYXdoYXBwaW5lc3MtaGVyby5qcycgfCBhc3NldF91cmwgfX0iIGRlZmVyPjwvc2NyaXB0PgoKeyUgc2NoZW1hICV9CnsKICAibmFtZSI6ICJQSCDigJQgSGVybyIsCiAgInRhZyI6ICJzZWN0aW9uIiwKICAiY2xhc3MiOiAicGgtaGVyby1zZWN0aW9uIiwKICAibGltaXQiOiAxLAogICJzZXR0aW5ncyI6IFsKICAgIHsKICAgICAgInR5cGUiOiAiaGVhZGVyIiwKICAgICAgImNvbnRlbnQiOiAi8J+OrCBCYWNrZ3JvdW5kIE1lZGlhIgogICAgfSwKICAgIHsKICAgICAgInR5cGUiOiAiaW1hZ2VfcGlja2VyIiwKICAgICAgImlkIjogImJhY2tncm91bmRfaW1hZ2UiLAogICAgICAibGFiZWwiOiAiQmFja2dyb3VuZCBpbWFnZSIsCiAgICAgICJpbmZvIjogIlJlY29tbWVuZGVkOiAyNDAww5cxNjAwcHggb3IgbGFyZ2VyLiBKUEcgcHJlZmVycmVkLiIKICAgIH0sCiAgICB7CiAgICAgICJ0eXBlIjogInZpZGVvIiwKICAgICAgImlkIjogInZpZGVvIiwKICAgICAgImxhYmVsIjogIkJhY2tncm91bmQgdmlkZW8iLAogICAgICAiaW5mbyI6ICJPdmVycmlkZXMgYmFja2dyb3VuZCBpbWFnZSB3aGVuIHNldC4gVXNlIE1QNCwgbWF4IDMwcyBsb29wLiIKICAgIH0sCiAgICB7CiAgICAgICJ0eXBlIjogInJhbmdlIiwKICAgICAgImlkIjogIm92ZXJsYXlfb3BhY2l0eSIsCiAgICAgICJtaW4iOiAwLAogICAgICAibWF4IjogOTAsCiAgICAgICJzdGVwIjogNSwKICAgICAgInVuaXQiOiAiJSIsCiAgICAgICJsYWJlbCI6ICJEYXJrIG92ZXJsYXkgc3RyZW5ndGgiLAogICAgICAiZGVmYXVsdCI6IDQ1CiAgICB9LAogICAgewogICAgICAidHlwZSI6ICJjaGVja2JveCIsCiAgICAgICJpZCI6ICJzaG93X2dyYWluIiwKICAgICAgImxhYmVsIjogIkVuYWJsZSBmaWxtIGdyYWluIHRleHR1cmUiLAogICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICJpbmZvIjogIkFkZHMgYSBzdWJ0bGUgY2luZW1hdGljIGdyYWluIG92ZXIgdGhlIGJhY2tncm91bmQuIgogICAgfSwKICAgIHsKICAgICAgInR5cGUiOiAiaGVhZGVyIiwKICAgICAgImNvbnRlbnQiOiAi8J+TkCBMYXlvdXQiCiAgICB9LAogICAgewogICAgICAidHlwZSI6ICJjaGVja2JveCIsCiAgICAgICJpZCI6ICJmdWxsX2hlaWdodCIsCiAgICAgICJsYWJlbCI6ICJGdWxsIHZpZXdwb3J0IGhlaWdodCIsCiAgICAgICJkZWZhdWx0IjogdHJ1ZQogICAgfSwKICAgIHsKICAgICAgInR5cGUiOiAic2VsZWN0IiwKICAgICAgImlkIjogInRleHRfYWxpZ25tZW50IiwKICAgICAgImxhYmVsIjogIkNvbnRlbnQgYWxpZ25tZW50IiwKICAgICAgIm9wdGlvbnMiOiBbCiAgICAgICAgeyAidmFsdWUiOiAibGVmdCIsICJsYWJlbCI6ICJMZWZ0IiB9LAogICAgICAgIHsgInZhbHVlIjogImNlbnRlciIsICJsYWJlbCI6ICJDZW50ZXIiIH0KICAgICAgXSwKICAgICAgImRlZmF1bHQiOiAiY2VudGVyIgogICAgfSwKICAgIHsKICAgICAgInR5cGUiOiAiaGVhZGVyIiwKICAgICAgImNvbnRlbnQiOiAi4pyN77iPIENvbnRlbnQiCiAgICB9LAogICAgewogICAgICAidHlwZSI6ICJ0ZXh0IiwKICAgICAgImlkIjogImV5ZWJyb3ciLAogICAgICAibGFiZWwiOiAiRXllYnJvdyBsYWJlbCIsCiAgICAgICJkZWZhdWx0IjogIlByZW1pdW0gUGV0IFdlbGxuZXNzIiwKICAgICAgImluZm8iOiAiU2hvcnQgdXBwZXJjYXNlIGxhYmVsIHNob3duIGFib3ZlIHRoZSBoZWFkbGluZS4iCiAgICB9LAogICAgewogICAgICAidHlwZSI6ICJyaWNodGV4dCIsCiAgICAgICJpZCI6ICJoZWFkaW5nIiwKICAgICAgImxhYmVsIjogIk1haW4gaGVhZGxpbmUiLAogICAgICAiZGVmYXVsdCI6ICI8cD5Mb3ZlIEJleW9uZDxicj48ZW0+V29yZHMuPC9lbT48L3A+IiwKICAgICAgImluZm8iOiAiVXNlIDxlbT4gdGFncyB0byBpdGFsaWNpc2Ugd29yZHMgaW4gZ29sZC4gU3VwcG9ydHMgbGluZSBicmVha3MuIgogICAgfSwKICAgIHsKICAgICAgInR5cGUiOiAidGV4dGFyZWEiLAogICAgICAiaWQiOiAic3ViaGVhZGluZyIsCiAgICAgICJsYWJlbCI6ICJTdWJoZWFkbGluZSIsCiAgICAgICJkZWZhdWx0IjogIkx1eHVyeSBwcm9kdWN0cyBjcmFmdGVkIGZvciB0aGUgcGV0cyB3aG8gbWVhbiBldmVyeXRoaW5nLiBCZWNhdXNlIHRoZXkgZGVzZXJ2ZSBub3RoaW5nIGxlc3MuIgogICAgfSwKICAgIHsKICAgICAgInR5cGUiOiAiaGVhZGVyIiwKICAgICAgImNvbnRlbnQiOiAi8J+UmCBQcmltYXJ5IENUQSBCdXR0b24iCiAgICB9LAogICAgewogICAgICAidHlwZSI6ICJ0ZXh0IiwKICAgICAgImlkIjogImN0YV9wcmltYXJ5X2xhYmVsIiwKICAgICAgImxhYmVsIjogIkJ1dHRvbiB0ZXh0IiwKICAgICAgImRlZmF1bHQiOiAiU2hvcCB0aGUgQ29sbGVjdGlvbiIKICAgIH0sCiAgICB7CiAgICAgICJ0eXBlIjogInVybCIsCiAgICAgICJpZCI6ICJjdGFfcHJpbWFyeV9saW5rIiwKICAgICAgImxhYmVsIjogIkJ1dHRvbiBsaW5rIgogICAgfSwKICAgIHsKICAgICAgInR5cGUiOiAiaGVhZGVyIiwKICAgICAgImNvbnRlbnQiOiAi4qycIFNlY29uZGFyeSBDVEEgQnV0dG9uIgogICAgfSwKICAgIHsKICAgICAgInR5cGUiOiAidGV4dCIsCiAgICAgICJpZCI6ICJjdGFfc2Vjb25kYXJ5X2xhYmVsIiwKICAgICAgImxhYmVsIjogIkJ1dHRvbiB0ZXh0IiwKICAgICAgImRlZmF1bHQiOiAiT3VyIFN0b3J5IgogICAgfSwKICAgIHsKICAgICAgInR5cGUiOiAidXJsIiwKICAgICAgImlkIjogImN0YV9zZWNvbmRhcnlfbGluayIsCiAgICAgICJsYWJlbCI6ICJCdXR0b24gbGluayIKICAgIH0sCiAgICB7CiAgICAgICJ0eXBlIjogImhlYWRlciIsCiAgICAgICJjb250ZW50IjogIvCfm6HvuI8gVHJ1c3QgQmFkZ2VzIgogICAgfSwKICAgIHsKICAgICAgInR5cGUiOiAiY2hlY2tib3giLAogICAgICAiaWQiOiAic2hvd190cnVzdF9iYWRnZXMiLAogICAgICAibGFiZWwiOiAiU2hvdyB0cnVzdCBiYWRnZXMiLAogICAgICAiZGVmYXVsdCI6IHRydWUKICAgIH0sCiAgICB7CiAgICAgICJ0eXBlIjogImhlYWRlciIsCiAgICAgICJjb250ZW50IjogIuKGkyBTY3JvbGwgSW5kaWNhdG9yIgogICAgfSwKICAgIHsKICAgICAgInR5cGUiOiAiY2hlY2tib3giLAogICAgICAiaWQiOiAic2hvd19zY3JvbGwiLAogICAgICAibGFiZWwiOiAiU2hvdyBzY3JvbGwgaW5kaWNhdG9yIiwKICAgICAgImRlZmF1bHQiOiB0cnVlCiAgICB9CiAgXSwKICAiYmxvY2tzIjogWwogICAgewogICAgICAidHlwZSI6ICJ0cnVzdF9iYWRnZSIsCiAgICAgICJuYW1lIjogIlRydXN0IEJhZGdlIiwKICAgICAgImxpbWl0IjogNSwKICAgICAgInNldHRpbmdzIjogWwogICAgICAgIHsKICAgICAgICAgICJ0eXBlIjogInNlbGVjdCIsCiAgICAgICAgICAiaWQiOiAiaWNvbiIsCiAgICAgICAgICAibGFiZWwiOiAiSWNvbiIsCiAgICAgICAgICAib3B0aW9ucyI6IFsKICAgICAgICAgICAgeyAidmFsdWUiOiAic3RhciIsICAgImxhYmVsIjogIuKtkCBTdGFyIOKAlCBSZXZpZXdzIiAgICB9LAogICAgICAgICAgICB7ICJ2YWx1ZSI6ICJzaGllbGQiLCAibGFiZWwiOiAi8J+boe+4jyBTaGllbGQg4oCUIFNhZmV0eSIgICB9LAogICAgICAgICAgICB7ICJ2YWx1ZSI6ICJoZWFydCIsICAibGFiZWwiOiAi4p2k77iPIEhlYXJ0IOKAlCBDYXJlIiAgICAgIH0sCiAgICAgICAgICAgIHsgInZhbHVlIjogInRydWNrIiwgICJsYWJlbCI6ICLwn5qaIFRydWNrIOKAlCBTaGlwcGluZyIgIH0sCiAgICAgICAgICAgIHsgInZhbHVlIjogImxlYWYiLCAgICJsYWJlbCI6ICLwn4y/IExlYWYg4oCUIE5hdHVyYWwiICAgIH0sCiAgICAgICAgICAgIHsgInZhbHVlIjogInBhdyIsICAgICJsYWJlbCI6ICLwn5C+IFBhdyDigJQgUGV0IExvdmUiICAgIH0KICAgICAgICAgIF0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJzdGFyIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAidGV4dCIsCiAgICAgICAgICAiaWQiOiAibGFiZWwiLAogICAgICAgICAgImxhYmVsIjogIkJhZGdlIHRleHQiLAogICAgICAgICAgImRlZmF1bHQiOiAiNC454piFIFJhdGVkIgogICAgICAgIH0KICAgICAgXQogICAgfQogIF0sCiAgInByZXNldHMiOiBbCiAgICB7CiAgICAgICJuYW1lIjogIlBIIOKAlCBIZXJvIiwKICAgICAgImJsb2NrcyI6IFsKICAgICAgICB7CiAgICAgICAgICAidHlwZSI6ICJ0cnVzdF9iYWRnZSIsCiAgICAgICAgICAic2V0dGluZ3MiOiB7ICJpY29uIjogInN0YXIiLCAgICJsYWJlbCI6ICI0LjnimIUgUmF0ZWQiIH0KICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJ0eXBlIjogInRydXN0X2JhZGdlIiwKICAgICAgICAgICJzZXR0aW5ncyI6IHsgImljb24iOiAic2hpZWxkIiwgImxhYmVsIjogIlZldCBBcHByb3ZlZCIgfQogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAidHJ1c3RfYmFkZ2UiLAogICAgICAgICAgInNldHRpbmdzIjogeyAiaWNvbiI6ICJ0cnVjayIsICAibGFiZWwiOiAiRnJlZSBTaGlwcGluZyAkNzUrIiB9CiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAidHlwZSI6ICJ0cnVzdF9iYWRnZSIsCiAgICAgICAgICAic2V0dGluZ3MiOiB7ICJpY29uIjogImhlYXJ0IiwgICJsYWJlbCI6ICIzMC1EYXkgR3VhcmFudGVlIiB9CiAgICAgICAgfQogICAgICBdCiAgICB9CiAgXQp9CnslIGVuZHNjaGVtYSAlfQo=
eyUgY29tbWVudCAlfQogIFBhd0hhcHBpbmVzcyDigJQgU2hvcCBieSBDYXRlZ29yeSBTZWN0aW9uCiAgRmlsZTogICBzZWN0aW9ucy9wYXdoYXBwaW5lc3MtY2F0ZWdvcmllcy5saXF1aWQKICBEZXNpZ246IFByZW1pdW0gY2FyZC1ncmlkIHdpdGggaG92ZXIgbGlmdCwgY2F0ZWdvcnkgaWNvbnMsIGdvbGQgYWNjZW50cwp7JSBlbmRjb21tZW50ICV9Cgo8c2VjdGlvbiBjbGFzcz0icGgtY2F0cyIgZGF0YS1waC1jYXRzPgogIHt7LSAncGF3aGFwcGluZXNzLWNhdGVnb3JpZXMuY3NzJyB8IGFzc2V0X3VybCB8IHN0eWxlc2hlZXRfdGFnIC19fQoKICA8ZGl2IGNsYXNzPSJwaC1jYXRzX19pbm5lciI+CgogICAgPCEtLSBIZWFkZXIgLS0+CiAgICA8ZGl2IGNsYXNzPSJwaC1jYXRzX19oZWFkZXIiPgogICAgICA8cCBjbGFzcz0icGgtY2F0c19fZXllYnJvdyI+QnJvd3NlIE91ciBSYW5nZTwvcD4KICAgICAgPGgyIGNsYXNzPSJwaC1jYXRzX19oZWFkaW5nIj57eyBzZWN0aW9uLnNldHRpbmdzLmhlYWRpbmcgfCBlc2NhcGUgfX08L2gyPgogICAgICB7JS0gaWYgc2VjdGlvbi5zZXR0aW5ncy5zdWJoZWFkaW5nICE9IGJsYW5rIC0lfQogICAgICAgIDxwIGNsYXNzPSJwaC1jYXRzX19zdWIiPnt7IHNlY3Rpb24uc2V0dGluZ3Muc3ViaGVhZGluZyB8IGVzY2FwZSB9fTwvcD4KICAgICAgeyUtIGVuZGlmIC0lfQogICAgPC9kaXY+CgogICAgPCEtLSBDYXRlZ29yeSBHcmlkIC0tPgogICAgPGRpdiBjbGFzcz0icGgtY2F0c19fZ3JpZCI+CgogICAgICB7JS0gZm9yIGJsb2NrIGluIHNlY3Rpb24uYmxvY2tzIC0lfQogICAgICAgIHslLSBpZiBibG9jay50eXBlID09ICdjYXRlZ29yeScgLSV9CiAgICAgICAgICB7JS0gYXNzaWduIGNhdF91cmwgPSBibG9jay5zZXR0aW5ncy5saW5rIHwgZGVmYXVsdDogJy9jb2xsZWN0aW9ucy9hbGwnIC0lfQogICAgICAgICAgPGEgaHJlZj0ie3sgY2F0X3VybCB9fSIgY2xhc3M9InBoLWNhdHNfX2NhcmQiIHt7IGJsb2NrLnNob3BpZnlfYXR0cmlidXRlcyB9fT4KCiAgICAgICAgICAgIDwhLS0gSWNvbiAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGgtY2F0c19faWNvbi13cmFwIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBoLWNhdHNfX2ljb24iPgogICAgICAgICAgICAgICAgeyUtIGNhc2UgYmxvY2suc2V0dGluZ3MuaWNvbiAtJX0KICAgICAgICAgICAgICAgICAgeyUtIHdoZW4gJ2Jvd2wnIC0lfQogICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDQwIDQwIiBmaWxsPSJub25lIj48cGF0aCBkPSJNNiAyMmMwIDcuNzMyIDYuMjY4IDE0IDE0IDE0czE0LTYuMjY4IDE0LTE0SDZ6IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTQgMjJoMzJNMjAgOHY0TTE0IDEwbDIgM00yNiAxMGwtMiAzIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgeyUtIHdoZW4gJ3BhdycgLSV9CiAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgNDAgNDAiIGZpbGw9Im5vbmUiPjxjaXJjbGUgY3g9IjE0IiBjeT0iMTEiIHI9IjMiIGZpbGw9ImN1cnJlbnRDb2xvciIvPjxjaXJjbGUgY3g9IjI2IiBjeT0iMTEiIHI9IjMiIGZpbGw9ImN1cnJlbnRDb2xvciIvPjxjaXJjbGUgY3g9IjkiIGN5PSIxOCIgcj0iMi41IiBmaWxsPSJjdXJyZW50Q29sb3IiLz48Y2lyY2xlIGN4PSIzMSIgY3k9IjE4IiByPSIyLjUiIGZpbGw9ImN1cnJlbnRDb2xvciIvPjxwYXRoIGQ9Ik0yMCAxN2MtNi41IDAtMTEgMy44LTEwIDEwIC44IDQuMyAzLjggNy44IDEwIDcuOHM5LjItMy41IDEwLTcuOGMxLTYuMi0zLjUtMTAtMTAtMTB6IiBmaWxsPSJjdXJyZW50Q29sb3IiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgeyUtIHdoZW4gJ3RveScgLSV9CiAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgNDAgNDAiIGZpbGw9Im5vbmUiPjxjaXJjbGUgY3g9IjIwIiBjeT0iMjAiIHI9IjEyIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIi8+PHBhdGggZD0iTTIwIDh2MjRNOCAyMGgyNCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PGNpcmNsZSBjeD0iMjAiIGN5PSIyMCIgcj0iNCIgZmlsbD0iY3VycmVudENvbG9yIi8+PC9zdmc+CiAgICAgICAgICAgICAgICAgIHslLSB3aGVuICdzY2lzc29ycycgLSV9CiAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgNDAgNDAiIGZpbGw9Im5vbmUiPjxjaXJjbGUgY3g9IjEyIiBjeT0iMjgiIHI9IjUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI1IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIi8+PHBhdGggZD0iTTE2IDE0LjVMMzIgMjlNMTYgMjUuNUwzMiAxMSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PC9zdmc+CiAgICAgICAgICAgICAgICAgIHslLSB3aGVuICdoZWFydCcgLSV9CiAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgNDAgNDAiIGZpbGw9Im5vbmUiPjxwYXRoIGQ9Ik0yMCAzM1M3IDI0LjUgNyAxNS41YTguNSA4LjUgMCAwMTE3IDAgOC41IDguNSAwIDAxMTcgMEM0MSAyNC41IDI4IDMzIDIwIDMzeiIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPgogICAgICAgICAgICAgICAgICB7JS0gd2hlbiAnYmFnJyAtJX0KICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSI+PHBhdGggZD0iTTE0IDE0di0yYTYgNiAwIDAxMTIgMHYyIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48cmVjdCB4PSI4IiB5PSIxNCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjIwIiByeD0iMyIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIvPjxwYXRoIGQ9Ik0xNiAyMGE0IDQgMCAwMDggMCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PC9zdmc+CiAgICAgICAgICAgICAgICAgIHslLSB3aGVuICdzdGFyJyAtJX0KICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSI+PHBhdGggZD0iTTIwIDVsNC41IDkuMkwzNSAxNS43bC03LjUgNy4zIDEuOCAxMC4zTDIwIDI4LjJsLTkuMyA1LjEgMS44LTEwLjNMNSAxNS43bDEwLjUtMS41eiIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPgogICAgICAgICAgICAgICAgICB7JS0gd2hlbiAnY2FyJyAtJX0KICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSI+PHBhdGggZD0iTTggMjJsMy04aDE4bDMgOCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHJlY3QgeD0iNSIgeT0iMjIiIHdpZHRoPSIzMCIgaGVpZ2h0PSIxMCIgcng9IjIiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjM0IiByPSIyLjUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiLz48Y2lyY2xlIGN4PSIyOCIgY3k9IjM0IiByPSIyLjUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiLz48cGF0aCBkPSJNNSAyNmgzMCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48L3N2Zz4KICAgICAgICAgICAgICAgIHslLSBlbmRjYXNlIC0lfQogICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8IS0tIFRleHQgLS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBoLWNhdHNfX3RleHQiPgogICAgICAgICAgICAgIDxoMyBjbGFzcz0icGgtY2F0c19fbmFtZSI+e3sgYmxvY2suc2V0dGluZ3MubmFtZSB8IGVzY2FwZSB9fTwvaDM+CiAgICAgICAgICAgICAgeyUtIGlmIGJsb2NrLnNldHRpbmdzLmNvdW50ICE9IGJsYW5rIC0lfQogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBoLWNhdHNfX2NvdW50Ij57eyBibG9jay5zZXR0aW5ncy5jb3VudCB8IGVzY2FwZSB9fTwvc3Bhbj4KICAgICAgICAgICAgICB7JS0gZW5kaWYgLSV9CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPCEtLSBBcnJvdyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGgtY2F0c19fYXJyb3ciIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIiBmaWxsPSJub25lIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00IDEwaDEyTTEyIDZsNCA0LTQgNCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPC9hPgogICAgICAgIHslLSBlbmRpZiAtJX0KICAgICAgeyUtIGVuZGZvciAtJX0KCiAgICA8L2Rpdj48IS0tIC8ucGgtY2F0c19fZ3JpZCAtLT4KCiAgICA8IS0tIFZpZXcgQWxsIC0tPgogICAgeyUtIGlmIHNlY3Rpb24uc2V0dGluZ3MuY3RhX2xhYmVsICE9IGJsYW5rIC0lfQogICAgICA8ZGl2IGNsYXNzPSJwaC1jYXRzX19mb290ZXIiPgogICAgICAgIDxhIGhyZWY9Int7IHNlY3Rpb24uc2V0dGluZ3MuY3RhX2xpbmsgfCBkZWZhdWx0OiAnL2NvbGxlY3Rpb25zJyB9fSIgY2xhc3M9InBoLWNhdHNfX2N0YSI+CiAgICAgICAgICB7eyBzZWN0aW9uLnNldHRpbmdzLmN0YV9sYWJlbCB8IGVzY2FwZSB9fQogICAgICAgICAgPHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgYXJpYS1oaWRkZW49InRydWUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMy43NSA5aDEwLjVNMTAuNSA1LjI1TDE0LjI1IDlsLTMuNzUgMy43NSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvYT4KICAgICAgPC9kaXY+CiAgICB7JS0gZW5kaWYgLSV9CgogIDwvZGl2PjwhLS0gLy5waC1jYXRzX19pbm5lciAtLT4KPC9zZWN0aW9uPgoKeyUgc2NoZW1hICV9CnsKICAibmFtZSI6ICJQSCDigJQgQ2F0ZWdvcmllcyIsCiAgInRhZyI6ICJzZWN0aW9uIiwKICAiY2xhc3MiOiAicGgtY2F0ZWdvcmllcy1zZWN0aW9uIiwKICAic2V0dGluZ3MiOiBbCiAgICB7CiAgICAgICJ0eXBlIjogInRleHQiLAogICAgICAiaWQiOiAiaGVhZGluZyIsCiAgICAgICJsYWJlbCI6ICJTZWN0aW9uIGhlYWRpbmciLAogICAgICAiZGVmYXVsdCI6ICJTaG9wIGJ5IENhdGVnb3J5IgogICAgfSwKICAgIHsKICAgICAgInR5cGUiOiAidGV4dCIsCiAgICAgICJpZCI6ICJzdWJoZWFkaW5nIiwKICAgICAgImxhYmVsIjogIlN1YmhlYWRpbmciLAogICAgICAiZGVmYXVsdCI6ICJFdmVyeXRoaW5nIHlvdXIgcGV0IG5lZWRzLCBhbGwgaW4gb25lIHBsYWNlLiIKICAgIH0sCiAgICB7CiAgICAgICJ0eXBlIjogImhlYWRlciIsCiAgICAgICJjb250ZW50IjogIlZpZXcgQWxsIEJ1dHRvbiIKICAgIH0sCiAgICB7CiAgICAgICJ0eXBlIjogInRleHQiLAogICAgICAiaWQiOiAiY3RhX2xhYmVsIiwKICAgICAgImxhYmVsIjogIkJ1dHRvbiB0ZXh0IiwKICAgICAgImRlZmF1bHQiOiAiQnJvd3NlIEFsbCBDYXRlZ29yaWVzIgogICAgfSwKICAgIHsKICAgICAgInR5cGUiOiAidXJsIiwKICAgICAgImlkIjogImN0YV9saW5rIiwKICAgICAgImxhYmVsIjogIkJ1dHRvbiBsaW5rIgogICAgfQogIF0sCiAgImJsb2NrcyI6IFsKICAgIHsKICAgICAgInR5cGUiOiAiY2F0ZWdvcnkiLAogICAgICAibmFtZSI6ICJDYXRlZ29yeSBDYXJkIiwKICAgICAgInNldHRpbmdzIjogWwogICAgICAgIHsKICAgICAgICAgICJ0eXBlIjogInNlbGVjdCIsCiAgICAgICAgICAiaWQiOiAiaWNvbiIsCiAgICAgICAgICAibGFiZWwiOiAiSWNvbiIsCiAgICAgICAgICAib3B0aW9ucyI6IFsKICAgICAgICAgICAgeyAidmFsdWUiOiAiYm93bCIsICAgICAibGFiZWwiOiAi8J+Nve+4jyBCb3dsIOKAlCBGZWVkaW5nIiAgICAgIH0sCiAgICAgICAgICAgIHsgInZhbHVlIjogInNjaXNzb3JzIiwgImxhYmVsIjogIuKcgu+4jyBTY2lzc29ycyDigJQgR3Jvb21pbmciICAgfSwKICAgICAgICAgICAgeyAidmFsdWUiOiAidG95IiwgICAgICAibGFiZWwiOiAi8J+OrCBUb3kg4oCUIEVudGVydGFpbm1lbnQiICAgfSwKICAgICAgICAgICAgeyAidmFsdWUiOiAicGF3IiwgICAgICAibGFiZWwiOiAi8J+QviBQYXcg4oCUIFRyYWluaW5nIiAgICAgICAgfSwKICAgICAgICAgICAgeyAidmFsdWUiOiAiY2FyIiwgICAgICAibGFiZWwiOiAi8J+alyBDYXIg4oCUIFRyYXZlbCIgICAgICAgICAgfSwKICAgICAgICAgICAgeyAidmFsdWUiOiAiaGVhcnQiLCAgICAibGFiZWwiOiAi4p2k77iPIEhlYXJ0IOKAlCBIZWFsdGgiICAgICAgICB9LAogICAgICAgICAgICB7ICJ2YWx1ZSI6ICJiYWciLCAgICAgICJsYWJlbCI6ICLwn5uN77iPIEJhZyDigJQgR2lmdHMiICAgICAgICAgICB9LAogICAgICAgICAgICB7ICJ2YWx1ZSI6ICJzdGFyIiwgICAgICJsYWJlbCI6ICLirZAgU3RhciDigJQgQmVzdCBTZWxsZXJzIiAgIH0KICAgICAgICAgIF0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJwYXciCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAidHlwZSI6ICJ0ZXh0IiwKICAgICAgICAgICJpZCI6ICJuYW1lIiwKICAgICAgICAgICJsYWJlbCI6ICJDYXRlZ29yeSBuYW1lIiwKICAgICAgICAgICJkZWZhdWx0IjogIkZlZWRpbmcgJiBIeWRyYXRpb24iCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAidHlwZSI6ICJ0ZXh0IiwKICAgICAgICAgICJpZCI6ICJjb3VudCIsCiAgICAgICAgICAibGFiZWwiOiAiUHJvZHVjdCBjb3VudCBsYWJlbCIsCiAgICAgICAgICAiZGVmYXVsdCI6ICI0IHByb2R1Y3RzIiwKICAgICAgICAgICJpbmZvIjogIkUuZy4gJzEyIHByb2R1Y3RzJyIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJ0eXBlIjogInVybCIsCiAgICAgICAgICAiaWQiOiAibGluayIsCiAgICAgICAgICAibGFiZWwiOiAiQ29sbGVjdGlvbiBsaW5rIgogICAgICAgIH0KICAgICAgXQogICAgfQogIF0sCiAgInByZXNldHMiOiBbCiAgICB7CiAgICAgICJuYW1lIjogIlBIIOKAlCBDYXRlZ29yaWVzIiwKICAgICAgImJsb2NrcyI6IFsKICAgICAgICB7CiAgICAgICAgICAidHlwZSI6ICJjYXRlZ29yeSIsCiAgICAgICAgICAic2V0dGluZ3MiOiB7CiAgICAgICAgICAgICJpY29uIjogImJvd2wiLAogICAgICAgICAgICAibmFtZSI6ICJGZWVkaW5nICYgSHlkcmF0aW9uIiwKICAgICAgICAgICAgImNvdW50IjogIjQgcHJvZHVjdHMiLAogICAgICAgICAgICAibGluayI6ICIvY29sbGVjdGlvbnMvZmVlZGluZy1oeWRyYXRpb24iCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAidHlwZSI6ICJjYXRlZ29yeSIsCiAgICAgICAgICAic2V0dGluZ3MiOiB7CiAgICAgICAgICAgICJpY29uIjogInNjaXNzb3JzIiwKICAgICAgICAgICAgIm5hbWUiOiAiR3Jvb21pbmcgJiBIeWdpZW5lIiwKICAgICAgICAgICAgImNvdW50IjogIjUgcHJvZHVjdHMiLAogICAgICAgICAgICAibGluayI6ICIvY29sbGVjdGlvbnMvZ3Jvb21pbmctaHlnaWVuZSIKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJ0eXBlIjogImNhdGVnb3J5IiwKICAgICAgICAgICJzZXR0aW5ncyI6IHsKICAgICAgICAgICAgImljb24iOiAidG95IiwKICAgICAgICAgICAgIm5hbWUiOiAiVG95cyAmIEVudGVydGFpbm1lbnQiLAogICAgICAgICAgICAiY291bnQiOiAiMyBwcm9kdWN0cyIsCiAgICAgICAgICAgICJsaW5rIjogIi9jb2xsZWN0aW9ucy90b3lzLWVudGVydGFpbm1lbnQiCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAidHlwZSI6ICJjYXRlZ29yeSIsCiAgICAgICAgICAic2V0dGluZ3MiOiB7CiAgICAgICAgICAgICJpY29uIjogInBhdyIsCiAgICAgICAgICAgICJuYW1lIjogIlRyYWluaW5nICYgRW5yaWNobWVudCIsCiAgICAgICAgICAgICJjb3VudCI6ICIzIHByb2R1Y3RzIiwKICAgICAgICAgICAgImxpbmsiOiAiL2NvbGxlY3Rpb25zL3RyYWluaW5nLWVucmljaG1lbnQiCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAidHlwZSI6ICJjYXRlZ29yeSIsCiAgICAgICAgICAic2V0dGluZ3MiOiB7CiAgICAgICAgICAgICJpY29uIjogImNhciIsCiAgICAgICAgICAgICJuYW1lIjogIlRyYXZlbCAmIE91dGRvb3IiLAogICAgICAgICAgICAiY291bnQiOiAiNCBwcm9kdWN0cyIsCiAgICAgICAgICAgICJsaW5rIjogIi9jb2xsZWN0aW9ucy90cmF2ZWwtb3V0ZG9vciIKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJ0eXBlIjogImNhdGVnb3J5IiwKICAgICAgICAgICJzZXR0aW5ncyI6IHsKICAgICAgICAgICAgImljb24iOiAiaGVhcnQiLAogICAgICAgICAgICAibmFtZSI6ICJIZWFsdGggJiBXZWxsbmVzcyIsCiAgICAgICAgICAgICJjb3VudCI6ICIzIHByb2R1Y3RzIiwKICAgICAgICAgICAgImxpbmsiOiAiL2NvbGxlY3Rpb25zL2hlYWx0aC13ZWxsbmVzcyIKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIF0KICAgIH0KICBdCn0KeyUgZW5kc2NoZW1hICV9Cg==
PAWHAPPINESS
EST. 2024
10K+
Happy Pets

Our Story

Made with love. For the ones who give it back.

PawHappiness was born from a simple belief β€” that our pets deserve the same love, care and quality we’d give ourselves.

Read Our Full Story

What our customers say

Loved by pets & their people

4.9 from 1,200+ reviews

Join the pack

Get 15% off your first order

Plus exclusive pet care tips, new arrivals, and members-only deals delivered straight to your inbox.

By subscribing you agree to our Privacy Policy. No spam, unsubscribe anytime.