lv_api_do now contained within qq2clone as a base64 encoded tgz archive
This commit is contained in:
		
							parent
							
								
									28333b7e30
								
							
						
					
					
						commit
						d73f28ee4b
					
				
							
								
								
									
										17
									
								
								gen_all.bash
								
								
								
								
							
							
						
						
									
										17
									
								
								gen_all.bash
								
								
								
								
							| 
						 | 
					@ -2,8 +2,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Generate all files that need to be generated
 | 
					# Generate all files that need to be generated
 | 
				
			||||||
 | 
					
 | 
				
			||||||
declare -a arc_files=( qq2clone lv_api_do qq2clone.1
 | 
					declare -a inst_arc_files=( qq2clone qq2clone.1 qq2clone_completion.bash )
 | 
				
			||||||
  qq2clone_completion.bash )
 | 
					 | 
				
			||||||
declare -a req_files=( "${arc_files[@]}" inst_fragment.bash "lv_api_do.c" 
 | 
					declare -a req_files=( "${arc_files[@]}" inst_fragment.bash "lv_api_do.c" 
 | 
				
			||||||
  man.pandoc )
 | 
					  man.pandoc )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -24,6 +23,18 @@ done
 | 
				
			||||||
echo "Compiling lv_api_do"
 | 
					echo "Compiling lv_api_do"
 | 
				
			||||||
gcc lv_api_do.c -o lv_api_do -lvirt
 | 
					gcc lv_api_do.c -o lv_api_do -lvirt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Generate qq2clone
 | 
				
			||||||
 | 
					echo "Generating qq2clone"
 | 
				
			||||||
 | 
					while IFS= read -r line; do
 | 
				
			||||||
 | 
					  if [[ "$line" == "#REPLACE WITH ARCHIVE#" ]]; then
 | 
				
			||||||
 | 
					    echo "archive='"
 | 
				
			||||||
 | 
					    tar -cz lv_api_do | base64
 | 
				
			||||||
 | 
					    echo "'"
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    echo "$line"
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					done < qq2clone_noarchive > qq2clone
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Generate installer
 | 
					# Generate installer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
echo "Generating installer script"
 | 
					echo "Generating installer script"
 | 
				
			||||||
| 
						 | 
					@ -33,7 +44,7 @@ echo "Generating installer script"
 | 
				
			||||||
  echo "# This script generated automatically by gen_installer.bash"
 | 
					  echo "# This script generated automatically by gen_installer.bash"
 | 
				
			||||||
  echo
 | 
					  echo
 | 
				
			||||||
  echo "archive='"
 | 
					  echo "archive='"
 | 
				
			||||||
  tar -cz "${arc_files[@]}" | base64
 | 
					  tar -cz "${inst_arc_files[@]}" | base64
 | 
				
			||||||
  echo "'"
 | 
					  echo "'"
 | 
				
			||||||
  echo
 | 
					  echo
 | 
				
			||||||
  cat inst_fragment.bash
 | 
					  cat inst_fragment.bash
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										129
									
								
								qq2clone
								
								
								
								
							
							
						
						
									
										129
									
								
								qq2clone
								
								
								
								
							| 
						 | 
					@ -137,6 +137,20 @@ return 0
 | 
				
			||||||
#   closing lv_api_do into something that must be managed manually by the
 | 
					#   closing lv_api_do into something that must be managed manually by the
 | 
				
			||||||
#   coder
 | 
					#   coder
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#=========================================================================#
 | 
				
			||||||
 | 
					lv_api_do_check ()
 | 
				
			||||||
 | 
					# DESCRIPTION: See if lv_api_do is present in the expected location. If
 | 
				
			||||||
 | 
					#   not, put it there
 | 
				
			||||||
 | 
					# INPUT: None
 | 
				
			||||||
 | 
					# OUTPUT: None
 | 
				
			||||||
 | 
					# PARAMETERS: None
 | 
				
			||||||
 | 
					#=========================================================================#
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  local loc="/run/user/${UID}"
 | 
				
			||||||
 | 
					  [[ -e "${loc}/lv_api_do" ]] && return
 | 
				
			||||||
 | 
					  cd "$loc"
 | 
				
			||||||
 | 
					  echo "$archive" | base64 -d | tar -zx
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
#=========================================================================#
 | 
					#=========================================================================#
 | 
				
			||||||
lv_api_do_close ()
 | 
					lv_api_do_close ()
 | 
				
			||||||
# DESCRIPTION: Tell lv_api_do to exit and close the extra pipe
 | 
					# DESCRIPTION: Tell lv_api_do to exit and close the extra pipe
 | 
				
			||||||
| 
						 | 
					@ -195,7 +209,7 @@ declare -g lv_api_temp;
 | 
				
			||||||
lv_api_temp="$(mktemp -d )" || temp_error
 | 
					lv_api_temp="$(mktemp -d )" || temp_error
 | 
				
			||||||
mkfifo "${lv_api_temp}/lv_api_do_fifo" || fifo_error
 | 
					mkfifo "${lv_api_temp}/lv_api_do_fifo" || fifo_error
 | 
				
			||||||
exec 4<>"${lv_api_temp}/lv_api_do_fifo"
 | 
					exec 4<>"${lv_api_temp}/lv_api_do_fifo"
 | 
				
			||||||
"${QQ2_DIR}/lv_api_do" <&4 >&3 2>/dev/null &
 | 
					"/run/user/${UID}/lv_api_do" <&4 >&3 2>/dev/null &
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local check
 | 
					local check
 | 
				
			||||||
read -r check <&3
 | 
					read -r check <&3
 | 
				
			||||||
| 
						 | 
					@ -438,10 +452,6 @@ read -r check \
 | 
				
			||||||
  { echo "Is the database corrupt? No CONFIG table!";
 | 
					  { echo "Is the database corrupt? No CONFIG table!";
 | 
				
			||||||
    exit "$E_unexpected"; } >&2
 | 
					    exit "$E_unexpected"; } >&2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
chmod +x "${QQ2_DIR}/lv_api_do" &>/dev/null ||
 | 
					 | 
				
			||||||
  { echo "lv_api_do is missing from $QQ2_DIR, or has bad permissions";
 | 
					 | 
				
			||||||
    exit "$E_permission"; } >&2
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
declare -gA OPT
 | 
					declare -gA OPT
 | 
				
			||||||
declare -a opts
 | 
					declare -a opts
 | 
				
			||||||
local elem
 | 
					local elem
 | 
				
			||||||
| 
						 | 
					@ -3137,6 +3147,114 @@ echo "$str"
 | 
				
			||||||
return 0
 | 
					return 0
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                             #-------------#
 | 
				
			||||||
 | 
					                             #@@@@@@@@@@@@@#
 | 
				
			||||||
 | 
					                             #---ARCHIVE---#
 | 
				
			||||||
 | 
					                             #@@@@@@@@@@@@@#
 | 
				
			||||||
 | 
					                             #-------------#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# This section contains a base64 encoded archive added in with
 | 
				
			||||||
 | 
					# gen_all.bash. The last remaining section containing Bash scripting is
 | 
				
			||||||
 | 
					# ENTRY POINT, at the bottom of this file
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					archive='
 | 
				
			||||||
 | 
					H4sIAAAAAAAAA+1cC3Bb1Zk+kvyQHUe28wAnBCIgYQ2JFTmx8wBcLNty5MWPkMSQFoKsWLKtRg8j
 | 
				
			||||||
 | 
					3RscFheDCVvV8W7Y0paZbaewwxa27S6BKZ2w3S0OARJmA5NQlmYHOpgAs3LNgqFx4hDb2v+8rs49
 | 
				
			||||||
 | 
					0g20s53d7vhkov/+3/845/znce899xyH9nh9vUGvP4r+eMkJacOGakwrN1Q7RQqpqmqt04kqq5wb
 | 
				
			||||||
 | 
					qiqrqp3rAa+s3FC1Admdf8QyaUmNK76Y3Y6+HojHAxfR+yL5n2i6z93caDaZNN6CvoIwN7qA8rUM
 | 
				
			||||||
 | 
					H6lN29SijWg+/C5HV6A84HMEPZmeMuupVcuH2pVZKC/TZUhPTQLNuUh9PEV6ikrSdrkCL9Nqm56K
 | 
				
			||||||
 | 
					diQ/O8Ml2pGjp6Idjo21gvLWGomyejotejszsytjdmU1eorMesrjmcP+b2T+ZCoXX7bbwfRk2oD0
 | 
				
			||||||
 | 
					lFdz24eK/w/JbwuzW3Ql5WX6U6SnPL9bwC4PffnEm3cry8+oHabMesr72ZpQcNf6qjUhf0UoGFH7
 | 
				
			||||||
 | 
					Kvo2rq9YX+WIRx1rtXLhPHCf2tzajptjBGO8OUkdGY/ld15f197yyBvR1pZr7vu7A6n3lUX/1sB9
 | 
				
			||||||
 | 
					mJgOYvq8iTm/FKX7E0KPowFTCcH42Ci/fP+yk4HXw93tvhJkkP4J/i/IgrtN2fFuA/2vGehXGeDb
 | 
				
			||||||
 | 
					DPz8xgDvM8A3oXRfEtM9Bvl+z8DPNgP9vzTQtxnk+2MDPyMGfq4z8JNj4Oc6A/xhAzxqgPcY4I8a
 | 
				
			||||||
 | 
					4GsM8HGUHfeBfin0xpJayvNx/gDgV2XRb2H6dkkfwXjbE4wpeIQ5kbdpe4vXH4gFuoNxJRDb3lIf
 | 
				
			||||||
 | 
					ikYC2327QgHk9XaHoxEvvm0rXi9VzaoI7hqiYV8wsjmg7GhpbgjEO3VYqy9MlOqjkUigU2nrDUQE
 | 
				
			||||||
 | 
					FhzF9T7a25satimxYKRbB29TfIqg6PHFW3wRX3fAv823J9AUhqu0sDEWELNshkK7QiEqi6fVmqPR
 | 
				
			||||||
 | 
					3Wpv3V4hRwhPJ47NehToCyqoV1XiEAkIQudub2fPbm+XLxhCsYAvFIp2orjiD0ZQLxgqXcDElOhu
 | 
				
			||||||
 | 
					jEVVBYWZRkCBeS2wS+1C3fQSvHX2+bxdwYgvFLwngM06w72A4pxZtHHZUBeuw+bmprp671pHlXa1
 | 
				
			||||||
 | 
					1lGN4PLWpq3bvU7HJkflOoHdCG2a5iodlQLndKzTGeL51QzzXg78z4XfHETn1TyC4at8hAiX/mdl
 | 
				
			||||||
 | 
					FM+TZmQ30XkVPz8uCgbn41n6aYapS4MF2MfzbKI3gQxf8onz/c7dxbhXvsx9PHe2EEGObzK+8peY
 | 
				
			||||||
 | 
					z0OnGb/uXzGfgyYYv/bnmDejWeZfu98w/yMLKS2R8AGGW6VxwflTN1GK7wEFwngaFXCbgCcF/DIB
 | 
				
			||||||
 | 
					nxDwUgGfEvBLBZyPa3yfWyrgdgFfJuBO5ge3kUnANwq4eH+rFXCLgHsEXHze2yLguQK+Q8DF54QO
 | 
				
			||||||
 | 
					Ac8X8B4Btwp4r4AXCnifgM8T8AEBLxLwbwr4fAE/IODFAv6ogIs38ccEXJx/nxLwhQJ+UMAXCfgh
 | 
				
			||||||
 | 
					AV8s4CMCfomAHxPwMgE/IeBL0FyaS3PpTzn9rviKzz2DH1k9Q7nvrYFpd9+IYk6d8Ay+ZD1C5Knq
 | 
				
			||||||
 | 
					zx0IfZZaeQFI8XKi34MFn429l0qlDhDeRPiTGm8m/GGNtxD+GY3PIfzjGp9L+Ic1Po/w92t8PuHv
 | 
				
			||||||
 | 
					0ngr4X0aX0D4WzS+kPAujZ9H+EqNLyL8lRo/n/ClGm8jvEnjiwn/6SznS2j9Nb6U1l/jF9D6a/xC
 | 
				
			||||||
 | 
					Wn+NX0Trz3mI7k4S3QbaHsB/p0LPD0v8Ponvl3hV4sMSH5D4nRLfLvEtEu+W+BqJr5b4ColfKfGX
 | 
				
			||||||
 | 
					S/xiiZ8v8bkSP7Naz0+KfOV/NSVO3ulJnPYMfjCxZXvzcO410CM8w/OfLsSk5jDu54t/CyZnDgB7
 | 
				
			||||||
 | 
					fjVGcz/DZNOUshiGxs9X06FRkBotXj6Au/8RRkH/VaJf/SIm1856EhOewx/f5Dk8ZfGYXvGcnFUW
 | 
				
			||||||
 | 
					gYMwc2BNjXaRcnF7XL6Bmh+AGKmr2j2DNVvxpSfxoVLkGarpAib5HzOpVNIPnfGVXBV4006w1dmP
 | 
				
			||||||
 | 
					3Q1CfNEOdjCYa/2eoZyV5cSPe6pyBPJfifNPHE3+I/S5F7Bd0gJXnkTuaixg8n0j6iWHiDAJI/gQ
 | 
				
			||||||
 | 
					7uVg8jVQpOgYoEfdZwoK7chz1J0k1T/qPsHoKUyPuo8TdmjxkVU4Ki2nPMPuE57E6zjzx6AiniFg
 | 
				
			||||||
 | 
					h9vPeBJvYagGQwn3qGewfxQV77uf2GKDo8lnZ3i+9ZDv2Cb4GXIfHxwxJUY8w4teptm4k8zRm9PE
 | 
				
			||||||
 | 
					URIcJZFa+AKekpJt1EanbnoRyKgnYR50HzdB4aAkr9CIPDMtlEX99mD/cfPdefCL1Mt4ma7QyoTf
 | 
				
			||||||
 | 
					J8b+3sScDuEO0DiPxngTKEEol0BYX7+OQm9N87AX0RgwkzJmkkdNVkBuJrWY5nASZsUx/CpD2a/g
 | 
				
			||||||
 | 
					DEt1Gb5bSK2PTWdaPwdz6NhpxK3xs/jYr5Bo/RNm/S1qXYHrq5YR+eCIFeuA0IdD/7eam+fhZ2y/
 | 
				
			||||||
 | 
					zk2Yuamnbv6MuFksuXkD3IzfRn2o8DN+c9rBeubAfDEHT8AtZJx1zirsoJBelwsd5v4LEFrc/MUP
 | 
				
			||||||
 | 
					7uRRBvjrAI81zwgjZLimEe4YycMgOLDziAAXY/jHGbAVw9+W4MGPShL90yAtxFIVpEPuachu1QVd
 | 
				
			||||||
 | 
					TtNwr0reluEyFxvVZrr0JPqnPAl1AvrO35TjqrVPsQ5+5HNcpfYJ6LlQyQmk5h/CfXw8lwTiVdGL
 | 
				
			||||||
 | 
					HbwkE+oHg/0fmNQimMrehkKMPQJqgJgJchIjD1DEohYA8hIg43Fgcwj7L5j1A5urbsKR/CUZQLh+
 | 
				
			||||||
 | 
					UI6Ee3qwf9pEFB/HijcAiwj7KGZXkzKNrwTzPII+hNFLgM0n7H2YzYeLB6xS0Z1Q9FPy9DXcDl3F
 | 
				
			||||||
 | 
					fYoF4rVZ0k98tAM8PJtu6dEpMoAnSHyUpQBDtF6BaC+z8g5ccz6VGi/iU9sawfh9bDxccxaeNZJP
 | 
				
			||||||
 | 
					Yi3WwzbjuzQoTfk962iplNzkd0FZV+5aKPexzHKfAsNjrNyLSbmL9x3SRtO/Q6d8AT/LJK85T6ce
 | 
				
			||||||
 | 
					ypWdZ3MZrvQQrrw6+jyP/9vncPzfHOx/E6lr8VQ2VIL1aB7nZlgEtKpfmc9zq5vCVQfoUlzFl6ZI
 | 
				
			||||||
 | 
					1U9hq+Q5cj2Kr2+cSofESUPyPkwlyUem0iGpmskSksFzUkgMmnJUaErzDA3JK1pIXpymRdG6243n
 | 
				
			||||||
 | 
					xDa9h1RsuPrWPCqdPSvO+ptptY8m7xYqNA+ux2O0SjggJXk8r0qsNVxdCACdmw/qvB3n3q49J/aZ
 | 
				
			||||||
 | 
					CxfSvp8+SwL0IszUyfi5dIAW0lro4tN5Vo5P5l36hyvIPTP5z7T25Ka5irT3KL4n7YX7UO5frKBV
 | 
				
			||||||
 | 
					HwR/vEzdF/ht6QG4emElvvoVrczEUfc7ZDD6cQiG2t/xdL7hOXwank1O4KmVTCikLRaexfngOQOR
 | 
				
			||||||
 | 
					uwDrP+/l8HCZz9KekeEDjH80mUoNut8xDbnfucE9eu8jPHQfT6Z70+lJEqzvgMNk49ksPcg1KUXI
 | 
				
			||||||
 | 
					nhmh/qszI1SQLjmJ0FevphHyTaYj5P6cR6gDro66R0lMwrQ+oxn1+e4Zg5nkDQsPx+/OiL3iw/M8
 | 
				
			||||||
 | 
					OJnOEmdwcEYhOKM3uD+4d4gH5OQZEpAHwWWyejJLQJxncEC6HMXLH8RZwgNtLXnec93WPFxz83KE
 | 
				
			||||||
 | 
					XLc2Jd5ytTclJl3bXYnpds9wxY0Ab2u+dga/0yWXfwY5HJ6xKMsr32bPi82Jz5oTHzck/tOVWvSu
 | 
				
			||||||
 | 
					Z/CIybPpN+pv8fve7Ttdd7h2uu50eY90pfPE+R1Bwnui9mY4l/4/JJNuNVa/9ojT1fbWqJ19rghG
 | 
				
			||||||
 | 
					I8AzJuBn8jqf3741cJcaiCuEb/QpvpA9EItFY4Rv8e0ORrrtri1Ngpref9indPZgJT/5/EE/cYSC
 | 
				
			||||||
 | 
					cfrjjeAPNd0B4SJOvrngq75wCMXUSAR/Iwn6QwHU61PjULZ4j6ooAFb4o3dHUNy3B7BoVxfqjPni
 | 
				
			||||||
 | 
					PXDdG46r8d5AxI/rsWplvBC52xrRKrLma7rMcsNTiK6fFn2SSuEJNDSRSuFvdfcCXQb0+Kep1EuA
 | 
				
			||||||
 | 
					PwdDDH/7/DUM4C1A8YzXCzQXz3BAlwE9CNQF9DjQHUA/AhoFWgShfw7oaqC9MM03Ay2H+2wI6A0w
 | 
				
			||||||
 | 
					oewHejtMVz8F2g8T+3Gg34dby0dA8XtElSW9xmu6Zysy9ZWYLivKt+J8MU7W5aGcazBtyCdNC3cP
 | 
				
			||||||
 | 
					hB+gyz9OpTrwA6StpNFW9ufF8+62DqCbll5/3boV5LMdtr8D/ndA/cU+gXHcgDs+ofXlCa8R4xeD
 | 
				
			||||||
 | 
					vZDfVXi9x20rechcPz+PlQPH8z6Yz8i3BS5rhcIy+TH4v+cicvy2GTaQ47ytUBY/yFeizLxXmIxt
 | 
				
			||||||
 | 
					sbyB2RrJ/SC/HeSNorw/LX8Q5PeD/Bei3PwsUcDyJ3A/mGQ3IE3+tCZ/CeQ/A/lCkyC3FJqwApZ/
 | 
				
			||||||
 | 
					APiT0E/sOvmlmjwH+sOT0H+u0smXaPIVIP8H6FelOrmVyPG+jgaQPwX9jWxvarSV/LW5yVb2Vxa3
 | 
				
			||||||
 | 
					zT6c47aV789tsDkfyvPYNg7mb7bVRmwbXTany1ZeZ7PX2crqbCV1NiuZN3B/PQF+xO8yc2kuzaW5
 | 
				
			||||||
 | 
					NJfm0lyaS/9XE9+Xw/fhiPuNRWpnF9peD/ZwzPd4lF9BKd8bwff/8D04fK8J30vD9wEtk+STsymy
 | 
				
			||||||
 | 
					Jf8xtimGP1N9k21u4XtcTjA536tSxF7n+B4VvndD3POBE99rU8b2c/C3wClWP/5ewffM8D1BWwr1
 | 
				
			||||||
 | 
					eEeBvtwTjPI9Sjx/FhZND15nSP1MDJpl/AmmkGI8L9cE4x9h8vOMF/cM/U8mbb+1lJysvWsZ3cJo
 | 
				
			||||||
 | 
					B6O9jA4weoDRxxg9yOgIoycYHWV0gr9ssc1ZJYzaGXUyWsvoFkY7GO0VN3X9HonvM9tcX3+9vbx9
 | 
				
			||||||
 | 
					lxpRVPsmxzqHs6Jyg0rYym+sdTqcVddS+Ev4tEDrlmVpIAu06sasuEXbd67Hc9C9WfFcbXzo8Txt
 | 
				
			||||||
 | 
					XOjxfG386HGr1q/0eIHWH/V4odbv9fg8bXzo8aLMhRWCz0f2rLgNDWRpRwsqRgey4iXaeQ09XqrN
 | 
				
			||||||
 | 
					R3p8QdbNyBa0UNuHr8cXoZGs+GJtftPjl2jzmh6/NOu4ssAswechPb4kfZBEh6f3G+vxyzIwen7j
 | 
				
			||||||
 | 
					05SM4/nbDHErWajHbQyvlfArGT4g4RtIHktReW06P5wayXVmHMLMz4jkZy/Rz4znowblN6rXE0S2
 | 
				
			||||||
 | 
					CN2xQpZk13+W6GfG/xjBM9vrJPldnFGv0wyXy7/OjOub2f8nyW9mf9uRg/c5lqBXWXyuYuPYaqJ4
 | 
				
			||||||
 | 
					lDXxVSzQSwz2q1/P9B9mN9ZSpn+zgf4pC9Xn42gNwzsM9GNY35w5vgZYviF2w+T3zf0Mf5UBv2D4
 | 
				
			||||||
 | 
					Dwz8P2OA43MT+PTHxlo9/hrZVw852CnP98z+muXbxh44+PPLaYN9+2eZfrtU/lnmv5b553uN88zZ
 | 
				
			||||||
 | 
					y3mtmfo5eDnl+dG5TQb6txrgCvPzIHuQOMTwNy14CsucHwZAv9S8RLuf8TRszn7+4knm/0b2wLaQ
 | 
				
			||||||
 | 
					xednBuV51QD/xEzjwzPh8Z810F9goeWU57ErLLRdnAzn7XK1hfp3Mv/8+bPCkt1/syV7fXtYP7ez
 | 
				
			||||||
 | 
					fsufK/sM/HzLkv0cx48M9PEHspIs7fKuhfZbub7jrDxmqb+dY7iTASsZXpCTvV7lLD4dTMifd8ty
 | 
				
			||||||
 | 
					KD4g4fac7OW/OYeWXy7nVjYvDbLyNDJ8p4GfKMvXzvLl01+fgf5+A/wJlu8SKT7PMHz8Ej1+yMDP
 | 
				
			||||||
 | 
					cQN83ACfMcCvyaX12mKnPJ8HVucanOvpjClxRe3qcnSi9IEerxL2duKTOvgQiz/q7Q5Fd/lCXr8S
 | 
				
			||||||
 | 
					jcW9PrUPdUbDvaGAEvA7NuITwVmV8FmVoNcXi/n2egMRJbYXdcV84YDXr4bDe8FE4LygqehUQ/zc
 | 
				
			||||||
 | 
					M5TL623c6mpxe92tDfhA0ebmtjpXs7etsXGbe7t3u6uu2Q1ow1dbXS1N9aCs8+XXA+ScDECbW9u9
 | 
				
			||||||
 | 
					bg/z62nYivMj37J8oZBXVYP+zCNEtbX6UzCiBfnwxU731NaKR27kA02iF3yypjfmjUS95ANb+ssZ
 | 
				
			||||||
 | 
					/JJDRfRokN6hfKgoLa1Cbi9zjgvHv77Rg0V6J5BrdzTqR3WuBu9W9y3ZjmLJBWUHjTrjKomn/syU
 | 
				
			||||||
 | 
					rKw/tSVLWeFI0KDnxKPeHl8Efxs0PivGTLTvivhElHGg0+eyxKzxsSZvU5uXnL7ykq+Q9AiWHGDI
 | 
				
			||||||
 | 
					mfW1TqgEqm9rbfVubmtrkE+fZYTooqfitPDhYUFOacn5iue7DCqX5fSaWAp8jgsi6lN8Wk/fFY+z
 | 
				
			||||||
 | 
					a2h0XB/vLh+uOHQeBUYrBN5LPudKx/Za21pc2+s9FzvzlhHbAM6Y9GLhO7G+IiSW0OvY8TW9MH3o
 | 
				
			||||||
 | 
					LaO3koKTLgsMrkA4y1jLOAsnuVGVeEZYs5700w/1ynWo0bXd1UyP7ek9IEd8b1jx7QIKY5XQHn4F
 | 
				
			||||||
 | 
					XSsQ60WOSFQJOLojqqM3Fu0NxJS9ArRLDYb8FTDdUMhV11Sh+LoRkfX44j3I4d8bgSwoVWJUsicQ
 | 
				
			||||||
 | 
					i+OP/SLjBVksEPJhRXbVG1JwKaBx8aWjO8ou4oFO5FACfcCSvuiIRUnLOQI9bFLu8cfSHPVBJ1Bq
 | 
				
			||||||
 | 
					wa8hK184CM6oOXQ15IA7Qxim8Cy3pj8o4dcJ/MjH15mM/g4BTyaJvxrpz7QZnYPnSV5OWC/Zy+fv
 | 
				
			||||||
 | 
					5dc4+W8fNEn2fJ3kXoP8Zfvb4P/ZVCrK7fl6Cqd8nYcvm8jl9yG61sjt+boLp4eYgJ8H5PZ8XTCI
 | 
				
			||||||
 | 
					9Gfe+foMp3w9kyc5/nchulbI1fg6DqfXS+WX/nwC+gaia49a+a16egCly29GmfUfRjSm3J6vC3HK
 | 
				
			||||||
 | 
					10Pl+PH6f4/Z1zGerx9xytdj85iNbP84Ev82AMr4uxbyiojc/t+X7Pl6FKcdUsDlP5/xpGTP1604
 | 
				
			||||||
 | 
					lZe3ZPuDkj1f3+J0yxfk/7xkz9/fOXWLhzWzlOcFyZ6/z3M6X9KX4/cy0s8f2oBjdIFB+Xl6TbI3
 | 
				
			||||||
 | 
					+nsYRvm/LdnzdTpOH5PGj9x/P0T0GZ4vl2rnlSuy61sl+imi51i1P2PC7Eu+pP0MorHXvkfwv3fC
 | 
				
			||||||
 | 
					7JEwf4h2PI4/QbT+8veMMraAk/yC/PNMenvtvdWpz0e256mIfcDQ6s/sS5h9uaQv+ytl+cvr6dz+
 | 
				
			||||||
 | 
					OgnP9l1KamKSapm9nc0jeBnGgTLnjwKh7GLqYBPnTdJmHnn+LTWw/yFrh6WSgWw/l+bSXJpLc+l/
 | 
				
			||||||
 | 
					J/030Ir0wABQAAA=
 | 
				
			||||||
 | 
					'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                            #-----------------#
 | 
					                            #-----------------#
 | 
				
			||||||
                            #@@@@@@@@@@@@@@@@@#
 | 
					                            #@@@@@@@@@@@@@@@@@#
 | 
				
			||||||
                            #---ENTRY POINT---#
 | 
					                            #---ENTRY POINT---#
 | 
				
			||||||
| 
						 | 
					@ -3148,6 +3266,7 @@ if ! ((QQ2_NOEXECUTE)); then
 | 
				
			||||||
  #Ensure needed fds are not in use
 | 
					  #Ensure needed fds are not in use
 | 
				
			||||||
  exec 3>&- 3<&- 4>&- 4<&-;
 | 
					  exec 3>&- 3<&- 4>&- 4<&-;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  lv_api_do_check
 | 
				
			||||||
  open_pipe
 | 
					  open_pipe
 | 
				
			||||||
  if [[ -n "$QQ2_DIR" ]]; then
 | 
					  if [[ -n "$QQ2_DIR" ]]; then
 | 
				
			||||||
    : # If already set, use existing value
 | 
					    : # If already set, use existing value
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Loading…
	
		Reference in New Issue