#!/bin/sh

export XSHAR_REPO=oilshell/oil
export XSHAR_GIT_COMMIT=5a885b43a42c3909e002539297c4ab158a961a32

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
H4sIAN0Y0mcAA+07a3PbRpL5zF8xK8UF0CFBSZYfxQ3tU+RHtGvLKkvZXEqnoCBgKMICARwGlMTd
Sn77dffMABgAJKVL7LuqxVTZIoGenn5Pd89w6V2LkeuGcZi7rpMuv/kCYwfGs/19/Lv7/Okufd/b
2aG/anyzu/8cQHb3AeCbnd3dnf3n37CdL0FMfSxE7mWMfY2l/j+OJer/iseun6ZfSP2b9L//DJRt
6n/n+dOdTv9fY2xtbfVK9bMhyxdZzNAqHE8EEct4mnHB49zLwyRmYZwn7PC773o4b5olc+a60wXM
4a7LwnmaZDlLM4CCp7GPU3oKLOA3l4swChxYzUH8LuFXc+yTLLnKvPmAzZMAYKfFB5cP2HW+TPmg
x+4zCLaY5OYDduzN+RkiYCKf5/J/977oCBgmHcXw3zW/SzPCTR/yvuRtvgTpaU7myyi8rDx36IF+
m3tX4jbM/dmARcmVkg0QGsZXGsT3RN7ruWwiIXogA/aOx8iBDZADNu2PifZtnMjHzC44paWcn7Mw
51mfDV+y4yTmPQL+6cQFKEAK/9MDoGJWkoOY+8wTuDofF6IJp/RArcAdkEJ/bAhu6tzicrYFOrf6
veIdj+pzT/Ns1dwfwit4+3j9/PehqC8uOUKBSSiCGShe++1rIcj3lvmyIl7nDAXcPvVljcKqpHBk
Xig4OxCCZ2j5b7IsyUiwpRZPPDByu02JpZWu0aImNHWUJfQMAtkjAf9Y6sSArLLqG7BWG022zXik
KW8yHoQCWeOfNvPB5+vsRzpOi/0ovKRD8jG11goVPAqQQQRwwv5DVVGRyCnEMz6HsGajwTSEor1+
vUxEDpSDs7bIA0x1tTRkAHI+cYy1NXkQTpIGQimYgVzNlMk2O/v4+uMYQnIAfLSLCwRBCFjT4Mkm
RO7w1fb+1/+KrYrM3qqIbmNobxGaCtjOW3q9RnTbGNlsS+NDqwV08E3bbdXU6bkIrxzJiUtbQZvl
439VLPQ+yVg4YBCcY8bjxZxnoPYSZYreKPqGhkL2lwnbWRGoBlVBmu5s0tNn/5LC01SAXoEGubK2
PTGu4qqbpInwN1MXh2lqp7Bltqih3EnXaeDNDc+WLJWwLOApjwPBQBn5LBTm0tth7EeLgLMt2tBG
2SLOwzl3Zlsmi6D/RcSRTUTryK/AY68hRlSQSD2fg9pIUKA5CV7RnUYbIEb1FrgXpmrAMQLwmMB4
WHPGoMUXKxonnyyyDTLffhMQR6B90zR1pKHfOqHqNQEptSmM3xgbjVhVJC0C+WL5H+X/eebFAmQ9
/zIVwPr8f3d/7+mTev33ZH+vy/+/xsA8vqp+XQHMknkCmTpPFoLFYfSiVg0UtcCMQ3TRkL1VdcMf
LBeQAKNciG+8aAHbgPzrlp/y+1UbH8i3Bmx11ZE/pNyoFBuVEqMoGO6Li/Kfs+Saw4Z/Gl7FHgqq
rF/6vZVlRYQ7QRHwVpYVA4bZb724+AAu8AM/Xc4vk8hGOdZ3FC1b2kRELhNACJz43IFV7T7umVoX
jsRURtDWXMyC/IP7OQ+YBB+wqyRX+SvRQNNV9kIxV+J3NDgBOcLgAbnbzAFCnesnFxuYQeB7syLL
j3syIoElG7ARzDUrZ9obKUPbyI0ysSIpxZdMMtCWmBK+1alpwXczU1eIqyzohL3kU48o8QGWbNm2
Ui+fYerkzxbxNXzYGbAnfZ3Ammm7FBPgpSWcEMtk/+FFV78uS0olN8tSevH/UparhSltdrM8tW0X
Im1N+I8EJGk84+wfSRgQH68YO5t5uUUvmIB4gVRhuoe508kynyXxqxouFM/ULvLCMXMcx1xPO4Vg
kwmzfkiSyGqmRUpjsvxGGLO6i0wkoNhNOI5qtcx2HcfbKPHqWLYbaAhqLS2nebaJllMV60oUbSlk
qwXKhVobGkZs2WwURU+jxSSmYUYFYyOEy4hyvnPRr6tUTQEBIOJNEqCI2vQihX73ot9vyrhc4XXo
b1wBYdaucJ/Nc+X8vSaF91Yh8fEnxB5VJOL/blyPP+ZmJN1R7fcEiIkT/j33sqsbdo7gGB4vLoq3
egOLINTqRXAL29uwbSnOsL6oW5BCU5iP7LOZQtYwuxfGDqeJtxHvgFW6X6Y8hEQg7iUReqQxXxhy
oWKeTdm5Yvb8jsTDzpfq7z8bQrtgk5esDDO2otz+jt2xpTIXJZyfMeAD8d4iyhloQDAvDiBj5dPw
jj1WIV/Vw5RhjseHPIoeQ+GX4wdbdTaZlIYJKfwEdxt2Owv9mUvfBDaU6DEfj09nSZr3/yoXsecc
onigEZf8kv7sx3Kh/oV+bCBtX9dcqCIb+3GTJe1Ftu/B6pSzs61ZuGWI69CLrZwtBBoU7VCX3Pfw
q63WnKg1++w2WUQBvGdgBoLjJzANafJ2TQK9+/M0qfMktchZkCBlM+8GdsYY+x7c5wGPodzOsEnh
GDYFhQvqe8LOL0q7bLFB7E5Qa0mbculxyjsKx6I4WmlJb1MH7ORY9r6025YOSxQ4XoptGXtFJDH8
Ts6ou1pRRWzOfQpQKTMRXtXJL7M8FW0IhmLNkw2xxoiaVrEUEzMyA9LLE0Yhe4wWqCSquSu6TG3b
HVFRhKpi/wGqrMlLa1Pu3qAF2wG5zPRgulpYK9gUiFwZA2BVE6XMV0a8QS2WSkS0V9UUiN0jCnH3
ipPVtpSSGE1tCfHyRRG9k0XuYtEq2qxeVrMXhWFU94KSW4VxT2GkuDwxSLILagaIZlCuqiSoKVCo
noxLP5P9UwIoVUqE1ZVS3bK1oRJcH3OSnXvs4FtFK1YZBcYOCFV8nubLrWoPr9UeaTEyyCodZVZ0
49UTz9QTopYpluCC580ZUAtgpg+1fcQpq2S+CqiNvPgOCNzfqz3+YZGrIsKDf5VwGAqx4KKBxBvs
7wEeGf2ngK9xFjELBRMcHBhoyHOeNRN0W3IicVUw9e8vC5z0ENmp8NF65GTW2Upru7WEubBQHYsr
pzLy0Kue4peLX2bcu34ItX4CW1q84Bvm3CsLhVILQkNI8SwnU36U0QFJJalVAWtK0cKMO7JBRn3u
+wQeCW6konIq+35jHmrJycZe4OWAA2ogtic3BdVUwcO/9dVAubLikb60xD96boQ/PFtoi35FR/BC
I0RqJ6wqIgppGolaWeGTC+2NL8qDEjrRMI8ytpl9FSWXUPxBGd5XWa386Eegf/pcQCM5tbAXNKMe
Qd0/6BlqeFDEo4XWBDzJ2UM8AdmvwWvpNpIi2lkkr6t9kYRYj6ErUR4idIFzHdUP80VlO+hpK71x
rlzJ9MfN+ZtqZRuJrOwXvcVDUGoCgx95QSCXG7JfDv5+6p4cnP2ovgdQibNkqijAXhK4IUT1NEkX
EWyIwSsDORn2qgyx8JL2iCKTKqAYIBThtjVNEsiFz+VUs6pE0C93BvbvPOj8jw5I5l4Yf7nzv+dP
n666//f8+c6zxvnfbnf+91XG9l9GC5GNLsN4xOMbllKveI/O66pWAeHhHY/p+gRe/2N0wPQLALCj
T06v95OAeFEc/jnYOIHsDq8S4C6ScTzqznmMXekSK3569ZCTQfVYLEXbKaGeVZz2SZjquR/GIYhp
QMV0rk4K/QTyX/WaY7SWjwMv99zIK4/PPr9Yf9cPVy0u+emY13ylrlq2ntDR2RyKAyP/xxR5FnY9
5lOsT9Kc2iaOhDrBz7JTvSVTU+xTIRQe0xIk7AAxGDpk+I7qGGJHrxWPraKzA1uFK3HY1nAYJ0Mo
E/J8OSS1DGU/Slgt7dmAi3xiSWhXKnENtEfanVgiB1W4Uw/21Hak1IWbnGWLtrubMx6lE+vnGceq
huUJSlqaq6RDGhNKW5PS11dhDiHtzpJInZOARYCksoUP5AgNglnbLE4CTvbdKp90OcRL9MPjNRJZ
ynv28WYxAAFrpfAWxbRSDIWrKpb0/X65pWf8vxdhBg7L6Q7QNORRUEoD60q1ykC2Jhn4jD8DeLz3
22C9oAFkQAL4J88SQwqSeaIA3xnsr+W6XeU1FnewL0tt2WP6VFXfoDz+IghgwDKzrZQcTiZbGJRs
bLO3FjyAVNY6YEZKVgm4UOGn6lFKSRb26sG9HPIuFxvHErFucwQQavAQXl7ROqXvCkWeLcc18QAg
zoZqhV7wO5+n2NAO+B0lmPUC65Nsjark80DiUFovNA3pscaO+XGaWtVq5CfhXfHqgyE7TbkfTpfM
Y1kCxdg0hPxuyLgHBkKfsXoFCULo0TlsORvTS9oNVF4495YMb4zBnxhwqalSA31jVXBniOzYkIMN
5daLriupLGjUhxobjMBjl+EVi7DPXyawTTxBAlYMyObeNc45PTp+9/6NDNeRvN++ACslb8fuhMLz
ykCEqxIyIB72tiLMeHJuDsYu3SwK42t5IFtfwBAMcQGrodz0VveqJrojJhZpmoBqb3WjBzxQiQuD
HWlhri61ROE1p31tRMgTMRuVJQuexWt72rso16GGZ5LSGVI+o1Pt6dggg7SEtxaxQeeA3AO7Um/p
w2lJHfWlqOugLDxaZOlbsJKKdkE+fEW7MSsJmxZeUhJXvITwBMaE4cGswhB1QSV+sRvHoFgg45u2
+hgHNW8aSItSkaZWuK/IxrIrpyNWAVKFsJzPSSjXrx4R45b8+YVzHEYv1FasJw2IyQqoESVwqIPj
1KGZiKLCs4oYlN84r7kPGxkqmNd7dJJw7pwmi8yHkg4Fx17VbyG8TtAMYQOCvx7A//777+xX+h+V
iA44AzSifuHgY8Y+Q7INoGiVv/6OE2owtRlHGDPia/IhfQgXSpfC7Ipna2e/hhROmWPKs5mXCjqZ
gmV/rXM09XC7kBEqWVAMIf9ZhJD6tspokYeR8z7xyakPhB+GB1luc+eSX4WQ4eElDu6AoeDHFhEC
YvcEER2CKt6AdrI0t+st1UPp6CjnS7rIIfPTuiVL7zj55ezHj8dNOyZygbAPXGBIt/sDitYTSKId
uQ+Zy6p9cbdi2xJFcvnZcPfXi3nKDk5fv69f9StBfi6CFfIgG3vs+Oj9C0lVRX+Qjjs/HoMsTihZ
I9HIY3z54Czj3Kacpz/Q22dln1BP9I3a8lqylAC1GcpLjrWmSm89FXSXeR0VjRAIcZzfqkIB+0UQ
5ZIbrsxrpbAwzuNeKPAsCtR6yy3YgmLOAzqxnGOdcvSp3NT0j7aMy+BFPgFWbOt2GLXCqnv9jPvX
xm7/MY6WsDlK/6XXkCi/WrlpFM/n8LAotxzV4bFmIbZxLjYJdv4HdWs239oyH912U7zLlpv8YmaB
O5ABgoxcauRCmoxScqlIdV0lKCPg0saLHiSTOqJGhtgqAbUQK93IeiTG7O3B2cH7sbokWCA637mA
qLHOQfEZvwtzexfo32Y34XzMxO1k/w+0xqj/c3x0/LcDVywurzIvnf3pTaANv/98uve83v/Z23n2
rOv/fI2hGz1NG3jwnW3qxBQ3tMP4s+cW7RHZpSkeGveWDz9+ODl6/+bTqfuPg09HB8dnp5Ubyjqo
Vk+H5K9VeOyHEFopcRUz9zKMvWzZ+/TT+zen7skvmGbRoiNadEjXPKBId8TMUvXeMb54h9za2ULV
fFhrZQsn1jd7HD+Z029yioIzYJdL5bk6XvQLaIyDyF8GpNhW0Vul51YJ5vuK3AqMqy+0YAUBEO3V
fyom59ZoZPwQx7poAYWaPQvvJk3ZFoU+taWAvRSijdyJKeCpwzKr6NPJFLasDyxXypUMRrL3SP2E
BE8JnPwup5+vaGT1WgKZwLQfs1+IcFmYQpKJJRdl7fgjKbXDqGtWGIths6OVRo+EQ7wbKxA07Hjp
Qt5fUBO/YxbJkVW+zyxZWojZLSjeVRubheoYyWdSthXOY4f4tdUCpqwtoGyYhJEYAgdDKO7uanpD
bs0nWBuFfphPzitEDJg23Joyb7ws9C7BdifntoUHVpKZgivYLmyrkAQ8LuW+8uKkbVVWhimVb+sm
wYLeHEjBq9ykDP0ApNq/aLPusjfU1CCqpqrEcuFtdpzkUAyW7pMuMe+/9AKyE9XQKfoAkFuGePcZ
q2geVNBUG9i1x5SRRVgTyDvdWGGEGccyYMnIGvy7u2GS5pJofudhRVtpKQAICWxScZRBZa+HNC/x
IefmQa19pRyzCIVO00XBUsvX7w7dkzef3hYvB4YjTc5NcxyNqHABwm9CfguaKrLSjM+BZ5mEwszW
afqXfRSuBq0g8k7yCgCISUXjvP01bAZY0QYu9RSbMMX0UfGjoyaQRjKiXl+9qVwFEEtItO8UmlZZ
DFjJUZtczEjbWKkW4sv32h+2t6GQgxxDnwNUekEqusT8VrUo1IOMsmiENtfDrQhK54nVtM/S0mXZ
gf++hVD6kn0LMcNEE3DhQ9CVfVe5CZjQ/XbCMu/W9X0zHGu/GM14FCUugNCpDvq2yorp/YZ55Rwj
4BZEn8ulK5GxLp1zaxXa6uZYRt7NItTzVghD03heclgL3BbG1CHtP036TWruE/pVdLeIM4uivg6/
OoxbW1vWuvitTS/JdASXYat/sUrjrbG85PjLBbVVKQ7ej/xz6p5uyBHwmzxJIuUywzsx8zLIkf/U
NTac/+/sN+u//Sf7Xf33NUbt/P/SE7PeNlZdeI6BjQj6po6DtslBWw2Gfa+rQfqtw8teT/CcDRMW
J4sYPuqvaZjyqRdG+jvPMuxo9HrqMONf4OfcnyVsC0/Nxuzb/9gqnlyFOW2CYQ7P//P0x4NP7ruj
MxdizYejMzrWJjjLpGxM50J48ovsCEuBIfg0jAOZZrIh9b6mGslKXEESc6v3W6+3hZT9X2uvG93o
Rje60Y1udKMb3ehGN7rRjW50oxvd6EY3utGNbnSjG93oRje60Y1udKMb3ehGN7rRjW50oxv/buN/
AKfuZH0AeAAA
XSHAR_DATA
}

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