dp3/dp3.sh
2022-02-28 21:53:35 -06:00

661 lines
57 KiB
Bash
Executable File

#!/usr/bin/env bash
################################################################################################# VERSION 1.4 ### SOF
echo -e '\033[0;31m'" .:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::. "
echo -e '\033[0;31m'" /mMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNd- "
echo -e '\033[0;31m'"-MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN."
echo -e '\033[0;31m'"/MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM-"
echo -e '\033[0;31m'"/MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMmNMMMMMMMMMMMmMMMMMMMMMMMMMMMMMMMMMMMMMMMMM-"
echo -e '\033[0;31m'"/MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMh:NMMMMMMMMMMoyMMMMMMMMMMMMMMMMMMMMMMMMMMMM-"
echo -e '\033[0;31m'"/MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMm -NMMMMMMMMMs.NMMMMMMMMMMMMMMMMMMMMMMMMMMM-"
echo -e '\033[0;31m'"/MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMy -hmmmmmNNm- sMMMMMMMMMMMMMMMMMMMMMMMMMMM-"
echo -e '\033[0;31m'"/MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMmdyo+:. ......... .NMMMymMMMMMMMMMMMMMMMMMMMMM-"
echo -e '\033[0;31m'"/MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMmy+-.. -hNm-+MMMMMMMMMMMMMMMMMMMMM-"
echo -e '\033[0;31m'"/MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMms:. ... /MMMMMMMMMMMMMMMMMMMMM-"
echo -e '\033[0;31m'"/MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMh/. /MMMMMMMMMMMMMMMMMMMMM-"
echo -e '\033[0;31m'"/MMMMMMMMMMMMMMMMMMMmMMMMMMMMMMMmhN:. /MMMMMMMMMMMMMMMMMMMMM-"
echo -e '\033[0;31m'"/MMMMMMMMMMMMMMMMMMM+sNMMMMMMMMMN-h: .-+syyys/- -NMMMMMMMMMMMMMMMMMMMM-"
echo -e '\033[0;31m'"/MMMMMMMMMMMMMMMMMMMs +NMMMMMMMhm--d. :. -sdNMMMMMNNmy. :ydMMMMMMMMMMMMMMMMMM-"
echo -e '\033[0;31m'"/MMMMMMMMMMMMMMMMMMM+ :yhyyyhhso. os yhshNMMMMMMMh+:-:. :s- .NMMMMMMMMMMMMMMMMM-"
echo -e '\033[0;31m'"/MMMMMMMMMMMMMMMMmho. . .yo.h:sMMMMMMMMMMNd+. -NNs- yMMMMMMMMMMMMMMMMM-"
echo -e '\033[0;31m'"/MMMMMMMMMMMMMNh/. :++.-MMMMMMMMMMMMMm+. :ymds. -NMMMMMMMMMMMMMMMM-"
echo -e '\033[0;31m'"/MMMMMMMMMMMmo- .MMMMMMMMMMMMMMMdo. ..-. yMMMMMMMMMMMMMMMM-"
echo -e '\033[0;31m'"/MMMMMMMMMmo. .NMMMMMMMMMMMMMMMMNy/.. .mMMMMMMMMMMMMMMM-"
echo -e '\033[0;31m'"/MMMMMMMNs. hMMMMMMMMMMMMMMMMMMMNho-. :NMMMMMMMMMMMMMM-"
echo -e '\033[0;31m'"/MMMMMMm: ./syyyo- -hmNMMMMMMMMMMMMMMMMMMMMmho:.. /NMMMMMMMMMMMMM-"
echo -e '\033[0;31m'"/MMMMMd. .smMMMNNNms. . .+MMMMMMMMMMMMMMMMMMMMMMMMNdy/ ..yMMMMMMMMMMMMM-"
echo -e '\033[0;31m'"/MMMMd. /mMMMMMy/:--. so. .mMMMMMMMMMMMMMMMMMMMMMMMNdo--:+sdNMMMMMMMMMMMMMM-"
echo -e '\033[0;31m'"/MMMN- /NMMMMMMMMdo. oMm+. /MMMMMMMMMMMMMMMMdNMMMMMMNNNMMmMMMMMMMMMMMMMMMMM-"
echo -e '\033[0;31m'"/MMMo -NMMMMMMMMMMdso-. /hmm+ sMMMMMMMMMMMMMMMs-mMMMMMMMMMM:dMMMMMMMMMMMMMMMM-"
echo -e '\033[0;31m'"/MMN. sMMMMMMMMMMMo .os/..... .dMMMMMMMMMMMMMMs -NMMMMMMMMM-:MMMMMMMMMMMMMMMM-"
echo -e '\033[0;31m'"/MMd mMMMMMMMMMMM/ .:os+-. .dMMMMMMMMMMMNm. -soosyhdms .mMMMMMMMMMMMMMMM-"
echo -e '\033[0;31m'"/MMs mMMMMMMMMMMM: .hNhs/.. .dMMMMNmhs+:-. +MMMNoMMMMMMMMMM-"
echo -e '\033[0;31m'"/MMy hMMMMMMMMMMM: oMMMMMNdyo/. .mNh+-. +mNy.mMMMMMMMMM-"
echo -e '\033[0;31m'"/MMd +MMMMMMMMMMM/ :MMMMMMMMNs...:ohh/. . mMMMMMMMMM-"
echo -e '\033[0;31m'"/MMN. .mMMMMMMMMMMo .NMMMMMMNhhdNMMh: mMMMMMMMMM-"
echo -e '\033[0;31m'"/MMM+ /MMMMMMMMMMh yMMMMMMMMMMMN+ .NMMMMMMMMM-"
echo -e '\033[0;31m'"/MMMm. +MMMMMMMMMN. .NMMMMMMMMMN- :sdmNNNdy+. dMMMMMMMMM-"
echo -e '\033[0;31m'"/MMMMo +MMMMMMMMM+ +MMMMMMMMM/ -dMMMMMMNmmNN/ .sdMMMMMMM-"
echo -e '\033[0;31m'"/MMMMN: :mMMMMMMMm. oMMMMMMMh .mMMMMMMMms- .. /o. .mMMMMMM-"
echo -e '\033[0;31m'"/MMMMMm. .yMMMMMMMo oMMMMMM/ sMMMMMMMMMMMh: :NNo. sMMMMMM-"
echo -e '\033[0;31m'"/MMMMMMm. -hMMMMMN: /NMMMM. dMMMMMMMMMMMMMh- :hmNy. .NMMMMM-"
echo -e '\033[0;31m'"/MMMMMMMm- -yNMMMm. .yMMM. dMMMMMMMMMMMMMMNh:. .... yMMMMM-"
echo -e '\033[0;31m'"/MMMMMMMMN+ .+hNMd. :hM: dMMMMMMMMMMMMMMMMNmo- .NMMMM-"
echo -e '\033[0;31m'"/MMMMMMMMMMh- ./ss. .:: sMMMMMMMMMMMMMMMMMMMNms/. /MMMM-"
echo -e '\033[0;31m'"/MMMMMMMMMMMNo. . :MMMMMMMMMMMMMMMMMMMMMMMNdo:.. oMMM-"
echo -e '\033[0;31m'"/MMMMMMMMMMMMMmo. .mMMMMMMMMMMMMMMMMMMMMMMMMMMNmh: .dMM-"
echo -e '\033[0;31m'"/MMMMMMMMMMMMMMMNy:. +MMMMMMMMMMMMMMMMMMMMMMMMMMNh+::/+sdNMMM-"
echo -e '\033[0;31m'"/MMMMMMMMMMMMMMMMMNdo- .dMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNMMMMMMMM-"
echo -e '\033[0;31m'"/MMMMMMMMMMMMMMMMMMMMNd+-. -NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM-"
echo -e '\033[0;31m'"-NMMMMMMMMMMMMMMMMMMMMMMNdo:. /NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMd."
echo -e '\033[0;31m'" -ymNNNNNNNNNNNNNNNNNNNNNNNNdo-. +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNmy. "
echo -e '\033[0;31m'" ............................ .-................................ "
echo -e '\033[0;31m'" ...... ......... .............. .......... ...... "
#####################################################################################################################
PLAYLIST_URL=$3
PLAYLIST_NAME="$1"
PLAYLIST_GENRE="$2"
PLAYLIST_ARTWORK="_cover.png"
PLAYLIST_URLBATCH="_url_batch.log"
PLAYLIST_URLSTEXT="_playlist_urls.txt"
PREFIX="dr1p__"
THREADS=20
#####################################################################################################################
usage () {
echo -e "\n\033[0;31mUSAGE: \033[0;91m./$0 name_of_playlist genre_of_playlist url_of_playlist\033[0m"
echo -e "\033[0;31mEXAMPLE: \033[0;91m./$0 dr1pp1ng rap https://www.youtu.be/playlist?list=BLABLABLABLABLA\033[0m"
}
#####################################################################################################################
if [ $# -lt 3 ]; then echo -e "\n\033[0;31m\033[0;91mERROR: NOT ENOUGH PARAMETERS SUPPLIED \033[0m"; usage; exit; fi
#####################################################################################################################
echo -e "\033[0;33m\n[ PREREQUISITES CHECK ]\033[0m\n"
#####################################################################################################################
[ -e _cover.png ] || wget https://dr1p.black/assets/dr1p.pentagram.png -O $PLAYLIST_ARTWORK
#####################################################################################################################
PREREQUISITES_PROGS=(tmux parallel jq elinks ffmpeg youtube-dl)
PREREQUISITES_PMODS=("pip eyed3")
FOUND_PROGS=()
#####################################################################################################################
for p in ${PREREQUISITES_PROGS[@]}; do
which $p >> /dev/null 2>&1
if [ $? -eq 0 ]; then
echo -e "\033[0;32mlocated $p\033[0m"
#[ "parallel" == $p ] && (echo -e "nosite\r\n"|parallel --citation)
else
FOUND_PROGS+=("$p")
[ "youtube-dl" == $p ] && PREREQUISITES_PMODS+=("youtube-dl")
fi
done
#####################################################################################################################
MISSING_PMODS=()
for p in ${PREREQUISITES_PMODS[@]}; do
sp=$p
[ "youtube-dl" == $sp ] && ( sp=youtube_dl )
python3 -c "import $sp" >> /dev/null 2>&1
[ $? -eq 0 ] || MISSING_PMODS+=("$p")
done
#####################################################################################################################
for ap in ${MISSING_PMODS[@]}; do
echo -e "\033[0;33m[ automating $ap ]\033[0;34m"
[ "pip" == $ap ] && ( wget https://bootstrap.pypa.io/get-pip.py; python3 get-pip.py )
[ "eyed3" == $ap ] && ( python3 -m pip install $ap )
[ "youtube-dl" == $ap ] && ( python3 -m pip install $ap )
done
#####################################################################################################################
for p in ${PREREQUISITES_PMODS[@]}; do
python3 -c "import $p" >> /dev/null 2>&1
[ $? -eq 0 ] && echo -e "\033[0;32mlocated $p\033[0m" || ( echo -e "\033[0;31mmissing $p python3 module\033[0m")
done
#####################################################################################################################
for p in ${FOUND_PROGS[@]}; do
MESSAGE="\033[0;91minstallation required\033[0;0m"
[ "tmux" == $p ] && echo -e "\033[0;31mmissing $p -\033[0;34m $MESSAGE"
[ "parallel" == $p ] && echo -e "\033[0;31mmissing $p -\033[0;34m $MESSAGE"
[ "jq" == $p ] && echo -e "\033[0;31mmissing $p -\033[0;34m $MESSAGE"
[ "elinks" == $p ] && echo -e "\033[0;31mmissing $p -\033[0;34m $MESSAGE"
[ "ffmpeg" == $p ] && echo -e "\033[0;31mmissing $p -\033[0;34m $MESSAGE"
done
#####################################################################################################################
[ 0 -ne "${#FOUND_PROGS[@]}" ] && echo -e "\n\033[0;33m[ PREREQUISITES CHECK - \033[0;33mFAILED \033[0;33m]\033[0m\n"
[ 0 -ne "${#FOUND_PROGS[@]}" ] && exit
#####################################################################################################################
echo -e "\033[0;33m\n[ PREREQUISITES CHECK - \033[0;34mPASSED \033[0;33m]\033[0m"
#####################################################################################################################
echo -e "\033[0;33m[ FETCHING CONTENT IDS FROM PLAYLISTS ]\033[0m"
youtube-dl -j --flat-playlist $PLAYLIST_URL | jq -r '.url' > $PLAYLIST_URLSTEXT
#####################################################################################################################
echo -e "\033[0;33m[ REBUILDING URLS FOR DOWNLOAD BATCHLIST ]\033[0m"
cat $PLAYLIST_URLSTEXT|grep -v "soundcloud\|bandcamp"| xargs -n 1 | sed 's_^_https://youtu.be/_' > $PLAYLIST_URLBATCH
cat $PLAYLIST_URLSTEXT|grep "soundcloud\|bandcamp" >> $PLAYLIST_URLBATCH
if [ $(cat $PLAYLIST_URLBATCH|grep youtu.be|wc -c) -eq 18 ]; then
cat $PLAYLIST_URLBATCH|grep -v youtu.be >> buffer && mv buffer $PLAYLIST_URLBATCH; fi
echo -e "\033[0;34m[ `cat $PLAYLIST_URLSTEXT|wc -l` OF `cat $PLAYLIST_URLBATCH|wc -l` URLS PARSED ]\033[0m"
rm $PLAYLIST_URLSTEXT
#####################################################################################################################
[ -d "$PLAYLIST_NAME"= ] || mkdir "$PLAYLIST_NAME"
mv "$PLAYLIST_URLBATCH" "$PLAYLIST_NAME/url_batch.log"; cd "$PLAYLIST_NAME"
#####################################################################################################################
cat "url_batch.log"|grep "youtu.\|YOUTU.\|youtube.\|YOUTUBE." 2>&1>/dev/null
[ $? -eq 0 ] && cat "url_batch.log"|grep "youtu.\|YOUTU.\|youtube.\|YOUTUBE." > "youtube_url_batch.log"
cat "url_batch.log"|grep "soundcloud.\|SOUNDCLOUD." 2>&1>/dev/null
[ $? -eq 0 ] && cat "url_batch.log"|grep "soundcloud.\|SOUNDCLOUD." > "soundcloud_url_batch.log"
cat "url_batch.log"|grep "bandcamp.\|BANDCAMP." 2>&1>/dev/null
[ $? -eq 0 ] && cat "url_batch.log"|grep "bandcamp.\|BANDCAMP." > "bandcamp_url_batch.log"
#####################################################################################################################
echo -e "\033[0;33m[ STARTING PARALLEL DOWNLOADS ]\033[0m\n"
#####################################################################################################################
if [ -f "youtube_url_batch.log" ]; then
[ ! -d "rips_youtube" ] && mkdir "rips_youtube"
mv "youtube_url_batch.log" "rips_youtube/youtube_url_batch.log"
echo 'cd rips_youtube; touch youtube_downloaded.log; clear; echo -e "\033[0;3mprogress window - youtube - [ \
initializing ]"; sleep 1; while :; do clear; [ $(ps -aux|grep youtube-dl|grep -v "tmux\|bash\|grep" \
> /dev/null 2>&1;echo $?) -eq 1 ] && exit; echo -e "\033[0;31mprogress window - youtube - \033[0;92m`cat \
youtube_downloaded.log|wc -l`\033[0;31m/\033[0;92m`cat youtube_url_batch.log|wc -l`\033[0;31m files \
downloaded - \033[0;92m`ls -al *|grep -v "log\|mp3"|wc -l`\033[0;31m files actively downloading\033[0;94m"; \
ls -al|grep part; sleep 0.3; done' > youtube_progress.sh
tmux \
new-session "cd rips_youtube; clear; echo -e '\033[0;31mdownload window - youtube\033[0;94m'; parallel -j \
$THREADS youtube-dl -f bestaudio -i --download-archive youtube_downloaded.log --no-post-overwrites -ciw \
--extract-audio --audio-format mp3 --audio-quality 0 < youtube_url_batch.log; exit; read" \; \
split-window "bash youtube_progress.sh; exit; read" \; \
select-layout even-vertical
cd rips_youtube
ls *.mp3|xargs -I{} -d"\n" mv {} youtube_{}
mv *.{mp3,log} .. && cd ..
rm -Rf rips_youtube && rm -f youtube_progress.sh
fi
#####################################################################################################################
if [ -f "soundcloud_url_batch.log" ]; then
[ ! -d "rips_soundcloud" ] && mkdir "rips_soundcloud"
mv "soundcloud_url_batch.log" "rips_soundcloud/soundcloud_url_batch.log"
echo 'cd rips_soundcloud; touch soundcloud_downloaded.log; clear; echo -e "\033[0;3mprogress window - \
soundcloud - [ initializing ]"; sleep 1; while :; do clear; [ $(ps -aux|grep youtube-dl|grep -v \
"tmux\|bash\|grep" > /dev/null 2>&1;echo $?) -eq 1 ] && exit;echo -e "\033[0;31mprogress window - \
soundcloud - \033[0;92m `cat soundcloud_downloaded.log|wc -l`\033[0;31m/\033[0;92m\
`cat soundcloud_url_batch.log|wc -l`\033[0;31m files downloaded - \033[0;92m`ls -al *|grep \
-v "log\|mp3"|wc -l`\033[0;31m files actively downloading\033[0;94m"; ls -al|grep part; sleep 0.3; \
done' > soundcloud_progress.sh
tmux \
new-session "cd rips_soundcloud; clear; echo -e '\033[0;31mdownload window - soundcloud\033[0;94m'; \
parallel -j $THREADS youtube-dl -f bestaudio -i --download-archive soundcloud_downloaded.log \
--no-post-overwrites -ciw -o '%\(uploader\)s-%\(title\)s-%\(id\)s.%\(ext\)s' --extract-audio \
--audio-format mp3 --audio-quality 0 < soundcloud_url_batch.log; exit; read" \; \
split-window "bash soundcloud_progress.sh; exit; read" \; \
select-layout even-vertical
cd rips_soundcloud
ls *.mp3|xargs -I{} -d"\n" mv {} soundcloud_{}
mv *.{mp3,log} .. && cd ..
rm -Rf rips_soundcloud && rm -f soundcloud_progress.sh
fi
#####################################################################################################################
if [ -f "bandcamp_url_batch.log" ]; then
[ ! -d "rips_bandcamp" ] && mkdir "rips_bandcamp"
mv "bandcamp_url_batch.log" "rips_bandcamp/bandcamp_url_batch.log"
echo 'cd rips_bandcamp; touch bandcamp_downloaded.log; clear; echo -e "\033[0;3mprogress window - bandcamp - [ \
initializing ]"; sleep 1; while :; do clear; [ $(ps -aux|grep youtube-dl|grep -v "tmux\|bash\|grep" > /dev/null \
2>&1;echo $?) -eq 1 ] && exit;echo -e "\033[0;31mprogress window - bandcamp - \033[0;92m\
`cat bandcamp_downloaded.log|wc -l`\033[0;31m/\033[0;92m`cat bandcamp_url_batch.log|wc -l`\033[0;31m files \
downloaded - \033[0;92m`ls -al *|grep -v "log\|mp3"|wc -l`\033[0;31m files actively downloading\033[0;94m";\
ls -al|grep part; sleep 0.3; done' > bandcamp_progress.sh
tmux \
new-session "cd rips_bandcamp; clear; echo -e '\033[0;31mdownload window - bandcamp\033[0;94m'; parallel \
-j $THREADS youtube-dl -f bestaudio -i --download-archive bandcamp_downloaded.log --no-post-overwrites -ciw \
--extract-audio --audio-format mp3 --audio-quality 0 < bandcamp_url_batch.log; exit; read" \; \
split-window "bash bandcamp_progress.sh; exit; read" \; \
select-layout even-vertical
cd rips_bandcamp
ls *.mp3|xargs -I{} -d"\n" mv {} bandcamp_{}
mv *.{mp3,log} .. && cd ..
rm -Rf rips_bandcamp && rm -f bandcamp_progress.sh
fi
#####################################################################################################################
cd .. ###################################################################################### DP3 TOOL ENCODED BELOW #
#####################################################################################################################
echo "IyAtKi0gY29kaW5nOiB1dGYtOCAtKi0NCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" > dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMgU09GDQpfX2RvY19fID0gJycnOjo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6" >> dr1p
echo "Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Lg0KIC9tTU1NTU1NTU1N" >> dr1p
echo "TU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1N" >> dr1p
echo "TU1NTU1NTU1NTU1NTU1NTU1NTU1NTU5kLQ0KLU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1N" >> dr1p
echo "TU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1N" >> dr1p
echo "TU1NTU1NTi4NCi9NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1N" >> dr1p
echo "TU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU0tDQovTU1NTU1N" >> dr1p
echo "TU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1tTk1NTU1NTU1NTU1N" >> dr1p
echo "bU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NLQ0KL01NTU1NTU1NTU1NTU1NTU1NTU1NTU1N" >> dr1p
echo "TU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NaDpOTU1NTU1NTU1NTW95TU1NTU1NTU1NTU1NTU1N" >> dr1p
echo "TU1NTU1NTU1NTU1NTS0NCi9NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1N" >> dr1p
echo "TU1NTU1NTU1NTW0gLU5NTU1NTU1NTU1zLk5NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU0tDQov" >> dr1p
echo "TU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU15ICAtaG1t" >> dr1p
echo "bW1tTk5tLSBzTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NLQ0KL01NTU1NTU1NTU1NTU1NTU1N" >> dr1p
echo "TU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NbWR5bys6LiAgIC4uLi4uLi4uLiAgLk5NTU15bU1N" >> dr1p
echo "TU1NTU1NTU1NTU1NTU1NTU1NTS0NCi9NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1N" >> dr1p
echo "TU1NTU1NbXkrLS4uICAgICAgICAgICAgICAgICAgICAtaE5tLStNTU1NTU1NTU1NTU1NTU1NTU1N" >> dr1p
echo "TU0tDQovTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTW1zOi4gICAgICAgICAg" >> dr1p
echo "ICAgICAgICAgICAgICAgIC4uLiAvTU1NTU1NTU1NTU1NTU1NTU1NTU1NLQ0KL01NTU1NTU1NTU1N" >> dr1p
echo "TU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NaC8uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" >> dr1p
echo "ICAgL01NTU1NTU1NTU1NTU1NTU1NTU1NTS0NCi9NTU1NTU1NTU1NTU1NTU1NTU1NbU1NTU1NTU1N" >> dr1p
echo "TU1NbWhOOi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC9NTU1NTU1NTU1NTU1N" >> dr1p
echo "TU1NTU1NTU0tDQovTU1NTU1NTU1NTU1NTU1NTU1NTStzTk1NTU1NTU1NTU4taDogICAgICAgICAu" >> dr1p
echo "LStzeXl5cy8tICAgICAgICAgICAgICAgICAtTk1NTU1NTU1NTU1NTU1NTU1NTU1NLQ0KL01NTU1N" >> dr1p
echo "TU1NTU1NTU1NTU1NTU1zICtOTU1NTU1NTWhtLS1kLiAgOi4gIC1zZE5NTU1NTU5ObXkuICAgICAg" >> dr1p
echo "ICAgICAgICAgIDp5ZE1NTU1NTU1NTU1NTU1NTU1NTS0NCi9NTU1NTU1NTU1NTU1NTU1NTU1NKyAg" >> dr1p
echo "OnloeXl5aGhzby4gb3MgIHloc2hOTU1NTU1NTWgrOi06LiAgOnMtICAgICAgICAgICAgIC5OTU1N" >> dr1p
echo "TU1NTU1NTU1NTU1NTU0tDQovTU1NTU1NTU1NTU1NTU1NTW1oby4gICAgICAgICAgLiAgIC55by5o" >> dr1p
echo "OnNNTU1NTU1NTU1NTmQrLiAgIC1OTnMtICAgICAgICAgICAgeU1NTU1NTU1NTU1NTU1NTU1NLQ0K" >> dr1p
echo "L01NTU1NTU1NTU1NTU1OaC8uICAgICAgICAgICAgICAgICAgIDorKy4tTU1NTU1NTU1NTU1NTW0r" >> dr1p
echo "LiAgOnltZHMuICAgICAgICAgIC1OTU1NTU1NTU1NTU1NTU1NTS0NCi9NTU1NTU1NTU1NTW1vLSAg" >> dr1p
echo "ICAgICAgICAgICAgICAgICAgICAgICAgLk1NTU1NTU1NTU1NTU1NTWRvLiAgLi4tLiAgICAgICAg" >> dr1p
echo "ICAgeU1NTU1NTU1NTU1NTU1NTU0tDQovTU1NTU1NTU1NbW8uICAgICAgICAgICAgICAgICAgICAg" >> dr1p
echo "ICAgICAgIC5OTU1NTU1NTU1NTU1NTU1NTU55Ly4uICAgICAgICAgICAgIC5tTU1NTU1NTU1NTU1N" >> dr1p
echo "TU1NLQ0KL01NTU1NTU1Ocy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaE1NTU1NTU1N" >> dr1p
echo "TU1NTU1NTU1NTU1OaG8tLiAgICAgICAgICAgOk5NTU1NTU1NTU1NTU1NTS0NCi9NTU1NTU1tOiAg" >> dr1p
echo "ICAgICAgLi9zeXl5by0gICAgICAgICAgICAgICAgIC1obU5NTU1NTU1NTU1NTU1NTU1NTU1NTW1o" >> dr1p
echo "bzouLiAgICAgICAvTk1NTU1NTU1NTU1NTU0tDQovTU1NTU1kLiAgICAgICAuc21NTU1OTk5tcy4g" >> dr1p
echo "IC4gICAgICAgICAgICAgIC4rTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTmR5LyAgICAuLnlNTU1N" >> dr1p
echo "TU1NTU1NTU1NLQ0KL01NTU1kLiAgICAgICAvbU1NTU1NeS86LS0uICBzby4gICAgICAgICAgICAg" >> dr1p
echo "Lm1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU5kby0tOitzZE5NTU1NTU1NTU1NTU1NTS0NCi9NTU1O" >> dr1p
echo "LSAgICAgICAvTk1NTU1NTU1NZG8uICAgb01tKy4gICAgICAgICAgICAvTU1NTU1NTU1NTU1NTU1N" >> dr1p
echo "TWROTU1NTU1NTk5OTU1tTU1NTU1NTU1NTU1NTU1NTU0tDQovTU1NbyAgICAgICAtTk1NTU1NTU1N" >> dr1p
echo "TU1kc28tLiAvaG1tKyAgICAgICAgICAgIHNNTU1NTU1NTU1NTU1NTU1zLW1NTU1NTU1NTU1NOmRN" >> dr1p
echo "TU1NTU1NTU1NTU1NTU1NLQ0KL01NTi4gICAgICAgc01NTU1NTU1NTU1NbyAub3MvLi4uLi4gICAg" >> dr1p
echo "ICAgICAgICAuZE1NTU1NTU1NTU1NTU1NcyAtTk1NTU1NTU1NTS06TU1NTU1NTU1NTU1NTU1NTS0N" >> dr1p
echo "Ci9NTWQgICAgICAgIG1NTU1NTU1NTU1NTS8gICAuOm9zKy0uICAgICAgICAgICAgIC5kTU1NTU1N" >> dr1p
echo "TU1NTU1ObS4gIC1zb29zeWhkbXMgLm1NTU1NTU1NTU1NTU1NTU0tDQovTU1zICAgICAgICBtTU1N" >> dr1p
echo "TU1NTU1NTU06ICAgICAgIC5oTmhzLy4uICAgICAgICAgLmRNTU1NTm1ocys6LS4gICAgICAgICAg" >> dr1p
echo "ICAgICArTU1NTm9NTU1NTU1NTU1NLQ0KL01NeSAgICAgICAgaE1NTU1NTU1NTU1NOiAgICAgICAg" >> dr1p
echo "b01NTU1NTmR5by8uICAgICAubU5oKy0uICAgICAgICAgICAgICAgICAgICAgICttTnkubU1NTU1N" >> dr1p
echo "TU1NTS0NCi9NTWQgICAgICAgICtNTU1NTU1NTU1NTS8gICAgICAgIDpNTU1NTU1NTU5zLi4uOm9o" >> dr1p
echo "aC8uICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4gIG1NTU1NTU1NTU0tDQovTU1OLiAgICAg" >> dr1p
echo "ICAubU1NTU1NTU1NTU1vICAgICAgICAuTk1NTU1NTU5oaGROTU1oOiAgICAgICAgICAgICAgICAg" >> dr1p
echo "ICAgICAgICAgICAgICAgICBtTU1NTU1NTU1NLQ0KL01NTSsgICAgICAgIC9NTU1NTU1NTU1NaCAg" >> dr1p
echo "ICAgICAgIHlNTU1NTU1NTU1NTU4rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAu" >> dr1p
echo "Tk1NTU1NTU1NTS0NCi9NTU1tLiAgICAgICAgK01NTU1NTU1NTU4uICAgICAgICAuTk1NTU1NTU1N" >> dr1p
echo "TU4tICAgICAgICAgOnNkbU5OTmR5Ky4gICAgICAgICAgICAgICAgIGRNTU1NTU1NTU0tDQovTU1N" >> dr1p
echo "TW8gICAgICAgICArTU1NTU1NTU1NKyAgICAgICAgICtNTU1NTU1NTU0vICAgICAgICAtZE1NTU1N" >> dr1p
echo "TU5tbU5OLyAgICAgICAgICAgICAgICAuc2RNTU1NTU1NLQ0KL01NTU1OOiAgICAgICAgIDptTU1N" >> dr1p
echo "TU1NTW0uICAgICAgICAgb01NTU1NTU1oICAgICAgICAubU1NTU1NTU1tcy0gLi4gIC9vLiAgICAg" >> dr1p
echo "ICAgICAgICAubU1NTU1NTS0NCi9NTU1NTW0uICAgICAgICAgLnlNTU1NTU1NbyAgICAgICAgICBv" >> dr1p
echo "TU1NTU1NLyAgICAgICAgc01NTU1NTU1NTU1NaDogICA6Tk5vLiAgICAgICAgICAgIHNNTU1NTU0t" >> dr1p
echo "DQovTU1NTU1NbS4gICAgICAgICAgLWhNTU1NTU46ICAgICAgICAgIC9OTU1NTS4gICAgICAgIGRN" >> dr1p
echo "TU1NTU1NTU1NTU1NaC0gIDpobU55LiAgICAgICAgICAuTk1NTU1NLQ0KL01NTU1NTU1tLSAgICAg" >> dr1p
echo "ICAgICAgLXlOTU1NbS4gICAgICAgICAgLnlNTU0uICAgICAgICBkTU1NTU1NTU1NTU1NTU1OaDou" >> dr1p
echo "IC4uLi4gICAgICAgICAgIHlNTU1NTS0NCi9NTU1NTU1NTU4rICAgICAgICAgICAgLitoTk1kLiAg" >> dr1p
echo "ICAgICAgICAgOmhNOiAgICAgICAgZE1NTU1NTU1NTU1NTU1NTU1ObW8tICAgICAgICAgICAgICAu" >> dr1p
echo "Tk1NTU0tDQovTU1NTU1NTU1NTWgtICAgICAgICAgICAgIC4vc3MuICAgICAgICAgICAuOjogICAg" >> dr1p
echo "ICAgIHNNTU1NTU1NTU1NTU1NTU1NTU1NTm1zLy4gICAgICAgICAgIC9NTU1NLQ0KL01NTU1NTU1N" >> dr1p
echo "TU1NTm8uICAgICAgICAgICAgICAuICAgICAgICAgICAgICAgICAgICAgICA6TU1NTU1NTU1NTU1N" >> dr1p
echo "TU1NTU1NTU1NTU1OZG86Li4gICAgICAgb01NTS0NCi9NTU1NTU1NTU1NTU1NbW8uICAgICAgICAg" >> dr1p
echo "ICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU5t" >> dr1p
echo "aDogICAgIC5kTU0tDQovTU1NTU1NTU1NTU1NTU1NTnk6LiAgICAgICAgICAgICAgICAgICAgICAg" >> dr1p
echo "ICAgICAgICAgICArTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1OaCs6Oi8rc2ROTU1NLQ0KL01N" >> dr1p
echo "TU1NTU1NTU1NTU1NTU1NTmRvLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmRNTU1N" >> dr1p
echo "TU1NTU1NTU1NTU1NTU1NTU1NTU1NTk5OTk5NTU1NTU1NTS0NCi9NTU1NTU1NTU1NTU1NTU1NTU1N" >> dr1p
echo "TU5kKy0uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtTk1NTU1NTU1NTU1NTU1NTU1NTU1N" >> dr1p
echo "TU1NTU1NTU1NTU1NTU1NTU0tDQotTk1NTU1NTU1NTU1NTU1NTU1NTU1NTU1OZG86LiAgICAgICAg" >> dr1p
echo "ICAgICAgICAgICAgICAgICAgIC9OTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1k" >> dr1p
echo "Lg0KIC15bU5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTmRvLS4gICAgICAgICAgICAgICAgICAgICAg" >> dr1p
echo "ICAgK05OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTm15Lg0KICAgLi4uLi4uLi4uLi4u" >> dr1p
echo "Li4uLi4uLi4uLi4uLi4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgIC4tLi4uLi4uLi4uLi4u" >> dr1p
echo "Li4uLi4uLi4uLi4uLi4uLi4uLi4NCiAgICAuLi4uLi4gICAgICAgLi4uLi4uLi4uICAgICAgICAg" >> dr1p
echo "IC4uLi4uLi4uLi4uLi4uICAgICAgICAgIC4uLi4uLi4uLi4gICAgICAgICAgICAgIC4uLicnJw0K" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCmltcG9ydCBvcyxzeXMsc2h1" >> dr1p
echo "dGlsLGV5ZWQzDQpmcm9tIGV5ZWQzLmlkMyBpbXBvcnQgSUQzX1YxXzEsIElEM19WMl8zLCBJRDNf" >> dr1p
echo "VjJfNA0KZnJvbSBleWVkMy5pZDMuZnJhbWVzIGltcG9ydCBJbWFnZUZyYW1lDQpmcm9tIGRhdGV0" >> dr1p
echo "aW1lIGltcG9ydCBkYXRldGltZQ0KZnJvbSBnbG9iIGltcG9ydCBnbG9iDQojIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KZXllZDMubG9nLnNldExldmVsKCJFUlJPUiIpDQoj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KaWYgX19uYW1lX189PSdfX21h" >> dr1p
echo "aW5fXyc6DQogICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICAgIHRyeToN" >> dr1p
echo "CiAgICAgICAgc29uZ19hbGJ1bT1zdHIoc3lzLmFyZ3ZbMV0pDQogICAgZXhjZXB0Og0KICAgICAg" >> dr1p
echo "ICBwcmludCgnbm8gYWxidW0gc3BlY2lmaWVkJykNCiAgICAgICAgc3lzLmV4aXQoMSkNCiAgICAj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogICAgdHJ5Og0KICAgICAgICBzb25n" >> dr1p
echo "X2dlbnJlPXN0cihzeXMuYXJndlsyXSkNCiAgICBleGNlcHQ6DQogICAgICAgIHByaW50KCdubyBn" >> dr1p
echo "ZW5yZSBzcGVjaWZpZWQnKQ0KICAgICAgICBzeXMuZXhpdCgxKQ0KICAgICMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICB0cnk6DQogICAgICAgIHBhdGhfdG9faW1hZ2U9c3Ry" >> dr1p
echo "KHN5cy5hcmd2WzNdKQ0KICAgIGV4Y2VwdDoNCiAgICAgICAgcHJpbnQoIm5vIHBhdGggdG8gJ2Nv" >> dr1p
echo "dmVyLmpwZycgc3BlY2lmaWVkIikNCiAgICAgICAgc3lzLmV4aXQoMSkNCiAgICAjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogICAgc2h1dGlsLmNvcHkocGF0aF90b19pbWFnZSxz" >> dr1p
echo "b25nX2FsYnVtKQ0KICAgIG9zLmNoZGlyKHNvbmdfYWxidW0pDQogICAgIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIw0KICAgIGV4cG9ydF90aW1lPWRhdGV0aW1lLm5vdygpLnN0cmZ0" >> dr1p
echo "aW1lKCclbSVkJVkuJUglTSVTJykNCiAgICBleHBvcnRfdGltZVs6NF0rZXhwb3J0X3RpbWVbNjpd" >> dr1p
echo "DQogICAgZXhwb3J0X2RpcmVjdG9yeT1mImRyMXBfX3tzb25nX2FsYnVtfSINCiAgICB0cnk6DQog" >> dr1p
echo "ICAgICAgIHNodXRpbC5ybXRyZWUoZXhwb3J0X2RpcmVjdG9yeSkNCiAgICBleGNlcHQ6DQogICAg" >> dr1p
echo "ICAgIHBhc3MNCiAgICBvcy5ta2RpcihleHBvcnRfZGlyZWN0b3J5KQ0KICAgIHByaW50KGYiXG5c" >> dr1p
echo "eDFiWzkwbVsgXHgxYlszMW1leHBvcnQgZGlyZWN0b3J5XHgxYls5MG06IFx4MWJbOTFte2V4cG9y" >> dr1p
echo "dF9kaXJlY3Rvcnl9IFx4MWJbOTBtXSIpDQogICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIw0KICAgIGZpbGVsaXN0PWdsb2IoJyoubXAzJykNCiAgICB0cmFja19jb3VudD1sZW4o" >> dr1p
echo "ZmlsZWxpc3QpDQogICAgcHJpbnQoZiJceDFiWzkwbVsgXHgxYls5MW17dHJhY2tfY291bnR9IFx4" >> dr1p
echo "MWJbMzFtc29uZ3MgZGlzY292ZXJlZCBceDFiWzkwbV0iKQ0KICAgICMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMNCiAgICBwbGF5bGlzdD0iX3BsYXlsaXN0Lm0zdSINCiAgICBwbGF5" >> dr1p
echo "bGlzdF9wYXRoMmZpbGU9Zid7ZXhwb3J0X2RpcmVjdG9yeX0ve3BsYXlsaXN0fScNCiAgICBmPW9w" >> dr1p
echo "ZW4ocGxheWxpc3RfcGF0aDJmaWxlLCd3JykNCiAgICBmLndyaXRlKCIjRVhUTTNVXG4iKQ0KICAg" >> dr1p
echo "IGYuY2xvc2UoKQ0KICAgIHByaW50KGYiXHgxYls5MG1bIFx4MWJbMzFtcGxheWxpc3QgY3JlYXRl" >> dr1p
echo "ZFx4MWJbOTBtOiBceDFiWzkxbXtwbGF5bGlzdH0gXHgxYls5MG1dXHgxYlswbVxuIikNCiAgICAj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogICAgdHJ5Og0KICAgICAgICBmb3Ig" >> dr1p
echo "dHJhY2tfaW5kZXgsdGhlbXAzIGluIGVudW1lcmF0ZShmaWxlbGlzdCk6DQogICAgICAgICAgICAj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICAgICAgICAgICAgdHJhY2tfcGFkPWxlbihzdHIo" >> dr1p
echo "dHJhY2tfY291bnQpKQ0KICAgICAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAg" >> dr1p
echo "ICAgICAgICAgIHByaW50KGYiXHgxYls5MG1bIFx4MWJbMzFtcHJvY2Vzc2luZyBzb25nIFx4MWJb" >> dr1p
echo "OTFte3N0cih0cmFja19pbmRleCsxKS56ZmlsbCh0cmFja19wYWQpfSBceDFiWzkwbS8gXHgxYls5" >> dr1p
echo "MW17c3RyKHRyYWNrX2NvdW50KS56ZmlsbCh0cmFja19wYWQpfSBceDFiWzkwbV1ceDFiWzBtIikN" >> dr1p
echo "CiAgICAgICAgICAgIHByaW50KGYiXHgxYls5MG1cdGZpbGVuYW1lOiB7dGhlbXAzfVx4MWJbMG0i" >> dr1p
echo "KQ0KICAgICAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICAgICAgICAgIHNo" >> dr1p
echo "dXRpbC5jb3B5KHRoZW1wMyxmJ3tleHBvcnRfZGlyZWN0b3J5fScpDQogICAgICAgICAgICBzb25n" >> dr1p
echo "PWV5ZWQzLmxvYWQoZid7ZXhwb3J0X2RpcmVjdG9yeX0ve3RoZW1wM30nKQ0KICAgICAgICAgICAg" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICAgICAgICAgIGlmIG5vdCBzb25nLnRhZzoN" >> dr1p
echo "CiAgICAgICAgICAgICAgICBzb25nLmluaXRUYWcoKQ0KICAgICAgICAgICAgIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMNCiAgICAgICAgICAgIHNvbmdfZmlsZW5hbWU9dGhlbXAzDQogICAgICAg" >> dr1p
echo "ICAgICBzb25nX2V4dGVuc2lvbj1zb25nX2ZpbGVuYW1lWy0zOl0NCiAgICAgICAgICAgICMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogICAgICAgICAgICBpZiBzb25nX2ZpbGVuYW1lLmZpbmQo" >> dr1p
echo "J1BSRU1JRVJFIC0gJyk+LTE6DQogICAgICAgICAgICAgICAgc29uZ19maWxlbmFtZT1zb25nX2Zp" >> dr1p
echo "bGVuYW1lLnJlcGxhY2UoJ1BSRU1JRVJFIC0gJywnJykNCiAgICAgICAgICAgICMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjDQogICAgICAgICAgICBpZiBzb25nX2ZpbGVuYW1lLmZpbmQoJ1BSRU1J" >> dr1p
echo "RVJFIF8gJyk+LTE6DQogICAgICAgICAgICAgICAgc29uZ19maWxlbmFtZT1zb25nX2ZpbGVuYW1l" >> dr1p
echo "LnJlcGxhY2UoJ1BSRU1JRVJFIF8gJywnJykNCiAgICAgICAgICAgICMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIDw8PCBZT1VUVUJFIDw8PCBZT1VUVUJFDQogICAgICAgICAgICBpZiBzb25nX2Zp" >> dr1p
echo "bGVuYW1lLnN0YXJ0c3dpdGgoJ3lvdXR1YmVfJyk6DQogICAgICAgICAgICAgICAgIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIw0KICAgICAgICAgICAgICAgIHNvbmdfdmlkZW9pZD1zb25nX2ZpbGVuYW1l" >> dr1p
echo "Wy0xNTotNF0NCiAgICAgICAgICAgICAgICBzb25nX2FydGlzdD1zb25nX2ZpbGVuYW1lWzotMTZd" >> dr1p
echo "LnNwbGl0KCcgLSAnKVswXS5zdHJpcCgpW2xlbigneW91dHViZV8nKTpdDQogICAgICAgICAgICAg" >> dr1p
echo "ICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICAgICAgICAgICAgICAgIHRyeToNCiAgICAgICAg" >> dr1p
echo "ICAgICAgICAgICAgc29uZ190aXRsZT1zb25nX2ZpbGVuYW1lWzotMTZdLnNwbGl0KCcgLSAnKVsx" >> dr1p
echo "XS5zdHJpcCgpDQogICAgICAgICAgICAgICAgZXhjZXB0Og0KICAgICAgICAgICAgICAgICAgICBz" >> dr1p
echo "b25nX3RpdGxlPScnDQogICAgICAgICAgICAgICAgI3ByaW50KGYnXHRcdHNvbmdfYXJ0aXN0OiB7" >> dr1p
echo "c29uZ19hcnRpc3R9XG5cdFx0c29uZ190aXRsZToge3NvbmdfdGl0bGV9JykNCiAgICAgICAgICAg" >> dr1p
echo "ICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogICAgICAgICAgICAgICAgdXJsPWYiaHR0cDov" >> dr1p
echo "L3lvdXR1LmJlL3tzb25nX3ZpZGVvaWR9Ig0KICAgICAgICAgICAgICAgICMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMNCiAgICAgICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIDw8PCBCQU5E" >> dr1p
echo "Q0FNUCA8PDwgQkFORENBTVANCiAgICAgICAgICAgIGlmIHNvbmdfZmlsZW5hbWUuc3RhcnRzd2l0" >> dr1p
echo "aCgnYmFuZGNhbXBfJyk6DQogICAgICAgICAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0K" >> dr1p
echo "ICAgICAgICAgICAgICAgIHNvbmdfdmlkZW9pZD1zb25nX2ZpbGVuYW1lLnNwbGl0KCctJylbLTFd" >> dr1p
echo "WzotNF0NCiAgICAgICAgICAgICAgICBidWZmZXI9c29uZ19maWxlbmFtZS5yZXBsYWNlKCItIitz" >> dr1p
echo "b25nX2ZpbGVuYW1lLnNwbGl0KCctJylbLTFdLCcnKVtsZW4oJ2JhbmRjYW1wXycpOl0uc3BsaXQo" >> dr1p
echo "JyAtICcpDQogICAgICAgICAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICAgICAgICAg" >> dr1p
echo "ICAgICAgIGlmIGxlbihidWZmZXIpPT0zOg0KICAgICAgICAgICAgICAgICAgICBpZiBidWZmZXJb" >> dr1p
echo "MF0gPT0gYnVmZmVyWzFdOg0KICAgICAgICAgICAgICAgICAgICAgICAgc29uZ19hcnRpc3Q9YnVm" >> dr1p
echo "ZmVyWzFdDQogICAgICAgICAgICAgICAgICAgICAgICBzb25nX3RpdGxlPWJ1ZmZlclsyXQ0KICAg" >> dr1p
echo "ICAgICAgICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICAgICAgICAgICAgICBpZiBs" >> dr1p
echo "ZW4oYnVmZmVyKT09MjoNCiAgICAgICAgICAgICAgICAgICAgc29uZ19hcnRpc3Q9YnVmZmVyWzBd" >> dr1p
echo "DQogICAgICAgICAgICAgICAgICAgIHNvbmdfdGl0bGU9YnVmZmVyWzFdDQogICAgICAgICAgICAg" >> dr1p
echo "ICAgI3ByaW50KGYnXHRcdHNvbmdfYXJ0aXN0OiB7c29uZ19hcnRpc3R9XG5cdFx0c29uZ190aXRs" >> dr1p
echo "ZToge3NvbmdfdGl0bGV9JykNCiAgICAgICAgICAgICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "DQogICAgICAgICAgICAgICAgdXJsPWYiaHR0cHM6Ly9iYW5kY2FtcC5jb20vRW1iZWRkZWRQbGF5" >> dr1p
echo "ZXIvdj0yL3RyYWNrPXtzb25nX3ZpZGVvaWR9Ig0KICAgICAgICAgICAgICAgICMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMNCiAgICAgICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIDw8PCBT" >> dr1p
echo "T1VORENMT1VEIDw8PCBTT1VORENMT1VEDQogICAgICAgICAgICBpZiBzb25nX2ZpbGVuYW1lLnN0" >> dr1p
echo "YXJ0c3dpdGgoJ3NvdW5kY2xvdWRfJyk6DQogICAgICAgICAgICAgICAgIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIw0KICAgICAgICAgICAgICAgIHNvbmdfdmlkZW9pZD1zb25nX2ZpbGVuYW1lLnNwbGl0" >> dr1p
echo "KCctJylbLTFdWzotNF0NCiAgICAgICAgICAgICAgICBidWZmZXI9c29uZ19maWxlbmFtZVtsZW4o" >> dr1p
echo "J3NvdW5kY2xvdWRfJyk6LWxlbihzb25nX2ZpbGVuYW1lLnNwbGl0KCctJylbLTFdKS0xXQ0KICAg" >> dr1p
echo "ICAgICAgICAgICAgIHVuY2xvc2VkX2NvdW50PTANCiAgICAgICAgICAgICAgICBpZiBidWZmZXIu" >> dr1p
echo "ZmluZCgnKCcpPi0xOiB1bmNsb3NlZF9jb3VudCs9MQ0KICAgICAgICAgICAgICAgIGlmIGJ1ZmZl" >> dr1p
echo "ci5maW5kKCcpJyk+LTE6IHVuY2xvc2VkX2NvdW50Kz0xDQogICAgICAgICAgICAgICAgaWYgdW5j" >> dr1p
echo "bG9zZWRfY291bnQ9PTE6IGJ1ZmZlcj1idWZmZXIucmVwbGFjZSgnKCcsJyAtICcpLnJlcGxhY2Uo" >> dr1p
echo "JyknLCcgLSAnKQ0KICAgICAgICAgICAgICAgIGlmICh1bmNsb3NlZF9jb3VudCAlIDIpID09IDA6" >> dr1p
echo "DQogICAgICAgICAgICAgICAgICAgIGJ1ZmZlcj1zb25nX2ZpbGVuYW1lWzotbGVuKHNvbmdfdmlk" >> dr1p
echo "ZW9pZCktbGVuKHNvbmdfZXh0ZW5zaW9uKS1sZW4oJy4nKS1sZW4oJy0nKV0ucmVwbGFjZSgnKCAn" >> dr1p
echo "LCcnKS5yZXBsYWNlKCcgKScsJycpLmxvd2VyKCkucmVwbGFjZSgnc291bmRjbG91ZF8nLCcnKS5z" >> dr1p
echo "cGxpdCgnLScpDQogICAgICAgICAgICAgICAgICAgIGJ1ZmZlcg0KICAgICAgICAgICAgICAgIGlm" >> dr1p
echo "IGxlbihidWZmZXIpPT0zOg0KICAgICAgICAgICAgICAgICAgICBpZiBidWZmZXJbMF09PWJ1ZmZl" >> dr1p
echo "clsxXToNCiAgICAgICAgICAgICAgICAgICAgICAgIHNvbmdfYXJ0aXN0PWJ1ZmZlclsxXS5zdHJp" >> dr1p
echo "cCgpDQogICAgICAgICAgICAgICAgICAgICAgICBzb25nX3RpdGxlPWJ1ZmZlclsyXS5zdHJpcCgp" >> dr1p
echo "DQogICAgICAgICAgICAgICAgICAgIGVsc2U6DQogICAgICAgICAgICAgICAgICAgICAgICBzb25n" >> dr1p
echo "X2FydGlzdD1idWZmZXJbMF0uc3RyaXAoKStidWZmZXJbMV0uc3RyaXAoKQ0KICAgICAgICAgICAg" >> dr1p
echo "ICAgICAgICAgICAgc29uZ190aXRsZT1idWZmZXJbMl0uc3RyaXAoKQ0KICAgICAgICAgICAgICAg" >> dr1p
echo "IGVsaWYgbGVuKGJ1ZmZlcik9PTI6DQogICAgICAgICAgICAgICAgICAgIHNvbmdfYXJ0aXN0PWJ1" >> dr1p
echo "ZmZlclswXS5zdHJpcCgpDQogICAgICAgICAgICAgICAgICAgIHNvbmdfdGl0bGU9YnVmZmVyWzFd" >> dr1p
echo "LnN0cmlwKCkNCiAgICAgICAgICAgICAgICBlbGlmIGxlbihidWZmZXIpPj00Og0KICAgICAgICAg" >> dr1p
echo "ICAgICAgICAgICBzb25nX2FydGlzdD1idWZmZXIuc3BsaXQoJy0nKVswXS5zdHJpcCgpDQogICAg" >> dr1p
echo "ICAgICAgICAgICAgICAgIHNvbmdfdGl0bGU9YnVmZmVyLnNwbGl0KCctJylbMV0uc3RyaXAoKS5y" >> dr1p
echo "ZXBsYWNlKCdfJywnLicpDQogICAgICAgICAgICAgICAgICAgIHNvbmdfdGl0bGUrPSJfXyIrJycu" >> dr1p
echo "am9pbihidWZmZXIuc3BsaXQoJy0nKVsyOl0pLnN0cmlwKCkucmVwbGFjZSgnICcsJy4nKQ0KICAg" >> dr1p
echo "ICAgICAgICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICAgICAgICAgICAgICBpZiBz" >> dr1p
echo "b25nX2FydGlzdC5maW5kKCdmcmVlIGRsJykgPiAtMToNCiAgICAgICAgICAgICAgICAgICAgc29u" >> dr1p
echo "Z19hcnRpc3Q9c29uZ19hcnRpc3QucmVwbGFjZSgnZnJlZSBkbCcsJycpDQogICAgICAgICAgICAg" >> dr1p
echo "ICAgaWYgc29uZ190aXRsZS5maW5kKCdmcmVlIGRsJykgPiAtMToNCiAgICAgICAgICAgICAgICAg" >> dr1p
echo "ICAgc29uZ190aXRsZT1zb25nX3RpdGxlLnJlcGxhY2UoJ2ZyZWUgZGwnLCcnKQ0KICAgICAgICAg" >> dr1p
echo "ICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICAgICAgICAgICAgICAjcHJpbnQoZidc" >> dr1p
echo "dFx0c29uZ19hcnRpc3Q6IHtzb25nX2FydGlzdH1cblx0XHRzb25nX3RpdGxlOiB7c29uZ190aXRs" >> dr1p
echo "ZX0nKQ0KICAgICAgICAgICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICAgICAgICAg" >> dr1p
echo "ICAgICB1cmw9ZiJodHRwczovL3cuc291bmRjbG91ZC5jb20vcGxheWVyLz91cmw9aHR0cHM6Ly9h" >> dr1p
echo "cGkuc291bmRjbG91ZC5jb20vdHJhY2tzL3tzb25nX3ZpZGVvaWR9Ig0KICAgICAgICAgICAgICAg" >> dr1p
echo "ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICAgICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjDQogICAgICAgICAgICBpZiBzb25nX2FydGlzdC5maW5kKCdbJykgPiAtMToNCiAgICAg" >> dr1p
echo "ICAgICAgICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogICAgICAgICAgICAgICAgc3g9c29u" >> dr1p
echo "Z19hcnRpc3QuZmluZCgnWycpDQogICAgICAgICAgICAgICAgc3k9c29uZ19hcnRpc3QuZmluZCgn" >> dr1p
echo "XScpKzENCiAgICAgICAgICAgICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogICAgICAgICAg" >> dr1p
echo "ICAgICAgaWYgbGVuKHNvbmdfYXJ0aXN0W3N4OnN5XSkgPiA1Og0KICAgICAgICAgICAgICAgICAg" >> dr1p
echo "ICBzb25nX2FydGlzdD1zb25nX2FydGlzdC5yZXBsYWNlKHNvbmdfYXJ0aXN0W3N4OnN5XSwnJyku" >> dr1p
echo "c3RyaXAoKQ0KICAgICAgICAgICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICAgICAg" >> dr1p
echo "ICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogICAgICAgICAgICBpZiBzb25nX3RpdGxl" >> dr1p
echo "LmZpbmQoJ1snKSA+IC0xOg0KICAgICAgICAgICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMN" >> dr1p
echo "CiAgICAgICAgICAgICAgICBzeD1zb25nX3RpdGxlLmZpbmQoJ1snKQ0KICAgICAgICAgICAgICAg" >> dr1p
echo "IHN5PXNvbmdfdGl0bGUuZmluZCgnXScpKzENCiAgICAgICAgICAgICAgICAjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjDQogICAgICAgICAgICAgICAgaWYgbGVuKHNvbmdfdGl0bGVbc3g6c3ldKSA+IDU6" >> dr1p
echo "DQogICAgICAgICAgICAgICAgICAgIHNvbmdfdGl0bGU9c29uZ190aXRsZS5yZXBsYWNlKHNvbmdf" >> dr1p
echo "dGl0bGVbc3g6c3ldLCcnKS5zdHJpcCgpDQogICAgICAgICAgICAgICAgIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIw0KICAgICAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICAgICAg" >> dr1p
echo "ICAgIGlmIHNvbmdfYXJ0aXN0LmZpbmQoJygnKSA+IC0xOg0KICAgICAgICAgICAgICAgICMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMNCiAgICAgICAgICAgICAgICBzeD1zb25nX2FydGlzdC5maW5kKCco" >> dr1p
echo "JykNCiAgICAgICAgICAgICAgICBzeT1zb25nX2FydGlzdC5maW5kKCcpJykrMQ0KICAgICAgICAg" >> dr1p
echo "ICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICAgICAgICAgICAgICBpZiBzb25nX2Fy" >> dr1p
echo "dGlzdFtzeDpzeV0ubG93ZXIoKS5maW5kKCdvZmZpY2lhbCcpID4gLTE6DQogICAgICAgICAgICAg" >> dr1p
echo "ICAgICAgIGlmIHNvbmdfYXJ0aXN0W3N4OnN5XS5sb3dlcigpLmZpbmQoJ2F1ZGlvJykgPiAtMSBv" >> dr1p
echo "ciBzb25nX2FydGlzdFtzeDpzeV0ubG93ZXIoKS5maW5kKCd2aWRlbycpID4gLTE6DQogICAgICAg" >> dr1p
echo "ICAgICAgICAgICAgICAgICBzb25nX2FydGlzdD1zb25nX2FydGlzdC5yZXBsYWNlKHNvbmdfYXJ0" >> dr1p
echo "aXN0W3N4OnN5XSwnJykuc3RyaXAoKQ0KICAgICAgICAgICAgICAgICMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMNCiAgICAgICAgICAgICAgICBpZiBzb25nX2FydGlzdFtzeDpzeV0ubG93ZXIoKS5maW5k" >> dr1p
echo "KCcjJykgPiAtMToNCiAgICAgICAgICAgICAgICAgICAgc29uZ19hcnRpc3Q9c29uZ19hcnRpc3Qu" >> dr1p
echo "cmVwbGFjZShzb25nX2FydGlzdFtzeDpzeV0sJycpLnN0cmlwKCkNCiAgICAgICAgICAgICAgICAj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogICAgICAgICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIw0KICAgICAgICAgICAgaWYgc29uZ190aXRsZS5maW5kKCcoJykgPiAtMToNCiAgICAgICAg" >> dr1p
echo "ICAgICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogICAgICAgICAgICAgICAgc3g9c29uZ190" >> dr1p
echo "aXRsZS5maW5kKCcoJykNCiAgICAgICAgICAgICAgICBzeT1zb25nX3RpdGxlLmZpbmQoJyknKSsx" >> dr1p
echo "DQogICAgICAgICAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICAgICAgICAgICAgICAg" >> dr1p
echo "IGlmIHNvbmdfdGl0bGVbc3g6c3ldLmxvd2VyKCkuZmluZCgnb2ZmaWNpYWwnKSA+IC0xOg0KICAg" >> dr1p
echo "ICAgICAgICAgICAgICAgICBpZiBzb25nX3RpdGxlW3N4OnN5XS5sb3dlcigpLmZpbmQoJ2F1ZGlv" >> dr1p
echo "JykgPiAtMSBvciBzb25nX3RpdGxlW3N4OnN5XS5sb3dlcigpLmZpbmQoJ3ZpZGVvJykgPiAtMToN" >> dr1p
echo "CiAgICAgICAgICAgICAgICAgICAgICAgIHNvbmdfdGl0bGU9c29uZ190aXRsZS5yZXBsYWNlKHNv" >> dr1p
echo "bmdfdGl0bGVbc3g6c3ldLCcnKS5zdHJpcCgpDQogICAgICAgICAgICAgICAgIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIw0KICAgICAgICAgICAgICAgIGlmIHNvbmdfdGl0bGVbc3g6c3ldLmxvd2VyKCku" >> dr1p
echo "ZmluZCgnIycpID4gLTE6DQogICAgICAgICAgICAgICAgICAgIHNvbmdfdGl0bGU9c29uZ190aXRs" >> dr1p
echo "ZS5yZXBsYWNlKHNvbmdfdGl0bGVbc3g6c3ldLCcnKS5zdHJpcCgpDQogICAgICAgICAgICAgICAg" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICAgICAgICAgICAgICAgIGlmIHNvbmdfdGl0bGVbc3g6" >> dr1p
echo "c3ldLmxvd2VyKCkuZmluZCgnZXhjbHVzaXZlJykgPiAtMToNCiAgICAgICAgICAgICAgICAgICAg" >> dr1p
echo "aWYgc29uZ190aXRsZVtzeDpzeV0ubG93ZXIoKS5maW5kKCdib251cycpID4gLTEgb3Igc29uZ190" >> dr1p
echo "aXRsZVtzeDpzeV0ubG93ZXIoKS5maW5kKCd2aWRlbycpID4gLTE6DQogICAgICAgICAgICAgICAg" >> dr1p
echo "ICAgICAgICBzb25nX3RpdGxlPXNvbmdfdGl0bGUucmVwbGFjZShzb25nX3RpdGxlW3N4OnN5XSwn" >> dr1p
echo "Jykuc3RyaXAoKQ0KICAgICAgICAgICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICAg" >> dr1p
echo "ICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogICAgICAgICAgICBzb25nLnRhZy5h" >> dr1p
echo "cnRpc3Q9c29uZ19hcnRpc3QNCiAgICAgICAgICAgIHNvbmcudGFnLmFsYnVtPXNvbmdfYWxidW0N" >> dr1p
echo "CiAgICAgICAgICAgIHNvbmcudGFnLmdlbnJlPXNvbmdfZ2VucmUNCiAgICAgICAgICAgIHNvbmcu" >> dr1p
echo "dGFnLnRyYWNrX251bT0odHJhY2tfaW5kZXgrMSx0cmFja19jb3VudCkNCiAgICAgICAgICAgIHNv" >> dr1p
echo "bmcudGFnLmRpc2NfbnVtPSgxLDEpDQogICAgICAgICAgICBzb25nLnRhZy50aXRsZT1zb25nX3Rp" >> dr1p
echo "dGxlDQogICAgICAgICAgICBzb25nLnRhZy5jb21tZW50cy5zZXQodSIuW2RdLiBpcmNkLmNoYXQv" >> dr1p
echo "NjY5NyN0Y3BkaXJlY3Rcblxue30gcGxheWxpc3QiLmZvcm1hdChzb25nX2FsYnVtKSkNCiAgICAg" >> dr1p
echo "ICAgICAgIHNvbmcudGFnLnVzZXJfdXJsX2ZyYW1lcy5zZXQoYnl0ZXModXJsLmVuY29kZSgpKSkN" >> dr1p
echo "CiAgICAgICAgICAgIHNvbmcudGFnLnJlY29yZGluZ19kYXRlPWRhdGV0aW1lLm5vdygpLnN0cmZ0" >> dr1p
echo "aW1lKCclWS0lbS0lZCcpDQogICAgICAgICAgICBzb25nLnRhZy5vcmlnaW5hbF9yZWxlYXNlX2Rh" >> dr1p
echo "dGU9ZGF0ZXRpbWUubm93KCkuc3RyZnRpbWUoJyVZJykNCiAgICAgICAgICAgIHNvbmcudGFnLnBv" >> dr1p
echo "cHVsYXJpdGllcy5zZXQoZW1haWw9ImRAYW9sLmNvbSIscmF0aW5nPTUscGxheV9jb3VudD0wKQ0K" >> dr1p
echo "ICAgICAgICAgICAgc29uZy50YWcuaW1hZ2VzLnNldChJbWFnZUZyYW1lLkZST05UX0NPVkVSLCBv" >> dr1p
echo "cGVuKHBhdGhfdG9faW1hZ2UsJ3JiJykucmVhZCgpLCAnaW1hZ2UvanBlZycpDQogICAgICAgICAg" >> dr1p
echo "ICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICAgICAgICAgICAgc29uZy50YWcuc2F2ZSh2" >> dr1p
echo "ZXJzaW9uPUlEM19WMl80KQ0KICAgICAgICAgICAgc29uZy50YWcuc2F2ZSh2ZXJzaW9uPUlEM19W" >> dr1p
echo "Ml8zKQ0KICAgICAgICAgICAgc29uZy50YWcuc2F2ZSh2ZXJzaW9uPUlEM19WMV8xKQ0KICAgICAg" >> dr1p
echo "ICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICAgICAgICAgIGZpbGVyZW5hbWVk" >> dr1p
echo "PWYne3NvbmdfYXJ0aXN0fScubG93ZXIoKS5yZXBsYWNlKCcgJywnLicpDQogICAgICAgICAgICAj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICAgICAgICAgICAgaWYgc29uZ190aXRsZToNCiAg" >> dr1p
echo "ICAgICAgICAgICAgICBmaWxlcmVuYW1lZCs9Il9fIitmIntzb25nX3RpdGxlfSIubG93ZXIoKS5y" >> dr1p
echo "ZXBsYWNlKCcgJywnLicpDQogICAgICAgICAgICBmaWxlcmVuYW1lZCs9ZiIue3NvbmdfZXh0ZW5z" >> dr1p
echo "aW9ufSINCiAgICAgICAgICAgIGZpbGVyZW5hbWVkPWZpbGVyZW5hbWVkLnJlcGxhY2UoJy4uJywn" >> dr1p
echo "LicpDQogICAgICAgICAgICBmaWxlcmVuYW1lZD1maWxlcmVuYW1lZC5yZXBsYWNlKCcmJywnYW5k" >> dr1p
echo "JykNCiAgICAgICAgICAgIGZpbGVyZW5hbWVkPWZpbGVyZW5hbWVkLnJlcGxhY2UoJy4oJywnX18n" >> dr1p
echo "KQ0KICAgICAgICAgICAgZmlsZXJlbmFtZWQ9ZmlsZXJlbmFtZWQucmVwbGFjZSgnKS4nLCcuJykN" >> dr1p
echo "CiAgICAgICAgICAgIGZpbGVyZW5hbWVkPWZpbGVyZW5hbWVkLnJlcGxhY2UoJywuJywnLmFuZC4n" >> dr1p
echo "KQ0KICAgICAgICAgICAgZmlsZXJlbmFtZWQ9ZmlsZXJlbmFtZWQucmVwbGFjZSgnLl8uJywnX18n" >> dr1p
echo "KQ0KICAgICAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICAgICAgICAgIG9z" >> dr1p
echo "LnJlbmFtZShmJ3tleHBvcnRfZGlyZWN0b3J5fS97dGhlbXAzfScsZid7ZXhwb3J0X2RpcmVjdG9y" >> dr1p
echo "eX0ve2ZpbGVyZW5hbWVkfScpDQogICAgICAgICAgICBwcmludChmJ1x4MWJbOTBtXHQgcmVuYW1l" >> dr1p
echo "ZDoge2ZpbGVyZW5hbWVkfVx4MWJbMG0nKQ0KICAgICAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMNCiAgICAgICAgICAgIHNvbmdfbGVuZ3RoPXNvbmcuaW5mby50aW1lX3NlY3MNCiAg" >> dr1p
echo "ICAgICAgICAgIGR1cmF0aW9uX21pbixkdXJhdGlvbl9zZWM9Ins6LjJmfSIuZm9ybWF0KDU2NS4w" >> dr1p
echo "MzIvNjApLnNwbGl0KCcuJykNCiAgICAgICAgICAgIHByaW50KGYnXHgxYls5MG1cdGR1cmF0aW9u" >> dr1p
echo "OiB7ZHVyYXRpb25fbWlufW17ZHVyYXRpb25fc2VjfXNceDFiWzBtJykNCiAgICAgICAgICAgICMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogICAgICAgICAgICBmPW9wZW4ocGxheWxpc3RfcGF0" >> dr1p
echo "aDJmaWxlLCdhJykNCiAgICAgICAgICAgIGYud3JpdGUoZiIjRVhUSU5GOntpbnQoc29uZ19sZW5n" >> dr1p
echo "dGgpfSx7c29uZ19hcnRpc3QubG93ZXIoKX0gLSB7c29uZ190aXRsZS5sb3dlcigpfVxuIikNCiAg" >> dr1p
echo "ICAgICAgICAgIGYud3JpdGUoZiJ7ZmlsZXJlbmFtZWR9XG4gICAiKQ0KICAgICAgICAgICAgZi5j" >> dr1p
echo "bG9zZSgpDQogICAgICAgICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICAgICMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6" >> dr1p
echo "DQogICAgICAgIHByaW50KGYiZXJyb3I6IHtlfSIpDQogICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIw0KICAgIHRyeToNCiAgICAgICAgZmlsZWxpc3Q9Z2xvYignKi5tcDMnKQ0K" >> dr1p
echo "ICAgICAgICBmb3IgXyBpbiBmaWxlbGlzdDogb3MucmVtb3ZlKF8pDQogICAgZXhjZXB0Og0KICAg" >> dr1p
echo "ICAgICBwYXNzDQogICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICAgIHRy" >> dr1p
echo "eToNCiAgICAgICAgb3MucmVtb3ZlKHBhdGhfdG9faW1hZ2UpDQogICAgZXhjZXB0Og0KICAgICAg" >> dr1p
echo "ICBwYXNzDQogICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICAgIHRyeToN" >> dr1p
echo "CiAgICAgICAgZmlsZWxpc3Q9Z2xvYignKi5sb2cnKQ0KICAgICAgICBsb2dmaWxlcz1bXQ0KICAg" >> dr1p
echo "ICAgICBmb3IgXyBpbiBmaWxlbGlzdDoNCiAgICAgICAgICAgIGY9b3BlbihfLCdyJykNCiAgICAg" >> dr1p
echo "ICAgICAgIGw9Zi5yZWFkKCkuc3BsaXRsaW5lcygpDQogICAgICAgICAgICBmLmNsb3NlKCkNCiAg" >> dr1p
echo "ICAgICAgICAgIGxvZ2ZpbGVzLmFwcGVuZChbXyxsXSkNCiAgICAgICAgICAgIG9zLnJlbW92ZShf" >> dr1p
echo "KQ0KICAgIGV4Y2VwdDoNCiAgICAgICAgcGFzcw0KICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMNCiAgICB0cnk6DQogICAgICAgIGxvZ2tleT1bXQ0KICAgICAgICBmb3IgaSxf" >> dr1p
echo "IGluIGVudW1lcmF0ZShsb2dmaWxlcyk6DQogICAgICAgICAgICBpZiBfWzBdID09ICJ1cmxfYmF0" >> dr1p
echo "Y2gubG9nIjoNCiAgICAgICAgICAgICAgICBsb2drZXkuYXBwZW5kKGkpDQogICAgZXhjZXB0Og0K" >> dr1p
echo "ICAgICAgICBwYXNzDQogICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICAg" >> dr1p
echo "IHRyeToNCiAgICAgICAgZm9yIGksXyBpbiBlbnVtZXJhdGUobG9nZmlsZXMpOg0KICAgICAgICAg" >> dr1p
echo "ICAgaWYgX1swXSA9PSAieW91dHViZV91cmxfYmF0Y2gubG9nIjoNCiAgICAgICAgICAgICAgICBs" >> dr1p
echo "b2drZXkuYXBwZW5kKGkpDQogICAgZXhjZXB0Og0KICAgICAgICBwYXNzDQogICAgIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICAgIHRyeToNCiAgICAgICAgZm9yIGksXyBpbiBl" >> dr1p
echo "bnVtZXJhdGUobG9nZmlsZXMpOg0KICAgICAgICAgICAgaWYgX1swXSA9PSAieW91dHViZV9kb3du" >> dr1p
echo "bG9hZGVkLmxvZyI6DQogICAgICAgICAgICAgICAgbG9na2V5LmFwcGVuZChpKQ0KICAgIGV4Y2Vw" >> dr1p
echo "dDoNCiAgICAgICAgcGFzcw0KICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMN" >> dr1p
echo "CiAgICB0cnk6DQogICAgICAgIGZvciBpLF8gaW4gZW51bWVyYXRlKGxvZ2ZpbGVzKToNCiAgICAg" >> dr1p
echo "ICAgICAgIGlmIF9bMF0gPT0gInNvdW5kY2xvdWRfdXJsX2JhdGNoLmxvZyI6DQogICAgICAgICAg" >> dr1p
echo "ICAgICAgbG9na2V5LmFwcGVuZChpKQ0KICAgIGV4Y2VwdDoNCiAgICAgICAgcGFzcw0KICAgICMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICB0cnk6DQogICAgICAgIGZvciBp" >> dr1p
echo "LF8gaW4gZW51bWVyYXRlKGxvZ2ZpbGVzKToNCiAgICAgICAgICAgIGlmIF9bMF0gPT0gInNvdW5k" >> dr1p
echo "Y2xvdWRfZG93bmxvYWRlZC5sb2ciOg0KICAgICAgICAgICAgICAgIGxvZ2tleS5hcHBlbmQoaSkN" >> dr1p
echo "CiAgICBleGNlcHQ6DQogICAgICAgIHBhc3MNCiAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjDQogICAgdHJ5Og0KICAgICAgICBmb3IgaSxfIGluIGVudW1lcmF0ZShsb2dmaWxl" >> dr1p
echo "cyk6DQogICAgICAgICAgICBpZiBfWzBdID09ICJiYW5kY2FtcF91cmxfYmF0Y2gubG9nIjoNCiAg" >> dr1p
echo "ICAgICAgICAgICAgICBsb2drZXkuYXBwZW5kKGkpDQogICAgZXhjZXB0Og0KICAgICAgICBwYXNz" >> dr1p
echo "DQogICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICAgIHRyeToNCiAgICAg" >> dr1p
echo "ICAgZm9yIGksXyBpbiBlbnVtZXJhdGUobG9nZmlsZXMpOg0KICAgICAgICAgICAgaWYgX1swXSA9" >> dr1p
echo "PSAiYmFuZGNhbXBfZG93bmxvYWRlZC5sb2ciOg0KICAgICAgICAgICAgICAgIGxvZ2tleS5hcHBl" >> dr1p
echo "bmQoaSkNCiAgICBleGNlcHQ6DQogICAgICAgIHBhc3MNCiAgICAjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjDQogICAgbG9nY21wPVtdOyBsb2djbHI9W107IHByaW50KCcnKQ0KICAg" >> dr1p
echo "ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICBmb3IgZCxfIGluIGVudW1l" >> dr1p
echo "cmF0ZShsb2drZXkpOg0KICAgICAgICBvZmZzZXQ9bGVuKGYie3N0cihfKS56ZmlsbCgyKX0ve3N0" >> dr1p
echo "cihsZW4obG9nZmlsZXMpLTEpLnpmaWxsKDIpfSB7bG9nZmlsZXNbX11bMF19IGlEcjFwIikNCiAg" >> dr1p
echo "ICAgICAgbG9nY2xyLmFwcGVuZCgiXHgxYls5MG0iKQ0KICAgICAgICBsb2djbHIuYXBwZW5kKCJc" >> dr1p
echo "eDFiWzkwbSIpDQogICAgICAgIGxvZ2NtcC5hcHBlbmQoZiIuU09GLiB7JyMnKmludCgxMDAtb2Zm" >> dr1p
echo "c2V0KX0ge2xvZ2ZpbGVzW19dWzBdfSB7c3RyKGQrMSkuemZpbGwoMil9L3tzdHIobGVuKGxvZ2Zp" >> dr1p
echo "bGVzKSkuemZpbGwoMil9IikNCiAgICAgICAgbG9nY21wLmFwcGVuZCgiIikNCiAgICAgICAgZm9y" >> dr1p
echo "IF9fIGluIHJhbmdlKGxlbihsb2dmaWxlc1tfXVsxXSkpOg0KICAgICAgICAgICAgbG9nY2xyLmFw" >> dr1p
echo "cGVuZCgiXHgxYlszMW0iKQ0KICAgICAgICAgICAgbG9nY21wLmFwcGVuZCggZiJ7c3RyKF9fKzEp" >> dr1p
echo "LnpmaWxsKDIpfS97c3RyKGxlbihsb2dmaWxlc1tfXVsxXSkpLnpmaWxsKDIpfSB7bG9nZmlsZXNb" >> dr1p
echo "X11bMV1bX19dfSIgKQ0KICAgICAgICBsb2djbHIuYXBwZW5kKCJceDFiWzkwbSIpDQogICAgICAg" >> dr1p
echo "IGxvZ2Nsci5hcHBlbmQoIlx4MWJbOTBtIikNCiAgICAgICAgbG9nY2xyLmFwcGVuZCgiXHgxYls5" >> dr1p
echo "MG0iKQ0KICAgICAgICBsb2djbXAuYXBwZW5kKCIiKQ0KICAgICAgICBsb2djbXAuYXBwZW5kKGYi" >> dr1p
echo "e3N0cihkKzEpLnpmaWxsKDIpfS97c3RyKGxlbihsb2dmaWxlcykpLnpmaWxsKDIpfSB7bG9nZmls" >> dr1p
echo "ZXNbX11bMF19IHsnIycqaW50KDEwMC1vZmZzZXQpfSAuRU9GLiIpDQogICAgICAgIGxvZ2NtcC5h" >> dr1p
echo "cHBlbmQoIiIpDQogICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICAgICNm" >> dr1p
echo "b3IgaSxfIGluIGVudW1lcmF0ZShsb2drZXkpOiBsb2djbXAuYXBwZW5kKCBmJ2tleSBpbmRleDog" >> dr1p
echo "e2l9ID0ge199ID0ge2xvZ2ZpbGVzW19dWzBdfScgKQ0KICAgICMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMNCiAgICBmPW9wZW4oZid7ZXhwb3J0X2RpcmVjdG9yeX0vX3Byb2Nlc3Nl" >> dr1p
echo "ZF9iYXRjaC5sb2cnLCd3JykNCiAgICBmb3IgaSxfIGluIGVudW1lcmF0ZShsb2djbXApOg0KICAg" >> dr1p
echo "ICAgICBwcmludChmIntsb2djbHJbaV19e199IikNCiAgICAgICAgZi53cml0ZShmJ3tffVxuJykN" >> dr1p
echo "CiAgICBmLmNsb3NlKCkNCiAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQog" >> dr1p
echo "ICAgcHJpbnQoJ2ZpbmlzaGVkJykNCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj" >> dr1p
echo "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMg" >> dr1p
echo "RU9G" >> dr1p
#####################################################################################################################
base64 -d <<< cat dr1p > dp3.py && python3 dp3.py "$PLAYLIST_NAME" "$PLAYLIST_GENRE" "$PLAYLIST_ARTWORK" ############
#####################################################################################################################
mv "$PLAYLIST_ARTWORK" "$PLAYLIST_NAME/$PREFIX$PLAYLIST_NAME/_folder.png" && rm "dr1p" && rm "dp3.py" ###############
#####################################################################################################################
mv "$PLAYLIST_NAME/$PREFIX$PLAYLIST_NAME" "." && rmdir "$PLAYLIST_NAME" && ls -al "$PREFIX$PLAYLIST_NAME" ###########
#####################################################################################################################
cat "$PREFIX$PLAYLIST_NAME/_playlist.m3u" && echo "$PLAYLIST_URL" >> "$PREFIX$PLAYLIST_NAME/_processed_batch.log" ###
#####################################################################################################################
tar cvfz "dr1p__$PLAYLIST_NAME.tar.gz" "$PREFIX$PLAYLIST_NAME" && ls -al "$PREFIX$PLAYLIST_NAME.tar.gz" #############
################################################################################################################# EOF