시간 제한메모리 제한제출정답맞힌 사람정답 비율
4 초 1024 MB333100.000%

문제

하이비는 최근 바이히가 만든 두뇌 게임 Operation: Path Query, Remastered - Static Tree (Updated Version)을 플레이하고 있다. 이 게임의 규칙은 다음과 같다.

  • $N$개의 정점을 가진 트리가 주어진다. 각 정점에는 $1$번부터 $N$번까지의 번호가 매겨져 있으며, 각 간선에는 $1$번부터 $N-1$번까지의 번호가 매겨져 있다.
  • $3N-1$개의 정수 카드와 $N-1$개의 연산자 카드를 사용한다.
    • 정수 카드에는 $2$자리의 음이 아닌 정수가 적혀있다. 카드에 적힌 수는 $0$으로 시작할 수 있다.
    • 연산자 카드에는 $+$, $-$, $\times$, $\div$ 중 하나의 연산자가 적혀있다.
  • $1$ 이상 $N$ 이하의 정수 $v$에 대해, $v$번 정점의 왼쪽에 정수 카드 $A_v$, 오른쪽에 정수 카드 $B_v$를 놓는다.
  • $1$ 이상 $N-1$ 이하의 정수 $e$에 대해, $e$번 간선의 왼쪽에 연산자 카드 $P_e$, 오른쪽에 정수 카드 $C_e$를 놓는다.
  • 카드를 모두 놓으면 게임이 시작한다. 게임이 진행되면서 다음과 같은 이벤트가 총 $Q$번 발생한다.
    • 질문: 두 정점 번호 $x$, $y$가 주어질 때 $x$번 정점에서 출발해서 $y$번 정점으로 끝나는 경로 내의 카드를 모두 나열한 뒤 나오는 수식의 값을 계산해야 한다.
    • $A_x$ 변경: 정점 번호 $x$와 정수 $y$가 주어질 때 $x$번 정점의 왼쪽에 놓인 정수 카드를 $y$가 적힌 정수 카드로 변경한다.
    • $B_x$ 변경: 정점 번호 $x$와 정수 $y$가 주어질 때 $x$번 정점의 오른쪽에 놓인 정수 카드를 $y$가 적힌 정수 카드로 변경한다.
    • $P_x$ 변경: 간선 번호 $x$와 연산자 $y$가 주어질 때 $x$번 간선의 왼쪽에 놓인 연산자 카드를 $y$가 적힌 연산자 카드로 변경한다.
    • $C_x$ 변경: 간선 번호 $x$와 정수 $y$가 주어질 때 $x$번 간선의 오른쪽에 놓인 정수 카드를 $y$가 적힌 정수 카드로 변경한다.
  • 질문에 답할 때는 아래 사항들을 주의해야 한다.
    • 연산자 우선순위는 무시하고 왼쪽에서 오른쪽 순서로 연산한다.
    • 경로 내의 카드를 나열할 때는 출발점에서 가까운 정점 또는 간선에 놓인 카드부터 나열해야 한다. 또한, 정점 또는 간선의 왼쪽에 놓인 카드를 오른쪽에 놓인 카드보다 먼저 나열해야 한다. 예를 들어, 경로가 $x$번 정점 → $a$번 간선 → $b$번 정점 → $c$번 간선 → $y$번 정점이라고 하자. 이 경우 $A_x$, $B_x$, $P_a$, $C_a$, $A_b$, $B_b$, $P_c$, $C_c$, $A_y$, $B_y$의 순서대로 카드를 나열해야 한다.
    • 정수 카드가 여러 개 연속되어 놓이는 경우, 해당하는 정수를 이어 붙여서 하나의 수로 보아야 한다. 예를 들어, 나열된 카드가 $12$, $57$, $+$, $12$, $03$, $17$이라면 계산해야 하는 값은 $12\, 57+12\, 03\, 17=121\, 374$가 된다.
    • $x\div 0$은 $0$으로 계산한다.

예를 들어, 다음과 같은 트리에서 $1$번 정점에서 출발해서 $4$번 정점으로 끝나는 경로 내의 카드를 모두 이어 붙인다고 해보자.

경로 내의 카드를 모두 이어 붙인 뒤 계산하면 $07\,23 + 27\,06\,24 - 35\,13\,26 = -79\,979$가 나온다.

하이비는 이 게임을 자주 플레이하다 보니, 매 플레이마다 모든 질문에 대해 답을 정확히 맞히는 경지에 이르렀다. 이를 바이히에게 증명하기 위해, 하이비는 게임의 진행 과정이 주어질 때 각 질문에 대한 답을 계산해 주는 프로그램을 작성해서 보여주기로 했다.

입력

첫째 줄에는 트리의 정점 개수 $N$과 플레이하는 라운드의 수 $Q$가 공백으로 구분되어 주어진다. $(1\le N,Q\le 500\, 000)$

둘째 줄부터 $N$개의 줄에 걸쳐, $i+1$번째 줄에는 $i$번 정점에 놓인 두 정수 카드 $A_i$와 $B_i$가 공백으로 구분되어 주어진다. $(00\le A_i,B_i\le 99)$

$N+2$번째 줄부터 $N-1$개의 줄에 걸쳐, $i+N+1$번째 줄에는 $i$번 간선이 잇는 두 정점 $v_i$, $w_i$과 해당 간선에 놓인 연산자 카드 $P_i$, 정수 카드 $C_i$가 공백으로 구분되어 주어진다. $(1\le v_i,w_i\le N;$ $00\le C_i\le 99;$ $P_i$는 $+$, $-$, $\times$, $\div$ 중 하나$)$

$2N+1$번째 줄부터 $Q$개의 줄에 걸쳐 문제에서 나오는 이벤트를 의미하는 글자 $t$와 이벤트를 나타내는 두 값 $x$, $y$가 공백으로 구분되어 주어진다.

  • $t=$ ?: 질문 이벤트이다. 이때 $x$, $y$는 $1 \le x, y \le N$를 만족하는 정수이다.
  • $t=$ A: $A_x$ 변경 이벤트이다. 이때 $x$, $y$는 $1 \le x \le N;$ $00 \le y \le 99$를 만족하는 정수이다.
  • $t=$ B: $B_x$ 변경 이벤트이다. 이때 $x$, $y$는 $1 \le x \le N;$ $00 \le y \le 99$를 만족하는 정수이다.
  • $t=$ P: $P_x$ 변경 이벤트이다. 이때 $x$는 $1 \le x \le N-1$를 만족하는 정수이고, $y$는 $+$, $-$, $\times$, $\div$ 중 하나이다.
  • $t=$ C: $C_x$ 변경 이벤트이다. 이때 $x$, $y$는 $1 \le x \le N-1;$ $00 \le y \le 99$를 만족하는 정수이다.

정수 카드에 적히는 수는 항상 $2$자리 정수로 주어진다. 이를 위해 앞에 불필요한 $0$이 붙을 수 있다.

연산자 카드에 적히는 연산자 $+$, $-$, $\times$, $\div$은 각각 글자 +, -, *, /로 주어진다.

출력

각 질문 이벤트에 대해 질문의 답을 기약분수로 나타낸 값을 $p/q$라고 하자. 이때, $qr\equiv p\pmod{1\, 208\, 017}$을 만족하는 $0$ 이상 $1\, 208\, 017$ 미만인 정수 $r$을 출력한다. 문제의 제한 내에서 이 정수는 각 질문에 대해 유일함을 보일 수 있다.

$1\, 208\, 017$은 소수이다.

예제 입력 1

5 6
07 23
27 63
06 24
13 26
92 31
1 3 + 27
3 4 - 35
3 5 + 14
2 5 / 16
? 1 4
A 1 87
P 3 *
B 5 09
C 4 61
? 2 1

예제 출력 1

1128038
975864

처음 들어오는 질문은 $1$번 정점에서 $4$번 정점으로 가는 경로 위의 카드를 나열해야 한다. 이를 나열하면 $07\, 23+27\, 06\, 24-35\, 13\, 26$이 나오고, 이 값은 $-79\, 277$이다. 이때 $1\cdot 1\, 128\, 038\equiv -79\, 979\pmod{1\, 208\, 017}$이므로, $1\, 128\, 038$을 출력하면 된다.

이후 $4$번의 카드 변경 이벤트가 주어진다.

이후로 들어오는 질문은 $2$번 정점에서 $1$번 정점으로 가는 경로 위의 카드를 나열해야 한다. 이를 나열하면 $27\, 63\div 61\, 92\, 09\times 14\, 06\, 24+27\, 87\, 23$이 나오고, 이 값은 $\displaystyle \frac{19\, 219\, 592\, 691}{68\, 801}$이다. 이때 $68\, 801\cdot 975\, 864\equiv 19\, 219\, 592\, 691\pmod{1\, 208\, 017}$이므로, $975\, 864$를 출력하면 된다.

W3sicHJvYmxlbV9pZCI6IjM1NDkwIiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiW09dIE9wZXJhdGlvbjogUGF0aCBRdWVyeSwgUmVtYXN0ZXJlZCAtIFN0YXRpYyBUcmVlIChVcGRhdGVkIFZlcnNpb24pIiwiZGVzY3JpcHRpb24iOiI8cD5cdWQ1NThcdWM3NzRcdWJlNDRcdWIyOTQgXHVjZDVjXHVhZGZjIFx1YmMxNFx1Yzc3NFx1ZDc4OFx1YWMwMCBcdWI5Y2NcdWI0ZTAgXHViNDUwXHViMWNjIFx1YWM4Y1x1Yzc4NCBPcGVyYXRpb246IFBhdGggUXVlcnksIFJlbWFzdGVyZWQgLSBTdGF0aWMgVHJlZSAoVXBkYXRlZCBWZXJzaW9uKVx1Yzc0NCBcdWQ1MGNcdWI4MDhcdWM3NzRcdWQ1NThcdWFjZTAgXHVjNzg4XHViMmU0LiBcdWM3NzQgXHVhYzhjXHVjNzg0XHVjNzU4IFx1YWRkY1x1Y2U1OVx1Yzc0MCBcdWIyZTRcdWM3NGNcdWFjZmMgXHVhYzE5XHViMmU0LjxcL3A+XHJcblxyXG48dWw+XHJcbjxsaT4kTiRcdWFjMWNcdWM3NTggXHVjODE1XHVjODEwXHVjNzQ0IFx1YWMwMFx1YzljNCBcdWQyYjhcdWI5YWNcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBcdWFjMDEgXHVjODE1XHVjODEwXHVjNWQwXHViMjk0ICQxJFx1YmM4OFx1YmQ4MFx1ZDEzMCAkTiRcdWJjODhcdWFlNGNcdWM5YzBcdWM3NTggXHViYzg4XHVkNjM4XHVhYzAwIFx1YjllNFx1YWNhOFx1YzgzOCBcdWM3ODhcdWM3M2NcdWJhNzAsIFx1YWMwMSBcdWFjMDRcdWMxMjBcdWM1ZDBcdWIyOTQgJDEkXHViYzg4XHViZDgwXHVkMTMwICROLTEkXHViYzg4XHVhZTRjXHVjOWMwXHVjNzU4IFx1YmM4OFx1ZDYzOFx1YWMwMCBcdWI5ZTRcdWFjYThcdWM4MzggXHVjNzg4XHViMmU0LjxcL2xpPlxyXG48bGk+JDNOLTEkXHVhYzFjXHVjNzU4IFx1YzgxNVx1YzIxOCBcdWNlNzRcdWI0ZGNcdWM2NDAgJE4tMSRcdWFjMWNcdWM3NTggXHVjNWYwXHVjMGIwXHVjNzkwIFx1Y2U3NFx1YjRkY1x1Yjk3YyBcdWMwYWNcdWM2YTlcdWQ1NWNcdWIyZTQuXHJcbjx1bD5cclxuPGxpPlx1YzgxNVx1YzIxOCBcdWNlNzRcdWI0ZGNcdWM1ZDBcdWIyOTQgJDIkXHVjNzkwXHViOWFjXHVjNzU4IFx1Yzc0Y1x1Yzc3NCBcdWM1NDRcdWIyY2MgXHVjODE1XHVjMjE4XHVhYzAwIFx1YzgwMVx1ZDYwMFx1Yzc4OFx1YjJlNC4gXHVjZTc0XHViNGRjXHVjNWQwIFx1YzgwMVx1ZDc4YyBcdWMyMThcdWIyOTQgJDAkXHVjNzNjXHViODVjIFx1YzJkY1x1Yzc5MVx1ZDU2MCBcdWMyMTggXHVjNzg4XHViMmU0LjxcL2xpPlxyXG48bGk+XHVjNWYwXHVjMGIwXHVjNzkwIFx1Y2U3NFx1YjRkY1x1YzVkMFx1YjI5NCAkKyQsICQtJCwgJFxcdGltZXMkLCAkXFxkaXYkIFx1YzkxMSBcdWQ1NThcdWIwOThcdWM3NTggXHVjNWYwXHVjMGIwXHVjNzkwXHVhYzAwIFx1YzgwMVx1ZDYwMFx1Yzc4OFx1YjJlNC48XC9saT5cclxuPFwvdWw+XHJcbjxcL2xpPlxyXG48bGk+JDEkIFx1Yzc3NFx1YzBjMSAkTiQgXHVjNzc0XHVkNTU4XHVjNzU4IFx1YzgxNVx1YzIxOCAkdiRcdWM1ZDAgXHViMzAwXHVkNTc0LCAkdiRcdWJjODggXHVjODE1XHVjODEwXHVjNzU4IFx1YzY3Y1x1Y2FiZFx1YzVkMCBcdWM4MTVcdWMyMTggXHVjZTc0XHViNGRjICRBX3YkLCBcdWM2MjRcdWI5NzhcdWNhYmRcdWM1ZDAgXHVjODE1XHVjMjE4IFx1Y2U3NFx1YjRkYyAkQl92JFx1Yjk3YyBcdWIxOTNcdWIyOTRcdWIyZTQuPFwvbGk+XHJcbjxsaT4kMSQgXHVjNzc0XHVjMGMxICROLTEkIFx1Yzc3NFx1ZDU1OFx1Yzc1OCBcdWM4MTVcdWMyMTggJGUkXHVjNWQwIFx1YjMwMFx1ZDU3NCwgJGUkXHViYzg4IFx1YWMwNFx1YzEyMFx1Yzc1OCBcdWM2N2NcdWNhYmRcdWM1ZDAgXHVjNWYwXHVjMGIwXHVjNzkwIFx1Y2U3NFx1YjRkYyAkUF9lJCwgXHVjNjI0XHViOTc4XHVjYWJkXHVjNWQwIFx1YzgxNVx1YzIxOCBcdWNlNzRcdWI0ZGMgJENfZSRcdWI5N2MgXHViMTkzXHViMjk0XHViMmU0LjxcL2xpPlxyXG48bGk+XHVjZTc0XHViNGRjXHViOTdjIFx1YmFhOFx1YjQ1MCBcdWIxOTNcdWM3M2NcdWJhNzQgXHVhYzhjXHVjNzg0XHVjNzc0IFx1YzJkY1x1Yzc5MVx1ZDU1Y1x1YjJlNC4gXHVhYzhjXHVjNzg0XHVjNzc0IFx1YzljNFx1ZDU4OVx1YjQxOFx1YmE3NFx1YzExYyBcdWIyZTRcdWM3NGNcdWFjZmMgXHVhYzE5XHVjNzQwIFx1Yzc3NFx1YmNhNFx1ZDJiOFx1YWMwMCBcdWNkMWQgJFEkXHViYzg4IFx1YmMxY1x1YzBkZFx1ZDU1Y1x1YjJlNC5cclxuPHVsPlxyXG48bGk+XHVjOWM4XHViYjM4OiBcdWI0NTAgXHVjODE1XHVjODEwIFx1YmM4OFx1ZDYzOCAkeCQsICR5JFx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzggXHViNTRjICR4JFx1YmM4OCBcdWM4MTVcdWM4MTBcdWM1ZDBcdWMxMWMgXHVjZDljXHViYzFjXHVkNTc0XHVjMTFjICR5JFx1YmM4OCBcdWM4MTVcdWM4MTBcdWM3M2NcdWI4NWMgXHViMDVkXHViMDk4XHViMjk0IFx1YWNiZFx1Yjg1YyBcdWIwYjRcdWM3NTggXHVjZTc0XHViNGRjXHViOTdjIFx1YmFhOFx1YjQ1MCBcdWIwOThcdWM1ZjRcdWQ1NWMgXHViNGE0IFx1YjA5OFx1YzYyNFx1YjI5NCBcdWMyMThcdWMyZGRcdWM3NTggXHVhYzEyXHVjNzQ0IFx1YWNjNFx1YzBiMFx1ZDU3NFx1YzU3YyBcdWQ1NWNcdWIyZTQuPFwvbGk+XHJcbjxsaT4kQV94JCBcdWJjYzBcdWFjYmQ6IFx1YzgxNVx1YzgxMCBcdWJjODhcdWQ2MzggJHgkXHVjNjQwIFx1YzgxNVx1YzIxOCAkeSRcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWM4IFx1YjU0YyAkeCRcdWJjODggXHVjODE1XHVjODEwXHVjNzU4IFx1YzY3Y1x1Y2FiZFx1YzVkMCBcdWIxOTNcdWM3NzggXHVjODE1XHVjMjE4IFx1Y2U3NFx1YjRkY1x1Yjk3YyAkeSRcdWFjMDAgXHVjODAxXHVkNzhjIFx1YzgxNVx1YzIxOCBcdWNlNzRcdWI0ZGNcdWI4NWMgXHViY2MwXHVhY2JkXHVkNTVjXHViMmU0LjxcL2xpPlxyXG48bGk+JEJfeCQgXHViY2MwXHVhY2JkOiBcdWM4MTVcdWM4MTAgXHViYzg4XHVkNjM4ICR4JFx1YzY0MCBcdWM4MTVcdWMyMTggJHkkXHVhYzAwIFx1YzhmY1x1YzViNFx1YzljOCBcdWI1NGMgJHgkXHViYzg4IFx1YzgxNVx1YzgxMFx1Yzc1OCBcdWM2MjRcdWI5NzhcdWNhYmRcdWM1ZDAgXHViMTkzXHVjNzc4IFx1YzgxNVx1YzIxOCBcdWNlNzRcdWI0ZGNcdWI5N2MgJHkkXHVhYzAwIFx1YzgwMVx1ZDc4YyBcdWM4MTVcdWMyMTggXHVjZTc0XHViNGRjXHViODVjIFx1YmNjMFx1YWNiZFx1ZDU1Y1x1YjJlNC48XC9saT5cclxuPGxpPiRQX3gkIFx1YmNjMFx1YWNiZDogXHVhYzA0XHVjMTIwIFx1YmM4OFx1ZDYzOCAkeCRcdWM2NDAgXHVjNWYwXHVjMGIwXHVjNzkwICR5JFx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzggXHViNTRjICR4JFx1YmM4OCBcdWFjMDRcdWMxMjBcdWM3NTggXHVjNjdjXHVjYWJkXHVjNWQwIFx1YjE5M1x1Yzc3OCBcdWM1ZjBcdWMwYjBcdWM3OTAgXHVjZTc0XHViNGRjXHViOTdjICR5JFx1YWMwMCBcdWM4MDFcdWQ3OGMgXHVjNWYwXHVjMGIwXHVjNzkwIFx1Y2U3NFx1YjRkY1x1Yjg1YyBcdWJjYzBcdWFjYmRcdWQ1NWNcdWIyZTQuPFwvbGk+XHJcbjxsaT4kQ194JCBcdWJjYzBcdWFjYmQ6IFx1YWMwNFx1YzEyMCBcdWJjODhcdWQ2MzggJHgkXHVjNjQwIFx1YzgxNVx1YzIxOCAkeSRcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWM4IFx1YjU0YyAkeCRcdWJjODggXHVhYzA0XHVjMTIwXHVjNzU4IFx1YzYyNFx1Yjk3OFx1Y2FiZFx1YzVkMCBcdWIxOTNcdWM3NzggXHVjODE1XHVjMjE4IFx1Y2U3NFx1YjRkY1x1Yjk3YyAkeSRcdWFjMDAgXHVjODAxXHVkNzhjIFx1YzgxNVx1YzIxOCBcdWNlNzRcdWI0ZGNcdWI4NWMgXHViY2MwXHVhY2JkXHVkNTVjXHViMmU0LjxcL2xpPlxyXG48XC91bD5cclxuPFwvbGk+XHJcbjxsaT5cdWM5YzhcdWJiMzhcdWM1ZDAgXHViMmY1XHVkNTYwIFx1YjU0Y1x1YjI5NCBcdWM1NDRcdWI3OTggXHVjMGFjXHVkNTZkXHViNGU0XHVjNzQ0IFx1YzhmY1x1Yzc1OFx1ZDU3NFx1YzU3YyBcdWQ1NWNcdWIyZTQuXHJcbjx1bD5cclxuPGxpPlx1YzVmMFx1YzBiMFx1Yzc5MCBcdWM2YjBcdWMxMjBcdWMyMWNcdWM3MDRcdWIyOTQgXHViYjM0XHVjMmRjXHVkNTU4XHVhY2UwIFx1YzY3Y1x1Y2FiZFx1YzVkMFx1YzExYyBcdWM2MjRcdWI5NzhcdWNhYmQgXHVjMjFjXHVjMTFjXHViODVjIFx1YzVmMFx1YzBiMFx1ZDU1Y1x1YjJlNC48XC9saT5cclxuPGxpPlx1YWNiZFx1Yjg1YyBcdWIwYjRcdWM3NTggXHVjZTc0XHViNGRjXHViOTdjIFx1YjA5OFx1YzVmNFx1ZDU2MCBcdWI1NGNcdWIyOTQgXHVjZDljXHViYzFjXHVjODEwXHVjNWQwXHVjMTFjIFx1YWMwMFx1YWU0Y1x1YzZiNCBcdWM4MTVcdWM4MTAgXHViNjEwXHViMjk0IFx1YWMwNFx1YzEyMFx1YzVkMCBcdWIxOTNcdWM3NzggXHVjZTc0XHViNGRjXHViZDgwXHVkMTMwIFx1YjA5OFx1YzVmNFx1ZDU3NFx1YzU3YyBcdWQ1NWNcdWIyZTQuIFx1YjYxMFx1ZDU1YywgXHVjODE1XHVjODEwIFx1YjYxMFx1YjI5NCBcdWFjMDRcdWMxMjBcdWM3NTggXHVjNjdjXHVjYWJkXHVjNWQwIFx1YjE5M1x1Yzc3OCBcdWNlNzRcdWI0ZGNcdWI5N2MgXHVjNjI0XHViOTc4XHVjYWJkXHVjNWQwIFx1YjE5M1x1Yzc3OCBcdWNlNzRcdWI0ZGNcdWJjZjRcdWIyZTQgXHViYTNjXHVjODAwIFx1YjA5OFx1YzVmNFx1ZDU3NFx1YzU3YyBcdWQ1NWNcdWIyZTQuIFx1YzYwOFx1Yjk3YyBcdWI0ZTRcdWM1YjQsIFx1YWNiZFx1Yjg1Y1x1YWMwMCAkeCRcdWJjODggXHVjODE1XHVjODEwICZyYXJyOyAkYSRcdWJjODggXHVhYzA0XHVjMTIwICZyYXJyOyAkYiRcdWJjODggXHVjODE1XHVjODEwICZyYXJyOyAkYyRcdWJjODggXHVhYzA0XHVjMTIwICZyYXJyOyAkeSRcdWJjODggXHVjODE1XHVjODEwXHVjNzc0XHViNzdjXHVhY2UwIFx1ZDU1OFx1Yzc5MC4gXHVjNzc0IFx1YWNiZFx1YzZiMCAkQV94JCwgJEJfeCQsICRQX2EkLCAkQ19hJCwgJEFfYiQsICRCX2IkLCAkUF9jJCwgJENfYyQsICRBX3kkLCAkQl95JFx1Yzc1OCBcdWMyMWNcdWMxMWNcdWIzMDBcdWI4NWMgXHVjZTc0XHViNGRjXHViOTdjIFx1YjA5OFx1YzVmNFx1ZDU3NFx1YzU3YyBcdWQ1NWNcdWIyZTQuPFwvbGk+XHJcbjxsaT5cdWM4MTVcdWMyMTggXHVjZTc0XHViNGRjXHVhYzAwIFx1YzVlY1x1YjdlYyBcdWFjMWMgXHVjNWYwXHVjMThkXHViNDE4XHVjNWI0IFx1YjE5M1x1Yzc3NFx1YjI5NCBcdWFjYmRcdWM2YjAsIFx1ZDU3NFx1YjJmOVx1ZDU1OFx1YjI5NCBcdWM4MTVcdWMyMThcdWI5N2MgXHVjNzc0XHVjNWI0IFx1YmQ5OVx1YzVlY1x1YzExYyBcdWQ1NThcdWIwOThcdWM3NTggXHVjMjE4XHViODVjIFx1YmNmNFx1YzU0NFx1YzU3YyBcdWQ1NWNcdWIyZTQuIFx1YzYwOFx1Yjk3YyBcdWI0ZTRcdWM1YjQsIFx1YjA5OFx1YzVmNFx1YjQxYyBcdWNlNzRcdWI0ZGNcdWFjMDAgJDEyJCwgJDU3JCwgJCskLCAkMTIkLCAkMDMkLCAkMTckXHVjNzc0XHViNzdjXHViYTc0IFx1YWNjNFx1YzBiMFx1ZDU3NFx1YzU3YyBcdWQ1NThcdWIyOTQgXHVhYzEyXHVjNzQwICQxMlxcLCA1NysxMlxcLCAwM1xcLCAxNz0xMjFcXCwgMzc0JFx1YWMwMCBcdWI0MWNcdWIyZTQuPFwvbGk+XHJcbjxsaT4keFxcZGl2IDAkXHVjNzQwICQwJFx1YzczY1x1Yjg1YyBcdWFjYzRcdWMwYjBcdWQ1NWNcdWIyZTQuPFwvbGk+XHJcbjxcL3VsPlxyXG48XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5cdWM2MDhcdWI5N2MgXHViNGU0XHVjNWI0LCBcdWIyZTRcdWM3NGNcdWFjZmMgXHVhYzE5XHVjNzQwIFx1ZDJiOFx1YjlhY1x1YzVkMFx1YzExYyAkMSRcdWJjODggXHVjODE1XHVjODEwXHVjNWQwXHVjMTFjIFx1Y2Q5Y1x1YmMxY1x1ZDU3NFx1YzExYyAkNCRcdWJjODggXHVjODE1XHVjODEwXHVjNzNjXHViODVjIFx1YjA1ZFx1YjA5OFx1YjI5NCBcdWFjYmRcdWI4NWMgXHViMGI0XHVjNzU4IFx1Y2U3NFx1YjRkY1x1Yjk3YyBcdWJhYThcdWI0NTAgXHVjNzc0XHVjNWI0IFx1YmQ5OVx1Yzc3OFx1YjJlNFx1YWNlMCBcdWQ1NzRcdWJjZjRcdWM3OTAuPFwvcD5cclxuXHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxpbWcgYWx0PVwiXCIgc3JjPVwiaHR0cHM6XC9cL3VwbG9hZC5hY21pY3BjLm5ldFwvYzA0YzgxNjctNWY5ZS00YTMzLWI3NzEtOGNkNGUyOGJhOTE1XC8tXC9wcmV2aWV3XC9cIiBzdHlsZT1cIndpZHRoOiAzNTBweDsgbWF4LXdpZHRoOiAxMDAlXCIgXC8+PFwvcD5cclxuXHJcbjxwPlx1YWNiZFx1Yjg1YyBcdWIwYjRcdWM3NTggXHVjZTc0XHViNGRjXHViOTdjIFx1YmFhOFx1YjQ1MCBcdWM3NzRcdWM1YjQgXHViZDk5XHVjNzc4IFx1YjRhNCBcdWFjYzRcdWMwYjBcdWQ1NThcdWJhNzQgJDA3XFwsMjMgKyAyN1xcLDA2XFwsMjQgLSAzNVxcLDEzXFwsMjYgPSAtNzlcXCw5NzkkXHVhYzAwIFx1YjA5OFx1YzYyOFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVkNTU4XHVjNzc0XHViZTQ0XHViMjk0IFx1Yzc3NCBcdWFjOGNcdWM3ODRcdWM3NDQgXHVjNzkwXHVjOGZjIFx1ZDUwY1x1YjgwOFx1Yzc3NFx1ZDU1OFx1YjJlNCBcdWJjZjRcdWIyYzgsIFx1YjllNCBcdWQ1MGNcdWI4MDhcdWM3NzRcdWI5YzhcdWIyZTQgXHViYWE4XHViNGUwIFx1YzljOFx1YmIzOFx1YzVkMCBcdWIzMDBcdWQ1NzQgXHViMmY1XHVjNzQ0IFx1YzgxNVx1ZDY1NVx1ZDc4OCBcdWI5ZGVcdWQ3ODhcdWIyOTQgXHVhY2JkXHVjOWMwXHVjNWQwIFx1Yzc3NFx1Yjk3NFx1YjgwMFx1YjJlNC4gXHVjNzc0XHViOTdjIFx1YmMxNFx1Yzc3NFx1ZDc4OFx1YzVkMFx1YWM4YyBcdWM5OWRcdWJhODVcdWQ1NThcdWFlMzAgXHVjNzA0XHVkNTc0LCBcdWQ1NThcdWM3NzRcdWJlNDRcdWIyOTQgXHVhYzhjXHVjNzg0XHVjNzU4IFx1YzljNFx1ZDU4OSBcdWFjZmNcdWM4MTVcdWM3NzQgXHVjOGZjXHVjNWI0XHVjOWM4IFx1YjU0YyBcdWFjMDEgXHVjOWM4XHViYjM4XHVjNWQwIFx1YjMwMFx1ZDU1YyBcdWIyZjVcdWM3NDQgXHVhY2M0XHVjMGIwXHVkNTc0IFx1YzhmY1x1YjI5NCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NDQgXHVjNzkxXHVjMTMxXHVkNTc0XHVjMTFjIFx1YmNmNFx1YzVlY1x1YzhmY1x1YWUzMFx1Yjg1YyBcdWQ1ODhcdWIyZTQuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5cdWNjYWJcdWM5ZjggXHVjOTA0XHVjNWQwXHViMjk0IFx1ZDJiOFx1YjlhY1x1Yzc1OCBcdWM4MTVcdWM4MTAgXHVhYzFjXHVjMjE4ICROJFx1YWNmYyBcdWQ1MGNcdWI4MDhcdWM3NzRcdWQ1NThcdWIyOTQgXHViNzdjXHVjNmI0XHViNGRjXHVjNzU4IFx1YzIxOCAkUSRcdWFjMDAgXHVhY2Y1XHViYzMxXHVjNzNjXHViODVjIFx1YWQ2Y1x1YmQ4NFx1YjQxOFx1YzViNCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuICQoMVxcbGUgTixRXFxsZSA1MDBcXCwgMDAwKSQ8XC9wPlxyXG5cclxuPHA+XHViNDU4XHVjOWY4IFx1YzkwNFx1YmQ4MFx1ZDEzMCAkTiRcdWFjMWNcdWM3NTggXHVjOTA0XHVjNWQwIFx1YWM3OFx1Y2NkMCwgJGkrMSRcdWJjODhcdWM5ZjggXHVjOTA0XHVjNWQwXHViMjk0ICRpJFx1YmM4OCBcdWM4MTVcdWM4MTBcdWM1ZDAgXHViMTkzXHVjNzc4IFx1YjQ1MCBcdWM4MTVcdWMyMTggXHVjZTc0XHViNGRjICRBX2kkXHVjNjQwICRCX2kkXHVhYzAwIFx1YWNmNVx1YmMzMVx1YzczY1x1Yjg1YyBcdWFkNmNcdWJkODRcdWI0MThcdWM1YjQgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiAkKDAwXFxsZSBBX2ksQl9pXFxsZSA5OSkkPFwvcD5cclxuXHJcbjxwPiROKzIkXHViYzg4XHVjOWY4IFx1YzkwNFx1YmQ4MFx1ZDEzMCAkTi0xJFx1YWMxY1x1Yzc1OCBcdWM5MDRcdWM1ZDAgXHVhYzc4XHVjY2QwLCAkaStOKzEkXHViYzg4XHVjOWY4IFx1YzkwNFx1YzVkMFx1YjI5NCAkaSRcdWJjODggXHVhYzA0XHVjMTIwXHVjNzc0IFx1Yzc4N1x1YjI5NCBcdWI0NTAgXHVjODE1XHVjODEwICR2X2kkLCAkd19pJFx1YWNmYyBcdWQ1NzRcdWIyZjkgXHVhYzA0XHVjMTIwXHVjNWQwIFx1YjE5M1x1Yzc3OCBcdWM1ZjBcdWMwYjBcdWM3OTAgXHVjZTc0XHViNGRjICRQX2kkLCBcdWM4MTVcdWMyMTggXHVjZTc0XHViNGRjICRDX2kkXHVhYzAwIFx1YWNmNVx1YmMzMVx1YzczY1x1Yjg1YyBcdWFkNmNcdWJkODRcdWI0MThcdWM1YjQgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiAkKDFcXGxlIHZfaSx3X2lcXGxlIE47JCAkMDBcXGxlIENfaVxcbGUgOTk7JCAkUF9pJFx1YjI5NCAkKyQsICQtJCwgJFxcdGltZXMkLCAkXFxkaXYkIFx1YzkxMSBcdWQ1NThcdWIwOTgkKSQ8XC9wPlxyXG5cclxuPHA+JDJOKzEkXHViYzg4XHVjOWY4IFx1YzkwNFx1YmQ4MFx1ZDEzMCAkUSRcdWFjMWNcdWM3NTggXHVjOTA0XHVjNWQwIFx1YWM3OFx1Y2NkMCBcdWJiMzhcdWM4MWNcdWM1ZDBcdWMxMWMgXHViMDk4XHVjNjI0XHViMjk0IFx1Yzc3NFx1YmNhNFx1ZDJiOFx1Yjk3YyBcdWM3NThcdWJiZjhcdWQ1NThcdWIyOTQgXHVhZTAwXHVjNzkwICR0JFx1YzY0MCBcdWM3NzRcdWJjYTRcdWQyYjhcdWI5N2MgXHViMDk4XHVkMGMwXHViMGI0XHViMjk0IFx1YjQ1MCBcdWFjMTIgJHgkLCAkeSRcdWFjMDAgXHVhY2Y1XHViYzMxXHVjNzNjXHViODVjIFx1YWQ2Y1x1YmQ4NFx1YjQxOFx1YzViNCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuPFwvcD5cclxuXHJcbjx1bD5cclxuPGxpPiR0PSQgPHNwYW4gc3R5bGU9XCJjb2xvcjojZTc0YzNjO1wiPjxjb2RlPj88XC9jb2RlPjxcL3NwYW4+OiBcdWM5YzhcdWJiMzggXHVjNzc0XHViY2E0XHVkMmI4XHVjNzc0XHViMmU0LiBcdWM3NzRcdWI1NGMgJHgkLCAkeSRcdWIyOTQgJDEgXFxsZSB4LCB5IFxcbGUgTiRcdWI5N2MgXHViOWNjXHVjODcxXHVkNTU4XHViMjk0IFx1YzgxNVx1YzIxOFx1Yzc3NFx1YjJlNC48XC9saT5cclxuPGxpPiR0PSQgPHNwYW4gc3R5bGU9XCJjb2xvcjojZTc0YzNjO1wiPjxjb2RlPkE8XC9jb2RlPjxcL3NwYW4+OiAkQV94JCBcdWJjYzBcdWFjYmQgXHVjNzc0XHViY2E0XHVkMmI4XHVjNzc0XHViMmU0LiBcdWM3NzRcdWI1NGMgJHgkLCAkeSRcdWIyOTQgJDEgXFxsZSB4IFxcbGUgTjskICQwMCBcXGxlIHkgXFxsZSA5OSRcdWI5N2MgXHViOWNjXHVjODcxXHVkNTU4XHViMjk0IFx1YzgxNVx1YzIxOFx1Yzc3NFx1YjJlNC48XC9saT5cclxuPGxpPiR0PSQgPHNwYW4gc3R5bGU9XCJjb2xvcjojZTc0YzNjO1wiPjxjb2RlPkI8XC9jb2RlPjxcL3NwYW4+OiAkQl94JCBcdWJjYzBcdWFjYmQgXHVjNzc0XHViY2E0XHVkMmI4XHVjNzc0XHViMmU0LiBcdWM3NzRcdWI1NGMgJHgkLCAkeSRcdWIyOTQgJDEgXFxsZSB4IFxcbGUgTjskICQwMCBcXGxlIHkgXFxsZSA5OSRcdWI5N2MgXHViOWNjXHVjODcxXHVkNTU4XHViMjk0IFx1YzgxNVx1YzIxOFx1Yzc3NFx1YjJlNC48XC9saT5cclxuPGxpPiR0PSQgPHNwYW4gc3R5bGU9XCJjb2xvcjojZTc0YzNjO1wiPjxjb2RlPlA8XC9jb2RlPjxcL3NwYW4+OiAkUF94JCBcdWJjYzBcdWFjYmQgXHVjNzc0XHViY2E0XHVkMmI4XHVjNzc0XHViMmU0LiBcdWM3NzRcdWI1NGMgJHgkXHViMjk0ICQxIFxcbGUgeCBcXGxlIE4tMSRcdWI5N2MgXHViOWNjXHVjODcxXHVkNTU4XHViMjk0IFx1YzgxNVx1YzIxOFx1Yzc3NFx1YWNlMCwgJHkkXHViMjk0ICQrJCwgJC0kLCAkXFx0aW1lcyQsICRcXGRpdiQgXHVjOTExIFx1ZDU1OFx1YjA5OFx1Yzc3NFx1YjJlNC48XC9saT5cclxuPGxpPiR0PSQgPHNwYW4gc3R5bGU9XCJjb2xvcjojZTc0YzNjO1wiPjxjb2RlPkM8XC9jb2RlPjxcL3NwYW4+OiAkQ194JCBcdWJjYzBcdWFjYmQgXHVjNzc0XHViY2E0XHVkMmI4XHVjNzc0XHViMmU0LiBcdWM3NzRcdWI1NGMgJHgkLCAkeSRcdWIyOTQgJDEgXFxsZSB4IFxcbGUgTi0xOyQgJDAwIFxcbGUgeSBcXGxlIDk5JFx1Yjk3YyBcdWI5Y2NcdWM4NzFcdWQ1NThcdWIyOTQgXHVjODE1XHVjMjE4XHVjNzc0XHViMmU0LjxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPlx1YzgxNVx1YzIxOCBcdWNlNzRcdWI0ZGNcdWM1ZDAgXHVjODAxXHVkNzg4XHViMjk0IFx1YzIxOFx1YjI5NCBcdWQ1NmRcdWMwYzEgJDIkXHVjNzkwXHViOWFjIFx1YzgxNVx1YzIxOFx1Yjg1YyBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuIFx1Yzc3NFx1Yjk3YyBcdWM3MDRcdWQ1NzQgXHVjNTVlXHVjNWQwIFx1YmQ4OFx1ZDU0NFx1YzY5NFx1ZDU1YyAkMCRcdWM3NzQgXHViZDk5XHVjNzQ0IFx1YzIxOCBcdWM3ODhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzVmMFx1YzBiMFx1Yzc5MCBcdWNlNzRcdWI0ZGNcdWM1ZDAgXHVjODAxXHVkNzg4XHViMjk0IFx1YzVmMFx1YzBiMFx1Yzc5MCAkKyQsICQtJCwgJFxcdGltZXMkLCAkXFxkaXYkXHVjNzQwIFx1YWMwMVx1YWMwMSBcdWFlMDBcdWM3OTAgPHNwYW4gc3R5bGU9XCJjb2xvcjojZTc0YzNjO1wiPjxjb2RlPis8XC9jb2RlPjxcL3NwYW4+LCA8c3BhbiBzdHlsZT1cImNvbG9yOiNlNzRjM2M7XCI+PGNvZGU+LTxcL2NvZGU+PFwvc3Bhbj4sIDxzcGFuIHN0eWxlPVwiY29sb3I6I2U3NGMzYztcIj48Y29kZT4qPFwvY29kZT48XC9zcGFuPiwgPHNwYW4gc3R5bGU9XCJjb2xvcjojZTc0YzNjO1wiPjxjb2RlPlwvPFwvY29kZT48XC9zcGFuPlx1Yjg1YyBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+XHVhYzAxIFx1YzljOFx1YmIzOCBcdWM3NzRcdWJjYTRcdWQyYjhcdWM1ZDAgXHViMzAwXHVkNTc0IFx1YzljOFx1YmIzOFx1Yzc1OCBcdWIyZjVcdWM3NDQgXHVhZTMwXHVjNTdkXHViZDg0XHVjMjE4XHViODVjIFx1YjA5OFx1ZDBjMFx1YjBiOCBcdWFjMTJcdWM3NDQgJHBcL3EkXHViNzdjXHVhY2UwIFx1ZDU1OFx1Yzc5MC4gXHVjNzc0XHViNTRjLCAkcXJcXGVxdWl2IHBcXHBtb2R7MVxcLCAyMDhcXCwgMDE3fSRcdWM3NDQgXHViOWNjXHVjODcxXHVkNTU4XHViMjk0ICQwJCBcdWM3NzRcdWMwYzEgJDFcXCwgMjA4XFwsIDAxNyQgXHViYmY4XHViOWNjXHVjNzc4IFx1YzgxNVx1YzIxOCAkciRcdWM3NDQgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LiBcdWJiMzhcdWM4MWNcdWM3NTggXHVjODFjXHVkNTVjIFx1YjBiNFx1YzVkMFx1YzExYyBcdWM3NzQgXHVjODE1XHVjMjE4XHViMjk0IFx1YWMwMSBcdWM5YzhcdWJiMzhcdWM1ZDAgXHViMzAwXHVkNTc0IFx1YzcyMFx1Yzc3Y1x1ZDU2OFx1Yzc0NCBcdWJjZjRcdWM3N2MgXHVjMjE4IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+JDFcXCwgMjA4XFwsIDAxNyRcdWM3NDAgXHVjMThjXHVjMjE4XHVjNzc0XHViMmU0LjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjEiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IktvcmVhbiIsInNhbXBsZV9leHBsYWluXzEiOiI8cD5cdWNjOThcdWM3NGMgXHViNGU0XHVjNWI0XHVjNjI0XHViMjk0IFx1YzljOFx1YmIzOFx1Yzc0MCAkMSRcdWJjODggXHVjODE1XHVjODEwXHVjNWQwXHVjMTFjICQ0JFx1YmM4OCBcdWM4MTVcdWM4MTBcdWM3M2NcdWI4NWMgXHVhYzAwXHViMjk0IFx1YWNiZFx1Yjg1YyBcdWM3MDRcdWM3NTggXHVjZTc0XHViNGRjXHViOTdjIFx1YjA5OFx1YzVmNFx1ZDU3NFx1YzU3YyBcdWQ1NWNcdWIyZTQuIFx1Yzc3NFx1Yjk3YyBcdWIwOThcdWM1ZjRcdWQ1NThcdWJhNzQgJDA3XFwsIDIzKzI3XFwsIDA2XFwsIDI0LTM1XFwsIDEzXFwsIDI2JFx1Yzc3NCBcdWIwOThcdWM2MjRcdWFjZTAsIFx1Yzc3NCBcdWFjMTJcdWM3NDAgJC03OVxcLCAyNzckXHVjNzc0XHViMmU0LiBcdWM3NzRcdWI1NGMgJDFcXGNkb3QgMVxcLCAxMjhcXCwgMDM4XFxlcXVpdiAtNzlcXCwgOTc5XFxwbW9kezFcXCwgMjA4XFwsIDAxN30kXHVjNzc0XHViYmMwXHViODVjLCAkMVxcLCAxMjhcXCwgMDM4JFx1Yzc0NCBcdWNkOWNcdWI4MjVcdWQ1NThcdWJhNzQgXHViNDFjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWM3NzRcdWQ2YzQgJDQkXHViYzg4XHVjNzU4IFx1Y2U3NFx1YjRkYyBcdWJjYzBcdWFjYmQgXHVjNzc0XHViY2E0XHVkMmI4XHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNzc0XHVkNmM0XHViODVjIFx1YjRlNFx1YzViNFx1YzYyNFx1YjI5NCBcdWM5YzhcdWJiMzhcdWM3NDAgJDIkXHViYzg4IFx1YzgxNVx1YzgxMFx1YzVkMFx1YzExYyAkMSRcdWJjODggXHVjODE1XHVjODEwXHVjNzNjXHViODVjIFx1YWMwMFx1YjI5NCBcdWFjYmRcdWI4NWMgXHVjNzA0XHVjNzU4IFx1Y2U3NFx1YjRkY1x1Yjk3YyBcdWIwOThcdWM1ZjRcdWQ1NzRcdWM1N2MgXHVkNTVjXHViMmU0LiBcdWM3NzRcdWI5N2MgXHViMDk4XHVjNWY0XHVkNTU4XHViYTc0ICQyN1xcLCA2M1xcZGl2IDYxXFwsIDkyXFwsIDA5XFx0aW1lcyAxNFxcLCAwNlxcLCAyNCsyN1xcLCA4N1xcLCAyMyRcdWM3NzQgXHViMDk4XHVjNjI0XHVhY2UwLCBcdWM3NzQgXHVhYzEyXHVjNzQwICRcXGRpc3BsYXlzdHlsZSBcXGZyYWN7MTlcXCwgMjE5XFwsIDU5MlxcLCA2OTF9ezY4XFwsIDgwMX0kXHVjNzc0XHViMmU0LiBcdWM3NzRcdWI1NGMgJDY4XFwsIDgwMVxcY2RvdCA5NzVcXCwgODY0XFxlcXVpdiAxOVxcLCAyMTlcXCwgNTkyXFwsIDY5MVxccG1vZHsxXFwsIDIwOFxcLCAwMTd9JFx1Yzc3NFx1YmJjMFx1Yjg1YywgJDk3NVxcLCA4NjQkXHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1OFx1YmE3NCBcdWI0MWNcdWIyZTQuPFwvcD5cclxuIn0seyJwcm9ibGVtX2lkIjoiMzU0OTAiLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJbT10gT3BlcmF0aW9uOiBQYXRoIFF1ZXJ5LCBSZW1hc3RlcmVkIC0gU3RhdGljIFRyZWUgKFVwZGF0ZWQgVmVyc2lvbikiLCJkZXNjcmlwdGlvbiI6IjxwPkhpYmVlIGhhcyByZWNlbnRseSBiZWVuIHBsYXlpbmcgJiMzOTtPcGVyYXRpb246IFBhdGggUXVlcnksIFJlbWFzdGVyZWQgLSBTdGF0aWMgVHJlZSAoVXBkYXRlZCBWZXJzaW9uKSYjMzk7LCBhIGJyYWluIGdhbWUgbWFkZSBieSBCeWVoZWUuIFRoZSBydWxlcyBvZiB0aGUgZ2FtZSBhcmUgYXMgZm9sbG93cy48XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5BIHRyZWUgd2l0aCAkTiQgdmVydGljZXMgaXMgZ2l2ZW4uIFRoZSB2ZXJ0aWNlcyBhcmUgbnVtYmVyZWQgc3RhcnRpbmcgZnJvbSAkMSQgdG8gJE4kLCBhbmQgdGhlIGVkZ2VzIGFyZSBudW1iZXJlZCBzdGFydGluZyBmcm9tICQxJCB0byAkTi0xJC48XC9saT5cclxuXHQ8bGk+VGhlIGdhbWUgdXNlcyAkM04tMSQgaW50ZWdlciBjYXJkcyBhbmQgJE4tMSQgb3BlcmF0b3IgY2FyZHMuXHJcblx0PHVsPlxyXG5cdFx0PGxpPkFuIGludGVnZXIgY2FyZCBoYXMgYSB0d28gZGlnaXQgbm9uIG5lZ2F0aXZlIGludGVnZXIgd3JpdHRlbiBvbiBpdC4gVGhlIG51bWJlciB3cml0dGVuIG9uIHRoZSBjYXJkIG1heSBoYXZlIGEgbGVhZGluZyB6ZXJvLjxcL2xpPlxyXG5cdFx0PGxpPkFuIG9wZXJhdG9yIGNhcmQgaGFzIG9uZSBvZiB0aGUgZm91ciBmb2xsb3dpbmcgb3BlcmF0b3JzLCAkKyQsICQtJCwgJFxcdGltZXMkLCBhbmQgJFxcZGl2JC48XC9saT5cclxuXHQ8XC91bD5cclxuXHQ8XC9saT5cclxuXHQ8bGk+Rm9yIGFuIGludGVnZXIgJHYkLCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJDEkIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJE4kLCBwbGFjZSBhbiBpbnRlZ2VyIGNhcmQgJEFfdiQgb24gdGhlIGxlZnQgb2YgdmVydGV4ICR2JC4gUGxhY2UgYW4gaW50ZWdlciBjYXJkICRCX3YkIG9uIHRoZSByaWdodC48XC9saT5cclxuXHQ8bGk+Rm9yIGFuIGludGVnZXIgJGUkLCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJDEkIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJE4tMSQsIHBsYWNlIGFuIG9wZXJhdG9yIGNhcmQgJFBfZSQgb24gdGhlIGxlZnQgb2YgZWRnZSAkZSQuIFBsYWNlIGFuIGludGVnZXIgY2FyZCAkQ19lJCBvbiB0aGUgcmlnaHQuPFwvbGk+XHJcblx0PGxpPlRoZSBnYW1lIGJlZ2lucyBvbmNlIGFsbCBjYXJkcyBhcmUgcGxhY2VkIGRvd24uIEFzIHRoZSBnYW1lIHByb2dyZXNzZXMsIHRoZSBmb2xsb3dpbmcgdHlwZXMgb2YgZXZlbnRzIG9jY3VyICRRJCB0aW1lcy5cclxuXHQ8dWw+XHJcblx0XHQ8bGk+UXVlc3Rpb246IEdpdmVuIHR3byB2ZXJ0aWNlcyAkeCQgYW5kICR5JCwgeW91IG11c3QgY2FsY3VsYXRlIHRoZSByZXN1bHQgb2YgdGhlIGV4cHJlc3Npb24gd2hpY2ggaXMgZm9ybWVkIGJ5IGFycmFuZ2luZyB0aGUgY2FyZHMgb24gdGhlIHBhdGggZnJvbSB2ZXJ0ZXggJHgkIHRvIHZlcnRleCAkeSQuPFwvbGk+XHJcblx0XHQ8bGk+Q2hhbmdlICRBX3gkOiBHaXZlbiBhIHZlcnRleCAkeCQgYW5kIGFuIGludGVnZXIgJHkkLCB5b3UgbXVzdCBjaGFuZ2UgdGhlIGNhcmQgb24gdGhlIGxlZnQgb2YgdmVydGV4ICR4JCB0byBhbiBpbnRlZ2VyIGNhcmQgd2l0aCAkeSQgd3JpdHRlbiBvbiBpdC48XC9saT5cclxuXHRcdDxsaT5DaGFuZ2UgJEJfeCQ6IEdpdmVuIGEgdmVydGV4ICR4JCBhbmQgYW4gaW50ZWdlciAkeSQsIHlvdSBtdXN0IGNoYW5nZSB0aGUgY2FyZCBvbiB0aGUgcmlnaHQgb2YgdmVydGV4ICR4JCB0byBhbiBpbnRlZ2VyIGNhcmQgd2l0aCAkeSQgd3JpdHRlbiBvbiBpdC48XC9saT5cclxuXHRcdDxsaT5DaGFuZ2UgJFBfeCQ6IEdpdmVuIGFuIGVkZ2UgJHgkIGFuZCBhbiBvcGVyYXRvciAkeSQsIHlvdSBtdXN0IGNoYW5nZSB0aGUgY2FyZCBvbiB0aGUgbGVmdCBvZiBlZGdlICR4JCB0byBhbiBvcGVyYXRvciBjYXJkIHdpdGggJHkkIHdyaXR0ZW4gb24gaXQuPFwvbGk+XHJcblx0XHQ8bGk+Q2hhbmdlICRDX3gkOiBHaXZlbiBhbiBlZGdlICR4JCBhbmQgYW4gaW50ZWdlciAkeSQsIHlvdSBtdXN0IGNoYW5nZSB0aGUgY2FyZCBvbiB0aGUgcmlnaHQgb2YgZWRnZSAkeCQgdG8gYW4gaW50ZWdlciBjYXJkIHdpdGggJHkkIHdyaXR0ZW4gb24gaXQuPFwvbGk+XHJcblx0PFwvdWw+XHJcblx0PFwvbGk+XHJcblx0PGxpPkJld2FyZSBvZiB0aGUgZm9sbG93aW5nIHdoZW4gYW5zd2VyaW5nIGEgcXVlc3Rpb24uXHJcblx0PHVsPlxyXG5cdFx0PGxpPkNhbGN1bGF0aW9ucyBhcmUgcGVyZm9ybWVkIGZyb20gdGhlIGxlZnQgaWdub3JpbmcgdGhlIHByZWNlZGVuY2Ugb2Ygb3BlcmF0b3JzLjxcL2xpPlxyXG5cdFx0PGxpPlRoZSBjYXJkcyBtdXN0IGJlIGFycmFuZ2VkIHN0YXJ0aW5nIGZyb20gdGhlIG9uZSBjbG9zZXN0IHRvIHRoZSBzdGFydGluZyB2ZXJ0ZXhcL2VkZ2UuIEluIGFkZGl0aW9uLCB0aGUgY2FyZCBvbiB0aGUgbGVmdCBvZiBhIHZlcnRleCBvciBhbiBlZGdlIG11c3QgY29tZSBiZWZvcmUgdGhlIG9uZSBvbiB0aGUgcmlnaHQuJm5ic3A7Rm9yIGV4YW1wbGUsIGxldCB0aGUgcGF0aCBiZSB2ZXJ0ZXggJHgkICZyYXJyOyBlZGdlICRhJCAmcmFycjsgdmVydGV4ICRiJCAmcmFycjsgZWRnZSAkYyQgJnJhcnI7IHZlcnRleCAkeSQuIEluIHRoaXMgY2FzZSwgdGhlIGNhcmRzIG11c3QgYmUgYXJyYW5nZWQgaW4gdGhlIG9yZGVyICRBX3gkLCAkQl94JCwgJFBfYSQsICRDX2EkLCAkQV9iJCwgJEJfYiQsICRQX2MkLCAkQ19jJCwgJEFfeSQsICRCX3kkLjxcL2xpPlxyXG5cdFx0PGxpPldoZXJlIG11bHRpcGxlIGludGVnZXIgY2FyZHMgYXJlIHBsYWNlZCBpbiBhIHJvdywgdGhlIGludGVnZXJzIG11c3QgYmUgY29uY2F0ZW5hdGVkIGFuZCBpbnRlcnByZXRlZCBhcyBhIHNpbmdsZSBudW1iZXIuIEZvciBleGFtcGxlLCBpZiB0aGUgY2FyZHMgYXJyYW5nZWQgYXJlICQxMiQsICQ1NyQsICQrJCwgJDEyJCwgJDAzJCwgJDE3JCwgdGhlIHJlc3VsdCBvZiB0aGUgY2FsY3VsYXRpb24gaXMgJDEyXFwsIDU3KzEyXFwsIDAzXFwsIDE3PTEyMVxcLCAzNzQkLjxcL2xpPlxyXG5cdFx0PGxpPiR4XFxkaXYgMCQgaXMgY29uc2lkZXJlZCAkMCQuPFwvbGk+XHJcblx0PFwvdWw+XHJcblx0PFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+QXMgYW4gZXhhbXBsZSwgYXNzdW1lIHRoZSBjYXJkcyBvbiB0aGUgcGF0aCBzdGFydGluZyBmcm9tIHZlcnRleCAkMSQgYW5kIGVuZGluZyBhdCB2ZXJ0ZXggJDQkIGFyZSBsaW5lZCB1cCBmcm9tIHRoZSBmb2xsb3dpbmcgdHJlZS48XC9wPlxyXG5cclxuPHA+PGltZyBhbHQ9XCJcIiBzcmM9XCJodHRwczpcL1wvdXBsb2FkLmFjbWljcGMubmV0XC9jMDRjODE2Ny01ZjllLTRhMzMtYjc3MS04Y2Q0ZTI4YmE5MTVcLy1cL3ByZXZpZXdcL1wiIHN0eWxlPVwid2lkdGg6IDM1MHB4OyBtYXgtd2lkdGg6IDEwMCVcIiBcLz48XC9wPlxyXG5cclxuPHA+SWYgeW91IGNhbGN1bGF0ZSB0aGUgcmVzdWx0IGFmdGVyIGFycmFuZ2luZyBhbGwgdGhlIGNhcmRzLCB5b3UgZ2V0ICQwN1xcLDIzICsgMjdcXCwwNlxcLDI0IC0gMzVcXCwxM1xcLDI2ID0gLTc5XFwsOTc5JC48XC9wPlxyXG5cclxuPHA+SGliZWUgaGFzIHBsYXllZCB0aGlzIGdhbWUgc28gbXVjaCB0aGF0IG5vdyBoZSBjYW4gYW5zd2VyIGFsbCBxdWVzdGlvbnMgY29ycmVjdGx5IGV2ZXJ5IHRpbWUgaGUgcGxheXMuIFRvIHByb3ZlIHRoaXMgdG8gQnllaGVlLCBIaWJlZSBoYXMgZGVjaWRlZCB0byB3cml0ZSBhIHByb2dyYW0gd2hpY2ggY2FsY3VsYXRlcyBhbmQgcmV0dXJucyB0aGUgYW5zd2VyIG9mIGVhY2ggcXVlc3Rpb24gd2hlbiBnaXZlbiB0aGUgZ2FtZSYjMzk7cyBwcm9ncmVzcy48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlRoZSBmaXJzdCBsaW5lIG9mIGlucHV0IGNvbnRhaW5zIHR3byBzcGFjZS1zZXBhcmF0ZWQgaW50ZWdlcnMgJE4kIGFuZCAkUSQsIGRlbm90aW5nIHRoZSBudW1iZXIgb2YgdmVydGljZXMgdGhlIHRyZWUgaGFzLCBhbmQgdGhlIG51bWJlciBvZiByb3VuZHMgb2YgZXZlbnRzIHBsYXllZCwgcmVzcGVjdGl2ZWx5LiAkKDFcXGxlIE4sUVxcbGUgNTAwXFwsIDAwMCkkPFwvcD5cclxuXHJcbjxwPlRoZSAkaSQtdGggb2YgdGhlIGZvbGxvd2luZyAkTiQgbGluZXMgb2YgaW5wdXQsIHN0YXJ0aW5nIGZyb20gdGhlIHNlY29uZCBsaW5lLCBjb250YWlucyB0d28gc3BhY2Utc2VwYXJhdGVkIGludGVnZXJzICRBX2kkIGFuZCAkQl9pJCwgZGVub3RpbmcgdGhlIHZhbHVlcyB3cml0dGVuIG9uIHRoZSB0d28gaW50ZWdlciBjYXJkcyBwbGFjZWQgbmV4dCB0byB2ZXJ0ZXggJGkkLjxcL3A+XHJcblxyXG48cD5UaGUgJGkkLXRoIG9mIHRoZSBuZXh0ICROLTEkIGxpbmVzLCBzdGFydGluZyBmcm9tIHRoZSAkTisyJC10aCBsaW5lLCBjb250YWlucyB0aGUgdHdvIHZlcnRpY2VzIGNvbm5lY3RlZCBieSBlZGdlICRpJCwgdGhlIG9wZXJhdG9yIGNhcmQgJFBfaSQsIGFuZCB0aGUgaW50ZWdlciBjYXJkICRDX2kkLCBwbGFjZWQgbmV4dCB0byB0aGUgZWRnZS4gVGhlcmUgaXMgYSBzcGFjZSBzZXBhcmF0aW5nIHR3byB2YWx1ZXMuPFwvcD5cclxuXHJcbjxwPkVhY2ggb2YgdGhlIGZvbGxvd2luZyAkUSQgbGluZXMgY29udGFpbnMgYSBjaGFyYWN0ZXIgJHQkLCBkZW5vdGluZyB0aGUgdHlwZSBvZiBldmVudCBhbmQgdHdvIGludGVnZXJzICR4JCBhbmQgJHkkLCB3aGljaCBkZXNjcmliZSB0aGUgZXZlbnQuIFRoZXJlIGlzIGEgc3BhY2Ugc2VwYXJhdGluZyB0aGUgdGhyZWUgdmFsdWVzLjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPiR0PSQgPHNwYW4gc3R5bGU9XCJjb2xvcjojZTc0YzNjO1wiPjxjb2RlPj88XC9jb2RlPjxcL3NwYW4+OiBEZW5vdGVzIGEgcXVlc3Rpb24gZXZlbnQuIEhlcmUsICR4JCBhbmQgJHkkIHNhdGlzZnkgJDEgXFxsZSB4LCB5IFxcbGUgTiQuPFwvbGk+XHJcblx0PGxpPiR0PSQgPHNwYW4gc3R5bGU9XCJjb2xvcjojZTc0YzNjO1wiPjxjb2RlPkE8XC9jb2RlPjxcL3NwYW4+OiBEZW5vdGVzIGEgY2hhbmdlICRBX3gkIGV2ZW50LiBIZXJlLCAkeCQgYW5kICR5JCBzYXRpc2Z5ICQxIFxcbGUgeCBcXGxlIE47JCAkMDAgXFxsZSB5IFxcbGUgOTkkLjxcL2xpPlxyXG5cdDxsaT4kdD0kIDxzcGFuIHN0eWxlPVwiY29sb3I6I2U3NGMzYztcIj48Y29kZT5CPFwvY29kZT48XC9zcGFuPjogRGVub3RlcyBhIGNoYW5nZSAkQl94JCBldmVudC4gSGVyZSwgJHgkIGFuZCAkeSQgc2F0aXNmeSAkMSBcXGxlIHggXFxsZSBOOyQgJDAwIFxcbGUgeSBcXGxlIDk5JC48XC9saT5cclxuXHQ8bGk+JHQ9JCA8c3BhbiBzdHlsZT1cImNvbG9yOiNlNzRjM2M7XCI+PGNvZGU+UDxcL2NvZGU+PFwvc3Bhbj46IERlbm90ZXMgYSBjaGFuZ2UgJFBfeCQgZXZlbnQuIEhlcmUsICR4JCBpcyBhbiBpbnRlZ2VyIHdoaWNoIHNhdGlzZmllcyAkMSBcXGxlIHggXFxsZSBOLTEkLCBhbmQgJHkkIGlzIG9uZSBvZiAkKyQsICQtJCwgJFxcdGltZXMkLCAkXFxkaXYkLjxcL2xpPlxyXG5cdDxsaT4kdD0kIDxzcGFuIHN0eWxlPVwiY29sb3I6I2U3NGMzYztcIj48Y29kZT5DPFwvY29kZT48XC9zcGFuPjogRGVub3RlcyBhIGNoYW5nZSAkQ194JCBldmVudC4gSGVyZSwgJHgkIGFuZCAkeSQgYXJlIGludGVnZXJzIHdoaWNoIHNhdGlzZnkgJDEgXFxsZSB4IFxcbGUgTi0xOyQgJDAwIFxcbGUgeSBcXGxlIDk5JC48XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD4kKyQsICQtJCwgJFxcdGltZXMkLCAkXFxkaXYkIGFyZSBnaXZlbiBhcyB0aGUgY2hhcmFjdGVycyA8c3BhbiBzdHlsZT1cImNvbG9yOiNlNzRjM2M7XCI+PGNvZGU+KzxcL2NvZGU+PFwvc3Bhbj4sIDxzcGFuIHN0eWxlPVwiY29sb3I6I2U3NGMzYztcIj48Y29kZT4tPFwvY29kZT48XC9zcGFuPiwgPHNwYW4gc3R5bGU9XCJjb2xvcjojZTc0YzNjO1wiPjxjb2RlPio8XC9jb2RlPjxcL3NwYW4+LCA8c3BhbiBzdHlsZT1cImNvbG9yOiNlNzRjM2M7XCI+PGNvZGU+XC88XC9jb2RlPjxcL3NwYW4+LCByZXBzZWN0aXZlbHkuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+Rm9yIGVhY2ggcXVlc3Rpb24gZXZlbnQsIGlmIHRoZSBhbnN3ZXIgYXMgYSBzaW1wbGlmaWVkIGZyYWN0aW9uIGlzICRwXC9xJCwgcHJpbnQgdGhlIGludGVnZXIgJHIkLCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJDAkIGFuZCBsZXNzIHRoYW4gJDFcXCwgMjA4XFwsIDAxNyQsIHdoaWNoIHNhdGlzZmllcyAkcXJcXGVxdWl2IHBcXHBtb2R7MVxcLCAyMDhcXCwgMDE3fSQuIEl0IGNhbiBiZSBwcm92ZW4gdGhhdCBhIHVuaXF1ZSBpbnRlZ2VyIGFsd2F5cyBleGlzdHMgZm9yIGVhY2ggcXVlc3Rpb24gZXZlbnQgdW5kZXIgdGhlIGNvbnN0cmFpbnRzIG9mIHRoZSBwcm9ibGVtLjxcL3A+XHJcblxyXG48cD4kMVxcLCAyMDhcXCwgMDE3JCBpcyBwcmltZS48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIwIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJFbmdsaXNoIiwic2FtcGxlX2V4cGxhaW5fMSI6IjxwPlRoZSBmaXJzdCBxdWVzdGlvbiBldmVudCBhc2tzIHlvdSB0byBhcnJhbmdlIHRoZSBjYXJkcyBvbiB0aGUgcGF0aCBzdGFydGluZyBmcm9tIHZlcnRleCAkMSQgYW5kIGVuZGluZyBhdCB2ZXJ0ZXggJDQkLiBUaGlzIHJlc3VsdHMgaW4gJDA3XFwsIDIzKzI3XFwsIDA2XFwsIDI0LTM1XFwsIDEzXFwsIDI2JCB3aGljaCBpcyAkLTc5XFwsIDI3NyQuIEhlcmUsICQxXFxjZG90IDFcXCwgMTI4XFwsIDAzOFxcZXF1aXYgLTc5XFwsIDk3OVxccG1vZHsxXFwsIDIwOFxcLCAwMTd9JC4gVGh1cywgJDFcXCwgMTI4XFwsIDAzOCQgaXMgdGhlIG91dHB1dC48XC9wPlxyXG5cclxuPHA+VGhlbiwgJDQkIGNoYW5nZSBjYXJkIGV2ZW50cyBvY2N1ci48XC9wPlxyXG5cclxuPHA+VGhlIG5leHQgcXVlc3Rpb24gZXZlbnQgYXNrcyB5b3UgdG8gYXJyYW5nZSB0aGUgY2FyZHMgb24gdGhlIHBhdGggc3RhcnRpbmcgZnJvbSB2ZXJ0ZXggJDIkIGFuZCBlbmRpbmcgYXQgdmVydGV4ICQxJC4gVGhpcyByZXN1bHRzIGluICQyN1xcLCA2M1xcZGl2IDYxXFwsIDkyXFwsIDA5XFx0aW1lcyAxNFxcLCAwNlxcLCAyNCsyN1xcLCA4N1xcLCAyMyQgd2hpY2ggaXMgJFxcZGlzcGxheXN0eWxlIFxcZnJhY3sxOVxcLCAyMTlcXCwgNTkyXFwsIDY5MX17NjhcXCwgODAxfSQuIEhlcmUsICQ2OFxcLCA4MDFcXGNkb3QgOTc1XFwsIDg2NFxcZXF1aXYgMTlcXCwgMjE5XFwsIDU5MlxcLCA2OTFcXHBtb2R7MVxcLCAyMDhcXCwgMDE3fSQuIFRodXMsICQ5NzVcXCwgODY0JCBpcyB0aGUgb3V0cHV0LjxcL3A+XHJcbiJ9XQ==

출처