Created
December 21, 2024 01:34
-
-
Save terasakisatoshi/eb19f8e8ca848c284bdc4e8ee2367ce9 to your computer and use it in GitHub Desktop.
monaco-editor-esm
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <!DOCTYPE html><html lang="en"><head><meta name="viewport" content="width=device-width"><meta charset="utf-8"> | |
| <meta name="pluto-insertion-spot-meta"> | |
| <meta name="theme-color" media="(prefers-color-scheme: light)" content="white"><meta name="theme-color" media="(prefers-color-scheme: dark)" content="#2a2928"><meta name="color-scheme" content="light dark"><link rel="icon" type="image/png" sizes="16x16" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.20.3/frontend-dist/favicon-16x16.347d2855.png" integrity="sha384-3qsGeVLdddzV9oIkj3PhXXQX2CZCjOD/CiyrPQOX6InOWw3HAHClrsQhPfX9uRAj" crossorigin="anonymous"><link rel="icon" type="image/png" sizes="32x32" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.20.3/frontend-dist/favicon-32x32.8789add4.png" integrity="sha384-cOe5vSoBIgKNgkUL27p9RpsGVY0uBg9PejLccDy+fR8ZD1Iv5dF1MGHjIZAIZwm6" crossorigin="anonymous"><link rel="icon" type="image/png" sizes="96x96" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.20.3/frontend-dist/favicon-96x96.48689391.png" integrity="sha384-TN49cYb8GyNmrZT14bsYXXo4l1x1NJeJ/EHuVAauAKsNPopPHLojijs9jFT4Vs8c" crossorigin="anonymous"><link rel="pluto-logo-big" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.20.3/frontend-dist/logo.004c1d7c.svg" integrity="sha384-GkQkODcGxsrSRJCkeakBXihum0GUM44cwBgKyutDimectXCbCgj6Vu3jlrueqEcN" crossorigin="anonymous"><link rel="pluto-logo-small" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.20.3/frontend-dist/favicon_unsaturated.d1387b25.svg" integrity="sha384-omwjH+Qy3hpAVf5FYd/pkaDBuVAfsEDRN7eBxEA8Ek00OAWP+aiV+GpEYk3I7lyo" crossorigin="anonymous"><script type="module" src="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.20.3/frontend-dist/editor.7330d793.js" integrity="sha384-+mLMSKQxWEYKJeUt5VTdKTDfzHvui0mdMSd+iIQKYybm+6crs+6FeCr73c8yxir6" crossorigin="anonymous"></script><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.20.3/frontend-dist/editor.c9b6b472.css" integrity="sha384-/r++eFqY+MX24zOPLVQ1SEXsNKaMgaiC42LUbooLnc1+zar5i0Ih+sKH5dM93WL4" crossorigin="anonymous"><script defer="">console.log("Pluto.jl, by Fons van der Plas (https://github.com/fonsp), Mikołaj Bochenski (https://github.com/malyvsen), Michiel Dral (https://github.com/dralletje) and friends 🌈");</script><script src="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.20.3/frontend-dist/editor.b8733d72.js" defer="" integrity="sha384-84yPd6AGZ/1IUiaBlssipmMKMFz9WGFQ+u8vYZ9cWicH6bZm7ZOej+kLDXnIIAQJ" crossorigin="anonymous"></script><script src="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.20.3/frontend-dist/editor.9f9dc874.js" defer="" integrity="sha384-tkFo1EK72I9JvoTmHFa199dfRzW8mkXPUkHb/N7UhYI+bxKzX3Kh8LNCZz1ltsFF" crossorigin="anonymous"></script><script src="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.20.3/frontend-dist/editor.90ede145.js" defer="" integrity="sha384-CuNU9gQg6fa/yynNqNWjHWzPm4nj+d7O6+HXsNGSqClhs/bYQIbBC3Lw/kh8Ukui" crossorigin="anonymous"></script><script src="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.20.3/frontend-dist/editor.dbeed08a.js" defer="" integrity="sha384-1BEdQwXfZi4ZpsNV8w1X8pQcVK1/DS/+/M8OTo3gol7mdEspSN7nT6llX57NQCSt" crossorigin="anonymous"></script><script id="iframe-resizer-content-window-script" src="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.20.3/frontend-dist/editor.6386bd9d.js" crossorigin="anonymous" defer="" integrity="sha384-tgN2a0VDi/lCYwZuDqT7L+A/Y/9kpxf3HV7zv2BJ5Fu7zW0EClq0nM4crfK3TRPs"></script><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.20.3/frontend-dist/editor.bc9e2665.css" type="text/css" integrity="sha384-59NqevPZCCG832BH9e2evhbSnqWan7JP2XQxpwB8iVQmI0EUzKtmW1rAynAgdTee" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.20.3/frontend-dist/editor.25621fbe.css" type="text/css" media="all" data-pluto-file="hide-ui" integrity="sha384-rW+pJQkiASFs1ishWQq4PQ+lLndxkt1hQ2c5/BaM/b8Bb310robPSiRTwkVrbTz0" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.20.3/frontend-dist/editor.d0a5b1f0.css" type="text/css" integrity="sha384-oUdA9RJhs9IlGgJOs6m3tNmyOqOLTPOfpCXeXLUex2W5KOLfSAdyT5HoVuwUEFDQ" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.20.3/frontend-dist/editor.6b85892a.css" type="text/css" integrity="sha384-ztZowizZO6B4Jr667yW8YrVsT81V3YlLDpT89ptuH7F+ldMihmR2Qg7zGJ4rgtlR" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.20.3/frontend-dist/editor.09b09a3f.css" type="text/css" integrity="sha384-dHB2VzrvTc7+CLgp62sndIQSbzeitJhO8vZnxV2zNlO4GHz83BZPqsY+0nTAF7WO" crossorigin="anonymous"><script data-pluto-file="launch-parameters"> | |
| window.pluto_notebook_id = undefined; | |
| window.pluto_isolated_cell_ids = undefined; | |
| window.pluto_notebookfile = "data:text/julia;charset=utf-8;base64,IyMjIEEgUGx1dG8uamwgbm90ZWJvb2sgIyMjCiMgdjAuMjAuMwoKdXNpbmcgTWFya2Rvd24KdXNpbmcgSW50ZXJhY3RpdmVVdGlscwoKIyBUaGlzIFBsdXRvIG5vdGVib29rIHVzZXMgQGJpbmQgZm9yIGludGVyYWN0aXZpdHkuIFdoZW4gcnVubmluZyB0aGlzIG5vdGVib29rIG91dHNpZGUgb2YgUGx1dG8sIHRoZSBmb2xsb3dpbmcgJ21vY2sgdmVyc2lvbicgb2YgQGJpbmQgZ2l2ZXMgYm91bmQgdmFyaWFibGVzIGEgZGVmYXVsdCB2YWx1ZSAoaW5zdGVhZCBvZiBhbiBlcnJvcikuCm1hY3JvIGJpbmQoZGVmLCBlbGVtZW50KQogICAgIyEgZm9ybWF0OiBvZmYKICAgIHF1b3RlCiAgICAgICAgbG9jYWwgaXYgPSB0cnkgQmFzZS5sb2FkZWRfbW9kdWxlc1tCYXNlLlBrZ0lkKEJhc2UuVVVJRCgiNmU2OTZjNzItNjU0Mi0yMDY3LTcyNjUtNDIyMDZjNzU2MTUwIiksICJBYnN0cmFjdFBsdXRvRGluZ2V0amVzIildLkJvbmRzLmluaXRpYWxfdmFsdWUgY2F0Y2g7IGIgLT4gbWlzc2luZzsgZW5kCiAgICAgICAgbG9jYWwgZWwgPSAkKGVzYyhlbGVtZW50KSkKICAgICAgICBnbG9iYWwgJChlc2MoZGVmKSkgPSBDb3JlLmFwcGxpY2FibGUoQmFzZS5nZXQsIGVsKSA/IEJhc2UuZ2V0KGVsKSA6IGl2KGVsKQogICAgICAgIGVsCiAgICBlbmQKICAgICMhIGZvcm1hdDogb24KZW5kCgojIOKVlOKVkOKVoSA3MTI3MWY1MS1mNjk3LTQ2NDctYmFkNC01NTExNmUzNTIxNjgKYmVnaW4KCXVzaW5nIEJhc2U2NDogYmFzZTY0ZW5jb2RlCgl1c2luZyBIeXBlcnRleHRMaXRlcmFsOiBAaHRsCmVuZAoKIyDilZTilZDilaEgNzczNjg2NDMtZDdiNC00OGY0LWEyMDAtNDkxMGIxZTk4NDdkCm1kIiIiCkxldCdzIHNlZSB0aGUgZm9sbG93aW5nIGRpc2N1c3Npb24gd29ya3Mgb24gbXkgbWFjaGluZQpodHRwczovL2dpdGh1Yi5jb20vSnVsaWFQbHV0by9mZWF0dXJlZC9wdWxsLzc1I2lzc3VlY29tbWVudC0yNDg4MTc4Nzc0CiIiIgoKIyDilZTilZDilaEgYTM5MjUzZjctMmY0OC00MjgxLWJiZjQtOTgxYmMwMjdmYzQ0CmRlZmF1bHRjb2RlID0gcmF3IiIiCmZ1bmN0aW9uIGdyZWV0KG5hbWU6IHN0cmluZyk6IHN0cmluZ3sKCXJldHVybiBgSGVsbG8sICR7bmFtZX0hYDsKfQpjb25zb2xlLmxvZyhncmVldCgiVXBkYXRlIG1lIikpOwoiIiIKCiMg4pWU4pWQ4pWhIDlmNjVmODM2LWJmMzktMTFlZi0zMDRkLWQzYWU1Y2I0YjQ0MQpAYmluZCB0c21vbmFjb2ZpZWxkIEBodGwgIiIiCjxkaXY+Cgk8c3R5bGU+CiAgICAgICAgLnBsdXRvLW1vbmFjby1lZGl0b3IgewogICAgICAgICAgICB3aWR0aDogODAwcHg7CiAgICAgICAgICAgIGhlaWdodDogMjAwcHg7CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7CiAgICAgICAgfQogICAgPC9zdHlsZT4KCTxkaXYgaWQ9J21vbmFjby1lZGl0b3ItY29udGFpbmVyJyBjbGFzcz0ncGx1dG8tbW9uYWNvLWVkaXRvcic+PC9kaXY+Cgo8c2NyaXB0PgoJZnVuY3Rpb24gZGVjb2RlQmFzZTY0KGJhc2U2NFN0cmluZykgewoJICAgIGNvbnN0IHByZWZpeCA9ICJkYXRhOnRleHQvcGxhaW47YmFzZTY0LCI7CgkgICAgaWYgKGJhc2U2NFN0cmluZy5zdGFydHNXaXRoKHByZWZpeCkpIHsKCSAgICAgICAgYmFzZTY0U3RyaW5nID0gYmFzZTY0U3RyaW5nLnNsaWNlKHByZWZpeC5sZW5ndGgpOwoJICAgIH0KCSAgICBjb25zdCBkZWNvZGVkRGF0YSA9IGF0b2IoYmFzZTY0U3RyaW5nKTsKCSAgICByZXR1cm4gZGVjb2RlZERhdGE7Cgl9CgoJY29uc3QgbW9uYWNvID0gYXdhaXQgaW1wb3J0KCdodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL21vbmFjby1lZGl0b3JAMC41Mi4wLytlc20nKTsKIAkKCWNvbnN0IG1vbkVkaXRvciA9IG1vbmFjby5lZGl0b3IuY3JlYXRlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb25hY28tZWRpdG9yLWNvbnRhaW5lcicpLCB7CgkJdmFsdWU6IGRlY29kZUJhc2U2NCgkKGJhc2U2NGVuY29kZShkZWZhdWx0Y29kZSkpKSwKCQlsYW5ndWFnZTogJ3R5cGVzY3JpcHQnCgl9KTsKCgljb25zdCBwRSA9IGN1cnJlbnRTY3JpcHQucGFyZW50RWxlbWVudDsKCWZ1bmN0aW9uIHVwZGF0ZV9ib25kKCkgewoJCXBFLnZhbHVlID0gbW9uRWRpdG9yLmdldFZhbHVlKCk7CgkJcEUuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInVwZGF0ZSIpKTsKCX0KCQoJY29uc3QgbXlFZGl0b3IgPSBwRS5xdWVyeVNlbGVjdG9yKCIjbW9uYWNvLWVkaXRvci1jb250YWluZXIiKTsKCW15RWRpdG9yLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwgZT0+ewoJCXVwZGF0ZV9ib25kKCk7Cgl9KQoJCgl1cGRhdGVfYm9uZCgpOwo8L3NjcmlwdD4KPC9kaXY+CiIiIgoKIyDilZTilZDilaEgZDEwZjc5ZjctMTNlYy00MzkxLThhMTEtMTFkODA2NjJjNTcwCnByaW50bG4odHNtb25hY29maWVsZCkKCiMg4pWU4pWQ4pWhIGI3NTQyNGZlLTIwZWUtNGEzMi1iZGVjLWJkNjg4ODkwZDZmYQpAYXNzZXJ0IHRzbW9uYWNvZmllbGQgPT0gZGVmYXVsdGNvZGUKCiMg4pWU4pWQ4pWhIDAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMQpQTFVUT19QUk9KRUNUX1RPTUxfQ09OVEVOVFMgPSAiIiIKW2RlcHNdCkJhc2U2NCA9ICIyYTBmNDRlMy02YzgzLTU1YmQtODdlNC1iMTk3OGQ5OGJkNWYiCkh5cGVydGV4dExpdGVyYWwgPSAiYWMxMTkyYTgtZjRiMy00YmZlLWJhMjItYWY1YjkyY2QzYWIyIgoKW2NvbXBhdF0KSHlwZXJ0ZXh0TGl0ZXJhbCA9ICJ+MC45LjUiCiIiIgoKIyDilZTilZDilaEgMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAyClBMVVRPX01BTklGRVNUX1RPTUxfQ09OVEVOVFMgPSAiIiIKIyBUaGlzIGZpbGUgaXMgbWFjaGluZS1nZW5lcmF0ZWQgLSBlZGl0aW5nIGl0IGRpcmVjdGx5IGlzIG5vdCBhZHZpc2VkCgpqdWxpYV92ZXJzaW9uID0gIjEuMTEuMiIKbWFuaWZlc3RfZm9ybWF0ID0gIjIuMCIKcHJvamVjdF9oYXNoID0gIjRmMzNiMDA2ZTA3Yzg4NmQwMTVjOTRiMjQxM2EzNzUyMDA3MGY3ZmMiCgpbW2RlcHMuQmFzZTY0XV0KdXVpZCA9ICIyYTBmNDRlMy02YzgzLTU1YmQtODdlNC1iMTk3OGQ5OGJkNWYiCnZlcnNpb24gPSAiMS4xMS4wIgoKW1tkZXBzLkh5cGVydGV4dExpdGVyYWxdXQpkZXBzID0gWyJUcmlja3MiXQpnaXQtdHJlZS1zaGExID0gIjcxMzQ4MTBiMWFmY2UwNGJiYzEwNDVjYTE5ODVmYmU4MWNlMTc2NTMiCnV1aWQgPSAiYWMxMTkyYTgtZjRiMy00YmZlLWJhMjItYWY1YjkyY2QzYWIyIgp2ZXJzaW9uID0gIjAuOS41IgoKW1tkZXBzLlRyaWNrc11dCmdpdC10cmVlLXNoYTEgPSAiNzgyMmI5N2U5OWExNjcyYmZiMWI0OWI2NjhhNmQ0NmQ1OGQ4Y2JjYiIKdXVpZCA9ICI0MTBhNGI0ZC00OWU0LTRmYmMtYWI2ZC1jYjcxYjE3YjM3NzUiCnZlcnNpb24gPSAiMC4xLjkiCiIiIgoKIyDilZTilZDilaEgQ2VsbCBvcmRlcjoKIyDilZ/ilIA3NzM2ODY0My1kN2I0LTQ4ZjQtYTIwMC00OTEwYjFlOTg0N2QKIyDilaDilZA3MTI3MWY1MS1mNjk3LTQ2NDctYmFkNC01NTExNmUzNTIxNjgKIyDilaDilZBhMzkyNTNmNy0yZjQ4LTQyODEtYmJmNC05ODFiYzAyN2ZjNDQKIyDilaDilZA5ZjY1ZjgzNi1iZjM5LTExZWYtMzA0ZC1kM2FlNWNiNGI0NDEKIyDilaDilZBkMTBmNzlmNy0xM2VjLTQzOTEtOGExMS0xMWQ4MDY2MmM1NzAKIyDilaDilZBiNzU0MjRmZS0yMGVlLTRhMzItYmRlYy1iZDY4ODg5MGQ2ZmEKIyDilZ/ilIAwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDEKIyDilZ/ilIAwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDIK"; | |
| window.pluto_disable_ui = true; | |
| window.pluto_slider_server_url = undefined; | |
| window.pluto_binder_url = "https://mybinder.org/v2/gh/fonsp/pluto-on-binder/v0.20.3"; | |
| window.pluto_statefile = "data:;base64,3gASpWJvbmRzga10c21vbmFjb2ZpZWxkgaV2YWx1ZdlkZnVuY3Rpb24gZ3JlZXQobmFtZTogc3RyaW5nKTogc3RyaW5newoJcmV0dXJuIGBIZWxsbywgJHtuYW1lfSFgOwp9CmNvbnNvbGUubG9nKGdyZWV0KCJVcGRhdGUgbWUiKSk7CqxjZWxsX3Jlc3VsdHOG2SQ3MTI3MWY1MS1mNjk3LTQ2NDctYmFkNC01NTExNmUzNTIxNjiKpnF1ZXVlZMKkbG9nc5CncnVubmluZ8Kmb3V0cHV0hqRib2R5oKRtaW1lqnRleHQvcGxhaW6scm9vdGFzc2lnbmVlwLJsYXN0X3J1bl90aW1lc3RhbXDLQdnZhp0XT12wcGVyc2lzdF9qc19zdGF0ZcK3aGFzX3BsdXRvX2hvb2tfZmVhdHVyZXPCp2NlbGxfaWTZJDcxMjcxZjUxLWY2OTctNDY0Ny1iYWQ0LTU1MTE2ZTM1MjE2OLlkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzgAGkvK1cHVibGlzaGVkX29iamVjdF9rZXlzkLhkZXBlbmRzX29uX3NraXBwZWRfY2VsbHPCp2Vycm9yZWTC2SRiNzU0MjRmZS0yMGVlLTRhMzItYmRlYy1iZDY4ODg5MGQ2ZmGKpnF1ZXVlZMKkbG9nc5CncnVubmluZ8Kmb3V0cHV0hqRib2R5oKRtaW1lqnRleHQvcGxhaW6scm9vdGFzc2lnbmVlwLJsYXN0X3J1bl90aW1lc3RhbXDLQdnZhp0djMGwcGVyc2lzdF9qc19zdGF0ZcO3aGFzX3BsdXRvX2hvb2tfZmVhdHVyZXPCp2NlbGxfaWTZJGI3NTQyNGZlLTIwZWUtNGEzMi1iZGVjLWJkNjg4ODkwZDZmYblkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzgACKGi1cHVibGlzaGVkX29iamVjdF9rZXlzkLhkZXBlbmRzX29uX3NraXBwZWRfY2VsbHPCp2Vycm9yZWTC2SQ3NzM2ODY0My1kN2I0LTQ4ZjQtYTIwMC00OTEwYjFlOTg0N2SKpnF1ZXVlZMKkbG9nc5CncnVubmluZ8Kmb3V0cHV0hqRib2R52aU8ZGl2IGNsYXNzPSJtYXJrZG93biI+PHA+TGV0JiMzOTtzIHNlZSB0aGUgZm9sbG93aW5nIGRpc2N1c3Npb24gd29ya3Mgb24gbXkgbWFjaGluZSBodHRwczovL2dpdGh1Yi5jb20vSnVsaWFQbHV0by9mZWF0dXJlZC9wdWxsLzc1I2lzc3VlY29tbWVudC0yNDg4MTc4Nzc0PC9wPgo8L2Rpdj6kbWltZal0ZXh0L2h0bWyscm9vdGFzc2lnbmVlwLJsYXN0X3J1bl90aW1lc3RhbXDLQdnZhkIHCGiwcGVyc2lzdF9qc19zdGF0ZcK3aGFzX3BsdXRvX2hvb2tfZmVhdHVyZXPCp2NlbGxfaWTZJDc3MzY4NjQzLWQ3YjQtNDhmNC1hMjAwLTQ5MTBiMWU5ODQ3ZLlkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzgAdJ2K1cHVibGlzaGVkX29iamVjdF9rZXlzkLhkZXBlbmRzX29uX3NraXBwZWRfY2VsbHPCp2Vycm9yZWTC2SQ5ZjY1ZjgzNi1iZjM5LTExZWYtMzA0ZC1kM2FlNWNiNGI0NDGKpnF1ZXVlZMKkbG9nc5CncnVubmluZ8Kmb3V0cHV0hqRib2R52gTwPGJvbmQgZGVmPSJ0c21vbmFjb2ZpZWxkIiB1bmlxdWVfaWQ9IiYjNDM7ZWhLMjVKb0h5YkMiPjxkaXY+Cgk8c3R5bGU+CiAgICAgICAgLnBsdXRvLW1vbmFjby1lZGl0b3IgewogICAgICAgICAgICB3aWR0aDogODAwcHg7CiAgICAgICAgICAgIGhlaWdodDogMjAwcHg7CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7CiAgICAgICAgfQogICAgPC9zdHlsZT4KCTxkaXYgaWQ9J21vbmFjby1lZGl0b3ItY29udGFpbmVyJyBjbGFzcz0ncGx1dG8tbW9uYWNvLWVkaXRvcic+PC9kaXY+Cgo8c2NyaXB0PgoJZnVuY3Rpb24gZGVjb2RlQmFzZTY0KGJhc2U2NFN0cmluZykgewoJICAgIGNvbnN0IHByZWZpeCA9ICJkYXRhOnRleHQvcGxhaW47YmFzZTY0LCI7CgkgICAgaWYgKGJhc2U2NFN0cmluZy5zdGFydHNXaXRoKHByZWZpeCkpIHsKCSAgICAgICAgYmFzZTY0U3RyaW5nID0gYmFzZTY0U3RyaW5nLnNsaWNlKHByZWZpeC5sZW5ndGgpOwoJICAgIH0KCSAgICBjb25zdCBkZWNvZGVkRGF0YSA9IGF0b2IoYmFzZTY0U3RyaW5nKTsKCSAgICByZXR1cm4gZGVjb2RlZERhdGE7Cgl9CgoJY29uc3QgbW9uYWNvID0gYXdhaXQgaW1wb3J0KCdodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL21vbmFjby1lZGl0b3JAMC41Mi4wLytlc20nKTsKIAkKCWNvbnN0IG1vbkVkaXRvciA9IG1vbmFjby5lZGl0b3IuY3JlYXRlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb25hY28tZWRpdG9yLWNvbnRhaW5lcicpLCB7CgkJdmFsdWU6IGRlY29kZUJhc2U2NCgiWm5WdVkzUnBiMjRnWjNKbFpYUW9ibUZ0WlRvZ2MzUnlhVzVuS1RvZ2MzUnlhVzVuZXdvSmNtVjBkWEp1SUdCSVpXeHNieXdnSkh0dVlXMWxmU0ZnT3dwOUNtTnZibk52YkdVdWJHOW5LR2R5WldWMEtDSlZjR1JoZEdVZ2JXVWlLU2s3Q2c9PSIpLAoJCWxhbmd1YWdlOiAndHlwZXNjcmlwdCcKCX0pOwoKCWNvbnN0IHBFID0gY3VycmVudFNjcmlwdC5wYXJlbnRFbGVtZW50OwoJZnVuY3Rpb24gdXBkYXRlX2JvbmQoKSB7CgkJcEUudmFsdWUgPSBtb25FZGl0b3IuZ2V0VmFsdWUoKTsKCQlwRS5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidXBkYXRlIikpOwoJfQoJCgljb25zdCBteUVkaXRvciA9IHBFLnF1ZXJ5U2VsZWN0b3IoIiNtb25hY28tZWRpdG9yLWNvbnRhaW5lciIpOwoJbXlFZGl0b3IuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLCBlPT57CgkJdXBkYXRlX2JvbmQoKTsKCX0pCgkKCXVwZGF0ZV9ib25kKCk7Cjwvc2NyaXB0Pgo8L2Rpdj4KPC9ib25kPqRtaW1lqXRleHQvaHRtbKxyb290YXNzaWduZWXAsmxhc3RfcnVuX3RpbWVzdGFtcMtB2dmGnRvzLLBwZXJzaXN0X2pzX3N0YXRlwrdoYXNfcGx1dG9faG9va19mZWF0dXJlc8KnY2VsbF9pZNkkOWY2NWY4MzYtYmYzOS0xMWVmLTMwNGQtZDNhZTVjYjRiNDQxuWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXOAAsuTrVwdWJsaXNoZWRfb2JqZWN0X2tleXOQuGRlcGVuZHNfb25fc2tpcHBlZF9jZWxsc8KnZXJyb3JlZMLZJGQxMGY3OWY3LTEzZWMtNDM5MS04YTExLTExZDgwNjYyYzU3MIqmcXVldWVkwqRsb2dzkYikbGluZf+jbXNnktllZnVuY3Rpb24gZ3JlZXQobmFtZTogc3RyaW5nKTogc3RyaW5newoJcmV0dXJuIGBIZWxsbywgJHtuYW1lfSFgOwp9CmNvbnNvbGUubG9nKGdyZWV0KCJVcGRhdGUgbWUiKSk7CgqqdGV4dC9wbGFpbqdjZWxsX2lk2SRkMTBmNzlmNy0xM2VjLTQzOTEtOGExMS0xMWQ4MDY2MmM1NzCma3dhcmdzkKJpZLRQbHV0b1J1bm5lcl9kMWFjYjgxZaRmaWxl2VcvVXNlcnMvYXRlbGllcmFyaXRoLy5qdWxpYS9wYWNrYWdlcy9QbHV0by9lc0M0Ui9zcmMvcnVubmVyL1BsdXRvUnVubmVyL3NyYy9pby9zdGRvdXQuamylZ3JvdXCmc3Rkb3V0pWxldmVsrkxvZ0xldmVsKC01NTUpp3J1bm5pbmfCpm91dHB1dIakYm9keaCkbWltZap0ZXh0L3BsYWlurHJvb3Rhc3NpZ25lZcCybGFzdF9ydW5fdGltZXN0YW1wy0HZ2YadHXajsHBlcnNpc3RfanNfc3RhdGXDt2hhc19wbHV0b19ob29rX2ZlYXR1cmVzwqdjZWxsX2lk2SRkMTBmNzlmNy0xM2VjLTQzOTEtOGExMS0xMWQ4MDY2MmM1NzC5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc3BMrVwdWJsaXNoZWRfb2JqZWN0X2tleXOQuGRlcGVuZHNfb25fc2tpcHBlZF9jZWxsc8KnZXJyb3JlZMLZJGEzOTI1M2Y3LTJmNDgtNDI4MS1iYmY0LTk4MWJjMDI3ZmM0NIqmcXVldWVkwqRsb2dzkKdydW5uaW5nwqZvdXRwdXSGpGJvZHnZbiJmdW5jdGlvbiBncmVldChuYW1lOiBzdHJpbmcpOiBzdHJpbmd7XG5cdHJldHVybiBgSGVsbG8sIFwke25hbWV9IWA7XG59XG5jb25zb2xlLmxvZyhncmVldChcIlVwZGF0ZSBtZVwiKSk7XG4ipG1pbWWqdGV4dC9wbGFpbqxyb290YXNzaWduZWWrZGVmYXVsdGNvZGWybGFzdF9ydW5fdGltZXN0YW1wy0HZ2YaXd2JvsHBlcnNpc3RfanNfc3RhdGXCt2hhc19wbHV0b19ob29rX2ZlYXR1cmVzwqdjZWxsX2lk2SRhMzkyNTNmNy0yZjQ4LTQyODEtYmJmNC05ODFiYzAyN2ZjNDS5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc2U7bVwdWJsaXNoZWRfb2JqZWN0X2tleXOQuGRlcGVuZHNfb25fc2tpcHBlZF9jZWxsc8KnZXJyb3JlZMKrc3RhdHVzX3RyZWWFpG5hbWWobm90ZWJvb2uoc3VidGFza3OEpnNhdmluZ4WkbmFtZaZzYXZpbmeoc3VidGFza3OAq2ZpbmlzaGVkX2F0y0HZ2YadG8ZYp3N1Y2Nlc3PDqnN0YXJ0ZWRfYXTLQdnZhp0bw1mpd29ya3NwYWNlhaRuYW1lqXdvcmtzcGFjZahzdWJ0YXNrc4KsaW5pdF9wcm9jZXNzhaRuYW1lrGluaXRfcHJvY2Vzc6hzdWJ0YXNrc4ShNIWkbmFtZaE0qHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2dmGQcFHtqdzdWNjZXNzw6pzdGFydGVkX2F0y0HZ2YZBrxapoTGFpG5hbWWhMahzdWJ0YXNrc4CrZmluaXNoZWRfYXTLQdnZhkGtJpGnc3VjY2Vzc8Oqc3RhcnRlZF9hdMtB2dmGQag0j6EyhaRuYW1loTKoc3VidGFza3OAq2ZpbmlzaGVkX2F0y0HZ2YZBrS1Np3N1Y2Nlc3PDqnN0YXJ0ZWRfYXTLQdnZhkGtJqKhM4WkbmFtZaEzqHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2dmGQa8Wi6dzdWNjZXNzw6pzdGFydGVkX2F0y0HZ2YZBrS1Wq2ZpbmlzaGVkX2F0y0HZ2YZBwVIip3N1Y2Nlc3PDqnN0YXJ0ZWRfYXTLQdnZhkGoNH+uY3JlYXRlX3Byb2Nlc3OFpG5hbWWuY3JlYXRlX3Byb2Nlc3Ooc3VidGFza3OC2SFMb2FkaW5nIG5vdGVib29rIGJvb3QgZW52aXJvbm1lbnSFpG5hbWXZIUxvYWRpbmcgbm90ZWJvb2sgYm9vdCBlbnZpcm9ubWVudKhzdWJ0YXNrc4CrZmluaXNoZWRfYXTLQdnZhkGoKw+nc3VjY2Vzc8Oqc3RhcnRlZF9hdMtB2dmGQTmmTLBTdGFydGluZyBwcm9jZXNzhaRuYW1lsFN0YXJ0aW5nIHByb2Nlc3Ooc3VidGFza3OAq2ZpbmlzaGVkX2F0y0HZ2YZBOZzDp3N1Y2Nlc3PDqnN0YXJ0ZWRfYXTLQdnZhkEcesyrZmluaXNoZWRfYXTLQdnZhkGoKw+nc3VjY2Vzc8Oqc3RhcnRlZF9hdMtB2dmGQRx6yKtmaW5pc2hlZF9hdMtB2dmGQcFSJqdzdWNjZXNzw6pzdGFydGVkX2F0y0HZ2YZBHHrEo3BrZ4WkbmFtZaNwa2eoc3VidGFza3OBqGFuYWx5c2lzhaRuYW1lqGFuYWx5c2lzqHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2dmGnRbDAadzdWNjZXNzw6pzdGFydGVkX2F0y0HZ2YadFsEWq2ZpbmlzaGVkX2F0y0HZ2YadFsMFp3N1Y2Nlc3PDqnN0YXJ0ZWRfYXTLQdnZhp0WwRKjcnVuhaRuYW1lo3J1bqhzdWJ0YXNrc4KwcmVzb2x2ZV90b3BvbG9neYWkbmFtZbByZXNvbHZlX3RvcG9sb2d5qHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2dmGnR1L4KdzdWNjZXNzw6pzdGFydGVkX2F0y0HZ2YadHUqAqGV2YWx1YXRlhaRuYW1lqGV2YWx1YXRlqHN1YnRhc2tzgqExhaRuYW1loTGoc3VidGFza3OAq2ZpbmlzaGVkX2F0y0HZ2YadHXbFp3N1Y2Nlc3PDqnN0YXJ0ZWRfYXTLQdnZhp0dXfKhMoWkbmFtZaEyqHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2dmGnR2M2qdzdWNjZXNzw6pzdGFydGVkX2F0y0HZ2YadHXbeq2ZpbmlzaGVkX2F0y0HZ2YadHYzjp3N1Y2Nlc3PDqnN0YXJ0ZWRfYXTLQdnZhp0dS+irZmluaXNoZWRfYXTLQdnZhp0djOOnc3VjY2Vzc8Oqc3RhcnRlZF9hdMtB2dmGnR1Kc6tmaW5pc2hlZF9hdMCnc3VjY2Vzc8Cqc3RhcnRlZF9hdMtB2dmF6ACR97FjZWxsX2RlcGVuZGVuY2llc4bZJDcxMjcxZjUxLWY2OTctNDY0Ny1iYWQ0LTU1MTE2ZTM1MjE2OIS0cHJlY2VkZW5jZV9oZXVyaXN0aWMHp2NlbGxfaWTZJDcxMjcxZjUxLWY2OTctNDY0Ny1iYWQ0LTU1MTE2ZTM1MjE2OLRkb3duc3RyZWFtX2NlbGxzX21hcIKsYmFzZTY0ZW5jb2RlkdkkOWY2NWY4MzYtYmYzOS0xMWVmLTMwNGQtZDNhZTVjYjRiNDQxpEBodGyR2SQ5ZjY1ZjgzNi1iZjM5LTExZWYtMzA0ZC1kM2FlNWNiNGI0NDGydXBzdHJlYW1fY2VsbHNfbWFwgNkkYjc1NDI0ZmUtMjBlZS00YTMyLWJkZWMtYmQ2ODg4OTBkNmZhhLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkYjc1NDI0ZmUtMjBlZS00YTMyLWJkZWMtYmQ2ODg4OTBkNmZhtGRvd25zdHJlYW1fY2VsbHNfbWFwgLJ1cHN0cmVhbV9jZWxsc19tYXCGp0Bhc3NlcnSQpXRocm93kK5Bc3NlcnRpb25FcnJvcpCrZGVmYXVsdGNvZGWR2SRhMzkyNTNmNy0yZjQ4LTQyODEtYmJmNC05ODFiYzAyN2ZjNDSiPT2QrXRzbW9uYWNvZmllbGSR2SQ5ZjY1ZjgzNi1iZjM5LTExZWYtMzA0ZC1kM2FlNWNiNGI0NDHZJDc3MzY4NjQzLWQ3YjQtNDhmNC1hMjAwLTQ5MTBiMWU5ODQ3ZIS0cHJlY2VkZW5jZV9oZXVyaXN0aWMJp2NlbGxfaWTZJDc3MzY4NjQzLWQ3YjQtNDhmNC1hMjAwLTQ5MTBiMWU5ODQ3ZLRkb3duc3RyZWFtX2NlbGxzX21hcICydXBzdHJlYW1fY2VsbHNfbWFwgqdAbWRfc3RykKhnZXRpbmRleJDZJDlmNjVmODM2LWJmMzktMTFlZi0zMDRkLWQzYWU1Y2I0YjQ0MYS0cHJlY2VkZW5jZV9oZXVyaXN0aWMJp2NlbGxfaWTZJDlmNjVmODM2LWJmMzktMTFlZi0zMDRkLWQzYWU1Y2I0YjQ0MbRkb3duc3RyZWFtX2NlbGxzX21hcIGtdHNtb25hY29maWVsZJLZJGQxMGY3OWY3LTEzZWMtNDM5MS04YTExLTExZDgwNjYyYzU3MNkkYjc1NDI0ZmUtMjBlZS00YTMyLWJkZWMtYmQ2ODg4OTBkNmZhsnVwc3RyZWFtX2NlbGxzX21hcIzZI1BsdXRvUnVubmVyLlBsdXRvUnVubmVyLmNyZWF0ZV9ib25kkLdIeXBlcnRleHRMaXRlcmFsLkJ5cGFzc5CrZGVmYXVsdGNvZGWR2SRhMzkyNTNmNy0yZjQ4LTQyODEtYmJmNC05ODFiYzAyN2ZjNDSlQGJpbmSQukh5cGVydGV4dExpdGVyYWwuU2NyaXB0VGFnkKRAaHRskdkkNzEyNzFmNTEtZjY5Ny00NjQ3LWJhZDQtNTUxMTZlMzUyMTY4q1BsdXRvUnVubmVykLRQbHV0b1J1bm5lci5CYXNlLmdldJC3SHlwZXJ0ZXh0TGl0ZXJhbC5SZXN1bHSQsEh5cGVydGV4dExpdGVyYWyQrGJhc2U2NGVuY29kZZHZJDcxMjcxZjUxLWY2OTctNDY0Ny1iYWQ0LTU1MTE2ZTM1MjE2OLtQbHV0b1J1bm5lci5Db3JlLmFwcGxpY2FibGWQ2SRkMTBmNzlmNy0xM2VjLTQzOTEtOGExMS0xMWQ4MDY2MmM1NzCEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SRkMTBmNzlmNy0xM2VjLTQzOTEtOGExMS0xMWQ4MDY2MmM1NzC0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcIKncHJpbnRsbpCtdHNtb25hY29maWVsZJHZJDlmNjVmODM2LWJmMzktMTFlZi0zMDRkLWQzYWU1Y2I0YjQ0MdkkYTM5MjUzZjctMmY0OC00MjgxLWJiZjQtOTgxYmMwMjdmYzQ0hLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkYTM5MjUzZjctMmY0OC00MjgxLWJiZjQtOTgxYmMwMjdmYzQ0tGRvd25zdHJlYW1fY2VsbHNfbWFwgatkZWZhdWx0Y29kZZLZJDlmNjVmODM2LWJmMzktMTFlZi0zMDRkLWQzYWU1Y2I0YjQ0MdkkYjc1NDI0ZmUtMjBlZS00YTMyLWJkZWMtYmQ2ODg4OTBkNmZhsnVwc3RyZWFtX2NlbGxzX21hcIGoQHJhd19zdHKQtGNlbGxfZXhlY3V0aW9uX29yZGVyltkkNzEyNzFmNTEtZjY5Ny00NjQ3LWJhZDQtNTUxMTZlMzUyMTY42SQ3NzM2ODY0My1kN2I0LTQ4ZjQtYTIwMC00OTEwYjFlOTg0N2TZJGEzOTI1M2Y3LTJmNDgtNDI4MS1iYmY0LTk4MWJjMDI3ZmM0NNkkOWY2NWY4MzYtYmYzOS0xMWVmLTMwNGQtZDNhZTVjYjRiNDQx2SRkMTBmNzlmNy0xM2VjLTQzOTEtOGExMS0xMWQ4MDY2MmM1NzDZJGI3NTQyNGZlLTIwZWUtNGEzMi1iZGVjLWJkNjg4ODkwZDZmYbRsYXN0X2hvdF9yZWxvYWRfdGltZcsAAAAAAAAAAKlzaG9ydHBhdGimZXNtLmpsrnByb2Nlc3Nfc3RhdHVzpXJlYWR5pHBhdGjZTi9Vc2Vycy9hdGVsaWVyYXJpdGgvd29yay9hdGVsaWVyYXJpdGgvUGx1dG9Nb25hY29FZGl0b3IuamwvZXhhbXBsZXMvZXNtL2VzbS5qbK1wbHV0b192ZXJzaW9up3YwLjIwLjOubGFzdF9zYXZlX3RpbWXLQdnZhp0bw1SqY2VsbF9vcmRlcpbZJDc3MzY4NjQzLWQ3YjQtNDhmNC1hMjAwLTQ5MTBiMWU5ODQ3ZNkkNzEyNzFmNTEtZjY5Ny00NjQ3LWJhZDQtNTUxMTZlMzUyMTY42SRhMzkyNTNmNy0yZjQ4LTQyODEtYmJmNC05ODFiYzAyN2ZjNDTZJDlmNjVmODM2LWJmMzktMTFlZi0zMDRkLWQzYWU1Y2I0YjQ0MdkkZDEwZjc5ZjctMTNlYy00MzkxLThhMTEtMTFkODA2NjJjNTcw2SRiNzU0MjRmZS0yMGVlLTRhMzItYmRlYy1iZDY4ODg5MGQ2ZmGxcHVibGlzaGVkX29iamVjdHOApW5icGtniq9pbnN0YWxsX3RpbWVfbnPArGluc3RhbnRpYXRlZMOyaW5zdGFsbGVkX3ZlcnNpb25zgqZCYXNlNjSmc3RkbGlisEh5cGVydGV4dExpdGVyYWylMC45LjWwdGVybWluYWxfb3V0cHV0c4OqbmJwa2dfc3luY9oDQgobWzBtG1sxbUFkZGluZyBwYWNrYWdlcy4uLhtbMjJtChtbOTBtPT09G1szOW0KG1szMm0bWzFtICAgUmVzb2x2aW5nG1syMm0bWzM5bSBwYWNrYWdlIHZlcnNpb25zLi4uChtbMzJtG1sxbSAgICBVcGRhdGluZxtbMjJtG1szOW0gYC9wcml2YXRlL3Zhci9mb2xkZXJzL3k5L3hoOTRmdnBkMmhsNTB6czAyNGhoamwxODAwMDBnbi9UL2psX0lkM0ozci9Qcm9qZWN0LnRvbWxgCiAgG1s5MG1bYWMxMTkyYThdIBtbMzltG1s5Mm0rIEh5cGVydGV4dExpdGVyYWwgdjAuOS41G1szOW0KICAbWzkwbVsyYTBmNDRlM10gG1szOW0bWzkybSsgQmFzZTY0IHYxLjExLjAbWzM5bQobWzMybRtbMW0gICAgVXBkYXRpbmcbWzIybRtbMzltIGAvcHJpdmF0ZS92YXIvZm9sZGVycy95OS94aDk0ZnZwZDJobDUwenMwMjRoaGpsMTgwMDAwZ24vVC9qbF9JZDNKM3IvTWFuaWZlc3QudG9tbGAKICAbWzkwbVthYzExOTJhOF0gG1szOW0bWzkybSsgSHlwZXJ0ZXh0TGl0ZXJhbCB2MC45LjUbWzM5bQogIBtbOTBtWzQxMGE0YjRkXSAbWzM5bRtbOTJtKyBUcmlja3MgdjAuMS45G1szOW0KICAbWzkwbVsyYTBmNDRlM10gG1szOW0bWzkybSsgQmFzZTY0IHYxLjExLjAbWzM5bQobWzMybRtbMW1Mb2FkaW5nG1syMm0bWzM5bSBwYWNrYWdlcy4uLgoKG1swbRtbMW1JbnN0YW50aWF0aW5nLi4uG1syMm0KG1s5MG09PT0bWzM5bQoKG1swbRtbMW1QcmVjb21waWxpbmcuLi4bWzIybQobWzkwbT09PRtbMzltChtbMzJtG1sxbSAgQWN0aXZhdGluZxtbMjJtG1szOW0gcHJvamVjdCBhdCBgL3ByaXZhdGUvdmFyL2ZvbGRlcnMveTkveGg5NGZ2cGQyaGw1MHpzMDI0aGhqbDE4MDAwMGduL1QvamxfSWQzSjNyYKZCYXNlNjTaA0IKG1swbRtbMW1BZGRpbmcgcGFja2FnZXMuLi4bWzIybQobWzkwbT09PRtbMzltChtbMzJtG1sxbSAgIFJlc29sdmluZxtbMjJtG1szOW0gcGFja2FnZSB2ZXJzaW9ucy4uLgobWzMybRtbMW0gICAgVXBkYXRpbmcbWzIybRtbMzltIGAvcHJpdmF0ZS92YXIvZm9sZGVycy95OS94aDk0ZnZwZDJobDUwenMwMjRoaGpsMTgwMDAwZ24vVC9qbF9JZDNKM3IvUHJvamVjdC50b21sYAogIBtbOTBtW2FjMTE5MmE4XSAbWzM5bRtbOTJtKyBIeXBlcnRleHRMaXRlcmFsIHYwLjkuNRtbMzltCiAgG1s5MG1bMmEwZjQ0ZTNdIBtbMzltG1s5Mm0rIEJhc2U2NCB2MS4xMS4wG1szOW0KG1szMm0bWzFtICAgIFVwZGF0aW5nG1syMm0bWzM5bSBgL3ByaXZhdGUvdmFyL2ZvbGRlcnMveTkveGg5NGZ2cGQyaGw1MHpzMDI0aGhqbDE4MDAwMGduL1QvamxfSWQzSjNyL01hbmlmZXN0LnRvbWxgCiAgG1s5MG1bYWMxMTkyYThdIBtbMzltG1s5Mm0rIEh5cGVydGV4dExpdGVyYWwgdjAuOS41G1szOW0KICAbWzkwbVs0MTBhNGI0ZF0gG1szOW0bWzkybSsgVHJpY2tzIHYwLjEuORtbMzltCiAgG1s5MG1bMmEwZjQ0ZTNdIBtbMzltG1s5Mm0rIEJhc2U2NCB2MS4xMS4wG1szOW0KG1szMm0bWzFtTG9hZGluZxtbMjJtG1szOW0gcGFja2FnZXMuLi4KChtbMG0bWzFtSW5zdGFudGlhdGluZy4uLhtbMjJtChtbOTBtPT09G1szOW0KChtbMG0bWzFtUHJlY29tcGlsaW5nLi4uG1syMm0KG1s5MG09PT0bWzM5bQobWzMybRtbMW0gIEFjdGl2YXRpbmcbWzIybRtbMzltIHByb2plY3QgYXQgYC9wcml2YXRlL3Zhci9mb2xkZXJzL3k5L3hoOTRmdnBkMmhsNTB6czAyNGhoamwxODAwMDBnbi9UL2psX0lkM0ozcmCwSHlwZXJ0ZXh0TGl0ZXJhbNoDQgobWzBtG1sxbUFkZGluZyBwYWNrYWdlcy4uLhtbMjJtChtbOTBtPT09G1szOW0KG1szMm0bWzFtICAgUmVzb2x2aW5nG1syMm0bWzM5bSBwYWNrYWdlIHZlcnNpb25zLi4uChtbMzJtG1sxbSAgICBVcGRhdGluZxtbMjJtG1szOW0gYC9wcml2YXRlL3Zhci9mb2xkZXJzL3k5L3hoOTRmdnBkMmhsNTB6czAyNGhoamwxODAwMDBnbi9UL2psX0lkM0ozci9Qcm9qZWN0LnRvbWxgCiAgG1s5MG1bYWMxMTkyYThdIBtbMzltG1s5Mm0rIEh5cGVydGV4dExpdGVyYWwgdjAuOS41G1szOW0KICAbWzkwbVsyYTBmNDRlM10gG1szOW0bWzkybSsgQmFzZTY0IHYxLjExLjAbWzM5bQobWzMybRtbMW0gICAgVXBkYXRpbmcbWzIybRtbMzltIGAvcHJpdmF0ZS92YXIvZm9sZGVycy95OS94aDk0ZnZwZDJobDUwenMwMjRoaGpsMTgwMDAwZ24vVC9qbF9JZDNKM3IvTWFuaWZlc3QudG9tbGAKICAbWzkwbVthYzExOTJhOF0gG1szOW0bWzkybSsgSHlwZXJ0ZXh0TGl0ZXJhbCB2MC45LjUbWzM5bQogIBtbOTBtWzQxMGE0YjRkXSAbWzM5bRtbOTJtKyBUcmlja3MgdjAuMS45G1szOW0KICAbWzkwbVsyYTBmNDRlM10gG1szOW0bWzkybSsgQmFzZTY0IHYxLjExLjAbWzM5bQobWzMybRtbMW1Mb2FkaW5nG1syMm0bWzM5bSBwYWNrYWdlcy4uLgoKG1swbRtbMW1JbnN0YW50aWF0aW5nLi4uG1syMm0KG1s5MG09PT0bWzM5bQoKG1swbRtbMW1QcmVjb21waWxpbmcuLi4bWzIybQobWzkwbT09PRtbMzltChtbMzJtG1sxbSAgQWN0aXZhdGluZxtbMjJtG1szOW0gcHJvamVjdCBhdCBgL3ByaXZhdGUvdmFyL2ZvbGRlcnMveTkveGg5NGZ2cGQyaGw1MHpzMDI0aGhqbDE4MDAwMGduL1QvamxfSWQzSjNyYKdlbmFibGVkw7dyZXN0YXJ0X3JlY29tbWVuZGVkX21zZ8C0cmVzdGFydF9yZXF1aXJlZF9tc2fArWJ1c3lfcGFja2FnZXOQtndhaXRpbmdfZm9yX3Blcm1pc3Npb27C2Sx3YWl0aW5nX2Zvcl9wZXJtaXNzaW9uX2J1dF9wcm9iYWJseV9kaXNhYmxlZMKrY2VsbF9pbnB1dHOG2SQ3MTI3MWY1MS1mNjk3LTQ2NDctYmFkNC01NTExNmUzNTIxNjiEp2NlbGxfaWTZJDcxMjcxZjUxLWY2OTctNDY0Ny1iYWQ0LTU1MTE2ZTM1MjE2OKRjb2Rl2UNiZWdpbgoJdXNpbmcgQmFzZTY0OiBiYXNlNjRlbmNvZGUKCXVzaW5nIEh5cGVydGV4dExpdGVyYWw6IEBodGwKZW5kqG1ldGFkYXRhg6lzaG93X2xvZ3PDqGRpc2FibGVkwq5za2lwX2FzX3NjcmlwdMKrY29kZV9mb2xkZWTC2SRiNzU0MjRmZS0yMGVlLTRhMzItYmRlYy1iZDY4ODg5MGQ2ZmGEp2NlbGxfaWTZJGI3NTQyNGZlLTIwZWUtNGEzMi1iZGVjLWJkNjg4ODkwZDZmYaRjb2Rl2SRAYXNzZXJ0IHRzbW9uYWNvZmllbGQgPT0gZGVmYXVsdGNvZGWobWV0YWRhdGGDqXNob3dfbG9nc8OoZGlzYWJsZWTCrnNraXBfYXNfc2NyaXB0wqtjb2RlX2ZvbGRlZMLZJDc3MzY4NjQzLWQ3YjQtNDhmNC1hMjAwLTQ5MTBiMWU5ODQ3ZISnY2VsbF9pZNkkNzczNjg2NDMtZDdiNC00OGY0LWEyMDAtNDkxMGIxZTk4NDdkpGNvZGXZh21kIiIiCkxldCdzIHNlZSB0aGUgZm9sbG93aW5nIGRpc2N1c3Npb24gd29ya3Mgb24gbXkgbWFjaGluZQpodHRwczovL2dpdGh1Yi5jb20vSnVsaWFQbHV0by9mZWF0dXJlZC9wdWxsLzc1I2lzc3VlY29tbWVudC0yNDg4MTc4Nzc0CiIiIqhtZXRhZGF0YYOpc2hvd19sb2dzw6hkaXNhYmxlZMKuc2tpcF9hc19zY3JpcHTCq2NvZGVfZm9sZGVkw9kkOWY2NWY4MzYtYmYzOS0xMWVmLTMwNGQtZDNhZTVjYjRiNDQxhKdjZWxsX2lk2SQ5ZjY1ZjgzNi1iZjM5LTExZWYtMzA0ZC1kM2FlNWNiNGI0NDGkY29kZdoEZEBiaW5kIHRzbW9uYWNvZmllbGQgQGh0bCAiIiIKPGRpdj4KCTxzdHlsZT4KICAgICAgICAucGx1dG8tbW9uYWNvLWVkaXRvciB7CiAgICAgICAgICAgIHdpZHRoOiA4MDBweDsKICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsKICAgICAgICB9CiAgICA8L3N0eWxlPgoJPGRpdiBpZD0nbW9uYWNvLWVkaXRvci1jb250YWluZXInIGNsYXNzPSdwbHV0by1tb25hY28tZWRpdG9yJz48L2Rpdj4KCjxzY3JpcHQ+CglmdW5jdGlvbiBkZWNvZGVCYXNlNjQoYmFzZTY0U3RyaW5nKSB7CgkgICAgY29uc3QgcHJlZml4ID0gImRhdGE6dGV4dC9wbGFpbjtiYXNlNjQsIjsKCSAgICBpZiAoYmFzZTY0U3RyaW5nLnN0YXJ0c1dpdGgocHJlZml4KSkgewoJICAgICAgICBiYXNlNjRTdHJpbmcgPSBiYXNlNjRTdHJpbmcuc2xpY2UocHJlZml4Lmxlbmd0aCk7CgkgICAgfQoJICAgIGNvbnN0IGRlY29kZWREYXRhID0gYXRvYihiYXNlNjRTdHJpbmcpOwoJICAgIHJldHVybiBkZWNvZGVkRGF0YTsKCX0KCgljb25zdCBtb25hY28gPSBhd2FpdCBpbXBvcnQoJ2h0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbW9uYWNvLWVkaXRvckAwLjUyLjAvK2VzbScpOwogCQoJY29uc3QgbW9uRWRpdG9yID0gbW9uYWNvLmVkaXRvci5jcmVhdGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vbmFjby1lZGl0b3ItY29udGFpbmVyJyksIHsKCQl2YWx1ZTogZGVjb2RlQmFzZTY0KCQoYmFzZTY0ZW5jb2RlKGRlZmF1bHRjb2RlKSkpLAoJCWxhbmd1YWdlOiAndHlwZXNjcmlwdCcKCX0pOwoKCWNvbnN0IHBFID0gY3VycmVudFNjcmlwdC5wYXJlbnRFbGVtZW50OwoJZnVuY3Rpb24gdXBkYXRlX2JvbmQoKSB7CgkJcEUudmFsdWUgPSBtb25FZGl0b3IuZ2V0VmFsdWUoKTsKCQlwRS5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidXBkYXRlIikpOwoJfQoJCgljb25zdCBteUVkaXRvciA9IHBFLnF1ZXJ5U2VsZWN0b3IoIiNtb25hY28tZWRpdG9yLWNvbnRhaW5lciIpOwoJbXlFZGl0b3IuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLCBlPT57CgkJdXBkYXRlX2JvbmQoKTsKCX0pCgkKCXVwZGF0ZV9ib25kKCk7Cjwvc2NyaXB0Pgo8L2Rpdj4KIiIiqG1ldGFkYXRhg6lzaG93X2xvZ3PDqGRpc2FibGVkwq5za2lwX2FzX3NjcmlwdMKrY29kZV9mb2xkZWTC2SRkMTBmNzlmNy0xM2VjLTQzOTEtOGExMS0xMWQ4MDY2MmM1NzCEp2NlbGxfaWTZJGQxMGY3OWY3LTEzZWMtNDM5MS04YTExLTExZDgwNjYyYzU3MKRjb2RltnByaW50bG4odHNtb25hY29maWVsZCmobWV0YWRhdGGDqXNob3dfbG9nc8OoZGlzYWJsZWTCrnNraXBfYXNfc2NyaXB0wqtjb2RlX2ZvbGRlZMLZJGEzOTI1M2Y3LTJmNDgtNDI4MS1iYmY0LTk4MWJjMDI3ZmM0NISnY2VsbF9pZNkkYTM5MjUzZjctMmY0OC00MjgxLWJiZjQtOTgxYmMwMjdmYzQ0pGNvZGXZfGRlZmF1bHRjb2RlID0gcmF3IiIiCmZ1bmN0aW9uIGdyZWV0KG5hbWU6IHN0cmluZyk6IHN0cmluZ3sKCXJldHVybiBgSGVsbG8sICR7bmFtZX0hYDsKfQpjb25zb2xlLmxvZyhncmVldCgiVXBkYXRlIG1lIikpOwoiIiKobWV0YWRhdGGDqXNob3dfbG9nc8OoZGlzYWJsZWTCrnNraXBfYXNfc2NyaXB0wqtjb2RlX2ZvbGRlZMKrbm90ZWJvb2tfaWTZJDlmNjVmODBlLWJmMzktMTFlZi0yZDgxLTFiMDM5ZmJhZjE3OKtpbl90ZW1wX2RpcsKobWV0YWRhdGGA"; | |
| window.pluto_preamble_html = undefined; | |
| </script> | |
| <meta name="pluto-insertion-spot-parameters"> | |
| <script src="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.20.3/frontend-dist/editor.ec3e2f3c.js" type="module" defer="" integrity="sha384-hAH1f4wjZa+VcKIIrZfqVuQm2PtEI9kjEwikktfW1r0LQUjNFZwlYShWy7ys2akU" crossorigin="anonymous"></script><script src="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.20.3/frontend-dist/editor.8a3292da.js" integrity="sha384-itp4oE2PRbSrrTHVpWh8sqAuVUsz7ja6L2Dgp/JRfMCD2AwVdTk56K96POF3oLmu" crossorigin="anonymous"></script><script type="text/javascript" id="MathJax-script" integrity="sha384-4kE/rQ11E8xT9QgrCBTyvenkuPfQo8rXYQvJZuMgxyPOoUfpatjQPlgdv6V5yhUK" crossorigin="" not-the-src-yet="https://cdn.jsdelivr.net/npm/mathjax@3.2.2/es5/tex-svg-full.js" async=""></script> | |
| <meta name="pluto-insertion-spot-preload"> | |
| </head><body class="loading no-MαθJax"> <div style="display:flex;min-height:100vh;"> <pluto-editor class="fullscreen"> <progress style="filter:grayscale(1)" class="delete-me-when-live statefile-fetch-progress" max="100"></progress> </pluto-editor> </div> </body></html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment