Logo
(追記) (追記ここまで)

32272번 - 이진 트리 그리기 다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 512 MB307538.462%

문제

Bert 는 최근 이진 트리 (Binary Tree) 의 매력에 푹 빠져있다. 어떤 트리가 이진 트리이기 위해서는 각 노드의 자식이 최대 2개 이어야한다. 편의상 이진 트리 $T$ 의 노드는 1ドル$번부터 $N$ 번까지 번호가 붙어있으며, $i$번 노드의 왼쪽 자식은 $L_i,ドル 오른쪽 자식은 $R_i$ 로 표현한다 -- 자식이 없을 경우 이 값은 0이 된다.

예를 들어 아래 트리는 $N = 3,ドル $L = [2, 0, 0],ドル $R = [3, 0, 0]$ 인 경우를 나타내며 이 트리에서 루트는 1번 노드이다.

Bert 는 이진 트리 그리는 것을 좋아하는데, 우선 $V \ge N$ 인 적당히 큰 정수 $V$를 고정한 후, 아래 규칙에 따라 여러 가지 방법으로 그리는 것을 좋아한다. 편의상 노드 $i$ 의 정수 $x,y$ 좌표 값을 $(x_i, y_i)$ 라 하자.

  1. 1ドル \le x_i \le V$ 가 되도록 골라야 한다.
  2. 노드 $i$ 가 루트 노드라면 $y_i = -1$ 이어야 한다.
  3. 노드 $p$ 가 노드 $i$의 부모라면 $y_i = y_p - 1$ 이어야 한다.
  4. 루트가 아닌 노드 $i$가 노드 $p$ 의 왼쪽 자식이라면 (즉 $L_p = i$), 반드시 $x_i \lt x_p$ 이며 $i$의 모든 자식 및 자손 노드 $j$에 대해서도 $x_j \lt x_p$ 이어야 한다.
  5. 루트가 아닌 노드 $i$가 노드 $p$ 의 오른쪽 자식이라면 (즉 $R_p = i$), 반드시 $x_i \gt x_p$ 이며 $i$의 모든 자식 및 자손 노드 $j$에 대해서도 $x_j \gt x_p$ 이어야 한다.

위 조건을 모두 만족하는 $N$개의 좌표값을 정했다면 이진 트리를 그릴 수 있다고 하며, 두 이진 트리 그림이 있을 때, 같은 노드의 $x$ 좌표 값이 다르면 두 그림은 다른 방법으로 그려진 것이라 하자 (위 규칙대로면 각 노드의 $y$ 좌표 값은 항상 같다). 위 예제의 경우 $V = 4$ 라면 아래와 같은 4가지 다른 방법으로 이진 트리를 그릴 수 있다.

Bert는 임의의 이진 트리가 주어졌을 때 위 방법을 모두 지키면서 몇 가지 다른 방법으로 이진 트리를 그릴 수 있는지 궁금해졌다. 그런데 이를 지켜보던 Alice는 그 문제는 너무 쉽다며, 새로운 문제를 주었다:

  • $N$ 개의 노드 중 일부 노드의 (0개일 수도 있고 $N$ 개일 수도 있음) $x$ 좌표를 고정한 후 위 규칙에 따라 그린다면 몇 가지 다른 방법으로 이진 트리를 그릴 수 있을까?
  • 구체적으로 정수 배열 $A$가 주어지고, $A_i = 0$ 인 경우 노드 $i$ 의 좌표는 고정되지 않은 경우이고 $A_i \in [1, V]$ 인 경우 노드 $i$의 좌표는 $x_i = A_i$ 가 되어야만 한다.

예를 들어 $A = [0, 1, 0]$ 인 경우 앞서 살펴본 4개의 트리 중 $x_2 = 1$ 을 만족하는 좌측 3개의 방법으로 트리를 그릴 수 있다.

같은 트리에 대하여 만약 $A = [1, 0, 0]$ 인 경우, 조건을 만족하며 트리를 그릴 수 있는 방법이 없다 (앞서 살펴본바와 같이 4가지 방법으로 트리를 그릴 수 있지만, $x_1 = 1$ 인 경우는 불가능하다).

입력으로 $N, V$ 와 세 개의 정수 배열 $A, L, R$ 이 주어졌을 때, Alice의 조건을 만족하며 이진 트리를 그릴 수 있는 방법의 수를 구해보자.

입력

입력 첫 줄에 테스트 케이스의 수 $T$가 주어진다.

각 테스트 케이스의 첫 줄에는 $N, V$가 공백으로 구분되어 주어진다. 둘째 줄에는 배열 $A$가, 셋째 줄에는 배열 $L$이, 네번째 줄에는 배열 $R$이 주어지며, 각 줄의 배열은 공백으로 구분되어 $N$개의 정수가 주어진다.

출력

각 테스트 케이스의 정답을 각 줄에 출력한다. 단, 이 수가 매우 클 수 있으므로 444ドル,449円$로 나눈 나머지를 출력한다.

제한

  • 1ドル \le T \le 10$
  • 1ドル \le N \le 100,000円$
  • $N \le V \le 1,000円,000円,000円$
  • 1ドル \le i \le N$ 인 $i$에 대하여
    • 0ドル \le A_i \le V$
    • 0ドル \le L_i, R_i \le N$
  • 입력으로 주어지는 이진 트리는 $N$개의 노드, $N-1$개의 간선, 그리고 고유한 루트가 존재하며 싸이클이 없는 정상적인 이진 트리임이 보장된다.

예제 입력 1

6
3 4
0 0 0
2 0 0
3 0 0
3 4
1 0 0
2 0 0
3 0 0
3 4
0 1 0
2 0 0
3 0 0
5 7
0 4 0 0 0
0 3 0 0 0
2 4 0 5 0
5 10
0 5 0 0 0
0 3 0 0 0
2 4 0 5 0
6 10
0 0 3 6 0 8
2 3 0 0 6 0
0 5 4 0 0 0

예제 출력 1

4
0
3
9
60
1

예제 1-3: 본문에서 다루었다.

예제 4-5: 추가 설명 없음.

예제 6: 아래 그림이 유일하게 조건을 만족하면서 이진 트리를 그릴 수 있는 방법이다. 그림 속 $x$ 배열의 값 중 밑줄이 쳐진 값들은 (3번, 4번, 6번) 노드의 좌표가 고정되어있음을 강조한다.

힌트

W3sicHJvYmxlbV9pZCI6IjMyMjcyIiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHVjNzc0XHVjOWM0IFx1ZDJiOFx1YjlhYyBcdWFkZjhcdWI5YWNcdWFlMzAiLCJkZXNjcmlwdGlvbiI6IjxwPkJlcnQgXHViMjk0IFx1Y2Q1Y1x1YWRmYyBcdWM3NzRcdWM5YzQgXHVkMmI4XHViOWFjICAoQmluYXJ5IFRyZWUpIFx1Yzc1OCBcdWI5ZTRcdWI4MjVcdWM1ZDAgXHVkNDc5IFx1YmU2MFx1YzgzOFx1Yzc4OFx1YjJlNC4gXHVjNWI0XHViNWE0IFx1ZDJiOFx1YjlhY1x1YWMwMCBcdWM3NzRcdWM5YzQgXHVkMmI4XHViOWFjXHVjNzc0XHVhZTMwIFx1YzcwNFx1ZDU3NFx1YzExY1x1YjI5NCBcdWFjMDEgXHViMTc4XHViNGRjXHVjNzU4IFx1Yzc5MFx1YzJkZFx1Yzc3NCBcdWNkNWNcdWIzMDAgMlx1YWMxYyBcdWM3NzRcdWM1YjRcdWM1N2NcdWQ1NWNcdWIyZTQuIFx1ZDNiOFx1Yzc1OFx1YzBjMSBcdWM3NzRcdWM5YzQgXHVkMmI4XHViOWFjICRUJCBcdWM3NTggXHViMTc4XHViNGRjXHViMjk0ICQxJFx1YmM4OFx1YmQ4MFx1ZDEzMCAkTiQgXHViYzg4XHVhZTRjXHVjOWMwIFx1YmM4OFx1ZDYzOFx1YWMwMCBcdWJkOTlcdWM1YjRcdWM3ODhcdWM3M2NcdWJhNzAsICRpJFx1YmM4OCBcdWIxNzhcdWI0ZGNcdWM3NTggXHVjNjdjXHVjYWJkIFx1Yzc5MFx1YzJkZFx1Yzc0MCAkTF9pJCwgXHVjNjI0XHViOTc4XHVjYWJkIFx1Yzc5MFx1YzJkZFx1Yzc0MCAkUl9pJCBcdWI4NWMgXHVkNDVjXHVkNjA0XHVkNTVjXHViMmU0IC0tIFx1Yzc5MFx1YzJkZFx1Yzc3NCBcdWM1YzZcdWM3NDQgXHVhY2JkXHVjNmIwIFx1Yzc3NCBcdWFjMTJcdWM3NDAgMFx1Yzc3NCBcdWI0MWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzYwOFx1Yjk3YyBcdWI0ZTRcdWM1YjQgXHVjNTQ0XHViNzk4IFx1ZDJiOFx1YjlhY1x1YjI5NCAkTiA9IDMkLCAkTCA9IFsyLCAwLCAwXSQsICRSID0gWzMsIDAsIDBdJCBcdWM3NzggXHVhY2JkXHVjNmIwXHViOTdjIFx1YjA5OFx1ZDBjMFx1YjBiNFx1YmE3MCBcdWM3NzQgXHVkMmI4XHViOWFjXHVjNWQwXHVjMTFjIFx1YjhlOFx1ZDJiOFx1YjI5NCAxXHViYzg4IFx1YjE3OFx1YjRkY1x1Yzc3NFx1YjJlNC48XC9wPlxyXG5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGltZyBhbHQ9XCJcIiBzcmM9XCJodHRwczpcL1wvdXBsb2FkLmFjbWljcGMubmV0XC9mZDEwNzc2Ny02NzE4LTQ2NDItODdiMS00ODhlNzg1MWU1MzNcLy1cL3ByZXZpZXdcL1wiIHN0eWxlPVwid2lkdGg6IDE2MHB4OyBoZWlnaHQ6IDE3NXB4O1wiIFwvPjxcL3A+XHJcblxyXG48cD5CZXJ0IFx1YjI5NCBcdWM3NzRcdWM5YzQgXHVkMmI4XHViOWFjIFx1YWRmOFx1YjlhY1x1YjI5NCBcdWFjODNcdWM3NDQgXHVjODhiXHVjNTQ0XHVkNTU4XHViMjk0XHViMzcwLCBcdWM2YjBcdWMxMjAgJFYgXFxnZSBOJCBcdWM3NzggXHVjODAxXHViMmY5XHVkNzg4IFx1ZDA3MCBcdWM4MTVcdWMyMTggJFYkXHViOTdjIFx1YWNlMFx1YzgxNVx1ZDU1YyBcdWQ2YzQsIFx1YzU0NFx1Yjc5OCBcdWFkZGNcdWNlNTlcdWM1ZDAgXHViNTMwXHViNzdjIFx1YzVlY1x1YjdlYyBcdWFjMDBcdWM5YzAgXHViYzI5XHViYzk1XHVjNzNjXHViODVjIFx1YWRmOFx1YjlhY1x1YjI5NCBcdWFjODNcdWM3NDQgXHVjODhiXHVjNTQ0XHVkNTVjXHViMmU0LiBcdWQzYjhcdWM3NThcdWMwYzEgXHViMTc4XHViNGRjICRpJCBcdWM3NTggXHVjODE1XHVjMjE4ICR4LHkkIFx1Yzg4Y1x1ZDQ1YyBcdWFjMTJcdWM3NDQgJCh4X2ksIHlfaSkkIFx1Yjc3YyBcdWQ1NThcdWM3OTAuPFwvcD5cclxuXHJcbjxvbD5cclxuXHQ8bGk+JDEgXFxsZSB4X2kgXFxsZSBWJCBcdWFjMDAgXHViNDE4XHViM2M0XHViODVkIFx1YWNlOFx1Yjc3Y1x1YzU3YyBcdWQ1NWNcdWIyZTQuPFwvbGk+XHJcblx0PGxpPlx1YjE3OFx1YjRkYyAkaSQgXHVhYzAwIFx1YjhlOFx1ZDJiOCBcdWIxNzhcdWI0ZGNcdWI3N2NcdWJhNzQgJHlfaSA9IC0xJCBcdWM3NzRcdWM1YjRcdWM1N2MgXHVkNTVjXHViMmU0LjxcL2xpPlxyXG5cdDxsaT5cdWIxNzhcdWI0ZGMgJHAkIFx1YWMwMCBcdWIxNzhcdWI0ZGMgICRpJFx1Yzc1OCBcdWJkODBcdWJhYThcdWI3N2NcdWJhNzQgJHlfaSA9IHlfcCAtIDEkIFx1Yzc3NFx1YzViNFx1YzU3YyBcdWQ1NWNcdWIyZTQuPFwvbGk+XHJcblx0PGxpPlx1YjhlOFx1ZDJiOFx1YWMwMCBcdWM1NDRcdWIyY2MgXHViMTc4XHViNGRjICRpJFx1YWMwMCBcdWIxNzhcdWI0ZGMgJHAkIFx1Yzc1OCBcdWM2N2NcdWNhYmQgXHVjNzkwXHVjMmRkXHVjNzc0XHViNzdjXHViYTc0IChcdWM5ODkgJExfcCA9IGkkKSwgXHViYzE4XHViNGRjXHVjMmRjICR4X2kgXFxsdCB4X3AkIFx1Yzc3NFx1YmE3MCAkaSRcdWM3NTggXHViYWE4XHViNGUwIFx1Yzc5MFx1YzJkZCBcdWJjMGYgXHVjNzkwXHVjMTkwIFx1YjE3OFx1YjRkYyAkaiRcdWM1ZDAgXHViMzAwXHVkNTc0XHVjMTFjXHViM2M0ICR4X2ogXFxsdCB4X3AkIFx1Yzc3NFx1YzViNFx1YzU3YyBcdWQ1NWNcdWIyZTQuPFwvbGk+XHJcblx0PGxpPlx1YjhlOFx1ZDJiOFx1YWMwMCBcdWM1NDRcdWIyY2MgXHViMTc4XHViNGRjICRpJFx1YWMwMCBcdWIxNzhcdWI0ZGMgJHAkIFx1Yzc1OCBcdWM2MjRcdWI5NzhcdWNhYmQgXHVjNzkwXHVjMmRkXHVjNzc0XHViNzdjXHViYTc0IChcdWM5ODkgJFJfcCA9IGkkKSwgXHViYzE4XHViNGRjXHVjMmRjICR4X2kgXFxndCB4X3AkIFx1Yzc3NFx1YmE3MCAkaSRcdWM3NTggXHViYWE4XHViNGUwIFx1Yzc5MFx1YzJkZCBcdWJjMGYgXHVjNzkwXHVjMTkwIFx1YjE3OFx1YjRkYyAkaiRcdWM1ZDAgXHViMzAwXHVkNTc0XHVjMTFjXHViM2M0ICR4X2ogXFxndCB4X3AkIFx1Yzc3NFx1YzViNFx1YzU3YyBcdWQ1NWNcdWIyZTQuPFwvbGk+XHJcbjxcL29sPlxyXG5cclxuPHA+XHVjNzA0IFx1Yzg3MFx1YWM3NFx1Yzc0NCBcdWJhYThcdWI0NTAgXHViOWNjXHVjODcxXHVkNTU4XHViMjk0ICROJFx1YWMxY1x1Yzc1OCBcdWM4OGNcdWQ0NWNcdWFjMTJcdWM3NDQgXHVjODE1XHVkNTg4XHViMmU0XHViYTc0IFx1Yzc3NFx1YzljNCBcdWQyYjhcdWI5YWNcdWI5N2MgXHVhZGY4XHViOWI0IFx1YzIxOCBcdWM3ODhcdWIyZTRcdWFjZTAgXHVkNTU4XHViYTcwLCBcdWI0NTAgXHVjNzc0XHVjOWM0IFx1ZDJiOFx1YjlhYyBcdWFkZjhcdWI5YmNcdWM3NzQgXHVjNzg4XHVjNzQ0IFx1YjU0YywgXHVhYzE5XHVjNzQwIFx1YjE3OFx1YjRkY1x1Yzc1OCAkeCQgXHVjODhjXHVkNDVjIFx1YWMxMlx1Yzc3NCBcdWIyZTRcdWI5NzRcdWJhNzQgXHViNDUwIFx1YWRmOFx1YjliY1x1Yzc0MCBcdWIyZTRcdWI5NzggXHViYzI5XHViYzk1XHVjNzNjXHViODVjIFx1YWRmOFx1YjgyNFx1YzljNCBcdWFjODNcdWM3NzRcdWI3N2MgXHVkNTU4XHVjNzkwIChcdWM3MDQgXHVhZGRjXHVjZTU5XHViMzAwXHViODVjXHViYTc0IFx1YWMwMSBcdWIxNzhcdWI0ZGNcdWM3NTggJHkkIFx1Yzg4Y1x1ZDQ1YyBcdWFjMTJcdWM3NDAgXHVkNTZkXHVjMGMxIFx1YWMxOVx1YjJlNCkuIFx1YzcwNCBcdWM2MDhcdWM4MWNcdWM3NTggXHVhY2JkXHVjNmIwICRWID0gNCQgXHViNzdjXHViYTc0IFx1YzU0NFx1Yjc5OFx1YzY0MCBcdWFjMTlcdWM3NDAgNFx1YWMwMFx1YzljMCBcdWIyZTRcdWI5NzggXHViYzI5XHViYzk1XHVjNzNjXHViODVjIFx1Yzc3NFx1YzljNCBcdWQyYjhcdWI5YWNcdWI5N2MgXHVhZGY4XHViOWI0IFx1YzIxOCBcdWM3ODhcdWIyZTQuPFwvcD5cclxuXHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxpbWcgYWx0PVwiXCIgc3JjPVwiaHR0cHM6XC9cL3VwbG9hZC5hY21pY3BjLm5ldFwvMzJhYTI4Y2MtNDE5Yy00Mjc3LWE0MTktMjVhZGY4M2I2MTNkXC8tXC9wcmV2aWV3XC9cIiBzdHlsZT1cImhlaWdodDogMTk0cHg7IHdpZHRoOiA5MDBweDtcIiBcLz48XC9wPlxyXG5cclxuPHA+QmVydFx1YjI5NCBcdWM3ODRcdWM3NThcdWM3NTggXHVjNzc0XHVjOWM0IFx1ZDJiOFx1YjlhY1x1YWMwMCBcdWM4ZmNcdWM1YjRcdWM4NGNcdWM3NDQgXHViNTRjIFx1YzcwNCBcdWJjMjlcdWJjOTVcdWM3NDQgXHViYWE4XHViNDUwIFx1YzljMFx1ZDBhNFx1YmE3NFx1YzExYyBcdWJhODcgXHVhYzAwXHVjOWMwIFx1YjJlNFx1Yjk3OCBcdWJjMjlcdWJjOTVcdWM3M2NcdWI4NWMgXHVjNzc0XHVjOWM0IFx1ZDJiOFx1YjlhY1x1Yjk3YyBcdWFkZjhcdWI5YjQgXHVjMjE4IFx1Yzc4OFx1YjI5NFx1YzljMCBcdWFkODFcdWFlMDhcdWQ1NzRcdWM4NGNcdWIyZTQuIFx1YWRmOFx1YjdmMFx1YjM3MCBcdWM3NzRcdWI5N2MgXHVjOWMwXHVjZjFjXHViY2Y0XHViMzU4IEFsaWNlXHViMjk0IFx1YWRmOCBcdWJiMzhcdWM4MWNcdWIyOTQgXHViMTA4XHViYjM0IFx1YzI3ZFx1YjJlNFx1YmE3MCwgXHVjMGM4XHViODVjXHVjNmI0IFx1YmIzOFx1YzgxY1x1Yjk3YyBcdWM4ZmNcdWM1YzhcdWIyZTQ6PFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+JE4kIFx1YWMxY1x1Yzc1OCBcdWIxNzhcdWI0ZGMgXHVjOTExIFx1Yzc3Y1x1YmQ4MCBcdWIxNzhcdWI0ZGNcdWM3NTggKDBcdWFjMWNcdWM3N2MgXHVjMjE4XHViM2M0IFx1Yzc4OFx1YWNlMCAkTiQgXHVhYzFjXHVjNzdjIFx1YzIxOFx1YjNjNCBcdWM3ODhcdWM3NGMpICR4JCBcdWM4OGNcdWQ0NWNcdWI5N2MgXHVhY2UwXHVjODE1XHVkNTVjIFx1ZDZjNCBcdWM3MDQgXHVhZGRjXHVjZTU5XHVjNWQwIFx1YjUzMFx1Yjc3YyBcdWFkZjhcdWI5YjBcdWIyZTRcdWJhNzQgXHViYTg3IFx1YWMwMFx1YzljMCBcdWIyZTRcdWI5NzggXHViYzI5XHViYzk1XHVjNzNjXHViODVjIFx1Yzc3NFx1YzljNCBcdWQyYjhcdWI5YWNcdWI5N2MgXHVhZGY4XHViOWI0IFx1YzIxOCBcdWM3ODhcdWM3NDRcdWFlNGM/PFwvbGk+XHJcblx0PGxpPlx1YWQ2Y1x1Y2NiNFx1YzgwMVx1YzczY1x1Yjg1YyBcdWM4MTVcdWMyMTggXHViYzMwXHVjNWY0ICRBJFx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzBcdWFjZTAsICRBX2kgPSAwJCBcdWM3NzggXHVhY2JkXHVjNmIwIFx1YjE3OFx1YjRkYyAkaSQgXHVjNzU4IFx1Yzg4Y1x1ZDQ1Y1x1YjI5NCBcdWFjZTBcdWM4MTVcdWI0MThcdWM5YzAgXHVjNTRhXHVjNzQwIFx1YWNiZFx1YzZiMFx1Yzc3NFx1YWNlMCAkQV9pIFxcaW4gWzEsIFZdJCBcdWM3NzggXHVhY2JkXHVjNmIwIFx1YjE3OFx1YjRkYyAkaSRcdWM3NTggXHVjODhjXHVkNDVjXHViMjk0ICR4X2kgPSBBX2kkIFx1YWMwMCBcdWI0MThcdWM1YjRcdWM1N2NcdWI5Y2MgXHVkNTVjXHViMmU0LjxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPlx1YzYwOFx1Yjk3YyBcdWI0ZTRcdWM1YjQgJEEgPSBbMCwgMSwgMF0kIFx1Yzc3OCBcdWFjYmRcdWM2YjAgXHVjNTVlXHVjMTFjIFx1YzBiNFx1ZDNiNFx1YmNmOCA0XHVhYzFjXHVjNzU4IFx1ZDJiOFx1YjlhYyBcdWM5MTEgJHhfMiA9IDEkIFx1Yzc0NCBcdWI5Y2NcdWM4NzFcdWQ1NThcdWIyOTQgXHVjODhjXHVjZTIxIDNcdWFjMWNcdWM3NTggXHViYzI5XHViYzk1XHVjNzNjXHViODVjIFx1ZDJiOFx1YjlhY1x1Yjk3YyBcdWFkZjhcdWI5YjQgXHVjMjE4IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVhYzE5XHVjNzQwIFx1ZDJiOFx1YjlhY1x1YzVkMCBcdWIzMDBcdWQ1NThcdWM1ZWMgXHViOWNjXHVjNTdkICRBID0gWzEsIDAsIDBdJCBcdWM3NzggXHVhY2JkXHVjNmIwLCBcdWM4NzBcdWFjNzRcdWM3NDQgXHViOWNjXHVjODcxXHVkNTU4XHViYTcwIFx1ZDJiOFx1YjlhY1x1Yjk3YyBcdWFkZjhcdWI5YjQgXHVjMjE4IFx1Yzc4OFx1YjI5NCBcdWJjMjlcdWJjOTVcdWM3NzQgXHVjNWM2XHViMmU0IChcdWM1NWVcdWMxMWMgXHVjMGI0XHVkM2I0XHViY2Y4XHViYzE0XHVjNjQwIFx1YWMxOVx1Yzc3NCA0XHVhYzAwXHVjOWMwIFx1YmMyOVx1YmM5NVx1YzczY1x1Yjg1YyBcdWQyYjhcdWI5YWNcdWI5N2MgXHVhZGY4XHViOWI0IFx1YzIxOCBcdWM3ODhcdWM5YzBcdWI5Y2MsICR4XzEgPSAxJCBcdWM3NzggXHVhY2JkXHVjNmIwXHViMjk0IFx1YmQ4OFx1YWMwMFx1YjJhNVx1ZDU1OFx1YjJlNCkuPFwvcD5cclxuXHJcbjxwPlx1Yzc4NVx1YjgyNVx1YzczY1x1Yjg1YyAkTiwgViQgXHVjNjQwIFx1YzEzOCBcdWFjMWNcdWM3NTggXHVjODE1XHVjMjE4IFx1YmMzMFx1YzVmNCAkQSwgTCwgUiQgXHVjNzc0IFx1YzhmY1x1YzViNFx1Yzg0Y1x1Yzc0NCBcdWI1NGMsIEFsaWNlXHVjNzU4IFx1Yzg3MFx1YWM3NFx1Yzc0NCBcdWI5Y2NcdWM4NzFcdWQ1NThcdWJhNzAgXHVjNzc0XHVjOWM0IFx1ZDJiOFx1YjlhY1x1Yjk3YyBcdWFkZjhcdWI5YjQgXHVjMjE4IFx1Yzc4OFx1YjI5NCBcdWJjMjlcdWJjOTVcdWM3NTggXHVjMjE4XHViOTdjIFx1YWQ2Y1x1ZDU3NFx1YmNmNFx1Yzc5MC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1Yzc4NVx1YjgyNSBcdWNjYWIgXHVjOTA0XHVjNWQwIFx1ZDE0Y1x1YzJhNFx1ZDJiOCBcdWNmMDBcdWM3NzRcdWMyYTRcdWM3NTggXHVjMjE4ICRUJFx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YWMwMSBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHVjNzU4IFx1Y2NhYiBcdWM5MDRcdWM1ZDBcdWIyOTQgJE4sIFYkXHVhYzAwIFx1YWNmNVx1YmMzMVx1YzczY1x1Yjg1YyBcdWFkNmNcdWJkODRcdWI0MThcdWM1YjQgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBcdWI0NThcdWM5ZjggXHVjOTA0XHVjNWQwXHViMjk0IFx1YmMzMFx1YzVmNCAkQSRcdWFjMDAsIFx1YzE0Ylx1YzlmOCBcdWM5MDRcdWM1ZDBcdWIyOTQgXHViYzMwXHVjNWY0ICRMJFx1Yzc3NCwgXHViMTI0XHViYzg4XHVjOWY4IFx1YzkwNFx1YzVkMFx1YjI5NCBcdWJjMzBcdWM1ZjQgJFIkXHVjNzc0IFx1YzhmY1x1YzViNFx1YzljMFx1YmE3MCwgXHVhYzAxIFx1YzkwNFx1Yzc1OCBcdWJjMzBcdWM1ZjRcdWM3NDAgXHVhY2Y1XHViYzMxXHVjNzNjXHViODVjIFx1YWQ2Y1x1YmQ4NFx1YjQxOFx1YzViNCAkTiRcdWFjMWNcdWM3NTggXHVjODE1XHVjMjE4XHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5cdWFjMDEgXHVkMTRjXHVjMmE0XHVkMmI4IFx1Y2YwMFx1Yzc3NFx1YzJhNFx1Yzc1OCBcdWM4MTVcdWIyZjVcdWM3NDQgXHVhYzAxIFx1YzkwNFx1YzVkMCBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuIFx1YjJlOCwgXHVjNzc0IFx1YzIxOFx1YWMwMCBcdWI5ZTRcdWM2YjAgXHVkMDc0IFx1YzIxOCBcdWM3ODhcdWM3M2NcdWJiYzBcdWI4NWMgJDQ0NFxcLDQ0OSRcdWI4NWMgXHViMDk4XHViMjA4IFx1YjA5OFx1YmEzOFx1YzljMFx1Yjk3YyBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMSIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiS29yZWFuIiwibGltaXQiOiI8dWw+XHJcblx0PGxpPiQxIFxcbGUgVCBcXGxlIDEwJDxcL2xpPlxyXG5cdDxsaT4kMSBcXGxlIE4gXFxsZSAxMDBcXCwwMDAkPFwvbGk+XHJcblx0PGxpPiROIFxcbGUgViBcXGxlIDFcXCwwMDBcXCwwMDBcXCwwMDAkPFwvbGk+XHJcblx0PGxpPiQxIFxcbGUgaSBcXGxlIE4kIFx1Yzc3OCAkaSRcdWM1ZDAgXHViMzAwXHVkNTU4XHVjNWVjXHJcblx0PHVsPlxyXG5cdFx0PGxpPiQwIFxcbGUgQV9pIFxcbGUgViQ8XC9saT5cclxuXHRcdDxsaT4kMCBcXGxlIExfaSwgUl9pIFxcbGUgTiQ8XC9saT5cclxuXHQ8XC91bD5cclxuXHQ8XC9saT5cclxuXHQ8bGk+XHVjNzg1XHViODI1XHVjNzNjXHViODVjIFx1YzhmY1x1YzViNFx1YzljMFx1YjI5NCBcdWM3NzRcdWM5YzQgXHVkMmI4XHViOWFjXHViMjk0ICROJFx1YWMxY1x1Yzc1OCBcdWIxNzhcdWI0ZGMsICROLTEkXHVhYzFjXHVjNzU4IFx1YWMwNFx1YzEyMCwgXHVhZGY4XHViOWFjXHVhY2UwIFx1YWNlMFx1YzcyMFx1ZDU1YyBcdWI4ZThcdWQyYjhcdWFjMDAgXHVjODc0XHVjN2FjXHVkNTU4XHViYTcwIFx1YzJmOFx1Yzc3NFx1ZDA3NFx1Yzc3NCBcdWM1YzZcdWIyOTQgXHVjODE1XHVjMGMxXHVjODAxXHVjNzc4IFx1Yzc3NFx1YzljNCBcdWQyYjhcdWI5YWNcdWM3ODRcdWM3NzQgXHViY2Y0XHVjN2E1XHViNDFjXHViMmU0LjxcL2xpPlxyXG48XC91bD5cclxuIiwic2FtcGxlX2V4cGxhaW5fMSI6IjxwPlx1YzYwOFx1YzgxYyAxLTM6IFx1YmNmOFx1YmIzOFx1YzVkMFx1YzExYyBcdWIyZTRcdWI4ZThcdWM1YzhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzYwOFx1YzgxYyA0LTU6IFx1Y2Q5NFx1YWMwMCBcdWMxMjRcdWJhODUgXHVjNWM2XHVjNzRjLjxcL3A+XHJcblxyXG48cD5cdWM2MDhcdWM4MWMgNjogXHVjNTQ0XHViNzk4IFx1YWRmOFx1YjliY1x1Yzc3NCBcdWM3MjBcdWM3N2NcdWQ1NThcdWFjOGMgXHVjODcwXHVhYzc0XHVjNzQ0IFx1YjljY1x1Yzg3MVx1ZDU1OFx1YmE3NFx1YzExYyBcdWM3NzRcdWM5YzQgXHVkMmI4XHViOWFjXHViOTdjIFx1YWRmOFx1YjliNCBcdWMyMTggXHVjNzg4XHViMjk0IFx1YmMyOVx1YmM5NVx1Yzc3NFx1YjJlNC4gXHVhZGY4XHViOWJjIFx1YzE4ZCAkeCQgXHViYzMwXHVjNWY0XHVjNzU4IFx1YWMxMiBcdWM5MTEgXHViYzExXHVjOTA0XHVjNzc0IFx1Y2NkMFx1YzljNCBcdWFjMTJcdWI0ZTRcdWM3NDAgKDNcdWJjODgsIDRcdWJjODgsIDZcdWJjODgpIFx1YjE3OFx1YjRkY1x1Yzc1OCBcdWM4OGNcdWQ0NWNcdWFjMDAgXHVhY2UwXHVjODE1XHViNDE4XHVjNWI0XHVjNzg4XHVjNzRjXHVjNzQ0IFx1YWMxNVx1Yzg3MFx1ZDU1Y1x1YjJlNC48XC9wPlxyXG5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGltZyBhbHQ9XCJcIiBzcmM9XCJodHRwczpcL1wvdXBsb2FkLmFjbWljcGMubmV0XC8yY2NjOGY1NC1kOTIyLTQ3MTItOGEyZi1mY2FlZTQzYWE4MjFcLy1cL3ByZXZpZXdcL1wiIHN0eWxlPVwiaGVpZ2h0OiAyNDdweDsgd2lkdGg6IDUwMHB4O1wiIFwvPjxcL3A+XHJcbiJ9LHsicHJvYmxlbV9pZCI6IjMyMjcyIiwicHJvYmxlbV9sYW5nIjoiMSIsInRpdGxlIjoiRHJhd2luZyBCaW5hcnkgVHJlZXMiLCJkZXNjcmlwdGlvbiI6IjxwPkJlcnQgaXMgdmVyeSBpbnRvIEJpbmFyeSBUcmVlcy4gRm9yIGEgdHJlZSB0byBiZSBhIGJpbmFyeSB0cmVlLCBldmVyeSBub2RlIG11c3QgaGF2ZSBhdCBtb3N0IHR3byBjaGlsZCBub2Rlcy4gQ29uc2lkZXIgYSBiaW5hcnkgdHJlZSAkVCQgd2hvc2Ugbm9kZXMgYXJlIGNvbnZlbmllbnRseSBudW1iZXJlZCBmcm9tICQxJCB0byAkTiQgd2hlcmUgd2UgdXNlICRMX2kkICgkUl9pJCwgcmVzcGVjdGl2ZWx5KSB0byBkZXNjcmliZSB0aGUgbGVmdCAocmlnaHQsIHJlc3BlY3RpdmVseSkgY2hpbGQgb2Ygbm9kZSAkaSQgLS0gdGhpcyB2YWx1ZSB3aWxsIGJlIDAgaWYgdGhlcmUgaXMgbm8gc3VjaCBjaGlsZC48XC9wPlxyXG5cclxuPHA+Rm9yIGluc3RhbmNlLCB0aGUgZmlndXJlIGJlbG93IHNob3dzIGEgYmluYXJ5IHRyZWUgd2l0aCZuYnNwOyROID0gMyQsICRMID0gWzIsIDAsIDBdJCwgYW5kICRSID0gWzMsIDAsIDBdJCwgYW5kIGl0cyByb290IGlzIG5vZGUgMS48XC9wPlxyXG5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGltZyBhbHQ9XCJcIiBzcmM9XCJodHRwczpcL1wvdXBsb2FkLmFjbWljcGMubmV0XC9mZDEwNzc2Ny02NzE4LTQ2NDItODdiMS00ODhlNzg1MWU1MzNcLy1cL3ByZXZpZXdcL1wiIHN0eWxlPVwid2lkdGg6IDE2MHB4OyBoZWlnaHQ6IDE3NXB4O1wiIFwvPjxcL3A+XHJcblxyXG48cD5CZXJ0IHJlYWxseSBsaWtlcyBkcmF3aW5nIGJpbmFyeSB0cmVlcywgd2hlcmUgaGUgd291bGQgZmlyc3QgY2hvb3NlIHNvbWUgaW50ZWdlciAkViQgd2l0aCAkViBcXGdlIE4kIGFuZCBkcmF3IGluIGRpZmZlcmVudCB3YXlzIHdoaWxlIG1lZXRpbmcgdGhlIGNvbmRpdGlvbnMgYmVsb3cuIEZvciBjb252ZW5pZW5jZSwgbGV0ICQoeF9pLCB5X2kpJCBiZSB0aGUgaW50ZWdlciBjb29yZGluYXRlcyBvZiBub2RlICRpJC48XC9wPlxyXG5cclxuPG9sPlxyXG5cdDxsaT5CZXJ0IG11c3QgY2hvb3NlICR4X2kkIHdpdGggJDEgXFxsZSB4X2kgXFxsZSBWJC48XC9saT5cclxuXHQ8bGk+SWYgbm9kZSAkaSQgaXMgdGhlIHJvb3QsIHRoZW4mbmJzcDskeV9pID0gLTEkIG11c3QgaG9sZC48XC9saT5cclxuXHQ8bGk+SWYgbm9kZSAkcCQgaXMgdGhlIHBhcmVudCBvZiBub2RlICRpJCwgdGhlbiZuYnNwOyR5X2kgPSB5X3AgLSAxJCBtdXN0IGhvbGQuPFwvbGk+XHJcblx0PGxpPklmIG5vbi1yb290IG5vZGUgJGkkIGlzIHRoZSBsZWZ0IGNoaWxkIG9mIG5vZGUgJHAkIChpLmUuICRMX3AgPSBpJCksIHRoZW4gJHhfaSBcXGx0IHhfcCQgbXVzdCBob2xkIGFuZCBldmVyeSBjaGlsZCAmYW1wOyBkZXNjZW5kYW50ICRqJCBvZiAkaSQgbXVzdCBoYXZlICR4X2ogXFxsdCB4X3AkJm5ic3A7YXMgd2VsbC48XC9saT5cclxuXHQ8bGk+SWYgbm9uLXJvb3Qgbm9kZSAkaSQgaXMgdGhlIHJpZ2h0IGNoaWxkIG9mIG5vZGUgJHAkIChpLmUuICRSX3AgPSBpJCksIHRoZW4gJHhfaSBcXGd0IHhfcCQgbXVzdCBob2xkIGFuZCBldmVyeSBjaGlsZCAmYW1wOyBkZXNjZW5kYW50ICRqJCBvZiAkaSQgbXVzdCBoYXZlICR4X2ogXFxndCB4X3AkJm5ic3A7YXMgd2VsbC48XC9saT5cclxuPFwvb2w+XHJcblxyXG48cD5JZiBCZXJ0IGNhbiBjaG9vc2UgdGhlIGNvb3JkaW5hdGVzIG9mICROJCBub2RlcyB3aGlsZSBtZWV0aW5nIGFsbCBvZiB0aGUgY29uZGl0aW9ucyBhYm92ZSwgdGhlbiB3ZSBzYXkgdGhhdCBhIGRyYXdpbmcgb2YgJFQkIGV4aXN0cy4mbmJzcDtJZiB0aGVyZSBhcmUgdHdvIGRyYXdpbmdzIG9mIHRoZSBzYW1lIGJpbmFyeSB0cmVlLCB0aGVuIHdlIGNvbnNpZGVyIHRoZSB0d28gZHJhd2luZ3MgZGlmZmVyZW50IGlmIHRoZSAkeCQtY29vcmRpbmF0ZSBvZiB0aGUgc2FtZSBub2RlIGRpZmZlcnMgaW4gdGhlIHR3byBkcmF3aW5ncyZuYnNwOyh0aGUgcnVsZXMgYWJvdmUgd2lsbCBlbnN1cmUgdGhhdCAkeSQtY29vcmRpbmF0ZSBvZiB0aGUgc2FtZSBub2RlIHdpbGwgbm90IHZhcnkgYWNyb3NzIGRpZmZlcmVudCBkcmF3aW5ncykuIEZvciB0aGUgZXhhbXBsZSBiaW5hcnkgdHJlZSBhYm92ZSwgdGhlcmUgYXJlIGZvdXIgZHJhd2luZ3Mgb2YgdGhlIHRyZWUgd2hlbiAkViA9IDQkIGFzIHNob3duIGJlbG93LjxcL3A+XHJcblxyXG48cCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48aW1nIGFsdD1cIlwiIHNyYz1cImh0dHBzOlwvXC91cGxvYWQuYWNtaWNwYy5uZXRcLzMyYWEyOGNjLTQxOWMtNDI3Ny1hNDE5LTI1YWRmODNiNjEzZFwvLVwvcHJldmlld1wvXCIgc3R5bGU9XCJoZWlnaHQ6IDE5NHB4OyB3aWR0aDogOTAwcHg7XCIgXC8+PFwvcD5cclxuXHJcbjxwPkJlcnQgZ290IGN1cmlvdXMgYWJvdXQgdGhlIG51bWJlciBvZiBkaWZmZXJlbnQgZHJhd2luZ3MgaGUgY2FuIG1ha2UgZm9yIGFuIGFyYml0cmFyeSBiaW5hcnkgdHJlZS4gWWV0IEFsaWNlIHRoaW5rcyB0aGUgcHJvYmxlbSBpcyB0b28gZWFzeSwgc28gc2hlIGdhdmUgQmVydCBhIG5ldyBwcm9ibGVtOjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPldoYXQmIzM5O3MgdGhlIG51bWJlciBvZiBkaWZmZXJlbnQgZHJhd2luZ3MgaWYgQmVydCBtdXN0IGZpeCB0aGUgJHgkLWNvb3JkaW5hdGUgb2Ygc29tZSBub2RlcyAocG9zc2libHkgZXZlbiAwIG5vZGVzIG9yICROJCBub2Rlcyk/PFwvbGk+XHJcblx0PGxpPlNwZWNpZmljYWxseSwgQmVydCBpcyBnaXZlbiBhbiBpbnRlZ2VyIGFycmF5ICRBJCB3aGVyZSZuYnNwOyRBX2kgPSAwJCBtZWFucyBub2RlICRpJCYjMzk7cyAkeCQtY29vcmRpbmF0ZSBpcyBub3QgZml4ZWQgYW5kICRBX2kgXFxpbiBbMSwgVl0kIG1lYW5zIG5vZGUgJGkkJiMzOTtzICR4JC1jb29yZGluYXRlIGlzIGZpeGVkIHRvIGJlJm5ic3A7JHhfaSA9IEFfaSQuPFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+Rm9yIGluc3RhbmNlLCBpZiZuYnNwOyRBID0gWzAsIDEsIDBdJCwgdGhlbiBvdXQgb2YgZm91ciBkcmF3aW5ncyBhYm92ZSwgb25seSB0aGUgbGVmdCB0aHJlZSBkcmF3aW5ncyBzYXRpc2Z5ICR4XzIgPSAxJC4gRm9yIHRoZSBzYW1lIHRyZWUgYWdhaW4sIGlmJm5ic3A7JEEgPSBbMSwgMCwgMF0kIGluc3RlYWQsIHRoZW4gdGhlcmUgaXMgbm8gd2F5IHRvIGRyYXcgdGhlIHRyZWUgd2l0aCB0aGUgZml4ZWQgY29vcmRpbmF0ZSAoYXMgc2hvd24gYWJvdmUsIG5vbmUgb2YgdGhlIGZvdXIgZHJhd2luZ3Mgc2F0aXNmaWVzICR4XzEgPSAxJCkuPFwvcD5cclxuXHJcbjxwPkdpdmVuICROLCBWJCBhbmQgdGhyZWUgYXJyYXlzICRBLCBMLCBSJCwgY29tcHV0ZSB0aGUgbnVtYmVyIG9mIGRyYXdpbmdzIG9mIHRoZSBiaW5hcnkgdHJlZSB3aGlsZSBtZWV0aW5nIHRoZSBuZXcgY29uZGl0aW9uIHByb3Bvc2VkIGJ5IEFsaWNlLjxcL3A+XHJcbiIsImlucHV0IjoiPHA+VGhlIGZpcnN0IGxpbmUgb2YgaW5wdXQgd2lsbCBjb250YWluICRUJCwgdGhlIG51bWJlciBvZiB0ZXN0IGNhZXNzLjxcL3A+XHJcblxyXG48cD5UaGUgZmlyc3QgbGluZSBvZiBlYWNoIHRlc3QgY2FzZSB3aWxsIGNvbnRhaW4gJE4sIFYkLCBzZXBhcmF0ZWQgYnkgd2hpdGVzcGFjZS4gVGhlIHNlY29uZCBsaW5lIG9mIGVhY2ggdGVzdCBjYXNlIHdpbGwgY29udGFpbiB0aGUgYXJyYXkgJEEkLCB0aGUgdGhpcmQgbGluZSB0aGUgYXJyYXkgJEwkLCBhbmQgdGhlIGZvdXJ0aCBsaW5lIHRoZSBhcnJheSAkUiQsIHdoZXJlIGVhY2ggYXJyYXkmIzM5O3MgZWxlbWVudHMgd2lsbCBiZSBnaXZlbiBieSAkTiQgaW50ZWdlcnMmbmJzcDtzZXBhcmF0ZWQgYnkgd2hpdGVzcGFjZS48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5PdXRwdXQgZWFjaCB0ZXN0IGNhc2UmIzM5O3MgYW5zd2VyIGluIGVhY2ggbGluZS4gU2luY2UgdGhlIGFuc3dlciBjYW4gYmUgdmVyeSBsYXJnZSwgb3V0cHV0IHRoZSBhbnN3ZXIgbW9kdWxvIDQ0NCw0NDkuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMCIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiRW5nbGlzaCIsImxpbWl0IjoiPHVsPlxyXG5cdDxsaT4kMSBcXGxlIFQgXFxsZSAxMCQ8XC9saT5cclxuXHQ8bGk+JDEgXFxsZSBOIFxcbGUgMTAwXFwsMDAwJDxcL2xpPlxyXG5cdDxsaT4kTiBcXGxlIFYgXFxsZSAxXFwsMDAwXFwsMDAwXFwsMDAwJDxcL2xpPlxyXG5cdDxsaT5Gb3IgZWFjaCAkaSQgd2l0aCZuYnNwOyQxIFxcbGUgaSBcXGxlIE4kOlxyXG5cdDx1bD5cclxuXHRcdDxsaT4kMCBcXGxlIEFfaSBcXGxlIFYkPFwvbGk+XHJcblx0XHQ8bGk+JDAgXFxsZSBMX2ksIFJfaSBcXGxlIE4kPFwvbGk+XHJcblx0PFwvdWw+XHJcblx0PFwvbGk+XHJcblx0PGxpPkl0IGlzIGd1YXJhbnRlZWQgdGhhdCB0aGUmbmJzcDtiaW5hcnkgdHJlZSBpbiBldmVyeSB0ZXN0IGNhc2Ugd2lsbCBiZSBhIHZhbGlkIGJpbmFyeSB0cmVlIHRoYXQgaGFzICROJCBub2RlcywgaGFzICROLTEkIGVkZ2VzLCBoYXMgYSB1bmlxdWUgcm9vdCwgYW5kIGhhcyBubyZuYnNwO2N5Y2xlcy48XC9saT5cclxuPFwvdWw+XHJcbiIsInNhbXBsZV9leHBsYWluXzEiOiI8cD5DYXNlcyAxLTM6IERpc2N1c3NlZCBpbiB0aGUgcHJvYmxlbSBzdGF0ZW1lbnQuPFwvcD5cclxuXHJcbjxwPkNhc2VzIDQtNTogTm8gZnVydGhlciBleHBsYW5hdGlvbiBwcm92aWRlZC48XC9wPlxyXG5cclxuPHA+Q2FzZSA2OiBUaGUgZmlndXJlIGJlbG93IHNob3dzIHRoZSBvbmx5IHdheSB0byBkcmF3IHRoZSBnaXZlbiB0cmVlIHdoaWxlIHNhdGlzZnlpbmcgdGhlIGNvbmRpdGlvbnMuIFRoZSB1bmRlcmxpbmVkIHZhbHVlcyBpbiBhcnJheSAkeCQgaW5kaWNhdGUgdGhhdCB0aGUgY29ycmVzcG9uZGluZyBub2RlcyYjMzk7IGNvb3JkaW5hdGVzIChub2RlIDMsIDQsIGFuZCA2KSBhcmUgZml4ZWQuPFwvcD5cclxuXHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxpbWcgYWx0PVwiXCIgc3JjPVwiaHR0cHM6XC9cL3VwbG9hZC5hY21pY3BjLm5ldFwvMmNjYzhmNTQtZDkyMi00NzEyLThhMmYtZmNhZWU0M2FhODIxXC8tXC9wcmV2aWV3XC9cIiBzdHlsZT1cImhlaWdodDogMjQ3cHg7IHdpZHRoOiA1MDBweDtcIiBcLz48XC9wPlxyXG4ifV0=
(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /