#!/bin/sh

export XSHAR_REPO=oilshell/oil
export XSHAR_GIT_COMMIT=236ee38f56b25e1db25f335c846430e7b843a77c

name=$(basename $0)  # e.g. hello-xshar.xshar
default_dir=/tmp/$name.$$

# User can override this, and then _build/oils.sh can use SKIP_REBUILD to make
# it faster.  Multiple runs without compiling.

export XSHAR_DIR=${XSHAR_DIR:-$default_dir}

change_dir() {
  mkdir -p "$XSHAR_DIR"
  cd "$XSHAR_DIR"
}

extract_data() {
  base64 -d <<'XSHAR_DATA' | tar -x -z
H4sIABg6vmYAA+08a3PbRpL5zF8xK8UF0CFBvWyntKF9ivyI7mRJJSnrS+kUFAgMRVgggMMAkrhb
yW+/7p4ZvElKm9h7VYupsolHT09Pv6ZnuqGFcytGC/jPnjt+aMWLb/78tgXt1YsX+Lv96sU23W+/
ekW/cLW1tffqm+29ly9e7e3uvdre+2Zre3t3Z/sbtvUFaGm0TKROwtjXGOr/Y9v8yygTyWjihyMe
3rF4kc6icKe3sbHRK2sFG7IPPOSJk3J2+N13bJpEc/YLALCjc6vX+1lwwRDecoQXWIx98oOApTNf
sAlnCb9P/DTlIXMklMSKV29oJMJm29MszRJu28yfx1GSsjjxwxSehm7qR2Gvpx6LheipLh6/m2R+
4Fk3gFy9pgGQDAmDV/rVNErmTopUTOepfO1GCdeveZJEiXzsOaljB054o999/l6+mC/cONYP54vA
n8jnOKp+nCZOKHCs5iug0wYEiv50EfvFEMe+SIkdHp+y0xjnLMz+fo9B20RYvs/MPhu+ZlGcxk4i
uCWhzvA6IbiNcw48DAVzQoSCl4wgE+aHoOihy62NHkHGbNyOx+zL95bjebbEYRrDYRgN44Sn6WJI
YhnOOWiKJ4wBQVeax0U6NiS0LYW4Atoh6Y4NkYIo7KkTCN6OdOpkQTq+TDLe8nrGg3hsfJrBODDZ
NEJOS3WVdEhlQm5rUvo9xdnDKEyTKGBnpPugEcCpJHOBHKFBQJhsFkYeJ/1u5U+8GPqhnw5PVnBk
YSOIHa5nAxCwkgvvkU1L2ZCbqpqSLce1wSJB/RP+v5mfgMHyO54s2NTngVdw43LG9SgDdj/z3RkD
m3FnAA+G35x6TgPwgBjwd55EFS7IyRMF+K4y/ZWzbhd5bYpbzEluQN09dkJXZfENQOs1DxACJqAn
mpCdsJgMrkcmh07JBBR3dZtDw7wCpNdkfKBGilcRmFBup+pRnMKoiATNyyLrsuFWSMSyo0g9cDU2
QJADsS7oXqFIk8V+jT0AiL2vtq/pBX9weZyyo9DjD+/QZRXwieMLzs4z0PQ5p3emcSBxKKnnkvan
OfYxM8AnGQWaTfazcG54+cGQXcTc9acL5rAkisCX+gGHp9wBBaFrYHwKHATXw+aRlwW81JsBJK0G
8g2wesHApPAnBFyqq5RAvzIqmDN49pTd44Jy7wS3ylsil0GibsJRCRw28W9YAHJi0VQNIpp4vAi0
GJDNnVvsc3F08uH4nXTXgUO8yEBLydodGE7heVNBhKMSMiAe1rbczTiybwrKLs0s8EPw+wDaGKDC
GJoFjIZ800vdmxrrjpjI4jgC0d4jn7PAY2CBil3o7EgKktwBDHzLaV0bEfJIzEa9HGHspDOtTzvX
xTj3PjyPYh6aCNGnNXK/QgZJiYepgO5TC/jumf1eCeLy9O3pvqIOZBTwOQBrDQ+yJH4PWlKSLvCH
I66r68LUckvLoaa5lRTE5S/BPYEyoXsoSNWocyrxpjSs0v0AkOGbPqr/VrU7tgl0vW0ghfgmBjI8
2bU0+xJvDJOWGrYx8zf6Rg5ShjCsz5EvxxclLLgkf/7eOvGD79VSrDsNaJIl0IqXwBbeOQF0jy3q
iShKc1Yeg+Ib6y13YSFDAde4tinXSMatiyhLXH5MjGNvejWotxGqISxA8OsA/O+//85+pf9RiGiA
M0BTMhvZ7TRhnyHYBlDUyl9/xw41mFqPI/QZ4S3ZkFoLmC9NCqMrFfIs6/0WQjiljjFPZk4sWAYW
BMP+Wp/R1MHlQnqoKCMfQvaT+RD6tvIoS/3AOo5cMuoD4fr+QZKa3JrwGx8ivCgYABtBUfCyhYWA
2D5DRIcgincgnSROazqKcQkZOvIZHA24Rxmf1jVZWsfZL5c/nZ409ZjIBcI+coEu3ewPyFuPIYi2
5DpUHVati9sl3ZYoosnnirm/zeYxO7h4ewxdIMQSoKbEjBLIp9xZ4Rxmzh16yZOj4+8lVSX5qVgR
jR0ic1DRlLvAm1BEAT/N0jhLTbVoFtQiIPHwMuHcRP2HW0RD9zBPjbToonBYuB3hpvE/oVG2viS6
gfHz4N261FeEvARZHRn7/bGRte+EBYDfqx1G7AjcU0V3XOnlUi7jAoGLqMhwJzMF2zRg7Qo5B76H
C1gV4PHRebEaqi2IBRHUYRwT+YMiEAH1N/uKNh7UgoQZd28rYcJpGCxgVZWGT68hwn6zdLXJn8/h
Yb5Psz7SwmUaM98YwHJQkckf1Yv5Py8aDiH26tDqCBXD9zSPniUGe6ZuqmHmFoSYwEvbDp05bnCR
mzbtgm1bMbTi0WllRxOVUSNRI314mYCaD5d2ajwT++z9weXB8T57JpCgHNHV1jW4pVUeAJ/xBz81
t4H+TXbnz/eZuB/v9f7VxxRd+0INrXBU+Lwvdv73cm9v2fnf3s6L3cb538vu/O+rNNz+lsWPWyX0
WLNoHuHeJsoECyGapIOPYhFCdwfeBlZ1cMmJhuzlR4D15eoJp3zNkz0LCbDLB3nodzPY6shfu7hK
27rnK43ubn5UW6UzID1x5gPcO0GfaX5hpy2HK23tFpe+gfyBTrCazNX/eHfLH+Lk0biOQuhyGd3y
cMAu/JvQQUYN2AmsGZeAvt8rHUFatGLrCQW4hqfOjYBtnDtrPV10HQHY6Yyxh0cP0EWde3wEE/iR
XyzmkyiQoU7t/EPzlo4/YHemzw8o5oJRYZPwl3EuC0tiqq+cBxDPJChhtXa+e4hhLYcgRYIP2A3E
MHLBkuFWaflE2hUVlgYnIEtU5oCzWz8D2mTqJ9drJoPAj54KAj96IhJYTgMij7meSh52Atpk/WyU
islw4+czW20E8Yce0cY+Vw2JDwMHIKUUOwAD8IGZzxt0sd+6wyxPgRRWjVndRgSRC7Cky6aBUSBE
dhA/ZuEtXGwN2G5fh71tuw/AKwN6f4CYSgFhNSZbKpJ+nZdoP4/gpbTif5KXy5kpdXY9P7Vu5yyt
7QjlNuGItsAQ1f8tgtgTSX7D2OXMSQ25NxbgL5CqkyjkxQFofTuO7JnKdAIC7jPLshp7SxKCoHD1
xygKjOb+UkmMOGchTAWCdhAlJCDYdTgApEppHcf7IHLqWDYbaAhqJS0XabKOlos0qaGoax91adNA
OVBFcxtqgR5gvVJIP9GuElM/ESnAN1y49CgQ8DcOvlQXYAAiXscB8qhNK1Lot6/7/SaPixHe+u7a
ERBm5QiPWTyX9t9pUvhoEdI8/gTfc+ZAiGHG+L8dtuYW8sVImqNa7wkQAyf8vaKcwhWCo3u8vs7f
6gUsoONROQguYTtrli01M9yR1jVIocnVB2hFb15hsobZvq6scJp4E/EOsGc7P4REIB7FEXqkMV9X
+GJi4Mim7EpN9uqB2MOuFur37w2mXbPxa1a4GVNRbn7HHthCqYtizid0+ProEdM4dHYJke3Uf2DP
lctP5JacIsz9/UMeBM/ZB57ihfmjfwNO5DmT3KhCCjfC1UYm2Wy6w9Nh+Zjv71/Mojjt/1UOYsq0
pUZczJfkZz6XA/X1wflVBWn7uNWBSrwxnzenpK3IxFwFK51wl9l16IRGSqesY0Yr1IS7Dt6aasyx
GrPP7ulgcMJlehqvQDWkyps1DvQeP6dxfU5Sipx5EVImjyBDTAZzl3s8dDngCbiwKjoFGxeUd0tq
oqqDmCeKcYXVqlw6i5HWkRsW+dG4lNqC8Ns0zk4wUBxo6OK1pEAnG5Z4kordyR51U8t3EetjnxxU
5Sj9mzr5RZSnvA3BkK/ZXeNrKl7TyIdiYkZqQHLZZeSy91EDFUf17PSJXOtyR1Tkripff4AqY/za
WBe7N2jB44BURnrQXQ2sBVxliBx5+7p61lfwfKnHG9R8qUREa1VNgO/Bu5GLe5SfVJtXC3spjlHX
FhcvX+TeO8pSGzetSxJyuJu9zhWjvBYUs1UYdxRG8svjCklmTs0A0QyKUfPEuKRAodrdL+wMJAqG
RgCFSImwulDKS7ZWVIJrS/W1KsXGReqkMn0plQJ9B7gqPo/TxUY5EdCqjzQYKWSZjiIqunPqgSce
9tcixQJc8LTZQ9ZpCMqzUlSpMi0TXgNjsKiN2d5O7fGPWao2EU7Cy+7QFyIrpc41EmewtwN4pPef
Ar56suoScxSCgwEDDWnKk2aAbsqZSFwlTP3H8wI7PYV3yn1Ue+CGuazCtM9WUtuuBcy5hmpfjDeW
LLIyEVG/HuIXg1MK+SnUYrbXDzO+ps+jotA8NwH+LCVVltmJclCrHNaUvEXV76iUDFrvYxyPBK+E
orIr+2FtHGrIzpW1AMsnOOyB2I5cFNShigczWL0bKEZWc6SbFv9HzyvuD+bf6v3yE8FrjRCpHbMy
i8ilaSRqZIVPDrSzr9wn+jIPXRm+LqfSzJsgmsDmD7bhfRXVyks3APnTdQ6N5NTcntf0egT1eKdX
EcOTPB4NtMLhyZk9xRJw+jV4zd1GUEQri5zrclskJtZ96FKUhwid41xF9dNsUekOWtpSa1S1UzV7
XB+/qaPsSiArz4veg8oVRVOeJ4cbsl8O/uvCPju4/Ende7ATL5VPySom8OpxFGcBLIjemwpyUuxl
EWJuJe0eRQZVMuGuCDeNaRRh/ld2re4qEbTLQX6JRvk/XR/6ZdJ/a/J/1Or5v62XL7v839doJP+T
o5P/PLBFNgFDjGd/uhaskf+Lrd16/ndn69VeJ/+v0fSHHk0deHLOlhKueYbWDz87dv55hEzG5g8r
ecvD049nR8fvzi/svx2cHx2cXF6UMpQ66VGODj2OyzVsV3xYpWinLmb2xA+dZNE7//n4Haxqv2CZ
JQ06okGHdMwzjBeWmBlqcT3BFx9wtmaSqbUVF7Qks0J9sme50RyjZzMvOIc91kKl93Q5Tz+HxsMo
nF8CpJjGQn9bRc+NAsx1FbklGFsfaGEFMUC0V//HYnxljEaUAh6pHsZ1C+jcSRP/YdzkbV7oT5+l
wPRiP1CVeFSPpIJlI/9OR5awFvXBhi35Sgojp/dMlZBglGClDykyJ0dWryXGSWCcjdWvlgAqY7NP
YTFV7UJkPFWhsjpmxVKpGx7SSKNnwqK5V0bQIXycyfML1fE7ZhAfWel+ZsgoPrRoEqbqVWWgAcMN
Iz8QQyBrmIX+Q00YOIXqE9yI+66fgnRQtCMxuwfFknKSXBwwrZo1ccGW2HcmoJ3jK9PAkFSSm9Pd
HzDTyOcKjwvOLk2NmPj1jTMHrJh3Jc7pB8CC/nWbKua4WtiNfCxzvBh4k51EKQSjha7HCwwaJ45H
QlVfX+Txp4hgR2cIKnnnXglN+Wuz2mOqggywgFcmYLEc2E841uwuGLHbfXgYRnEqieYPDh6LlOr/
AcTGJPS4pNXFFGKsVYlcDkG7V/vWRFlR7respj2BWhWvPxzaZ+/O3+cvBxWtH19V1Ww0oipjIPzO
5/cgqTzFm/A5zFkWfkLP1m7K+qVvGbSCyATiEgBwIPlXbu2vwXNj+bln0wdATZi8+yivEGoCaSQj
+jCn/gVYw5c1XtecaPFeK/Hm5iY7hFVcf2lX+tpCmXrI79VHAOpBQuWmCF0dD529E3pjo6lUhXrK
+lz89y04q9fsW7DZKhqPCxfcmvyySbrZKnS/nbDEubddt+rwtDKPZjwIIhtAqJwJDZL6qPdr+hV9
Kt4vJ/pKDl3yTHXuXBnL0JaXn7obXMVC3W8JMzSNV8UMa47TQBc7JA/fpL9KzWNcr/KuBs3MIK+r
faatK1g2NoxVTlerXpRot0u+tl3Yrb63mOyXc0LL4gdMPnQ1v/9mjSxTfxLwZbb/6/Z/sPPbq+3/
tl69fNHt/75Gw01eIX5d/busjlfW/OJ3wH+soLdZkbu8EldX1z6lINcul+TqpH2lOPex6HQlL5U6
ylpLXtT14uP+6j8M0FKtm1cQDuQed0m1br1OF3aglC0GyAGb1g+D8+nKT3k+4dcsSV7el5c0ylIe
+L/Y1RUFjVits7w2VHG2pTR0qj+eAcEb9UP4Sl+sUVnSV5XKrO7fUjInZ0QVc0XN2kDNtd8+FoL8
YFRflthrXSKD27u+rlH4qAxAqQwKhlFlHC1CLFR1hRQ1obGlNKFXIVAdTsQWbRGLUSnNiXrbpjxa
n1crj8qc4k+b+lA+dIX+SOtp0R+Fl2Soa4oJWbsIKA9InSy//1RRlDiSp/lNVJgGU7Tpr+YJpcNE
2sYPUNXl3JBeSKWSa/wgnMSNUrp5IEdrJN5pw+jjeVjazq48i9JUeJX6tvhyff+r/CBO8+y9cuuU
oWxhWrneYyXrNhmVQGl8shAKkWq9Las6PRf+jSVnYsuPLlo036SsWoGF3mP+ayArtXiYzekYr0Ap
q3L6FQn5WD60tcRRDcqMrJpzlZ4++0fxNWFRxCJH1rpXSgK3qGQV4W9VWRSfbzbEUCynqyTwjv4A
SCxh1bGqYCAMPHioDr3ph26QeZxtVPYO1myjOkWV+PNlzs5SucRScXyOEQUkYsflIDZiFB4wEXhJ
dhotpczV22rmHBsYhgcW41Ue1ozRa7HFksTJJvOQg9S33wTE5mnbrKo60tBv7VC2Go+E2mTGb4yN
RqzMkhaGfIn4D8KyNIoCtaEfPoiZk1hi9qeOsfrvf+Gf/3pZiv93Mf+z92Kni/+/Rqv9/a+JI2a9
Tcy64N8xwe+E6U79ORis4lqiMOwHHfCTFr/u9QRP2TBiYZSFcKlvYz/mU8cP9D1PEvzguNdTf8zk
H2Ab3J1FbAPLrffZt/+xkT+58VM6ovNTeP7fFz8dnNsfji7tw9OPH48uqRCe4IwqZfv0d2Ewtsbp
CEOBIfgUlk15cs2G9An7VCNZissD92n0fuv1NpCyf7X0uta1rnWta13rWte61rWuda1rXeta17rW
ta51rWtd61rXuta1rnWta13rWte61rWuda1rXevav2P7P9JVppQAeAAA
XSHAR_DATA
}

change_dir
extract_data
devtools/hello-xshar.sh "$@"