Skip to content

Instantly share code, notes, and snippets.

@terasakisatoshi
Last active March 1, 2025 01:41
Show Gist options
  • Save terasakisatoshi/94f172ea41e336afa4dd73007c720698 to your computer and use it in GitHub Desktop.
Save terasakisatoshi/94f172ea41e336afa4dd73007c720698 to your computer and use it in GitHub Desktop.
How to run Rust as a script
<!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/[email protected]/frontend-dist/favicon-16x16.267aebbe.png"><link rel="icon" type="image/png" sizes="32x32" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/favicon-32x32.1b9d3e70.png"><link rel="icon" type="image/png" sizes="96x96" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/favicon-96x96.26e08763.png"><link rel="pluto-external-source" id="pluto-logo-big" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/logo.49a14041.svg"><link rel="pluto-external-source" id="pluto-logo-small" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/favicon_unsaturated.c11d4d33.svg"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.e8dd1839.css"><script type="module" src="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/index.ebb7d2e0.js"></script><script type="module" src="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.runtime.27dd1a8b.js"></script><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 \uD83C\uDF08");</script><script src="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/index.f6397f15.js" defer></script><script src="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/index.2db9e182.js" defer></script><script src="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.d174451b.js" defer></script><script src="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.97d6fa3c.js" defer></script><link rel="pluto-external-source" id="vmsg-wasm" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/vmsg.56bb9389.wasm"><link rel="pluto-external-source" id="arrow_up_circle_icon" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/arrow-up-circle-outline.3f146ffe.svg"><link rel="pluto-external-source" id="document_text_icon" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/document-text-outline.8d1e2333.svg"><link rel="pluto-external-source" id="help_circle_icon" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/help-circle-outline.a023036a.svg"><link rel="pluto-external-source" id="open_icon" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/open-outline.87533923.svg"><script id="iframe-resizer-content-window-script" src="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.ff0a187e.js" crossorigin defer></script><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.2cab3f5e.css" type="text/css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.46c98966.css" type="text/css" media="all" data-pluto-file="hide-ui"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.bf06bf57.css" type="text/css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.7a28f943.css" type="text/css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.a6a7b91b.css" type="text/css"><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,IyMjIEEgUGx1dG8uamwgbm90ZWJvb2sgIyMjCiMgdjAuMjAuNAoKdXNpbmcgTWFya2Rvd24KdXNpbmcgSW50ZXJhY3RpdmVVdGlscwoKIyBUaGlzIFBsdXRvIG5vdGVib29rIHVzZXMgQGJpbmQgZm9yIGludGVyYWN0aXZpdHkuIFdoZW4gcnVubmluZyB0aGlzIG5vdGVib29rIG91dHNpZGUgb2YgUGx1dG8sIHRoZSBmb2xsb3dpbmcgJ21vY2sgdmVyc2lvbicgb2YgQGJpbmQgZ2l2ZXMgYm91bmQgdmFyaWFibGVzIGEgZGVmYXVsdCB2YWx1ZSAoaW5zdGVhZCBvZiBhbiBlcnJvcikuCm1hY3JvIGJpbmQoZGVmLCBlbGVtZW50KQogICAgIyEgZm9ybWF0OiBvZmYKICAgIHF1b3RlCiAgICAgICAgbG9jYWwgaXYgPSB0cnkgQmFzZS5sb2FkZWRfbW9kdWxlc1tCYXNlLlBrZ0lkKEJhc2UuVVVJRCgiNmU2OTZjNzItNjU0Mi0yMDY3LTcyNjUtNDIyMDZjNzU2MTUwIiksICJBYnN0cmFjdFBsdXRvRGluZ2V0amVzIildLkJvbmRzLmluaXRpYWxfdmFsdWUgY2F0Y2g7IGIgLT4gbWlzc2luZzsgZW5kCiAgICAgICAgbG9jYWwgZWwgPSAkKGVzYyhlbGVtZW50KSkKICAgICAgICBnbG9iYWwgJChlc2MoZGVmKSkgPSBDb3JlLmFwcGxpY2FibGUoQmFzZS5nZXQsIGVsKSA/IEJhc2UuZ2V0KGVsKSA6IGl2KGVsKQogICAgICAgIGVsCiAgICBlbmQKICAgICMhIGZvcm1hdDogb24KZW5kCgojIOKVlOKVkOKVoSBiYTIzOTE3ZS1mMGIyLTExZWYtMTlkOC04N2JhMGRiMWE1OWIKYmVnaW4KCXVzaW5nIFBsdXRvTW9uYWNvRWRpdG9yOiBNb25hY29FZGl0b3IKZW5kCgojIOKVlOKVkOKVoSA4NjA4Y2JhYy1iYzJlLTQ0ODItYTAyNC1kMDU3NjIxODY1OGIKbWQiIiIKIyBIb3cgdG8gcnVuIFJ1c3QgY29kZSBhcyBhIHNjcmlwdAoiIiIKCiMg4pWU4pWQ4pWhIGMwMzJmZDEyLTU0ZWYtNGI1NS1iZDc0LTA1MDU3M2JhNTgxNAptZCIiIgpUbyBydW4gdGhpcyBub3RlYm9vaywgeW91IG5lZWQgdG8gaW5zdGFsbCBSdXN0IHRvIGJlIGFibGUgdG8gdXNlIGBjYXJnb2AgYW5kIGBydXN0LXNjcmlwdGAuCgpZb3UgY2FuIGluc3RhbGwgYHJ1c3Qtc2NyaXB0YCB3aXRoIHRoZSBmb2xsb3dpbmcgc2NyaXB0OgoKYGBgc2gKJCBjYXJnbyBpbnN0YWxsIHJ1c3Qtc2NyaXB0CmBgYAoiIiIKCiMg4pWU4pWQ4pWhIDkxNDljZGJhLTRiMTYtNDBmYy04ODk2LTdmMzlkZDM1ZDY4MgpiZWdpbgoJcnVuKGBydXN0YyAtLXZlcnNpb25gKQoJcnVuKGBydXN0LXNjcmlwdCAtLXZlcnNpb25gKQoJbm90aGluZwplbmQKCiMg4pWU4pWQ4pWhIGVhYjhlMGNhLTlmMmUtNGI5YS05M2JmLTlmNGJmMzQ3N2Y2MApiZWdpbgoJZXh0ID0gIi5ycyIKICAgIHRhcmdldGZpbGUgPSBqb2lucGF0aChmaXJzdChzcGxpdChAX19GSUxFX18sICIuamwjPT0jIikpKSAqIGV4dAoJaXNmaWxlKHRhcmdldGZpbGUpIHx8IHRvdWNoKHRhcmdldGZpbGUpCglpbml0Q29kZSA9IGpvaW4ocmVhZGxpbmVzKHRhcmdldGZpbGUpLCAnXG4nKQogICAgQGJpbmQgc291cmNlY29kZSBNb25hY29FZGl0b3IoInJ1c3QiLCBpbml0Q29kZSwgaGVpZ2h0ID0zMDApCmVuZAoKIyDilZTilZDilaEgMDllYmFiNDAtNmQ1Ni00M2IyLWI3Y2MtNDFmMmQ0ZjdjZjcwCmxldAogICAgc2hvdWxkcnVuID0gZmFsc2UKICAgIGlmICFpc21pc3Npbmcoc291cmNlY29kZSkKICAgICAgICBpZiBpbml0Q29kZSAhPSBzb3VyY2Vjb2RlCiAgICAgICAgICAgICMgVXBkYXRlIGZpbGUKICAgICAgICAgICAgd3JpdGUodGFyZ2V0ZmlsZSwgc291cmNlY29kZSkKICAgICAgICAgICAgIyBJZiB1cGRhdGVkLCB3ZSBzaG91bGQgcnVuIGNvZGUKICAgICAgICAgICAgc2hvdWxkcnVuID0gdHJ1ZQogICAgICAgIGVuZAogICAgICAgIGlmIHNob3VsZHJ1bgogICAgICAgICAgICBta3RlbXBkaXIoKSBkbyBkCiAgICAgICAgICAgICAgICB3cml0ZShqb2lucGF0aChkLCB0YXJnZXRmaWxlKSwgc291cmNlY29kZSkKICAgICAgICAgICAgICAgIHRyeQogICAgICAgICAgICAgICAgICAgIHJ1bihgcnVzdC1zY3JpcHQgJChqb2lucGF0aChkLCB0YXJnZXRmaWxlKSlgKQogICAgICAgICAgICAgICAgY2F0Y2ggZQogICAgICAgICAgICAgICAgICAgIGUgaXNhIFByb2Nlc3NGYWlsZWRFeGNlcHRpb24gfHwgcmV0aHJvdyhlKQogICAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIGVuZAogICAgICAgIGVuZAogICAgZW5kCglub3RoaW5nCmVuZAoKIyDilZTilZDilaEgMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAxClBMVVRPX1BST0pFQ1RfVE9NTF9DT05URU5UUyA9ICIiIgpbZGVwc10KUGx1dG9Nb25hY29FZGl0b3IgPSAiNWU5NDNlYWUtMTBkMi00ZWIzLWFkMWUtNThkM2YyZTk2MTRmIgoKW2NvbXBhdF0KUGx1dG9Nb25hY29FZGl0b3IgPSAifjAuMS40IgoiIiIKCiMg4pWU4pWQ4pWhIDAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMgpQTFVUT19NQU5JRkVTVF9UT01MX0NPTlRFTlRTID0gIiIiCiMgVGhpcyBmaWxlIGlzIG1hY2hpbmUtZ2VuZXJhdGVkIC0gZWRpdGluZyBpdCBkaXJlY3RseSBpcyBub3QgYWR2aXNlZAoKanVsaWFfdmVyc2lvbiA9ICIxLjExLjMiCm1hbmlmZXN0X2Zvcm1hdCA9ICIyLjAiCnByb2plY3RfaGFzaCA9ICI0MWUxYmIyNjgyNDcxMjVmZmFiNTlmM2NhYTk3ZWRkOGJmOWU3OGU5IgoKW1tkZXBzLkJhc2U2NF1dCnV1aWQgPSAiMmEwZjQ0ZTMtNmM4My01NWJkLTg3ZTQtYjE5NzhkOThiZDVmIgp2ZXJzaW9uID0gIjEuMTEuMCIKCltbZGVwcy5IeXBlcnRleHRMaXRlcmFsXV0KZGVwcyA9IFsiVHJpY2tzIl0KZ2l0LXRyZWUtc2hhMSA9ICI3MTM0ODEwYjFhZmNlMDRiYmMxMDQ1Y2ExOTg1ZmJlODFjZTE3NjUzIgp1dWlkID0gImFjMTE5MmE4LWY0YjMtNGJmZS1iYTIyLWFmNWI5MmNkM2FiMiIKdmVyc2lvbiA9ICIwLjkuNSIKCltbZGVwcy5QbHV0b01vbmFjb0VkaXRvcl1dCmRlcHMgPSBbIkJhc2U2NCIsICJIeXBlcnRleHRMaXRlcmFsIl0KZ2l0LXRyZWUtc2hhMSA9ICIwMTQ1OTFjNGZlNmZhMTc0NjVlZDY4YTZiYmYxODJiZTViYTg0ZDJhIgp1dWlkID0gIjVlOTQzZWFlLTEwZDItNGViMy1hZDFlLTU4ZDNmMmU5NjE0ZiIKdmVyc2lvbiA9ICIwLjEuNCIKCltbZGVwcy5Ucmlja3NdXQpnaXQtdHJlZS1zaGExID0gIjZjYWU3OTVhNWE5MzEzYmJiNGY2MDY4M2Y3MjYzMzE4ZmM3ZDE1MDUiCnV1aWQgPSAiNDEwYTRiNGQtNDllNC00ZmJjLWFiNmQtY2I3MWIxN2IzNzc1Igp2ZXJzaW9uID0gIjAuMS4xMCIKIiIiCgojIOKVlOKVkOKVoSBDZWxsIG9yZGVyOgojIOKVn+KUgDg2MDhjYmFjLWJjMmUtNDQ4Mi1hMDI0LWQwNTc2MjE4NjU4YgojIOKVoOKVkGJhMjM5MTdlLWYwYjItMTFlZi0xOWQ4LTg3YmEwZGIxYTU5YgojIOKVn+KUgGMwMzJmZDEyLTU0ZWYtNGI1NS1iZDc0LTA1MDU3M2JhNTgxNAojIOKVoOKVkDkxNDljZGJhLTRiMTYtNDBmYy04ODk2LTdmMzlkZDM1ZDY4MgojIOKVn+KUgGVhYjhlMGNhLTlmMmUtNGI5YS05M2JmLTlmNGJmMzQ3N2Y2MAojIOKVn+KUgDA5ZWJhYjQwLTZkNTYtNDNiMi1iN2NjLTQxZjJkNGY3Y2Y3MAojIOKVn+KUgDAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMQojIOKVn+KUgDAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMgo=";
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.4";
window.pluto_statefile = "data:;base64,3gASpWJvbmRzgapzb3VyY2Vjb2RlgaV2YWx1ZdoBAi8vISBEZXBlbmRlbmNpZXMgY2FuIGJlIHNwZWNpZmllZCBpbiB0aGUgc2NyaXB0IGZpbGUgaXRzZWxmIGFzIGZvbGxvd3M6Ci8vIQovLyEgYGBgY2FyZ28KLy8hIFtkZXBlbmRlbmNpZXNdCi8vISByYW5kID0gIjAuOC4wIgovLyEgYGBgCgp1c2UgcmFuZDo6cHJlbHVkZTo6KjsKCi8vIFVwZGF0ZSBtZQpmbiBtYWluKCkgewogICAgCiAgICBsZXQgeDogdTY0ID0gcmFuZG9tKCk7CiAgICBwcmludGxuISgiQSByYW5kb20gbnVtYmVyOiB7fSIsIHgpOwp9CqxjZWxsX3Jlc3VsdHOG2SQ4NjA4Y2JhYy1iYzJlLTQ0ODItYTAyNC1kMDU3NjIxODY1OGKKpnF1ZXVlZMKkbG9nc5CncnVubmluZ8Kmb3V0cHV0hqRib2R52UY8ZGl2IGNsYXNzPSJtYXJrZG93biI+PGgxPkhvdyB0byBydW4gUnVzdCBjb2RlIGFzIGEgc2NyaXB0PC9oMT4KPC9kaXY+pG1pbWWpdGV4dC9odG1srHJvb3Rhc3NpZ25lZcCybGFzdF9ydW5fdGltZXN0YW1wy0HZ8JlcXbxWsHBlcnNpc3RfanNfc3RhdGXCt2hhc19wbHV0b19ob29rX2ZlYXR1cmVzwqdjZWxsX2lk2SQ4NjA4Y2JhYy1iYzJlLTQ0ODItYTAyNC1kMDU3NjIxODY1OGK5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc4AIprjtXB1Ymxpc2hlZF9vYmplY3Rfa2V5c5C4ZGVwZW5kc19vbl9za2lwcGVkX2NlbGxzwqdlcnJvcmVkwtkkYmEyMzkxN2UtZjBiMi0xMWVmLTE5ZDgtODdiYTBkYjFhNTliiqZxdWV1ZWTCpGxvZ3OQp3J1bm5pbmfCpm91dHB1dIakYm9keaCkbWltZap0ZXh0L3BsYWlurHJvb3Rhc3NpZ25lZcCybGFzdF9ydW5fdGltZXN0YW1wy0HZ8JlcSTk/sHBlcnNpc3RfanNfc3RhdGXCt2hhc19wbHV0b19ob29rX2ZlYXR1cmVzwqdjZWxsX2lk2SRiYTIzOTE3ZS1mMGIyLTExZWYtMTlkOC04N2JhMGRiMWE1OWK5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc4A/QAStXB1Ymxpc2hlZF9vYmplY3Rfa2V5c5C4ZGVwZW5kc19vbl9za2lwcGVkX2NlbGxzwqdlcnJvcmVkwtkkYzAzMmZkMTItNTRlZi00YjU1LWJkNzQtMDUwNTczYmE1ODE0iqZxdWV1ZWTCpGxvZ3OQp3J1bm5pbmfCpm91dHB1dIakYm9kedoBLDxkaXYgY2xhc3M9Im1hcmtkb3duIj48cD5UbyBydW4gdGhpcyBub3RlYm9vaywgeW91IG5lZWQgdG8gaW5zdGFsbCBSdXN0IHRvIGJlIGFibGUgdG8gdXNlIDxjb2RlPmNhcmdvPC9jb2RlPiBhbmQgPGNvZGU+cnVzdC1zY3JpcHQ8L2NvZGU+LjwvcD4KPHA+WW91IGNhbiBpbnN0YWxsIDxjb2RlPnJ1c3Qtc2NyaXB0PC9jb2RlPiB3aXRoIHRoZSBmb2xsb3dpbmcgc2NyaXB0OjwvcD4KPHByZT48Y29kZSBjbGFzcz0ibGFuZ3VhZ2Utc2giPiYjMzY7IGNhcmdvIGluc3RhbGwgcnVzdC1zY3JpcHQ8L2NvZGU+PC9wcmU+CjwvZGl2PqRtaW1lqXRleHQvaHRtbKxyb290YXNzaWduZWXAsmxhc3RfcnVuX3RpbWVzdGFtcMtB2fCZXF/b8LBwZXJzaXN0X2pzX3N0YXRlwrdoYXNfcGx1dG9faG9va19mZWF0dXJlc8KnY2VsbF9pZNkkYzAzMmZkMTItNTRlZi00YjU1LWJkNzQtMDUwNTczYmE1ODE0uWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXOAAQB4bVwdWJsaXNoZWRfb2JqZWN0X2tleXOQuGRlcGVuZHNfb25fc2tpcHBlZF9jZWxsc8KnZXJyb3JlZMLZJGVhYjhlMGNhLTlmMmUtNGI5YS05M2JmLTlmNGJmMzQ3N2Y2MIqmcXVldWVkwqRsb2dzkKdydW5uaW5nwqZvdXRwdXSGpGJvZHnaBGQ8Ym9uZCBkZWY9InNvdXJjZWNvZGUiIHVuaXF1ZV9pZD0iTGluJiM0MztGeTRnUkdCcCI+PGRpdj4KCTxzdHlsZT4KICAgICAgICAucGx1dG8tbW9uYWNvLWVkaXRvciB7CiAgICAgICAgICAgIHdpZHRoOiA3MDBweDsKICAgICAgICAgICAgaGVpZ2h0OiAzMDBweDsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsKICAgICAgICB9CiAgICA8L3N0eWxlPgoJPGRpdiBpZD0nbW9uYWNvLWVkaXRvci1jb250YWluZXInIGNsYXNzPSdwbHV0by1tb25hY28tZWRpdG9yJz48L2Rpdj4KCjxzY3JpcHQ+Cgljb25zdCBtb25hY28gPSBhd2FpdCBpbXBvcnQoJ2h0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbW9uYWNvLWVkaXRvckAwLjUyLjAvK2VzbScpOwogCQoJY29uc3QgbW9uRWRpdG9yID0gbW9uYWNvLmVkaXRvci5jcmVhdGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vbmFjby1lZGl0b3ItY29udGFpbmVyJyksIHsKCQl2YWx1ZTogIi8vISBEZXBlbmRlbmNpZXMgY2FuIGJlIHNwZWNpZmllZCBpbiB0aGUgc2NyaXB0IGZpbGUgaXRzZWxmIGFzIGZvbGxvd3M6XG4vLyFcbi8vISBgYGBjYXJnb1xuLy8hIFtkZXBlbmRlbmNpZXNdXG4vLyEgcmFuZCA9IFwiMC44LjBcIlxuLy8hIGBgYFxuXG51c2UgcmFuZDo6cHJlbHVkZTo6KjtcblxuXG5mbiBtYWluKCkge1xuICAgIFxuICAgIGxldCB4OiB1NjQgPSByYW5kb20oKTtcbiAgICBwcmludGxuIShcIkEgcmFuZG9tIG51bWJlcjoge31cIiwgeCk7XG4gICAgXG59IiwKCQlsYW5ndWFnZTogInJ1c3QiLAoJCXRoZW1lOiAidnMtZGFyayIKCX0pOwoKCWNvbnN0IHBFID0gY3VycmVudFNjcmlwdC5wYXJlbnRFbGVtZW50OwoJZnVuY3Rpb24gdXBkYXRlX2JvbmQoKSB7CgkJcEUudmFsdWUgPSBtb25FZGl0b3IuZ2V0VmFsdWUoKTsKCQlwRS5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidXBkYXRlIikpOwoJfQoJCgljb25zdCBteUVkaXRvciA9IHBFLnF1ZXJ5U2VsZWN0b3IoIiNtb25hY28tZWRpdG9yLWNvbnRhaW5lciIpOwoJbXlFZGl0b3IuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLCBlPT57CgkJdXBkYXRlX2JvbmQoKTsKCX0pCgkKCXVwZGF0ZV9ib25kKCk7Cjwvc2NyaXB0Pgo8L2Rpdj4KPC9ib25kPqRtaW1lqXRleHQvaHRtbKxyb290YXNzaWduZWXAsmxhc3RfcnVuX3RpbWVzdGFtcMtB2fCZXHqeNLBwZXJzaXN0X2pzX3N0YXRlwrdoYXNfcGx1dG9faG9va19mZWF0dXJlc8KnY2VsbF9pZNkkZWFiOGUwY2EtOWYyZS00YjlhLTkzYmYtOWY0YmYzNDc3ZjYwuWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXOB89/GbVwdWJsaXNoZWRfb2JqZWN0X2tleXOQuGRlcGVuZHNfb25fc2tpcHBlZF9jZWxsc8KnZXJyb3JlZMLZJDA5ZWJhYjQwLTZkNTYtNDNiMi1iN2NjLTQxZjJkNGY3Y2Y3MIqmcXVldWVkwqRsb2dzkYikbGluZf+jbXNnktkmQSByYW5kb20gbnVtYmVyOiAxMjk2Mjg2MzEyMTIwMjY5OTMxNwqqdGV4dC9wbGFpbqdjZWxsX2lk2SQwOWViYWI0MC02ZDU2LTQzYjItYjdjYy00MWYyZDRmN2NmNzCma3dhcmdzkKJpZLRQbHV0b1J1bm5lcl9kMWFjYjgxZaRmaWxl2VcvVXNlcnMvYXRlbGllcmFyaXRoLy5qdWxpYS9wYWNrYWdlcy9QbHV0by9hYVdKVi9zcmMvcnVubmVyL1BsdXRvUnVubmVyL3NyYy9pby9zdGRvdXQuamylZ3JvdXCmc3Rkb3V0pWxldmVsrkxvZ0xldmVsKC01NTUpp3J1bm5pbmfCpm91dHB1dIakYm9keaCkbWltZap0ZXh0L3BsYWlurHJvb3Rhc3NpZ25lZcCybGFzdF9ydW5fdGltZXN0YW1wy0HZ8Jllbrn+sHBlcnNpc3RfanNfc3RhdGXDt2hhc19wbHV0b19ob29rX2ZlYXR1cmVzwqdjZWxsX2lk2SQwOWViYWI0MC02ZDU2LTQzYjItYjdjYy00MWYyZDRmN2NmNzC5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc4mS1gWtXB1Ymxpc2hlZF9vYmplY3Rfa2V5c5C4ZGVwZW5kc19vbl9za2lwcGVkX2NlbGxzwqdlcnJvcmVkwtkkOTE0OWNkYmEtNGIxNi00MGZjLTg4OTYtN2YzOWRkMzVkNjgyiqZxdWV1ZWTCpGxvZ3ORiKRsaW5l/6Ntc2eS2TdydXN0YyAxLjg1LjAgKDRkOTFkZTRlNCAyMDI1LTAyLTE3KQpydXN0LXNjcmlwdCAwLjM1LjAKqnRleHQvcGxhaW6nY2VsbF9pZNkkOTE0OWNkYmEtNGIxNi00MGZjLTg4OTYtN2YzOWRkMzVkNjgypmt3YXJnc5CiaWS0UGx1dG9SdW5uZXJfZDFhY2I4MWWkZmlsZdlXL1VzZXJzL2F0ZWxpZXJhcml0aC8uanVsaWEvcGFja2FnZXMvUGx1dG8vYWFXSlYvc3JjL3J1bm5lci9QbHV0b1J1bm5lci9zcmMvaW8vc3Rkb3V0LmpspWdyb3VwpnN0ZG91dKVsZXZlbK5Mb2dMZXZlbCgtNTU1KadydW5uaW5nwqZvdXRwdXSGpGJvZHmgpG1pbWWqdGV4dC9wbGFpbqxyb290YXNzaWduZWXAsmxhc3RfcnVuX3RpbWVzdGFtcMtB2fCZXGml9LBwZXJzaXN0X2pzX3N0YXRlwrdoYXNfcGx1dG9faG9va19mZWF0dXJlc8KnY2VsbF9pZNkkOTE0OWNkYmEtNGIxNi00MGZjLTg4OTYtN2YzOWRkMzVkNjgyuWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXOAuW6ALVwdWJsaXNoZWRfb2JqZWN0X2tleXOQuGRlcGVuZHNfb25fc2tpcHBlZF9jZWxsc8KnZXJyb3JlZMKrc3RhdHVzX3RyZWWFpG5hbWWobm90ZWJvb2uoc3VidGFza3OEpnNhdmluZ4WkbmFtZaZzYXZpbmeoc3VidGFza3OAq2ZpbmlzaGVkX2F0y0HZ8JlcOMA8p3N1Y2Nlc3PDqnN0YXJ0ZWRfYXTLQdnwmVw4t4Spd29ya3NwYWNlhaRuYW1lqXdvcmtzcGFjZahzdWJ0YXNrc4KsaW5pdF9wcm9jZXNzhaRuYW1lrGluaXRfcHJvY2Vzc6hzdWJ0YXNrc4ShNIWkbmFtZaE0qHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2fCZXCaJ46dzdWNjZXNzw6pzdGFydGVkX2F0y0HZ8JlcFwpGoTGFpG5hbWWhMahzdWJ0YXNrc4CrZmluaXNoZWRfYXTLQdnwmVwR1Vqnc3VjY2Vzc8Oqc3RhcnRlZF9hdMtB2fCZXA6aiaEyhaRuYW1loTKoc3VidGFza3OAq2ZpbmlzaGVkX2F0y0HZ8JlcFAmBp3N1Y2Nlc3PDqnN0YXJ0ZWRfYXTLQdnwmVwUAy6hM4WkbmFtZaEzqHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2fCZXBcKMadzdWNjZXNzw6pzdGFydGVkX2F0y0HZ8JlcFAmFq2ZpbmlzaGVkX2F0y0HZ8JlcJpG4p3N1Y2Nlc3PDqnN0YXJ0ZWRfYXTLQdnwmVwOmnSuY3JlYXRlX3Byb2Nlc3OFpG5hbWWuY3JlYXRlX3Byb2Nlc3Ooc3VidGFza3OC2SFMb2FkaW5nIG5vdGVib29rIGJvb3QgZW52aXJvbm1lbnSFpG5hbWXZIUxvYWRpbmcgbm90ZWJvb2sgYm9vdCBlbnZpcm9ubWVudKhzdWJ0YXNrc4CrZmluaXNoZWRfYXTLQdnwmVwLfE6nc3VjY2Vzc8Oqc3RhcnRlZF9hdMtB2fCZW5v2z7BTdGFydGluZyBwcm9jZXNzhaRuYW1lsFN0YXJ0aW5nIHByb2Nlc3Ooc3VidGFza3OAq2ZpbmlzaGVkX2F0y0HZ8Jlbm+ijp3N1Y2Nlc3PDqnN0YXJ0ZWRfYXTLQdnwmVt9P8SrZmluaXNoZWRfYXTLQdnwmVwLfE6nc3VjY2Vzc8Oqc3RhcnRlZF9hdMtB2fCZW30/vKtmaW5pc2hlZF9hdMtB2fCZXCaRwadzdWNjZXNzw6pzdGFydGVkX2F0y0HZ8JlbfT+vo3BrZ4WkbmFtZaNwa2eoc3VidGFza3OBqGFuYWx5c2lzhaRuYW1lqGFuYWx5c2lzqHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2fCZW30wK6dzdWNjZXNzw6pzdGFydGVkX2F0y0HZ8JlbfS31q2ZpbmlzaGVkX2F0y0HZ8JlbfTAvp3N1Y2Nlc3PDqnN0YXJ0ZWRfYXTLQdnwmVt9LfWjcnVuhaRuYW1lo3J1bqhzdWJ0YXNrc4KwcmVzb2x2ZV90b3BvbG9neYWkbmFtZbByZXNvbHZlX3RvcG9sb2d5qHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2fCZZUUZM6dzdWNjZXNzw6pzdGFydGVkX2F0y0HZ8JllRRVyqGV2YWx1YXRlhaRuYW1lqGV2YWx1YXRlqHN1YnRhc2tzgaExhaRuYW1loTGoc3VidGFza3OAq2ZpbmlzaGVkX2F0y0HZ8Jllbroop3N1Y2Nlc3PDqnN0YXJ0ZWRfYXTLQdnwmWVFXRCrZmluaXNoZWRfYXTLQdnwmWVuvnOnc3VjY2Vzc8Oqc3RhcnRlZF9hdMtB2fCZZUUZO6tmaW5pc2hlZF9hdMtB2fCZZW6+c6dzdWNjZXNzw6pzdGFydGVkX2F0y0HZ8JllRRVAq2ZpbmlzaGVkX2F0wKdzdWNjZXNzwKpzdGFydGVkX2F0y0HZ8Jgl9UjPsWNlbGxfZGVwZW5kZW5jaWVzhtkkODYwOGNiYWMtYmMyZS00NDgyLWEwMjQtZDA1NzYyMTg2NThihLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkODYwOGNiYWMtYmMyZS00NDgyLWEwMjQtZDA1NzYyMTg2NThitGRvd25zdHJlYW1fY2VsbHNfbWFwgLJ1cHN0cmVhbV9jZWxsc19tYXCCp0BtZF9zdHKQqGdldGluZGV4kNkkYmEyMzkxN2UtZjBiMi0xMWVmLTE5ZDgtODdiYTBkYjFhNTlihLRwcmVjZWRlbmNlX2hldXJpc3RpYwenY2VsbF9pZNkkYmEyMzkxN2UtZjBiMi0xMWVmLTE5ZDgtODdiYTBkYjFhNTlitGRvd25zdHJlYW1fY2VsbHNfbWFwgaxNb25hY29FZGl0b3KR2SRlYWI4ZTBjYS05ZjJlLTRiOWEtOTNiZi05ZjRiZjM0NzdmNjCydXBzdHJlYW1fY2VsbHNfbWFwgNkkYzAzMmZkMTItNTRlZi00YjU1LWJkNzQtMDUwNTczYmE1ODE0hLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkYzAzMmZkMTItNTRlZi00YjU1LWJkNzQtMDUwNTczYmE1ODE0tGRvd25zdHJlYW1fY2VsbHNfbWFwgLJ1cHN0cmVhbV9jZWxsc19tYXCCp0BtZF9zdHKQqGdldGluZGV4kNkkZWFiOGUwY2EtOWYyZS00YjlhLTkzYmYtOWY0YmYzNDc3ZjYwhLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkZWFiOGUwY2EtOWYyZS00YjlhLTkzYmYtOWY0YmYzNDc3ZjYwtGRvd25zdHJlYW1fY2VsbHNfbWFwhKhpbml0Q29kZZHZJDA5ZWJhYjQwLTZkNTYtNDNiMi1iN2NjLTQxZjJkNGY3Y2Y3MKp0YXJnZXRmaWxlkdkkMDllYmFiNDAtNmQ1Ni00M2IyLWI3Y2MtNDFmMmQ0ZjdjZjcwo2V4dJCqc291cmNlY29kZZHZJDA5ZWJhYjQwLTZkNTYtNDNiMi1iN2NjLTQxZjJkNGY3Y2Y3MLJ1cHN0cmVhbV9jZWxsc19tYXCPqUBfX0ZJTEVfX5CpcmVhZGxpbmVzkNkjUGx1dG9SdW5uZXIuUGx1dG9SdW5uZXIuY3JlYXRlX2JvbmSQqGpvaW5wYXRokKVmaXJzdJClQGJpbmSQrE1vbmFjb0VkaXRvcpHZJGJhMjM5MTdlLWYwYjItMTFlZi0xOWQ4LTg3YmEwZGIxYTU5YqZpc2ZpbGWQpXRvdWNokKRqb2lukKtQbHV0b1J1bm5lcpC0UGx1dG9SdW5uZXIuQmFzZS5nZXSQoSqQu1BsdXRvUnVubmVyLkNvcmUuYXBwbGljYWJsZZClc3BsaXSQ2SQwOWViYWI0MC02ZDU2LTQzYjItYjdjYy00MWYyZDRmN2NmNzCEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SQwOWViYWI0MC02ZDU2LTQzYjItYjdjYy00MWYyZDRmN2NmNzC0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcN4AEaRAY21kkKdjbWRfZ2VukKhqb2lucGF0aJChIZCpaXNtaXNzaW5nkKlta3RlbXBkaXKQp3JldGhyb3eQp25vdGhpbmeQqGluaXRDb2RlkdkkZWFiOGUwY2EtOWYyZS00YjlhLTkzYmYtOWY0YmYzNDc3ZjYwo2lzYZC2UHJvY2Vzc0ZhaWxlZEV4Y2VwdGlvbpCjcnVukKV3cml0ZZCqdGFyZ2V0ZmlsZZHZJGVhYjhlMGNhLTlmMmUtNGI5YS05M2JmLTlmNGJmMzQ3N2Y2MKpzb3VyY2Vjb2RlkdkkZWFiOGUwY2EtOWYyZS00YjlhLTkzYmYtOWY0YmYzNDc3ZjYwoiE9kKI9PZDZJDkxNDljZGJhLTRiMTYtNDBmYy04ODk2LTdmMzlkZDM1ZDY4MoS0cHJlY2VkZW5jZV9oZXVyaXN0aWMJp2NlbGxfaWTZJDkxNDljZGJhLTRiMTYtNDBmYy04ODk2LTdmMzlkZDM1ZDY4MrRkb3duc3RyZWFtX2NlbGxzX21hcICydXBzdHJlYW1fY2VsbHNfbWFwhKNydW6Qp2NtZF9nZW6QpEBjbWSQp25vdGhpbmeQtGNlbGxfZXhlY3V0aW9uX29yZGVyltkkYmEyMzkxN2UtZjBiMi0xMWVmLTE5ZDgtODdiYTBkYjFhNTli2SQ4NjA4Y2JhYy1iYzJlLTQ0ODItYTAyNC1kMDU3NjIxODY1OGLZJGMwMzJmZDEyLTU0ZWYtNGI1NS1iZDc0LTA1MDU3M2JhNTgxNNkkOTE0OWNkYmEtNGIxNi00MGZjLTg4OTYtN2YzOWRkMzVkNjgy2SRlYWI4ZTBjYS05ZjJlLTRiOWEtOTNiZi05ZjRiZjM0NzdmNjDZJDA5ZWJhYjQwLTZkNTYtNDNiMi1iN2NjLTQxZjJkNGY3Y2Y3MLRsYXN0X2hvdF9yZWxvYWRfdGltZcsAAAAAAAAAAKlzaG9ydHBhdGiucnVzdF9zY3JpcHQuamyucHJvY2Vzc19zdGF0dXOlcmVhZHmkcGF0aNlSL1VzZXJzL2F0ZWxpZXJhcml0aC93b3JrL3RlcmFzYWtpc2F0b3NoaS9NeVJ1c3QuamwvcGxheWdyb3VuZC9wbHV0by9ydXN0X3NjcmlwdC5qbK1wbHV0b192ZXJzaW9up3YwLjIwLjSubGFzdF9zYXZlX3RpbWXLQdnwmVw4t4CqY2VsbF9vcmRlcpbZJDg2MDhjYmFjLWJjMmUtNDQ4Mi1hMDI0LWQwNTc2MjE4NjU4YtkkYmEyMzkxN2UtZjBiMi0xMWVmLTE5ZDgtODdiYTBkYjFhNTli2SRjMDMyZmQxMi01NGVmLTRiNTUtYmQ3NC0wNTA1NzNiYTU4MTTZJDkxNDljZGJhLTRiMTYtNDBmYy04ODk2LTdmMzlkZDM1ZDY4MtkkZWFiOGUwY2EtOWYyZS00YjlhLTkzYmYtOWY0YmYzNDc3ZjYw2SQwOWViYWI0MC02ZDU2LTQzYjItYjdjYy00MWYyZDRmN2NmNzCxcHVibGlzaGVkX29iamVjdHOApW5icGtniq9pbnN0YWxsX3RpbWVfbnPArGluc3RhbnRpYXRlZMOyaW5zdGFsbGVkX3ZlcnNpb25zgbFQbHV0b01vbmFjb0VkaXRvcqUwLjEuNLB0ZXJtaW5hbF9vdXRwdXRzg6puYnBrZ19zeW5j2gwmG1szMm0bWzFtICAgIFVwZGF0aW5nG1syMm0bWzM5bSBgL3ByaXZhdGUvdmFyL2ZvbGRlcnMveTkveGg5NGZ2cGQyaGw1MHpzMDI0aGhqbDE4MDAwMGduL1QvamxfZTluWTJqL1Byb2plY3QudG9tbGAKICAbWzkwbVs3ZjkwNGRmZV0gG1szOW0bWzkxbS0gUGx1dG9VSSB2MC43LjYxG1szOW0KG1szMm0bWzFtICAgIFVwZGF0aW5nG1syMm0bWzM5bSBgL3ByaXZhdGUvdmFyL2ZvbGRlcnMveTkveGg5NGZ2cGQyaGw1MHpzMDI0aGhqbDE4MDAwMGduL1QvamxfZTluWTJqL01hbmlmZXN0LnRvbWxgCiAgG1s5MG1bNmU2OTZjNzJdIBtbMzltG1s5MW0tIEFic3RyYWN0UGx1dG9EaW5nZXRqZXMgdjEuMy4yG1szOW0KICAbWzkwbVszZGEwMDJmN10gG1szOW0bWzkxbS0gQ29sb3JUeXBlcyB2MC4xMS41G1szOW0KICAbWzkwbVs1M2M0OGMxN10gG1szOW0bWzkxbS0gRml4ZWRQb2ludE51bWJlcnMgdjAuOC41G1szOW0KICAbWzkwbVs0N2QyZWQyYl0gG1szOW0bWzkxbS0gSHlwZXJzY3JpcHQgdjAuMC41G1szOW0KICAbWzkwbVtiNWY4MWU1OV0gG1szOW0bWzkxbS0gSU9DYXB0dXJlIHYwLjIuNRtbMzltCiAgG1s5MG1bNjgyYzA2YTBdIBtbMzltG1s5MW0tIEpTT04gdjAuMjEuNBtbMzltCiAgG1s5MG1bNmM2ZTJlNmNdIBtbMzltG1s5MW0tIE1JTUVzIHYxLjAuMBtbMzltCiAgG1s5MG1bNjlkZTBhNjldIBtbMzltG1s5MW0tIFBhcnNlcnMgdjIuOC4xG1szOW0KICAbWzkwbVs3ZjkwNGRmZV0gG1szOW0bWzkxbS0gUGx1dG9VSSB2MC43LjYxG1szOW0KICAbWzkwbVthZWE3YmUwMV0gG1szOW0bWzkxbS0gUHJlY29tcGlsZVRvb2xzIHYxLjIuMRtbMzltCiAgG1s5MG1bMjEyMTZjNmFdIBtbMzltG1s5MW0tIFByZWZlcmVuY2VzIHYxLjQuMxtbMzltCiAgG1s5MG1bMTg5YTM4NjddIBtbMzltG1s5MW0tIFJlZXhwb3J0IHYxLjIuMhtbMzltCiAgG1s5MG1bMTA3NDViMTZdIBtbMzltG1s5MW0tIFN0YXRpc3RpY3MgdjEuMTEuMRtbMzltCiAgG1s5MG1bNWMyNzQ3ZjhdIBtbMzltG1s5MW0tIFVSSXMgdjEuNS4xG1szOW0KICAbWzkwbVswZGFkODRjNV0gG1szOW0bWzkxbS0gQXJnVG9vbHMgdjEuMS4yG1szOW0KICAbWzkwbVs1NmYyMmQ3Ml0gG1szOW0bWzkxbS0gQXJ0aWZhY3RzIHYxLjExLjAbWzM5bQogIBtbOTBtW2FkZTJjYTcwXSAbWzM5bRtbOTFtLSBEYXRlcyB2MS4xMS4wG1szOW0KICAbWzkwbVtmNDNhMjQxZl0gG1szOW0bWzkxbS0gRG93bmxvYWRzIHYxLjYuMBtbMzltCiAgG1s5MG1bN2IxZjYwNzldIBtbMzltG1s5MW0tIEZpbGVXYXRjaGluZyB2MS4xMS4wG1szOW0KICAbWzkwbVtiNzdlMGE0Y10gG1szOW0bWzkxbS0gSW50ZXJhY3RpdmVVdGlscyB2MS4xMS4wG1szOW0KICAbWzkwbVtiMjcwMzJjMl0gG1szOW0bWzkxbS0gTGliQ1VSTCB2MC42LjQbWzM5bQogIBtbOTBtWzc2Zjg1NDUwXSAbWzM5bRtbOTFtLSBMaWJHaXQyIHYxLjExLjAbWzM5bQogIBtbOTBtWzhmMzk5ZGEzXSAbWzM5bRtbOTFtLSBMaWJkbCB2MS4xMS4wG1szOW0KICAbWzkwbVszN2UyZTQ2ZF0gG1szOW0bWzkxbS0gTGluZWFyQWxnZWJyYSB2MS4xMS4wG1szOW0KICAbWzkwbVs1NmRkYjAxNl0gG1szOW0bWzkxbS0gTG9nZ2luZyB2MS4xMS4wG1szOW0KICAbWzkwbVtkNmY0Mzc2ZV0gG1szOW0bWzkxbS0gTWFya2Rvd24gdjEuMTEuMBtbMzltCiAgG1s5MG1bYTYzYWQxMTRdIBtbMzltG1s5MW0tIE1tYXAgdjEuMTEuMBtbMzltCiAgG1s5MG1bY2E1NzU5MzBdIBtbMzltG1s5MW0tIE5ldHdvcmtPcHRpb25zIHYxLjIuMBtbMzltCiAgG1s5MG1bNDRjZmU5NWFdIBtbMzltG1s5MW0tIFBrZyB2MS4xMS4wG1szOW0KICAbWzkwbVtkZTA4NThkYV0gG1szOW0bWzkxbS0gUHJpbnRmIHYxLjExLjAbWzM5bQogIBtbOTBtWzlhM2Y4Mjg0XSAbWzM5bRtbOTFtLSBSYW5kb20gdjEuMTEuMBtbMzltCiAgG1s5MG1bZWE4ZTkxOWNdIBtbMzltG1s5MW0tIFNIQSB2MC43LjAbWzM5bQogIBtbOTBtWzllODhiNDJhXSAbWzM5bRtbOTFtLSBTZXJpYWxpemF0aW9uIHYxLjExLjAbWzM5bQogIBtbOTBtW2ZhMjY3ZjFmXSAbWzM5bRtbOTFtLSBUT01MIHYxLjAuMxtbMzltCiAgG1s5MG1bYTRlNTY5YTZdIBtbMzltG1s5MW0tIFRhciB2MS4xMC4wG1szOW0KICAbWzkwbVs4ZGZlZDYxNF0gG1szOW0bWzkxbS0gVGVzdCB2MS4xMS4wG1szOW0KICAbWzkwbVtjZjcxMThhN10gG1szOW0bWzkxbS0gVVVJRHMgdjEuMTEuMBtbMzltCiAgG1s5MG1bNGVjMGE4M2VdIBtbMzltG1s5MW0tIFVuaWNvZGUgdjEuMTEuMBtbMzltCiAgG1s5MG1bZTY2ZTAwNzhdIBtbMzltG1s5MW0tIENvbXBpbGVyU3VwcG9ydExpYnJhcmllc19qbGwgdjEuMS4xKzAbWzM5bQogIBtbOTBtW2RlYWM5YjQ3XSAbWzM5bRtbOTFtLSBMaWJDVVJMX2psbCB2OC42LjArMBtbMzltCiAgG1s5MG1bZTM3ZGFmNjddIBtbMzltG1s5MW0tIExpYkdpdDJfamxsIHYxLjcuMiswG1szOW0KICAbWzkwbVsyOTgxNmI1YV0gG1szOW0bWzkxbS0gTGliU1NIMl9qbGwgdjEuMTEuMCsxG1szOW0KICAbWzkwbVtjOGZmZDljM10gG1szOW0bWzkxbS0gTWJlZFRMU19qbGwgdjIuMjguNiswG1szOW0KICAbWzkwbVsxNGEzNjA2ZF0gG1szOW0bWzkxbS0gTW96aWxsYUNBQ2VydHNfamxsIHYyMDIzLjEyLjEyG1szOW0KICAbWzkwbVs0NTM2NjI5YV0gG1szOW0bWzkxbS0gT3BlbkJMQVNfamxsIHYwLjMuMjcrMRtbMzltCiAgG1s5MG1bODM3NzVhNThdIBtbMzltG1s5MW0tIFpsaWJfamxsIHYxLjIuMTMrMRtbMzltCiAgG1s5MG1bOGU4NTBiOTBdIBtbMzltG1s5MW0tIGxpYmJsYXN0cmFtcG9saW5lX2psbCB2NS4xMS4wKzAbWzM5bQogIBtbOTBtWzhlODUwZWRlXSAbWzM5bRtbOTFtLSBuZ2h0dHAyX2psbCB2MS41OS4wKzAbWzM5bQogIBtbOTBtWzNmMTllOTMzXSAbWzM5bRtbOTFtLSBwN3ppcF9qbGwgdjE3LjQuMCsyG1szOW0KChtbMG0bWzFtSW5zdGFudGlhdGluZy4uLhtbMjJtChtbOTBtPT09G1szOW0KChtbMG0bWzFtUHJlY29tcGlsaW5nLi4uG1syMm0KG1s5MG09PT0bWzM5bQobWzMybRtbMW0gIEFjdGl2YXRpbmcbWzIybRtbMzltIHByb2plY3QgYXQgYC9wcml2YXRlL3Zhci9mb2xkZXJzL3k5L3hoOTRmdnBkMmhsNTB6czAyNGhoamwxODAwMDBnbi9UL2psX2U5blkyamCnUGx1dG9VSdoMJhtbMzJtG1sxbSAgICBVcGRhdGluZxtbMjJtG1szOW0gYC9wcml2YXRlL3Zhci9mb2xkZXJzL3k5L3hoOTRmdnBkMmhsNTB6czAyNGhoamwxODAwMDBnbi9UL2psX2U5blkyai9Qcm9qZWN0LnRvbWxgCiAgG1s5MG1bN2Y5MDRkZmVdIBtbMzltG1s5MW0tIFBsdXRvVUkgdjAuNy42MRtbMzltChtbMzJtG1sxbSAgICBVcGRhdGluZxtbMjJtG1szOW0gYC9wcml2YXRlL3Zhci9mb2xkZXJzL3k5L3hoOTRmdnBkMmhsNTB6czAyNGhoamwxODAwMDBnbi9UL2psX2U5blkyai9NYW5pZmVzdC50b21sYAogIBtbOTBtWzZlNjk2YzcyXSAbWzM5bRtbOTFtLSBBYnN0cmFjdFBsdXRvRGluZ2V0amVzIHYxLjMuMhtbMzltCiAgG1s5MG1bM2RhMDAyZjddIBtbMzltG1s5MW0tIENvbG9yVHlwZXMgdjAuMTEuNRtbMzltCiAgG1s5MG1bNTNjNDhjMTddIBtbMzltG1s5MW0tIEZpeGVkUG9pbnROdW1iZXJzIHYwLjguNRtbMzltCiAgG1s5MG1bNDdkMmVkMmJdIBtbMzltG1s5MW0tIEh5cGVyc2NyaXB0IHYwLjAuNRtbMzltCiAgG1s5MG1bYjVmODFlNTldIBtbMzltG1s5MW0tIElPQ2FwdHVyZSB2MC4yLjUbWzM5bQogIBtbOTBtWzY4MmMwNmEwXSAbWzM5bRtbOTFtLSBKU09OIHYwLjIxLjQbWzM5bQogIBtbOTBtWzZjNmUyZTZjXSAbWzM5bRtbOTFtLSBNSU1FcyB2MS4wLjAbWzM5bQogIBtbOTBtWzY5ZGUwYTY5XSAbWzM5bRtbOTFtLSBQYXJzZXJzIHYyLjguMRtbMzltCiAgG1s5MG1bN2Y5MDRkZmVdIBtbMzltG1s5MW0tIFBsdXRvVUkgdjAuNy42MRtbMzltCiAgG1s5MG1bYWVhN2JlMDFdIBtbMzltG1s5MW0tIFByZWNvbXBpbGVUb29scyB2MS4yLjEbWzM5bQogIBtbOTBtWzIxMjE2YzZhXSAbWzM5bRtbOTFtLSBQcmVmZXJlbmNlcyB2MS40LjMbWzM5bQogIBtbOTBtWzE4OWEzODY3XSAbWzM5bRtbOTFtLSBSZWV4cG9ydCB2MS4yLjIbWzM5bQogIBtbOTBtWzEwNzQ1YjE2XSAbWzM5bRtbOTFtLSBTdGF0aXN0aWNzIHYxLjExLjEbWzM5bQogIBtbOTBtWzVjMjc0N2Y4XSAbWzM5bRtbOTFtLSBVUklzIHYxLjUuMRtbMzltCiAgG1s5MG1bMGRhZDg0YzVdIBtbMzltG1s5MW0tIEFyZ1Rvb2xzIHYxLjEuMhtbMzltCiAgG1s5MG1bNTZmMjJkNzJdIBtbMzltG1s5MW0tIEFydGlmYWN0cyB2MS4xMS4wG1szOW0KICAbWzkwbVthZGUyY2E3MF0gG1szOW0bWzkxbS0gRGF0ZXMgdjEuMTEuMBtbMzltCiAgG1s5MG1bZjQzYTI0MWZdIBtbMzltG1s5MW0tIERvd25sb2FkcyB2MS42LjAbWzM5bQogIBtbOTBtWzdiMWY2MDc5XSAbWzM5bRtbOTFtLSBGaWxlV2F0Y2hpbmcgdjEuMTEuMBtbMzltCiAgG1s5MG1bYjc3ZTBhNGNdIBtbMzltG1s5MW0tIEludGVyYWN0aXZlVXRpbHMgdjEuMTEuMBtbMzltCiAgG1s5MG1bYjI3MDMyYzJdIBtbMzltG1s5MW0tIExpYkNVUkwgdjAuNi40G1szOW0KICAbWzkwbVs3NmY4NTQ1MF0gG1szOW0bWzkxbS0gTGliR2l0MiB2MS4xMS4wG1szOW0KICAbWzkwbVs4ZjM5OWRhM10gG1szOW0bWzkxbS0gTGliZGwgdjEuMTEuMBtbMzltCiAgG1s5MG1bMzdlMmU0NmRdIBtbMzltG1s5MW0tIExpbmVhckFsZ2VicmEgdjEuMTEuMBtbMzltCiAgG1s5MG1bNTZkZGIwMTZdIBtbMzltG1s5MW0tIExvZ2dpbmcgdjEuMTEuMBtbMzltCiAgG1s5MG1bZDZmNDM3NmVdIBtbMzltG1s5MW0tIE1hcmtkb3duIHYxLjExLjAbWzM5bQogIBtbOTBtW2E2M2FkMTE0XSAbWzM5bRtbOTFtLSBNbWFwIHYxLjExLjAbWzM5bQogIBtbOTBtW2NhNTc1OTMwXSAbWzM5bRtbOTFtLSBOZXR3b3JrT3B0aW9ucyB2MS4yLjAbWzM5bQogIBtbOTBtWzQ0Y2ZlOTVhXSAbWzM5bRtbOTFtLSBQa2cgdjEuMTEuMBtbMzltCiAgG1s5MG1bZGUwODU4ZGFdIBtbMzltG1s5MW0tIFByaW50ZiB2MS4xMS4wG1szOW0KICAbWzkwbVs5YTNmODI4NF0gG1szOW0bWzkxbS0gUmFuZG9tIHYxLjExLjAbWzM5bQogIBtbOTBtW2VhOGU5MTljXSAbWzM5bRtbOTFtLSBTSEEgdjAuNy4wG1szOW0KICAbWzkwbVs5ZTg4YjQyYV0gG1szOW0bWzkxbS0gU2VyaWFsaXphdGlvbiB2MS4xMS4wG1szOW0KICAbWzkwbVtmYTI2N2YxZl0gG1szOW0bWzkxbS0gVE9NTCB2MS4wLjMbWzM5bQogIBtbOTBtW2E0ZTU2OWE2XSAbWzM5bRtbOTFtLSBUYXIgdjEuMTAuMBtbMzltCiAgG1s5MG1bOGRmZWQ2MTRdIBtbMzltG1s5MW0tIFRlc3QgdjEuMTEuMBtbMzltCiAgG1s5MG1bY2Y3MTE4YTddIBtbMzltG1s5MW0tIFVVSURzIHYxLjExLjAbWzM5bQogIBtbOTBtWzRlYzBhODNlXSAbWzM5bRtbOTFtLSBVbmljb2RlIHYxLjExLjAbWzM5bQogIBtbOTBtW2U2NmUwMDc4XSAbWzM5bRtbOTFtLSBDb21waWxlclN1cHBvcnRMaWJyYXJpZXNfamxsIHYxLjEuMSswG1szOW0KICAbWzkwbVtkZWFjOWI0N10gG1szOW0bWzkxbS0gTGliQ1VSTF9qbGwgdjguNi4wKzAbWzM5bQogIBtbOTBtW2UzN2RhZjY3XSAbWzM5bRtbOTFtLSBMaWJHaXQyX2psbCB2MS43LjIrMBtbMzltCiAgG1s5MG1bMjk4MTZiNWFdIBtbMzltG1s5MW0tIExpYlNTSDJfamxsIHYxLjExLjArMRtbMzltCiAgG1s5MG1bYzhmZmQ5YzNdIBtbMzltG1s5MW0tIE1iZWRUTFNfamxsIHYyLjI4LjYrMBtbMzltCiAgG1s5MG1bMTRhMzYwNmRdIBtbMzltG1s5MW0tIE1vemlsbGFDQUNlcnRzX2psbCB2MjAyMy4xMi4xMhtbMzltCiAgG1s5MG1bNDUzNjYyOWFdIBtbMzltG1s5MW0tIE9wZW5CTEFTX2psbCB2MC4zLjI3KzEbWzM5bQogIBtbOTBtWzgzNzc1YTU4XSAbWzM5bRtbOTFtLSBabGliX2psbCB2MS4yLjEzKzEbWzM5bQogIBtbOTBtWzhlODUwYjkwXSAbWzM5bRtbOTFtLSBsaWJibGFzdHJhbXBvbGluZV9qbGwgdjUuMTEuMCswG1szOW0KICAbWzkwbVs4ZTg1MGVkZV0gG1szOW0bWzkxbS0gbmdodHRwMl9qbGwgdjEuNTkuMCswG1szOW0KICAbWzkwbVszZjE5ZTkzM10gG1szOW0bWzkxbS0gcDd6aXBfamxsIHYxNy40LjArMhtbMzltCgobWzBtG1sxbUluc3RhbnRpYXRpbmcuLi4bWzIybQobWzkwbT09PRtbMzltCgobWzBtG1sxbVByZWNvbXBpbGluZy4uLhtbMjJtChtbOTBtPT09G1szOW0KG1szMm0bWzFtICBBY3RpdmF0aW5nG1syMm0bWzM5bSBwcm9qZWN0IGF0IGAvcHJpdmF0ZS92YXIvZm9sZGVycy95OS94aDk0ZnZwZDJobDUwenMwMjRoaGpsMTgwMDAwZ24vVC9qbF9lOW5ZMmpgsVBsdXRvTW9uYWNvRWRpdG9y2gHcChtbMG0bWzFtSW5zdGFudGlhdGluZy4uLhtbMjJtChtbOTBtPT09G1szOW0KChtbMG0bWzFtUmVzb2x2aW5nLi4uG1syMm0KG1s5MG09PT0bWzM5bQobWzMybRtbMW0gIE5vIENoYW5nZXMbWzIybRtbMzltIHRvIGAvcHJpdmF0ZS92YXIvZm9sZGVycy95OS94aDk0ZnZwZDJobDUwenMwMjRoaGpsMTgwMDAwZ24vVC9qbF9lOW5ZMmovUHJvamVjdC50b21sYAobWzMybRtbMW0gIE5vIENoYW5nZXMbWzIybRtbMzltIHRvIGAvcHJpdmF0ZS92YXIvZm9sZGVycy95OS94aDk0ZnZwZDJobDUwenMwMjRoaGpsMTgwMDAwZ24vVC9qbF9lOW5ZMmovTWFuaWZlc3QudG9tbGAKChtbMG0bWzFtUHJlY29tcGlsaW5nLi4uG1syMm0KG1s5MG09PT0bWzM5bQobWzMybRtbMW0gIEFjdGl2YXRpbmcbWzIybRtbMzltIHByb2plY3QgYXQgYC9wcml2YXRlL3Zhci9mb2xkZXJzL3k5L3hoOTRmdnBkMmhsNTB6czAyNGhoamwxODAwMDBnbi9UL2psX2U5blkyamCnZW5hYmxlZMO3cmVzdGFydF9yZWNvbW1lbmRlZF9tc2fAtHJlc3RhcnRfcmVxdWlyZWRfbXNnwK1idXN5X3BhY2thZ2VzkLZ3YWl0aW5nX2Zvcl9wZXJtaXNzaW9uwtksd2FpdGluZ19mb3JfcGVybWlzc2lvbl9idXRfcHJvYmFibHlfZGlzYWJsZWTCq2NlbGxfaW5wdXRzhtkkODYwOGNiYWMtYmMyZS00NDgyLWEwMjQtZDA1NzYyMTg2NThihKdjZWxsX2lk2SQ4NjA4Y2JhYy1iYzJlLTQ0ODItYTAyNC1kMDU3NjIxODY1OGKkY29kZdksbWQiIiIKIyBIb3cgdG8gcnVuIFJ1c3QgY29kZSBhcyBhIHNjcmlwdAoiIiKobWV0YWRhdGGDqXNob3dfbG9nc8OoZGlzYWJsZWTCrnNraXBfYXNfc2NyaXB0wqtjb2RlX2ZvbGRlZMPZJGJhMjM5MTdlLWYwYjItMTFlZi0xOWQ4LTg3YmEwZGIxYTU5YoSnY2VsbF9pZNkkYmEyMzkxN2UtZjBiMi0xMWVmLTE5ZDgtODdiYTBkYjFhNTlipGNvZGXZMGJlZ2luCgl1c2luZyBQbHV0b01vbmFjb0VkaXRvcjogTW9uYWNvRWRpdG9yCmVuZKhtZXRhZGF0YYOpc2hvd19sb2dzw6hkaXNhYmxlZMKuc2tpcF9hc19zY3JpcHTCq2NvZGVfZm9sZGVkwtkkYzAzMmZkMTItNTRlZi00YjU1LWJkNzQtMDUwNTczYmE1ODE0hKdjZWxsX2lk2SRjMDMyZmQxMi01NGVmLTRiNTUtYmQ3NC0wNTA1NzNiYTU4MTSkY29kZdnGbWQiIiIKVG8gcnVuIHRoaXMgbm90ZWJvb2ssIHlvdSBuZWVkIHRvIGluc3RhbGwgUnVzdCB0byBiZSBhYmxlIHRvIHVzZSBgY2FyZ29gIGFuZCBgcnVzdC1zY3JpcHRgLgoKWW91IGNhbiBpbnN0YWxsIGBydXN0LXNjcmlwdGAgd2l0aCB0aGUgZm9sbG93aW5nIHNjcmlwdDoKCmBgYHNoCiQgY2FyZ28gaW5zdGFsbCBydXN0LXNjcmlwdApgYGAKIiIiqG1ldGFkYXRhg6lzaG93X2xvZ3PDqGRpc2FibGVkwq5za2lwX2FzX3NjcmlwdMKrY29kZV9mb2xkZWTD2SRlYWI4ZTBjYS05ZjJlLTRiOWEtOTNiZi05ZjRiZjM0NzdmNjCEp2NlbGxfaWTZJGVhYjhlMGNhLTlmMmUtNGI5YS05M2JmLTlmNGJmMzQ3N2Y2MKRjb2Rl2fJiZWdpbgoJZXh0ID0gIi5ycyIKICAgIHRhcmdldGZpbGUgPSBqb2lucGF0aChmaXJzdChzcGxpdChAX19GSUxFX18sICIuamwjPT0jIikpKSAqIGV4dAoJaXNmaWxlKHRhcmdldGZpbGUpIHx8IHRvdWNoKHRhcmdldGZpbGUpCglpbml0Q29kZSA9IGpvaW4ocmVhZGxpbmVzKHRhcmdldGZpbGUpLCAnXG4nKQogICAgQGJpbmQgc291cmNlY29kZSBNb25hY29FZGl0b3IoInJ1c3QiLCBpbml0Q29kZSwgaGVpZ2h0ID0zMDApCmVuZKhtZXRhZGF0YYOpc2hvd19sb2dzw6hkaXNhYmxlZMKuc2tpcF9hc19zY3JpcHTCq2NvZGVfZm9sZGVkw9kkMDllYmFiNDAtNmQ1Ni00M2IyLWI3Y2MtNDFmMmQ0ZjdjZjcwhKdjZWxsX2lk2SQwOWViYWI0MC02ZDU2LTQzYjItYjdjYy00MWYyZDRmN2NmNzCkY29kZdoCUmxldAogICAgc2hvdWxkcnVuID0gZmFsc2UKICAgIGlmICFpc21pc3Npbmcoc291cmNlY29kZSkKICAgICAgICBpZiBpbml0Q29kZSAhPSBzb3VyY2Vjb2RlCiAgICAgICAgICAgICMgVXBkYXRlIGZpbGUKICAgICAgICAgICAgd3JpdGUodGFyZ2V0ZmlsZSwgc291cmNlY29kZSkKICAgICAgICAgICAgIyBJZiB1cGRhdGVkLCB3ZSBzaG91bGQgcnVuIGNvZGUKICAgICAgICAgICAgc2hvdWxkcnVuID0gdHJ1ZQogICAgICAgIGVuZAogICAgICAgIGlmIHNob3VsZHJ1bgogICAgICAgICAgICBta3RlbXBkaXIoKSBkbyBkCiAgICAgICAgICAgICAgICB3cml0ZShqb2lucGF0aChkLCB0YXJnZXRmaWxlKSwgc291cmNlY29kZSkKICAgICAgICAgICAgICAgIHRyeQogICAgICAgICAgICAgICAgICAgIHJ1bihgcnVzdC1zY3JpcHQgJChqb2lucGF0aChkLCB0YXJnZXRmaWxlKSlgKQogICAgICAgICAgICAgICAgY2F0Y2ggZQogICAgICAgICAgICAgICAgICAgIGUgaXNhIFByb2Nlc3NGYWlsZWRFeGNlcHRpb24gfHwgcmV0aHJvdyhlKQogICAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIGVuZAogICAgICAgIGVuZAogICAgZW5kCglub3RoaW5nCmVuZKhtZXRhZGF0YYOpc2hvd19sb2dzw6hkaXNhYmxlZMKuc2tpcF9hc19zY3JpcHTCq2NvZGVfZm9sZGVkw9kkOTE0OWNkYmEtNGIxNi00MGZjLTg4OTYtN2YzOWRkMzVkNjgyhKdjZWxsX2lk2SQ5MTQ5Y2RiYS00YjE2LTQwZmMtODg5Ni03ZjM5ZGQzNWQ2ODKkY29kZdlIYmVnaW4KCXJ1bihgcnVzdGMgLS12ZXJzaW9uYCkKCXJ1bihgcnVzdC1zY3JpcHQgLS12ZXJzaW9uYCkKCW5vdGhpbmcKZW5kqG1ldGFkYXRhg6lzaG93X2xvZ3PDqGRpc2FibGVkwq5za2lwX2FzX3NjcmlwdMKrY29kZV9mb2xkZWTCq25vdGVib29rX2lk2SQzMzZmMzI4YS1mNjNiLTExZWYtMjQyYS0xNTEwYjllNTllOWKraW5fdGVtcF9kaXLCqG1ldGFkYXRhgA==";
window.pluto_preamble_html = undefined;
</script>
<meta name="pluto-insertion-spot-parameters">
<script src="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.0f03e089.js" type="module" defer></script><script src="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/index.11569726.js"></script><link rel="pluto-external-source" id="MathJax-script" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/tex-svg-full.f72d1ae1.js" type="text/javascript">
<meta name="pluto-insertion-spot-preload">
</head><body class="loading no-MαθJax"> <div style="min-height:100vh;display:flex"> <pluto-editor class="fullscreen"> <progress style="filter:grayscale()" 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