728x90
반응형
728x90
반응형
728x90
반응형

http://52.79.224.215

Crypto

 

Very Easy Crypto

100

 

ascii85

 

The Middle Age Crypto

100

 

https://www.brynmawr.edu/bulletin/codes-and-ciphers-puts-students-test

 

'Codes and Ciphers' Puts Students to Test | Bryn Mawr Alumnae Bulletin

'Codes and Ciphers' Puts Students to Test 'Codes and Ciphers' Puts Students to Test Math course offers insight into creating and solving secret messages. At their simplest, they are used by kids passing notes in class and at their most complex, by governme

www.brynmawr.edu

 

You Decode it?

175

 

문제 :

1
2
3
4
5
6
7
8
9
10
11
12
from * import flag, shift 
 
list_ = ['0x475''0x3b0''0x471''0x47a''0x39c''0x465''0x476''0x46d''0x46d''0x47a','0x39c''0x460''0x471''0x47a''0x473''0x477''0x3b3''0x3a2''0x3a2']
 
def encrypt(d,shift):
    e = []
    for c in d:
        e.append(hex((ord(c)+shift)^99))
    return e
 
if list(encrypt(flag,shift)) == list_:    # 문법 상으로는 맞지 않음. 이해를 위해서 넣은 코드구문
    print("encoding success!!")
cs

 

 

풀이 :

1
2
3
4
5
6
7
8
9
10
11
12
13
list_ = [0x4750x3b00x4710x47a0x39c0x4650x4760x46d0x46d0x47a,0x39c0x4600x4710x47a0x4730x4770x3b30x3a20x3a2]
list = []
 
 
for i in list_:
    list.append(i^99)
 
for shift in range(0,951):
    flag = ""
    for j in list :
        flag += chr(j-shift)
    print(flag)
 
cs

 

728x90
반응형
728x90
반응형

Great Binary 50

주어진 파일을 열어보면 바이너리가 적혀있다.

아래 사이트를 이용해 아스키로 변환하면 끝.

https://www.branah.com/ascii-converter

 

ASCII Converter - Hex, decimal, binary, base64, and ASCII converter

Convert ASCII characters to their hex, decimal and binary representations and vice versa. In addition, base64 encode/decode binary data. The converter happens automatically.

www.branah.com

HackCTF{crypto_v2ry_easy_pr0b1em}

 

 

Smooth CipherText 100

Rijvsmysmysmy Itovwyrc! Ns wyy ixsu Glm kq G? wc lkqc sw qwsmdlkkr sr...M ixsu fipi acvp urer iss geld! Md iss mel niastfov rrmq mvwzxmqvyw, cme gyx kcd xfo gmbvcmx yxwuov. qy, jjkk gc LymoADJ{t_tzwi_3vxbd0p3_vff.afy'q_wzoxpq_dp_qfz}

 

LymoADJ == HackCTF

m과 a가 C에 중복으로 대응되는 것으로 보아, 카이사르는 아니다. 그래서 비제네르로 돌려봤다.

본문 key = key

플래그 key = n

 

 

Classic Cipher -1 100

Hint : [::-1]

?y4zl4J_d0ur_b0f_0K zp nhsm

 

[::-1] 은 reverse. 즉 글자 순서를 뒤바꿔주면 된다.

그 다음에 카이사르를 돌리니 플래그가 나왔다.

 

HackCTF{D0_y0u_kn0w_C4es4r?}

 

 

RSA

200

RSA 알고리즘을 이용하여 값을 해독해보자! 
파일에 나와있는 c, p, q, e 는 RSA 대한 파라미터 값이다. 

 

p = 9648423029010515676590551740010426534945737639235739800643989352039852507298491399561035009163427050370107570733633350911691280297777160200625281665378483

q = 11874843837980297032092405848653656852760910154543380907650040190704283358909208578251063047732443992230647903887510065547947313543299303261986053486569407

e = 65537

c = 83208298995174604174773590298203639360540024871256126892889661345742403314929861939100492666605647316646576486526217457006376842280869728581726746401583705899941768214138742259689334840735633553053887641847651173776251820293087212885670180367406807406765923638973161375817392737747832762751690104423869019034

 

https://mandu-mandu.tistory.com/110 이 글에 나온 방법대로 따라하면 된다.

그러면 값이 12058e43d9e0c22559c19774 가 나오는데, 이를 10진수로 변환해서 플래그 인증하면 된다.

 

Classic Cipher -3

200

 

 

RSA2

200

(n, c) = 675517326695494061190287679557796696358902817969424171685361, 0xe3712876ea77c308083ef596a32c5ce2d7edf22abbc58657e

 

 

n 을 소인수분해 하여 p와 q를 구한다.

https://www.alpertron.com.ar/ECM.HTM

 

 

 

e를 65537 기본으로 잡고 복호화.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
def egcd(a, b):
    x,y, u,v = 0,11,0
    while a != 0:
        q, r = b//a, b%a
        m, n = x-u*q, y-v*q
        b,a, x,y, u,v = a,r, u,v, m,n
        gcd = b
    return gcd, x, y
 
def main():
 
    p = 804811499343607200702893651293
    q = 839348502408870119614692320677
    e = 65537
    ct = 0xe3712876ea77c308083ef596a32c5ce2d7edf22abbc58657e
 
    # compute n
    n = p * q
 
    # Compute phi(n)
    phi = (p - 1* (q - 1)
 
    # Compute modular inverse of e
    gcd, a, b = egcd(e, phi)
    d = a
 
    print"d:  " + str(d) );
 
    # Decrypt ciphertext
    pt = pow(ct, d, n)
    print"pt: " + str(pt) )
 
if __name__ == "__main__":
    main()
 
cs

 

pt = plain text

평문값을 hex로 변환한 뒤에 ascii로 바꾸면 flag가 나온다.

 

 

 

 

 

RSA3

250

n = 10283681839193276126097189449431804469761940095295471888398234447479454966284763902940257262270896218602885591849219329295416054197234326881779747263501982465102957508563705432633950651360492963151374387619070656704554971992649022858286686244477458518219811343940208016922937570643216329114427596008380607613093481777894261584227765149699743645734317383348201997748556656749211035951710759363655486663011079526697122026161182876988679088458171192764980121987583057238040415225285169219391637708267493561674900564748140379192079752942242600521017002960185256025253900075152690586476143729320416895984549165574371936823

c = 0x5c93ba85692a8b3981a5d47be0e80d129b8a2f6cf4dc134547aa7e1620f6691513b1dc1d69e085c39e261c2b49026436bb243dba70a86f7fcd1a3a7e6b0f0ecfac015becad0a76e9cf208d5d31e2b4865

e = 3

 

 

n은 매우 크고 e는 매우 작다.

 

c = m^e mod n = m^e

 

HelloCryto

350

key 길이는 14

flag 앞에는 HackCTF{ 인 것을 알고 있으니 key 14자리중 8자리 알아낼 수 있고

메세지 뒤에 key값이 붙은 것이 다시 key 앞에 8자리랑 연산을 하니 key 뒷자리도 알아낼 수 있음.

 

 

 

XOR

400

 

 

역연산돌리자

 

728x90
반응형
  1. 2019.08.02 11:49

    비밀댓글입니다

    • M4ndU 2019.08.06 00:21 신고

      제 글에 나와있는 N D 값을 복사 붙여넣기 하실 때 중간에 띄어쓰기가 포함되어 있습니다. 띄어쓰기를 지우시고 해보시면 될 것 같습니다. 띄어쓰기를 제거하였을 때 정상 작동 합니다.

728x90
반응형
Crypto Analysis L01
eqbpntwemza 
원래의 문자열로 변환 후 인증하시오 


카이사르 암호 복호화 문제




Crypto Analysis L02
프로그래머의 고수가 제자에게 암호테이블과 문자열을 남기고 세상을 떠났다. 
그런데 암호테이블은 손상이 되었는데... 
손상된 암호테이블 : g i a x ? ? d b k l n q w m f ? c p ? ? z u y j ? v 
암호 문자열 : yefpsqfgt 
원래의 문자열로 변환 후 인증하시오 


abcde  fghij   klmno   pqrst   uvwxy   z

giax?  ?dbkl   nqwmf   ?cp??   zuyj?   v


이렇게 일치


위 테이블에 맞춰 암호 문자열을 복호화 하면 12345c3d6 (중복이 있어서 ?대신 정수로 표현)


?에 들어갈 수 있는 남은 알파벳은 e h o r s t


파워게싱을 통해 c3d6이 code인 것을 알아채면 12o45code가 되고 남은 자리에 들어갈 수 있는 알파벳은 h r s t 가 되며,


다시 게싱을 통해 맞추면 된다.





728x90
반응형

'WAR GAME > CodeEngn' 카테고리의 다른 글

CodeEngn [Basic RCE] 11 ~ 16 풀이  (0) 2019.02.10
CodeEngn [Basic RCE] 1 ~ 10 풀이  (0) 2019.02.09
CodeEngn [Cryptology] 풀이  (8) 2019.02.09
  1. 123 2019.02.17 08:19

    님 학생이신가요? 대단

  2. 123 2019.03.26 08:35

    헐 공부 얼마나 하셨나요

  3. 123 2019.03.27 07:29

    c언어 먼저하고 파이썬하는게 더 좋을까요?

    • M4ndU 2019.03.27 12:27 신고

      파이썬이 더 쉬운 언어이지만 c언어를 먼저 하시면 다른 언어들은 쉽게 배우실 수 있습니다.

    • 123 2019.03.28 06:18

      해커스쿨 ftz 풀면 c언어에서 막힙니다.. c를 계속하면 뭔가 흥미를 잃는거같아요 ㅜ 어쩌죠

    • M4ndU 2019.03.28 07:16 신고

      ftz를 푸시기 전에 c 공부는 필수이고 파이썬은 나중에 도움이 됩니다

728x90
반응형

크립토




53 63 50 52 8 11 28 1 11 28 1 78 78 0 28 0 28 44 27 22 27 22 44 7 27 18 7 44 4 18 0 44 30 10 44 23 1 26 3 82 14



일단 시작은 F로 시작할 것이다. FLAG IS {~~} 이러한 형태일테니..



F 와 53을 다시 xor 연산하면 xor연산했던 알파벳을 구할 수 있다.


F = 0x46


0x46 ^ 53 = 0x73, 0x73 = s


소문자라는 조건에도 맞는 알파벳 하나를 구할 수 있다.


이렇게 구할 수 없는 문제였다면 소문자 알파벳 전부다 해서 xor연산 후 flag를 구해야 했을 것이다..



이제 모두 s랑 xor하면 flag를 구할 수 있다.


1
2
3
4
5
6
7
= "53 63 50 52 8 11 28 1 11 28 1 78 78 0 28 0 28 44 27 22 27 22 44 7 27 18 7 44 4 18 0 44 30 10 44 23 1 26 3 82 14"
 
= list(map(int, p.split()))
 
for i in range(0len(n)):
    print(n[i] ^ 0x73#0x73 = 's'
 
cs



70

76

65

71

123

120

111

114

120

111

114

61

61

115

111

115

111

95

104

101

104

101

95

116

104

97

116

95

119

97

115

95

109

121

95

100

114

105

112

33

125



dec 2 ascii



FLAG{xorxor==soso_hehe_that_was_my_drip!}



728x90
반응형
728x90
반응형

크립또





R1VaREdNSlZHWTNEQ05KU0dRMlRNTkJVSVUyVEdOU0RHVkFUSU9CVkc0MlRJTkNGR1EyVEtNSlRHQVpUS05DQ0dVMlRHTUJXR1EyVEVOQ0VHWkJUS01SVUlVMlRJTlNDR1JBVEtOUlZHTTJUTU5KVkc0NFRLTlJVR1UzRElOQ0dHVTJUR01CVkdJMkRRTkpXR1pCRElOUlZHVTJUR05KVkdNNFRJTVpWR1kzRUVOUlRHTVlESVJCV0lNMlRFTkNCR1UyRE1RUlVJVTJET05KU0dNWVRJTkpYSEUyVE1OQlZHNDJESVJKVkdNM0VHTkpTR1E0REtNSlZHWTNUQU5KVkdVWlRHTUJUR1UyRElOSlJHTVlETU5CVkdZMkVJTlNER1VaRElPQlZHUTJUS05DQkdVNERLTVJUR0UyREtOWlpHVTNESU5KVkdZMkVNTkpSR01ZREtOUlVIQTJUT05TQ0dSQVRLTkpWR01aVEFNWlJHVVpUS05SVkdVM0VHTkpXR1JDRE1RWlZHSTJFQ05KVUdaQlRJUkpVR1EyVEVNWlJHUkFUSU1SVkdZMkRLTlpVR1JEREtOSldJTTJVQ05CWUdVMkRLTkJVSUUyVEtOSlVHVTJUR05KVUlJMlRNTlNDR1laVEdNQlVJVTJETU5KU0dSQlRLTkJXSU0yRUNOSldHVVpER01KVkdVM1VDTkpTR1EyVE1RWlVJWTJUQ01aUUdZMkRJT0JWR1kyVElOQ0JHVTJUS01SVEdBWlRDTkJUR1UzRE1RUldHUTJFQ05DRUdaQkRLTVJWR0kyVElOU0NHNFlES09KVkdJWlRDTkpWRzQ0VEtNUlVHVTNFR05KU0dVWlRNUVpWR1kyRFFOSldHVTJESVFKVkdVMlRFTVpRR00yVElRUlZHWVpUQU5SVUdVWkRJUkJUR0EyVEVOQ0JHVTJUS05SVUlFMlRPTkpTR01ZVE1RUlhJRTJURU5KVkdVM0RJUlJWR1UzRUdOSldHUTRES05KV0lJMkVLTkpWR1VaVEtOUlVJRTJER05KV0dNWURNUVpVSVUyRUlOU0RHVVpESU5SVkdRM0VFTkNGR1FaVEtNUlRHRTJUS05aWkdVWkRJTkpUR0UyVEVOSlZHWkJUS05SVUlFMlRNTkpVR1JBVElOSlZHUVpUQU1aVkdSQkRLTkpUR0EzRElOQ0ZHVTNUS05SVkdJMkVHTkpVR1pCRE9NQlZIRTJUR05KVkdVMlRPT0pWR1kyREtOSldHUkRES01KV0lNMlVDTkJZR1JDVElOQlVJRTJES05KVEdVM0RJUUpVSUkyVE1OU0NHWTJESVJKVUlRWlRBTkpXR1E0REtOQldJSTNUQU5KVUdVWkRHTUpVR1VaVEFOSlNHUTJUT05CVUlVMlRHTlNER1ZBVElPQlZHNDJUSU5DRkdVMlRLTUpWR1VaVEtOQ0NHVTNETVFSV0dRMlRNTkpYR1pCVEtNUlVIQTJUSU5KVkdSQVRLTkpWR0laVENOSlZHNDRUS01SVUdVM0VHTkNHR1VaVE1RWlVJRTJEUU5KVUdVM0RNUVpVR1UyVElOSlZHTTJUSU1aVkdZM0VFTlJVR1ZBVElSQldJSTJUTU5DQkdVMkRNUVpVSVUyREtOSlNHTVlUS05SV0dFMlRFTkJWR1pCVEtNQlZHRTNFR05LQkdRNERLTkpWR1EyRUNOSlZHVVpUR01CVEdVMkRJTkpSR1pCRE1OQlZHWTJFS05CVkdVWkRJUVpWR1EyVE1OQ0JHVTJUS01SVEdBMlRLTlpaR1VaRElOSlhHUTJFTU5KWEdaQlRPTUJVSEEyVE1OSlVHUkNUSU5KVkdNMlRLTVpWR1JCREtOUldJSTNESU5LQkdSQ0RNUVJWR1kyRUtOSlVHWkJET01CVkdNMlRFTVpRR01ZVEtRSlZHSTJES05aVUdSRERLTkpXSU0yVE1OQlpHVVlUS05CVUlFMlRLTkpVR01ZREdOSlZHUTJUQ01aUUdZMkRLTVpWR0UyVE1OSlNHUkJUS05CV0lJM1RBTkpYR1VaREdNQlRHRTNEQ05KV0dRMlRJTlJVSVUyVE9OU0RHUkFUSU9CVkdZMlRNTlpRR1UyVEtNWlRHQVpUS05KVEdVM0RNUVJXR1EyVE1OQ0VHTVlES01SVkdJMlRJTlNDR1JBVEtOQlZHSVpUQ05DQkdRMkRLTVJVR1VaVENOSlNHVTNUTVFaVklFMkRRTkpUR1UyRElRSlVHWTJUQ01aUUdNMlRJUVJWR1kyVEtOUlVHWVlUS01KV0lJMlRFTkpRR1UyREtOSlVJRTJUT05KU0c1QVRLTUpYSEUyVE1OQlZHVTNESVJSVUlRM0VFTkNCR1E0REtOUlZHWTNUQU5CVkdVWlRHTUpVR1kyRUVOSldHWkJETU5CVUlFMkVJTlNDR1VaRElRWlZHUTNFR05aUUdVM0RLTVJUR0UyRUNOQlZHVVpESU5KWEdRMkVNTkpYR1pCVE1OQlVJRTJUSU5KVUdSQVRLTlJWR0VaVEFNWlZHUVpUS05aVkdVM0RJTkpXR1UzVE1RWlZHSTJFR05KVUdaQlRJUUpWSEUyVEVNWlFHUTJUT09KVkdZMkRLTlpVR1JEREtNWldJTTJFQ05CWUdVM0RLTkJVSUUyVEtOSlNHTVlER05KVUlJMlRNTlNDR1kyREtNUlVJUTNFR05KU0dRMkRLTkJWR1kzVEFOSlNHVVpER01KV0lNM0RDTkpXR1EyVE1OQlVJVTJUQ05TREdVM0RJUUpWR1kyVElOQ0JHUTJUS05CVkdVWlRLTkNDR1UyVEdNQldHUTJUR05KUkdaQlRLTVJVSU0yVElOU0NHUkFUS09CVkdNMlRLTVpRRzQ0VEtNUlZHVTJFS05DR0dVWlRNUVpXR1EyRFFOSldHVTNET01CVUdVMlRFTVpRR01ZVElRUlZHWTNFRU5SVUdWQVRJUkJUR0EyVEVOQlVHVTJETVFSWEdBMlRRTkpTR01ZVElOSlhJRTJURU5CVkdaQlRLTVpWR00zRUdOSldHUkFUS05aVkdRMkVDTkpWR1VZVEdNQlRHRTNEQ05KVkdVMlRNTkJWSUUyRUlOU0NHVVpESVFKVkdRWlRBTkNCR1UzVEtNUlRHRTNFRU5aWkdVM0RJTkpXSU0yRU1OSlJHTVlESVFKVUhBMlRNTkpVR1JBVEtOSlZHTVpUQU1aUkdVWlRLTlJVR1UzRElOQlNHVTNUTVFaVkdJMkRJTkpVR1pCRElRSlZHVTJURU1aUkdVMlRPUUpWR0kyREtNWlJHVVpES05KV0lNM0RJTkJZR1UyVEtOQlVJRTJETU5KUkdNWURHTkpVR1EyVEVOSlZHWTJETU1KVkdFM0VFTkpTR1JCVEtOQlZHWTJFQ05KWEdVWkRHTUJXSUkzVFNOSldHUTJUTVFaVUlZMlRLTVpRR1JDVElPQlVJVTJETU5TREdRMlRLTVpUR0FaVFNOQ0NHVTNETVFSV0dRMkVDTkpYR1pCVEtNUlVHUTJUSU5TQ0c0WURLTlpWR0kzVUNOSlJHTVlES05SVUdVM1RJTkNGR1UyVE1RWlZHWTJEUU5KV0dVMkRJUkpVR1kyVEVNWlFHTTJUSVFSVkdVWlRBTlJVR1UzREtOWldJTTJURU5DRkdVMlRLTlJYR0EyVE9OSlNHTVlUTVFSWEhFMlRFTkJXR1EzRElSUlZHTTNFR05SVUdRNERLTlJWR1EyRUNOQlZHVVpUS05SVUdZMkVFTkpXR1pCRE1OQlZHWTJFSU5TREdVWkRJTlJWR1EyVE1OWlFHVVpES01SVEdBWlRBTlpaR1UzRElOSldJTTJURU5KVkdaQlRLUUpVSEEyVE9OSlVHUkNUSU5SVkdJMlRLTVpWR1VaVEtOUlZHVTNESU5KVEdVWVRHTUpWR0kyRUNOSlZHWkJET01CVkdZMlRFTVpSR1pCRE9PSlZHWTJES05KV0dSRERLTUpUR0EyRUNOQllHVTNES05CVUlFMkRLTkpUR01ZREdOSlZHTTJUT05CVkdZMkRJTVJVSVEzRUdOSlNHVVlES05CV0lJM1RBTkpVR1VaREdNQlRHRTJVQ05KV0dRMlRHTUpWR0kyVEtOU0RHWTRESVFKVkdJMlRJTkNCR1UyVEtNUlZHVVpUS05DQ0dVM0RNUVJXR1EyVE1OQ0VHTVlES01SVUlFMlRLTlNER1JBVEtOWlZHSVpUQ05KVkc1QVRLTVJWR1UzRElOQ0dHVVpUTVFaV0dRMkRRTkpWR1UyREtNUlVHVTJUR01aUUdNMlRJUVJWR1laVEFOU0RHUkFUSVJCV0lJMlRFTkNGR1UyRE1RUlhHQTJUT05KU0dNWVRLTlJXR0UyVE1OQlZHNDJESVJSVkdVM0VHTkpXR1JBVEtNUlZHUTJFQ05CVkdVWkRHTUJUR1UyRUVOSldHTVlETU5CVUlVMlRPTkpWR1VaRElSSlZHVTJUTU5aUUdVM0RLTVpWR1kyVEtOWlpHVVpES05KV0lNMkVNTkpWR01ZREtNUlVIQTJUTU5KV0c0WURJTkpWR00yVEtNWlZHVVpUS05SV0lJM0RJTkpTR1JDREdNQlZHWTJETU5KVUdaQkRJUkpVRzQyVEVNWlJHUTNETU1KVkdZMkRLTlpVR1JDVEtOSldJTTJURU5CWUdVWkRLTkJVSUUyVEtOSlRHTVlER05KV0dFMlRPTlNDR1kyREtOUlZHNDNFRU5KU0dSQVRLTkJXSUkzVEFOSlZHVVpER01CVkdVM1RTTkpXR1EyVEtOUlVJWTJUR05TREdWQVRJT0JWRzQzRUVOQ0JHVTJUS01aVEdBWlRLTkpUR1UzREtOSldJTTJETU5DRUdaQlRLTVJVSVUyVElOU0NHNFlES05SVkdJWlRDTkNCR1FaREtOUlVHVTNFR05DR0dVWlRNUVpWSUUyRFFOSlZHVTNET01CVkdVMlRDTkpWR01ZVE1NSlZHWTNFRU5SVUdVWlRLTUpXSUkyVEVOQ0RHVTJETVFSWEdBMlRLTkpTR01ZRElOSlhJRTJURU5CVkdaQlRJUlJWR0VaVEFOS0JHUTRES05SVkdRMkVLTkpWR1VaVEdNQlRHVTJUR05KV0daQkRNTkJVSUUyRUlOU0NHVTNESU5CVkdRM0VFTlpRR1UzREtNUlRHRTNUQU5CVEdVWkRJTkpUSEUyRUtOSlJHWkJUS1FKVUhFMlRFTkpVR1JBVEtOSlZHSVpUQU1aVkdRWlRLTlJXSUkzRElOSldHUkNETVFaVkdJMlRBTkpVR01ZRE9NQlZHNDJURU1aUkdaQkRPT0pWR0kyREtOWlVHUkNUS05aV0lNMkVDTkJZR1UyVE1RUlZHSTJES05KVEdNWURHTUpVSUkyVE1NWlFHWkJUSVJKVUlRM0VHTkpXR1EyREtOQldJSTJFQ05LQkdVWkRHTUpVSUUyRElOSldHUTJUTVFaVUlZMlRDTlNER1UzRElRSlZHSTJUSU5DQkdRMlRLTVpUR0FaVEtOQ0NHVTNESU5KV0dRMlRNTkNFR01ZREtNUlVJRTJUS05KVkc0WURLTlpWR0laVEFNWlFHNDRUS05SVUdVWlRDTkNHR1UyVEdNQlVJVTJEUU5KWEdVMkRJUUpVR1UyVEdOSlZHTTJUS01aVkdZMlRLTlNER1VaREtOWldJTTJURU5CU0dVMkRNUVJYR0EyVFFOSlNHTVlUSU5KVEdBMlRFTkJWRzQyRElSUlZHRTNFR05SVUdSQVRLTVpWR1EyRUtOSlZHVVlUS05KVEdVMkVFTkpXR1UyVE1OQlZHWTJUT05TQ0dVWkRJT0JWR1EyVEtOWlFHVTNES01SVEdFMlRNTlJSR1UzRElOSlVHWTJFTU5KVEdaQlRJUkpVSEEyVEtOSlVHUkFUS05KVkdRWlRBTVpWR1FaVEtOUlZHVTNFR05KV0dSQ0RNUVpWR0kyRFFOSlVHWkJUSVJKVUdVMlRFTVpSR1ZBVElNUlZHWTJES05TREdVWURLTUpXSU0yVUNOQllHUkNUSU5CVUlFMlRLTkpUR1UyVEdOSlVHUTJURU5TQ0dZMkRLTlJVSVEzRUdOSlNHUkJUS05CVkdVM1RBTkpYR1VaREdNSlZHWTNEQ05KV0dRMlRPTkJVSVkyVENNWlFHUkNUSU9CVkdZMlRJTkNGR1EyVEtOQlZHWTJETU5KVEdVM0RHTUJXR1EyVEVOQ0VHWkJUS01SVUlVMlRJTlNDRzRZREtPSlZHSVpUQ05aUUdRWlRLTlJVR1UzVElOQ0ZHVTJUTVFaVkdZMkRTTkpSR1UyRElRSlZHVTJUR05KVkdNMlRJUVJWR1kzRUVOUlVHVVpUS01KVkdZMlRFTkNER1UyRE1RUlhHQTJUT05KU0dNWURNUVpXR0UyVE1OQlZHUkNUSVJSVkdNM0VHTktCR1E0RElSSlVHUTJURU5KVkdVWlRHTUJUR0UyVEdOSldHVTJUTU5CVkdZMkVJTVpRR1UzRElPQlZHUTNFRU5DRkdRNERLTVJUR0UyVE1OUlJHVTNESU5KVEdFMlRFTkpYR1pCVEtOUlVJRTJUTU5KVUdSQVRJTkpWR1UyVEtNWlZHUkJES05SV0lJM0RJTkpXR1JDRE1RUlZHSTJFQ05KVkdVMlRPTUJWRzQyVEVNWlJHVTJUT09KVkdZMkRLTlNER1JEREtNWldJTTJVQ05CWUdVMkRLTkJVSUUyVEtOSlRHVTJUR01KV0dFMlRNTlNDR1kyREtRSlVJUVpUQU5KV0dRM0RLTkJXSU0yRUNOSldHVVpER01KVklFMkRFTkpXR1EyVE1RWlZHTTJUQ05TREdZMkRJUUpWR1EyVElOQ0JHVTJUS01SVkdVWlRLTkNDR1UyVEtOSldHUTJUTU5DRUdaQkRLTVJVSVUyVEtOSldHNFlES05SVkdNMlRNTkpWRzQ0VEtNUlVHVTNFR05DR0dVWlRNUVpVSVUyRFFOSlVHVTNETVFaVkdVMlRHTVpRR00yVEtNWlZHWVpUQU5SVUdRM0RJUkJXSU0yVEVOQldHVTJETVFSVUlFMlRPTkpTR01ZVE9NQlVHTTJUTU5CVkc0MkRJUkpWR0UzRUdOS0JHUTRES01SVkdRMkVLTkJXR1VaREdNQlRHVTJFR05KUkdaQkRNTkJWR0kyRUtOQlZHVVpESVFaVkdRM0VFTlpRR1UzVEtNUlRHRTJES05aWkdVWkRLTkpVSVUyRU1OSlRHWkJUS1FKVUhBMlRNTkpXRzRZREtOSlZHSVpUQU1aUkdRWlRLTlJVR1UzRElOSldHUkNETVFSVkdJMkVDTkpVR1pCRE9NQlZHTTJURU1aUkc0WURJTVpWR0kyREtNWlJHUkRES01KV0lNMlVDTkJZR1UzVEtOQlVJRTJETU5KVEdNWURHTkpVR00yVE1OU0NHWTJES05SVkc0M0VFTkpTR1JBVEtOSlZHWTNUQU5KWEdVWkRHTUpVR1UzVFNOSldHUTJUR01KVUlZMlRDTVpRR1JBVElPQlZHWTJUSU5DQkdVMlRLTVpUR0FaVENOSlRHVTNESU5KV0dRMkRFTkNFR1pCREtNUlVJVTJUSU5TREdSQVRLTVpWR0laVENOSlZHNUFUS01SVUdVM0VHTkNHR1VaVE1RWlZHWTJFQ05KV0dVMkRJUUpVR1kyVElOSlZHTTJUSVFSVkdZM0VFTlJVR1lZVEtNSldJTTJURU5DQkdVMlRLTkpYR0EyVE1OSlRHUTJUSU5KWEhFMlRNTkJWR01ZVElSUlZHTTNFR05KV0dRNERLTkpXSUkyRUtOSlZHVVpUS05KVEdVMkVFTkpXR1pCRE1OQlVJVTJFSU5TREdVWkRJUVpWR1EyVE1OWlFHVTNUS01SVEdFMkVDTkJUR1VaRElOSlhHUTJFTU5KVkdaQlRLUUpVSEEyVE1OSlVHUkNUSU5SVkdJWlRBTVpWR1JCREtOUlRHQTNESU5KVEdVWVRHTUJWR0kyRUtOSlZHVTNESVFKVkc0MlRFTVpSR1pCRE9PSlZHSTJUS05aVUdSRERLTVpXSU0yVE1OQllHVTNUTVFSVUlFMkRLTkpVR01ZREdNSlVHTTJUTU5TQ0dZMkRLTlJVSVEzRUdOSlNHUTNES05CVkdZM1RBTkpUR1VaRE9RSlZHSTJVQ05KU0dRMlRNUVpVSVUyVE9OU0RHVkFUSU9CVkc0MlRJTkNCR1EyVEtNWlRHQVpUS05KVUdVWkRJTkpXR1EyVE1OSlhHWkJES01SVUlNMlRJTkpXRzRZREtPQlZHTTJUS01aUUc0NFRLTlJVR1VaVENOQ0dHVVlUTVFaWEdBMkRRTkpXR1UzRE1RWlZHVTJUR01aUUdNMlRJTVpWR1kyVEtOU0RHUTNESVJCV0lNMlRFTkNER1UyRE1RUlhHQTJUTU5KU0dNWURHTUpWSUUyVEVOQlZHWTJESVJSVkdNM0VHTktCR1E0REtOSlZHUTJFQ05KVkdVWVRHTUJUR0UzRENOSlZHVTJUTU5CVklFMkVJTlNDR1VaRElRWlZHUTJUTU5aUUdVM1RLTVJUR0EyVEtOWlpHVTNESU5KVEdFMkVNTkpUR1pCVElSSlVIQTJUS05TQ0dRM0RLTkpWR01aVEFNWlZHUVpUS05SVEdBM0VHTkNCR1JDREdNSlZHSTJERU5KVUdaQkRPTUJWSEUyVEVNWlJHVTNETU1KVkdJMkRLTlJVR1JDVEtNSldJTTJURU5CWUdVWkRLTkJVSVUyREtOSlJHTVlER05KVUlJMlRNTVpRR1kyREtNUlVJUTNFR05KU0dSQVRLTkJXSU0yRUNOSldHVVpUS05SVkdVM1RTTkpXR1EyVEdPSlVJWTJUS01aUUdVWkRJT0JWR1UzRUVOQldHVTJUS01aVkdVWlRTTkJUR1UzRE1RUldHUTJVQ05DRUdaQlRLTVJVSVUyVElOU0RHNFlES01SVkdJWlRDTkpWRzQ0VEtOUlVHVTNUSU5DRkdVM1RNUVpWR0kyRFFOSlJHVTNET01CVkdVMlRHTVpRR00yVElRUlZHWTJES05SVUdVM0RJUkJUR0EyVEVOQ0ZHVTJUS05SVUlFMlRRTkpTR01ZVElOSlhIRTJUTU5CVkdNWVRJUlJWR0VaVEFOSldHUTRES05CVkdZM0VHTkJWR1VaVEdNQlRHVTJUR05KV0dVMlRNT0JVR0kyRUlOU0RHVVpESVFKVkdRM0VHTkNGR1EyREtNUlRHRTJFQ05CVUdVM0RJTkpXSU0yRU1OSlhHWkJUS1FKVUhBMlRHTkpXRzRZREtOSlZHRVpUQU1aVkdRMkRLTUpXSUkzRElOSlNHUkNETVFSVkdJMkVHTkpVR1UzRElRSlZHWTJURU1aUkdVM0RNTUpWR1kyREtOQ0ZHUkRES01aV0lNMkVLTkJZR1UzREtOQlVJVTJUS05KVUdVM0RJTlJXR0UyVE1OU0NHWkJUSU5SVUlRM0VFTkpTR1VaREtOQldJSTNUQU5KVkdVWkRHTUpWR1UzVFNOSlNHUTJUTVFaVkdJMlRHTlNER1UzRElPQlZHNDJUSU5DQkdVMlRLTUpUR0FaVENOUlJHVTJUS05KV0dRMkVLTkNFR1pCVEtNUlVJRTJUS05KV0dSQVRLTlpWR0laVENOU0NHNDRUS05SVUdVM1RJTkNHR1UyVE1RWlZHWTJEUU5KWEdVM0RNUVpWR1UyVEdNWlFHTVlUSVFSVkdZWlRBTlNER1JBVElSQldJTTJURU5CV0dVMkRNUVJYR0EyVEVOSlNHTVlUS05KWEhFMlRFTkJWRzQyRElSUlZHTTNFR05KV0dSQVRLTVJWR1EyRUNOSlZHVTJER01CVEdVMkVFTkpXR1EyVE1OQlZHSTJFSU5TREdVWkRJUUpWR1EzRUVOWlFHVTRUS01aVUdVMlRLTlpaR1UzRElOSlRHRTJFTU5KUkdaQlRLUUpVSEEyVE1OSlVHUkNUSU5KVkdNMlRNTkNCR1JCREtOUldJSTNER01aUUdSQ0RHTUJWR1kyRFFOSlVHWkJESVJKVUdNMlRFTVpSR1EyVEdNQlZHSTJES05aVUdSRERLTVpXSU0zRElOQ0JHVVpUS05CVUlFMkRLTkpVR1UyVEdOSlVJSTJUTU5TQ0dZMkRLTlJWRzQzRUdOSlNHUkJUS05CV0lJM1RBTkpWR1VaREdNQlZHVTNUU05KV0dRMlRNTkJVSVkyVEdOU0RHWTJESU9CVkc0M0VFTkNCR1EyVEtOQlZHVVpUS05CVEdVM0RNUVJXSU0yRE1OQ0VHWkJES05SVUlFMlRJTlNER1JDVElOQlZHSVpUQ05KV0dZWVRLTVJVR1UzRUdOSlNHVTNUTVFaVklFMkRRTkpWR1UyRElSSlVHWTJURU1aUUdNMlRNTUpWR1UyVEtOUlVHVTNESVJCVEdBMlRFTkNER1UyREtOUlVJRTJUS05KU0dNWURLTkpYSEUyVEVOSlZHUkNUSVJSVkdFM0VHTktCR1E0REtOUlZHWTNUQU5CVkdVWlRLTkpUR1UyRUVOSlhHUTJUTU5CVkdJMkVJTlNDR1UzRElRWlZHUTNFRU5aUUdVNFRLTVJUR0UzVEFOQlRHVTNESU5KVEdFMkVNTkpSR1pCVEtOUlVJRTJURU5KVUdSQVRLTkpWR00yVEtNWlZHUkJES05SVkdVM0RJTkpUR1VZVEtOUlZHSTJFR05KVUdaQlRJUUpWRzQyVEVNWlFHVTNETU1KVkdZMkRLTkJXR1JDVEtOWldJTTJVQ05CWUdVMlRLTlJYR0EyVEtOSlRHTVlER05KV0dFMlRNTlNDR1kyREtOUlVJUVpUQU5KU0dSQVRLTkJXSUkzVEFOSllHVVpER01KVkdVM1VDTkpXR1EyVEdNSlZHSTJUT05TREdWQVRJT0JWR00yVElOQ0JHUTNES01SVEdBWlRLTkNDR1UzREtOSldHUTNEQ05KUkdaQlRLTVJVSUUyVEtOSlZHNFlES05aVkdNMkRLTkpWRzQ0VEtOUlVHVTJUTU5DRkdVM1RNUVpVR1kyRFFOSlZHVTJESVFKVkdVMlRJTVpRR000VElRUlZHWTNFRU5SVUdWQVRJUkJXSUkyVEVOQ0RHVTJETVFaWEdBMlRNTkpTR01ZVElRSlVHVTJURU5CVkc0MkRJUkpWRzQzRUdOUlVHUkFUS05CVkdRMkVDTkJXR1VZVEdNQlRHVTJER05KWEdVMlRNTkJWR1kyRUlNWlFHVVpESVFaVkdRM0VFTkNCR1UzREtNWlZHVTJUS05aWkdVM0RJTkpYR1EyRU1OSlRHWkJUSVJKVUhBMlRJTkpXR1pCVElOSlZHSVpUQU1aUkdSQkRLTlJWR1UzRUdOQ0JHUkNETVFaVkdJMkVLTkpVR1UzRE9NQlZHSTJURU1aUkdaQkRPT0pWR0kyREtOU0RHUkRES05KV0lNMlRNTkNCR1UyVEtOQlVJVTJETU5KU0dNWURHTkpVSUkyVEtNWlFHWTJES01aVkdFM0VHTkpTR1JCVEtOQldJSTJFQ05KWUdVWlRLTkpXSUkzVUNOSldHUTJUSU5SVUlZMlRHTlNER1k0RElPQlZHWTJUTU5aUUdRMlRLTVJUR0FaVENOQ0NHVTNER01CV0lNMkVLTkNFR01ZREtNUlVHUTJUSU5TQ0c0WURLT0JWR0laVENOQlZHNDRUS05SVUdVWlRDTkNHR1VZVE1RWlZHWTJFQ05KV0dVMkRJUUpWR1UyVENNWlFHTTJUS05CVkdJMkRLTlJVR1UzRElSQlRHQTJURU5DQkdVMlRLTkpYR0EyVE9OSlNHTVlUTVFSWEhFMlRNTkJWR1pCVElSUlZHRVpUQU5DQkdRNERLTkpWR1EyRUNOSlZHVVpUR01CVEdVMkRHTkpXR1pCRE1OQlZHWTJUT05TREdVWkRJUVpWR1EzRUVOQ0ZHUTJES01SVEdFMlRLTlpaR1UzRElOSldHUTJFS05KUkdaQlRNTkJVSEEyVEtOSlVHUkFUS05KVkdJWlRBTVpWR1JCREtOSldJSTNESU5SUkdVWVRNUVpWR0kyRUdOSlVHVTNESVFKVkdZMlRHTkpWR01ZRE9PSlZHWTJES05TREdSRERLTkpUR0EyRUtOQllHVTJUTVFSVUdZMlRLTkpUR01ZREdPSlVHTTJUTU5TQ0dZMkRJUkpVSVEzRUdOSlNHUkJUS05CVkdZM1RBTkpTR1VaRE9RSlZHRVpUQU5KV0dRMlRPTkJVSVUyVEtOU0RHVkFUSU9CVkdZMlRJTkNCR1EzREtNWlRHQVpUS05CVUdVWkRHTUJXR1EyVE1OSlhHWkJUS01SVUlVMlRLTkpXRzRZREtPQlZHSVpUQ05CVkc0NFRLTVJVR1kyRE1OQ0dHVVpUTVFaV0dRMkRRTkpXR1UyRElSSlVHVTJUSU1aUUdNWVRJTVpWR1kyVEtOUlVHVTNESVJCV0lNMlRFTkJXR1UyREtOUlhHQTJURU5KU0dNWURHTUpWSUUyVE1OQlZHWkJUS01SVkdVM0VHTktCR1E0REtOWlZHUTJFS05CV0dVWkRLTkpUR1UyVEdOSldHVTJUTU5CVkdZMkVJTVpRR1VaRElRSlZHVTNFRU5DQkdVMlRLTVJUR0EyVEtOWlpHVTNESU5KVEdFMkVNTkpSR1pCVEtOUlVIQTJUTU5KVUdSQVRJTkpWR1EyVE1OQldHVVpUS05aVUdVM0RJTkJTR1JDRE1RWlZHSTJFQ05KVUdaQkRPTUJWR1EyVEVNWlFHTVlUS1FKVkdZMkRLTlNER1JEREtNWldJTTNEUU5CWkdVWkRLTkJVSUUyVEtOSlVHVTJUR05KVUdNMlRNTlNDR1kyRElSSlZHNDJUTU5KU0dSQlRLTkJWR1kyRUNOSlhHVVpET1FKVkdFM1VDTkpTR1UyVE1OQlVJWTJUR05TREdZMkRJT0JWR1UzRUVOQldHVTJUS01aVEdBWlRLTlJSR1UzRE1RUldHUTJURU5DRUdaQkRLTlJVR1EyVElOU0NHNFlES05aVkdJWlRDTkpXR1ZBVEtOUlVHVTNESU5DRkdVWVRNUVpWR0kyRFFOSlNHVTJESVJKVUdVMlRDTVpRR00yVElRUlZHWTNFRU5SVUdVM0RJUkJXSU0yVEVOQ0ZHVTJETVFSVUlFMlRPTkpUR1UyVEtOSlhIRTJURU5KVkdaQlRJUlJWR1VaVEFOQ0ZHUTRES05SVkdZM1RBTkJWR1VaVEtOUlVHWTJFRU5KV0daQkRNTkJWR0kyVE9OU0RHVVpESU1SVkdRM0VFTkNGR1FaVEtNUlRHRTJUS04yQkdVM0RJTkpYR1EyRUtOSlZHWkJUS01SVUhBMlRFTkpVR1JDVElOUlZHSTJUS01aVkdZWVRLTlpXSUkzRElOSldHUkNER01CVkdJMkVDTkpVR1pCRE9NQlZHVTJURU1aUUdVMlRPT0pWR0kyVEtNWlJHUkRES01aV0lNM0RRTkJZR1UzVE1RUlVJRTJUS05KVEdVMlRHTkpWR00yVE1OSlZHWTRESU1SVUlRM0VHTkpTR1JDVEtOQldJSTNUQU5KV0dVWkRHTUpVSUUyREVOSldHUTJUT05CVUlZMlRHTlNER1ZBVElPQlZHUTJUTU5aUUdVMlRLTUpWR1VaVENOUlJHVTNETVFSV0dRMlRFTkpYR1pCVEtNUlVJTTJUSU5TREdSQVRLT0JWR00yVEtOU0NHNUFUS01SVUdVM0VHTkNHR1VaVEdNQlVJRTJEUU5KVkdaQkRJUkpVR1UyVElOSldHUTNES01aVkdZM0VFTlJVR1JBVElSQldJSTJUTU5DREdVMkRNUVJYR0EyVE1OSlNHTVlUT01CVUdNMlRNTkJWR1pCVEtNUlZHTTNFR05LQkdRNERLTkJWR1EyRUNOSlZHVVpES05KVEdFM0RDTkpWR1pCRE1OQlZHWTJFSU5TREdVWkRLTUJWR1UyVEtOWlFHVTNUS01SVEdBM0VFTlpaR1VaRElOSlhHUTJFTU5KWEdaQlRLTlJVSEEyVEtOU0NHVVpESU5KVkdNWlRBTVpSR1lZVEtOUlRHQTNFR05DRkdSQ0RHTUJWR0kyRUNOSlVHWkJESVFKVklFMlRFTVpSR1UyVE9PSlZHWTJES05aVUdSRERLTUpXSU0yVE1OQ0JHVVpES05CVUlFMlRLTkpVR1UyVEdOSlVJSTJUS05TQ0dZMkRJUkpWRzQyVEtOSlNHUTRES05CV0lJM1RBTkpXR1VaREdNSlVHVTNUU05KV0dRMlRLTlJVSVkyVEdOU0RHVkFUSU9CVkc0MlRJTkNCR1EyVEtOQlZHVVpUQ05DQ0dVM0RNUVJXR1EyRE1OQ0VHTVlES05SVUdZMlRJTlNDRzRZREtOQlZHSVpUQ05DQkdRWlRLTlJVR1UzVElOQ0dHVVlUTVFaVklFMkRRTkpYR1UyRElRSlVHWTJUQ01aUUdNMlRJUVJWRzQyREtOUlVHVTNES05aV0lJMlRFTkJZR1UyREtOSlVJRTJUUU5KVEdVMlRNUVJYSUUyVE1OQldHUkNUSVJSVkdNM0VHTlJVR1E0REtOSlZHUTJFQ05KVkdVMkRLTlJVR1kzRENOSldHVTJUTVFaVklFMkVJTlNER1VaRElRWlZHUTJUTU5aUUdVWkRLTVJUR0UyRUNOQlVHVTNESU5KV0lNMlRBTkpSR1pCVEtOUlVJRTJUTU5KVUdSQVRJTkpWR1EyVEtNWlZHVTJES01SVUdVM0RJTkpTR1JDRE1RWlZHSTJFR05KVUdVM0RPTUJWR1UyVEVNWlFHUTNETU1KVkdZMkRLTlpVR1JEREtNWldJTTJURU5CWUdVM0RLTkJVSVUyREtOSlVHVTNESU5SVkdNMlRNTVpRR1kyREtNUlVJUTNFRU5KV0dRMkRLTkJXSUkzVEFOSlpHVVpER01KWEdBMkRHTkpXR1EyVE9OQlVJVTJUS05TREdVM0RJT0JWR1UyVElOQ0JHVTJUS01aVkdVWlRLTkpVR1VZVEdNQldHTVpUQU5KWEdVMlRLTVJVSU0yVElOU0RHNFlES05aVkdJWlRBTlNDRzVBVEtOUlZHVTJFS05DR0dVWlRNUVpXR1EyRFFOSlZHVTNET01CVUdVMlRHTVpRR00yVEtNWlZHWTJUS05SVUdVM0RJUkJUR0UyVEVOQ0JHVTJETVFSVUlVMkRPTkpTR01ZVEtOSlhIRTJUTU5CVkdNWVRLTVJWRzQzRUdOS0JHUTRES05aVkdRMkVDTkJWR1UyVEtOSlRHVTJFRU5KV0dNWURNTkJWR1kyRUlNWlFHVVpES01CVkdRMlRLTkNCR1UzVEtNUlRHRTJUS05aWkdVM0RJTkpYR1EyRUtOSlhHWkJUSU5SVUhBMlRJTkpVR1JBVEtOSlZHTTJUS01aVkdRWlRLTlJXSUkzRElOQ0JHUkNER01CVkdZMkRNTkpVR1pCVElRSlZHWTJURU1aUkdVMlRPUUpWR0kyREtOWlVHUkRES05aV0lNMlVDTkJZR1UzVEtOQlVJRTJUS05KU0dVMlRHTkpVR1EyVEVOU0NHWTJES05SVUlRM0VHTkpTR1JCVEtOQldJTTJFQ05KWkdVWkRHTUJVR1UzVFNOSldHUTJUR09KVUlZMlRHTlNER1VaRElPQlZHWTJUSU5DQkdVMlRLTVpUR0FaVEtOQ0NHVTNUSU5KV0hBMkRNTkNFR1pCVEtNUlVHWTJUSU5TQ0dSQVRLT0JWR0laVENOQlZHNUFUS01SVUdVM0VHTkpUR1UyVE1RWlZJRTJEUU5KVUdVMkRJUkpVR1kyVEVNWlFHTTJUS01aVkdZMlRLTlJVR1VaRElSSlVHVTJURU5DREdVMkRNUVpVSUUyVE9OSlNHTVlUSU5KWEhFMlRFTkpWR1JDVElSUlZHRTNFR05LQkdRNERLTlJWR1kzVEFOSlZHVVpUR01CVEdVMlRHTkpXR1UyVE1OQlZJRTJFSU5TQ0dVM0RJTlJWR1EzRUVOWlFHVTRES01SVEdFM1RBTkJUR1VaRElOSlRHRTJFTU5KUkdaQlRLUUpVSEEyVE9OSlVHUkFUSU5SVkdNMlRLTVpWR1UyREtNUlVHVTNESU5KV0dVM1RNUVJWR0kyRUNOSlVHWkJUSVFKVkc0MlRFTVpSR1EyVE9PSlZHWTJES01aUkdSRERLTlpXSU0yRE1OQllHVTNES05SWEdBMkRLTkpUR01ZREdNSlZHTTJUTU5CVkdZMkRJTVJWRzQzRUdOSlNHUVpES05CV0lNM1RBTlJSR1VaREdNSlZHVTNVQ05KU0dRMlRNUVpVSVkyVEdOU0RHWTJESVFKVkdRMlRJTkNCR1UyVEtNUlZHVVpUS05DQ0dVM0RNUVJXR1EzRENOSlJHWkJUS01SVUlNMlRLTkpWRzRZREtOUlZHTTJES05CVkc0NFRLTlJVR1VaVFNOQ0dHVVpUTVFaVkdZMkRRTkpWR1pCRElSSlZHVTJUR05KVkdNMlRLTVpWR1kzRUVOUlVHUkFUSVJCV0lNMlRFTkNER1UyREtOUlhHQTJUT05KU0dNWVRLTlJXR0UyVE1OQlZHNDJESVJSVkdVM0VHTktCR1E0REtOUlZHUTJFS05CVkdVWlRLTkpUR1UyRUVOSldHUTJUTU5CVkdZMlRPTkpXR1VaRElPQlZHUTJUS05aUUdVM1RLTVJUR0EzRUVOWlpHVVpES05KV0dRMkVNTkpUR1pCVEtOUlVIQTJUT05TQ0dSQVRLTkpWR1FaVEFNWlJHUVpUS05SV0lJM0RHTVpRR1JDRE1RWlZHSTJETU5KVUdVM0RPTUJWR00yVEVNWlJHNFlESU1aVkdJMkRLTVpaR1VZREtNWldJTTJVQ05CWUdVM1RLTkJVSUUyREtOSlRHTVlER05KVUlJMlRNTVpRR1kyREtNWlZHSTJES05KU0dSQlRLTkJWR1UzVEFOSlZHVVpER01CVUdVM1RTTkpXR1UyVElSSlVJWTJUQ05TREdaQlRJT0JWR1kyVElOQ0ZHUTJUS01aVEdBWlRLTkJUR1UzREtOSldJTTJETU5DRUdaQkRLTVJVSU0yVElOU0NHNFlES05KVkdJWlRBTVpSR1ZBVEtNUlVHVTNESU5DR0dVWlRNUVpWR1kyRUNOSlRHVTJESVFKVkdVMlRJTVpRR00yVElNWlZHWTNFRU5SVUdWQVRJUkJXSUkyVEVOQ0JHVTJES05SVUlFMlRNTkpUR1UzRElOSlhJRTJURU5KVkdZMkRJUlJWR00zRUdOQ0ZHUTRES05SVkdZM0VHTkJWR1VaVEdNQlRHVTJER05KV0dNWURNUVpVSUUyRUlNWlJHVVpESU1SVkdRM0VFTlpRR1UzREtNUlRHRTJUTU5SUkdVWkRJTkpXR1EyRUtOSlJHWkJUS01SVUhBMlRFTkpVR1JBVEtOUlZHRVpUQU1aVkdSQkRLTlJUR0EzRElOSlNHUkNETVFaVkdJMkRRTkpVR1UyVE9NQlZHNDJURU1aUUdaQkRPT0pWR1kyREtOWlVHUkRES05KVEdBMlRFTkJZR1UzVEtOQlZHSTJES05KVEdVM0RJTlJVSUkyVE1OU0NHWTJESVFKVUlRM0VHTkpTR1JBVEtOQldJSTJFS05CVEdVWkRHTUpWR1UzVFNOSldHUTJUT05CVUlVMlRLTlNER1ZBVElPQlZHWTJUTU5aUUdVMlRLTVpUR0FaVEtOQlVHVVlUR01CV0dRMlRNTkNFR01ZREtNUlVJVTJUS05KV0dSQVRLT0JWR0laVENOQlZHNDRUS05SVUdVWlRDTkNHR1VZVEdNQlZHWTJEUU5KVUdVM0RNUVpVR1UyVEdNWlFHTVlUS01aVkdZMlRLTlNER1EzRElSQldJTTJURU5DREdVMkRNUVpVSVUyREtOSlNHTVlUSVFKVUdJMlRNTkJWRzQyRElSUlZHNDNFR05LQkdRNERLTVpWR1kzVEFOSlZHVVlUR01CVEdVMkVFTkpXR1pCRE1NWlRHRTJUQ05KV0dVWkRJUVpWR1EyVE1OQ0JHVTNUS01SVEdFMlRLTjJCR1VaRElOSldJTTJFTU5KUkdNWURNTkJVSEEyVE1OSldHNFlES05KVkdRMlRNTkJXR1lZVEtOUlRHQTNESU5KU0dSQ0RNUVJWR0kyVEVOSlVHWkJET01CVkc0MlRFTVpSR1UyVE9PSlZHSTJES05aVUdSQ1RLTkpXSU0yVE1OQllHVTNES05CVUlFMlRLTkpTR01ZREdNSldHRTJUS05KVkdZMkRJUkpVSVEzRUdOSlNHUkJUS05CVkdZM1RBTkpYR1VaREdNSldJSTNVQ05KU0dVMlRLTlJVSVkyVEtOU0RHVTNESU9CVkdZM0VFTkJXR1UyVEtNWlZHWTJFQ05CVEdVM0RJTkpXR1EyRE1OQ0VHWkJUS01SVUdZMlRJTlNDR1JBVEtOQlZHSVpUQ05KVkc0NFRLTVJVR1VaVENOSlNHVTJUTVFaVkdZMkVDTkpTR1UyRElRSlZHVTJUSU1aUUdNMlRJUVJWR1VaVEFOUlVHUkNUS05aVkdZMlRFTkNER1UyRE1RWlVJRTJUUU5KU0dNWURLTkpYSEUyVE1OQlZHTVlUSVJSVkdFM0VHTktCR1E0RElSSlVHUTJFQ05CVkdVWlRLTlJVSUUyVEdOSldHWkJETU5CVkdZMkVJTVpRR1UzRElPQlZHUTNFRU5aUUdVNERLTVJUR0UyRUNOQlNHVTNESU5KWEdRMkVLTkpWR1pCVEtRSlVIQTJUS05KVUdSQVRJTlJWR0VaVEFNWlZHUVpUS05SV0lJM0RJTkpXR1UzVE1RUlZHSTJEUU5KVUdVMlRJUUpWR1UyVEVNWlJHVTJUT09KVkdJMlRLTkpXR1JEREtNWldJTTNESU5CWUdVMkRLTlJXSU0yREtOSlVHVTJUR05KVUdNMlRNTkpWR1pCVEtOUlVJUTNFR05KU0dVWURLTkJXSUkzVEFOSlhHVVpER01KVkdZM0RDTkpTR1EyVE1RWlZHTTJUR05TREdWQVRJT0JWR1kyVElOQ0JHVTJUS05CVkdVWlRLTlJSR1UyVEtOSldHUTJUTU5DRUdNWURLTVJVSU0yVElOSldHNFlES05aVkdJWlRDTlNDRzQ0VEtOUlVHVTNUSU5DR0dVM1RNUVpYR0EyRFFOSldHVTNET01CVUdVMlRHTVpRR00yVElRUlZHWVpUQU5TREdSQ1RJUkJXSUkyVE1OQ0ZHVTJETVFSWEdBMlRPTkpTR01ZREdNSlZJRTJURU5CVkc0MkRJUkpWR1UzRUdOSldHUTRUS01KVkdRMkVDTkpWR1UyREtOSlRHVTJFRU5KV0dNWURNTVpUR0EyVE9OSlZHVVpESVFKVkdRM0VFTlpRR1UzVEtNUlRHQVpUQU5aWkdVM0RJTkpUR0UyRU1OSlJHTVlESVFKVUhBMlRLTlNDR1JBVElOSlZHTVpUQU1aVkdVWlRLTlJUR0EzRUdOQ0JHUkNER01CVkdJMkVDTkpVR1pCRE9NQlZHUTJURU1aUkdSQVRJTkJWR0kyREtOUlVHUkNUS01KV0lNMlVDTkJZR1UzVEtOQlVJRTJES05KVUdVMlRHTkpVSUkyVE1OSlZHWTJETU1KVkdFM0VFTkpTR1JBVEtOSldJSTNUQU5KV0dVWkRPUUpWR0UzVFNOSldHUTJUS05SVUlVMlRPTlNER1JBVElPQlZHVTJUSU5DQkdVMlRLTkJUR0UyRE1OQ0NHVTNETVFSV0dRMlVDTkNFR1pCREtNUlVJTTJUSU5TREc0WURLTlJWR0laVENOQ0JHUTJES05SVUdVM1RJTkNHR1VaVE1RWldHUTJFQ05KVUdVMkRJUUpWR1UyVEVOSlZHTTJUSU1aVkc0MlRLTlJVR1UzREtOWldJSTJURU5DREdVMkRNUVJVSUUyVE1OSlRHVTJUS05KWEhFMlRNTkJWRzQyRElSUlZHTTNFR05KU0dRNERLTkJWR1kzRUdOQlZHVVpER01CVEdVMkVFTkpXR01ZRE1OQlVHWTJFSU5TREdVWkRLTUJWR1EzRUdOQ0ZHUTJES01SVEdFM0VFTlpaR1VaRElOSlhHUTJFTU5KVkdaQlRLUUpVSEEyRUtOQlVHUkNUSU5SVkdJMlRLTVpWR1JCREtOSlRHQTNESU5KVEdVWVRLTlJWR0kyRUdOSlVHWkJESVFKVkhBMlRHTkpWR1pCRE9RSlZHWTJES05CV0dSRERLTVpXSU0yVUNOQllHVTNES05SWEdBMkRLTkpTR01ZREdNSlVHTTJUTU5TQ0dZMkRLTlJVSVFaVENOSlNHVTJES05CV0lJM1RBTkpZR1VaREdNSlVHVTNUU05KV0dRMlRPTkJVSVkyVEtOU0RHVTNESVFKVkc0MlRJTkNCR1UyVEtNUlRHQVpUS05KVUdVWkRJTkpXR1EyVE9OSlJHVTNES01SVUlFMlRJTVpRR1JBVEtOWlZHSTNVQ05KUkc1QVRLTVJWR1UyVE1OQ0dHVVlUR01CVUlFMkRRTkpXR1UyRElRSlZHVTJUR01aUUdNMlRJTVpWR1kzRUVOUlVHVTNES05aV0lNMlRFTkpVR1UyRE1RUlVJRTJUS05KU0dNWVRLTkpYSUUyVEVOQlZHNDJESVJSVkdNM0VHTlJVR1E0VEtNSlZHUTJFQ05CVkdVWkRLTkpUR1UyRElOSlNHVTJUTU5CV0dFMlRDTlNER1VaRElRWlZHUTJUTU5DQkdVM0RLTVJUR0UyREtOWlpHVTNESU5KV0lNMkVNTkpWR01ZRElSSlVIQTJFS05CV0daQlRJTkpWR01aVEFNWlZHVVpUS05SV0lJM0RJTkNCR1UzVE1RWlZHSTJESU5KVUdaQkRJUkpVR00yVEVNWlJHUTJUT09KVkdJMkRLTlpVR1JEREtOSldJTTJUTU5CWUdVM0RLTkJVSVUyRE1OSlNHTVlER05KVUdRMlRFTVpRR1kyREtOUlZHNDNFR05KU0dSQ1RLTkpWR1kzVEFOSlhHVVpUS05KVkdVM1RTTkpTR1EzRElOUlVJWTJUR05TREdSQ1RJT0JWR1kyVElOQ0ZHUTJUS05CVEdBWlRDTkJUR1UzRE1RUldHUTJUTU5DRUdaQlRLTVJVR1EyVElOU0NHNFlES05aVkdJWlRBTVpSR1ZBVEtOUlVHVVpUQ05DRkdVWlRNUVpWSUUyRFFOSlhHVTJESVJKVUdZMlRFTkpWR00yVEtNWlZHWTJUS05SVUdVM0RLTlpXSU0yVEVOQ0RHVTJES05KWEdBMlRRTkpUR1UyVE1RUlhIRTJUTU5CVkdVM0RJUlJWR0VaVEFOSlNHUTRES05SVkdRMkVDTkJWR1UyREtOUlVHWTJUR05KWEdRMlRNTkJVR0kyRUlOU0RHVVpESVFaVkdRM0VFTlpRR1UyREtNUlRHQVpUQ05LQkdVWkRJTkpXSU0yRU1OSlRHWkJUTU9CVUlFMlRFTkpVR1JBVEtOSlZHSTJUS01aVkdRWlRLTlJXSUkzRElOUlJHVVlUTVFaVkdJMkVDTkpWR1pCVElRSlZHNDJURU1aUUdVM0RNTUpWR1kyREtOQldHUkRES01aVEdBMkVDTkJZR1UyVEtOQlZHSTJES05KVEdNWURHTkpWR00yVE1OU0NHWTJES01SVUlRM0VFTkpXR1JCVEtOQldJSTNUQU5KWEdVWkRHTUpWR1kzRENOSldHUTJUTU5CVUlVMlRDTlNER1VaRElPQlZHWTJUSU5DQkdRM0RLTVJWR1VaVEtOQ0NHVTNER01CV0dRM0RDTkpSR1pCREtNUlVJVTJUSU5TQ0dSQVRLTlJWR00yVEtOSlZHNDRUS01SVkdVM0VHTkNHR1UyVEdNQlVJVTJEUU5KV0dVM0RPTUJVR1UyVEdNWlFHTVlUS01aVkdZM0VFTlJVR1VaRElSQlRHQTJUTU5CV0dVMkRNUVpYR0EyVEVOSlNHTVlUS05KWElFMlRFTkJWRzQyRElSSlZHVTNFR05KU0dRNERLTVJWR1EyRUNOSlZHVVpUR01CVEdVM0RDTkpYR1pCRE1OQlZHWTJFSU1aUUdVWkRJUUpWR1EzRUVOWlFHVTJUS01aVUdVMlRLTlpaR1VaREtOSlhHUTJFTU5KVEdaQlRJUUpVSEEyVE9OU0NHUkFUS05KVkdNWlRDTkJXR1JCREtOUlZHVTNEUU5CU0dSQ0RNUVJWR1kyRUdOSlVHWkJESVFKVkdZMlRFTVpSR1JBVElNUlZHWTJES05aVUdSRERLTVpXSU0yVUNOQllHVVpUS05SWEdBMlRLTkpSR1UyVEdNSldHRTJUTU5TQ0dZMkRLTVpWR0UzRUVOSlNHUkJUS05CV0lNMkVDTkpZR1VaVEtOSldJSTNVQ05KU0dRMlRNUVpVSVkyVEdOU0RHWTJESU9CVkdVM0VFTkNGR1EyVEtOQlZHWTJETU5SUkdVM0RNUVJXR1EyRUNOQ0VHWkJUS01SVUdJMlRJTlNDRzRZREtOUlZHSVpUQU1aUkdWQVRLTVJVR1VaVFNOQ0ZHVVlUTVFaVklFMkRRTkNGR1EyRElRSlZHVTJURU5KVkdNWVRNTUpWR1UzRUVOUlVHWVlUS01KV0lJMlRFTkpRR1UyREdNQlhHQTJUT05KU0dNWURNUVJYSEUyVEVOQlZHNDJESVJSVkc0M0VHTkpXR1E0REtOSldJSTJURU5CVkdVWlRHTUJUR0UzRENOSldHTVlETVFaVUlVMkVJTVpRR1VaRElRSlZHUTNFRU5DQkdWQVRLTVJUR0UyVEtOWlpHVTNESU5KVEdFMlRFTkpWR1pCVEtRSlVIQTJUR05KVUdSQVRJTkpWR01aVEFNWlZHUkJES05SVUdVM0RJTkNGR1UzVEtOSlZHSTJEUU5KVUdVMlRPTUJWR1kyVEdOSlZHWkJET09KVkdZMkRLTVpSR1JDVEtOWldJTTJETU5CWUdVM1RNUVJVSUUyVEtOSlRHVTNESVFKVUlJMlRNTkpWR1pCVEtNUlVJUVpUQU5KV0dRNERLTkJXSUkzVEFOSllHVVpER01KVUdVM1RTTkpTR1EyVE9OQlVJWTJUQ05TREdZMkRJUUpWR00yVElOQ0JHUTNES01KVEdBWlRLTkNER1VZVE1RUldHUTJUTU5KWEdaQkRLTVJVSEEyVElOSlZHNFlES05aVkdJWlRDTkpWRzVBVEtOUlZHVTJFS05DR0dVWlRNUVpXR1EyRFFOSlZHVTJESVFKVkdVMlRJTVpRR00yVElNWlZHWTJUS05TREdWQVRJUkJXSU0yVEVOQlVHVTJETVFaVUlVMkRLTkpTR01ZVEtOSlhJRTJURU5CVkdaQlRLTVJWR00zRUdOS0JHUTRES01aVkdRMkVDTkpWR1VaVEtOSlRHVTJESU5KUkdaQkRNTkJWR0kyRUlOU0RHVVpESVFaVkdRMlRNTlpRR1UyVEtNUlRHQTJETU5SUkdVM0RJTkpYR1EyRU1OSlJHTVlESVJKVUhBMlRNTkpVR1JDVElOSlZHTTJUS01aVkdSQkRLTlJUR0EzRElOSlNHUkNETVFaVkdJMkVLTkpVR1pCRElSSlVHWTJURU1aUUdNWVRLUUpWR0kyREtOWlVHUkNUS05KV0lNMlRNTkNCR1VaREtOQlVJRTJUS05KVEdNWURHTkpVSUkyVE1OU0NHWVpUR01CVkc0MlRLTkpTR1JCVEtOQldJTTJFQ05KWEdVWkRHTUJUR0EzVFNOSldHUTJUT05CVUlZMlRLTVpRR1JDVElPQlVJVTJESU5KU0dVMlRLTVpUR0FaVEtOSlRHVTNES05KV0dRMlRNTkpYR1pCVEtNUlVHUTJUSU5TQ0dSQ1RJT0JWR0laVENOSlZHNDRUS05SVUdVM0RJTkNGR1VZVE1RWlZHWTJFQ05KV0dVMkRJUUpVR1UyVEtOSlZHTTJUSVFSVkc0MkRLTlJVR1UzRElSQldJSTJURU5DQkdVMlRLTkpYR0EyVE1OSlNHTVlUS05KWEhFMlRNTkJWR1kyRElSUlZHTTNFR05LQkdRNERLTkJWR1EyRUNOSlZHVVpUR01CVEdFM0RDTkpXR1pCRE1OQlZJRTJFSU5TREdVWkRJUVpWR1EzRUdOQ0ZHUTJUS01SVEdFMlRNTlJSR1VaRElOSlhHUTJFTU5KWEdaQlRNTkJVSUUyVElOSlVHUkFUS05KVkdJMlRLTVpWR1FaVEtOSlRHQTNESU5KV0dSQ0RNUVJWR0kyRUtOSlZHVTNESVFKVkhFMlRFTVpRR1EyVE9PSlZHWTJETU5CV0dSRERLTVpXSU0yRUtOQllHVTJES05SV0lNMlRLTkpUR1UyVEdOSlVJSTJUTU5CVkdZMkRJTVJVSVEzRUdOSlNHUTNES05CV0lJMkVDTkpYR1VaRE9RSlZHRTNUU05KU0dRMlRNUVpWR00yVEtOU0RHVkFUSU9CVkdJMlRJTkNGR1EzREtNUlRHQVpUS05KVEdVM0RLTkpXR1EyVEdOSlJHVTNES01SVUlNMlRJTkpXRzRZREtOWlZHSVpUQ05CVkc0NFRLTVJWR1UzVElOQ0dHVVpUTVFaVklFMkRRTkpXR1UzRE1RWlZHVTJUR01aUUdNMlRJUVJWR1kyREtOUlVHVTNESVJCV0lJMlRNTkJXR1UyRE1RUlhHQTJUU05KU0dNWVRLTkpYSEUyVE1OQlZHTVlUSVJSVkdFM0VHTktCR1E0REtOWlZHUTJFQ05KVkdVMkRHTUJUR1UyVElOSlJHTVlETU5CVkdZMlRPTlNDR1VaRElRSlZHUVpUQU5DQkdVM1RLTVJUR0UyREtOWlpHVTNESU5KWEdRMkVNTkpYR1pCVElOUlVIQTJUTU5KVUdSQ1RJTkpWR01aVEFNWlJHWVlUS05SV0lJM0RJTkpXR1JDRE1RWlZHSTJFR05KVUdaQlRPTUJXR0UyVEVNWlJHVTNETU1KVkdJMkRLTlNER1JEREtNWldJTTJVQ05CWUdVM1RLTkJVSUUyRE1OSlVHVTJUR05KVUlJMlRNTkJWR1kyRE1NSlZHRTNFR05KU0dSQ1RLTkJXSUkyRUNOSldHVVpUSU5KVUdVM1RTTkpXR1EyVE9OQlVJWTJUR05TREdVM0RJT0JWR1UzRUVOQldHVTJUS01aVEdBWlRLTkNDR1UzRE1RUldHUTJURU5KWEdaQlRLTVJVR0kyVElOSldHNFlES05aVkdJWlRDTkJXR1lZVEtOUlVHVTNUSU5DR0dVMlRNUVpWSUUyRFFOSldHVTJESVJKVUdZMlRFTVpRR00yVElRWlZHRTNFRU5SVUdVWlRLTUpUR0EyVEVOQ0ZHVTJUS05SWEdBMlRPTkpTR01ZRE1RUlhIRTJURU5KVkdZMkRJUlJWR00zRUdOSldHUTRES05aV0lJMkVDTkpWR1VaVEtOUlVJRTJFRU5KV0dVMlRNTkJWR1kyRUlOU0RHVVpESU5SVkdRMlRNTlpRR1VaVEtNUlRHRTJVQ05CU0dVM0RJTkpXSU0yRUtOSlZHWkJUS1FKVUhBMlRPTkpVR1JBVElOSlZHTVpUQU1aVkdVMkRLTVJVR1UzRElOSldHVTNUS05KVkdJMkVHTkpVR1UyVE9NQlZIQTJUR05KVkdNWURPT0pWR1kyVEtOQ0ZHUkRES01KV0lNM0VHTkJZR1UzREtOQlVJVTJES05KVEdNWURHTkpVR00yVE1OSlZHWkJUSU5SVUlRM0VHTkpTR1JCVEtOQldJSTNUQU5KVkdVWkRHTUpWR1UzVFNOSldHUTJUTU5CVUlZMlRHTlNER1UzRElPQlZHVTJUSU5DQkdVMlRLTUpUR0FaVEtOSlVHVVlUR01CV0dRMlVDTkNFR1pCREtNUlVJTTJUSU5KV0dSQVRLTlJWR00yVE1OQldHWVlUS05SVUdVMkRNTkNHR1VaVE1RWlVJVTJEUU5KVkdaQkRJUUpWR1UyVEdNWlFHTTJUSU1aVkdZM0VFTlJVR1ZBVElSQlRHRTJURU5CU0dVMkRNUVJYR0EyVE9OSlNHTVlUS05SV0dFMlRFTkJWR1kyRElSSlZHRTNFR05KV0dRNERLTlpWR1EyRUtOQlZHVVlUR01CVEdVMkVFTkpXR01ZRE1OQlZHSTJFSU5TREdVWkRLTUJWR1EzRUVOQ0JHVTNES01aVkdZM0VFTlpaR1UzRElOSlVJVTJFS05KWEdaQlRJTlJVSEEyVEtOU0NHUkNUS05KVkdNMlRLTVpaR1FaVEtOUldJSTNESU5LQkdSQ0RNUVpWR0kyRUNOSlVHWkJESVJKVUc0MlRFTVpSR1EyVE9PSlZHWTJES05aVUdSQ1RLTkpXSU0yVEVOQllHVVlUS05SWEdBMlRLTkpSR01ZREdOSlVHTTJUTU5CVkdZMkRLTlJVSVFaVEFOSlNHUTRES05CVkdVMkVDTkpZR1VaREdNSlVHVTNUU05KV0dRMlRLTlJVSVkyVENNWlFHVTNESU9CVkc0M0VFTkNCR1UyVEtNWlRHQVpUQ05KVEdVM0RLTkpXSU0yVE1OQ0VHWkJUS01SVUlFMlRJTlNER1JDVElOQlZHSTNVQ05KU0dWQVRLTVJVR1UzVElOSlFHVVpUTVFaVklFMkRRTkpUR1UzRE9NQlZHVTJUQ01aUUdNMlRNTUpWR1UyVEtOUlVHVVpES05aV0lNMlRFTkNER1UyRE1RWlVJRTJUTU5KU0dNWVRLTkpYSUUyVE1OQlZHWkJUSVJSVkdFWlRBTktCR1E0REtOUlZHUTJFQ05KVkdVMkRLTlJVR1kzRENOSldHWkJETU5CVklFMkVJTlNDR1UzRElOQlZHUTNFRU5aUUdVM0RLTVJUR0UyVEtOWlpHVVpESU5KV0lNMlRFTkpUR1pCVEtRSlVIQTJUTU5KVUdSQVRLTkpWR0laVEFNWlZHUkJES05SV0lJM0RJTkNGR1JDRE1RWlZHSTJFR05KVUdaQkRJUUpWRzQyVEVNWlFHVTNETU1KVkdZMkRLTkJXR1JEREtOSldJTTJUTU5CWUdVM0RLTlJYR0EyVEtOSlRHTVlER01KVUlJMlRNTlNDR1kyREtRSlVJUTNFR05KU0dRM0RLTkJXSUkyRUtOQlZHVVpER01KVkdVM1RTTkpTR1EyVEdNSlZHSTJUS05TREdZNERJT0JWR0UyVElOQ0JHVTJUS05CVEdBWlRLTkNDR1UyVEdNQldHUTJFS05KWEdVMlRLTVJVSVUyVEtOSldHNFlES09CVkdJWlRBTkpWRzQ0VEtOUlVHVVpUQ05DR0dVWVRNUVpWSUUyRFFOSlZHVTJESVJKVUdVMlRHTkpXR1JBVEtNWlZHWTNFRU5SVUdRM0RJUkJUR0EyVE1OQllHVTJETVFaVUlFMlRNTkpTR01ZVElOSlRHQTJURU5CVkc0MkRJUlJWRzQzRUdOS0JHUTRES05aVkdRMkVLTkJXR1VaREdNQlRHVTJFRU5KV0daQkRNTkJWR1kyVE9OU0RHVVpESU9CVkdRMlRLTkNCR1UyVEtNUlRHRTJUS05aWkdVM0RJTkpXR1EyRU1OSlRHWkJUTU5CVUhBMlRNTkpVR1JBVEtOSlZHUTJUS01aVkdRWlRLTlJXSUkzRUdOQldHUkNETVFSVkdZMkVDTkpVR1pCVElSSlVHUTJURU1aUkdVMlRPUUpWR0kyREtOU0RHVVpES05aV0lNMlVDTkJZR1UyVEtOQlVJVTJETU5KU0dVMlRHTkpVR1EyVEVOU0NHWTJES01SVUlVMkRLTkpTR1JCVEtOQlZHWTJFQ05KVkdVWkRHTUJWR1UzVFNOSldHUTJUR01KVUlZMlRLTlNER1JBVElPQlZHWTJUSU5DRkdRMlRLTVpWR1VaVEtOQ0NHVTNESU5KV0dRMkRNTkNFR1pCVEtNUlVHWTJUSU5TQ0c0WURLT0pWR0laVENOWlFHUVpUS05SVUdVM1RJTkNHR1UyVE1RWlZHWTJEU05KUkdVMkRJUUpWR1UyVElNWlFHTTJUSVFSVkdZMlRLTlJVR1VaVEtNSlZHWTJURU5DQkdVMkRNUVJYR0EyVE9OSlNHTVlUS05KWEhFMlRNTkJWRzQyRElSSlZHNDNFR05LQkdRNERLTkpXSUkyRUNOQlZHVVpUR01CVEdVMlRHTkpXR1EyVE1OQlVHSTJFSU1aUUdVWkRJUUpWR1EzRUVOWlFHVTRES01SVEdFMkVDTkJVR1VaRElOSldHUTJFS05KUkdaQlRLUUpVSEEyVEdOSlVHUkFUSU5SVkdNWlRBTVpWR1JCREtOUldJSTNESU5KV0dSQ0RHTUJWR0kyVEFOSlVHVTJUSVFKVkc0MlRFTjJCR1VZVE9PSlZHWTJES05KV0dSQ1RLTlpXSU0yRUNOQllHVTNES05CVUlFMlRLTkpVR01ZREdPSlVJSTJUTU5TQ0dZMkRLUUpVSVEzRUVOSlNHUkJUS05CV0lJM1RBTkpZR1VaREdNSlVJRTJESU5KV0dRMlRPTkJVSVkyVE9OU0RHWTJESVFKVkdRMlRJTkNCR1EzREtNSlRHQVpUS05CVEdVM1RLTkpXR1EyVE1OQ0VHWkJUS01SVUlVMlRLTkpXR1JBVEtOUlZHSVpUQ05TQ0c0NFRLTlJVR1UzVElOQ0dHVVpUTVFaVkdJMkRRTkpXR1UyRElRSlZHVTJURU1aUUdNWVRJUVJWR1laVEFOUlVHUTNESVJCV0lNMlRFTkNGR1UyRE1RWlVJVTJESU5KU0dNWVRNUVJYSEUyVEVOQlZHNDJES01SVkdNM0VHTkpXR1JBVEtOSlZHUTJFS05CV0dVWkRLTkpUR1UyRUVOSlZHTVlETU5CVkdNMlRDTlNER1VaRElRWlZHUTNFRU5DQkdVNERLTVpWR1VaVEFOWlpHVVpES05KWEdRMkVNTkpSR1pCVEtRSlVIQTJUTU5KV0c0WURJTkpWR0laVEFNWlJHUkJES05SV0lJM0RJTktCR1JDREdNQlZHSTJESU5KVUdaQkRPTUJWR1EyVEVNWlJHUTJUT09KVkdZMkRLTVpaR1JEREtNSldJTTJUTU5DQkdVM0RLTkJVSUUyVEtOSlJHTVlER05KVkdRMlRFTkJWR1kyREtOWlZHRTJUTU5KU0dSQVRLTkJUR0EyRUNOSlhHVVpER01KVkdVM1RTTkpXR1EyVEdNSlVJWTJUT05TREdRM0RJT0JWR1kyVElOQ0JHVTJUS01aVEdBWlRDTkNDR1UzRE1RUldHUTJUTU5KWEdaQlRLTVJVR1EyVElOU0RHUkFUS01aVkdJWlRDTkpWRzVBVEtOUlVHVVpUQ05KU0dVMlRNUVpXR1EyRFFOSlZHVTJESVFKVkdVMlRJTkpWR00yVElRUlZHNDJES05SVUdVM0RJUkJXSU0yVEVOQ0RHVTJES05SVUlFMlRNTkpUR1UyVEdNQlhIRTJUTU5CVkdaQlRJUlJWR1VaVEFOQ0ZHUTRES05KV0lJMkRNTkpWR1VaVEdNQlRHVTJFRU5KV0daQkRNTkJVSUUyVE9OU0RHVVpESU1SVkdRM0VFTkNCR1U0REtNUlRHRTNFR05LQkdVM0RJTkpYR1EyRU1OSlZHWkJUS05SVUhBMlRPTkpVR1JBVElOUlZHTTJUS01aUkdZWVRLTlpXSUkzRElOSldHVTNUS05KVkdJMkVHTkpVR1pCRElRSlZHVTJURU1aUUdRM0RNTUpWR1kyVEtOU0NHTTRUS01CVkdRWlRBTTJF


힌트를 보면 base 16 , base 32 , base 64 X  5 이다


위 base.txt를 보면 base 인코딩이 된 것 같기는 하다. 힌트를 해석해보면, flag가 base 16 , base 32, base 64 순서대로 5번씩 인코딩 된것이 아닐까 싶다. 디코딩을 해보자.


base64 decode : https://www.base64decode.org/


base32 decode : https://emn178.github.io/online-tools/base32_decode.html


base16 decode : https://simplycalc.com/base16-decode.php



노가다의 시작....




플래그가 나왔다.

 FLAG : flag_{R3SP3CT_Y00N}



728x90
반응형
728x90
반응형

크립또



locn_{I3xb_3czl_I1sj3y_1ft'w_1v?}


비제네르 처럼 생겨먹었는데...키가 없다. 힌트가 키처럼 생겼는데 키에 숫자가 들어갈수가 없다.


숫자를 빼고 넣어볼까?


https://www.dcode.fr/vigenere-cipher





엌 맞아버렸따.


flag에는 대문자가 없다고 하니 대문자를 제외하고 인증하자.


FLAG : v3ry_3asy_c1ph3r_1sn't_1t?

728x90
반응형
728x90
반응형

크립또




카이사르 돌리자.


FLAG IS CRYTO_IS_FUCK



10점따리 문제

728x90
반응형
728x90
반응형

Title
I don't speak English.

Description

Serz EKW. Log sal tdl iaoi nif tpec, ouf gcpugvgag fu tuk NgsGunk sggik, qbmq 28 siyrxgl bf kuu ugkw untoneq zww tvdqu fbx waq uisnll gsvgptube fucy, “Ennstaz Yiqjr” iz zhr sdfru sutcr oi oyf ubronjtv. Uuixk tuk Hgsgh Wurrgc hcefaxmrx pfb eemrige IN hhdsk if rxlrye wtojt dmrfipk os nxk mjn ouuazgq, “Ennstaz Yiqjr” azj igy lwged, iunqkgxsylk cagiwszye hodru xk lbw m ieezxxgrd hornr war.

(ZODK: Lvyiwl: 13 Oeez Iajxw Qbnsy os Yjekrr)

Yacu uu lfr vujeb ltsrhrqy PFE gabvns gn vtkaqvbxk hbxhw ruraagu zww qgrqktf uu lfr Squuy’y Vsltnms dvyijgpt, inipn vatrs kuu n vgwrgy suoq ytfqr or zhr iaan’f tatghk-xf-aueqq vvht. (Al saoz, tuk kabro tgs fvpjird m jaait upnzq, gpgrn uyylqj “tuk xftvsuhlr ndjqr.”) “Gmtgagb ecnne, ot’f rxcc Oehkrye Wajys al Kbxts,” qnip VSL, g.z.s. Hne-Egnt Vpji, vn mt iaztjtvei cign PTA Aeiy.

“Bhz izc tuk joryc’l jbow rixk Qwtrrxe Hvrak. Bnnok dbkhf’r yoaq lvqt Tciedry Uoadq. … Nnp zhr yxlsntuun vt bmqvc hodru sgcfn’f robq aair Bqbeern Zgyle. Hug nt ccrpe yalocy G’z Bqbeern Zgyle ytlrt. Km ghmz’s gnt hmvnf. Ot’f ydjr bf m zwvyi.”

HQL’s yktrugaa eiek tb oclcenqz shvtjqgadjoz npkl’g gate htcgrvcqj bl uizce cqreoxxlgrs. Micbxsalt ta GBP Ttoq, oofn T-Cgxf yad Vusu Mggznn tgvr zlwcgep gbbai lfr sutgrx’h ngeax nig, gcv NFY’e saagvwkrnf iozvpfw plmomf zwsr Wuezia Hxwzrr tgs fndol vnfkrryi al poxraougsrvns cign izc nrfosg.

(SDJC: JAFIH: “Wkgwkl Lut Tugi A Sfep zo Xtdo” Gf a Xonfgcw Ebtkk Scudx)

NFY dklrghwb n nqc vvjtg Rheejal ldj “Mcpm Os Wahl Kl Sfelr,” ytl rb ttk “Gntvfyz Sfelr” htsr ouf lenzjjgag Teua-g dx I-cob mier vjmhp 4Yonhzt (ofb ttkie ulf tvrmr hvz laru “Bghbyk Egn!“). Vt’e g gyoirgrr, srofyxwp nnp soek bgpr cturruvjychqj vvjtg ruaz zhr ugaevnmr, bhz EKW zazggry ig ert ut a skl emiee coezwq ms a sogtrt gp gwa. Chrzwwp br zut vz lajy bq g vvxpd fvt, ikly, zwsr’f iz zhr knwq ? nnp ilvizk ? ms ttk brnddbrr.


Find the [Key]. 




치환암호, 카이사르, 비제네르 이중 하나일 것이다.


https://www.guballa.de/vigenere-solver




비제네르로 하니 풀렸다.


authkey는 디코딩에 성공한 키인데, 대문자로 해야 인증이 된다.


authkey : GANGPSYNAM



728x90
반응형

'WAR GAME > XCZ.kr' 카테고리의 다른 글

XCZ.kr [prob 6] 풀이  (0) 2018.09.09
XCZ.kr [prob 5] 풀이  (0) 2018.09.09
XCZ.kr [prob 4] 풀이  (0) 2018.09.05
XCZ.kr [prob 3] 풀이  (0) 2018.09.05
XCZ.kr [prob 2] 풀이  (0) 2018.09.05
XCZ.kr [prob 1] 풀이  (0) 2018.09.05
728x90
반응형

Title
Listen Carefully!

Description
Hint1. Auth Key = Upper Case




들어보면 모스부호라는 것을 알 수 있다.

다운받아서 보면 파일명도 morse다.


모스부호 소리 파일을 디코딩해주는 사이트가 있다.  https://morsecode.scphillips.com/labs/audio-decoder-adaptive/


여기에 파일을 업로드하고 디코딩해주면 된다.



3번 돌렸다.


완벽하게 되지 않았지만 대충 key를 구할 수 있다.



authkey : MORSECoDE




728x90
반응형

'WAR GAME > XCZ.kr' 카테고리의 다른 글

XCZ.kr [prob 6] 풀이  (0) 2018.09.09
XCZ.kr [prob 5] 풀이  (0) 2018.09.09
XCZ.kr [prob 4] 풀이  (0) 2018.09.05
XCZ.kr [prob 3] 풀이  (0) 2018.09.05
XCZ.kr [prob 2] 풀이  (0) 2018.09.05
XCZ.kr [prob 1] 풀이  (0) 2018.09.05
728x90
반응형

files  Crypto  HardCrypto


system32.kr의 HardCrypto 문제 풀이입니다.



HardCrypto.md

Do you know Hard Crypto? 
Find the Flag!! 
Ex)FLAG{ABCEDFG} 

Make my pental



Do_you_know_Crypto.txt

c075121115114075121115114075121115114075049115043075122052114075121115043075121115114075121115114075122052114075121115114075121115114075121115114080068119056080067049100080106052043076105115114075121115114075121052116076083048116076083048116076083048116076083052114075121115114075121115117080105115114075121115114075121115114075121115114075121115114075121115114075121115114075121115114076106119116076083048116076083052043076083048116076083048116076083048116076105048116076083048116076083048116076083048116076083048116076083048116076106119116076083048116076083048116076083048116076083048116076083048116076083052043075121115114075121115114075121115114075121115114075121052056075121115114075121115114075121115114075121115114075121115114075121115114075121115114076106052114075121115114075121115114076105048116076083048116076083048116076083048116076083048116076083048116076083052114075121115114075121115114075121052116076083048116076083048116076083048116076083048117080068119114075121115114075121115114075121115114075121115114075121115114075121115114076106052043075121115114075121115114075121115114075121115114075121115114075121115114075121115117076083048116076083048116076083048116076083048116076083048116076083048116076083048117080067052043075121115114075121115114075121115114075121115114075121115114075121115114075121115114075121052116076083048116076083048116076105052114075121115114075121115114075121115114075121052056075121115114075121115114075121115114075121115114075121115114075121115114075121115114075121115114075121052056075121115114075121115114075121115114075121115114075121115114075121115114076106052043076083048116076083048116076083052114075121115114075121115114076105048116076083048116076083048116076083052114075121115114076106119056076083048116076083048116076083048116076083048116076083048116076083048116076083052043080105115114075121115114075121115114075121052061


으어.... 일단 dec 2 string을 해보았습니다.


아스키로 보니 


KysrKysrKysrK1s+Kz4rKys+KysrKysrKz4rKysrKysrKysrPDw8PC1dPj4+LisrKysrKy4tLS0tLS0tLS0tLS4rKysrKysuPisrKysrKysrKysrKysrKysrKysrKysrLjwtLS0tLS4+LS0tLS0tLS0tLi0tLS0tLS0tLS0tLS0tLS0tLjwtLS0tLS0tLS0tLS0tLS0tLS4+KysrKysrKysrKysrKy48KysrKysrKysrKysrKysrKysrKysrLj4rKysrKysrLi0tLS0tLS0tLS0tLS0tLS0tLS4rKysrKysrKy4tLS0tLS0tLS0tLS0uPDwrKysrKysrKysrKysrKysrKysrLj4+KysrKysrKysrKysrKysrKysrKysuLS0tLS0tLS0tLS0tLS0tLS0tLS0uPC4+KysrKysrKysrKysrKysrKysrKysrKy4tLS0tLS0tLi4rKysrKysrKysrKy48KysrKysrKysrKysrKysrKysrKysrKysrKy48KysrKysrKysrKysrKysrKysrLj4+LS0tLS0tLS4rKysrKysrLi0tLS0tLS0tLS4rKysrLjw8LS0tLS0tLS0tLS0tLS0tLS0tLS4+PisrKysrKysrKy4=



처음엔 이 루트가 아닌줄 알았으나.. 마지막에 =을 보고 base64로 디코딩~


++++++++++[>+>+++>+++++++>++++++++++<<<<-]>>>.++++++.-----------.++++++.>+++++++++++++++++++++++.<-----.>---------.-----------------.<-----------------.>+++++++++++++.<+++++++++++++++++++++.>+++++++.------------------.++++++++.------------.<<+++++++++++++++++++.>>++++++++++++++++++++.--------------------.<.>++++++++++++++++++++++.-------..+++++++++++.<+++++++++++++++++++++++++.<++++++++++++++++++.>>-------.+++++++.---------.++++.<<-------------------.>>+++++++++.


이건...예전에 어떤 CTF에서 나왔던 문제였다는게 기억났는데...


뭐지뭐지 하다가 brainfuck 언어라는게 기억나서 바로 디코딩했습니다!


FLAG : FLAG{Bra1nFuck_1s_Funny_Crypt0}


728x90
반응형

'WAR GAME > System32.kr' 카테고리의 다른 글

System32.kr [BigImage] 풀이  (0) 2018.08.31
System32.kr [PPT] 풀이  (3) 2018.07.29
System32.kr [HardCrypto] 풀이  (0) 2018.07.29
System32.kr [Easy Crypto] 풀이  (0) 2018.07.29
System32.kr [RSA102] 풀이  (0) 2018.07.29
System32.kr [RSA101] 풀이  (0) 2018.07.29

+ Recent posts