문제
하늘이는 최근 입대하였다. 하늘이의 선임은 하늘이가 사회에서 코딩하다 온 것을 알고, 하늘이에게 다음과 같이 ”최소 스패닝 트리 다시 그리기 놀이”를 알려 주었다.
- 먼저 선임이 후임에게 무향 연결 그래프 $G$를 준다. 이때, $G$를 구성하는 간선의 가중치는 모두 10ドル^6$이하의 양의 정수이다.
- 후임은 $G$에서 그릴 수 있는 서로 다른 최소 스패닝 트리 중 동일한 확률로 최소 스패닝 트리 $T$를 하나 고른다.
- 선임은 1ドル$부터 10ドル^6$까지 차례대로 각각 독립적으로, 정수 $x$를 $\frac{1}{x}$의 확률로 후임에게 말한다. 즉, 1ドル$은 반드시 말하므로, 최소 1ドル$개 이상 10ドル^6$개 이하의 수를 말한다.
- 후임은 선임이 $x$를 말하면 $T$에서 가중치가 $x$인 간선을 모두 지운다. $T$에서 간선들이 지워진 상태를 $T^\prime$이라고 하자.
- 후임은 $T^\prime$에, 원래 그래프 $G$에 있는 간선을 0ドル$개 이상 추가하여 다시 $G$의 최소 스패닝 트리를 만든다.
하늘이는 이 놀이를 듣고, 새로 그릴 수 있는 최소 스패닝 트리의 개수가 몇 개인지 궁금해졌다. 선임이 후임에게 주는 그래프 $G$가 주어졌을 때, ”최소 스패닝 트리 다시 그리기 놀이”를 통해 그릴 수 있는 최소 스패닝 트리의 개수의 기댓값을 구해보자.
출력
$G$에 대해 “최소 스패닝 트리 다시 그리기 놀이”를 통해 그릴 수 있는 최소 스패닝 트리의 개수의 기댓값을 10ドル^9+7$로 나눈 나머지를 출력한다.
기약 분수 $\frac{p}{q}(p\ge 0,q>0,\gcd(p,q) =1)$를 $M$으로 나눈 나머지는 $q^{-1}$가 $q\cdot q^{-1}\equiv 1\pmod M$을 만족하는 정수, 즉 $q$의 $M$에 대한 모듈로 곱셈 역원일 때, $p\cdot q^{-1}\pmod M$로 정의한다. 만약 정수일 경우 $q=q^{-1}=1$이므로 $p\pmod M$를 의미한다.
만약 정답의 분모가 10ドル^9+7$의 배수인 경우 기댓값 대신 -1을 출력한다.
서브태스크
| 번호 | 배점 | 제한 | | 1 | 23 | $E = V-1$
|
| 2 | 66 | $V\le 4$
|
| 3 | 65 | 모든 $w_i = 1;$ $E=\frac{V(V-1)}{2}$
|
| 4 | 49 | 모든 $w_i = 1$
|
| 5 | 95 | 모든 $w_i \le 2$
|
| 6 | 152 | 추가적인 제한 조건 없음
|
주어진 그래프는 아래 그림과 같다.
이 그래프의 최소 스패닝 트리는 다음 16ドル$가지로, $\frac{1}{16}$의 확률로 하나를 후임이 고른다.
어떤 그래프를 골라도, $T^\prime$은 반드시 아래와 같은 상태가 되고, 다시 16ドル$개의 최소 스패닝 트리를 모두 만들 수 있다.
주어진 그래프는 아래 그림과 같다.
이 그래프의 최소 스패닝 트리는 다음 2ドル$가지로, $\frac{1}{2}$의 확률로 하나를 후임이 고른다.
이후 가능한 조합은 다음과 같다. 기댓값은 $\frac{3}{2}$이다.
W3sicHJvYmxlbV9pZCI6IjMxNTQ1IiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHVjZDVjXHVjMThjIFx1YzJhNFx1ZDMyOFx1YjJkZCBcdWQyYjhcdWI5YWMgXHViMmU0XHVjMmRjIFx1YWRmOFx1YjlhY1x1YWUzMCBcdWIxODBcdWM3NzQiLCJkZXNjcmlwdGlvbiI6IjxwPlx1ZDU1OFx1YjI5OFx1Yzc3NFx1YjI5NCBcdWNkNWNcdWFkZmMgXHVjNzg1XHViMzAwXHVkNTU4XHVjNjAwXHViMmU0LiBcdWQ1NThcdWIyOThcdWM3NzRcdWM3NTggXHVjMTIwXHVjNzg0XHVjNzQwIFx1ZDU1OFx1YjI5OFx1Yzc3NFx1YWMwMCBcdWMwYWNcdWQ2OGNcdWM1ZDBcdWMxMWMgXHVjZjU0XHViNTI5XHVkNTU4XHViMmU0IFx1YzYyOCBcdWFjODNcdWM3NDQgXHVjNTRjXHVhY2UwLCBcdWQ1NThcdWIyOThcdWM3NzRcdWM1ZDBcdWFjOGMgXHViMmU0XHVjNzRjXHVhY2ZjIFx1YWMxOVx1Yzc3NCAmcmRxdW87XHVjZDVjXHVjMThjIFx1YzJhNFx1ZDMyOFx1YjJkZCBcdWQyYjhcdWI5YWMgXHViMmU0XHVjMmRjIFx1YWRmOFx1YjlhY1x1YWUzMCBcdWIxODBcdWM3NzQmcmRxdW87XHViOTdjIFx1YzU0Y1x1YjgyNCBcdWM4ZmNcdWM1YzhcdWIyZTQuPFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+XHViYTNjXHVjODAwIFx1YzEyMFx1Yzc4NFx1Yzc3NCBcdWQ2YzRcdWM3ODRcdWM1ZDBcdWFjOGMgXHViYjM0XHVkNWE1IFx1YzVmMFx1YWNiMCBcdWFkZjhcdWI3OThcdWQ1MDQgJEckXHViOTdjIFx1YzkwMFx1YjJlNC4gXHVjNzc0XHViNTRjLCAkRyRcdWI5N2MgXHVhZDZjXHVjMTMxXHVkNTU4XHViMjk0IFx1YWMwNFx1YzEyMFx1Yzc1OCBcdWFjMDBcdWM5MTFcdWNlNThcdWIyOTQgXHViYWE4XHViNDUwICQxMF42JFx1Yzc3NFx1ZDU1OFx1Yzc1OCBcdWM1OTFcdWM3NTggXHVjODE1XHVjMjE4XHVjNzc0XHViMmU0LjxcL2xpPlxyXG5cdDxsaT5cdWQ2YzRcdWM3ODRcdWM3NDAgJEckXHVjNWQwXHVjMTFjIFx1YWRmOFx1YjliNCBcdWMyMTggXHVjNzg4XHViMjk0IFx1YzExY1x1Yjg1YyBcdWIyZTRcdWI5NzggXHVjZDVjXHVjMThjIFx1YzJhNFx1ZDMyOFx1YjJkZCBcdWQyYjhcdWI5YWMgXHVjOTExIFx1YjNkOVx1Yzc3Y1x1ZDU1YyBcdWQ2NTVcdWI5NjBcdWI4NWMgXHVjZDVjXHVjMThjIFx1YzJhNFx1ZDMyOFx1YjJkZCBcdWQyYjhcdWI5YWMgJFQkXHViOTdjIFx1ZDU1OFx1YjA5OCBcdWFjZTBcdWI5NzhcdWIyZTQuPFwvbGk+XHJcblx0PGxpPlx1YzEyMFx1Yzc4NFx1Yzc0MCAkMSRcdWJkODBcdWQxMzAgJDEwXjYkXHVhZTRjXHVjOWMwIFx1Y2MyOFx1Yjg0MFx1YjMwMFx1Yjg1YyBcdWFjMDFcdWFjMDEgXHViM2M1XHViOWJkXHVjODAxXHVjNzNjXHViODVjLCBcdWM4MTVcdWMyMTggJHgkXHViOTdjICRcXGZyYWN7MX17eH0kXHVjNzU4IFx1ZDY1NVx1Yjk2MFx1Yjg1YyBcdWQ2YzRcdWM3ODRcdWM1ZDBcdWFjOGMgXHViOWQwXHVkNTVjXHViMmU0LiBcdWM5ODksICQxJFx1Yzc0MCBcdWJjMThcdWI0ZGNcdWMyZGMgXHViOWQwXHVkNTU4XHViYmMwXHViODVjLCBcdWNkNWNcdWMxOGMgJDEkXHVhYzFjIFx1Yzc3NFx1YzBjMSAkMTBeNiRcdWFjMWMgXHVjNzc0XHVkNTU4XHVjNzU4IFx1YzIxOFx1Yjk3YyBcdWI5ZDBcdWQ1NWNcdWIyZTQuPFwvbGk+XHJcblx0PGxpPlx1ZDZjNFx1Yzc4NFx1Yzc0MCBcdWMxMjBcdWM3ODRcdWM3NzQgJHgkXHViOTdjIFx1YjlkMFx1ZDU1OFx1YmE3NCAkVCRcdWM1ZDBcdWMxMWMgXHVhYzAwXHVjOTExXHVjZTU4XHVhYzAwICR4JFx1Yzc3OCBcdWFjMDRcdWMxMjBcdWM3NDQgPHN0cm9uZz5cdWJhYThcdWI0NTA8XC9zdHJvbmc+IFx1YzljMFx1YzZiNFx1YjJlNC4gJFQkXHVjNWQwXHVjMTFjIFx1YWMwNFx1YzEyMFx1YjRlNFx1Yzc3NCBcdWM5YzBcdWM2Y2NcdWM5YzQgXHVjMGMxXHVkMGRjXHViOTdjICRUXlxccHJpbWUkXHVjNzc0XHViNzdjXHVhY2UwIFx1ZDU1OFx1Yzc5MC48XC9saT5cclxuXHQ8bGk+XHVkNmM0XHVjNzg0XHVjNzQwICRUXlxccHJpbWUkXHVjNWQwLCBcdWM2ZDBcdWI3OTggXHVhZGY4XHViNzk4XHVkNTA0ICRHJFx1YzVkMCBcdWM3ODhcdWIyOTQgXHVhYzA0XHVjMTIwXHVjNzQ0ICQwJFx1YWMxYyBcdWM3NzRcdWMwYzEgXHVjZDk0XHVhYzAwXHVkNTU4XHVjNWVjIFx1YjJlNFx1YzJkYyAkRyRcdWM3NTggXHVjZDVjXHVjMThjIFx1YzJhNFx1ZDMyOFx1YjJkZCBcdWQyYjhcdWI5YWNcdWI5N2MgXHViOWNjXHViNGUwXHViMmU0LjxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPlx1ZDU1OFx1YjI5OFx1Yzc3NFx1YjI5NCBcdWM3NzQgXHViMTgwXHVjNzc0XHViOTdjIFx1YjRlM1x1YWNlMCwgXHVjMGM4XHViODVjIFx1YWRmOFx1YjliNCBcdWMyMTggXHVjNzg4XHViMjk0IFx1Y2Q1Y1x1YzE4YyBcdWMyYTRcdWQzMjhcdWIyZGQgXHVkMmI4XHViOWFjXHVjNzU4IFx1YWMxY1x1YzIxOFx1YWMwMCBcdWJhODcgXHVhYzFjXHVjNzc4XHVjOWMwIFx1YWQ4MVx1YWUwOFx1ZDU3NFx1Yzg0Y1x1YjJlNC4gXHVjMTIwXHVjNzg0XHVjNzc0IFx1ZDZjNFx1Yzc4NFx1YzVkMFx1YWM4YyBcdWM4ZmNcdWIyOTQgXHVhZGY4XHViNzk4XHVkNTA0ICRHJFx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM4NGNcdWM3NDQgXHViNTRjLCAmcmRxdW87XHVjZDVjXHVjMThjIFx1YzJhNFx1ZDMyOFx1YjJkZCBcdWQyYjhcdWI5YWMgXHViMmU0XHVjMmRjIFx1YWRmOFx1YjlhY1x1YWUzMCBcdWIxODBcdWM3NzQmcmRxdW87XHViOTdjIFx1ZDFiNVx1ZDU3NCBcdWFkZjhcdWI5YjQgXHVjMjE4IFx1Yzc4OFx1YjI5NCBcdWNkNWNcdWMxOGMgXHVjMmE0XHVkMzI4XHViMmRkIFx1ZDJiOFx1YjlhY1x1Yzc1OCBcdWFjMWNcdWMyMThcdWM3NTggXHVhZTMwXHViMzEzXHVhYzEyXHVjNzQ0IFx1YWQ2Y1x1ZDU3NFx1YmNmNFx1Yzc5MC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1Y2NhYiBcdWJjODhcdWM5ZjggXHVjOTA0XHVjNWQwICRHJFx1Yzc1OCBcdWM4MTVcdWM4MTBcdWM3NTggXHVhYzFjXHVjMjE4ICRWJFx1YWNmYyBcdWFjMDRcdWMxMjBcdWM3NTggXHVhYzFjXHVjMjE4ICRFJFx1YWMwMCBcdWFjZjVcdWJjMzFcdWM3M2NcdWI4NWMgXHVhZDZjXHViZDg0XHViNDE4XHVjNWI0IFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gJCgyXFxsZSBWXFxsZSA1MDA7JCAkVi0xXFxsZSBFXFxsZVxcZnJhY3tWKFYtMSl9ezJ9KSQ8XC9wPlxyXG5cclxuPHA+XHViNDUwIFx1YmM4OFx1YzlmOCBcdWM5MDRcdWJkODBcdWQxMzAgJEUkXHVhYzFjXHVjNzU4IFx1YzkwNFx1YzVkMCBcdWFjNzhcdWNjZDAgJEckXHVjNzU4IFx1YWMwNFx1YzEyMFx1Yzc1OCBcdWM4MTVcdWJjZjRcdWI5N2MgXHViMDk4XHVkMGMwXHViMGI0XHViMjk0IFx1YzgxNVx1YzIxOCAkdV9pJCwgJHZfaSQsICR3X2kkXHVhYzAwIFx1YWNmNVx1YmMzMVx1YzczY1x1Yjg1YyBcdWFkNmNcdWJkODRcdWI0MThcdWM1YjQgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBcdWM3NzRcdWIyOTQgJHVfaSRcdWJjODggXHVjODE1XHVjODEwXHVhY2ZjICR2X2kkXHViYzg4IFx1YzgxNVx1YzgxMFx1Yzc0NCBcdWM1ZjBcdWFjYjBcdWQ1NThcdWIyOTQgXHVhYzAwXHVjOTExXHVjZTU4ICR3X2kkXHVjNzU4IFx1YWMwNFx1YzEyMFx1Yzc3NCBcdWM4NzRcdWM3YWNcdWQ1NWNcdWIyZTRcdWIyOTQgXHVjNzU4XHViYmY4XHVjNzc0XHViMmU0LiAkKDFcXGxlIHVfaSwgdl9pXFxsZSBWOyQgJHVfaSBcXG5lIHZfaTskICQxXFxsZSB3X2lcXGxlIDEwXjYpJDxcL3A+XHJcblxyXG48cD5cdWM4ZmNcdWM1YjRcdWM5YzBcdWIyOTQgXHVhZGY4XHViNzk4XHVkNTA0XHViMjk0IFx1YzVmMFx1YWNiMCBcdWFkZjhcdWI3OThcdWQ1MDRcdWM3NzRcdWJhNzAsIFx1Yzc4NFx1Yzc1OFx1Yzc1OCBcdWI0NTAgXHVjODE1XHVjODEwIFx1YzBhY1x1Yzc3NFx1Yzc1OCBcdWFjMDRcdWMxMjBcdWM3NDAgXHVjZDVjXHViMzAwIFx1ZDU1YyBcdWFjMWMgXHVjODc0XHVjN2FjXHVkNTY4XHVjNzc0IFx1YmNmNFx1YzdhNVx1YjQxY1x1YjJlNC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD4kRyRcdWM1ZDAgXHViMzAwXHVkNTc0ICZsZHF1bztcdWNkNWNcdWMxOGMgXHVjMmE0XHVkMzI4XHViMmRkIFx1ZDJiOFx1YjlhYyBcdWIyZTRcdWMyZGMgXHVhZGY4XHViOWFjXHVhZTMwIFx1YjE4MFx1Yzc3NCZyZHF1bztcdWI5N2MgXHVkMWI1XHVkNTc0IFx1YWRmOFx1YjliNCBcdWMyMTggXHVjNzg4XHViMjk0IFx1Y2Q1Y1x1YzE4YyBcdWMyYTRcdWQzMjhcdWIyZGQgXHVkMmI4XHViOWFjXHVjNzU4IFx1YWMxY1x1YzIxOFx1Yzc1OCBcdWFlMzBcdWIzMTNcdWFjMTJcdWM3NDQgJDEwXjkrNyRcdWI4NWMgXHViMDk4XHViMjA4IFx1YjA5OFx1YmEzOFx1YzljMFx1Yjk3YyBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YWUzMFx1YzU3ZCBcdWJkODRcdWMyMTggJFxcZnJhY3twfXtxfShwXFxnZSAwLHEmZ3Q7MCxcXGdjZChwLHEpID0xKSRcdWI5N2MgJE0kXHVjNzNjXHViODVjIFx1YjA5OFx1YjIwOCBcdWIwOThcdWJhMzhcdWM5YzBcdWIyOTQgJHFeey0xfSRcdWFjMDAgJHFcXGNkb3QgcV57LTF9XFxlcXVpdiAxXFxwbW9kIE0kXHVjNzQ0IFx1YjljY1x1Yzg3MVx1ZDU1OFx1YjI5NCBcdWM4MTVcdWMyMTgsIFx1Yzk4OSAkcSRcdWM3NTggJE0kXHVjNWQwIFx1YjMwMFx1ZDU1YyBcdWJhYThcdWI0YzhcdWI4NWMgXHVhY2YxXHVjMTQ4IFx1YzVlZFx1YzZkMFx1Yzc3YyBcdWI1NGMsICRwXFxjZG90IHFeey0xfVxccG1vZCBNJFx1Yjg1YyBcdWM4MTVcdWM3NThcdWQ1NWNcdWIyZTQuIFx1YjljY1x1YzU3ZCBcdWM4MTVcdWMyMThcdWM3N2MgXHVhY2JkXHVjNmIwICRxPXFeey0xfT0xJFx1Yzc3NFx1YmJjMFx1Yjg1YyAkcFxccG1vZCBNJFx1Yjk3YyBcdWM3NThcdWJiZjhcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YjljY1x1YzU3ZCBcdWM4MTVcdWIyZjVcdWM3NTggXHViZDg0XHViYWE4XHVhYzAwICQxMF45KzckXHVjNzU4IFx1YmMzMFx1YzIxOFx1Yzc3OCBcdWFjYmRcdWM2YjAgXHVhZTMwXHViMzEzXHVhYzEyIFx1YjMwMFx1YzJlMCA8c3BhbiBzdHlsZT1cImNvbG9yOiNlNzRjM2M7XCI+PGNvZGU+LTE8XC9jb2RlPjxcL3NwYW4+XHVjNzQ0IFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJLb3JlYW4iLCJzdWJ0YXNrMSI6IjxwPiRFID0gVi0xJDxcL3A+XHJcbiIsInN1YnRhc2syIjoiPHA+JFZcXGxlIDQkPFwvcD5cclxuIiwic3VidGFzazMiOiI8cD5cdWJhYThcdWI0ZTAgJHdfaSA9IDE7JCAkRT1cXGZyYWN7VihWLTEpfXsyfSQ8XC9wPlxyXG4iLCJzdWJ0YXNrNCI6IjxwPlx1YmFhOFx1YjRlMCAkd19pID0gMSQ8XC9wPlxyXG4iLCJzdWJ0YXNrNSI6IjxwPlx1YmFhOFx1YjRlMCAkd19pIFxcbGUgMiQ8XC9wPlxyXG4iLCJzdWJ0YXNrNiI6IjxwPlx1Y2Q5NFx1YWMwMFx1YzgwMVx1Yzc3OCBcdWM4MWNcdWQ1NWMgXHVjODcwXHVhYzc0IFx1YzVjNlx1Yzc0YzxcL3A+XHJcbiIsInNhbXBsZV9leHBsYWluXzEiOiI8cD5cdWM4ZmNcdWM1YjRcdWM5YzQgXHVhZGY4XHViNzk4XHVkNTA0XHViMjk0IFx1YzU0NFx1Yjc5OCBcdWFkZjhcdWI5YmNcdWFjZmMgXHVhYzE5XHViMmU0LjxcL3A+XHJcblxyXG48cCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48aW1nIGFsdD1cIlwiIHNyYz1cImh0dHBzOlwvXC91cGxvYWQuYWNtaWNwYy5uZXRcL2YyMjJmM2IwLTY3OWEtNGRlNS1hOTdmLWFmNzA4YWJhNjJlM1wvLVwvcHJldmlld1wvXCIgc3R5bGU9XCJoZWlnaHQ6IDEwNHB4OyB3aWR0aDogMTAwcHg7XCIgXC8+PFwvcD5cclxuXHJcbjxwPlx1Yzc3NCBcdWFkZjhcdWI3OThcdWQ1MDRcdWM3NTggXHVjZDVjXHVjMThjIFx1YzJhNFx1ZDMyOFx1YjJkZCBcdWQyYjhcdWI5YWNcdWIyOTQgXHViMmU0XHVjNzRjICQxNiRcdWFjMDBcdWM5YzBcdWI4NWMsICRcXGZyYWN7MX17MTZ9JFx1Yzc1OCBcdWQ2NTVcdWI5NjBcdWI4NWMgXHVkNTU4XHViMDk4XHViOTdjIFx1ZDZjNFx1Yzc4NFx1Yzc3NCBcdWFjZTBcdWI5NzhcdWIyZTQuPFwvcD5cclxuXHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxpbWcgYWx0PVwiXCIgc3JjPVwiaHR0cHM6XC9cL3VwbG9hZC5hY21pY3BjLm5ldFwvNTBhMDQxYTktNjU5OS00ZGQ1LThhODktNTk0NjRkMjc5YzY5XC8tXC9wcmV2aWV3XC9cIiBzdHlsZT1cImhlaWdodDogNDA1cHg7IHdpZHRoOiA0MDBweDtcIiBcLz48XC9wPlxyXG5cclxuPHA+XHVjNWI0XHViNWE0IFx1YWRmOFx1Yjc5OFx1ZDUwNFx1Yjk3YyBcdWFjZThcdWI3N2NcdWIzYzQsICRUXlxccHJpbWUkXHVjNzQwIFx1YmMxOFx1YjRkY1x1YzJkYyBcdWM1NDRcdWI3OThcdWM2NDAgXHVhYzE5XHVjNzQwIFx1YzBjMVx1ZDBkY1x1YWMwMCBcdWI0MThcdWFjZTAsIFx1YjJlNFx1YzJkYyAkMTYkXHVhYzFjXHVjNzU4IFx1Y2Q1Y1x1YzE4YyBcdWMyYTRcdWQzMjhcdWIyZGQgXHVkMmI4XHViOWFjXHViOTdjIFx1YmFhOFx1YjQ1MCBcdWI5Y2NcdWI0ZTQgXHVjMjE4IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGltZyBhbHQ9XCJcIiBzcmM9XCJodHRwczpcL1wvdXBsb2FkLmFjbWljcGMubmV0XC8xZmNiZTgyZS1hMmYyLTQ3NGQtODkwNC05NWU4NzZiYjcwN2ZcLy1cL3ByZXZpZXdcL1wiIHN0eWxlPVwiaGVpZ2h0OiAxMDRweDsgd2lkdGg6IDEwMHB4O1wiIFwvPjxcL3A+XHJcbiIsInNhbXBsZV9leHBsYWluXzIiOiI8cD5cdWM4ZmNcdWM1YjRcdWM5YzQgXHVhZGY4XHViNzk4XHVkNTA0XHViMjk0IFx1YzU0NFx1Yjc5OCBcdWFkZjhcdWI5YmNcdWFjZmMgXHVhYzE5XHViMmU0LjxcL3A+XHJcblxyXG48cCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48aW1nIGFsdD1cIlwiIHNyYz1cImh0dHBzOlwvXC91cGxvYWQuYWNtaWNwYy5uZXRcLzdkOTFhYWMzLWJmZTMtNGJlOC04YzgzLTAwMDdhNzU4OGRiNVwvLVwvcHJldmlld1wvXCIgc3R5bGU9XCJoZWlnaHQ6IDEwMHB4OyB3aWR0aDogMTAwcHg7XCIgXC8+PFwvcD5cclxuXHJcbjxwPlx1Yzc3NCBcdWFkZjhcdWI3OThcdWQ1MDRcdWM3NTggXHVjZDVjXHVjMThjIFx1YzJhNFx1ZDMyOFx1YjJkZCBcdWQyYjhcdWI5YWNcdWIyOTQgXHViMmU0XHVjNzRjICQyJFx1YWMwMFx1YzljMFx1Yjg1YywgJFxcZnJhY3sxfXsyfSRcdWM3NTggXHVkNjU1XHViOTYwXHViODVjIFx1ZDU1OFx1YjA5OFx1Yjk3YyBcdWQ2YzRcdWM3ODRcdWM3NzQgXHVhY2UwXHViOTc4XHViMmU0LjxcL3A+XHJcblxyXG48cCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48aW1nIGFsdD1cIlwiIHNyYz1cImh0dHBzOlwvXC91cGxvYWQuYWNtaWNwYy5uZXRcLzAzYzliZWFjLTA1ZjEtNGM4Ny05ODY1LTg2NjRmNmU1NDhjYVwvLVwvcHJldmlld1wvXCIgc3R5bGU9XCJ3aWR0aDogNDAwcHg7IGhlaWdodDogMTI2cHg7XCIgXC8+PFwvcD5cclxuXHJcbjxwPlx1Yzc3NFx1ZDZjNCBcdWFjMDBcdWIyYTVcdWQ1NWMgXHVjODcwXHVkNTY5XHVjNzQwIFx1YjJlNFx1Yzc0Y1x1YWNmYyBcdWFjMTlcdWIyZTQuIFx1YWUzMFx1YjMxM1x1YWMxMlx1Yzc0MCAkXFxmcmFjezN9ezJ9JFx1Yzc3NFx1YjJlNC48XC9wPlxyXG5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGltZyBhbHQ9XCJcIiBzcmM9XCJodHRwczpcL1wvdXBsb2FkLmFjbWljcGMubmV0XC81MTE5ZTRmYi02MjI4LTRiMmItYTE2MS1jYzEzOTNlZDFlODRcLy1cL3ByZXZpZXdcL1wiIHN0eWxlPVwiaGVpZ2h0OiA0MzJweDsgd2lkdGg6IDQwMHB4O1wiIFwvPjxcL3A+XHJcbiJ9LHsicHJvYmxlbV9pZCI6IjMxNTQ1IiwicHJvYmxlbV9sYW5nIjoiMSIsInRpdGxlIjoiVGhlIE1TVCBSZWRyYXdpbmcgR2FtZSIsImRlc2NyaXB0aW9uIjoiPHA+SGFudWwgcmVjZW50bHkgam9pbmVkIHRoZSBhcm15LiBVcG9uIGxlYXJuaW5nIHRoYXQgSGFudWwgaGFkIGJlZW4gY29kaW5nLCBhIHNlbmlvciBtZW1iZXIgb2YgdGhlIGFybXkgdGF1Z2h0IGhpbSB0aGUgZm9sbG93aW5nICZsZHF1bztNU1QgUmVkcmF3aW5nIEdhbWUmcmRxdW87LjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPlRoZSBzZW5pb3IgbWVtYmVyIGZpcnN0IGdpdmVzIHRoZSBqdW5pb3IgbWVtYmVyIGFuIHVuZGlyZWN0ZWQgY29ubmVjdGVkIGdyYXBoICRHJC4gVGhlIHdlaWdodHMgb2YgdGhlIGVkZ2VzIG9mICRHJCBhcmUgYWxsIHBvc2l0aXZlIGludGVnZXJzIG9mICQxMF42JCBvciBsZXNzLjxcL2xpPlxyXG5cdDxsaT5UaGUganVuaW9yIG1lbWJlciBjaG9vc2VzIGEgbWluaW11bSBzcGFubmluZyB0cmVlICRUJCB3aXRoIHRoZSBzYW1lIHByb2JhYmlsaXR5IGFtb25nIGFsbCBkaWZmZXJlbnQgbWluaW11bSBzcGFubmluZyB0cmVlcyB0aGF0IGNhbiBiZSBkcmF3biBmcm9tICRHJC48XC9saT5cclxuXHQ8bGk+VGhlIHNlbmlvciBtZW1iZXIgdGVsbHMgdGhlIGp1bmlvciBtZW1iZXIgYW4gaW50ZWdlciAkeCQsIGluIG9yZGVyIGZyb20gJDEkIHRvICQxMF42JCwgd2l0aCBhbiBpbmRlcGVuZGVudCBwcm9iYWJpbGl0eSBvZiAkXFxmcmFjezF9e3h9JC4gU2luY2UgdGhlIHNlbmlvciBtZW1iZXIgYWx3YXlzIHRlbGxzIHRoZSBudW1iZXIgJDEkLCB0aGUgdG90YWwgbnVtYmVyIG9mIG51bWJlcnMgaGUgdGVsbHMgaXMgbm90IGxlc3MgdGhhbiAkMSQgYW5kIG5vdCBtb3JlIHRoYW4mbmJzcDskMTBeNiQuPFwvbGk+XHJcblx0PGxpPldoZW4gdGhlIHNlbmlvciBtZW1iZXIgdGVsbHMgdGhlJm5ic3A7aW50ZWdlciAkeCQsIHRoZSBqdW5pb3IgbWVtYmVyIGVyYXNlcyA8c3Ryb25nPmFsbDxcL3N0cm9uZz4gZWRnZXMgd2l0aCBhIHdlaWdodCBvZiAkeCQgb24gJFQkLiBMZXQgJFReXFxwcmltZSQgYmUgdGhlIHN0YXRlIGluIHdoaWNoIHRoZSBlZGdlcyBhcmUgZXJhc2VkIGZyb20gJFQkLjxcL2xpPlxyXG5cdDxsaT5UaGUganVuaW9yIG1lbWJlciBzZWxlY3RzJm5ic3A7JDAkIG9yIG1vcmUmbmJzcDtlZGdlcyBmcm9tIHRoZSBvcmlnaW5hbCBncmFwaCAkRyQgYW5kIGFkZHMgdGhlbSB0byAkVF5cXHByaW1lJCB0byBjcmVhdGUgYSBtaW5pbXVtIHNwYW5uaW5nIHRyZWUgb2YgJEckLjxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPkhhbnVsIHdvbmRlcmVkIGhvdyBtYW55IG1pbmltdW0gc3Bhbm5pbmcgdHJlZXMgaGUgY291bGQgZHJhdyBpbiB0aGlzIGdhbWUuIEdpdmVuIHRoZSBncmFwaCAkRyQgYnkgdGhlIHNlbmlvciBtZW1iZXIsIGZpbmQgdGhlIGV4cGVjdGVkIHZhbHVlIG9mIHRoZSBudW1iZXIgb2YgbWluaW11bSBzcGFubmluZyB0cmVlcyB0aGF0IGNhbiBiZSBkcmF3biBpbiB0aGUgTVNUIFJlZHJhd2luZyBHYW1lLjxcL3A+XHJcbiIsImlucHV0IjoiPHA+VGhlIGZpcnN0IGxpbmUgY29udGFpbnMgdHdvIGludGVnZXJzICRWJCBhbmQgJEUkLCBzZXBhcmF0ZWQgYnkgc3BhY2VzICQoMlxcbGUgVlxcbGUgNTAwOyQgJFYtMVxcbGUgRVxcbGVcXGZyYWN7VihWLTEpfXsyfSApJCAmbmRhc2g7IHRoZSBudW1iZXIgb2YgdmVydGljZXMgYW5kIGVkZ2VzIG9mICRHJC48XC9wPlxyXG5cclxuPHA+VGhlIG5leHQgJEUkIGxpbmVzIGVhY2ggY29udGFpbiB0aHJlZSBpbnRlZ2VycyAkdV9pJCwgJHZfaSQsIGFuZCAkd19pJCwgc2VwYXJhdGVkIGJ5IHNwYWNlcyAkKDFcXGxlIHVfaSx2X2lcXGxlIFY7JCAkdV9pXFxuZSB2X2k7JCAkMVxcbGUgd19pXFxsZSAxMF42KSQgJm5kYXNoOyBpbmRpY2F0aW5nIHRoYXQgdGhlcmUgaXMgYW4gZWRnZSBvZiAkRyQgd2l0aCBhIHdlaWdodCBvZiAkd19pJCB0aGF0IGNvbm5lY3RzIHR3byB2ZXJ0aWNlcyAkdV9pJCBhbmQgJHZfaSQuPFwvcD5cclxuXHJcbjxwPlRoZSBnaXZlbiBncmFwaCBpcyBhIGNvbm5lY3RlZCBncmFwaCwgYW5kIGl0IGlzIGd1YXJhbnRlZWQgdGhhdCBhdCBtb3N0IG9uZSBlZGdlIGV4aXN0cyBiZXR3ZWVuIGFueSB0d28gdmVydGljZXMuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+T3V0cHV0IGEgc2luZ2xlIGludGVnZXIgJm5kYXNoOyB0aGUgcmVtYWluZGVyIG9mIHRoZSBleHBlY3RlZCB2YWx1ZSBvZiB0aGUgbnVtYmVyIG9mIG1pbmltdW0gc3Bhbm5pbmcgdHJlZXMgdGhhdCBjYW4gYmUgZHJhd24gaW4gdGhlIE1TVCBSZWRyYXdpbmcgR2FtZSB1c2luZyB0aGUgZ3JhcGggJEckLCBkaXZpZGVkIGJ5ICQxMF45KzckLiBOb3RlIHRoYXQgJDEwXjkrNyQgaXMgYSBwcmltZSBudW1iZXIuPFwvcD5cclxuXHJcbjxwPlRoZSByZW1haW5kZXIgb2YgYW4gaXJyZWR1Y2libGUgZnJhY3Rpb24gJFxcZnJhY3twfXtxfShwXFxnZSAwLHEmZ3Q7MCxcXGdjZChwLHEpID0xKSQgZGl2aWRlZCBieSAkTSQgaXMgZGVmaW5lZCBhcyAkcFxcY2RvdCBxXnstMX1cXHBtb2QgTSQsIHdoZXJlICRxXnstMX0kIGlzIGEgbW9kdWxvIG11bHRpcGxpY2F0aXZlIGludmVyc2Ugb2YgJHEkIHdpdGggcmVzcGVjdCB0byB0aGUgbW9kdWx1cyAkTSQsIG5hbWVseSAkcVxcY2RvdCBxXnstMX1cXGVxdWl2IDFcXHBtb2QgTSQuIElmIHRoZSBmcmFjdGlvbiBpcyBhbiBpbnRlZ2VyLCB0aGUgdmFsdWUgaXMgJHBcXHBtb2QgTSQsIHNpbmNlICRxPXFeey0xfT0xJC48XC9wPlxyXG5cclxuPHA+V2hlbiB0aGUgZGVub21pbmF0b3Igb2YgdGhlIGlycmVkdWNpYmxlIGZyYWN0aW9uIG9mIHRoZSBleHBlY3RlZCB2YWx1ZSBpcyBhIG11bHRpcGxlIG9mICQxMF45KzckLCBvdXRwdXQgPHNwYW4gc3R5bGU9XCJjb2xvcjojZTc0YzNjO1wiPjxjb2RlPi0xPFwvY29kZT48XC9zcGFuPiBpbnN0ZWFkLjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjAiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IkVuZ2xpc2giLCJzdWJ0YXNrMSI6IjxwPiRFID0gVi0xJDxcL3A+XHJcbiIsInN1YnRhc2syIjoiPHA+JFZcXGxlIDQkPFwvcD5cclxuIiwic3VidGFzazMiOiI8cD5BbGwgJHdfaSA9IDE7JCZuYnNwOyRFPVxcZnJhY3tWKFYtMSl9ezJ9JDxcL3A+XHJcbiIsInN1YnRhc2s0IjoiPHA+QWxsICR3X2kgPSAxJDxcL3A+XHJcbiIsInN1YnRhc2s1IjoiPHA+QWxsICR3X2kgXFxsZSAyJDxcL3A+XHJcbiIsInN1YnRhc2s2IjoiPHA+VGhlcmUgYXJlIG5vIGFkZGl0aW9uYWwgcmVzdHJpY3Rpb25zLjxcL3A+XHJcbiIsInNhbXBsZV9leHBsYWluXzEiOiI8cD5UaGUgZ2l2ZW4gZ3JhcGggaXMgYXMgYmVsb3cuPFwvcD5cclxuXHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxpbWcgYWx0PVwiXCIgc3JjPVwiaHR0cHM6XC9cL3VwbG9hZC5hY21pY3BjLm5ldFwvZjIyMmYzYjAtNjc5YS00ZGU1LWE5N2YtYWY3MDhhYmE2MmUzXC8tXC9wcmV2aWV3XC9cIiBzdHlsZT1cImhlaWdodDogMTA0cHg7IHdpZHRoOiAxMDBweDtcIiBcLz48XC9wPlxyXG5cclxuPHA+VGhlcmUgaXMgYSB0b3RhbCBvZiAkMTYkIG1pbmltdW0gc3Bhbm5pbmcgdHJlZXMsIGFuZCBvbmUgb2YgdGhlbSBpcyBjaG9zZW4sIGVhY2ggd2l0aCBhIHByb2JhYmlsaXR5IG9mICRcXGZyYWN7MX17MTZ9JC48XC9wPlxyXG5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGltZyBhbHQ9XCJcIiBzcmM9XCJodHRwczpcL1wvdXBsb2FkLmFjbWljcGMubmV0XC81MGEwNDFhOS02NTk5LTRkZDUtOGE4OS01OTQ2NGQyNzljNjlcLy1cL3ByZXZpZXdcL1wiIHN0eWxlPVwiaGVpZ2h0OiA0MDVweDsgd2lkdGg6IDQwMHB4O1wiIFwvPjxcL3A+XHJcblxyXG48cD5JbiBhbnkgY2FzZSwgdGhlIHN0YXRlIG9mICRUXlxccHJpbWUkIGlzIGFzIGJlbG93LCBhbmQgYWxsICQxNiQgbWluaW11bSBzcGFubmluZyB0cmVlcyBjYW4gYmUgcmVkcmF3bi48XC9wPlxyXG5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGltZyBhbHQ9XCJcIiBzcmM9XCJodHRwczpcL1wvdXBsb2FkLmFjbWljcGMubmV0XC8xZmNiZTgyZS1hMmYyLTQ3NGQtODkwNC05NWU4NzZiYjcwN2ZcLy1cL3ByZXZpZXdcL1wiIHN0eWxlPVwiaGVpZ2h0OiAxMDRweDsgd2lkdGg6IDEwMHB4O1wiIFwvPjxcL3A+XHJcbiIsInNhbXBsZV9leHBsYWluXzIiOiI8cD5UaGUgZ2l2ZW4gZ3JhcGggaXMgYXMgYmVsb3cuPFwvcD5cclxuXHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxpbWcgYWx0PVwiXCIgc3JjPVwiaHR0cHM6XC9cL3VwbG9hZC5hY21pY3BjLm5ldFwvN2Q5MWFhYzMtYmZlMy00YmU4LThjODMtMDAwN2E3NTg4ZGI1XC8tXC9wcmV2aWV3XC9cIiBzdHlsZT1cImhlaWdodDogMTAwcHg7IHdpZHRoOiAxMDBweDtcIiBcLz48XC9wPlxyXG5cclxuPHA+VGhlcmUgaXMgYSB0b3RhbCBvZiAkMiQgbWluaW11bSBzcGFubmluZyB0cmVlcywgYW5kIG9uZSBvZiB0aGVtIGlzIGNob3NlbiwgZWFjaCB3aXRoIGEgcHJvYmFiaWxpdHkgb2YgJFxcZnJhY3sxfXsyfSQuPFwvcD5cclxuXHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxpbWcgYWx0PVwiXCIgc3JjPVwiaHR0cHM6XC9cL3VwbG9hZC5hY21pY3BjLm5ldFwvMDNjOWJlYWMtMDVmMS00Yzg3LTk4NjUtODY2NGY2ZTU0OGNhXC8tXC9wcmV2aWV3XC9cIiBzdHlsZT1cIndpZHRoOiA0MDBweDsgaGVpZ2h0OiAxMjZweDtcIiBcLz48XC9wPlxyXG5cclxuPHA+VGhlIHBvc3NpYmxlIGNvbWJpbmF0aW9ucyBmb3IgZXJhc2luZyB0aGUgbGluZXMgYW5kIHJlZHJhd2luZyB0aGUgbWluaW11bSBzcGFubmluZyB0cmVlcyBhcmUgYXMgYmVsb3cuIFRoZSBleHBlY3RlZCB2YWx1ZSBpcyAkXFxmcmFjezN9ezJ9JC48XC9wPlxyXG5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGltZyBhbHQ9XCJcIiBzcmM9XCJodHRwczpcL1wvdXBsb2FkLmFjbWljcGMubmV0XC81MTE5ZTRmYi02MjI4LTRiMmItYTE2MS1jYzEzOTNlZDFlODRcLy1cL3ByZXZpZXdcL1wiIHN0eWxlPVwiaGVpZ2h0OiA0MzJweDsgd2lkdGg6IDQwMHB4O1wiIFwvPjxcL3A+XHJcbiJ9XQ==