Skip to content

Instantly share code, notes, and snippets.

@terasakisatoshi
Last active January 5, 2024 05:17
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save terasakisatoshi/93e160fda48482c8eef855b8cf39f59f to your computer and use it in GitHub Desktop.
Save terasakisatoshi/93e160fda48482c8eef855b8cf39f59f to your computer and use it in GitHub Desktop.
変分モンテカルロ法で遊ぶ
<!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.19.36/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.19.36/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.19.36/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.19.36/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.19.36/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.19.36/frontend-dist/editor.23f324ce.js" integrity="sha384-4l9NNFe3thsPdrGcAdnBEfNmojvUidAN6OBuPDii3JDkVIF5TMXkICWqHEsh8sXq" crossorigin="anonymous"></script><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/juliamono.c6034ab4.css" integrity="sha384-n0za6lUXlyf4XC+nGkZWj3TLDnRbNpAcoi4PZGSlQMPoyqGa9kGY+ZXkUgZGIhQt" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/editor.c98fb036.css" integrity="sha384-hq2r9iSY9J+3FSHCB6PZ5jTCnnhSL7DhUmwTXDjMmklxEsQ+2YHWCS7Cm0i5Y/rT" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/vollkorn.089565a8.css" integrity="sha384-jnV/84VtSgBLF70H+s2rxJcOUZIMDR+X/ElFZA83i9ZtZSWiIMFAgPyrWkOJV08q" 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.19.36/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.19.36/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.19.36/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.19.36/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.19.36/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.19.36/frontend-dist/editor.2dae1b31.css" type="text/css" integrity="sha384-Tcw0GaMme/KbluiF6zJjOMqdXU+GeDMSRoX0MhIH0cfyRAO7XQQWWwfsJY7Wx2yK" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/editor.82b535be.css" type="text/css" media="all" data-pluto-file="hide-ui" integrity="sha384-oYS1v2EOz2AtXoLXUVgvn3mEtQdJg1mfwZwLfJi++UQyF/qo43KuvjZ603iShU3X" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/editor.ec3a6a5b.css" type="text/css" integrity="sha384-SuGFZkuBuG+lmfz6RbnvjtcyIh8W1xDYi1sebwn7bl9VMQnhmr6EniSmIdcHJ55l" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/editor.1f4cf2ca.css" type="text/css" integrity="sha384-lBSBsn8FT1UzGOsNVudfV8RSHQEuNWqrCb6xQnF10uvF9AiCzYsCRXvKlhtQvV3c" crossorigin="anonymous"><link rel="preload" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/juliamono.c6034ab4.css" as="style" integrity="sha384-n0za6lUXlyf4XC+nGkZWj3TLDnRbNpAcoi4PZGSlQMPoyqGa9kGY+ZXkUgZGIhQt" crossorigin="anonymous"><link rel="preload" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/vollkorn.089565a8.css" as="style" integrity="sha384-jnV/84VtSgBLF70H+s2rxJcOUZIMDR+X/ElFZA83i9ZtZSWiIMFAgPyrWkOJV08q" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/editor.e82e08bd.css" type="text/css" integrity="sha384-7YN+h8b6N4N65qk8TG/J2KPF95D8z3sGNd06rokz4CX9oWu0KnRAF5cVWu3BkkaN" 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,IyMjIEEgUGx1dG8uamwgbm90ZWJvb2sgIyMjCiMgdjAuMTkuMzYKCnVzaW5nIE1hcmtkb3duCnVzaW5nIEludGVyYWN0aXZlVXRpbHMKCiMg4pWU4pWQ4pWhIDQ3MjUwMGMxLTgyOTUtNDljNy1iNmU4LWQ5NTc5ODdhODYwYQp1c2luZyBQcmludGYKCiMg4pWU4pWQ4pWhIGE0OTJhNWY1LWVkYzgtNGQ5OS1iMmMzLTUxNzZlOTQ0YTg2Zgp1c2luZyBUZXN0CgojIOKVlOKVkOKVoSA3MzMzOGNkNC0yYTE3LTQzOTgtYTE5ZC05OTg2MDFiMzBiMDIKbWQiIiIKClvlpInliIbjg6Ljg7Pjg4bjgqvjg6vjg60oVk1DKeOCkuOChOOBo+OBpuOBv+OCi37msLTntKDljp/lrZB+XShodHRwczovL21peWFudGFydW1pLmhhdGVuYWJsb2cuY29tL2VudHJ5LzIwMjIvMDQvMDgvMDgwMDAwKSDjga4gSnVsaWEg5a6f6KOF44KS6KGM44GG77yOCgrjgajjgorjgYLjgYjjgZrlhpnntYzjgZfjgZ/jgZ/jgoEgQyDjg5fjg63jgrDjg6njg6DjgavlvJXjgaPlvLXjgonjgozjgZ/mm7jjgY3mlrnjgpLjgZfjgabjgYTjgovvvI4g5L6L44GI44Gw5q2j6KaP5YiG5biD44Gv44Oc44OD44Kv44K544Of44Ol44Op44O844Ki44Or44K044Oq44K644Og44KS5L2/44Gj44Gm44GE44KL44GMIEp1bGlhIOeahOOBq+OBryByYW5kbiDplqLmlbDjgpLlkbzjgbnjgbDoia/jgYTvvI4KCuOBvuOBnyBNZXRyb3BvbGlzIHRlc3Rpbmcg44Gv44OZ44K/44GM44GN44GX44Gm44KL44Gf44KB5Ly844Gf44KI44GG44Gq44Ot44K444OD44Kv44KS77yU5Zue44KC5pu444GP5b+F6KaB44GM44GC44Gj44Gf77yO5q2j55u044Gq6Kmx5rCX44GM54uC44GE44Gd44GG44Gg44Gj44Gf77yOCiIiIgoKIyDilZTilZDilaEgNjQ5MGQ3OTItOGU5MS00M2U3LWIyYmYtNWNkYWY2NTdiOTgzCiIiIgoJQyBwb3J0IHRvIEp1bGlhIGZvciBgc2hva2lrYWAKIiIiCmZ1bmN0aW9uIHNldDJ6ZXJvIShkYXRhMTo6VCwgZGF0YTI6OlQsIGRhdGEzOjpUKSB3aGVyZSB7VDw6QWJzdHJhY3RWZWN0b3J9CiAgICBmb3IgZCBpbiAoZGF0YTEsIGRhdGEyLCBkYXRhMykKICAgICAgICBmaWxsIShkLCB6ZXJvKGVsdHlwZShkKSkpCiAgICBlbmQKZW5kCgojIOKVlOKVkOKVoSA1MDYzMGIzNS1jZGZhLTQ5OGMtYTU5NC1kYjIzMDQwYTE5N2EKQHRlc3RzZXQgInNldDJ6ZXJvISIgYmVnaW4KCWRhdGExID0gcmFuZCgxMCkKICAgIGRhdGEyID0gcmFuZCgxMCkKICAgIGRhdGEzID0gcmFuZCgxMCkKICAgIHNldDJ6ZXJvIShkYXRhMSwgZGF0YTIsIGRhdGEzKQogICAgQHRlc3QgZGF0YTEgPT0gZGF0YTIgPT0gZGF0YTMgPT0gemVyb3MoMTApCmVuZAoKIyDilZTilZDilaEgYTU1OTRmODYtNjQ3Ni00MzAwLWE4MTItYWNhZDJjMDFjY2NhCmZ1bmN0aW9uIGluaXRjZmchKGRhdGExOjpULCBkYXRhMjo6VCwgZGF0YTM6OlQpIHdoZXJlIHtUPDpBYnN0cmFjdFZlY3Rvcn0KICAgIGZvciBpIGluIGVhY2hpbmRleChkYXRhMSwgZGF0YTIsIGRhdGEzKQogICAgICAgIGRhdGExW2ldID0gKHJhbmQoKSAtIDAuNSkgKiAyICogMgogICAgICAgIGRhdGEyW2ldID0gKHJhbmQoKSAtIDAuNSkgKiAyICogMgogICAgICAgIGRhdGEzW2ldID0gKHJhbmQoKSAtIDAuNSkgKiAyICogMgogICAgZW5kCmVuZAoKIyDilZTilZDilaEgYzM3YmI5ZmEtM2NkNC00YTk1LWJhYzEtOWYxNzI4ZmUyZDE3CkB0ZXN0c2V0ICJpbml0Y2ZnISIgYmVnaW4KICAgIGRhdGExID0gcmFuZCgxMCkKICAgIGRhdGEyID0gcmFuZCgxMCkKICAgIGRhdGEzID0gcmFuZCgxMCkKICAgIGluaXRjZmchKGRhdGExLCBkYXRhMiwgZGF0YTMpCiAgICBAdGVzdCBhbGwoLTIgLjw9IGRhdGExIC48IDIpCiAgICBAdGVzdCBhbGwoLTIgLjw9IGRhdGEyIC48IDIpCiAgICBAdGVzdCBhbGwoLTIgLjw9IGRhdGEzIC48IDIpCmVuZAoKIyDilZTilZDilaEgYmZmM2Q3MDEtZjUyNy00ODY0LTlkOWUtZjZhMTM4ZTMzNWI5CmZ1bmN0aW9uIG1ldHJvcG9saXNfd2FsayEoCiAgICBkYXRhMTo6VCwKICAgIGRhdGEyOjpULAogICAgZGF0YTM6OlQsCiAgICBkYXRhNDo6VCwKICAgIGRhdGE1OjpULAogICAgZGF0YTY6OlQsCikgd2hlcmUge1Q8OkFic3RyYWN0VmVjdG9yfQogICAgc2lnbWEgPSAwLjQKICAgIHAgPSBWZWN0b3J7RmxvYXQ2NH0odW5kZWYsIGxlbmd0aChkYXRhMSkpCiAgICBxID0gVmVjdG9ye0Zsb2F0NjR9KHVuZGVmLCBsZW5ndGgoZGF0YTEpKQogICAgZm9yIGkgaW4gZWFjaGluZGV4KHAsIHEsIGRhdGExLCBkYXRhMiwgZGF0YTMsIGRhdGE0LCBkYXRhNSwgZGF0YTYpCiAgICAgICAgIyBCb3ggTXVsbGVyIHRyYW5zZm9ybWF0aW9uIOOBq+OCiOOBo+OBpuS9nOOBo+OBpuOCi+OBruOBpyByYW5kbiDnn6XjgaPjgabjgozjgbDljYHliIYKICAgICAgICAjIHgKICAgICAgICBkYXRhNFtpXSA9IGRhdGExW2ldCiAgICAgICAgcFtpXSA9IHJhbmQoKQogICAgICAgIHFbaV0gPSByYW5kKCkKICAgICAgICBkYXRhMVtpXSA9IGRhdGExW2ldICsgc2lnbWEgKiBzcXJ0KC0yICogbG9nKHBbaV0pKSAqIGNvcygyICogcGkgKiBxW2ldKQoKICAgICAgICAjeQogICAgICAgIGRhdGE1W2ldID0gZGF0YTJbaV0KICAgICAgICBwW2ldID0gcmFuZCgpCiAgICAgICAgcVtpXSA9IHJhbmQoKQogICAgICAgIGRhdGEyW2ldID0gZGF0YTJbaV0gKyBzaWdtYSAqIHNxcnQoLTIgKiBsb2cocFtpXSkpICogY29zKDIgKiBwaSAqIHFbaV0pCgogICAgICAgICN6CiAgICAgICAgZGF0YTZbaV0gPSBkYXRhM1tpXQogICAgICAgIHBbaV0gPSByYW5kKCkKICAgICAgICBxW2ldID0gcmFuZCgpCiAgICAgICAgZGF0YTNbaV0gPSBkYXRhM1tpXSArIHNpZ21hICogc3FydCgtMiAqIGxvZyhwW2ldKSkgKiBjb3MoMiAqIHBpICogcVtpXSkKICAgIGVuZAplbmQKCiMg4pWU4pWQ4pWhIGY4MDQ4NTUwLWRmNmItNDMxMC1hZWIxLTZlZTZlNzc0MzViNwpmdW5jdGlvbiBtYWluKCkKICAgIG53YWxrZXJzID0gNDAwCgogICAgc2FtcGxlID0gMzAwMDAKICAgIGFjYyA9IHplcm9zKEludCwgbndhbGtlcnMpCiAgICBhbHBoYV8wID0gMC44CiAgICB4ID0gVmVjdG9ye0Zsb2F0NjR9KHVuZGVmLCBud2Fsa2VycykKICAgIHkgPSBWZWN0b3J7RmxvYXQ2NH0odW5kZWYsIG53YWxrZXJzKQogICAgeiA9IFZlY3RvcntGbG9hdDY0fSh1bmRlZiwgbndhbGtlcnMpCiAgICB4X2JhY2t1cCA9IFZlY3RvcntGbG9hdDY0fSh1bmRlZiwgbndhbGtlcnMpCiAgICB5X2JhY2t1cCA9IFZlY3RvcntGbG9hdDY0fSh1bmRlZiwgbndhbGtlcnMpCiAgICB6X2JhY2t1cCA9IFZlY3RvcntGbG9hdDY0fSh1bmRlZiwgbndhbGtlcnMpCiAgICByX2luaSA9IFZlY3RvcntGbG9hdDY0fSh1bmRlZiwgbndhbGtlcnMpCiAgICByX2ZpbiA9IFZlY3RvcntGbG9hdDY0fSh1bmRlZiwgbndhbGtlcnMpCiAgICByID0gVmVjdG9ye0Zsb2F0NjR9KHVuZGVmLCBud2Fsa2VycykKICAgIHBzaV9pbmkgPSBWZWN0b3J7RmxvYXQ2NH0odW5kZWYsIG53YWxrZXJzKQogICAgcHNpX2ZpbiA9IFZlY3RvcntGbG9hdDY0fSh1bmRlZiwgbndhbGtlcnMpCiAgICBTdW1fRV93ID0gemVyb3MobndhbGtlcnMpCiAgICBFX3cgPSB6ZXJvcyhud2Fsa2VycykKICAgIEUgPSAwLjAKICAgIFN1bV9FZGxucHNpX3cgPSB6ZXJvcyhud2Fsa2VycykKICAgIEVkbG5wc2lfdyA9IHplcm9zKG53YWxrZXJzKQogICAgRWRsbnBzaSA9IDAuMAogICAgU3VtX2RsbnBzaV93ID0gemVyb3MobndhbGtlcnMpCiAgICBkbG5wc2lfdyA9IHplcm9zKG53YWxrZXJzKQogICAgZGxucHNpID0gMAogICAgaCA9IDFlLTMKCiAgICBhbHBoYV9maW4gPSBhbHBoYV8wCiAgICB3aGlsZSB0cnVlCiAgICAgICAgYWxwaGFfaW5pID0gYWxwaGFfZmluCiAgICAgICAgc2V0Mnplcm8hKFN1bV9FX3csIFN1bV9FZGxucHNpX3csIFN1bV9kbG5wc2lfdykKICAgICAgICBpbml0Y2ZnISh4LCB5LCB6KQogICAgICAgIGZvciBpID0gMTpzYW1wbGUKICAgICAgICAgICAgbWV0cm9wb2xpc193YWxrISh4LCB5LCB6LCB4X2JhY2t1cCwgeV9iYWNrdXAsIHpfYmFja3VwKQogICAgICAgICAgICBmb3IgaiBpbiBlYWNoaW5kZXgoCiAgICAgICAgICAgICAgICB4LAogICAgICAgICAgICAgICAgeSwKICAgICAgICAgICAgICAgIHosCiAgICAgICAgICAgICAgICB4X2JhY2t1cCwKICAgICAgICAgICAgICAgIHlfYmFja3VwLAogICAgICAgICAgICAgICAgel9iYWNrdXAsCiAgICAgICAgICAgICAgICByX2luaSwKICAgICAgICAgICAgICAgIHBzaV9pbmksCiAgICAgICAgICAgICAgICByX2ZpbiwKICAgICAgICAgICAgICAgIHBzaV9maW4sCiAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIHJfaW5pW2pdID0gc3FydCh4X2JhY2t1cFtqXV4yICsgeV9iYWNrdXBbal1eMiArIHpfYmFja3VwW2pdXjIpCiAgICAgICAgICAgICAgICBwc2lfaW5pW2pdID0gZXhwKC0yYWxwaGFfaW5pICogcl9pbmlbal0pCgogICAgICAgICAgICAgICAgcl9maW5bal0gPSBzcXJ0KHhbal1eMiArIHlbal1eMiArIHpbal1eMikKICAgICAgICAgICAgICAgIHBzaV9maW5bal0gPSBleHAoLTJhbHBoYV9pbmkgKiByX2ZpbltqXSkKCiAgICAgICAgICAgICAgICBpZiByYW5kKCkgPCAocHNpX2ZpbltqXSAvIHBzaV9pbmlbal0pCiAgICAgICAgICAgICAgICAgICAgYWNjW2pdID0gYWNjW2pdICsgMQogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIHhbal0gPSB4X2JhY2t1cFtqXQogICAgICAgICAgICAgICAgICAgIHlbal0gPSB5X2JhY2t1cFtqXQogICAgICAgICAgICAgICAgICAgIHpbal0gPSB6X2JhY2t1cFtqXQogICAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgICAgICBpZiBpIOKJpSA0MDAwCiAgICAgICAgICAgICAgICAgICAgcltqXSA9IHNxcnQoeFtqXSAqIHhbal0gKyB5W2pdICogeVtqXSArIHpbal0gKiB6W2pdKQogICAgICAgICAgICAgICAgICAgIFN1bV9FX3dbal0gPQogICAgICAgICAgICAgICAgICAgICAgICBTdW1fRV93W2pdIC0gMSAvIHJbal0gLSAwLjUgKiBhbHBoYV9pbmkgKiAoYWxwaGFfaW5pIC0gMiAvIHJbal0pCiAgICAgICAgICAgICAgICAgICAgU3VtX0VkbG5wc2lfd1tqXSA9CiAgICAgICAgICAgICAgICAgICAgICAgIFN1bV9FZGxucHNpX3dbal0gKwogICAgICAgICAgICAgICAgICAgICAgICAoLXJbal0pICogKC0xIC8gcltqXSAtIDAuNSAqIGFscGhhX2luaSAqIChhbHBoYV9pbmkgLSAyIC8gcltqXSkpCiAgICAgICAgICAgICAgICAgICAgU3VtX2RsbnBzaV93W2pdID0gU3VtX2RsbnBzaV93W2pdIC0gcltqXQoKICAgICAgICAgICAgICAgICAgICBFX3dbal0gPSBTdW1fRV93W2pdIC8gKGkgLSAzOTk5KQogICAgICAgICAgICAgICAgICAgIEVkbG5wc2lfd1tqXSA9IFN1bV9FZGxucHNpX3dbal0gLyAoaSAtIDM5OTkpCiAgICAgICAgICAgICAgICAgICAgZGxucHNpX3dbal0gPSBTdW1fZGxucHNpX3dbal0gLyAoaSAtIDM5OTkpCiAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgZW5kCiAgICAgICAgZW5kCiAgICAgICAgRSA9IDAKICAgICAgICBFZGxucHNpID0gMAogICAgICAgIGRsbnBzaSA9IDAKICAgICAgICAjIHdhbGtlcuWFqOOBpuOBruW5s+Wdh+OCkuWPluOCi+OBk+OBqOOBq+OBmeOCiwogICAgICAgIGZvciBqIGluIGVhY2hpbmRleChFX3csIEVkbG5wc2lfdywgZGxucHNpX3cpCiAgICAgICAgICAgIEUgPSBFICsgRV93W2pdCiAgICAgICAgICAgIEVkbG5wc2kgPSBFZGxucHNpICsgRWRsbnBzaV93W2pdCiAgICAgICAgICAgIGRsbnBzaSA9IGRsbnBzaSArIGRsbnBzaV93W2pdCiAgICAgICAgZW5kCgogICAgICAgIEUgPSBFIC8gbndhbGtlcnMKICAgICAgICBFZGxucHNpID0gRWRsbnBzaSAvIG53YWxrZXJzCiAgICAgICAgZGxucHNpID0gZGxucHNpIC8gbndhbGtlcnMgIyBkRS9kYWxwaGHjga7oqIjnrpfjgpLjgZnjgovjgZ/jgoHjga7pg6jlk4HjgpLoqIjnrpfjgZfjgZ8uCiAgICAgICAgZEUgPSAyICogKEVkbG5wc2kgLSBFICogZGxucHNpKQoKICAgICAgICBhbHBoYV9wbHVzID0gYWxwaGFfaW5pICsgaAogICAgICAgIGFscGhhX21pbnVzID0gYWxwaGFfaW5pIC0gaAoKICAgICAgICBzZXQyemVybyEoU3VtX0VfdywgU3VtX0VkbG5wc2lfdywgU3VtX2RsbnBzaV93KQogICAgICAgIGluaXRjZmchKHgsIHksIHopCgogICAgICAgIGZvciBpID0gMTpzYW1wbGUKICAgICAgICAgICAgbWV0cm9wb2xpc193YWxrISh4LCB5LCB6LCB4X2JhY2t1cCwgeV9iYWNrdXAsIHpfYmFja3VwKQogICAgICAgICAgICBmb3IgaiBpbiBlYWNoaW5kZXgoCiAgICAgICAgICAgICAgICB4LAogICAgICAgICAgICAgICAgeSwKICAgICAgICAgICAgICAgIHosCiAgICAgICAgICAgICAgICB4X2JhY2t1cCwKICAgICAgICAgICAgICAgIHlfYmFja3VwLAogICAgICAgICAgICAgICAgel9iYWNrdXAsCiAgICAgICAgICAgICAgICByX2luaSwKICAgICAgICAgICAgICAgIHBzaV9pbmksCiAgICAgICAgICAgICAgICByX2ZpbiwKICAgICAgICAgICAgICAgIHBzaV9maW4sCiAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICByX2luaVtqXSA9IHNxcnQoeF9iYWNrdXBbal1eMiArIHlfYmFja3VwW2pdXjIgKyB6X2JhY2t1cFtqXV4yKQogICAgICAgICAgICAgICAgcHNpX2luaVtqXSA9IGV4cCgtMiAqIGFscGhhX3BsdXMgKiByX2luaVtqXSkKCiAgICAgICAgICAgICAgICByX2ZpbltqXSA9IHNxcnQoeFtqXV4yICsgeVtqXV4yICsgeltqXV4yKQogICAgICAgICAgICAgICAgcHNpX2ZpbltqXSA9IGV4cCgtMiAqIGFscGhhX3BsdXMgKiByX2ZpbltqXSkKCiAgICAgICAgICAgICAgICBpZiAocmFuZCgpIDwgcHNpX2ZpbltqXSAvIHBzaV9pbmlbal0pCiAgICAgICAgICAgICAgICAgICAgYWNjW2pdICs9IDEKICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICB4W2pdID0geF9iYWNrdXBbal0KICAgICAgICAgICAgICAgICAgICB5W2pdID0geV9iYWNrdXBbal0KICAgICAgICAgICAgICAgICAgICB6W2pdID0gel9iYWNrdXBbal0KICAgICAgICAgICAgICAgIGVuZAoKICAgICAgICAgICAgICAgIGlmIGkg4omlIDQwMDAKICAgICAgICAgICAgICAgICAgICByW2pdID0gc3FydCh4W2pdICogeFtqXSArIHlbal0gKiB5W2pdICsgeltqXSAqIHpbal0pCiAgICAgICAgICAgICAgICAgICAgU3VtX0Vfd1tqXSA9CiAgICAgICAgICAgICAgICAgICAgICAgIFN1bV9FX3dbal0gLSAxIC8gcltqXSAtIDAuNSAqIGFscGhhX3BsdXMgKiAoYWxwaGFfcGx1cyAtIDIgLyByW2pdKQogICAgICAgICAgICAgICAgICAgIFN1bV9FZGxucHNpX3dbal0gPQogICAgICAgICAgICAgICAgICAgICAgICBTdW1fRWRsbnBzaV93W2pdICsKICAgICAgICAgICAgICAgICAgICAgICAgKC1yW2pdKSAqICgtMSAvIHJbal0gLSAwLjUgKiBhbHBoYV9wbHVzICogKGFscGhhX3BsdXMgLSAyIC8gcltqXSkpCiAgICAgICAgICAgICAgICAgICAgU3VtX2RsbnBzaV93W2pdID0gU3VtX2RsbnBzaV93W2pdIC0gcltqXQoKICAgICAgICAgICAgICAgICAgICBFX3dbal0gPSBTdW1fRV93W2pdIC8gKGkgLSAzOTk5KQogICAgICAgICAgICAgICAgICAgIEVkbG5wc2lfd1tqXSA9IFN1bV9FZGxucHNpX3dbal0gLyAoaSAtIDM5OTkpCiAgICAgICAgICAgICAgICAgICAgZGxucHNpX3dbal0gPSBTdW1fZGxucHNpX3dbal0gLyAoaSAtIDM5OTkpCiAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgZW5kCiAgICAgICAgZW5kCgogICAgICAgIEUgPSAwCiAgICAgICAgRWRsbnBzaSA9IDAKICAgICAgICBkbG5wc2kgPSAwCiAgICAgICAgIyB3YWxrZXLlhajjgabjga7lubPlnYfjgpLlj5bjgovjgZPjgajjgavjgZnjgosKICAgICAgICBmb3IgaiBpbiBlYWNoaW5kZXgoRV93KQogICAgICAgICAgICBFID0gRSArIEVfd1tqXQogICAgICAgICAgICBFZGxucHNpID0gRWRsbnBzaSArIEVkbG5wc2lfd1tqXQogICAgICAgICAgICBkbG5wc2kgPSBkbG5wc2kgKyBkbG5wc2lfd1tqXQogICAgICAgIGVuZAoKICAgICAgICBFID0gRSAvIG53YWxrZXJzCiAgICAgICAgRWRsbnBzaSA9IEVkbG5wc2kgLyBud2Fsa2VycwogICAgICAgIGRsbnBzaSA9IGRsbnBzaSAvIG53YWxrZXJzICMgZEUvZGFscGhhX3BsdXPjga7oqIjnrpfjgpLjgZnjgovjgZ/jgoHjga7pg6jlk4HjgpLoqIjnrpfjgZfjgZ8uCgogICAgICAgIGRFX3BsdXMgPSAyICogKEVkbG5wc2kgLSBFICogZGxucHNpKSAjIC8qZEUvZGFscGhhX3BsdXPjga7oqIjnrpfjgYzjgafjgY3jgZ8uKi8KCgogICAgICAgIHNldDJ6ZXJvIShTdW1fRV93LCBTdW1fRWRsbnBzaV93LCBTdW1fZGxucHNpX3cpCiAgICAgICAgaW5pdGNmZyEoeCwgeSwgeikKCiAgICAgICAgZm9yIGkgPSAxOnNhbXBsZQogICAgICAgICAgICBtZXRyb3BvbGlzX3dhbGshKHgsIHksIHosIHhfYmFja3VwLCB5X2JhY2t1cCwgel9iYWNrdXApCgogICAgICAgICAgICBmb3IgaiBpbiBlYWNoaW5kZXgoCiAgICAgICAgICAgICAgICB4LAogICAgICAgICAgICAgICAgeSwKICAgICAgICAgICAgICAgIHosCiAgICAgICAgICAgICAgICB4X2JhY2t1cCwKICAgICAgICAgICAgICAgIHlfYmFja3VwLAogICAgICAgICAgICAgICAgel9iYWNrdXAsCiAgICAgICAgICAgICAgICByX2luaSwKICAgICAgICAgICAgICAgIHBzaV9pbmksCiAgICAgICAgICAgICAgICByX2ZpbiwKICAgICAgICAgICAgICAgIHBzaV9maW4sCiAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICByX2luaVtqXSA9IHNxcnQoeF9iYWNrdXBbal1eMiArIHlfYmFja3VwW2pdXjIgKyB6X2JhY2t1cFtqXV4yKQogICAgICAgICAgICAgICAgcHNpX2luaVtqXSA9IGV4cCgtMiAqIGFscGhhX21pbnVzICogcl9pbmlbal0pCgogICAgICAgICAgICAgICAgcl9maW5bal0gPSBzcXJ0KHhbal1eMiArIHlbal1eMiArIHpbal1eMikKICAgICAgICAgICAgICAgIHBzaV9maW5bal0gPSBleHAoLTIgKiBhbHBoYV9taW51cyAqIHJfZmluW2pdKQoKICAgICAgICAgICAgICAgIGlmIChyYW5kKCkgPCBwc2lfZmluW2pdIC8gcHNpX2luaVtqXSkKICAgICAgICAgICAgICAgICAgICBhY2Nbal0gKz0gMQogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIHhbal0gPSB4X2JhY2t1cFtqXQogICAgICAgICAgICAgICAgICAgIHlbal0gPSB5X2JhY2t1cFtqXQogICAgICAgICAgICAgICAgICAgIHpbal0gPSB6X2JhY2t1cFtqXQogICAgICAgICAgICAgICAgZW5kCgogICAgICAgICAgICAgICAgaWYgaSDiiaUgNDAwMAogICAgICAgICAgICAgICAgICAgIHJbal0gPSBzcXJ0KHhbal0gKiB4W2pdICsgeVtqXSAqIHlbal0gKyB6W2pdICogeltqXSkKICAgICAgICAgICAgICAgICAgICBTdW1fRV93W2pdID0KICAgICAgICAgICAgICAgICAgICAgICAgU3VtX0Vfd1tqXSAtIDEgLyByW2pdIC0gMC41ICogYWxwaGFfbWludXMgKiAoYWxwaGFfbWludXMgLSAyIC8gcltqXSkKICAgICAgICAgICAgICAgICAgICBTdW1fRWRsbnBzaV93W2pdID0KICAgICAgICAgICAgICAgICAgICAgICAgU3VtX0VkbG5wc2lfd1tqXSArCiAgICAgICAgICAgICAgICAgICAgICAgICgtcltqXSkgKiAoLTEgLyByW2pdIC0gMC41ICogYWxwaGFfbWludXMgKiAoYWxwaGFfbWludXMgLSAyIC8gcltqXSkpCiAgICAgICAgICAgICAgICAgICAgU3VtX2RsbnBzaV93W2pdID0gU3VtX2RsbnBzaV93W2pdIC0gcltqXQoKICAgICAgICAgICAgICAgICAgICBFX3dbal0gPSBTdW1fRV93W2pdIC8gKGkgLSAzOTk5KQogICAgICAgICAgICAgICAgICAgIEVkbG5wc2lfd1tqXSA9IFN1bV9FZGxucHNpX3dbal0gLyAoaSAtIDM5OTkpCiAgICAgICAgICAgICAgICAgICAgZGxucHNpX3dbal0gPSBTdW1fZGxucHNpX3dbal0gLyAoaSAtIDM5OTkpCiAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgZW5kCiAgICAgICAgZW5kCgogICAgICAgIEUgPSAwCiAgICAgICAgRWRsbnBzaSA9IDAKICAgICAgICBkbG5wc2kgPSAwCiAgICAgICAgIyB3YWxrZXLlhajjgabjga7lubPlnYfjgpLlj5bjgovjgZPjgajjgavjgZnjgosKICAgICAgICBmb3IgaiBpbiBlYWNoaW5kZXgoRV93KQogICAgICAgICAgICBFID0gRSArIEVfd1tqXQogICAgICAgICAgICBFZGxucHNpID0gRWRsbnBzaSArIEVkbG5wc2lfd1tqXQogICAgICAgICAgICBkbG5wc2kgPSBkbG5wc2kgKyBkbG5wc2lfd1tqXQogICAgICAgIGVuZAoKICAgICAgICBFID0gRSAvIG53YWxrZXJzCiAgICAgICAgRWRsbnBzaSA9IEVkbG5wc2kgLyBud2Fsa2VycwogICAgICAgIGRsbnBzaSA9IGRsbnBzaSAvIG53YWxrZXJzICMgZEUvZGFscGhhX3BsdXPjga7oqIjnrpfjgpLjgZnjgovjgZ/jgoHjga7pg6jlk4HjgpLoqIjnrpfjgZfjgZ8uCgogICAgICAgIGRFX21pbnVzID0gMiAqIChFZGxucHNpIC0gRSAqIGRsbnBzaSkgIyAvKmRFL2RhbHBoYV9wbHVz44Gu6KiI566X44GM44Gn44GN44GfLiovCgogICAgICAgIGRkRSA9IChkRV9wbHVzIC0gZEVfbWludXMpIC8gKDIgKiBoKQogICAgICAgIGFscGhhX2ZpbiA9IGFscGhhX2luaSAtIGRFIC8gZGRFCiAgICAgICAgQGluZm8gYWxwaGFfZmluLCBhbHBoYV9pbmkKICAgICAgICBAaW5mbyBhYnMoYWxwaGFfZmluIC0gYWxwaGFfaW5pKQogICAgICAgIGlmIGFicyhhbHBoYV9maW4gLSBhbHBoYV9pbmkpIDwgMWUtNgogICAgICAgICAgICBicmVhawogICAgICAgIGVuZAogICAgZW5kCgogICAgYWxwaGFfdmEgPSBhbHBoYV9maW4KICAgIEBwcmludGYoIuOCqOODjeODq+OCruODvOOBjOacgOWwj+OBq+OBquOCi+WkieWIhuODkeODqeODoeODvOOCv+OBryUuMTBmXG4iLCBhbHBoYV92YSkKCiAgICBzZXQyemVybyEoU3VtX0VfdywgU3VtX0VkbG5wc2lfdywgU3VtX2RsbnBzaV93KQogICAgaW5pdGNmZyEoeCwgeSwgeikKCiAgICBmb3IgaSA9IDE6c2FtcGxlCiAgICAgICAgbWV0cm9wb2xpc193YWxrISh4LCB5LCB6LCB4X2JhY2t1cCwgeV9iYWNrdXAsIHpfYmFja3VwKQogICAgICAgIGZvciBqIGluCiAgICAgICAgICAgIGVhY2hpbmRleCh4LCB5LCB6LCB4X2JhY2t1cCwgeV9iYWNrdXAsIHpfYmFja3VwLCByX2luaSwgcHNpX2luaSwgcl9maW4sIHBzaV9maW4pCiAgICAgICAgICAgIHJfaW5pW2pdID0gc3FydCgKICAgICAgICAgICAgICAgIHhfYmFja3VwW2pdICogeF9iYWNrdXBbal0gKwogICAgICAgICAgICAgICAgeV9iYWNrdXBbal0gKiB5X2JhY2t1cFtqXSArCiAgICAgICAgICAgICAgICB6X2JhY2t1cFtqXSAqIHpfYmFja3VwW2pdLAogICAgICAgICAgICApCiAgICAgICAgICAgIHBzaV9pbmlbal0gPSBleHAoLTIgKiBhbHBoYV92YSAqIHJfaW5pW2pdKQoKICAgICAgICAgICAgcl9maW5bal0gPSBzcXJ0KHhbal0gKiB4W2pdICsgeVtqXSAqIHlbal0gKyB6W2pdICogeltqXSkKICAgICAgICAgICAgcHNpX2ZpbltqXSA9IGV4cCgtMiAqIGFscGhhX3ZhICogcl9maW5bal0pCgogICAgICAgICAgICBpZiAocmFuZCgpIDwgcHNpX2ZpbltqXSAvIHBzaV9pbmlbal0pCiAgICAgICAgICAgICAgICBhY2Nbal0gKz0gMQogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICB4W2pdID0geF9iYWNrdXBbal0KICAgICAgICAgICAgICAgIHlbal0gPSB5X2JhY2t1cFtqXQogICAgICAgICAgICAgICAgeltqXSA9IHpfYmFja3VwW2pdCiAgICAgICAgICAgIGVuZAoKICAgICAgICAgICAgaWYgKGkgPj0gNDAwMCkKCiAgICAgICAgICAgICAgICByW2pdID0gc3FydCh4W2pdICogeFtqXSArIHlbal0gKiB5W2pdICsgeltqXSAqIHpbal0pCiAgICAgICAgICAgICAgICBTdW1fRV93W2pdID0gU3VtX0Vfd1tqXSAtIDEgLyByW2pdIC0gMC41ICogYWxwaGFfdmEgKiAoYWxwaGFfdmEgLSAyIC8gcltqXSkKCiAgICAgICAgICAgICAgICBFX3dbal0gPSBTdW1fRV93W2pdIC8gKGkgLSAzOTk5KQogICAgICAgICAgICBlbmQKICAgICAgICBlbmQKICAgIGVuZAoKICAgIEUgPSAwCiAgICBmb3IgaiBpbiBlYWNoaW5kZXgoRV93KQogICAgICAgIEUgPSBFICsgRV93W2pdCiAgICBlbmQKICAgIEUgPSBFIC8gbndhbGtlcnMKCiAgICBAcHJpbnRmKCLln7rlupXnirbmhYvjga7jgqjjg43jg6vjgq7jg7zjga8lLjEwZlxuIiwgRSkKZW5kCgojIOKVlOKVkOKVoSBmMjEyYmJmOC0zNTQ0LTQ4N2YtYTM0Mi1mNjA1NDQ5OGI2ZTEKQHRpbWUgbWFpbigpCgojIOKVlOKVkOKVoSAwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDEKUExVVE9fUFJPSkVDVF9UT01MX0NPTlRFTlRTID0gIiIiCltkZXBzXQpQcmludGYgPSAiZGUwODU4ZGEtNjMwMy01ZTY3LTg3NDQtNTFlZGRlZWViOGQ3IgpUZXN0ID0gIjhkZmVkNjE0LWUyMmMtNWUwOC04NWUxLTY1YzUyMzRmMGI0MCIKIiIiCgojIOKVlOKVkOKVoSAwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDIKUExVVE9fTUFOSUZFU1RfVE9NTF9DT05URU5UUyA9ICIiIgojIFRoaXMgZmlsZSBpcyBtYWNoaW5lLWdlbmVyYXRlZCAtIGVkaXRpbmcgaXQgZGlyZWN0bHkgaXMgbm90IGFkdmlzZWQKCmp1bGlhX3ZlcnNpb24gPSAiMS4xMC4wIgptYW5pZmVzdF9mb3JtYXQgPSAiMi4wIgpwcm9qZWN0X2hhc2ggPSAiNzJlNDI1MDcxNjZjMzFmNTIwMmFhNmUwNDE2M2E1YTE3NDVkNzZhMiIKCltbZGVwcy5CYXNlNjRdXQp1dWlkID0gIjJhMGY0NGUzLTZjODMtNTViZC04N2U0LWIxOTc4ZDk4YmQ1ZiIKCltbZGVwcy5JbnRlcmFjdGl2ZVV0aWxzXV0KZGVwcyA9IFsiTWFya2Rvd24iXQp1dWlkID0gImI3N2UwYTRjLWQyOTEtNTdhMC05MGU4LThkYjI1YTI3YTI0MCIKCltbZGVwcy5Mb2dnaW5nXV0KdXVpZCA9ICI1NmRkYjAxNi04NTdiLTU0ZTEtYjgzZC1kYjRkNThkYjU1NjgiCgpbW2RlcHMuTWFya2Rvd25dXQpkZXBzID0gWyJCYXNlNjQiXQp1dWlkID0gImQ2ZjQzNzZlLWFlZjUtNTA1YS05NmMxLTljMDI3Mzk0NjA3YSIKCltbZGVwcy5QcmludGZdXQpkZXBzID0gWyJVbmljb2RlIl0KdXVpZCA9ICJkZTA4NThkYS02MzAzLTVlNjctODc0NC01MWVkZGVlZWI4ZDciCgpbW2RlcHMuUmFuZG9tXV0KZGVwcyA9IFsiU0hBIl0KdXVpZCA9ICI5YTNmODI4NC1hMmM5LTVmMDItOWExMS04NDU5ODBhMWZkNWMiCgpbW2RlcHMuU0hBXV0KdXVpZCA9ICJlYThlOTE5Yy0yNDNjLTUxYWYtODgyNS1hYWE2M2NkNzIxY2UiCnZlcnNpb24gPSAiMC43LjAiCgpbW2RlcHMuU2VyaWFsaXphdGlvbl1dCnV1aWQgPSAiOWU4OGI0MmEtZjgyOS01YjBjLWJiZTktOWU5MjMxOTgxNjZiIgoKW1tkZXBzLlRlc3RdXQpkZXBzID0gWyJJbnRlcmFjdGl2ZVV0aWxzIiwgIkxvZ2dpbmciLCAiUmFuZG9tIiwgIlNlcmlhbGl6YXRpb24iXQp1dWlkID0gIjhkZmVkNjE0LWUyMmMtNWUwOC04NWUxLTY1YzUyMzRmMGI0MCIKCltbZGVwcy5Vbmljb2RlXV0KdXVpZCA9ICI0ZWMwYTgzZS00OTNlLTUwZTItYjlhYy04ZjcyYWNmNWE4ZjUiCiIiIgoKIyDilZTilZDilaEgQ2VsbCBvcmRlcjoKIyDilaDilZA0NzI1MDBjMS04Mjk1LTQ5YzctYjZlOC1kOTU3OTg3YTg2MGEKIyDilaDilZBhNDkyYTVmNS1lZGM4LTRkOTktYjJjMy01MTc2ZTk0NGE4NmYKIyDilZ/ilIA3MzMzOGNkNC0yYTE3LTQzOTgtYTE5ZC05OTg2MDFiMzBiMDIKIyDilaDilZA2NDkwZDc5Mi04ZTkxLTQzZTctYjJiZi01Y2RhZjY1N2I5ODMKIyDilaDilZA1MDYzMGIzNS1jZGZhLTQ5OGMtYTU5NC1kYjIzMDQwYTE5N2EKIyDilaDilZBhNTU5NGY4Ni02NDc2LTQzMDAtYTgxMi1hY2FkMmMwMWNjY2EKIyDilaDilZBjMzdiYjlmYS0zY2Q0LTRhOTUtYmFjMS05ZjE3MjhmZTJkMTcKIyDilaDilZBiZmYzZDcwMS1mNTI3LTQ4NjQtOWQ5ZS1mNmExMzhlMzM1YjkKIyDilaDilZBmODA0ODU1MC1kZjZiLTQzMTAtYWViMS02ZWU2ZTc3NDM1YjcKIyDilaDilZBmMjEyYmJmOC0zNTQ0LTQ4N2YtYTM0Mi1mNjA1NDQ5OGI2ZTEKIyDilZ/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.19.36";
window.pluto_statefile = "data:;base64,3gARpWJvbmRzgKxjZWxsX3Jlc3VsdHOK2SQ2NDkwZDc5Mi04ZTkxLTQzZTctYjJiZi01Y2RhZjY1N2I5ODOKpnF1ZXVlZMKkbG9nc5CncnVubmluZ8Kmb3V0cHV0hqRib2R52Zw8ZGl2IGNsYXNzPSJwbHV0by1kb2NzLWJpbmRpbmciPgo8c3Bhbj5zZXQyemVybyE8L3NwYW4+CjxkaXYgY2xhc3M9Im1hcmtkb3duIj48cHJlPjxjb2RlPkMgcG9ydCB0byBKdWxpYSBmb3IgJiM5NjtzaG9raWthJiM5Njs8L2NvZGU+PC9wcmU+CgoKPC9kaXY+CjwvZGl2PgqkbWltZal0ZXh0L2h0bWyscm9vdGFzc2lnbmVlwLJsYXN0X3J1bl90aW1lc3RhbXDLQdlk+g5cESywcGVyc2lzdF9qc19zdGF0ZcK3aGFzX3BsdXRvX2hvb2tfZmVhdHVyZXPCp2NlbGxfaWTZJDY0OTBkNzkyLThlOTEtNDNlNy1iMmJmLTVjZGFmNjU3Yjk4M7lkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzgAs5Ie1cHVibGlzaGVkX29iamVjdF9rZXlzkLhkZXBlbmRzX29uX3NraXBwZWRfY2VsbHPCp2Vycm9yZWTC2SQ0NzI1MDBjMS04Mjk1LTQ5YzctYjZlOC1kOTU3OTg3YTg2MGGKpnF1ZXVlZMKkbG9nc5CncnVubmluZ8Kmb3V0cHV0hqRib2R5oKRtaW1lqnRleHQvcGxhaW6scm9vdGFzc2lnbmVlwLJsYXN0X3J1bl90aW1lc3RhbXDLQdlk+g4WY4CwcGVyc2lzdF9qc19zdGF0ZcK3aGFzX3BsdXRvX2hvb2tfZmVhdHVyZXPCp2NlbGxfaWTZJDQ3MjUwMGMxLTgyOTUtNDljNy1iNmU4LWQ5NTc5ODdhODYwYblkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzgADXJK1cHVibGlzaGVkX29iamVjdF9rZXlzkLhkZXBlbmRzX29uX3NraXBwZWRfY2VsbHPCp2Vycm9yZWTC2SRjMzdiYjlmYS0zY2Q0LTRhOTUtYmFjMS05ZjE3MjhmZTJkMTeKpnF1ZXVlZMKkbG9nc5GIpGxpbmX/o21zZ5LZRFRlc3QgU3VtbWFyeTogfCBQYXNzICBUb3RhbCAgVGltZQppbml0Y2ZnISAgICAgIHwgICAgMyAgICAgIDMgIDAuMHMKqnRleHQvcGxhaW6nY2VsbF9pZNkkYzM3YmI5ZmEtM2NkNC00YTk1LWJhYzEtOWYxNzI4ZmUyZDE3pmt3YXJnc5CiaWS0UGx1dG9SdW5uZXJfZDFhY2I4MWWkZmlsZdlVL1VzZXJzL3RlcmFzYWtpLy5qdWxpYS9wYWNrYWdlcy9QbHV0by9La1ZMSS9zcmMvcnVubmVyL1BsdXRvUnVubmVyL3NyYy9QbHV0b1J1bm5lci5qbKVncm91cKtQbHV0b1J1bm5lcqVsZXZlbK5Mb2dMZXZlbCgtNTU1KadydW5uaW5nwqZvdXRwdXSGpGJvZHmFpnByZWZpeLNUZXN0LkRlZmF1bHRUZXN0U2V0qGVsZW1lbnRzmpKrZGVzY3JpcHRpb26SqiJpbml0Y2ZnISKqdGV4dC9wbGFpbpKncmVzdWx0c5KFpnByZWZpeKNBbnmoZWxlbWVudHOQpHR5cGWlQXJyYXmscHJlZml4X3Nob3J0oKhvYmplY3RpZLBjYTk1NzYwZWQ1MGM1MTll2SFhcHBsaWNhdGlvbi92bmQucGx1dG8udHJlZStvYmplY3SSqG5fcGFzc2VkkqEzqnRleHQvcGxhaW6SqmFueW5vbnBhc3OSpWZhbHNlqnRleHQvcGxhaW6Sp3ZlcmJvc2WSpWZhbHNlqnRleHQvcGxhaW6SqnNob3d0aW1pbmeSpHRydWWqdGV4dC9wbGFpbpKqdGltZV9zdGFydJKzMS43MDQxOTIxMjIxOTAxOTRlOap0ZXh0L3BsYWlukqh0aW1lX2VuZJKzMS43MDQxOTIxMjIxOTAyMTNlOap0ZXh0L3BsYWlukqhmYWlsZmFzdJKlZmFsc2WqdGV4dC9wbGFpbpKkZmlsZZLZXCIvVXNlcnMvdGVyYXNha2kvd29yay9NeVZNQy5qbC9wbGF5ZyIg4ouvIDIzIGJ5dGVzIOKLryAiMzdiYjlmYS0zY2Q0LTRhOTUtYmFjMS05ZjE3MjhmZTJkMTciqnRleHQvcGxhaW6kdHlwZaZzdHJ1Y3SscHJlZml4X3Nob3J0rkRlZmF1bHRUZXN0U2V0qG9iamVjdGlksDRjMWFlODRiZDUzMjBkMWGkbWltZdkhYXBwbGljYXRpb24vdm5kLnBsdXRvLnRyZWUrb2JqZWN0rHJvb3Rhc3NpZ25lZcCybGFzdF9ydW5fdGltZXN0YW1wy0HZZPoejFK1sHBlcnNpc3RfanNfc3RhdGXCt2hhc19wbHV0b19ob29rX2ZlYXR1cmVzwqdjZWxsX2lk2SRjMzdiYjlmYS0zY2Q0LTRhOTUtYmFjMS05ZjE3MjhmZTJkMTe5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc4AFGPDtXB1Ymxpc2hlZF9vYmplY3Rfa2V5c5C4ZGVwZW5kc19vbl9za2lwcGVkX2NlbGxzwqdlcnJvcmVkwtkkNzMzMzhjZDQtMmExNy00Mzk4LWExOWQtOTk4NjAxYjMwYjAyiqZxdWV1ZWTCpGxvZ3OQp3J1bm5pbmfCpm91dHB1dIakYm9kedoCcDxkaXYgY2xhc3M9Im1hcmtkb3duIj48cD48YSBocmVmPSJodHRwczovL21peWFudGFydW1pLmhhdGVuYWJsb2cuY29tL2VudHJ5LzIwMjIvMDQvMDgvMDgwMDAwIj7lpInliIbjg6Ljg7Pjg4bjgqvjg6vjg60mIzQwO1ZNQyYjNDE744KS44KE44Gj44Gm44G/44KLfuawtOe0oOWOn+WtkH48L2E+IOOBriBKdWxpYSDlrp/oo4XjgpLooYzjgYbvvI48L3A+CjxwPuOBqOOCiuOBguOBiOOBmuWGmee1jOOBl+OBn+OBn+OCgSBDIOODl+ODreOCsOODqeODoOOBq+W8leOBo+W8teOCieOCjOOBn+abuOOBjeaWueOCkuOBl+OBpuOBhOOCi++8jiDkvovjgYjjgbDmraPopo/liIbluIPjga/jg5zjg4Pjgq/jgrnjg5/jg6Xjg6njg7zjgqLjg6vjgrTjg6rjgrrjg6DjgpLkvb/jgaPjgabjgYTjgovjgYwgSnVsaWEg55qE44Gr44GvIHJhbmRuIOmWouaVsOOCkuWRvOOBueOBsOiJr+OBhO+8jjwvcD4KPHA+44G+44GfIE1ldHJvcG9saXMgdGVzdGluZyDjga/jg5njgr/jgYzjgY3jgZfjgabjgovjgZ/jgoHkvLzjgZ/jgojjgYbjgarjg63jgrjjg4Pjgq/jgpLvvJTlm57jgoLmm7jjgY/lv4XopoHjgYzjgYLjgaPjgZ/vvI7mraPnm7TjgaroqbHmsJfjgYzni4LjgYTjgZ3jgYbjgaDjgaPjgZ/vvI48L3A+CjwvZGl2PqRtaW1lqXRleHQvaHRtbKxyb290YXNzaWduZWXAsmxhc3RfcnVuX3RpbWVzdGFtcMtB2WT6eA2h7LBwZXJzaXN0X2pzX3N0YXRlwrdoYXNfcGx1dG9faG9va19mZWF0dXJlc8KnY2VsbF9pZNkkNzMzMzhjZDQtMmExNy00Mzk4LWExOWQtOTk4NjAxYjMwYjAyuWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXOAAQ/3rVwdWJsaXNoZWRfb2JqZWN0X2tleXOQuGRlcGVuZHNfb25fc2tpcHBlZF9jZWxsc8KnZXJyb3JlZMLZJDUwNjMwYjM1LWNkZmEtNDk4Yy1hNTk0LWRiMjMwNDBhMTk3YYqmcXVldWVkwqRsb2dzkYikbGluZf+jbXNnktlEVGVzdCBTdW1tYXJ5OiB8IFBhc3MgIFRvdGFsICBUaW1lCnNldDJ6ZXJvISAgICAgfCAgICAxICAgICAgMSAgMC4wcwqqdGV4dC9wbGFpbqdjZWxsX2lk2SQ1MDYzMGIzNS1jZGZhLTQ5OGMtYTU5NC1kYjIzMDQwYTE5N2Gma3dhcmdzkKJpZLRQbHV0b1J1bm5lcl9kMWFjYjgxZaRmaWxl2VUvVXNlcnMvdGVyYXNha2kvLmp1bGlhL3BhY2thZ2VzL1BsdXRvL0trVkxJL3NyYy9ydW5uZXIvUGx1dG9SdW5uZXIvc3JjL1BsdXRvUnVubmVyLmpspWdyb3Vwq1BsdXRvUnVubmVypWxldmVsrkxvZ0xldmVsKC01NTUpp3J1bm5pbmfCpm91dHB1dIakYm9keYWmcHJlZml4s1Rlc3QuRGVmYXVsdFRlc3RTZXSoZWxlbWVudHOakqtkZXNjcmlwdGlvbpKrInNldDJ6ZXJvISKqdGV4dC9wbGFpbpKncmVzdWx0c5KFpnByZWZpeKNBbnmoZWxlbWVudHOQpHR5cGWlQXJyYXmscHJlZml4X3Nob3J0oKhvYmplY3RpZLA5MzhmOWM3NWUyZjYyYWM12SFhcHBsaWNhdGlvbi92bmQucGx1dG8udHJlZStvYmplY3SSqG5fcGFzc2VkkqExqnRleHQvcGxhaW6SqmFueW5vbnBhc3OSpWZhbHNlqnRleHQvcGxhaW6Sp3ZlcmJvc2WSpWZhbHNlqnRleHQvcGxhaW6SqnNob3d0aW1pbmeSpHRydWWqdGV4dC9wbGFpbpKqdGltZV9zdGFydJKzMS43MDQxOTIwOTI0NzM5MDllOap0ZXh0L3BsYWlukqh0aW1lX2VuZJKzMS43MDQxOTIwOTI0NzM5MjdlOap0ZXh0L3BsYWlukqhmYWlsZmFzdJKlZmFsc2WqdGV4dC9wbGFpbpKkZmlsZZLZXCIvVXNlcnMvdGVyYXNha2kvd29yay9NeVZNQy5qbC9wbGF5ZyIg4ouvIDIzIGJ5dGVzIOKLryAiMDYzMGIzNS1jZGZhLTQ5OGMtYTU5NC1kYjIzMDQwYTE5N2EiqnRleHQvcGxhaW6kdHlwZaZzdHJ1Y3SscHJlZml4X3Nob3J0rkRlZmF1bHRUZXN0U2V0qG9iamVjdGlksDE2MTNiY2Y5NWUzMzcxMzKkbWltZdkhYXBwbGljYXRpb24vdm5kLnBsdXRvLnRyZWUrb2JqZWN0rHJvb3Rhc3NpZ25lZcCybGFzdF9ydW5fdGltZXN0YW1wy0HZZPoXHoSIsHBlcnNpc3RfanNfc3RhdGXCt2hhc19wbHV0b19ob29rX2ZlYXR1cmVzwqdjZWxsX2lk2SQ1MDYzMGIzNS1jZGZhLTQ5OGMtYTU5NC1kYjIzMDQwYTE5N2G5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc4AEPZ4tXB1Ymxpc2hlZF9vYmplY3Rfa2V5c5C4ZGVwZW5kc19vbl9za2lwcGVkX2NlbGxzwqdlcnJvcmVkwtkkYmZmM2Q3MDEtZjUyNy00ODY0LTlkOWUtZjZhMTM4ZTMzNWI5iqZxdWV1ZWTCpGxvZ3OQp3J1bm5pbmfCpm91dHB1dIakYm9kedkxbWV0cm9wb2xpc193YWxrISAoZ2VuZXJpYyBmdW5jdGlvbiB3aXRoIDEgbWV0aG9kKaRtaW1lqnRleHQvcGxhaW6scm9vdGFzc2lnbmVlwLJsYXN0X3J1bl90aW1lc3RhbXDLQdlk+g6tMxqwcGVyc2lzdF9qc19zdGF0ZcK3aGFzX3BsdXRvX2hvb2tfZmVhdHVyZXPCp2NlbGxfaWTZJGJmZjNkNzAxLWY1MjctNDg2NC05ZDllLWY2YTEzOGUzMzViOblkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzgAbTbi1cHVibGlzaGVkX29iamVjdF9rZXlzkLhkZXBlbmRzX29uX3NraXBwZWRfY2VsbHPCp2Vycm9yZWTC2SRmODA0ODU1MC1kZjZiLTQzMTAtYWViMS02ZWU2ZTc3NDM1YjeKpnF1ZXVlZMKkbG9nc5CncnVubmluZ8Kmb3V0cHV0hqRib2R52SVtYWluIChnZW5lcmljIGZ1bmN0aW9uIHdpdGggMSBtZXRob2QppG1pbWWqdGV4dC9wbGFpbqxyb290YXNzaWduZWXAsmxhc3RfcnVuX3RpbWVzdGFtcMtB2WT6Drdt47BwZXJzaXN0X2pzX3N0YXRlwrdoYXNfcGx1dG9faG9va19mZWF0dXJlc8KnY2VsbF9pZNkkZjgwNDg1NTAtZGY2Yi00MzEwLWFlYjEtNmVlNmU3NzQzNWI3uWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXOAUa1GLVwdWJsaXNoZWRfb2JqZWN0X2tleXOQuGRlcGVuZHNfb25fc2tpcHBlZF9jZWxsc8KnZXJyb3JlZMLZJGE1NTk0Zjg2LTY0NzYtNDMwMC1hODEyLWFjYWQyYzAxY2NjYYqmcXVldWVkwqRsb2dzkKdydW5uaW5nwqZvdXRwdXSGpGJvZHnZKWluaXRjZmchIChnZW5lcmljIGZ1bmN0aW9uIHdpdGggMSBtZXRob2QppG1pbWWqdGV4dC9wbGFpbqxyb290YXNzaWduZWXAsmxhc3RfcnVuX3RpbWVzdGFtcMtB2WT6Dne0gbBwZXJzaXN0X2pzX3N0YXRlwrdoYXNfcGx1dG9faG9va19mZWF0dXJlc8KnY2VsbF9pZNkkYTU1OTRmODYtNjQ3Ni00MzAwLWE4MTItYWNhZDJjMDFjY2NhuWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXOAAyjILVwdWJsaXNoZWRfb2JqZWN0X2tleXOQuGRlcGVuZHNfb25fc2tpcHBlZF9jZWxsc8KnZXJyb3JlZMLZJGYyMTJiYmY4LTM1NDQtNDg3Zi1hMzQyLWY2MDU0NDk4YjZlMYqmcXVldWVkwqRsb2dzmYikbGluZf+jbXNnkoOoZWxlbWVudHOSkgGSqDAuOTg1NTQ4qnRleHQvcGxhaW6SApKjMC44qnRleHQvcGxhaW6kdHlwZaVUdXBsZahvYmplY3RpZLBmMWQ1MGVkNDM1YzY5NzBl2SFhcHBsaWNhdGlvbi92bmQucGx1dG8udHJlZStvYmplY3SnY2VsbF9pZNkkZjIxMmJiZjgtMzU0NC00ODdmLWEzNDItZjYwNTQ0OThiNmUxpmt3YXJnc5CiaWS5TWFpbl93b3Jrc3BhY2UjMl82YTQ3MTE4M6RmaWxl2V0vVXNlcnMvdGVyYXNha2kvd29yay9NeVZNQy5qbC9wbGF5Z3JvdW5kL3BsdXRvL212Yy5qbCM9PSNmODA0ODU1MC1kZjZiLTQzMTAtYWViMS02ZWU2ZTc3NDM1YjelZ3JvdXCjbXZjpWxldmVspEluZm+IpGxpbmX/o21zZ5KzMC4xODU1NDc5NTQxMDkwODg2NKp0ZXh0L3BsYWlup2NlbGxfaWTZJGYyMTJiYmY4LTM1NDQtNDg3Zi1hMzQyLWY2MDU0NDk4YjZlMaZrd2FyZ3OQomlkuU1haW5fd29ya3NwYWNlIzJfY2U0MjcxNDekZmlsZdldL1VzZXJzL3RlcmFzYWtpL3dvcmsvTXlWTUMuamwvcGxheWdyb3VuZC9wbHV0by9tdmMuamwjPT0jZjgwNDg1NTAtZGY2Yi00MzEwLWFlYjEtNmVlNmU3NzQzNWI3pWdyb3Vwo212Y6VsZXZlbKRJbmZviKRsaW5l/6Ntc2eSg6hlbGVtZW50c5KSAZKnMS4wMDAxOKp0ZXh0L3BsYWlukgKSqDAuOTg1NTQ4qnRleHQvcGxhaW6kdHlwZaVUdXBsZahvYmplY3RpZLAyNDgzYTgxNDQwYjc2OTAz2SFhcHBsaWNhdGlvbi92bmQucGx1dG8udHJlZStvYmplY3SnY2VsbF9pZNkkZjIxMmJiZjgtMzU0NC00ODdmLWEzNDItZjYwNTQ0OThiNmUxpmt3YXJnc5CiaWS5TWFpbl93b3Jrc3BhY2UjMl82YTQ3MTE4M6RmaWxl2V0vVXNlcnMvdGVyYXNha2kvd29yay9NeVZNQy5qbC9wbGF5Z3JvdW5kL3BsdXRvL212Yy5qbCM9PSNmODA0ODU1MC1kZjZiLTQzMTAtYWViMS02ZWU2ZTc3NDM1YjelZ3JvdXCjbXZjpWxldmVspEluZm+IpGxpbmX/o21zZ5K0MC4wMTQ2MzY2NTY0MDcyNDA3NjeqdGV4dC9wbGFpbqdjZWxsX2lk2SRmMjEyYmJmOC0zNTQ0LTQ4N2YtYTM0Mi1mNjA1NDQ5OGI2ZTGma3dhcmdzkKJpZLlNYWluX3dvcmtzcGFjZSMyX2NlNDI3MTQ3pGZpbGXZXS9Vc2Vycy90ZXJhc2FraS93b3JrL015Vk1DLmpsL3BsYXlncm91bmQvcGx1dG8vbXZjLmpsIz09I2Y4MDQ4NTUwLWRmNmItNDMxMC1hZWIxLTZlZTZlNzc0MzViN6Vncm91cKNtdmOlbGV2ZWykSW5mb4ikbGluZf+jbXNnkoOoZWxlbWVudHOSkgGSozEuMKp0ZXh0L3BsYWlukgKSpzEuMDAwMTiqdGV4dC9wbGFpbqR0eXBlpVR1cGxlqG9iamVjdGlksDlmYzczNmRlNGY4MTQyNmXZIWFwcGxpY2F0aW9uL3ZuZC5wbHV0by50cmVlK29iamVjdKdjZWxsX2lk2SRmMjEyYmJmOC0zNTQ0LTQ4N2YtYTM0Mi1mNjA1NDQ5OGI2ZTGma3dhcmdzkKJpZLlNYWluX3dvcmtzcGFjZSMyXzZhNDcxMTgzpGZpbGXZXS9Vc2Vycy90ZXJhc2FraS93b3JrL015Vk1DLmpsL3BsYXlncm91bmQvcGx1dG8vbXZjLmpsIz09I2Y4MDQ4NTUwLWRmNmItNDMxMC1hZWIxLTZlZTZlNzc0MzViN6Vncm91cKNtdmOlbGV2ZWykSW5mb4ikbGluZf+jbXNnkrYwLjAwMDE4NDk1NjU0OTEzNzc0OTE3qnRleHQvcGxhaW6nY2VsbF9pZNkkZjIxMmJiZjgtMzU0NC00ODdmLWEzNDItZjYwNTQ0OThiNmUxpmt3YXJnc5CiaWS5TWFpbl93b3Jrc3BhY2UjMl9jZTQyNzE0N6RmaWxl2V0vVXNlcnMvdGVyYXNha2kvd29yay9NeVZNQy5qbC9wbGF5Z3JvdW5kL3BsdXRvL212Yy5qbCM9PSNmODA0ODU1MC1kZjZiLTQzMTAtYWViMS02ZWU2ZTc3NDM1YjelZ3JvdXCjbXZjpWxldmVspEluZm+IpGxpbmX/o21zZ5KDqGVsZW1lbnRzkpIBkqMxLjCqdGV4dC9wbGFpbpICkqMxLjCqdGV4dC9wbGFpbqR0eXBlpVR1cGxlqG9iamVjdGlksGU4Y2JlMDlkYjc2NzQzMWXZIWFwcGxpY2F0aW9uL3ZuZC5wbHV0by50cmVlK29iamVjdKdjZWxsX2lk2SRmMjEyYmJmOC0zNTQ0LTQ4N2YtYTM0Mi1mNjA1NDQ5OGI2ZTGma3dhcmdzkKJpZLlNYWluX3dvcmtzcGFjZSMyXzZhNDcxMTgzpGZpbGXZXS9Vc2Vycy90ZXJhc2FraS93b3JrL015Vk1DLmpsL3BsYXlncm91bmQvcGx1dG8vbXZjLmpsIz09I2Y4MDQ4NTUwLWRmNmItNDMxMC1hZWIxLTZlZTZlNzc0MzViN6Vncm91cKNtdmOlbGV2ZWykSW5mb4ikbGluZf+jbXNnkrQzLjQ2MTY2OTk4NzMyNTc3N2UtN6p0ZXh0L3BsYWlup2NlbGxfaWTZJGYyMTJiYmY4LTM1NDQtNDg3Zi1hMzQyLWY2MDU0NDk4YjZlMaZrd2FyZ3OQomlkuU1haW5fd29ya3NwYWNlIzJfY2U0MjcxNDekZmlsZdldL1VzZXJzL3RlcmFzYWtpL3dvcmsvTXlWTUMuamwvcGxheWdyb3VuZC9wbHV0by9tdmMuamwjPT0jZjgwNDg1NTAtZGY2Yi00MzEwLWFlYjEtNmVlNmU3NzQzNWI3pWdyb3Vwo212Y6VsZXZlbKRJbmZviKRsaW5l/6Ntc2eS2bnjgqjjg43jg6vjgq7jg7zjgYzmnIDlsI/jgavjgarjgovlpInliIbjg5Hjg6njg6Hjg7zjgr/jga8xLjAwMDAwMDAwMDEK5Z+65bqV54q25oWL44Gu44Ko44ON44Or44Ku44O844GvLTAuNTAwMDAwMDAwMAogMTYuMTcyMzUxIHNlY29uZHMgKDc4Mi41MyBrIGFsbG9jYXRpb25zOiAyLjQxOCBHaUIsIDEuMDQlIGdjIHRpbWUpCqp0ZXh0L3BsYWlup2NlbGxfaWTZJGYyMTJiYmY4LTM1NDQtNDg3Zi1hMzQyLWY2MDU0NDk4YjZlMaZrd2FyZ3OQomlktFBsdXRvUnVubmVyX2QxYWNiODFlpGZpbGXZVS9Vc2Vycy90ZXJhc2FraS8uanVsaWEvcGFja2FnZXMvUGx1dG8vS2tWTEkvc3JjL3J1bm5lci9QbHV0b1J1bm5lci9zcmMvUGx1dG9SdW5uZXIuamylZ3JvdXCrUGx1dG9SdW5uZXKlbGV2ZWyuTG9nTGV2ZWwoLTU1NSmncnVubmluZ8Kmb3V0cHV0hqRib2R5oKRtaW1lqnRleHQvcGxhaW6scm9vdGFzc2lnbmVlwLJsYXN0X3J1bl90aW1lc3RhbXDLQdlk+jOUtrewcGVyc2lzdF9qc19zdGF0ZcK3aGFzX3BsdXRvX2hvb2tfZmVhdHVyZXPCp2NlbGxfaWTZJGYyMTJiYmY4LTM1NDQtNDg3Zi1hMzQyLWY2MDU0NDk4YjZlMblkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzwAAAAPFYGs6tXB1Ymxpc2hlZF9vYmplY3Rfa2V5c5C4ZGVwZW5kc19vbl9za2lwcGVkX2NlbGxzwqdlcnJvcmVkwtkkYTQ5MmE1ZjUtZWRjOC00ZDk5LWIyYzMtNTE3NmU5NDRhODZmiqZxdWV1ZWTCpGxvZ3OQp3J1bm5pbmfCpm91dHB1dIakYm9keaCkbWltZap0ZXh0L3BsYWlurHJvb3Rhc3NpZ25lZcCybGFzdF9ydW5fdGltZXN0YW1wy0HZZPoUvT4IsHBlcnNpc3RfanNfc3RhdGXCt2hhc19wbHV0b19ob29rX2ZlYXR1cmVzwqdjZWxsX2lk2SRhNDkyYTVmNS1lZGM4LTRkOTktYjJjMy01MTc2ZTk0NGE4Nma5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc4BdI7ItXB1Ymxpc2hlZF9vYmplY3Rfa2V5c5C4ZGVwZW5kc19vbl9za2lwcGVkX2NlbGxzwqdlcnJvcmVkwqtzdGF0dXNfdHJlZYSkbmFtZahub3RlYm9va6hzdWJ0YXNrc4Smc2F2aW5nhKRuYW1lpnNhdmluZ6hzdWJ0YXNrc4CrZmluaXNoZWRfYXTLQdlk+nibsFOqc3RhcnRlZF9hdMtB2WT6eJubnal3b3Jrc3BhY2WEpG5hbWWpd29ya3NwYWNlqHN1YnRhc2tzgqxpbml0X3Byb2Nlc3OEpG5hbWWsaW5pdF9wcm9jZXNzqHN1YnRhc2tzhKE0hKRuYW1loTSoc3VidGFza3OAq2ZpbmlzaGVkX2F0y0HZZPoNyfvOqnN0YXJ0ZWRfYXTLQdlk+g1s7DWhMYSkbmFtZaExqHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2WT6DWV5JapzdGFydGVkX2F0y0HZZPoNJPiMoTKEpG5hbWWhMqhzdWJ0YXNrc4CrZmluaXNoZWRfYXTLQdlk+g1pXP+qc3RhcnRlZF9hdMtB2WT6DWWMbaEzhKRuYW1loTOoc3VidGFza3OAq2ZpbmlzaGVkX2F0y0HZZPoNbOD0qnN0YXJ0ZWRfYXTLQdlk+g1paeSrZmluaXNoZWRfYXTLQdlk+g3KCFOqc3RhcnRlZF9hdMtB2WT6DST4aq5jcmVhdGVfcHJvY2Vzc4SkbmFtZa5jcmVhdGVfcHJvY2Vzc6hzdWJ0YXNrc4CrZmluaXNoZWRfYXTLQdlk+g0k6kaqc3RhcnRlZF9hdMtB2WT6DEAdGatmaW5pc2hlZF9hdMtB2WT6DcoIV6pzdGFydGVkX2F0y0HZZPoMQB0Ro3BrZ4SkbmFtZaNwa2eoc3VidGFza3OBqGFuYWx5c2lzhKRuYW1lqGFuYWx5c2lzqHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2WT6eA1FSqpzdGFydGVkX2F0y0HZZPp4DUMgq2ZpbmlzaGVkX2F0y0HZZPp4DUVKqnN0YXJ0ZWRfYXTLQdlk+ngNQxOjcnVuhKRuYW1lo3J1bqhzdWJ0YXNrc4KwcmVzb2x2ZV90b3BvbG9neYSkbmFtZbByZXNvbHZlX3RvcG9sb2d5qHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2WT6eA1rWapzdGFydGVkX2F0y0HZZPp4DVzZqGV2YWx1YXRlhKRuYW1lqGV2YWx1YXRlqHN1YnRhc2tzgaExhKRuYW1loTGoc3VidGFza3OAq2ZpbmlzaGVkX2F0y0HZZPp4DaIKqnN0YXJ0ZWRfYXTLQdlk+ngNd6+rZmluaXNoZWRfYXTLQdlk+ngNsZ6qc3RhcnRlZF9hdMtB2WT6eA1rXatmaW5pc2hlZF9hdMtB2WT6eA2xnqpzdGFydGVkX2F0y0HZZPp4DVzEq2ZpbmlzaGVkX2F0wKpzdGFydGVkX2F0y0HZZPoLz1bFsWNlbGxfZGVwZW5kZW5jaWVzitkkNjQ5MGQ3OTItOGU5MS00M2U3LWIyYmYtNWNkYWY2NTdiOTgzhLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkNjQ5MGQ3OTItOGU5MS00M2U3LWIyYmYtNWNkYWY2NTdiOTgztGRvd25zdHJlYW1fY2VsbHNfbWFwgalzZXQyemVybyGS2SQ1MDYzMGIzNS1jZGZhLTQ5OGMtYTU5NC1kYjIzMDQwYTE5N2HZJGY4MDQ4NTUwLWRmNmItNDMxMC1hZWIxLTZlZTZlNzc0MzViN7J1cHN0cmVhbV9jZWxsc19tYXCJpEBkb2OQpHplcm+QoVSQrkFic3RyYWN0VmVjdG9ykKVUdXBsZZCmZWx0eXBlkKVmaWxsIZClVW5pb26QuiNfX190aGlzX3BsdXRvX21vZHVsZV9uYW1lkNkkNDcyNTAwYzEtODI5NS00OWM3LWI2ZTgtZDk1Nzk4N2E4NjBhhLRwcmVjZWRlbmNlX2hldXJpc3RpYwenY2VsbF9pZNkkNDcyNTAwYzEtODI5NS00OWM3LWI2ZTgtZDk1Nzk4N2E4NjBhtGRvd25zdHJlYW1fY2VsbHNfbWFwgaZQcmludGaQsnVwc3RyZWFtX2NlbGxzX21hcIDZJGMzN2JiOWZhLTNjZDQtNGE5NS1iYWMxLTlmMTcyOGZlMmQxN4S0cHJlY2VkZW5jZV9oZXVyaXN0aWMJp2NlbGxfaWTZJGMzN2JiOWZhLTNjZDQtNGE5NS1iYWMxLTlmMTcyOGZlMmQxN7Rkb3duc3RyZWFtX2NlbGxzX21hcICydXBzdHJlYW1fY2VsbHNfbWFw3gAiqVRlc3QuY29weZCsVGVzdC5yZXRocm93kKpUZXN0LkVycm9ykLFUZXN0LlJhbmRvbS5zZWVkIZCwVGVzdC5wb3BfdGVzdHNldJCkVGVzdJHZJGE0OTJhNWY1LWVkYzgtNGQ5OS1iMmMzLTUxNzZlOTQ0YTg2ZrxUZXN0LlJhbmRvbS5zZXRfZ2xvYmFsX3NlZWQhkK1UZXN0LlJldHVybmVkkLxUZXN0LkJhc2UuY3VycmVudF9leGNlcHRpb25zkKpUZXN0LmNvcHkhkKhUZXN0LmlzYZCrVGVzdC5yZWNvcmSQs1Rlc3QuX2NoZWNrX3Rlc3RzZXSQqVRlc3QuRXhwcpCqVGVzdC5UaHJld5CiLjyQsFRlc3QuZGVmYXVsdF9ybmeQoy48PZCxVGVzdC5wdXNoX3Rlc3RzZXSQpUB0ZXN0kLNUZXN0LmZhaWxmYXN0X3ByaW50kKhpbml0Y2ZnIZHZJGE1NTk0Zjg2LTY0NzYtNDMwMC1hODEyLWFjYWQyYzAxY2NjYatUZXN0LnR5cGVvZpC2VGVzdC5nZXRfdGVzdHNldF9kZXB0aJCrVGVzdC5maW5pc2iQsFRlc3QuZ2V0X3Rlc3RzZXSQpHJhbmSQv1Rlc3QudHJpZ2dlcl90ZXN0X2ZhaWx1cmVfYnJlYWuQo2FsbJCnVGVzdC49PZCrVGVzdC5Ccm9rZW6QqFRlc3QuPT09kKhAdGVzdHNldJCmVGVzdC4+kNkkNzMzMzhjZDQtMmExNy00Mzk4LWExOWQtOTk4NjAxYjMwYjAyhLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkNzMzMzhjZDQtMmExNy00Mzk4LWExOWQtOTk4NjAxYjMwYjAytGRvd25zdHJlYW1fY2VsbHNfbWFwgLJ1cHN0cmVhbV9jZWxsc19tYXCCp0BtZF9zdHKQqGdldGluZGV4kNkkNTA2MzBiMzUtY2RmYS00OThjLWE1OTQtZGIyMzA0MGExOTdhhLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkNTA2MzBiMzUtY2RmYS00OThjLWE1OTQtZGIyMzA0MGExOTdhtGRvd25zdHJlYW1fY2VsbHNfbWFwgLJ1cHN0cmVhbV9jZWxsc19tYXDeACGpVGVzdC5jb3B5kKxUZXN0LnJldGhyb3eQqlRlc3QuRXJyb3KQsVRlc3QuUmFuZG9tLnNlZWQhkLBUZXN0LnBvcF90ZXN0c2V0kKRUZXN0kdkkYTQ5MmE1ZjUtZWRjOC00ZDk5LWIyYzMtNTE3NmU5NDRhODZmvFRlc3QuUmFuZG9tLnNldF9nbG9iYWxfc2VlZCGQrlRlc3QuZXZhbF90ZXN0kLxUZXN0LkJhc2UuY3VycmVudF9leGNlcHRpb25zkKpUZXN0LmNvcHkhkKhUZXN0LmlzYZCrVGVzdC5yZWNvcmSQs1Rlc3QuX2NoZWNrX3Rlc3RzZXSQqVRlc3QuRXhwcpCqVGVzdC5UaHJld5CwVGVzdC5kZWZhdWx0X3JuZ5CxVGVzdC5wdXNoX3Rlc3RzZXSQpUB0ZXN0kLNUZXN0LmZhaWxmYXN0X3ByaW50kKI9PZCrVGVzdC50eXBlb2aQtlRlc3QuZ2V0X3Rlc3RzZXRfZGVwdGiQpXplcm9zkLBUZXN0LmdldF90ZXN0c2V0kKtUZXN0LmZpbmlzaJCkcmFuZJC/VGVzdC50cmlnZ2VyX3Rlc3RfZmFpbHVyZV9icmVha5CnVGVzdC49PZCrVGVzdC5Ccm9rZW6QqXNldDJ6ZXJvIZHZJDY0OTBkNzkyLThlOTEtNDNlNy1iMmJmLTVjZGFmNjU3Yjk4M6hUZXN0Lj09PZCoQHRlc3RzZXSQplRlc3QuPpDZJGJmZjNkNzAxLWY1MjctNDg2NC05ZDllLWY2YTEzOGUzMzViOYS0cHJlY2VkZW5jZV9oZXVyaXN0aWMJp2NlbGxfaWTZJGJmZjNkNzAxLWY1MjctNDg2NC05ZDllLWY2YTEzOGUzMzViObRkb3duc3RyZWFtX2NlbGxzX21hcIGwbWV0cm9wb2xpc193YWxrIZHZJGY4MDQ4NTUwLWRmNmItNDMxMC1hZWIxLTZlZTZlNzc0MzViN7J1cHN0cmVhbV9jZWxsc19tYXCNrkFic3RyYWN0VmVjdG9ykKRzcXJ0kKdGbG9hdDY0kKRyYW5kkKJwaZCmVmVjdG9ykKZsZW5ndGiQqWVhY2hpbmRleJCjbG9nkKErkKV1bmRlZpChKpCjY29zkNkkZjgwNDg1NTAtZGY2Yi00MzEwLWFlYjEtNmVlNmU3NzQzNWI3hLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkZjgwNDg1NTAtZGY2Yi00MzEwLWFlYjEtNmVlNmU3NzQzNWI3tGRvd25zdHJlYW1fY2VsbHNfbWFwgaRtYWlukdkkZjIxMmJiZjgtMzU0NC00ODdmLWEzNDItZjYwNTQ0OThiNmUxsnVwc3RyZWFtX2NlbGxzX21hcN4AI6RzcXJ0kKZpc2xlc3OQp0Zsb2F0NjSQsG1ldHJvcG9saXNfd2FsayGR2SRiZmYzZDcwMS1mNTI3LTQ4NjQtOWQ5ZS1mNmExMzhlMzM1YjnZJ0Jhc2UuQ29yZUxvZ2dpbmcuQmFzZS5maXh1cF9zdGRsaWJfcGF0aJCyQmFzZS5Db3JlTG9nZ2luZy4hkKZWZWN0b3KQoTyQo+KJpZCpZWFjaGluZGV4kKEvkKFekKVAaW5mb5CxQmFzZS5pbnZva2VsYXRlc3SQqGluaXRjZmchkdkkYTU1OTRmODYtNjQ3Ni00MzAwLWE4MTItYWNhZDJjMDFjY2Nho2Fic5C9QmFzZS5Db3JlTG9nZ2luZy5pbnZva2VsYXRlc3SQo2V4cJC0QmFzZS5Db3JlTG9nZ2luZy49PT2QoTqQpXplcm9zkLojX19fdGhpc19wbHV0b19tb2R1bGVfbmFtZZCkcmFuZJCmc3Rkb3V0kKdAcHJpbnRmkKRCYXNlkKlzZXQyemVybyGR2SQ2NDkwZDc5Mi04ZTkxLTQzZTctYjJiZi01Y2RhZjY1N2I5ODOhLZC0QmFzZS5Db3JlTG9nZ2luZy5pc2GQoj49kKNJbnSQoSuQpXVuZGVmkKEqkLNCYXNlLkNvcmVMb2dnaW5nLj49kNkkYTU1OTRmODYtNjQ3Ni00MzAwLWE4MTItYWNhZDJjMDFjY2NhhLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkYTU1OTRmODYtNjQ3Ni00MzAwLWE4MTItYWNhZDJjMDFjY2NhtGRvd25zdHJlYW1fY2VsbHNfbWFwgahpbml0Y2ZnIZLZJGMzN2JiOWZhLTNjZDQtNGE5NS1iYWMxLTlmMTcyOGZlMmQxN9kkZjgwNDg1NTAtZGY2Yi00MzEwLWFlYjEtNmVlNmU3NzQzNWI3snVwc3RyZWFtX2NlbGxzX21hcIWpZWFjaGluZGV4kKEtkK5BYnN0cmFjdFZlY3RvcpChKpCkcmFuZJDZJGYyMTJiYmY4LTM1NDQtNDg3Zi1hMzQyLWY2MDU0NDk4YjZlMYS0cHJlY2VkZW5jZV9oZXVyaXN0aWMJp2NlbGxfaWTZJGYyMTJiYmY4LTM1NDQtNDg3Zi1hMzQyLWY2MDU0NDk4YjZlMbRkb3duc3RyZWFtX2NlbGxzX21hcICydXBzdHJlYW1fY2VsbHNfbWFwjaVAdGltZZCzQmFzZS5nY19hbGxvY19jb3VudJCmQmFzZS4tkKtCYXNlLmdjX251bZCqQmFzZS5maXJzdJCsQmFzZS5HQ19EaWZmkL9CYXNlLmN1bXVsYXRpdmVfY29tcGlsZV90aW1lX25zkKlCYXNlLmxhc3SQpEJhc2WQr0Jhc2UudGltZV9wcmludJCkbWFpbpHZJGY4MDQ4NTUwLWRmNmItNDMxMC1hZWIxLTZlZTZlNzc0MzViN6xCYXNlLnRpbWVfbnOQvkJhc2UuY3VtdWxhdGl2ZV9jb21waWxlX3RpbWluZ5DZJGE0OTJhNWY1LWVkYzgtNGQ5OS1iMmMzLTUxNzZlOTQ0YTg2ZoS0cHJlY2VkZW5jZV9oZXVyaXN0aWMHp2NlbGxfaWTZJGE0OTJhNWY1LWVkYzgtNGQ5OS1iMmMzLTUxNzZlOTQ0YTg2ZrRkb3duc3RyZWFtX2NlbGxzX21hcIGkVGVzdJLZJDUwNjMwYjM1LWNkZmEtNDk4Yy1hNTk0LWRiMjMwNDBhMTk3YdkkYzM3YmI5ZmEtM2NkNC00YTk1LWJhYzEtOWYxNzI4ZmUyZDE3snVwc3RyZWFtX2NlbGxzX21hcIC0Y2VsbF9leGVjdXRpb25fb3JkZXKa2SQ0NzI1MDBjMS04Mjk1LTQ5YzctYjZlOC1kOTU3OTg3YTg2MGHZJGE0OTJhNWY1LWVkYzgtNGQ5OS1iMmMzLTUxNzZlOTQ0YTg2ZtkkNzMzMzhjZDQtMmExNy00Mzk4LWExOWQtOTk4NjAxYjMwYjAy2SQ2NDkwZDc5Mi04ZTkxLTQzZTctYjJiZi01Y2RhZjY1N2I5ODPZJDUwNjMwYjM1LWNkZmEtNDk4Yy1hNTk0LWRiMjMwNDBhMTk3YdkkYTU1OTRmODYtNjQ3Ni00MzAwLWE4MTItYWNhZDJjMDFjY2Nh2SRjMzdiYjlmYS0zY2Q0LTRhOTUtYmFjMS05ZjE3MjhmZTJkMTfZJGJmZjNkNzAxLWY1MjctNDg2NC05ZDllLWY2YTEzOGUzMzViOdkkZjgwNDg1NTAtZGY2Yi00MzEwLWFlYjEtNmVlNmU3NzQzNWI32SRmMjEyYmJmOC0zNTQ0LTQ4N2YtYTM0Mi1mNjA1NDQ5OGI2ZTG0bGFzdF9ob3RfcmVsb2FkX3RpbWXLAAAAAAAAAACpc2hvcnRwYXRopm12Yy5qbK5wcm9jZXNzX3N0YXR1c6VyZWFkeaRwYXRo2TUvVXNlcnMvdGVyYXNha2kvd29yay9NeVZNQy5qbC9wbGF5Z3JvdW5kL3BsdXRvL212Yy5qbK5sYXN0X3NhdmVfdGltZctB2WT6eJubmapjZWxsX29yZGVymtkkNDcyNTAwYzEtODI5NS00OWM3LWI2ZTgtZDk1Nzk4N2E4NjBh2SRhNDkyYTVmNS1lZGM4LTRkOTktYjJjMy01MTc2ZTk0NGE4NmbZJDczMzM4Y2Q0LTJhMTctNDM5OC1hMTlkLTk5ODYwMWIzMGIwMtkkNjQ5MGQ3OTItOGU5MS00M2U3LWIyYmYtNWNkYWY2NTdiOTgz2SQ1MDYzMGIzNS1jZGZhLTQ5OGMtYTU5NC1kYjIzMDQwYTE5N2HZJGE1NTk0Zjg2LTY0NzYtNDMwMC1hODEyLWFjYWQyYzAxY2NjYdkkYzM3YmI5ZmEtM2NkNC00YTk1LWJhYzEtOWYxNzI4ZmUyZDE32SRiZmYzZDcwMS1mNTI3LTQ4NjQtOWQ5ZS1mNmExMzhlMzM1YjnZJGY4MDQ4NTUwLWRmNmItNDMxMC1hZWIxLTZlZTZlNzc0MzViN9kkZjIxMmJiZjgtMzU0NC00ODdmLWEzNDItZjYwNTQ0OThiNmUxsXB1Ymxpc2hlZF9vYmplY3RzgKVuYnBrZ4qvaW5zdGFsbF90aW1lX25zzwAAAAFZRukBrGluc3RhbnRpYXRlZMOyaW5zdGFsbGVkX3ZlcnNpb25zgqRUZXN0pnN0ZGxpYqZQcmludGamc3RkbGlisHRlcm1pbmFsX291dHB1dHODqm5icGtnX3N5bmPaA3QKQWRkaW5nIHBhY2thZ2VzLi4uChtbMzJtG1sxbSAgIFJlc29sdmluZxtbMjJtG1szOW0gcGFja2FnZSB2ZXJzaW9ucy4uLgobWzMybRtbMW0gICAgVXBkYXRpbmcbWzIybRtbMzltIGAvcHJpdmF0ZS92YXIvZm9sZGVycy9scC85Ynd4ZmdzMTE4bmJfMzJ2cThwc25kXzQwMDAwZ24vVC9qbF9USjU4YVIvUHJvamVjdC50b21sYAogIBtbOTBtWzhkZmVkNjE0XSAbWzM5bRtbOTJtKyBUZXN0G1szOW0KG1szMm0bWzFtICAgIFVwZGF0aW5nG1syMm0bWzM5bSBgL3ByaXZhdGUvdmFyL2ZvbGRlcnMvbHAvOWJ3eGZnczExOG5iXzMydnE4cHNuZF80MDAwMGduL1QvamxfVEo1OGFSL01hbmlmZXN0LnRvbWxgCiAgG1s5MG1bMmEwZjQ0ZTNdIBtbMzltG1s5Mm0rIEJhc2U2NBtbMzltCiAgG1s5MG1bYjc3ZTBhNGNdIBtbMzltG1s5Mm0rIEludGVyYWN0aXZlVXRpbHMbWzM5bQogIBtbOTBtWzU2ZGRiMDE2XSAbWzM5bRtbOTJtKyBMb2dnaW5nG1szOW0KICAbWzkwbVtkNmY0Mzc2ZV0gG1szOW0bWzkybSsgTWFya2Rvd24bWzM5bQogIBtbOTBtWzlhM2Y4Mjg0XSAbWzM5bRtbOTJtKyBSYW5kb20bWzM5bQogIBtbOTBtW2VhOGU5MTljXSAbWzM5bRtbOTJtKyBTSEEgdjAuNy4wG1szOW0KICAbWzkwbVs5ZTg4YjQyYV0gG1szOW0bWzkybSsgU2VyaWFsaXphdGlvbhtbMzltCiAgG1s5MG1bOGRmZWQ2MTRdIBtbMzltG1s5Mm0rIFRlc3QbWzM5bQobWzMybRtbMW1Mb2FkaW5nG1syMm0bWzM5bSBwYWNrYWdlcy4uLgoKSW5zdGFudGlhdGluZy4uLgoKUHJlY29tcGlsaW5nLi4uChtbMzJtG1sxbSAgQWN0aXZhdGluZxtbMjJtG1szOW0gcHJvamVjdCBhdCBgL3ByaXZhdGUvdmFyL2ZvbGRlcnMvbHAvOWJ3eGZnczExOG5iXzMydnE4cHNuZF80MDAwMGduL1QvamxfVEo1OGFSYKRUZXN02gN0CkFkZGluZyBwYWNrYWdlcy4uLgobWzMybRtbMW0gICBSZXNvbHZpbmcbWzIybRtbMzltIHBhY2thZ2UgdmVyc2lvbnMuLi4KG1szMm0bWzFtICAgIFVwZGF0aW5nG1syMm0bWzM5bSBgL3ByaXZhdGUvdmFyL2ZvbGRlcnMvbHAvOWJ3eGZnczExOG5iXzMydnE4cHNuZF80MDAwMGduL1QvamxfVEo1OGFSL1Byb2plY3QudG9tbGAKICAbWzkwbVs4ZGZlZDYxNF0gG1szOW0bWzkybSsgVGVzdBtbMzltChtbMzJtG1sxbSAgICBVcGRhdGluZxtbMjJtG1szOW0gYC9wcml2YXRlL3Zhci9mb2xkZXJzL2xwLzlid3hmZ3MxMThuYl8zMnZxOHBzbmRfNDAwMDBnbi9UL2psX1RKNThhUi9NYW5pZmVzdC50b21sYAogIBtbOTBtWzJhMGY0NGUzXSAbWzM5bRtbOTJtKyBCYXNlNjQbWzM5bQogIBtbOTBtW2I3N2UwYTRjXSAbWzM5bRtbOTJtKyBJbnRlcmFjdGl2ZVV0aWxzG1szOW0KICAbWzkwbVs1NmRkYjAxNl0gG1szOW0bWzkybSsgTG9nZ2luZxtbMzltCiAgG1s5MG1bZDZmNDM3NmVdIBtbMzltG1s5Mm0rIE1hcmtkb3duG1szOW0KICAbWzkwbVs5YTNmODI4NF0gG1szOW0bWzkybSsgUmFuZG9tG1szOW0KICAbWzkwbVtlYThlOTE5Y10gG1szOW0bWzkybSsgU0hBIHYwLjcuMBtbMzltCiAgG1s5MG1bOWU4OGI0MmFdIBtbMzltG1s5Mm0rIFNlcmlhbGl6YXRpb24bWzM5bQogIBtbOTBtWzhkZmVkNjE0XSAbWzM5bRtbOTJtKyBUZXN0G1szOW0KG1szMm0bWzFtTG9hZGluZxtbMjJtG1szOW0gcGFja2FnZXMuLi4KCkluc3RhbnRpYXRpbmcuLi4KClByZWNvbXBpbGluZy4uLgobWzMybRtbMW0gIEFjdGl2YXRpbmcbWzIybRtbMzltIHByb2plY3QgYXQgYC9wcml2YXRlL3Zhci9mb2xkZXJzL2xwLzlid3hmZ3MxMThuYl8zMnZxOHBzbmRfNDAwMDBnbi9UL2psX1RKNThhUmCmUHJpbnRm2gGLCkluc3RhbnRpYXRpbmcuLi4KClJlc29sdmluZy4uLgobWzMybRtbMW0gIE5vIENoYW5nZXMbWzIybRtbMzltIHRvIGAvcHJpdmF0ZS92YXIvZm9sZGVycy9scC85Ynd4ZmdzMTE4bmJfMzJ2cThwc25kXzQwMDAwZ24vVC9qbF9USjU4YVIvUHJvamVjdC50b21sYAobWzMybRtbMW0gIE5vIENoYW5nZXMbWzIybRtbMzltIHRvIGAvcHJpdmF0ZS92YXIvZm9sZGVycy9scC85Ynd4ZmdzMTE4bmJfMzJ2cThwc25kXzQwMDAwZ24vVC9qbF9USjU4YVIvTWFuaWZlc3QudG9tbGAKClByZWNvbXBpbGluZy4uLgobWzMybRtbMW0gIEFjdGl2YXRpbmcbWzIybRtbMzltIHByb2plY3QgYXQgYC9wcml2YXRlL3Zhci9mb2xkZXJzL2xwLzlid3hmZ3MxMThuYl8zMnZxOHBzbmRfNDAwMDBnbi9UL2psX1RKNThhUmCnZW5hYmxlZMO3cmVzdGFydF9yZWNvbW1lbmRlZF9tc2fAtHJlc3RhcnRfcmVxdWlyZWRfbXNnwK1idXN5X3BhY2thZ2VzkLZ3YWl0aW5nX2Zvcl9wZXJtaXNzaW9uwtksd2FpdGluZ19mb3JfcGVybWlzc2lvbl9idXRfcHJvYmFibHlfZGlzYWJsZWTCq2NlbGxfaW5wdXRzitkkNjQ5MGQ3OTItOGU5MS00M2U3LWIyYmYtNWNkYWY2NTdiOTgzhKdjZWxsX2lk2SQ2NDkwZDc5Mi04ZTkxLTQzZTctYjJiZi01Y2RhZjY1N2I5ODOkY29kZdnCIiIiCglDIHBvcnQgdG8gSnVsaWEgZm9yIGBzaG9raWthYAoiIiIKZnVuY3Rpb24gc2V0Mnplcm8hKGRhdGExOjpULCBkYXRhMjo6VCwgZGF0YTM6OlQpIHdoZXJlIHtUPDpBYnN0cmFjdFZlY3Rvcn0KICAgIGZvciBkIGluIChkYXRhMSwgZGF0YTIsIGRhdGEzKQogICAgICAgIGZpbGwhKGQsIHplcm8oZWx0eXBlKGQpKSkKICAgIGVuZAplbmSobWV0YWRhdGGDqXNob3dfbG9nc8OoZGlzYWJsZWTCrnNraXBfYXNfc2NyaXB0wqtjb2RlX2ZvbGRlZMLZJDQ3MjUwMGMxLTgyOTUtNDljNy1iNmU4LWQ5NTc5ODdhODYwYYSnY2VsbF9pZNkkNDcyNTAwYzEtODI5NS00OWM3LWI2ZTgtZDk1Nzk4N2E4NjBhpGNvZGWsdXNpbmcgUHJpbnRmqG1ldGFkYXRhg6lzaG93X2xvZ3PDqGRpc2FibGVkwq5za2lwX2FzX3NjcmlwdMKrY29kZV9mb2xkZWTC2SRjMzdiYjlmYS0zY2Q0LTRhOTUtYmFjMS05ZjE3MjhmZTJkMTeEp2NlbGxfaWTZJGMzN2JiOWZhLTNjZDQtNGE5NS1iYWMxLTlmMTcyOGZlMmQxN6Rjb2Rl2eFAdGVzdHNldCAiaW5pdGNmZyEiIGJlZ2luCiAgICBkYXRhMSA9IHJhbmQoMTApCiAgICBkYXRhMiA9IHJhbmQoMTApCiAgICBkYXRhMyA9IHJhbmQoMTApCiAgICBpbml0Y2ZnIShkYXRhMSwgZGF0YTIsIGRhdGEzKQogICAgQHRlc3QgYWxsKC0yIC48PSBkYXRhMSAuPCAyKQogICAgQHRlc3QgYWxsKC0yIC48PSBkYXRhMiAuPCAyKQogICAgQHRlc3QgYWxsKC0yIC48PSBkYXRhMyAuPCAyKQplbmSobWV0YWRhdGGDqXNob3dfbG9nc8OoZGlzYWJsZWTCrnNraXBfYXNfc2NyaXB0wqtjb2RlX2ZvbGRlZMLZJDczMzM4Y2Q0LTJhMTctNDM5OC1hMTlkLTk5ODYwMWIzMGIwMoSnY2VsbF9pZNkkNzMzMzhjZDQtMmExNy00Mzk4LWExOWQtOTk4NjAxYjMwYjAypGNvZGXaAjhtZCIiIgoKW+WkieWIhuODouODs+ODhuOCq+ODq+ODrShWTUMp44KS44KE44Gj44Gm44G/44KLfuawtOe0oOWOn+WtkH5dKGh0dHBzOi8vbWl5YW50YXJ1bWkuaGF0ZW5hYmxvZy5jb20vZW50cnkvMjAyMi8wNC8wOC8wODAwMDApIOOBriBKdWxpYSDlrp/oo4XjgpLooYzjgYbvvI4KCuOBqOOCiuOBguOBiOOBmuWGmee1jOOBl+OBn+OBn+OCgSBDIOODl+ODreOCsOODqeODoOOBq+W8leOBo+W8teOCieOCjOOBn+abuOOBjeaWueOCkuOBl+OBpuOBhOOCi++8jiDkvovjgYjjgbDmraPopo/liIbluIPjga/jg5zjg4Pjgq/jgrnjg5/jg6Xjg6njg7zjgqLjg6vjgrTjg6rjgrrjg6DjgpLkvb/jgaPjgabjgYTjgovjgYwgSnVsaWEg55qE44Gr44GvIHJhbmRuIOmWouaVsOOCkuWRvOOBueOBsOiJr+OBhO+8jgoK44G+44GfIE1ldHJvcG9saXMgdGVzdGluZyDjga/jg5njgr/jgYzjgY3jgZfjgabjgovjgZ/jgoHkvLzjgZ/jgojjgYbjgarjg63jgrjjg4Pjgq/jgpLvvJTlm57jgoLmm7jjgY/lv4XopoHjgYzjgYLjgaPjgZ/vvI7mraPnm7TjgaroqbHmsJfjgYzni4LjgYTjgZ3jgYbjgaDjgaPjgZ/vvI4KIiIiqG1ldGFkYXRhg6lzaG93X2xvZ3PDqGRpc2FibGVkwq5za2lwX2FzX3NjcmlwdMKrY29kZV9mb2xkZWTD2SQ1MDYzMGIzNS1jZGZhLTQ5OGMtYTU5NC1kYjIzMDQwYTE5N2GEp2NlbGxfaWTZJDUwNjMwYjM1LWNkZmEtNDk4Yy1hNTk0LWRiMjMwNDBhMTk3YaRjb2Rl2axAdGVzdHNldCAic2V0Mnplcm8hIiBiZWdpbgoJZGF0YTEgPSByYW5kKDEwKQogICAgZGF0YTIgPSByYW5kKDEwKQogICAgZGF0YTMgPSByYW5kKDEwKQogICAgc2V0Mnplcm8hKGRhdGExLCBkYXRhMiwgZGF0YTMpCiAgICBAdGVzdCBkYXRhMSA9PSBkYXRhMiA9PSBkYXRhMyA9PSB6ZXJvcygxMCkKZW5kqG1ldGFkYXRhg6lzaG93X2xvZ3PDqGRpc2FibGVkwq5za2lwX2FzX3NjcmlwdMKrY29kZV9mb2xkZWTC2SRiZmYzZDcwMS1mNTI3LTQ4NjQtOWQ5ZS1mNmExMzhlMzM1YjmEp2NlbGxfaWTZJGJmZjNkNzAxLWY1MjctNDg2NC05ZDllLWY2YTEzOGUzMzViOaRjb2Rl2gOUZnVuY3Rpb24gbWV0cm9wb2xpc193YWxrISgKICAgIGRhdGExOjpULAogICAgZGF0YTI6OlQsCiAgICBkYXRhMzo6VCwKICAgIGRhdGE0OjpULAogICAgZGF0YTU6OlQsCiAgICBkYXRhNjo6VCwKKSB3aGVyZSB7VDw6QWJzdHJhY3RWZWN0b3J9CiAgICBzaWdtYSA9IDAuNAogICAgcCA9IFZlY3RvcntGbG9hdDY0fSh1bmRlZiwgbGVuZ3RoKGRhdGExKSkKICAgIHEgPSBWZWN0b3J7RmxvYXQ2NH0odW5kZWYsIGxlbmd0aChkYXRhMSkpCiAgICBmb3IgaSBpbiBlYWNoaW5kZXgocCwgcSwgZGF0YTEsIGRhdGEyLCBkYXRhMywgZGF0YTQsIGRhdGE1LCBkYXRhNikKICAgICAgICAjIEJveCBNdWxsZXIgdHJhbnNmb3JtYXRpb24g44Gr44KI44Gj44Gm5L2c44Gj44Gm44KL44Gu44GnIHJhbmRuIOefpeOBo+OBpuOCjOOBsOWNgeWIhgogICAgICAgICMgeAogICAgICAgIGRhdGE0W2ldID0gZGF0YTFbaV0KICAgICAgICBwW2ldID0gcmFuZCgpCiAgICAgICAgcVtpXSA9IHJhbmQoKQogICAgICAgIGRhdGExW2ldID0gZGF0YTFbaV0gKyBzaWdtYSAqIHNxcnQoLTIgKiBsb2cocFtpXSkpICogY29zKDIgKiBwaSAqIHFbaV0pCgogICAgICAgICN5CiAgICAgICAgZGF0YTVbaV0gPSBkYXRhMltpXQogICAgICAgIHBbaV0gPSByYW5kKCkKICAgICAgICBxW2ldID0gcmFuZCgpCiAgICAgICAgZGF0YTJbaV0gPSBkYXRhMltpXSArIHNpZ21hICogc3FydCgtMiAqIGxvZyhwW2ldKSkgKiBjb3MoMiAqIHBpICogcVtpXSkKCiAgICAgICAgI3oKICAgICAgICBkYXRhNltpXSA9IGRhdGEzW2ldCiAgICAgICAgcFtpXSA9IHJhbmQoKQogICAgICAgIHFbaV0gPSByYW5kKCkKICAgICAgICBkYXRhM1tpXSA9IGRhdGEzW2ldICsgc2lnbWEgKiBzcXJ0KC0yICogbG9nKHBbaV0pKSAqIGNvcygyICogcGkgKiBxW2ldKQogICAgZW5kCmVuZKhtZXRhZGF0YYOpc2hvd19sb2dzw6hkaXNhYmxlZMKuc2tpcF9hc19zY3JpcHTCq2NvZGVfZm9sZGVkwtkkZjgwNDg1NTAtZGY2Yi00MzEwLWFlYjEtNmVlNmU3NzQzNWI3hKdjZWxsX2lk2SRmODA0ODU1MC1kZjZiLTQzMTAtYWViMS02ZWU2ZTc3NDM1YjekY29kZdojkmZ1bmN0aW9uIG1haW4oKQogICAgbndhbGtlcnMgPSA0MDAKCiAgICBzYW1wbGUgPSAzMDAwMAogICAgYWNjID0gemVyb3MoSW50LCBud2Fsa2VycykKICAgIGFscGhhXzAgPSAwLjgKICAgIHggPSBWZWN0b3J7RmxvYXQ2NH0odW5kZWYsIG53YWxrZXJzKQogICAgeSA9IFZlY3RvcntGbG9hdDY0fSh1bmRlZiwgbndhbGtlcnMpCiAgICB6ID0gVmVjdG9ye0Zsb2F0NjR9KHVuZGVmLCBud2Fsa2VycykKICAgIHhfYmFja3VwID0gVmVjdG9ye0Zsb2F0NjR9KHVuZGVmLCBud2Fsa2VycykKICAgIHlfYmFja3VwID0gVmVjdG9ye0Zsb2F0NjR9KHVuZGVmLCBud2Fsa2VycykKICAgIHpfYmFja3VwID0gVmVjdG9ye0Zsb2F0NjR9KHVuZGVmLCBud2Fsa2VycykKICAgIHJfaW5pID0gVmVjdG9ye0Zsb2F0NjR9KHVuZGVmLCBud2Fsa2VycykKICAgIHJfZmluID0gVmVjdG9ye0Zsb2F0NjR9KHVuZGVmLCBud2Fsa2VycykKICAgIHIgPSBWZWN0b3J7RmxvYXQ2NH0odW5kZWYsIG53YWxrZXJzKQogICAgcHNpX2luaSA9IFZlY3RvcntGbG9hdDY0fSh1bmRlZiwgbndhbGtlcnMpCiAgICBwc2lfZmluID0gVmVjdG9ye0Zsb2F0NjR9KHVuZGVmLCBud2Fsa2VycykKICAgIFN1bV9FX3cgPSB6ZXJvcyhud2Fsa2VycykKICAgIEVfdyA9IHplcm9zKG53YWxrZXJzKQogICAgRSA9IDAuMAogICAgU3VtX0VkbG5wc2lfdyA9IHplcm9zKG53YWxrZXJzKQogICAgRWRsbnBzaV93ID0gemVyb3MobndhbGtlcnMpCiAgICBFZGxucHNpID0gMC4wCiAgICBTdW1fZGxucHNpX3cgPSB6ZXJvcyhud2Fsa2VycykKICAgIGRsbnBzaV93ID0gemVyb3MobndhbGtlcnMpCiAgICBkbG5wc2kgPSAwCiAgICBoID0gMWUtMwoKICAgIGFscGhhX2ZpbiA9IGFscGhhXzAKICAgIHdoaWxlIHRydWUKICAgICAgICBhbHBoYV9pbmkgPSBhbHBoYV9maW4KICAgICAgICBzZXQyemVybyEoU3VtX0VfdywgU3VtX0VkbG5wc2lfdywgU3VtX2RsbnBzaV93KQogICAgICAgIGluaXRjZmchKHgsIHksIHopCiAgICAgICAgZm9yIGkgPSAxOnNhbXBsZQogICAgICAgICAgICBtZXRyb3BvbGlzX3dhbGshKHgsIHksIHosIHhfYmFja3VwLCB5X2JhY2t1cCwgel9iYWNrdXApCiAgICAgICAgICAgIGZvciBqIGluIGVhY2hpbmRleCgKICAgICAgICAgICAgICAgIHgsCiAgICAgICAgICAgICAgICB5LAogICAgICAgICAgICAgICAgeiwKICAgICAgICAgICAgICAgIHhfYmFja3VwLAogICAgICAgICAgICAgICAgeV9iYWNrdXAsCiAgICAgICAgICAgICAgICB6X2JhY2t1cCwKICAgICAgICAgICAgICAgIHJfaW5pLAogICAgICAgICAgICAgICAgcHNpX2luaSwKICAgICAgICAgICAgICAgIHJfZmluLAogICAgICAgICAgICAgICAgcHNpX2ZpbiwKICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgcl9pbmlbal0gPSBzcXJ0KHhfYmFja3VwW2pdXjIgKyB5X2JhY2t1cFtqXV4yICsgel9iYWNrdXBbal1eMikKICAgICAgICAgICAgICAgIHBzaV9pbmlbal0gPSBleHAoLTJhbHBoYV9pbmkgKiByX2luaVtqXSkKCiAgICAgICAgICAgICAgICByX2ZpbltqXSA9IHNxcnQoeFtqXV4yICsgeVtqXV4yICsgeltqXV4yKQogICAgICAgICAgICAgICAgcHNpX2ZpbltqXSA9IGV4cCgtMmFscGhhX2luaSAqIHJfZmluW2pdKQoKICAgICAgICAgICAgICAgIGlmIHJhbmQoKSA8IChwc2lfZmluW2pdIC8gcHNpX2luaVtqXSkKICAgICAgICAgICAgICAgICAgICBhY2Nbal0gPSBhY2Nbal0gKyAxCiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgeFtqXSA9IHhfYmFja3VwW2pdCiAgICAgICAgICAgICAgICAgICAgeVtqXSA9IHlfYmFja3VwW2pdCiAgICAgICAgICAgICAgICAgICAgeltqXSA9IHpfYmFja3VwW2pdCiAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgICAgIGlmIGkg4omlIDQwMDAKICAgICAgICAgICAgICAgICAgICByW2pdID0gc3FydCh4W2pdICogeFtqXSArIHlbal0gKiB5W2pdICsgeltqXSAqIHpbal0pCiAgICAgICAgICAgICAgICAgICAgU3VtX0Vfd1tqXSA9CiAgICAgICAgICAgICAgICAgICAgICAgIFN1bV9FX3dbal0gLSAxIC8gcltqXSAtIDAuNSAqIGFscGhhX2luaSAqIChhbHBoYV9pbmkgLSAyIC8gcltqXSkKICAgICAgICAgICAgICAgICAgICBTdW1fRWRsbnBzaV93W2pdID0KICAgICAgICAgICAgICAgICAgICAgICAgU3VtX0VkbG5wc2lfd1tqXSArCiAgICAgICAgICAgICAgICAgICAgICAgICgtcltqXSkgKiAoLTEgLyByW2pdIC0gMC41ICogYWxwaGFfaW5pICogKGFscGhhX2luaSAtIDIgLyByW2pdKSkKICAgICAgICAgICAgICAgICAgICBTdW1fZGxucHNpX3dbal0gPSBTdW1fZGxucHNpX3dbal0gLSByW2pdCgogICAgICAgICAgICAgICAgICAgIEVfd1tqXSA9IFN1bV9FX3dbal0gLyAoaSAtIDM5OTkpCiAgICAgICAgICAgICAgICAgICAgRWRsbnBzaV93W2pdID0gU3VtX0VkbG5wc2lfd1tqXSAvIChpIC0gMzk5OSkKICAgICAgICAgICAgICAgICAgICBkbG5wc2lfd1tqXSA9IFN1bV9kbG5wc2lfd1tqXSAvIChpIC0gMzk5OSkKICAgICAgICAgICAgICAgIGVuZAogICAgICAgICAgICBlbmQKICAgICAgICBlbmQKICAgICAgICBFID0gMAogICAgICAgIEVkbG5wc2kgPSAwCiAgICAgICAgZGxucHNpID0gMAogICAgICAgICMgd2Fsa2Vy5YWo44Gm44Gu5bmz5Z2H44KS5Y+W44KL44GT44Go44Gr44GZ44KLCiAgICAgICAgZm9yIGogaW4gZWFjaGluZGV4KEVfdywgRWRsbnBzaV93LCBkbG5wc2lfdykKICAgICAgICAgICAgRSA9IEUgKyBFX3dbal0KICAgICAgICAgICAgRWRsbnBzaSA9IEVkbG5wc2kgKyBFZGxucHNpX3dbal0KICAgICAgICAgICAgZGxucHNpID0gZGxucHNpICsgZGxucHNpX3dbal0KICAgICAgICBlbmQKCiAgICAgICAgRSA9IEUgLyBud2Fsa2VycwogICAgICAgIEVkbG5wc2kgPSBFZGxucHNpIC8gbndhbGtlcnMKICAgICAgICBkbG5wc2kgPSBkbG5wc2kgLyBud2Fsa2VycyAjIGRFL2RhbHBoYeOBruioiOeul+OCkuOBmeOCi+OBn+OCgeOBrumDqOWTgeOCkuioiOeul+OBl+OBny4KICAgICAgICBkRSA9IDIgKiAoRWRsbnBzaSAtIEUgKiBkbG5wc2kpCgogICAgICAgIGFscGhhX3BsdXMgPSBhbHBoYV9pbmkgKyBoCiAgICAgICAgYWxwaGFfbWludXMgPSBhbHBoYV9pbmkgLSBoCgogICAgICAgIHNldDJ6ZXJvIShTdW1fRV93LCBTdW1fRWRsbnBzaV93LCBTdW1fZGxucHNpX3cpCiAgICAgICAgaW5pdGNmZyEoeCwgeSwgeikKCiAgICAgICAgZm9yIGkgPSAxOnNhbXBsZQogICAgICAgICAgICBtZXRyb3BvbGlzX3dhbGshKHgsIHksIHosIHhfYmFja3VwLCB5X2JhY2t1cCwgel9iYWNrdXApCiAgICAgICAgICAgIGZvciBqIGluIGVhY2hpbmRleCgKICAgICAgICAgICAgICAgIHgsCiAgICAgICAgICAgICAgICB5LAogICAgICAgICAgICAgICAgeiwKICAgICAgICAgICAgICAgIHhfYmFja3VwLAogICAgICAgICAgICAgICAgeV9iYWNrdXAsCiAgICAgICAgICAgICAgICB6X2JhY2t1cCwKICAgICAgICAgICAgICAgIHJfaW5pLAogICAgICAgICAgICAgICAgcHNpX2luaSwKICAgICAgICAgICAgICAgIHJfZmluLAogICAgICAgICAgICAgICAgcHNpX2ZpbiwKICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgIHJfaW5pW2pdID0gc3FydCh4X2JhY2t1cFtqXV4yICsgeV9iYWNrdXBbal1eMiArIHpfYmFja3VwW2pdXjIpCiAgICAgICAgICAgICAgICBwc2lfaW5pW2pdID0gZXhwKC0yICogYWxwaGFfcGx1cyAqIHJfaW5pW2pdKQoKICAgICAgICAgICAgICAgIHJfZmluW2pdID0gc3FydCh4W2pdXjIgKyB5W2pdXjIgKyB6W2pdXjIpCiAgICAgICAgICAgICAgICBwc2lfZmluW2pdID0gZXhwKC0yICogYWxwaGFfcGx1cyAqIHJfZmluW2pdKQoKICAgICAgICAgICAgICAgIGlmIChyYW5kKCkgPCBwc2lfZmluW2pdIC8gcHNpX2luaVtqXSkKICAgICAgICAgICAgICAgICAgICBhY2Nbal0gKz0gMQogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIHhbal0gPSB4X2JhY2t1cFtqXQogICAgICAgICAgICAgICAgICAgIHlbal0gPSB5X2JhY2t1cFtqXQogICAgICAgICAgICAgICAgICAgIHpbal0gPSB6X2JhY2t1cFtqXQogICAgICAgICAgICAgICAgZW5kCgogICAgICAgICAgICAgICAgaWYgaSDiiaUgNDAwMAogICAgICAgICAgICAgICAgICAgIHJbal0gPSBzcXJ0KHhbal0gKiB4W2pdICsgeVtqXSAqIHlbal0gKyB6W2pdICogeltqXSkKICAgICAgICAgICAgICAgICAgICBTdW1fRV93W2pdID0KICAgICAgICAgICAgICAgICAgICAgICAgU3VtX0Vfd1tqXSAtIDEgLyByW2pdIC0gMC41ICogYWxwaGFfcGx1cyAqIChhbHBoYV9wbHVzIC0gMiAvIHJbal0pCiAgICAgICAgICAgICAgICAgICAgU3VtX0VkbG5wc2lfd1tqXSA9CiAgICAgICAgICAgICAgICAgICAgICAgIFN1bV9FZGxucHNpX3dbal0gKwogICAgICAgICAgICAgICAgICAgICAgICAoLXJbal0pICogKC0xIC8gcltqXSAtIDAuNSAqIGFscGhhX3BsdXMgKiAoYWxwaGFfcGx1cyAtIDIgLyByW2pdKSkKICAgICAgICAgICAgICAgICAgICBTdW1fZGxucHNpX3dbal0gPSBTdW1fZGxucHNpX3dbal0gLSByW2pdCgogICAgICAgICAgICAgICAgICAgIEVfd1tqXSA9IFN1bV9FX3dbal0gLyAoaSAtIDM5OTkpCiAgICAgICAgICAgICAgICAgICAgRWRsbnBzaV93W2pdID0gU3VtX0VkbG5wc2lfd1tqXSAvIChpIC0gMzk5OSkKICAgICAgICAgICAgICAgICAgICBkbG5wc2lfd1tqXSA9IFN1bV9kbG5wc2lfd1tqXSAvIChpIC0gMzk5OSkKICAgICAgICAgICAgICAgIGVuZAogICAgICAgICAgICBlbmQKICAgICAgICBlbmQKCiAgICAgICAgRSA9IDAKICAgICAgICBFZGxucHNpID0gMAogICAgICAgIGRsbnBzaSA9IDAKICAgICAgICAjIHdhbGtlcuWFqOOBpuOBruW5s+Wdh+OCkuWPluOCi+OBk+OBqOOBq+OBmeOCiwogICAgICAgIGZvciBqIGluIGVhY2hpbmRleChFX3cpCiAgICAgICAgICAgIEUgPSBFICsgRV93W2pdCiAgICAgICAgICAgIEVkbG5wc2kgPSBFZGxucHNpICsgRWRsbnBzaV93W2pdCiAgICAgICAgICAgIGRsbnBzaSA9IGRsbnBzaSArIGRsbnBzaV93W2pdCiAgICAgICAgZW5kCgogICAgICAgIEUgPSBFIC8gbndhbGtlcnMKICAgICAgICBFZGxucHNpID0gRWRsbnBzaSAvIG53YWxrZXJzCiAgICAgICAgZGxucHNpID0gZGxucHNpIC8gbndhbGtlcnMgIyBkRS9kYWxwaGFfcGx1c+OBruioiOeul+OCkuOBmeOCi+OBn+OCgeOBrumDqOWTgeOCkuioiOeul+OBl+OBny4KCiAgICAgICAgZEVfcGx1cyA9IDIgKiAoRWRsbnBzaSAtIEUgKiBkbG5wc2kpICMgLypkRS9kYWxwaGFfcGx1c+OBruioiOeul+OBjOOBp+OBjeOBny4qLwoKCiAgICAgICAgc2V0Mnplcm8hKFN1bV9FX3csIFN1bV9FZGxucHNpX3csIFN1bV9kbG5wc2lfdykKICAgICAgICBpbml0Y2ZnISh4LCB5LCB6KQoKICAgICAgICBmb3IgaSA9IDE6c2FtcGxlCiAgICAgICAgICAgIG1ldHJvcG9saXNfd2FsayEoeCwgeSwgeiwgeF9iYWNrdXAsIHlfYmFja3VwLCB6X2JhY2t1cCkKCiAgICAgICAgICAgIGZvciBqIGluIGVhY2hpbmRleCgKICAgICAgICAgICAgICAgIHgsCiAgICAgICAgICAgICAgICB5LAogICAgICAgICAgICAgICAgeiwKICAgICAgICAgICAgICAgIHhfYmFja3VwLAogICAgICAgICAgICAgICAgeV9iYWNrdXAsCiAgICAgICAgICAgICAgICB6X2JhY2t1cCwKICAgICAgICAgICAgICAgIHJfaW5pLAogICAgICAgICAgICAgICAgcHNpX2luaSwKICAgICAgICAgICAgICAgIHJfZmluLAogICAgICAgICAgICAgICAgcHNpX2ZpbiwKICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgIHJfaW5pW2pdID0gc3FydCh4X2JhY2t1cFtqXV4yICsgeV9iYWNrdXBbal1eMiArIHpfYmFja3VwW2pdXjIpCiAgICAgICAgICAgICAgICBwc2lfaW5pW2pdID0gZXhwKC0yICogYWxwaGFfbWludXMgKiByX2luaVtqXSkKCiAgICAgICAgICAgICAgICByX2ZpbltqXSA9IHNxcnQoeFtqXV4yICsgeVtqXV4yICsgeltqXV4yKQogICAgICAgICAgICAgICAgcHNpX2ZpbltqXSA9IGV4cCgtMiAqIGFscGhhX21pbnVzICogcl9maW5bal0pCgogICAgICAgICAgICAgICAgaWYgKHJhbmQoKSA8IHBzaV9maW5bal0gLyBwc2lfaW5pW2pdKQogICAgICAgICAgICAgICAgICAgIGFjY1tqXSArPSAxCiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgeFtqXSA9IHhfYmFja3VwW2pdCiAgICAgICAgICAgICAgICAgICAgeVtqXSA9IHlfYmFja3VwW2pdCiAgICAgICAgICAgICAgICAgICAgeltqXSA9IHpfYmFja3VwW2pdCiAgICAgICAgICAgICAgICBlbmQKCiAgICAgICAgICAgICAgICBpZiBpIOKJpSA0MDAwCiAgICAgICAgICAgICAgICAgICAgcltqXSA9IHNxcnQoeFtqXSAqIHhbal0gKyB5W2pdICogeVtqXSArIHpbal0gKiB6W2pdKQogICAgICAgICAgICAgICAgICAgIFN1bV9FX3dbal0gPQogICAgICAgICAgICAgICAgICAgICAgICBTdW1fRV93W2pdIC0gMSAvIHJbal0gLSAwLjUgKiBhbHBoYV9taW51cyAqIChhbHBoYV9taW51cyAtIDIgLyByW2pdKQogICAgICAgICAgICAgICAgICAgIFN1bV9FZGxucHNpX3dbal0gPQogICAgICAgICAgICAgICAgICAgICAgICBTdW1fRWRsbnBzaV93W2pdICsKICAgICAgICAgICAgICAgICAgICAgICAgKC1yW2pdKSAqICgtMSAvIHJbal0gLSAwLjUgKiBhbHBoYV9taW51cyAqIChhbHBoYV9taW51cyAtIDIgLyByW2pdKSkKICAgICAgICAgICAgICAgICAgICBTdW1fZGxucHNpX3dbal0gPSBTdW1fZGxucHNpX3dbal0gLSByW2pdCgogICAgICAgICAgICAgICAgICAgIEVfd1tqXSA9IFN1bV9FX3dbal0gLyAoaSAtIDM5OTkpCiAgICAgICAgICAgICAgICAgICAgRWRsbnBzaV93W2pdID0gU3VtX0VkbG5wc2lfd1tqXSAvIChpIC0gMzk5OSkKICAgICAgICAgICAgICAgICAgICBkbG5wc2lfd1tqXSA9IFN1bV9kbG5wc2lfd1tqXSAvIChpIC0gMzk5OSkKICAgICAgICAgICAgICAgIGVuZAogICAgICAgICAgICBlbmQKICAgICAgICBlbmQKCiAgICAgICAgRSA9IDAKICAgICAgICBFZGxucHNpID0gMAogICAgICAgIGRsbnBzaSA9IDAKICAgICAgICAjIHdhbGtlcuWFqOOBpuOBruW5s+Wdh+OCkuWPluOCi+OBk+OBqOOBq+OBmeOCiwogICAgICAgIGZvciBqIGluIGVhY2hpbmRleChFX3cpCiAgICAgICAgICAgIEUgPSBFICsgRV93W2pdCiAgICAgICAgICAgIEVkbG5wc2kgPSBFZGxucHNpICsgRWRsbnBzaV93W2pdCiAgICAgICAgICAgIGRsbnBzaSA9IGRsbnBzaSArIGRsbnBzaV93W2pdCiAgICAgICAgZW5kCgogICAgICAgIEUgPSBFIC8gbndhbGtlcnMKICAgICAgICBFZGxucHNpID0gRWRsbnBzaSAvIG53YWxrZXJzCiAgICAgICAgZGxucHNpID0gZGxucHNpIC8gbndhbGtlcnMgIyBkRS9kYWxwaGFfcGx1c+OBruioiOeul+OCkuOBmeOCi+OBn+OCgeOBrumDqOWTgeOCkuioiOeul+OBl+OBny4KCiAgICAgICAgZEVfbWludXMgPSAyICogKEVkbG5wc2kgLSBFICogZGxucHNpKSAjIC8qZEUvZGFscGhhX3BsdXPjga7oqIjnrpfjgYzjgafjgY3jgZ8uKi8KCiAgICAgICAgZGRFID0gKGRFX3BsdXMgLSBkRV9taW51cykgLyAoMiAqIGgpCiAgICAgICAgYWxwaGFfZmluID0gYWxwaGFfaW5pIC0gZEUgLyBkZEUKICAgICAgICBAaW5mbyBhbHBoYV9maW4sIGFscGhhX2luaQogICAgICAgIEBpbmZvIGFicyhhbHBoYV9maW4gLSBhbHBoYV9pbmkpCiAgICAgICAgaWYgYWJzKGFscGhhX2ZpbiAtIGFscGhhX2luaSkgPCAxZS02CiAgICAgICAgICAgIGJyZWFrCiAgICAgICAgZW5kCiAgICBlbmQKCiAgICBhbHBoYV92YSA9IGFscGhhX2ZpbgogICAgQHByaW50Zigi44Ko44ON44Or44Ku44O844GM5pyA5bCP44Gr44Gq44KL5aSJ5YiG44OR44Op44Oh44O844K/44GvJS4xMGZcbiIsIGFscGhhX3ZhKQoKICAgIHNldDJ6ZXJvIShTdW1fRV93LCBTdW1fRWRsbnBzaV93LCBTdW1fZGxucHNpX3cpCiAgICBpbml0Y2ZnISh4LCB5LCB6KQoKICAgIGZvciBpID0gMTpzYW1wbGUKICAgICAgICBtZXRyb3BvbGlzX3dhbGshKHgsIHksIHosIHhfYmFja3VwLCB5X2JhY2t1cCwgel9iYWNrdXApCiAgICAgICAgZm9yIGogaW4KICAgICAgICAgICAgZWFjaGluZGV4KHgsIHksIHosIHhfYmFja3VwLCB5X2JhY2t1cCwgel9iYWNrdXAsIHJfaW5pLCBwc2lfaW5pLCByX2ZpbiwgcHNpX2ZpbikKICAgICAgICAgICAgcl9pbmlbal0gPSBzcXJ0KAogICAgICAgICAgICAgICAgeF9iYWNrdXBbal0gKiB4X2JhY2t1cFtqXSArCiAgICAgICAgICAgICAgICB5X2JhY2t1cFtqXSAqIHlfYmFja3VwW2pdICsKICAgICAgICAgICAgICAgIHpfYmFja3VwW2pdICogel9iYWNrdXBbal0sCiAgICAgICAgICAgICkKICAgICAgICAgICAgcHNpX2luaVtqXSA9IGV4cCgtMiAqIGFscGhhX3ZhICogcl9pbmlbal0pCgogICAgICAgICAgICByX2ZpbltqXSA9IHNxcnQoeFtqXSAqIHhbal0gKyB5W2pdICogeVtqXSArIHpbal0gKiB6W2pdKQogICAgICAgICAgICBwc2lfZmluW2pdID0gZXhwKC0yICogYWxwaGFfdmEgKiByX2ZpbltqXSkKCiAgICAgICAgICAgIGlmIChyYW5kKCkgPCBwc2lfZmluW2pdIC8gcHNpX2luaVtqXSkKICAgICAgICAgICAgICAgIGFjY1tqXSArPSAxCiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIHhbal0gPSB4X2JhY2t1cFtqXQogICAgICAgICAgICAgICAgeVtqXSA9IHlfYmFja3VwW2pdCiAgICAgICAgICAgICAgICB6W2pdID0gel9iYWNrdXBbal0KICAgICAgICAgICAgZW5kCgogICAgICAgICAgICBpZiAoaSA+PSA0MDAwKQoKICAgICAgICAgICAgICAgIHJbal0gPSBzcXJ0KHhbal0gKiB4W2pdICsgeVtqXSAqIHlbal0gKyB6W2pdICogeltqXSkKICAgICAgICAgICAgICAgIFN1bV9FX3dbal0gPSBTdW1fRV93W2pdIC0gMSAvIHJbal0gLSAwLjUgKiBhbHBoYV92YSAqIChhbHBoYV92YSAtIDIgLyByW2pdKQoKICAgICAgICAgICAgICAgIEVfd1tqXSA9IFN1bV9FX3dbal0gLyAoaSAtIDM5OTkpCiAgICAgICAgICAgIGVuZAogICAgICAgIGVuZAogICAgZW5kCgogICAgRSA9IDAKICAgIGZvciBqIGluIGVhY2hpbmRleChFX3cpCiAgICAgICAgRSA9IEUgKyBFX3dbal0KICAgIGVuZAogICAgRSA9IEUgLyBud2Fsa2VycwoKICAgIEBwcmludGYoIuWfuuW6leeKtuaFi+OBruOCqOODjeODq+OCruODvOOBryUuMTBmXG4iLCBFKQplbmSobWV0YWRhdGGDqXNob3dfbG9nc8OoZGlzYWJsZWTCrnNraXBfYXNfc2NyaXB0wqtjb2RlX2ZvbGRlZMLZJGE1NTk0Zjg2LTY0NzYtNDMwMC1hODEyLWFjYWQyYzAxY2NjYYSnY2VsbF9pZNkkYTU1OTRmODYtNjQ3Ni00MzAwLWE4MTItYWNhZDJjMDFjY2NhpGNvZGXZ/2Z1bmN0aW9uIGluaXRjZmchKGRhdGExOjpULCBkYXRhMjo6VCwgZGF0YTM6OlQpIHdoZXJlIHtUPDpBYnN0cmFjdFZlY3Rvcn0KICAgIGZvciBpIGluIGVhY2hpbmRleChkYXRhMSwgZGF0YTIsIGRhdGEzKQogICAgICAgIGRhdGExW2ldID0gKHJhbmQoKSAtIDAuNSkgKiAyICogMgogICAgICAgIGRhdGEyW2ldID0gKHJhbmQoKSAtIDAuNSkgKiAyICogMgogICAgICAgIGRhdGEzW2ldID0gKHJhbmQoKSAtIDAuNSkgKiAyICogMgogICAgZW5kCmVuZKhtZXRhZGF0YYOpc2hvd19sb2dzw6hkaXNhYmxlZMKuc2tpcF9hc19zY3JpcHTCq2NvZGVfZm9sZGVkwtkkZjIxMmJiZjgtMzU0NC00ODdmLWEzNDItZjYwNTQ0OThiNmUxhKdjZWxsX2lk2SRmMjEyYmJmOC0zNTQ0LTQ4N2YtYTM0Mi1mNjA1NDQ5OGI2ZTGkY29kZaxAdGltZSBtYWluKCmobWV0YWRhdGGDqXNob3dfbG9nc8OoZGlzYWJsZWTCrnNraXBfYXNfc2NyaXB0wqtjb2RlX2ZvbGRlZMLZJGE0OTJhNWY1LWVkYzgtNGQ5OS1iMmMzLTUxNzZlOTQ0YTg2ZoSnY2VsbF9pZNkkYTQ5MmE1ZjUtZWRjOC00ZDk5LWIyYzMtNTE3NmU5NDRhODZmpGNvZGWqdXNpbmcgVGVzdKhtZXRhZGF0YYOpc2hvd19sb2dzw6hkaXNhYmxlZMKuc2tpcF9hc19zY3JpcHTCq2NvZGVfZm9sZGVkwqtub3RlYm9va19pZNkkNjM4YzBiYTYtYTk1Yi0xMWVlLTMxZDMtYWZhNDIxMzc1MWIwq2luX3RlbXBfZGlywqhtZXRhZGF0YYA=";
window.pluto_preamble_html = undefined;
</script>
<meta name="pluto-insertion-spot-parameters">
<script src="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/editor.c69300f2.js" type="module" defer="" integrity="sha384-sLMlcWvt4TmaGbLLnhN9nz+JY2xsbCeklFggrWNJ4zBrwPosiufyTbUD6aYbHgE4" crossorigin="anonymous"></script><script src="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/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></head><body class="loading no-MαθJax"> <div style="display:flex;min-height:100vh;"> <pluto-editor class="fullscreen"></pluto-editor> </div> </body></html>
<!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.19.36/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.19.36/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.19.36/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.19.36/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.19.36/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.19.36/frontend-dist/editor.23f324ce.js" integrity="sha384-4l9NNFe3thsPdrGcAdnBEfNmojvUidAN6OBuPDii3JDkVIF5TMXkICWqHEsh8sXq" crossorigin="anonymous"></script><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/juliamono.c6034ab4.css" integrity="sha384-n0za6lUXlyf4XC+nGkZWj3TLDnRbNpAcoi4PZGSlQMPoyqGa9kGY+ZXkUgZGIhQt" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/editor.c98fb036.css" integrity="sha384-hq2r9iSY9J+3FSHCB6PZ5jTCnnhSL7DhUmwTXDjMmklxEsQ+2YHWCS7Cm0i5Y/rT" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/vollkorn.089565a8.css" integrity="sha384-jnV/84VtSgBLF70H+s2rxJcOUZIMDR+X/ElFZA83i9ZtZSWiIMFAgPyrWkOJV08q" 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.19.36/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.19.36/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.19.36/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.19.36/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.19.36/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.19.36/frontend-dist/editor.2dae1b31.css" type="text/css" integrity="sha384-Tcw0GaMme/KbluiF6zJjOMqdXU+GeDMSRoX0MhIH0cfyRAO7XQQWWwfsJY7Wx2yK" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/editor.82b535be.css" type="text/css" media="all" data-pluto-file="hide-ui" integrity="sha384-oYS1v2EOz2AtXoLXUVgvn3mEtQdJg1mfwZwLfJi++UQyF/qo43KuvjZ603iShU3X" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/editor.ec3a6a5b.css" type="text/css" integrity="sha384-SuGFZkuBuG+lmfz6RbnvjtcyIh8W1xDYi1sebwn7bl9VMQnhmr6EniSmIdcHJ55l" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/editor.1f4cf2ca.css" type="text/css" integrity="sha384-lBSBsn8FT1UzGOsNVudfV8RSHQEuNWqrCb6xQnF10uvF9AiCzYsCRXvKlhtQvV3c" crossorigin="anonymous"><link rel="preload" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/juliamono.c6034ab4.css" as="style" integrity="sha384-n0za6lUXlyf4XC+nGkZWj3TLDnRbNpAcoi4PZGSlQMPoyqGa9kGY+ZXkUgZGIhQt" crossorigin="anonymous"><link rel="preload" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/vollkorn.089565a8.css" as="style" integrity="sha384-jnV/84VtSgBLF70H+s2rxJcOUZIMDR+X/ElFZA83i9ZtZSWiIMFAgPyrWkOJV08q" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/editor.e82e08bd.css" type="text/css" integrity="sha384-7YN+h8b6N4N65qk8TG/J2KPF95D8z3sGNd06rokz4CX9oWu0KnRAF5cVWu3BkkaN" 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,IyMjIEEgUGx1dG8uamwgbm90ZWJvb2sgIyMjCiMgdjAuMTkuMzYKCnVzaW5nIE1hcmtkb3duCnVzaW5nIEludGVyYWN0aXZlVXRpbHMKCiMg4pWU4pWQ4pWhIDQ3YTAzNGZhLWE5NWUtMTFlZS0yMWU2LWIxMDBmNThkZmY1MgpiZWdpbgoJdXNpbmcgU3RhdGlzdGljcwoJdXNpbmcgUHJpbnRmCmVuZAoKIyDilZTilZDilaEgOTE4MTFiNmQtNzc0NC00ZmJjLWI5Y2ItMzgwMGExZjhiYzlhCnVzaW5nIFRlc3QKCiMg4pWU4pWQ4pWhIDdiYmY1MDI1LTAzNDYtNDEwNC1hNDdhLTYzZjQ5MmZjNDAyOAptZCIiIgoKW+WkieWIhuODouODs+ODhuOCq+ODq+ODrShWTUMp44KS44KE44Gj44Gm44G/44KLfuawtOe0oOWOn+WtkH5dKGh0dHBzOi8vbWl5YW50YXJ1bWkuaGF0ZW5hYmxvZy5jb20vZW50cnkvMjAyMi8wNC8wOC8wODAwMDApIOOBriBKdWxpYSDnp7vmpI3jgpLooYzjgaPjgZ8uIOODoeODiOODreODneODquOCueODhuOCueODiOOBrumDqOWIhuOCkumWouaVsOWMluOBl+abuOOBj+OBueOBjeOCs+ODvOODieOBrumHj+OCkuWkp+W5heOBq+a4m+OCieOBmeOBk+OBqOOBjOOBp+OBjeOBn++8jiBKdWxpYeOBr1VuaWNvZGXmloflrZfjgYzkvb/jgYjjgovjga7jgafjgqrjg6rjgrjjg4rjg6vjga7lrp/oo4XjgpLjgoLjgajjgavlpInmlbDlkI3jgpLpganlrpzlpInmm7TjgZfjgabjgYTjgovvvI4KCm1ldHJvcG9saXNfdGVzdCEg44Gu5byV5pWw44Gv44GE44Gj44Gx44GE44GC44KL44GM77yM44KC44Gj44GoSnVsaWHjgonjgZfjgY/mm7jjgY/jga7jgafjgYLjgozjgarjgrPjg6zjgonjgpLjgb7jgajjgoHjgovmp4vpgKDkvZPjgpLlrprnvqnjgZnjgovjgbnjgY3jgafjgYLjgovvvI4KIiIiCgojIOKVlOKVkOKVoSA2ZjM0OTkwNS01NmQwLTQwZmEtYjI5MC0wMzZjMjU4Y2FkY2IKIiIiCglDIHBvcnQgdG8gSnVsaWEgZm9yIGBzaG9raWthYAoiIiIKZnVuY3Rpb24gc2V0Mnplcm8hKGRhdGExOjpULCBkYXRhMjo6VCwgZGF0YTM6OlQpIHdoZXJlIHtUPDpBYnN0cmFjdFZlY3Rvcn0KICAgIGZvciBkIGluIChkYXRhMSwgZGF0YTIsIGRhdGEzKQogICAgICAgIGZpbGwhKGQsIHplcm8oZWx0eXBlKGQpKSkKICAgIGVuZAplbmQKCiMg4pWU4pWQ4pWhIDQwNGU0YmRhLWVlMmQtNGNhOS1hMzk1LTQyNDFhNDIxYTZlOApAdGVzdHNldCAic2V0Mnplcm8hIiBiZWdpbgoJZGF0YTEgPSByYW5kKDEwKQogICAgZGF0YTIgPSByYW5kKDEwKQogICAgZGF0YTMgPSByYW5kKDEwKQogICAgc2V0Mnplcm8hKGRhdGExLCBkYXRhMiwgZGF0YTMpCiAgICBAdGVzdCBkYXRhMSA9PSBkYXRhMiA9PSBkYXRhMyA9PSB6ZXJvcygxMCkKZW5kCgojIOKVlOKVkOKVoSA1OTA2ZmExOS1iMjViLTRjNDYtOWM1ZC1kYTBjNDkwZDBjZTYKZnVuY3Rpb24gaW5pdGNmZyEoZGF0YTE6OlQsIGRhdGEyOjpULCBkYXRhMzo6VCkgd2hlcmUge1Q8OkFic3RyYWN0VmVjdG9yfQogICAgZm9yIGQgaW4gKGRhdGExLCBkYXRhMiwgZGF0YTMpCiAgICAgICAgZCAuPSAocmFuZChsZW5ndGgoZCkpIC4tIDAuNSkgLiogMiAuKiAyCiAgICBlbmQKZW5kCgojIOKVlOKVkOKVoSBiOGYyYzBkZC1mZTE0LTRhOTgtOTI3Mi04NzI5MzQzMTdhNzcKQHRlc3RzZXQgImluaXRjZmchIiBiZWdpbgogICAgZGF0YTEgPSByYW5kKDEwKQogICAgZGF0YTIgPSByYW5kKDEwKQogICAgZGF0YTMgPSByYW5kKDEwKQogICAgaW5pdGNmZyEoZGF0YTEsIGRhdGEyLCBkYXRhMykKCUBzaG93IGRhdGExCiAgICBAdGVzdCBhbGwoLTIgLjw9IGRhdGExIC48IDIpCiAgICBAdGVzdCBhbGwoLTIgLjw9IGRhdGEyIC48IDIpCiAgICBAdGVzdCBhbGwoLTIgLjw9IGRhdGEzIC48IDIpCmVuZAoKIyDilZTilZDilaEgMDY4Y2I5N2UtODcwNC00NThlLThmZWYtMjhhZjZlZmE1OTZiCnJhZGl1cyh4LHkseikgPSDiiJooeF4yICsgeV4yICsgel4yKQoKIyDilZTilZDilaEgNjQyOTExYzYtNjk4Yy00MGJiLWJlYzYtYzg4ODMzYzZjYWE1CmZ1bmN0aW9uIG1ldHJvcG9saXNfdGVzdCEoCgnOsTo6RmxvYXQ2NCwgCgnOo0VfbG9jOjpULCDOo+KIgmxvZ8+IX+KIgs6xOjpULM6jRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrE6OlQsCgl44oOXOjpULCB54oOXOjpULCB64oOXOjpUCikgd2hlcmUgVCA8OiBBYnN0cmFjdFZlY3RvcgoJbnNhbXBsZXMgPSAzMDAwMAoJc2lnbWEgPSAwLjQKCc6jRV9sb2MgPSB6ZXJvKHjig5cpCgnOo+KIgmxvZ8+IX+KIgs6xID0gemVybyh44oOXKQoJzqNFX2xvY190aW1lc1/iiIJsb2fPiF/iiILOsSA9IHplcm8oeOKDlykKCQoJZm9yIGkgaW4gMTpuc2FtcGxlcwkKCQlmb3IgaiBpbiBlYWNoaW5kZXgoeOKDlyx54oOXLHrig5cpCgkJCXgseSx6ID0geOKDl1tqXSx54oOXW2pdLHrig5dbal0KCQkJciA9IHJhZGl1cyh4LHkseikKCQkJz4jCsiA9IGV4cCgtMs6xKnIpCgkJCSMgcHJvcG9zYWwgc3RlcAoJCQl44oCyID0geCArIHNpZ21hICogcmFuZG4oKQoJCQl54oCyID0geSArIHNpZ21hICogcmFuZG4oKQoJCQl64oCyID0geiArIHNpZ21hICogcmFuZG4oKQoJCQly4oCyID0gcmFkaXVzKHjigLIseeKAsix64oCyKQoJCQnPlcKyID0gZXhwKC0yzrEqcuKAsikKCQkJaWYgcmFuZCgpIDwgz5XCsi/PiMKyIAoJCQkJeOKDl1tqXSA9IHjigLIKCQkJCXnig5dbal0gPSB54oCyCgkJCQl64oOXW2pdID0geuKAsgoJCQllbmQKCQllbmQKCQlpZiBpIOKJpSA0MDAwCgkJCWZvciBqIGluIGVhY2hpbmRleCh44oOXLHnig5cseuKDlykKCQkJCXgseSx6ID0geOKDl1tqXSx54oOXW2pdLHrig5dbal0KCQkJCXIgPSByYWRpdXMoeCx5LHopCgkJCQlFX2xvYyA9IC0gMSAvIHIgLSDOsSAqICjOsSAtIDIgLyByKSAvIDIKCQkJCeKIgmxvZ8+IX+KIgs6xID0gLXIKCQkJCUVfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xID0gRV9sb2MgKiDiiIJsb2fPiF/iiILOsQoJCQkJzqNFX2xvY1tqXSArPSBFX2xvYwoJCQkJzqPiiIJsb2fPiF/iiILOsVtqXSArPSDiiIJsb2fPiF/iiILOsQoJCQkJzqNFX2xvY190aW1lc1/iiIJsb2fPiF/iiILOsVtqXSArPSBFX2xvY190aW1lc1/iiIJsb2fPiF/iiILOsQoJCQllbmQKCQllbmQKCWVuZAoJIyDlkIQgaiDjgavlr77jgZfjgabjga7lubPlnYfph4/jgpLoqIjnrpfjgZnjgosuIOODoeODouODquOCkuS9v+OBhOWbnuOBmeOBn+OCgeOBqyBpbi1wbGFjZSDoqIjnrpfjgpLjgZfjgabjgYTjgovvvI4KCc6jRV9sb2MgLi89IChuc2FtcGxlcyAtIDQwMDApCgnOo+KIgmxvZ8+IX+KIgs6xIC4vPSAobnNhbXBsZXMgLSA0MDAwKQoJzqNFX2xvY190aW1lc1/iiIJsb2fPiF/iiILOsSAuLz0gKG5zYW1wbGVzIC0gNDAwMCkKCSMgaiDjga7ou7jjgavlr77jgZfjgablubPlnYflgKTjgpLoqIjnrpfjgZnjgosKCUVfbG9jID0gbWVhbijOo0VfbG9jKQoJ4oiCbG9nz4hf4oiCzrEgPSBtZWFuKM6j4oiCbG9nz4hf4oiCzrEpCglFX2xvY190aW1lc1/iiIJsb2fPiF/iiILOsSA9IG1lYW4ozqNFX2xvY190aW1lc1/iiIJsb2fPiF/iiILOsSkKCglkRSA9IDIgKiAoRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrEgLSBFX2xvYyAqIOKIgmxvZ8+IX+KIgs6xKQoJcmV0dXJuIGRFLCBFX2xvYwplbmQKCiMg4pWU4pWQ4pWhIGE1OGFmNjg5LTUyNjMtNGQ1Mi1hZWFjLTk2ZGZjMTg2OTM4NgpmdW5jdGlvbiBtYWluKCkKICAgIG53YWxrZXJzID0gNDAwCiAgICBzYW1wbGUgPSAzMDAwMAoKICAgIM6xX2luaXQgPSAwLjgKICAgIHggPSBWZWN0b3J7RmxvYXQ2NH0odW5kZWYsIG53YWxrZXJzKQogICAgeSA9IFZlY3RvcntGbG9hdDY0fSh1bmRlZiwgbndhbGtlcnMpCiAgICB6ID0gVmVjdG9ye0Zsb2F0NjR9KHVuZGVmLCBud2Fsa2VycykKCc6jRV9sb2MgPSB6ZXJvcyhud2Fsa2VycykKCc6j4oiCbG9nz4hf4oiCzrEgPSB6ZXJvcyhud2Fsa2VycykKCc6jRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrEgPSB6ZXJvcyhud2Fsa2VycykKICAgIGggPSAxZS0zCgoJzrEgPSDOsV9pbml0Cgl3aGlsZSB0cnVlCgkJaW5pdGNmZyEoeCx5LHopCgkJc2V0Mnplcm8hKM6jRV9sb2MszqPiiIJsb2fPiF/iiILOsSzOo0VfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xKQoJCWRFLCBfID0gbWV0cm9wb2xpc190ZXN0ISgKCQkJzrEsCgkJCc6jRV9sb2MszqPiiIJsb2fPiF/iiILOsSzOo0VfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xLAoJCQl4LHksegoJCSkKCgkJzrHigoogPSDOsSArIGgKCQlpbml0Y2ZnISh4LHkseikKCQlzZXQyemVybyEozqNFX2xvYyzOo+KIgmxvZ8+IX+KIgs6xLM6jRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrEpCgkJZEXigoosIF8gPSBtZXRyb3BvbGlzX3Rlc3QhKAoJCQnOseKCiiwKCQkJzqNFX2xvYyzOo+KIgmxvZ8+IX+KIgs6xLM6jRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrEsCgkJCXgseSx6CgkJKQoKCQnOseKCiyA9IM6xIC0gaAoJCWluaXRjZmchKHgseSx6KQoJCXNldDJ6ZXJvISjOo0VfbG9jLM6j4oiCbG9nz4hf4oiCzrEszqNFX2xvY190aW1lc1/iiIJsb2fPiF/iiILOsSkKCQlkReKCiywgXyA9IG1ldHJvcG9saXNfdGVzdCEoCgkJCc6x4oKLLAoJCQnOo0VfbG9jLM6j4oiCbG9nz4hf4oiCzrEszqNFX2xvY190aW1lc1/iiIJsb2fPiF/iiILOsSwKCQkJeCx5LHoKCQkpCgogICAgICAgIGRkRSA9IChkReKCiiAtIGRF4oKLKSAvICgyaCkKCQkjIG5ld3RvbiDms5XjgacgzrEg44KS5pu05paw44GZ44KLCiAgICAgICAgzrFfbmV4dCA9IM6xIC0gZEUgLyBkZEUKICAgICAgICBAaW5mbyAizrEiIM6xX25leHQsIM6xCiAgICAgICAgaWYgYWJzKM6xX25leHQgLSDOsSkgPCAxZS02CiAgICAgICAgICAgIGJyZWFrCiAgICAgICAgZW5kCgkJzrEgPSDOsV9uZXh0CiAgICBlbmQKCiAgICBhbHBoYV92YSA9IM6xCgkjIOeQhuaDs+OBryAxLjAKICAgIEBwcmludGYoIuOCqOODjeODq+OCruODvOOBjOacgOWwj+OBq+OBquOCi+WkieWIhuODkeODqeODoeODvOOCv+OBryUuMTBmXG4iLCBhbHBoYV92YSkgCglpbml0Y2ZnISh4LHkseikKCXNldDJ6ZXJvISjOo0VfbG9jLM6j4oiCbG9nz4hf4oiCzrEszqNFX2xvY190aW1lc1/iiIJsb2fPiF/iiILOsSkKCV8sIEUgPSBtZXRyb3BvbGlzX3Rlc3QhKAoJCWFscGhhX3ZhLAoJCc6jRV9sb2MszqPiiIJsb2fPiF/iiILOsSzOo0VfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xLAoJCXgseSx6CgkpCgkjIOeQhuaDs+OBryAtMC41CglAcHJpbnRmKCLln7rlupXnirbmhYvjga7jgqjjg43jg6vjgq7jg7zjga8lLjEwZlxuIiwgRSkKZW5kCgojIOKVlOKVkOKVoSAwYzdhMDE3NS04ZWJkLTRlODktOWJhMC05Nzk3YWE4ZTQ1NTYKQHRpbWUgbWFpbigpIAoKIyDilZTilZDilaEgMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAxClBMVVRPX1BST0pFQ1RfVE9NTF9DT05URU5UUyA9ICIiIgpbZGVwc10KUHJpbnRmID0gImRlMDg1OGRhLTYzMDMtNWU2Ny04NzQ0LTUxZWRkZWVlYjhkNyIKU3RhdGlzdGljcyA9ICIxMDc0NWIxNi03OWNlLTExZTgtMTFmOS03ZDEzYWQzMmEzYjIiClRlc3QgPSAiOGRmZWQ2MTQtZTIyYy01ZTA4LTg1ZTEtNjVjNTIzNGYwYjQwIgoiIiIKCiMg4pWU4pWQ4pWhIDAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMgpQTFVUT19NQU5JRkVTVF9UT01MX0NPTlRFTlRTID0gIiIiCiMgVGhpcyBmaWxlIGlzIG1hY2hpbmUtZ2VuZXJhdGVkIC0gZWRpdGluZyBpdCBkaXJlY3RseSBpcyBub3QgYWR2aXNlZAoKanVsaWFfdmVyc2lvbiA9ICIxLjEwLjAiCm1hbmlmZXN0X2Zvcm1hdCA9ICIyLjAiCnByb2plY3RfaGFzaCA9ICIzNWZiYWRlYTY2YzQ5N2I4M2NiY2RkZWM5NjVjNmUxODc5N2EwNDRiIgoKW1tkZXBzLkFydGlmYWN0c11dCnV1aWQgPSAiNTZmMjJkNzItZmQ2ZC05OGYxLTAyZjAtMDhkZGMwOTA3YzMzIgoKW1tkZXBzLkJhc2U2NF1dCnV1aWQgPSAiMmEwZjQ0ZTMtNmM4My01NWJkLTg3ZTQtYjE5NzhkOThiZDVmIgoKW1tkZXBzLkNvbXBpbGVyU3VwcG9ydExpYnJhcmllc19qbGxdXQpkZXBzID0gWyJBcnRpZmFjdHMiLCAiTGliZGwiXQp1dWlkID0gImU2NmUwMDc4LTcwMTUtNTQ1MC05MmY3LTE1ZmJkOTU3ZjJhZSIKdmVyc2lvbiA9ICIxLjAuNSsxIgoKW1tkZXBzLkludGVyYWN0aXZlVXRpbHNdXQpkZXBzID0gWyJNYXJrZG93biJdCnV1aWQgPSAiYjc3ZTBhNGMtZDI5MS01N2EwLTkwZTgtOGRiMjVhMjdhMjQwIgoKW1tkZXBzLkxpYmRsXV0KdXVpZCA9ICI4ZjM5OWRhMy0zNTU3LTU2NzUtYjVmZi1mYjgzMmM5N2NiZGIiCgpbW2RlcHMuTGluZWFyQWxnZWJyYV1dCmRlcHMgPSBbIkxpYmRsIiwgIk9wZW5CTEFTX2psbCIsICJsaWJibGFzdHJhbXBvbGluZV9qbGwiXQp1dWlkID0gIjM3ZTJlNDZkLWY4OWQtNTM5ZC1iNGVlLTgzOGZjY2NjOWM4ZSIKCltbZGVwcy5Mb2dnaW5nXV0KdXVpZCA9ICI1NmRkYjAxNi04NTdiLTU0ZTEtYjgzZC1kYjRkNThkYjU1NjgiCgpbW2RlcHMuTWFya2Rvd25dXQpkZXBzID0gWyJCYXNlNjQiXQp1dWlkID0gImQ2ZjQzNzZlLWFlZjUtNTA1YS05NmMxLTljMDI3Mzk0NjA3YSIKCltbZGVwcy5PcGVuQkxBU19qbGxdXQpkZXBzID0gWyJBcnRpZmFjdHMiLCAiQ29tcGlsZXJTdXBwb3J0TGlicmFyaWVzX2psbCIsICJMaWJkbCJdCnV1aWQgPSAiNDUzNjYyOWEtYzUyOC01YjgwLWJkNDYtZjgwZDUxYzViMzYzIgp2ZXJzaW9uID0gIjAuMy4yMysyIgoKW1tkZXBzLlByaW50Zl1dCmRlcHMgPSBbIlVuaWNvZGUiXQp1dWlkID0gImRlMDg1OGRhLTYzMDMtNWU2Ny04NzQ0LTUxZWRkZWVlYjhkNyIKCltbZGVwcy5SYW5kb21dXQpkZXBzID0gWyJTSEEiXQp1dWlkID0gIjlhM2Y4Mjg0LWEyYzktNWYwMi05YTExLTg0NTk4MGExZmQ1YyIKCltbZGVwcy5TSEFdXQp1dWlkID0gImVhOGU5MTljLTI0M2MtNTFhZi04ODI1LWFhYTYzY2Q3MjFjZSIKdmVyc2lvbiA9ICIwLjcuMCIKCltbZGVwcy5TZXJpYWxpemF0aW9uXV0KdXVpZCA9ICI5ZTg4YjQyYS1mODI5LTViMGMtYmJlOS05ZTkyMzE5ODE2NmIiCgpbW2RlcHMuU3BhcnNlQXJyYXlzXV0KZGVwcyA9IFsiTGliZGwiLCAiTGluZWFyQWxnZWJyYSIsICJSYW5kb20iLCAiU2VyaWFsaXphdGlvbiIsICJTdWl0ZVNwYXJzZV9qbGwiXQp1dWlkID0gIjJmMDExODRlLWUyMmItNWRmNS1hZTYzLWQ5M2ViYWI2OWVhZiIKdmVyc2lvbiA9ICIxLjEwLjAiCgpbW2RlcHMuU3RhdGlzdGljc11dCmRlcHMgPSBbIkxpbmVhckFsZ2VicmEiLCAiU3BhcnNlQXJyYXlzIl0KdXVpZCA9ICIxMDc0NWIxNi03OWNlLTExZTgtMTFmOS03ZDEzYWQzMmEzYjIiCnZlcnNpb24gPSAiMS4xMC4wIgoKW1tkZXBzLlN1aXRlU3BhcnNlX2psbF1dCmRlcHMgPSBbIkFydGlmYWN0cyIsICJMaWJkbCIsICJsaWJibGFzdHJhbXBvbGluZV9qbGwiXQp1dWlkID0gImJlYTg3ZDRhLTdmNWItNTc3OC05YWZlLThjYzQ1MTg0ODQ2YyIKdmVyc2lvbiA9ICI3LjIuMSsxIgoKW1tkZXBzLlRlc3RdXQpkZXBzID0gWyJJbnRlcmFjdGl2ZVV0aWxzIiwgIkxvZ2dpbmciLCAiUmFuZG9tIiwgIlNlcmlhbGl6YXRpb24iXQp1dWlkID0gIjhkZmVkNjE0LWUyMmMtNWUwOC04NWUxLTY1YzUyMzRmMGI0MCIKCltbZGVwcy5Vbmljb2RlXV0KdXVpZCA9ICI0ZWMwYTgzZS00OTNlLTUwZTItYjlhYy04ZjcyYWNmNWE4ZjUiCgpbW2RlcHMubGliYmxhc3RyYW1wb2xpbmVfamxsXV0KZGVwcyA9IFsiQXJ0aWZhY3RzIiwgIkxpYmRsIl0KdXVpZCA9ICI4ZTg1MGI5MC04NmRiLTUzNGMtYTBkMy0xNDc4MTc2YzdkOTMiCnZlcnNpb24gPSAiNS44LjArMSIKIiIiCgojIOKVlOKVkOKVoSBDZWxsIG9yZGVyOgojIOKVn+KUgDdiYmY1MDI1LTAzNDYtNDEwNC1hNDdhLTYzZjQ5MmZjNDAyOAojIOKVoOKVkDQ3YTAzNGZhLWE5NWUtMTFlZS0yMWU2LWIxMDBmNThkZmY1MgojIOKVoOKVkDkxODExYjZkLTc3NDQtNGZiYy1iOWNiLTM4MDBhMWY4YmM5YQojIOKVoOKVkDZmMzQ5OTA1LTU2ZDAtNDBmYS1iMjkwLTAzNmMyNThjYWRjYgojIOKVoOKVkDQwNGU0YmRhLWVlMmQtNGNhOS1hMzk1LTQyNDFhNDIxYTZlOAojIOKVoOKVkDU5MDZmYTE5LWIyNWItNGM0Ni05YzVkLWRhMGM0OTBkMGNlNgojIOKVoOKVkGI4ZjJjMGRkLWZlMTQtNGE5OC05MjcyLTg3MjkzNDMxN2E3NwojIOKVoOKVkDA2OGNiOTdlLTg3MDQtNDU4ZS04ZmVmLTI4YWY2ZWZhNTk2YgojIOKVoOKVkDY0MjkxMWM2LTY5OGMtNDBiYi1iZWM2LWM4ODgzM2M2Y2FhNQojIOKVoOKVkGE1OGFmNjg5LTUyNjMtNGQ1Mi1hZWFjLTk2ZGZjMTg2OTM4NgojIOKVoOKVkDBjN2EwMTc1LThlYmQtNGU4OS05YmEwLTk3OTdhYThlNDU1NgojIOKVn+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.19.36";
window.pluto_statefile = "data:;base64,3gARpWJvbmRzgKxjZWxsX3Jlc3VsdHOL2SQ1OTA2ZmExOS1iMjViLTRjNDYtOWM1ZC1kYTBjNDkwZDBjZTaKpnF1ZXVlZMKkbG9nc5CncnVubmluZ8Kmb3V0cHV0hqRib2R52Slpbml0Y2ZnISAoZ2VuZXJpYyBmdW5jdGlvbiB3aXRoIDEgbWV0aG9kKaRtaW1lqnRleHQvcGxhaW6scm9vdGFzc2lnbmVlwLJsYXN0X3J1bl90aW1lc3RhbXDLQdllBKQVit+wcGVyc2lzdF9qc19zdGF0ZcK3aGFzX3BsdXRvX2hvb2tfZmVhdHVyZXPCp2NlbGxfaWTZJDU5MDZmYTE5LWIyNWItNGM0Ni05YzVkLWRhMGM0OTBkMGNlNrlkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzgAJ97S1cHVibGlzaGVkX29iamVjdF9rZXlzkLhkZXBlbmRzX29uX3NraXBwZWRfY2VsbHPCp2Vycm9yZWTC2SQ3YmJmNTAyNS0wMzQ2LTQxMDQtYTQ3YS02M2Y0OTJmYzQwMjiKpnF1ZXVlZMKkbG9nc5CncnVubmluZ8Kmb3V0cHV0hqRib2R52gJrPGRpdiBjbGFzcz0ibWFya2Rvd24iPjxwPjxhIGhyZWY9Imh0dHBzOi8vbWl5YW50YXJ1bWkuaGF0ZW5hYmxvZy5jb20vZW50cnkvMjAyMi8wNC8wOC8wODAwMDAiPuWkieWIhuODouODs+ODhuOCq+ODq+ODrSYjNDA7Vk1DJiM0MTvjgpLjgoTjgaPjgabjgb/jgot+5rC057Sg5Y6f5a2QfjwvYT4g44GuIEp1bGlhIOenu+akjeOCkuihjOOBo+OBny4g44Oh44OI44Ot44Od44Oq44K544OG44K544OI44Gu6YOo5YiG44KS6Zai5pWw5YyW44GX5pu444GP44G544GN44Kz44O844OJ44Gu6YeP44KS5aSn5bmF44Gr5rib44KJ44GZ44GT44Go44GM44Gn44GN44Gf77yOIEp1bGlh44GvVW5pY29kZeaWh+Wtl+OBjOS9v+OBiOOCi+OBruOBp+OCquODquOCuOODiuODq+OBruWun+ijheOCkuOCguOBqOOBq+WkieaVsOWQjeOCkumBqeWunOWkieabtOOBl+OBpuOBhOOCi++8jjwvcD4KPHA+bWV0cm9wb2xpc190ZXN0JiMzMzsg44Gu5byV5pWw44Gv44GE44Gj44Gx44GE44GC44KL44GM77yM44KC44Gj44GoSnVsaWHjgonjgZfjgY/mm7jjgY/jga7jgafjgYLjgozjgarjgrPjg6zjgonjgpLjgb7jgajjgoHjgovmp4vpgKDkvZPjgpLlrprnvqnjgZnjgovjgbnjgY3jgafjgYLjgovvvI48L3A+CjwvZGl2PqRtaW1lqXRleHQvaHRtbKxyb290YXNzaWduZWXAsmxhc3RfcnVuX3RpbWVzdGFtcMtB2WUEo7vjWLBwZXJzaXN0X2pzX3N0YXRlwrdoYXNfcGx1dG9faG9va19mZWF0dXJlc8KnY2VsbF9pZNkkN2JiZjUwMjUtMDM0Ni00MTA0LWE0N2EtNjNmNDkyZmM0MDI4uWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXOAdvzpLVwdWJsaXNoZWRfb2JqZWN0X2tleXOQuGRlcGVuZHNfb25fc2tpcHBlZF9jZWxsc8KnZXJyb3JlZMLZJDBjN2EwMTc1LThlYmQtNGU4OS05YmEwLTk3OTdhYThlNDU1NoqmcXVldWVkwqRsb2dzlYikbGluZf+jbXNnkqLOsap0ZXh0L3BsYWlup2NlbGxfaWTZJDBjN2EwMTc1LThlYmQtNGU4OS05YmEwLTk3OTdhYThlNDU1NqZrd2FyZ3ORkq0ozrFfbmV4dCwgzrEpkoOoZWxlbWVudHOSkgGSqDAuOTkyMDQ2qnRleHQvcGxhaW6SApKjMC44qnRleHQvcGxhaW6kdHlwZaVUdXBsZahvYmplY3RpZLBlZjBlYTJiNWEwMTRiNGI42SFhcHBsaWNhdGlvbi92bmQucGx1dG8udHJlZStvYmplY3SiaWS5TWFpbl93b3Jrc3BhY2UjMl8xM2FiODQyZKRmaWxl2WEvVXNlcnMvdGVyYXNha2kvd29yay9NeVZNQy5qbC9wbGF5Z3JvdW5kL3BsdXRvL212Y19uZXcuamwjPT0jYTU4YWY2ODktNTI2My00ZDUyLWFlYWMtOTZkZmMxODY5Mzg2pWdyb3Vwp212Y19uZXelbGV2ZWykSW5mb4ikbGluZf+jbXNnkqLOsap0ZXh0L3BsYWlup2NlbGxfaWTZJDBjN2EwMTc1LThlYmQtNGU4OS05YmEwLTk3OTdhYThlNDU1NqZrd2FyZ3ORkq0ozrFfbmV4dCwgzrEpkoOoZWxlbWVudHOSkgGSpzEuMDAwMTWqdGV4dC9wbGFpbpICkqgwLjk5MjA0Nqp0ZXh0L3BsYWlupHR5cGWlVHVwbGWob2JqZWN0aWSwNmY5Mjk5Zjc0NmE4YzE1NdkhYXBwbGljYXRpb24vdm5kLnBsdXRvLnRyZWUrb2JqZWN0omlkuU1haW5fd29ya3NwYWNlIzJfMTNhYjg0MmSkZmlsZdlhL1VzZXJzL3RlcmFzYWtpL3dvcmsvTXlWTUMuamwvcGxheWdyb3VuZC9wbHV0by9tdmNfbmV3LmpsIz09I2E1OGFmNjg5LTUyNjMtNGQ1Mi1hZWFjLTk2ZGZjMTg2OTM4NqVncm91cKdtdmNfbmV3pWxldmVspEluZm+IpGxpbmX/o21zZ5KizrGqdGV4dC9wbGFpbqdjZWxsX2lk2SQwYzdhMDE3NS04ZWJkLTRlODktOWJhMC05Nzk3YWE4ZTQ1NTama3dhcmdzkZKtKM6xX25leHQsIM6xKZKDqGVsZW1lbnRzkpIBkqcxLjAwMDA2qnRleHQvcGxhaW6SApKnMS4wMDAxNap0ZXh0L3BsYWlupHR5cGWlVHVwbGWob2JqZWN0aWSwZDcyYTViOWQzZjY5MjkxNtkhYXBwbGljYXRpb24vdm5kLnBsdXRvLnRyZWUrb2JqZWN0omlkuU1haW5fd29ya3NwYWNlIzJfMTNhYjg0MmSkZmlsZdlhL1VzZXJzL3RlcmFzYWtpL3dvcmsvTXlWTUMuamwvcGxheWdyb3VuZC9wbHV0by9tdmNfbmV3LmpsIz09I2E1OGFmNjg5LTUyNjMtNGQ1Mi1hZWFjLTk2ZGZjMTg2OTM4NqVncm91cKdtdmNfbmV3pWxldmVspEluZm+IpGxpbmX/o21zZ5KizrGqdGV4dC9wbGFpbqdjZWxsX2lk2SQwYzdhMDE3NS04ZWJkLTRlODktOWJhMC05Nzk3YWE4ZTQ1NTama3dhcmdzkZKtKM6xX25leHQsIM6xKZKDqGVsZW1lbnRzkpIBkqcxLjAwMDA2qnRleHQvcGxhaW6SApKnMS4wMDAwNqp0ZXh0L3BsYWlupHR5cGWlVHVwbGWob2JqZWN0aWSwYjk1ZjI2NmY5M2M4Yzc2MNkhYXBwbGljYXRpb24vdm5kLnBsdXRvLnRyZWUrb2JqZWN0omlkuU1haW5fd29ya3NwYWNlIzJfMTNhYjg0MmSkZmlsZdlhL1VzZXJzL3RlcmFzYWtpL3dvcmsvTXlWTUMuamwvcGxheWdyb3VuZC9wbHV0by9tdmNfbmV3LmpsIz09I2E1OGFmNjg5LTUyNjMtNGQ1Mi1hZWFjLTk2ZGZjMTg2OTM4NqVncm91cKdtdmNfbmV3pWxldmVspEluZm+IpGxpbmX/o21zZ5LZw+OCqOODjeODq+OCruODvOOBjOacgOWwj+OBq+OBquOCi+WkieWIhuODkeODqeODoeODvOOCv+OBrzEuMDAwMDU3NDg2Mwrln7rlupXnirbmhYvjga7jgqjjg43jg6vjgq7jg7zjga8tMC41MDAwMTkzMTgwCiAgNS41MDk5NTAgc2Vjb25kcyAoNTAwLjMzIGsgYWxsb2NhdGlvbnM6IDM1LjE1NyBNaUIsIDMuNTIlIGNvbXBpbGF0aW9uIHRpbWUpCqp0ZXh0L3BsYWlup2NlbGxfaWTZJDBjN2EwMTc1LThlYmQtNGU4OS05YmEwLTk3OTdhYThlNDU1NqZrd2FyZ3OQomlktFBsdXRvUnVubmVyX2QxYWNiODFlpGZpbGXZVS9Vc2Vycy90ZXJhc2FraS8uanVsaWEvcGFja2FnZXMvUGx1dG8vS2tWTEkvc3JjL3J1bm5lci9QbHV0b1J1bm5lci9zcmMvUGx1dG9SdW5uZXIuamylZ3JvdXCrUGx1dG9SdW5uZXKlbGV2ZWyuTG9nTGV2ZWwoLTU1NSmncnVubmluZ8Kmb3V0cHV0hqRib2R5oKRtaW1lqnRleHQvcGxhaW6scm9vdGFzc2lnbmVlwLJsYXN0X3J1bl90aW1lc3RhbXDLQdllBKW8Cd2wcGVyc2lzdF9qc19zdGF0ZcK3aGFzX3BsdXRvX2hvb2tfZmVhdHVyZXPCp2NlbGxfaWTZJDBjN2EwMTc1LThlYmQtNGU4OS05YmEwLTk3OTdhYThlNDU1NrlkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzwAAAAFJtcmItXB1Ymxpc2hlZF9vYmplY3Rfa2V5c5C4ZGVwZW5kc19vbl9za2lwcGVkX2NlbGxzwqdlcnJvcmVkwtkkNDA0ZTRiZGEtZWUyZC00Y2E5LWEzOTUtNDI0MWE0MjFhNmU4iqZxdWV1ZWTCpGxvZ3ORiKRsaW5l/6Ntc2eS2URUZXN0IFN1bW1hcnk6IHwgUGFzcyAgVG90YWwgIFRpbWUKc2V0Mnplcm8hICAgICB8ICAgIDEgICAgICAxICAwLjBzCqp0ZXh0L3BsYWlup2NlbGxfaWTZJDQwNGU0YmRhLWVlMmQtNGNhOS1hMzk1LTQyNDFhNDIxYTZlOKZrd2FyZ3OQomlktFBsdXRvUnVubmVyX2QxYWNiODFlpGZpbGXZVS9Vc2Vycy90ZXJhc2FraS8uanVsaWEvcGFja2FnZXMvUGx1dG8vS2tWTEkvc3JjL3J1bm5lci9QbHV0b1J1bm5lci9zcmMvUGx1dG9SdW5uZXIuamylZ3JvdXCrUGx1dG9SdW5uZXKlbGV2ZWyuTG9nTGV2ZWwoLTU1NSmncnVubmluZ8Kmb3V0cHV0hqRib2R5haZwcmVmaXizVGVzdC5EZWZhdWx0VGVzdFNldKhlbGVtZW50c5qSq2Rlc2NyaXB0aW9ukqsic2V0Mnplcm8hIqp0ZXh0L3BsYWlukqdyZXN1bHRzkoWmcHJlZml4o0FueahlbGVtZW50c5CkdHlwZaVBcnJheaxwcmVmaXhfc2hvcnSgqG9iamVjdGlksDZiNmNkYTUwYTVkNWJjYmLZIWFwcGxpY2F0aW9uL3ZuZC5wbHV0by50cmVlK29iamVjdJKobl9wYXNzZWSSoTGqdGV4dC9wbGFpbpKqYW55bm9ucGFzc5KlZmFsc2WqdGV4dC9wbGFpbpKndmVyYm9zZZKlZmFsc2WqdGV4dC9wbGFpbpKqc2hvd3RpbWluZ5KkdHJ1Zap0ZXh0L3BsYWlukqp0aW1lX3N0YXJ0krIxLjcwNDIwMjg5NTUzOTQ2ZTmqdGV4dC9wbGFpbpKodGltZV9lbmSSszEuNzA0MjAyODk1NTUyOTcxZTmqdGV4dC9wbGFpbpKoZmFpbGZhc3SSpWZhbHNlqnRleHQvcGxhaW6SpGZpbGWS2VwiL1VzZXJzL3RlcmFzYWtpL3dvcmsvTXlWTUMuamwvcGxheWciIOKLryAyNyBieXRlcyDii68gIjA0ZTRiZGEtZWUyZC00Y2E5LWEzOTUtNDI0MWE0MjFhNmU4Iqp0ZXh0L3BsYWlupHR5cGWmc3RydWN0rHByZWZpeF9zaG9ydK5EZWZhdWx0VGVzdFNldKhvYmplY3RpZK82NjIwNWI0ZTYxZWJiYTmkbWltZdkhYXBwbGljYXRpb24vdm5kLnBsdXRvLnRyZWUrb2JqZWN0rHJvb3Rhc3NpZ25lZcCybGFzdF9ydW5fdGltZXN0YW1wy0HZZQSkCOYZsHBlcnNpc3RfanNfc3RhdGXCt2hhc19wbHV0b19ob29rX2ZlYXR1cmVzwqdjZWxsX2lk2SQ0MDRlNGJkYS1lZTJkLTRjYTktYTM5NS00MjQxYTQyMWE2ZTi5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc4CZziCtXB1Ymxpc2hlZF9vYmplY3Rfa2V5c5C4ZGVwZW5kc19vbl9za2lwcGVkX2NlbGxzwqdlcnJvcmVkwtkkNmYzNDk5MDUtNTZkMC00MGZhLWIyOTAtMDM2YzI1OGNhZGNiiqZxdWV1ZWTCpGxvZ3OQp3J1bm5pbmfCpm91dHB1dIakYm9kedmcPGRpdiBjbGFzcz0icGx1dG8tZG9jcy1iaW5kaW5nIj4KPHNwYW4+c2V0Mnplcm8hPC9zcGFuPgo8ZGl2IGNsYXNzPSJtYXJrZG93biI+PHByZT48Y29kZT5DIHBvcnQgdG8gSnVsaWEgZm9yICYjOTY7c2hva2lrYSYjOTY7PC9jb2RlPjwvcHJlPgoKCjwvZGl2Pgo8L2Rpdj4KpG1pbWWpdGV4dC9odG1srHJvb3Rhc3NpZ25lZcCybGFzdF9ydW5fdGltZXN0YW1wy0HZZQSjyiggsHBlcnNpc3RfanNfc3RhdGXCt2hhc19wbHV0b19ob29rX2ZlYXR1cmVzwqdjZWxsX2lk2SQ2ZjM0OTkwNS01NmQwLTQwZmEtYjI5MC0wMzZjMjU4Y2FkY2K5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc4AL5jztXB1Ymxpc2hlZF9vYmplY3Rfa2V5c5C4ZGVwZW5kc19vbl9za2lwcGVkX2NlbGxzwqdlcnJvcmVkwtkkNDdhMDM0ZmEtYTk1ZS0xMWVlLTIxZTYtYjEwMGY1OGRmZjUyiqZxdWV1ZWTCpGxvZ3OQp3J1bm5pbmfCpm91dHB1dIakYm9keaCkbWltZap0ZXh0L3BsYWlurHJvb3Rhc3NpZ25lZcCybGFzdF9ydW5fdGltZXN0YW1wy0HZZQSjYhWgsHBlcnNpc3RfanNfc3RhdGXCt2hhc19wbHV0b19ob29rX2ZlYXR1cmVzwqdjZWxsX2lk2SQ0N2EwMzRmYS1hOTVlLTExZWUtMjFlNi1iMTAwZjU4ZGZmNTK5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc4InVfvtXB1Ymxpc2hlZF9vYmplY3Rfa2V5c5C4ZGVwZW5kc19vbl9za2lwcGVkX2NlbGxzwqdlcnJvcmVkwtkkOTE4MTFiNmQtNzc0NC00ZmJjLWI5Y2ItMzgwMGExZjhiYzlhiqZxdWV1ZWTCpGxvZ3OQp3J1bm5pbmfCpm91dHB1dIakYm9keaCkbWltZap0ZXh0L3BsYWlurHJvb3Rhc3NpZ25lZcCybGFzdF9ydW5fdGltZXN0YW1wy0HZZQSjjC3PsHBlcnNpc3RfanNfc3RhdGXCt2hhc19wbHV0b19ob29rX2ZlYXR1cmVzwqdjZWxsX2lk2SQ5MTgxMWI2ZC03NzQ0LTRmYmMtYjljYi0zODAwYTFmOGJjOWG5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc4BgF1ktXB1Ymxpc2hlZF9vYmplY3Rfa2V5c5C4ZGVwZW5kc19vbl9za2lwcGVkX2NlbGxzwqdlcnJvcmVkwtkkNjQyOTExYzYtNjk4Yy00MGJiLWJlYzYtYzg4ODMzYzZjYWE1iqZxdWV1ZWTCpGxvZ3OQp3J1bm5pbmfCpm91dHB1dIakYm9kedkxbWV0cm9wb2xpc190ZXN0ISAoZ2VuZXJpYyBmdW5jdGlvbiB3aXRoIDEgbWV0aG9kKaRtaW1lqnRleHQvcGxhaW6scm9vdGFzc2lnbmVlwLJsYXN0X3J1bl90aW1lc3RhbXDLQdllBKRDULWwcGVyc2lzdF9qc19zdGF0ZcK3aGFzX3BsdXRvX2hvb2tfZmVhdHVyZXPCp2NlbGxfaWTZJDY0MjkxMWM2LTY5OGMtNDBiYi1iZWM2LWM4ODgzM2M2Y2FhNblkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzgAo+kS1cHVibGlzaGVkX29iamVjdF9rZXlzkLhkZXBlbmRzX29uX3NraXBwZWRfY2VsbHPCp2Vycm9yZWTC2SRiOGYyYzBkZC1mZTE0LTRhOTgtOTI3Mi04NzI5MzQzMTdhNzeKpnF1ZXVlZMKkbG9nc5GIpGxpbmX/o21zZ5LaARpkYXRhMSA9IFstMC43NDkzMzIwMzUyMTg3OTMxLCAwLjcxMTk2Mzg2OTE2NjA0MjIsIC0wLjU5Mjg3MjU5Mzg2Njc2NDUsIC0xLjE3MDI4MTcyOTAyMzUyNzUsIDEuNzQ5OTQxMjc4MTI0NTY2NywgLTAuODkyODcyMTY2MzE2NzA1LCAxLjA0ODc5OTM1MTg4MTY3OTYsIDEuMjE1MDc1NjQzMDIzNTA3NSwgLTEuNjU4NDU3MDY4ODIzODc2MiwgLTEuNjEyOTcxNTc0NTQ1MjQ0Ml0KVGVzdCBTdW1tYXJ5OiB8IFBhc3MgIFRvdGFsICBUaW1lCmluaXRjZmchICAgICAgfCAgICAzICAgICAgMyAgMC4xcwqqdGV4dC9wbGFpbqdjZWxsX2lk2SRiOGYyYzBkZC1mZTE0LTRhOTgtOTI3Mi04NzI5MzQzMTdhNzema3dhcmdzkKJpZLRQbHV0b1J1bm5lcl9kMWFjYjgxZaRmaWxl2VUvVXNlcnMvdGVyYXNha2kvLmp1bGlhL3BhY2thZ2VzL1BsdXRvL0trVkxJL3NyYy9ydW5uZXIvUGx1dG9SdW5uZXIvc3JjL1BsdXRvUnVubmVyLmpspWdyb3Vwq1BsdXRvUnVubmVypWxldmVsrkxvZ0xldmVsKC01NTUpp3J1bm5pbmfCpm91dHB1dIakYm9keYWmcHJlZml4s1Rlc3QuRGVmYXVsdFRlc3RTZXSoZWxlbWVudHOakqtkZXNjcmlwdGlvbpKqImluaXRjZmchIqp0ZXh0L3BsYWlukqdyZXN1bHRzkoWmcHJlZml4o0FueahlbGVtZW50c5CkdHlwZaVBcnJheaxwcmVmaXhfc2hvcnSgqG9iamVjdGlksDNkOWY0ZGRlY2ZkYTlmYWPZIWFwcGxpY2F0aW9uL3ZuZC5wbHV0by50cmVlK29iamVjdJKobl9wYXNzZWSSoTOqdGV4dC9wbGFpbpKqYW55bm9ucGFzc5KlZmFsc2WqdGV4dC9wbGFpbpKndmVyYm9zZZKlZmFsc2WqdGV4dC9wbGFpbpKqc2hvd3RpbWluZ5KkdHJ1Zap0ZXh0L3BsYWlukqp0aW1lX3N0YXJ0krMxLjcwNDIwMjg5NjY4MjMxMmU5qnRleHQvcGxhaW6SqHRpbWVfZW5kkrMxLjcwNDIwMjg5Njc0NzI4NWU5qnRleHQvcGxhaW6SqGZhaWxmYXN0kqVmYWxzZap0ZXh0L3BsYWlukqRmaWxlktlcIi9Vc2Vycy90ZXJhc2FraS93b3JrL015Vk1DLmpsL3BsYXlnIiDii68gMjcgYnl0ZXMg4ouvICI4ZjJjMGRkLWZlMTQtNGE5OC05MjcyLTg3MjkzNDMxN2E3NyKqdGV4dC9wbGFpbqR0eXBlpnN0cnVjdKxwcmVmaXhfc2hvcnSuRGVmYXVsdFRlc3RTZXSob2JqZWN0aWSwMWI4MmVjMTkwZDBhNWVkNaRtaW1l2SFhcHBsaWNhdGlvbi92bmQucGx1dG8udHJlZStvYmplY3Sscm9vdGFzc2lnbmVlwLJsYXN0X3J1bl90aW1lc3RhbXDLQdllBKQwAjqwcGVyc2lzdF9qc19zdGF0ZcK3aGFzX3BsdXRvX2hvb2tfZmVhdHVyZXPCp2NlbGxfaWTZJGI4ZjJjMGRkLWZlMTQtNGE5OC05MjcyLTg3MjkzNDMxN2E3N7lkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzgaU/S+1cHVibGlzaGVkX29iamVjdF9rZXlzkLhkZXBlbmRzX29uX3NraXBwZWRfY2VsbHPCp2Vycm9yZWTC2SQwNjhjYjk3ZS04NzA0LTQ1OGUtOGZlZi0yOGFmNmVmYTU5NmKKpnF1ZXVlZMKkbG9nc5CncnVubmluZ8Kmb3V0cHV0hqRib2R52SdyYWRpdXMgKGdlbmVyaWMgZnVuY3Rpb24gd2l0aCAxIG1ldGhvZCmkbWltZap0ZXh0L3BsYWlurHJvb3Rhc3NpZ25lZcCybGFzdF9ydW5fdGltZXN0YW1wy0HZZQSkOa51sHBlcnNpc3RfanNfc3RhdGXCt2hhc19wbHV0b19ob29rX2ZlYXR1cmVzwqdjZWxsX2lk2SQwNjhjYjk3ZS04NzA0LTQ1OGUtOGZlZi0yOGFmNmVmYTU5NmK5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc4ACICytXB1Ymxpc2hlZF9vYmplY3Rfa2V5c5C4ZGVwZW5kc19vbl9za2lwcGVkX2NlbGxzwqdlcnJvcmVkwtkkYTU4YWY2ODktNTI2My00ZDUyLWFlYWMtOTZkZmMxODY5Mzg2iqZxdWV1ZWTCpGxvZ3OQp3J1bm5pbmfCpm91dHB1dIakYm9kedklbWFpbiAoZ2VuZXJpYyBmdW5jdGlvbiB3aXRoIDEgbWV0aG9kKaRtaW1lqnRleHQvcGxhaW6scm9vdGFzc2lnbmVlwLJsYXN0X3J1bl90aW1lc3RhbXDLQdllBKRNJniwcGVyc2lzdF9qc19zdGF0ZcK3aGFzX3BsdXRvX2hvb2tfZmVhdHVyZXPCp2NlbGxfaWTZJGE1OGFmNjg5LTUyNjMtNGQ1Mi1hZWFjLTk2ZGZjMTg2OTM4NrlkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzgCNKD+1cHVibGlzaGVkX29iamVjdF9rZXlzkLhkZXBlbmRzX29uX3NraXBwZWRfY2VsbHPCp2Vycm9yZWTCq3N0YXR1c190cmVlhKRuYW1lqG5vdGVib29rqHN1YnRhc2tzhKZzYXZpbmeEpG5hbWWmc2F2aW5nqHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2WUEo5qRjqpzdGFydGVkX2F0y0HZZQSjmo0qqXdvcmtzcGFjZYSkbmFtZal3b3Jrc3BhY2Woc3VidGFza3OCrGluaXRfcHJvY2Vzc4SkbmFtZaxpbml0X3Byb2Nlc3Ooc3VidGFza3OEoTSEpG5hbWWhNKhzdWJ0YXNrc4CrZmluaXNoZWRfYXTLQdllBKL7aBuqc3RhcnRlZF9hdMtB2WUEop9uoKExhKRuYW1loTGoc3VidGFza3OAq2ZpbmlzaGVkX2F0y0HZZQSil81GqnN0YXJ0ZWRfYXTLQdllBKJZ3hahMoSkbmFtZaEyqHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2WUEopvIjqpzdGFydGVkX2F0y0HZZQSil9rsoTOEpG5hbWWhM6hzdWJ0YXNrc4CrZmluaXNoZWRfYXTLQdllBKKfX7Oqc3RhcnRlZF9hdMtB2WUEopvYy6tmaW5pc2hlZF9hdMtB2WUEovt2LqpzdGFydGVkX2F0y0HZZQSiWd3wrmNyZWF0ZV9wcm9jZXNzhKRuYW1lrmNyZWF0ZV9wcm9jZXNzqHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2WUEolnPV6pzdGFydGVkX2F0y0HZZQShZe2Wq2ZpbmlzaGVkX2F0y0HZZQSi+3Y2qnN0YXJ0ZWRfYXTLQdllBKFl7YmjcGtnhKRuYW1lo3BrZ6hzdWJ0YXNrc4SsaW5zdGFudGlhdGUxhKRuYW1lrGluc3RhbnRpYXRlMahzdWJ0YXNrc4CrZmluaXNoZWRfYXTLQdllBKFmGwmqc3RhcnRlZF9hdMtB2WUEoWYLHKhhbmFseXNpc4SkbmFtZahhbmFseXNpc6hzdWJ0YXNrc4CrZmluaXNoZWRfYXTLQdllBKFls56qc3RhcnRlZF9hdMtB2WUEoWWwGKpwcmVjb21waWxlhKRuYW1lqnByZWNvbXBpbGWoc3VidGFza3OAq2ZpbmlzaGVkX2F0y0HZZQSiQ18tqnN0YXJ0ZWRfYXTLQdllBKFmoLqncmVzb2x2ZYSkbmFtZadyZXNvbHZlqHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2WUEoWagoapzdGFydGVkX2F0y0HZZQShZhsRq2ZpbmlzaGVkX2F0y0HZZQSiQ234qnN0YXJ0ZWRfYXTLQdllBKFlsBSjcnVuhKRuYW1lo3J1bqhzdWJ0YXNrc4KwcmVzb2x2ZV90b3BvbG9neYSkbmFtZbByZXNvbHZlX3RvcG9sb2d5qHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2WUEo5qRl6pzdGFydGVkX2F0y0HZZQSjmoboqGV2YWx1YXRlhKRuYW1lqGV2YWx1YXRlqHN1YnRhc2tziaEzhKRuYW1loTOoc3VidGFza3OAq2ZpbmlzaGVkX2F0y0HZZQSkCOY6qnN0YXJ0ZWRfYXTLQdllBKPKOAmhNISkbmFtZaE0qHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2WUEpBWLAKpzdGFydGVkX2F0y0HZZQSkCPU8oTGEpG5hbWWhMahzdWJ0YXNrc4CrZmluaXNoZWRfYXTLQdllBKO7436qc3RhcnRlZF9hdMtB2WUEo5qppKE1hKRuYW1loTWoc3VidGFza3OAq2ZpbmlzaGVkX2F0y0HZZQSkMAJgqnN0YXJ0ZWRfYXTLQdllBKQVmiShMoSkbmFtZaEyqHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2WUEo8ooSqpzdGFydGVkX2F0y0HZZQSju/WhoTaEpG5hbWWhNqhzdWJ0YXNrc4CrZmluaXNoZWRfYXTLQdllBKQ5rpeqc3RhcnRlZF9hdMtB2WUEpDAQYqE3hKRuYW1loTeoc3VidGFza3OAq2ZpbmlzaGVkX2F0y0HZZQSkQ1DfqnN0YXJ0ZWRfYXTLQdllBKQ5v4ehOYSkbmFtZaE5qHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2WUEpbwJ+qpzdGFydGVkX2F0y0HZZQSkTTYAoTiEpG5hbWWhOKhzdWJ0YXNrc4CrZmluaXNoZWRfYXTLQdllBKRNJsiqc3RhcnRlZF9hdMtB2WUEpENhqqtmaW5pc2hlZF9hdMtB2WUEpbwdZapzdGFydGVkX2F0y0HZZQSjmpGXq2ZpbmlzaGVkX2F0y0HZZQSlvB1gqnN0YXJ0ZWRfYXTLQdllBKOahsurZmluaXNoZWRfYXTAqnN0YXJ0ZWRfYXTLQdllBJxXDDGxY2VsbF9kZXBlbmRlbmNpZXOL2SQ1OTA2ZmExOS1iMjViLTRjNDYtOWM1ZC1kYTBjNDkwZDBjZTaEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SQ1OTA2ZmExOS1iMjViLTRjNDYtOWM1ZC1kYTBjNDkwZDBjZTa0ZG93bnN0cmVhbV9jZWxsc19tYXCBqGluaXRjZmchktkkYjhmMmMwZGQtZmUxNC00YTk4LTkyNzItODcyOTM0MzE3YTc32SRhNThhZjY4OS01MjYzLTRkNTItYWVhYy05NmRmYzE4NjkzODaydXBzdHJlYW1fY2VsbHNfbWFwhaZsZW5ndGiQoS2QrkFic3RyYWN0VmVjdG9ykKEqkKRyYW5kkNkkN2JiZjUwMjUtMDM0Ni00MTA0LWE0N2EtNjNmNDkyZmM0MDI4hLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkN2JiZjUwMjUtMDM0Ni00MTA0LWE0N2EtNjNmNDkyZmM0MDI4tGRvd25zdHJlYW1fY2VsbHNfbWFwgLJ1cHN0cmVhbV9jZWxsc19tYXCCp0BtZF9zdHKQqGdldGluZGV4kNkkMGM3YTAxNzUtOGViZC00ZTg5LTliYTAtOTc5N2FhOGU0NTU2hLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkMGM3YTAxNzUtOGViZC00ZTg5LTliYTAtOTc5N2FhOGU0NTU2tGRvd25zdHJlYW1fY2VsbHNfbWFwgLJ1cHN0cmVhbV9jZWxsc19tYXCNpUB0aW1lkLNCYXNlLmdjX2FsbG9jX2NvdW50kKZCYXNlLi2Qq0Jhc2UuZ2NfbnVtkKpCYXNlLmZpcnN0kKxCYXNlLkdDX0RpZmaQv0Jhc2UuY3VtdWxhdGl2ZV9jb21waWxlX3RpbWVfbnOQqUJhc2UubGFzdJCkQmFzZZCvQmFzZS50aW1lX3ByaW50kKRtYWlukdkkYTU4YWY2ODktNTI2My00ZDUyLWFlYWMtOTZkZmMxODY5Mzg2rEJhc2UudGltZV9uc5C+QmFzZS5jdW11bGF0aXZlX2NvbXBpbGVfdGltaW5nkNkkNDA0ZTRiZGEtZWUyZC00Y2E5LWEzOTUtNDI0MWE0MjFhNmU4hLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkNDA0ZTRiZGEtZWUyZC00Y2E5LWEzOTUtNDI0MWE0MjFhNmU4tGRvd25zdHJlYW1fY2VsbHNfbWFwgLJ1cHN0cmVhbV9jZWxsc19tYXDeACGpVGVzdC5jb3B5kKxUZXN0LnJldGhyb3eQqlRlc3QuRXJyb3KQsVRlc3QuUmFuZG9tLnNlZWQhkLBUZXN0LnBvcF90ZXN0c2V0kKRUZXN0kdkkOTE4MTFiNmQtNzc0NC00ZmJjLWI5Y2ItMzgwMGExZjhiYzlhvFRlc3QuUmFuZG9tLnNldF9nbG9iYWxfc2VlZCGQrlRlc3QuZXZhbF90ZXN0kLxUZXN0LkJhc2UuY3VycmVudF9leGNlcHRpb25zkKpUZXN0LmNvcHkhkKhUZXN0LmlzYZCrVGVzdC5yZWNvcmSQs1Rlc3QuX2NoZWNrX3Rlc3RzZXSQqVRlc3QuRXhwcpCqVGVzdC5UaHJld5CwVGVzdC5kZWZhdWx0X3JuZ5CxVGVzdC5wdXNoX3Rlc3RzZXSQpUB0ZXN0kLNUZXN0LmZhaWxmYXN0X3ByaW50kKI9PZCrVGVzdC50eXBlb2aQtlRlc3QuZ2V0X3Rlc3RzZXRfZGVwdGiQpXplcm9zkLBUZXN0LmdldF90ZXN0c2V0kKtUZXN0LmZpbmlzaJCkcmFuZJC/VGVzdC50cmlnZ2VyX3Rlc3RfZmFpbHVyZV9icmVha5CnVGVzdC49PZCrVGVzdC5Ccm9rZW6QqXNldDJ6ZXJvIZHZJDZmMzQ5OTA1LTU2ZDAtNDBmYS1iMjkwLTAzNmMyNThjYWRjYqhUZXN0Lj09PZCoQHRlc3RzZXSQplRlc3QuPpDZJDZmMzQ5OTA1LTU2ZDAtNDBmYS1iMjkwLTAzNmMyNThjYWRjYoS0cHJlY2VkZW5jZV9oZXVyaXN0aWMJp2NlbGxfaWTZJDZmMzQ5OTA1LTU2ZDAtNDBmYS1iMjkwLTAzNmMyNThjYWRjYrRkb3duc3RyZWFtX2NlbGxzX21hcIGpc2V0Mnplcm8hktkkNDA0ZTRiZGEtZWUyZC00Y2E5LWEzOTUtNDI0MWE0MjFhNmU42SRhNThhZjY4OS01MjYzLTRkNTItYWVhYy05NmRmYzE4NjkzODaydXBzdHJlYW1fY2VsbHNfbWFwiaRAZG9jkKR6ZXJvkKFUkK5BYnN0cmFjdFZlY3RvcpClVHVwbGWQpmVsdHlwZZClZmlsbCGQpVVuaW9ukLojX19fdGhpc19wbHV0b19tb2R1bGVfbmFtZZDZJDQ3YTAzNGZhLWE5NWUtMTFlZS0yMWU2LWIxMDBmNThkZmY1MoS0cHJlY2VkZW5jZV9oZXVyaXN0aWMHp2NlbGxfaWTZJDQ3YTAzNGZhLWE5NWUtMTFlZS0yMWU2LWIxMDBmNThkZmY1MrRkb3duc3RyZWFtX2NlbGxzX21hcIKqU3RhdGlzdGljc5CmUHJpbnRmkLJ1cHN0cmVhbV9jZWxsc19tYXCA2SQ5MTgxMWI2ZC03NzQ0LTRmYmMtYjljYi0zODAwYTFmOGJjOWGEtHByZWNlZGVuY2VfaGV1cmlzdGljB6djZWxsX2lk2SQ5MTgxMWI2ZC03NzQ0LTRmYmMtYjljYi0zODAwYTFmOGJjOWG0ZG93bnN0cmVhbV9jZWxsc19tYXCBpFRlc3SS2SQ0MDRlNGJkYS1lZTJkLTRjYTktYTM5NS00MjQxYTQyMWE2ZTjZJGI4ZjJjMGRkLWZlMTQtNGE5OC05MjcyLTg3MjkzNDMxN2E3N7J1cHN0cmVhbV9jZWxsc19tYXCA2SQ2NDI5MTFjNi02OThjLTQwYmItYmVjNi1jODg4MzNjNmNhYTWEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SQ2NDI5MTFjNi02OThjLTQwYmItYmVjNi1jODg4MzNjNmNhYTW0ZG93bnN0cmVhbV9jZWxsc19tYXCBsG1ldHJvcG9saXNfdGVzdCGR2SRhNThhZjY4OS01MjYzLTRkNTItYWVhYy05NmRmYzE4NjkzODaydXBzdHJlYW1fY2VsbHNfbWFw3gASpXJhbmRukKR6ZXJvkKNleHCQrkFic3RyYWN0VmVjdG9ykKE6kKZpc2xlc3OQp0Zsb2F0NjSQpHJhbmSQoTyQqWVhY2hpbmRleJChLZCj4omlkKI+PZChL5CmcmFkaXVzkdkkMDY4Y2I5N2UtODcwNC00NThlLThmZWYtMjhhZjZlZmE1OTZioSuQoSqQpG1lYW6Q2SRiOGYyYzBkZC1mZTE0LTRhOTgtOTI3Mi04NzI5MzQzMTdhNzeEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SRiOGYyYzBkZC1mZTE0LTRhOTgtOTI3Mi04NzI5MzQzMTdhNze0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcN4AJqlUZXN0LmNvcHmQrFRlc3QucmV0aHJvd5CqVGVzdC5FcnJvcpCxVGVzdC5SYW5kb20uc2VlZCGQsFRlc3QucG9wX3Rlc3RzZXSQpFRlc3SR2SQ5MTgxMWI2ZC03NzQ0LTRmYmMtYjljYi0zODAwYTFmOGJjOWG8VGVzdC5SYW5kb20uc2V0X2dsb2JhbF9zZWVkIZCtVGVzdC5SZXR1cm5lZJC8VGVzdC5CYXNlLmN1cnJlbnRfZXhjZXB0aW9uc5CqVGVzdC5jb3B5IZCoVGVzdC5pc2GQq1Rlc3QucmVjb3JkkLNUZXN0Ll9jaGVja190ZXN0c2V0kKlUZXN0LkV4cHKQqlRlc3QuVGhyZXeQoi48kLBUZXN0LmRlZmF1bHRfcm5nkKMuPD2QsVRlc3QucHVzaF90ZXN0c2V0kKVAdGVzdJCzVGVzdC5mYWlsZmFzdF9wcmludJCoaW5pdGNmZyGR2SQ1OTA2ZmExOS1iMjViLTRjNDYtOWM1ZC1kYTBjNDkwZDBjZTarVGVzdC50eXBlb2aQtlRlc3QuZ2V0X3Rlc3RzZXRfZGVwdGiQq1Rlc3QuZmluaXNokLBUZXN0LmdldF90ZXN0c2V0kKRyYW5kkL9UZXN0LnRyaWdnZXJfdGVzdF9mYWlsdXJlX2JyZWFrkKNhbGyQp1Rlc3QuPT2Qq1Rlc3QuQnJva2VukKRCYXNlkKlCYXNlLnJlcHKQrEJhc2UucHJpbnRsbpCoVGVzdC49PT2QqEB0ZXN0c2V0kKZUZXN0Lj6QpUBzaG93kNkkMDY4Y2I5N2UtODcwNC00NThlLThmZWYtMjhhZjZlZmE1OTZihLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkMDY4Y2I5N2UtODcwNC00NThlLThmZWYtMjhhZjZlZmE1OTZitGRvd25zdHJlYW1fY2VsbHNfbWFwgaZyYWRpdXOR2SQ2NDI5MTFjNi02OThjLTQwYmItYmVjNi1jODg4MzNjNmNhYTWydXBzdHJlYW1fY2VsbHNfbWFwhKRzcXJ0kKFekKPiiJqQoSuQ2SRhNThhZjY4OS01MjYzLTRkNTItYWVhYy05NmRmYzE4NjkzODaEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SRhNThhZjY4OS01MjYzLTRkNTItYWVhYy05NmRmYzE4NjkzODa0ZG93bnN0cmVhbV9jZWxsc19tYXCBpG1haW6R2SQwYzdhMDE3NS04ZWJkLTRlODktOWJhMC05Nzk3YWE4ZTQ1NTaydXBzdHJlYW1fY2VsbHNfbWFw3gAasG1ldHJvcG9saXNfdGVzdCGR2SQ2NDI5MTFjNi02OThjLTQwYmItYmVjNi1jODg4MzNjNmNhYTWmaXNsZXNzkKdGbG9hdDY0kNknQmFzZS5Db3JlTG9nZ2luZy5CYXNlLmZpeHVwX3N0ZGxpYl9wYXRokLJCYXNlLkNvcmVMb2dnaW5nLiGQplZlY3RvcpChPJChL5ClQGluZm+QsUJhc2UuaW52b2tlbGF0ZXN0kKhpbml0Y2ZnIZHZJDU5MDZmYTE5LWIyNWItNGM0Ni05YzVkLWRhMGM0OTBkMGNlNqNhYnOQvUJhc2UuQ29yZUxvZ2dpbmcuaW52b2tlbGF0ZXN0kLRCYXNlLkNvcmVMb2dnaW5nLj09PZClemVyb3OQuiNfX190aGlzX3BsdXRvX21vZHVsZV9uYW1lkKZzdGRvdXSQp0BwcmludGaQpEJhc2WQqXNldDJ6ZXJvIZHZJDZmMzQ5OTA1LTU2ZDAtNDBmYS1iMjkwLTAzNmMyNThjYWRjYqEtkLRCYXNlLkNvcmVMb2dnaW5nLmlzYZChK5CldW5kZWaQoSqQs0Jhc2UuQ29yZUxvZ2dpbmcuPj2QtGNlbGxfZXhlY3V0aW9uX29yZGVym9kkNDdhMDM0ZmEtYTk1ZS0xMWVlLTIxZTYtYjEwMGY1OGRmZjUy2SQ5MTgxMWI2ZC03NzQ0LTRmYmMtYjljYi0zODAwYTFmOGJjOWHZJDdiYmY1MDI1LTAzNDYtNDEwNC1hNDdhLTYzZjQ5MmZjNDAyONkkNmYzNDk5MDUtNTZkMC00MGZhLWIyOTAtMDM2YzI1OGNhZGNi2SQ0MDRlNGJkYS1lZTJkLTRjYTktYTM5NS00MjQxYTQyMWE2ZTjZJDU5MDZmYTE5LWIyNWItNGM0Ni05YzVkLWRhMGM0OTBkMGNlNtkkYjhmMmMwZGQtZmUxNC00YTk4LTkyNzItODcyOTM0MzE3YTc32SQwNjhjYjk3ZS04NzA0LTQ1OGUtOGZlZi0yOGFmNmVmYTU5NmLZJDY0MjkxMWM2LTY5OGMtNDBiYi1iZWM2LWM4ODgzM2M2Y2FhNdkkYTU4YWY2ODktNTI2My00ZDUyLWFlYWMtOTZkZmMxODY5Mzg22SQwYzdhMDE3NS04ZWJkLTRlODktOWJhMC05Nzk3YWE4ZTQ1NTa0bGFzdF9ob3RfcmVsb2FkX3RpbWXLAAAAAAAAAACpc2hvcnRwYXRoqm12Y19uZXcuamyucHJvY2Vzc19zdGF0dXOlcmVhZHmkcGF0aNk5L1VzZXJzL3RlcmFzYWtpL3dvcmsvTXlWTUMuamwvcGxheWdyb3VuZC9wbHV0by9tdmNfbmV3Lmpsrmxhc3Rfc2F2ZV90aW1ly0HZZQSjmo0qqmNlbGxfb3JkZXKb2SQ3YmJmNTAyNS0wMzQ2LTQxMDQtYTQ3YS02M2Y0OTJmYzQwMjjZJDQ3YTAzNGZhLWE5NWUtMTFlZS0yMWU2LWIxMDBmNThkZmY1MtkkOTE4MTFiNmQtNzc0NC00ZmJjLWI5Y2ItMzgwMGExZjhiYzlh2SQ2ZjM0OTkwNS01NmQwLTQwZmEtYjI5MC0wMzZjMjU4Y2FkY2LZJDQwNGU0YmRhLWVlMmQtNGNhOS1hMzk1LTQyNDFhNDIxYTZlONkkNTkwNmZhMTktYjI1Yi00YzQ2LTljNWQtZGEwYzQ5MGQwY2U22SRiOGYyYzBkZC1mZTE0LTRhOTgtOTI3Mi04NzI5MzQzMTdhNzfZJDA2OGNiOTdlLTg3MDQtNDU4ZS04ZmVmLTI4YWY2ZWZhNTk2YtkkNjQyOTExYzYtNjk4Yy00MGJiLWJlYzYtYzg4ODMzYzZjYWE12SRhNThhZjY4OS01MjYzLTRkNTItYWVhYy05NmRmYzE4NjkzODbZJDBjN2EwMTc1LThlYmQtNGU4OS05YmEwLTk3OTdhYThlNDU1NrFwdWJsaXNoZWRfb2JqZWN0c4ClbmJwa2eKr2luc3RhbGxfdGltZV9uc87NopPqrGluc3RhbnRpYXRlZMOyaW5zdGFsbGVkX3ZlcnNpb25zg6pTdGF0aXN0aWNzpnN0ZGxpYqRUZXN0pnN0ZGxpYqZQcmludGamc3RkbGlisHRlcm1pbmFsX291dHB1dHOEqlN0YXRpc3RpY3PaAYsKSW5zdGFudGlhdGluZy4uLgoKUmVzb2x2aW5nLi4uChtbMzJtG1sxbSAgTm8gQ2hhbmdlcxtbMjJtG1szOW0gdG8gYC9wcml2YXRlL3Zhci9mb2xkZXJzL2xwLzlid3hmZ3MxMThuYl8zMnZxOHBzbmRfNDAwMDBnbi9UL2psX2t2OHZwUS9Qcm9qZWN0LnRvbWxgChtbMzJtG1sxbSAgTm8gQ2hhbmdlcxtbMjJtG1szOW0gdG8gYC9wcml2YXRlL3Zhci9mb2xkZXJzL2xwLzlid3hmZ3MxMThuYl8zMnZxOHBzbmRfNDAwMDBnbi9UL2psX2t2OHZwUS9NYW5pZmVzdC50b21sYAoKUHJlY29tcGlsaW5nLi4uChtbMzJtG1sxbSAgQWN0aXZhdGluZxtbMjJtG1szOW0gcHJvamVjdCBhdCBgL3ByaXZhdGUvdmFyL2ZvbGRlcnMvbHAvOWJ3eGZnczExOG5iXzMydnE4cHNuZF80MDAwMGduL1Qvamxfa3Y4dnBRYKpuYnBrZ19zeW5j2gGLCkluc3RhbnRpYXRpbmcuLi4KClJlc29sdmluZy4uLgobWzMybRtbMW0gIE5vIENoYW5nZXMbWzIybRtbMzltIHRvIGAvcHJpdmF0ZS92YXIvZm9sZGVycy9scC85Ynd4ZmdzMTE4bmJfMzJ2cThwc25kXzQwMDAwZ24vVC9qbF9rdjh2cFEvUHJvamVjdC50b21sYAobWzMybRtbMW0gIE5vIENoYW5nZXMbWzIybRtbMzltIHRvIGAvcHJpdmF0ZS92YXIvZm9sZGVycy9scC85Ynd4ZmdzMTE4bmJfMzJ2cThwc25kXzQwMDAwZ24vVC9qbF9rdjh2cFEvTWFuaWZlc3QudG9tbGAKClByZWNvbXBpbGluZy4uLgobWzMybRtbMW0gIEFjdGl2YXRpbmcbWzIybRtbMzltIHByb2plY3QgYXQgYC9wcml2YXRlL3Zhci9mb2xkZXJzL2xwLzlid3hmZ3MxMThuYl8zMnZxOHBzbmRfNDAwMDBnbi9UL2psX2t2OHZwUWCkVGVzdNoBiwpJbnN0YW50aWF0aW5nLi4uCgpSZXNvbHZpbmcuLi4KG1szMm0bWzFtICBObyBDaGFuZ2VzG1syMm0bWzM5bSB0byBgL3ByaXZhdGUvdmFyL2ZvbGRlcnMvbHAvOWJ3eGZnczExOG5iXzMydnE4cHNuZF80MDAwMGduL1Qvamxfa3Y4dnBRL1Byb2plY3QudG9tbGAKG1szMm0bWzFtICBObyBDaGFuZ2VzG1syMm0bWzM5bSB0byBgL3ByaXZhdGUvdmFyL2ZvbGRlcnMvbHAvOWJ3eGZnczExOG5iXzMydnE4cHNuZF80MDAwMGduL1Qvamxfa3Y4dnBRL01hbmlmZXN0LnRvbWxgCgpQcmVjb21waWxpbmcuLi4KG1szMm0bWzFtICBBY3RpdmF0aW5nG1syMm0bWzM5bSBwcm9qZWN0IGF0IGAvcHJpdmF0ZS92YXIvZm9sZGVycy9scC85Ynd4ZmdzMTE4bmJfMzJ2cThwc25kXzQwMDAwZ24vVC9qbF9rdjh2cFFgplByaW50ZtoBiwpJbnN0YW50aWF0aW5nLi4uCgpSZXNvbHZpbmcuLi4KG1szMm0bWzFtICBObyBDaGFuZ2VzG1syMm0bWzM5bSB0byBgL3ByaXZhdGUvdmFyL2ZvbGRlcnMvbHAvOWJ3eGZnczExOG5iXzMydnE4cHNuZF80MDAwMGduL1Qvamxfa3Y4dnBRL1Byb2plY3QudG9tbGAKG1szMm0bWzFtICBObyBDaGFuZ2VzG1syMm0bWzM5bSB0byBgL3ByaXZhdGUvdmFyL2ZvbGRlcnMvbHAvOWJ3eGZnczExOG5iXzMydnE4cHNuZF80MDAwMGduL1Qvamxfa3Y4dnBRL01hbmlmZXN0LnRvbWxgCgpQcmVjb21waWxpbmcuLi4KG1szMm0bWzFtICBBY3RpdmF0aW5nG1syMm0bWzM5bSBwcm9qZWN0IGF0IGAvcHJpdmF0ZS92YXIvZm9sZGVycy9scC85Ynd4ZmdzMTE4bmJfMzJ2cThwc25kXzQwMDAwZ24vVC9qbF9rdjh2cFFgp2VuYWJsZWTDt3Jlc3RhcnRfcmVjb21tZW5kZWRfbXNnwLRyZXN0YXJ0X3JlcXVpcmVkX21zZ8CtYnVzeV9wYWNrYWdlc5C2d2FpdGluZ19mb3JfcGVybWlzc2lvbsLZLHdhaXRpbmdfZm9yX3Blcm1pc3Npb25fYnV0X3Byb2JhYmx5X2Rpc2FibGVkwqtjZWxsX2lucHV0c4vZJDU5MDZmYTE5LWIyNWItNGM0Ni05YzVkLWRhMGM0OTBkMGNlNoSnY2VsbF9pZNkkNTkwNmZhMTktYjI1Yi00YzQ2LTljNWQtZGEwYzQ5MGQwY2U2pGNvZGXZqGZ1bmN0aW9uIGluaXRjZmchKGRhdGExOjpULCBkYXRhMjo6VCwgZGF0YTM6OlQpIHdoZXJlIHtUPDpBYnN0cmFjdFZlY3Rvcn0KICAgIGZvciBkIGluIChkYXRhMSwgZGF0YTIsIGRhdGEzKQogICAgICAgIGQgLj0gKHJhbmQobGVuZ3RoKGQpKSAuLSAwLjUpIC4qIDIgLiogMgogICAgZW5kCmVuZKhtZXRhZGF0YYOpc2hvd19sb2dzw6hkaXNhYmxlZMKuc2tpcF9hc19zY3JpcHTCq2NvZGVfZm9sZGVkwtkkN2JiZjUwMjUtMDM0Ni00MTA0LWE0N2EtNjNmNDkyZmM0MDI4hKdjZWxsX2lk2SQ3YmJmNTAyNS0wMzQ2LTQxMDQtYTQ3YS02M2Y0OTJmYzQwMjikY29kZdoCNW1kIiIiCgpb5aSJ5YiG44Oi44Oz44OG44Kr44Or44OtKFZNQynjgpLjgoTjgaPjgabjgb/jgot+5rC057Sg5Y6f5a2Qfl0oaHR0cHM6Ly9taXlhbnRhcnVtaS5oYXRlbmFibG9nLmNvbS9lbnRyeS8yMDIyLzA0LzA4LzA4MDAwMCkg44GuIEp1bGlhIOenu+akjeOCkuihjOOBo+OBny4g44Oh44OI44Ot44Od44Oq44K544OG44K544OI44Gu6YOo5YiG44KS6Zai5pWw5YyW44GX5pu444GP44G544GN44Kz44O844OJ44Gu6YeP44KS5aSn5bmF44Gr5rib44KJ44GZ44GT44Go44GM44Gn44GN44Gf77yOIEp1bGlh44GvVW5pY29kZeaWh+Wtl+OBjOS9v+OBiOOCi+OBruOBp+OCquODquOCuOODiuODq+OBruWun+ijheOCkuOCguOBqOOBq+WkieaVsOWQjeOCkumBqeWunOWkieabtOOBl+OBpuOBhOOCi++8jgoKbWV0cm9wb2xpc190ZXN0ISDjga7lvJXmlbDjga/jgYTjgaPjgbHjgYTjgYLjgovjgYzvvIzjgoLjgaPjgahKdWxpYeOCieOBl+OBj+abuOOBj+OBruOBp+OBguOCjOOBquOCs+ODrOOCieOCkuOBvuOBqOOCgeOCi+ani+mAoOS9k+OCkuWumue+qeOBmeOCi+OBueOBjeOBp+OBguOCi++8jgoiIiKobWV0YWRhdGGDqXNob3dfbG9nc8OoZGlzYWJsZWTCrnNraXBfYXNfc2NyaXB0wqtjb2RlX2ZvbGRlZMPZJDBjN2EwMTc1LThlYmQtNGU4OS05YmEwLTk3OTdhYThlNDU1NoSnY2VsbF9pZNkkMGM3YTAxNzUtOGViZC00ZTg5LTliYTAtOTc5N2FhOGU0NTU2pGNvZGWtQHRpbWUgbWFpbigpIKhtZXRhZGF0YYOpc2hvd19sb2dzw6hkaXNhYmxlZMKuc2tpcF9hc19zY3JpcHTCq2NvZGVfZm9sZGVkwtkkNDA0ZTRiZGEtZWUyZC00Y2E5LWEzOTUtNDI0MWE0MjFhNmU4hKdjZWxsX2lk2SQ0MDRlNGJkYS1lZTJkLTRjYTktYTM5NS00MjQxYTQyMWE2ZTikY29kZdmsQHRlc3RzZXQgInNldDJ6ZXJvISIgYmVnaW4KCWRhdGExID0gcmFuZCgxMCkKICAgIGRhdGEyID0gcmFuZCgxMCkKICAgIGRhdGEzID0gcmFuZCgxMCkKICAgIHNldDJ6ZXJvIShkYXRhMSwgZGF0YTIsIGRhdGEzKQogICAgQHRlc3QgZGF0YTEgPT0gZGF0YTIgPT0gZGF0YTMgPT0gemVyb3MoMTApCmVuZKhtZXRhZGF0YYOpc2hvd19sb2dzw6hkaXNhYmxlZMKuc2tpcF9hc19zY3JpcHTCq2NvZGVfZm9sZGVkwtkkNmYzNDk5MDUtNTZkMC00MGZhLWIyOTAtMDM2YzI1OGNhZGNihKdjZWxsX2lk2SQ2ZjM0OTkwNS01NmQwLTQwZmEtYjI5MC0wMzZjMjU4Y2FkY2KkY29kZdnCIiIiCglDIHBvcnQgdG8gSnVsaWEgZm9yIGBzaG9raWthYAoiIiIKZnVuY3Rpb24gc2V0Mnplcm8hKGRhdGExOjpULCBkYXRhMjo6VCwgZGF0YTM6OlQpIHdoZXJlIHtUPDpBYnN0cmFjdFZlY3Rvcn0KICAgIGZvciBkIGluIChkYXRhMSwgZGF0YTIsIGRhdGEzKQogICAgICAgIGZpbGwhKGQsIHplcm8oZWx0eXBlKGQpKSkKICAgIGVuZAplbmSobWV0YWRhdGGDqXNob3dfbG9nc8OoZGlzYWJsZWTCrnNraXBfYXNfc2NyaXB0wqtjb2RlX2ZvbGRlZMLZJDQ3YTAzNGZhLWE5NWUtMTFlZS0yMWU2LWIxMDBmNThkZmY1MoSnY2VsbF9pZNkkNDdhMDM0ZmEtYTk1ZS0xMWVlLTIxZTYtYjEwMGY1OGRmZjUypGNvZGXZKWJlZ2luCgl1c2luZyBTdGF0aXN0aWNzCgl1c2luZyBQcmludGYKZW5kqG1ldGFkYXRhg6lzaG93X2xvZ3PDqGRpc2FibGVkwq5za2lwX2FzX3NjcmlwdMKrY29kZV9mb2xkZWTC2SQ5MTgxMWI2ZC03NzQ0LTRmYmMtYjljYi0zODAwYTFmOGJjOWGEp2NlbGxfaWTZJDkxODExYjZkLTc3NDQtNGZiYy1iOWNiLTM4MDBhMWY4YmM5YaRjb2RlqnVzaW5nIFRlc3SobWV0YWRhdGGDqXNob3dfbG9nc8OoZGlzYWJsZWTCrnNraXBfYXNfc2NyaXB0wqtjb2RlX2ZvbGRlZMLZJDY0MjkxMWM2LTY5OGMtNDBiYi1iZWM2LWM4ODgzM2M2Y2FhNYSnY2VsbF9pZNkkNjQyOTExYzYtNjk4Yy00MGJiLWJlYzYtYzg4ODMzYzZjYWE1pGNvZGXaBi5mdW5jdGlvbiBtZXRyb3BvbGlzX3Rlc3QhKAoJzrE6OkZsb2F0NjQsIAoJzqNFX2xvYzo6VCwgzqPiiIJsb2fPiF/iiILOsTo6VCzOo0VfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xOjpULAoJeOKDlzo6VCwgeeKDlzo6VCwgeuKDlzo6VAopIHdoZXJlIFQgPDogQWJzdHJhY3RWZWN0b3IKCW5zYW1wbGVzID0gMzAwMDAKCXNpZ21hID0gMC40CgnOo0VfbG9jID0gemVybyh44oOXKQoJzqPiiIJsb2fPiF/iiILOsSA9IHplcm8oeOKDlykKCc6jRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrEgPSB6ZXJvKHjig5cpCgkKCWZvciBpIGluIDE6bnNhbXBsZXMJCgkJZm9yIGogaW4gZWFjaGluZGV4KHjig5cseeKDlyx64oOXKQoJCQl4LHkseiA9IHjig5dbal0seeKDl1tqXSx64oOXW2pdCgkJCXIgPSByYWRpdXMoeCx5LHopCgkJCc+IwrIgPSBleHAoLTLOsSpyKQoJCQkjIHByb3Bvc2FsIHN0ZXAKCQkJeOKAsiA9IHggKyBzaWdtYSAqIHJhbmRuKCkKCQkJeeKAsiA9IHkgKyBzaWdtYSAqIHJhbmRuKCkKCQkJeuKAsiA9IHogKyBzaWdtYSAqIHJhbmRuKCkKCQkJcuKAsiA9IHJhZGl1cyh44oCyLHnigLIseuKAsikKCQkJz5XCsiA9IGV4cCgtMs6xKnLigLIpCgkJCWlmIHJhbmQoKSA8IM+VwrIvz4jCsiAKCQkJCXjig5dbal0gPSB44oCyCgkJCQl54oOXW2pdID0geeKAsgoJCQkJeuKDl1tqXSA9IHrigLIKCQkJZW5kCgkJZW5kCgkJaWYgaSDiiaUgNDAwMAoJCQlmb3IgaiBpbiBlYWNoaW5kZXgoeOKDlyx54oOXLHrig5cpCgkJCQl4LHkseiA9IHjig5dbal0seeKDl1tqXSx64oOXW2pdCgkJCQlyID0gcmFkaXVzKHgseSx6KQoJCQkJRV9sb2MgPSAtIDEgLyByIC0gzrEgKiAozrEgLSAyIC8gcikgLyAyCgkJCQniiIJsb2fPiF/iiILOsSA9IC1yCgkJCQlFX2xvY190aW1lc1/iiIJsb2fPiF/iiILOsSA9IEVfbG9jICog4oiCbG9nz4hf4oiCzrEKCQkJCc6jRV9sb2Nbal0gKz0gRV9sb2MKCQkJCc6j4oiCbG9nz4hf4oiCzrFbal0gKz0g4oiCbG9nz4hf4oiCzrEKCQkJCc6jRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrFbal0gKz0gRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrEKCQkJZW5kCgkJZW5kCgllbmQKCSMg5ZCEIGog44Gr5a++44GX44Gm44Gu5bmz5Z2H6YeP44KS6KiI566X44GZ44KLLiDjg6Hjg6Ljg6rjgpLkvb/jgYTlm57jgZnjgZ/jgoHjgasgaW4tcGxhY2Ug6KiI566X44KS44GX44Gm44GE44KL77yOCgnOo0VfbG9jIC4vPSAobnNhbXBsZXMgLSA0MDAwKQoJzqPiiIJsb2fPiF/iiILOsSAuLz0gKG5zYW1wbGVzIC0gNDAwMCkKCc6jRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrEgLi89IChuc2FtcGxlcyAtIDQwMDApCgkjIGog44Gu6Lu444Gr5a++44GX44Gm5bmz5Z2H5YCk44KS6KiI566X44GZ44KLCglFX2xvYyA9IG1lYW4ozqNFX2xvYykKCeKIgmxvZ8+IX+KIgs6xID0gbWVhbijOo+KIgmxvZ8+IX+KIgs6xKQoJRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrEgPSBtZWFuKM6jRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrEpCgoJZEUgPSAyICogKEVfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xIC0gRV9sb2MgKiDiiIJsb2fPiF/iiILOsSkKCXJldHVybiBkRSwgRV9sb2MKZW5kqG1ldGFkYXRhg6lzaG93X2xvZ3PDqGRpc2FibGVkwq5za2lwX2FzX3NjcmlwdMKrY29kZV9mb2xkZWTC2SRiOGYyYzBkZC1mZTE0LTRhOTgtOTI3Mi04NzI5MzQzMTdhNzeEp2NlbGxfaWTZJGI4ZjJjMGRkLWZlMTQtNGE5OC05MjcyLTg3MjkzNDMxN2E3N6Rjb2Rl2e5AdGVzdHNldCAiaW5pdGNmZyEiIGJlZ2luCiAgICBkYXRhMSA9IHJhbmQoMTApCiAgICBkYXRhMiA9IHJhbmQoMTApCiAgICBkYXRhMyA9IHJhbmQoMTApCiAgICBpbml0Y2ZnIShkYXRhMSwgZGF0YTIsIGRhdGEzKQoJQHNob3cgZGF0YTEKICAgIEB0ZXN0IGFsbCgtMiAuPD0gZGF0YTEgLjwgMikKICAgIEB0ZXN0IGFsbCgtMiAuPD0gZGF0YTIgLjwgMikKICAgIEB0ZXN0IGFsbCgtMiAuPD0gZGF0YTMgLjwgMikKZW5kqG1ldGFkYXRhg6lzaG93X2xvZ3PDqGRpc2FibGVkwq5za2lwX2FzX3NjcmlwdMKrY29kZV9mb2xkZWTC2SQwNjhjYjk3ZS04NzA0LTQ1OGUtOGZlZi0yOGFmNmVmYTU5NmKEp2NlbGxfaWTZJDA2OGNiOTdlLTg3MDQtNDU4ZS04ZmVmLTI4YWY2ZWZhNTk2YqRjb2Rl2SRyYWRpdXMoeCx5LHopID0g4oiaKHheMiArIHleMiArIHpeMimobWV0YWRhdGGDqXNob3dfbG9nc8OoZGlzYWJsZWTCrnNraXBfYXNfc2NyaXB0wqtjb2RlX2ZvbGRlZMLZJGE1OGFmNjg5LTUyNjMtNGQ1Mi1hZWFjLTk2ZGZjMTg2OTM4NoSnY2VsbF9pZNkkYTU4YWY2ODktNTI2My00ZDUyLWFlYWMtOTZkZmMxODY5Mzg2pGNvZGXaBjRmdW5jdGlvbiBtYWluKCkKICAgIG53YWxrZXJzID0gNDAwCiAgICBzYW1wbGUgPSAzMDAwMAoKICAgIM6xX2luaXQgPSAwLjgKICAgIHggPSBWZWN0b3J7RmxvYXQ2NH0odW5kZWYsIG53YWxrZXJzKQogICAgeSA9IFZlY3RvcntGbG9hdDY0fSh1bmRlZiwgbndhbGtlcnMpCiAgICB6ID0gVmVjdG9ye0Zsb2F0NjR9KHVuZGVmLCBud2Fsa2VycykKCc6jRV9sb2MgPSB6ZXJvcyhud2Fsa2VycykKCc6j4oiCbG9nz4hf4oiCzrEgPSB6ZXJvcyhud2Fsa2VycykKCc6jRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrEgPSB6ZXJvcyhud2Fsa2VycykKICAgIGggPSAxZS0zCgoJzrEgPSDOsV9pbml0Cgl3aGlsZSB0cnVlCgkJaW5pdGNmZyEoeCx5LHopCgkJc2V0Mnplcm8hKM6jRV9sb2MszqPiiIJsb2fPiF/iiILOsSzOo0VfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xKQoJCWRFLCBfID0gbWV0cm9wb2xpc190ZXN0ISgKCQkJzrEsCgkJCc6jRV9sb2MszqPiiIJsb2fPiF/iiILOsSzOo0VfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xLAoJCQl4LHksegoJCSkKCgkJzrHigoogPSDOsSArIGgKCQlpbml0Y2ZnISh4LHkseikKCQlzZXQyemVybyEozqNFX2xvYyzOo+KIgmxvZ8+IX+KIgs6xLM6jRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrEpCgkJZEXigoosIF8gPSBtZXRyb3BvbGlzX3Rlc3QhKAoJCQnOseKCiiwKCQkJzqNFX2xvYyzOo+KIgmxvZ8+IX+KIgs6xLM6jRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrEsCgkJCXgseSx6CgkJKQoKCQnOseKCiyA9IM6xIC0gaAoJCWluaXRjZmchKHgseSx6KQoJCXNldDJ6ZXJvISjOo0VfbG9jLM6j4oiCbG9nz4hf4oiCzrEszqNFX2xvY190aW1lc1/iiIJsb2fPiF/iiILOsSkKCQlkReKCiywgXyA9IG1ldHJvcG9saXNfdGVzdCEoCgkJCc6x4oKLLAoJCQnOo0VfbG9jLM6j4oiCbG9nz4hf4oiCzrEszqNFX2xvY190aW1lc1/iiIJsb2fPiF/iiILOsSwKCQkJeCx5LHoKCQkpCgogICAgICAgIGRkRSA9IChkReKCiiAtIGRF4oKLKSAvICgyaCkKCQkjIG5ld3RvbiDms5XjgacgzrEg44KS5pu05paw44GZ44KLCiAgICAgICAgzrFfbmV4dCA9IM6xIC0gZEUgLyBkZEUKICAgICAgICBAaW5mbyAizrEiIM6xX25leHQsIM6xCiAgICAgICAgaWYgYWJzKM6xX25leHQgLSDOsSkgPCAxZS02CiAgICAgICAgICAgIGJyZWFrCiAgICAgICAgZW5kCgkJzrEgPSDOsV9uZXh0CiAgICBlbmQKCiAgICBhbHBoYV92YSA9IM6xCgkjIOeQhuaDs+OBryAxLjAKICAgIEBwcmludGYoIuOCqOODjeODq+OCruODvOOBjOacgOWwj+OBq+OBquOCi+WkieWIhuODkeODqeODoeODvOOCv+OBryUuMTBmXG4iLCBhbHBoYV92YSkgCglpbml0Y2ZnISh4LHkseikKCXNldDJ6ZXJvISjOo0VfbG9jLM6j4oiCbG9nz4hf4oiCzrEszqNFX2xvY190aW1lc1/iiIJsb2fPiF/iiILOsSkKCV8sIEUgPSBtZXRyb3BvbGlzX3Rlc3QhKAoJCWFscGhhX3ZhLAoJCc6jRV9sb2MszqPiiIJsb2fPiF/iiILOsSzOo0VfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xLAoJCXgseSx6CgkpCgkjIOeQhuaDs+OBryAtMC41CglAcHJpbnRmKCLln7rlupXnirbmhYvjga7jgqjjg43jg6vjgq7jg7zjga8lLjEwZlxuIiwgRSkKZW5kqG1ldGFkYXRhg6lzaG93X2xvZ3PDqGRpc2FibGVkwq5za2lwX2FzX3NjcmlwdMKrY29kZV9mb2xkZWTCq25vdGVib29rX2lk2SQ5M2E2MzljMi1hOTc0LTExZWUtMWQyMy05OWZkNmNkNjY0MWSraW5fdGVtcF9kaXLCqG1ldGFkYXRhgA==";
window.pluto_preamble_html = undefined;
</script>
<meta name="pluto-insertion-spot-parameters">
<script src="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/editor.c69300f2.js" type="module" defer="" integrity="sha384-sLMlcWvt4TmaGbLLnhN9nz+JY2xsbCeklFggrWNJ4zBrwPosiufyTbUD6aYbHgE4" crossorigin="anonymous"></script><script src="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/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></head><body class="loading no-MαθJax"> <div style="display:flex;min-height:100vh;"> <pluto-editor class="fullscreen"></pluto-editor> </div> </body></html>
<!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.19.36/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.19.36/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.19.36/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.19.36/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.19.36/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.19.36/frontend-dist/editor.23f324ce.js" integrity="sha384-4l9NNFe3thsPdrGcAdnBEfNmojvUidAN6OBuPDii3JDkVIF5TMXkICWqHEsh8sXq" crossorigin="anonymous"></script><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/juliamono.c6034ab4.css" integrity="sha384-n0za6lUXlyf4XC+nGkZWj3TLDnRbNpAcoi4PZGSlQMPoyqGa9kGY+ZXkUgZGIhQt" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/editor.c98fb036.css" integrity="sha384-hq2r9iSY9J+3FSHCB6PZ5jTCnnhSL7DhUmwTXDjMmklxEsQ+2YHWCS7Cm0i5Y/rT" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/vollkorn.089565a8.css" integrity="sha384-jnV/84VtSgBLF70H+s2rxJcOUZIMDR+X/ElFZA83i9ZtZSWiIMFAgPyrWkOJV08q" 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.19.36/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.19.36/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.19.36/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.19.36/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.19.36/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.19.36/frontend-dist/editor.2dae1b31.css" type="text/css" integrity="sha384-Tcw0GaMme/KbluiF6zJjOMqdXU+GeDMSRoX0MhIH0cfyRAO7XQQWWwfsJY7Wx2yK" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/editor.82b535be.css" type="text/css" media="all" data-pluto-file="hide-ui" integrity="sha384-oYS1v2EOz2AtXoLXUVgvn3mEtQdJg1mfwZwLfJi++UQyF/qo43KuvjZ603iShU3X" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/editor.ec3a6a5b.css" type="text/css" integrity="sha384-SuGFZkuBuG+lmfz6RbnvjtcyIh8W1xDYi1sebwn7bl9VMQnhmr6EniSmIdcHJ55l" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/editor.1f4cf2ca.css" type="text/css" integrity="sha384-lBSBsn8FT1UzGOsNVudfV8RSHQEuNWqrCb6xQnF10uvF9AiCzYsCRXvKlhtQvV3c" crossorigin="anonymous"><link rel="preload" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/juliamono.c6034ab4.css" as="style" integrity="sha384-n0za6lUXlyf4XC+nGkZWj3TLDnRbNpAcoi4PZGSlQMPoyqGa9kGY+ZXkUgZGIhQt" crossorigin="anonymous"><link rel="preload" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/vollkorn.089565a8.css" as="style" integrity="sha384-jnV/84VtSgBLF70H+s2rxJcOUZIMDR+X/ElFZA83i9ZtZSWiIMFAgPyrWkOJV08q" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/editor.e82e08bd.css" type="text/css" integrity="sha384-7YN+h8b6N4N65qk8TG/J2KPF95D8z3sGNd06rokz4CX9oWu0KnRAF5cVWu3BkkaN" 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,IyMjIEEgUGx1dG8uamwgbm90ZWJvb2sgIyMjCiMgdjAuMTkuMzYKCnVzaW5nIE1hcmtkb3duCnVzaW5nIEludGVyYWN0aXZlVXRpbHMKCiMg4pWU4pWQ4pWhIDQ3YTAzNGZhLWE5NWUtMTFlZS0yMWU2LWIxMDBmNThkZmY1MgpiZWdpbgoJdXNpbmcgU3RhdGlzdGljcwoJdXNpbmcgUHJpbnRmCmVuZAoKIyDilZTilZDilaEgOTE4MTFiNmQtNzc0NC00ZmJjLWI5Y2ItMzgwMGExZjhiYzlhCnVzaW5nIFRlc3QKCiMg4pWU4pWQ4pWhIDdiYmY1MDI1LTAzNDYtNDEwNC1hNDdhLTYzZjQ5MmZjNDAyOAptZCIiIgoKW+WkieWIhuODouODs+ODhuOCq+ODq+ODrShWTUMp44KS44KE44Gj44Gm44G/44KLfuawtOe0oOWOn+WtkH5dKGh0dHBzOi8vbWl5YW50YXJ1bWkuaGF0ZW5hYmxvZy5jb20vZW50cnkvMjAyMi8wNC8wOC8wODAwMDApIOOBriBKdWxpYSDnp7vmpI3jgpLooYzjgaPjgZ8uIOODoeODiOODreODneODquOCueODhuOCueODiOOBrumDqOWIhuOCkumWouaVsOWMluOBl+abuOOBj+OBueOBjeOCs+ODvOODieOBrumHj+OCkuWkp+W5heOBq+a4m+OCieOBmeOBk+OBqOOBjOOBp+OBjeOBn++8jiBKdWxpYeOBr1VuaWNvZGXmloflrZfjgYzkvb/jgYjjgovjga7jgafjgqrjg6rjgrjjg4rjg6vjga7lrp/oo4XjgpLjgoLjgajjgavlpInmlbDlkI3jgpLpganlrpzlpInmm7TjgZfjgabjgYTjgovvvI4KCm1ldHJvcG9saXNfdGVzdCEg44Gu5byV5pWw44Gv44GE44Gj44Gx44GE44GC44KL44GM77yM44KC44Gj44GoSnVsaWHjgonjgZfjgY/mm7jjgY/jga7jgafjgYLjgozjgarjgrPjg6zjgonjgpLjgb7jgajjgoHjgovmp4vpgKDkvZPjgpLlrprnvqnjgZnjgovjgbnjgY3jgafjgYLjgovvvI4KIiIiCgojIOKVlOKVkOKVoSA2ZjM0OTkwNS01NmQwLTQwZmEtYjI5MC0wMzZjMjU4Y2FkY2IKIiIiCglDIHBvcnQgdG8gSnVsaWEgZm9yIGBzaG9raWthYAoiIiIKZnVuY3Rpb24gc2V0Mnplcm8hKGRhdGExOjpULCBkYXRhMjo6VCwgZGF0YTM6OlQpIHdoZXJlIHtUPDpBYnN0cmFjdFZlY3Rvcn0KICAgIGZvciBkIGluIChkYXRhMSwgZGF0YTIsIGRhdGEzKQogICAgICAgIGZpbGwhKGQsIHplcm8oZWx0eXBlKGQpKSkKICAgIGVuZAplbmQKCiMg4pWU4pWQ4pWhIDQwNGU0YmRhLWVlMmQtNGNhOS1hMzk1LTQyNDFhNDIxYTZlOApAdGVzdHNldCAic2V0Mnplcm8hIiBiZWdpbgoJZGF0YTEgPSByYW5kKDEwKQogICAgZGF0YTIgPSByYW5kKDEwKQogICAgZGF0YTMgPSByYW5kKDEwKQogICAgc2V0Mnplcm8hKGRhdGExLCBkYXRhMiwgZGF0YTMpCiAgICBAdGVzdCBkYXRhMSA9PSBkYXRhMiA9PSBkYXRhMyA9PSB6ZXJvcygxMCkKZW5kCgojIOKVlOKVkOKVoSA1OTA2ZmExOS1iMjViLTRjNDYtOWM1ZC1kYTBjNDkwZDBjZTYKZnVuY3Rpb24gaW5pdGNmZyEoZGF0YTE6OlQsIGRhdGEyOjpULCBkYXRhMzo6VCkgd2hlcmUge1Q8OkFic3RyYWN0VmVjdG9yfQogICAgZm9yIGQgaW4gKGRhdGExLCBkYXRhMiwgZGF0YTMpCiAgICAgICAgZCAuPSAocmFuZChsZW5ndGgoZCkpIC4tIDAuNSkgLiogMiAuKiAyCiAgICBlbmQKZW5kCgojIOKVlOKVkOKVoSBiOGYyYzBkZC1mZTE0LTRhOTgtOTI3Mi04NzI5MzQzMTdhNzcKQHRlc3RzZXQgImluaXRjZmchIiBiZWdpbgogICAgZGF0YTEgPSByYW5kKDEwKQogICAgZGF0YTIgPSByYW5kKDEwKQogICAgZGF0YTMgPSByYW5kKDEwKQogICAgaW5pdGNmZyEoZGF0YTEsIGRhdGEyLCBkYXRhMykKCUBzaG93IGRhdGExCiAgICBAdGVzdCBhbGwoLTIgLjw9IGRhdGExIC48IDIpCiAgICBAdGVzdCBhbGwoLTIgLjw9IGRhdGEyIC48IDIpCiAgICBAdGVzdCBhbGwoLTIgLjw9IGRhdGEzIC48IDIpCmVuZAoKIyDilZTilZDilaEgMDY4Y2I5N2UtODcwNC00NThlLThmZWYtMjhhZjZlZmE1OTZiCnJhZGl1cyh4LHkseikgPSDiiJooeF4yICsgeV4yICsgel4yKQoKIyDilZTilZDilaEgNjQyOTExYzYtNjk4Yy00MGJiLWJlYzYtYzg4ODMzYzZjYWE1CmZ1bmN0aW9uIG1ldHJvcG9saXNfdGVzdCEoCgnOsTo6RmxvYXQ2NCwgCgnOo0VfbG9jOjpULCDOo+KIgmxvZ8+IX+KIgs6xOjpULM6jRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrE6OlQsCgl44oOXOjpULCB54oOXOjpULCB64oOXOjpULCBy4oOXOjpUCikgd2hlcmUgVCA8OiBBYnN0cmFjdFZlY3RvcgoJbnNhbXBsZXMgPSAzMDAwMAoJc2lnbWEgPSAwLjQKCQoJZm9yIGkgaW4gMTpuc2FtcGxlcwkKCQlmb3IgaiBpbiBlYWNoaW5kZXgoeOKDlyx54oOXLHrig5cpCgkJCXgseSx6ID0geOKDl1tqXSx54oOXW2pdLHrig5dbal0KCQkJciA9IHJhZGl1cyh4LHkseikKCQkJI8+IwrIgPSBleHAoLTLOsSpyKQoJCQkjIHByb3Bvc2FsIHN0ZXAKCQkJeOKAsiA9IHggKyBzaWdtYSAqIHJhbmRuKCkKCQkJeeKAsiA9IHkgKyBzaWdtYSAqIHJhbmRuKCkKCQkJeuKAsiA9IHogKyBzaWdtYSAqIHJhbmRuKCkKCQkJcuKAsiA9IHJhZGl1cyh44oCyLHnigLIseuKAsikKCQkJI8+VwrIgPSBleHAoLTLOsSpy4oCyKQoJCQkjYiA9IHJhbmQoKSA8IM+VwrIvz4jCsiAKCQkJYiA9IHJhbmQoKSA8IGV4cCgtMs6xICogcuKAsiArIDLOsSAqIHIpIAoJCQl44oOXW2pdID0gaWZlbHNlKGIsIHjigLIsIHgpCgkJCXnig5dbal0gPSBpZmVsc2UoYiwgeeKAsiwgeSkKCQkJeuKDl1tqXSA9IGlmZWxzZShiLCB64oCyLCB6KQoJCQly4oOXW2pdID0gaWZlbHNlKGIsIHLigLIsIHIpCgkJZW5kCgkJaWYgaSDiiaUgNDAwMAoJCQlmb3IgaiBpbiBlYWNoaW5kZXgoeOKDlyx54oOXLHrig5cpCgkJCQl4LHkseiA9IHjig5dbal0seeKDl1tqXSx64oOXW2pdCgkJCQlyID0gcuKDl1tqXQoJCQkJcuKBu8K5ID0gaW52KHIpCgkJCQlFX2xvYyA9IC0gMSAqIHLigbvCuSAtIM6xICogKM6xIC0gMiAqIHLigbvCuSkgLyAyCgkJCQniiIJsb2fPiF/iiILOsSA9IC1yCgkJCQlFX2xvY190aW1lc1/iiIJsb2fPiF/iiILOsSA9IEVfbG9jICog4oiCbG9nz4hf4oiCzrEKCQkJCc6jRV9sb2Nbal0gKz0gRV9sb2MKCQkJCc6j4oiCbG9nz4hf4oiCzrFbal0gKz0g4oiCbG9nz4hf4oiCzrEKCQkJCc6jRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrFbal0gKz0gRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrEKCQkJZW5kCgkJZW5kCgllbmQKCSMg5ZCEIGog44Gr5a++44GX44Gm44Gu5bmz5Z2H6YeP44KS6KiI566X44GZ44KLLiDjg6Hjg6Ljg6rjgpLkvb/jgYTlm57jgZnjgZ/jgoHjgasgaW4tcGxhY2Ug6KiI566X44KS44GX44Gm44GE44KL77yOCgnOo0VfbG9jIC4vPSAobnNhbXBsZXMgLSA0MDAwKQoJzqPiiIJsb2fPiF/iiILOsSAuLz0gKG5zYW1wbGVzIC0gNDAwMCkKCc6jRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrEgLi89IChuc2FtcGxlcyAtIDQwMDApCgkjIGog44Gu6Lu444Gr5a++44GX44Gm5bmz5Z2H5YCk44KS6KiI566X44GZ44KLCglFX2xvYyA9IG1lYW4ozqNFX2xvYykKCeKIgmxvZ8+IX+KIgs6xID0gbWVhbijOo+KIgmxvZ8+IX+KIgs6xKQoJRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrEgPSBtZWFuKM6jRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrEpCgoJZEUgPSAyICogKEVfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xIC0gRV9sb2MgKiDiiIJsb2fPiF/iiILOsSkKCXJldHVybiBkRSwgRV9sb2MKZW5kCgojIOKVlOKVkOKVoSBhNThhZjY4OS01MjYzLTRkNTItYWVhYy05NmRmYzE4NjkzODYKZnVuY3Rpb24gbWFpbigpCiAgICBud2Fsa2VycyA9IDQwMAogICAgc2FtcGxlID0gMzAwMDAKCiAgICDOsV9pbml0ID0gMC44CiAgICB4ID0gVmVjdG9ye0Zsb2F0NjR9KHVuZGVmLCBud2Fsa2VycykKICAgIHkgPSBWZWN0b3J7RmxvYXQ2NH0odW5kZWYsIG53YWxrZXJzKQogICAgeiA9IFZlY3RvcntGbG9hdDY0fSh1bmRlZiwgbndhbGtlcnMpCglyID0gVmVjdG9ye0Zsb2F0NjR9KHVuZGVmLCBud2Fsa2VycykKCc6jRV9sb2MgPSB6ZXJvcyhud2Fsa2VycykKCc6j4oiCbG9nz4hf4oiCzrEgPSB6ZXJvcyhud2Fsa2VycykKCc6jRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrEgPSB6ZXJvcyhud2Fsa2VycykKICAgIGggPSAxZS0zCgoJzrEgPSDOsV9pbml0Cgl3aGlsZSB0cnVlCgkJaW5pdGNmZyEoeCx5LHopCgkJc2V0Mnplcm8hKM6jRV9sb2MszqPiiIJsb2fPiF/iiILOsSzOo0VfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xKQoJCWRFLCBfID0gbWV0cm9wb2xpc190ZXN0ISgKCQkJzrEsCgkJCc6jRV9sb2MszqPiiIJsb2fPiF/iiILOsSzOo0VfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xLAoJCQl4LHkseixyCgkJKQoKCQnOseKCiiA9IM6xICsgaAoJCWluaXRjZmchKHgseSx6KQoJCXNldDJ6ZXJvISjOo0VfbG9jLM6j4oiCbG9nz4hf4oiCzrEszqNFX2xvY190aW1lc1/iiIJsb2fPiF/iiILOsSkKCQlkReKCiiwgXyA9IG1ldHJvcG9saXNfdGVzdCEoCgkJCc6x4oKKLAoJCQnOo0VfbG9jLM6j4oiCbG9nz4hf4oiCzrEszqNFX2xvY190aW1lc1/iiIJsb2fPiF/iiILOsSwKCQkJeCx5LHoscgoJCSkKCgkJzrHigosgPSDOsSAtIGgKCQlpbml0Y2ZnISh4LHkseikKCQlzZXQyemVybyEozqNFX2xvYyzOo+KIgmxvZ8+IX+KIgs6xLM6jRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrEpCgkJZEXigossIF8gPSBtZXRyb3BvbGlzX3Rlc3QhKAoJCQnOseKCiywKCQkJzqNFX2xvYyzOo+KIgmxvZ8+IX+KIgs6xLM6jRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrEsCgkJCXgseSx6LHIKCQkpCgogICAgICAgIGRkRSA9IChkReKCiiAtIGRF4oKLKSAvICgyaCkKCQkjIG5ld3RvbiDms5XjgacgzrEg44KS5pu05paw44GZ44KLCiAgICAgICAgzrFfbmV4dCA9IM6xIC0gZEUgLyBkZEUKICAgICAgICBAaW5mbyAizrEiIM6xX25leHQsIM6xCiAgICAgICAgaWYgYWJzKM6xX25leHQgLSDOsSkgPCAxZS02CiAgICAgICAgICAgIGJyZWFrCiAgICAgICAgZW5kCgkJzrEgPSDOsV9uZXh0CiAgICBlbmQKCiAgICBhbHBoYV92YSA9IM6xCgkjIOeQhuaDs+OBryAxLjAKICAgIEBwcmludGYoIuOCqOODjeODq+OCruODvOOBjOacgOWwj+OBq+OBquOCi+WkieWIhuODkeODqeODoeODvOOCv+OBryUuMTBmXG4iLCBhbHBoYV92YSkgCglpbml0Y2ZnISh4LHkseikKCXNldDJ6ZXJvISjOo0VfbG9jLM6j4oiCbG9nz4hf4oiCzrEszqNFX2xvY190aW1lc1/iiIJsb2fPiF/iiILOsSkKCV8sIEUgPSBtZXRyb3BvbGlzX3Rlc3QhKAoJCWFscGhhX3ZhLAoJCc6jRV9sb2MszqPiiIJsb2fPiF/iiILOsSzOo0VfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xLAoJCXgseSx6LHIKCSkKCSMg55CG5oOz44GvIC0wLjUKCUBwcmludGYoIuWfuuW6leeKtuaFi+OBruOCqOODjeODq+OCruODvOOBryUuMTBmXG4iLCBFKQplbmQKCiMg4pWU4pWQ4pWhIDBjN2EwMTc1LThlYmQtNGU4OS05YmEwLTk3OTdhYThlNDU1NgpAdGltZSBtYWluKCkKCiMg4pWU4pWQ4pWhIDAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMQpQTFVUT19QUk9KRUNUX1RPTUxfQ09OVEVOVFMgPSAiIiIKW2RlcHNdClByaW50ZiA9ICJkZTA4NThkYS02MzAzLTVlNjctODc0NC01MWVkZGVlZWI4ZDciClN0YXRpc3RpY3MgPSAiMTA3NDViMTYtNzljZS0xMWU4LTExZjktN2QxM2FkMzJhM2IyIgpUZXN0ID0gIjhkZmVkNjE0LWUyMmMtNWUwOC04NWUxLTY1YzUyMzRmMGI0MCIKIiIiCgojIOKVlOKVkOKVoSAwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDIKUExVVE9fTUFOSUZFU1RfVE9NTF9DT05URU5UUyA9ICIiIgojIFRoaXMgZmlsZSBpcyBtYWNoaW5lLWdlbmVyYXRlZCAtIGVkaXRpbmcgaXQgZGlyZWN0bHkgaXMgbm90IGFkdmlzZWQKCmp1bGlhX3ZlcnNpb24gPSAiMS4xMC4wIgptYW5pZmVzdF9mb3JtYXQgPSAiMi4wIgpwcm9qZWN0X2hhc2ggPSAiMzVmYmFkZWE2NmM0OTdiODNjYmNkZGVjOTY1YzZlMTg3OTdhMDQ0YiIKCltbZGVwcy5BcnRpZmFjdHNdXQp1dWlkID0gIjU2ZjIyZDcyLWZkNmQtOThmMS0wMmYwLTA4ZGRjMDkwN2MzMyIKCltbZGVwcy5CYXNlNjRdXQp1dWlkID0gIjJhMGY0NGUzLTZjODMtNTViZC04N2U0LWIxOTc4ZDk4YmQ1ZiIKCltbZGVwcy5Db21waWxlclN1cHBvcnRMaWJyYXJpZXNfamxsXV0KZGVwcyA9IFsiQXJ0aWZhY3RzIiwgIkxpYmRsIl0KdXVpZCA9ICJlNjZlMDA3OC03MDE1LTU0NTAtOTJmNy0xNWZiZDk1N2YyYWUiCnZlcnNpb24gPSAiMS4wLjUrMSIKCltbZGVwcy5JbnRlcmFjdGl2ZVV0aWxzXV0KZGVwcyA9IFsiTWFya2Rvd24iXQp1dWlkID0gImI3N2UwYTRjLWQyOTEtNTdhMC05MGU4LThkYjI1YTI3YTI0MCIKCltbZGVwcy5MaWJkbF1dCnV1aWQgPSAiOGYzOTlkYTMtMzU1Ny01Njc1LWI1ZmYtZmI4MzJjOTdjYmRiIgoKW1tkZXBzLkxpbmVhckFsZ2VicmFdXQpkZXBzID0gWyJMaWJkbCIsICJPcGVuQkxBU19qbGwiLCAibGliYmxhc3RyYW1wb2xpbmVfamxsIl0KdXVpZCA9ICIzN2UyZTQ2ZC1mODlkLTUzOWQtYjRlZS04MzhmY2NjYzljOGUiCgpbW2RlcHMuTG9nZ2luZ11dCnV1aWQgPSAiNTZkZGIwMTYtODU3Yi01NGUxLWI4M2QtZGI0ZDU4ZGI1NTY4IgoKW1tkZXBzLk1hcmtkb3duXV0KZGVwcyA9IFsiQmFzZTY0Il0KdXVpZCA9ICJkNmY0Mzc2ZS1hZWY1LTUwNWEtOTZjMS05YzAyNzM5NDYwN2EiCgpbW2RlcHMuT3BlbkJMQVNfamxsXV0KZGVwcyA9IFsiQXJ0aWZhY3RzIiwgIkNvbXBpbGVyU3VwcG9ydExpYnJhcmllc19qbGwiLCAiTGliZGwiXQp1dWlkID0gIjQ1MzY2MjlhLWM1MjgtNWI4MC1iZDQ2LWY4MGQ1MWM1YjM2MyIKdmVyc2lvbiA9ICIwLjMuMjMrMiIKCltbZGVwcy5QcmludGZdXQpkZXBzID0gWyJVbmljb2RlIl0KdXVpZCA9ICJkZTA4NThkYS02MzAzLTVlNjctODc0NC01MWVkZGVlZWI4ZDciCgpbW2RlcHMuUmFuZG9tXV0KZGVwcyA9IFsiU0hBIl0KdXVpZCA9ICI5YTNmODI4NC1hMmM5LTVmMDItOWExMS04NDU5ODBhMWZkNWMiCgpbW2RlcHMuU0hBXV0KdXVpZCA9ICJlYThlOTE5Yy0yNDNjLTUxYWYtODgyNS1hYWE2M2NkNzIxY2UiCnZlcnNpb24gPSAiMC43LjAiCgpbW2RlcHMuU2VyaWFsaXphdGlvbl1dCnV1aWQgPSAiOWU4OGI0MmEtZjgyOS01YjBjLWJiZTktOWU5MjMxOTgxNjZiIgoKW1tkZXBzLlNwYXJzZUFycmF5c11dCmRlcHMgPSBbIkxpYmRsIiwgIkxpbmVhckFsZ2VicmEiLCAiUmFuZG9tIiwgIlNlcmlhbGl6YXRpb24iLCAiU3VpdGVTcGFyc2VfamxsIl0KdXVpZCA9ICIyZjAxMTg0ZS1lMjJiLTVkZjUtYWU2My1kOTNlYmFiNjllYWYiCnZlcnNpb24gPSAiMS4xMC4wIgoKW1tkZXBzLlN0YXRpc3RpY3NdXQpkZXBzID0gWyJMaW5lYXJBbGdlYnJhIiwgIlNwYXJzZUFycmF5cyJdCnV1aWQgPSAiMTA3NDViMTYtNzljZS0xMWU4LTExZjktN2QxM2FkMzJhM2IyIgp2ZXJzaW9uID0gIjEuMTAuMCIKCltbZGVwcy5TdWl0ZVNwYXJzZV9qbGxdXQpkZXBzID0gWyJBcnRpZmFjdHMiLCAiTGliZGwiLCAibGliYmxhc3RyYW1wb2xpbmVfamxsIl0KdXVpZCA9ICJiZWE4N2Q0YS03ZjViLTU3NzgtOWFmZS04Y2M0NTE4NDg0NmMiCnZlcnNpb24gPSAiNy4yLjErMSIKCltbZGVwcy5UZXN0XV0KZGVwcyA9IFsiSW50ZXJhY3RpdmVVdGlscyIsICJMb2dnaW5nIiwgIlJhbmRvbSIsICJTZXJpYWxpemF0aW9uIl0KdXVpZCA9ICI4ZGZlZDYxNC1lMjJjLTVlMDgtODVlMS02NWM1MjM0ZjBiNDAiCgpbW2RlcHMuVW5pY29kZV1dCnV1aWQgPSAiNGVjMGE4M2UtNDkzZS01MGUyLWI5YWMtOGY3MmFjZjVhOGY1IgoKW1tkZXBzLmxpYmJsYXN0cmFtcG9saW5lX2psbF1dCmRlcHMgPSBbIkFydGlmYWN0cyIsICJMaWJkbCJdCnV1aWQgPSAiOGU4NTBiOTAtODZkYi01MzRjLWEwZDMtMTQ3ODE3NmM3ZDkzIgp2ZXJzaW9uID0gIjUuOC4wKzEiCiIiIgoKIyDilZTilZDilaEgQ2VsbCBvcmRlcjoKIyDilZ/ilIA3YmJmNTAyNS0wMzQ2LTQxMDQtYTQ3YS02M2Y0OTJmYzQwMjgKIyDilaDilZA0N2EwMzRmYS1hOTVlLTExZWUtMjFlNi1iMTAwZjU4ZGZmNTIKIyDilaDilZA5MTgxMWI2ZC03NzQ0LTRmYmMtYjljYi0zODAwYTFmOGJjOWEKIyDilaDilZA2ZjM0OTkwNS01NmQwLTQwZmEtYjI5MC0wMzZjMjU4Y2FkY2IKIyDilaDilZA0MDRlNGJkYS1lZTJkLTRjYTktYTM5NS00MjQxYTQyMWE2ZTgKIyDilaDilZA1OTA2ZmExOS1iMjViLTRjNDYtOWM1ZC1kYTBjNDkwZDBjZTYKIyDilaDilZBiOGYyYzBkZC1mZTE0LTRhOTgtOTI3Mi04NzI5MzQzMTdhNzcKIyDilaDilZAwNjhjYjk3ZS04NzA0LTQ1OGUtOGZlZi0yOGFmNmVmYTU5NmIKIyDilaDilZA2NDI5MTFjNi02OThjLTQwYmItYmVjNi1jODg4MzNjNmNhYTUKIyDilaDilZBhNThhZjY4OS01MjYzLTRkNTItYWVhYy05NmRmYzE4NjkzODYKIyDilaDilZAwYzdhMDE3NS04ZWJkLTRlODktOWJhMC05Nzk3YWE4ZTQ1NTYKIyDilZ/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.19.36";
window.pluto_statefile = "data:;base64,3gARpWJvbmRzgKxjZWxsX3Jlc3VsdHOL2SQ1OTA2ZmExOS1iMjViLTRjNDYtOWM1ZC1kYTBjNDkwZDBjZTaKpnF1ZXVlZMKkbG9nc5CncnVubmluZ8Kmb3V0cHV0hqRib2R52Slpbml0Y2ZnISAoZ2VuZXJpYyBmdW5jdGlvbiB3aXRoIDEgbWV0aG9kKaRtaW1lqnRleHQvcGxhaW6scm9vdGFzc2lnbmVlwLJsYXN0X3J1bl90aW1lc3RhbXDLQdllBz33HOuwcGVyc2lzdF9qc19zdGF0ZcK3aGFzX3BsdXRvX2hvb2tfZmVhdHVyZXPCp2NlbGxfaWTZJDU5MDZmYTE5LWIyNWItNGM0Ni05YzVkLWRhMGM0OTBkMGNlNrlkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzgAJ8h21cHVibGlzaGVkX29iamVjdF9rZXlzkLhkZXBlbmRzX29uX3NraXBwZWRfY2VsbHPCp2Vycm9yZWTC2SQ3YmJmNTAyNS0wMzQ2LTQxMDQtYTQ3YS02M2Y0OTJmYzQwMjiKpnF1ZXVlZMKkbG9nc5CncnVubmluZ8Kmb3V0cHV0hqRib2R52gJrPGRpdiBjbGFzcz0ibWFya2Rvd24iPjxwPjxhIGhyZWY9Imh0dHBzOi8vbWl5YW50YXJ1bWkuaGF0ZW5hYmxvZy5jb20vZW50cnkvMjAyMi8wNC8wOC8wODAwMDAiPuWkieWIhuODouODs+ODhuOCq+ODq+ODrSYjNDA7Vk1DJiM0MTvjgpLjgoTjgaPjgabjgb/jgot+5rC057Sg5Y6f5a2QfjwvYT4g44GuIEp1bGlhIOenu+akjeOCkuihjOOBo+OBny4g44Oh44OI44Ot44Od44Oq44K544OG44K544OI44Gu6YOo5YiG44KS6Zai5pWw5YyW44GX5pu444GP44G544GN44Kz44O844OJ44Gu6YeP44KS5aSn5bmF44Gr5rib44KJ44GZ44GT44Go44GM44Gn44GN44Gf77yOIEp1bGlh44GvVW5pY29kZeaWh+Wtl+OBjOS9v+OBiOOCi+OBruOBp+OCquODquOCuOODiuODq+OBruWun+ijheOCkuOCguOBqOOBq+WkieaVsOWQjeOCkumBqeWunOWkieabtOOBl+OBpuOBhOOCi++8jjwvcD4KPHA+bWV0cm9wb2xpc190ZXN0JiMzMzsg44Gu5byV5pWw44Gv44GE44Gj44Gx44GE44GC44KL44GM77yM44KC44Gj44GoSnVsaWHjgonjgZfjgY/mm7jjgY/jga7jgafjgYLjgozjgarjgrPjg6zjgonjgpLjgb7jgajjgoHjgovmp4vpgKDkvZPjgpLlrprnvqnjgZnjgovjgbnjgY3jgafjgYLjgovvvI48L3A+CjwvZGl2PqRtaW1lqXRleHQvaHRtbKxyb290YXNzaWduZWXAsmxhc3RfcnVuX3RpbWVzdGFtcMtB2WUHPZyhwrBwZXJzaXN0X2pzX3N0YXRlwrdoYXNfcGx1dG9faG9va19mZWF0dXJlc8KnY2VsbF9pZNkkN2JiZjUwMjUtMDM0Ni00MTA0LWE0N2EtNjNmNDkyZmM0MDI4uWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXOAeRVQ7VwdWJsaXNoZWRfb2JqZWN0X2tleXOQuGRlcGVuZHNfb25fc2tpcHBlZF9jZWxsc8KnZXJyb3JlZMLZJDBjN2EwMTc1LThlYmQtNGU4OS05YmEwLTk3OTdhYThlNDU1NoqmcXVldWVkwqRsb2dzlYikbGluZf+jbXNnkqLOsap0ZXh0L3BsYWlup2NlbGxfaWTZJDBjN2EwMTc1LThlYmQtNGU4OS05YmEwLTk3OTdhYThlNDU1NqZrd2FyZ3ORkq0ozrFfbmV4dCwgzrEpkoOoZWxlbWVudHOSkgGSqDAuOTcyMjE4qnRleHQvcGxhaW6SApKjMC44qnRleHQvcGxhaW6kdHlwZaVUdXBsZahvYmplY3RpZLAxYTkyMDQ3MzFmOTJkMDlk2SFhcHBsaWNhdGlvbi92bmQucGx1dG8udHJlZStvYmplY3SiaWS5TWFpbl93b3Jrc3BhY2UjMl8xM2FiODQyZKRmaWxl2WEvVXNlcnMvdGVyYXNha2kvd29yay9NeVZNQy5qbC9wbGF5Z3JvdW5kL3BsdXRvL212Y19uZXcuamwjPT0jYTU4YWY2ODktNTI2My00ZDUyLWFlYWMtOTZkZmMxODY5Mzg2pWdyb3Vwp212Y19uZXelbGV2ZWykSW5mb4ikbGluZf+jbXNnkqLOsap0ZXh0L3BsYWlup2NlbGxfaWTZJDBjN2EwMTc1LThlYmQtNGU4OS05YmEwLTk3OTdhYThlNDU1NqZrd2FyZ3ORkq0ozrFfbmV4dCwgzrEpkoOoZWxlbWVudHOSkgGSpzEuMDAxOTWqdGV4dC9wbGFpbpICkqgwLjk3MjIxOKp0ZXh0L3BsYWlupHR5cGWlVHVwbGWob2JqZWN0aWSwYTY0NTlmYjc1YzlmM2Q1NtkhYXBwbGljYXRpb24vdm5kLnBsdXRvLnRyZWUrb2JqZWN0omlkuU1haW5fd29ya3NwYWNlIzJfMTNhYjg0MmSkZmlsZdlhL1VzZXJzL3RlcmFzYWtpL3dvcmsvTXlWTUMuamwvcGxheWdyb3VuZC9wbHV0by9tdmNfbmV3LmpsIz09I2E1OGFmNjg5LTUyNjMtNGQ1Mi1hZWFjLTk2ZGZjMTg2OTM4NqVncm91cKdtdmNfbmV3pWxldmVspEluZm+IpGxpbmX/o21zZ5KizrGqdGV4dC9wbGFpbqdjZWxsX2lk2SQwYzdhMDE3NS04ZWJkLTRlODktOWJhMC05Nzk3YWE4ZTQ1NTama3dhcmdzkZKtKM6xX25leHQsIM6xKZKDqGVsZW1lbnRzkpIBkqcxLjAwMDA2qnRleHQvcGxhaW6SApKnMS4wMDE5Nap0ZXh0L3BsYWlupHR5cGWlVHVwbGWob2JqZWN0aWSwNDRlYjViODRmYzUxMTgzMdkhYXBwbGljYXRpb24vdm5kLnBsdXRvLnRyZWUrb2JqZWN0omlkuU1haW5fd29ya3NwYWNlIzJfMTNhYjg0MmSkZmlsZdlhL1VzZXJzL3RlcmFzYWtpL3dvcmsvTXlWTUMuamwvcGxheWdyb3VuZC9wbHV0by9tdmNfbmV3LmpsIz09I2E1OGFmNjg5LTUyNjMtNGQ1Mi1hZWFjLTk2ZGZjMTg2OTM4NqVncm91cKdtdmNfbmV3pWxldmVspEluZm+IpGxpbmX/o21zZ5KizrGqdGV4dC9wbGFpbqdjZWxsX2lk2SQwYzdhMDE3NS04ZWJkLTRlODktOWJhMC05Nzk3YWE4ZTQ1NTama3dhcmdzkZKtKM6xX25leHQsIM6xKZKDqGVsZW1lbnRzkpIBkqcxLjAwMDA2qnRleHQvcGxhaW6SApKnMS4wMDAwNqp0ZXh0L3BsYWlupHR5cGWlVHVwbGWob2JqZWN0aWSwZGM5OWI5MzBjZGM0YWYxMdkhYXBwbGljYXRpb24vdm5kLnBsdXRvLnRyZWUrb2JqZWN0omlkuU1haW5fd29ya3NwYWNlIzJfMTNhYjg0MmSkZmlsZdlhL1VzZXJzL3RlcmFzYWtpL3dvcmsvTXlWTUMuamwvcGxheWdyb3VuZC9wbHV0by9tdmNfbmV3LmpsIz09I2E1OGFmNjg5LTUyNjMtNGQ1Mi1hZWFjLTk2ZGZjMTg2OTM4NqVncm91cKdtdmNfbmV3pWxldmVspEluZm+IpGxpbmX/o21zZ5LZquOCqOODjeODq+OCruODvOOBjOacgOWwj+OBq+OBquOCi+WkieWIhuODkeODqeODoeODvOOCv+OBrzEuMDAwMDU3OTMzMwrln7rlupXnirbmhYvjga7jgqjjg43jg6vjgq7jg7zjga8tMC41MDAwMTkzMDEyCiAgMy40OTIzMzcgc2Vjb25kcyAoMi4xNCBrIGFsbG9jYXRpb25zOiA0NzAuODEyIEtpQikKqnRleHQvcGxhaW6nY2VsbF9pZNkkMGM3YTAxNzUtOGViZC00ZTg5LTliYTAtOTc5N2FhOGU0NTU2pmt3YXJnc5CiaWS0UGx1dG9SdW5uZXJfZDFhY2I4MWWkZmlsZdlVL1VzZXJzL3RlcmFzYWtpLy5qdWxpYS9wYWNrYWdlcy9QbHV0by9La1ZMSS9zcmMvcnVubmVyL1BsdXRvUnVubmVyL3NyYy9QbHV0b1J1bm5lci5qbKVncm91cKtQbHV0b1J1bm5lcqVsZXZlbK5Mb2dMZXZlbCgtNTU1KadydW5uaW5nwqZvdXRwdXSGpGJvZHmgpG1pbWWqdGV4dC9wbGFpbqxyb290YXNzaWduZWXAsmxhc3RfcnVuX3RpbWVzdGFtcMtB2WUHTZYUJ7BwZXJzaXN0X2pzX3N0YXRlwrdoYXNfcGx1dG9faG9va19mZWF0dXJlc8KnY2VsbF9pZNkkMGM3YTAxNzUtOGViZC00ZTg5LTliYTAtOTc5N2FhOGU0NTU2uWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXO0C6uqrVwdWJsaXNoZWRfb2JqZWN0X2tleXOQuGRlcGVuZHNfb25fc2tpcHBlZF9jZWxsc8KnZXJyb3JlZMLZJDQwNGU0YmRhLWVlMmQtNGNhOS1hMzk1LTQyNDFhNDIxYTZlOIqmcXVldWVkwqRsb2dzkYikbGluZf+jbXNnktlEVGVzdCBTdW1tYXJ5OiB8IFBhc3MgIFRvdGFsICBUaW1lCnNldDJ6ZXJvISAgICAgfCAgICAxICAgICAgMSAgMC4wcwqqdGV4dC9wbGFpbqdjZWxsX2lk2SQ0MDRlNGJkYS1lZTJkLTRjYTktYTM5NS00MjQxYTQyMWE2ZTima3dhcmdzkKJpZLRQbHV0b1J1bm5lcl9kMWFjYjgxZaRmaWxl2VUvVXNlcnMvdGVyYXNha2kvLmp1bGlhL3BhY2thZ2VzL1BsdXRvL0trVkxJL3NyYy9ydW5uZXIvUGx1dG9SdW5uZXIvc3JjL1BsdXRvUnVubmVyLmpspWdyb3Vwq1BsdXRvUnVubmVypWxldmVsrkxvZ0xldmVsKC01NTUpp3J1bm5pbmfCpm91dHB1dIakYm9keYWmcHJlZml4s1Rlc3QuRGVmYXVsdFRlc3RTZXSoZWxlbWVudHOakqtkZXNjcmlwdGlvbpKrInNldDJ6ZXJvISKqdGV4dC9wbGFpbpKncmVzdWx0c5KFpnByZWZpeKNBbnmoZWxlbWVudHOQpHR5cGWlQXJyYXmscHJlZml4X3Nob3J0oKhvYmplY3RpZLA0MGExZWQ2OWExMzZhNDU22SFhcHBsaWNhdGlvbi92bmQucGx1dG8udHJlZStvYmplY3SSqG5fcGFzc2VkkqExqnRleHQvcGxhaW6SqmFueW5vbnBhc3OSpWZhbHNlqnRleHQvcGxhaW6Sp3ZlcmJvc2WSpWZhbHNlqnRleHQvcGxhaW6SqnNob3d0aW1pbmeSpHRydWWqdGV4dC9wbGFpbpKqdGltZV9zdGFydJKzMS43MDQyMDU1NTkwNTY3MzRlOap0ZXh0L3BsYWlukqh0aW1lX2VuZJKxMS43MDQyMDU1NTkwNzA3ZTmqdGV4dC9wbGFpbpKoZmFpbGZhc3SSpWZhbHNlqnRleHQvcGxhaW6SpGZpbGWS2VwiL1VzZXJzL3RlcmFzYWtpL3dvcmsvTXlWTUMuamwvcGxheWciIOKLryAyNyBieXRlcyDii68gIjA0ZTRiZGEtZWUyZC00Y2E5LWEzOTUtNDI0MWE0MjFhNmU4Iqp0ZXh0L3BsYWlupHR5cGWmc3RydWN0rHByZWZpeF9zaG9ydK5EZWZhdWx0VGVzdFNldKhvYmplY3RpZLAyNzFkNGQ5ZGYyMWYyZGQzpG1pbWXZIWFwcGxpY2F0aW9uL3ZuZC5wbHV0by50cmVlK29iamVjdKxyb290YXNzaWduZWXAsmxhc3RfcnVuX3RpbWVzdGFtcMtB2WUHPeqTfbBwZXJzaXN0X2pzX3N0YXRlwrdoYXNfcGx1dG9faG9va19mZWF0dXJlc8KnY2VsbF9pZNkkNDA0ZTRiZGEtZWUyZC00Y2E5LWEzOTUtNDI0MWE0MjFhNmU4uWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXOAnwqYbVwdWJsaXNoZWRfb2JqZWN0X2tleXOQuGRlcGVuZHNfb25fc2tpcHBlZF9jZWxsc8KnZXJyb3JlZMLZJDZmMzQ5OTA1LTU2ZDAtNDBmYS1iMjkwLTAzNmMyNThjYWRjYoqmcXVldWVkwqRsb2dzkKdydW5uaW5nwqZvdXRwdXSGpGJvZHnZnDxkaXYgY2xhc3M9InBsdXRvLWRvY3MtYmluZGluZyI+CjxzcGFuPnNldDJ6ZXJvITwvc3Bhbj4KPGRpdiBjbGFzcz0ibWFya2Rvd24iPjxwcmU+PGNvZGU+QyBwb3J0IHRvIEp1bGlhIGZvciAmIzk2O3Nob2tpa2EmIzk2OzwvY29kZT48L3ByZT4KCgo8L2Rpdj4KPC9kaXY+CqRtaW1lqXRleHQvaHRtbKxyb290YXNzaWduZWXAsmxhc3RfcnVuX3RpbWVzdGFtcMtB2WUHPasfirBwZXJzaXN0X2pzX3N0YXRlwrdoYXNfcGx1dG9faG9va19mZWF0dXJlc8KnY2VsbF9pZNkkNmYzNDk5MDUtNTZkMC00MGZhLWIyOTAtMDM2YzI1OGNhZGNiuWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXOADAKEbVwdWJsaXNoZWRfb2JqZWN0X2tleXOQuGRlcGVuZHNfb25fc2tpcHBlZF9jZWxsc8KnZXJyb3JlZMLZJDQ3YTAzNGZhLWE5NWUtMTFlZS0yMWU2LWIxMDBmNThkZmY1MoqmcXVldWVkwqRsb2dzkKdydW5uaW5nwqZvdXRwdXSGpGJvZHmgpG1pbWWqdGV4dC9wbGFpbqxyb290YXNzaWduZWXAsmxhc3RfcnVuX3RpbWVzdGFtcMtB2WUHPUBnZrBwZXJzaXN0X2pzX3N0YXRlwrdoYXNfcGx1dG9faG9va19mZWF0dXJlc8KnY2VsbF9pZNkkNDdhMDM0ZmEtYTk1ZS0xMWVlLTIxZTYtYjEwMGY1OGRmZjUyuWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXOCLvAbLVwdWJsaXNoZWRfb2JqZWN0X2tleXOQuGRlcGVuZHNfb25fc2tpcHBlZF9jZWxsc8KnZXJyb3JlZMLZJDkxODExYjZkLTc3NDQtNGZiYy1iOWNiLTM4MDBhMWY4YmM5YYqmcXVldWVkwqRsb2dzkKdydW5uaW5nwqZvdXRwdXSGpGJvZHmgpG1pbWWqdGV4dC9wbGFpbqxyb290YXNzaWduZWXAsmxhc3RfcnVuX3RpbWVzdGFtcMtB2WUHPWsjvLBwZXJzaXN0X2pzX3N0YXRlwrdoYXNfcGx1dG9faG9va19mZWF0dXJlc8KnY2VsbF9pZNkkOTE4MTFiNmQtNzc0NC00ZmJjLWI5Y2ItMzgwMGExZjhiYzlhuWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXOAYEYKbVwdWJsaXNoZWRfb2JqZWN0X2tleXOQuGRlcGVuZHNfb25fc2tpcHBlZF9jZWxsc8KnZXJyb3JlZMLZJDY0MjkxMWM2LTY5OGMtNDBiYi1iZWM2LWM4ODgzM2M2Y2FhNYqmcXVldWVkwqRsb2dzkKdydW5uaW5nwqZvdXRwdXSGpGJvZHnZMW1ldHJvcG9saXNfdGVzdCEgKGdlbmVyaWMgZnVuY3Rpb24gd2l0aCAxIG1ldGhvZCmkbWltZap0ZXh0L3BsYWlurHJvb3Rhc3NpZ25lZcCybGFzdF9ydW5fdGltZXN0YW1wy0HZZQdKFINJsHBlcnNpc3RfanNfc3RhdGXCt2hhc19wbHV0b19ob29rX2ZlYXR1cmVzwqdjZWxsX2lk2SQ2NDI5MTFjNi02OThjLTQwYmItYmVjNi1jODg4MzNjNmNhYTW5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc4AKjyGtXB1Ymxpc2hlZF9vYmplY3Rfa2V5c5C4ZGVwZW5kc19vbl9za2lwcGVkX2NlbGxzwqdlcnJvcmVkwtkkYjhmMmMwZGQtZmUxNC00YTk4LTkyNzItODcyOTM0MzE3YTc3iqZxdWV1ZWTCpGxvZ3ORiKRsaW5l/6Ntc2eS2gEeZGF0YTEgPSBbLTAuNDk1NzEwMTU2NzM3MjI4NCwgLTAuMjczNjcyNTQyNjM1ODMyMiwgMS42NTA4ODI3NjE5MjY2OTYxLCAwLjgyNzY4MDYzODE2MzI2MDksIDEuMDI5NDcyNzQ5MzM3NjQyMywgLTAuODE5NDIwMjk5Mjg4NTM1MywgLTEuNzEwNjI4MzE4NzM2MDk3OCwgLTAuOTE0ODQyMjc3NDg5NTI5NywgLTAuMDA1ODUxMDczNDIzNDU4Njk3LCAtMC45Nzc2OTY3NTI4Mjc1MTE4XQpUZXN0IFN1bW1hcnk6IHwgUGFzcyAgVG90YWwgIFRpbWUKaW5pdGNmZyEgICAgICB8ICAgIDMgICAgICAzICAwLjFzCqp0ZXh0L3BsYWlup2NlbGxfaWTZJGI4ZjJjMGRkLWZlMTQtNGE5OC05MjcyLTg3MjkzNDMxN2E3N6Zrd2FyZ3OQomlktFBsdXRvUnVubmVyX2QxYWNiODFlpGZpbGXZVS9Vc2Vycy90ZXJhc2FraS8uanVsaWEvcGFja2FnZXMvUGx1dG8vS2tWTEkvc3JjL3J1bm5lci9QbHV0b1J1bm5lci9zcmMvUGx1dG9SdW5uZXIuamylZ3JvdXCrUGx1dG9SdW5uZXKlbGV2ZWyuTG9nTGV2ZWwoLTU1NSmncnVubmluZ8Kmb3V0cHV0hqRib2R5haZwcmVmaXizVGVzdC5EZWZhdWx0VGVzdFNldKhlbGVtZW50c5qSq2Rlc2NyaXB0aW9ukqoiaW5pdGNmZyEiqnRleHQvcGxhaW6Sp3Jlc3VsdHOShaZwcmVmaXijQW55qGVsZW1lbnRzkKR0eXBlpUFycmF5rHByZWZpeF9zaG9ydKCob2JqZWN0aWSwOWNhY2Q4NjZkODZiY2E0M9khYXBwbGljYXRpb24vdm5kLnBsdXRvLnRyZWUrb2JqZWN0kqhuX3Bhc3NlZJKhM6p0ZXh0L3BsYWlukqphbnlub25wYXNzkqVmYWxzZap0ZXh0L3BsYWlukqd2ZXJib3NlkqVmYWxzZap0ZXh0L3BsYWlukqpzaG93dGltaW5nkqR0cnVlqnRleHQvcGxhaW6SqnRpbWVfc3RhcnSSszEuNzA0MjA1NTYwMjEzMDQ2ZTmqdGV4dC9wbGFpbpKodGltZV9lbmSSszEuNzA0MjA1NTYwMjc3NTAxZTmqdGV4dC9wbGFpbpKoZmFpbGZhc3SSpWZhbHNlqnRleHQvcGxhaW6SpGZpbGWS2VwiL1VzZXJzL3RlcmFzYWtpL3dvcmsvTXlWTUMuamwvcGxheWciIOKLryAyNyBieXRlcyDii68gIjhmMmMwZGQtZmUxNC00YTk4LTkyNzItODcyOTM0MzE3YTc3Iqp0ZXh0L3BsYWlupHR5cGWmc3RydWN0rHByZWZpeF9zaG9ydK5EZWZhdWx0VGVzdFNldKhvYmplY3RpZLAyZmI1MzFiYWYxNTJmM2E2pG1pbWXZIWFwcGxpY2F0aW9uL3ZuZC5wbHV0by50cmVlK29iamVjdKxyb290YXNzaWduZWXAsmxhc3RfcnVuX3RpbWVzdGFtcMtB2WUHPhHysrBwZXJzaXN0X2pzX3N0YXRlwrdoYXNfcGx1dG9faG9va19mZWF0dXJlc8KnY2VsbF9pZNkkYjhmMmMwZGQtZmUxNC00YTk4LTkyNzItODcyOTM0MzE3YTc3uWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXOBqlOObVwdWJsaXNoZWRfb2JqZWN0X2tleXOQuGRlcGVuZHNfb25fc2tpcHBlZF9jZWxsc8KnZXJyb3JlZMLZJDA2OGNiOTdlLTg3MDQtNDU4ZS04ZmVmLTI4YWY2ZWZhNTk2YoqmcXVldWVkwqRsb2dzkKdydW5uaW5nwqZvdXRwdXSGpGJvZHnZJ3JhZGl1cyAoZ2VuZXJpYyBmdW5jdGlvbiB3aXRoIDEgbWV0aG9kKaRtaW1lqnRleHQvcGxhaW6scm9vdGFzc2lnbmVlwLJsYXN0X3J1bl90aW1lc3RhbXDLQdllBz4bOjawcGVyc2lzdF9qc19zdGF0ZcK3aGFzX3BsdXRvX2hvb2tfZmVhdHVyZXPCp2NlbGxfaWTZJDA2OGNiOTdlLTg3MDQtNDU4ZS04ZmVmLTI4YWY2ZWZhNTk2YrlkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzgAF6mS1cHVibGlzaGVkX29iamVjdF9rZXlzkLhkZXBlbmRzX29uX3NraXBwZWRfY2VsbHPCp2Vycm9yZWTC2SRhNThhZjY4OS01MjYzLTRkNTItYWVhYy05NmRmYzE4NjkzODaKpnF1ZXVlZMKkbG9nc5CncnVubmluZ8Kmb3V0cHV0hqRib2R52SVtYWluIChnZW5lcmljIGZ1bmN0aW9uIHdpdGggMSBtZXRob2QppG1pbWWqdGV4dC9wbGFpbqxyb290YXNzaWduZWXAsmxhc3RfcnVuX3RpbWVzdGFtcMtB2WUHSh20PrBwZXJzaXN0X2pzX3N0YXRlw7doYXNfcGx1dG9faG9va19mZWF0dXJlc8KnY2VsbF9pZNkkYTU4YWY2ODktNTI2My00ZDUyLWFlYWMtOTZkZmMxODY5Mzg2uWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXOACet/bVwdWJsaXNoZWRfb2JqZWN0X2tleXOQuGRlcGVuZHNfb25fc2tpcHBlZF9jZWxsc8KnZXJyb3JlZMKrc3RhdHVzX3RyZWWEpG5hbWWobm90ZWJvb2uoc3VidGFza3OEpnNhdmluZ4SkbmFtZaZzYXZpbmeoc3VidGFza3OAq2ZpbmlzaGVkX2F0y0HZZQdMtYoFqnN0YXJ0ZWRfYXTLQdllB0y1gJ2pd29ya3NwYWNlhKRuYW1lqXdvcmtzcGFjZahzdWJ0YXNrc4KsaW5pdF9wcm9jZXNzhKRuYW1lrGluaXRfcHJvY2Vzc6hzdWJ0YXNrc4ShNISkbmFtZaE0qHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2WUHPNhJw6pzdGFydGVkX2F0y0HZZQc8ekkXoTGEpG5hbWWhMahzdWJ0YXNrc4CrZmluaXNoZWRfYXTLQdllBzxyjjuqc3RhcnRlZF9hdMtB2WUHPDN82aEyhKRuYW1loTKoc3VidGFza3OAq2ZpbmlzaGVkX2F0y0HZZQc8dnO9qnN0YXJ0ZWRfYXTLQdllBzxynL+hM4SkbmFtZaEzqHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2WUHPHo656pzdGFydGVkX2F0y0HZZQc8doKAq2ZpbmlzaGVkX2F0y0HZZQc82FdYqnN0YXJ0ZWRfYXTLQdllBzwzfLOuY3JlYXRlX3Byb2Nlc3OEpG5hbWWuY3JlYXRlX3Byb2Nlc3Ooc3VidGFza3OAq2ZpbmlzaGVkX2F0y0HZZQc8M2q+qnN0YXJ0ZWRfYXTLQdllBztD+6mrZmluaXNoZWRfYXTLQdllBzzYV2Cqc3RhcnRlZF9hdMtB2WUHO0P7eqNwa2eEpG5hbWWjcGtnqHN1YnRhc2tzgahhbmFseXNpc4SkbmFtZahhbmFseXNpc6hzdWJ0YXNrc4CrZmluaXNoZWRfYXTLQdllB0y1K/Wqc3RhcnRlZF9hdMtB2WUHTLUn9qtmaW5pc2hlZF9hdMtB2WUHTLUr+qpzdGFydGVkX2F0y0HZZQdMtSfho3J1boSkbmFtZaNydW6oc3VidGFza3OCsHJlc29sdmVfdG9wb2xvZ3mEpG5hbWWwcmVzb2x2ZV90b3BvbG9neahzdWJ0YXNrc4CrZmluaXNoZWRfYXTLQdllB0y1ig2qc3RhcnRlZF9hdMtB2WUHTLVI2KhldmFsdWF0ZYSkbmFtZahldmFsdWF0ZahzdWJ0YXNrc4GhMYSkbmFtZaExqHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2WUHTZYUSapzdGFydGVkX2F0y0HZZQdMtZiWq2ZpbmlzaGVkX2F0y0HZZQdNlieqqnN0YXJ0ZWRfYXTLQdllB0y1ig2rZmluaXNoZWRfYXTLQdllB02WJ6qqc3RhcnRlZF9hdMtB2WUHTLVIqqtmaW5pc2hlZF9hdMCqc3RhcnRlZF9hdMtB2WUEnFcMMbFjZWxsX2RlcGVuZGVuY2llc4vZJDU5MDZmYTE5LWIyNWItNGM0Ni05YzVkLWRhMGM0OTBkMGNlNoS0cHJlY2VkZW5jZV9oZXVyaXN0aWMJp2NlbGxfaWTZJDU5MDZmYTE5LWIyNWItNGM0Ni05YzVkLWRhMGM0OTBkMGNlNrRkb3duc3RyZWFtX2NlbGxzX21hcIGoaW5pdGNmZyGS2SRiOGYyYzBkZC1mZTE0LTRhOTgtOTI3Mi04NzI5MzQzMTdhNzfZJGE1OGFmNjg5LTUyNjMtNGQ1Mi1hZWFjLTk2ZGZjMTg2OTM4NrJ1cHN0cmVhbV9jZWxsc19tYXCFpmxlbmd0aJChLZCuQWJzdHJhY3RWZWN0b3KQoSqQpHJhbmSQ2SQ3YmJmNTAyNS0wMzQ2LTQxMDQtYTQ3YS02M2Y0OTJmYzQwMjiEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SQ3YmJmNTAyNS0wMzQ2LTQxMDQtYTQ3YS02M2Y0OTJmYzQwMji0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcIKnQG1kX3N0cpCoZ2V0aW5kZXiQ2SQwYzdhMDE3NS04ZWJkLTRlODktOWJhMC05Nzk3YWE4ZTQ1NTaEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SQwYzdhMDE3NS04ZWJkLTRlODktOWJhMC05Nzk3YWE4ZTQ1NTa0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcI2lQHRpbWWQs0Jhc2UuZ2NfYWxsb2NfY291bnSQpkJhc2UuLZCrQmFzZS5nY19udW2QqkJhc2UuZmlyc3SQrEJhc2UuR0NfRGlmZpC/QmFzZS5jdW11bGF0aXZlX2NvbXBpbGVfdGltZV9uc5CpQmFzZS5sYXN0kKRCYXNlkK9CYXNlLnRpbWVfcHJpbnSQpG1haW6R2SRhNThhZjY4OS01MjYzLTRkNTItYWVhYy05NmRmYzE4NjkzODasQmFzZS50aW1lX25zkL5CYXNlLmN1bXVsYXRpdmVfY29tcGlsZV90aW1pbmeQ2SQ0MDRlNGJkYS1lZTJkLTRjYTktYTM5NS00MjQxYTQyMWE2ZTiEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SQ0MDRlNGJkYS1lZTJkLTRjYTktYTM5NS00MjQxYTQyMWE2ZTi0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcN4AIalUZXN0LmNvcHmQrFRlc3QucmV0aHJvd5CqVGVzdC5FcnJvcpCxVGVzdC5SYW5kb20uc2VlZCGQsFRlc3QucG9wX3Rlc3RzZXSQpFRlc3SR2SQ5MTgxMWI2ZC03NzQ0LTRmYmMtYjljYi0zODAwYTFmOGJjOWG8VGVzdC5SYW5kb20uc2V0X2dsb2JhbF9zZWVkIZCuVGVzdC5ldmFsX3Rlc3SQvFRlc3QuQmFzZS5jdXJyZW50X2V4Y2VwdGlvbnOQqlRlc3QuY29weSGQqFRlc3QuaXNhkKtUZXN0LnJlY29yZJCzVGVzdC5fY2hlY2tfdGVzdHNldJCpVGVzdC5FeHBykKpUZXN0LlRocmV3kLBUZXN0LmRlZmF1bHRfcm5nkLFUZXN0LnB1c2hfdGVzdHNldJClQHRlc3SQs1Rlc3QuZmFpbGZhc3RfcHJpbnSQoj09kKtUZXN0LnR5cGVvZpC2VGVzdC5nZXRfdGVzdHNldF9kZXB0aJClemVyb3OQsFRlc3QuZ2V0X3Rlc3RzZXSQq1Rlc3QuZmluaXNokKRyYW5kkL9UZXN0LnRyaWdnZXJfdGVzdF9mYWlsdXJlX2JyZWFrkKdUZXN0Lj09kKtUZXN0LkJyb2tlbpCpc2V0Mnplcm8hkdkkNmYzNDk5MDUtNTZkMC00MGZhLWIyOTAtMDM2YzI1OGNhZGNiqFRlc3QuPT09kKhAdGVzdHNldJCmVGVzdC4+kNkkNmYzNDk5MDUtNTZkMC00MGZhLWIyOTAtMDM2YzI1OGNhZGNihLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkNmYzNDk5MDUtNTZkMC00MGZhLWIyOTAtMDM2YzI1OGNhZGNitGRvd25zdHJlYW1fY2VsbHNfbWFwgalzZXQyemVybyGS2SQ0MDRlNGJkYS1lZTJkLTRjYTktYTM5NS00MjQxYTQyMWE2ZTjZJGE1OGFmNjg5LTUyNjMtNGQ1Mi1hZWFjLTk2ZGZjMTg2OTM4NrJ1cHN0cmVhbV9jZWxsc19tYXCJpEBkb2OQpHplcm+QoVSQrkFic3RyYWN0VmVjdG9ykKVUdXBsZZCmZWx0eXBlkKVmaWxsIZClVW5pb26QuiNfX190aGlzX3BsdXRvX21vZHVsZV9uYW1lkNkkNDdhMDM0ZmEtYTk1ZS0xMWVlLTIxZTYtYjEwMGY1OGRmZjUyhLRwcmVjZWRlbmNlX2hldXJpc3RpYwenY2VsbF9pZNkkNDdhMDM0ZmEtYTk1ZS0xMWVlLTIxZTYtYjEwMGY1OGRmZjUytGRvd25zdHJlYW1fY2VsbHNfbWFwgqpTdGF0aXN0aWNzkKZQcmludGaQsnVwc3RyZWFtX2NlbGxzX21hcIDZJDkxODExYjZkLTc3NDQtNGZiYy1iOWNiLTM4MDBhMWY4YmM5YYS0cHJlY2VkZW5jZV9oZXVyaXN0aWMHp2NlbGxfaWTZJDkxODExYjZkLTc3NDQtNGZiYy1iOWNiLTM4MDBhMWY4YmM5YbRkb3duc3RyZWFtX2NlbGxzX21hcIGkVGVzdJLZJDQwNGU0YmRhLWVlMmQtNGNhOS1hMzk1LTQyNDFhNDIxYTZlONkkYjhmMmMwZGQtZmUxNC00YTk4LTkyNzItODcyOTM0MzE3YTc3snVwc3RyZWFtX2NlbGxzX21hcIDZJDY0MjkxMWM2LTY5OGMtNDBiYi1iZWM2LWM4ODgzM2M2Y2FhNYS0cHJlY2VkZW5jZV9oZXVyaXN0aWMJp2NlbGxfaWTZJDY0MjkxMWM2LTY5OGMtNDBiYi1iZWM2LWM4ODgzM2M2Y2FhNbRkb3duc3RyZWFtX2NlbGxzX21hcIGwbWV0cm9wb2xpc190ZXN0IZHZJGE1OGFmNjg5LTUyNjMtNGQ1Mi1hZWFjLTk2ZGZjMTg2OTM4NrJ1cHN0cmVhbV9jZWxsc19tYXDeABOlcmFuZG6Qo2V4cJChOpCuQWJzdHJhY3RWZWN0b3KQpmlmZWxzZZCmaXNsZXNzkKdGbG9hdDY0kKRyYW5kkKE8kKllYWNoaW5kZXiQoS2Qo+KJpZCiPj2QoS+QpnJhZGl1c5HZJDA2OGNiOTdlLTg3MDQtNDU4ZS04ZmVmLTI4YWY2ZWZhNTk2YqErkKEqkKRtZWFukKNpbnaQ2SRiOGYyYzBkZC1mZTE0LTRhOTgtOTI3Mi04NzI5MzQzMTdhNzeEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SRiOGYyYzBkZC1mZTE0LTRhOTgtOTI3Mi04NzI5MzQzMTdhNze0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcN4AJqlUZXN0LmNvcHmQrFRlc3QucmV0aHJvd5CqVGVzdC5FcnJvcpCxVGVzdC5SYW5kb20uc2VlZCGQsFRlc3QucG9wX3Rlc3RzZXSQpFRlc3SR2SQ5MTgxMWI2ZC03NzQ0LTRmYmMtYjljYi0zODAwYTFmOGJjOWG8VGVzdC5SYW5kb20uc2V0X2dsb2JhbF9zZWVkIZCtVGVzdC5SZXR1cm5lZJC8VGVzdC5CYXNlLmN1cnJlbnRfZXhjZXB0aW9uc5CqVGVzdC5jb3B5IZCoVGVzdC5pc2GQq1Rlc3QucmVjb3JkkLNUZXN0Ll9jaGVja190ZXN0c2V0kKlUZXN0LkV4cHKQqlRlc3QuVGhyZXeQoi48kLBUZXN0LmRlZmF1bHRfcm5nkKMuPD2QsVRlc3QucHVzaF90ZXN0c2V0kKVAdGVzdJCzVGVzdC5mYWlsZmFzdF9wcmludJCoaW5pdGNmZyGR2SQ1OTA2ZmExOS1iMjViLTRjNDYtOWM1ZC1kYTBjNDkwZDBjZTarVGVzdC50eXBlb2aQtlRlc3QuZ2V0X3Rlc3RzZXRfZGVwdGiQq1Rlc3QuZmluaXNokLBUZXN0LmdldF90ZXN0c2V0kKRyYW5kkL9UZXN0LnRyaWdnZXJfdGVzdF9mYWlsdXJlX2JyZWFrkKNhbGyQp1Rlc3QuPT2Qq1Rlc3QuQnJva2VukKRCYXNlkKlCYXNlLnJlcHKQrEJhc2UucHJpbnRsbpCoVGVzdC49PT2QqEB0ZXN0c2V0kKZUZXN0Lj6QpUBzaG93kNkkMDY4Y2I5N2UtODcwNC00NThlLThmZWYtMjhhZjZlZmE1OTZihLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkMDY4Y2I5N2UtODcwNC00NThlLThmZWYtMjhhZjZlZmE1OTZitGRvd25zdHJlYW1fY2VsbHNfbWFwgaZyYWRpdXOR2SQ2NDI5MTFjNi02OThjLTQwYmItYmVjNi1jODg4MzNjNmNhYTWydXBzdHJlYW1fY2VsbHNfbWFwhKRzcXJ0kKFekKPiiJqQoSuQ2SRhNThhZjY4OS01MjYzLTRkNTItYWVhYy05NmRmYzE4NjkzODaEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SRhNThhZjY4OS01MjYzLTRkNTItYWVhYy05NmRmYzE4NjkzODa0ZG93bnN0cmVhbV9jZWxsc19tYXCBpG1haW6R2SQwYzdhMDE3NS04ZWJkLTRlODktOWJhMC05Nzk3YWE4ZTQ1NTaydXBzdHJlYW1fY2VsbHNfbWFw3gAasG1ldHJvcG9saXNfdGVzdCGR2SQ2NDI5MTFjNi02OThjLTQwYmItYmVjNi1jODg4MzNjNmNhYTWmaXNsZXNzkKdGbG9hdDY0kNknQmFzZS5Db3JlTG9nZ2luZy5CYXNlLmZpeHVwX3N0ZGxpYl9wYXRokLJCYXNlLkNvcmVMb2dnaW5nLiGQplZlY3RvcpChPJChL5ClQGluZm+QsUJhc2UuaW52b2tlbGF0ZXN0kKhpbml0Y2ZnIZHZJDU5MDZmYTE5LWIyNWItNGM0Ni05YzVkLWRhMGM0OTBkMGNlNqNhYnOQvUJhc2UuQ29yZUxvZ2dpbmcuaW52b2tlbGF0ZXN0kLRCYXNlLkNvcmVMb2dnaW5nLj09PZClemVyb3OQuiNfX190aGlzX3BsdXRvX21vZHVsZV9uYW1lkKZzdGRvdXSQp0BwcmludGaQpEJhc2WQqXNldDJ6ZXJvIZHZJDZmMzQ5OTA1LTU2ZDAtNDBmYS1iMjkwLTAzNmMyNThjYWRjYqEtkLRCYXNlLkNvcmVMb2dnaW5nLmlzYZChK5CldW5kZWaQoSqQs0Jhc2UuQ29yZUxvZ2dpbmcuPj2QtGNlbGxfZXhlY3V0aW9uX29yZGVym9kkNDdhMDM0ZmEtYTk1ZS0xMWVlLTIxZTYtYjEwMGY1OGRmZjUy2SQ5MTgxMWI2ZC03NzQ0LTRmYmMtYjljYi0zODAwYTFmOGJjOWHZJDdiYmY1MDI1LTAzNDYtNDEwNC1hNDdhLTYzZjQ5MmZjNDAyONkkNmYzNDk5MDUtNTZkMC00MGZhLWIyOTAtMDM2YzI1OGNhZGNi2SQ0MDRlNGJkYS1lZTJkLTRjYTktYTM5NS00MjQxYTQyMWE2ZTjZJDU5MDZmYTE5LWIyNWItNGM0Ni05YzVkLWRhMGM0OTBkMGNlNtkkYjhmMmMwZGQtZmUxNC00YTk4LTkyNzItODcyOTM0MzE3YTc32SQwNjhjYjk3ZS04NzA0LTQ1OGUtOGZlZi0yOGFmNmVmYTU5NmLZJDY0MjkxMWM2LTY5OGMtNDBiYi1iZWM2LWM4ODgzM2M2Y2FhNdkkYTU4YWY2ODktNTI2My00ZDUyLWFlYWMtOTZkZmMxODY5Mzg22SQwYzdhMDE3NS04ZWJkLTRlODktOWJhMC05Nzk3YWE4ZTQ1NTa0bGFzdF9ob3RfcmVsb2FkX3RpbWXLAAAAAAAAAACpc2hvcnRwYXRoqm12Y19uZXcuamyucHJvY2Vzc19zdGF0dXOlcmVhZHmkcGF0aNk5L1VzZXJzL3RlcmFzYWtpL3dvcmsvTXlWTUMuamwvcGxheWdyb3VuZC9wbHV0by9tdmNfbmV3Lmpsrmxhc3Rfc2F2ZV90aW1ly0HZZQdMtYCZqmNlbGxfb3JkZXKb2SQ3YmJmNTAyNS0wMzQ2LTQxMDQtYTQ3YS02M2Y0OTJmYzQwMjjZJDQ3YTAzNGZhLWE5NWUtMTFlZS0yMWU2LWIxMDBmNThkZmY1MtkkOTE4MTFiNmQtNzc0NC00ZmJjLWI5Y2ItMzgwMGExZjhiYzlh2SQ2ZjM0OTkwNS01NmQwLTQwZmEtYjI5MC0wMzZjMjU4Y2FkY2LZJDQwNGU0YmRhLWVlMmQtNGNhOS1hMzk1LTQyNDFhNDIxYTZlONkkNTkwNmZhMTktYjI1Yi00YzQ2LTljNWQtZGEwYzQ5MGQwY2U22SRiOGYyYzBkZC1mZTE0LTRhOTgtOTI3Mi04NzI5MzQzMTdhNzfZJDA2OGNiOTdlLTg3MDQtNDU4ZS04ZmVmLTI4YWY2ZWZhNTk2YtkkNjQyOTExYzYtNjk4Yy00MGJiLWJlYzYtYzg4ODMzYzZjYWE12SRhNThhZjY4OS01MjYzLTRkNTItYWVhYy05NmRmYzE4NjkzODbZJDBjN2EwMTc1LThlYmQtNGU4OS05YmEwLTk3OTdhYThlNDU1NrFwdWJsaXNoZWRfb2JqZWN0c4ClbmJwa2eKr2luc3RhbGxfdGltZV9uc8CsaW5zdGFudGlhdGVkw7JpbnN0YWxsZWRfdmVyc2lvbnODqlN0YXRpc3RpY3Omc3RkbGlipFRlc3Smc3RkbGliplByaW50ZqZzdGRsaWKwdGVybWluYWxfb3V0cHV0c4eqU3RhdGlzdGljc9oBiwpJbnN0YW50aWF0aW5nLi4uCgpSZXNvbHZpbmcuLi4KG1szMm0bWzFtICBObyBDaGFuZ2VzG1syMm0bWzM5bSB0byBgL3ByaXZhdGUvdmFyL2ZvbGRlcnMvbHAvOWJ3eGZnczExOG5iXzMydnE4cHNuZF80MDAwMGduL1Qvamxfa3Y4dnBRL1Byb2plY3QudG9tbGAKG1szMm0bWzFtICBObyBDaGFuZ2VzG1syMm0bWzM5bSB0byBgL3ByaXZhdGUvdmFyL2ZvbGRlcnMvbHAvOWJ3eGZnczExOG5iXzMydnE4cHNuZF80MDAwMGduL1Qvamxfa3Y4dnBRL01hbmlmZXN0LnRvbWxgCgpQcmVjb21waWxpbmcuLi4KG1szMm0bWzFtICBBY3RpdmF0aW5nG1syMm0bWzM5bSBwcm9qZWN0IGF0IGAvcHJpdmF0ZS92YXIvZm9sZGVycy9scC85Ynd4ZmdzMTE4bmJfMzJ2cThwc25kXzQwMDAwZ24vVC9qbF9rdjh2cFFgpEJhc2XZkgpJbnN0YW50aWF0aW5nLi4uCgpQcmVjb21waWxpbmcuLi4KG1szMm0bWzFtICBBY3RpdmF0aW5nG1syMm0bWzM5bSBwcm9qZWN0IGF0IGAvcHJpdmF0ZS92YXIvZm9sZGVycy9scC85Ynd4ZmdzMTE4bmJfMzJ2cThwc25kXzQwMDAwZ24vVC9qbF9rdjh2cFFgqm5icGtnX3N5bmPZkgpJbnN0YW50aWF0aW5nLi4uCgpQcmVjb21waWxpbmcuLi4KG1szMm0bWzFtICBBY3RpdmF0aW5nG1syMm0bWzM5bSBwcm9qZWN0IGF0IGAvcHJpdmF0ZS92YXIvZm9sZGVycy9scC85Ynd4ZmdzMTE4bmJfMzJ2cThwc25kXzQwMDAwZ24vVC9qbF9rdjh2cFFgpFRlc3TaAYsKSW5zdGFudGlhdGluZy4uLgoKUmVzb2x2aW5nLi4uChtbMzJtG1sxbSAgTm8gQ2hhbmdlcxtbMjJtG1szOW0gdG8gYC9wcml2YXRlL3Zhci9mb2xkZXJzL2xwLzlid3hmZ3MxMThuYl8zMnZxOHBzbmRfNDAwMDBnbi9UL2psX2t2OHZwUS9Qcm9qZWN0LnRvbWxgChtbMzJtG1sxbSAgTm8gQ2hhbmdlcxtbMjJtG1szOW0gdG8gYC9wcml2YXRlL3Zhci9mb2xkZXJzL2xwLzlid3hmZ3MxMThuYl8zMnZxOHBzbmRfNDAwMDBnbi9UL2psX2t2OHZwUS9NYW5pZmVzdC50b21sYAoKUHJlY29tcGlsaW5nLi4uChtbMzJtG1sxbSAgQWN0aXZhdGluZxtbMjJtG1szOW0gcHJvamVjdCBhdCBgL3ByaXZhdGUvdmFyL2ZvbGRlcnMvbHAvOWJ3eGZnczExOG5iXzMydnE4cHNuZF80MDAwMGduL1Qvamxfa3Y4dnBRYLFMb29wVmVjdG9yaXphdGlvbtoKEApBZGRpbmcgcGFja2FnZXMuLi4KG1szMm0bWzFtICAgUmVzb2x2aW5nG1syMm0bWzM5bSBwYWNrYWdlIHZlcnNpb25zLi4uChtbMzJtG1sxbSAgIEluc3RhbGxlZBtbMjJtG1szOW0gQWRhcHQg4pSAIHY0LjAuMAogICAgICAgICAgICAgVXBkYXRpbmcgICAgICAgICAgIGAvcHJpdmF0ZS92YXIvZm9sZGVycy9scC85Ynd4ZmdzMTE4bmJfMzJ2cThwc25kXzQwMDAwZ24vVC9qbF9rdjh2cFEvUHJvamVjdC50b21sYAogIBtbOTBtW2JkY2FjYWU4XSAbWzM5bRtbOTJtKyBMb29wVmVjdG9yaXphdGlvbiB2MC4xMi4xNjYbWzM5bQobWzMybRtbMW0gICAgVXBkYXRpbmcbWzIybRtbMzltIGAvcHJpdmF0ZS92YXIvZm9sZGVycy9scC85Ynd4ZmdzMTE4bmJfMzJ2cThwc25kXzQwMDAwZ24vVC9qbF9rdjh2cFEvTWFuaWZlc3QudG9tbGAKICAbWzkwbVs3OWU2YTNhYl0gG1szOW0bWzkybSsgQWRhcHQgdjQuMC4wG1szOW0KICAbWzkwbVs0ZmJhMjQ1Y10gG1szOW0bWzkybSsgQXJyYXlJbnRlcmZhY2UgdjcuNy4wG1szOW0KICAbWzkwbVs2Mjc4Mzk4MV0gG1szOW0bWzkybSsgQml0VHdpZGRsaW5nQ29udmVuaWVuY2VGdW5jdGlvbnMgdjAuMS41G1szOW0KICAbWzkwbVsyYTBmYmYzZF0gG1szOW0bWzkybSsgQ1BVU3VtbWFyeSB2MC4yLjQbWzM5bQogIBtbOTBtW2ZiNmExNWIyXSAbWzM5bRtbOTJtKyBDbG9zZU9wZW5JbnRlcnZhbHMgdjAuMS4xMhtbMzltCiAgG1s5MG1bMzRkYTIxODVdIBtbMzltG1s5Mm0rIENvbXBhdCB2NC4xMC4xG1szOW0KICAbWzkwbVthZGFmYzk5Yl0gG1szOW0bWzkybSsgQ3B1SWQgdjAuMy4xG1szOW0KICAbWzkwbVtmZmJlZDE1NF0gG1szOW0bWzkybSsgRG9jU3RyaW5nRXh0ZW5zaW9ucyB2MC45LjMbWzM5bQogIBtbOTBtWzNlNWI2ZmJiXSAbWzM5bRtbOTJtKyBIb3N0Q1BVRmVhdHVyZXMgdjAuMS4xNhtbMzltCiAgG1s5MG1bNjE1ZjE4N2NdIBtbMzltG1s5Mm0rIElmRWxzZSB2MC4xLjEbWzM5bQogIBtbOTBtWzEwZjE5ZmYzXSAbWzM5bRtbOTJtKyBMYXlvdXRQb2ludGVycyB2MC4xLjE1G1szOW0KICAbWzkwbVtiZGNhY2FlOF0gG1szOW0bWzkybSsgTG9vcFZlY3Rvcml6YXRpb24gdjAuMTIuMTY2G1szOW0KICAbWzkwbVtkMTI1ZTRkM10gG1szOW0bWzkybSsgTWFudWFsTWVtb3J5IHYwLjEuOBtbMzltCiAgG1s5MG1bNmZlMWJmYjBdIBtbMzltG1s5Mm0rIE9mZnNldEFycmF5cyB2MS4xMy4wG1szOW0KICAbWzkwbVsxZDAwNDBjOV0gG1szOW0bWzkybSsgUG9seWVzdGVyV2VhdmUgdjAuMi4xG1szOW0KICAbWzkwbVthZWE3YmUwMV0gG1szOW0bWzkybSsgUHJlY29tcGlsZVRvb2xzIHYxLjIuMBtbMzltCiAgG1s5MG1bMjEyMTZjNmFdIBtbMzltG1s5Mm0rIFByZWZlcmVuY2VzIHYxLjQuMRtbMzltCiAgG1s5MG1bYWUwMjkwMTJdIBtbMzltG1s5Mm0rIFJlcXVpcmVzIHYxLjMuMBtbMzltCiAgG1s5MG1bOTRlODU3ZGZdIBtbMzltG1s5Mm0rIFNJTURUeXBlcyB2MC4xLjAbWzM5bQogIBtbOTBtWzQ3NjUwMWU4XSAbWzM5bRtbOTJtKyBTTEVFRlBpcmF0ZXMgdjAuNi40MhtbMzltCiAgG1s5MG1bYWVkZmZjZDBdIBtbMzltG1s5Mm0rIFN0YXRpYyB2MC44LjgbWzM5bQogIBtbOTBtWzBkN2VkMzcwXSAbWzM5bRtbOTJtKyBTdGF0aWNBcnJheUludGVyZmFjZSB2MS41LjAbWzM5bQogIBtbOTBtWzgyOTBkMjA5XSAbWzM5bRtbOTJtKyBUaHJlYWRpbmdVdGlsaXRpZXMgdjAuNS4yG1szOW0KICAbWzkwbVszYTg4NGVkNl0gG1szOW0bWzkybSsgVW5QYWNrIHYxLjAuMhtbMzltCiAgG1s5MG1bM2Q1ZGQwOGNdIBtbMzltG1s5Mm0rIFZlY3Rvcml6YXRpb25CYXNlIHYwLjIxLjY1G1szOW0KICAbWzkwbVthZGUyY2E3MF0gG1szOW0bWzkybSsgRGF0ZXMbWzM5bQogIBtbOTBtWzc2Zjg1NDUwXSAbWzM5bRtbOTJtKyBMaWJHaXQyG1szOW0KICAbWzkwbVtjYTU3NTkzMF0gG1szOW0bWzkybSsgTmV0d29ya09wdGlvbnMgdjEuMi4wG1szOW0KICAbWzkwbVs0NjA3YjBmMF0gG1szOW0bWzkybSsgU3VpdGVTcGFyc2UbWzM5bQogIBtbOTBtW2ZhMjY3ZjFmXSAbWzM5bRtbOTJtKyBUT01MIHYxLjAuMxtbMzltCiAgG1s5MG1bY2Y3MTE4YTddIBtbMzltG1s5Mm0rIFVVSURzG1szOW0KICAbWzkwbVtlMzdkYWY2N10gG1szOW0bWzkybSsgTGliR2l0Ml9qbGwgdjEuNi40KzAbWzM5bQogIBtbOTBtWzI5ODE2YjVhXSAbWzM5bRtbOTJtKyBMaWJTU0gyX2psbCB2MS4xMS4wKzEbWzM5bQogIBtbOTBtW2M4ZmZkOWMzXSAbWzM5bRtbOTJtKyBNYmVkVExTX2psbCB2Mi4yOC4yKzEbWzM5bQobWzMybRtbMW1Mb2FkaW5nG1syMm0bWzM5bSBwYWNrYWdlcy4uLgoKSW5zdGFudGlhdGluZy4uLgoKUHJlY29tcGlsaW5nLi4uChtbMzJtG1sxbSAgQWN0aXZhdGluZxtbMjJtG1szOW0gcHJvamVjdCBhdCBgL3ByaXZhdGUvdmFyL2ZvbGRlcnMvbHAvOWJ3eGZnczExOG5iXzMydnE4cHNuZF80MDAwMGduL1Qvamxfa3Y4dnBRYAobWzMybRtbMW1QcmVjb21waWxpbmcbWzIybRtbMzltIHByb2plY3QuLi4KICAyMyBkZXBlbmRlbmNpZXMgc3VjY2Vzc2Z1bGx5IHByZWNvbXBpbGVkIGluIDI2IHNlY29uZHMuIDExIGFscmVhZHkgcHJlY29tcGlsZWQus1ZlY3Rvcml6ZWRSZWR1Y3Rpb27aAtsKQWRkaW5nIHBhY2thZ2VzLi4uChtbMzJtG1sxbSAgIFJlc29sdmluZxtbMjJtG1szOW0gcGFja2FnZSB2ZXJzaW9ucy4uLgobWzMybRtbMW0gICAgVXBkYXRpbmcbWzIybRtbMzltIGAvcHJpdmF0ZS92YXIvZm9sZGVycy9scC85Ynd4ZmdzMTE4bmJfMzJ2cThwc25kXzQwMDAwZ24vVC9qbF9rdjh2cFEvUHJvamVjdC50b21sYAogIBtbOTBtWzRmZmU1NzVjXSAbWzM5bRtbOTJtKyBWZWN0b3JpemVkUmVkdWN0aW9uIHYwLjEuOBtbMzltChtbMzJtG1sxbSAgICBVcGRhdGluZxtbMjJtG1szOW0gYC9wcml2YXRlL3Zhci9mb2xkZXJzL2xwLzlid3hmZ3MxMThuYl8zMnZxOHBzbmRfNDAwMDBnbi9UL2psX2t2OHZwUS9NYW5pZmVzdC50b21sYAogIBtbOTBtWzRmZmU1NzVjXSAbWzM5bRtbOTJtKyBWZWN0b3JpemVkUmVkdWN0aW9uIHYwLjEuOBtbMzltChtbMzJtG1sxbUxvYWRpbmcbWzIybRtbMzltIHBhY2thZ2VzLi4uCgpJbnN0YW50aWF0aW5nLi4uCgpQcmVjb21waWxpbmcuLi4KG1szMm0bWzFtICBBY3RpdmF0aW5nG1syMm0bWzM5bSBwcm9qZWN0IGF0IGAvcHJpdmF0ZS92YXIvZm9sZGVycy9scC85Ynd4ZmdzMTE4bmJfMzJ2cThwc25kXzQwMDAwZ24vVC9qbF9rdjh2cFFgChtbMzJtG1sxbVByZWNvbXBpbGluZxtbMjJtG1szOW0gcHJvamVjdC4uLgogIDEgZGVwZW5kZW5jeSBzdWNjZXNzZnVsbHkgcHJlY29tcGlsZWQgaW4gMyBzZWNvbmRzLiAzNCBhbHJlYWR5IHByZWNvbXBpbGVkLqZQcmludGbaAYsKSW5zdGFudGlhdGluZy4uLgoKUmVzb2x2aW5nLi4uChtbMzJtG1sxbSAgTm8gQ2hhbmdlcxtbMjJtG1szOW0gdG8gYC9wcml2YXRlL3Zhci9mb2xkZXJzL2xwLzlid3hmZ3MxMThuYl8zMnZxOHBzbmRfNDAwMDBnbi9UL2psX2t2OHZwUS9Qcm9qZWN0LnRvbWxgChtbMzJtG1sxbSAgTm8gQ2hhbmdlcxtbMjJtG1szOW0gdG8gYC9wcml2YXRlL3Zhci9mb2xkZXJzL2xwLzlid3hmZ3MxMThuYl8zMnZxOHBzbmRfNDAwMDBnbi9UL2psX2t2OHZwUS9NYW5pZmVzdC50b21sYAoKUHJlY29tcGlsaW5nLi4uChtbMzJtG1sxbSAgQWN0aXZhdGluZxtbMjJtG1szOW0gcHJvamVjdCBhdCBgL3ByaXZhdGUvdmFyL2ZvbGRlcnMvbHAvOWJ3eGZnczExOG5iXzMydnE4cHNuZF80MDAwMGduL1Qvamxfa3Y4dnBRYKdlbmFibGVkw7dyZXN0YXJ0X3JlY29tbWVuZGVkX21zZ8C0cmVzdGFydF9yZXF1aXJlZF9tc2fArWJ1c3lfcGFja2FnZXOQtndhaXRpbmdfZm9yX3Blcm1pc3Npb27C2Sx3YWl0aW5nX2Zvcl9wZXJtaXNzaW9uX2J1dF9wcm9iYWJseV9kaXNhYmxlZMKrY2VsbF9pbnB1dHOL2SQ1OTA2ZmExOS1iMjViLTRjNDYtOWM1ZC1kYTBjNDkwZDBjZTaEp2NlbGxfaWTZJDU5MDZmYTE5LWIyNWItNGM0Ni05YzVkLWRhMGM0OTBkMGNlNqRjb2Rl2ahmdW5jdGlvbiBpbml0Y2ZnIShkYXRhMTo6VCwgZGF0YTI6OlQsIGRhdGEzOjpUKSB3aGVyZSB7VDw6QWJzdHJhY3RWZWN0b3J9CiAgICBmb3IgZCBpbiAoZGF0YTEsIGRhdGEyLCBkYXRhMykKICAgICAgICBkIC49IChyYW5kKGxlbmd0aChkKSkgLi0gMC41KSAuKiAyIC4qIDIKICAgIGVuZAplbmSobWV0YWRhdGGDqXNob3dfbG9nc8OoZGlzYWJsZWTCrnNraXBfYXNfc2NyaXB0wqtjb2RlX2ZvbGRlZMLZJDdiYmY1MDI1LTAzNDYtNDEwNC1hNDdhLTYzZjQ5MmZjNDAyOISnY2VsbF9pZNkkN2JiZjUwMjUtMDM0Ni00MTA0LWE0N2EtNjNmNDkyZmM0MDI4pGNvZGXaAjVtZCIiIgoKW+WkieWIhuODouODs+ODhuOCq+ODq+ODrShWTUMp44KS44KE44Gj44Gm44G/44KLfuawtOe0oOWOn+WtkH5dKGh0dHBzOi8vbWl5YW50YXJ1bWkuaGF0ZW5hYmxvZy5jb20vZW50cnkvMjAyMi8wNC8wOC8wODAwMDApIOOBriBKdWxpYSDnp7vmpI3jgpLooYzjgaPjgZ8uIOODoeODiOODreODneODquOCueODhuOCueODiOOBrumDqOWIhuOCkumWouaVsOWMluOBl+abuOOBj+OBueOBjeOCs+ODvOODieOBrumHj+OCkuWkp+W5heOBq+a4m+OCieOBmeOBk+OBqOOBjOOBp+OBjeOBn++8jiBKdWxpYeOBr1VuaWNvZGXmloflrZfjgYzkvb/jgYjjgovjga7jgafjgqrjg6rjgrjjg4rjg6vjga7lrp/oo4XjgpLjgoLjgajjgavlpInmlbDlkI3jgpLpganlrpzlpInmm7TjgZfjgabjgYTjgovvvI4KCm1ldHJvcG9saXNfdGVzdCEg44Gu5byV5pWw44Gv44GE44Gj44Gx44GE44GC44KL44GM77yM44KC44Gj44GoSnVsaWHjgonjgZfjgY/mm7jjgY/jga7jgafjgYLjgozjgarjgrPjg6zjgonjgpLjgb7jgajjgoHjgovmp4vpgKDkvZPjgpLlrprnvqnjgZnjgovjgbnjgY3jgafjgYLjgovvvI4KIiIiqG1ldGFkYXRhg6lzaG93X2xvZ3PDqGRpc2FibGVkwq5za2lwX2FzX3NjcmlwdMKrY29kZV9mb2xkZWTD2SQwYzdhMDE3NS04ZWJkLTRlODktOWJhMC05Nzk3YWE4ZTQ1NTaEp2NlbGxfaWTZJDBjN2EwMTc1LThlYmQtNGU4OS05YmEwLTk3OTdhYThlNDU1NqRjb2RlrEB0aW1lIG1haW4oKahtZXRhZGF0YYOpc2hvd19sb2dzw6hkaXNhYmxlZMKuc2tpcF9hc19zY3JpcHTCq2NvZGVfZm9sZGVkwtkkNDA0ZTRiZGEtZWUyZC00Y2E5LWEzOTUtNDI0MWE0MjFhNmU4hKdjZWxsX2lk2SQ0MDRlNGJkYS1lZTJkLTRjYTktYTM5NS00MjQxYTQyMWE2ZTikY29kZdmsQHRlc3RzZXQgInNldDJ6ZXJvISIgYmVnaW4KCWRhdGExID0gcmFuZCgxMCkKICAgIGRhdGEyID0gcmFuZCgxMCkKICAgIGRhdGEzID0gcmFuZCgxMCkKICAgIHNldDJ6ZXJvIShkYXRhMSwgZGF0YTIsIGRhdGEzKQogICAgQHRlc3QgZGF0YTEgPT0gZGF0YTIgPT0gZGF0YTMgPT0gemVyb3MoMTApCmVuZKhtZXRhZGF0YYOpc2hvd19sb2dzw6hkaXNhYmxlZMKuc2tpcF9hc19zY3JpcHTCq2NvZGVfZm9sZGVkwtkkNmYzNDk5MDUtNTZkMC00MGZhLWIyOTAtMDM2YzI1OGNhZGNihKdjZWxsX2lk2SQ2ZjM0OTkwNS01NmQwLTQwZmEtYjI5MC0wMzZjMjU4Y2FkY2KkY29kZdnCIiIiCglDIHBvcnQgdG8gSnVsaWEgZm9yIGBzaG9raWthYAoiIiIKZnVuY3Rpb24gc2V0Mnplcm8hKGRhdGExOjpULCBkYXRhMjo6VCwgZGF0YTM6OlQpIHdoZXJlIHtUPDpBYnN0cmFjdFZlY3Rvcn0KICAgIGZvciBkIGluIChkYXRhMSwgZGF0YTIsIGRhdGEzKQogICAgICAgIGZpbGwhKGQsIHplcm8oZWx0eXBlKGQpKSkKICAgIGVuZAplbmSobWV0YWRhdGGDqXNob3dfbG9nc8OoZGlzYWJsZWTCrnNraXBfYXNfc2NyaXB0wqtjb2RlX2ZvbGRlZMLZJDQ3YTAzNGZhLWE5NWUtMTFlZS0yMWU2LWIxMDBmNThkZmY1MoSnY2VsbF9pZNkkNDdhMDM0ZmEtYTk1ZS0xMWVlLTIxZTYtYjEwMGY1OGRmZjUypGNvZGXZKWJlZ2luCgl1c2luZyBTdGF0aXN0aWNzCgl1c2luZyBQcmludGYKZW5kqG1ldGFkYXRhg6lzaG93X2xvZ3PDqGRpc2FibGVkwq5za2lwX2FzX3NjcmlwdMKrY29kZV9mb2xkZWTC2SQ5MTgxMWI2ZC03NzQ0LTRmYmMtYjljYi0zODAwYTFmOGJjOWGEp2NlbGxfaWTZJDkxODExYjZkLTc3NDQtNGZiYy1iOWNiLTM4MDBhMWY4YmM5YaRjb2RlqnVzaW5nIFRlc3SobWV0YWRhdGGDqXNob3dfbG9nc8OoZGlzYWJsZWTCrnNraXBfYXNfc2NyaXB0wqtjb2RlX2ZvbGRlZMLZJDY0MjkxMWM2LTY5OGMtNDBiYi1iZWM2LWM4ODgzM2M2Y2FhNYSnY2VsbF9pZNkkNjQyOTExYzYtNjk4Yy00MGJiLWJlYzYtYzg4ODMzYzZjYWE1pGNvZGXaBl9mdW5jdGlvbiBtZXRyb3BvbGlzX3Rlc3QhKAoJzrE6OkZsb2F0NjQsIAoJzqNFX2xvYzo6VCwgzqPiiIJsb2fPiF/iiILOsTo6VCzOo0VfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xOjpULAoJeOKDlzo6VCwgeeKDlzo6VCwgeuKDlzo6VCwgcuKDlzo6VAopIHdoZXJlIFQgPDogQWJzdHJhY3RWZWN0b3IKCW5zYW1wbGVzID0gMzAwMDAKCXNpZ21hID0gMC40CgkKCWZvciBpIGluIDE6bnNhbXBsZXMJCgkJZm9yIGogaW4gZWFjaGluZGV4KHjig5cseeKDlyx64oOXKQoJCQl4LHkseiA9IHjig5dbal0seeKDl1tqXSx64oOXW2pdCgkJCXIgPSByYWRpdXMoeCx5LHopCgkJCSPPiMKyID0gZXhwKC0yzrEqcikKCQkJIyBwcm9wb3NhbCBzdGVwCgkJCXjigLIgPSB4ICsgc2lnbWEgKiByYW5kbigpCgkJCXnigLIgPSB5ICsgc2lnbWEgKiByYW5kbigpCgkJCXrigLIgPSB6ICsgc2lnbWEgKiByYW5kbigpCgkJCXLigLIgPSByYWRpdXMoeOKAsix54oCyLHrigLIpCgkJCSPPlcKyID0gZXhwKC0yzrEqcuKAsikKCQkJI2IgPSByYW5kKCkgPCDPlcKyL8+IwrIgCgkJCWIgPSByYW5kKCkgPCBleHAoLTLOsSAqIHLigLIgKyAyzrEgKiByKSAKCQkJeOKDl1tqXSA9IGlmZWxzZShiLCB44oCyLCB4KQoJCQl54oOXW2pdID0gaWZlbHNlKGIsIHnigLIsIHkpCgkJCXrig5dbal0gPSBpZmVsc2UoYiwgeuKAsiwgeikKCQkJcuKDl1tqXSA9IGlmZWxzZShiLCBy4oCyLCByKQoJCWVuZAoJCWlmIGkg4omlIDQwMDAKCQkJZm9yIGogaW4gZWFjaGluZGV4KHjig5cseeKDlyx64oOXKQoJCQkJeCx5LHogPSB44oOXW2pdLHnig5dbal0seuKDl1tqXQoJCQkJciA9IHLig5dbal0KCQkJCXLigbvCuSA9IGludihyKQoJCQkJRV9sb2MgPSAtIDEgKiBy4oG7wrkgLSDOsSAqICjOsSAtIDIgKiBy4oG7wrkpIC8gMgoJCQkJ4oiCbG9nz4hf4oiCzrEgPSAtcgoJCQkJRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrEgPSBFX2xvYyAqIOKIgmxvZ8+IX+KIgs6xCgkJCQnOo0VfbG9jW2pdICs9IEVfbG9jCgkJCQnOo+KIgmxvZ8+IX+KIgs6xW2pdICs9IOKIgmxvZ8+IX+KIgs6xCgkJCQnOo0VfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xW2pdICs9IEVfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xCgkJCWVuZAoJCWVuZAoJZW5kCgkjIOWQhCBqIOOBq+WvvuOBl+OBpuOBruW5s+Wdh+mHj+OCkuioiOeul+OBmeOCiy4g44Oh44Oi44Oq44KS5L2/44GE5Zue44GZ44Gf44KB44GrIGluLXBsYWNlIOioiOeul+OCkuOBl+OBpuOBhOOCi++8jgoJzqNFX2xvYyAuLz0gKG5zYW1wbGVzIC0gNDAwMCkKCc6j4oiCbG9nz4hf4oiCzrEgLi89IChuc2FtcGxlcyAtIDQwMDApCgnOo0VfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xIC4vPSAobnNhbXBsZXMgLSA0MDAwKQoJIyBqIOOBrui7uOOBq+WvvuOBl+OBpuW5s+Wdh+WApOOCkuioiOeul+OBmeOCiwoJRV9sb2MgPSBtZWFuKM6jRV9sb2MpCgniiIJsb2fPiF/iiILOsSA9IG1lYW4ozqPiiIJsb2fPiF/iiILOsSkKCUVfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xID0gbWVhbijOo0VfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xKQoKCWRFID0gMiAqIChFX2xvY190aW1lc1/iiIJsb2fPiF/iiILOsSAtIEVfbG9jICog4oiCbG9nz4hf4oiCzrEpCglyZXR1cm4gZEUsIEVfbG9jCmVuZKhtZXRhZGF0YYOpc2hvd19sb2dzw6hkaXNhYmxlZMKuc2tpcF9hc19zY3JpcHTCq2NvZGVfZm9sZGVkwtkkYjhmMmMwZGQtZmUxNC00YTk4LTkyNzItODcyOTM0MzE3YTc3hKdjZWxsX2lk2SRiOGYyYzBkZC1mZTE0LTRhOTgtOTI3Mi04NzI5MzQzMTdhNzekY29kZdnuQHRlc3RzZXQgImluaXRjZmchIiBiZWdpbgogICAgZGF0YTEgPSByYW5kKDEwKQogICAgZGF0YTIgPSByYW5kKDEwKQogICAgZGF0YTMgPSByYW5kKDEwKQogICAgaW5pdGNmZyEoZGF0YTEsIGRhdGEyLCBkYXRhMykKCUBzaG93IGRhdGExCiAgICBAdGVzdCBhbGwoLTIgLjw9IGRhdGExIC48IDIpCiAgICBAdGVzdCBhbGwoLTIgLjw9IGRhdGEyIC48IDIpCiAgICBAdGVzdCBhbGwoLTIgLjw9IGRhdGEzIC48IDIpCmVuZKhtZXRhZGF0YYOpc2hvd19sb2dzw6hkaXNhYmxlZMKuc2tpcF9hc19zY3JpcHTCq2NvZGVfZm9sZGVkwtkkMDY4Y2I5N2UtODcwNC00NThlLThmZWYtMjhhZjZlZmE1OTZihKdjZWxsX2lk2SQwNjhjYjk3ZS04NzA0LTQ1OGUtOGZlZi0yOGFmNmVmYTU5NmKkY29kZdkkcmFkaXVzKHgseSx6KSA9IOKImih4XjIgKyB5XjIgKyB6XjIpqG1ldGFkYXRhg6lzaG93X2xvZ3PDqGRpc2FibGVkwq5za2lwX2FzX3NjcmlwdMKrY29kZV9mb2xkZWTC2SRhNThhZjY4OS01MjYzLTRkNTItYWVhYy05NmRmYzE4NjkzODaEp2NlbGxfaWTZJGE1OGFmNjg5LTUyNjMtNGQ1Mi1hZWFjLTk2ZGZjMTg2OTM4NqRjb2Rl2gZiZnVuY3Rpb24gbWFpbigpCiAgICBud2Fsa2VycyA9IDQwMAogICAgc2FtcGxlID0gMzAwMDAKCiAgICDOsV9pbml0ID0gMC44CiAgICB4ID0gVmVjdG9ye0Zsb2F0NjR9KHVuZGVmLCBud2Fsa2VycykKICAgIHkgPSBWZWN0b3J7RmxvYXQ2NH0odW5kZWYsIG53YWxrZXJzKQogICAgeiA9IFZlY3RvcntGbG9hdDY0fSh1bmRlZiwgbndhbGtlcnMpCglyID0gVmVjdG9ye0Zsb2F0NjR9KHVuZGVmLCBud2Fsa2VycykKCc6jRV9sb2MgPSB6ZXJvcyhud2Fsa2VycykKCc6j4oiCbG9nz4hf4oiCzrEgPSB6ZXJvcyhud2Fsa2VycykKCc6jRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrEgPSB6ZXJvcyhud2Fsa2VycykKICAgIGggPSAxZS0zCgoJzrEgPSDOsV9pbml0Cgl3aGlsZSB0cnVlCgkJaW5pdGNmZyEoeCx5LHopCgkJc2V0Mnplcm8hKM6jRV9sb2MszqPiiIJsb2fPiF/iiILOsSzOo0VfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xKQoJCWRFLCBfID0gbWV0cm9wb2xpc190ZXN0ISgKCQkJzrEsCgkJCc6jRV9sb2MszqPiiIJsb2fPiF/iiILOsSzOo0VfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xLAoJCQl4LHkseixyCgkJKQoKCQnOseKCiiA9IM6xICsgaAoJCWluaXRjZmchKHgseSx6KQoJCXNldDJ6ZXJvISjOo0VfbG9jLM6j4oiCbG9nz4hf4oiCzrEszqNFX2xvY190aW1lc1/iiIJsb2fPiF/iiILOsSkKCQlkReKCiiwgXyA9IG1ldHJvcG9saXNfdGVzdCEoCgkJCc6x4oKKLAoJCQnOo0VfbG9jLM6j4oiCbG9nz4hf4oiCzrEszqNFX2xvY190aW1lc1/iiIJsb2fPiF/iiILOsSwKCQkJeCx5LHoscgoJCSkKCgkJzrHigosgPSDOsSAtIGgKCQlpbml0Y2ZnISh4LHkseikKCQlzZXQyemVybyEozqNFX2xvYyzOo+KIgmxvZ8+IX+KIgs6xLM6jRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrEpCgkJZEXigossIF8gPSBtZXRyb3BvbGlzX3Rlc3QhKAoJCQnOseKCiywKCQkJzqNFX2xvYyzOo+KIgmxvZ8+IX+KIgs6xLM6jRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrEsCgkJCXgseSx6LHIKCQkpCgogICAgICAgIGRkRSA9IChkReKCiiAtIGRF4oKLKSAvICgyaCkKCQkjIG5ld3RvbiDms5XjgacgzrEg44KS5pu05paw44GZ44KLCiAgICAgICAgzrFfbmV4dCA9IM6xIC0gZEUgLyBkZEUKICAgICAgICBAaW5mbyAizrEiIM6xX25leHQsIM6xCiAgICAgICAgaWYgYWJzKM6xX25leHQgLSDOsSkgPCAxZS02CiAgICAgICAgICAgIGJyZWFrCiAgICAgICAgZW5kCgkJzrEgPSDOsV9uZXh0CiAgICBlbmQKCiAgICBhbHBoYV92YSA9IM6xCgkjIOeQhuaDs+OBryAxLjAKICAgIEBwcmludGYoIuOCqOODjeODq+OCruODvOOBjOacgOWwj+OBq+OBquOCi+WkieWIhuODkeODqeODoeODvOOCv+OBryUuMTBmXG4iLCBhbHBoYV92YSkgCglpbml0Y2ZnISh4LHkseikKCXNldDJ6ZXJvISjOo0VfbG9jLM6j4oiCbG9nz4hf4oiCzrEszqNFX2xvY190aW1lc1/iiIJsb2fPiF/iiILOsSkKCV8sIEUgPSBtZXRyb3BvbGlzX3Rlc3QhKAoJCWFscGhhX3ZhLAoJCc6jRV9sb2MszqPiiIJsb2fPiF/iiILOsSzOo0VfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xLAoJCXgseSx6LHIKCSkKCSMg55CG5oOz44GvIC0wLjUKCUBwcmludGYoIuWfuuW6leeKtuaFi+OBruOCqOODjeODq+OCruODvOOBryUuMTBmXG4iLCBFKQplbmSobWV0YWRhdGGDqXNob3dfbG9nc8OoZGlzYWJsZWTCrnNraXBfYXNfc2NyaXB0wqtjb2RlX2ZvbGRlZMKrbm90ZWJvb2tfaWTZJDkzYTYzOWMyLWE5NzQtMTFlZS0xZDIzLTk5ZmQ2Y2Q2NjQxZKtpbl90ZW1wX2RpcsKobWV0YWRhdGGA";
window.pluto_preamble_html = undefined;
</script>
<meta name="pluto-insertion-spot-parameters">
<script src="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/editor.c69300f2.js" type="module" defer="" integrity="sha384-sLMlcWvt4TmaGbLLnhN9nz+JY2xsbCeklFggrWNJ4zBrwPosiufyTbUD6aYbHgE4" crossorigin="anonymous"></script><script src="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/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></head><body class="loading no-MαθJax"> <div style="display:flex;min-height:100vh;"> <pluto-editor class="fullscreen"></pluto-editor> </div> </body></html>
<!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.19.36/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.19.36/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.19.36/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.19.36/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.19.36/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.19.36/frontend-dist/editor.23f324ce.js" integrity="sha384-4l9NNFe3thsPdrGcAdnBEfNmojvUidAN6OBuPDii3JDkVIF5TMXkICWqHEsh8sXq" crossorigin="anonymous"></script><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/juliamono.c6034ab4.css" integrity="sha384-n0za6lUXlyf4XC+nGkZWj3TLDnRbNpAcoi4PZGSlQMPoyqGa9kGY+ZXkUgZGIhQt" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/editor.c98fb036.css" integrity="sha384-hq2r9iSY9J+3FSHCB6PZ5jTCnnhSL7DhUmwTXDjMmklxEsQ+2YHWCS7Cm0i5Y/rT" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/vollkorn.089565a8.css" integrity="sha384-jnV/84VtSgBLF70H+s2rxJcOUZIMDR+X/ElFZA83i9ZtZSWiIMFAgPyrWkOJV08q" 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.19.36/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.19.36/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.19.36/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.19.36/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.19.36/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.19.36/frontend-dist/editor.2dae1b31.css" type="text/css" integrity="sha384-Tcw0GaMme/KbluiF6zJjOMqdXU+GeDMSRoX0MhIH0cfyRAO7XQQWWwfsJY7Wx2yK" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/editor.82b535be.css" type="text/css" media="all" data-pluto-file="hide-ui" integrity="sha384-oYS1v2EOz2AtXoLXUVgvn3mEtQdJg1mfwZwLfJi++UQyF/qo43KuvjZ603iShU3X" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/editor.ec3a6a5b.css" type="text/css" integrity="sha384-SuGFZkuBuG+lmfz6RbnvjtcyIh8W1xDYi1sebwn7bl9VMQnhmr6EniSmIdcHJ55l" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/editor.1f4cf2ca.css" type="text/css" integrity="sha384-lBSBsn8FT1UzGOsNVudfV8RSHQEuNWqrCb6xQnF10uvF9AiCzYsCRXvKlhtQvV3c" crossorigin="anonymous"><link rel="preload" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/juliamono.c6034ab4.css" as="style" integrity="sha384-n0za6lUXlyf4XC+nGkZWj3TLDnRbNpAcoi4PZGSlQMPoyqGa9kGY+ZXkUgZGIhQt" crossorigin="anonymous"><link rel="preload" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/vollkorn.089565a8.css" as="style" integrity="sha384-jnV/84VtSgBLF70H+s2rxJcOUZIMDR+X/ElFZA83i9ZtZSWiIMFAgPyrWkOJV08q" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/editor.e82e08bd.css" type="text/css" integrity="sha384-7YN+h8b6N4N65qk8TG/J2KPF95D8z3sGNd06rokz4CX9oWu0KnRAF5cVWu3BkkaN" 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,IyMjIEEgUGx1dG8uamwgbm90ZWJvb2sgIyMjCiMgdjAuMTkuMzYKCnVzaW5nIE1hcmtkb3duCnVzaW5nIEludGVyYWN0aXZlVXRpbHMKCiMg4pWU4pWQ4pWhIDQ3YTAzNGZhLWE5NWUtMTFlZS0yMWU2LWIxMDBmNThkZmY1MgpiZWdpbgoJdXNpbmcgU3RhdGlzdGljcwoJdXNpbmcgUHJpbnRmCmVuZAoKIyDilZTilZDilaEgOTE4MTFiNmQtNzc0NC00ZmJjLWI5Y2ItMzgwMGExZjhiYzlhCnVzaW5nIFRlc3QKCiMg4pWU4pWQ4pWhIDdiYmY1MDI1LTAzNDYtNDEwNC1hNDdhLTYzZjQ5MmZjNDAyOAptZCIiIgoKW+WkieWIhuODouODs+ODhuOCq+ODq+ODrShWTUMp44KS44KE44Gj44Gm44G/44KLfuawtOe0oOWOn+WtkH5dKGh0dHBzOi8vbWl5YW50YXJ1bWkuaGF0ZW5hYmxvZy5jb20vZW50cnkvMjAyMi8wNC8wOC8wODAwMDApIOOBriBKdWxpYSDnp7vmpI3jgpLooYzjgaPjgZ8uIOODoeODiOODreODneODquOCueODhuOCueODiOOBrumDqOWIhuOCkumWouaVsOWMluOBl+abuOOBj+OBueOBjeOCs+ODvOODieOBrumHj+OCkuWkp+W5heOBq+a4m+OCieOBmeOBk+OBqOOBjOOBp+OBjeOBn++8jiBKdWxpYeOBr1VuaWNvZGXmloflrZfjgYzkvb/jgYjjgovjga7jgafjgqrjg6rjgrjjg4rjg6vjga7lrp/oo4XjgpLjgoLjgajjgavlpInmlbDlkI3jgpLpganlrpzlpInmm7TjgZfjgabjgYTjgovvvI4KCm1ldHJvcG9saXNfdGVzdCEg44Gu5byV5pWw44Gv44GE44Gj44Gx44GE44GC44KL44GM77yM44KC44Gj44GoSnVsaWHjgonjgZfjgY/mm7jjgY/jga7jgafjgYLjgozjgarjgrPjg6zjgonjgpLjgb7jgajjgoHjgovmp4vpgKDkvZPjgpLlrprnvqnjgZnjgovjgbnjgY3jgafjgYLjgovvvI4KIiIiCgojIOKVlOKVkOKVoSA2ZjM0OTkwNS01NmQwLTQwZmEtYjI5MC0wMzZjMjU4Y2FkY2IKIiIiCglDIHBvcnQgdG8gSnVsaWEgZm9yIGBzaG9raWthYAoiIiIKZnVuY3Rpb24gc2V0Mnplcm8hKGRhdGExOjpULCBkYXRhMjo6VCwgZGF0YTM6OlQpIHdoZXJlIHtUPDpBYnN0cmFjdFZlY3Rvcn0KICAgIGZvciBkIGluIChkYXRhMSwgZGF0YTIsIGRhdGEzKQogICAgICAgIGZpbGwhKGQsIHplcm8oZWx0eXBlKGQpKSkKICAgIGVuZAplbmQKCiMg4pWU4pWQ4pWhIDQwNGU0YmRhLWVlMmQtNGNhOS1hMzk1LTQyNDFhNDIxYTZlOApAdGVzdHNldCAic2V0Mnplcm8hIiBiZWdpbgoJZGF0YTEgPSByYW5kKDEwKQogICAgZGF0YTIgPSByYW5kKDEwKQogICAgZGF0YTMgPSByYW5kKDEwKQogICAgc2V0Mnplcm8hKGRhdGExLCBkYXRhMiwgZGF0YTMpCiAgICBAdGVzdCBkYXRhMSA9PSBkYXRhMiA9PSBkYXRhMyA9PSB6ZXJvcygxMCkKZW5kCgojIOKVlOKVkOKVoSA1OTA2ZmExOS1iMjViLTRjNDYtOWM1ZC1kYTBjNDkwZDBjZTYKZnVuY3Rpb24gaW5pdGNmZyEoZGF0YTE6OlQsIGRhdGEyOjpULCBkYXRhMzo6VCkgd2hlcmUge1Q8OkFic3RyYWN0VmVjdG9yfQogICAgZm9yIGQgaW4gKGRhdGExLCBkYXRhMiwgZGF0YTMpCiAgICAgICAgZCAuPSAocmFuZChsZW5ndGgoZCkpIC4tIDAuNSkgLiogMiAuKiAyCiAgICBlbmQKZW5kCgojIOKVlOKVkOKVoSBiOGYyYzBkZC1mZTE0LTRhOTgtOTI3Mi04NzI5MzQzMTdhNzcKQHRlc3RzZXQgImluaXRjZmchIiBiZWdpbgogICAgZGF0YTEgPSByYW5kKDEwKQogICAgZGF0YTIgPSByYW5kKDEwKQogICAgZGF0YTMgPSByYW5kKDEwKQogICAgaW5pdGNmZyEoZGF0YTEsIGRhdGEyLCBkYXRhMykKCUBzaG93IGRhdGExCiAgICBAdGVzdCBhbGwoLTIgLjw9IGRhdGExIC48IDIpCiAgICBAdGVzdCBhbGwoLTIgLjw9IGRhdGEyIC48IDIpCiAgICBAdGVzdCBhbGwoLTIgLjw9IGRhdGEzIC48IDIpCmVuZAoKIyDilZTilZDilaEgMDY4Y2I5N2UtODcwNC00NThlLThmZWYtMjhhZjZlZmE1OTZiCnJhZGl1cyh4LHkseikgPSDiiJooeF4yICsgeV4yICsgel4yKQoKIyDilZTilZDilaEgNjQyOTExYzYtNjk4Yy00MGJiLWJlYzYtYzg4ODMzYzZjYWE1CmZ1bmN0aW9uIG1ldHJvcG9saXNfdGVzdCEoCgnOsTo6RmxvYXQ2NCwgCgnOo0VfbG9jOjpULCDOo+KIgmxvZ8+IX+KIgs6xOjpULM6jRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrE6OlQsCgl44oOXOjpULCB54oOXOjpULCB64oOXOjpULCBy4oOXOjpUCikgd2hlcmUgVCA8OiBBYnN0cmFjdFZlY3RvcgoJbnNhbXBsZXMgPSAzMDAwMAoJc2lnbWEgPSAwLjQKCQoJZm9yIGkgaW4gMTpuc2FtcGxlcwkKCQlmb3IgaiBpbiBlYWNoaW5kZXgoeOKDlyx54oOXLHrig5cscuKDlykKCQkJeCA9IHjig5dbal0KCQkJeSA9IHnig5dbal0KCQkJeiA9IHrig5dbal0KCQkJciA9IHJhZGl1cyh4LHkseikKCQkJI8+IwrIgPSBleHAoLTLOsSpyKQoJCQkjIHByb3Bvc2FsIHN0ZXAKCQkJeOKAsiA9IHNpZ21hICogcmFuZG4oKSArICB4CgkJCXnigLIgPSBzaWdtYSAqIHJhbmRuKCkgKyAgeQoJCQl64oCyID0gc2lnbWEgKiByYW5kbigpICsgIHoKCQkJcuKAsiA9IHJhZGl1cyh44oCyLHnigLIseuKAsikKCQkJI8+VwrIgPSBleHAoLTLOsSpy4oCyKQoJCQkjYiA9IHJhbmQoKSA8IM+VwrIvz4jCsiAKCQkJYiA9IHJhbmQoKSA8IGV4cCgtMs6xICogcuKAsiArIDLOsSAqIHIpIAoJCQl44oOXW2pdID0gaWZlbHNlKGIsIHjigLIsIHgpCgkJCXnig5dbal0gPSBpZmVsc2UoYiwgeeKAsiwgeSkKCQkJeuKDl1tqXSA9IGlmZWxzZShiLCB64oCyLCB6KQoJCQly4oOXW2pdID0gaWZlbHNlKGIsIHLigLIsIHIpCgkJZW5kCgkJaWYgaSDiiaUgNDAwMAoJCQlmb3IgaiBpbiBlYWNoaW5kZXgoeOKDlyx54oOXLHrig5cscuKDlykKCQkJCXggPSB44oOXW2pdCgkJCQl5ID0geeKDl1tqXQoJCQkJeiA9IHrig5dbal0KCQkJCXIgPSBy4oOXW2pdCgkJCQly4oG7wrkgPSBpbnYocikKCQkJCUVfbG9jID0gLXLigbvCuSAtMC41zrEgKiAozrEgLSAyICogcuKBu8K5KQoJCQkJ4oiCbG9nz4hf4oiCzrEgPSAtcgoJCQkJRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrEgPSBFX2xvYyAqIOKIgmxvZ8+IX+KIgs6xCgkJCQnOo0VfbG9jW2pdICs9IEVfbG9jCgkJCQnOo+KIgmxvZ8+IX+KIgs6xW2pdICs9IOKIgmxvZ8+IX+KIgs6xCgkJCQnOo0VfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xW2pdICs9IEVfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xCgkJCWVuZAoJCWVuZAoJZW5kCgkjIOWQhCBqIOOBq+WvvuOBl+OBpuOBruW5s+Wdh+mHj+OCkuioiOeul+OBmeOCiy4g44Oh44Oi44Oq44KS5L2/44GE5Zue44GZ44Gf44KB44GrIGluLXBsYWNlIOioiOeul+OCkuOBl+OBpuOBhOOCi++8jgoJzqNFX2xvYyAuLz0gKG5zYW1wbGVzIC0gMzk5OSkKCc6j4oiCbG9nz4hf4oiCzrEgLi89IChuc2FtcGxlcyAtIDM5OTkpCgnOo0VfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xIC4vPSAobnNhbXBsZXMgLSAzOTk5KQoJIyBqIOOBrui7uOOBq+WvvuOBl+OBpuW5s+Wdh+WApOOCkuioiOeul+OBmeOCiwoJRV9sb2MgPSBtZWFuKM6jRV9sb2MpCgniiIJsb2fPiF/iiILOsSA9IG1lYW4ozqPiiIJsb2fPiF/iiILOsSkKCUVfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xID0gbWVhbijOo0VfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xKQoKCWRFID0gMihFX2xvY190aW1lc1/iiIJsb2fPiF/iiILOsSAtIEVfbG9jICog4oiCbG9nz4hf4oiCzrEpCglyZXR1cm4gZEUsIEVfbG9jCmVuZAoKIyDilZTilZDilaEgYTU4YWY2ODktNTI2My00ZDUyLWFlYWMtOTZkZmMxODY5Mzg2CmZ1bmN0aW9uIG1haW4oKQogICAgbndhbGtlcnMgPSA0MDAKICAgIHNhbXBsZSA9IDMwMDAwCgogICAgzrFfaW5pdCA9IDAuOAogICAgeCA9IFZlY3RvcntGbG9hdDY0fSh1bmRlZiwgbndhbGtlcnMpCiAgICB5ID0gVmVjdG9ye0Zsb2F0NjR9KHVuZGVmLCBud2Fsa2VycykKICAgIHogPSBWZWN0b3J7RmxvYXQ2NH0odW5kZWYsIG53YWxrZXJzKQoJciA9IFZlY3RvcntGbG9hdDY0fSh1bmRlZiwgbndhbGtlcnMpCgnOo0VfbG9jID0gemVyb3MobndhbGtlcnMpCgnOo+KIgmxvZ8+IX+KIgs6xID0gemVyb3MobndhbGtlcnMpCgnOo0VfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xID0gemVyb3MobndhbGtlcnMpCiAgICBoID0gMWUtMwoKCc6xID0gzrFfaW5pdAoJd2hpbGUgdHJ1ZQoJCWluaXRjZmchKHgseSx6KQoJCXNldDJ6ZXJvISjOo0VfbG9jLM6j4oiCbG9nz4hf4oiCzrEszqNFX2xvY190aW1lc1/iiIJsb2fPiF/iiILOsSkKCQlkRSwgXyA9IG1ldHJvcG9saXNfdGVzdCEoCgkJCc6xLAoJCQnOo0VfbG9jLM6j4oiCbG9nz4hf4oiCzrEszqNFX2xvY190aW1lc1/iiIJsb2fPiF/iiILOsSwKCQkJeCx5LHoscgoJCSkKCgkJzrHigoogPSDOsSArIGgKCQlpbml0Y2ZnISh4LHkseikKCQlzZXQyemVybyEozqNFX2xvYyzOo+KIgmxvZ8+IX+KIgs6xLM6jRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrEpCgkJZEXigoosIF8gPSBtZXRyb3BvbGlzX3Rlc3QhKAoJCQnOseKCiiwKCQkJzqNFX2xvYyzOo+KIgmxvZ8+IX+KIgs6xLM6jRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrEsCgkJCXgseSx6LHIKCQkpCgoJCc6x4oKLID0gzrEgLSBoCgkJaW5pdGNmZyEoeCx5LHopCgkJc2V0Mnplcm8hKM6jRV9sb2MszqPiiIJsb2fPiF/iiILOsSzOo0VfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xKQoJCWRF4oKLLCBfID0gbWV0cm9wb2xpc190ZXN0ISgKCQkJzrHigossCgkJCc6jRV9sb2MszqPiiIJsb2fPiF/iiILOsSzOo0VfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xLAoJCQl4LHkseixyCgkJKQoKICAgICAgICBkZEUgPSAoZEXigoogLSBkReKCiykgLyAoMmgpCgkJIyBuZXd0b24g5rOV44GnIM6xIOOCkuabtOaWsOOBmeOCiwogICAgICAgIM6xX25leHQgPSDOsSAtIGRFIC8gZGRFCiAgICAgICAgQGluZm8gIs6xIiDOsV9uZXh0LCDOsQogICAgICAgIGlmIGFicyjOsV9uZXh0IC0gzrEpIDwgMWUtNgoJCQnOsSA9IM6xX25leHQKICAgICAgICAgICAgYnJlYWsKICAgICAgICBlbmQKCQnOsSA9IM6xX25leHQKICAgIGVuZAoKICAgIGFscGhhX3ZhID0gzrEKCSMg55CG5oOz44GvIDEuMAogICAgQHByaW50Zigi44Ko44ON44Or44Ku44O844GM5pyA5bCP44Gr44Gq44KL5aSJ5YiG44OR44Op44Oh44O844K/44GvJS4xMGZcbiIsIGFscGhhX3ZhKSAKCWluaXRjZmchKHgseSx6KQoJc2V0Mnplcm8hKM6jRV9sb2MszqPiiIJsb2fPiF/iiILOsSzOo0VfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xKQoJXywgRSA9IG1ldHJvcG9saXNfdGVzdCEoCgkJYWxwaGFfdmEsCgkJzqNFX2xvYyzOo+KIgmxvZ8+IX+KIgs6xLM6jRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrEsCgkJeCx5LHoscgoJKQoJIyDnkIbmg7Pjga8gLTAuNQoJQHByaW50Zigi5Z+65bqV54q25oWL44Gu44Ko44ON44Or44Ku44O844GvJS4xMGZcbiIsIEUpCmVuZAoKIyDilZTilZDilaEgMGM3YTAxNzUtOGViZC00ZTg5LTliYTAtOTc5N2FhOGU0NTU2CkB0aW1lIG1haW4oKQoKIyDilZTilZDilaEgZGRiYmVlZDgtMjNlYy00MjgyLWI1ZDEtYzlhNmZlOGQ4YThiCkB0aW1lIG1haW4oKQoKIyDilZTilZDilaEgZjkzM2UxZGItYjYzMS00OTNlLTk0NzQtZTBhNDZkZjMwZThhCkB0aW1lIG1haW4oKQoKIyDilZTilZDilaEgMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAxClBMVVRPX1BST0pFQ1RfVE9NTF9DT05URU5UUyA9ICIiIgpbZGVwc10KUHJpbnRmID0gImRlMDg1OGRhLTYzMDMtNWU2Ny04NzQ0LTUxZWRkZWVlYjhkNyIKU3RhdGlzdGljcyA9ICIxMDc0NWIxNi03OWNlLTExZTgtMTFmOS03ZDEzYWQzMmEzYjIiClRlc3QgPSAiOGRmZWQ2MTQtZTIyYy01ZTA4LTg1ZTEtNjVjNTIzNGYwYjQwIgoiIiIKCiMg4pWU4pWQ4pWhIDAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMgpQTFVUT19NQU5JRkVTVF9UT01MX0NPTlRFTlRTID0gIiIiCiMgVGhpcyBmaWxlIGlzIG1hY2hpbmUtZ2VuZXJhdGVkIC0gZWRpdGluZyBpdCBkaXJlY3RseSBpcyBub3QgYWR2aXNlZAoKanVsaWFfdmVyc2lvbiA9ICIxLjEwLjAiCm1hbmlmZXN0X2Zvcm1hdCA9ICIyLjAiCnByb2plY3RfaGFzaCA9ICIzNWZiYWRlYTY2YzQ5N2I4M2NiY2RkZWM5NjVjNmUxODc5N2EwNDRiIgoKW1tkZXBzLkFydGlmYWN0c11dCnV1aWQgPSAiNTZmMjJkNzItZmQ2ZC05OGYxLTAyZjAtMDhkZGMwOTA3YzMzIgoKW1tkZXBzLkJhc2U2NF1dCnV1aWQgPSAiMmEwZjQ0ZTMtNmM4My01NWJkLTg3ZTQtYjE5NzhkOThiZDVmIgoKW1tkZXBzLkNvbXBpbGVyU3VwcG9ydExpYnJhcmllc19qbGxdXQpkZXBzID0gWyJBcnRpZmFjdHMiLCAiTGliZGwiXQp1dWlkID0gImU2NmUwMDc4LTcwMTUtNTQ1MC05MmY3LTE1ZmJkOTU3ZjJhZSIKdmVyc2lvbiA9ICIxLjAuNSsxIgoKW1tkZXBzLkludGVyYWN0aXZlVXRpbHNdXQpkZXBzID0gWyJNYXJrZG93biJdCnV1aWQgPSAiYjc3ZTBhNGMtZDI5MS01N2EwLTkwZTgtOGRiMjVhMjdhMjQwIgoKW1tkZXBzLkxpYmRsXV0KdXVpZCA9ICI4ZjM5OWRhMy0zNTU3LTU2NzUtYjVmZi1mYjgzMmM5N2NiZGIiCgpbW2RlcHMuTGluZWFyQWxnZWJyYV1dCmRlcHMgPSBbIkxpYmRsIiwgIk9wZW5CTEFTX2psbCIsICJsaWJibGFzdHJhbXBvbGluZV9qbGwiXQp1dWlkID0gIjM3ZTJlNDZkLWY4OWQtNTM5ZC1iNGVlLTgzOGZjY2NjOWM4ZSIKCltbZGVwcy5Mb2dnaW5nXV0KdXVpZCA9ICI1NmRkYjAxNi04NTdiLTU0ZTEtYjgzZC1kYjRkNThkYjU1NjgiCgpbW2RlcHMuTWFya2Rvd25dXQpkZXBzID0gWyJCYXNlNjQiXQp1dWlkID0gImQ2ZjQzNzZlLWFlZjUtNTA1YS05NmMxLTljMDI3Mzk0NjA3YSIKCltbZGVwcy5PcGVuQkxBU19qbGxdXQpkZXBzID0gWyJBcnRpZmFjdHMiLCAiQ29tcGlsZXJTdXBwb3J0TGlicmFyaWVzX2psbCIsICJMaWJkbCJdCnV1aWQgPSAiNDUzNjYyOWEtYzUyOC01YjgwLWJkNDYtZjgwZDUxYzViMzYzIgp2ZXJzaW9uID0gIjAuMy4yMysyIgoKW1tkZXBzLlByaW50Zl1dCmRlcHMgPSBbIlVuaWNvZGUiXQp1dWlkID0gImRlMDg1OGRhLTYzMDMtNWU2Ny04NzQ0LTUxZWRkZWVlYjhkNyIKCltbZGVwcy5SYW5kb21dXQpkZXBzID0gWyJTSEEiXQp1dWlkID0gIjlhM2Y4Mjg0LWEyYzktNWYwMi05YTExLTg0NTk4MGExZmQ1YyIKCltbZGVwcy5TSEFdXQp1dWlkID0gImVhOGU5MTljLTI0M2MtNTFhZi04ODI1LWFhYTYzY2Q3MjFjZSIKdmVyc2lvbiA9ICIwLjcuMCIKCltbZGVwcy5TZXJpYWxpemF0aW9uXV0KdXVpZCA9ICI5ZTg4YjQyYS1mODI5LTViMGMtYmJlOS05ZTkyMzE5ODE2NmIiCgpbW2RlcHMuU3BhcnNlQXJyYXlzXV0KZGVwcyA9IFsiTGliZGwiLCAiTGluZWFyQWxnZWJyYSIsICJSYW5kb20iLCAiU2VyaWFsaXphdGlvbiIsICJTdWl0ZVNwYXJzZV9qbGwiXQp1dWlkID0gIjJmMDExODRlLWUyMmItNWRmNS1hZTYzLWQ5M2ViYWI2OWVhZiIKdmVyc2lvbiA9ICIxLjEwLjAiCgpbW2RlcHMuU3RhdGlzdGljc11dCmRlcHMgPSBbIkxpbmVhckFsZ2VicmEiLCAiU3BhcnNlQXJyYXlzIl0KdXVpZCA9ICIxMDc0NWIxNi03OWNlLTExZTgtMTFmOS03ZDEzYWQzMmEzYjIiCnZlcnNpb24gPSAiMS4xMC4wIgoKW1tkZXBzLlN1aXRlU3BhcnNlX2psbF1dCmRlcHMgPSBbIkFydGlmYWN0cyIsICJMaWJkbCIsICJsaWJibGFzdHJhbXBvbGluZV9qbGwiXQp1dWlkID0gImJlYTg3ZDRhLTdmNWItNTc3OC05YWZlLThjYzQ1MTg0ODQ2YyIKdmVyc2lvbiA9ICI3LjIuMSsxIgoKW1tkZXBzLlRlc3RdXQpkZXBzID0gWyJJbnRlcmFjdGl2ZVV0aWxzIiwgIkxvZ2dpbmciLCAiUmFuZG9tIiwgIlNlcmlhbGl6YXRpb24iXQp1dWlkID0gIjhkZmVkNjE0LWUyMmMtNWUwOC04NWUxLTY1YzUyMzRmMGI0MCIKCltbZGVwcy5Vbmljb2RlXV0KdXVpZCA9ICI0ZWMwYTgzZS00OTNlLTUwZTItYjlhYy04ZjcyYWNmNWE4ZjUiCgpbW2RlcHMubGliYmxhc3RyYW1wb2xpbmVfamxsXV0KZGVwcyA9IFsiQXJ0aWZhY3RzIiwgIkxpYmRsIl0KdXVpZCA9ICI4ZTg1MGI5MC04NmRiLTUzNGMtYTBkMy0xNDc4MTc2YzdkOTMiCnZlcnNpb24gPSAiNS44LjArMSIKIiIiCgojIOKVlOKVkOKVoSBDZWxsIG9yZGVyOgojIOKVn+KUgDdiYmY1MDI1LTAzNDYtNDEwNC1hNDdhLTYzZjQ5MmZjNDAyOAojIOKVoOKVkDQ3YTAzNGZhLWE5NWUtMTFlZS0yMWU2LWIxMDBmNThkZmY1MgojIOKVoOKVkDkxODExYjZkLTc3NDQtNGZiYy1iOWNiLTM4MDBhMWY4YmM5YQojIOKVoOKVkDZmMzQ5OTA1LTU2ZDAtNDBmYS1iMjkwLTAzNmMyNThjYWRjYgojIOKVoOKVkDQwNGU0YmRhLWVlMmQtNGNhOS1hMzk1LTQyNDFhNDIxYTZlOAojIOKVoOKVkDU5MDZmYTE5LWIyNWItNGM0Ni05YzVkLWRhMGM0OTBkMGNlNgojIOKVoOKVkGI4ZjJjMGRkLWZlMTQtNGE5OC05MjcyLTg3MjkzNDMxN2E3NwojIOKVoOKVkDA2OGNiOTdlLTg3MDQtNDU4ZS04ZmVmLTI4YWY2ZWZhNTk2YgojIOKVoOKVkDY0MjkxMWM2LTY5OGMtNDBiYi1iZWM2LWM4ODgzM2M2Y2FhNQojIOKVoOKVkGE1OGFmNjg5LTUyNjMtNGQ1Mi1hZWFjLTk2ZGZjMTg2OTM4NgojIOKVoOKVkDBjN2EwMTc1LThlYmQtNGU4OS05YmEwLTk3OTdhYThlNDU1NgojIOKVoOKVkGRkYmJlZWQ4LTIzZWMtNDI4Mi1iNWQxLWM5YTZmZThkOGE4YgojIOKVoOKVkGY5MzNlMWRiLWI2MzEtNDkzZS05NDc0LWUwYTQ2ZGYzMGU4YQojIOKVn+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.19.36";
window.pluto_statefile = "data:;base64,3gARpWJvbmRzgKxjZWxsX3Jlc3VsdHON2SRmOTMzZTFkYi1iNjMxLTQ5M2UtOTQ3NC1lMGE0NmRmMzBlOGGKpnF1ZXVlZMKkbG9nc5WIpGxpbmX/o21zZ5KizrGqdGV4dC9wbGFpbqdjZWxsX2lk2SRmOTMzZTFkYi1iNjMxLTQ5M2UtOTQ3NC1lMGE0NmRmMzBlOGGma3dhcmdzkZKtKM6xX25leHQsIM6xKZKDqGVsZW1lbnRzkpIBkqgwLjk5MjA0Nap0ZXh0L3BsYWlukgKSozAuOKp0ZXh0L3BsYWlupHR5cGWlVHVwbGWob2JqZWN0aWSwMTJhYzNkNTM5ZjQ4YTlhZNkhYXBwbGljYXRpb24vdm5kLnBsdXRvLnRyZWUrb2JqZWN0omlkuU1haW5fd29ya3NwYWNlIzJfMTNhYjg0MmOkZmlsZdldL1VzZXJzL2F0ZWxpZXIvd29yay9NeVZNQy9wbGF5Z3JvdW5kL3BsdXRvL212Y19uZXcuamwjPT0jYTU4YWY2ODktNTI2My00ZDUyLWFlYWMtOTZkZmMxODY5Mzg2pWdyb3Vwp212Y19uZXelbGV2ZWykSW5mb4ikbGluZf+jbXNnkqLOsap0ZXh0L3BsYWlup2NlbGxfaWTZJGY5MzNlMWRiLWI2MzEtNDkzZS05NDc0LWUwYTQ2ZGYzMGU4YaZrd2FyZ3ORkq0ozrFfbmV4dCwgzrEpkoOoZWxlbWVudHOSkgGSpzEuMDAwMTaqdGV4dC9wbGFpbpICkqgwLjk5MjA0Nap0ZXh0L3BsYWlupHR5cGWlVHVwbGWob2JqZWN0aWSwNTAwNjQ1MGI3ODUxNDQ2MNkhYXBwbGljYXRpb24vdm5kLnBsdXRvLnRyZWUrb2JqZWN0omlkuU1haW5fd29ya3NwYWNlIzJfMTNhYjg0MmOkZmlsZdldL1VzZXJzL2F0ZWxpZXIvd29yay9NeVZNQy9wbGF5Z3JvdW5kL3BsdXRvL212Y19uZXcuamwjPT0jYTU4YWY2ODktNTI2My00ZDUyLWFlYWMtOTZkZmMxODY5Mzg2pWdyb3Vwp212Y19uZXelbGV2ZWykSW5mb4ikbGluZf+jbXNnkqLOsap0ZXh0L3BsYWlup2NlbGxfaWTZJGY5MzNlMWRiLWI2MzEtNDkzZS05NDc0LWUwYTQ2ZGYzMGU4YaZrd2FyZ3ORkq0ozrFfbmV4dCwgzrEpkoOoZWxlbWVudHOSkgGSozEuMKp0ZXh0L3BsYWlukgKSpzEuMDAwMTaqdGV4dC9wbGFpbqR0eXBlpVR1cGxlqG9iamVjdGlksDQzMjQ5YTAzNWQ5M2ZmYWbZIWFwcGxpY2F0aW9uL3ZuZC5wbHV0by50cmVlK29iamVjdKJpZLlNYWluX3dvcmtzcGFjZSMyXzEzYWI4NDJjpGZpbGXZXS9Vc2Vycy9hdGVsaWVyL3dvcmsvTXlWTUMvcGxheWdyb3VuZC9wbHV0by9tdmNfbmV3LmpsIz09I2E1OGFmNjg5LTUyNjMtNGQ1Mi1hZWFjLTk2ZGZjMTg2OTM4NqVncm91cKdtdmNfbmV3pWxldmVspEluZm+IpGxpbmX/o21zZ5KizrGqdGV4dC9wbGFpbqdjZWxsX2lk2SRmOTMzZTFkYi1iNjMxLTQ5M2UtOTQ3NC1lMGE0NmRmMzBlOGGma3dhcmdzkZKtKM6xX25leHQsIM6xKZKDqGVsZW1lbnRzkpIBkqMxLjCqdGV4dC9wbGFpbpICkqMxLjCqdGV4dC9wbGFpbqR0eXBlpVR1cGxlqG9iamVjdGlksGIyMGI4MTE3YWM0Nzk3YTbZIWFwcGxpY2F0aW9uL3ZuZC5wbHV0by50cmVlK29iamVjdKJpZLlNYWluX3dvcmtzcGFjZSMyXzEzYWI4NDJjpGZpbGXZXS9Vc2Vycy9hdGVsaWVyL3dvcmsvTXlWTUMvcGxheWdyb3VuZC9wbHV0by9tdmNfbmV3LmpsIz09I2E1OGFmNjg5LTUyNjMtNGQ1Mi1hZWFjLTk2ZGZjMTg2OTM4NqVncm91cKdtdmNfbmV3pWxldmVspEluZm+IpGxpbmX/o21zZ5LZquOCqOODjeODq+OCruODvOOBjOacgOWwj+OBq+OBquOCi+WkieWIhuODkeODqeODoeODvOOCv+OBrzAuOTk5OTk5OTk5Mwrln7rlupXnirbmhYvjga7jgqjjg43jg6vjgq7jg7zjga8tMC41MDAwMDAwMDAwCiAgNi40NTQwMzMgc2Vjb25kcyAoMi4xNCBrIGFsbG9jYXRpb25zOiA0NzAuNzE5IEtpQikKqnRleHQvcGxhaW6nY2VsbF9pZNkkZjkzM2UxZGItYjYzMS00OTNlLTk0NzQtZTBhNDZkZjMwZThhpmt3YXJnc5CiaWS0UGx1dG9SdW5uZXJfZDFhY2I4MWWkZmlsZdlUL1VzZXJzL2F0ZWxpZXIvLmp1bGlhL3BhY2thZ2VzL1BsdXRvL0trVkxJL3NyYy9ydW5uZXIvUGx1dG9SdW5uZXIvc3JjL1BsdXRvUnVubmVyLmpspWdyb3Vwq1BsdXRvUnVubmVypWxldmVsrkxvZ0xldmVsKC01NTUpp3J1bm5pbmfCpm91dHB1dIakYm9keaCkbWltZap0ZXh0L3BsYWlurHJvb3Rhc3NpZ25lZcCybGFzdF9ydW5fdGltZXN0YW1wy0HZZTxmYxnnsHBlcnNpc3RfanNfc3RhdGXCt2hhc19wbHV0b19ob29rX2ZlYXR1cmVzwqdjZWxsX2lk2SRmOTMzZTFkYi1iNjMxLTQ5M2UtOTQ3NC1lMGE0NmRmMzBlOGG5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc8AAAABgLxHYrVwdWJsaXNoZWRfb2JqZWN0X2tleXOQuGRlcGVuZHNfb25fc2tpcHBlZF9jZWxsc8KnZXJyb3JlZMLZJDU5MDZmYTE5LWIyNWItNGM0Ni05YzVkLWRhMGM0OTBkMGNlNoqmcXVldWVkwqRsb2dzkKdydW5uaW5nwqZvdXRwdXSGpGJvZHnZKWluaXRjZmchIChnZW5lcmljIGZ1bmN0aW9uIHdpdGggMSBtZXRob2QppG1pbWWqdGV4dC9wbGFpbqxyb290YXNzaWduZWXAsmxhc3RfcnVuX3RpbWVzdGFtcMtB2WU8XT/107BwZXJzaXN0X2pzX3N0YXRlwrdoYXNfcGx1dG9faG9va19mZWF0dXJlc8KnY2VsbF9pZNkkNTkwNmZhMTktYjI1Yi00YzQ2LTljNWQtZGEwYzQ5MGQwY2U2uWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXOABJDcbVwdWJsaXNoZWRfb2JqZWN0X2tleXOQuGRlcGVuZHNfb25fc2tpcHBlZF9jZWxsc8KnZXJyb3JlZMLZJDdiYmY1MDI1LTAzNDYtNDEwNC1hNDdhLTYzZjQ5MmZjNDAyOIqmcXVldWVkwqRsb2dzkKdydW5uaW5nwqZvdXRwdXSGpGJvZHnaAms8ZGl2IGNsYXNzPSJtYXJrZG93biI+PHA+PGEgaHJlZj0iaHR0cHM6Ly9taXlhbnRhcnVtaS5oYXRlbmFibG9nLmNvbS9lbnRyeS8yMDIyLzA0LzA4LzA4MDAwMCI+5aSJ5YiG44Oi44Oz44OG44Kr44Or44OtJiM0MDtWTUMmIzQxO+OCkuOChOOBo+OBpuOBv+OCi37msLTntKDljp/lrZB+PC9hPiDjga4gSnVsaWEg56e75qSN44KS6KGM44Gj44GfLiDjg6Hjg4jjg63jg53jg6rjgrnjg4bjgrnjg4jjga7pg6jliIbjgpLplqLmlbDljJbjgZfmm7jjgY/jgbnjgY3jgrPjg7zjg4njga7ph4/jgpLlpKfluYXjgavmuJvjgonjgZnjgZPjgajjgYzjgafjgY3jgZ/vvI4gSnVsaWHjga9Vbmljb2Rl5paH5a2X44GM5L2/44GI44KL44Gu44Gn44Kq44Oq44K444OK44Or44Gu5a6f6KOF44KS44KC44Go44Gr5aSJ5pWw5ZCN44KS6YGp5a6c5aSJ5pu044GX44Gm44GE44KL77yOPC9wPgo8cD5tZXRyb3BvbGlzX3Rlc3QmIzMzOyDjga7lvJXmlbDjga/jgYTjgaPjgbHjgYTjgYLjgovjgYzvvIzjgoLjgaPjgahKdWxpYeOCieOBl+OBj+abuOOBj+OBruOBp+OBguOCjOOBquOCs+ODrOOCieOCkuOBvuOBqOOCgeOCi+ani+mAoOS9k+OCkuWumue+qeOBmeOCi+OBueOBjeOBp+OBguOCi++8jjwvcD4KPC9kaXY+pG1pbWWpdGV4dC9odG1srHJvb3Rhc3NpZ25lZcCybGFzdF9ydW5fdGltZXN0YW1wy0HZZTxcqZFxsHBlcnNpc3RfanNfc3RhdGXCt2hhc19wbHV0b19ob29rX2ZlYXR1cmVzwqdjZWxsX2lk2SQ3YmJmNTAyNS0wMzQ2LTQxMDQtYTQ3YS02M2Y0OTJmYzQwMji5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc4DivuZtXB1Ymxpc2hlZF9vYmplY3Rfa2V5c5C4ZGVwZW5kc19vbl9za2lwcGVkX2NlbGxzwqdlcnJvcmVkwtkkMGM3YTAxNzUtOGViZC00ZTg5LTliYTAtOTc5N2FhOGU0NTU2iqZxdWV1ZWTCpGxvZ3OViKRsaW5l/6Ntc2eSos6xqnRleHQvcGxhaW6nY2VsbF9pZNkkMGM3YTAxNzUtOGViZC00ZTg5LTliYTAtOTc5N2FhOGU0NTU2pmt3YXJnc5GSrSjOsV9uZXh0LCDOsSmSg6hlbGVtZW50c5KSAZKoMC45ODc0MDeqdGV4dC9wbGFpbpICkqMwLjiqdGV4dC9wbGFpbqR0eXBlpVR1cGxlqG9iamVjdGlksDVhMjBkNWVkMGY1OTVlOGXZIWFwcGxpY2F0aW9uL3ZuZC5wbHV0by50cmVlK29iamVjdKJpZLlNYWluX3dvcmtzcGFjZSMyXzEzYWI4NDJjpGZpbGXZXS9Vc2Vycy9hdGVsaWVyL3dvcmsvTXlWTUMvcGxheWdyb3VuZC9wbHV0by9tdmNfbmV3LmpsIz09I2E1OGFmNjg5LTUyNjMtNGQ1Mi1hZWFjLTk2ZGZjMTg2OTM4NqVncm91cKdtdmNfbmV3pWxldmVspEluZm+IpGxpbmX/o21zZ5KizrGqdGV4dC9wbGFpbqdjZWxsX2lk2SQwYzdhMDE3NS04ZWJkLTRlODktOWJhMC05Nzk3YWE4ZTQ1NTama3dhcmdzkZKtKM6xX25leHQsIM6xKZKDqGVsZW1lbnRzkpIBkqgwLjk5OTkxNKp0ZXh0L3BsYWlukgKSqDAuOTg3NDA3qnRleHQvcGxhaW6kdHlwZaVUdXBsZahvYmplY3RpZLA4ZTUyOGU2NGMyNDRjNWEx2SFhcHBsaWNhdGlvbi92bmQucGx1dG8udHJlZStvYmplY3SiaWS5TWFpbl93b3Jrc3BhY2UjMl8xM2FiODQyY6RmaWxl2V0vVXNlcnMvYXRlbGllci93b3JrL015Vk1DL3BsYXlncm91bmQvcGx1dG8vbXZjX25ldy5qbCM9PSNhNThhZjY4OS01MjYzLTRkNTItYWVhYy05NmRmYzE4NjkzODalZ3JvdXCnbXZjX25ld6VsZXZlbKRJbmZviKRsaW5l/6Ntc2eSos6xqnRleHQvcGxhaW6nY2VsbF9pZNkkMGM3YTAxNzUtOGViZC00ZTg5LTliYTAtOTc5N2FhOGU0NTU2pmt3YXJnc5GSrSjOsV9uZXh0LCDOsSmSg6hlbGVtZW50c5KSAZKjMS4wqnRleHQvcGxhaW6SApKoMC45OTk5MTSqdGV4dC9wbGFpbqR0eXBlpVR1cGxlqG9iamVjdGlksDE1Nzc4OTU4ZmY3OWYyYTLZIWFwcGxpY2F0aW9uL3ZuZC5wbHV0by50cmVlK29iamVjdKJpZLlNYWluX3dvcmtzcGFjZSMyXzEzYWI4NDJjpGZpbGXZXS9Vc2Vycy9hdGVsaWVyL3dvcmsvTXlWTUMvcGxheWdyb3VuZC9wbHV0by9tdmNfbmV3LmpsIz09I2E1OGFmNjg5LTUyNjMtNGQ1Mi1hZWFjLTk2ZGZjMTg2OTM4NqVncm91cKdtdmNfbmV3pWxldmVspEluZm+IpGxpbmX/o21zZ5KizrGqdGV4dC9wbGFpbqdjZWxsX2lk2SQwYzdhMDE3NS04ZWJkLTRlODktOWJhMC05Nzk3YWE4ZTQ1NTama3dhcmdzkZKtKM6xX25leHQsIM6xKZKDqGVsZW1lbnRzkpIBkqMxLjCqdGV4dC9wbGFpbpICkqMxLjCqdGV4dC9wbGFpbqR0eXBlpVR1cGxlqG9iamVjdGlksDg1OTA1NTk3MmEzMWQyMDDZIWFwcGxpY2F0aW9uL3ZuZC5wbHV0by50cmVlK29iamVjdKJpZLlNYWluX3dvcmtzcGFjZSMyXzEzYWI4NDJjpGZpbGXZXS9Vc2Vycy9hdGVsaWVyL3dvcmsvTXlWTUMvcGxheWdyb3VuZC9wbHV0by9tdmNfbmV3LmpsIz09I2E1OGFmNjg5LTUyNjMtNGQ1Mi1hZWFjLTk2ZGZjMTg2OTM4NqVncm91cKdtdmNfbmV3pWxldmVspEluZm+IpGxpbmX/o21zZ5LZ0uOCqOODjeODq+OCruODvOOBjOacgOWwj+OBq+OBquOCi+WkieWIhuODkeODqeODoeODvOOCv+OBrzEuMDAwMDAwMDAwNwrln7rlupXnirbmhYvjga7jgqjjg43jg6vjgq7jg7zjga8tMC41MDAwMDAwMDAwCiAgNi44MDU4NzYgc2Vjb25kcyAoNTAwLjM1IGsgYWxsb2NhdGlvbnM6IDM1LjAzNyBNaUIsIDAuMTQlIGdjIHRpbWUsIDUuMTUlIGNvbXBpbGF0aW9uIHRpbWUpCqp0ZXh0L3BsYWlup2NlbGxfaWTZJDBjN2EwMTc1LThlYmQtNGU4OS05YmEwLTk3OTdhYThlNDU1NqZrd2FyZ3OQomlktFBsdXRvUnVubmVyX2QxYWNiODFlpGZpbGXZVC9Vc2Vycy9hdGVsaWVyLy5qdWxpYS9wYWNrYWdlcy9QbHV0by9La1ZMSS9zcmMvcnVubmVyL1BsdXRvUnVubmVyL3NyYy9QbHV0b1J1bm5lci5qbKVncm91cKtQbHV0b1J1bm5lcqVsZXZlbK5Mb2dMZXZlbCgtNTU1KadydW5uaW5nwqZvdXRwdXSGpGJvZHmgpG1pbWWqdGV4dC9wbGFpbqxyb290YXNzaWduZWXAsmxhc3RfcnVuX3RpbWVzdGFtcMtB2WU8X3OXs7BwZXJzaXN0X2pzX3N0YXRlwrdoYXNfcGx1dG9faG9va19mZWF0dXJlc8KnY2VsbF9pZNkkMGM3YTAxNzUtOGViZC00ZTg5LTliYTAtOTc5N2FhOGU0NTU2uWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXPAAAAAZbB/K+1cHVibGlzaGVkX29iamVjdF9rZXlzkLhkZXBlbmRzX29uX3NraXBwZWRfY2VsbHPCp2Vycm9yZWTC2SQ0MDRlNGJkYS1lZTJkLTRjYTktYTM5NS00MjQxYTQyMWE2ZTiKpnF1ZXVlZMKkbG9nc5GIpGxpbmX/o21zZ5LZRFRlc3QgU3VtbWFyeTogfCBQYXNzICBUb3RhbCAgVGltZQpzZXQyemVybyEgICAgIHwgICAgMSAgICAgIDEgIDAuMHMKqnRleHQvcGxhaW6nY2VsbF9pZNkkNDA0ZTRiZGEtZWUyZC00Y2E5LWEzOTUtNDI0MWE0MjFhNmU4pmt3YXJnc5CiaWS0UGx1dG9SdW5uZXJfZDFhY2I4MWWkZmlsZdlUL1VzZXJzL2F0ZWxpZXIvLmp1bGlhL3BhY2thZ2VzL1BsdXRvL0trVkxJL3NyYy9ydW5uZXIvUGx1dG9SdW5uZXIvc3JjL1BsdXRvUnVubmVyLmpspWdyb3Vwq1BsdXRvUnVubmVypWxldmVsrkxvZ0xldmVsKC01NTUpp3J1bm5pbmfCpm91dHB1dIakYm9keYWmcHJlZml4s1Rlc3QuRGVmYXVsdFRlc3RTZXSoZWxlbWVudHOakqtkZXNjcmlwdGlvbpKrInNldDJ6ZXJvISKqdGV4dC9wbGFpbpKncmVzdWx0c5KFpnByZWZpeKNBbnmoZWxlbWVudHOQpHR5cGWlQXJyYXmscHJlZml4X3Nob3J0oKhvYmplY3RpZLBhMzE5MmEwZmQ2NTExYzRk2SFhcHBsaWNhdGlvbi92bmQucGx1dG8udHJlZStvYmplY3SSqG5fcGFzc2VkkqExqnRleHQvcGxhaW6SqmFueW5vbnBhc3OSpWZhbHNlqnRleHQvcGxhaW6Sp3ZlcmJvc2WSpWZhbHNlqnRleHQvcGxhaW6SqnNob3d0aW1pbmeSpHRydWWqdGV4dC9wbGFpbpKqdGltZV9zdGFydJKzMS43MDQyNTk5NTUzNTg3NTJlOap0ZXh0L3BsYWlukqh0aW1lX2VuZJKzMS43MDQyNTk5NTUzODQwOTJlOap0ZXh0L3BsYWlukqhmYWlsZmFzdJKlZmFsc2WqdGV4dC9wbGFpbpKkZmlsZZLZXCIvVXNlcnMvYXRlbGllci93b3JrL015Vk1DL3BsYXlncm91biIg4ouvIDIzIGJ5dGVzIOKLryAiMDRlNGJkYS1lZTJkLTRjYTktYTM5NS00MjQxYTQyMWE2ZTgiqnRleHQvcGxhaW6kdHlwZaZzdHJ1Y3SscHJlZml4X3Nob3J0rkRlZmF1bHRUZXN0U2V0qG9iamVjdGlksGYyMmM0MzM3N2NkOTFiYjekbWltZdkhYXBwbGljYXRpb24vdm5kLnBsdXRvLnRyZWUrb2JqZWN0rHJvb3Rhc3NpZ25lZcCybGFzdF9ydW5fdGltZXN0YW1wy0HZZTxdHHlPsHBlcnNpc3RfanNfc3RhdGXCt2hhc19wbHV0b19ob29rX2ZlYXR1cmVzwqdjZWxsX2lk2SQ0MDRlNGJkYS1lZTJkLTRjYTktYTM5NS00MjQxYTQyMWE2ZTi5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc4Etd9RtXB1Ymxpc2hlZF9vYmplY3Rfa2V5c5C4ZGVwZW5kc19vbl9za2lwcGVkX2NlbGxzwqdlcnJvcmVkwtkkNmYzNDk5MDUtNTZkMC00MGZhLWIyOTAtMDM2YzI1OGNhZGNiiqZxdWV1ZWTCpGxvZ3OQp3J1bm5pbmfCpm91dHB1dIakYm9kedmcPGRpdiBjbGFzcz0icGx1dG8tZG9jcy1iaW5kaW5nIj4KPHNwYW4+c2V0Mnplcm8hPC9zcGFuPgo8ZGl2IGNsYXNzPSJtYXJrZG93biI+PHByZT48Y29kZT5DIHBvcnQgdG8gSnVsaWEgZm9yICYjOTY7c2hva2lrYSYjOTY7PC9jb2RlPjwvcHJlPgoKCjwvZGl2Pgo8L2Rpdj4KpG1pbWWpdGV4dC9odG1srHJvb3Rhc3NpZ25lZcCybGFzdF9ydW5fdGltZXN0YW1wy0HZZTxcw5RPsHBlcnNpc3RfanNfc3RhdGXCt2hhc19wbHV0b19ob29rX2ZlYXR1cmVzwqdjZWxsX2lk2SQ2ZjM0OTkwNS01NmQwLTQwZmEtYjI5MC0wMzZjMjU4Y2FkY2K5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc4AT25JtXB1Ymxpc2hlZF9vYmplY3Rfa2V5c5C4ZGVwZW5kc19vbl9za2lwcGVkX2NlbGxzwqdlcnJvcmVkwtkkNDdhMDM0ZmEtYTk1ZS0xMWVlLTIxZTYtYjEwMGY1OGRmZjUyiqZxdWV1ZWTCpGxvZ3OQp3J1bm5pbmfCpm91dHB1dIakYm9keaCkbWltZap0ZXh0L3BsYWlurHJvb3Rhc3NpZ25lZcCybGFzdF9ydW5fdGltZXN0YW1wy0HZZTxcYzRlsHBlcnNpc3RfanNfc3RhdGXCt2hhc19wbHV0b19ob29rX2ZlYXR1cmVzwqdjZWxsX2lk2SQ0N2EwMzRmYS1hOTVlLTExZWUtMjFlNi1iMTAwZjU4ZGZmNTK5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc4AB/XWtXB1Ymxpc2hlZF9vYmplY3Rfa2V5c5C4ZGVwZW5kc19vbl9za2lwcGVkX2NlbGxzwqdlcnJvcmVkwtkkZGRiYmVlZDgtMjNlYy00MjgyLWI1ZDEtYzlhNmZlOGQ4YThiiqZxdWV1ZWTCpGxvZ3OWiKRsaW5l/6Ntc2eSos6xqnRleHQvcGxhaW6nY2VsbF9pZNkkZGRiYmVlZDgtMjNlYy00MjgyLWI1ZDEtYzlhNmZlOGQ4YThipmt3YXJnc5GSrSjOsV9uZXh0LCDOsSmSg6hlbGVtZW50c5KSAZKnMS4xMzY1NKp0ZXh0L3BsYWlukgKSozAuOKp0ZXh0L3BsYWlupHR5cGWlVHVwbGWob2JqZWN0aWSwYTc4MWNjNGM1NjljNmI2MtkhYXBwbGljYXRpb24vdm5kLnBsdXRvLnRyZWUrb2JqZWN0omlkuU1haW5fd29ya3NwYWNlIzJfMTNhYjg0MmOkZmlsZdldL1VzZXJzL2F0ZWxpZXIvd29yay9NeVZNQy9wbGF5Z3JvdW5kL3BsdXRvL212Y19uZXcuamwjPT0jYTU4YWY2ODktNTI2My00ZDUyLWFlYWMtOTZkZmMxODY5Mzg2pWdyb3Vwp212Y19uZXelbGV2ZWykSW5mb4ikbGluZf+jbXNnkqLOsap0ZXh0L3BsYWlup2NlbGxfaWTZJGRkYmJlZWQ4LTIzZWMtNDI4Mi1iNWQxLWM5YTZmZThkOGE4YqZrd2FyZ3ORkq0ozrFfbmV4dCwgzrEpkoOoZWxlbWVudHOSkgGSpzEuMDEzMDSqdGV4dC9wbGFpbpICkqcxLjEzNjU0qnRleHQvcGxhaW6kdHlwZaVUdXBsZahvYmplY3RpZLA4NTcxM2ExNzU2OWZmN2U42SFhcHBsaWNhdGlvbi92bmQucGx1dG8udHJlZStvYmplY3SiaWS5TWFpbl93b3Jrc3BhY2UjMl8xM2FiODQyY6RmaWxl2V0vVXNlcnMvYXRlbGllci93b3JrL015Vk1DL3BsYXlncm91bmQvcGx1dG8vbXZjX25ldy5qbCM9PSNhNThhZjY4OS01MjYzLTRkNTItYWVhYy05NmRmYzE4NjkzODalZ3JvdXCnbXZjX25ld6VsZXZlbKRJbmZviKRsaW5l/6Ntc2eSos6xqnRleHQvcGxhaW6nY2VsbF9pZNkkZGRiYmVlZDgtMjNlYy00MjgyLWI1ZDEtYzlhNmZlOGQ4YThipmt3YXJnc5GSrSjOsV9uZXh0LCDOsSmSg6hlbGVtZW50c5KSAZKnMS4wMDAwOKp0ZXh0L3BsYWlukgKSpzEuMDEzMDSqdGV4dC9wbGFpbqR0eXBlpVR1cGxlqG9iamVjdGlksGM4OGNlMzJmMGEwZGY1ZjLZIWFwcGxpY2F0aW9uL3ZuZC5wbHV0by50cmVlK29iamVjdKJpZLlNYWluX3dvcmtzcGFjZSMyXzEzYWI4NDJjpGZpbGXZXS9Vc2Vycy9hdGVsaWVyL3dvcmsvTXlWTUMvcGxheWdyb3VuZC9wbHV0by9tdmNfbmV3LmpsIz09I2E1OGFmNjg5LTUyNjMtNGQ1Mi1hZWFjLTk2ZGZjMTg2OTM4NqVncm91cKdtdmNfbmV3pWxldmVspEluZm+IpGxpbmX/o21zZ5KizrGqdGV4dC9wbGFpbqdjZWxsX2lk2SRkZGJiZWVkOC0yM2VjLTQyODItYjVkMS1jOWE2ZmU4ZDhhOGKma3dhcmdzkZKtKM6xX25leHQsIM6xKZKDqGVsZW1lbnRzkpIBkqMxLjCqdGV4dC9wbGFpbpICkqcxLjAwMDA4qnRleHQvcGxhaW6kdHlwZaVUdXBsZahvYmplY3RpZLAzMDAyMTc3NmY1NWJlYjI02SFhcHBsaWNhdGlvbi92bmQucGx1dG8udHJlZStvYmplY3SiaWS5TWFpbl93b3Jrc3BhY2UjMl8xM2FiODQyY6RmaWxl2V0vVXNlcnMvYXRlbGllci93b3JrL015Vk1DL3BsYXlncm91bmQvcGx1dG8vbXZjX25ldy5qbCM9PSNhNThhZjY4OS01MjYzLTRkNTItYWVhYy05NmRmYzE4NjkzODalZ3JvdXCnbXZjX25ld6VsZXZlbKRJbmZviKRsaW5l/6Ntc2eSos6xqnRleHQvcGxhaW6nY2VsbF9pZNkkZGRiYmVlZDgtMjNlYy00MjgyLWI1ZDEtYzlhNmZlOGQ4YThipmt3YXJnc5GSrSjOsV9uZXh0LCDOsSmSg6hlbGVtZW50c5KSAZKjMS4wqnRleHQvcGxhaW6SApKjMS4wqnRleHQvcGxhaW6kdHlwZaVUdXBsZahvYmplY3RpZLBmYzFkN2E3ZTM2OTIxNjE02SFhcHBsaWNhdGlvbi92bmQucGx1dG8udHJlZStvYmplY3SiaWS5TWFpbl93b3Jrc3BhY2UjMl8xM2FiODQyY6RmaWxl2V0vVXNlcnMvYXRlbGllci93b3JrL015Vk1DL3BsYXlncm91bmQvcGx1dG8vbXZjX25ldy5qbCM9PSNhNThhZjY4OS01MjYzLTRkNTItYWVhYy05NmRmYzE4NjkzODalZ3JvdXCnbXZjX25ld6VsZXZlbKRJbmZviKRsaW5l/6Ntc2eS2arjgqjjg43jg6vjgq7jg7zjgYzmnIDlsI/jgavjgarjgovlpInliIbjg5Hjg6njg6Hjg7zjgr/jga8xLjAwMDAwMDAwMDcK5Z+65bqV54q25oWL44Gu44Ko44ON44Or44Ku44O844GvLTAuNTAwMDAwMDAwMAogIDcuOTMzMjY0IHNlY29uZHMgKDIuNzEgayBhbGxvY2F0aW9uczogNTMxLjQ1MyBLaUIpCqp0ZXh0L3BsYWlup2NlbGxfaWTZJGRkYmJlZWQ4LTIzZWMtNDI4Mi1iNWQxLWM5YTZmZThkOGE4YqZrd2FyZ3OQomlktFBsdXRvUnVubmVyX2QxYWNiODFlpGZpbGXZVC9Vc2Vycy9hdGVsaWVyLy5qdWxpYS9wYWNrYWdlcy9QbHV0by9La1ZMSS9zcmMvcnVubmVyL1BsdXRvUnVubmVyL3NyYy9QbHV0b1J1bm5lci5qbKVncm91cKtQbHV0b1J1bm5lcqVsZXZlbK5Mb2dMZXZlbCgtNTU1KadydW5uaW5nwqZvdXRwdXSGpGJvZHmgpG1pbWWqdGV4dC9wbGFpbqxyb290YXNzaWduZWXAsmxhc3RfcnVuX3RpbWVzdGFtcMtB2WU8ZMM5GbBwZXJzaXN0X2pzX3N0YXRlwrdoYXNfcGx1dG9faG9va19mZWF0dXJlc8KnY2VsbF9pZNkkZGRiYmVlZDgtMjNlYy00MjgyLWI1ZDEtYzlhNmZlOGQ4YThiuWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXPAAAAAdjlSwO1cHVibGlzaGVkX29iamVjdF9rZXlzkLhkZXBlbmRzX29uX3NraXBwZWRfY2VsbHPCp2Vycm9yZWTC2SQ5MTgxMWI2ZC03NzQ0LTRmYmMtYjljYi0zODAwYTFmOGJjOWGKpnF1ZXVlZMKkbG9nc5CncnVubmluZ8Kmb3V0cHV0hqRib2R5oKRtaW1lqnRleHQvcGxhaW6scm9vdGFzc2lnbmVlwLJsYXN0X3J1bl90aW1lc3RhbXDLQdllPFxukjawcGVyc2lzdF9qc19zdGF0ZcK3aGFzX3BsdXRvX2hvb2tfZmVhdHVyZXPCp2NlbGxfaWTZJDkxODExYjZkLTc3NDQtNGZiYy1iOWNiLTM4MDBhMWY4YmM5YblkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzgAFVzm1cHVibGlzaGVkX29iamVjdF9rZXlzkLhkZXBlbmRzX29uX3NraXBwZWRfY2VsbHPCp2Vycm9yZWTC2SQ2NDI5MTFjNi02OThjLTQwYmItYmVjNi1jODg4MzNjNmNhYTWKpnF1ZXVlZMKkbG9nc5CncnVubmluZ8Kmb3V0cHV0hqRib2R52TFtZXRyb3BvbGlzX3Rlc3QhIChnZW5lcmljIGZ1bmN0aW9uIHdpdGggMSBtZXRob2QppG1pbWWqdGV4dC9wbGFpbqxyb290YXNzaWduZWXAsmxhc3RfcnVuX3RpbWVzdGFtcMtB2WU8XZIdk7BwZXJzaXN0X2pzX3N0YXRlwrdoYXNfcGx1dG9faG9va19mZWF0dXJlc8KnY2VsbF9pZNkkNjQyOTExYzYtNjk4Yy00MGJiLWJlYzYtYzg4ODMzYzZjYWE1uWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXOAEvsYLVwdWJsaXNoZWRfb2JqZWN0X2tleXOQuGRlcGVuZHNfb25fc2tpcHBlZF9jZWxsc8KnZXJyb3JlZMLZJGI4ZjJjMGRkLWZlMTQtNGE5OC05MjcyLTg3MjkzNDMxN2E3N4qmcXVldWVkwqRsb2dzkYikbGluZf+jbXNnktoBGWRhdGExID0gWy0wLjM5MDgzMTcxODcxNzAzNDI2LCAtMC41MDUwNDkyOTc3MTc3Mzc3LCAtMS4yMTkzNjA0Nzc2MTMwNzEzLCAxLjI2MjkxOTQ4MTg2MDM5LCAxLjQxNzc3Nzg5ODM2NTE0ODEsIDAuMzMxODI1OTM0MzM2MTI3NCwgLTAuMTQxMDE4NDQyNjYwMTgxNywgMS42OTk0NDE4NzYwMTI3NzEsIC0xLjYwMzQ5NzYxMzcyODkzNTIsIC0wLjg0OTIzMjcwNDE1NDIxNzRdClRlc3QgU3VtbWFyeTogfCBQYXNzICBUb3RhbCAgVGltZQppbml0Y2ZnISAgICAgIHwgICAgMyAgICAgIDMgIDAuMXMKqnRleHQvcGxhaW6nY2VsbF9pZNkkYjhmMmMwZGQtZmUxNC00YTk4LTkyNzItODcyOTM0MzE3YTc3pmt3YXJnc5CiaWS0UGx1dG9SdW5uZXJfZDFhY2I4MWWkZmlsZdlUL1VzZXJzL2F0ZWxpZXIvLmp1bGlhL3BhY2thZ2VzL1BsdXRvL0trVkxJL3NyYy9ydW5uZXIvUGx1dG9SdW5uZXIvc3JjL1BsdXRvUnVubmVyLmpspWdyb3Vwq1BsdXRvUnVubmVypWxldmVsrkxvZ0xldmVsKC01NTUpp3J1bm5pbmfCpm91dHB1dIakYm9keYWmcHJlZml4s1Rlc3QuRGVmYXVsdFRlc3RTZXSoZWxlbWVudHOakqtkZXNjcmlwdGlvbpKqImluaXRjZmchIqp0ZXh0L3BsYWlukqdyZXN1bHRzkoWmcHJlZml4o0FueahlbGVtZW50c5CkdHlwZaVBcnJheaxwcmVmaXhfc2hvcnSgqG9iamVjdGlksDE2MTI2NWUyYzgyMGM1NmTZIWFwcGxpY2F0aW9uL3ZuZC5wbHV0by50cmVlK29iamVjdJKobl9wYXNzZWSSoTOqdGV4dC9wbGFpbpKqYW55bm9ucGFzc5KlZmFsc2WqdGV4dC9wbGFpbpKndmVyYm9zZZKlZmFsc2WqdGV4dC9wbGFpbpKqc2hvd3RpbWluZ5KkdHJ1Zap0ZXh0L3BsYWlukqp0aW1lX3N0YXJ0krMxLjcwNDI1OTk1NzYxNTE3OGU5qnRleHQvcGxhaW6SqHRpbWVfZW5kkrMxLjcwNDI1OTk1NzczMjc2N2U5qnRleHQvcGxhaW6SqGZhaWxmYXN0kqVmYWxzZap0ZXh0L3BsYWlukqRmaWxlktlcIi9Vc2Vycy9hdGVsaWVyL3dvcmsvTXlWTUMvcGxheWdyb3VuIiDii68gMjMgYnl0ZXMg4ouvICI4ZjJjMGRkLWZlMTQtNGE5OC05MjcyLTg3MjkzNDMxN2E3NyKqdGV4dC9wbGFpbqR0eXBlpnN0cnVjdKxwcmVmaXhfc2hvcnSuRGVmYXVsdFRlc3RTZXSob2JqZWN0aWSwYWY0NzY0YjVlZWI2MTI1MaRtaW1l2SFhcHBsaWNhdGlvbi92bmQucGx1dG8udHJlZStvYmplY3Sscm9vdGFzc2lnbmVlwLJsYXN0X3J1bl90aW1lc3RhbXDLQdllPF1vI5qwcGVyc2lzdF9qc19zdGF0ZcK3aGFzX3BsdXRvX2hvb2tfZmVhdHVyZXPCp2NlbGxfaWTZJGI4ZjJjMGRkLWZlMTQtNGE5OC05MjcyLTg3MjkzNDMxN2E3N7lkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzgu7TKi1cHVibGlzaGVkX29iamVjdF9rZXlzkLhkZXBlbmRzX29uX3NraXBwZWRfY2VsbHPCp2Vycm9yZWTC2SQwNjhjYjk3ZS04NzA0LTQ1OGUtOGZlZi0yOGFmNmVmYTU5NmKKpnF1ZXVlZMKkbG9nc5CncnVubmluZ8Kmb3V0cHV0hqRib2R52SdyYWRpdXMgKGdlbmVyaWMgZnVuY3Rpb24gd2l0aCAxIG1ldGhvZCmkbWltZap0ZXh0L3BsYWlurHJvb3Rhc3NpZ25lZcCybGFzdF9ydW5fdGltZXN0YW1wy0HZZTxdgK7RsHBlcnNpc3RfanNfc3RhdGXCt2hhc19wbHV0b19ob29rX2ZlYXR1cmVzwqdjZWxsX2lk2SQwNjhjYjk3ZS04NzA0LTQ1OGUtOGZlZi0yOGFmNmVmYTU5NmK5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc4ACv6AtXB1Ymxpc2hlZF9vYmplY3Rfa2V5c5C4ZGVwZW5kc19vbl9za2lwcGVkX2NlbGxzwqdlcnJvcmVkwtkkYTU4YWY2ODktNTI2My00ZDUyLWFlYWMtOTZkZmMxODY5Mzg2iqZxdWV1ZWTCpGxvZ3OQp3J1bm5pbmfCpm91dHB1dIakYm9kedklbWFpbiAoZ2VuZXJpYyBmdW5jdGlvbiB3aXRoIDEgbWV0aG9kKaRtaW1lqnRleHQvcGxhaW6scm9vdGFzc2lnbmVlwLJsYXN0X3J1bl90aW1lc3RhbXDLQdllPF2ikUOwcGVyc2lzdF9qc19zdGF0ZcK3aGFzX3BsdXRvX2hvb2tfZmVhdHVyZXPCp2NlbGxfaWTZJGE1OGFmNjg5LTUyNjMtNGQ1Mi1hZWFjLTk2ZGZjMTg2OTM4NrlkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzgD6ew61cHVibGlzaGVkX29iamVjdF9rZXlzkLhkZXBlbmRzX29uX3NraXBwZWRfY2VsbHPCp2Vycm9yZWTCq3N0YXR1c190cmVlhKRuYW1lqG5vdGVib29rqHN1YnRhc2tzhKZzYXZpbmeEpG5hbWWmc2F2aW5nqHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2WU8ZMQ+R6pzdGFydGVkX2F0y0HZZTxkxDaxqXdvcmtzcGFjZYSkbmFtZal3b3Jrc3BhY2Woc3VidGFza3OCrGluaXRfcHJvY2Vzc4SkbmFtZaxpbml0X3Byb2Nlc3Ooc3VidGFza3OEoTSEpG5hbWWhNKhzdWJ0YXNrc4CrZmluaXNoZWRfYXTLQdllPFrirWCqc3RhcnRlZF9hdMtB2WU8WkKAAqExhKRuYW1loTGoc3VidGFza3OAq2ZpbmlzaGVkX2F0y0HZZTxaNZmmqnN0YXJ0ZWRfYXTLQdllPFnGmhehMoSkbmFtZaEyqHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2WU8WjxLDqpzdGFydGVkX2F0y0HZZTxaNbGzoTOEpG5hbWWhM6hzdWJ0YXNrc4CrZmluaXNoZWRfYXTLQdllPFpCaGaqc3RhcnRlZF9hdMtB2WU8Wjxky6tmaW5pc2hlZF9hdMtB2WU8WuLJEKpzdGFydGVkX2F0y0HZZTxZxpntrmNyZWF0ZV9wcm9jZXNzhKRuYW1lrmNyZWF0ZV9wcm9jZXNzqHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2WU8WcaCtqpzdGFydGVkX2F0y0HZZTxYP5zUq2ZpbmlzaGVkX2F0y0HZZTxa4skdqnN0YXJ0ZWRfYXTLQdllPFg/nLejcGtnhKRuYW1lo3BrZ6hzdWJ0YXNrc4GoYW5hbHlzaXOEpG5hbWWoYW5hbHlzaXOoc3VidGFza3OAq2ZpbmlzaGVkX2F0y0HZZTxkw2HpqnN0YXJ0ZWRfYXTLQdllPGTDW5+rZmluaXNoZWRfYXTLQdllPGTDYe2qc3RhcnRlZF9hdMtB2WU8ZMNbiqNydW6EpG5hbWWjcnVuqHN1YnRhc2tzgrByZXNvbHZlX3RvcG9sb2d5hKRuYW1lsHJlc29sdmVfdG9wb2xvZ3moc3VidGFza3OAq2ZpbmlzaGVkX2F0y0HZZTxkxD5XqnN0YXJ0ZWRfYXTLQdllPGTDhtOoZXZhbHVhdGWEpG5hbWWoZXZhbHVhdGWoc3VidGFza3OBoTGEpG5hbWWhMahzdWJ0YXNrc4CrZmluaXNoZWRfYXTLQdllPGZjGhWqc3RhcnRlZF9hdMtB2WU8ZMRWVKtmaW5pc2hlZF9hdMtB2WU8ZmM7R6pzdGFydGVkX2F0y0HZZTxkxD5Xq2ZpbmlzaGVkX2F0y0HZZTxmYztHqnN0YXJ0ZWRfYXTLQdllPGTDhq2rZmluaXNoZWRfYXTAqnN0YXJ0ZWRfYXTLQdllOt6gaZCxY2VsbF9kZXBlbmRlbmNpZXON2SRmOTMzZTFkYi1iNjMxLTQ5M2UtOTQ3NC1lMGE0NmRmMzBlOGGEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SRmOTMzZTFkYi1iNjMxLTQ5M2UtOTQ3NC1lMGE0NmRmMzBlOGG0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcI2lQHRpbWWQs0Jhc2UuZ2NfYWxsb2NfY291bnSQpkJhc2UuLZCrQmFzZS5nY19udW2QqkJhc2UuZmlyc3SQrEJhc2UuR0NfRGlmZpC/QmFzZS5jdW11bGF0aXZlX2NvbXBpbGVfdGltZV9uc5CpQmFzZS5sYXN0kKRCYXNlkK9CYXNlLnRpbWVfcHJpbnSQpG1haW6R2SRhNThhZjY4OS01MjYzLTRkNTItYWVhYy05NmRmYzE4NjkzODasQmFzZS50aW1lX25zkL5CYXNlLmN1bXVsYXRpdmVfY29tcGlsZV90aW1pbmeQ2SQ1OTA2ZmExOS1iMjViLTRjNDYtOWM1ZC1kYTBjNDkwZDBjZTaEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SQ1OTA2ZmExOS1iMjViLTRjNDYtOWM1ZC1kYTBjNDkwZDBjZTa0ZG93bnN0cmVhbV9jZWxsc19tYXCBqGluaXRjZmchktkkYjhmMmMwZGQtZmUxNC00YTk4LTkyNzItODcyOTM0MzE3YTc32SRhNThhZjY4OS01MjYzLTRkNTItYWVhYy05NmRmYzE4NjkzODaydXBzdHJlYW1fY2VsbHNfbWFwhaZsZW5ndGiQoS2QrkFic3RyYWN0VmVjdG9ykKEqkKRyYW5kkNkkN2JiZjUwMjUtMDM0Ni00MTA0LWE0N2EtNjNmNDkyZmM0MDI4hLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkN2JiZjUwMjUtMDM0Ni00MTA0LWE0N2EtNjNmNDkyZmM0MDI4tGRvd25zdHJlYW1fY2VsbHNfbWFwgLJ1cHN0cmVhbV9jZWxsc19tYXCCp0BtZF9zdHKQqGdldGluZGV4kNkkMGM3YTAxNzUtOGViZC00ZTg5LTliYTAtOTc5N2FhOGU0NTU2hLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkMGM3YTAxNzUtOGViZC00ZTg5LTliYTAtOTc5N2FhOGU0NTU2tGRvd25zdHJlYW1fY2VsbHNfbWFwgLJ1cHN0cmVhbV9jZWxsc19tYXCNpUB0aW1lkLNCYXNlLmdjX2FsbG9jX2NvdW50kKZCYXNlLi2Qq0Jhc2UuZ2NfbnVtkKpCYXNlLmZpcnN0kKxCYXNlLkdDX0RpZmaQv0Jhc2UuY3VtdWxhdGl2ZV9jb21waWxlX3RpbWVfbnOQqUJhc2UubGFzdJCkQmFzZZCvQmFzZS50aW1lX3ByaW50kKRtYWlukdkkYTU4YWY2ODktNTI2My00ZDUyLWFlYWMtOTZkZmMxODY5Mzg2rEJhc2UudGltZV9uc5C+QmFzZS5jdW11bGF0aXZlX2NvbXBpbGVfdGltaW5nkNkkNDA0ZTRiZGEtZWUyZC00Y2E5LWEzOTUtNDI0MWE0MjFhNmU4hLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkNDA0ZTRiZGEtZWUyZC00Y2E5LWEzOTUtNDI0MWE0MjFhNmU4tGRvd25zdHJlYW1fY2VsbHNfbWFwgLJ1cHN0cmVhbV9jZWxsc19tYXDeACGpVGVzdC5jb3B5kKxUZXN0LnJldGhyb3eQqlRlc3QuRXJyb3KQsVRlc3QuUmFuZG9tLnNlZWQhkLBUZXN0LnBvcF90ZXN0c2V0kKRUZXN0kdkkOTE4MTFiNmQtNzc0NC00ZmJjLWI5Y2ItMzgwMGExZjhiYzlhvFRlc3QuUmFuZG9tLnNldF9nbG9iYWxfc2VlZCGQrlRlc3QuZXZhbF90ZXN0kLxUZXN0LkJhc2UuY3VycmVudF9leGNlcHRpb25zkKpUZXN0LmNvcHkhkKhUZXN0LmlzYZCrVGVzdC5yZWNvcmSQs1Rlc3QuX2NoZWNrX3Rlc3RzZXSQqVRlc3QuRXhwcpCqVGVzdC5UaHJld5CwVGVzdC5kZWZhdWx0X3JuZ5CxVGVzdC5wdXNoX3Rlc3RzZXSQpUB0ZXN0kLNUZXN0LmZhaWxmYXN0X3ByaW50kKI9PZCrVGVzdC50eXBlb2aQtlRlc3QuZ2V0X3Rlc3RzZXRfZGVwdGiQpXplcm9zkLBUZXN0LmdldF90ZXN0c2V0kKtUZXN0LmZpbmlzaJCkcmFuZJC/VGVzdC50cmlnZ2VyX3Rlc3RfZmFpbHVyZV9icmVha5CnVGVzdC49PZCrVGVzdC5Ccm9rZW6QqXNldDJ6ZXJvIZHZJDZmMzQ5OTA1LTU2ZDAtNDBmYS1iMjkwLTAzNmMyNThjYWRjYqhUZXN0Lj09PZCoQHRlc3RzZXSQplRlc3QuPpDZJDZmMzQ5OTA1LTU2ZDAtNDBmYS1iMjkwLTAzNmMyNThjYWRjYoS0cHJlY2VkZW5jZV9oZXVyaXN0aWMJp2NlbGxfaWTZJDZmMzQ5OTA1LTU2ZDAtNDBmYS1iMjkwLTAzNmMyNThjYWRjYrRkb3duc3RyZWFtX2NlbGxzX21hcIGpc2V0Mnplcm8hktkkNDA0ZTRiZGEtZWUyZC00Y2E5LWEzOTUtNDI0MWE0MjFhNmU42SRhNThhZjY4OS01MjYzLTRkNTItYWVhYy05NmRmYzE4NjkzODaydXBzdHJlYW1fY2VsbHNfbWFwiaRAZG9jkKR6ZXJvkKFUkK5BYnN0cmFjdFZlY3RvcpClVHVwbGWQpmVsdHlwZZClZmlsbCGQpVVuaW9ukLojX19fdGhpc19wbHV0b19tb2R1bGVfbmFtZZDZJDQ3YTAzNGZhLWE5NWUtMTFlZS0yMWU2LWIxMDBmNThkZmY1MoS0cHJlY2VkZW5jZV9oZXVyaXN0aWMHp2NlbGxfaWTZJDQ3YTAzNGZhLWE5NWUtMTFlZS0yMWU2LWIxMDBmNThkZmY1MrRkb3duc3RyZWFtX2NlbGxzX21hcIKqU3RhdGlzdGljc5CmUHJpbnRmkLJ1cHN0cmVhbV9jZWxsc19tYXCA2SRkZGJiZWVkOC0yM2VjLTQyODItYjVkMS1jOWE2ZmU4ZDhhOGKEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SRkZGJiZWVkOC0yM2VjLTQyODItYjVkMS1jOWE2ZmU4ZDhhOGK0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcI2lQHRpbWWQs0Jhc2UuZ2NfYWxsb2NfY291bnSQpkJhc2UuLZCrQmFzZS5nY19udW2QqkJhc2UuZmlyc3SQrEJhc2UuR0NfRGlmZpC/QmFzZS5jdW11bGF0aXZlX2NvbXBpbGVfdGltZV9uc5CpQmFzZS5sYXN0kKRCYXNlkK9CYXNlLnRpbWVfcHJpbnSQpG1haW6R2SRhNThhZjY4OS01MjYzLTRkNTItYWVhYy05NmRmYzE4NjkzODasQmFzZS50aW1lX25zkL5CYXNlLmN1bXVsYXRpdmVfY29tcGlsZV90aW1pbmeQ2SQ5MTgxMWI2ZC03NzQ0LTRmYmMtYjljYi0zODAwYTFmOGJjOWGEtHByZWNlZGVuY2VfaGV1cmlzdGljB6djZWxsX2lk2SQ5MTgxMWI2ZC03NzQ0LTRmYmMtYjljYi0zODAwYTFmOGJjOWG0ZG93bnN0cmVhbV9jZWxsc19tYXCBpFRlc3SS2SQ0MDRlNGJkYS1lZTJkLTRjYTktYTM5NS00MjQxYTQyMWE2ZTjZJGI4ZjJjMGRkLWZlMTQtNGE5OC05MjcyLTg3MjkzNDMxN2E3N7J1cHN0cmVhbV9jZWxsc19tYXCA2SQ2NDI5MTFjNi02OThjLTQwYmItYmVjNi1jODg4MzNjNmNhYTWEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SQ2NDI5MTFjNi02OThjLTQwYmItYmVjNi1jODg4MzNjNmNhYTW0ZG93bnN0cmVhbV9jZWxsc19tYXCBsG1ldHJvcG9saXNfdGVzdCGR2SRhNThhZjY4OS01MjYzLTRkNTItYWVhYy05NmRmYzE4NjkzODaydXBzdHJlYW1fY2VsbHNfbWFw3gATpXJhbmRukKNleHCQoTqQrkFic3RyYWN0VmVjdG9ykKZpZmVsc2WQpmlzbGVzc5CnRmxvYXQ2NJCkcmFuZJChPJCpZWFjaGluZGV4kKEtkKPiiaWQoj49kKEvkKZyYWRpdXOR2SQwNjhjYjk3ZS04NzA0LTQ1OGUtOGZlZi0yOGFmNmVmYTU5NmKhK5ChKpCkbWVhbpCjaW52kNkkYjhmMmMwZGQtZmUxNC00YTk4LTkyNzItODcyOTM0MzE3YTc3hLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkYjhmMmMwZGQtZmUxNC00YTk4LTkyNzItODcyOTM0MzE3YTc3tGRvd25zdHJlYW1fY2VsbHNfbWFwgLJ1cHN0cmVhbV9jZWxsc19tYXDeACapVGVzdC5jb3B5kKxUZXN0LnJldGhyb3eQqlRlc3QuRXJyb3KQsVRlc3QuUmFuZG9tLnNlZWQhkLBUZXN0LnBvcF90ZXN0c2V0kKRUZXN0kdkkOTE4MTFiNmQtNzc0NC00ZmJjLWI5Y2ItMzgwMGExZjhiYzlhvFRlc3QuUmFuZG9tLnNldF9nbG9iYWxfc2VlZCGQrVRlc3QuUmV0dXJuZWSQvFRlc3QuQmFzZS5jdXJyZW50X2V4Y2VwdGlvbnOQqlRlc3QuY29weSGQqFRlc3QuaXNhkKtUZXN0LnJlY29yZJCzVGVzdC5fY2hlY2tfdGVzdHNldJCpVGVzdC5FeHBykKpUZXN0LlRocmV3kKIuPJCwVGVzdC5kZWZhdWx0X3JuZ5CjLjw9kLFUZXN0LnB1c2hfdGVzdHNldJClQHRlc3SQs1Rlc3QuZmFpbGZhc3RfcHJpbnSQqGluaXRjZmchkdkkNTkwNmZhMTktYjI1Yi00YzQ2LTljNWQtZGEwYzQ5MGQwY2U2q1Rlc3QudHlwZW9mkLZUZXN0LmdldF90ZXN0c2V0X2RlcHRokKtUZXN0LmZpbmlzaJCwVGVzdC5nZXRfdGVzdHNldJCkcmFuZJC/VGVzdC50cmlnZ2VyX3Rlc3RfZmFpbHVyZV9icmVha5CjYWxskKdUZXN0Lj09kKtUZXN0LkJyb2tlbpCkQmFzZZCpQmFzZS5yZXBykKxCYXNlLnByaW50bG6QqFRlc3QuPT09kKhAdGVzdHNldJCmVGVzdC4+kKVAc2hvd5DZJDA2OGNiOTdlLTg3MDQtNDU4ZS04ZmVmLTI4YWY2ZWZhNTk2YoS0cHJlY2VkZW5jZV9oZXVyaXN0aWMJp2NlbGxfaWTZJDA2OGNiOTdlLTg3MDQtNDU4ZS04ZmVmLTI4YWY2ZWZhNTk2YrRkb3duc3RyZWFtX2NlbGxzX21hcIGmcmFkaXVzkdkkNjQyOTExYzYtNjk4Yy00MGJiLWJlYzYtYzg4ODMzYzZjYWE1snVwc3RyZWFtX2NlbGxzX21hcISkc3FydJChXpCj4oiakKErkNkkYTU4YWY2ODktNTI2My00ZDUyLWFlYWMtOTZkZmMxODY5Mzg2hLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkYTU4YWY2ODktNTI2My00ZDUyLWFlYWMtOTZkZmMxODY5Mzg2tGRvd25zdHJlYW1fY2VsbHNfbWFwgaRtYWluk9kkMGM3YTAxNzUtOGViZC00ZTg5LTliYTAtOTc5N2FhOGU0NTU22SRkZGJiZWVkOC0yM2VjLTQyODItYjVkMS1jOWE2ZmU4ZDhhOGLZJGY5MzNlMWRiLWI2MzEtNDkzZS05NDc0LWUwYTQ2ZGYzMGU4YbJ1cHN0cmVhbV9jZWxsc19tYXDeABqwbWV0cm9wb2xpc190ZXN0IZHZJDY0MjkxMWM2LTY5OGMtNDBiYi1iZWM2LWM4ODgzM2M2Y2FhNaZpc2xlc3OQp0Zsb2F0NjSQ2SdCYXNlLkNvcmVMb2dnaW5nLkJhc2UuZml4dXBfc3RkbGliX3BhdGiQskJhc2UuQ29yZUxvZ2dpbmcuIZCmVmVjdG9ykKE8kKEvkKVAaW5mb5CxQmFzZS5pbnZva2VsYXRlc3SQqGluaXRjZmchkdkkNTkwNmZhMTktYjI1Yi00YzQ2LTljNWQtZGEwYzQ5MGQwY2U2o2Fic5C9QmFzZS5Db3JlTG9nZ2luZy5pbnZva2VsYXRlc3SQtEJhc2UuQ29yZUxvZ2dpbmcuPT09kKV6ZXJvc5C6I19fX3RoaXNfcGx1dG9fbW9kdWxlX25hbWWQpnN0ZG91dJCnQHByaW50ZpCkQmFzZZCpc2V0Mnplcm8hkdkkNmYzNDk5MDUtNTZkMC00MGZhLWIyOTAtMDM2YzI1OGNhZGNioS2QtEJhc2UuQ29yZUxvZ2dpbmcuaXNhkKErkKV1bmRlZpChKpCzQmFzZS5Db3JlTG9nZ2luZy4+PZC0Y2VsbF9leGVjdXRpb25fb3JkZXKd2SQ0N2EwMzRmYS1hOTVlLTExZWUtMjFlNi1iMTAwZjU4ZGZmNTLZJDkxODExYjZkLTc3NDQtNGZiYy1iOWNiLTM4MDBhMWY4YmM5YdkkN2JiZjUwMjUtMDM0Ni00MTA0LWE0N2EtNjNmNDkyZmM0MDI42SQ2ZjM0OTkwNS01NmQwLTQwZmEtYjI5MC0wMzZjMjU4Y2FkY2LZJDQwNGU0YmRhLWVlMmQtNGNhOS1hMzk1LTQyNDFhNDIxYTZlONkkNTkwNmZhMTktYjI1Yi00YzQ2LTljNWQtZGEwYzQ5MGQwY2U22SRiOGYyYzBkZC1mZTE0LTRhOTgtOTI3Mi04NzI5MzQzMTdhNzfZJDA2OGNiOTdlLTg3MDQtNDU4ZS04ZmVmLTI4YWY2ZWZhNTk2YtkkNjQyOTExYzYtNjk4Yy00MGJiLWJlYzYtYzg4ODMzYzZjYWE12SRhNThhZjY4OS01MjYzLTRkNTItYWVhYy05NmRmYzE4NjkzODbZJDBjN2EwMTc1LThlYmQtNGU4OS05YmEwLTk3OTdhYThlNDU1NtkkZGRiYmVlZDgtMjNlYy00MjgyLWI1ZDEtYzlhNmZlOGQ4YThi2SRmOTMzZTFkYi1iNjMxLTQ5M2UtOTQ3NC1lMGE0NmRmMzBlOGG0bGFzdF9ob3RfcmVsb2FkX3RpbWXLAAAAAAAAAACpc2hvcnRwYXRoqm12Y19uZXcuamyucHJvY2Vzc19zdGF0dXOlcmVhZHmkcGF0aNk1L1VzZXJzL2F0ZWxpZXIvd29yay9NeVZNQy9wbGF5Z3JvdW5kL3BsdXRvL212Y19uZXcuamyubGFzdF9zYXZlX3RpbWXLQdllPGTENqyqY2VsbF9vcmRlcp3ZJDdiYmY1MDI1LTAzNDYtNDEwNC1hNDdhLTYzZjQ5MmZjNDAyONkkNDdhMDM0ZmEtYTk1ZS0xMWVlLTIxZTYtYjEwMGY1OGRmZjUy2SQ5MTgxMWI2ZC03NzQ0LTRmYmMtYjljYi0zODAwYTFmOGJjOWHZJDZmMzQ5OTA1LTU2ZDAtNDBmYS1iMjkwLTAzNmMyNThjYWRjYtkkNDA0ZTRiZGEtZWUyZC00Y2E5LWEzOTUtNDI0MWE0MjFhNmU42SQ1OTA2ZmExOS1iMjViLTRjNDYtOWM1ZC1kYTBjNDkwZDBjZTbZJGI4ZjJjMGRkLWZlMTQtNGE5OC05MjcyLTg3MjkzNDMxN2E3N9kkMDY4Y2I5N2UtODcwNC00NThlLThmZWYtMjhhZjZlZmE1OTZi2SQ2NDI5MTFjNi02OThjLTQwYmItYmVjNi1jODg4MzNjNmNhYTXZJGE1OGFmNjg5LTUyNjMtNGQ1Mi1hZWFjLTk2ZGZjMTg2OTM4NtkkMGM3YTAxNzUtOGViZC00ZTg5LTliYTAtOTc5N2FhOGU0NTU22SRkZGJiZWVkOC0yM2VjLTQyODItYjVkMS1jOWE2ZmU4ZDhhOGLZJGY5MzNlMWRiLWI2MzEtNDkzZS05NDc0LWUwYTQ2ZGYzMGU4YbFwdWJsaXNoZWRfb2JqZWN0c4ClbmJwa2eKr2luc3RhbGxfdGltZV9uc8CsaW5zdGFudGlhdGVkw7JpbnN0YWxsZWRfdmVyc2lvbnODqlN0YXRpc3RpY3Omc3RkbGlipFRlc3Smc3RkbGliplByaW50ZqZzdGRsaWKwdGVybWluYWxfb3V0cHV0c4WqU3RhdGlzdGljc9oBiwpJbnN0YW50aWF0aW5nLi4uCgpSZXNvbHZpbmcuLi4KG1szMm0bWzFtICBObyBDaGFuZ2VzG1syMm0bWzM5bSB0byBgL3ByaXZhdGUvdmFyL2ZvbGRlcnMvY18vZjd5NGNnangxMTNkOHJycV90NjNnbHpoMDAwMGdwL1Qvamxfc3c0cnp5L1Byb2plY3QudG9tbGAKG1szMm0bWzFtICBObyBDaGFuZ2VzG1syMm0bWzM5bSB0byBgL3ByaXZhdGUvdmFyL2ZvbGRlcnMvY18vZjd5NGNnangxMTNkOHJycV90NjNnbHpoMDAwMGdwL1Qvamxfc3c0cnp5L01hbmlmZXN0LnRvbWxgCgpQcmVjb21waWxpbmcuLi4KG1szMm0bWzFtICBBY3RpdmF0aW5nG1syMm0bWzM5bSBwcm9qZWN0IGF0IGAvcHJpdmF0ZS92YXIvZm9sZGVycy9jXy9mN3k0Y2dqeDExM2Q4cnJxX3Q2M2dsemgwMDAwZ3AvVC9qbF9zdzRyenlgqlByb2ZpbGVTVkfaAYsKSW5zdGFudGlhdGluZy4uLgoKUmVzb2x2aW5nLi4uChtbMzJtG1sxbSAgTm8gQ2hhbmdlcxtbMjJtG1szOW0gdG8gYC9wcml2YXRlL3Zhci9mb2xkZXJzL2NfL2Y3eTRjZ2p4MTEzZDhycnFfdDYzZ2x6aDAwMDBncC9UL2psX3N3NHJ6eS9Qcm9qZWN0LnRvbWxgChtbMzJtG1sxbSAgTm8gQ2hhbmdlcxtbMjJtG1szOW0gdG8gYC9wcml2YXRlL3Zhci9mb2xkZXJzL2NfL2Y3eTRjZ2p4MTEzZDhycnFfdDYzZ2x6aDAwMDBncC9UL2psX3N3NHJ6eS9NYW5pZmVzdC50b21sYAoKUHJlY29tcGlsaW5nLi4uChtbMzJtG1sxbSAgQWN0aXZhdGluZxtbMjJtG1szOW0gcHJvamVjdCBhdCBgL3ByaXZhdGUvdmFyL2ZvbGRlcnMvY18vZjd5NGNnangxMTNkOHJycV90NjNnbHpoMDAwMGdwL1Qvamxfc3c0cnp5YKpuYnBrZ19zeW5j2ZIKSW5zdGFudGlhdGluZy4uLgoKUHJlY29tcGlsaW5nLi4uChtbMzJtG1sxbSAgQWN0aXZhdGluZxtbMjJtG1szOW0gcHJvamVjdCBhdCBgL3ByaXZhdGUvdmFyL2ZvbGRlcnMvY18vZjd5NGNnangxMTNkOHJycV90NjNnbHpoMDAwMGdwL1Qvamxfc3c0cnp5YKRUZXN02gGLCkluc3RhbnRpYXRpbmcuLi4KClJlc29sdmluZy4uLgobWzMybRtbMW0gIE5vIENoYW5nZXMbWzIybRtbMzltIHRvIGAvcHJpdmF0ZS92YXIvZm9sZGVycy9jXy9mN3k0Y2dqeDExM2Q4cnJxX3Q2M2dsemgwMDAwZ3AvVC9qbF9zdzRyenkvUHJvamVjdC50b21sYAobWzMybRtbMW0gIE5vIENoYW5nZXMbWzIybRtbMzltIHRvIGAvcHJpdmF0ZS92YXIvZm9sZGVycy9jXy9mN3k0Y2dqeDExM2Q4cnJxX3Q2M2dsemgwMDAwZ3AvVC9qbF9zdzRyenkvTWFuaWZlc3QudG9tbGAKClByZWNvbXBpbGluZy4uLgobWzMybRtbMW0gIEFjdGl2YXRpbmcbWzIybRtbMzltIHByb2plY3QgYXQgYC9wcml2YXRlL3Zhci9mb2xkZXJzL2NfL2Y3eTRjZ2p4MTEzZDhycnFfdDYzZ2x6aDAwMDBncC9UL2psX3N3NHJ6eWCmUHJpbnRm2gGLCkluc3RhbnRpYXRpbmcuLi4KClJlc29sdmluZy4uLgobWzMybRtbMW0gIE5vIENoYW5nZXMbWzIybRtbMzltIHRvIGAvcHJpdmF0ZS92YXIvZm9sZGVycy9jXy9mN3k0Y2dqeDExM2Q4cnJxX3Q2M2dsemgwMDAwZ3AvVC9qbF9zdzRyenkvUHJvamVjdC50b21sYAobWzMybRtbMW0gIE5vIENoYW5nZXMbWzIybRtbMzltIHRvIGAvcHJpdmF0ZS92YXIvZm9sZGVycy9jXy9mN3k0Y2dqeDExM2Q4cnJxX3Q2M2dsemgwMDAwZ3AvVC9qbF9zdzRyenkvTWFuaWZlc3QudG9tbGAKClByZWNvbXBpbGluZy4uLgobWzMybRtbMW0gIEFjdGl2YXRpbmcbWzIybRtbMzltIHByb2plY3QgYXQgYC9wcml2YXRlL3Zhci9mb2xkZXJzL2NfL2Y3eTRjZ2p4MTEzZDhycnFfdDYzZ2x6aDAwMDBncC9UL2psX3N3NHJ6eWCnZW5hYmxlZMO3cmVzdGFydF9yZWNvbW1lbmRlZF9tc2fAtHJlc3RhcnRfcmVxdWlyZWRfbXNnwK1idXN5X3BhY2thZ2VzkLZ3YWl0aW5nX2Zvcl9wZXJtaXNzaW9uwtksd2FpdGluZ19mb3JfcGVybWlzc2lvbl9idXRfcHJvYmFibHlfZGlzYWJsZWTCq2NlbGxfaW5wdXRzjdkkZjkzM2UxZGItYjYzMS00OTNlLTk0NzQtZTBhNDZkZjMwZThhhKdjZWxsX2lk2SRmOTMzZTFkYi1iNjMxLTQ5M2UtOTQ3NC1lMGE0NmRmMzBlOGGkY29kZaxAdGltZSBtYWluKCmobWV0YWRhdGGDqXNob3dfbG9nc8OoZGlzYWJsZWTCrnNraXBfYXNfc2NyaXB0wqtjb2RlX2ZvbGRlZMLZJDU5MDZmYTE5LWIyNWItNGM0Ni05YzVkLWRhMGM0OTBkMGNlNoSnY2VsbF9pZNkkNTkwNmZhMTktYjI1Yi00YzQ2LTljNWQtZGEwYzQ5MGQwY2U2pGNvZGXZqGZ1bmN0aW9uIGluaXRjZmchKGRhdGExOjpULCBkYXRhMjo6VCwgZGF0YTM6OlQpIHdoZXJlIHtUPDpBYnN0cmFjdFZlY3Rvcn0KICAgIGZvciBkIGluIChkYXRhMSwgZGF0YTIsIGRhdGEzKQogICAgICAgIGQgLj0gKHJhbmQobGVuZ3RoKGQpKSAuLSAwLjUpIC4qIDIgLiogMgogICAgZW5kCmVuZKhtZXRhZGF0YYOpc2hvd19sb2dzw6hkaXNhYmxlZMKuc2tpcF9hc19zY3JpcHTCq2NvZGVfZm9sZGVkwtkkN2JiZjUwMjUtMDM0Ni00MTA0LWE0N2EtNjNmNDkyZmM0MDI4hKdjZWxsX2lk2SQ3YmJmNTAyNS0wMzQ2LTQxMDQtYTQ3YS02M2Y0OTJmYzQwMjikY29kZdoCNW1kIiIiCgpb5aSJ5YiG44Oi44Oz44OG44Kr44Or44OtKFZNQynjgpLjgoTjgaPjgabjgb/jgot+5rC057Sg5Y6f5a2Qfl0oaHR0cHM6Ly9taXlhbnRhcnVtaS5oYXRlbmFibG9nLmNvbS9lbnRyeS8yMDIyLzA0LzA4LzA4MDAwMCkg44GuIEp1bGlhIOenu+akjeOCkuihjOOBo+OBny4g44Oh44OI44Ot44Od44Oq44K544OG44K544OI44Gu6YOo5YiG44KS6Zai5pWw5YyW44GX5pu444GP44G544GN44Kz44O844OJ44Gu6YeP44KS5aSn5bmF44Gr5rib44KJ44GZ44GT44Go44GM44Gn44GN44Gf77yOIEp1bGlh44GvVW5pY29kZeaWh+Wtl+OBjOS9v+OBiOOCi+OBruOBp+OCquODquOCuOODiuODq+OBruWun+ijheOCkuOCguOBqOOBq+WkieaVsOWQjeOCkumBqeWunOWkieabtOOBl+OBpuOBhOOCi++8jgoKbWV0cm9wb2xpc190ZXN0ISDjga7lvJXmlbDjga/jgYTjgaPjgbHjgYTjgYLjgovjgYzvvIzjgoLjgaPjgahKdWxpYeOCieOBl+OBj+abuOOBj+OBruOBp+OBguOCjOOBquOCs+ODrOOCieOCkuOBvuOBqOOCgeOCi+ani+mAoOS9k+OCkuWumue+qeOBmeOCi+OBueOBjeOBp+OBguOCi++8jgoiIiKobWV0YWRhdGGDqXNob3dfbG9nc8OoZGlzYWJsZWTCrnNraXBfYXNfc2NyaXB0wqtjb2RlX2ZvbGRlZMPZJDBjN2EwMTc1LThlYmQtNGU4OS05YmEwLTk3OTdhYThlNDU1NoSnY2VsbF9pZNkkMGM3YTAxNzUtOGViZC00ZTg5LTliYTAtOTc5N2FhOGU0NTU2pGNvZGWsQHRpbWUgbWFpbigpqG1ldGFkYXRhg6lzaG93X2xvZ3PDqGRpc2FibGVkwq5za2lwX2FzX3NjcmlwdMKrY29kZV9mb2xkZWTC2SQ0MDRlNGJkYS1lZTJkLTRjYTktYTM5NS00MjQxYTQyMWE2ZTiEp2NlbGxfaWTZJDQwNGU0YmRhLWVlMmQtNGNhOS1hMzk1LTQyNDFhNDIxYTZlOKRjb2Rl2axAdGVzdHNldCAic2V0Mnplcm8hIiBiZWdpbgoJZGF0YTEgPSByYW5kKDEwKQogICAgZGF0YTIgPSByYW5kKDEwKQogICAgZGF0YTMgPSByYW5kKDEwKQogICAgc2V0Mnplcm8hKGRhdGExLCBkYXRhMiwgZGF0YTMpCiAgICBAdGVzdCBkYXRhMSA9PSBkYXRhMiA9PSBkYXRhMyA9PSB6ZXJvcygxMCkKZW5kqG1ldGFkYXRhg6lzaG93X2xvZ3PDqGRpc2FibGVkwq5za2lwX2FzX3NjcmlwdMKrY29kZV9mb2xkZWTC2SQ2ZjM0OTkwNS01NmQwLTQwZmEtYjI5MC0wMzZjMjU4Y2FkY2KEp2NlbGxfaWTZJDZmMzQ5OTA1LTU2ZDAtNDBmYS1iMjkwLTAzNmMyNThjYWRjYqRjb2Rl2cIiIiIKCUMgcG9ydCB0byBKdWxpYSBmb3IgYHNob2tpa2FgCiIiIgpmdW5jdGlvbiBzZXQyemVybyEoZGF0YTE6OlQsIGRhdGEyOjpULCBkYXRhMzo6VCkgd2hlcmUge1Q8OkFic3RyYWN0VmVjdG9yfQogICAgZm9yIGQgaW4gKGRhdGExLCBkYXRhMiwgZGF0YTMpCiAgICAgICAgZmlsbCEoZCwgemVybyhlbHR5cGUoZCkpKQogICAgZW5kCmVuZKhtZXRhZGF0YYOpc2hvd19sb2dzw6hkaXNhYmxlZMKuc2tpcF9hc19zY3JpcHTCq2NvZGVfZm9sZGVkwtkkNDdhMDM0ZmEtYTk1ZS0xMWVlLTIxZTYtYjEwMGY1OGRmZjUyhKdjZWxsX2lk2SQ0N2EwMzRmYS1hOTVlLTExZWUtMjFlNi1iMTAwZjU4ZGZmNTKkY29kZdkpYmVnaW4KCXVzaW5nIFN0YXRpc3RpY3MKCXVzaW5nIFByaW50ZgplbmSobWV0YWRhdGGDqXNob3dfbG9nc8OoZGlzYWJsZWTCrnNraXBfYXNfc2NyaXB0wqtjb2RlX2ZvbGRlZMLZJGRkYmJlZWQ4LTIzZWMtNDI4Mi1iNWQxLWM5YTZmZThkOGE4YoSnY2VsbF9pZNkkZGRiYmVlZDgtMjNlYy00MjgyLWI1ZDEtYzlhNmZlOGQ4YThipGNvZGWsQHRpbWUgbWFpbigpqG1ldGFkYXRhg6lzaG93X2xvZ3PDqGRpc2FibGVkwq5za2lwX2FzX3NjcmlwdMKrY29kZV9mb2xkZWTC2SQ5MTgxMWI2ZC03NzQ0LTRmYmMtYjljYi0zODAwYTFmOGJjOWGEp2NlbGxfaWTZJDkxODExYjZkLTc3NDQtNGZiYy1iOWNiLTM4MDBhMWY4YmM5YaRjb2RlqnVzaW5nIFRlc3SobWV0YWRhdGGDqXNob3dfbG9nc8OoZGlzYWJsZWTCrnNraXBfYXNfc2NyaXB0wqtjb2RlX2ZvbGRlZMLZJDY0MjkxMWM2LTY5OGMtNDBiYi1iZWM2LWM4ODgzM2M2Y2FhNYSnY2VsbF9pZNkkNjQyOTExYzYtNjk4Yy00MGJiLWJlYzYtYzg4ODMzYzZjYWE1pGNvZGXaBnhmdW5jdGlvbiBtZXRyb3BvbGlzX3Rlc3QhKAoJzrE6OkZsb2F0NjQsIAoJzqNFX2xvYzo6VCwgzqPiiIJsb2fPiF/iiILOsTo6VCzOo0VfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xOjpULAoJeOKDlzo6VCwgeeKDlzo6VCwgeuKDlzo6VCwgcuKDlzo6VAopIHdoZXJlIFQgPDogQWJzdHJhY3RWZWN0b3IKCW5zYW1wbGVzID0gMzAwMDAKCXNpZ21hID0gMC40CgkKCWZvciBpIGluIDE6bnNhbXBsZXMJCgkJZm9yIGogaW4gZWFjaGluZGV4KHjig5cseeKDlyx64oOXLHLig5cpCgkJCXggPSB44oOXW2pdCgkJCXkgPSB54oOXW2pdCgkJCXogPSB64oOXW2pdCgkJCXIgPSByYWRpdXMoeCx5LHopCgkJCSPPiMKyID0gZXhwKC0yzrEqcikKCQkJIyBwcm9wb3NhbCBzdGVwCgkJCXjigLIgPSBzaWdtYSAqIHJhbmRuKCkgKyAgeAoJCQl54oCyID0gc2lnbWEgKiByYW5kbigpICsgIHkKCQkJeuKAsiA9IHNpZ21hICogcmFuZG4oKSArICB6CgkJCXLigLIgPSByYWRpdXMoeOKAsix54oCyLHrigLIpCgkJCSPPlcKyID0gZXhwKC0yzrEqcuKAsikKCQkJI2IgPSByYW5kKCkgPCDPlcKyL8+IwrIgCgkJCWIgPSByYW5kKCkgPCBleHAoLTLOsSAqIHLigLIgKyAyzrEgKiByKSAKCQkJeOKDl1tqXSA9IGlmZWxzZShiLCB44oCyLCB4KQoJCQl54oOXW2pdID0gaWZlbHNlKGIsIHnigLIsIHkpCgkJCXrig5dbal0gPSBpZmVsc2UoYiwgeuKAsiwgeikKCQkJcuKDl1tqXSA9IGlmZWxzZShiLCBy4oCyLCByKQoJCWVuZAoJCWlmIGkg4omlIDQwMDAKCQkJZm9yIGogaW4gZWFjaGluZGV4KHjig5cseeKDlyx64oOXLHLig5cpCgkJCQl4ID0geOKDl1tqXQoJCQkJeSA9IHnig5dbal0KCQkJCXogPSB64oOXW2pdCgkJCQlyID0gcuKDl1tqXQoJCQkJcuKBu8K5ID0gaW52KHIpCgkJCQlFX2xvYyA9IC1y4oG7wrkgLTAuNc6xICogKM6xIC0gMiAqIHLigbvCuSkKCQkJCeKIgmxvZ8+IX+KIgs6xID0gLXIKCQkJCUVfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xID0gRV9sb2MgKiDiiIJsb2fPiF/iiILOsQoJCQkJzqNFX2xvY1tqXSArPSBFX2xvYwoJCQkJzqPiiIJsb2fPiF/iiILOsVtqXSArPSDiiIJsb2fPiF/iiILOsQoJCQkJzqNFX2xvY190aW1lc1/iiIJsb2fPiF/iiILOsVtqXSArPSBFX2xvY190aW1lc1/iiIJsb2fPiF/iiILOsQoJCQllbmQKCQllbmQKCWVuZAoJIyDlkIQgaiDjgavlr77jgZfjgabjga7lubPlnYfph4/jgpLoqIjnrpfjgZnjgosuIOODoeODouODquOCkuS9v+OBhOWbnuOBmeOBn+OCgeOBqyBpbi1wbGFjZSDoqIjnrpfjgpLjgZfjgabjgYTjgovvvI4KCc6jRV9sb2MgLi89IChuc2FtcGxlcyAtIDM5OTkpCgnOo+KIgmxvZ8+IX+KIgs6xIC4vPSAobnNhbXBsZXMgLSAzOTk5KQoJzqNFX2xvY190aW1lc1/iiIJsb2fPiF/iiILOsSAuLz0gKG5zYW1wbGVzIC0gMzk5OSkKCSMgaiDjga7ou7jjgavlr77jgZfjgablubPlnYflgKTjgpLoqIjnrpfjgZnjgosKCUVfbG9jID0gbWVhbijOo0VfbG9jKQoJ4oiCbG9nz4hf4oiCzrEgPSBtZWFuKM6j4oiCbG9nz4hf4oiCzrEpCglFX2xvY190aW1lc1/iiIJsb2fPiF/iiILOsSA9IG1lYW4ozqNFX2xvY190aW1lc1/iiIJsb2fPiF/iiILOsSkKCglkRSA9IDIoRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrEgLSBFX2xvYyAqIOKIgmxvZ8+IX+KIgs6xKQoJcmV0dXJuIGRFLCBFX2xvYwplbmSobWV0YWRhdGGDqXNob3dfbG9nc8OoZGlzYWJsZWTCrnNraXBfYXNfc2NyaXB0wqtjb2RlX2ZvbGRlZMLZJGI4ZjJjMGRkLWZlMTQtNGE5OC05MjcyLTg3MjkzNDMxN2E3N4SnY2VsbF9pZNkkYjhmMmMwZGQtZmUxNC00YTk4LTkyNzItODcyOTM0MzE3YTc3pGNvZGXZ7kB0ZXN0c2V0ICJpbml0Y2ZnISIgYmVnaW4KICAgIGRhdGExID0gcmFuZCgxMCkKICAgIGRhdGEyID0gcmFuZCgxMCkKICAgIGRhdGEzID0gcmFuZCgxMCkKICAgIGluaXRjZmchKGRhdGExLCBkYXRhMiwgZGF0YTMpCglAc2hvdyBkYXRhMQogICAgQHRlc3QgYWxsKC0yIC48PSBkYXRhMSAuPCAyKQogICAgQHRlc3QgYWxsKC0yIC48PSBkYXRhMiAuPCAyKQogICAgQHRlc3QgYWxsKC0yIC48PSBkYXRhMyAuPCAyKQplbmSobWV0YWRhdGGDqXNob3dfbG9nc8OoZGlzYWJsZWTCrnNraXBfYXNfc2NyaXB0wqtjb2RlX2ZvbGRlZMLZJDA2OGNiOTdlLTg3MDQtNDU4ZS04ZmVmLTI4YWY2ZWZhNTk2YoSnY2VsbF9pZNkkMDY4Y2I5N2UtODcwNC00NThlLThmZWYtMjhhZjZlZmE1OTZipGNvZGXZJHJhZGl1cyh4LHkseikgPSDiiJooeF4yICsgeV4yICsgel4yKahtZXRhZGF0YYOpc2hvd19sb2dzw6hkaXNhYmxlZMKuc2tpcF9hc19zY3JpcHTCq2NvZGVfZm9sZGVkwtkkYTU4YWY2ODktNTI2My00ZDUyLWFlYWMtOTZkZmMxODY5Mzg2hKdjZWxsX2lk2SRhNThhZjY4OS01MjYzLTRkNTItYWVhYy05NmRmYzE4NjkzODakY29kZdoGcmZ1bmN0aW9uIG1haW4oKQogICAgbndhbGtlcnMgPSA0MDAKICAgIHNhbXBsZSA9IDMwMDAwCgogICAgzrFfaW5pdCA9IDAuOAogICAgeCA9IFZlY3RvcntGbG9hdDY0fSh1bmRlZiwgbndhbGtlcnMpCiAgICB5ID0gVmVjdG9ye0Zsb2F0NjR9KHVuZGVmLCBud2Fsa2VycykKICAgIHogPSBWZWN0b3J7RmxvYXQ2NH0odW5kZWYsIG53YWxrZXJzKQoJciA9IFZlY3RvcntGbG9hdDY0fSh1bmRlZiwgbndhbGtlcnMpCgnOo0VfbG9jID0gemVyb3MobndhbGtlcnMpCgnOo+KIgmxvZ8+IX+KIgs6xID0gemVyb3MobndhbGtlcnMpCgnOo0VfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xID0gemVyb3MobndhbGtlcnMpCiAgICBoID0gMWUtMwoKCc6xID0gzrFfaW5pdAoJd2hpbGUgdHJ1ZQoJCWluaXRjZmchKHgseSx6KQoJCXNldDJ6ZXJvISjOo0VfbG9jLM6j4oiCbG9nz4hf4oiCzrEszqNFX2xvY190aW1lc1/iiIJsb2fPiF/iiILOsSkKCQlkRSwgXyA9IG1ldHJvcG9saXNfdGVzdCEoCgkJCc6xLAoJCQnOo0VfbG9jLM6j4oiCbG9nz4hf4oiCzrEszqNFX2xvY190aW1lc1/iiIJsb2fPiF/iiILOsSwKCQkJeCx5LHoscgoJCSkKCgkJzrHigoogPSDOsSArIGgKCQlpbml0Y2ZnISh4LHkseikKCQlzZXQyemVybyEozqNFX2xvYyzOo+KIgmxvZ8+IX+KIgs6xLM6jRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrEpCgkJZEXigoosIF8gPSBtZXRyb3BvbGlzX3Rlc3QhKAoJCQnOseKCiiwKCQkJzqNFX2xvYyzOo+KIgmxvZ8+IX+KIgs6xLM6jRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrEsCgkJCXgseSx6LHIKCQkpCgoJCc6x4oKLID0gzrEgLSBoCgkJaW5pdGNmZyEoeCx5LHopCgkJc2V0Mnplcm8hKM6jRV9sb2MszqPiiIJsb2fPiF/iiILOsSzOo0VfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xKQoJCWRF4oKLLCBfID0gbWV0cm9wb2xpc190ZXN0ISgKCQkJzrHigossCgkJCc6jRV9sb2MszqPiiIJsb2fPiF/iiILOsSzOo0VfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xLAoJCQl4LHkseixyCgkJKQoKICAgICAgICBkZEUgPSAoZEXigoogLSBkReKCiykgLyAoMmgpCgkJIyBuZXd0b24g5rOV44GnIM6xIOOCkuabtOaWsOOBmeOCiwogICAgICAgIM6xX25leHQgPSDOsSAtIGRFIC8gZGRFCiAgICAgICAgQGluZm8gIs6xIiDOsV9uZXh0LCDOsQogICAgICAgIGlmIGFicyjOsV9uZXh0IC0gzrEpIDwgMWUtNgoJCQnOsSA9IM6xX25leHQKICAgICAgICAgICAgYnJlYWsKICAgICAgICBlbmQKCQnOsSA9IM6xX25leHQKICAgIGVuZAoKICAgIGFscGhhX3ZhID0gzrEKCSMg55CG5oOz44GvIDEuMAogICAgQHByaW50Zigi44Ko44ON44Or44Ku44O844GM5pyA5bCP44Gr44Gq44KL5aSJ5YiG44OR44Op44Oh44O844K/44GvJS4xMGZcbiIsIGFscGhhX3ZhKSAKCWluaXRjZmchKHgseSx6KQoJc2V0Mnplcm8hKM6jRV9sb2MszqPiiIJsb2fPiF/iiILOsSzOo0VfbG9jX3RpbWVzX+KIgmxvZ8+IX+KIgs6xKQoJXywgRSA9IG1ldHJvcG9saXNfdGVzdCEoCgkJYWxwaGFfdmEsCgkJzqNFX2xvYyzOo+KIgmxvZ8+IX+KIgs6xLM6jRV9sb2NfdGltZXNf4oiCbG9nz4hf4oiCzrEsCgkJeCx5LHoscgoJKQoJIyDnkIbmg7Pjga8gLTAuNQoJQHByaW50Zigi5Z+65bqV54q25oWL44Gu44Ko44ON44Or44Ku44O844GvJS4xMGZcbiIsIEUpCmVuZKhtZXRhZGF0YYOpc2hvd19sb2dzw6hkaXNhYmxlZMKuc2tpcF9hc19zY3JpcHTCq2NvZGVfZm9sZGVkwqtub3RlYm9va19pZNkkZjAyZTc5NjQtYTlmNS0xMWVlLTM0YTItOGZmNjQ4YWFkNjZiq2luX3RlbXBfZGlywqhtZXRhZGF0YYA=";
window.pluto_preamble_html = undefined;
</script>
<meta name="pluto-insertion-spot-parameters">
<script src="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/frontend-dist/editor.c69300f2.js" type="module" defer="" integrity="sha384-sLMlcWvt4TmaGbLLnhN9nz+JY2xsbCeklFggrWNJ4zBrwPosiufyTbUD6aYbHgE4" crossorigin="anonymous"></script><script src="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.19.36/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></head><body class="loading no-MαθJax"> <div style="display:flex;min-height:100vh;"> <pluto-editor class="fullscreen"></pluto-editor> </div> </body></html>
! gfortran -O3 -Wall -std=f2008 vmc.f90 && time ./a.out
subroutine metropolis_test(alpha, dE_E)
use, intrinsic :: iso_fortran_env, only: dp=>real64
implicit none
real(dp), intent(in) :: alpha
real(dp), intent(out) :: dE_E(2)
! variable declaration
integer :: i,j ! loop variable
integer :: nwalkers = 400
integer :: nsamples = 30000
real(dp) :: sigma = 0.4
real(dp), parameter :: pi = 3.14159265358979323846
real(dp) :: u1, u2, u3, u4, u5, v1, v2, v3
logical :: b
real(dp), allocatable :: xx(:), yy(:), zz(:), rr(:)
real(dp), allocatable :: xx_next(:), yy_next(:), zz_next(:), rr_next(:)
real(dp) :: dE, Eloc, dlnpsi, Elocdlnpsi
real(dp), allocatable :: SumEloc(:), Sumdlnpsi(:), SumElocdlnpsi(:)
! set all elements to zero
allocate(Sumdlnpsi(nwalkers))
allocate(SumEloc(nwalkers))
allocate(SumElocdlnpsi(nwalkers))
do j = 1, nwalkers
SumEloc(j) = 0.0
Sumdlnpsi(j) = 0.0
SumElocdlnpsi(j) = 0.0
end do
allocate(xx(nwalkers))
allocate(yy(nwalkers))
allocate(zz(nwalkers))
allocate(rr(nwalkers))
do j=1,nwalkers
call random_number(u1)
call random_number(u2)
call random_number(u3)
xx(j) = 4.0_dp * (u1 - 0.5_dp)
yy(j) = 4.0_dp * (u2 - 0.5_dp)
zz(j) = 4.0_dp * (u3 - 0.5_dp)
rr(j) = sqrt(xx(j) ** 2 + yy(j) ** 2 + zz(j) ** 2)
end do
allocate(xx_next(nwalkers))
allocate(yy_next(nwalkers))
allocate(zz_next(nwalkers))
allocate(rr_next(nwalkers))
do i = 1, nsamples
do j = 1, nwalkers
call random_number(u1)
call random_number(u2)
v1 = sqrt(-2.0_dp * log(u1)) * cos(2.0_dp * pi * u2)
v2 = sqrt(-2.0_dp * log(u1)) * sin(2.0_dp * pi * u2)
call random_number(u3)
call random_number(u4)
v3 = sqrt(-2.0_dp * log(u3)) * cos(2.0_dp * pi * u4)
xx_next(j) = xx(j) + sigma * v1
yy_next(j) = yy(j) + sigma * v2
zz_next(j) = zz(j) + sigma * v3
rr_next(j) = sqrt(xx_next(j) ** 2 + yy_next(j) ** 2 + zz_next(j) ** 2)
call random_number(u5)
b = u5 < exp(-2.0 * alpha * rr_next(j) + 2.0 * alpha * rr(j))
if (b) then
xx(j) = xx_next(j)
yy(j) = yy_next(j)
zz(j) = zz_next(j)
rr(j) = rr_next(j)
end if
end do
if (i >= 4000) then
do j = 1, nwalkers
Eloc = -1.0_dp / rr(j) - 0.5_dp * alpha * (alpha - 2.0_dp / rr(j))
dlnpsi = - rr(j)
Elocdlnpsi = Eloc * dlnpsi
SumEloc(j) = SumEloc(j) + Eloc
Sumdlnpsi(j) = Sumdlnpsi(j) + dlnpsi
SumElocdlnpsi(j) = SumElocdlnpsi(j) + Elocdlnpsi
end do
end if
end do
do j = 1, nwalkers
SumEloc(j) = SumEloc(j) / real(nsamples - 3999)
Sumdlnpsi(j) = Sumdlnpsi(j) / real(nsamples - 3999)
SumElocdlnpsi(j) = SumElocdlnpsi(j) / real(nsamples - 3999)
end do
Eloc = 0.0
dlnpsi = 0.0
Elocdlnpsi = 0.0
do j = 1, nwalkers
Eloc = Eloc + SumEloc(j)
dlnpsi = dlnpsi + Sumdlnpsi(j)
Elocdlnpsi = Elocdlnpsi + SumElocdlnpsi(j)
end do
Eloc = Eloc / nwalkers
dlnpsi = dlnpsi / nwalkers
Elocdlnpsi = Elocdlnpsi / nwalkers
dE = 2.0 * (Elocdlnpsi - Eloc * dlnpsi)
dE_E(1) = dE
dE_E(2) = Eloc
end subroutine metropolis_test
program main
use, intrinsic :: iso_fortran_env, only: dp=>real64
implicit none
real(dp) :: alpha_ini, alpha, alpha_next, alpha_plus, alpha_minus
real(dp) :: E, dE, ddE, dE_plus, dE_minus
real(dp) :: dE_E(2), dE_E_plus(2), dE_E_minus(2)
real(dp), parameter :: h = 1e-3
integer :: i
alpha_ini = 0.8
alpha = alpha_ini
do i = 1, 10
call metropolis_test(alpha, dE_E)
dE = dE_E(1)
alpha_plus = alpha + h
call metropolis_test(alpha_plus, dE_E_plus)
dE_plus = dE_E_plus(1)
alpha_minus = alpha - h
call metropolis_test(alpha_minus, dE_E_minus)
dE_minus = dE_E_minus(1)
ddE = (dE_plus - dE_minus) / (2.0_dp * h)
alpha_next = alpha - dE / ddE
print *, alpha_next, alpha
if (abs(alpha_next - alpha) < 1e-6) then
alpha = alpha_next
exit
end if
alpha = alpha_next
end do
print *, alpha, "1.0 になってたらOK"
call metropolis_test(alpha, dE_E)
E = dE_E(2)
print *, E, "-0.5 になってたらOK"
end program main
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
// 元のコード→ https://miyantarumi.hatenablog.com/entry/2022/04/08/080000
// 元のコードの C++ 移植のコード→ https://gist.githubusercontent.com/dc1394/ca02234a06fceffddc4a45bfa757f468/raw/d570c11c972d4f87dd12b5d5c6499eef10d8ec85/vmc_mt19937.cpp
// g++ -mtune=native -march=native -O3 -std=c++20 vmc_mt19937.cpp && time ./a.out
/*
g++ -mtune=native -march=native -O3 -std=c++20 vmc_mt19937.cpp && time ./a.out
alpha_fin = 0.9514661517, alpha_ini = 0.8000000000
alpha_fin = 1.0054630881, alpha_ini = 0.9514661517
alpha_fin = 1.0000277394, alpha_ini = 1.0054630881
alpha_fin = 0.9999999944, alpha_ini = 1.0000277394
alpha_fin = 1.0000000000, alpha_ini = 0.9999999944
エネルギーが最小になる変分パラメータはα = 1.0000000000
基底状態のエネルギーは-0.5000000000 (Hartree)
./a.out 20.69s user 0.03s system 99% cpu 20.814 total
*/
#include <algorithm> // for std::fill
#include <cmath> // for std::asin, std::cos, std::exp, std::fabs, std::hypot, std::log, std::sqrt
#include <iomanip> // for std::setprecision
#include <ios> // for std::ios::fixed, std::ios::floatfield
#include <iostream> // for std::cout, std::endl
#include <random> // for std::mt19937, std::uniform_real_distribution
#include <utility> // for std::make_pair, std::pair
#include <vector> // for std::vector
namespace {
static auto constexpr ALPHA_0 = 0.8; // 変分を始める初期値
static auto constexpr H = 1.0E-3; // 数値微分の幅
static auto constexpr NSAMPLES = 30000;
static auto constexpr NSKIP = 4000;
static auto constexpr NWALKERS = 400;
static auto constexpr SEED = 20240102;
static auto constexpr SIGMA = 0.4; // metropoliswalkでの正規乱数の分散
static auto constexpr THRESHOLD = 1.0E-6;
struct Walker_pos {
Walker_pos()
: x_(NWALKERS, 0.0)
, y_(NWALKERS, 0.0)
, z_(NWALKERS, 0.0)
, r_(NWALKERS, 0.0)
{
}
std::vector<double> x_;
std::vector<double> y_;
std::vector<double> z_;
std::vector<double> r_;
};
void initial_position(std::mt19937& engine, Walker_pos& wa_pos);
void metropolis_walk(std::mt19937& engine, std::normal_distribution<>& normal_dist, Walker_pos& wa_pos, Walker_pos& wa_pos_backup);
std::pair<double, double> metropolis_test(double alpha);
void run_vmc();
}
int main()
{
run_vmc();
return 0;
}
namespace {
void initial_position(std::mt19937& engine, Walker_pos& wa_pos)
{
std::uniform_real_distribution<> dist(-2.0, 2.0);
for (auto i = 0; i < NWALKERS; i++) {
wa_pos.x_[i] = dist(engine);
wa_pos.y_[i] = dist(engine);
wa_pos.z_[i] = dist(engine);
}
}
std::pair<double, double> metropolis_test(double alpha)
{
std::vector<double> dlnpsi_w(NWALKERS, 0.0);
std::vector<double> Edlnpsi_w(NWALKERS, 0.0);
std::vector<double> E_w(NWALKERS, 0.0);
Walker_pos wa_pos;
std::mt19937 engine(SEED);
initial_position(engine, wa_pos);
std::normal_distribution<> normal_dist(0.0, SIGMA);
std::uniform_real_distribution<> dist(0.0, 1.0);
for (auto i = 0; i < NSAMPLES; i++) {
// Metropolis Testを行う
for (auto j = 0; j < NWALKERS; j++) {
auto const x = wa_pos.x_[j];
auto const y = wa_pos.y_[j];
auto const z = wa_pos.z_[j];
auto const r = std::hypot(x,y,z);
auto const x_next = x + normal_dist(engine);
auto const y_next = y + normal_dist(engine);
auto const z_next = z + normal_dist(engine);
auto const r_next = std::hypot(x_next,y_next,z_next);
auto const tmp = std::exp(-2.0 * alpha * r_next + 2.0 * alpha * r);
if (dist(engine) < tmp) {
// accept
wa_pos.x_[j] = x_next;
wa_pos.y_[j] = y_next;
wa_pos.z_[j] = z_next;
wa_pos.r_[j] = r_next;
} else {
// reject
wa_pos.x_[j] = x;
wa_pos.y_[j] = y;
wa_pos.z_[j] = z;
wa_pos.r_[j] = r;
}
// Metropolis Testの終了
// 変数を更新し終えた
// walkerについて<E>や<Edlnpsi>,<dlnpsi>を計算する.
if (i >= NSKIP) {
// auto const r = std::hypot(wa_pos.x_[j], wa_pos.y_[j], wa_pos.z_[j]);
auto const r = wa_pos.r_[j];
auto const r_inv = 1/r;
auto const E_loc = - 1.0 * r_inv - 0.5 * alpha * (alpha - 2.0 * r_inv);
E_w[j] += E_loc ;
Edlnpsi_w[j] += -r * E_loc;
dlnpsi_w[j] += -r;
}
}
}
auto E = 0.0; // 変数の初期化
auto Edlnpsi = 0.0;
auto dlnpsi = 0.0;
for (auto i = 0; i < NWALKERS; i++) {
E_w[i] /= static_cast<double>(NSAMPLES - NSKIP);
Edlnpsi_w[i] /= static_cast<double>(NSAMPLES - NSKIP);
dlnpsi_w[i] /= static_cast<double>(NSAMPLES - NSKIP);
}
// walker全ての平均を取ることにする
for (auto j = 0; j < NWALKERS; j++) {
E += E_w[j];
Edlnpsi += Edlnpsi_w[j];
dlnpsi += dlnpsi_w[j];
}
E /= NWALKERS;
Edlnpsi /= NWALKERS;
dlnpsi /= NWALKERS; // dE/dalphaの計算をするための部品を計算した.
auto const dE = 2.0 * (Edlnpsi - E * dlnpsi); // dE/dalphaの計算ができた.
return std::make_pair(E, dE);
}
void run_vmc()
{
std::cout.setf(std::ios::fixed, std::ios::floatfield);
double alpha_ini; // Newton法の始まり値
auto alpha_fin = ALPHA_0; // Newton法の更新値
do {
alpha_ini = alpha_fin; // 前のループの結果を始まりの値に代入
// **********************************************
// alpha_iniでのエネルギーの微分dE/dalphaを計算する.
// **********************************************
auto const dE = metropolis_test(alpha_ini).second;
// ***************************
// ddE/ddalphaの数値微分を行う.
// **************************
auto const alpha_plus = alpha_ini + H; // 微分のためにalphaを変化させる
auto const alpha_minus = alpha_ini - H;
// *********************************
// *********************************
// alpha_plusでのdE/dalphaを計算する.
// *********************************
// *********************************
auto const dE_plus = metropolis_test(alpha_plus).second;
// *********************************
// *********************************
// alpha_minusでのdE/dalphaを計算する.
// *********************************
// *********************************
auto const dE_minus = metropolis_test(alpha_minus).second; // dE/dalpha_minusの計算ができた.
// *************************************************
// *************************************************
// alphaをNewton法で求めるための部品をすべて計算し終えた
// *************************************************
// *************************************************
// alphaの更新を行う
auto const ddE = (dE_plus - dE_minus) / (2.0 * H); // dE/dalphaの数値微分ddEが計算できた.
alpha_fin = alpha_ini - dE / ddE; // alphaを更新する.
std::cout << std::setprecision(10)
<< "alpha_fin = "
<< alpha_fin
<< ", alpha_ini = "
<< alpha_ini
<< '\n';
} while (std::fabs(alpha_fin - alpha_ini) > THRESHOLD);
auto const alpha_va = alpha_fin; // 変分で最適化した変分パラメータ
std::cout << "エネルギーが最小になる変分パラメータはα = " << alpha_va << '\n';
// ****************************************************
// alpha_vaでの変分で求めた基底状態のエネルギーを計算しよう
// ****************************************************
std::cout << "基底状態のエネルギーは"
<< metropolis_test(alpha_va).first
<< " (Hartree)"
<< std::endl;
}
}
@terasakisatoshi
Copy link
Author

image

@terasakisatoshi
Copy link
Author

mvc となってるのは vmc とすべきところのタイポです...

@terasakisatoshi
Copy link
Author

gfortran -O3 -Wall -std=f2008 vmc.f90 && time ./a.out
ld: warning: ignoring duplicate libraries: '-lgcc', '-lgcc_s.1.1'
  0.99865228877512946       0.80000001192092896     
   1.0000018959249259       0.99865228877512946     
  0.99999999870180944        1.0000018959249259     
  0.99999999999578371       0.99999999870180944     
  0.99999999999578371      1.0 になってたらOK
 -0.50000000000000344      -0.5 になってたらOK
./a.out  13.55s user 0.07s system 97% cpu 13.901 total

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment