mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-11-03 12:17:03 +00:00
* fix(catalog): match preview length to authored compositions * fix(catalog): derive undeclared preview duration from motion
1 line
21 KiB
JSON
1 line
21 KiB
JSON
{"html":"<!doctype html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=1920, height=1080\" />\n <script src=\"https://cdn.jsdelivr.net/npm/gsap@3.14.2/dist/gsap.min.js\"></script>\n <style>* { margin: 0; padding: 0; } html, body { width: 1920px; height: 1080px; overflow: hidden; background: #0a0a0a; }\n [data-composition-src] { inset: 0; display: grid; place-items: center stretch; box-sizing: border-box; padding: 98px; }</style>\n</head>\n<body>\n <div data-composition-id=\"preview-root\" data-width=\"1920\" data-height=\"1080\" data-start=\"0\" data-duration=\"4.8\" data-hf-theme=\"dark\">\n <div data-composition-id=\"agent-cursor\" data-composition-src=\"data:text/html;base64,PCFkb2N0eXBlIGh0bWw+CjwhLS0KICBBZ2VudCBDdXJzb3IgKGFjdG9yIHByaW1pdGl2ZSksIG1vdW50YWJsZSBzdWItY29tcG9zaXRpb24KCiAgY29uY2VwdDogYW4gQUkgYWdlbnQgb3BlcmF0aW5nIGEgVUkuIFRoZSBjdXJzb3IgY2FycmllcyBhbiBhY2NlbnQgbmFtZSBsYWJlbCB0aGF0IHR5cGVzCiAgb3V0IHdoYXQgdGhlIGFnZW50IGlzIGRvaW5nLCB0aGVuIHRoZSBjdXJzb3IgbW92ZXMgdG8gZWFjaCB0YXJnZXQgYW5kIGNsaWNrcyB3aXRoIGEKICBzbWFsbCByaW5nLiBUaGUgbGFiZWwgc2xpZGVzIHRvIHRoZSB0aXAncyBsZWZ0IG9uIHRoZSByaWdodCBvZiB0aGUgZnJhbWUuIFRoZSBsYXN0IHN0ZXAgc2hvd3MgYSBjaGVjay4KCiAgbW91bnQgY29udHJhY3Q6IGxvYWRlZCBieSBhIGhvc3QgdGhyb3VnaCBkYXRhLWNvbXBvc2l0aW9uLXNyYzsgb25seSA8dGVtcGxhdGU+IGlzCiAgY2xvbmVkLiAjcm9vdCBmaWxscyB0aGUgaG9zdCBjbGlwIChpbnNldDowKS4gU2VlIGRlbW8uaHRtbC4KCiAgdmFyaWFibGVzOgogICAgYWdlbnRfbmFtZSAoc3RyaW5nKSAgIHRoZSBuYW1lIG9uIHRoZSB0YWcKICAgIHN0ZXBzIChzdHJpbmcpICAgICAgICBjb21tYS1zZXBhcmF0ZWQ6IGEgcmVhZGluZyBsaW5lLCBvbmUgbGluZSBwZXIgdGFyZ2V0LCBhIGRvbmUgbGluZQogICAgdGFyZ2V0cyAoc3RyaW5nKSAgICAgIHNlbWljb2xvbi1zZXBhcmF0ZWQgIngseSIgY2xpY2sgcG9pbnRzIGluICUgb2YgdGhlIGhvc3QgYm94CiAgICBhY2NlbnQgKGNvbG9yKSAgICAgICAgbGFiZWwgZmlsbCBhbmQgY2xpY2sgcmluZyBjb2xvcgoKICBlbnZlbG9wZSAoZGVmYXVsdCA0LjhzLCB0d28gdGFyZ2V0cyk6IGVudGVyIGFuZCByZWFkIDAtMC45NXMsIHRoZW4gcGVyIHRhcmdldCAxLjM1cwogICh0eXBlIDAuMzVzLCBtb3ZlIDAuNXMsIGR3ZWxsIDAuMnMsIGNsaWNrKSwgZG9uZSBsaW5lLCBleGl0IGluIHRoZSBsYXN0IDAuNXMuCi0tPgo8aHRtbAogIGxhbmc9ImVuIgogIGRhdGEtY29tcG9zaXRpb24taWQ9ImFnZW50LWN1cnNvciIKICBkYXRhLWNvbXBvc2l0aW9uLWR1cmF0aW9uPSI0LjgiCiAgZGF0YS1jb21wb3NpdGlvbi12YXJpYWJsZXM9J1sKICAgIHsgImlkIjogImFnZW50X25hbWUiLCAidHlwZSI6ICJzdHJpbmciLCAicm9sZSI6ICJjb250ZW50IiwgImxhYmVsIjogIkFnZW50IG5hbWUiLCAiZGVmYXVsdCI6ICJBZ2VudCIgfSwKICAgIHsgImlkIjogInN0ZXBzIiwgInR5cGUiOiAic3RyaW5nIiwgInJvbGUiOiAiY29udGVudCIsICJsYWJlbCI6ICJTdGF0dXMgc3RlcHMiLCAiZGVzY3JpcHRpb24iOiAiQ29tbWEtc2VwYXJhdGVkOiBhIHJlYWRpbmcgbGluZSwgb25lIGxpbmUgcGVyIHRhcmdldCwgdGhlbiBhIGRvbmUgbGluZS4iLCAiZGVmYXVsdCI6ICJSZWFkaW5nIHRoZSBwYWdlLE9wZW5pbmcgU2V0dGluZ3MsVHVybmluZyBvbiBiYWNrdXBzLERvbmUiIH0sCiAgICB7ICJpZCI6ICJ0YXJnZXRzIiwgInR5cGUiOiAic3RyaW5nIiwgInJvbGUiOiAibGF5b3V0IiwgImxhYmVsIjogIkNsaWNrIHRhcmdldHMiLCAiZGVzY3JpcHRpb24iOiAiU2VtaWNvbG9uLXNlcGFyYXRlZCB4LHkgcG9pbnRzIGluIHBlcmNlbnQgb2YgdGhlIGZyYW1lLiIsICJkZWZhdWx0IjogIjI1LDQ3Ozc2LDMwIiB9LAogICAgeyAiaWQiOiAiYWNjZW50IiwgInR5cGUiOiAiY29sb3IiLCAicm9sZSI6ICJzdHlsZSIsICJsYWJlbCI6ICJBY2NlbnQiLCAiZGVmYXVsdCI6ICIjMGE4NGZmIiB9CiAgXScKPgogIDxoZWFkPgogICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiIC8+CiAgICA8dGl0bGU+QWdlbnQgQ3Vyc29yPC90aXRsZT4KICA8L2hlYWQ+CiAgPGJvZHk+CiAgICA8dGVtcGxhdGU+CiAgICAgIDxzdHlsZT4KICAgICAgICAjcm9vdCB7CiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICBpbnNldDogMDsKICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgICBpc29sYXRpb246IGlzb2xhdGU7CiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICAgIGNvbnRhaW5lci10eXBlOiBzaXplOwogICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9keSwgSW50ZXIsIHN5c3RlbS11aSwgc2Fucy1zZXJpZik7CiAgICAgICAgICAtLWFnLWFjY2VudDogIzBhODRmZjsKICAgICAgICB9CiAgICAgICAgLmFnLWFjdG9yIHsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIGxlZnQ6IDA7CiAgICAgICAgICB0b3A6IDA7CiAgICAgICAgICB3aWR0aDogMDsKICAgICAgICAgIGhlaWdodDogMDsKICAgICAgICB9CiAgICAgICAgLmFnLWFycm93IHsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlOwogICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMjAuODMzJSAxMi41JTsKICAgICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAzcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4zKSk7CiAgICAgICAgfQogICAgICAgIC5hZy1hcnJvdyBwYXRoIHsKICAgICAgICAgIGZpbGw6ICNmZmZmZmY7CiAgICAgICAgICBzdHJva2U6ICMxNDE0MTQ7CiAgICAgICAgICBzdHJva2Utd2lkdGg6IDEuNDsKICAgICAgICAgIHN0cm9rZS1saW5lam9pbjogcm91bmQ7CiAgICAgICAgfQogICAgICAgIC5hZy1yaW5nIHsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIGxlZnQ6IDA7CiAgICAgICAgICB0b3A6IDA7CiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1hZy1hY2NlbnQpOwogICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB9CiAgICAgICAgLmFnLXRhZyB7CiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICBsZWZ0OiAwOwogICAgICAgICAgdG9wOiAwOwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBnYXA6IDAuNWNxdzsKICAgICAgICAgIHBhZGRpbmc6IDAuNDVjcXcgMC43NWNxdyAwLjQ1Y3F3IDAuNmNxdzsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuM2NxdzsKICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWFnLWFjY2VudCk7CiAgICAgICAgICBib3gtc2hhZG93OiAwIDAuMmNxdyAwLjVjcXcgcmdiYSgwLCAwLCAwLCAwLjIyKTsKICAgICAgICAgIGZvbnQtc2l6ZTogMS4xNWNxdzsKICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIH0KICAgICAgICAuYWctbWFyayB7CiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICB3aWR0aDogMWNxdzsKICAgICAgICAgIGhlaWdodDogMWNxdzsKICAgICAgICAgIGZsZXg6IG5vbmU7CiAgICAgICAgfQogICAgICAgIC5hZy1kb3QsCiAgICAgICAgLmFnLWNoZWNrIHsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIGluc2V0OiAwOwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjsKICAgICAgICB9CiAgICAgICAgLmFnLWNoZWNrIHsKICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgfQogICAgICAgIC5hZy1jaGVjayBzdmcgewogICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgaW5zZXQ6IDE4JTsKICAgICAgICAgIGZpbGw6IG5vbmU7CiAgICAgICAgICBzdHJva2U6IHZhcigtLWFnLWFjY2VudCk7CiAgICAgICAgICBzdHJva2Utd2lkdGg6IDMuMjsKICAgICAgICAgIHN0cm9rZS1saW5lY2FwOiByb3VuZDsKICAgICAgICAgIHN0cm9rZS1saW5lam9pbjogcm91bmQ7CiAgICAgICAgfQogICAgICAgIC5hZy1uYW1lIHsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICB9CiAgICAgICAgLmFnLXNlcCB7CiAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpOwogICAgICAgIH0KICAgICAgICAuYWctc3RhdHVzIHsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CgogICAgICA8ZGl2IGlkPSJyb290IiBkYXRhLWNvbXBvc2l0aW9uLWlkPSJhZ2VudC1jdXJzb3IiIGRhdGEtZHVyYXRpb249IjQuOCI+CiAgICAgICAgPGRpdiBjbGFzcz0iYWctdGFnIiBpZD0iYWctdGFnIj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJhZy1tYXJrIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFnLWRvdCIgaWQ9ImFnLWRvdCI+PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iYWctY2hlY2siIGlkPSJhZy1jaGVjayI+CiAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik01IDEyLjVsNC41IDQuNUwxOSA3LjUiIC8+PC9zdmc+CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJhZy1uYW1lIiBpZD0iYWctbmFtZSI+PC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImFnLXNlcCI+wrc8L3NwYW4+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iYWctc3RhdHVzIiBpZD0iYWctc3RhdHVzIj48L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYWctcmluZyIgaWQ9ImFnLXJpbmciPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImFnLWFjdG9yIiBpZD0iYWctYWN0b3IiPgogICAgICAgICAgPHN2ZyBjbGFzcz0iYWctYXJyb3ciIGlkPSJhZy1hcnJvdyIgdmlld0JveD0iMCAwIDI0IDI0IiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik01IDMgTDUgMTkgTDkgMTUgTDEyIDIyIEwxNSAyMC41IEwxMS41IDE0IEwxOCAxNCBaIiAvPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPHNjcmlwdD4KICAgICAgICAoZnVuY3Rpb24gKCkgewogICAgICAgICAgInVzZSBzdHJpY3QiOwoKICAgICAgICAgIHZhciBodG1sID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50OwogICAgICAgICAgdmFyIHJvb3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicm9vdCIpOwogICAgICAgICAgdmFyIGFjdG9yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFnLWFjdG9yIik7CiAgICAgICAgICB2YXIgYXJyb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWctYXJyb3ciKTsKICAgICAgICAgIHZhciByaW5nID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFnLXJpbmciKTsKICAgICAgICAgIHZhciB0YWcgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWctdGFnIik7CiAgICAgICAgICB2YXIgc3RhdHVzRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWctc3RhdHVzIik7CiAgICAgICAgICB2YXIgZG90ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFnLWRvdCIpOwogICAgICAgICAgdmFyIGNoZWNrID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFnLWNoZWNrIik7CgogICAgICAgICAgdmFyIERFRkFVTFRTID0ge307CiAgICAgICAgICB0cnkgewogICAgICAgICAgICBKU09OLnBhcnNlKGh0bWwuZ2V0QXR0cmlidXRlKCJkYXRhLWNvbXBvc2l0aW9uLXZhcmlhYmxlcyIpIHx8ICJbXSIpLmZvckVhY2goCiAgICAgICAgICAgICAgZnVuY3Rpb24gKHZhcmlhYmxlKSB7CiAgICAgICAgICAgICAgICBERUZBVUxUU1t2YXJpYWJsZS5pZF0gPSB2YXJpYWJsZS5kZWZhdWx0OwogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICk7CiAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAvKiBtYWxmb3JtZWQgZGVjbGFyYXRpb24gZmFsbHMgYmFjayB0byB0aGUgaW5saW5lIGRlZmF1bHRzIGJlbG93ICovCiAgICAgICAgICB9CiAgICAgICAgICB2YXIgc2NvcGVkVmFyaWFibGVzID0ge307CiAgICAgICAgICB0cnkgewogICAgICAgICAgICBpZiAod2luZG93Ll9faHlwZXJmcmFtZXMgJiYgdHlwZW9mIHdpbmRvdy5fX2h5cGVyZnJhbWVzLmdldFZhcmlhYmxlcyA9PT0gImZ1bmN0aW9uIikgewogICAgICAgICAgICAgIHNjb3BlZFZhcmlhYmxlcyA9IHdpbmRvdy5fX2h5cGVyZnJhbWVzLmdldFZhcmlhYmxlcygpIHx8IHt9OwogICAgICAgICAgICB9CiAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAvKiBubyBzY29wZWQgdmFyaWFibGVzIEFQSSBpbiB0aGlzIGNvbnRleHQgKi8KICAgICAgICAgIH0KICAgICAgICAgIHZhciB2YXJzID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVFMsIHdpbmRvdy5fX2hmVmFyaWFibGVzIHx8IHt9LCBzY29wZWRWYXJpYWJsZXMpOwoKICAgICAgICAgIC8vIEhhcmRjb2RlZDogdGhlIGNvbXBvc2l0b3IgcmV3cml0ZXMgdGhlIHdyYXBwZXIncyBhdHRyaWJ1dGVzIG9uIG1vdW50LgogICAgICAgICAgdmFyIGNvbXBvc2l0aW9uSWQgPSAiYWdlbnQtY3Vyc29yIjsKICAgICAgICAgIHZhciBkdXJhdGlvbiA9IE1hdGgubWF4KAogICAgICAgICAgICAwLjAwMSwKICAgICAgICAgICAgcGFyc2VGbG9hdCgKICAgICAgICAgICAgICByb290LmRhdGFzZXQuZHVyYXRpb24gfHwgaHRtbC5nZXRBdHRyaWJ1dGUoImRhdGEtY29tcG9zaXRpb24tZHVyYXRpb24iKSB8fCAiNC44IiwKICAgICAgICAgICAgKSwKICAgICAgICAgICk7CiAgICAgICAgICB2YXIgVyA9IHJvb3QuY2xpZW50V2lkdGggfHwgMTkyMDsKICAgICAgICAgIHZhciBIID0gcm9vdC5jbGllbnRIZWlnaHQgfHwgMTA4MDsKICAgICAgICAgIHZhciBBUlJPVyA9IDY0ICogKFcgLyAxOTIwKTsKICAgICAgICAgIGFycm93LnN0eWxlLndpZHRoID0gYXJyb3cuc3R5bGUuaGVpZ2h0ID0gQVJST1cgKyAicHgiOwogICAgICAgICAgYXJyb3cuc3R5bGUubGVmdCA9ICgtNSAvIDI0KSAqIEFSUk9XICsgInB4IjsKICAgICAgICAgIGFycm93LnN0eWxlLnRvcCA9ICgtMyAvIDI0KSAqIEFSUk9XICsgInB4IjsKICAgICAgICAgIHZhciBhY2NlbnQgPSAvXiNbMC05YS1mXXszLDh9JC9pLnRlc3QoU3RyaW5nKHZhcnMuYWNjZW50KSkgPyB2YXJzLmFjY2VudCA6ICIjMGE4NGZmIjsKICAgICAgICAgIHJvb3Quc3R5bGUuc2V0UHJvcGVydHkoIi0tYWctYWNjZW50IiwgYWNjZW50KTsKICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhZy1uYW1lIikudGV4dENvbnRlbnQgPSBTdHJpbmcodmFycy5hZ2VudF9uYW1lIHx8ICJBZ2VudCIpOwoKICAgICAgICAgIHZhciBzdGVwcyA9IFN0cmluZyh2YXJzLnN0ZXBzIHx8ICIiKQogICAgICAgICAgICAuc3BsaXQoIiwiKQogICAgICAgICAgICAubWFwKGZ1bmN0aW9uIChzKSB7CiAgICAgICAgICAgICAgcmV0dXJuIHMudHJpbSgpOwogICAgICAgICAgICB9KQogICAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pOwogICAgICAgICAgdmFyIHRhcmdldHMgPSBTdHJpbmcodmFycy50YXJnZXRzIHx8ICIiKQogICAgICAgICAgICAuc3BsaXQoIjsiKQogICAgICAgICAgICAubWFwKGZ1bmN0aW9uIChwYWlyKSB7CiAgICAgICAgICAgICAgdmFyIHh5ID0gcGFpci5zcGxpdCgiLCIpLm1hcChOdW1iZXIpOwogICAgICAgICAgICAgIHJldHVybiB7IHg6ICh4eVswXSAvIDEwMCkgKiBXLCB5OiAoeHlbMV0gLyAxMDApICogSCB9OwogICAgICAgICAgICB9KQogICAgICAgICAgICAuZmlsdGVyKGZ1bmN0aW9uIChwKSB7CiAgICAgICAgICAgICAgcmV0dXJuIGlzRmluaXRlKHAueCkgJiYgaXNGaW5pdGUocC55KTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICBpZiAoIXRhcmdldHMubGVuZ3RoKSB0YXJnZXRzID0gW3sgeDogMC41ICogVywgeTogMC41ICogSCB9XTsKICAgICAgICAgIGlmICghc3RlcHMubGVuZ3RoKSBzdGVwcyA9IFsiV29ya2luZyJdOwogICAgICAgICAgZnVuY3Rpb24gc3RlcFRleHQoaSkgewogICAgICAgICAgICByZXR1cm4gc3RlcHNbTWF0aC5taW4oaSwgc3RlcHMubGVuZ3RoIC0gMSldOwogICAgICAgICAgfQoKICAgICAgICAgIC8vIEJlYXRzIGF0IHRoZSBkZWZhdWx0IGR1cmF0aW9uOyBhIHNob3J0ZXIgY29tcG9zaXRpb24gY29tcHJlc3NlcyB0aGVtIGV2ZW5seS4KICAgICAgICAgIHZhciBCRUFUID0gMS4zNTsKICAgICAgICAgIHZhciBuZWVkZWQgPSAwLjk1ICsgdGFyZ2V0cy5sZW5ndGggKiBCRUFUICsgMC42NSArIDAuNTsKICAgICAgICAgIHZhciBrID0gTWF0aC5taW4oMSwgZHVyYXRpb24gLyBuZWVkZWQpOwogICAgICAgICAgdmFyIFRfRU5URVIgPSAwLjU1ICogazsKICAgICAgICAgIHZhciBUX1JFQURfRU5EID0gMC45NSAqIGs7CiAgICAgICAgICB2YXIgYmVhdHMgPSB0YXJnZXRzLm1hcChmdW5jdGlvbiAocCwgaSkgewogICAgICAgICAgICB2YXIgdHlwZSA9IFRfUkVBRF9FTkQgKyBpICogQkVBVCAqIGs7CiAgICAgICAgICAgIHZhciBtb3ZlID0gdHlwZSArIDAuMzUgKiBrOwogICAgICAgICAgICByZXR1cm4geyB0eXBlOiB0eXBlLCBtb3ZlOiBtb3ZlLCBsYW5kOiBtb3ZlICsgMC41ICogaywgY2xpY2s6IG1vdmUgKyAwLjcgKiBrLCB0bzogcCB9OwogICAgICAgICAgfSk7CiAgICAgICAgICB2YXIgVF9ET05FID0gVF9SRUFEX0VORCArIHRhcmdldHMubGVuZ3RoICogQkVBVCAqIGs7CiAgICAgICAgICB2YXIgVF9FWElUID0gTWF0aC5tYXgoVF9ET05FICsgMC40ICogaywgZHVyYXRpb24gLSAwLjUgKiBrKTsKCiAgICAgICAgICB2YXIgZmlyc3QgPSB0YXJnZXRzWzBdOwogICAgICAgICAgdmFyIFJFQURfQSA9IHsgeDogKDAuNSAqIFcgKyBmaXJzdC54KSAvIDIgLSAwLjAzICogVywgeTogKDAuNSAqIEggKyBmaXJzdC55KSAvIDIgfTsKICAgICAgICAgIHZhciBSRUFEX0IgPSB7IHg6IFJFQURfQS54ICsgMC4wNiAqIFcsIHk6IFJFQURfQS55ICsgMC4wMSAqIEggfTsKICAgICAgICAgIHZhciBTVEFSVCA9IHsgeDogMS4wOCAqIFcsIHk6IDEuMTUgKiBIIH07CiAgICAgICAgICB2YXIgRU5EID0geyB4OiAxLjEgKiBXLCB5OiAxLjIgKiBIIH07CgogICAgICAgICAgZnVuY3Rpb24gY2xhbXAwMSh1KSB7CiAgICAgICAgICAgIHJldHVybiB1IDwgMCA/IDAgOiB1ID4gMSA/IDEgOiB1OwogICAgICAgICAgfQogICAgICAgICAgdmFyIGVudGVyID0gZ3NhcC5wYXJzZUVhc2UoInBvd2VyMy5vdXQiKTsKICAgICAgICAgIHZhciByZWFkaW5nID0gZ3NhcC5wYXJzZUVhc2UoInNpbmUuaW5PdXQiKTsKICAgICAgICAgIHZhciBzd2FwID0gZ3NhcC5wYXJzZUVhc2UoInBvd2VyMi5pbk91dCIpOwogICAgICAgICAgdmFyIGZhZGUgPSBnc2FwLnBhcnNlRWFzZSgicG93ZXIyLm91dCIpOwogICAgICAgICAgdmFyIGxlYXZlID0gZ3NhcC5wYXJzZUVhc2UoInBvd2VyMi5pbiIpOwogICAgICAgICAgdmFyIHBvcCA9IGdzYXAucGFyc2VFYXNlKCJiYWNrLm91dCgyLjQpIik7CiAgICAgICAgICBmdW5jdGlvbiBsZXJwKGEsIGIsIHUpIHsKICAgICAgICAgICAgcmV0dXJuIHsgeDogYS54ICsgKGIueCAtIGEueCkgKiB1LCB5OiBhLnkgKyAoYi55IC0gYS55KSAqIHUgfTsKICAgICAgICAgIH0KICAgICAgICAgIGZ1bmN0aW9uIGJlbnQoYSwgYiwgdSkgewogICAgICAgICAgICB2YXIgcCA9IGxlcnAoYSwgYiwgdSk7CiAgICAgICAgICAgIHZhciBsaWZ0ID0gTWF0aC5zaW4oTWF0aC5QSSAqIHUpICogMC4xMjsKICAgICAgICAgICAgcmV0dXJuIHsgeDogcC54IC0gKGIueSAtIGEueSkgKiBsaWZ0LCB5OiBwLnkgKyAoYi54IC0gYS54KSAqIGxpZnQgfTsKICAgICAgICAgIH0KCiAgICAgICAgICBmdW5jdGlvbiBwb3NpdGlvbkF0KHQpIHsKICAgICAgICAgICAgaWYgKHQgPD0gVF9FTlRFUikgcmV0dXJuIGxlcnAoU1RBUlQsIFJFQURfQSwgZW50ZXIoY2xhbXAwMSh0IC8gVF9FTlRFUikpKTsKICAgICAgICAgICAgaWYgKHQgPD0gVF9SRUFEX0VORCkKICAgICAgICAgICAgICByZXR1cm4gbGVycChSRUFEX0EsIFJFQURfQiwgcmVhZGluZyhjbGFtcDAxKCh0IC0gVF9FTlRFUikgLyAoVF9SRUFEX0VORCAtIFRfRU5URVIpKSkpOwogICAgICAgICAgICB2YXIgZnJvbSA9IFJFQURfQjsKICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiZWF0cy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgIHZhciBiID0gYmVhdHNbaV07CiAgICAgICAgICAgICAgaWYgKHQgPD0gYi5tb3ZlKSByZXR1cm4gZnJvbTsKICAgICAgICAgICAgICBpZiAodCA8PSBiLmxhbmQpIHJldHVybiBiZW50KGZyb20sIGIudG8sIGVudGVyKCh0IC0gYi5tb3ZlKSAvIChiLmxhbmQgLSBiLm1vdmUpKSk7CiAgICAgICAgICAgICAgZnJvbSA9IGIudG87CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKHQgPD0gVF9FWElUKSByZXR1cm4gZnJvbTsKICAgICAgICAgICAgcmV0dXJuIGxlcnAoZnJvbSwgRU5ELCBsZWF2ZShjbGFtcDAxKCh0IC0gVF9FWElUKSAvIChkdXJhdGlvbiAtIFRfRVhJVCkpKSk7CiAgICAgICAgICB9CgogICAgICAgICAgLy8gMSB3aGVuIHRoZSB0YWcgYmVsb25ncyBsZWZ0IG9mIHRoZSB0aXAsIGp1ZGdlZCBhdCB0aGUgcG9zZSB0aGUgdGlwIGlzIGhlYWRpbmcgdG8uCiAgICAgICAgICBmdW5jdGlvbiBsZWZ0QXQodCkgewogICAgICAgICAgICB2YXIgYXQgPSBNYXRoLm1pbihNYXRoLm1heCh0LCBUX0VOVEVSKSwgVF9FWElUKTsKICAgICAgICAgICAgYmVhdHMuZm9yRWFjaChmdW5jdGlvbiAoYikgewogICAgICAgICAgICAgIGlmIChhdCA+IGIubW92ZSAmJiBhdCA8IGIubGFuZCkgYXQgPSBiLmxhbmQ7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICByZXR1cm4gcG9zaXRpb25BdChhdCkueCA+IDAuNiAqIFcgPyAxIDogMDsKICAgICAgICAgIH0KICAgICAgICAgIC8vIEF2ZXJhZ2luZyB0aGUgc2lkZSBvdmVyIHRoZSBsYXN0IDAuMyBzIHR1cm5zIGVhY2ggZmxpcCBpbnRvIGEgc2Vlay1zYWZlIHNsaWRlLgogICAgICAgICAgZnVuY3Rpb24gZmxpcEF0KHQpIHsKICAgICAgICAgICAgdmFyIG4gPSAwOwogICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDMwOyBpKyspIG4gKz0gbGVmdEF0KHQgLSBpICogMC4wMSAqIGspOwogICAgICAgICAgICByZXR1cm4gc3dhcChuIC8gMzApOwogICAgICAgICAgfQoKICAgICAgICAgIGZ1bmN0aW9uIHN0YXR1c0F0KHQpIHsKICAgICAgICAgICAgdmFyIGluZGV4ID0gMDsKICAgICAgICAgICAgdmFyIHNpbmNlID0gdDsKICAgICAgICAgICAgYmVhdHMuZm9yRWFjaChmdW5jdGlvbiAoYiwgaSkgewogICAgICAgICAgICAgIGlmICh0ID49IGIudHlwZSkgewogICAgICAgICAgICAgICAgaW5kZXggPSBpICsgMTsKICAgICAgICAgICAgICAgIHNpbmNlID0gdCAtIGIudHlwZTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBpZiAodCA+PSBUX0RPTkUpIHsKICAgICAgICAgICAgICBpbmRleCA9IGJlYXRzLmxlbmd0aCArIDE7CiAgICAgICAgICAgICAgc2luY2UgPSB0IC0gVF9ET05FOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciB0ZXh0ID0gc3RlcFRleHQoaW5kZXgpOwogICAgICAgICAgICB2YXIgdHlwZUR1ciA9IE1hdGgubWluKDAuMywgdGV4dC5sZW5ndGggKiAwLjAyMikgKiBrOwogICAgICAgICAgICB2YXIgc2hvd24gPSBNYXRoLmZsb29yKGNsYW1wMDEoc2luY2UgLyB0eXBlRHVyKSAqIHRleHQubGVuZ3RoKTsKICAgICAgICAgICAgcmV0dXJuIHRleHQuc2xpY2UoMCwgTWF0aC5tYXgoaW5kZXggPT09IDAgPyAwIDogMSwgc2hvd24pKTsKICAgICAgICAgIH0KCiAgICAgICAgICBmdW5jdGlvbiBwcmVzcyh0KSB7CiAgICAgICAgICAgIHZhciBkZXB0aCA9IDA7CiAgICAgICAgICAgIGJlYXRzLmZvckVhY2goZnVuY3Rpb24gKGIpIHsKICAgICAgICAgICAgICB2YXIgZCA9IHQgLSBiLmNsaWNrOwogICAgICAgICAgICAgIGlmIChkID49IDAgJiYgZCA8IDAuMDggKiBrKSBkZXB0aCA9IGQgLyAoMC4wOCAqIGspOwogICAgICAgICAgICAgIGVsc2UgaWYgKGQgPj0gMC4wOCAqIGsgJiYgZCA8IDAuMjYgKiBrKSBkZXB0aCA9IDEgLSAoZCAtIDAuMDggKiBrKSAvICgwLjE4ICogayk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICByZXR1cm4gMSAtIDAuMSAqIGRlcHRoOwogICAgICAgICAgfQoKICAgICAgICAgIGZ1bmN0aW9uIHJlbmRlclJpbmcodCkgewogICAgICAgICAgICB2YXIgb3BhY2l0eSA9IDA7CiAgICAgICAgICAgIGJlYXRzLmZvckVhY2goZnVuY3Rpb24gKGIpIHsKICAgICAgICAgICAgICB2YXIgdSA9ICh0IC0gYi5jbGljaykgLyAoMC4yOCAqIGspOwogICAgICAgICAgICAgIGlmICh1IDwgMCB8fCB1ID49IDEpIHJldHVybjsKICAgICAgICAgICAgICB2YXIgZSA9IGZhZGUodSk7CiAgICAgICAgICAgICAgdmFyIHIgPSAoKDAuNiArIDEuOCAqIGUpICogVykgLyAxMDA7CiAgICAgICAgICAgICAgb3BhY2l0eSA9IDEgLSBlOwogICAgICAgICAgICAgIHJpbmcuc3R5bGUud2lkdGggPSByaW5nLnN0eWxlLmhlaWdodCA9ICgyICogcikudG9GaXhlZCgyKSArICJweCI7CiAgICAgICAgICAgICAgcmluZy5zdHlsZS50cmFuc2Zvcm0gPQogICAgICAgICAgICAgICAgInRyYW5zbGF0ZSgiICsgKGIudG8ueCAtIHIpLnRvRml4ZWQoMikgKyAicHgsIiArIChiLnRvLnkgLSByKS50b0ZpeGVkKDIpICsgInB4KSI7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICByaW5nLnN0eWxlLm9wYWNpdHkgPSBvcGFjaXR5LnRvRml4ZWQoMyk7CiAgICAgICAgICB9CgogICAgICAgICAgZnVuY3Rpb24gcmVuZGVyKHQpIHsKICAgICAgICAgICAgdmFyIHAgPSBwb3NpdGlvbkF0KHQpOwogICAgICAgICAgICB2YXIgZ29uZSA9IHQgPj0gZHVyYXRpb247CiAgICAgICAgICAgIGFjdG9yLnN0eWxlLnRyYW5zZm9ybSA9ICJ0cmFuc2xhdGUoIiArIHAueC50b0ZpeGVkKDIpICsgInB4LCIgKyBwLnkudG9GaXhlZCgyKSArICJweCkiOwogICAgICAgICAgICBhcnJvdy5zdHlsZS50cmFuc2Zvcm0gPSAic2NhbGUoIiArIHByZXNzKHQpLnRvRml4ZWQoMykgKyAiKSI7CiAgICAgICAgICAgIHJlbmRlclJpbmcodCk7CgogICAgICAgICAgICBzdGF0dXNFbC50ZXh0Q29udGVudCA9IHN0YXR1c0F0KHQpOwogICAgICAgICAgICAvLyBTbGlkZSBiZXR3ZWVuIGJlbG93LXJpZ2h0IG9mIHRoZSB0aXAgYW5kIGxlZnQgb2YgaXQsIGtlcHQgaW5zaWRlIHRoZSBmcmFtZS4KICAgICAgICAgICAgdmFyIGZsaXAgPSBmbGlwQXQodCk7CiAgICAgICAgICAgIHZhciB3ID0gdGFnLm9mZnNldFdpZHRoOwogICAgICAgICAgICB2YXIgaCA9IHRhZy5vZmZzZXRIZWlnaHQ7CiAgICAgICAgICAgIHZhciBtID0gMC4wMSAqIFc7CiAgICAgICAgICAgIHZhciB4ID0gcC54ICsgKDEgLSBmbGlwKSAqIDAuMDE2ICogVyAtIGZsaXAgKiAoMC4wMDUgKiBXICsgdyk7CiAgICAgICAgICAgIHZhciB5ID0gcC55ICsgKDAuMDIxIC0gMC4wMTMgKiBmbGlwKSAqIFc7CiAgICAgICAgICAgIHggPSBNYXRoLm1pbihNYXRoLm1heCh4LCBtKSwgVyAtIG0gLSB3KTsKICAgICAgICAgICAgeSA9IE1hdGgubWluKE1hdGgubWF4KHksIG0pLCBIIC0gbSAtIGgpOwogICAgICAgICAgICB2YXIgc2NhbGUgPSAwLjkgKyAwLjEgKiBlbnRlcihjbGFtcDAxKCh0IC0gMC4xNSAqIGspIC8gKDAuMzUgKiBrKSkpOwogICAgICAgICAgICB0YWcuc3R5bGUudHJhbnNmb3JtT3JpZ2luID0gKGZsaXAgKiAxMDApLnRvRml4ZWQoMSkgKyAiJSAwIjsKICAgICAgICAgICAgdGFnLnN0eWxlLnRyYW5zZm9ybSA9CiAgICAgICAgICAgICAgInRyYW5zbGF0ZSgiICsKICAgICAgICAgICAgICB4LnRvRml4ZWQoMikgKwogICAgICAgICAgICAgICJweCwiICsKICAgICAgICAgICAgICB5LnRvRml4ZWQoMikgKwogICAgICAgICAgICAgICJweCkgc2NhbGUoIiArCiAgICAgICAgICAgICAgc2NhbGUudG9GaXhlZCgzKSArCiAgICAgICAgICAgICAgIikiOwogICAgICAgICAgICB2YXIgbGVhdmluZyA9IGNsYW1wMDEoKHQgLSBUX0VYSVQpIC8gKDAuMjUgKiBrKSk7CiAgICAgICAgICAgIHZhciBzaG93biA9IGNsYW1wMDEoKHQgLSAwLjE1ICogaykgLyAoMC4yICogaykpICogKDEgLSBsZWF2aW5nKTsKICAgICAgICAgICAgdGFnLnN0eWxlLm9wYWNpdHkgPSBnb25lID8gIjAiIDogc2hvd24udG9GaXhlZCgzKTsKCiAgICAgICAgICAgIHZhciBkb25lID0gY2xhbXAwMSgodCAtIFRfRE9ORSkgLyAoMC4zICogaykpOwogICAgICAgICAgICBjaGVjay5zdHlsZS5vcGFjaXR5ID0gZG9uZS50b0ZpeGVkKDMpOwogICAgICAgICAgICBjaGVjay5zdHlsZS50cmFuc2Zvcm0gPSAic2NhbGUoIiArICgwLjUgKyAwLjUgKiBwb3AoZG9uZSkpLnRvRml4ZWQoMykgKyAiKSI7CiAgICAgICAgICAgIGRvdC5zdHlsZS5vcGFjaXR5ID0gKDEgLSBkb25lKS50b0ZpeGVkKDMpOwogICAgICAgICAgICAvLyBUaGUgbGl2ZSBkb3QgYnJlYXRoZXMgb24gYSAxLjIgcyBwZXJpb2QgdW50aWwgdGhlIGNoZWNrIHJlcGxhY2VzIGl0LgogICAgICAgICAgICBkb3Quc3R5bGUudHJhbnNmb3JtID0KICAgICAgICAgICAgICAic2NhbGUoIiArICgwLjg3NSArIDAuMTI1ICogTWF0aC5jb3MoKDIgKiBNYXRoLlBJICogdCkgLyAxLjIpKS50b0ZpeGVkKDMpICsgIikiOwogICAgICAgICAgICBhY3Rvci5zdHlsZS5vcGFjaXR5ID0gZ29uZSA/ICIwIiA6ICIxIjsKICAgICAgICAgIH0KCiAgICAgICAgICB2YXIgY2xvY2sgPSB7IHQ6IDAgfTsKICAgICAgICAgIHZhciB0bCA9IGdzYXAudGltZWxpbmUoeyBwYXVzZWQ6IHRydWUgfSk7CiAgICAgICAgICB0bC50bygKICAgICAgICAgICAgY2xvY2ssCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICB0OiBkdXJhdGlvbiwKICAgICAgICAgICAgICBkdXJhdGlvbjogZHVyYXRpb24sCiAgICAgICAgICAgICAgZWFzZTogIm5vbmUiLAogICAgICAgICAgICAgIG9uVXBkYXRlOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZW5kZXIoY2xvY2sudCk7CiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgfSwKICAgICAgICAgICAgMCwKICAgICAgICAgICk7CiAgICAgICAgICByZW5kZXIoMCk7CiAgICAgICAgICB0bC5zZWVrKDApOwogICAgICAgICAgd2luZG93Ll9fdGltZWxpbmVzID0gd2luZG93Ll9fdGltZWxpbmVzIHx8IHt9OwogICAgICAgICAgd2luZG93Ll9fdGltZWxpbmVzW2NvbXBvc2l0aW9uSWRdID0gdGw7CiAgICAgICAgfSkoKTsKICAgICAgPC9zY3JpcHQ+CiAgICA8L3RlbXBsYXRlPgogIDwvYm9keT4KPC9odG1sPgo=\" data-start=\"0\" data-duration=\"4.8\" data-track-index=\"0\" data-width=\"1920\" data-height=\"1080\"></div>\n </div>\n <script>\n window.__timelines = window.__timelines || {};\n window.__timelines[\"preview-root\"] = gsap.timeline({ paused: true });\n </script>\n</body>\n</html>"} |