#!/bin/bash
MBS_ORIGIN=$(pwd)
MBS_DIR=
PATH=/bin:/usr/bin:/sbin:/usr/sbin
if [ ! $(whoami) = 'root' ]; then
	echo "You must be 'root' to run this command"
	exit 1
fi
cd "$(dirname "$0")"
MBS_DIR=$(pwd)
echo -e "Starting 'upgrade_bear_resmon_1.2.0.13' installation at $(date '+%Y-%m-%d %T')"
n=0
declare -a UNDO
function log_undo {
	UNDO[n]="$@"
	((n++))
}
function rollback {
	echo 'Undoing installation.' >&2
	for x in "${UNDO[@]}"; do
		$x
	done
	echo 'Installation terminated.' >&2
	exit 1
}

if ! echo "IyEvYmluL2Jhc2gKIwojICAgICAgICAgICAgIE5BTUU6IEJFQVIgSW5mbwojICAgICAgICBDT1BZ
UklHSFQ6IENvcHlyaWdodCAoQykyMDA4LTIwMTYgSm9leSBEb2JpYXMKIyAgICAgICAgICBWRVJT
SU9OOiAxLjAuMAojICAgICAgIENSRUFURUQgQlk6IEpvZXkgRG9iaWFzIChqb2V5LWRvYmlhc0Bh
c2lhY29tdGVrLmNvbSkKIyAgICBDUkVBVElPTiBEQVRFOiAyMDE2LTA2LTA3CiMgIExBU1QgVVBE
QVRFRCBCWTogSm9leSBET2JpYXMgKGpvZXktZG9iaWFzQGFzaWFjb210ZWsuY29tKQojICAgICAg
TEFTVCBVUERBVEU6IDIwMTYtMDYtMDcKIyAgIE5PVEVTOiBPdXRwdXRzIEJFQVIgY29tcG9lbm50
IHZlcnNpb24gaW5mbwoKUEFUSD0vYmluOi91c3IvYmluOi9zYmluOi91c3Ivc2JpbgoKU0hVVERP
V05bMF09YXBwc2VydmVyClNIVVRET1dOWzFdPWRhdGFiYXNlClNIVVRET1dOWzJdPXNoYXJlcG9p
bnQKU0hVVERPV05bM109cmVzbW9uCgpmb3IgWCBpbiAke1NIVVRET1dOW0BdfTsgZG8KCWlmIFsg
LWYgIi9ldGMvYmVhci8uJFgiIF07IHRoZW4KCQllY2hvIC1lICJcbj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09XG5cbiQoY2F0IC9ldGMvYmVhci8uJFgpIgoJZmkKZG9uZQo=" | base64 -di - > "/bear/bin/bear_info"; then
	rollback
fi
log_undo 'rm -f "/bear/bin/bear_info"'
chown root:root "/bear/bin/bear_info"
chmod 0555 "/bear/bin/bear_info"
echo -e "Created file '/bear/bin/bear_info'"
if ! echo "IyEvYmluL2Jhc2gKIwojICAgICAgICAgICAgIE5BTUU6IEJFQVIgUHJlIHVuaW5zdGFsbGVyCiMg
ICAgICAgIENPUFlSSUdIVDogQ29weXJpZ2h0IChDKTIwMDgtMjAxNiBKb2V5IERvYmlhcwojICAg
ICAgICAgIFZFUlNJT046IDEuMC4wCiMgICAgICAgQ1JFQVRFRCBCWTogSm9leSBEb2JpYXMgKGpv
ZXktZG9iaWFzQGFzaWFjb210ZWsuY29tKQojICAgIENSRUFUSU9OIERBVEU6IDIwMTYtMDUtMjcK
IyAgTEFTVCBVUERBVEVEIEJZOiBKb2V5IERPYmlhcyAoam9leS1kb2JpYXNAYXNpYWNvbXRlay5j
b20pCiMgICAgICBMQVNUIFVQREFURTogMjAxNi0wNS0yNwojICAgTk9URVM6IFRha2VzIGNhcmUg
b2YgYSBmZXcgY29tbW9uIHRoaW5ncyB0aGF0IGFueSBCRUFSIHJlbGF0ZWQgdW5pbnN0YWxsYXRp
b24gc3RhcnRzIHdpdGgKIwkJMS4gU3RvcHMgQUMgSW50ZWdyaXR5CiMJCTIuIENhbGxzIC9iZWFy
Ly48YXBwbGljYXRpb25fbmFtZT4gdG8gc3RvcCB0aGUgYXBwbGljYXRpb24uCgpQQVRIPS9iaW46
L3Vzci9iaW46L3NiaW46L3Vzci9zYmluOi9iZWFyL2JpbgpBUFBOQU1FPSQxCmFjX2ludGVncml0
eSBzdG9wCnN0b3BfJEFQUE5BTUUK" | base64 -di - > "/bear/bin/.bear_pre_uninstaller.sh"; then
	rollback
fi
log_undo 'rm -f "/bear/bin/.bear_pre_uninstaller.sh"'
chown root:root "/bear/bin/.bear_pre_uninstaller.sh"
chmod 0550 "/bear/bin/.bear_pre_uninstaller.sh"
echo -e "Created file '/bear/bin/.bear_pre_uninstaller.sh'"
if ! echo "IyEvYmluL2Jhc2gKIwojICAgICAgICAgICAgIE5BTUU6IEJFQVIgUHJlIHVuaW5zdGFsbGVyCiMg
ICAgICAgIENPUFlSSUdIVDogQ29weXJpZ2h0IChDKTIwMDgtMjAyMSBKb2V5IERvYmlhcwojICAg
ICAgICAgIFZFUlNJT046IDEuMC4xCiMgICAgICAgQ1JFQVRFRCBCWTogSm9leSBEb2JpYXMgKGpv
ZXktZG9iaWFzQGFzaWFjb210ZWsuY29tKQojICAgIENSRUFUSU9OIERBVEU6IDIwMTYtMDUtMjcK
IyAgTEFTVCBVUERBVEVEIEJZOiBKb2V5IERPYmlhcyAoam9leS1kb2JpYXNAYXNpYWNvbXRlay5j
b20pCiMgICAgICBMQVNUIFVQREFURTogMjAyMS0wNS0wOQojICAgTk9URVM6IFRha2VzIGNhcmUg
b2YgYSBmZXcgY29tbW9uIHRoaW5ncyB0aGF0IGFueSBCRUFSIHJlbGF0ZWQgdW5pbnN0YWxsYXRp
b24gc3RhcnRzIHdpdGgKIwkJMS4gVW5kb2VzIGFueSBmaXJld2FsbCBzZXR0aW5ncwojCQkyLiBS
ZW1vdmVzIGFueSBBQyBJbnRlZ3JpdHkgZGlyZWN0aXZlcwojCQkzLiBJZiB0aGVyZSBhcmUgbm8g
b3RoZXIgQkVBUiBhcHBsaWNhdGlvbnMsIGl0IGFsc286CiMJCQkzLjEgTW92ZXMgc3lzbG9nIGRh
dGFzdG9yZSBiYWNrIHRvIC92YXIvbG9nCiMJCQkzLjIgRGVsZXRlcyAvYmVhcgojCQk0LiBSZWxv
YWRzIHRoZSBmaXJld2FsbCAoaWYgZW5hYmxlZCkKIwkJNS4gQ2xlYW5zIHVwIC9ldGMvYmVhciBy
ZXNvdXJjZXMgZm9yIHRoaXMgYXBwIGFuZCBpZiB0aGUgbGFzdCBvbmUsIHJlbW92ZXMgL2V0Yy9i
ZWFyIGl0c2VsZi4KIwkJNi4gUmVmcmVzaGVzIHRoZSBBQyBJbnRlZ3JpdHkgZGF0YWJhc2UKIwkJ
Ny4gUmVzdGFydHMgQUMgSW50ZWdyaXR5CgpQQVRIPS9iaW46L3Vzci9iaW46L3NiaW46L3Vzci9z
YmluCkFQUE5BTUU9JDEKY2QgLwpybSAtZiAvZXRjL2JlYXIvLiRBUFBOQU1FCgojIERldGVjdCB3
aGV0aGVyIHRoaXMgaXMgdGhlIGxhc3QgYXBwClNIVVRET1dOWzBdPWFwcHNlcnZlcgpTSFVURE9X
TlsxXT1yZXNtb24KU0hVVERPV05bMl09ZGF0YWJhc2UKU0hVVERPV05bM109c2hhcmVwb2ludApG
SU5BTD0xCmZvciBYIGluICR7U0hVVERPV05bQF19OyBkbwoJaWYgWyAtZiAiL2V0Yy9iZWFyLy4k
WCIgXTsgdGhlbgoJCUZJTkFMPTAKCWZpCmRvbmUKCmlmICgoRklOQUw9PTApKTsgdGhlbiAjIEp1
c3QgY2xlYW4gdXAgdGhlIGFwcAoJZWNobyAiQ2xlYW5pbmcgdXAgJEFQUE5BTUUgcmVzb3VyY2Vz
LiIKCSMgUmVtb3ZlIGZpcmV3YWxsIHNldHRpbmdzCglmb3IgUFVCTElDX0lOVEVSRkFDRSBpbiAk
KGxzIC9ldGMvYWNfZmlyZXdhbGwvaW5jb21pbmdfKl9wdWJsaWMpOyBkbwoJCUZOPSQoYmFzZW5h
bWUgJHtQVUJMSUNfSU5URVJGQUNFfSkKCQlncmVwIC1pdiAiQkVBUiAkQVBQTkFNRSIgJHtQVUJM
SUNfSU5URVJGQUNFfSA+IC90bXAvJEZOCgkJbXYgLWYgL3RtcC8kRk4gJHtQVUJMSUNfSU5URVJG
QUNFfQoJZG9uZQoJIyBSZW1vdmUgQUMgSW50ZWdyaXR5IHNldHRpbmdzCglncmVwIC1pdkUgIltb
OnNwYWNlOl1dYmVhcl8kQVBQTkFNRSIgL2V0Yy9hY19pbnRlZ3JpdHkvbGlzdHMuY29uZiA+IC90
bXAvbGlzdHMuY29uZgoJbXYgLWYgL3RtcC9saXN0cy5jb25mIC9ldGMvYWNfaW50ZWdyaXR5L2xp
c3RzLmNvbmYKCWlmIFsgLWYgL2V0Yy9hY19pbnRlZ3JpdHkvY2xhc3Nlcy9iZWFyXyRBUFBOQU1F
IF07IHRoZW4KCQlybSAtZiAvZXRjL2FjX2ludGVncml0eS9jbGFzc2VzL2JlYXJfJEFQUE5BTUUK
CWZpCglybSAtZiAvZXRjL2JlYXIvKiRBUFBOQU1FKgoJcm0gLWYgL2JlYXIvYmluLyokQVBQTkFN
RSoKZWxzZSAjIENsZWFuIHVwIGV2ZXJ5dGhpbmcgKHRoaXMgaXMgdGhlIG9ubHkgcGxhY2Ugd2Ug
c2hvdWxkIGJlIHJldmVydGluZyBzeXN0ZW0gZmlsZXMgbGlrZSAvZXRjL3BocC5pbmkpCgllY2hv
ICJDbGVhbmluZyB1cCBhbGwgQkVBUiByZXNvdXJjZXMgKGNvbXBsZXRlIHVuaW5zdGFsbGF0aW9u
KS4iCgkjIEtpbGwgc3RyYW5kZWQgcHJvY2Vzc2VzIHdpdGggbm8gaG9tZQoJZm9yIFggaW4gJChw
cyAtZW8gcGlkLGNtZCB8IGdyZXAgLXYgZ3JlcCB8IGdyZXAgJyAvYmVhci93ZWJfYXBwbGljYXRp
b25zJyB8IHNlZCAtciAncy9eICovL2cnIHwgY3V0IC1kJyAnIC1mMSk7IGRvCgkJa2lsbCAtOSAk
WAoJZG9uZQoJIyBSZXN0b3JlIHN5c3RlbSBmaWxlcwoJaWYgWyAtZiAvZXRjL2JlYXIvb3JpZ2lu
YWxfc3lzZmlsZXMudGFyIF07IHRoZW4KCQl0YXIgLUMgLyAteCAtLW92ZXJ3cml0ZSAtZiAvZXRj
L2JlYXIvb3JpZ2luYWxfc3lzZmlsZXMudGFyCglmaQoJIyBSZW1vdmUgZmlyZXdhbGwgc2V0dGlu
Z3MKCWZvciBQVUJMSUNfSU5URVJGQUNFIGluICQobHMgL2V0Yy9hY19maXJld2FsbC9pbmNvbWlu
Z18qX3B1YmxpYyk7IGRvCglGTj0kKGJhc2VuYW1lICR7UFVCTElDX0lOVEVSRkFDRX0pCgkJZ3Jl
cCAtaXYgJ0JFQVInICR7UFVCTElDX0lOVEVSRkFDRX0gPiAvdG1wLyRGTgoJCW12IC1mIC90bXAv
JEZOICR7UFVCTElDX0lOVEVSRkFDRX0KCWRvbmUKCSMgUmVtb3ZlIEFDIEludGVncml0eSBzZXR0
aW5ncwoJZ3JlcCAtaXZFICdbWzpzcGFjZTpdXWJlYXJfJyAvZXRjL2FjX2ludGVncml0eS9saXN0
cy5jb25mID4gL3RtcC9saXN0cy5jb25mCgltdiAtZiAvdG1wL2xpc3RzLmNvbmYgL2V0Yy9hY19p
bnRlZ3JpdHkvbGlzdHMuY29uZgoJaWYgWyAtZiAvZXRjL2FjX2ludGVncml0eS9jbGFzc2VzL2Jl
YXJfJEFQUE5BTUUgXTsgdGhlbgoJCXJtIC1mIC9ldGMvYWNfaW50ZWdyaXR5L2NsYXNzZXMvYmVh
cl8kQVBQTkFNRQoJZmkKCWlmIFsgLWYgL2V0Yy9hY19pbnRlZ3JpdHkvY2xhc3Nlcy9iZWFyX2dl
bmVyaWMgXTsgdGhlbgoJCXJtIC1mIC9ldGMvYWNfaW50ZWdyaXR5L2NsYXNzZXMvYmVhcl9nZW5l
cmljCglmaQoJIyBNb3ZlIHN5c2xvZyBiYWNrIHRvIHRoZSBleHBlY3RlZCBsb2NhdGlvbgoJcm0g
LXJmIC92YXIvbG9nLyogMj4mLQoJYWNfY29uZmlndXJlX3N5c2xvZyBkYXRhc3RvcmUgL3Zhci9s
b2cKCSMgRGVsZXRlIHRoZSAvYmVhciBwYXRoCglybSAtcmYgL2JlYXIKCSMgRGVsZXRlIHRoZSAv
ZXRjL2JlYXIgcGF0aAoJcm0gLXJmIC9ldGMvYmVhcgpmaQoKIyBDT01NT04gQUNUSU9OUwoKIyBS
ZWxvYWQgdGhlIGZpcmV3YWxsIChpZiBlbmFibGVkKQppZiBzeXN0ZW1jdGwgbGlzdC11bml0LWZp
bGVzIC10IHNlcnZpY2UgfCBncmVwIC1xaUUgJ2FjX2ZpcmV3YWxsLitlbmFibGVkJzsgdGhlbgoJ
YWNfZmlyZXdhbGwgc3RhcnQKZmkKIyBSZWZyZXNoIEFDIEludGVncml0eQphY19pbnRlZ3JpdHkg
dXBkYXRlLWRiCiMgUmVzdGFydHMgQUMgSW50ZWdyaXR5CmlmIHN5c3RlbWN0bCBsaXN0LXVuaXQt
ZmlsZXMgLXQgc2VydmljZSB8IGdyZXAgLXFpRSAnYWNfaW50ZWdyaXR5LitlbmFibGVkJzsgdGhl
bgoJYWNfaW50ZWdyaXR5IHN0YXJ0CmZpCg==" | base64 -di - > "/bear/bin/.bear_post_uninstaller.sh"; then
	rollback
fi
log_undo 'rm -f "/bear/bin/.bear_post_uninstaller.sh"'
chown root:root "/bear/bin/.bear_post_uninstaller.sh"
chmod 0550 "/bear/bin/.bear_post_uninstaller.sh"
echo -e "Created file '/bear/bin/.bear_post_uninstaller.sh'"
if ! echo "IyEvYmluL2Jhc2gKIwojICAgICAgICAgICAgIE5BTUU6IEJFQVIgU3RhdHVzCiMgICAgICAgIENP
UFlSSUdIVDogQ29weXJpZ2h0IChDKTIwMDgtMjAxNiBKb2V5IERvYmlhcwojICAgICAgICAgIFZF
UlNJT046IDEuMC4wCiMgICAgICAgQ1JFQVRFRCBCWTogSm9leSBEb2JpYXMgKGpvZXktZG9iaWFz
QGFzaWFjb210ZWsuY29tKQojICAgIENSRUFUSU9OIERBVEU6IDIwMTctMDgtMDcKIyAgTEFTVCBV
UERBVEVEIEJZOiBKb2V5IERPYmlhcyAoam9leS1kb2JpYXNAYXNpYWNvbXRlay5jb20pCiMgICAg
ICBMQVNUIFVQREFURTogMjAxNy0wOC0wOQojICAgTk9URVM6IEdldHMgdGhlIHJ1bm5pbmcgc3Rh
dHVzIG9mIGFsbCBpbnN0YWxsZWQgQkVBUiBjb21wb25lbnRzCgpCRUFSPS9iZWFyL2JpbgpQQVRI
PS9iaW46L3Vzci9iaW46L3NiaW46L3Vzci9zYmluOiRCRUFSClRFTVA9L2JlYXIvdG1wCgpBUFBb
MF09YXBwc2VydmVyCkFQUFsxXT1kYXRhYmFzZQpBUFBbMl09c2hhcmVwb2ludApBUFBbM109cmVz
bW9uCgplY2hvCmZvciBYIGluICR7QVBQW0BdfTsgZG8KCVRJTUU9dW5rbm93bgoJaWYgWyAtZiAi
JEJFQVIvLnN0YXR1c18kWC5zaCIgXTsgdGhlbgoJCSMgRWFjaCBhcHAgc2hvdWxkIGhhdmUgYSBz
dGF0dXMgcmVwb3J0aW5nIHNjcmlwdCB0aGF0IHJldHVybnMgMCBmb3IgcnVubmluZyBhbmQgPj0x
IGZvciBub3QgcnVubmluZyBwbHVzIGEgc3RyaW5nIHRoYXQgZGVzY3JpYmVzIGEgZmV3IGJhc2lj
IGZhY3RzIGFib3V0IHRoZSBjb25maWcKCQlTVEFURT1TVE9QUEVECgkJWT0kKCRCRUFSLy5zdGF0
dXNfJFguc2gpCgkJaWYgKCgkez99PT0wKSk7IHRoZW4gI3J1bm5pbmcKCQkJU1RBVEU9UlVOTklO
RwoJCQlpZiBbIC1mICRURU1QL3N0YXJ0dGltZV8kWCBdOyB0aGVuCgkJCQlUSU1FPSQoY2F0ICRU
RU1QL3N0YXJ0dGltZV8kWCkKCQkJZmkKCQllbHNlICMgbm90IHJ1bm5pbmcKCQkJaWYgWyAtZiAk
VEVNUC9zdGFydHRpbWVfJFggXSAmJiBbIC1mICRURU1QL3N0b3B0aW1lXyRYIF07IHRoZW4KCQkJ
CVRJTUU9JChjYXQgJFRFTVAvc3RvcHRpbWVfJFgpCgkJCQlpZiBbWyAiJFRJTUUiID4gIiQoY2F0
ICRURU1QL3N0YXJ0dGltZV8kWCkiIF1dOyB0aGVuCgkJCQkJU1RBVEU9U1RPUFBFRAoJCQkJZWxz
ZQoJCQkJCVNUQVRFPUZBSUxFRAoJCQkJZmkKCQkJZmkKCQlmaQoJCWVjaG8gLWUgIj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09CgpDT01QT05FTlQ6ICRYCiAgICBTVEFURTogJFNUQVRFIChzaW5jZSAkVElN
RSkKICBERVRBSUxTOiAkWVxuIgoJZmkKZG9uZQ==" | base64 -di - > "/bear/bin/bear_status"; then
	rollback
fi
log_undo 'rm -f "/bear/bin/bear_status"'
chown root:root "/bear/bin/bear_status"
chmod 0550 "/bear/bin/bear_status"
echo -e "Created file '/bear/bin/bear_status'"
if ! echo "IyEvYmluL2Jhc2gKIwojICAgICAgICAgICAgIE5BTUU6IFVuaW5zdGFsbCBCRUFSIFJlc291cmNl
IE1vbml0b3IKIyAgICAgICAgQ09QWVJJR0hUOiBDb3B5cmlnaHQgKEMpMjAwOC0yMDE2IEpvZXkg
RG9iaWFzCiMgICAgICAgICAgVkVSU0lPTjogMS4wLjgKIyAgICAgICBDUkVBVEVEIEJZOiBKb2V5
IERvYmlhcyAoam9leS1kb2JpYXNAYXNpYWNvbXRlay5jb20pCiMgICAgQ1JFQVRJT04gREFURTog
MjAxNi0wNi0wMQojICBMQVNUIFVQREFURUQgQlk6IEpvZXkgRE9iaWFzIChqb2V5LWRvYmlhc0Bh
c2lhY29tdGVrLmNvbSkKIyAgICAgIExBU1QgVVBEQVRFOiAyMDE3LTA4LTEzCgpQQVRIPS9iaW46
L3Vzci9iaW46L3NiaW46L3Vzci9zYmluOi9iZWFyL2JpbgpUSElTPSQwCi5iZWFyX3ByZV91bmlu
c3RhbGxlci5zaCByZXNtb24KZm9yIFggaW4gJChwcyAtZW8gcGlkLGNtZCB8IGdyZXAgLXYgZ3Jl
cCB8IGdyZXAgJ3Jlc291cmNlX21vbml0b3Iuc2gnIHwgc2VkIC1yICdzL14gKi8vZycgfCBjdXQg
LWQnICcgLWYxKTsgZG8KCWtpbGwgLTkgJFgKZG9uZQpybSAtcmYgL3Zhci90bXAvYmVhcgpybSAt
cmYgL2JlYXIvd2ViX2FwcGxpY2F0aW9ucy9sb2dzL3Jlc291cmNlX21vbml0b3IKcm0gLXJmIC9i
ZWFyL3dlYl9hcHBsaWNhdGlvbnMvYXBpCnJtIC1yZiAvYmVhci93ZWJfYXBwbGljYXRpb25zL2Nn
aQpzeXN0ZW1jdGwgc3RvcCBiZWFyX3Jlc21vbi5zZXJ2aWNlCnN5c3RlbWN0bCBkaXNhYmxlIGJl
YXJfcmVzbW9uLnNlcnZpY2UKc2xlZXAgMQpybSAtZiAvZXRjL3N5c3RlbWQvc3lzdGVtL2JlYXJf
cmVzbW9uLnNlcnZpY2UKCi5iZWFyX3Bvc3RfdW5pbnN0YWxsZXIuc2ggcmVzbW9uCnJtIC1mICRU
SElTIDI+Ji0KZWNobyAtZSAiVW5pbnN0YWxsYXRpb24gb2YgQkVBUiBSZXNvdXJjZSBNb25pdG9y
IGNvbXBsZXRlIGF0ICQoZGF0ZSAnKyVGICVUJykiCg==" | base64 -di - > "/bear/bin/uninstall_resmon"; then
	rollback
fi
log_undo 'rm -f "/bear/bin/uninstall_resmon"'
chown root:root "/bear/bin/uninstall_resmon"
chmod 0550 "/bear/bin/uninstall_resmon"
echo -e "Created file '/bear/bin/uninstall_resmon'"
if ! echo "IyEvYmluL2Jhc2gKIwojICAgICAgICAgICAgIE5BTUU6IEJFQVIgUmVzb3VyY2UgTW9uaXRvciBT
dGF0dXMKIyAgICAgICAgQ09QWVJJR0hUOiBDb3B5cmlnaHQgKEMpMjAwOC0yMDIxIEpvZXkgRG9i
aWFzCiMgICAgICAgICAgVkVSU0lPTjogMS4wLjIKIyAgICAgICBDUkVBVEVEIEJZOiBKb2V5IERv
YmlhcyAoam9leS1kb2JpYXNAYXNpYWNvbXRlay5jb20pCiMgICAgQ1JFQVRJT04gREFURTogMjAx
Ny0wOC0wNwojICBMQVNUIFVQREFURUQgQlk6IEpvZXkgRE9iaWFzIChqb2V5LWRvYmlhc0Bhc2lh
Y29tdGVrLmNvbSkKIyAgICAgIExBU1QgVVBEQVRFOiAyMDIxLTA1LTA1CiMgICBOT1RFUzogUmV0
dXJucyB0cnVlIG9yIGZhbHNlIGRlcGVuZGluZyBvbiB3aGV0aGVyIHRoZSByZXNtb24gaXMgcnVu
bmluZy4KIyAgICAgICAgICBDcml0ZXJpYSBmb3IgcnVubmluZyBpczoKIyAgICAgICAgICAgMS4g
aHR0cGQgaXMgcnVubmluZwojICAgICAgICAgICAyLiB0aGUgcmVzb3VyY2UgbW9uaXRvciBzY3Jp
cHQgaXMgcnVubmluZwoKQkVBUj0vYmVhci9iaW4KUEFUSD0vYmluOi91c3IvYmluOi9zYmluOi91
c3Ivc2JpbjokQkVBUgpTRVJWSUNFX0NPTVBPTkVOVFM9L2JlYXIvd2ViX2FwcGxpY2F0aW9ucy9y
ZXNvdXJjZXMvYmVhci9zZXJ2aWNlX2NvbXBvbmVudHMKCiMgRWNobyBvdXQgdGhlIGNvbmZpZyBz
dHJpbmcKIyBpbnRlcmZhY2U9IHwgYXBpX3BvcnQ9IHwgaXBfbWFzaz0KewoJcmVhZAoJQ1VSUkVO
VF9QUk9UT0NPTD0kUkVQTFkKCXJlYWQKCUNVUlJFTlRfRlFETj0kUkVQTFkKCXJlYWQKCUNVUlJF
TlRfUE9SVD0kUkVQTFkKCXJlYWQKCUNVUlJFTlRfSVBNQVNLPSRSRVBMWQp9IDwgJHtTRVJWSUNF
X0NPTVBPTkVOVFN9L3Jlc21vbl9jb25maWcuYXJyYXkKZWNobyAtZW4gInByb3RvY29sPSR7Q1VS
UkVOVF9QUk9UT0NPTH0gfCBpbnRlcmZhY2U9JHtDVVJSRU5UX0ZRRE59IHwgYXBpX3BvcnQ9JHtD
VVJSRU5UX1BPUlR9IHwgaXBfbWFzaz0ke0NVUlJFTlRfSVBNQVNLfSIKCiMgSXMgaHR0cGQgcnVu
bmluZz8KaWYgISBwcyAtZnUgYXBhY2hlIHwgZ3JlcCAtcSBodHRwZDsgdGhlbgoJZXhpdCAyCmZp
CgojIElzIHRoZSByZXNtb24gc2NyaXB0IHJ1bm5pbmc/CmlmICEgcHMgLWZ1IHJvb3QgfCBncmVw
IC12IGdyZXAgfCBncmVwIC1xIHJlc291cmNlX21vbml0b3Iuc2g7IHRoZW4KCWV4aXQgMgpmaQoK
ZXhpdCAw" | base64 -di - > "/bear/bin/.status_resmon.sh"; then
	rollback
fi
log_undo 'rm -f "/bear/bin/.status_resmon.sh"'
chown root:root "/bear/bin/.status_resmon.sh"
chmod 0550 "/bear/bin/.status_resmon.sh"
echo -e "Created file '/bear/bin/.status_resmon.sh'"
if ! echo "IyEvYmluL2Jhc2gKIwojICAgICAgICAgICAgIE5BTUU6IEJFQVIgSGFsdGVyCiMgICAgICAgIENP
UFlSSUdIVDogQ29weXJpZ2h0IChDKTIwMDgtMjAyMSBKb2V5IERvYmlhcwojICAgICAgICAgIFZF
UlNJT046IDEuMC4wCiMgICAgICAgQ1JFQVRFRCBCWTogSm9leSBEb2JpYXMgKGpvZXktZG9iaWFz
QGFzaWFjb210ZWsuY29tKQojICAgIENSRUFUSU9OIERBVEU6IDIwMTYtMDYtMDEKIyAgTEFTVCBV
UERBVEVEIEJZOiBKb2V5IERPYmlhcyAoam9leS1kb2JpYXNAYXNpYWNvbXRlay5jb20pCiMgICAg
ICBMQVNUIFVQREFURTogMjAyMS0wNS0wNQojICAgTk9URVM6IFN0b3BzIGFsbCBydW5uaW5nIEJF
QVIgY29tcG9uZW50cyBpcyB0aGUgY29ycmVjdCBvcmRlcgojClBBVEg9L2JpbjovdXNyL2Jpbjov
c2JpbjovdXNyL3NiaW4KClNIVVRET1dOWzBdPWFwcHNlcnZlcgpTSFVURE9XTlsxXT1kYXRhYmFz
ZQpTSFVURE9XTlsyXT1zaGFyZXBvaW50ClNIVVRET1dOWzNdPXJlc21vbgoKcm0gLWYgL2JlYXIv
dG1wL2hhbHRlZCAyPiYtCmZvciBYIGluICR7U0hVVERPV05bQF19OyBkbwoJaWYgWyAtZiAiL2V0
Yy9iZWFyLy4kWCIgXTsgdGhlbgoJCS9iZWFyL2Jpbi9zdG9wXyRYCgkJZWNobyAkWCA+PiAvYmVh
ci90bXAvaGFsdGVkCgkJaWYgWyAiJFgiID0gJ2FwcHNlcnZlcicgXTsgdGhlbgoJCQlraWxsIC05
ICQocHMgLWVvIHBpZCxjbWQgfCBncmVwIC1vUCAnXGQqIC4ram9iX21vbml0b3JcLnNoJyB8IGdy
ZXAgLW9QICdcZCsnKQoJCWZpCglmaQpkb25lCg==" | base64 -di - > "/bear/bin/halt_bear"; then
	rollback
fi
log_undo 'rm -f "/bear/bin/halt_bear"'
chown root:root "/bear/bin/halt_bear"
chmod 0550 "/bear/bin/halt_bear"
echo -e "Created file '/bear/bin/halt_bear'"
if ! echo "IyEvYmluL2Jhc2gKIwojICAgICAgICAgICAgIE5BTUU6IEJFQVIgUmVzdGFydGVyCiMgICAgICAg
IENPUFlSSUdIVDogQ29weXJpZ2h0IChDKTIwMDgtMjAxNiBKb2V5IERvYmlhcwojICAgICAgICAg
IFZFUlNJT046IDEuMC4wCiMgICAgICAgQ1JFQVRFRCBCWTogSm9leSBEb2JpYXMgKGpvZXktZG9i
aWFzQGFzaWFjb210ZWsuY29tKQojICAgIENSRUFUSU9OIERBVEU6IDIwMTctMDUtMjUKIyAgTEFT
VCBVUERBVEVEIEJZOiBKb2V5IERPYmlhcyAoam9leS1kb2JpYXNAYXNpYWNvbXRlay5jb20pCiMg
ICAgICBMQVNUIFVQREFURTogMjAxNy0wNS0yNQojICAgTk9URVM6IFJlc3RhcnRzIGJlYXIgaWYg
aXQgd2FzIGhhbHRlZCBicmluZyB1cCBjb21wb25lbnRzIGluIHRoZSBzYW1lIG9yZGVyLgojClBB
VEg9L2JpbjovdXNyL2Jpbjovc2JpbjovdXNyL3NiaW4KCmlmIFsgISAtZiAvYmVhci90bXAvaGFs
dGVkIF07IHRoZW4KCWVjaG8gJ0JFQVIgd2FzIG5vdCBoYWx0ZWQuIE5vIHJlc3RhcnQgcHJvZmls
ZSBhdmFpbGFibGUuJwoJZXhpdCAyCmZpCgpuPTEKd2hpbGUgcmVhZDsgZG8KCVNUQVJUVVBbJG5d
PSRSRVBMWQoJKChuKyspKQpkb25lIDwgL2JlYXIvdG1wL2hhbHRlZAoKKChuLS0pKQp3aGlsZSAo
KG4hPTApKTsgZG8KCS9iZWFyL2Jpbi9zdGFydF8ke1NUQVJUVVBbbl19CgkoKG4tLSkpCmRvbmU=" | base64 -di - > "/bear/bin/restart_bear"; then
	rollback
fi
log_undo 'rm -f "/bear/bin/restart_bear"'
chown root:root "/bear/bin/restart_bear"
chmod 0550 "/bear/bin/restart_bear"
echo -e "Created file '/bear/bin/restart_bear'"
if ! echo "IyEvYmluL2Jhc2gKIwojICAgICAgICAgICAgIE5BTUU6IFN0YXJ0IEJFQVIgUmVzb3VyY2UgTW9u
aXRvcgojICAgICAgICBDT1BZUklHSFQ6IENvcHlyaWdodCAoQykyMDA4LTIwMjEgSm9leSBEb2Jp
YXMKIyAgICAgICAgICBWRVJTSU9OOiAxLjAuMTAKIyAgICAgICBDUkVBVEVEIEJZOiBKb2V5IERv
YmlhcyAoam9leS1kb2JpYXNAYXNpYWNvbXRlay5jb20pCiMgICAgQ1JFQVRJT04gREFURTogMjAx
Ni0wNi0wMQojICBMQVNUIFVQREFURUQgQlk6IEpvZXkgRE9iaWFzIChqb2V5LWRvYmlhc0Bhc2lh
Y29tdGVrLmNvbSkKIyAgICAgIExBU1QgVVBEQVRFOiAyMDI1LTAzLTA4CgpQQVRIPS9iaW46L3Vz
ci9iaW46L3NiaW46L3Vzci9zYmluOi9iZWFyL2JpbgpURU1QPS9iZWFyL3RtcApVUExPQURTPS9i
ZWFyL3RlbXBfdXBsb2FkcwoKIyBNYWtlIHN1cmUgSFRUUEQgaXMgZW5hYmxlZCBhbmQgcnVubmlu
Zy4gSWYgbm90IGdldCBpdCB1cAppZiAhIHN5c3RlbWN0bCBsaXN0LXVuaXQtZmlsZXMgLXQgc2Vy
dmljZSB8IGdyZXAgLXFpRSAnaHR0cGQuc2VydmljZSAqZW5hYmxlZCc7IHRoZW4KCXN5c3RlbWN0
bCBlbmFibGUgaHR0cGQuc2VydmljZQoJc2xlZXAgMQpmaQppZiAhIHN5c3RlbWN0bCBzdGF0dXMg
aHR0cGQuc2VydmljZSB8IGdyZXAgLXFpRSAnYWN0aXZlOiBhY3RpdmUgXChydW5uaW5nXCknOyB0
aGVuCglzeXN0ZW1jdGwgc3RhcnQgaHR0cGQuc2VydmljZQoJc2xlZXAgMwpmaQoKIyBDbGVhbiB1
cCBzdGFsZSByZXNtb24gY2FwdHVyZSBmaWxlcyBvbGRlciB0aGFuIDMgbW9udGhzCmN1dG9mZj0k
KCgkKGRhdGUgJyslcycpLTcyNTc2MDApKQpscyAtbCAtLXRpbWUtc3R5bGU9JyslcycgJFVQTE9B
RFMvYmVhcl9yZXNfKiB8IHNlZCAtciAicy8gKy8gL2ciIHwgY3V0IC1kJyAnIC1mNiw3ID4gJFNX
QVAKd2hpbGUgcmVhZDsgZG8KCWlmIFsgLXogIiRSRVBMWSIgXTsgdGhlbgoJCWNvbnRpbnVlCglm
aQoJdGltZXN0YW1wPSQoZWNobyAkUkVQTFkgfCBjdXQgLWQnICcgLWYxKQoJZmlsZW5hbWU9JChl
Y2hvICRSRVBMWSB8IGN1dCAtZCcgJyAtZjIpCglpZiAoKHRpbWVzdGFtcDxjdXRvZmYpKTsgdGhl
bgoJCXJtIC1mICRVUExPQURTLyRmaWxlbmFtZQoJZmkKZG9uZSA8ICRTV0FQCnJtIC1mICRTV0FQ
IDI+Ji0KCiMgU3RhcnQgdGhlIHJlc21vbiBhcyBkZXZlbG9wZXIgKGlkIHNob3VsZCBoYXZlIHRo
ZSBTZXRVSUQvU2V0R0lEIG9uKQpmb3IgcGlkIGluICQocHMgLWVmIHwgZ3JlcCByZXNvdXJjZV9t
b25pdG9yLnNoIHwgZ3JlcCAtdiBncmVwIHwgc2VkIC1yICdzLyArLyAvZycgfCBjdXQgLWQnICcg
LWYyKTsgZG8KCWtpbGwgLTkgJHBpZApkb25lCi9iZWFyL3dlYl9hcHBsaWNhdGlvbnMvcmVzb3Vy
Y2VzL2JlYXIvc2VydmljZV9jb21wb25lbnRzL3Jlc291cmNlX21vbml0b3Iuc2gKZWNobyAtbiAi
JChkYXRlICcrJUYgJVQnKSIgPiAkVEVNUC9zdGFydHRpbWVfcmVzbW9uCmVjaG8gIkJFQVIgUmVz
b3VyY2UgTW9uaXRvciBzdGFydGVkIgo=" | base64 -di - > "/bear/bin/start_resmon"; then
	rollback
fi
log_undo 'rm -f "/bear/bin/start_resmon"'
chown root:root "/bear/bin/start_resmon"
chmod 0550 "/bear/bin/start_resmon"
echo -e "Created file '/bear/bin/start_resmon'"
if ! echo "IyEvYmluL2Jhc2gKIwojICAgICAgICAgICAgIE5BTUU6IFN0b3AgQkVBUiBSZXNvdXJjZSBNb25p
dG9yCiMgICAgICAgIENPUFlSSUdIVDogQ29weXJpZ2h0IChDKTIwMDgtMjAxNiBKb2V5IERvYmlh
cwojICAgICAgICAgIFZFUlNJT046IDEuMC45CiMgICAgICAgQ1JFQVRFRCBCWTogSm9leSBEb2Jp
YXMgKGpvZXktZG9iaWFzQGFzaWFjb210ZWsuY29tKQojICAgIENSRUFUSU9OIERBVEU6IDIwMTYt
MDYtMDEKIyAgTEFTVCBVUERBVEVEIEJZOiBKb2V5IERPYmlhcyAoam9leS1kb2JpYXNAYXNpYWNv
bXRlay5jb20pCiMgICAgICBMQVNUIFVQREFURTogMjAxNy0wOC0xMwoKZWNobyAiQkVBUiBSZXNv
dXJjZSBNb25pdG9yIGlzIG5vdCBhbGxvd2VkIHRvIGJlIHN0b3BwZWQuCkhvd2V2ZXIsIHlvdSBj
YW4gZGlzYWJsZSB0aGUgc2VydmljZSB0byBhdm9pZCBzdGFydHVwIGF0IG5leHQgYm9vdC4iCg==" | base64 -di - > "/bear/bin/stop_resmon"; then
	rollback
fi
log_undo 'rm -f "/bear/bin/stop_resmon"'
chown root:root "/bear/bin/stop_resmon"
chmod 0550 "/bear/bin/stop_resmon"
echo -e "Created file '/bear/bin/stop_resmon'"
if ! echo "IyBDSEFOR0VMT0cgRk9SIEJFQVIgUkVTT1VSQ0UgTU9OSVRPUgojCiMgS0VZCiMJKyA9IE5ldyBm
ZWF0dXJlCiMJLSA9IFJlbW92ZWQgZmVhdHVyZQojCSogPSBCdWcgZml4CgoxLjAuOC4xMDAxIDIw
MTYtMTItMDgKCgkrIEluaXRpYWwgYnVpbGQuCgoxLjAuOC4xMDAyIDIwMTYtMTItMTAKCgkqIE9y
aWdpbmFsIHN5c3RlbSBmaWxlcyBub3QgYmFja2VkIHVwIGNvcnJlY3RseSB3aGVuIGJ1aWxkaW5n
IHRoZSB1bmluc3RhbGxlci4KCjEuMC44LjEwMDUgMjAxNy0wOC0xMwoKCSsgUnVubmluZyBzdGF0
dXMgbm93IHJldHVybmVkIGJ5IHRoZSAnYmVhcl9zdGF0dXMnIGNvbW1hbmQuCgoKMS4wLjguMTAx
MCAyMDE4LTAzLTA1CgoJKyBBZGRlZCBzdXBwb3J0IGZvciBUTFMuCgoKMS4wLjguMTAxNSAyMDE4
LTExLTMwCgoJKiBGaXhlZCBtaXNzaW5nIHByb3RvY29sIGZyb20gJ2JlYXJfc3RhdHVzJyBvdXRw
dXQuCgoKMS4wLjguMTAxNyAyMDE5LTA4LTA3CgoJKiBGaXhlZCBkdXBsaWNhdGUgcHJvY2VzcyBz
dGFydHVwIG92ZXIgc3RhcnR1cCBzY2VuYXJpby4KCSogRml4ZWQgcG9zdCBzdGFydHVwIGJyb2tl
biBIVFRQRCBjb25maWd1cmF0aW9uLgoJKyBVcGdyYWRlZCBTV0FQSSAyLjEgc2VydmVyIHRvIHN1
cHBvcnQgZnVsbCBoYXNoIHN1aXRlIGFuZCBwbHVnZ2FibGUgYXV0aGVudGljYXRpb24uCgoxLjEu
MC4yIDIwMjAtMDEtMTUKCgkrIEVuaGFuY2VkIGxvZ2dpbmcgdG8gaW5jbHVkZSBjYXBhY2l0eSwg
bmV0d29yaywgc3RvcmFnZSBwZXJmb3JhbW5jZSwgQ1BVIGFuZCBtZW1vcnkgYWxsIGluIG5lYXIg
cmVhbC10aW1lLgoJKyBTZWxlY3RhYmxlIG9wdGlvbnMgdG8gcmVxdWVzdCBzcGVjaWZpYyBjb21w
b25lbnRzIHRvIGJlIHJldHJlaXZlZCBvdmVyIHRoZSBBUEkuCgkqIFJhY2UgY29uZGl0aW9uIGNv
dWxkIGNhdXNlIFJlc291cmNlIE1vbml0b3IgdG8gZmFpbCB0byBmZXRjaCBJUCBhZGRyZXNzZXMg
c29vbiBhZnRlciBzeXN0ZW0gYm9vdC4KCgoxLjIuMC4xIDIwMjEtMDUtMDgKCgkrIFVwZGF0ZWQg
Zm9yIEFDSEUgNC4wLgoKCjEuMi4wLjkgMjAyNS0wNi0wNQoKCSogVmFyaW91cyBpbXByb3ZlbWVu
dHMgdG8gY29udHJvbCBzY3JpcHRzLgo=" | base64 -di - > "/etc/bear/changelog_resmon.txt"; then
	rollback
fi
log_undo 'rm -f "/etc/bear/changelog_resmon.txt"'
chown root:root "/etc/bear/changelog_resmon.txt"
chmod 0644 "/etc/bear/changelog_resmon.txt"
echo -e "Created file '/etc/bear/changelog_resmon.txt'"
if ! echo "MTk3MC0wMS0wMSAwMDowMDowMA==" | base64 -di - > "/bear/tmp/stoptime_resmon"; then
	rollback
fi
log_undo 'rm -f "/bear/tmp/stoptime_resmon"'
chown root:root "/bear/tmp/stoptime_resmon"
chmod 0644 "/bear/tmp/stoptime_resmon"
echo -e "Created file '/bear/tmp/stoptime_resmon'"
if ! echo "CUJFQVIgUmVzb3VyY2UgTW9uaXRvcgoJVmVyc2lvbjogICAgICAxLjIuMC4xMwoJUmVsZWFzZSBk
YXRlOiAyMDI1LTA2LTI3CglDb3B5cmlnaHQ6ICAgIChDKTIwMDctMjAyNSBKb2V5IERvYmlhcw==" | base64 -di - > "/etc/bear/.resmon"; then
	rollback
fi
log_undo 'rm -f "/etc/bear/.resmon"'
chown root:root "/etc/bear/.resmon"
chmod 0644 "/etc/bear/.resmon"
echo -e "Created file '/etc/bear/.resmon'"
if ! echo "dGNwCTgwODIJQkVBUiBBcHBsaWNhdGlvbiByZXNtb24K" | base64 -di - > "/etc/bear/ports_resmon"; then
	rollback
fi
log_undo 'rm -f "/etc/bear/ports_resmon"'
chown root:root "/etc/bear/ports_resmon"
chmod 0644 "/etc/bear/ports_resmon"
echo -e "Created file '/etc/bear/ports_resmon'"
if ! echo "L2V0Yy9odHRwZAkJCQkJCQkJCQkJCQkJYmVhcl9nZW5lcmljCi9ldGMvcGhwLmluaQkJCQkJCQkJ
CQkJCQkJYmVhcl9nZW5lcmljCi9iZWFyL3dlYl9hcHBsaWNhdGlvbnMvY2dpCQkJCQkJCQkJCQli
ZWFyX3Jlc21vbgovYmVhci93ZWJfYXBwbGljYXRpb25zL2FwaQkJCQkJCQkJCQkJYmVhcl9yZXNt
b24KL2JlYXIvd2ViX2FwcGxpY2F0aW9ucy9yZXNvdXJjZXMvYmVhci9zZXJ2aWNlX2NvbXBvbmVu
dHMvaHR0cGQuY29uZgkJCWJlYXJfcmVzbW9uCi9iZWFyL3dlYl9hcHBsaWNhdGlvbnMvcmVzb3Vy
Y2VzL2JlYXIvc2VydmljZV9jb21wb25lbnRzL3Jlc291cmNlX21vbml0b3Iuc2gJYmVhcl9yZXNt
b24K" | base64 -di - > "/etc/bear/lists_resmon"; then
	rollback
fi
log_undo 'rm -f "/etc/bear/lists_resmon"'
chown root:root "/etc/bear/lists_resmon"
chmod 0644 "/etc/bear/lists_resmon"
echo -e "Created file '/etc/bear/lists_resmon'"
if ! echo "cmVzbW9u" | base64 -di - > "/tmp/bear_appname"; then
	rollback
fi
log_undo 'rm -f "/tmp/bear_appname"'
chown root:root "/tmp/bear_appname"
chmod 0440 "/tmp/bear_appname"
echo -e "Created file '/tmp/bear_appname'"
if ! echo "PD9waHAgLyoqKioqKioqKioqKioqKioqKioqKioqKiogQ0xBU1MgRklMRSAqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioKICAgICBGSUxFTkFNRTogc2hhcmVkX2xpYi9zd2FwaV8yLjFf
c2VydmVyLnBocAogICAgICAgIENMQVNTOiBTV0FQSSBTZXJ2ZXIgMi4xCiAgICBDT1BZUklHSFQ6
IENvcHlyaWdodCAoYykgMjAxMyBKb2V5IERvYmlhcwogICBDUkVBVEVEIEJZOiBKb2V5IERvYmlh
cwogICBDUkVBVEVEIE9OOiAyMDEzLTEwLTE2CiAgTU9ESUZJRUQgQlk6IEpvZXkgRG9iaWFzCiAg
TU9ESUZJRUQgT046IDIwMTktMDgtMDYKICBERVNDUklQVElPTjogVGhpcyBpcyB0aGUgZ2VuZXJp
YyBTV0FQSSAyLjEgc2VydmVyIGZvciB1c2Ugd2l0aCBhbnkgQVBJCiAgICAgICAgICAgICAgIGZ1
bmN0aW9ucyBvdGhlciB0aGFuIHJlc21vbi4gSXQgcHJvdmlkZXMgZ2VuZXJhbCBzZWN1cml0eSBp
bgoJCQkgICBsaW5lIHdpdGggdGhlIFNXQVBJIDIuMSBzcGVjaWZpY2F0aW9uLgoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKiovCgpjbGFzcyBzd2FwaXsKCglwdWJsaWMgc3RhdGljICR0b2tlbjsgCglwdWJs
aWMgc3RhdGljICRjX2tleTsKCXB1YmxpYyBzdGF0aWMgJHNfa2V5OwoJcHVibGljIHN0YXRpYyAk
ZGF0YTsKCXB1YmxpYyBzdGF0aWMgJGFyZ3M7CglwdWJsaWMgc3RhdGljICRzaWdfaW5fdHlwZTsK
CXB1YmxpYyBzdGF0aWMgJHNpZ19vdXRfdHlwZTsKCXB1YmxpYyBzdGF0aWMgJGxpY2Vuc2U7Cglw
dWJsaWMgc3RhdGljICRmdW5jdGlvbjsKCXB1YmxpYyBzdGF0aWMgJHRlbXA7CglwdWJsaWMgc3Rh
dGljICR2ZXJib3NlPUZBTFNFOwoJcHVibGljIHN0YXRpYyAkc2lnOwoJcHJpdmF0ZSBzdGF0aWMg
JGJ1ZmZlcj1OVUxMOwoJCgkvKiAtLSBNRVRIT0QgKHN0cikgZ2V0X2FycmF5KGFycmF5KGFyeS1w
dHIpLCBwcmVmaXgoc3RyKSkgLS0gUmV0dXJucyBhbiBhcnJheSBhcyBhIFVSTCBlbmNvZGVkIHN0
cmluZwoJLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tICovCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9hcnJheSgmJGFycmF5LCRwcmVmaXgp
ewoJCWZvcmVhY2goJGFycmF5IGFzICRhPT4mJGIpewoJCQlpZighaXNfYXJyYXkoJGIpKXsKCQkJ
CSRjW109InskcHJlZml4fVskYV09JGIiOwoJCQl9ZWxzZXsKCQkJCSRjW109c2VsZjo6Z2V0X2Fy
cmF5KCRiLCJ7JHByZWZpeH1bJGFdIik7CgkJCX0KCQl9CgkJcmV0dXJuIGltcGxvZGUoJyYnLCRj
KTsKCX0KCQoJLyogLS0gTUVUSE9EICh2b2lkKSBvdXRwdXQob3V0cHV0IHZhbHVlKHN0ciksIGxh
c3QgbGluZShib29sKSkgLS0gT3V0cHV0cyB0aGUgbGluZQoJLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCglwdWJsaWMgc3RhdGljIGZ1bmN0
aW9uIG91dHB1dCgkdmFsdWUsJGxhc3RfbGluZSl7CgkJaWYoaXNzZXQoc2VsZjo6JHNpZ19vdXRf
dHlwZSkpewoJCQlzZWxmOjokYnVmZmVyLj0kdmFsdWU7CgkJCWlmKCEkbGFzdF9saW5lKXsKCQkJ
CSRhPWhhc2goc3RydG9sb3dlcihzZWxmOjokc2lnX291dF90eXBlKSxzZWxmOjokYnVmZmVyLnNl
bGY6OiRzX2tleSk7CgkJCQllY2hvIHNlbGY6OiRidWZmZXIuJ1NJR3wnLnNlbGY6OiRzaWdfb3V0
X3R5cGUuInwkYVxuIjsKCQkJCWV4aXQ7CgkJCX0KCQl9ZWxzZXsKCQkJZWNobyAkdmFsdWU7CgkJ
CWlmKCEkbGFzdF9saW5lKXsKCQkJCWV4aXQ7CgkJCX0KCQl9Cgl9CgkKCS8qIC0tIE1FVEhPRCAo
dm9pZCkgYXBpX3JldHVybih2YWx1ZShtaXgtcHRyKVssIGVuY29kaW5nKHN0ciksIGxhc3QgbGlu
ZShib29sKV0pIC0tIERlc2NyaXB0aW9uCgktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gYXBpX3Jl
dHVybigmJHZhbHVlLCRjaGFyc2V0PSdVVEYtOCcsJGxhc3RfbGluZT1GQUxTRSl7CgkJaWYoaXNf
bnVsbCgkdmFsdWUpKXsKCQkJc2VsZjo6b3V0cHV0KCJOXG4iLCRsYXN0X2xpbmUpOwoJCX1lbHNl
aWYoaXNfYm9vbCgkdmFsdWUpKXsKCQkJaWYoISR2YWx1ZSl7CgkJCQkkdmFsdWU9MDsKCQkJfQoJ
CQlzZWxmOjpvdXRwdXQoIkJ8JHZhbHVlXG4iLCRsYXN0X2xpbmUpOwoJCX1lbHNlaWYoaXNfaW50
KCR2YWx1ZSkpewoJCQlzZWxmOjpvdXRwdXQoIkl8JHZhbHVlXG4iLCRsYXN0X2xpbmUpOwoJCX1l
bHNlaWYoaXNfZmxvYXQoJHZhbHVlKSl7CgkJCXNlbGY6Om91dHB1dCgiRnwkdmFsdWVcbiIsJGxh
c3RfbGluZSk7CgkJfWVsc2VpZihpc19zdHJpbmcoJHZhbHVlKSl7CgkJCWlmKCRjaGFyc2V0IT0n
VVRGLTgnKXsKCQkJCWlmKCEkdmFsdWU9bWJfY29udmVydF9lbmNvZGluZygkdmFsdWUsJGNoYXJz
ZXQsJ1VURi04JykpewoJCQkJCXNlbGY6OmNvbW1lbnQoIlN1cHBsaWVkIGVuY29kaW5nICckY2hh
cnNldCcgaXMgbm90IGEgdmFsaWQuIik7CgkJCQkJJGNoYXJzZXQ9J1VURi04JzsKCQkJCX0KCQkJ
fQoJCQlzZWxmOjpvdXRwdXQoIlN8JGNoYXJzZXR8Ii5zdHJfcmVwbGFjZShhcnJheSgiXHJcbiIs
IlxuIiksIlxyIiwkdmFsdWUpLiJcbiIsJGxhc3RfbGluZSk7CgkJfWVsc2VpZihpc19hcnJheSgk
dmFsdWUpKXsKCQkJcmVzZXQoJHZhbHVlKTsKCQkJaWYoaXNfc3RyaW5nKGtleSgkdmFsdWUpKSl7
CgkJCQlzZWxmOjpvdXRwdXQoIktcbiIsMSk7CgkJCQlmb3JlYWNoKCR2YWx1ZSBhcyAkZD0+JiRl
KXsKCQkJCQlzZWxmOjpvdXRwdXQoIiRkfCIsMSk7CgkJCQkJc2VsZjo6YXBpX3JldHVybigkZSwk
Y2hhcnNldCwxKTsKCQkJCX0KCQkJfWVsc2V7CgkJCQlzZWxmOjpvdXRwdXQoIkFcbiIsMSk7CgkJ
CQlmb3JlYWNoKCR2YWx1ZSBhcyAmJGQpewoJCQkJCXNlbGY6OmFwaV9yZXR1cm4oJGQsJGNoYXJz
ZXQsMSk7CgkJCQl9CgkJCX0KCQkJc2VsZjo6b3V0cHV0KCJDXG4iLCRsYXN0X2xpbmUpOwoJCX0K
CX0KCQoJLyogLS0gTUVUSE9EICh2b2lkKSBlcnJvcihlcnJvciBtZXNzYWdlKHN0cilbLCBlbmNv
ZGluZyhzdHIpXSkgLS0gT3V0cHV0cyBhbiBlcnJvciBtZXNzYWdlCgktLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCXB1YmxpYyBzdGF0aWMg
ZnVuY3Rpb24gZXJyb3IoJG1lc3NhZ2UsJGNoYXJzZXQ9J1VURi04Jyl7CgkJaWYoJGNoYXJzZXQh
PSdVVEYtOCcpewoJCQlpZighJG1lc3NhZ2U9bWJfY29udmVydF9lbmNvZGluZygkbWVzc2FnZSwk
Y2hhcnNldCwnVVRGLTgnKSl7CgkJCQlzZWxmOjpjb21tZW50KCJTdXBwbGllZCBlbmNvZGluZyAn
JGNoYXJzZXQnIGlzIG5vdCBhIHZhbGlkLiIpOwoJCQkJJGNoYXJzZXQ9J1VURi04JzsKCQkJfQoJ
CX0KCQlzZWxmOjpvdXRwdXQoIkV8JGNoYXJzZXR8Ii5zdHJfcmVwbGFjZShhcnJheSgiXHJcbiIs
IlxuIiksIlxyIiwkbWVzc2FnZSkuIlxuIixGQUxTRSk7Cgl9CgkKCS8qIC0tIE1FVEhPRCAodm9p
ZCkgY29tbWVudChjb21tZW50KHN0cikpIC0tIE91dHB1dHMgYSBjb21tZW50IGlmIHZlcmJvc2Ug
bW9kZQoJLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tICovCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGNvbW1lbnQoJG1lc3NhZ2UpewoJCWlmKHNl
bGY6OiR2ZXJib3NlKXsKCQkJc2VsZjo6b3V0cHV0KCcjICcuc3RyX3JlcGxhY2UoYXJyYXkoIlxy
XG4iLCJcbiIpLCJcbiMgIiwkbWVzc2FnZSkuIlxuIiwxKTsKCQl9Cgl9CgkKCS8qIC0tIE1FVEhP
RCAodm9pZCkgcmVzZXRfYXJyYXkoYXJyYXkoYXJ5LXB0cikpIC0tIFJlc2V0cyBhbiBhcnJheSBm
b3IgcmUtdXNlCgktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0gKi8KCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcmVzZXRfYXJyYXkoJiRhcnJheSl7
CgkJaWYoaXNfYXJyYXkoJGFycmF5KSl7CgkJCXJlc2V0KCRhcnJheSk7CgkJCWZvcmVhY2goJGFy
cmF5IGFzICYkYSl7CgkJCQlzd2FwaTo6cmVzZXRfYXJyYXkoJGEpOwoJCQl9CgkJCXJlc2V0KCRh
cnJheSk7CgkJfQoJfQp9CiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09IENMQVNTIEVORCA9PT0KCiMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAyMDE5LTA4
LTAyICMKIyBQYXJzZSByZXF1ZXN0IGZyb20gY2xpZW50IApzd2FwaTo6JGZ1bmN0aW9uPXN1YnN0
cigkX1NFUlZFUlsnU0NSSVBUX05BTUUnXSwxKTsKIyBJREVOVElGWSBDTElFTlQKLyoKVGhpcyBp
cyBvcHRpb25hbCwgaWYgJEFVVEhFTlRJQ0FURSBpcyBzZXQsIHdlIGV4cGVjdCBhdXRoZW50aWNh
dGlvbiB0byBoYXBwZW4gYW5kIGZvcgokQVVUSEVOVElDQVRFIHRvIGJlIHRoZSBuYW1lIG9mIGEg
ZnVuY3Rpb24gdGhhdCB0YWtlcyBhIHNpbmdsZSB0b2tlbiBhcyBhbiBhcmd1bWVudC4KQXV0aGVu
dGljYXRpb24gZmFpbHMgd2l0aCBhbiBleGl0IGFuZCBubyBvdXRwdXQgdW5kZXIgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zOgogICogJEFVVEhFTlRJQ0FURSBpcyBzZXQgYnV0IHRoZXJlIGlzIG5v
IHN1cHBsaWVkIHVzZXIgdG9rZW4uCiAgKiAkQVVUSEVOVElDQVRFIGlzIHNldCBidXQgcmV0dXJu
cyBGQUxTRS4KSWYgYXV0aGVudGljYXRpb24gc3VjY2VlZHMsIHRoZW4gd2UgZXhwZWN0IHRoZSBy
ZXNwb25zZSB0byBiZSBhbiBhcnJheSBjb250YWluaW5nIHRoZQpmb2xsb3dpbmcgaXRlbXMgd2hp
Y2ggYXJlIGFsbCBvcHRpb25hbDoKICBjbGllbnRfa2V5CiAgc2VydmVyX2tleQogIGxpY2Vuc2Vf
aG9sZGVyClRoZSBwcmVzZW5zZSBvZiBlaXRoZXIgb2YgdGhlc2Uga2V5cyBhbHNvIGluZGljYXRl
cyB3aGV0aGVyIGNsaWVudCBvciBzZXJ2ZXIgc2lnbmluZwppcyBzdXBwcm90ZWQgZm9yIHRoaXMg
QVBJLiBJZiB0aGV5IGV4aXN0LCB0aGVuIHNpZ25pbmcgaXMgc3RpbGwgb3B0aW9uYWwgYW5kCmNv
bnRyb2xsZWQgYnkgdGhlIGNsaWVudCBBUEkgcmVxdWVzdC4gQnV0IHdlIHRoZW4gZXhwZWN0IHNp
Z25hdHVyZXMgdG8gdmFsaWRhdGUKY29ycmVjdGx5LiAKKi8Kc3dhcGk6OiR0ZW1wPU5VTEw7Cmlm
KGlzc2V0KCRBVVRIRU5USUNBVEUpKXsKCWlmKGlzc2V0KCRfR0VUWyd0b2tlbiddKSl7CgkJc3dh
cGk6OiR0b2tlbj1zdHJpcHNsYXNoZXMoJF9HRVRbJ3Rva2VuJ10pOwoJCWlmKChzd2FwaTo6JHRl
bXA9JEFVVEhFTlRJQ0FURShzd2FwaTo6JHRva2VuKSkhPT1GQUxTRSl7CgkJCXN3YXBpOjokY19r
ZXk9c3dhcGk6OiR0ZW1wWydjbGllbnRfa2V5J107CgkJCXN3YXBpOjokc19rZXk9c3dhcGk6OiR0
ZW1wWydzZXJ2ZXJfa2V5J107CgkJCXN3YXBpOjokbGljZW5zZT1zd2FwaTo6JHRlbXBbJ2xpY2Vu
c2VfaG9sZGVyJ107CgkJfWVsc2V7CgkJCWV4aXQ7CgkJfQoJfWVsc2V7CgkJZXhpdDsKCX0KfQpz
d2FwaTo6JHRlbXA9TlVMTDsKIyBTRU5EIEhUVFAgSEVBREVSUyBBTkQgMVNUIE9VVFBVVAppbmlf
c2V0KCdkaXNwbGF5X2Vycm9ycycsJ09mZicpOwpoZWFkZXIoJ0NvbnRlbnQtdHlwZTogdGV4dC9w
bGFpbicpOwojIFNFVCBWRVJCT1NFL1FVSUVUIE1PREUKaWYoaXNzZXQoJF9HRVRbJ3ZlcmJvc2Un
XSkpewoJc3dhcGk6OiR2ZXJib3NlPVRSVUU7Cn0KIyBTRVQgT1VUUFVUIE1PREUKaWYoaXNzZXQo
JF9HRVRbJ3NpZ19yZXR1cm4nXSkpewoJaWYoIWluX2FycmF5KHN0cnRvbG93ZXIoJF9HRVRbJ3Np
Z19yZXR1cm4nXSksaGFzaF9hbGdvcygpLDEpKXsKCQllY2hvICdTSUctTk8tSEFTSCc7CgkJZXhp
dDsKCX0KCXN3YXBpOjokc2lnX291dF90eXBlPSRfR0VUWydzaWdfcmV0dXJuJ107Cn0KIyBTRVQg
SU5QVVQgTU9ERQppZihpc3NldCgkX0dFVFsnc2lnJ10pKXsKCWlmKCghaXNzZXQoJF9HRVRbJ3Np
Z19oYXNoJ10pKXx8KCFpbl9hcnJheShzdHJ0b2xvd2VyKCRfR0VUWydzaWdfaGFzaCddKSxoYXNo
X2FsZ29zKCksMSkpKXsKCQllY2hvICdTSUctTk8tSEFTSCc7CgkJZXhpdDsKCX0KCXN3YXBpOjok
c2lnPXN0cmlwc2xhc2hlcygkX0dFVFsnc2lnJ10pOwoJc3dhcGk6OiRzaWdfaW5fdHlwZT0kX0dF
VFsnc2lnX2hhc2gnXTsKfQojIEJST0FEQ0FTVCBGVU5DVElPTiBBTkQgVkVSU0lPTgpzd2FwaTo6
Y29tbWVudCgnU1dBUEkgMi4xIEZVTkNUSU9OOiAnLnN3YXBpOjokZnVuY3Rpb24pOwojIExPQUQg
REFUQQppZihpc3NldCgkX0dFVFsnZGF0YSddKSl7Cglzd2FwaTo6JGRhdGE9JF9HRVRbJ2RhdGEn
XTsKCXN3aXRjaCgkX0dFVFsnZGF0YSddKXsKCQljYXNlICcwJzoKCQljYXNlICdQT1NUJzoKCQkJ
c3dhcGk6OiR0ZW1wPSYkX1BPU1Q7CgkJCWJyZWFrOwoJCWNhc2UgJzEnOgoJCWNhc2UgJ0dFVCc6
CgkJCXN3YXBpOjokdGVtcD0mJF9HRVQ7CgkJCWJyZWFrOwoJCWRlZmF1bHQ6CgkJCXN3YXBpOjpl
cnJvcigiVW5rbm93biBkYXRhIGRlY2xhcmF0aW9uICd7JF9HRVRbJ2RhdGEnXX0nLiIpOwoJCQli
cmVhazsKCX0KfWVsc2V7Cglzd2FwaTo6JHRlbXA9JiRfUE9TVDsKfQokbj0xOwp3aGlsZShhcnJh
eV9rZXlfZXhpc3RzKCJuJG4iLHN3YXBpOjokdGVtcCkpewoJc3dhcGk6OiRhcmdzWyJuJG4iXT1z
d2FwaTo6JHRlbXBbIm4kbiJdOwoJJG4rKzsKfQpzd2FwaTo6JHRlbXA9TlVMTDsKIyBJRiBJTlBV
VCBTSUdOSU5HIENIRUNLIFNJR05BVFVSRQppZihpc3NldChzd2FwaTo6JHNpZ19pbl90eXBlKSl7
Cglzd2FwaTo6JHRlbXA9YXJyYXkoKTsKCWlmKGlzc2V0KHN3YXBpOjokZGF0YSkpewoJCXN3YXBp
OjokdGVtcFtdPSdkYXRhPScuc3dhcGk6OiRkYXRhOwoJfQoJaWYoaXNzZXQoc3dhcGk6OiR0b2tl
bikpewoJCXN3YXBpOjokdGVtcFtdPSd0b2tlbj0nLnN3YXBpOjokdG9rZW47Cgl9CglpZihzd2Fw
aTo6JHZlcmJvc2UpewoJCXN3YXBpOjokdGVtcFtdPSJ2ZXJib3NlPVRSVUUiOwoJfQoJaWYoaXNz
ZXQoc3dhcGk6OiRhcmdzKSl7CgkJJGE9Y291bnQoc3dhcGk6OiRhcmdzKTsKCQlmb3IoJG49MDsk
bjwkYTskbisrKXsKCQkJJHg9JG4rMTsKCQkJaWYoIWlzX2FycmF5KHN3YXBpOjokYXJnc1sibiR4
Il0pKXsKCQkJCXN3YXBpOjokdGVtcFtdPSJuJHg9Ii5zd2FwaTo6JGFyZ3NbIm4keCJdOwoJCQl9
ZWxzZXsKCQkJCXN3YXBpOjokdGVtcFtdPXN3YXBpOjpnZXRfYXJyYXkoc3dhcGk6OiRhcmdzWyJu
JHgiXSwibiR4Iik7CgkJCX0KCQl9Cgl9Cglzd2FwaTo6JHRlbXA9c3dhcGk6OiRmdW5jdGlvbi4n
PycuaW1wbG9kZSgnJicsc3dhcGk6OiR0ZW1wKS5zd2FwaTo6JGNfa2V5OwoJc3dhcGk6OiR0ZW1w
PWhhc2goc3RydG9sb3dlcihzd2FwaTo6JHNpZ19pbl90eXBlKSxzd2FwaTo6JHRlbXApOwoJaWYo
c3dhcGk6OiR0ZW1wIT1zd2FwaTo6JHNpZyl7CgkJZWNobyAnU0lHLUZBSUwnOwoJCWV4aXQ7Cgl9
Cglzd2FwaTo6cmVzZXRfYXJyYXkoc3dhcGk6OiRhcmdzKTsKCXN3YXBpOjokdGVtcD1OVUxMOwp9
CiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PSBTRUNUSU9OIEVORCA9PT0KPz4=" | base64 -di - > "/bear/web_applications/cgi/shared_lib/swapi_2.1_server.php"; then
	rollback
fi
log_undo 'rm -f "/bear/web_applications/cgi/shared_lib/swapi_2.1_server.php"'
chown developer:apache "/bear/web_applications/cgi/shared_lib/swapi_2.1_server.php"
chmod 0660 "/bear/web_applications/cgi/shared_lib/swapi_2.1_server.php"
echo -e "Created file '/bear/web_applications/cgi/shared_lib/swapi_2.1_server.php'"
if ! echo "PD9waHAgLyoqKioqKioqKioqKioqKioqKioqKioqKiogQ0xBU1MgRklMRSAqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioKICAgICBGSUxFTkFNRTogY2dpL3NoYXJlZF9saWIvYWNfZmxh
dF9maWxlX3BhcnNlci5waHAKICAgICAgICBDTEFTUzogYWNfZmxhdF9maWxlX3BhcnNlcgogICAg
Q09QWVJJR0hUOiBDb3B5cmlnaHQgKGMpIDIwMTkgSm9leSBEb2JpYXMKICAgQ1JFQVRFRCBCWTog
Sm9leSBEb2JpYXMKICAgQ1JFQVRFRCBPTjogMjAxOS0xMi0yNQogIE1PRElGSUVEIEJZOiBKb2V5
IERvYmlhcwogIE1PRElGSUVEIE9OOiAyMDIwLTAxLTEzCiAgREVTQ1JJUFRJT046IFRha2VzIHRo
ZSBwaW4gb3V0IG9mIHBhcnNpbmcgbGFyZ2UgZmxhdCBmaWxlcyBvZiBhbiBhcmJpdHJhcnkKICAg
ICAgICAgICAgICAgc2l6ZS4gUGFyc2luZyBsYXJnZSBmaWxlcyB0aGF0IG1heSBiZSBHaUIgaW4g
c2l6ZSByZXF1aXJlcyAKCQkJICAgY2FyZWZ1bCBtYW5hZ2VtZW50IHRvIGF2b2lkIGhpdHRpbmcg
bWVtb3J5IGFuZCBwZXJmb3JtYW5jZQoJCQkgICBpc3N1ZXMuIFRoZSBmbGF0X2ZpbGVfcGFyc2Vy
IGFsbG93cyBhIGRldmVsb3BlciB0byBpbmNyZW1lbnRhbGx5CgkJCSAgIGZldGNoIHJlY29yZHMg
ZnJvbSBhIGZpbGUgaW4gc2VxdWVuY2UgYW5kIGxpbWl0IHRoZSByZWFkIGJsb2NrCgkJCSAgIHNp
emUgdG8gYSBwcmVkZWZpbmVkIGFtb3VudC4gQnkgZGVmYXVsdCwgdGhhdCBpcyAxNktpQi4gCgkJ
CSAgICAgSG93ZXZlciwgdGhlIGRldmVsb3BlciBzaG91bGQgYWRqdXN0IHRoYXQgYWNjb3JkaW5n
IHRvIHRoZWlyCgkJCSAgIG5lZWRzLiBEZXZlbG9wZXJzIHNob3VsZCBiZWFyIGluIG1pbmQgdGhl
IGZvbGxvd2luZzoKCQkJICAgICAqIEJsb2NrIHNpemUgbXVzdCBiZSBhdCBsZWFzdCBsYXJnZXIg
dGhhbiB0aGUgbG9uZ2VzdCBleHBlY3RlZAoJCQkJICAgcmVjb3JkIHNpemUuCgkJCQkgKiBMYXJn
ZSBibG9jayBzaXplcyBpbiBNaUIgaGF2ZSBiZXR0ZXIgcGVyZm9ybWFuY2UgYnV0IG9idmlvdXNs
eQoJCQkJICAgdXNlIG1vcmUgbWVtb3J5LiBTbyB0aGlzIGlzIGdyZWF0IGZvciBsb3cgdHJhZmZp
YyBoaWdoCgkJCQkgICBwZXJmb3JtYW5jZSBwcm9jZXNzaW5nIG9mIGxhcmdlIGZpbGVzLCBidXQg
bm90IGdvb2QgZm9yCgkJCQkgICBhbnl0aGluZyB0aGF0IG5lZWRzIHRvIGJlIGxpZ2h0d2VpZ2h0
LAoJCQkJICogU21hbGwgYmxvY2sgc2l6ZXMgKGVzcGVjaWFsbHkgdGhvc2UgbGVzcyB0aGFuIDFL
aUIpIGluY3VyIGEKCQkJCSAgIGxvdCBvZiByZWFkIG9wZXJhdGF0aW9ucy4gQnV0IHRoZXkgZ3Jl
YXRseSBoZWxwIGxpbWl0IHRoZQoJCQkJICAgbWVtb3J5IGZvb3RwcmludC4gVGhlIGxpbWl0aW5n
IGZhY3RvciBoZXJlIG1heSBiZSBleGVjdXRpb24KCQkJCSAgIHRpbWUuCgkJCQkgKiBCZXN0IHBl
cmZvcm1hbmNlIHdvdWxkIGJlIGZyb20gYmxvY2sgc2l6ZXMgZGl2aXNpYmxlIGJ5IHRoZQoJCQkJ
ICAgdW5kZXJseWluZyBmaWxlIHN5c3RlbSBibG9jayBzaXplLgoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KiovCgpjbGFzcyBhY19mbGF0X2ZpbGVfcGFyc2VyIHsKCQoJcHVibGljICRjb3VudD0wOwkJCQkJ
CS8vIChpbnQpIEN1cnJlbnQgbnVtYmVyIG9mIHJlY29yZHMgcHJvY2Vzc2VkLgoJCglwcm90ZWN0
ZWQgJGJsb2NrX3NpemU7CQkJCQkvLyAoaW50KSBEZWZhdWx0IGJsb2NrIHNpemUgb2YgMTZLaUIK
CXByb3RlY3RlZCAkZGVsaW1pdGVyOwkJCQkJLy8gKHN0cikgRGVmYXVsdCByZWNvcmQgZGVsaW1p
dGVyIGFzIGEgTEYgYnl0ZS4KCXByb3RlY3RlZCAkaGVhZGVyX2xpbmVzOwkJCQkvLyAoaW50KSBO
dW1iZXIgb2YgbGluZXMgaW4gdGhlIGZpbGUgdG8gaWdub3JlIGFzIGEgaGVhZGVyLgoJcHJvdGVj
dGVkICRmaDsJCQkJCQkJLy8gKGludCkgRmlsZSBoYW5kbGUKCXByb3RlY3RlZCAkYmxvY2s7CQkJ
CQkJLy8gKGFyeSkgQ3VycmVudCBibG9jayBpbiBtZW1vcnkgYXMgYW4gYXJyYXkgb2YgcmVjb3Jk
cyBpbiByZXZlcnNlIG9yZGVyCglwcm90ZWN0ZWQgJGZyYWdtZW50PScnOwkJCQkJLy8gKHN0cikg
SW5jb21wbGV0ZSByZWNvcmQgZnJhZ21lbnQgYXQgdGhlIGVuZCBvZiBhIGJsb2NrCglwcm90ZWN0
ZWQgJGxlbmd0aDsJCQkJCQkvLyAoaW50KSBUaGUgbGVuZ3RoIGluIGJ5dGVzIG9mIHRoZSBkZWxp
bWl0ZXIgc3RyaW5nCglwcm90ZWN0ZWQgJGZpbGVuYW1lOwkJCQkJLy8gKHN0cikgVGhlIGN1cnJl
bnQgZmlsZW5hbWUKCXByb3RlY3RlZCAkcmVjb3JkX2hlYWRlcl9saW5lcz0wOwkJLy8gKGludCkg
TnVtYmVyIG9mIGxpbmVzIGluIGEgcmVjb3JkIHRoYXQgYXJlIGlnbm9yZWQgYXMgYSBoZWFkZXIK
CXByb3RlY3RlZCAkcmVjb3JkX2hlYWRlcl9uZXdsaW5lPSJcbiI7CS8vIChzdHIpIFRoZSBsaW5l
IHRlcm1pbmF0aW9ucyB1c2VkIGZvciByZWNvcmQgaGVhZGVycwoJcHJvdGVjdGVkICRyZWNvcmRf
aGVhZGVyX25ld2xpbmVfbGVuZ3RoPTE7CS8vIChzdHIpIFRoZSBsZW5ndGggb2YgdGhlIGxpbmUg
dGVybWluYXRpb24gaW4gdGhlIHJlY29yZCBoZWFkZXIKCXByb3RlY3RlZCAkcmVjb3JkX2ZpZWxk
X2RlbGltaXRlcj0nLCc7CS8vIChzdHIpIFRoZSBmaWVsZCBkZWxpbWl0ZXJzIChDU1YgYnkgZGVm
YXVsdCkKCXByb3RlY3RlZCAkcmVjb3JkX2tleV9kZWxpbWl0ZXI7CQkvLyAoc3RyKSBUaGUgZGVs
aW1pdGVyIGJldHdlZW4ga2V5cyBhbmQgdmFsdWVzIGlmIHVzZWQuCglwcm90ZWN0ZWQgJHJlY29y
ZF9rZXlzOwkJCQkJLy8gKGFyeSkgVGhlIGtleSBuYW1lcyBmb3IgZmllbGRzLiAKCXByb3RlY3Rl
ZCAkaWdub3JlX2VtcHR5X3JlY29yZHM9RkFMU0U7CS8vIChib29sKSBXaGV0aGVyIGNvbnNlY3V0
aXZlIGZpZWxkIGRlbGltaXRlcnMgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgbXVsdGlwbGUgZmllbGRz
IG9yIG5vdAoJcHJvdGVjdGVkICR0cmltX3doaXRlc3BhY2U9RkFMU0U7CQkvLyAoYm9vbCkgV2hl
dGhlciB0byB0cmltIG9yIHByZXNlcnZlIHdoaXRlc3BhY2UgYXQgdGhlIHN0YXJ0IGFuZCBlbmQg
b2YgYSBmaWVsZCB2YWx1ZQoJcHJvdGVjdGVkICRncm91cF9oZWFkZXJfbGluZXM9MDsJCS8vIChp
bnQpIE51bWJlciBvZiBsaW5lcyBpbiBhIGdyb3VwIHRoYXQgYXJlIGlnbm9yZWQgYXMgYSBoZWFk
ZXIKCXByb3RlY3RlZCAkZ3JvdXBfaGVhZGVyX25ld2xpbmU9IlxuIjsJLy8gKHN0cikgVGhlIGxp
bmUgdGVybWluYXRpb25zIHVzZWQgZm9yIGdyb3VwIGhlYWRlcnMKCXByb3RlY3RlZCAkZ3JvdXBf
aGVhZGVyX25ld2xpbmVfbGVuZ3RoPTE7CS8vIChzdHIpIFRoZSBsZW5ndGggb2YgdGhlIGxpbmUg
dGVybWluYXRpb24gaW4gdGhlIGdyb3VwIGhlYWRlcgoJcHJvdGVjdGVkICRncm91cF9kZWxpbWl0
ZXI9IlxuIjsJCS8vIChzdHIpIFRoZSBmaWVsZCBncm91cCBkZWxpbWl0ZXIgKExGIGJ5IGRlZmF1
bHQpLgoJcHJvdGVjdGVkICRncm91cF9pZF9oZWFkZXJfbGluZTsJCS8vIChpbnQpIFRoZSBsaW5l
IGluIHRoZSBoZWFkZXIgdGhhdCBhIHBvdGVudGlhbCBncm91cCBJRCBpcyBvbgoJcHJvdGVjdGVk
ICRyZWNvcmRfaWRfaGVhZGVyX2xpbmU7CQkvLyAoaW50KSBUaGUgbGluZSBpbiB0aGUgaGVhZGVy
IHRoYXQgYSBwb3RlbnRpYWwgcmVjb3JkIElEIGlzIG9uCglwcm90ZWN0ZWQgJGdyb3VwX2lkX2lu
ZGV4OwkJCQkvLyAoaW50KSBUaGUgaW5kZXggb2YgdGhlIGdyb3VwIElEIHN0cmluZyBmcm9tIHRo
ZSBoZWFkZXIKCXByb3RlY3RlZCAkcmVjb3JkX2lkX2luZGV4OwkJCQkvLyAoaW50KSBUaGUgaW5k
ZXggb2YgdGhlIHJlY29yZCBJRCBzdHJpbmcgZnJvbSB0aGUgaGVhZGVyCglwcm90ZWN0ZWQgJGdy
b3VwX2lkX2RlbGltaXRlcjsJCQkvLyAoc3RyKSBUaGUgZGVsaW1pdGVyIG9mIHZhbHVlcyBpbiB0
aGUgaGVhZGVyIGZyb20gd2hpY2ggdG8gZXh0cmFjdCBhIGdyb3VwIElELgoJcHJvdGVjdGVkICRy
ZWNvcmRfaWRfZGVsaW1pdGVyOwkJCS8vIChzdHIpIFRoZSBkZWxpbWl0ZXIgb2YgdmFsdWVzIGlu
IHRoZSBoZWFkZXIgZnJvbSB3aGljaCB0byBleHRyYWN0IGEgcmVjb3JkIElELgoJcHJvdGVjdGVk
ICRpZF9maWVsZDsJCQkJCS8vIChpbnQpIFRoZSBpbmRleCBvZiBhIHJlY29yZCBmaWVsZCB0byBv
bWl0IGZyb20gdGhlIHJlY29yZCBhbmQgdXNlIGFzIGEgcmVjb3JkIElEIGluc3RlYWQuCglwcm90
ZWN0ZWQgJGdyb3VwX2lkX2hlYWRlcl9vZmZzZXQ9TlVMTDsJLy8gKGludCkgVGhlIG9mZnNldCBh
cyAkZ3JvdXBfaWRfaGVhZGVyX2xpbmUgLTIuCglwcm90ZWN0ZWQgJHJlY29yZF9pZF9oZWFkZXJf
b2Zmc2V0PU5VTEw7Ly8gKGludCkgVGhlIG9mZnNldCBhcyAkcmVjb3JkX2lkX2hlYWRlcl9saW5l
IC0yLgoJcHJvdGVjdGVkICRyZWNvcmRfaWRfb2Zmc2V0PU5VTEw7CQkvLyAoaW50KSBUaGUgYXJy
YXkgbGltaXQgb2Zmc2V0IGZvciBnZXR0aW5nIElEcyBmcm9tIGEgcmVjb3JkIGhlYWRlci4KCXBy
b3RlY3RlZCAkZ3JvdXBfaWRfb2Zmc2V0PU5VTEw7CQkvLyAoaW50KSBUaGUgYXJyYXkgbGltaXQg
b2Zmc2V0IGZvciBnZXR0aW5nIElEcyBmcm9tIGEgZ3JvdXAgaGVhZGVyLgoJcHJvdGVjdGVkICRy
ZWNvcmRfbGVuZ3RoPTE7CQkJCS8vIChpbnQpIFRoZSBsZW5ndGggb2YgbGluZXMgaW4gYSByZWNv
cmQgaW5jbHVkaW5nIGFueSBoZWFkZXIuCgkKCS8qIC0tIE1FVEhPRCAodm9pZCkgX19jb25zdHJ1
Y3QoZmlsZW5hbWUoc3RyKVssIGJsb2NrIHNpemUoaW50KSwgcmVjb3JkIGRlbGltaXRlcihzdHIp
XSkgLS0gT3BlbnMgdGhlIGZpbGUgaGFuZGxlIGFuZCBkZWZpbmVkIGJsb2NrIHNpemUgYW5kIGRl
bGltaXRlci4KCS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLSAqLwoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRmaWxlbmFtZSwkYmxvY2tf
c2l6ZT0xNjM4NCwkZGVsaW1pdGVyPSJcbiIsJGhlYWRlcl9saW5lcz0wKXsKCQkkdGhpcy0+Zmg9
Zm9wZW4oJGZpbGVuYW1lLCdyJykgb3IKCQkJZGllKCJGaWxlICckZmlsZW5hbWUnIHdhcyBub3Qg
Zm91bmQgaW4gYWNfZmxhdF9maWxlX3BhcnNlci0+X19jb25zdHJ1Y3QoKS4iKTsKCQkkdGhpcy0+
YmxvY2tfc2l6ZT0oaW50KSRibG9ja19zaXplOwoJCSR0aGlzLT5ibG9jaz1hcnJheSgpOwoJCSR0
aGlzLT5kZWxpbWl0ZXI9KHN0cmluZykkZGVsaW1pdGVyOwoJCSR0aGlzLT5oZWFkZXJfbGluZXM9
KGludCkkaGVhZGVyX2xpbmVzOwoJCSR0aGlzLT5sZW5ndGg9c3RybGVuKCR0aGlzLT5kZWxpbWl0
ZXIpOwoJCSR0aGlzLT5sZW5ndGgtPSgkdGhpcy0+bGVuZ3RoKjIpOyAvLyBnaXZlcyB1cyBhIG5l
Z2F0aXZlIG9mZnNldCBmb3IgdGhlIGVuZCBvZiBhIGJsb2NrLgoJCSR0aGlzLT5maWxlbmFtZT0k
ZmlsZW5hbWU7CgkJJHRoaXMtPnJlYWRfZmlyc3RfYmxvY2soKTsKCX0KCQoJLyogLS0gTUVUSE9E
ICh2b2lkKSBfX2Rlc3RydWN0KCkgLS0gQ2xvc2VzIHRoZSBmaWxlIGhhbmRsZS4KCS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoJcHVibGlj
IGZ1bmN0aW9uIF9fZGVzdHJ1Y3QoKXsKCQlmY2xvc2UoJHRoaXMtPmZoKTsJCgl9CgkKCS8qIC0t
IE1FVEhPRCAodm9pZCkgcmVzZXRfcGFyc2luZ19ydWxlc2V0KCkgLS0gUmVzZXN0cyB0aGUgcGFy
c2luZyBydWxlc2V0IHRvIGRlZmF1bHQuCgktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCXByb3RlY3RlZCBmdW5jdGlvbiByZXNldF9wYXJz
aW5nX3J1bGVzZXQoKXsKCQkkdGhpcy0+cmVjb3JkX2hlYWRlcl9uZXdsaW5lPSJcbiI7CgkJJHRo
aXMtPnJlY29yZF9oZWFkZXJfbmV3bGluZV9sZW5ndGg9MTsKCQkkdGhpcy0+cmVjb3JkX2ZpZWxk
X2RlbGltaXRlcj0nLCc7CQoJCSR0aGlzLT5yZWNvcmRfa2V5X2RlbGltaXRlcj1OVUxMOwoJCSR0
aGlzLT5yZWNvcmRfa2V5cz1OVUxMOwkKCQkkdGhpcy0+aWdub3JlX2VtcHR5X3JlY29yZHM9RkFM
U0U7CgkJJHRoaXMtPnRyaW1fd2hpdGVzcGFjZT1GQUxTRTsJCgkJJHRoaXMtPmdyb3VwX2hlYWRl
cl9saW5lcz0wOwkKCQkkdGhpcy0+Z3JvdXBfaGVhZGVyX25ld2xpbmU9IlxuIjsKCQkkdGhpcy0+
Z3JvdXBfaGVhZGVyX25ld2xpbmVfbGVuZ3RoPTE7CQoJCSR0aGlzLT5ncm91cF9kZWxpbWl0ZXI9
IlxuIjsKCQkkdGhpcy0+Z3JvdXBfaWRfaGVhZGVyX2xpbmU9TlVMTDsKCQkkdGhpcy0+Z3JvdXBf
aWRfaGVhZGVyX29mZnNldD1OVUxMOwoJCSR0aGlzLT5yZWNvcmRfaWRfaGVhZGVyX2xpbmU9TlVM
TDsKCQkkdGhpcy0+cmVjb3JkX2lkX2hlYWRlcl9vZmZzZXQ9TlVMTDsKCQkkdGhpcy0+Z3JvdXBf
aWRfaW5kZXg9TlVMTDsKCQkkdGhpcy0+cmVjb3JkX2lkX2luZGV4PU5VTEw7CgkJJHRoaXMtPmdy
b3VwX2lkX2RlbGltaXRlcj1OVUxMOwoJCSR0aGlzLT5yZWNvcmRfaWRfZGVsaW1pdGVyPU5VTEw7
CgkJJHRoaXMtPmlkX2ZpZWxkPU5VTEw7CgkJJHRoaXMtPnJlY29yZF9sZW5ndGg9MTsKCQkkdGhp
cy0+cmVjb3JkX2lkX29mZnNldD1OVUxMOwoJCSR0aGlzLT5ncm91cF9pZF9vZmZzZXQ9TlVMTDsK
CX0KCQoJLyogLS0gTUVUSE9EICh2b2lkKSByZXNldCgpIC0tIFJld2luZHMgdGhlIHBhcnNlciB0
byB0aGUgc3RhcnQgb2YgdGhlIGZpbGUuCgktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCXB1YmxpYyBmdW5jdGlvbiByZXNldCgpewoJCSR0
aGlzLT5ibG9jaz1hcnJheSgpOwoJCSR0aGlzLT5jb3VudD0wOwoJCSR0aGlzLT5mcmFnbWVudD0n
JzsKCQkkdGhpcy0+cmVzZXRfcGFyc2luZ19ydWxlc2V0KCk7CgkJJHRoaXMtPnJlYWRfZmlyc3Rf
YmxvY2soKTsJCQoJfQoJCgkvKiAtLSBNRVRIT0QgKG1peCkgZ2V0X3JlY29yZChbbnVtYmVyIG9m
IHJlY29yZHMoaW50KSwgZ2V0IGdyb3Vwcyhib29sKSwgZ2V0IGZpZWxkcyhib29sKV0pIC0tIAoJ
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCglS
ZXR1cm5zIG9uZSBvciBtb3JlIHJlY29yZHMgdW50aWwgRkFMU0UuIEFkZGl0aW9uYWwgZmxhZ3MK
CWNvbnRyb2wgdGhlIGdyYW51bGFyaXR5IG9mIHRoZSBwYXJzaW5nIGFzIGZvbGxvd3M6CgkgICog
Z3JvdXBzCgkgICAgRWFjaCByZWNvcmQgaXMgdW5kZXJzdG9vZCB0byBjb250YWluIGEgY29sbGVj
dGlvbiBvZiByZWNvcmRzLgoJCVRoZXNlIGNhbiBiZSBicm9rZW4gdXAgYWNjb3JkaW5nIHRvIHRo
ZSBncm91cCBkZWxpbXRlci4KCSAgKiBmaWVsZHMKCSAgICBGdXJ0aGVyIGJyZWFrcyBkb3duIGVh
Y2ggcmVjb3JkIGludG8gYW4gYXJyYXkgb2YgdmFsdWVzLiAKCQlJZiB0aGUgdmFsdWVzIGhhdmUg
bmFtZXMsIHRob3NlIHdpbGwgYmUgIHVzZWQgYXMgdGhlIGFycmF5IAoJCWtleXMuIAoJCSAgQSBy
ZWNvcmQgY2FuIGNvbnNpc3Qgb2YgYSB2YXJpZXR5IG9mIGNvbXBvdGVudHMgc28gdG8gYmUKCQlm
bGV4aWJsZSwgdGhlIGRldmVsb3BlciBzaG91bGQgdXNlIHRoZSBzZXRfcmVjb3JkXyooKSBkZWZp
bml0aW9uCgkgICAgbWV0aG9kcyB3aGljaCB0ZWxsIHRoZSBwYXJzZSBob3cgdG8gcmVhZCB0aGUg
cmVjb3JkLgoJLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tICovCglwdWJsaWMgZnVuY3Rpb24gZ2V0X3JlY29yZCgkbnVtX3JlY29yZHM9MSwkZ3Jv
dXBzPUZBTFNFLCRmaWVsZHM9RkFMU0UpewoJCWlmKGdldHR5cGUoJG51bV9yZWNvcmRzKSE9PSdp
bnRlZ2VyJyl7CgkJCWRpZSgnYWNfZmxhdF9maWxlX3BhcnNlci0+Z2V0X3JlY29yZCgpIGV4cGVj
dHMgYW4gb3B0aW9uYWwgaW50ZWdlciB0byBiZSBwYXNzZWQgdG8gbnVtX3JlY29yZHMuJyk7CgkJ
fQoJCXN0YXRpYyAkYzsKCQlpZighaXNzZXQoJGMpKXsKCQkJJGM9MDsKCQl9CgkJZm9yKCRuPTA7
JG48JG51bV9yZWNvcmRzOyRuKyspewoJCQlpZigoJGI9YXJyYXlfcG9wKCR0aGlzLT5ibG9jaykp
IT09TlVMTCl7CgkJCQlpZigkZ3JvdXBzKXsKCQkJCQkkaWQ9JHRoaXMtPmV4dHJhY3RfZ3JvdXBz
KCRiLCRmaWVsZHMpOwoJCQkJfWVsc2VpZigkZmllbGRzKXsKCQkJCQkkaWQ9JHRoaXMtPmV4dHJh
Y3RfZmllbGRzKCRiKTsKCQkJCX0KCQkJCWlmKGlzc2V0KCRpZCkpewoJCQkJCSRhWyRpZF09JGI7
CgkJCQl9ZWxzZXsKCQkJCQkkYVtdPSRiOwoJCQkJfQoJCQkJJGMrKzsKCQkJfWVsc2VpZigkdGhp
cy0+cmVhZF9ibG9jaygpKXsKCQkJCSRuLS07IC8vIGNhdXNlcyB1cyB0byByZWRvIHRoaXMgbG9v
cCBpdGVyYXRpb24gd2l0aCBhIGZyZXNoIGJsb2NrCgkJCX1lbHNlaWYoIWlzc2V0KCRhKSl7IC8v
IHdlIGhpdCB0aGUgZW5kIG9mIHRoZSBmaWxlIHdpdGhvdXQgcmVjb3JkcwoJCQkJcmV0dXJuIEZB
TFNFOwoJCQl9ZWxzZXsgLy8gd2UgaGl0IHRoZSBlbmQgb2YgdGhlIGZpbGUgYnV0IGhhdmUgcmVj
b3JkcyB0byByZXR1cm4KCQkJCSRuPSRudW1fcmVjb3JkczsgCgkJCX0KCQl9CgkJJHRoaXMtPmNv
dW50PSRjOwoJCWlmKCRudW1fcmVjb3Jkcz09PTEpewoJCQlyZXR1cm4gJGFbMF07CgkJfWVsc2V7
CgkJCXJldHVybiAkYTsKCQl9Cgl9CgkKCS8qIC0tIE1FVEhPRCAoc3RyaW5nKSBleHRyYWN0X2dy
b3VwcyhyZWNvcmQoc3RyLXB0ciksIGdldCBmaWVsZHMoYm9vbCkpIC0tIENvbnZlcnRzIGEgcmVj
b3JkIGdyb3VwIHRvIHJlY29yZHMKCS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoJcHVibGljIGZ1bmN0aW9uIGV4dHJhY3RfZ3JvdXBzKCYk
cmVjb3JkLCRmaWVsZHMpewoJCS8vIHN0cmlwIHBlciBncm91cCBoZWFkZXJzCgkJaWYoJHRoaXMt
Pmdyb3VwX2hlYWRlcl9saW5lcz4wKXsKCQkJJGM9MDsKCQkJZm9yKCRuPTA7JG48JHRoaXMtPmdy
b3VwX2hlYWRlcl9saW5lczskbisrKXsKCQkJCSRjPXN0cnBvcygkcmVjb3JkLCR0aGlzLT5ncm91
cF9oZWFkZXJfbmV3bGluZSwkYykrJHRoaXMtPmdyb3VwX2hlYWRlcl9uZXdsaW5lX2xlbmd0aDsK
CQkJfQoJCQkvLyBpZiBpbmRpY2F0ZWQsIGdldCB0aGUgZ3JvdXAgaWQKCQkJaWYoaXNzZXQoJHRo
aXMtPmdyb3VwX2lkX2hlYWRlcl9saW5lKSl7CgkJCQkkYT1leHBsb2RlKCR0aGlzLT5ncm91cF9o
ZWFkZXJfbmV3bGluZSxzdWJzdHIoJHJlY29yZCwwLCRjKSwkdGhpcy0+Z3JvdXBfaWRfaGVhZGVy
X2xpbmUpOwoJCQkJaWYoIWlzc2V0KCR0aGlzLT5ncm91cF9pZF9pbmRleCkpeyAvLyBqdXN0IGdl
dCB0aGUgd2hvbGUgbGluZSBhcyB0aGUgSUQKCQkJCQkkYT0kYVskdGhpcy0+Z3JvdXBfaWRfaGVh
ZGVyX29mZnNldF07CgkJCQl9ZWxzZXsgLy8gZmV0Y2ggYSBwb3J0aW9uIG9mIHRoZSBsaW5lIGFz
IHRoZSBJRAoJCQkJCSRhPWV4cGxvZGUoJHRoaXMtPmdyb3VwX2lkX2RlbGltaXRlciwkYVskdGhp
cy0+Z3JvdXBfaWRfaGVhZGVyX29mZnNldF0sJHRoaXMtPmdyb3VwX2lkX29mZnNldCk7CgkJCQkJ
JGE9dHJpbSgkYVskdGhpcy0+Z3JvdXBfaWRfaW5kZXhdKTsKCQkJCX0KCQkJfQoJCQkkcmVjb3Jk
PXN1YnN0cigkcmVjb3JkLCRjKTsKCQl9CgkJLy8gYnJlYWsgZ3JvdXAgaW50byByZWNvcmRzCgkJ
aWYoJHRoaXMtPnJlY29yZF9oZWFkZXJfbGluZXM+MCl7IC8vIERlYWwgd2l0aCByZWNvcmRzIHdp
dGggaGVhZGVycwoJCQkkYz1leHBsb2RlKCR0aGlzLT5ncm91cF9kZWxpbWl0ZXIsJHJlY29yZCk7
CgkJCSRpPTA7IC8vIGludGVybmFsIHJlY29yZCBpbmRleAoJCQkkbj0wOyAvLyByZWNvcmQgaW5k
ZXgKCQkJJHA9Y291bnQoJGMpOyAvLyB0b3RhbCBncm91cCBsaW5lcyB0byBwYXJzZQoJCQlmb3Io
JGw9MDskbDwkcDskbCsrKXsKCQkJCWlmKCRpPT09MCl7CgkJCQkJJGJbJG5dPScnOwoJCQkJfQoJ
CQkJJGJbJG5dLj0kY1skbF07CgkJCQkkaSsrOwoJCQkJaWYoJGk9PT0kdGhpcy0+cmVjb3JkX2xl
bmd0aCl7CgkJCQkJJGk9MDsKCQkJCQkkbisrOwoJCQkJfWVsc2V7CgkJCQkJJGJbJG5dLj0kdGhp
cy0+Z3JvdXBfZGVsaW1pdGVyOwoJCQkJfQoJCQl9CgkJCSRyZWNvcmQ9JGI7CgkJCSRiPU5VTEw7
CgkJfWVsc2V7IC8vIHNpbXBsZSBkZWxpbWl0aW5nIGJyZWFrZG93bgoJCQkkcmVjb3JkPWV4cGxv
ZGUoJHRoaXMtPmdyb3VwX2RlbGltaXRlciwkcmVjb3JkKTsKCQl9CgkJCgkJLy8gZXh0cmFjdCBm
aWVsZHMgaWYgcmVxdWVzdGVkCgkJaWYoJGZpZWxkcyl7CgkJCWZvcmVhY2goJHJlY29yZCBhcyAm
JGQpewoJCQkJJGlkPSR0aGlzLT5leHRyYWN0X2ZpZWxkcygkZCk7CgkJCQlpZighaXNfbnVsbCgk
aWQpKXsKCQkJCQkkYlskaWRdPSRkOwoJCQkJfQoJCQl9CgkJCWlmKGlzc2V0KCRiKSl7CgkJCQkk
cmVjb3JkPSRiOwoJCQl9CgkJfQoJCXJldHVybiBpc3NldCgkYSk/JGE6TlVMTDsKCX0KCQoJLyog
LS0gTUVUSE9EIChzdHJpbmcpIGV4dHJhY3RfZmllbGRzKHJlY29yZChzdHItcHRyKSkgLS0gQ29u
dmVydHMgYSByZWNvcmQgdG8gYW4gYXJyYXkgb2YgZmllbGRzCgktLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCXB1YmxpYyBmdW5jdGlvbiBl
eHRyYWN0X2ZpZWxkcygmJHJlY29yZCl7CgkJLy8gc3RyaXAgcGVyIHJlY29yZCBoZWFkZXJzCgkJ
aWYoJHRoaXMtPnJlY29yZF9oZWFkZXJfbGluZXM+MCl7CgkJCSRjPTA7CgkJCWZvcigkbj0wOyRu
PCR0aGlzLT5yZWNvcmRfaGVhZGVyX2xpbmVzOyRuKyspewoJCQkJJGM9c3RycG9zKCRyZWNvcmQs
JHRoaXMtPnJlY29yZF9oZWFkZXJfbmV3bGluZSwkYykrJHRoaXMtPnJlY29yZF9oZWFkZXJfbmV3
bGluZV9sZW5ndGg7CgkJCX0KCQkJLy8gaWYgaW5kaWNhdGVkLCBnZXQgdGhlIHJlY29yZCBpZAoJ
CQlpZihpc3NldCgkdGhpcy0+cmVjb3JkX2lkX2hlYWRlcl9saW5lKSl7CgkJCQkkYT1leHBsb2Rl
KCR0aGlzLT5yZWNvcmRfaGVhZGVyX25ld2xpbmUsc3Vic3RyKCRyZWNvcmQsMCwkYyksJHRoaXMt
PnJlY29yZF9pZF9oZWFkZXJfbGluZSk7CgkJCQlpZighaXNzZXQoJHRoaXMtPnJlY29yZF9pZF9p
bmRleCkpeyAvLyBqdXN0IGdldCB0aGUgd2hvbGUgbGluZSBhcyB0aGUgSUQKCQkJCQkkYT0kYVsk
dGhpcy0+cmVjb3JkX2lkX2hlYWRlcl9vZmZzZXRdOwoJCQkJfWVsc2V7IC8vIGZldGNoIGEgcG9y
dGlvbiBvZiB0aGUgbGluZSBhcyB0aGUgSUQKCQkJCQkkYT1leHBsb2RlKCR0aGlzLT5yZWNvcmRf
aWRfZGVsaW1pdGVyLCRhWyR0aGlzLT5yZWNvcmRfaWRfaGVhZGVyX29mZnNldF0sJHRoaXMtPnJl
Y29yZF9pZF9vZmZzZXQpOwoJCQkJCSRhPXRyaW0oJGFbJHRoaXMtPnJlY29yZF9pZF9pbmRleF0p
OwoJCQkJfQoJCQl9CgkJCSRyZWNvcmQ9c3Vic3RyKCRyZWNvcmQsJGMpOwoJCX0KCQkvLyBicmVh
ayByZWNvcmQgaW50byBmaWVsZHMKCQlpZigkdGhpcy0+aWdub3JlX2VtcHR5X3JlY29yZHMpeyAv
LyB3ZSBjYW4gdXNlIGZhc3RlciB0b2tlbmlzYXRpb24KCQkJJGM9YXJyYXkoKTsKCQkJJGQ9c3Ry
dG9rKCRyZWNvcmQsJHRoaXMtPnJlY29yZF9maWVsZF9kZWxpbWl0ZXIpOwoJCQl3aGlsZSgkZCE9
PUZBTFNFKXsKCQkJCSRjW109JGQ7CgkJCQkkZD1zdHJ0b2soJHRoaXMtPnJlY29yZF9maWVsZF9k
ZWxpbWl0ZXIpOwoJCQl9CgkJfWVsc2V7IC8vIG11c3QgZXhwbG9kZSBpbnRvIGFycmF5CgkJCSRj
PWV4cGxvZGUoJHRoaXMtPnJlY29yZF9maWVsZF9kZWxpbWl0ZXIsJHJlY29yZCk7CgkJfQoJCS8v
IGlmIGluZGljYXRlZCwgZ2V0IHRoZSByZWNvcmQgaWQgZnJvbSBmaWVsZCBpbmRleAoJCWlmKCgh
aXNzZXQoJGEpKSYmKGlzc2V0KCR0aGlzLT5pZF9maWVsZCkpKXsKCQkJJGE9JGNbJHRoaXMtPmlk
X2ZpZWxkXTsKCQl9CgkJLy8gYWRkIHJlY29yZCBmaWVsZCBuYW1lcyBpZiByZXF1ZXN0ZWQKCQlp
Zihpc3NldCgkdGhpcy0+cmVjb3JkX2tleV9kZWxpbWl0ZXIpKXsKCQkJJGU9YXJyYXkoKTsKCQkJ
Zm9yZWFjaCgkYyBhcyAmJGQpewoJCQkJJGQ9ZXhwbG9kZSgkdGhpcy0+cmVjb3JkX2tleV9kZWxp
bWl0ZXIsJGQsMik7CgkJCQkkZFswXT10cmltKCRkWzBdKTsKCQkJCSRlWyRkWzBdXT0oJHRoaXMt
PnRyaW1fd2hpdGVzcGFjZSk/dHJpbSgkZFsxXSk6JGRbMV07CgkJCX0KCQkJdW5zZXQoJGQpOwoJ
CQkkYz0kZTsKCQl9ZWxzZWlmKGlzc2V0KCR0aGlzLT5yZWNvcmRfa2V5cykpewoJCQkkZT1hcnJh
eSgpOwoJCQkkbj0wOwoJCQlmb3JlYWNoKCR0aGlzLT5yZWNvcmRfa2V5cyBhcyAmJGQpewoJCQkJ
aWYoaXNfbnVsbCgkZCkpewoJCQkJCSRuKys7CgkJCQkJY29udGludWU7CgkJCQl9CgkJCQkkZVsk
ZF09JGNbJG4rK107CgkJCX0KCQkJdW5zZXQoJGQpOwoJCQkkYz0kZTsKCQl9ZWxzZWlmKCR0aGlz
LT50cmltX3doaXRlc3BhY2UpewoJCQlmb3JlYWNoKCRjIGFzICYkZCl7CgkJCQl0cmltKCRkKTsK
CQkJfQoJCQl1bnNldCgkZCk7CgkJfQoJCSRyZWNvcmQ9JGM7CgkJcmV0dXJuIGlzc2V0KCRhKT8k
YTpOVUxMOwoJfQoJCgkvKiAtLSBNRVRIT0QgKHZvaWQpIHNldF9wYXJzaW5nX3J1bGVzZXQocnVs
ZXNldChhcnkpKSAtLSBBcHBsaWVzIHNldF9wYXJzaW5nX3J1bGUoKSBjYWxscyBpbiBidWxrLgoJ
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICov
CglwdWJsaWMgZnVuY3Rpb24gc2V0X3BhcnNpbmdfcnVsZXNldCgkYSl7CgkJaWYoIWlzX2FycmF5
KCRhKSl7CgkJCWRpZSgnQXJyYXkgZXhwZWN0ZWQgZm9yIGFjX2ZsYXRfZmlsZV9wYXJzZXItPnNl
dF9wYXJzaW5nX3J1bGVzZXQoKS4nKTsKCQl9CgkJJHRoaXMtPnJlc2V0X3BhcnNpbmdfcnVsZXNl
dCgpOwoJCWZvcmVhY2goJGEgYXMgJGI9PiYkYyl7CgkJCSR0aGlzLT5zZXRfcGFyc2luZ19ydWxl
KCRiLCRjKTsKCQl9Cgl9CgkKCS8qIC0tIE1FVEhPRCAodm9pZCkgc2V0X3BhcnNpbmdfcnVsZShy
dWxlKHN0ciksIGFyZ3VtZW50IDEobWl4KSkgLS0gCgktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCVNldHMgcnVsZXMgdGhhdCBkZWZpbmUgaG93
IGluLWRlcHRoIHBhcnNpbmcgc2hvdWxkIGJlIGRvbmUuCglUaGlzIGRlZmluZXMgZXZlcnl0aGlu
ZyBmcm9tIGhvdyB0byByZWNvZ25pc2UgcmVjb3JkIGdyb3VwcywKCWluZGl2aWR1YWwgZmllbGRz
LCBmaWVsZCBuYW1lcywgaGVhZGVyIG9taWlzaW9uLCBpbmRleCBleHRyYWN0aW9uLAoJYW5kIGhv
dyB0byB0cmVhdCBlbXB0eSByZXBlYXRpbmcgZmllbGRzLgoJLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCglwdWJsaWMgZnVuY3Rpb24gc2V0
X3BhcnNpbmdfcnVsZSgkcnVsZSwkYXJnKXsKCQlzd2l0Y2goJHJ1bGUpewoJCQkvKiBGb3IgYWN0
dWFsIHJlY29yZCBwYXJzaW5nLCB0aGlzIGRlZmluZXMgd2hldGhlciBlYWNoIHJlY29yZAoJCQlo
YXMgaXRzIG93biBzdWItaGVhZGVyIHRoYXQgbXVzdCBiZSBzdHJpcHBlZCBvZmYgYnkgaW5kaWNh
dGluZwoJCQlob3cgbWFueSBsaW5lcyB0aGF0IGhlYWRlciBpcyBhbmQgd2hhdCBsaW5lIHRlcm1p
bmF0b3IgaXMKCQkJdXNlZC4gQnkgZGVmYXVsdCwgbm8gaGVhZGVyIGlzIGFzc3VtZWQuICovCgkJ
CWNhc2UgJ3JlY29yZF9oZWFkZXInOgoJCQkvKiBGb3IgYWN0dWFsIHJlY29yZCBwYXJzaW5nLCB0
aGlzIGRlZmluZXMgd2hldGhlciBlYWNoIHJlY29yZAoJCQloYXMgaXRzIG93biBzdWItaGVhZGVy
IHRoYXQgbXVzdCBiZSBzdHJpcHBlZCBvZmYgYnkgaW5kaWNhdGluZwoJCQlob3cgbWFueSBsaW5l
cyB0aGF0IGhlYWRlciBpcyBhbmQgd2hhdCBsaW5lIHRlcm1pbmF0b3IgaXMKCQkJdXNlZC4gQnkg
ZGVmYXVsdCwgbm8gaGVhZGVyIGlzIGFzc3VtZWQuICovCgkJCWNhc2UgJ2dyb3VwX2hlYWRlcic6
CgkJCQkkYT0ieyRydWxlfV9uZXdsaW5lIjsKCQkJCSRiPSJ7JHJ1bGV9X25ld2xpbmVfbGVuZ3Ro
IjsKCQkJCXN3aXRjaCgkYXJnKXsKCQkJCQljYXNlICdMRic6CgkJCQkJCSR0aGlzLT4kYT0iXG4i
OwoJCQkJCQkkdGhpcy0+JGI9MTsKCQkJCQkJYnJlYWs7CgkJCQkJY2FzZSAnQ1InOgoJCQkJCQkk
dGhpcy0+JGE9IlxyIjsKCQkJCQkJJHRoaXMtPiRiPTE7CgkJCQkJCWJyZWFrOwoJCQkJCWNhc2Ug
J0NSTEYnOgoJCQkJCQkkdGhpcy0+JGE9IlxyXG4iOwoJCQkJCQkkdGhpcy0+JGI9MjsKCQkJCQkJ
YnJlYWs7CgkJCQkJZGVmYXVsdDoKCQkJCQkJZGllKCJVbmtub3duIGxpbmUgdHlwZSAnJGFyZycg
aW4gcGFzc2VkIHRvIGFjX2ZsYXRfZmlsZV9wYXJzZXItPnNldF9wYXJzaW5nX3J1bGUoKS4iKTsK
CQkJCQkJYnJlYWs7CgkJCQl9CgkJCQlicmVhazsKCQkJLy8gcnVsZXMgdGhhdCBhcmUgc3RvcmVz
IGFzIGludGVnZXJzCgkJCWNhc2UgJ2dyb3VwX2lkX2luZGV4JzoJCQkvLyBXaGljaCBpbmRleCB0
aGUgZ3JvdXAgSUQgc3RyaW5nIGlzIGluLgoJCQljYXNlICdyZWNvcmRfaWRfaW5kZXgnOgkJCS8v
IFdoaWNoIGluZGV4IHRoZSByZWNvcmQgSUQgc3RyaW5nIGlzIGluLgoJCQkJJHRoaXMtPiRydWxl
PShpbnQpJGFyZzsKCQkJCSRhPXN1YnN0cigkcnVsZSwwLC01KS4nb2Zmc2V0JzsKCQkJCSR0aGlz
LT4kYT0kdGhpcy0+JHJ1bGUrMjsKCQkJCWJyZWFrOwoJCQljYXNlICdyZWNvcmRfaGVhZGVyX2xp
bmVzJzoJCS8vIEhvdyBtYW55IGxpbmVzIGluIGEgcmVjb3JkIHNob3VsZCBiZSBzdHJpcHBlZC4K
CQkJCSR0aGlzLT5yZWNvcmRfbGVuZ3RoKz0oaW50KSRhcmc7CgkJCWNhc2UgJ2dyb3VwX2hlYWRl
cl9saW5lcyc6CQkvLyBIb3cgbWFueSBsaW5lcyBpbiBhIHJlY29yZCBncm91cCBzaG91bGQgYmUg
c3RyaXBwZWQuCgkJCWNhc2UgJ2lkX2ZpZWxkJzoJCQkJLy8gV2hpY2ggcmVjb3JkIGZpZWxkIHRv
IHVzZSBhcyBhIHJlY29yZCBJRCBpbnN0ZWFkIG9mIGEgcmVjb3JkIGZpZWxkCgkJCQkkdGhpcy0+
JHJ1bGU9KGludCkkYXJnOwkJCgkJCQlicmVhazsKCQkJY2FzZSAnZ3JvdXBfaWRfaGVhZGVyX2xp
bmUnOiAJLy8gV2hpY2ggbGluZSBvZiBhIGdyb3VwIGhlYWRlciBhIElEIHN0cmluZyBpcyBpbi4K
CQkJY2FzZSAncmVjb3JkX2lkX2hlYWRlcl9saW5lJzoJLy8gV2hpY2ggbGluZSBvZiBhIHJlY29y
ZCBoZWFkZXIgYSBJRCBzdHJpbmcgaXMgaW4uCgkJCQkkdGhpcy0+JHJ1bGU9KGludCkkYXJnKzE7
CgkJCQkkYT1zdWJzdHIoJHJ1bGUsMCwtNCkuJ29mZnNldCc7CgkJCQkkdGhpcy0+JGE9JHRoaXMt
PiRydWxlLTI7CgkJCQlicmVhazsKCQkJLy8gcnVsZXMgdGhhdCBhcmUgc3RvcmVkIGFzIHN0cmlu
Z3MKCQkJY2FzZSAncmVjb3JkX2ZpZWxkX2RlbGltaXRlcic6CS8vIEZpZWxkIGRlbGltaXRlciBz
dHJpbmcuCgkJCWNhc2UgJ2dyb3VwX2RlbGltaXRlcic6CQkJLy8gR3JvdXAgZGVsaW1pdGVyIHN0
cmluZy4KCQkJY2FzZSAncmVjb3JkX2tleV9kZWxpbWl0ZXInOgkvLyBSZWNvcmQga2V5L3ZhbHVl
IGRlbGltaXRlciBzdHJpbmcuCgkJCWNhc2UgJ2dyb3VwX2lkX2RlbGltaXRlcic6CQkvLyBEZWxp
bWl0ZXIgZm9yIGdyb3VwIElEcy4KCQkJY2FzZSAncmVjb3JkX2lkX2RlbGltaXRlcic6CQkvLyBE
ZWxtaXRlciBmb3IgcmVjb3JkIElEcy4KCQkJCSR0aGlzLT4kcnVsZT0oc3RyaW5nKSRhcmc7CgkJ
CQlicmVhazsKCQkJLy8gcnVsZXMgdGhhdCBhcmUgc3RvcmVkIGFzIGJvb2xlYW5zCgkJCWNhc2Ug
J3RyaW1fd2hpdGVzcGFjZSc6CQkJLy8gUmVtb3ZlcyBsZWFkaW5nIGFuZCB0cmFpbGluZyB3aGl0
ZXNwYWNlIGZyb20gYSByZWNvcmQgdmFsdWUuCgkJCWNhc2UgJ2lnbm9yZV9lbXB0eV9yZWNvcmRz
JzoJLy8gRG8gbm90IHBhcnNlIHJlcGVhdGluZyBlbXB0eSByZWNvcmQgZGVsaW1pdGVycyBhcyBl
bXB0eSByZWNvcmRzLiAoZm9yIHRhYnVsYXRlZCBkYXRhKQoJCQkJJHRoaXMtPiRydWxlPShib29s
KSRhcmc7CgkJCQlicmVhazsKCQkJLyogRm9yIGFjdHVhbCByZWNvcmQgcGFyc2luZywgdGhpcyBw
cm92aWRlcyBhIHVzZXIgZGVmaW5lZCBzZXQKCQkJb2YgZmllbGQgbmFtZXMuIElmIHRoZXJlIGFy
ZSBtb3JlIGZpZWxkcyB0aGFuIG5hbWVzLCB0aG9zZQoJCQlleHRyYSBmaWVsZHMgd2lsbCBub3Qg
YmUgY2FwdHVyZWQuIEEgZmllbGQgbmFtZSB0aGF0IGlzCgkJCU5VTEwgaXMgYWxzbyBza2lwcGVk
IHNvIHRoYXQgY2VydGFpbiBmaWVsZHMgY2FuIGJlIHNwZWNpZmljYWxseQoJCQlleHRyYWN0ZWQu
ICovCgkJCWNhc2UgJ3JlY29yZF9rZXlzJzoKCQkJCWlmKCFpc19hcnJheSgkYXJnKSl7CgkJCQkJ
ZGllKCdBcnJheSBleHBlY3RlZCBmb3Iga2V5X25hbWVzIGluIGFjX2ZsYXRfZmlsZV9wYXJzZXIt
PnNldF9yZWNvcmRfa2V5cygpLicpOwoJCQkJfWVsc2V7CgkJCQkJJHRoaXMtPnJlY29yZF9rZXlz
PSRhcmc7CgkJCQl9CgkJCQlicmVhazsKCQkJZGVmYXVsdDoKCQkJCWRpZSgiVW5rbm93biBydWxl
IHR5cGUgJyRydWxlJyBpbiBhY19mbGF0X2ZpbGVfcGFyc2VyLT5zZXRfcGFyc2luZ19ydWxlKCku
Iik7CgkJCQlicmVhazsKCQl9Cgl9CgkKCS8qIC0tIE1FVEhPRCAoYm9vbCkgcmVhZF9maXJzdF9i
bG9jaygpIC0tCgktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KCVJlYWRzIHRoZSBmaXJzdCBibG9jayBmcm9tIHRoZSBmaWxlIGhhbmRsZSBhbmQg
cmV0dXJucyBUUlVFIGlmCglzdWNjZXNzZnVsLgoJICBUaGUgb3V0Y29tZSBvZiB0aGlzIGlzIHRo
YXQgdGhlIGJsb2NrIHByb3BlcnR5IGlzIHVwZGF0ZWQKCWFuZCBpZiBpdCBjb250YWlucyBhbiBp
bmNvbXBsZXRlIHJlY29yZCBhdCB0aGUgZW5kLCB0aGF0Cglwb3J0aW9uIGlzIHB1dCBpbnRvIHRo
ZSBmcmFnbWVudCBhbmQgdGhlIHJlbWFpbmRlciBpcyBtYWRlCgl0byBiZSB0aGUgY3VycmVudCBi
bG9jayBtaW51cyBob3dldmVyIG1hbnkgbGluZXMgYXJlIGluIHRoZQoJaGVhZGVyLgoJLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCglwcm90
ZWN0ZWQgZnVuY3Rpb24gcmVhZF9maXJzdF9ibG9jaygpewoJCWZzZWVrKCR0aGlzLT5maCwwKTsK
CQlpZigoJHRoaXMtPmJsb2NrPWZyZWFkKCR0aGlzLT5maCwkdGhpcy0+YmxvY2tfc2l6ZSkpPT09
RkFMU0UpewoJCQlyZXR1cm4gRkFMU0U7CgkJfQoJCWlmKCR0aGlzLT5oZWFkZXJfbGluZXM+MCl7
CgkJCS8vIGRldGVjdCBsaW5lIHR5cGUgYXMgQ1IsIExGIG9yIENSTEYKCQkJaWYoc3RycG9zKCR0
aGlzLT5ibG9jaywiXHJcbiIpIT09RkFMU0UpewoJCQkJJGI9IlxyXG4iOwoJCQkJJGM9MjsKCQkJ
fWVsc2VpZihzdHJwb3MoJHRoaXMtPmJsb2NrLCJcbiIpIT09RkFMU0UpewoJCQkJJGI9IlxuIjsK
CQkJCSRjPTE7CgkJCX1lbHNlaWYoc3RycG9zKCR0aGlzLT5ibG9jaywiXHIiKSE9PUZBTFNFKXsK
CQkJCSRiPSJcciI7CgkJCQkkYz0xOwoJCQl9ZWxzZXsKCQkJCWRpZSgiTm8gaGVhZGVyIHdhcyBm
b3VuZCBhbHRob3VnaCBvbmUgd2FzIGluZGljYXRlZCBpbiB0aGUgY29uc3RydWN0b3IgZnJvbSBs
aW5lcyAxIHRvIHskaGVhZGVyX2xpbmVzfSIpOwoJCQl9CgkJCS8vIHN0cmlwIHRoZSBmaXJzdCBu
IGxpbmVzIG91dCBvZiB0aGUgc3RhcnQgb2YgdGhlIGJsb2NrCgkJCSRkPTA7CgkJCWZvcigkbj0w
OyRuPCR0aGlzLT5oZWFkZXJfbGluZXM7JG4rKyl7CgkJCQkkZD1zdHJwb3MoJHRoaXMtPmJsb2Nr
LCRiLCRkKSskYzsKCQkJfQoJCQkkdGhpcy0+YmxvY2s9c3Vic3RyKCR0aGlzLT5ibG9jaywkZCsk
Yyk7CgkJfQoJCS8vIHByb2NlZWQgYXMgbm9ybWFsCgkJaWYoc3Vic3RyKCR0aGlzLT5ibG9jaywk
dGhpcy0+bGVuZ3RoKSE9PSR0aGlzLT5kZWxpbWl0ZXIpewoJCQkkYT1zdHJycG9zKCR0aGlzLT5i
bG9jaywkdGhpcy0+ZGVsaW1pdGVyKTsKCQkJJHRoaXMtPmZyYWdtZW50PXN1YnN0cigkdGhpcy0+
YmxvY2ssJGEtJHRoaXMtPmxlbmd0aCk7CgkJCSR0aGlzLT5ibG9jaz1hcnJheV9yZXZlcnNlKAoJ
CQkJZXhwbG9kZSgKCQkJCQkkdGhpcy0+ZGVsaW1pdGVyLAoJCQkJCXN1YnN0cigkdGhpcy0+Ymxv
Y2ssMCwkYSkKCQkJCSkKCQkJKTsKCQl9ZWxzZXsKCQkJJHRoaXMtPmJsb2NrPWFycmF5X3JldmVy
c2UoZXhwbG9kZSgkdGhpcy0+ZGVsaW1pdGVyLCR0aGlzLT5ibG9jaykpOwoJCQkkdGhpcy0+ZnJh
Z21lbnQ9Jyc7CgkJfQoJCXJldHVybiBUUlVFOwoJfQoJCgkvKiAtLSBNRVRIT0QgKGJvb2wpIHJl
YWRfYmxvY2soKSAtLQoJLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCglSZWFkcyBhIGJsb2NrIGZyb20gdGhlIGZpbGUgaGFuZGxlIGFuZCByZXR1
cm5zIFRSVUUgaWYKCXN1Y2Nlc3NmdWwuCgkgIFRoZSBvdXRjb21lIG9mIHRoaXMgaXMgdGhhdCB0
aGUgYmxvY2sgcHJvcGVydHkgaXMgdXBkYXRlZAoJYW5kIGlmIGl0IGNvbnRhaW5zIGFuIGluY29t
cGxldGUgcmVjb3JkIGF0IHRoZSBlbmQsIHRoYXQKCXBvcnRpb24gaXMgcHV0IGludG8gdGhlIGZy
YWdtZW50IGFuZCB0aGUgcmVtYWluZGVyIGlzIG1hZGUKCXRvIGJlIHRoZSBjdXJyZW50IGJsb2Nr
IHRvZ2V0aGVyIHdpdGggdGhlIGZyYWdtZW50IGZyb20KCXRoZSBwcmV2aW91cyByZWFkLiBJbiB0
aGlzIHdheSwgYSBibG9jayBvbmx5IGNvbnRhaW5zCgljb21wbGV0ZSByZWNvcmRzLgoJLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCglwcm90
ZWN0ZWQgZnVuY3Rpb24gcmVhZF9ibG9jaygpewoJCWlmKGZlb2YoJHRoaXMtPmZoKSl7CgkJCXJl
dHVybiBGQUxTRTsKCQl9CgkJJHRoaXMtPmJsb2NrPWZyZWFkKCR0aGlzLT5maCwkdGhpcy0+Ymxv
Y2tfc2l6ZSk7CgkJJHRoaXMtPmJsb2NrPSR0aGlzLT5mcmFnbWVudC4kdGhpcy0+YmxvY2s7CgkJ
aWYoc3Vic3RyKCR0aGlzLT5ibG9jaywkdGhpcy0+bGVuZ3RoKSE9PSR0aGlzLT5kZWxpbWl0ZXIp
ewoJCQkkYT1zdHJycG9zKCR0aGlzLT5ibG9jaywkdGhpcy0+ZGVsaW1pdGVyKTsKCQkJJHRoaXMt
PmZyYWdtZW50PXN1YnN0cigkdGhpcy0+YmxvY2ssJGEtJHRoaXMtPmxlbmd0aCk7CgkJCSR0aGlz
LT5ibG9jaz1hcnJheV9yZXZlcnNlKAoJCQkJZXhwbG9kZSgKCQkJCQkkdGhpcy0+ZGVsaW1pdGVy
LAoJCQkJCXN1YnN0cigkdGhpcy0+YmxvY2ssMCwkYSkKCQkJCSkKCQkJKTsKCQl9ZWxzZXsKCQkJ
JHRoaXMtPmZyYWdtZW50PScnOwoJCQkkdGhpcy0+YmxvY2s9YXJyYXlfcmV2ZXJzZSgKCQkJCWV4
cGxvZGUoCgkJCQkJJHRoaXMtPmRlbGltaXRlciwKCQkJCQlzdWJzdHIoJHRoaXMtPmJsb2NrLDAs
JHRoaXMtPmxlbmd0aCkKCQkJCSkKCQkJKTsKCQl9CgkJcmV0dXJuIFRSVUU7Cgl9Cn0KCj8+" | base64 -di - > "/bear/web_applications/cgi/shared_lib/ac_flat_file_parser.php"; then
	rollback
fi
log_undo 'rm -f "/bear/web_applications/cgi/shared_lib/ac_flat_file_parser.php"'
chown developer:apache "/bear/web_applications/cgi/shared_lib/ac_flat_file_parser.php"
chmod 0660 "/bear/web_applications/cgi/shared_lib/ac_flat_file_parser.php"
echo -e "Created file '/bear/web_applications/cgi/shared_lib/ac_flat_file_parser.php'"
if ! echo "PD9waHAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKgogICAgIEZJTEVOQU1FOiBiZWFyL2FwaV9maWx0ZXJzL3Jl
c21vbl9hdXRoZW50aWNhdGUucGhwCiAgICAgICAgVElUTEU6IFJlc291cmNlIE1vbml0b3IgQXV0
aGVudGljYXRpb24gUGx1Z2luIGZvciBTV0FQSSAyLjEKICAgIENPUFlSSUdIVDogQ29weXJpZ2h0
IChjKSAyMDE5IEpvZXkgRG9iaWFzCiAgIENSRUFURUQgQlk6IEpvZXkgRG9iaWFzCiAgIENSRUFU
RUQgT046IDIwMTktMDgtMDYKICBNT0RJRklFRCBCWTogSm9leSBEb2JpYXMKICBNT0RJRklFRCBP
TjogMjAxOS0wOC0wNgogIERFU0NSSVBUSU9OOiBQcm92aWRlcyBiYXNpYyBhdXRoZW50aWNhdGlv
biBmb3IgdGhlIFJlc291cmNlIE1vbml0b3IKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKZnVuY3Rp
b24gcmVzbW9uX2F1dGhlbnRpY2F0ZSgmJHRva2VuKXsKCWlmKCR0b2tlbj09PSdORUJVTEEnKXsK
CQlyZXR1cm4gYXJyYXkoCgkJCSdjbGllbnRfa2V5Jz0+J05FQlVMQTEuMEMnLAoJCQknc2VydmVy
X2tleSc9PidORUJVTEExLjBTJywKCQkJJ2xpY2Vuc2VfaG9sZGVyJz0+J0JFQVIgUmVzb3VyY2Ug
TW9uaXRvcicKCQkpOwoJfQoJcmV0dXJuIEZBTFNFOwp9CiRBVVRIRU5USUNBVEU9J3Jlc21vbl9h
dXRoZW50aWNhdGUnOwoKPz4=" | base64 -di - > "/bear/web_applications/cgi/bear/api_filters/resmon_authenticate.php"; then
	rollback
fi
log_undo 'rm -f "/bear/web_applications/cgi/bear/api_filters/resmon_authenticate.php"'
chown developer:apache "/bear/web_applications/cgi/bear/api_filters/resmon_authenticate.php"
chmod 0660 "/bear/web_applications/cgi/bear/api_filters/resmon_authenticate.php"
echo -e "Created file '/bear/web_applications/cgi/bear/api_filters/resmon_authenticate.php'"
if ! echo "PD9waHAgLyoqKioqKioqKioqKioqKioqKioqKioqKiogQ0xBU1MgRklMRSAqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioKICAgICBGSUxFTkFNRTogY2dpL2JlYXIvc3lzdGVtX21vbml0
b3IucGhwCiAgICAgICAgQ0xBU1M6IHN5c21vbgogICAgQ09QWVJJR0hUOiBDb3B5cmlnaHQgKGMp
IDIwMTQgLSAyMDIwIEpvZXkgRG9iaWFzCiAgIENSRUFURUQgQlk6IEpvZXkgRG9iaWFzCiAgIENS
RUFURUQgT046IDIwMTQtMDEtMDEKICBNT0RJRklFRCBCWTogSm9leSBEb2JpYXMKICBNT0RJRklF
RCBPTjogMjAyMC0wMS0xNQogIERFU0NSSVBUSU9OOiBQcm92aWRlcyBhY2Nlc3MgdG8gc3lzdGVt
IG1vbml0b3Jpbmcgb2YgZWxlbWVudHMgc3VjaCBhczoKICAgICAgICAgICAgICAgICAqIEFwcGxp
Y2F0aW9uIExvZ3MKCQkJCSAqIFJlc291cmNlIE1vbml0b3IKCQkJCSAqIFN5c3RlbSBMb2dzIChU
QkEpCgkJCQkgKiBTdXBwb3J0IEJ1bmRsZXMgKFRCQSkKCQkJICAgQXMgdGhpcyBhbHNvIGV4aXN0
cyBvdXQgb2YgY29udGV4dCBvbiB0aGUgQkVBUiBSZXNvdXJjZSBNb25pdG9yCgkJCSAgIGl0IGlu
Y2x1ZGVzIGl0J3Mgb3duIHZlcnNpb24gb2YgZ2V0X2tleV8xNigpIGFuZCBkb2VzIG5vdCBleHRl
bmQKCQkJICAgb3IgaW5jbHVkZSBvdGhlciBjbGFzc2VzLgoqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiov
CgpjbGFzcyBzeXNtb257CgkKCXByb3RlY3RlZCBzdGF0aWMgJGlvX3N1bW1hcnk7CQkJLy8gKGFy
eSkgUHJvdmlkZXMgdGhlIHN1bW1hcnkgb2YgdGhlIElPIGRhdGEuCglwcm90ZWN0ZWQgc3RhdGlj
ICRsaW5rX3N1bW1hcnk7CQkJLy8gKGFyeSkgUHJvdmlkZXMgdGhlIHN1bW1hcnkgb2YgdGhlIG5l
dHdvcmsgZGF0YS4KCQoJLyogLS0gTUVUSE9EIChhcnJheSkgYXBpX2ludGVybWVkaWF0ZV9sb2Fk
KGNvbGxlY3Rpb25zKGFyeS1wdHIpLCByYW5nZShzdHItcHRyKSkgLS0gQVBJIGZhY2luZyB3cmFw
cGVyIGZvciBpbnRlcm1lZGlhdGVfbG9hZCgpCgktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gYXBp
X2ludGVybWVkaWF0ZV9sb2FkKCYkY29sbGVjdGlvbnMsJiR3aW5kb3cpewoJCXJldHVybiBhcnJh
eSgKCQkJJ3N0YXRzJz0+c2VsZjo6aW50ZXJtZWRpYXRlX2xvYWQoJGNvbGxlY3Rpb25zLCR3aW5k
b3cpLAoJCQknaW9fc3VtbWFyeSc9PiZzZWxmOjokaW9fc3VtbWFyeSwKCQkJJ2xpbmtfc3VtbWFy
eSc9PiZzZWxmOjokbGlua19zdW1tYXJ5CgkJKTsKCX0KCQoJLyogLS0gTUVUSE9EIChhcnJheSkg
aW50ZXJtZWRpYXRlX2xvYWQoY29sbGVjdGlvbnMoYXJ5LXB0ciksIHJhbmdlKHN0ci1wdHIpKSAt
LQoJLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CglMb2FkcyB0aGUgcmVzb3VyY2UgbW9uaXRvciBtZXRyaWNzIGxvY2FsbHkgaWYgdGhlIGN1cnJl
bnQgbm9kZQoJaXMgdGhlIGxvY2FsaG9zdC4gVGhpcyBpcyB1c2VkIGJvdGggYnkgdGhlIEFQSSBh
bmQgdGhlIGZyb250CgllbmQgZmlsdGVycy4KCS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoJcHJvdGVjdGVkIHN0YXRpYyBmdW5jdGlvbiBp
bnRlcm1lZGlhdGVfbG9hZCgmJGNvbGxlY3Rpb25zLCYkd2luZG93KXsKCQkvL3RyYWNlKCdFTlRF
UklORyBzeXNtb246OmludGVybWVkaWF0ZV9sb2FkKCkuJyk7CgkJJHBhdGg9Jy4uL2xvZ3MvcmVz
b3VyY2VfbW9uaXRvcic7CgkJLy8gR2V0IHRoZSBvbGRlc3QgdGltZXN0YW1wIHN0cmluZ3MgZm9y
IG1hdGNoaW5nIGFuZCBmaWd1cmUgb3V0IHdoaWNoIGZpbGVzIHdlIG5lZWQKCQlpZigkd2luZG93
IT09J05VTEwnKXsKCQkJc3dpdGNoKCR3aW5kb3cpewoJCQkJY2FzZSAnSE9VUic6IC8vIDEgaG91
cgoJCQkJCSRhPXRpbWUoKS0zNjAwOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAnREFZJzogLy8gMjQg
aG91cnMKCQkJCQkkYT10aW1lKCktODY0MDA7CgkJCQkJYnJlYWs7CgkJCQljYXNlICdXRUVLJzog
Ly8gNyBkYXlzCgkJCQkJJGE9dGltZSgpLTYwNDgwMDsKCQkJCQlicmVhazsKCQkJCWNhc2UgJ01P
TlRIJzogLy8gNCB3ZWVrcyAoMjggZGF5cykKCQkJCQkkYT10aW1lKCktMjQxOTIwMDsKCQkJCQli
cmVhazsJCgkJCX0KCQkJJHZtc3RhdF90aW1lPWRhdGUoJ1ktbS1kIEg6aTpzJywkYSk7CgkJCSRj
dXJyZW50PShpbnQpZmlsZV9nZXRfY29udGVudHMoIiRwYXRoL2N1cnJlbnRfaW5kZXgiKTsKCQkJ
JG49JGN1cnJlbnQ7CgkJCSRsPTMwOwoJCQkkb2xkZXN0PUZBTFNFOwoJCQlpbmNsdWRlX29uY2Uo
J3NoYXJlZF9saWIvYWNfZmxhdF9maWxlX3BhcnNlci5waHAnKTsKCQkJLyogV2Ugc3RhcnQgYXQg
dGhlIGN1cnJlbnQgZmlsZSBhbmQgbW92ZSBiYWNrIHVudGlsIHRoZSBmaXJzdAoJCQlyZWNvcmQg
aW4gYSB2bXN0YXQgZmlsZSBpcyBvbGRlciB0aGFuIHRoZSB0aW1lICRhLiBUaGF0IHBvaW50CgkJ
CXNpZ25pZmllcyB0aGF0IHdlIGZvdW5kIGV2ZXJ5IGZpbGUgaW4gdGhlIHRpbWUgcmFuZ2UgcmVx
dWVzdGVkLiAKCQkJSWYgbm8gZm91bmQsIHdlIGp1c3QgZ28gdG8gdGhlIG9sZGVzdCBwb2ludCBm
b3VuZCBhcyB0aGUgcmVzb3VyY2UKCQkJbW9uaXRvciBtYXkgaGF2ZSBub3QgYmVlbiBydW5uaW5n
IGxvbmdlciB0aGFuIHRoZSBzYW1wbGUgcGVyaW9kLiAqLwoJCQl3aGlsZSghJG9sZGVzdCl7CgkJ
CQkkc3RhdHM9bmV3IGFjX2ZsYXRfZmlsZV9wYXJzZXIoIiRwYXRoL3Ztc3RhdF8kbi5sb2ciLDQw
OTYsIlxuIiwzKTsKCQkJCSRzdGF0cy0+c2V0X3BhcnNpbmdfcnVsZSgncmVjb3JkX2ZpZWxkX2Rl
bGltaXRlcicsJyAnKTsKCQkJCSRzdGF0cy0+c2V0X3BhcnNpbmdfcnVsZSgnaWdub3JlX2VtcHR5
X3JlY29yZHMnLFRSVUUpOwoJCQkJJHJhbmdlW109KHN0cmluZykkbjsKCQkJCSRiPSRzdGF0cy0+
Z2V0X3JlY29yZCgxLEZBTFNFLFRSVUUpOwoJCQkJaWYoInskYlsxN119IHskYlsxOF19Ijwkdm1z
dGF0X3RpbWUpewoJCQkJCSRvbGRlc3Q9VFJVRTsKCQkJCX1lbHNlewoJCQkJCSRiPSgkbj09PTEp
PyRsOiRuLTE7CgkJCQkJaWYoIWZpbGVfZXhpc3RzKCIkcGF0aC92bXN0YXRfJGIubG9nIikpewoJ
CQkJCQkkb2xkZXN0PVRSVUU7CgkJCQkJfWVsc2V7CgkJCQkJCSRuPSRiOwoJCQkJCX0KCQkJCX0K
CQkJfQoJCQkkcmFuZ2U9YXJyYXlfcmV2ZXJzZSgkcmFuZ2UpOwoJCX0KCQkkcmV0dXJuPWFycmF5
KCk7CgkJd2hpbGUoJGNvbGxlY3Rpb249YXJyYXlfcG9wKCRjb2xsZWN0aW9ucykpewoJCQlzd2l0
Y2goJGNvbGxlY3Rpb24pewoJCQkJLyogVGhpcyBpcyBjYXB0dXJlZCBmcm9tIHRoZSBzeXN0ZW0u
aW5pIGZpbGUgd2hpY2ggcmVjb3JkcyBhIHN0YXRpYwoJCQkJcmVwcmVzZW50YXRpb24gb2YgdGhl
IHN5c3RlbSBhdCB0aGUgdGltZSBpdCB3YXMgZ2VuZXJhdGVkLiAqLwoJCQkJY2FzZSAnU1lTSU5G
Tyc6CgkJCQkJJHJldHVyblsnc3lzdGVtJ109cGFyc2VfaW5pX2ZpbGUoIiRwYXRoL3N5c3RlbS5p
bmkiLDEpOwoJCQkJCXNldHR5cGUoJHJldHVyblsnc3lzdGVtJ11bJ3JhbSddLCdpbnQnKTsKCQkJ
CQlzZXR0eXBlKCRyZXR1cm5bJ3N5c3RlbSddWydzd2FwJ10sJ2ludCcpOwoJCQkJCWZvcmVhY2go
JHJldHVyblsnc3lzdGVtJ11bJ3N0b3JhZ2UnXSBhcyAmJHYpewoJCQkJCQlzZXR0eXBlKCR2LCdp
bnQnKTsKCQkJCQl9CgkJCQkJZm9yZWFjaCgkcmV0dXJuWydzeXN0ZW0nXVsnc3RvcmFnZSddIGFz
ICRrPT4mJHYpewoJCQkJCQkkYT1wb3BlbigiZGYgLWxCIE0gLS1vdXRwdXQ9dXNlZCAkayB8IGdy
ZXAgLW8gJ1tbOmRpZ2l0Ol1dKiciLCdyJyk7CgkJCQkJCSRyZXR1cm5bJ3N5c3RlbSddWydzdG9y
YWdlX3VzZWQnXVska109KGludClmZ2V0cygkYSk7CgkJCQkJCXBjbG9zZSgkYSk7CgkJCQkJfQoJ
CQkJCSRhPXBvcGVuKCd1cHRpbWUnLCdyJyk7CgkJCQkJcHJlZ19tYXRjaCgnL3VwICguKyksICtc
ZCB1c2VyLycsZmdldHMoJGEpLCRiKTsKCQkJCQlwY2xvc2UoJGEpOwoJCQkJCSRyZXR1cm5bJ3N5
c3RlbSddWyd1cHRpbWUnXT0kYlsxXTsKCQkJCQkkcmV0dXJuWydyYW0nXT0kcmV0dXJuWydzeXN0
ZW0nXVsncmFtJ107CgkJCQkJYnJlYWs7CgkJCQkvLyBDYXB0dXJlcyB2bXN0YXQKCQkJCWNhc2Ug
J1JFU09VUkNFUyc6CgkJCQkJJHJldHVyblsncmVzb3VyY2VzJ109YXJyYXkoJ21lbSc9PmFycmF5
KCksJ2NwdSc9PmFycmF5KCksJ3N5Jz0+YXJyYXkoKSwndXMnPT5hcnJheSgpKTsKCQkJCQkvLyBn
ZXQgdGhlIHRvdGFsIG1lbW9yeSBiZWNhdXNlIHdlIG5lZWQgaXQgZm9yIGdyYXBoaW5nCgkJCQkJ
aWYoIWFycmF5X2tleV9leGlzdHMoJ1NZU0lORk8nLCRjb2xsZWN0aW9ucykpewoJCQkJCQkkcmFt
PXBhcnNlX2luaV9maWxlKCIkcGF0aC9zeXN0ZW0uaW5pIiwxKTsKCQkJCQkJJHJhbT0oaW50KSRy
YW1bJ3JhbSddLzEwMDsgLy8xJSBvZiBtZW0KCQkJCQl9CgkJCQkJJGE9YXJyYXkoIC8vIHBhcnNp
bmcgcnVsZXMKCQkJCQkJJ3JlY29yZF9maWVsZF9kZWxpbWl0ZXInPT4nICcsCgkJCQkJCSdpZ25v
cmVfZW1wdHlfcmVjb3Jkcyc9PlRSVUUsCgkJCQkJCSdyZWNvcmRfa2V5cyc9PmFycmF5KAoJCQkJ
CQkJTlVMTCwKCQkJCQkJCU5VTEwsCgkJCQkJCQlOVUxMLAoJCQkJCQkJJ21lbScsCgkJCQkJCQlO
VUxMLAoJCQkJCQkJTlVMTCwKCQkJCQkJCU5VTEwsCgkJCQkJCQlOVUxMLAoJCQkJCQkJTlVMTCwK
CQkJCQkJCU5VTEwsCgkJCQkJCQlOVUxMLAoJCQkJCQkJTlVMTCwKCQkJCQkJCSd1cycsCgkJCQkJ
CQknc3knLAoJCQkJCQkJJ2lkJywKCQkJCQkJCU5VTEwsCgkJCQkJCQlOVUxMLAoJCQkJCQkJJ2Rh
dGUnLAoJCQkJCQkJJ3RpbWUnCgkJCQkJCSkKCQkJCQkpOwoJCQkJCWZvcmVhY2goJHJhbmdlIGFz
ICYkbG9nKXsKCQkJCQkJJHN0YXRzPW5ldyBhY19mbGF0X2ZpbGVfcGFyc2VyKCIkcGF0aC92bXN0
YXRfJGxvZy5sb2ciLDQwOTYsIlxuIiwzKTsKCQkJCQkJJHN0YXRzLT5zZXRfcGFyc2luZ19ydWxl
c2V0KCRhKTsKCQkJCQkJd2hpbGUoKCRiYXRjaD0kc3RhdHMtPmdldF9yZWNvcmQoNTAwLEZBTFNF
LFRSVUUpKSE9PUZBTFNFKXsKCQkJCQkJCSRiYXRjaD1hcnJheV9yZXZlcnNlKCRiYXRjaCk7CgkJ
CQkJCQl3aGlsZSgoJGI9YXJyYXlfcG9wKCRiYXRjaCkpIT09TlVMTCl7CgkJCQkJCQkJaWYoInsk
YlsnZGF0ZSddfSB7JGJbJ3RpbWUnXX0iPCR2bXN0YXRfdGltZSl7IC8vIHRpbWUgb3V0c2lkZSBy
YW5nZQoJCQkJCQkJCQljb250aW51ZTsKCQkJCQkJCQl9CgkJCQkJCQkJJHJldHVyblsncmVzb3Vy
Y2VzJ11bJ21lbSddW109MTAwLShpbnQpY2VpbCgkYlsnbWVtJ10vJHJhbSk7CgkJCQkJCQkJJHJl
dHVyblsncmVzb3VyY2VzJ11bJ2NwdSddW109KGludCkoMTAwLShpbnQpJGJbJ2lkJ10pOwoJCQkJ
CQkJCSRyZXR1cm5bJ3Jlc291cmNlcyddWydzeSddW109KGludCkkYlsnc3knXTsKCQkJCQkJCQkk
cmV0dXJuWydyZXNvdXJjZXMnXVsndXMnXVtdPShpbnQpJGJbJ3VzJ107CgkJCQkJCQl9CgkJCQkJ
CX0KCQkJCQl9CgkJCQkJdW5zZXQoJGxvZyk7CgkJCQkJYnJlYWs7CgkJCQljYXNlICdORVRXT1JL
JzoKCQkJCQlzZWxmOjokbGlua19zdW1tYXJ5PWFycmF5KCk7CgkJCQkJJHJldHVyblsnbmV0d29y
ayddPWFycmF5KCk7CgkJCQkJJGxpbmtzdGF0X3RpbWU9JiR2bXN0YXRfdGltZTsKCQkJCQkkYT1h
cnJheSggLy8gb3V0ZXJtb3N0IHBhcnNpbmcgaW5zdHJ1Y3Rpb25zCgkJCQkJCSdncm91cF9oZWFk
ZXInPT4nTEYnLAoJCQkJCQknZ3JvdXBfaGVhZGVyX2xpbmVzJz0+MSwKCQkJCQkJJ2dyb3VwX2Rl
bGltaXRlcic9PiJcbj4iLAoJCQkJCQknZ3JvdXBfaWRfaGVhZGVyX2xpbmUnPT4xCgkJCQkJKTsK
CQkJCQkkYj1hcnJheSggLy8gaW5uZXJtb3N0IHBhcnNpbmcgaW5zdHJ1Y3Rpb25zCgkJCQkJCSdn
cm91cF9oZWFkZXInPT4nTEYnLAoJCQkJCQknZ3JvdXBfaGVhZGVyX2xpbmVzJz0+MiwKCQkJCQkJ
J2dyb3VwX2lkX2hlYWRlcl9saW5lJz0+MSwKCQkJCQkJJ2dyb3VwX2lkX2RlbGltaXRlcic9Pic6
JywKCQkJCQkJJ2dyb3VwX2lkX2luZGV4Jz0+MSwKCQkJCQkJJ2dyb3VwX2RlbGltaXRlcic9PiJc
biIsCgkJCQkJCSdyZWNvcmRfaGVhZGVyJz0+J0xGJywKCQkJCQkJJ3JlY29yZF9oZWFkZXJfbGlu
ZXMnPT4xLAoJCQkJCQkncmVjb3JkX2lkX2hlYWRlcl9saW5lJz0+MSwKCQkJCQkJJ3JlY29yZF9p
ZF9kZWxpbWl0ZXInPT4nOicsCgkJCQkJCSdyZWNvcmRfaWRfaW5kZXgnPT4wLAoJCQkJCQknaWdu
b3JlX2VtcHR5X3JlY29yZHMnPT5UUlVFLAoJCQkJCQkncmVjb3JkX2ZpZWxkX2RlbGltaXRlcic9
PicgJywKCQkJCQkJJ3JlY29yZF9rZXlzJz0+YXJyYXkoCgkJCQkJCQknYnl0ZXMnLAoJCQkJCQkJ
J3BhY2tldHMnLAoJCQkJCQkJJ2Vycm9ycycKCQkJCQkJKQoJCQkJCSk7CgkJCQkJZm9yZWFjaCgk
cmFuZ2UgYXMgJiRsb2cpewoJCQkJCQkkc3RhdHM9bmV3IGFjX2ZsYXRfZmlsZV9wYXJzZXIoIiRw
YXRoL2xpbmtzdGF0XyRsb2cubG9nIiw0MDk2LCJcblxuIiwxKTsKCQkJCQkJJHN0YXRzLT5zZXRf
cGFyc2luZ19ydWxlc2V0KCRhKTsKCQkJCQkJJHJ4PWFycmF5KCk7IC8vIHNlZWRlZCByZWNlaXZl
IGJ5dGVzCgkJCQkJCSR0eD1hcnJheSgpOyAvLyBzZWVkZWQgdHJhbnNtaXQgYnl0ZXMKCQkJCQkJ
JHJ4ZT1hcnJheSgpOyAvLyBzZWVkZWQgcmVjZWl2ZSBlcnJvcnMKCQkJCQkJJHR4ZT1hcnJheSgp
OyAvLyBzZWVkZWQgdHJhbnNtaXQgZXJyb3JzCgkJCQkJCSRyeHA9YXJyYXkoKTsgLy8gc2VlZGVk
IHJlY2VpdmUgcGFja2V0cwoJCQkJCQkkdHhwPWFycmF5KCk7IC8vIHNlZWRlZCB0cmFuc21pdCBw
YWNrZXRzIAoJCQkJCQkkbj0xOyAvLyBjb3VudGVyIGZvciBjYWxjdWxhdGluZyByb2xsaW5nIGF2
ZXJhZ2VzCgkJCQkJCXdoaWxlKCgkYmF0Y2g9JHN0YXRzLT5nZXRfcmVjb3JkKDUwMCxUUlVFKSkh
PT1GQUxTRSl7CgkJCQkJCQkkc3RhdHMtPnNldF9wYXJzaW5nX3J1bGVzZXQoJGIpOwoJCQkJCQkJ
Zm9yZWFjaCgkYmF0Y2ggYXMgJGtleT0+JiRncm91cCl7CgkJCQkJCQkJaWYoJGtleTwkbGlua3N0
YXRfdGltZSl7CgkJCQkJCQkJCWNvbnRpbnVlOwoJCQkJCQkJCX0KCQkJCQkJCQlmb3JlYWNoKCRn
cm91cCBhcyAmJHJlY29yZCl7CgkJCQkJCQkJCSRkZXY9JHN0YXRzLT5leHRyYWN0X2dyb3Vwcygk
cmVjb3JkLFRSVUUpOwoJCQkJCQkJCQkvKiBOZXR3b3JrIHN0YXRzIGFyZSBjdW11bGF0aXZlLCBu
b3QgYXZlcmFnZWQgcGVyIHNlY29uZCBsaWtlIGlvc3RhdAoJCQkJCQkJCQlvciB2bXN0YXQuIFNv
IHRvIGdldCB0aGUgbnVtYmVycyB3ZSBuZWVkLCB3ZSBtdXN0IHRha2UgdGhlIGRlbHRhIGJldHdl
ZW4KCQkJCQkJCQkJZWFjaCBzYW1wbGUgYW5kIGRpdmlkZSBieSAxMCAodGhlIHNhbXBsZSBwZXJp
b2QpIHRvIGdpdmUgYSBzdGF0cy9zIHZhbHVlLgoJCQkJCQkJCQkgIEFzIGEgcmVzdWx0LCB0aGUg
Zmlyc3Qgc2FtcGxlIGlzIGFsd2F5cyBpZ25vcmVkIGJlY2F1c2Ugd2UgbmVlZCBpdCdzCgkJCQkJ
CQkJCXZhbHVlcyB0byBzZWVkIHRoZSByb2xsaW5nIGNhbGN1bGF0aW9uLiAqLwoJCQkJCQkJCQlz
ZXR0eXBlKCRyZWNvcmRbJ1JYJ11bJ2Vycm9ycyddLCdpbnQnKTsKCQkJCQkJCQkJc2V0dHlwZSgk
cmVjb3JkWydUWCddWydlcnJvcnMnXSwnaW50Jyk7CgkJCQkJCQkJCXNldHR5cGUoJHJlY29yZFsn
UlgnXVsncGFja2V0cyddLCdpbnQnKTsKCQkJCQkJCQkJc2V0dHlwZSgkcmVjb3JkWydUWCddWydw
YWNrZXRzJ10sJ2ludCcpOwoJCQkJCQkJCQkkcmVjb3JkWydSWCddWydieXRlcyddPShmbG9hdCko
KGludCkkcmVjb3JkWydSWCddWydieXRlcyddLzEwNDg1NzYpOyAvLyBjb252ZXJ0cyBieXRlcyB0
byBNaUIKCQkJCQkJCQkJJHJlY29yZFsnVFgnXVsnYnl0ZXMnXT0oZmxvYXQpKChpbnQpJHJlY29y
ZFsnVFgnXVsnYnl0ZXMnXS8xMDQ4NTc2KTsgLy8gY29udmVydHMgYnl0ZXMgdG8gTWlCCgkJCQkJ
CQkJCWlmKGFycmF5X2tleV9leGlzdHMoJGRldiwkcngpKXsKCQkJCQkJCQkJCSRyeDI9KGZsb2F0
KSgoJHJlY29yZFsnUlgnXVsnYnl0ZXMnXS0kcnhbJGRldl0pLzEwKTsKCQkJCQkJCQkJCSR0eDI9
KGZsb2F0KSgoJHJlY29yZFsnVFgnXVsnYnl0ZXMnXS0kdHhbJGRldl0pLzEwKTsKCQkJCQkJCQkJ
CSRyeGUyPShpbnQpKCgkcmVjb3JkWydSWCddWydlcnJvcnMnXS0kcnhlWyRkZXZdKSk7CgkJCQkJ
CQkJCQkkdHhlMj0kcmVjb3JkWydUWCddWydlcnJvcnMnXS0kdHhlWyRkZXZdOwoJCQkJCQkJCQkJ
JHJ4cDI9JHJlY29yZFsnUlgnXVsncGFja2V0cyddLSRyeHBbJGRldl07CgkJCQkJCQkJCQkkdHhw
Mj0kcmVjb3JkWydUWCddWydwYWNrZXRzJ10tJHR4cFskZGV2XTsKCQkJCQkJCQkJCSRyZXR1cm5b
J25ldHdvcmsnXVskZGV2XVsnUlhfS2lCcyddW109cm91bmQoJHJ4MiwzKTsKCQkJCQkJCQkJCSRy
ZXR1cm5bJ25ldHdvcmsnXVskZGV2XVsnVFhfS2lCcyddW109cm91bmQoJHR4MiwzKTsKCQkJCQkJ
CQkJCS8qIFdlIGRlZmluZSBlcnJvcnMgYXMgdGhlIHBlcmNlbnRhZ2Ugb2YgcGFja2V0cyB0aGF0
IHdlcmUgZXJyb3JzIGR1cmluZwoJCQkJCQkJCQkJYSBzYW1wbGUgcGVyaW9kLiAqLwoJCQkJCQkJ
CQkJaWYoJHJ4cDIhPT0wKXsKCQkJCQkJCQkJCQkkcmV0dXJuWyduZXR3b3JrJ11bJGRldl1bJ1JY
X2Vycm9ycyddW109KGludClyb3VuZCgkcnhlMi8oJHJ4cDIvMTAwKSwwKTsKCQkJCQkJCQkJCX1l
bHNlewoJCQkJCQkJCQkJCSRyZXR1cm5bJ25ldHdvcmsnXVskZGV2XVsnUlhfZXJyb3JzJ11bXT0w
OwoJCQkJCQkJCQkJfQoJCQkJCQkJCQkJaWYoJHR4cDIhPT0wKXsKCQkJCQkJCQkJCQkkcmV0dXJu
WyduZXR3b3JrJ11bJGRldl1bJ1RYX2Vycm9ycyddW109KGludClyb3VuZCgkdHhlMi8oJHR4cDIv
MTAwKSwwKTsKCQkJCQkJCQkJCX1lbHNlewoJCQkJCQkJCQkJCSRyZXR1cm5bJ25ldHdvcmsnXVsk
ZGV2XVsnVFhfZXJyb3JzJ11bXT0wOwoJCQkJCQkJCQkJfQoJCQkJCQkJCQkJLy8gYnVpbGQgc3Rh
dHMgbGlrZSBhdmcsIG1pbiwgbWF4IHZhbHVlcyBwZXIgZGV2aWNlCgkJCQkJCQkJCQlpZihhcnJh
eV9rZXlfZXhpc3RzKCRkZXYsc2VsZjo6JGxpbmtfc3VtbWFyeSkpewoJCQkJCQkJCQkJCWlmKCRy
eDI8c2VsZjo6JGxpbmtfc3VtbWFyeVskZGV2XVsnbWluX3J4J10pewoJCQkJCQkJCQkJCQlzZWxm
OjokbGlua19zdW1tYXJ5WyRkZXZdWydtaW5fcngnXT0kcngyOwoJCQkJCQkJCQkJCX1lbHNlaWYo
JHJ4Mj5zZWxmOjokbGlua19zdW1tYXJ5WyRkZXZdWydtYXhfcngnXSl7CgkJCQkJCQkJCQkJCXNl
bGY6OiRsaW5rX3N1bW1hcnlbJGRldl1bJ21heF9yeCddPSRyeDI7CgkJCQkJCQkJCQkJfQoJCQkJ
CQkJCQkJCWlmKCR0eDI8c2VsZjo6JGxpbmtfc3VtbWFyeVskZGV2XVsnbWluX3R4J10pewoJCQkJ
CQkJCQkJCQlzZWxmOjokbGlua19zdW1tYXJ5WyRkZXZdWydtaW5fdHgnXT0kdHgyOwoJCQkJCQkJ
CQkJCX1lbHNlaWYoJHR4Mj5zZWxmOjokbGlua19zdW1tYXJ5WyRkZXZdWydtYXhfdHgnXSl7CgkJ
CQkJCQkJCQkJCXNlbGY6OiRsaW5rX3N1bW1hcnlbJGRldl1bJ21heF90eCddPSR0eDI7CgkJCQkJ
CQkJCQkJfQoJCQkJCQkJCQkJCXNlbGY6OiRsaW5rX3N1bW1hcnlbJGRldl1bJ2F2Z19yeCddPSgo
c2VsZjo6JGxpbmtfc3VtbWFyeVskZGV2XVsnYXZnX3J4J10qJG4pKyRyeDIpOwoJCQkJCQkJCQkJ
CXNlbGY6OiRsaW5rX3N1bW1hcnlbJGRldl1bJ2F2Z190eCddPSgoc2VsZjo6JGxpbmtfc3VtbWFy
eVskZGV2XVsnYXZnX3R4J10qJG4pKyR0eDIpOwoJCQkJCQkJCQkJCXNlbGY6OiRsaW5rX3N1bW1h
cnlbJGRldl1bJ2F2Z19yeCddLz0kbjsKCQkJCQkJCQkJCQlzZWxmOjokbGlua19zdW1tYXJ5WyRk
ZXZdWydhdmdfdHgnXS89JG47CgkJCQkJCQkJCQl9ZWxzZXsKCQkJCQkJCQkJCQlzZWxmOjokbGlu
a19zdW1tYXJ5WyRkZXZdPWFycmF5KAoJCQkJCQkJCQkJCQknbWluX3J4Jz0+JHJ4MiwKCQkJCQkJ
CQkJCQkJJ21heF9yeCc9PiRyeDIsCgkJCQkJCQkJCQkJCSdhdmdfcngnPT4kcngyLAoJCQkJCQkJ
CQkJCQknbWluX3R4Jz0+JHR4MiwKCQkJCQkJCQkJCQkJJ21heF90eCc9PiR0eDIsCgkJCQkJCQkJ
CQkJCSdhdmdfdHgnPT4kdHgyLAoJCQkJCQkJCQkJCSk7CgkJCQkJCQkJCQl9CgkJCQkJCQkJCX0K
CQkJCQkJCQkJJHJ4WyRkZXZdPSRyZWNvcmRbJ1JYJ11bJ2J5dGVzJ107CgkJCQkJCQkJCSR0eFsk
ZGV2XT0kcmVjb3JkWydUWCddWydieXRlcyddOwoJCQkJCQkJCQkkcnhlWyRkZXZdPSRyZWNvcmRb
J1JYJ11bJ2Vycm9ycyddOwoJCQkJCQkJCQkkdHhlWyRkZXZdPSRyZWNvcmRbJ1RYJ11bJ2Vycm9y
cyddOwoJCQkJCQkJCQkkcnhwWyRkZXZdPSRyZWNvcmRbJ1JYJ11bJ3BhY2tldHMnXTsKCQkJCQkJ
CQkJJHR4cFskZGV2XT0kcmVjb3JkWydUWCddWydwYWNrZXRzJ107CgkJCQkJCQkJfQoJCQkJCQkJ
CXVuc2V0KCRyZWNvcmQpOwoJCQkJCQkJCSRuKys7CgkJCQkJCQl9CgkJCQkJCQl1bnNldCgkZ3Jv
dXApOwoJCQkJCQkJJHN0YXRzLT5zZXRfcGFyc2luZ19ydWxlc2V0KCRhKTsKCQkJCQkJfQoJCQkJ
CX0KCQkJCQl1bnNldCgkbG9nKTsKCQkJCQkvKiB3b3JrIG91dCB0aGUgdGhyb3VnaHB1dCBhbmQg
ZXJyb3JzIHNjYWxlcyBiYXNlZCBvbiBtYXggdmFsdWVzLgoJCQkJCVdlIGNhbGwgdGhlIGVycm9y
IHNjYWxlIGFzIHRoZSB0aHJvdWdocHV0IHNjYWxlIC8gMS41ICgxNTAwIGJ5dGUgcGFja2V0cykg
Ki8gCgkJCQkJZm9yZWFjaChzZWxmOjokbGlua19zdW1tYXJ5IGFzICRkZXY9PiYkaW5mbyl7CgkJ
CQkJCSRhPSgkaW5mb1snbWF4X3J4J10+JGluZm9bJ21heF90eCddKT8kaW5mb1snbWF4X3J4J106
JGluZm9bJ21heF90eCddOwoJCQkJCQlpZigkYT41MTIwLjApeyAvLyAxMDBnCgkJCQkJCQkkaW5m
b1sndGhyb3VnaHB1dF9zY2FsZSddPScxMDBnYic7CgkJCQkJCX1lbHNlaWYoJGE+MTIyOC44KXsg
Ly8gNDBnCgkJCQkJCQkkaW5mb1sndGhyb3VnaHB1dF9zY2FsZSddPSc0MGdiJzsKCQkJCQkJfWVs
c2VpZigkYT4xMDIuMCl7IC8vIDEwZwoJCQkJCQkJJGluZm9bJ3Rocm91Z2hwdXRfc2NhbGUnXT0n
MTBnYic7CgkJCQkJCX1lbHNlaWYoJGE+MTIuNSl7IC8vIDFnCgkJCQkJCQkkaW5mb1sndGhyb3Vn
aHB1dF9zY2FsZSddPScxZ2InOwoJCQkJCQl9ZWxzZXsKCQkJCQkJCSRpbmZvWyd0aHJvdWdocHV0
X3NjYWxlJ109JzEwMG1iJzsvLyAxMDBtCgkJCQkJCX0KCQkJCQl9CgkJCQkJdW5zZXQoJGluZm8p
OwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAnQ0FQQUNJVFknOgoJCQkJCSRyZXR1cm5bJ2NhcGFjaXR5
J109YXJyYXkoKTsKCQkJCQkkZGZzdGF0X3RpbWU9JiR2bXN0YXRfdGltZTsKCQkJCQkkYT1hcnJh
eSgKCQkJCQkJJ2dyb3VwX2hlYWRlcic9PidMRicsCgkJCQkJCSdncm91cF9oZWFkZXJfbGluZXMn
PT4xLAoJCQkJCQknZ3JvdXBfZGVsaW1pdGVyJz0+IlxuIiwKCQkJCQkJJ2dyb3VwX2lkX2hlYWRl
cl9saW5lJz0+MSwKCQkJCQkJJ3JlY29yZF9oZWFkZXInPT4nTEYnLAoJCQkJCQkncmVjb3JkX2hl
YWRlcl9saW5lcyc9PjEsCgkJCQkJCSdpZF9maWVsZCc9PjUsCgkJCQkJCSdyZWNvcmRfZmllbGRf
ZGVsaW1pdGVyJz0+JyAnLAoJCQkJCQknaWdub3JlX2VtcHR5X3JlY29yZHMnPT5UUlVFLAoJCQkJ
CQkncmVjb3JkX2tleXMnPT5hcnJheSgKCQkJCQkJCU5VTEwsCgkJCQkJCQlOVUxMLAoJCQkJCQkJ
TlVMTCwKCQkJCQkJCU5VTEwsCgkJCQkJCQknY2FwYWNpdHknCgkJCQkJCSkKCQkJCQkpOwoJCQkJ
CWZvcmVhY2goJHJhbmdlIGFzICYkbG9nKXsKCQkJCQkJJHN0YXRzPW5ldyBhY19mbGF0X2ZpbGVf
cGFyc2VyKCIkcGF0aC9kZnN0YXRfJGxvZy5sb2ciLDQwOTYsIlxuXG4iLDEpOwoJCQkJCQkkc3Rh
dHMtPnNldF9wYXJzaW5nX3J1bGVzZXQoJGEpOwoJCQkJCQl3aGlsZSgoJGJhdGNoPSRzdGF0cy0+
Z2V0X3JlY29yZCg1MDAsVFJVRSxUUlVFKSkhPT1GQUxTRSl7CgkJCQkJCQlmb3JlYWNoKCRiYXRj
aCBhcyAka2V5PT4mJGdyb3VwKXsKCQkJCQkJCQlpZigka2V5PCRkZnN0YXRfdGltZSl7CgkJCQkJ
CQkJCWNvbnRpbnVlOwoJCQkJCQkJCX0KCQkJCQkJCQlmb3JlYWNoKCRncm91cCBhcyAkZnM9PiYk
cmVjb3JkKXsKCQkJCQkJCQkJJHJldHVyblsnY2FwYWNpdHknXVsiJGZzIl1bXT0oaW50KXJ0cmlt
KCRyZWNvcmRbJ2NhcGFjaXR5J10sJyUnKTsKCQkJCQkJCQl9CgkJCQkJCQkJdW5zZXQoJHJlY29y
ZCk7CgkJCQkJCQl9CgkJCQkJCQl1bnNldCgkZ3JvdXApOwoJCQkJCQl9CgkJCQkJfQoJCQkJCXVu
c2V0KCRsb2cpOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAnSU8nOgoJCQkJCXNlbGY6OiRpb19zdW1t
YXJ5PWFycmF5KCk7CgkJCQkJJHJldHVyblsnaW8nXT1hcnJheSgpOwoJCQkJCSRpb3N0YXRfdGlt
ZT1kYXRlKCdZLW0tZFxUSDppOnMnLCRhKTsKCQkJCQkkYT1hcnJheSgKCQkJCQkJJ2dyb3VwX2hl
YWRlcic9PidMRicsCgkJCQkJCSdncm91cF9oZWFkZXJfbGluZXMnPT4yLAoJCQkJCQknZ3JvdXBf
ZGVsaW1pdGVyJz0+IlxuIiwKCQkJCQkJJ2dyb3VwX2lkX2hlYWRlcl9saW5lJz0+MSwKCQkJCQkJ
J2dyb3VwX2lkX2RlbGltaXRlcic9PicrJywKCQkJCQkJJ2dyb3VwX2lkX2luZGV4Jz0+MCwKCQkJ
CQkJJ3JlY29yZF9maWVsZF9kZWxpbWl0ZXInPT4nICcsCgkJCQkJCSdpZ25vcmVfZW1wdHlfcmVj
b3Jkcyc9PlRSVUUsCgkJCQkJCSdpZF9maWVsZCc9PjAsCgkJCQkJCSdyZWNvcmRfa2V5cyc9PmFy
cmF5KAoJCQkJCQkJTlVMTCwKCQkJCQkJCU5VTEwsCgkJCQkJCQlOVUxMLAoJCQkJCQkJTlVMTCwK
CQkJCQkJCU5VTEwsCgkJCQkJCQkncmVhZF9NaUJzJywKCQkJCQkJCSd3cml0ZV9NaUJzJywKCQkJ
CQkJCU5VTEwsCgkJCQkJCQlOVUxMLAoJCQkJCQkJTlVMTCwKCQkJCQkJCU5VTEwsCgkJCQkJCQlO
VUxMLAoJCQkJCQkJJ3N2Y3RtJywKCQkJCQkJCSdidXN5JwoJCQkJCQkpCgkJCQkJKTsKCQkJCQlm
b3JlYWNoKCRyYW5nZSBhcyAmJGxvZyl7CgkJCQkJCSRzdGF0cz1uZXcgYWNfZmxhdF9maWxlX3Bh
cnNlcigiJHBhdGgvaW9zdGF0XyRsb2cubG9nIiw0MDk2LCJcblxuIiwxKTsKCQkJCQkJJHN0YXRz
LT5zZXRfcGFyc2luZ19ydWxlc2V0KCRhKTsKCQkJCQkJJG49MTsgLy8gY291bnRlciBmb3Igd29y
a2luZyBvdXQgcm9sbGluZyBhdmVyYWdlcwoJCQkJCQl3aGlsZSgoJGJhdGNoPSRzdGF0cy0+Z2V0
X3JlY29yZCg1MDAsVFJVRSxUUlVFKSkhPT1GQUxTRSl7CgkJCQkJCQlmb3JlYWNoKCRiYXRjaCBh
cyAka2V5PT4mJGdyb3VwKXsKCQkJCQkJCQlpZigka2V5PCRpb3N0YXRfdGltZSl7CgkJCQkJCQkJ
CWNvbnRpbnVlOwoJCQkJCQkJCX0KCQkJCQkJCQlmb3JlYWNoKCRncm91cCBhcyAkZGV2PT4mJHJl
Y29yZCl7CgkJCQkJCQkJCXNldHR5cGUoJHJlY29yZFsncmVhZF9NaUJzJ10sJ2Zsb2F0Jyk7CgkJ
CQkJCQkJCXNldHR5cGUoJHJlY29yZFsnd3JpdGVfTWlCcyddLCdmbG9hdCcpOwoJCQkJCQkJCQlz
ZXR0eXBlKCRyZWNvcmRbJ3N2Y3RtJ10sJ2Zsb2F0Jyk7CgkJCQkJCQkJCSRyZXR1cm5bJ2lvJ11b
IiRkZXYiXVsncmVhZF9NaUJzJ11bXT0kcmVjb3JkWydyZWFkX01pQnMnXTsKCQkJCQkJCQkJJHJl
dHVyblsnaW8nXVsiJGRldiJdWyd3cml0ZV9NaUJzJ11bXT0kcmVjb3JkWyd3cml0ZV9NaUJzJ107
CgkJCQkJCQkJCSRyZXR1cm5bJ2lvJ11bIiRkZXYiXVsnc3ZjdG0nXVtdPSRyZWNvcmRbJ3N2Y3Rt
J107CgkJCQkJCQkJCSRyZXR1cm5bJ2lvJ11bIiRkZXYiXVsnYnVzeSddW109KGZsb2F0KSRyZWNv
cmRbJ2J1c3knXTsKCQkJCQkJCQkJLy8gYnVpbGQgc3RhdHMgbGlrZSBhdmcsIG1pbiwgbWF4IHZh
bHVlcyBwZXIgZGV2aWNlCgkJCQkJCQkJCWlmKGFycmF5X2tleV9leGlzdHMoIiRkZXYiLHNlbGY6
OiRpb19zdW1tYXJ5KSl7CgkJCQkJCQkJCQlpZigkcmVjb3JkWydyZWFkX01pQnMnXTxzZWxmOjok
aW9fc3VtbWFyeVsiJGRldiJdWydtaW5fcmVhZCddKXsKCQkJCQkJCQkJCQlzZWxmOjokaW9fc3Vt
bWFyeVsiJGRldiJdWydtaW5fcmVhZCddPSRyZWNvcmRbJ3JlYWRfTWlCcyddOwoJCQkJCQkJCQkJ
fWVsc2VpZigkcmVjb3JkWydyZWFkX01pQnMnXT5zZWxmOjokaW9fc3VtbWFyeVsiJGRldiJdWydt
YXhfcmVhZCddKXsKCQkJCQkJCQkJCQlzZWxmOjokaW9fc3VtbWFyeVsiJGRldiJdWydtYXhfcmVh
ZCddPSRyZWNvcmRbJ3JlYWRfTWlCcyddOwoJCQkJCQkJCQkJfQoJCQkJCQkJCQkJaWYoJHJlY29y
ZFsnd3JpdGVfTWlCcyddPHNlbGY6OiRpb19zdW1tYXJ5WyIkZGV2Il1bJ21pbl93cml0ZSddKXsK
CQkJCQkJCQkJCQlzZWxmOjokaW9fc3VtbWFyeVsiJGRldiJdWydtaW5fd3JpdGUnXT0kcmVjb3Jk
Wyd3cml0ZV9NaUJzJ107CgkJCQkJCQkJCQl9ZWxzZWlmKCRyZWNvcmRbJ3dyaXRlX01pQnMnXT5z
ZWxmOjokaW9fc3VtbWFyeVsiJGRldiJdWydtYXhfd3JpdGUnXSl7CgkJCQkJCQkJCQkJc2VsZjo6
JGlvX3N1bW1hcnlbIiRkZXYiXVsnbWF4X3dyaXRlJ109JHJlY29yZFsnd3JpdGVfTWlCcyddOwoJ
CQkJCQkJCQkJfQoJCQkJCQkJCQkJaWYoJHJlY29yZFsnc3ZjdG0nXTxzZWxmOjokaW9fc3VtbWFy
eVsiJGRldiJdWydtaW5fc3ZjdG0nXSl7CgkJCQkJCQkJCQkJc2VsZjo6JGlvX3N1bW1hcnlbIiRk
ZXYiXVsnbWluX3N2Y3RtJ109JHJlY29yZFsnc3ZjdG0nXTsKCQkJCQkJCQkJCX1lbHNlaWYoJHJl
Y29yZFsnc3ZjdG0nXT5zZWxmOjokaW9fc3VtbWFyeVsiJGRldiJdWydtYXhfc3ZjdG0nXSl7CgkJ
CQkJCQkJCQkJc2VsZjo6JGlvX3N1bW1hcnlbIiRkZXYiXVsnbWF4X3N2Y3RtJ109JHJlY29yZFsn
c3ZjdG0nXTsKCQkJCQkJCQkJCX0KCQkJCQkJCQkJCXNlbGY6OiRpb19zdW1tYXJ5WyIkZGV2Il1b
J2F2Z19yZWFkJ109KChzZWxmOjokaW9fc3VtbWFyeVsiJGRldiJdWydhdmdfcmVhZCddKiRuKSsk
cmVjb3JkWydyZWFkX01pQnMnXSk7CgkJCQkJCQkJCQlzZWxmOjokaW9fc3VtbWFyeVsiJGRldiJd
Wydhdmdfd3JpdGUnXT0oKHNlbGY6OiRpb19zdW1tYXJ5WyIkZGV2Il1bJ2F2Z193cml0ZSddKiRu
KSskcmVjb3JkWyd3cml0ZV9NaUJzJ10pOwoJCQkJCQkJCQkJc2VsZjo6JGlvX3N1bW1hcnlbIiRk
ZXYiXVsnYXZnX3N2Y3RtJ109KChzZWxmOjokaW9fc3VtbWFyeVsiJGRldiJdWydhdmdfc3ZjdG0n
XSokbikrJHJlY29yZFsnc3ZjdG0nXSk7CgkJCQkJCQkJCQlzZWxmOjokaW9fc3VtbWFyeVsiJGRl
diJdWydhdmdfcmVhZCddLz0kbjsKCQkJCQkJCQkJCXNlbGY6OiRpb19zdW1tYXJ5WyIkZGV2Il1b
J2F2Z193cml0ZSddLz0kbjsKCQkJCQkJCQkJCXNlbGY6OiRpb19zdW1tYXJ5WyIkZGV2Il1bJ2F2
Z19zdmN0bSddLz0kbjsKCQkJCQkJCQkJfWVsc2V7CgkJCQkJCQkJCQlzZWxmOjokaW9fc3VtbWFy
eVsiJGRldiJdPWFycmF5KAoJCQkJCQkJCQkJCSdtaW5fcmVhZCc9PiRyZWNvcmRbJ3JlYWRfTWlC
cyddLAoJCQkJCQkJCQkJCSdtYXhfcmVhZCc9PiRyZWNvcmRbJ3JlYWRfTWlCcyddLAoJCQkJCQkJ
CQkJCSdhdmdfcmVhZCc9PiRyZWNvcmRbJ3JlYWRfTWlCcyddLAoJCQkJCQkJCQkJCSdtaW5fd3Jp
dGUnPT4kcmVjb3JkWyd3cml0ZV9NaUJzJ10sCgkJCQkJCQkJCQkJJ21heF93cml0ZSc9PiRyZWNv
cmRbJ3dyaXRlX01pQnMnXSwKCQkJCQkJCQkJCQknYXZnX3dyaXRlJz0+JHJlY29yZFsnd3JpdGVf
TWlCcyddLAoJCQkJCQkJCQkJCSdtaW5fc3ZjdG0nPT4kcmVjb3JkWydzdmN0bSddLAoJCQkJCQkJ
CQkJCSdtYXhfc3ZjdG0nPT4kcmVjb3JkWydzdmN0bSddLAoJCQkJCQkJCQkJCSdhdmdfc3ZjdG0n
PT4kcmVjb3JkWydzdmN0bSddCgkJCQkJCQkJCQkpOwoJCQkJCQkJCQl9CgkJCQkJCQkJfQoJCQkJ
CQkJCXVuc2V0KCRyZWNvcmQpOwoJCQkJCQkJCSRuKys7CgkJCQkJCQl9CgkJCQkJCQl1bnNldCgk
Z3JvdXApOwoJCQkJCQl9CgkJCQkJfQoJCQkJCXVuc2V0KCRsb2cpOwoJCQkJCS8vIHdvcmsgb3V0
IHRoZSB0aHJvdWdocHV0IGFuZCBsYXRlbmN5IHNjYWxlcyBiYXNlZCBvbiBtYXggdmFsdWVzCgkJ
CQkJZm9yZWFjaChzZWxmOjokaW9fc3VtbWFyeSBhcyAkZGV2PT4mJGluZm8pewoJCQkJCQkkYT0o
JGluZm9bJ21heF9yZWFkJ10+JGluZm9bJ21heF93cml0ZSddKT8kaW5mb1snbWF4X3JlYWQnXTok
aW5mb1snbWF4X3dyaXRlJ107CgkJCQkJCWlmKCRhPjQwOTYwLjApeyAvLyAxMDAgR2lCL3MKCQkJ
CQkJCSRpbmZvWyd0aHJvdWdocHV0X3NjYWxlJ109JzEwMEcnOwoJCQkJCQl9ZWxzZWlmKCRhPjIw
NDgwLjApeyAvLyA0MCBHaUIvcwoJCQkJCQkJJGluZm9bJ3Rocm91Z2hwdXRfc2NhbGUnXT0nNDBH
JzsKCQkJCQkJfWVsc2VpZigkYT4xMDI0MC4wKXsgLy8gMjAgR2lCL3MKCQkJCQkJCSRpbmZvWyd0
aHJvdWdocHV0X3NjYWxlJ109JzIwRyc7CgkJCQkJCX1lbHNlaWYoJGE+NDA5Ni4wKXsgLy8gMTAg
R2lCL3MKCQkJCQkJCSRpbmZvWyd0aHJvdWdocHV0X3NjYWxlJ109JzEwRyc7CgkJCQkJCX1lbHNl
aWYoJGE+MTAyNC4wKXsgLy8gNCBHaUIvcwoJCQkJCQkJJGluZm9bJ3Rocm91Z2hwdXRfc2NhbGUn
XT0nNEcnOwoJCQkJCQl9ZWxzZWlmKCRhPjQwMC4wKXsgLy8gMSBHaUIvcwoJCQkJCQkJJGluZm9b
J3Rocm91Z2hwdXRfc2NhbGUnXT0nMUcnOwoJCQkJCQl9ZWxzZXsgLy8gNDAwIE1pQi9zCgkJCQkJ
CQkkaW5mb1sndGhyb3VnaHB1dF9zY2FsZSddPSc0MDBNJzsKCQkJCQkJfQoJCQkJCQlpZigkaW5m
b1snbWF4X3N2Y3RtJ10+MzAwMC4wKXsgLy8gNCBzZWNvbmRzCgkJCQkJCQkkaW5mb1snbGF0ZW5j
eV9zY2FsZSddPSc0Uyc7CgkJCQkJCX1lbHNlaWYoJGluZm9bJ21heF9zdmN0bSddPjIwMDAuMCl7
IC8vIDMgc2Vjb25kcwoJCQkJCQkJJGluZm9bJ2xhdGVuY3lfc2NhbGUnXT0nM1MnOwoJCQkJCQl9
ZWxzZWlmKCRpbmZvWydtYXhfc3ZjdG0nXT4xMDAwLjApeyAvLyAyIHNlY29uZHMKCQkJCQkJCSRp
bmZvWydsYXRlbmN5X3NjYWxlJ109JzJTJzsKCQkJCQkJfWVsc2VpZigkaW5mb1snbWF4X3N2Y3Rt
J10+NDAwLjApeyAvLyAxIHNlY29uZAoJCQkJCQkJJGluZm9bJ2xhdGVuY3lfc2NhbGUnXT0nMVMn
OwkKCQkJCQkJfWVsc2VpZigkaW5mb1snbWF4X3N2Y3RtJ10+MTAwLjApeyAvLyA0MDBtcwoJCQkJ
CQkJJGluZm9bJ2xhdGVuY3lfc2NhbGUnXT0nNDAwTVMnOwoJCQkJCQl9ZWxzZWlmKCRpbmZvWydt
YXhfc3ZjdG0nXT40MC4wKXsgLy8gMTAwbXMKCQkJCQkJCSRpbmZvWydsYXRlbmN5X3NjYWxlJ109
JzEwME1TJzsKCQkJCQkJfWVsc2V7IC8vIDQwbXMKCQkJCQkJCSRpbmZvWydsYXRlbmN5X3NjYWxl
J109JzQwTVMnOwoJCQkJCQl9CgkJCQkJCQoJCQkJCX0KCQkJCQl1bnNldCgkaW5mbyk7CgkJCQkJ
YnJlYWs7CgkJCX0KCQl9CgkJLy90cmFjZSgnRVhJVElORyBzeXNtb246OmludGVybWVkaWF0ZV9s
b2FkKCkuJyk7CgkJcmV0dXJuICRyZXR1cm47CgkJCgl9CgkKCS8qIC0tIE1FVEhPRCAoZm9ybV9y
ZXNwb25zZSkgcmVzb3VyY2VfbW9uaXRvcih1c2VyIGlucHV0KGFyeS1wdHIpKSAtLSAKCS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJRmV0Y2hl
cyBkYXRhIGZyb20gdGhlIHJlc291cmNlIG1vbml0b3IgbG9ncyBhY2NvcmRpbmcgdG8gdGhlCglw
YXJhbWV0ZXJzIGRlZmluZWQgYnkgdGhlIHVzZXIgZm9yIHRoZSBzcGVjaWZpYyBjb21wb25lbnQg
YW5kCgl0aW1lIHJhbmdlLgoJICBQYXJzaW5nIG91dCB0aGUgZGF0YSB0byBidWlsZCBncmFwaHMg
YW5kIGNoYXJ0cyBpcyB0aGUKCXJvbGUgb2YgdGhlIG91dGVyIGZpbHRlciBvYmplY3QuCgktLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCXB1
YmxpYyBzdGF0aWMgZnVuY3Rpb24gcmVzb3VyY2VfbW9uaXRvcigmJGlucHV0KXsKCQlpbmNsdWRl
X29uY2UoJ3NoYXJlZF9saWIucGhwJyk7CgkJaWYoIVVTRVI6OlJCQUMoJ01PTklUT1InKSl7CgkJ
CWRpZSgnQUNDRVNTIERFTklFRCcpOwoJCX0KCQkvL3RyYWNlKCdFTlRFUklORyBzeXNtb246OnJl
c291cmNlX21vbml0b3IoKS4nKTsKCQkkcmVzcG9uc2U9bmV3IGZvcm1fcmVzcG9uc2U7CgkJIyBW
QUxJREFURSBub2RlIChtYW5kYXRvcnk7IG11c3QgZXhpc3QgaW4gaG9zdHMgdGFibGUpCgkJaW5j
bHVkZV9vbmNlKCdzaGFyZWRfbGliL2FjX3RhYmxlcy5waHAnKTsKCQkkaG9zdHM9bmV3IGFjX3Rh
YmxlcyhFTlY6OiRHTE9CQUxbJ3BhdGgnXS4nL3Jlc291cmNlcy8nLkVOVjo6JEFQUFsnYXBwaWQn
XS4nL2hvc3RzJyk7CgkJaWYoIWZvcm1fcHJvY2Vzc29yOjpleGlzdHMoJGlucHV0Wydub2RlJ10p
KXsKCQkJJHJlc3BvbnNlLT5zZXRfbWVzc2FnZSgnd2FybmluZ19ub2RlX25vdF9mb3VuZCcpOwoJ
CQkkcmVzcG9uc2UtPnNldF9zdGF0dXMoMSk7CgkJCSRyZXNwb25zZS0+aW5jcmVtZW50X2Vycm9y
cygpOwoJCX1lbHNlewoJCQkkbm9kZT0kaG9zdHMtPnNlbGVjdF9pZCgoaW50KSRpbnB1dFsnbm9k
ZSddLGFycmF5KCdpcCcsJ2FwaV9wb3J0JywndGxzJykpOwoJCQlpZihjb3VudCgkbm9kZSk9PT0w
KXsKCQkJCSRyZXNwb25zZS0+c2V0X21lc3NhZ2UoJ3dhcm5pbmdfbm9kZV9ub3RfZm91bmQnKTsK
CQkJCSRyZXNwb25zZS0+c2V0X3N0YXR1cygxKTsKCQkJCSRyZXNwb25zZS0+aW5jcmVtZW50X2Vy
cm9ycygpOwoJCQl9CgkJfQoJCSMgVkFMSURBVEUgY29sbGVjdGlvbnMgKG1hbmRhdG9yeTsgbXVz
dCBiZSBhcnJheSBvZiBTWVNJTkZPLCBSRVNPVVJDRVMsIENBUEFDSVRZLCBORVRXT1JLLCBvciBJ
TykKCQlpZigKCQkJKCFmb3JtX3Byb2Nlc3Nvcjo6ZXhpc3RzKCRpbnB1dFsnY29sbGVjdGlvbnMn
XSkpfHwKCQkJKCFpc19hcnJheSgkaW5wdXRbJ2NvbGxlY3Rpb25zJ10pKXx8CgkJCShjb3VudCgk
aW5wdXRbJ2NvbGxlY3Rpb25zJ10pPjUpCgkJKXsKCQkJJHJlc3BvbnNlLT5zZXRfbWVzc2FnZSgn
ZXJyb3Jfbm9fY29tcG9uZW50Jyk7CgkJCSRyZXNwb25zZS0+c2V0X3N0YXR1cygyKTsKCQkJJHJl
c3BvbnNlLT5pbmNyZW1lbnRfZXJyb3JzKCk7CgkJfWVsc2V7CgkJCSRhPWFycmF5KCdTWVNJTkZP
JywnUkVTT1VSQ0VTJywnQ0FQQUNJVFknLCdORVRXT1JLJywnSU8nKTsKCQkJZm9yZWFjaCgkaW5w
dXRbJ2NvbGxlY3Rpb25zJ10gYXMgJiR2YWwpewoJCQkJaWYoIWluX2FycmF5KCR2YWwsJGEsMSkp
ewoJCQkJCSRyZXNwb25zZS0+c2V0X3N0YXR1cygxKTsKCQkJCQkkcmVzcG9uc2UtPmluY3JlbWVu
dF9lcnJvcnMoKTsKCQkJCQlicmVhazsKCQkJCX0KCQkJfQoJCQl1bnNldCgkdmFsKTsKCQl9CgkJ
I1ZBTElEQVRFIHJhbmdlIChjb25kaXRpb25hbDsgaWYgY29tcG9uZW50IGluY2x1ZGVzIG1vcmUg
dGhhbiBTWVNJTkZPLCBtdXN0IGJlIEhPVVIsIERBWSwgV0VFSyBvciBNT05USCkKCQlpZigKCQkJ
KCRyZXNwb25zZS0+dmFsaWRhdGVkX29rKCkpJiYKCQkJKAoJCQkJKGNvdW50KCRpbnB1dFsnY29s
bGVjdGlvbnMnXSkhPT0xKXx8CgkJCQkoJGlucHV0Wydjb2xsZWN0aW9ucyddWzBdIT09J1NZU0lO
Rk8nKQoJCQkpCgkJKXsKCQkJJGE9YXJyYXkoJ0hPVVInLCdEQVknLCdXRUVLJywnTU9OVEgnKTsK
CQkJaWYoCgkJCQkoIWZvcm1fcHJvY2Vzc29yOjpleGlzdHMoJGlucHV0WydyYW5nZSddKSl8fAoJ
CQkJKCFpbl9hcnJheSgkaW5wdXRbJ3JhbmdlJ10sJGEsMSkpCgkJCSl7CgkJCQkkcmVzcG9uc2Ut
PnNldF9tZXNzYWdlKCdlcnJvcl9yYW5nZScpOwoJCQkJJHJlc3BvbnNlLT5zZXRfc3RhdHVzKDIp
OwoJCQkJJHJlc3BvbnNlLT5pbmNyZW1lbnRfZXJyb3JzKCk7CgkJCX1lbHNlewoJCQkJJGVuZHRp
bWU9dGltZSgpOwoJCQkJc3dpdGNoKCRpbnB1dFsncmFuZ2UnXSl7CgkJCQkJY2FzZSAnSE9VUic6
CgkJCQkJCSRzdGFydHRpbWU9JGVuZHRpbWUtMzYwMDsKCQkJCQkJYnJlYWs7CgkJCQkJY2FzZSAn
REFZJzoKCQkJCQkJJHN0YXJ0dGltZT0kZW5kdGltZS04NjQwMDsKCQkJCQkJYnJlYWs7CgkJCQkJ
Y2FzZSAnV0VFSyc6CgkJCQkJCSRzdGFydHRpbWU9JGVuZHRpbWUtNjA0ODAwOwoJCQkJCQlicmVh
azsKCQkJCQljYXNlICdNT05USCc6CgkJCQkJCSRzdGFydHRpbWU9JGVuZHRpbWUtMjQxOTIwMDsK
CQkJCQkJYnJlYWs7CgkJCQl9CgkJCX0KCQl9CgkJIyBWYWxpZGF0ZSBkZXZpY2UgbGlzdCAoY29u
ZGl0aW9uYWw7IElPIGNvbXBvbmVudCByZXF1aXJlZDsgaXMgbm90IHZhbGlkYXRlZCBhZ2FpbnN0
IHJlYWwgZGV2aWNlcyBidXQgbXVzdCBiZSB2YWxpZCBzdHJpbmdzKQoJCWlmKGluX2FycmF5KCdJ
TycsJGlucHV0Wydjb2xsZWN0aW9ucyddLDEpKXsKCQkJaWYoKGZvcm1fcHJvY2Vzc29yOjpleGlz
dHMoJGlucHV0WydkZXZpY2UnXSkpJiYoaXNfYXJyYXkoJGlucHV0WydkZXZpY2UnXSkpKXsKCQkJ
CSRpb19kZXZpY2U9RkFMU0U7IC8vIHRlbGxzIHRoZSBjYWxsaW5nIG1ldGhvZCB3ZSBkb24ndCB3
YW50IHRvIHJlZHJhdyB0aGlzIGVsZW1lbnQgYmVjYXVzZSBpdCBpcyBhbHJlYWR5IG9uIHRoZSBz
Y3JlZW4KCQkJCWZvcmVhY2goJGlucHV0WydkZXZpY2UnXSBhcyAmJGRldil7CgkJCQkJaWYoIXBy
ZWdfbWF0Y2goJy9cQVstX2EtejAtOV17MSwxMjh9XFovaVMnLCRkZXYpKXsKCQkJCQkJJHJlc3Bv
bnNlLT5zZXRfc3RhdHVzKDEpOwoJCQkJCQkkcmVzcG9uc2UtPmluY3JlbWVudF9lcnJvcnMoKTsK
CQkJCQkJYnJlYWs7CgkJCQkJfQoJCQkJfQoJCQkJdW5zZXQoJGRldik7CgkJCX1lbHNlewoJCQkJ
JGlvX2RldmljZT1UUlVFOyAvLyB0ZWxscyB0aGUgY2FsbGluZyBtZXRob2Qgd2UgZG8gd2FudCB0
byBkcmF3IHRoZSBkZXZpY2UgbGlzdCBiZWNhdXNlIGl0IGRvZXNuJ3QgZXhpc3QgeWV0CgkJCX0K
CQl9CgkJIyBWYWxpZGF0ZSBsaW5rIGRldmljZSBsaXN0IChjb25kaXRpb25hbDsgTkVUV09SSyBj
b21wb25lbnQgcmVxdWlyZWQ7IGlzIG5vdCB2YWxpZGF0ZWQgYWdhaW5zdCByZWFsIGRldmljZXMg
YnV0IG11c3QgYmUgdmFsaWQgc3RyaW5ncykKCQlpZihpbl9hcnJheSgnTkVUV09SSycsJGlucHV0
Wydjb2xsZWN0aW9ucyddLDEpKXsKCQkJaWYoKGZvcm1fcHJvY2Vzc29yOjpleGlzdHMoJGlucHV0
WydsaW5rJ10pKSYmKGlzX2FycmF5KCRpbnB1dFsnbGluayddKSkpewoJCQkJJGxpbmtfZGV2aWNl
PUZBTFNFOyAvLyB0ZWxscyB0aGUgY2FsbGluZyBtZXRob2Qgd2UgZG9uJ3Qgd2FudCB0byByZWRy
YXcgdGhpcyBlbGVtZW50IGJlY2F1c2UgaXQgaXMgYWxyZWFkeSBvbiB0aGUgc2NyZWVuCgkJCQlm
b3JlYWNoKCRpbnB1dFsnbGluayddIGFzICYkZGV2KXsKCQkJCQlpZighcHJlZ19tYXRjaCgnL1xB
Wy1fYS16MC05XXsxLDEyOH1cWi9pUycsJGRldikpewoJCQkJCQkkcmVzcG9uc2UtPnNldF9zdGF0
dXMoMSk7CgkJCQkJCSRyZXNwb25zZS0+aW5jcmVtZW50X2Vycm9ycygpOwoJCQkJCQlicmVhazsK
CQkJCQl9CgkJCQl9CgkJCQl1bnNldCgkZGV2KTsKCQkJfWVsc2V7CgkJCQkkbGlua19kZXZpY2U9
VFJVRTsgLy8gdGVsbHMgdGhlIGNhbGxpbmcgbWV0aG9kIHdlIGRvIHdhbnQgdG8gZHJhdyB0aGUg
ZGV2aWNlIGxpc3QgYmVjYXVzZSBpdCBkb2Vzbid0IGV4aXN0IHlldAoJCQl9CgkJfQoJCSMgVmFs
aWRhdGUgZmlsZSBzeXN0ZW0gbGlzdCAoY29uZGl0aW9uYWw7IENBUEFDSVRZIGNvbXBvbmVudCBy
ZXF1aXJlczsgaXMgbm90IHZhbGlkYXRlZCBhZ2FpbnN0IHJlYWwgZmlsZSBzeXN0ZW1zIGJ1dCBt
dXN0IGJlIHZhbGlkIHN0cmluZykKCQlpZihpbl9hcnJheSgnQ0FQQUNJVFknLCRpbnB1dFsnY29s
bGVjdGlvbnMnXSwxKSl7CgkJCWlmKChmb3JtX3Byb2Nlc3Nvcjo6ZXhpc3RzKCRpbnB1dFsnZmls
ZXN5c3RlbSddKSkmJihpc19hcnJheSgkaW5wdXRbJ2ZpbGVzeXN0ZW0nXSkpKXsKCQkJCSRmaWxl
c3lzdGVtcz1GQUxTRTsKCQkJCWZvcmVhY2goJGlucHV0WydmaWxlc3lzdGVtJ10gYXMgJiRmcyl7
CgkJCQkJaWYoCgkJCQkJCSgkZnMhPT0nLycpJiYKCQkJCQkJKAoJCQkJCQkJKCFwcmVnX21hdGNo
KCcjXEEoL1stX1wuXF1cWytcKVwoYS16MC05XSspKy8/I2knLCRmcykpfHwKCQkJCQkJCShwcmVn
X21hdGNoKCcjXC57MSwyfS8jJywkZnMpKQoJCQkJCQkpCgkJCQkJKXsKCQkJCQkJJHJlc3BvbnNl
LT5zZXRfc3RhdHVzKDEpOwoJCQkJCQkkcmVzcG9uc2UtPmluY3JlbWVudF9lcnJvcnMoKTsKCQkJ
CQkJYnJlYWs7CgkJCQkJfQoJCQkJfQoJCQkJdW5zZXQoJGZzKTsKCQkJfWVsc2V7CgkJCQkkZmls
ZXN5c3RlbXM9VFJVRTsgLy8gdGVsbHMgdGhlIGNhbGxpbmcgbWV0aG9kIHdlIGRvIHdhbnQgdG8g
ZHJhdyB0aGUgZmlsZXN5c3RlbSBsaXN0LgoJCQl9CgkJfQoJCSMgRVZBTFVBVEUKCQlpZigkcmVz
cG9uc2UtPnZhbGlkYXRlZF9vaygpKXsKCQkJJGlucHV0WydyYW5nZSddPShmb3JtX3Byb2Nlc3Nv
cjo6ZXhpc3RzKCRpbnB1dFsncmFuZ2UnXSkpPyRpbnB1dFsncmFuZ2UnXTonTlVMTCc7CgkJCWlm
KCRub2RlWzBdWydpcCddPT09JzEyNy4wLjAuMScpeyAvLyBsb2FkaW5nIGxvY2FsbHkKCQkJCSRz
dGF0cz1zZWxmOjppbnRlcm1lZGlhdGVfbG9hZCgkaW5wdXRbJ2NvbGxlY3Rpb25zJ10sJGlucHV0
WydyYW5nZSddKTsKCQkJfWVsc2V7IC8vIGxvYWRpbmcgb3ZlciBBUEkKCQkJCWluY2x1ZGVfb25j
ZSgnc2hhcmVkX2xpYi9zd2FwaV8yLjFfY2xpZW50LnBocCcpOwoJCQkJJHN3YXBpPW5ldyBzd2Fw
aV9jKCRub2RlWzBdWydpcCddLCRub2RlWzBdWydhcGlfcG9ydCddLCgkbm9kZVswXVsndGxzJ109
PT0nWScpP1RSVUU6RkFMU0UsJ05FQlVMQScsJ05FQlVMQTEuMEMnLCdDUkMzMicpOwoJCQkJJGFy
Z3NbXT1pbXBsb2RlKCcsJywkaW5wdXRbJ2NvbGxlY3Rpb25zJ10pOwoJCQkJJGFyZ3NbXT0kaW5w
dXRbJ3JhbmdlJ107CgkJCQkkYT0kc3dhcGktPmNhbGwoJ2dldF9zeXN0ZW1fcmVzb3VyY2VzJywk
YXJncyk7CgkJCQkkc3RhdHM9JGFbJ3N0YXRzJ107CgkJCQlzZWxmOjokaW9fc3VtbWFyeT0kYVsn
aW9fc3VtbWFyeSddOwoJCQkJc2VsZjo6JGxpbmtfc3VtbWFyeT0kYVsnbGlua19zdW1tYXJ5J107
CgkJCQkkYT1OVUxMOwoJCQl9CgkJCS8vIElmIG5vIGRldGFpbHMgZ2VuZXJhdGUgZXJyb3IgbWVz
c2FnZQoJCQlpZighaXNzZXQoJHN0YXRzKSl7CgkJCQkkcmVzcG9uc2UtPm1ldGFkYXRhPSRub2Rl
WzBdWyd0bHMnXT09PSdZJz8naHR0cHM6Ly8nOidodHRwOi8vJy4ieyRub2RlWzBdWydpcCddfTp7
JG5vZGVbMF1bJ2FwaV9wb3J0J119IjsKCQkJCSRyZXNwb25zZS0+c2V0X21lc3NhZ2UoJ2Vycm9y
X25vZGVfdW5yZWFjaGFibGUnKTsKCQkJCSRyZXNwb25zZS0+c2V0X3N0YXR1cygyKTsJCgkJCX1l
bHNleyAvLyBlbHNlIHB1dCBkYXRhIGludG8gYSB0ZW1wZmlsZSAoYW5kIGNsZWFuIHVwIG90aGVy
IHN0YWxlIGZpbGVzIG9sZGVyIHRoYW4gNSBtaW5zKQoJCQkJLy8gY2xlYW4gdXAgc3RhbGUgY2Fj
aGUgZmlsZXMKCQkJCSRzdGFsZT0oc3RyaW5nKXRpbWUoKS0zMDA7CgkJCQkkZGg9b3BlbmRpcihF
TlY6OiRHTE9CQUxbJ3BhdGgnXS4nLy4uL3RlbXBfdXBsb2FkcycpOwoJCQkJd2hpbGUoJGZuPXJl
YWRkaXIoJGRoKSl7CgkJCQkJaWYoc3RycG9zKCRmbiwnYmVhcl9yZXNfJykpewoJCQkJCQljbGVh
cnN0YXRjYWNoZShUUlVFLEVOVjo6JEdMT0JBTFsncGF0aCddLiIvLi4vdGVtcF91cGxvYWRzLyRm
biIpOwoJCQkJCQkkbXRpbWU9ZmlsZW10aW1lKEVOVjo6JEdMT0JBTFsncGF0aCddLiIvLi4vdGVt
cF91cGxvYWRzLyRmbiIpOwoJCQkJCQlpZigkbXRpbWU8PSRzdGFsZSl7CgkJCQkJCQl1bmxpbmso
RU5WOjokR0xPQkFMWydwYXRoJ10uIi8uLi90ZW1wX3VwbG9hZHMvJGZuIik7CgkJCQkJCX0KCQkJ
CQl9CgkJCQl9CgkJCQkvLyB3cml0ZSBuZXcgY2FjaGUgZmlsZSBwZXIgcnNvdXJjZSB0eXBlCgkJ
CQkkaWQ9c3Vic3RyKG1kNShtaWNyb3RpbWUoKS51bmlxaWQobXRfcmFuZCgpLDEpLkVOVjo6JEdM
T0JBTFsnc2FsdCddKSw3LDE2KTsKCQkJCWZvcmVhY2goJHN0YXRzIGFzICRrZXk9PiYkdmFsKXsK
CQkJCQlpZigka2V5IT09J3N5c3RlbScpewoJCQkJCQlmaWxlX3B1dF9jb250ZW50cyhFTlY6OiRH
TE9CQUxbJ3BhdGgnXS4iLy4uL3RlbXBfdXBsb2Fkcy9iZWFyX3Jlc18ka2V5LiIuJGlkLHNlcmlh
bGl6ZSgkdmFsKSk7CgkJCQkJfQoJCQkJfQoJCQkJdW5zZXQoJHZhbCk7CgkJCQkkcmVzcG9uc2Ut
Pm1ldGFkYXRhPWFycmF5KCdpZCc9PiRpZCk7CgkJCQkvLyBwYWNrIHN5c2luZm8gc3RhdHMgaWYg
dGhleSBleGlzdAoJCQkJaWYoYXJyYXlfa2V5X2V4aXN0cygnc3lzdGVtJywkc3RhdHMpKXsKCQkJ
CQkkcmVzcG9uc2UtPm1ldGFkYXRhWydzeXN0ZW0nXT0mJHN0YXRzWydzeXN0ZW0nXTsJCgkJCQl9
CgkJCQkvLyBBZGQgZGlzcGxheSB0cmlnZ2VycwoJCQkJJHJlc3BvbnNlLT5tZXRhZGF0YVsnZGlz
cGxheSddPWFycmF5KCk7CgkJCQkvLyB0cmlnZ2VyIGZvciByZXNvdXJjZXMKCQkJCWlmKGFycmF5
X2tleV9leGlzdHMoJ3Jlc291cmNlcycsJHN0YXRzKSl7CgkJCQkJJHJlc3BvbnNlLT5tZXRhZGF0
YVsnZGlzcGxheSddW109J3Jlc291cmNlcyc7CgkJCQl9CgkJCQkvLyB0cmlnZ2VyIGZvciBpbwoJ
CQkJaWYoYXJyYXlfa2V5X2V4aXN0cygnaW8nLCRzdGF0cykpewoJCQkJCSRyZXNwb25zZS0+bWV0
YWRhdGFbJ2Rpc3BsYXknXVtdPSdpbyc7CgkJCQkJaWYoJGlvX2RldmljZSl7IC8vIHRlbGwgdGhl
IGNhbGxpbmcgbWV0aG9kIHRvIGRyYXcgdGhlIGRldmljZSBsaXN0IGFuZCBhdXRvIHNlbGVjdCBl
dmVyeSBkZXZpY2UKCQkJCQkJJHJlc3BvbnNlLT5tZXRhZGF0YVsnZGlzcGxheSddW109J2lvX2Rl
dmljZXMnOwoJCQkJCQkkcmVzcG9uc2UtPm1ldGFkYXRhWydkZXZpY2VzJ109YXJyYXkoKTsKCQkJ
CQkJJGM9Y291bnQoJHN0YXRzWydpbyddKTsKCQkJCQkJcmVzZXQoJHN0YXRzWydpbyddKTsKCQkJ
CQkJZm9yKCRuPTA7JG48JGM7JG4rKyl7CgkJCQkJCQkkcmVzcG9uc2UtPm1ldGFkYXRhWydkZXZp
Y2VzJ11bXT1rZXkoJHN0YXRzWydpbyddKTsKCQkJCQkJCW5leHQoJHN0YXRzWydpbyddKTsKCQkJ
CQkJfQoJCQkJCQkkYj0kcmVzcG9uc2UtPm1ldGFkYXRhWydkZXZpY2VzJ107CgkJCQkJfWVsc2V7
IC8vIGRvbid0IGRyYXcgdGhlIGRldmljZSBsaXN0IGJ1dCBzZXQgc2VsZWN0ZWQgZGV2aWNlcwoJ
CQkJCQkkYj0kaW5wdXRbJ2RldmljZSddOwoJCQkJCX0KCQkJCQl3aGlsZSgkYT1hcnJheV9wb3Ao
JGIpKXsKCQkJCQkJJHJlc3BvbnNlLT5tZXRhZGF0YVsnc2VsZWN0ZWRfZGV2aWNlcyddWyRhXT1z
ZWxmOjokaW9fc3VtbWFyeVskYV07CgkJCQkJfQoJCQkJfQoJCQkJLy90cmlnZ2VyIGZvciBuZXR3
b3JrCgkJCQlpZihhcnJheV9rZXlfZXhpc3RzKCduZXR3b3JrJywkc3RhdHMpKXsKCQkJCQkkcmVz
cG9uc2UtPm1ldGFkYXRhWydkaXNwbGF5J11bXT0nbmV0d29yayc7CgkJCQkJaWYoJGxpbmtfZGV2
aWNlKXsgLy8gdGVsbCB0aGUgY2FsbGluZyBtZXRob2QgdG8gZHJhdyB0aGUgZGV2aWNlIGxpc3Qg
YW5kIGF1dG8gc2VsZWN0IGV2ZXJ5IGRldmljZQoJCQkJCQkkcmVzcG9uc2UtPm1ldGFkYXRhWydk
aXNwbGF5J11bXT0nbGlua19kZXZpY2VzJzsKCQkJCQkJJHJlc3BvbnNlLT5tZXRhZGF0YVsnbGlu
a3MnXT1hcnJheSgpOwoJCQkJCQkkYz1jb3VudCgkc3RhdHNbJ25ldHdvcmsnXSk7CgkJCQkJCXJl
c2V0KCRzdGF0c1snbmV0d29yayddKTsKCQkJCQkJZm9yKCRuPTA7JG48JGM7JG4rKyl7CgkJCQkJ
CQkkcmVzcG9uc2UtPm1ldGFkYXRhWydsaW5rcyddW109a2V5KCRzdGF0c1snbmV0d29yayddKTsK
CQkJCQkJCW5leHQoJHN0YXRzWyduZXR3b3JrJ10pOwoJCQkJCQl9CgkJCQkJCSRiPSRyZXNwb25z
ZS0+bWV0YWRhdGFbJ2xpbmtzJ107CgkJCQkJfWVsc2V7IC8vIGRvbid0IGRyYXcgdGhlIGRldmlj
ZSBsaXN0IGJ1dCBzZXQgc2VsZWN0ZWQgZGV2aWNlcwoJCQkJCQkkYj0kaW5wdXRbJ2xpbmsnXTsK
CQkJCQl9CgkJCQkJd2hpbGUoJGE9YXJyYXlfcG9wKCRiKSl7CgkJCQkJCSRyZXNwb25zZS0+bWV0
YWRhdGFbJ3NlbGVjdGVkX2xpbmtzJ11bJGFdPXNlbGY6OiRsaW5rX3N1bW1hcnlbJGFdOwoJCQkJ
CX0KCQkJCX0KCQkJCS8vIHRyaWdnZXIgZm9yIGNhcGFjaXR5CgkJCQlpZihhcnJheV9rZXlfZXhp
c3RzKCdjYXBhY2l0eScsJHN0YXRzKSl7CgkJCQkJJHJlc3BvbnNlLT5tZXRhZGF0YVsnZGlzcGxh
eSddW109J2NhcGFjaXR5JzsKCQkJCQlpZigkZmlsZXN5c3RlbXMpewoJCQkJCQkkcmVzcG9uc2Ut
Pm1ldGFkYXRhWydkaXNwbGF5J11bXT0nZmlsZXN5c3RlbXMnOwoJCQkJCQkkcmVzcG9uc2UtPm1l
dGFkYXRhWydmaWxleXN0ZW1zJ109YXJyYXkoKTsKCQkJCQkJJGM9Y291bnQoJHN0YXRzWydjYXBh
Y2l0eSddKTsKCQkJCQkJcmVzZXQoJHN0YXRzWydjYXBhY2l0eSddKTsKCQkJCQkJZm9yKCRuPTA7
JG48JGM7JG4rKyl7CgkJCQkJCQkkcmVzcG9uc2UtPm1ldGFkYXRhWydmaWxlc3lzdGVtcyddW109
a2V5KCRzdGF0c1snY2FwYWNpdHknXSk7CgkJCQkJCQluZXh0KCRzdGF0c1snY2FwYWNpdHknXSk7
CgkJCQkJCX0KCQkJCQkJJHJlc3BvbnNlLT5tZXRhZGF0YVsnc2VsZWN0ZWRfZmlsZXN5c3RlbXMn
XT0mJHJlc3BvbnNlLT5tZXRhZGF0YVsnZmlsZXN5c3RlbXMnXTsKCQkJCQl9ZWxzZXsKCQkJCQkJ
JHJlc3BvbnNlLT5tZXRhZGF0YVsnc2VsZWN0ZWRfZmlsZXN5c3RlbXMnXT0kaW5wdXRbJ2ZpbGVz
eXN0ZW0nXTsKCQkJCQl9CgkJCQl9CgkJCQkvLyBBZGQgdGltZXN0YW1wcwoJCQkJJHJlc3BvbnNl
LT5tZXRhZGF0YVsnc3RhcnR0aW1lJ109JHN0YXJ0dGltZTsKCQkJCSRyZXNwb25zZS0+bWV0YWRh
dGFbJ2VuZHRpbWUnXT0kZW5kdGltZTsKCQkJfQoJCX0KCQkvL3RyYWNlKCdFWElUSU5HIHN5c21v
bjo6cmVzb3VyY2VfbW9uaXRvcigpLicpOwoJCXJldHVybiAkcmVzcG9uc2U7Cgl9CgkKfQo/Pg==" | base64 -di - > "/bear/web_applications/cgi/bear/system_monitor.php"; then
	rollback
fi
log_undo 'rm -f "/bear/web_applications/cgi/bear/system_monitor.php"'
chown developer:apache "/bear/web_applications/cgi/bear/system_monitor.php"
chmod 0660 "/bear/web_applications/cgi/bear/system_monitor.php"
echo -e "Created file '/bear/web_applications/cgi/bear/system_monitor.php'"
if ! echo "PD9waHAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKgogICAgIEZJTEVOQU1FOiBnZXRfc3lzdGVtX3Jlc291cmNl
cy5hcGkKICAgICAgICBUSVRMRTogR2V0IFN5c3RlbSBSZXNvdXJjZXMKICAgIENPUFlSSUdIVDog
Q29weXJpZ2h0IChjKSAyMDEzIC0gMjAyMCBKb2V5IERvYmlhcwogICBDUkVBVEVEIEJZOiBKb2V5
IERvYmlhcwogICBDUkVBVEVEIE9OOiAyMDEzLTEwLTE2CiAgTU9ESUZJRUQgQlk6IEpvZXkgRG9i
aWFzCiAgTU9ESUZJRUQgT046IDIwMjAtMDEtMTUKICBERVNDUklQVElPTjogUmV0dXJucyB0aGUg
c3lzdGVtIHJlc291cmNlIGluZm8gbG9nZ2VkIGJ5IHRoZSBCRUFSIFJlc291Y2UgTW9uaXRvcgoq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKiovCgovL3JlcXVpcmVfb25jZSgnc2hhcmVkX2xpYi9zd2FwaV8y
LjFfcmVzbW9uX3NlcnZlci5waHAnKTsKCnJlcXVpcmVfb25jZSgnYmVhci9hcGlfZmlsdGVycy9y
ZXNtb25fYXV0aGVudGljYXRlLnBocCcpOwpyZXF1aXJlX29uY2UoJ3NoYXJlZF9saWIvc3dhcGlf
Mi4xX3NlcnZlci5waHAnKTsKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAyMDE5LTEyLTI0ICMKIyBBUEkgY2FsbCBoYW5k
bGVyCiRyZXR1cm49TlVMTDsKJHBhdGg9Jy4uL2xvZ3MvcmVzb3VyY2VfbW9uaXRvcic7CmlmKCFm
aWxlX2V4aXN0cygiJHBhdGgvc3lzdGVtLmluaSIpKXsKCXN3YXBpOjplcnJvcigiTm8gc3lzdGVt
IHJlc291cmNlIGluZm9ybWF0aW9uIGZvdW5kIGluICckcGF0aC9zeXN0ZW0uaW5pJy4iKTsKfWVs
c2V7CgkkZXJyb3JzPUZBTFNFOwoJIyB2YWxpZGF0ZSBjb2xsZWN0aW9uIChtYW5kYXRvcnk7IG11
c3QgYmUgQ1NWIG9mIFNZU0lORk8sIE5FVFdPUkssIFJFU09VUkNFUywgQ0FQQUNJVFksIElPKQoJ
aWYoKCFpc3NldChzd2FwaTo6JGFyZ3NbJ24xJ10pKXx8KHN0cmxlbihzd2FwaTo6JGFyZ3NbJ24x
J10pPT09MCkpewoJCXN3YXBpOjplcnJvcignTWlzc2luZyBjb2xsZWN0aW9uIHR5cGUuJyk7CgkJ
JGVycm9ycz1UUlVFOwoJfWVsc2V7CgkJJGNvbGxlY3Rpb25zPWFycmF5KCdTWVNJTkZPJywnTkVU
V09SSycsJ1JFU09VUkNFUycsJ0NBUEFDSVRZJywnSU8nKTsKCQlzd2FwaTo6JGFyZ3NbJ24xJ109
ZXhwbG9kZSgnLCcsc3dhcGk6OiRhcmdzWyduMSddKTsKCQlmb3JlYWNoKHN3YXBpOjokYXJnc1sn
bjEnXSBhcyAmJGNvbGxlY3Rpb24pewoJCQlpZighaW5fYXJyYXkoJGNvbGxlY3Rpb24sJGNvbGxl
Y3Rpb25zLDEpKXsKCQkJCXN3YXBpOjplcnJvcigiSW52YWxpZCBjb2xsZWN0aW9uICckY29sbGVj
dGlvbicuIik7CgkJCQkkZXJyb3JzPVRSVUU7CgkJCQlicmVhazsKCQkJfQoJCX0KCX0KCSMgdmFs
aWRhdGUgcmFuZ2UgKG1hbmRhdG9yeTsgbXVzdCBiZSBlaXRoZXIgTlVMTCwgSE9VUiwgREFZLCBX
RUVLLCBNT05USCkKCSRyYW5nZXM9YXJyYXkoJ05VTEwnLCdIT1VSJywnREFZJywnV0VFSycsJ01P
TlRIJyk7CglpZigoIWlzc2V0KHN3YXBpOjokYXJnc1snbjInXSkpfHwoIWluX2FycmF5KHN3YXBp
OjokYXJnc1snbjInXSwkcmFuZ2VzLDEpKSl7CgkJc3dhcGk6OmVycm9yKCJJbnZhbGlkIHJhbmdl
ICciLnN3YXBpOjokYXJnc1snbjInXS4iJy4iKTsKCQkkZXJyb3JzPVRSVUU7Cgl9ZWxzZWlmKAoJ
CShzd2FwaTo6JGFyZ3NbJ24yJ109PT0nTlVMTCcpJiYKCQkoY291bnQoc3dhcGk6OiRhcmdzWydu
MSddKT09PTEpJiYKCQkoc3dhcGk6OiRhcmdzWyduMSddWzBdIT09J1NZU0lORk8nKQoJKXsKCQlz
d2FwaTo6ZXJyb3IoIlJhbmdlIGNhbiBvbmx5IGJlICdOVUxMJyBpZiBjb2xsZWN0aW9uIGlzIGp1
c3QgJ1NZU0lORk8nLiIpOwoJCSRlcnJvcnM9VFJVRTsKCX0KCWlmKCEkZXJyb3JzKXsKCQlpbmNs
dWRlX29uY2UoJ2JlYXIvc3lzdGVtX21vbml0b3IucGhwJyk7CgkJJHJldHVybj1zeXNtb246OmFw
aV9pbnRlcm1lZGlhdGVfbG9hZChzd2FwaTo6JGFyZ3NbJ24xJ10sc3dhcGk6OiRhcmdzWyduMidd
KTsKCX0KfQpzd2FwaTo6YXBpX3JldHVybigkcmV0dXJuKTsKIz09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gU0VDVElPTiBFTkQg
PQo/Pg==" | base64 -di - > "/bear/web_applications/api/get_system_resources.api"; then
	rollback
fi
log_undo 'rm -f "/bear/web_applications/api/get_system_resources.api"'
chown developer:apache "/bear/web_applications/api/get_system_resources.api"
chmod 0660 "/bear/web_applications/api/get_system_resources.api"
echo -e "Created file '/bear/web_applications/api/get_system_resources.api'"
if ! echo "PD9waHAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKgogICAgIEZJTEVOQU1FOiBnZXRfZGJfc2l6ZXMuYXBpCiAg
ICAgICAgVElUTEU6IEdldCBTeXN0ZW0gUmVzb3VyY2VzCiAgICBDT1BZUklHSFQ6IENvcHlyaWdo
dCAoYykgMjAxMyAtIDIwMTkgSm9leSBEb2JpYXMKICAgQ1JFQVRFRCBCWTogSm9leSBEb2JpYXMK
ICAgQ1JFQVRFRCBPTjogMjAxOC0wMi0yNQogIE1PRElGSUVEIEJZOiBKb2V5IERvYmlhcwogIE1P
RElGSUVEIE9OOiAyMDE5LTA4LTA2CiAgREVTQ1JJUFRJT046IFJlcG9ydHMgb24gdGhlIHNpemUg
b2Ygb25lIG9yIGFsbCBkYXRhYnNlcyBpbiB0aGUgL2JlYXIvZGF0YWJhc2UKICAgICAgICAgICAg
ICAgZGlyZWN0b3J5LiBUaGlzIGlzIHZpdGFsIGZvciB0aGUgbWFpbiBCRUFSIGFwcGxpY2F0aW9u
IHNlcnZlciB0bwoJCQkgICByZXBvcnQgdGhlIHRydWUgZm9vdHByaW50IG9mIGFuIGFwcGxpY2F0
aW9uLgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKiovCgovL3JlcXVpcmVfb25jZSgnc2hhcmVkX2xpYi9z
d2FwaV8yLjFfcmVzbW9uX3NlcnZlci5waHAnKTsKCnJlcXVpcmVfb25jZSgnYmVhci9hcGlfZmls
dGVycy9yZXNtb25fYXV0aGVudGljYXRlLnBocCcpOwpyZXF1aXJlX29uY2UoJ3NoYXJlZF9saWIv
c3dhcGlfMi4xX3NlcnZlci5waHAnKTsKCmlmKCFpc19kaXIoJy9iZWFyL2RhdGFiYXNlL215c3Fs
JykpewoJc3dhcGk6OmVycm9yKCdUaGVyZSBpcyBubyBkYWJhc2UgcnVubmluZyBvbiB0aGlzIGhv
c3QuJyk7CgkkYT1OVUxMOwoJc3dhcGk6OmFwaV9yZXR1cm4oJGEpOwoJZXhpdDsKfQpzd2FwaTo6
Y29tbWVudCgiV2lsbCBxdWVyeSBhbGwgZGF0YWJhc2Ugc2l6ZXMuIEFsbCByZXN1bHRzIGFyZSBp
biBNaUIiKTsKZXhlYygiL2JlYXIvYmluL2JlYXJfZGF0YWJhc2VfZ2V0X3NpemVzIGNzdiIsJHN0
ZG91dCk7CndoaWxlKCRhPWFycmF5X3BvcCgkc3Rkb3V0KSl7CgkkYT1leHBsb2RlKCcsJywkYSk7
CgkkcmV0dXJuWyRhWzBdXT0oaW50KSRhWzFdOwp9Cgpzd2FwaTo6YXBpX3JldHVybigkcmV0dXJu
KTsKPz4=" | base64 -di - > "/bear/web_applications/api/get_db_sizes.api"; then
	rollback
fi
log_undo 'rm -f "/bear/web_applications/api/get_db_sizes.api"'
chown developer:apache "/bear/web_applications/api/get_db_sizes.api"
chmod 0660 "/bear/web_applications/api/get_db_sizes.api"
echo -e "Created file '/bear/web_applications/api/get_db_sizes.api'"
if ! echo "IyEvYmluL2Jhc2gKIwojICAgICAgICAgICAgIE5BTUU6IENoYW5nZSB0aGUgZG9tYWluIGFuZCBw
b3J0IG9mIHRoZSByZXNvdXJjZSBsb2dnZXIKIyAgICAgICAgQ09QWVJJR0hUOiBDb3B5cmlnaHQg
KEMpMjAwOC0yMDE2IEpvZXkgRG9iaWFzCiMgICAgICAgICAgVkVSU0lPTjogMS4wLjgKIyAgICAg
ICBDUkVBVEVEIEJZOiBKb2V5IERvYmlhcyAoam9leS1kb2JpYXNAYXNpYWNvbXRlay5jb20pCiMg
ICAgQ1JFQVRJT04gREFURTogMjAxNi0wNi0wMQojICBMQVNUIFVQREFURUQgQlk6IEpvZXkgRG9i
aWFzIChqb2V5LWRvYmlhc0Bhc2lhY29tdGVrLmNvbSkKIyAgICAgIExBU1QgVVBEQVRFOiAyMDE4
LTAzLTA1CgpQQVRIPS9iaW46L3Vzci9iaW46L3NiaW46L3Vzci9zYmluOi9iZWFyL2JpbgpIVFRQ
X1RBUkdFVD0vZXRjL2h0dHBkL2NvbmYvaHR0cGQuY29uZgpIVFRQU19UQVJHRVQ9L2V0Yy9odHRw
ZC9jb25mLmQvc3NsLmNvbmYKUkVTT1VSQ0VTPS9iZWFyL3dlYl9hcHBsaWNhdGlvbnMvcmVzb3Vy
Y2VzL2JlYXIKSFRUUF9TT1VSQ0U9JFJFU09VUkNFUy9zZXJ2aWNlX2NvbXBvbmVudHMvaHR0cGQu
Y29uZgpIVFRQU19TT1VSQ0U9JFJFU09VUkNFUy9zZXJ2aWNlX2NvbXBvbmVudHMvc3NsLmNvbmYK
S0VZX1BBVEg9JFJFU09VUkNFUy9iZWFyX2FwaS5rZXkKQ0VSVF9QQVRIPSRSRVNPVVJDRVMvYmVh
cl9hcGkuY3J0CkNPTkZJRz0kUkVTT1VSQ0VTL3NlcnZpY2VfY29tcG9uZW50cy9yZXNtb25fY29u
ZmlnLmFycmF5ClNXQVA9L2JlYXIvdG1wL3N3YXBfJCQKTE9PUEJBQ0s9MTI3LjAuMC4xCkZBSUxM
T0c9L2JlYXIvd2ViX2FwcGxpY2F0aW9ucy9sb2dzL2ZhaWxlZF9jb25maWdfcmVzbW9uLmxvZwoK
VVNBR0U9IlxuSU5WQUxJRCBDT01NQU5ECiAgVVNBR0U6IGJlYXJfY29uZmlndXJlX3Jlc291cmNl
X21vbml0b3IgW2h0dHAvaHR0cHMgPGRvbWFpbj4gPHBvcnQ+IDxpcF9tYXNrPl0KRVhBTVBMRTog
YmVhcl9jb25maWd1cmVfcmVzb3VyY2VfbW9uaXRvciBodHRwIHNvbWVkb21haW4uY29tIDgwIDE5
Mi4xNjguMS5cbiIKCmlmIFsgISAkKHdob2FtaSkgPSAncm9vdCcgXTsgdGhlbgoJZWNobyAtZSAi
XG5UaGlzIGNvbW1hbmQgY2FuIG9ubHkgYmUgcnVuIGJ5IHJvb3QuXG4iCglleGl0CmZpCnsKCXJl
YWQKCUNVUlJFTlRfUFJPVE9DT0w9JFJFUExZCglyZWFkCglDVVJSRU5UX0ZRRE49JFJFUExZCgly
ZWFkCglDVVJSRU5UX1BPUlQ9JFJFUExZCglyZWFkCglDVVJSRU5UX0lQTUFTSz0kUkVQTFkKfSA8
ICRDT05GSUcKaWYgWyAkIyA9PSAnMCcgXTsgdGhlbgoJZWNobyAtZSAiXG5CRUFSIFJlc291cmNl
IE1vbml0b3IgaXMgY3VycmVudGx5IGNvbmZpZ3VyZWQgYXMgZm9sbG93cy4uLlxuUHJvdG9jb2w6
ICR7Q1VSUkVOVF9QUk9UT0NPTH1cbkxpc3RlbmluZyBEb21haW46ICR7Q1VSUkVOVF9GUUROfVxu
TGlzdGVuaW5nIFBvcnQ6ICR7Q1VSUkVOVF9QT1JUfVxuQWxsb3cgQ29ubmVjdGlvbnMgRnJvbTog
JHtDVVJSRU5UX0lQTUFTS30iCmVsaWYgWyAkIyA9PSAnNCcgXTsgdGhlbgoJY2FzZSAkMSBpbgoJ
CWh0dHAgfCBIVFRQICkgIyBzZXR1cCBIVFRQIHdpdGggbm8gSFRUUFMgY29uZmlnIGF0IGFsbAoJ
CQlybSAtZiAkRkFJTExPRyAyPiYtCgkJCW00IC1EUk1PTkZRRE49JDIgLURSTU9OUE9SVD0kMyAt
RElQTUFTSz0kNCAtRFNTTENPTkY9JyNJbmNsdWRlIGNvbmYuZC9zc2wuY29uZicgJHtIVFRQX1NP
VVJDRX0gPiAke0hUVFBfVEFSR0VUfQoJCQlybSAtZiAke0hUVFBTX1RBUkdFVH0gMj4mLQoJCQk7
OwoJCWh0dHBzIHwgSFRUUFMgKSAjIHNldHVwIEhUVFBTIHdpdGggSFRUUCBvbmx5IG9uIGxvb3Bi
YWNrCgkJCXJtIC1mICRGQUlMTE9HIDI+Ji0KCQkJaWYgWyAiJDMiID0gJzgwODInIF07IHRoZW4K
CQkJCWVjaG8gJ0VSUk9SISBQb3J0IDgwODIgaXMgcmVzZXJ2ZWQgZm9yIEhUVFAgb25seS4gUGxl
YXNlIGNob29zZSBhIGRpZmZlcmVudCBwb3J0LicKCQkJCWV4aXQgMgoJCQlmaQoJCQltNCAtRFJN
T05GUUROPSRMT09QQkFDSyAtRFJNT05QT1JUPTgwODIgLURJUE1BU0s9JExPT1BCQUNLIC1EU1NM
Q09ORj0nSW5jbHVkZSBjb25mLmQvc3NsLmNvbmYnICR7SFRUUF9TT1VSQ0V9ID4gJHtIVFRQX1RB
UkdFVH0KCQkJbTQgLURSTU9ORlFETj0kMiAtRFJNT05QT1JUPSQzIC1ESVBNQVNLPSQ0ICR7SFRU
UFNfU09VUkNFfSA+ICR7SFRUUFNfVEFSR0VUfQoJCQljaG93biByb290OnJvb3QgJHtIVFRQU19U
QVJHRVR9CgkJCWNobW9kIDA2MDAgJHtIVFRQU19UQVJHRVR9CgkJCWlmIFsgISAtZiAke0tFWV9Q
QVRIfSBdOyB0aGVuICMgQXV0byBnZW5lcmF0ZSB0aGUgQ0EgYW5kIGdldCBhIHNlbGYtc2lnbmVk
IGNlcnRpZmljYXRlCgkJCQlDQVBBVEg9IiQoY2F0IC9ldGMvYWNfeDUwOV9hdXRob3JpdHkvZGF0
YXBhdGgpL3Jlc21vbiIKCQkJCWlmIFsgISAtZCAkQ0FQQVRIL3Jlc21vbiBdOyB0aGVuCgkJCQkJ
ZWNobyAtZSAicmVzbW9uXG5zXG5zXG4xMDI0XG4zNjUyXG4kMlxuXG5cblxuXG5cbm5vcmVwbHlA
YXNpYWNvbXRlay5jb21cbm5cbjEwMjRcbjE4MjVcbm5cbm5cbm5cbm5cbm5cbm5cbnkiID4gJFNX
QVAKCQkJCQlhY194NTA5X2F1dGhvcml0eSBuZXcgPCAkU1dBUCAyPj4gJEZBSUxMT0cgPj4gJEZB
SUxMT0cKCQkJCWZpCgkJCQljcCAkQ0FQQVRIL2NhLmtleSAke0tFWV9QQVRIfQoJCQkJY3AgJENB
UEFUSC9jYS5jcnQgJHtDRVJUX1BBVEh9CgkJCQljaG93biBhcGFjaGU6YXBhY2hlICR7S0VZX1BB
VEh9CgkJCQljaG93biBhcGFjaGU6YXBhY2hlICR7Q0VSVF9QQVRIfQoJCQkJY2htb2QgMDY2MCAk
e0tFWV9QQVRIfQoJCQkJY2htb2QgMDY2MCAke0NFUlRfUEFUSH0KCQkJZmkKCQkJOzsKCQkqICkK
CQkJZWNobyAtZSAiJFVTQUdFIgoJCQlleGl0IDIKCQkJOzsKCWVzYWMKCWNob3duIHJvb3Q6cm9v
dCAke0hUVFBfVEFSR0VUfQoJY2htb2QgMDYwMCAke0hUVFBfVEFSR0VUfQoJc3lzdGVtY3RsIHJl
c3RhcnQgaHR0cGQKCXNsZWVwIDMKCWlmICgoJChzeXN0ZW1jdGwgc3RhdHVzIGh0dHBkLnNlcnZp
Y2UgfCBncmVwIC1pY0UgJ2FjdGl2ZTogYWN0aXZlIFwocnVubmluZ1wpJyk9PTEpKTsgdGhlbgoJ
CWVjaG8gLWVuICIkMVxuJDJcbiQzXG4kNCIgPiAkQ09ORklHCgkJIyBVcGRhdGUgdGhlIGZpcmV3
YWxsIHJ1bGVzCgkJZm9yIHB1YmxpY19pbnRlcmZhY2UgaW4gJChscyAvZXRjL2FjX2ZpcmV3YWxs
L2luY29taW5nXypfcHVibGljKTsgZG8KCQkJZm49JChiYXNlbmFtZSAke3B1YmxpY19pbnRlcmZh
Y2V9KQoJCQlncmVwIC1pdiAnQkVBUiBBcHBsaWNhdGlvbiByZXNtb24nICR7cHVibGljX2ludGVy
ZmFjZX0gPiAkU1dBUAoJCQllY2hvIC1lICJ0Y3BcdCQzXHRCRUFSIEFwcGxpY2F0aW9uIHJlc21v
biIgPj4gJFNXQVAKCQkJbXYgLWYgJFNXQVAgJHtwdWJsaWNfaW50ZXJmYWNlfQoJCWRvbmUKCQly
bSAtZiAkRkFJTExPRyAyPiYtCgkJZWNobyAtZSAiXG5UaGUgQkVBUiBSZXNvdXJjZSBNb25pdG9y
IHdhcyByZWNvbmZpZ3VyZWRcbiIKCWVsc2UgIyByb2xsYmFjayB0aGUgY29uZmlnCgkJZWNobyAt
ZSAiJEBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIgPj4gJEZBSUxMT0cKCQlj
YXQgJHtIVFRQX1RBUkdFVH0gPj4gJEZBSUxMT0cKCQlpZiBbIC1mICR7SFRUUFNfVEFSR0VUfSBd
OyB0aGVuCgkJCWVjaG8gLWUgIlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIiA+
PiAkRkFJTExPRwoJCQljYXQgJHtIVFRQU19UQVJHRVR9ID4+ICRGQUlMTE9HCgkJZmkKCQlpZiBb
ICIke0NVUlJFTlRfUFJPVE9DT0x9IiA9ICdodHRwJyBdOyB0aGVuCgkJCW00IC1EUk1PTkZRRE49
JHtDVVJSRU5UX0ZRRE59IC1EUk1PTlBPUlQ9JHtDVVJSRU5UX1BPUlR9IC1ESVBNQVNLPSR7Q1VS
UkVOVF9JUE1BU0t9IC1EU1NMQ09ORj0nI0luY2x1ZGUgY29uZi5kL3NzbC5jb25mJyAke0hUVFBf
U09VUkNFfSA+ICR7SFRUUF9UQVJHRVR9CgkJCXJtIC1mICR7SFRUUFNfVEFSR0VUfSAyPiYtCgkJ
ZWxzZQoJCQltNCAtRFJNT05GUUROPSRMT09QQkFDSyAtRFJNT05QT1JUPTgwODIgLURJUE1BU0s9
JExPT1BCQUNLIC1EU1NMQ09ORj0nSW5jbHVkZSBjb25mLmQvc3NsLmNvbmYnICR7SFRUUF9TT1VS
Q0V9ID4gJHtIVFRQX1RBUkdFVH0KCQkJbTQgLURSTU9ORlFETj0ke0NVUlJFTlRfRlFETn0gLURS
TU9OUE9SVD0ke0NVUlJFTlRfUE9SVH0gLURJUE1BU0s9JHtDVVJSRU5UX0lQTUFTS30gJHtIVFRQ
U19TT1VSQ0V9ID4gJHtIVFRQU19UQVJHRVR9CgkJCWNob3duIHJvb3Q6cm9vdCAke0hUVFBTX1RB
UkdFVH0KCQkJY2htb2QgMDYwMCAke0hUVFBTX1RBUkdFVH0KCQlmaQoJCWNob3duIHJvb3Q6cm9v
dCAke0hUVFBfVEFSR0VUfQoJCWNobW9kIDA2MDAgJHtIVFRQX1RBUkdFVH0KCQlzeXN0ZW1jdGwg
c3RvcCBodHRwZAoJCXNsZWVwIDEKCQlzeXN0ZW1jdGwgc3RhcnQgaHR0cGQKCQlzbGVlcCAzCgkJ
ZWNobyAtZSAiXG5IVFRQRCBmYWlsZWQgdG8gc3RhcnQgd2l0aCB0aGlzIGNvbmZpZ3VyYXRpb24u
XG5Sb2xsZWQgYmFjayB0byBsYXN0IGNvbmZpZ3VyYXRpb24uXG4iCgkJZXhpdCAyCglmaQplbHNl
CgllY2hvIC1lICIkVVNBR0UiCglleGl0IDIKZmkK" | base64 -di - > "/bear/bin/configure_resmon"; then
	rollback
fi
log_undo 'rm -f "/bear/bin/configure_resmon"'
chown root:root "/bear/bin/configure_resmon"
chmod 0500 "/bear/bin/configure_resmon"
echo -e "Created file '/bear/bin/configure_resmon'"
if ! echo "IyBCRUFSIEhUVFAgQ09ORklHIEZPUiBSRVNPVVJDRSBNT05JVE9SCgpTZXJ2ZXJSb290ICIvZXRj
L2h0dHBkIgpJbmNsdWRlIGNvbmYubW9kdWxlcy5kL2JlYXIuY29uZgpTU0xDT05GClNlcnZlck5h
bWUgUk1PTkZRRE46Uk1PTlBPUlQKRG9jdW1lbnRSb290ICIvYmVhci93ZWJfYXBwbGljYXRpb25z
L2FwaSIKVXNlQ2Fub25pY2FsTmFtZSBPZmYKTGlzdGVuIFJNT05QT1JUClVzZXIgYXBhY2hlCkdy
b3VwIGFwYWNoZQpBY2Nlc3NGaWxlTmFtZSAuaHRhY2Nlc3MKU2VydmVyQWRtaW4gZGV2ZWxvcGVy
QGxvY2FsaG9zdApUaW1lb3V0IDMwMApLZWVwQWxpdmUgT2ZmCk1heEtlZXBBbGl2ZVJlcXVlc3Rz
IDUxMgpLZWVwQWxpdmVUaW1lb3V0IDE1CkVycm9yTG9nICJ8IC91c3Ivc2Jpbi9yb3RhdGVsb2dz
IC9iZWFyL3dlYl9hcHBsaWNhdGlvbnMvbG9ncy9odHRwL2JlYXItZXJyb3IubG9nLSVZJW0gMjQx
OTIwMCIKTG9nTGV2ZWwgd2FybgpBZGREZWZhdWx0Q2hhcnNldCBVVEYtOApFbmFibGVTZW5kZmls
ZSBvbgpFeHRlbmRlZFN0YXR1cyBPbgpIb3N0bmFtZUxvb2t1cHMgT2ZmCgo8SWZNb2R1bGUgcHJl
Zm9yay5jPgoJU3RhcnRTZXJ2ZXJzICAgICAgIDEKCU1pblNwYXJlU2VydmVycyAgICAxCglNYXhT
cGFyZVNlcnZlcnMgICAgMgoJU2VydmVyTGltaXQgICAgICAgIDIKCU1heENsaWVudHMgICAgICAg
ICAyCglNYXhSZXF1ZXN0c1BlckNoaWxkICAzMgo8L0lmTW9kdWxlPgoKPExvY2F0aW9uIC9zZXJ2
ZXItc3RhdHVzPgoJU2V0SGFuZGxlciBzZXJ2ZXItc3RhdHVzCglSZXF1aXJlIGFsbCBkZW5pZWQK
CVJlcXVpcmUgaXAgSVBNQVNLCjwvTG9jYXRpb24+Cgo8TG9jYXRpb24gL3NlcnZlci1pbmZvPgoJ
U2V0SGFuZGxlciBzZXJ2ZXItaW5mbwoJUmVxdWlyZSBhbGwgZGVuaWVkCglSZXF1aXJlIGlwIElQ
TUFTSwo8L0xvY2F0aW9uPgoKPExvY2F0aW9uICIvIj4KCVJlcXVpcmUgYWxsIGRlbmllZAoJUmVx
dWlyZSBpcCBJUE1BU0sKPC9Mb2NhdGlvbj4KCjxEaXJlY3RvcnkgLz4KCUFsbG93T3ZlcnJpZGUg
bm9uZQoJUmVxdWlyZSBhbGwgZGVuaWVkCjwvRGlyZWN0b3J5PgoKPERpcmVjdG9yeSAiL2JlYXIv
d2ViX2FwcGxpY2F0aW9ucy9hcGkiPgoJT3B0aW9ucyAtSW5kZXhlcyArRm9sbG93U3ltTGlua3MK
CUFsbG93T3ZlcnJpZGUgTm9uZQoJUmVxdWlyZSBhbGwgZ3JhbnRlZAo8L0RpcmVjdG9yeT4KCjxJ
Zk1vZHVsZSBkaXJfbW9kdWxlPgoJRGlyZWN0b3J5SW5kZXggaW5kZXguaHRtbCBpbmRleC5waHAg
aW5kZXguYWN4CjwvSWZNb2R1bGU+Cgo8RmlsZXMgIi5odCoiPgoJUmVxdWlyZSBhbGwgZGVuaWVk
CjwvRmlsZXM+Cgo8SWZNb2R1bGUgbG9nX2NvbmZpZ19tb2R1bGU+CglMb2dGb3JtYXQgIiV2ICV7
JUYgJVR9dCB8IFBJRDogJVAgfCBSRU1PVEU6ICVhIHwgVENQLVNFU1M6ICVYIHwgQllURVMtT1VU
OiAlQiB8ICVVIiBhY2xvZwoJQ3VzdG9tTG9nICJ8IC91c3Ivc2Jpbi9yb3RhdGVsb2dzIC9iZWFy
L3dlYl9hcHBsaWNhdGlvbnMvbG9ncy9odHRwL2JlYXItYWNjZXNzLmxvZy0lWSVtJWQlSCAzNjAw
IiBhY2xvZyBlbnY9IWxvY2FsX3JlZmVycmVyCjwvSWZNb2R1bGU+Cgo8SWZNb2R1bGUgYWxpYXNf
bW9kdWxlPgoJU2NyaXB0QWxpYXMgL2NnaS1iaW4vICIvYmVhci93ZWJfYXBwbGljYXRpb25zL2Nn
aS8iCjwvSWZNb2R1bGU+Cgo8RGlyZWN0b3J5ICIvYmVhci93ZWJfYXBwbGljYXRpb25zL2NnaSI+
CiAgICBBbGxvd092ZXJyaWRlIE5vbmUKICAgIE9wdGlvbnMgTm9uZQogICAgUmVxdWlyZSBhbGwg
Z3JhbnRlZAo8L0RpcmVjdG9yeT4KCjxJZk1vZHVsZSBtaW1lX21vZHVsZT4KCVR5cGVzQ29uZmln
IC9ldGMvbWltZS50eXBlcwoJQWRkVHlwZSBhcHBsaWNhdGlvbi94LWNvbXByZXNzIC5aCglBZGRU
eXBlIGFwcGxpY2F0aW9uL3gtZ3ppcCAuZ3ogLnRnegoJQWRkVHlwZSB0ZXh0L2h0bWwgLnNodG1s
IC5waHAgLmFwaSAuYWN4CglBZGRPdXRwdXRGaWx0ZXIgSU5DTFVERVMgLnNodG1sCjwvSWZNb2R1
bGU+Cgo8SWZNb2R1bGUgbWltZV9tYWdpY19tb2R1bGU+CiAgICBNSU1FTWFnaWNGaWxlIGNvbmYv
bWFnaWMKPC9JZk1vZHVsZT4KCjxGaWxlc01hdGNoICJcLihwaHB8YXBpfGFjeCkkIj4KICAgIFNl
dEhhbmRsZXIgYXBwbGljYXRpb24veC1odHRwZC1waHAKPC9GaWxlc01hdGNoPgo=" | base64 -di - > "/bear/web_applications/resources/bear/service_components/httpd.conf"; then
	rollback
fi
log_undo 'rm -f "/bear/web_applications/resources/bear/service_components/httpd.conf"'
chown root:root "/bear/web_applications/resources/bear/service_components/httpd.conf"
chmod 0660 "/bear/web_applications/resources/bear/service_components/httpd.conf"
echo -e "Created file '/bear/web_applications/resources/bear/service_components/httpd.conf'"
if ! echo "IyBCRUFSIEhUVFBTIENPTkZJRyBGT1IgUkVTT1VSQ0UgTU9OSVRPUgoKTGlzdGVuIFJNT05QT1JU
IGh0dHBzClNTTFBhc3NQaHJhc2VEaWFsb2cgZXhlYzovdXNyL2xpYmV4ZWMvaHR0cGQtc3NsLXBh
c3MtZGlhbG9nClNTTFNlc3Npb25DYWNoZSAgICAgICAgIHNobWNiOi9ydW4vaHR0cGQvc3NsY2Fj
aGUoNTEyMDAwKQpTU0xTZXNzaW9uQ2FjaGVUaW1lb3V0ICAyMApTU0xSYW5kb21TZWVkIHN0YXJ0
dXAgZmlsZTovZGV2L3VyYW5kb20gIDI1NgpTU0xSYW5kb21TZWVkIGNvbm5lY3QgYnVpbHRpbgpT
U0xDcnlwdG9EZXZpY2UgYnVpbHRpbgoKPFZpcnR1YWxIb3N0IF9kZWZhdWx0XzpSTU9OUE9SVD4K
CVNlcnZlck5hbWUgUk1PTkZRRE46Uk1PTlBPUlQKCUVycm9yTG9nICJ8IC91c3Ivc2Jpbi9yb3Rh
dGVsb2dzIC9iZWFyL3dlYl9hcHBsaWNhdGlvbnMvbG9ncy9odHRwL2JlYXItc3NsLWVycm9yLmxv
Zy0lWSVtIDI0MTkyMDAiCglUcmFuc2ZlckxvZyAifCAvdXNyL3NiaW4vcm90YXRlbG9ncyAvYmVh
ci93ZWJfYXBwbGljYXRpb25zL2xvZ3MvaHR0cC9iZWFyLWFjY2Vzcy5sb2ctJVklbSAzNjAwIgoJ
TG9nTGV2ZWwgd2FybgoJU1NMRW5naW5lIG9uCglTU0xQcm90b2NvbCBhbGwgLVNTTHYyCglTU0xD
aXBoZXJTdWl0ZSBISUdIOk1FRElVTTohYU5VTEw6IU1ENTohU0VFRDohSURFQQoJU1NMQ2VydGlm
aWNhdGVGaWxlIC9iZWFyL3dlYl9hcHBsaWNhdGlvbnMvcmVzb3VyY2VzL2JlYXIvYmVhcl9hcGku
Y3J0CglTU0xDZXJ0aWZpY2F0ZUtleUZpbGUgL2JlYXIvd2ViX2FwcGxpY2F0aW9ucy9yZXNvdXJj
ZXMvYmVhci9iZWFyX2FwaS5rZXkKCTxGaWxlcyB+ICJcLihhcGkpJCI+CgkgICAgU1NMT3B0aW9u
cyArU3RkRW52VmFycwoJPC9GaWxlcz4KCTxMb2NhdGlvbiAvc2VydmVyLXN0YXR1cz4KCQlTZXRI
YW5kbGVyIHNlcnZlci1zdGF0dXMKCQlSZXF1aXJlIGFsbCBkZW5pZWQKCQlSZXF1aXJlIGlwIElQ
TUFTSwoJPC9Mb2NhdGlvbj4KCTxMb2NhdGlvbiAvc2VydmVyLWluZm8+CgkJU2V0SGFuZGxlciBz
ZXJ2ZXItaW5mbwoJCVJlcXVpcmUgYWxsIGRlbmllZAoJCVJlcXVpcmUgaXAgSVBNQVNLCgk8L0xv
Y2F0aW9uPgoJPExvY2F0aW9uICIvIj4KCQlSZXF1aXJlIGFsbCBkZW5pZWQKCQlSZXF1aXJlIGlw
IElQTUFTSwoJPC9Mb2NhdGlvbj4KCTxEaXJlY3RvcnkgIi92YXIvd3d3L2NnaS1iaW4iPgoJICAg
IFNTTE9wdGlvbnMgK1N0ZEVudlZhcnMKCTwvRGlyZWN0b3J5PgoJQnJvd3Nlck1hdGNoICJNU0lF
IFsyLTVdIiBcCgkgICAgICAgICBub2tlZXBhbGl2ZSBzc2wtdW5jbGVhbi1zaHV0ZG93biBcCgkg
ICAgICAgICBkb3duZ3JhZGUtMS4wIGZvcmNlLXJlc3BvbnNlLTEuMAoJQ3VzdG9tTG9nICJ8IC91
c3Ivc2Jpbi9yb3RhdGVsb2dzIC9iZWFyL3dlYl9hcHBsaWNhdGlvbnMvbG9ncy9odHRwL2JlYXIt
c3NsX3JlcXVlc3QubG9nLSVZJW0gMzYwMCIgXAoJCSAgICAgICAgIiV7JUYgJVR9dCB8IFBJRDog
JVAgfCBSRU1PVEU6ICVhIHwgVENQLVNFU1M6ICVYIHwgQllURVMtT1VUOiAlQiB8ICVVIFNTTDog
JXtTU0xfUFJPVE9DT0x9eCAle1NTTF9DSVBIRVJ9eCIKPC9WaXJ0dWFsSG9zdD4gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgCg==" | base64 -di - > "/bear/web_applications/resources/bear/service_components/ssl.conf"; then
	rollback
fi
log_undo 'rm -f "/bear/web_applications/resources/bear/service_components/ssl.conf"'
chown root:root "/bear/web_applications/resources/bear/service_components/ssl.conf"
chmod 0660 "/bear/web_applications/resources/bear/service_components/ssl.conf"
echo -e "Created file '/bear/web_applications/resources/bear/service_components/ssl.conf'"
if ! echo "IwojIFRoaXMgZmlsZSBsb2FkcyBtb3N0IG9mIHRoZSBtb2R1bGVzIGluY2x1ZGVkIHdpdGggdGhl
IEFwYWNoZSBIVFRQCiMgU2VydmVyIGl0c2VsZi4KIwoKIyBNb2R1bGVzIGxvYWRlZApMb2FkTW9k
dWxlIGF1dGh6X2NvcmVfbW9kdWxlIG1vZHVsZXMvbW9kX2F1dGh6X2NvcmUuc28KTG9hZE1vZHVs
ZSBhdXRoel9ob3N0X21vZHVsZSBtb2R1bGVzL21vZF9hdXRoel9ob3N0LnNvCkxvYWRNb2R1bGUg
aW5jbHVkZV9tb2R1bGUgbW9kdWxlcy9tb2RfaW5jbHVkZS5zbwpMb2FkTW9kdWxlIGxvZ19jb25m
aWdfbW9kdWxlIG1vZHVsZXMvbW9kX2xvZ19jb25maWcuc28KTG9hZE1vZHVsZSBlbnZfbW9kdWxl
IG1vZHVsZXMvbW9kX2Vudi5zbwpMb2FkTW9kdWxlIGV4dF9maWx0ZXJfbW9kdWxlIG1vZHVsZXMv
bW9kX2V4dF9maWx0ZXIuc28KTG9hZE1vZHVsZSBleHBpcmVzX21vZHVsZSBtb2R1bGVzL21vZF9l
eHBpcmVzLnNvCkxvYWRNb2R1bGUgZGVmbGF0ZV9tb2R1bGUgbW9kdWxlcy9tb2RfZGVmbGF0ZS5z
bwpMb2FkTW9kdWxlIGhlYWRlcnNfbW9kdWxlIG1vZHVsZXMvbW9kX2hlYWRlcnMuc28KTG9hZE1v
ZHVsZSBzZXRlbnZpZl9tb2R1bGUgbW9kdWxlcy9tb2Rfc2V0ZW52aWYuc28KTG9hZE1vZHVsZSBt
aW1lX21vZHVsZSBtb2R1bGVzL21vZF9taW1lLnNvCkxvYWRNb2R1bGUgc3RhdHVzX21vZHVsZSBt
b2R1bGVzL21vZF9zdGF0dXMuc28KTG9hZE1vZHVsZSBhdXRvaW5kZXhfbW9kdWxlIG1vZHVsZXMv
bW9kX2F1dG9pbmRleC5zbwpMb2FkTW9kdWxlIGluZm9fbW9kdWxlIG1vZHVsZXMvbW9kX2luZm8u
c28KTG9hZE1vZHVsZSB2aG9zdF9hbGlhc19tb2R1bGUgbW9kdWxlcy9tb2Rfdmhvc3RfYWxpYXMu
c28KTG9hZE1vZHVsZSBuZWdvdGlhdGlvbl9tb2R1bGUgbW9kdWxlcy9tb2RfbmVnb3RpYXRpb24u
c28KTG9hZE1vZHVsZSBkaXJfbW9kdWxlIG1vZHVsZXMvbW9kX2Rpci5zbwpMb2FkTW9kdWxlIGFs
aWFzX21vZHVsZSBtb2R1bGVzL21vZF9hbGlhcy5zbwpMb2FkTW9kdWxlIHJld3JpdGVfbW9kdWxl
IG1vZHVsZXMvbW9kX3Jld3JpdGUuc28KTG9hZE1vZHVsZSB2ZXJzaW9uX21vZHVsZSBtb2R1bGVz
L21vZF92ZXJzaW9uLnNvCkxvYWRNb2R1bGUgY2FjaGVfbW9kdWxlIG1vZHVsZXMvbW9kX2NhY2hl
LnNvCkxvYWRNb2R1bGUgY2FjaGVfZGlza19tb2R1bGUgbW9kdWxlcy9tb2RfY2FjaGVfZGlzay5z
bwpMb2FkTW9kdWxlIHNvY2FjaGVfbWVtY2FjaGVfbW9kdWxlIG1vZHVsZXMvbW9kX3NvY2FjaGVf
bWVtY2FjaGUuc28KTG9hZE1vZHVsZSBzb2NhY2hlX3NobWNiX21vZHVsZSBtb2R1bGVzL21vZF9z
b2NhY2hlX3NobWNiLnNvCkxvYWRNb2R1bGUgbXBtX3ByZWZvcmtfbW9kdWxlIG1vZHVsZXMvbW9k
X21wbV9wcmVmb3JrLnNvCkxvYWRNb2R1bGUgc3NsX21vZHVsZSBtb2R1bGVzL21vZF9zc2wuc28K
TG9hZE1vZHVsZSBzeXN0ZW1kX21vZHVsZSBtb2R1bGVzL21vZF9zeXN0ZW1kLnNvCkxvYWRNb2R1
bGUgY2dpX21vZHVsZSBtb2R1bGVzL21vZF9jZ2kuc28KTG9hZE1vZHVsZSBwaHA3X21vZHVsZSBt
b2R1bGVzL2xpYnBocDcuc28KTG9hZE1vZHVsZSB1bml4ZF9tb2R1bGUgbW9kdWxlcy9tb2RfdW5p
eGQuc28KCiMgTW9kdWxlcyBOT1QgbG9hZGVkCiNMb2FkTW9kdWxlIGFjY2Vzc19jb21wYXRfbW9k
dWxlIG1vZHVsZXMvbW9kX2FjY2Vzc19jb21wYXQuc28KI0xvYWRNb2R1bGUgYWN0aW9uc19tb2R1
bGUgbW9kdWxlcy9tb2RfYWN0aW9ucy5zbwojTG9hZE1vZHVsZSBhbGxvd21ldGhvZHNfbW9kdWxl
IG1vZHVsZXMvbW9kX2FsbG93bWV0aG9kcy5zbwojTG9hZE1vZHVsZSBhdXRobl9jb3JlX21vZHVs
ZSBtb2R1bGVzL21vZF9hdXRobl9jb3JlLnNvCiNMb2FkTW9kdWxlIGF1dGhuX2RiZF9tb2R1bGUg
bW9kdWxlcy9tb2RfYXV0aG5fZGJkLnNvCiNMb2FkTW9kdWxlIGF1dGhuX2RibV9tb2R1bGUgbW9k
dWxlcy9tb2RfYXV0aG5fZGJtLnNvCiNMb2FkTW9kdWxlIGF1dGhuX3NvY2FjaGVfbW9kdWxlIG1v
ZHVsZXMvbW9kX2F1dGhuX3NvY2FjaGUuc28KI0xvYWRNb2R1bGUgYXV0aHpfZGJkX21vZHVsZSBt
b2R1bGVzL21vZF9hdXRoel9kYmQuc28KI0xvYWRNb2R1bGUgYXV0aHpfZGJtX21vZHVsZSBtb2R1
bGVzL21vZF9hdXRoel9kYm0uc28KI0xvYWRNb2R1bGUgYXV0aHpfZ3JvdXBmaWxlX21vZHVsZSBt
b2R1bGVzL21vZF9hdXRoel9ncm91cGZpbGUuc28KI0xvYWRNb2R1bGUgYXV0aHpfb3duZXJfbW9k
dWxlIG1vZHVsZXMvbW9kX2F1dGh6X293bmVyLnNvCiNMb2FkTW9kdWxlIGF1dGh6X3VzZXJfbW9k
dWxlIG1vZHVsZXMvbW9kX2F1dGh6X3VzZXIuc28KI0xvYWRNb2R1bGUgZGF0YV9tb2R1bGUgbW9k
dWxlcy9tb2RfZGF0YS5zbwojTG9hZE1vZHVsZSBkYmRfbW9kdWxlIG1vZHVsZXMvbW9kX2RiZC5z
bwojTG9hZE1vZHVsZSBkdW1waW9fbW9kdWxlIG1vZHVsZXMvbW9kX2R1bXBpby5zbwojTG9hZE1v
ZHVsZSBlY2hvX21vZHVsZSBtb2R1bGVzL21vZF9lY2hvLnNvCiNMb2FkTW9kdWxlIGZpbHRlcl9t
b2R1bGUgbW9kdWxlcy9tb2RfZmlsdGVyLnNvCiNMb2FkTW9kdWxlIGxvZ2lvX21vZHVsZSBtb2R1
bGVzL21vZF9sb2dpby5zbwojTG9hZE1vZHVsZSBtaW1lX21hZ2ljX21vZHVsZSBtb2R1bGVzL21v
ZF9taW1lX21hZ2ljLnNvCiNMb2FkTW9kdWxlIHJlbW90ZWlwX21vZHVsZSBtb2R1bGVzL21vZF9y
ZW1vdGVpcC5zbwojTG9hZE1vZHVsZSByZXF0aW1lb3V0X21vZHVsZSBtb2R1bGVzL21vZF9yZXF0
aW1lb3V0LnNvCiNMb2FkTW9kdWxlIHNsb3RtZW1fcGxhaW5fbW9kdWxlIG1vZHVsZXMvbW9kX3Ns
b3RtZW1fcGxhaW4uc28KI0xvYWRNb2R1bGUgc2xvdG1lbV9zaG1fbW9kdWxlIG1vZHVsZXMvbW9k
X3Nsb3RtZW1fc2htLnNvCiNMb2FkTW9kdWxlIHNvY2FjaGVfZGJtX21vZHVsZSBtb2R1bGVzL21v
ZF9zb2NhY2hlX2RibS5zbwojTG9hZE1vZHVsZSBzdWJzdGl0dXRlX21vZHVsZSBtb2R1bGVzL21v
ZF9zdWJzdGl0dXRlLnNvCiNMb2FkTW9kdWxlIHN1ZXhlY19tb2R1bGUgbW9kdWxlcy9tb2Rfc3Vl
eGVjLnNvCiNMb2FkTW9kdWxlIHVuaXF1ZV9pZF9tb2R1bGUgbW9kdWxlcy9tb2RfdW5pcXVlX2lk
LnNvCiNMb2FkTW9kdWxlIHVzZXJkaXJfbW9kdWxlIG1vZHVsZXMvbW9kX3VzZXJkaXIuc28KI0xv
YWRNb2R1bGUgYnVmZmVyX21vZHVsZSBtb2R1bGVzL21vZF9idWZmZXIuc28KI0xvYWRNb2R1bGUg
d2F0Y2hkb2dfbW9kdWxlIG1vZHVsZXMvbW9kX3dhdGNoZG9nLnNvCiNMb2FkTW9kdWxlIGhlYXJ0
YmVhdF9tb2R1bGUgbW9kdWxlcy9tb2RfaGVhcnRiZWF0LnNvCiNMb2FkTW9kdWxlIGhlYXJ0bW9u
aXRvcl9tb2R1bGUgbW9kdWxlcy9tb2RfaGVhcnRtb25pdG9yLnNvCiNMb2FkTW9kdWxlIHVzZXJ0
cmFja19tb2R1bGUgbW9kdWxlcy9tb2RfdXNlcnRyYWNrLnNvCiNMb2FkTW9kdWxlIGRpYWx1cF9t
b2R1bGUgbW9kdWxlcy9tb2RfZGlhbHVwLnNvCiNMb2FkTW9kdWxlIGNoYXJzZXRfbGl0ZV9tb2R1
bGUgbW9kdWxlcy9tb2RfY2hhcnNldF9saXRlLnNvCiNMb2FkTW9kdWxlIGxvZ19kZWJ1Z19tb2R1
bGUgbW9kdWxlcy9tb2RfbG9nX2RlYnVnLnNvCiNMb2FkTW9kdWxlIHJhdGVsaW1pdF9tb2R1bGUg
bW9kdWxlcy9tb2RfcmF0ZWxpbWl0LnNvCiNMb2FkTW9kdWxlIHJlZmxlY3Rvcl9tb2R1bGUgbW9k
dWxlcy9tb2RfcmVmbGVjdG9yLnNvCiNMb2FkTW9kdWxlIHJlcXVlc3RfbW9kdWxlIG1vZHVsZXMv
bW9kX3JlcXVlc3Quc28KI0xvYWRNb2R1bGUgc2VkX21vZHVsZSBtb2R1bGVzL21vZF9zZWQuc28K
I0xvYWRNb2R1bGUgc3BlbGluZ19tb2R1bGUgbW9kdWxlcy9tb2Rfc3BlbGluZy5zbwojTG9hZE1v
ZHVsZSBhdXRoX2Jhc2ljX21vZHVsZSBtb2R1bGVzL21vZF9hdXRoX2Jhc2ljLnNvCiNMb2FkTW9k
dWxlIGF1dGhfZGlnZXN0X21vZHVsZSBtb2R1bGVzL21vZF9hdXRoX2RpZ2VzdC5zbwojTG9hZE1v
ZHVsZSBhdXRobl9maWxlX21vZHVsZSBtb2R1bGVzL21vZF9hdXRobl9maWxlLnNvCiNMb2FkTW9k
dWxlIGF1dGhuX2Fub25fbW9kdWxlIG1vZHVsZXMvbW9kX2F1dGhuX2Fub24uc28KI0xvYWRNb2R1
bGUgZGF2X21vZHVsZSBtb2R1bGVzL21vZF9kYXYuc28KI0xvYWRNb2R1bGUgZGF2X2ZzX21vZHVs
ZSBtb2R1bGVzL21vZF9kYXZfZnMuc28KI0xvYWRNb2R1bGUgZGF2X2xvY2tfbW9kdWxlIG1vZHVs
ZXMvbW9kX2Rhdl9sb2NrLnNvCiNMb2FkTW9kdWxlIGx1YV9tb2R1bGUgbW9kdWxlcy9tb2RfbHVh
LnNvCiNMb2FkTW9kdWxlIG1wbV93b3JrZXJfbW9kdWxlIG1vZHVsZXMvbW9kX21wbV93b3JrZXIu
c28KI0xvYWRNb2R1bGUgbXBtX2V2ZW50X21vZHVsZSBtb2R1bGVzL21vZF9tcG1fZXZlbnQuc28K
I0xvYWRNb2R1bGUgcHJveHlfbW9kdWxlIG1vZHVsZXMvbW9kX3Byb3h5LnNvCiNMb2FkTW9kdWxl
IGxibWV0aG9kX2J5YnVzeW5lc3NfbW9kdWxlIG1vZHVsZXMvbW9kX2xibWV0aG9kX2J5YnVzeW5l
c3Muc28KI0xvYWRNb2R1bGUgbGJtZXRob2RfYnlyZXF1ZXN0c19tb2R1bGUgbW9kdWxlcy9tb2Rf
bGJtZXRob2RfYnlyZXF1ZXN0cy5zbwojTG9hZE1vZHVsZSBsYm1ldGhvZF9ieXRyYWZmaWNfbW9k
dWxlIG1vZHVsZXMvbW9kX2xibWV0aG9kX2J5dHJhZmZpYy5zbwojTG9hZE1vZHVsZSBsYm1ldGhv
ZF9oZWFydGJlYXRfbW9kdWxlIG1vZHVsZXMvbW9kX2xibWV0aG9kX2hlYXJ0YmVhdC5zbwojTG9h
ZE1vZHVsZSBwcm94eV9hanBfbW9kdWxlIG1vZHVsZXMvbW9kX3Byb3h5X2FqcC5zbwojTG9hZE1v
ZHVsZSBwcm94eV9iYWxhbmNlcl9tb2R1bGUgbW9kdWxlcy9tb2RfcHJveHlfYmFsYW5jZXIuc28K
I0xvYWRNb2R1bGUgcHJveHlfY29ubmVjdF9tb2R1bGUgbW9kdWxlcy9tb2RfcHJveHlfY29ubmVj
dC5zbwojTG9hZE1vZHVsZSBwcm94eV9leHByZXNzX21vZHVsZSBtb2R1bGVzL21vZF9wcm94eV9l
eHByZXNzLnNvCiNMb2FkTW9kdWxlIHByb3h5X2ZjZ2lfbW9kdWxlIG1vZHVsZXMvbW9kX3Byb3h5
X2ZjZ2kuc28KI0xvYWRNb2R1bGUgcHJveHlfZmRwYXNzX21vZHVsZSBtb2R1bGVzL21vZF9wcm94
eV9mZHBhc3Muc28KI0xvYWRNb2R1bGUgcHJveHlfZnRwX21vZHVsZSBtb2R1bGVzL21vZF9wcm94
eV9mdHAuc28KI0xvYWRNb2R1bGUgcHJveHlfaHR0cF9tb2R1bGUgbW9kdWxlcy9tb2RfcHJveHlf
aHR0cC5zbwojTG9hZE1vZHVsZSBwcm94eV9zY2dpX21vZHVsZSBtb2R1bGVzL21vZF9wcm94eV9z
Y2dpLnNvCiNMb2FkTW9kdWxlIHByb3h5X3dzdHVubmVsX21vZHVsZSBtb2R1bGVzL21vZF9wcm94
eV93c3R1bm5lbC5zbwojTG9hZE1vZHVsZSB4bWwyZW5jX21vZHVsZSBtb2R1bGVzL21vZF94bWwy
ZW5jLnNvCiNMb2FkTW9kdWxlIHByb3h5X2h0bWxfbW9kdWxlIG1vZHVsZXMvbW9kX3Byb3h5X2h0
bWwuc28KI0xvYWRNb2R1bGUgbGRhcF9tb2R1bGUgbW9kdWxlcy9tb2RfbGRhcC5zbwojTG9hZE1v
ZHVsZSBhdXRobnpfbGRhcF9tb2R1bGUgbW9kdWxlcy9tb2RfYXV0aG56X2xkYXAuc28KI0xvYWRN
b2R1bGUgc2Vzc2lvbl9tb2R1bGUgbW9kdWxlcy9tb2Rfc2Vzc2lvbi5zbwojTG9hZE1vZHVsZSBz
ZXNzaW9uX2Nvb2tpZV9tb2R1bGUgbW9kdWxlcy9tb2Rfc2Vzc2lvbl9jb29raWUuc28KI0xvYWRN
b2R1bGUgc2Vzc2lvbl9kYmRfbW9kdWxlIG1vZHVsZXMvbW9kX3Nlc3Npb25fZGJkLnNvCiNMb2Fk
TW9kdWxlIGF1dGhfZm9ybV9tb2R1bGUgbW9kdWxlcy9tb2RfYXV0aF9mb3JtLnNvCiNMb2FkTW9k
dWxlIHNlc3Npb25fY3J5cHRvX21vZHVsZSBtb2R1bGVzL21vZF9zZXNzaW9uX2NyeXB0by5zbwoj
TG9hZE1vZHVsZSBhdXRoX2dzc2FwaV9tb2R1bGUgbW9kdWxlcy9tb2RfYXV0aF9nc3NhcGkuc28K
I0xvYWRNb2R1bGUgYXV0aF9rZXJiX21vZHVsZSBtb2R1bGVzL21vZF9hdXRoX2tlcmIuc28KI0xv
YWRNb2R1bGUgYXV0aF9tZWxsb25fbW9kdWxlIG1vZHVsZXMvbW9kX2F1dGhfbWVsbG9uLnNvCiNM
b2FkTW9kdWxlIGZjZ2lkX21vZHVsZSBtb2R1bGVzL21vZF9mY2dpZC5zbwojTG9hZE1vZHVsZSBz
ZWN1cml0eTJfbW9kdWxlIG1vZHVsZXMvbW9kX3NlY3VyaXR5Mi5zbwojTG9hZE1vZHVsZSB1bmlx
dWVfaWRfbW9kdWxlIG1vZHVsZXMvbW9kX3VuaXF1ZV9pZC5zbwojTG9hZE1vZHVsZSBuc3NfbW9k
dWxlIG1vZHVsZXMvbGlibW9kbnNzLnNvCiNMb2FkTW9kdWxlIGRhdl9zdm5fbW9kdWxlICAgICBt
b2R1bGVzL21vZF9kYXZfc3ZuLnNvCiNMb2FkTW9kdWxlIGF1dGh6X3N2bl9tb2R1bGUgICBtb2R1
bGVzL21vZF9hdXRoel9zdm4uc28KI0xvYWRNb2R1bGUgZG9udGRvdGhhdF9tb2R1bGUgIG1vZHVs
ZXMvbW9kX2RvbnRkb3RoYXQuc28KI0xvYWRNb2R1bGUgd3NnaV9tb2R1bGUgbW9kdWxlcy9tb2Rf
d3NnaS5zbwojTG9hZE1vZHVsZSByZXZfbW9kdWxlIG1vZHVsZXMvbW9kX3Jldi5zbwojIExvYWRN
b2R1bGUgYXV0aG56X3BhbV9tb2R1bGUgbW9kdWxlcy9tb2RfYXV0aG56X3BhbS5zbwojIExvYWRN
b2R1bGUgaW50ZXJjZXB0X2Zvcm1fc3VibWl0X21vZHVsZSBtb2R1bGVzL21vZF9pbnRlcmNlcHRf
Zm9ybV9zdWJtaXQuc28KIyBMb2FkTW9kdWxlIGxvb2t1cF9pZGVudGl0eV9tb2R1bGUgbW9kdWxl
cy9tb2RfbG9va3VwX2lkZW50aXR5LnNvCg==" | base64 -di - > "/etc/httpd/conf.modules.d/bear.conf"; then
	rollback
fi
log_undo 'rm -f "/etc/httpd/conf.modules.d/bear.conf"'
chown root:root "/etc/httpd/conf.modules.d/bear.conf"
chmod 0660 "/etc/httpd/conf.modules.d/bear.conf"
echo -e "Created file '/etc/httpd/conf.modules.d/bear.conf'"
if ! echo "IyEvYmluL2Jhc2gKIwojICAgICBGSUxFTkFNRTogcmVzb3VyY2VfbW9uaXRvci5zaAojICAgICAg
ICBUSVRMRTogUmVzb3VyY2UgTW9uaXRvcgojICAgIENPUFlSSUdIVDogQ29weXJpZ2h0IChjKSAy
MDE5IC0gMjAyMCBKb2V5IERvYmlhcwojICAgQ1JFQVRFRCBCWTogSm9leSBEb2JpYXMKIyAgIENS
RUFURUQgT046IDIwMS0xMC0zMAojICBNT0RJRklFRCBCWTogSm9leSBEb2JpYXMKIyAgTU9ESUZJ
RUQgT046IDIwMjAtMDEtMTUKIyAgREVTQ1JJUFRJT046IFJ1bnMgaW4gdGhlIGJhY2tncm91bmQg
Y29sbGVjdGluZyB1c2VmdWwgc3lzdGVtIHBlcmZvcm1hbmNlCiMgICAgICAgICAgICAgICBtZXRy
aWNzIHRvIGJlIHVzZWQgaW4gbGl2ZSBzeXN0ZW0gbW9uaXRvcmluZyBvdmVyIDMwIGRheXMuCiMK
CiMgREVDTEFSRSBHTE9CQUwgVkFSSUFCTEVTCkxPRz0vYmVhci93ZWJfYXBwbGljYXRpb25zL2xv
Z3MvcmVzb3VyY2VfbW9uaXRvcgpPV05FUj1kZXZlbG9wZXIKR1JPVVA9YXBhY2hlClRISVM9JChi
YXNlbmFtZSAkMCkKU1dBUD0vYmVhci90bXAvfnJlc291cmNlX21vbml0b3IKS0VFUF9EQVlTPTMw
CkNVUlJFTlRfREFZPTEKU19USU1FX0ZPUk1BVD1JU08KCiMgRXhpdCBpZiB3ZSBhcmUgYWxyZWFk
eSBydW5uaW5nCmlmIFsgJChwcyAtZnUgJE9XTkVSIHwgZ3JlcCAtYyAkVEhJUykgLWd0IDMgXTsg
dGhlbgoJZWNobyAiUmVzb3VyY2UgTW9uaXRvciBhbHJlYWR5IHJ1bm5pbmcuIgoJZXhpdApmaQoK
IyMjIyBGVU5DVElPTiBsaW5rc3RhdChpbnRlcnZhbCkgLS0gT3V0cHV0cyBuZXR3b3JrIHRyYWZm
aWMgbWV0cmljcyBmb3IgYWN0aXZlIGludGVyZmFjZXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIwpmdW5j
dGlvbiBsaW5rc3RhdCB7Cgl3aGlsZSB0cnVlOyBkbwoJCWRhdGUgLXUgJyslbiVGICVUJwoJCWlw
IC1zIGxpbmsgc2hvdyB1cCB8IGdyZXAgLUVBIDUgJ14oWzItOV06fFsxLTldWzAtOV06KScgfCBz
ZWQgLXIgJ3MvXihbMC05XSs6KS8+XDEvZycKCQlzbGVlcCAkMQoJZG9uZQp9CgojIyMjIEZVTkNU
SU9OIGRmc3RhdChpbnRlcnZhbCkgLS0gT3V0cHV0cyBkaXNrIHV0aWxzYXRpb24gbWV0cmljcwoj
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0jCmZ1bmN0aW9uIGRmc3RhdCB7Cgl3aGlsZSB0cnVlOyBkbwoJCWRh
dGUgLXUgJyslbiVGICVUJwoJCWRmIC1QbEIgTSB8IGdyZXAgLXZFICdeKGRldik/dG1wZnN8L2Jv
b3QnCgkJc2xlZXAgJDEKCWRvbmUKfQoKIyBXaXBlIG91dCBhbGwgZmlsZXMgdGhhdCBwcmV2aW91
c2x5IGV4aXN0ZWQKcm0gLXJmICRMT0cvKiAyPiYtCgojIFNsZWVwIHVwIHRvIDEyeCA1IHNlY29u
ZHMgaWYgYWRkcmVzc2VzIGFyZSBub3QgeWV0IHVwCm49MAp3aGlsZSAoKG48MTIpKTsgZG8KIwlB
RERSRVNTRVM9JChpcCBhZGRyIDI+PiRMT0cvc3RkZXJyLmxvZyB8IGdyZXAgLWlvUCAiaW5ldCBc
ZHsxLDN9XC5bXiBdKyAiIHwgZ3JlcCAtdiAnMTI3XC4wXC4wXC4xJyB8IGN1dCAtZCcgJyAtZjIp
CiMJaWYgWyAteiAiJEFERFJFU1NFUyIgXTsgdGhlbgojCQllY2hvICdXYWl0aW5nIDUgc2Vjb25k
cyBmb3IgaW50ZXJmYWNlcyB0byBjb21lIHVwLi4uJyA+PiRMT0cvc3RkZXJyLmxvZwojCQlzbGVl
cCA1CiMJCSgobisrKSkKIwllbHNlCiMJCW49MTIKIwlmaQoJTElOS1M9JChpcCBsaW5rIHNob3cg
dXAgfCBncmVwIC12IExPT1BCQUNLIHwgZ3JlcCAtRSAnXltbOmRpZ2l0Ol1dKzonIHwgdHIgJyAn
IDogfCBjdXQgLWQnOicgLWYzKQoJaWYgWyAteiAiJExJTktTIiBdOyB0aGVuCgkJZWNobyAnV2Fp
dGluZyA1IHNlY29uZHMgZm9yIGludGVyZmFjZXMgdG8gY29tZSB1cC4uLicgPj4kTE9HL3N0ZGVy
ci5sb2cKCQlzbGVlcCA1CgkJKChuKyspKQoJZWxzZQoJCW49MTIKCWZpCmRvbmUKbj0wCmZvciBM
SU5LIGluICR7TElOS1NbQF19OyBkbwoJZm9yIEFERFIgaW4gJChpcCBhZGRyIHNob3cgJExJTksg
fCBncmVwIC1pb1AgImluZXQgXGR7MSwzfVwuW14gXSsgIiB8IGN1dCAtZCcgJyAtZjIpOyBkbwoJ
CUFERFJFU1NFU1skbl09IiR7QUREUn0tKCRMSU5LKSIKCQkoKG4rKykpCglkb25lCmRvbmUKIAoj
IFdyaXRlIHRoZSBzeXN0ZW0gc3BlY3Mgb25jZQpGSUxFPSRMT0cvc3lzdGVtLmluaQplY2hvIC1l
ICJob3N0bmFtZT1cIiQoaG9zdG5hbWUpXCIKc3lzdGVtX21hbnVmYWN0dXJlcj1cIiQoZG1pZGVj
b2RlIC1zIHN5c3RlbS1tYW51ZmFjdHVyZXIgMj4+JExPRy9zdGRlcnIubG9nKVwiCnN5c3RlbV9w
cm9kdWN0X25hbWU9XCIkKGRtaWRlY29kZSAtcyBzeXN0ZW0tcHJvZHVjdC1uYW1lIDI+PiRMT0cv
c3RkZXJyLmxvZylcIgpiaW9zPVwiJChkbWlkZWNvZGUgLXMgYmlvcy12ZW5kb3IgMj4+JExPRy9z
dGRlcnIubG9nKSAkKGRtaWRlY29kZSAtcyBiaW9zLXZlcnNpb24gMj4+JExPRy9zdGRlcnIubG9n
KVwiCmludGVyZmFjZXM9XCIkQUREUkVTU0VTXCIKa2VybmVsPVwiJCh1bmFtZSAtciAyPj4kTE9H
L3N0ZGVyci5sb2cpXCIKYXJjaD1cIiQodW5hbWUgLWkgMj4+JExPRy9zdGRlcnIubG9nKVwiCmNw
dV90eXBlPVwiJChncmVwIC1tMSAnbW9kZWwgbmFtZScgL3Byb2MvY3B1aW5mbyB8IGN1dCAtZCc6
JyAtZjIgIHwgc2VkIC1yICdzL14gKi8vZycpXCIKY3B1X2NvdW50PVwiJChncmVwIC1jICdtb2Rl
bCBuYW1lJyAvcHJvYy9jcHVpbmZvKVwiCmNwdV9jbG9jaz1cIiQoZ3JlcCAtbTEgJ2NwdSBNSHon
IC9wcm9jL2NwdWluZm8gfCBjdXQgLWQnOicgLWYyIHwgc2VkIC1yICdzL14gKi8vZycpXCIKY3B1
X2NhY2hlPVwiJChncmVwIC1tMSAnY2FjaGUgc2l6ZScgL3Byb2MvY3B1aW5mbyB8IGN1dCAtZCc6
JyAtZjIgfCBzZWQgLXIgJ3MvXiAqLy9nJylcIgpyYW09XCIkKCgkKGdyZXAgTWVtVG90YWwgL3By
b2MvbWVtaW5mbyB8IGN1dCAtZCc6JyAtZjIgfCBzZWQgJ3MvIGtCLy9nJyB8IHNlZCAncy8gLy9n
JykvMTAyNCkpXCIKc3dhcD1cIiQoKCQoZ3JlcCBTd2FwVG90YWwgL3Byb2MvbWVtaW5mbyB8IGN1
dCAtZCc6JyAtZjIgfCBzZWQgJ3MvIGtCLy9nJyB8IHNlZCAncy8gLy9nJykvMTAyNCkpXCIKW3N0
b3JhZ2VdIiA+ICRGSUxFCmRmIC1QbEIgTSB8IGdyZXAgLXZFICdeKGRldik/dG1wZnN8L2Jvb3R8
RmlsZXN5c3RlbScgPiAkU1dBUAp7Cgl3aGlsZSByZWFkOyBkbwoJCURJUk5BTUU9JChlY2hvICRS
RVBMWSB8IGN1dCAtZCcgJyAtZjYpCgkJZWNobyAtZSAiJHtESVJOQU1FfT1cIiQoZWNobyAkUkVQ
TFkgfCBjdXQgLWQnICcgLWYyIHwgZ3JlcCAtbyAnW1s6ZGlnaXQ6XV0qJylcIiIgPj4gJEZJTEUK
CWRvbmUKfSA8ICRTV0FQCmNob3duICRPV05FUjokR1JPVVAgJEZJTEUKY2htb2QgMDY2NCAkRklM
RQoKIyBOb3cgZ2F0aGVyIHN0YXRzIGZvcmV2ZXIuIFdlIGNvbGxlY3QgMzAgZGF5cyBvZiBzdGF0
cyB3aXRoIGEgMTAgc2Vjb25kIAojIHNhbXBsaW5nIGZyZXF1ZW5jeS4gVGhlcmUgaXMgb25lIGZp
bGUgcGVyIHN0YXQgdHlwZSBwZXIgZGF5LiBTbyBlYWNoCiMgZmlsZSBpcyBiYXNpY2FsbHkgODY0
MCBsaW5lcyArIDEtMyBsaW5lcyBvZiBoZWFkZXJzLgojICAgRWFjaCBob3VyLCB3ZSB0ZXJtaW5h
dGUgdGhlIGpvYnMsIHVwZGF0ZSB0aGUgZmlsZSBuYW1lLCBhbmQgdGhlbiBraWNrCiMgdGhlbSBv
ZmYgYWdhaW4gdG8gdGhlIHNhbWUgZmlsZS4gVGhlIGZpbGUgZm9ybWF0IGlzOgojCiMgICA8VFlQ
RT5fPERBWT4ubG9nCiMKIyBleGFtcGxlOgojICAgdm1zdGF0XzE1LmxvZwojCiMgVGhlIGZpbGVu
YW1lcyBhcmUgcmV1c2VkIGFuZCBjeWNsZWQgMS0zMCBzbyB0aGVyZSBpcyBhbHdheXMgb25lIGZp
bGUgdGhhdAojIGluZGljYXRlcyB0aGUgY3VycmVudCBmaWxlIGJlaW5nIHdyaXR0ZW4gdG8gY2Fs
bGVkICdjdXJyZW50X2luZGV4Jy4gQW55IAojIGF1dG9tYXRpYyBwYXJzZXIgbXVzdCBmYWN0b3Ig
aW4gdGltZSBkcmlmdC4gRGVwZW5kaW5nIG9uIHN5c3RlbSB3b3JrbG9hZAojIG9uZSBmaWxlIG1p
Z2h0IG5vdCBleGFjdGx5IGVxdWFsIDEgZGF5LiBJdCBpcyBhbiBhcHByb3hpbWF0aW9uIG9mIDEg
ZGF5LAojIHRoZXJlZm9yZSwgY2hlY2tpbmcgdGltZXN0YW1wcyB3aXRoaW4gdGhlIHJlY29yZHMg
aXMgaW1wb3J0YW50LgoKIyBTdGFydCB0aGUgY29sbGVjdG9yCmV4cG9ydCBTX1RJTUVfRk9STUFU
CkxPR19UWVBFUz0odm1zdGF0IGlvc3RhdCBsaW5rc3RhdCBkZnN0YXQpCnRvdWNoICRMT0cvY3Vy
cmVudF9pbmRleApjaG93biAkT1dORVI6JEdST1VQICRMT0cvY3VycmVudF9pbmRleApjaG1vZCAw
NjQ0ICRMT0cvY3VycmVudF9pbmRleAp7Cgl3aGlsZSB0cnVlOyBkbwoJCSMgQ3JlYXRlIGZpbGVz
IGlmIG5vdCBleGlzdHMKCQlmb3IgVFlQRSBpbiAke0xPR19UWVBFU1tAXX07IGRvCgkJCWlmIFsg
ISAtZiAkTE9HLyR7VFlQRX1fJHtDVVJSRU5UX0RBWX0ubG9nIF07IHRoZW4KCQkJCXRvdWNoICRM
T0cvJHtUWVBFfV8ke0NVUlJFTlRfREFZfS5sb2cKCQkJCWNob3duICRPV05FUjokR1JPVVAgJExP
Ry8ke1RZUEV9XyR7Q1VSUkVOVF9EQVl9LmxvZwoJCQkJY2htb2QgMDY2NCAkTE9HLyR7VFlQRX1f
JHtDVVJSRU5UX0RBWX0ubG9nCgkJCWZpCgkJZG9uZQoJCSMga2ljayBvZmYgam9icwoJCXZtc3Rh
dCAtbnRTIE0gMTAgPiAkTE9HL3Ztc3RhdF8ke0NVUlJFTlRfREFZfS5sb2cgMj4+JExPRy9zdGRl
cnIubG9nICYKCQlpb3N0YXQgLWR0bXggMTAgPiAkTE9HL2lvc3RhdF8ke0NVUlJFTlRfREFZfS5s
b2cgMj4+JExPRy9zdGRlcnIubG9nICYKCQlsaW5rc3RhdCAxMCA+ICRMT0cvbGlua3N0YXRfJHtD
VVJSRU5UX0RBWX0ubG9nIDI+PiRMT0cvc3RkZXJyLmxvZyAmCgkJZGZzdGF0IDYwID4gJExPRy9k
ZnN0YXRfJHtDVVJSRU5UX0RBWX0ubG9nIDI+PiRMT0cvc3RkZXJyLmxvZyAmIAoJCWVjaG8gLW4g
JENVUlJFTlRfREFZID4gJExPRy9jdXJyZW50X2luZGV4CgkJIyBzbGVlcCB0aWxsIG1pZG5pZ2h0
CgkJc2xlZXAgJCgoODY0MDAtKCQoZGF0ZSAtdSAnKyUtSCcpKjM2MDArJChkYXRlIC11ICcrJS1T
JykpKSkKCQkjIGtpbGwgdGhlIGpvYnMKCQlraWxsIC05ICQoam9icyAtcCkgMT4mLSAyPiYtCgkJ
IyBJbmNyZW1lbnQgZGF5cwoJCSgoQ1VSUkVOVF9EQVkrKykpCgkJaWYgKChDVVJSRU5UX0RBWT5L
RUVQX0RBWVMpKTsgdGhlbgoJCQlDVVJSRU5UX0RBWT0xCgkJZmkKCWRvbmUKfSAmCmVjaG8gIlJl
c291cmNlIE1vbml0b3IgaXMgbm93IHJ1bm5pbmcuIgo=" | base64 -di - > "/bear/web_applications/resources/bear/service_components/resource_monitor.sh"; then
	rollback
fi
log_undo 'rm -f "/bear/web_applications/resources/bear/service_components/resource_monitor.sh"'
chown developer:apache "/bear/web_applications/resources/bear/service_components/resource_monitor.sh"
chmod 6770 "/bear/web_applications/resources/bear/service_components/resource_monitor.sh"
echo -e "Created file '/bear/web_applications/resources/bear/service_components/resource_monitor.sh'"
cd "${MBS_ORIGIN}"
echo -e "Installation 'upgrade_bear_resmon_1.2.0.13' complete at $(date '+%Y-%m-%d %T')"
