CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3aC12aWRlby1ncmlkIj4KCiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvYWQtbW9yZS13cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJsb2FkaW5nLWFuaW1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9ImxvYWRpbmctYW5pbWF0aW9uIiB0aXRsZT0iV2ViZXJIYXVzIExvZ28gTGFkZS1BbmltYXRpb24iIGFsdD0iV2ViZXJIYXVzIExvZ28gTGFkZS1BbmltYXRpb24iIHNyYz0iL3R5cG8zY29uZi9leHQvd2hfdGVtcGxhdGUvUmVzb3VyY2VzL1B1YmxpYy9JbWFnZXMvZ2lmX1dlYmVySGF1cy1pY29uLWxvYWRpbmcuZ2lmIiB3aWR0aD0iODAiIGhlaWdodD0iODAiIC8+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBpZD0ibG9hZC1tb3JlLWJ0biIgY2xhc3M9ImxvYWQtbW9yZS1idG4iIHRpdGxlPSJNZWhyIFZpZGVvcyBsYWRlbiIgYXJpYS1sYWJlbD0iTWVociBWaWRlb3MgbGFkZW4iPgogICAgICAgICAgICAgICAgICAgICAgICBNZWhyCiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9IjI0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMjQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD0iMCAwIDI0IDI0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPSJjdXJyZW50Q29sb3IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPSIyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49InJvdW5kIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxzY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgKGZ1bmN0aW9uKCQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbGV0IEFQSV9VUkwgPSAiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20veW91dHViZS92My9zZWFyY2g/cGFydD1zbmlwcGV0JnE9d2ViZXJoYXVzJnR5cGU9dmlkZW8mdmlkZW9DYXB0aW9uPWFueSZ2aWRlb0RlZmluaXRpb249YW55JnZpZGVvRGltZW5zaW9uPWFueSZ2aWRlb0R1cmF0aW9uPWFueSZ2aWRlb0VtYmVkZGFibGU9YW55JnZpZGVvTGljZW5zZT1hbnkmdmlkZW9TeW5kaWNhdGVkPWFueSZ2aWRlb1R5cGU9YW55JmtleT1BSXphU3lBTFBjZTFDWVF2TlI0V0x0WG9kNUZWMVFDQlo2OXkyTFEmbWF4UmVzdWx0cz02JmNoYW5uZWxJZD1VQzJCYWR2UmJHTU1OcmdsajZmTEV0Tncmb3JkZXI9ZGF0ZSI7CgogICAgICAgICAgICAgICAgICAgICAgICBsZXQgJHZpZGVvR3JpZCA9ICQoIi53aC12aWRlby1ncmlkIik7CiAgICAgICAgICAgICAgICAgICAgICAgIGxldCAkbG9hZE1vcmVCdXR0b24gPSAkKCIud2gtdmlkZW8tZ3JpZC1jb250YWluZXIgLmxvYWQtbW9yZS1idG4iKTsKICAgICAgICAgICAgICAgICAgICAgICAgbGV0ICRsb2FkaW5nQW5pbWF0aW9uID0gJCgiLndoLXZpZGVvLWdyaWQtY29udGFpbmVyICNsb2FkaW5nLWFuaW1hdGlvbiIpOwoKICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHBlbmRpbmcgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG5leHRQYWdlVG9rZW4gPSBudWxsOwoKICAgICAgICAgICAgICAgICAgICAgICAgJChkb2N1bWVudCkucmVhZHkoaW5pdGlhbGl6ZSk7CgogICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBpbml0aWFsaXplKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkTGlzdGVuZXJzKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZXRjaFZpZGVvRGF0YSgpOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBhZGRMaXN0ZW5lcnMoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbG9hZE1vcmVCdXR0b24ub24oImNsaWNrIiwgaGFuZGxlTG9hZE1vcmVCdXR0b25DbGljayk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGhhbmRsZUxvYWRNb3JlQnV0dG9uQ2xpY2soKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocGVuZGluZyA9PT0gdHJ1ZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZW5kaW5nID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVMb2FkTW9yZUJ1dHRvbigpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd0xvYWRpbmdBbmltYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZldGNoVmlkZW9EYXRhKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGZldGNoVmlkZW9EYXRhKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGFqYXhDb25maWd1cmF0aW9uID0gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAianNvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBBUElfVVJMLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGJ1aWxkVmlkZW9HcmlkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5leHRQYWdlVG9rZW4pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhamF4Q29uZmlndXJhdGlvbi5kYXRhID0ge3BhZ2VUb2tlbjogbmV4dFBhZ2VUb2tlbn07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJC5hamF4KGFqYXhDb25maWd1cmF0aW9uKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gYnVpbGRWaWRlb0dyaWQoanNvbkRhdGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVMb2FkaW5nQW5pbWF0aW9uKCk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG4gPSBqc29uRGF0YS5pdGVtcy5sZW5ndGg7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgY3VycmVudEl0ZW07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgY3VycmVudFZpZGVvSWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdmlkZW9Db250YWluZXI7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50SXRlbSA9IGpzb25EYXRhLml0ZW1zW2ldOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRWaWRlb0lkID0gY3VycmVudEl0ZW0uaWQudmlkZW9JZDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWRlb0NvbnRhaW5lciA9IGJ1aWxkVmlkZW9Db250YWluZXIoY3VycmVudFZpZGVvSWQpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdmlkZW9HcmlkLmFwcGVuZCh2aWRlb0NvbnRhaW5lcik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tMb2FkTW9yZUJ1dHRvblN0YXRlKGpzb25EYXRhKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZW5kaW5nID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGJ1aWxkVmlkZW9Db250YWluZXIodmlkZW9JZCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGh0bWwgPSAnPGRpdiBjbGFzcz0id2gtdmlkZW8tY29udGFpbmVyIj4nOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0bWwgKz0gJzxpZnJhbWUgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLW5vY29va2llLmNvbS9lbWJlZC8nICsgdmlkZW9JZCArICciPjwvaWZyYW1lPic7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBodG1sICs9ICc8L2Rpdj4nOyAvLyAud2gtdmlkZW8tY29udGFpbmVyCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGh0bWw7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNoZWNrTG9hZE1vcmVCdXR0b25TdGF0ZShqc29uRGF0YSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGpzb25EYXRhLm5leHRQYWdlVG9rZW4pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXh0UGFnZVRva2VuID0ganNvbkRhdGEubmV4dFBhZ2VUb2tlbjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93TG9hZE1vcmVCdXR0b24oKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dFBhZ2VUb2tlbiA9IG51bGw7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZUxvYWRNb3JlQnV0dG9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHNob3dMb2FkTW9yZUJ1dHRvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsb2FkTW9yZUJ1dHRvbi5jc3MoImRpc3BsYXkiLCAiZmxleCIpOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBoaWRlTG9hZE1vcmVCdXR0b24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbG9hZE1vcmVCdXR0b24uaGlkZSgpOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBzaG93TG9hZGluZ0FuaW1hdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsb2FkaW5nQW5pbWF0aW9uLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gaGlkZUxvYWRpbmdBbmltYXRpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbG9hZGluZ0FuaW1hdGlvbi5oaWRlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KShqUXVlcnkpOwogICAgICAgICAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgICAgIA==
Mit Klick auf Video laden willige ich in die Verarbeitung meiner Daten durch YouTube ein. Diese Einwilligung kann jederzeit mit Wirkung für die Zukunft widerrufen werden. Weitere Informationen können unserer Datenschutzerklärung entnommen werden.