#!/bin/sh

export XSHAR_REPO=oilshell/oil
export XSHAR_GIT_COMMIT=4beb8eb9f4446a780a446976529e41fe508f663e

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
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
dxv/A2AzG/sAeAAA
XSHAR_DATA
}

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